6 ms·
Break down of a C64 demo effect
- burnte 8y agoDavid Murray, the 8 Bit Guy on Youtube, he doesn't have the best delivery but he's a fascinating watch with a lot of his videos. His favorite is the C64 and has done some amazing videos about the hardware and history, etc, and has talked about how various tricks like this work. It was an amazingly capable machine, and the folks who exploited every little aspect were/are clever as hell.
- jacquesm 8y ago> It was an amazingly capable machine, and the folks who exploited every little aspect were/are clever as hell. If you had been alive and busy with computer programming back in the day you too would have been clever as hell. It was the only way you'd get anything done and if there is one thing that will bring out the hacker in people it is a bunch of unreasonable constraints and a job that needs to be done anyway.
- wolco 8y agoI feel like we moved away from clever into this copy this exact way culture.
- burnte 8y agoI had a hand-me-down TRS 80 Model 100 rather than a C64. Got my first "IBM clone" PC in 1990 or 1991 IIRC. Totally missed out on the other 8bit micros, but I learned a hell of a lot with that Model 100. :)
- panic 8y agoThe great thing about the C64 is that it never changes. It's the same hardware as it was last year, and it'll be the same hardware next year. Modern systems have plenty of unreasonable constraints, but the foundations are always shifting. How many cool web hacks from 5 or 10 years ago will run unmodified on a modern web browser?
- digi_owl 8y agoYeah, i just pulled up a list of RPi variants to check and it has been releasing new generation Bs every 2 years or so. In those years it has gone from a 700mhz single core ARM11, to a 1.4ghz quad core Cortex A53. The c64 in contrast stayed largely fixed for over 2 decades!
- fractallyte 8y agoThe various board revisions introduced some changes. Particularly notable were the bug fixes to the original 326298 board. We could never get certain games/demos to work on our early C64. I still look wistfully at Gauntlet...
- pjmlp 8y agoYou just described why game developers prefer to target consoles.
- cromwellian 8y agoYup, constraint = hack/freedom is one of the paradoxes as long as there are hidden degrees of freedom that can break the constraints. Here’s some old c64 intros I did, including a trick of bank switching to fake z ordering of fonts and sprite scs rasters, as well as using FLD to stabilize rasters in the presence of moving sprites in both PAL/NTSC modes. https://youtu.be/aViXXbUg_yU https://youtu.be/aViXXbUg_yU
- digi_owl 8y agoI think it may be less "constraint" and more "fixed platform". Meaning that every C64 was like very other C64, so you knew what you had to work with on the hardware side. You could see this with consoles as well, as the games steadily improved as developers learned how to push that fixed hardware around (though the cartridge ones often allowed in-cart chips to assist). I guess we have gotten so incredibly used to either being able upgrade piecemeal, or simply replace wholesale every few years, that having a steady set of hardware to explore and learn has become "foreign" in a way. Compare and contrast the C64 and say the RPi. the former was more or less steady for 24 years, while the latter have been releasing beefier variants every 2 years or so.
- vardump 8y ago> Meaning that every C64 was like very other C64, so you knew what you had to work with on the hardware side. Well, other than: 1) PAL vs NTSC systems. True compatibility breaker. 2) Two different versions of SID sound chips (and every SID being more or less unique) 3) Different VIC-II versions (or at least some chips where VSP (variable screen positioning, a fast method for horizontal scrolling) works and some where it doesn't)).
- userbinator 8y agoA lot of demo effects are almost like magic tricks --- before you understand how they're done, they seem like impossible magic; but once you do, you think "that's so simple, why didn't I think of that?" Animation by essentially "panning" inside a larger pre-rendered image is one of those tricks: http://norecess.cpcscene.net/the-elders-scrollers.html http://norecess.cpcscene.net/the-elders-scrollers.html
- bostik 8y agoOld-school demos have another common trait with magic. Like the best stage magic, you know you are being fooled - but even after seeing how the trick is done, you remain amazed by it. The best one I have seen: Cubase-64 [0] 0: https://www.youtube.com/watch?v=artEQkifGG0 https://www.youtube.com/watch?v=artEQkifGG0
- digi_owl 8y ago> Animation by essentially "panning" inside a larger pre-rendered image is one of those tricks Hand animated cartoons would often used that trick as well. The anime Bubblegum Crisis used a massive cityscape painting for their panning shots.
- StavrosK 8y agoI'm not so sure how simple the example you mentioned is. I've seen it many times and I'm still not sure how I would generate the source image.
- bnastic 8y ago> If you had been alive and busy with computer programming back in the day you too would have been clever as hell. Don’t underestimate the power of internet today and the ease of obtaining information - that certainly was not the case in the ‘80s. Unless you were close to demo groups you were left with two choices: a) reverse engineer the code (good old “Monitor 49152”), or b) give up
- keyle 8y agoThat's true. With no internet and only a crappy book, my use of the ZX 80 was pretty poor compared to what I would have mentally capable of doing, if I had access to further knowledge.
- wiz21c 8y agoCleverness could express itself in the way you actually gathered documentation... Back in those days, it was really tough to get any. For example, I was out of the scene. So I decided to create a disk magazine to talk bout the scene, hopefully getting in contact with it. That's exactly what happened and a s a result of that, I got access to one marvelous piece of software I couldn't write by himself : a MOD player (included with SoundBlaster DMA access which was very hard to code)...
- dwd 8y agoThis http://www.classiccmp.org/cini/pdf/Commodore/C64%20Programmer%27s%20Reference%20Guide.pdf http://www.classiccmp.org/cini/pdf/Commodore/C64%20Programme... I still have my copy after all these years.
- Angostura 8y agoThere were a ton of good hobbyist magazine back in the day, many of which dedicated a page or two to low-level hackery
- jacquesm 8y agoI just read the little excerpt from a newspaper in the article about the genesis of the transistor and it struck me that the technical details in those paragraphs were way above what an audience of today would ever be exposed to from a technical level.
- bitwize 8y agoI like his delivery. He speaks clearly, goes over the main points in a slow, methodical, easy to understand manner -- and best of all, doesn't have generic YouTuber, "WHAT'S UP GUYS THIS IS DROWYOSHI3288 BACK WITH ANOTHER VIDEO" type presentation.
- burnte 8y agoOh, yes, he's lightyears ahead of annoying youtubers. I'd just love to give him a couple of pointers. But I still subscribe, he's great.
- kgwxd 8y ago"he doesn't have the best delivery" I think he is very good at keeping the content interesting. I never get the urge to fast-forward and I've got the attention span of a 2 year old with ADD.
- floatingatoll 8y agoI loved this writeup, original author of it, whenever you see these comments. Thanks for writing this up.
- nurpax 8y agoThanks!
- asciimo 8y agoClever stuff. I like that the author used modern techniques (python) to generate the custom C64 character set.
- bnastic 8y agoThat was usually the case “back in the day”, people would use their Amigas and Ataris to prep work - I’d use my Atari ST and GFA Basic to generate all sorts of lookup tables which was too tedious to do on the C-64 (esp. if all you had was a “datasette”)
- nurpax 8y agoI also used some Haskell in another C64 project. Made a VICE memory snapshot parser for digging some values out of RAM. Haskell was a lot handier for byte level access than Python.
- dwd 8y agoAs someone who spend half their teenage years drawing on graph paper creating custom character sets for use with graphics and large sprites, this is a pretty cool and novel way to do an animation.
- EvanAnderson 8y agoVGA has redefinable character sets. I tried doing some animation with them back in the day, but I ran into some kind of limitation that I don't recall. I was trying to accomplish an animation effect by altering the character definitions in realtime, which I recall being very slow. It never occurred to me to do something like this. Now it'll be everything I can do to stop myself from trying this on an old PC! Goodbye weekend productivity!
- mromanuk 8y agoWeekend may not be productive, instead go for memorable
- diffuse_l 8y agoFor some ideas about what can be done in text mode on pc, see this demo [1]. [1] http://www.pouet.net/prod.php?which=5110 http://www.pouet.net/prod.php?which=5110
- eb0la 8y agoIf I remember well to overcome flicker with custom Character you has to wait for vsync. I don't remember what esd the port for that, somethin un the 4p sets... except if you wait for VSYNC like if you were usibg a double framebuffer.
- bitwize 8y agoRedefining the character set was how some text-mode programs like the old Norton suite got "graphical" mouse cursors and the like.
- scottlu2 8y agoNice demo. Reminds me of a well done Galaxians clone for Atari 400/800 that used programmable character set animation for the aliens. It was impressive.
- bitwize 8y agoFun fact: The Commodore VIC-20 lacked hardware sprites, so programming the character set was how you did any animation on it. There were still some pretty amazing games given that limitation.
- babbit999 8y agoOld schooler here, mainly Amiga 500. If you want to drown in old and new c64 stuff, visit: http://www.cascade64.de http://www.cascade64.de