WelcomeUser Guide
ToSPrivacyCanary
DonateBugsLicense

©2026 Poal.co

294

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)

[–] 2 pts

You'd certainly lose in tasks that require precise results.

Advantages and Disadvantages of Floating-Point Numbers

Floating-point numbers have two advantages over integers. First, they can represent values between integers. Second, because of the scaling factor, they can represent a much greater range of values. On the other hand, floating point operations usually are slightly slower than integer operations, and you can lose precision.

https://www.oreilly.com/library/view/c-primer-plus/9780132781145/ch03lev2sec13.html

[–] [deleted] 4 pts

precise results

By their nature, floating point is an approximation.

[–] 0 pt

a Float is still more precise than an Int.

Float has a greater magnitude and is an approximation beyond the maximum significant digits for any specific type of float, but int is always exact within its limits.

[–] 0 pt

Doubles are more precise than ints, floats are not.

[–] 0 pt

Usually when you want the max precision and your values stay in a bounded range, you use fixed point. Gives you the biggest bang for your bits.

[–] 1 pt

It looks like some people are converting code from using floats to ints for optimization: http://justinparrtech.com/JustinParr-Tech/programming-tip-turn-floating-point-operations-in-to-integer-operations/

But to me that seems like something you would want to do after the fact if you need that code sped up, and after all the code is complete.

I'd hate to write something floating point heavy and have to do that kind of twiddling for every bit of it, with no exception to fall back on.

[–] 2 pts

Fair enough. I think there are good chunks of code that don't require precision and can speed up things.

On another topic, what's your opinion on the new crApple M1 architecture.

[–] 1 pt

I had to look it up, but I'd say I'm positive to it. I have very little assembly experience but from what I've seen I really like ARM's instruction set. Having different speed cores opens up more options to developers. The neural network core is kind of cool if not a bit scary. When I say I'm for AI what I mean is I'm for democratizing AI and want the average person to understand it and use it. On a highly locked down device (any apple device), I'm not 100% certain it will be used for good.

So yeah, I think their architecture is interesting, if it was being run on an open system.