Chris M wrote:
The C64 is a great machine, but you're not going
to
learn many *deep* details about the hardware (not that
it's necessarily an issue). Hardware sprites - dead
easy to program and even in BASIC the motion is
smooth.
C64 BASIC is pretty bad. PET BASIC or better yet, C128 Basic were a lot
better. I suppose with the Simon's Basic cart, C64 BASIC was quite nice.
Sure, you can do a lot with C64 Basic, but everything is a poke, peek,
or a SYS call. It's much nicer when the BASIC you're using has commands
for all that stuff built in.
Then again, if you can master the peeks and pokes, you're better off
writing 6502 code. I'm really partial to the C128 which had a built in
machine language monitor. You could press the reset switch while
holding RUN-STOP and it would drop you into the monitor. You could then
disassemble/hack or just save whatever was in memory previously and it
wouldn't wipe away any of the memory except for a few things in low RAM
such as the display. As long as you could re-enter the program, or
figure out how to capture the low memory and then stitch it back
together, you were "in". Was really great for breaking C64 protected
stuff that only checked at startup. :-D
I almost never wound up using a proper assembler since the monitor was
always available. Was a bit rough debugging stuff, since it meant
having to add in lots of patches, but it worked nicely... no worse than
debugging basic programs by inserting lines and replacing lines with
gosub's when you had to...
The 64 has the weirdest video memory layout
you could ask for (afaik), and the books aren't always
cheap (eBay). A few of them are a necessity. I went
looking for some and was astounded at the prices they
were getting. Maybe that's died off. If you can find
someone with a whole cache of stuff, you'd luck out
Sounds like a perfect thing for BitSavers - assuming availability, of
course.