Hacker News new | past | comments | ask | show | jobs | submit login
An Afterlife User's Guide to the C64 (c64os.com)
82 points by ibobev on May 9, 2022 | hide | past | favorite | 48 comments



I quasi-inherited my eldest brother's C64 when he stopped using it. I would've been ten or eleven, sometime around 1991 or 1992 I guess. Between him and his best friend there were scores of disks with a ton of games, mostly RPGs as I recall, though I remember mystery, adventure, and action games as well. I had a ton of fun with it and have nice memories of sitting in the corner of my bedroom, on the floor, with a small CRT TV, trying out various games at random. (They even had some pixelated porn images which I was pretty impressed with at the time ... not so much in a prurient sense -- I was only 10, after all -- but because I had never seen digitized photography before.)

I'd cut off my left pinky to get all that equipment back, but my mother (for reasons I don't understand) gave it all away to my brother's friend when he died back in 1995. She gave away all his Magic the Gathering cards, too, of which he had an extensive collection ... probably would've sold for thousands of dollars at the time. Oh well.

Sometimes I think about purchasing a C64 or C128 on eBay or something, but I'm not sure what I'd do with it. I was never that much of a tinkerer, and though I still remember LOAD "*",8,1, I never did much with it programmatically beyond typing in a few programs.

That said, I do appreciate the opportunity to think about this stuff, and especially about my brother, who would be amazed at what we can do with computers today. He was gone way too soon.


> Sometimes I think about purchasing a C64 or C128 on eBay or something, but I'm not sure what I'd do with it.

I played Sentinel on an emulator in the early 2000s. Would have been really interesting to see that running on an actual C64: it's a 3d game.


As a kid, I actually had an Olivetti 8088 before I got my C64, and when I got that.. Well, it blew my mind on many levels, not only were there great games, but the computer booted right into a programming language! It cemented in my mind, the concept that computers were first and foremost meant to be programmed by their users. Knowing this helped me immensly as I moved back to the PC, DOS and Windows didn't expose this so clearly to my 10 year old brain, but the C64 had shown me that it must be possible, that there must be something "behind" the GUI, and it kept my interest in finding out what it was,and how to do it.


