C-64 Diehards Relive History
Sunfish writes "The Daily Herald has a short article about a Commodore Exposition held this past weekend in the Chicago area. 'This is probably the geekiest of the geekiest,' admitted conference organizer Dave Ross. How has the C-64 influenced computing in today's world? I'd like to know how many Slashdotters 'used' to own and code for one of these relics, and was it more fun than C++ or VB?" I hope 2003's event will get a wrap-up the way 2002 does on the Expo home page.
It was the last computer I ever programmed that you could understand top to bottom. It was actually possible to know everything there is to know about it. It's amazing what you could do with such a simple computer. My watch is more complicated now.
Considering that the BASIC interpreter inside the C64 was licensed from Microsoft, I suppose that the C64 is actually a relative of Visual Basic.
o gr amming_language
http://en.wikipedia.org/wiki/Commodore_BASIC_pr
Slashdot: come for the pedantry, stay for the condescension.
I wrote Logo for the Commodore-64 (and incidentally the Commodore 264 -- 50,000 ROM cartridges sitting in a warehouse) and the very short-lived Commodore-16, based on work we did at the MIT Logo laboratory for the Apple II and others. I needed a lot of page 0 registers, and had no need for basic, but I did need the disk to work, so I got on a plane and went to King of Prussia, PA and met with some nice folks at Commodore, and they gave me ROM listings on green paper, and I carefully checked each address to see if it was used.
.OPTION "FORWARD 1 would let you control the line algorithm, that kind of thing (not sure if that made it into the release.) I documented it with a quote from The Firesign Theatre's "I Think We're All Bozos On This Bus:" "Sometimes the options controlled by .OPTION are only loosely related to the primtives used, but there they are," which was inspired by "Living in the future is a little like having bees in your head, but there they are." The French translation of the manual was particularly amuzing!
They brought in the 3 guys who developed the SID and VIC chips and let us ask them questions, but wouldn't tell us their names, for fear of poaching. It was kinda humerous.
When I later had trouble debugging some interrupt routines, they made a special 6510 chip for me, since they owned the fab MOS Techology that made the chips (the 6510 is a 6502 with 8-bit IO at location 0 and 1, which was a big pain for Logo since we used to be carefree about taking CAR and CDR of NIL internally...took me a month to root those out). The special chip had an extra pin that said whether the chip was fetching I or D, and then we bought a Nicolet-Paratronics 16-channel logic analyzer, and Commodore supplied us with a PET and a Basic program to run it. You clipped the logic analyzer onto the chip, ran the PET program, and said for example "Start looking when location 64 is written". The cool thing was that since the logic analyzer was always watching the data, and the PET did the analysis, you could set a breakpoint up to something like 256 instructions before your condition happened. That was the world's coolest debugger (and I've used them all from, ITS HACTRN to Lisp Machines to Scheme).
We asked for a feature to be put in the VIC chip to let you do splitscreen graphics/text mode, kinda like in the Apple II. The VIC guy said it could be done with an interrupt routine. I told him I didn't want any screen jitter, and he assured me it would work fine. It did, except in "doublecolor" mode, and the boundary between the two modes shifted. So I hacked around it a bit with some NOPS and got it mostly stable, and did what any normal programmer would do: I documented it as a feature, and called it the "Doublecolor Status Line" in the index and said, "This is normal and should be no cause for concern."
There was also a ".OPTION" command that was a controlled equivalent to PEEK and POKE described elsewhere in Basic, and it let me put in hack features that were cheap to add. So