Hacker News new | past | comments | ask | show | jobs | submit login
An Introduction to Programming C-64 Demos (antimon.org)
112 points by elektronaut on Jan 4, 2015 | hide | past | favorite | 17 comments



For Amiga demo programming with 68000 assembler, this video tutorial series is great as well: https://www.youtube.com/watch?v=p83QUZ1-P10

I wish I could send these back in time to my teenage self.


My teenage self spent quite some time hanging around Amiga users, watching demos, reading Amiga technical manuals and playing out tunes in protracker.

Assembly and AMOS ruled.

Nice memories.


Example final result, apparently coded by puterman (the author of the tutorial) and others: https://www.youtube.com/watch?v=vfJjRRICzv8



Wondering how to program C=64 demos back in the mid 80s kickstarted my interest in computers and ultimately my career. Jim Butterfield's "Machine Language for the Commodore 64, 128, and Other Commodore Computers"[1] got me started on this path when I was 12.

[1] - https://en.wikipedia.org/wiki/Jim_Butterfield#Publications


My love for computers started with my C64, I'm very nostalgic about this period. I'm very admirative to people putting so much effort into their passions.

However, with so many more useful (and possibly lucrative) things to learn and do, I would never find the time for programming C64 demos.


Doing some (simple, mostly unreleased) demo programming for the C-64 forever doomed me to swear whenever I see information systems with jittery, choppy or flickering scrolling text, given how easy it was to scroll text smoothly on early 80's hardware.


Experience with 8-bit micros also makes me curse the barriers you often find on modern machines that prevent you from really controlling the video display. Whether it's well-meaning display drivers refusing your custom resolutions to avoid "blowing up" the monitor, problems with bad or partially implemented drivers (in the open-source case, probably due to the video card manufacturer having a proprietary hold on the necessary information), or going through graphics APIs which are only specified to suggest what the hardware should do rather than command it - for example, if you want to avoid tearing you may ask (in some very platform/API/situation-specific way) for vsync, but whether you'll get it is another matter. Yeah whenever I see a monstrously powerful modern system seemingly wheezing and straining to push a few pixels smoothly from one end of the screen to the other it makes me sad.


I never owned a C64 so I have a question. Where do you write the Turbo Assembler code, is this code which you start typing after the C64 booted? I saw a friend to write there some basic commands like LOAD to load stuff from the casette player, is it there you just start writing assembler? Or is there some special command you have to write first, or do you need to start a texteitor or what is this "monitor" he is talking about? Do you need to install it first in some way?


A c64 boots into basic. You can then enter and edit basic programs. In order to do ml, you need another program. There are many options, but the most used in the demo scene is turbo. This is an additional program that you run. This program allows you to enter and edit you ml before you execute it. Of course today most people use cross development and an emulator. Again there are several options, with cc65 probably one of the more popular ones. I wrote tmpx which allows you to use your favorite text editor and the turbo macro format, and then tmpx will compile it.


The screen you're talking about is just C64 BASIC. You'd do LOAD to get Turbo Assembler into memory (from cassette tape or disk), then go from there...


Ah I see, thanks for clearing that up :)


An enjoyable read! Also from the genius Puterman, the Chipophone [1] and also some Hubbard goodness [2].

[1]: https://www.youtube.com/watch?v=m1pchpDD5EU

[2]: https://www.youtube.com/watch?v=Jn2h6f1EO2k


That's Linus Åkesson (lft):

http://demozoo.org/sceners/3621/

Puterman, who wrote the article, is Linus Åkerlund:

http://demozoo.org/sceners/2803/

They're both amazingly talented and in Sweden, but not the same person.


Thank you for correcting me. As a Swede, I feel somewhat ashamed, despite my awful record when it comes to names.


That's a different Linus.


This is exactly what I was looking for. My brother gave me a C64 (a 1982 model) for Christmas this year, so I'm going to play with this in 2015 and code some demos.




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

Search: