(no title)
deadbytes | 5 years ago
There is no memory protection and no software abstractions. You display graphics on the screen by writing directly to video memory.
Programming for the C64 made me have innumerable lightbulb moments and significantly changed my perspective on what a computer really is.
ajuc|5 years ago
You can have similar experience with a little more power by writing code in mode 13h for dos. Want to light a pixel with specific color? Change byte of memory at A000 + y*320+x :).
You have 256 colors, every pixel is a byte, and you have another place in memory where it says what each color number maps to in rgb values. So you can do palette animations trivially.
There is no easier way to program graphic IMHO.
You can use any language - my favorite was Turbo Pascal 7 (but the compiler has a bug that breaks on cpus with over 200 MHz clock - you need to download turbo pascal and a patch that fixes this issue for example https://www.trsek.com/download/T7tplfix.zip ).
kragen|5 years ago
You might enjoy https://github.com/kragen/bubbleos/blob/master/yeso.
I think that, in terms of accessibility, these 14 lines of C compare favorably to the 15 instructions (and one assembler directive) in the 31-byte mode-X demo Klappquadrat, for example. Yeso also has Lua and Python bindings, which are somewhat incomplete. I haven't written Pascal bindings for it yet, but feel free.On the other hand, that won't give you the same kind of satori experience as the bare-metal C64 experience, because Yeso is running on top of some arbitrary stack of software you don't understand, and the C64 VIC (or VGA mode 13h, at least if you're using a real VGA) is really just circuits. Using Yeso won't stop you from feeling that what's behind the library calls is magic.
br2|5 years ago
[1] https://news.ycombinator.com/item?id=24456247