Slashdot Mirror


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.

32 of 466 comments (clear)

  1. The C64 was the best by tuxlove · · Score: 4, Insightful

    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.

    1. Re:The C64 was the best by BitterOak · · Score: 2, Insightful
      It was the last computer I ever programmed that you could understand top to bottom.

      Yep. Me too. Largely because the Programmer's Reference Manual included detailed chapters on each of the major chips inside, as well as a full schematic of the entire computer, which I actually took the time to understand completely. I was not a very good programmer back then, so I mostly played games, but I felt I really understood the system. When I replaced it with an XT clone a few years later, I never really felt comfortable with the new machine. I always felt like I didn't completely understand what was going on.

      --
      If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
    2. Re:The C64 was the best by cbreaker · · Score: 2, Insightful

      People used to expect to have to learn to use a computer. Now a days, people expect the computer to use itself.

      It seems like getting hired as an office worker no longer requires computer skills. Lots of the people that use these things at work have absolutely no clue.

      I think everyone that uses a PC should learn the very basics.. and every company should teach them. Spending a little cash for basic computer training will save a lot in support calls in the future.

      --
      - It's not the Macs I hate. It's Digg users. -
  2. Remember it for what it was. by mooface · · Score: 2, Interesting

    When I was a kid, I used to attend Michigan Atari Computer Enthusiast (MACE) meetings. These meetings were held in the early 80s in Southfield, Michigan -- and the organization was about 2000 strong! The meetings were huge, lots of great demos, a tape library, etc. Those were great times.

    About four years ago I realized MACE still existed, and was having a meeting, again, in Southfield. I drove out to it -- figured somehow I should for old times sake. Boy, was it a sorry thing. About six people in a little room. These folks were using computers from 1984 for their everyday work. They seriously couldn't see why you would ever switch to another platform or OS. The discussion centered around "keeping relevant" in the modern computing environ with your Atari.

    I remember leaving the meeting, very sad. Remember the machine for what it was, folks. It was a happy thing that did you well. Don't spoil it with some sort of anachronistic BS...

  3. C-64 web by Davak · · Score: 3, Interesting

    If you are having the need for a good blast of history... get your java c-64 emulation here.

    http://www.dreamfabric.com/c64/

    Davak

    1. Re:C-64 web by ch-chuck · · Score: 2, Informative

      There's also a Pocket PC C64 emulator. If it's anything like the Atari Pocket PC 800 emulator it won't be too shabby. I'm just starting to use the PocketAtari for Kennedy Approach ATC game, chess and dungeon explorer. Of course arcade games like Defender don't play too well on the little swivel joystick.

      --Atari die hard

      --
      try { do() || do_not(); } catch (JediException err) { yoda(err); }
  4. Using libraries is cheating :) by LeftOfCentre · · Score: 2, Interesting

    I wrote my first programs on the C64 and I enjoyed it a lot. In many ways, I think it was more fun back then as we didn't have all of these high-level libraries to rely on for everything from displaying graphics to making toast. Because the BASIC was relatively primitive, one had to rely on the infamous POKE (modify data at a memory location) and SYS (call machine language routine) statements for doing anything worthwhile. The memory was completely filled with fun stuff and unlike today's platforms, most stuff was at the same location in memory every time you powered on. The terrific sprite tutorial in the handbook taught me binary. All in all, I'm thankful I was "raised" on the C64 and I'd like to think I learned a lot from it.

    1. Re:Using libraries is cheating :) by ergo98 · · Score: 2, Interesting

      Ah, the balloon was a classic, and was a great instruction in binary as one replaced the bitmask with their own derivative. Along with that tutorial, I spent countless hours typing in pages of code from Compute! magazine -- this was before I had a tape drive -- though often the result was a hard system lock for whatever reason because of a random typo that made it past the primitive checksum test. Perhaps because everything was so fresh and new, it really does have a overly rosey element in my memory : I remember near halloween all of the computer mags were full of type-in halloween games or effects. Good times.

  5. Everyone, sing along! by Anonymous Coward · · Score: 2, Funny

    I adore my 64,
    my Commodore 64!

    I sing with it, write with it,
    figure my path to flight with it,
    my Commodore 64.

    I rate with it, create with it,
    telecommunicate with it,
    my Commodore 64.

    I adore my 64,
    my Commodore 64!

  6. Music by gilesjuk · · Score: 3, Interesting

    It had a fantastic sound chip for its time, even put all arcade machines to shame until sample playing arcade machines were designed.

    The SID chip introduced many people into synth music. I have a bias for electronic music now as a result.

    Some useful links:

    http://remix.kwed.org
    http://www.hardsid.com
    h ttp://www.remix64.com

  7. Hell yeah. 8Bit programming rocks it out. by torpor · · Score: 2, Interesting

    There is a lot of fun - and I mean a *lot* - to be had in assembly programming those old 8bit boxes.

    I still covet, and hack around on my Oric-1, although its easier to get most of the development work done with an emulator.

    Does 'vi' and an emulator count for 'still fun', or do you have to actually use the box? Dunno, maybe thats a hardware war I shouldn't get involved in, heh heh ... but anyway, if you're a programmer, and you like code for the sake of code, reliving the 8-bit 80's is worth the mental fun factor ...

    Some great new games out there too, I might add, are still being made for these systems. Very fun games!

    --
    ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
  8. My mommy wouldn't buy me a C64 :'( by KingReuben · · Score: 2, Interesting

    Instead, I cut my teeth on a TI 99/4A.. First it was BASIC and then that happy day when my daddy bought me EXTENDED BASIC for Christmas wooyeah! And the final joy was my 32k memory expansion unit along with the disk controller and disk drive. Made my system roughly 3' wide and I was smokin!

    --


    --
    om Shanti
  9. Job assistance by Faust7 · · Score: 2, Funny

    "This is probably the geekiest of the geekiest," admitted conference organizer Dave Ross. "I tell my co-workers about this and they laugh, but this actually helped me land my job."

    "Well, Mr. Ross, we've seen from your resume that you've done quite a bit of Java, C++, Perl, Python, and even C#..."
    "I have, yes."
    "There are some additional, special qualities we're looking for..."
    "I did used to program BASIC on my C64 back in the day."
    "Welcome to the company, Mr. Ross."

  10. More fun than VB? by kirkb · · Score: 4, Interesting

    Considering that the BASIC interpreter inside the C64 was licensed from Microsoft, I suppose that the C64 is actually a relative of Visual Basic.

    http://en.wikipedia.org/wiki/Commodore_BASIC_pro gr amming_language

    --
    Slashdot: come for the pedantry, stay for the condescension.
  11. The C64 was definitely more fun by SoIosoft · · Score: 3, Interesting

    I definitely enjoyed coding for the c64 more than for any modern platform. It only really compares to old school DOS programming, and the limitations of that environment means even that really didn't compare.

    1) The C64 hardware was pretty much the same for every machine. This means that whatever neat hack you'd come up with, and believe me, there's a lot of them, it would work on just about any machine.

    2) The system was relatively simple, so you could understand it without thousands of pages of reading.

    3) If you didn't like something, be it BASIC, the Kernal, or anything else, it was a simple job to flip out the ROM and replace it in the underlying RAM with whatever you'd want.

    4) While the graphics weren't great, it's better than most other systems at the time. The sound was almost certainly a cut above, too.

    5) The C64 was extremely well documented, by amateurs, for amateurs. The documentation you'd find on it, and there was plenty, was easy to understand and chances are, if you wanted to know how to do something, someone had wrote an article or a few on exactly that. I still have well over a hundred books on C64 programming on a shelf. I haven't used them in awhile, but they're there. They cover just about every topic in programming you'd ever want. Oh, and the development tools for the C64 were inepensive. Just copy one of the free assemblers from someone else. Many flavors of development tools were freely available.

    Simply put, it's a programmer's dream.

    --
    Help me. I've been modbombed by a few people with entirely too much time on their hands.
    1. Re:The C64 was definitely more fun by mrob2002 · · Score: 2, Informative
      Two of my favourite hacks involved manipulating the display hardware.

      The C64 came with 8 hardware 'sprites' which were hardware controlled bitmaps which could be floated over the background for no computational cost. Of course, 8 wasn't enough, and we soon found that if you keyed off the horizontal display interrupt (i.e. you got an interrupt for each display line), you could wait until the screen raster had drawn the sprite, then quickly move it down the screen, where it would be redrawn in its new position.

      The other hack involved changing the screen size as the raster beam went past, which allowed the sprites to move off of the display area, outside on to the screen border, effectively allowing you to place scores, and other graphics off of the main screen.

      Programming the C64 taught me a heck of a lot though. The "real time" idea that the screen refreshed 50/60 times a second, and each game frame needed to be complete within that time forced a lot of efficiency into everything that was written.

      I remember the excitement of coming up with (what I now realise is a pretty simple) a compression scheme, to fit whole screens of graphics into a fraction of the space, and also unknown to us, lots of computational and maths theory, e.g. the use of fast sorting routines so I could work out the order to draw the sprites in using the above hack, the use of polar vectors to make the on-screen characters move in proper circles, etc.

      I think the key to the fun of programming on the C64 was that you were only one step away from being able to produce the same quality of games as those being released commercially - me andmy friend started so many games just to work out how to do do some special effect, but never had the attention span to work through to a complete game, but instead shelved it to work on the next exciting problem. These days unfortunately, I feel the gap between bedroom programmer and commercial team is unbridgable.

  12. Oh yeah, I had one by querencia · · Score: 2, Funny

    Started out with a Vic-20. It sucked because it had a huge font. The letters looked stupid. I actually bought a cartridge that made the letters look like C64 letters.

    Then, I got the big daddy. With a cassette tape drive.

    Also fun was going to the mall, typing

    10 print "F*** YOU";
    20 goto 10
    run

    and watching the idiot at the store try to figure out how to stop it.

    True C64ers know what the ";" did at the end of line 10.

    1. Re:Oh yeah, I had one by insertionPoint · · Score: 2, Funny

      True C64ers know what the ";" did at the end of line 10.

      What did it do? What did it do? What did it do? What did it do? What did it do? What did it do? What did it do? What did it do? What did it do? What did it do? What did it do?

  13. Basic Programming in the modern world by insertionPoint · · Score: 2, Funny

    DAMN! I am a basic programmer and did not know about this!!! C64 is much more fun than C++ will ever be. My first computer project ever was a railroad yard simulation on the C64 in 7th grade. Later that year Model Railroader had plans for a similar program complete with a SERIAL interface board that could control your model RR. I dreamed of building this (while my friends dreamt of girls). Now I have NO life and they have NO cash. I am not sure if it was worth it ;-}

  14. I adore my 64 by Gray · · Score: 3, Interesting

    I made my nerd bones on a c64. Ran my first BBS, wrote my first BBS, learned 6502 machine lanaguage, all before the age of 15.

    Learned to realign a 1541 disk drive. Learned to solder in reset switches, waited the longest 4-6 weeks of my life for my Action Reply Mk 5 Professional, only to replace it with a Super Snap Shot 7 a month later. First A/D converter (Covox Voice Master), first video scanner, first stolen long distance phone call.

    For better or for worse, no piece of technology has had a greater effect of my life. By the end I had two systems, three 1541 5.25" drives, and two 800k 3.5" drives. 15 year old bliss.

  15. First Computer I ever had by mslinux · · Score: 2, Interesting

    My Dad bought me one for Christmas the first year they came out. Sears sold them through their catalog. In January, on my birthday, he bought me the 1541 disk drive. I wrote my first program, dialed into my first network and played lots of games on the C-64. It was all very natural to me. Having it made me realize that I was different than other kids. I wasn't strong, I wasn't fast but I was smart, very smart.

    Many years later, I look back on the C-64 with fond memories. I'm a college graduate now (phi beta kappa) from VT, and my career is centered around maintaining/developing computers and networks. Much of what I have learned about computers I attribute to the C-64.

  16. Naaah. by Faust7 · · Score: 2, Funny

    Will be thinking about slashdot this way in 20 years?

    I for one will not be getting nostalgically misty-eyed about first posts, Anonymous Cowards, or Score:-1, Trolls.

  17. I learned to program on my C64 by stratjakt · · Score: 2, Interesting

    I learned to read and write code parallel with learning to read and write english. I had no disk drive, there was no local source for software. I had to type them in out of Power Play and Compute! magazine's.

    Eventually I was tracing the program flow before typing it it, picking out superflous routines (I was lazy, wouldnt type 4 pages of carefully formatted print statements for a goofy instructions scene).

    I eventually moved on to compilers and assembler (Blitz! basic kicked ass) on it. I held on to it until the bitter end.

    It made a huge impression on my employer during the interview. I told him I've been programming literally as long as I can remember, on my C64 as a kid. The stuff is second nature to me now.

    I wonder what kids today will do, without that advantage. What's easy to hack with, program, and understand for my kids?

    I mean, an 8 year old at a /bin/sh prompt with a nightmare of dependencies to get simple perl scripts running. PETBasic was a huge leg-up for my coding skills.

    --
    I don't need no instructions to know how to rock!!!!
  18. Compute! and the C=64 by digitalhermit · · Score: 3, Informative

    I remember spending hours typing in programs from Compute! magazine. On some machines the code was in BASIC. On the C64 it was often in HEX code. That's right. Someone would create assembly language games then publish then as HEX in the magazine. You'd spend hours typing and verifying long strings of HEX that was entered via a BASIC converter. At one point the magazine developed a checksumming feature to verify that your lines were entered properly, but before that it was a pain.

    The C64 was one of the first machines I'd ever used to go online. The Atari/C=64 wars were pretty amusing (I had both though!). There were also hundreds of little demos that you could load. Almost all of them took advantage of quirks of the hardware -- songs, digitized voices, animations. One of my favorites was a graphing application that drew 3D functions on the screen. They took sometimes hours to draw stuff that would be real-time today, but I'd spend hours just waiting for them to finish.

  19. Ahhh, Commodore programming by Experiment+626 · · Score: 2, Interesting

    I originally got the Commodore Plus/4, a computer that would have been a slightly enhanced C64 except... no backwards compatibility. So, wanting to use my computer, but not being able to run games on it, I got into programming. I later got a C64 too, which was a much better gaming box, but even more difficult for programming than the Plus/4 was.

    A few items to give you a feel for what programming the C64 was like...

    You could program in BASIC, Assembly, or get a third party compiler of some kind. BASIC was by far the most approachable of these for the newbie. The BASIC interpreter was in ROM, so as soon as you turn on the computer, you could just start typing in code. The downside to it being in ROM, however, is that you are stuck with that version of the language.

    Being interpreted, Commodore BASIC was pretty slow stuff. For anything where execution speed makes a difference (like a game), Assembly was the way to go... the 1 MHz CPU didn't really handle the overhead of an interpreter well.

    Commodore BASIC programs were horridly unstructured. GOTO everywhere, dependent on line numbers (and yet lacking a command to renumber your program if you run out of numbers). BASIC had the usual PRINT, IF .. THEN, and such, but doing anything nontrivial required using POKE (write directly to memory) and PEEK (read directly from memory) to access magic locations in memory. You could write directly to the screen buffer or color palatte, for instance as well as other more obscure locations. There was also a SYS command to execute machine code starting at a specified address, which was used for kernel system calls or jumping to ml subroutines.

    While the Plus/4 had BASIC commands for things like drawing lines on the screen or making music, the C64 did not. Get used to the PEEK/POKE/SYS stuff described above if you want your program to do anything like that.

    The floppy drive, while interesting in that it had a CPU of comparable power to the main computer, was notoriously slow. Whereas with computers these days temp files, swap space, running commands from a disk, and such are ubiquitous things, on the Commodore, I/O had to be kept to a minimum or you could forget about any kind of speed. The Unix "everything is a file" philosophy wouldn't have worked too well on this platform.

    This wonderful Commodore BASIC was written by a then little-known company named Microsoft.

  20. Re:LOAD "*",8,1 by Student_Tech · · Score: 2, Informative

    The "*" was load the first thing on the disk (that was a program I assume)
    It was a wildcard so say you have a "Aone" "Bone" you could just go "A*" to load "Aone", but remember it matches the first one so if your dir listing went
    "Atwo" "Aone" it would load "Atwo" (Of course it's been a while since I did this, but I think this is correct")

  21. C-64 and 300 baud modem by Fastball · · Score: 2, Interesting
    I have a photographic memory of phone numbers as a result of my C-64 and 300 baud modem. The modem was a General Electric model with a coupler. You know, the kind that you actually put the handset into? It also had a phone jack, so I didn't have to listen to the chirping, but I would from time to time. I kind of miss that noise.

    Of course, my primary objective for my C-64 was to gather and play games. That meant a 1541 5.25" floppy drive. That was the loudest, slowest piece of computer equipment ever manufactured. If I could manually scribe the bits on the disk with a writing utensil while reading the data from screen, I would beat that 1541.

    The quest for games also meant BBS searches, wardialing, etc. Then I discovered MCI codes. Soon I was dialing BBSs in New York, Arkansas, Chicago. All of the country. I started by making printouts, but then I quickly remembered the numbers. Ever since, phone numbers have always stuck in my head. I remember my home phone number from every place I've lived since those days. Twenty years and probably fifteen different residences.

    Of course, the FBI paid me a visit. That ended that. But I had a nice collection of games before it was all said and done, and the IBM PC and its clones had become the standard.

    Beach Head. Raid Over Moscow. Infiltrator. Fourth & Inches. Microleague Baseball. Karateka. Ultima I, II, III, and IV. One-on-One. Flight Simulator. Just to name a few. I loved that beige box with a keyboard.

  22. Logo by leighklotz · · Score: 4, Interesting

    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.

    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 .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!

    1. Re:Logo by leighklotz · · Score: 2, Interesting

      Waitaminit, Logo was written in LISP???
      Logo and Lisp are internally similar, but Logo has an infix syntax.

      Are you also the guy who wrote the book? Logo was my first non-BASIC programming language, I was about 12 then.
      I wrote the technical documentation and some parts of the manual, but the main work was done by Virginia Grammer and Paul Goldenberg and edited by Mark Eckenwiler. See the scans for other people's names. I've put some scans of the 264 (uh, Plus-4) at http://graflex.org/klotz/logo and will put more stuff there as I get time. The page numbers on the 264 title page are errata, probably fixed by publication time.

      They were going to call it the Plus/4 (for the four applications in the ROM) but they couldn't get a trademark because of the "plus 4" knickers, which are an extra 4 inches long.

  23. My C64 code's still running! by TheTranceFan · · Score: 2, Interesting
    When I was an undergadutate (circa 1985), I worked in the University of California, Irvine Registrar's Office. I wrote a C64 program that took input (via the parallel port?) from buttons on each Registrar Window's desk to direct the next person in line to the next available window. The last time I checked, this system is still in use, despite having to be loaded from cassette periodically.

    The thing was just terrible - a big centrally-mounted TV flashing day glow colors, ostensibily to get the attention of people in line, and little synthesized "ding" sounds and all. But I guess it worked, so it's still being used.

    Slightly OT but...

    Different code I wrote at UCI, probably about 1987, is still being used to print the quarterly Schedule of Classes booklet - complete with the last "graphic design" they bought from me in like 1988, coded directly in PostScript. Un-freaking-believable.

    So the longest-lasting contributions to the world I ever made was when I was a part-time $12/hr UCI employee, and not at any of the startups or big companies I worked for after that. Hmmm. So it goes I guess...

  24. C64 forever! by WWWWolf · · Score: 2, Interesting

    Commodore 64 is easily the most fun computer system I've ever had. That's why I have two of them. =) The games were great, some of the apps bended the boundaries of the hardware, and the SID music is still the best thing imaginable.

    Well, in retrospect, I have to say C64 programming - in BASIC, that is - wasn't as much fun as modern languages. In definite contrast, I bet 64 assembler coding is a lot of fun though, even on this day and age.

    Sure, it was fun back in the day when I didn't know much of the possibilities. What they say about BASIC rotting the brain is true - When I finally used PCs all day long, I had some trouble adjusting to TurboPascal and C, but all that I ultimately needed was a single zen moment...

    I never made that complex programs because the BASIC thing is actually quite limited.

    The most complex thing I ever did was a multi-user operating system / bulletin board thing I made in early 90s. All in BASIC. Never had multitasking or dial-in system, though. Pretty frosty in retrospect, I suppose.

    This year, I tried coding something real, but all this modern stuff - like getting used to function arguments - made me write some pretty hideous code. Ugh. Not to even mention that the slowness of the language started to become a problem. I think I'll do my law-mandated Tetris clone on PC in C++ instead of completing my DogSlowTris on C64 BASIC!

    More recently, I've tried to learn 6502 assembler - it definitely seems far more fun way to program that thing. Especially with a cross compiler and emulator.

  25. So many memories.... by Balthisar · · Score: 2, Interesting

    I don't have as much fun with my computers as I did with my Commodore. I splurged for a C=128 (which had the C=64 mode) with my paper route money, and kept it until I got my first Mac in 1988. It was cool, then, to run "kind of IBM stuff" like WordStar and TurboPascal in the CP/M mode.

    Cocoa on the Mac and Delphi on the PC just aren't as fun.

    --
    --Jim (me)