CoolFace
Datasetpublic

hschumann2/TempleOS-Source-Code

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes838downloads
WhyNotMore.txt89 linesDownload Raw Back to Doc
1 2                                 Why Not More?3 4If a feature cannot be made to work correctly and consistently, professional5companies usually remove the feature.  Because PC hardware is so diverse,6getting things to work on all people's computers is really difficult.  For one7thing, you practically have to own all the different hardware to write drivers8for it.  If a company wanted to sell a PC operating system, they would offer a9warranty and, therefore, could not get away with amateur behavior.  TempleOS10absolutely requires 64-bit computers, so we leave behind much trouble, but11plenty remains.12 13The PCI bus interface is what modern hardware uses.  Before PCI, life was simple14and devices used I/O ports.  After studying PCI Interrupts and attempting to do15a HDAudio driver, I came to realize that modern PCI devices require ten times16more code and I cannot even come close to making them work on everyone's machine17because with PCI devices there are several models to worry about, unlike with18the older ISA bus devices which can be done with one driver.19 20Currently, I have no PCI drivers.  My drivers use I/O ports and operate in ISA21bus mode.  At this point, I only have one driver for each type of device and it22is delightfully simple that way.  I have one keyboard driver, one mouse driver,23one ATA hard drive driver, one ATAPI CD/DVD driver, one VGA 640x480 16 color24video driver and one PC Speaker driver.  I use the PIT and HPET timers and25PIC Interrupt Controller.  I use  IRQ0 for timer, IRQ1 for keyboard, and IRQ1226for mouse.  If IRQ12 is not firing, I am able to poll the mouse.27 28In the CPU department, I have state of the art 64-bit long mode with multicore29support.  I use the APIC and start-up multicore operation.30 31I have made an incredible accomplishment by getting it to work on practically32everyone's computer as long as it is 64-bit and they run inside VMware, QEMU or33VirtualBox.34 35Adding a USB driver would be really ugly with UHCI, EHCI, OHCI, USB1, USB2,36USB3, ICH6, ICH7, ICH8, ICH9, ICH10, ICH11, ICH12, boot mode and regular mode37for keyboard/mouse and a diversity of HID reports.  It's hopeless.  I could38never offer anything but crappy, limited support and it would just add a ton of39crappy code that mostly didn't work.  What would I gain?  Nothing.  A keyboard40or mouse would not be improved.  Solid State USB drives would be really nice,41but it's not going to happen.42 43The same story is basically true for GPUs, audio, networking and AHCI hard drive44drivers.  God said 640x480 16 color was a covenant like circumcision, so the45video will never change, even if a Standard PC was made.  If you attempt46multimedia, everything will break because memory will get fragmented with huge47multimedia files.  Some day, if super-simple high speed serial allows48networking, there will be no browser within the 100,000 line limit and, with49only 16 colors, the world wide web is not tolerable.  FTP and telnet might be50possible, in the far distant future, if they could fit within the 100,000 line51limit.  Currently, there are 82,157 lines of code.52 53I don't stand a chance working on native hardware, anymore.  I could install and54run natively on hardware from about 2005-2010.  It requires BIOS's being nice55enough to write USB mode PS/2 legacy keyboard/mouse support.  As it turns-out,56sometimes the BIOS has PS/2 drivers but purposely disables them, just to be57mean.  The CIA and whole industry is trying to mess everything up, on purpose.58Perhaps, at a point of sale in a store, a thief could hack a credit card59machine.  Therefore, the BIOS companies actually want it difficult to make60drivers and purposely make it broken.61 62The ATA/ATAPI hard drives often can be run with I/O ports if you can find them.63lspci -v on Linux or system information on Windows can help you locate the SATA64IO ports the hard drive and CD/DVD have.  They no longer are enabled by the65BIOS.  It's hopeless.  I'm stuck with very slow drive performance, but it works66for everybody.67 68UEFI is pointless.  If I am forced to run in VMware, QEMU or VirtualBox, they69will always support non-UEFI mode.  Without working, native hard drive and70CD/DVD drivers, you can't get very far with UEFI on a native install, not to71mention SecureBoot.  UEFI is, first of all, redundant.  If non-UEFI works in a72virtual machine, supporting UEFI would only be redundant, ugly nasty code.  My73compiler does not create an ELF or PE format.  I would have to ruin the beauty74of my compiler, which would make me cry many tears.75 76God talks.  It seems reasonable that I will get to make the rules for the whole77industry, in the future when God is announced publically to the World.78 79I made ::/Doc/Demands.DD.80 81When the PC was created, they wanted flexibility because they did not know the82future.  Now, the industry is mature and it is time to make a 100% standard PC83that everybody uses.  ::/Doc/StdTempleOSPC.DD84 85 86* "QEMU" is a trademark owned by Fabrice Bellard.87* "VMware" is a trademark owned by VMware, Inc.88* "VirtualBox" is a trademark owned by Oracle.89