tl;dr (because tldr should go at the top): Thanks mate, but I got more itch-scratchers than I can use already.
Schol-R-LEA wrote:eekee wrote:Even my OS design is rooted in how much I miss booting to a BASIC interpreter.
It'll have far more powerful features though; I gained so much inspiration from other systems.
Have you looked at any of the retro projects such as
Commander X16 or
Color Maxmite? While they (and several others like them) are probably not what you are looking for in the long run, you might find them interesting as something to scratch that itch in the short term.
Thanks! They look like they'd be fun, but I've been toying with
BBC BASIC for SDL. Also BBC BASIC for DOS which, once it's running, feels a lot like using an old 8-bit. You can write your code & manage your files within BASIC. The syntax is a bit clunky for my taste, but not really terrible. It was one of the first structured Basics, and now has structs too.
I haven't done much with them partly because Forth is cleaner in the ways I want it to be, but partly because (surprise!
) I'm getting close to putting down code for my OS. Another reason is that I want much more than those old BASICs could provide.
Schol-R-LEA wrote:I've been playing around with the
Commander X16 emulator on and off and hanging around the
project's forum, and find it pretty interesting (despite, or perhaps because of, never having used the C64 before, which is the main inspiration for that project, whereas the Maximite is more aimed at recreating the Apple ][). I don't know of any projects based on the Atari 400/800 systems, but I expect that there's one out there somewhere - I did find Ben Heck's project to
refit an Atari 800 into a handheld using a custom PCB, but I don't know if that would be what you'd want - also, I timed that link to skip the 'regrettable acting' part because, well, it's pretty regrettable even by Heck's standards).
I didn't watch, but the concept reminds me of my plans to build a wristwatch computer with a 6502 & SRAM back in 1991. I know now I couldn't have completed the hardware design and even if I did, I would not have programmed it very well at all, but I still have a soft spot for wrist-mounted computers.
(I have not, however, bothered to get an Apple Watch.)
Schol-R-LEA wrote:I should also add that the CX16 emulator allows you to use a different ROM image, and there's talk about putting having extra flash memory on the board and a means for bank-switching the ROMs, meaning that one could (with some tweaking) use compatibility ROMS to make the system behave like a different 6502-based system; while it would not be compatible with existing software for, say, an Apple ][, Atari 800, or BBC Micro (even for the C64, only some BASIC code can run unmodified, as the memory layout and video/audio hardware are radically different), it would allow someone to make a setup which behaves 90%+ like one of those and a flavor of BASIC based on theirs.
Oh, and there are at least
two different Forth projects targeting it, as well.
The Maximite is even more flexible, since it uses an FPGA and soft cores, but I know some people would find that to be cheating.
...
If nothing else, it might be a fun distraction while you plan your own OS project.
Changeable ROMs, FPGA... I certainly don't think these things are cheating. If I was going to get one of these hardware projects, it would be a certain one which uses an FPGA to accurately reproduce a variety of 16-bit computers and consoles, and probably 8-bit too. I can't remember the name of it now, which shows how likely I am to actually get one.
Incidentally, I'd be surprised if there wasn't a more accurate C64 reproduction out there. Or, maybe there eventually will be one.
(Speaking of accuracy, it sounds like CX16 isn't significantly more compatible with its original than BBC BASIC for DOS or even for SDL. CX16 has the same CPU as its original, but that's not helpful for porting C64 programs if they have machine code which wants to write to the screen; the #1 reason for having it. The various BBC BASIC ports might run on different processor, but they have accurate display emulation which is extended for modern systems.)
There's probably not an Atari 800 replica. It was less popular for a whole bunch of reasons I don't feel like typing out. Some of the reasons were basically bugs which might affect a replica. Others are bugs to some people, great features to others. Its OS was a bit too ambitious and controversial.
If neither BBC BASIC nor Gforth nor either Pygmy forth nor... Python nor ANdroWish/UndroidWish nor anything else I have handy is enough to scratch my itch, there are two games I could go for. I have the old RedPOWER mod for Minecraft which includes an emulated 65816-powered computer running Forth. It has a proper old-school IO expander to drive or read the game's redstone wiring. It's a bit too raw, but it has a very genuine retro feel.
I should write disk block code for it. I have ComputerCraft in the same modpack, (Tekkit Classic,) but that's a bit too high-level and easy, and I still couldn't be bothered to really learn Lua.
The other game is OpenSim, where I've wanted an in-game computer for ages, but the game's scripting language is possibly the worst language ever for this sort of thing (except esolangs). I just recently realised how it could be done, and started planning.
It's actually fairly easy now I know how, (it's just inefficient,) but I don't want this to distract me from my OS, and I don't even want my OS project to distract me from something else important in my life right now, but again my best friend is also in OpenSim and would likely think it pretty cool, so right now I'm all like, "Eaugh! Priority SOUP!"