Toy CPU Simulator
jimhall.itch.io
jimhall.itch.io
I had a relative do exactly the same a while ago for a standalone program, which made me curious about such a choice.
In a nutshell: DOS can be seen as a lightweight runtime, it's reasonably secure (easy to isolate from the web), has low requirements, doesn't require updates, and the tools to build the program are small, free and reproducible (ex: Turbo C) so he can come back to it in a few years and be confident everything will build the same.
So he treats DOS as an autonomous, lightweight container with graphic capabilities. A bonus is that it can run on basically anything, with stellar efficiency if baremetal. The main disadvantage is that programs look dated.
It's probably more straighforward to use than curses:
Of course if you want it web-based, you can no doubt run it easily in one if the several enscriptm/wasm compiled versions of DOSBox.
The rich all in one tooling is one part, but the packaging, and sandboxed nature of them is what spawned the ecosystem.
An author could just focus on their experience, without getting bogged down in any Web complications (or indeed requiring any web specific knowledge at all), compile out an .swf, and share a simple file. Those hosting could then easily embed them knowing they were completely confined to their little box, and couldn't escape.
Similar Solution here
(What's nuts is that all the Web developers don't get this. They end up writing all their tooling against NodeJS, instead of the JS runtime everyone already has and that, for that reason, is the entire basis for how their field is actually able to produce things that users can actually use.)
Also, the author of this is the creator of FreeDOS.
Basically, build a computer from literal spare ICs. Every video is nearly a chapter out of a CE / EE encyclopedia. Worth every second watching.
using the thing is the fun part.
Nothing like this. It was a simple assembly language with, perhaps, 16 or so instructions. The simulator was written in BASIC PLUS on the RSTS/E PDP 11/70.
I only mention it anecdotally to comment on, perhaps, how little early CS education has changed over the years.
The other fun anecdote was a friend of mine also took the class. The assignment was to multiply two numbers. We’re talking a very simple loop, not even binary multiplication with shifts and what not.
Rather than writing the simple loop, my friend changed the simulator and added a multiply instruction.
The instructor was not amused by his out of box problem solving.
Now that is some dream machine... Hardware has become so standardized and dull with x86 and ARM "cattle" boxes running Windows or Linux, there's hardly any pleasure or emotional attachment to the hardware anymore. I own a PiDP-11 but that doesn't cut it.