← Back to context

Comment by kstrauser

4 days ago

I was in nearly the same boat, not quite rural, but close enough that I was one of a couple of "computer kids" in the whole school. I got my hands on the "Commodore 64 Programmer's Reference Guide"[0] and it was literally life-changing. It simultaneously demystified computers for me ("oh, this is how it knows where to draw my sprite, and here's how to go from a hand-drawn picture to a pixel grid to a list of hex values") and made them more magical ("I can create an entire universe with my brain and hands").

Yeah, the BASIC sucked. I'm glad it sucked just enough to make me want to learn more on my own.

[0] https://archive.org/details/c64-programmer-ref

Another useful tool was a debugging cartridge.

My C64 came with a Super Snapshot. It had a button on the cartridge that would freeze the running program and provide options like editing the memory, modify machine code, persist current state to disk, etc.

I would type programs in BASIC and then examine the machine code that it got compiled to. I learned a lot more than I would have without the cartridge.

  • Young me is envious. I downloaded or typed in, I forget which, some monitor program[0] that I used a lot, but loading it was far more manual than what you described and was basically impossible to load while another machine code (i.e. non-BASIC) program was running.

    I still learned so much from typing short programs into it. I talked my parents into buying me an assembler so that I could make changes without re-typing a whole program.

    [0] https://www.c64-wiki.com/wiki/Machine_Code_Monitor