WheatSystem Is A Homebrew 8-Bit OS

[Esperantanaso] has long been involved in producing homebrew 8-bit computers. His various builds could all achieve different things, but he grew frustrated that applications written for one could not be easily run on another. He recently took a big leap forward in this area, though, cooking up his own 8-bit operating system called WheatSystem.

The work initially began with BreadSystem, which relied on applications existing in bytecode. This would then be run by the BreadSystem OS which would handle the requisite conversion to the machine code of the system it ran on. However, the work quickly got out of hand when it came to implementing advanced features like the file system and floating-point handling. BreadSystem was looking likely to be too heavy to run on lightweight 8-bit systems.

That led to the development of WheatSystem, which kept the bytecode runtime environment, unified heap, and a memory permission system from BreadSystem. Fancier features like granular memory permissioning, automatic garbage collection, and file system directories were dropped.

WheatSystem quickly became a basic and functional OS. To demonstrate it, [Esperantanaso] created WheatBox 55A1, a small homebrew computer based on the ATmega328. It readily runs simple applications like a prime number generator or a basic RPG.

Creating one’s own OS is no mean feat, even at the 8-bit level. We’ve seen it done before, and it never fails to impress.

18 thoughts on “WheatSystem Is A Homebrew 8-Bit OS

      1. Rust? Not so much. Languages that impose artificial restrictions to “protect” the programmer tend to be terrible for writing OSs. Yeah yeah, it can technically still be be done, but by the time you’ve put all of the effort into working around all of the restrictions, you would have done it at a higher quality in less time just using C.

        (Give me a #pragma syntax and linter for C that will provide soft memory safety though, and I would be totally down with that, because that way I can get safety where I want it and flexibility where I need it. If someone else doesn’t do this, I will eventually do it myself, but I don’t have time right now.)

        1. I’m sad that D tends to get neglected in discussions like this. It’s got most of what Rust has (sometimes even done better, depending on your preferences) and more, with a convenient switch that lets you turn off all the fancy safeguards while still having some conveniences.

          There’s also a subset that basically acts as a C compiler (and a built-in assembler). There’s a lot to like when looking at something like an OS project.

  1. Like very often on projects featured on hackaday, you got pcbs, but no schematic (pdf), and even less (hardware) source files. Even when you got source files, it’s often in some close source EDA, which means I can’t actually read them. There’s a pattern.

    I dont understand why someone would opensource the firmware and provide pcb, but not the schematics. I mean, either share. Or not.

    Nope ? Did I miss something ?

    1. What is it with all these greedy folk, demanding more work from kind folk who didn’t have to share any of it, freely, in the first place?
      Have you ever posted something to share with everyone, freely? Lemme put it to you this way: if we give schematics, then our choice of hand-drawing then scanning them isn’t enough; you’ll want files. If we draw it up in a program, you’ll want it in another program. If we use PICs, you’ll want STM32. The list is endless.
      Folk like you make folk like us decide not to share anything.

      1. I think you are being irrational. this site shows how hacks are done and if they don’t show the code, they might as well be a proprietary black box from apple or motorola. If it’s closed source or secretive then it really doesn’t belong on this site.
        Nobody is asking the kind folk to work for free. It was them that donated their projects to the community. If they want to show what they are working on for street cred that’s ok.

      2. No, you completely misunderstood me. I’m not asking or complaining, even less asking for some free work from somebody.

        I’m on a site about ‘hacking’, but i can’t even see the schematic, that the author probably has, already. And it seems common on hackaday. I’m just surprised. What’s the difference with some advertisement then.. ?

        I don’t really care about this very project, it was more about hackaday publishing rules. At least you can somehow reproduce this project (the pcb is available, you just need to ‘guess’ the pins not documented such as SPI). But you can’t change/hack it. Got it ? “hack” ? as in.. ‘hackaday’ ?

        I do/did release lot of stuff (mostly free software, not hardware). And i do close source development as well, i have no problem with both. What’s that ? semi-open hardware ?

        1. I’m happy to get anything, but I do think it is a bit odd when people release something as open source, get the credit for doing so, but didn’t bother to release things necessary for changing it. I mean, open source doesn’t just mean making the end product or certain later steps in development free. The whole point with open source is that it is open for other people to modify and tinker with. If you aren’t releasing enough for them to do that, it’s closer to freeware than open source. And yeah, I definitely appreciate freeware, but I don’t appreciate it when people are misleading in their use of these terms.

          I also release stuff as actual open source. A few years ago, I redid the icons for the Mu programming editor in SVG format. Technically, I probably could have gotten away with just rendering high resolution versions of my SVGs, and not provided the SVGs, but that would have been extremely rude (especially since they asked for SVGs), and it wouldn’t have really been open source, if I didn’t give them the original work so that they could easily modify it if needed. (To be clear, I did give them all of the SVGs, along with instructions for making new button icons that fit the same style as the existing ones, to make it as easy as possible for them to modify or build on my work.) Now, I’m not saying that everyone should have to do this, but it’s very misleading to call it “open source” if you are not doing this.

        2. I’d suggest the idea of hacking you present here is rather limited, if not completely mistaken.
          If someone hacks a toy for pitch-bending, do they have a schematic? If someone uses a RasPi, do they have sourcecode for the binary blob? Or even a full set of schematics? Or a PCB layout in an editable format?
          Frankly, it seems to me you’re just using a lot of words to say “not a hack” regarding something that I’m utterly shocked more folk around here aren’t expressing interest in; what with the popularity of custom CPUs and 8bit systems, and the astonishing interest in this year’s badge.
          Sure, this may be more of a development than a hack, but it could enable quite a bit of hacking by others willing to look into it deeply-enough. Reverse-engineering and finding ways to fill-in understanding of otherwise “black boxes” is exactly what “hacking” is about. No?

      3. dude… I have shared, given away and even helped on a lot of hacks. but not here. Github is the place to be. Anywho, I agree with the guys here. If you claim it is open source, then prove it by attahing said drawings and software and hardware list on the site. otherwise it is same principle as Apple or MS. If I build or hack some thing, I share what I do, so some one else can do better with it. sharing is caring

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.