4 ms·
Really cool! I assume it would be possible to take the pictures you have, turn them into 1s and 0s via some sort of image processing, then pop out actual code?
by spaceribs 6y ago
Really cool! I assume it would be possible to take the pictures you have, turn them into 1s and 0s via some sort of image processing, then pop out actual code?
- kens 6y agoYes, it would be straightforward to extract the data from these ROM images. (See the "Pulling Bits from ROM Silicon Die Images" article currently on the HN front page.) I extracted some of the data from the ROM, but it wasn't anything obvious. I didn't spend a lot of time examining the data since it's probably something like microcode for an undocumented IBM control processor. The extracted data did let me verify that the 9 bits were 8 + parity. To extract the bits, I made a simple JavaScript program where I click on the transistors. For a small amount of data, this is faster than performing image processing and setting up automated analysis software. One problem is that once you get the bits, there are a lot of uncertainties. Is a transistor a 0 or 1? What order are the bits in? Are the addresses left to right or right to left? So you end up with a bunch of cases you need to consider, rather than a nice hex file.
- trilinearnz 6y agoLiterally seeing the bits in your original article was a revelatory experience. Sometimes things are easier to understand when looking at earlier, historical technology. That linked article is also excellent. So exciting to see a visual analysis translate into a hexadecimal file!
- Stratoscope 6y agoYou may enjoy core memory, where you can see each bit (although not its state) with the naked eye. Here's a very pretty 4096 bit (64x64) core plane I bought a few years ago. The board measures 5" square: https://geary.smugmug.com/Computers/History/i-jb2rgF5/A https://geary.smugmug.com/Computers/History/i-jb2rgF5/A Core memory has the interesting property of destructive reads. You can write a bit directly, but you can't read one directly. Instead, you write the bit, and then a sense line tells you whether it changed or not. If your write-to-read changed the bit, then you issue another write to restore its original state. Here are a few of Ken's articles on core memory that explain that and much more: http://www.righto.com/2020/03/the-core-memory-inside-saturn-v-rockets.html http://www.righto.com/2020/03/the-core-memory-inside-saturn-... http://www.righto.com/2015/08/examining-core-memory-module-inside.html http://www.righto.com/2015/08/examining-core-memory-module-i... https://www.righto.com/2019/04/a-look-at-ibm-s360-core-memory-in-1960s.html https://www.righto.com/2019/04/a-look-at-ibm-s360-core-memor...
- spaceribs 6y agoyou left out the most interesting tidbit: these boards were hand stitched!
- trilinearnz 6y agoThat seems quite appropriate, given the loom-based origins of computing :)
- trilinearnz 6y agoLovely. Thank you for sharing these =)