WelcomeUser Guide
ToSPrivacyCanary
DonateBugsLicense

©2026 Poal.co

1.4K

I've been playing around with ZenithOS, a fork of TempleOS. I was reading their road map. A lot of it made sense. But then out of nowhere it said "drop support for all floating point types".

Here is the full roadmap:

  • AHCI driver that is capable of reading and burning CD/DVD discs, and can also work with RW discs.

  • Speed up the OS by doing compiler optimizations like register arguments.

  • Drop floating point support completely.

  • Add either SSE or AVX support (not both) to the assembler/compiler, for working with large integers.

  • Write a new 32-bit color graphics library that uses the added SIMD instructions. Refresh DolDoc for the following:

  • Build a simplistic GUI framework that integrates with DolDoc and the terminal using the new graphics library.

  • Add Intel HD Audio support.

  • Write drivers for the 5 most common ethernet cards.

  • Create a clean and robust networking stack that supports raw sockets, TCP, UDP, IP, ICMP, DHCP, and an HTTP library. Perhaps we can avoid Berkeley Sockets and create our own system?

  • Write applications using this networking stack.

  • Write a JSON library, so REST APIs can be used.

  • Drop FAT32 and maybe RedSea, replace with exFAT and proper ISO9660 support.

  • Whole system VCS, with root being top-level directory. Stored repo inside the OS, you can checkout any commit onto another partition and boot it to see what the OS was like in that commit.

  • Pull updates directly onto root filesystem from network. (it's a repo source tree after all).

  • At this point, bigger fish in the pond can be eyed. Perhaps support for USB keyboard and mice, and native USB mass storage support, significant code clean up and refactoring.

  • Port to other architectures??

Do you see any benefit?

I've been playing around with ZenithOS, a fork of TempleOS. I was reading their road map. A lot of it made sense. But then out of nowhere it said "drop support for all floating point types". Here is the full roadmap: - AHCI driver that is capable of reading and burning CD/DVD discs, and can also work with RW discs. - Speed up the OS by doing compiler optimizations like register arguments. - Drop floating point support completely. - Add either SSE or AVX support (not both) to the assembler/compiler, for working with large integers. - Write a new 32-bit color graphics library that uses the added SIMD instructions. Refresh DolDoc for the following: - Build a simplistic GUI framework that integrates with DolDoc and the terminal using the new graphics library. - Add Intel HD Audio support. - Write drivers for the 5 most common ethernet cards. - Create a clean and robust networking stack that supports raw sockets, TCP, UDP, IP, ICMP, DHCP, and an HTTP library. Perhaps we can avoid Berkeley Sockets and create our own system? - Write applications using this networking stack. - Write a JSON library, so REST APIs can be used. - Drop FAT32 and maybe RedSea, replace with exFAT and proper ISO9660 support. - Whole system VCS, with root being top-level directory. Stored repo inside the OS, you can checkout any commit onto another partition and boot it to see what the OS was like in that commit. - Pull updates directly onto root filesystem from network. (it's a repo source tree after all). - At this point, bigger fish in the pond can be eyed. Perhaps support for USB keyboard and mice, and native USB mass storage support, significant code clean up and refactoring. - Port to other architectures?? Do you see any benefit?

(post is archived)

[–] 0 pt

The only one I can think of is since the only floating points in Zenith are 64-bit, and 64-bit int is the standard int in it as well, that you can dedicate more bits to precision and ask the programmer to keep track of scale either by context, or with another variable, making Zenith have the highest precision floating point math as a default methodology for any system. That seems like a fetch but it's the best I've got for any rational reason to do it.

The other is that by having the programmer do it themselves they can have control over the number of bits for precision and exponential with their selection of I8,I16,I32,I64,U8,U16,U32,U64 pairings. That would give you 64 different equivalent floating point types each with their own advantages.