3 ms·
I had a "76 in 1" cassette and my friend a "63 in 1" with exactly same games with some repeats. One day I used a pencil (graphite) and randomly drew a connectio
by mkagenius 8y ago
I had a "76 in 1" cassette and my friend a "63 in 1" with exactly same games with some repeats. One day I used a pencil (graphite) and randomly drew a connection between some circuit line on the cassette and mine got converted in "63 in 1".
I was 12-13 back then. It was fun.
- orbital-decay 8y agoHah, this is how it all started for me. I went a bit further and tried to reverse engineer the purpose of different pins in a NES cartridge, by grounding them one by one in a running system with a small incandescent lamp from a flashlight to avoid short circuits. I've got all kinds of crashes and artifacts which gave a hint to their purpose. Thankfully, the NES was resilient enough for me not to kill it or burn my house down. Still, I assumed a cartridge to be a simple ROM with a plain addressing scheme, which it wasn't. Only a year after that I've read an EE book with occasional NES architecture details which all made sense in the context of my experiments. That's why I've taught my son to program with a simple self-designed embedded system first. You can almost physically see its parts moving, no black magic involved.
- jackweirdy 8y agoThe system you designed for your son sounds really interesting and fun for a beginner. Have you written about this anywhere? I’d love to read more.
- orbital-decay 8y agoOh I'm not a professional, so this wasn't a super serious project. It's a 1801-series CPU (an old soviet single-chip LSI-11 clone, chosen because of the beautiful PDP-11 ISA) with 64KB of SRAM, an LCD from Aliexpress, an RS-232 controller, some LEDs in key points to illustrate the inner workings, a pulse-modulated speaker, and some discrete logic to glue all this together. It has no flash/ROM so you have to load the program from a PC each time. It took me ~three months to build in my spare time, including the PCB manufacturer round trip time. The biggest issue was making a modern C compiler work for this CPU, but in the end I've even got a legacy Forth implementation working (more or less). Forth is great on this ISA because one word translates precisely to one machine instruction. We used it to drive our Christmas lights the last time, then to make some simple platform games. I was trying to make MicroPython run on this board without much success, so we'll probably have to drop it in favor of full-featured Python. There was a lot of bugs in this thing, which made it even more fun to use.