No AI or OCR here, just an idiot with too much free time. After seeing that the AltaBASIC source posted was a scan of paper tape, I thought having it in a digital document proper would be good for preservation and novelty's sake. I've never written Assembly, and I'm not a typography expert! Feel free to point and laugh at any silly mistakes. Let's see how many days it takes!
rep_lodsb|10 months ago
Not trying to dissuade you, but here's some things you should consider:
• Turn off your spell checker, it will only make this more difficult! It certainly won't help with the code itself, and it seems like you want to reproduce everything perfectly, including typos in the comments.
• I'd strongly suggest to at the very least become a bit familiar with 8080 assembly language before attempting this.
• The tools used to produce this output add another layer of complications. They used the PDP10 system's assembler with a set of macros to adapt it to generate 8080 code, so it's using somewhat different syntax and directives than those of 8080-native assemblers (like the ones from Intel or Digital Research).
• Some characters are hard to read, and without knowledge of the context and at least some of the PDP10-specific syntax it will be impossible to just guess. E.g. decimal numbers are sometimes prefixed with '^D', and octal numbers with '^O', which look quite similar in this scan. The 'RADIX' directive changes the default for when there is no such prefix, it should be 10 for most of it, but I think that it does start out as octal. Memory addresses will be octal (like 'RAMBOT==^O20000' in line 13), ASCII characters could be either but they seem to prefer decimal for those ('^D13' is CR, '^D10' is LF).
rjsw|10 months ago
LuciOfStars|10 months ago
All super interesting info!
ralferoo|10 months ago
ralferoo|10 months ago
Interestingly, the large F3 appears to be a batch number for the print job, so it's just coincidental that it's the same as the first byte in the ROM. The first byte starts on line 732 and printed in octal not hex, so "000363" (the first byte of the output seems to be some kind of markup for addresses in multi-byte opcodes (immediate loads seem to have 000 for these).
Cryptoclidus|10 months ago
https://images.gatesnotes.com/12514eb8-7b51-008e-41a9-512542...
xunil2ycom|10 months ago
diggernet|10 months ago
jhallenworld|10 months ago
Actually this happened twice: once, someone else's code but I had the listing. Another, my own code but no listing.
larsbrinkhoff|10 months ago
I recruited a team to transcribe a particularly important document, and I had us type each page to catch typos.
wmanley|10 months ago
I reckon there are ~40,000 lines in the printout. So: ~10 years.
fallenby|10 months ago
I wonder if MS has this code somewhere in a digital vault.
LuciOfStars|11 months ago
voidon|10 months ago
486sx33|10 months ago
xunil2ycom|10 months ago