Unfortunately this tradition of including a beginner-friendly programming language with the OS stopped somewhere in the nineties. Under DOS, there was GW-BASIC (https://en.wikipedia.org/wiki/GW-BASIC), the Amiga had AmigaBASIC (https://en.wikipedia.org/wiki/AmigaBASIC - which however did not support the full range of multimedia features, and was only available until AmigaOS 1.3), but Windows 3.1 didn't include a programming language anymore. Arguably smartphones and tablets have increased this barrier of entry even further, because you need a separate PC/Mac to develop software for them.


> Unfortunately this tradition of including a beginner-friendly programming language with the OS stopped somewhere in the nineties.

It was earlier than that: it was in 1984 that the Macintosh shipped without any built-in programming capability. Indeed, if I remember correctly for a time there weren't any programming tools available for it at first; one had to develop on a Lisa instead.

At the time, I was so enthralled by how easy the Mac was to use that it never occurred to me that it was painful to extend. Oddly enough, that same characteristic is just as true today, perhaps moreso.


I don’t think the modern mac is any more (or less) difficult to extend than windows or linux…


Well, since the operating system itself is not quite as open, it's harder to extent than Linux. But perhaps comparable to Windows.

Ie these days writing programs is on all three platforms, but on Linux you are on the same level of access as any other kernel developer.


Later MS-DOS (and even Windows 95?) had QBasic, one of my first forays into programming.

If I remember right, Microsoft had even translated the built-in manual into my native language.


I can't recall qb being in the win95 distribution, but I remember pulling it over from dos floppies and spent a lot of time with it.

However, it was "hidden away" you needed to first get this idea into your head that there was even a possibility to program the computer, and then you had to find out how to get a program that allowed you to do so. What was so powerful about that c64 boot screen was that you couldn't miss that fact, it was not something "extra" that had to be done, from bootup, programming WAS the computing experience, even if the only program you ever wrote was a one-line program with the LOAD statement :)


Yes, definitely.

Though CMD.COM and .bat files in DOS and Windows could theoretically also be used to program. But that was less obvious than on the C=64, and not even as obvious as Linux bash scripting being a possibility when you first login.


Absolutely, I remember trying to make a text adventure game in .bat files (I didn't get far though).

I am fond of bash, even if it's universially loathed as a programming language, it can get a reasonable amount of work done, and it's right there, in your terminal :)


Bash ain't great, but it's heaven compared to eg GNU Make.


And what about when you could read the content of that memory filled by some "masterpiece", and visualize the structure of memory areas and realize those thorny-branch shaped (addr, op, op'd) flows of code called each other as interconnected chunks, drawing an ideal engine aesthetically built like a form of art hidden behind the apparent one...


Like many nerds my age I cut my teeth on the C64. Those were my high school years. When I went to college in '89 my parents concluded I needed a "proper" computer, i.e. a PC. It cost a fortune and although it was faster and bigger than the C64, I was seriously bummed out by its monochrome display and the horrible beeping sounds. It felt as a downgrade after the 16 color VIC chip, and the 3 tone wonders of the SID-chip.


Same here but with Amiga...

It should have been my first lesson that "as a social animal, it's usually more important/wiser to follow the herd than to be smarter/better/ahead."


I imagine going from an Amiga to an early PC would feel like quite a shock.


Poking random values into sections of memory.

Start at n. poke in rnd(256). n++. Poke. Repeat till crash.

The crash is often pretty. Some nice glitch.

One was black screen with a fuzzy horizontal band of color near the top of the screen. Red, green, whatever. Sometimes 2 bands with 2 colors.

Another was a screen full of random characters. Glitched sprites. Stuff all buzzing blinking twitching.

Anybody else do this?


> Start at n. poke in rnd(256). n++. Poke. Repeat till crash.

Pretty sure all my assembler attempts on the C64 back in the day were basically that


You are filling zero page with garbage. Half of zero page is used for the basic interpretor.


Warning to anyone with a physical C64, there are a couple memory addresses that if you poke them it will fry your monitor or your drive. Maybe this was a rumor as I can no longer find the source of this info but it would be a shame if someone damaged their system.

Fortunately this never happened to me as a kid. I was thrilled when found one of the addresses for controlling a sprite.



It's not on that wikipedia page but in older Linux desktops using XFree86 windows system (before X.Org) there were always warnings that certain monitor settings could break your monitor hardware permanently.

I was always fearful of breaking an expensive fat monitor.


It was absolutely possible to fry old fixed-frequency monitors by specifying an improper HorizSync in your XF86Config.[0] Fortunately, for most of us fixed-frequency CRTs had been largely replaced by more modern multisync monitors[1] before we were out of diapers.

[0] https://retrocomputing.stackexchange.com/questions/6614/can-...

[1] https://en.wikipedia.org/wiki/Multisync_monitor


> I was thrilled when found one of the addresses for controlling a sprite.

Wasn't that even in the printed handbook?


You might be thinking of the PET killer poke?


Enjoy random sound effects:

5 a=54272:b=26

10 poke a+int(rnd(1)*b), int(rnd(1)*256):goto10

Also change a and b to make random graphics!


Yes this also reminds me of “circuit bending”


During the first covid lockdown, I was by "chance" stuck in the home I grew up in. And I did found my old C128 in attic (which I was only ever using in C64 mode, except to copy disks).

It's a time capsule C128 that hasn't been "polluted" by anything made in the last 33 years so (I switched to the Amiga in 1989 or so).

So one day I plan to manually input the 256 bytes making this insane C64 demo (posted here on HN already), keeping my time capsule C128 intact:

https://youtu.be/sWblpsLZ-O8


Be extra careful with the power supply, though. Check that it still provide proper 5V and 9V, not 7 and 15V...


Commodore 128 power supplies don’t catastrophically fail like Commodore 64 power supplies do.


Ah the wonders of teaching myself how to code on a commodore... I had the smaller one a generation prior to the c64 ... Yes peek N poke... as I remember it had 8 kilobytes of ram so creating a four page program with little storage allocations was about the limit before running out of memory... kids today are just missing out of those hardware brick walls


Retrocomputing has been quite popular lately. You’d be surprised how young it skews.


So you mean the Vic-20? With a whooping 20k of memory. And the insane video resolution of 22 characters across!


VIC-20 had 5k of RAM by default.


But it has 20k ROM, which back then was useful because it had the BASIC implementation and OS

https://en.wikipedia.org/wiki/Commodore_VIC-20


So, 25K of memory.


The C64 had 64K, it’s literally in the name. You be thinking of the Sinclair ZX81 or something


That ungracious retort would work better if the ZX81 had 81kB.

Anyway, the Commodore 64 famously had a usable 39kB, because the rest of the addressable memory space was usually occupied by the BASIC interpreter / OS (much the same thing on that machine).

However, neither of those numbers is strictly true, as some developers paged in (kinda sorta) the 4kB RAM allowed to the I/O system -- effectively turning the machine into a 68kB box.

Fun times.


I wonder if anyone ever made use of the disk drive as an extra source of RAM and CPU cycles?

Not extra RAM in the sense of paging to disk, but in the sense of (ab)using the RAM in the disk drive?

Wikipedia said the most common model had the same CPU chip as the C64 and 2kB RAM.

EDIT: https://www.lemon64.com/forum/viewtopic.php?t=27911 says yes, and lists a few demos. https://www.reddit.com/r/c64/comments/iw2ubd/can_you_use_the... might also be interesting.


Ah, yes ... people with too much time on their hands, and, frustratingly, smarter and more persistent than I ever was.

I think the 1541 transfer speed only ever felt truly fast to people who'd experienced years of using the 1530 (the cassette tape storage device).


People in the discussions did mention the slow speed. Together with the small amount of RAM, using the disk drive as a co-processor only ever made sense for a very select number of applications.

Outside of demos, the most interesting suggestion was to offload data(base) querying logic to the drive.


I'm guessing you missed this part:

> I had the smaller one a generation prior to the c64


Ohps funny how the eyes skip entire words sometimes


I assumed the meant the Vic20


But only 38 kb was available using the built-in kernel.


That’s still a ton more than 8K for the time


> Imagine trying to have a relationship with your wife, by only ever relaying messages to her via a 20-year-old bikini model. This is not a ticket to a healthy relationship with someone you love.

Hmmm... I'm not sure if you should show this sentence to your wife. Plus the comparison is a bit flawed - even though your wife is probably older than the bikini model, they're both women and (potentially) equally intelligent. If you compare a C64 to a modern computer, it's more like an insect or a fish compared to a cat or a dog - they're all animals, have the "basic functionalities" of animals and can serve as a pet, but cats and dogs are much more advanced. Insects can also be fascinating however...


This article answered questions I’ve had since I was the age my child is now.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: