Seems like he made a lot more work for himself by trying to save a bit of space on the original capture and doing it at low resolution and with an unsynchronized v-blank.
I did something similar to this many years ago from a screen recording using a copy of gocr and netPBM. Cutting out blocks of text using netPBM tools and feeding them into gocr ended up working out quite well and didn't take enormous amount of cpu training some ML model.
Otherwise he would have re-shot at higher resolution and more frames per screenful. Or something. One goal was to get the bytes out, but the other goal was to achieve it the hard way, and maybe learn some ML on the way.
At least reshot, even better write a small program to output each page in base 2/4 (with characters chosen for very easy distinguishing) plus a checksum.
I have to admire the effort and persistence that went into this exercise. I certainly enjoyed reading the post from beginning to end.
But ... if it had been me, I would have used a terminal emulator running on a PC and captured the screens in digital format. Of course, terminal emulators can be finicky to set up, etc. But I would hazard to guess that still far less work than the ML approach.
I don't get it. Did he do it this way for the fun of it? Surely the computer has to be able to read and then write the rom to other output than the display.
I love vintage computing and have wanted a 5100 for a few years now. Unfortunately the only time I've ever seen one on sale was about a year or two ago and I just couldn't afford it
Great write up. I loved the computation time estimates based on the target hardware. I have designed a number of CMOS chips during the last 20 years and I have always been amused that the 4 month fabrication time is quicker than the time required to do full chip simulations, assuming they were even possible. I like to refer to chip prototypes as custom real-time simulators.
this write up gave me a headache just thinking about this task :D wow what a battle to dump some bytes! excellent and interesting write up for sure! props!
I did something similar to this many years ago from a screen recording using a copy of gocr and netPBM. Cutting out blocks of text using netPBM tools and feeding them into gocr ended up working out quite well and didn't take enormous amount of cpu training some ML model.