"Why would you do that?!", the readership of Hacker News exclaimed loudly. Their significant other/family/cat looked over at them with a strong wtf look on their face(s).
Why you would do that is that you could develop and debug code in a way that gives you a lot of visibility into the processor and control: stop anywhere in a non-intrusive way and look at the state of anything.
The only other way to get that would be a hardware debugger requiring a second computer.
In 1978 when Dann McCreary did it? Computers were expensive back then. A crappy TRS-80 Model I with 4K memory would set you back more than $2000 in 2015 dollars. I don't remember knowing anyone who had two computers before 1985 or so...
By 1985 I was 20, I had: a Dragon 32, a BBC Micro, a KIM, a trs-80 pocket and a sinclair zx 81 as well as an Atari ST.
And I know plenty of other kids my age back then that had two or more machines. That was all that we spent our (hard earned) money on. I'm pretty sure that there were lots of adults too that had more than one computer.
Whatever didn't go to the rent and very basic food went straight into buying hardware, software and computer books.
Yes, me too, by early 1986 I had a BBC Micro (expanded with a Torch Z80 co-processor and floppies) a 286 based PC clone and a ZX-81. I even had an Eclipse S/130 with a pair of 10+10MB top loaders in my parents dining room, until they saw the electricity bill and made me return it to the repair shop I borrowed it from. I was ~19 at the time.
Brilliant piece of work. The kind of coding that you do when space is expensive, been there, done similar things. And as others say an emulator lets you see exactly what your code is doing.
After a quick overview, in my opinion it makes sense to try to assemble it. Comments make sense, also the code. I don't think is "garbage code", and if it is, the author put a lot of work of making it convincing.
Does this mean the listing doesn't work, or that the original author just never ran it, or that the author hand-assembled it?
Quote:
"Honestly, I don’t remember for certain… BUT… MORE THAN LIKELY, it is a FAKE – i.e., I probably just text-edited a listing in “assembler listing” format for the purpose of publishing the code and “looking professional”… ;)"
It means that the printed version was manually re-constructed from the original working version. The author here probably just had a hex dump which he'd hand assembled, and re-wrote it to be more comprehensible in a text editor.
This happened more often than you'd think. Before the widespread use of modems or other long-distance ways of sending digital data, it was often very difficult to transfer a digital version from one model of computer to another, let alone converting that format to something that a typesetting system could read.
I remember listings in magazines that were clearly typeset manually from people who were just reading and re-typing from an original printout. Bear in mind that the reader was also expected to type the program by hand from the magazine.
Generally the final proofreading was left to the person brave enough to type it all in again. It could be very frustrating to be faced with a program that was clearly exactly the same as the printed copy, but didn't run. On the other hand, it did teach you to be sceptical of what you read in magazines.