It's not 100% related but I had great fun building a very minimal Tetris clone in 6502 assembly, for the C=64, a couple of years ago (the code is "kinda" commented):
there's no comment section there so i'd figure i'd ask here: what is that font that it outputs? is that part of BIOS or something? or part of boot loader or PXE server?
i assumed asm was the lowest level, is there some builtin font by default that can't be changed or something?
There is no terminal emulator here. This hello world text is written directly to video memory -- and yes, there is a character rom, so placing a string of words in memory OR'd with bits set for video attributes (the #defines there) make it color.
Its part of the hardware (emulated by qemu). A VGA card (or any other text mode capable video adapter) will use either a portion of ROM or some part of video memory to hold the font from where its accessed simultaneously to the beam drawing the CRT screen. (Hercules, CGA, EGA, VGA all did this).
In contrast to this, many Unix workstations never implemented such a thing and went directly to graphics framebuffers (SUN cgX framebuffers for the ... Sbus??). For that, of course you have to implement the font rendering in "bios" , or in the case of the sun machine in the OpenFirmware. Slowly.)
I haven't read through the tutorial, but I would assume that the programmer does not specify the fonts being used, but rather outputs bytes to stdout. It's the terminal emulator that's running the program that is responsible for displaying those bytes, so that's where things like font would be set.
userbinator|10 years ago
http://www.pouet.net/prod.php?which=33942
http://www.pouet.net/prod.php?which=6951
There was a competition too, based on a standard appearance and behaviour, and the winner is 363 bytes:
https://files.scene.org/view/mags/hugi/compos/hc22fin.zip
Vaguely related; chess game in 487 bytes:
https://news.ycombinator.com/item?id=8954630
cjauvin|10 years ago
https://github.com/cjauvin/tetris-464
akkartik|10 years ago
programble|10 years ago
pki|10 years ago
i assumed asm was the lowest level, is there some builtin font by default that can't be changed or something?
jquast|10 years ago
There is no terminal emulator here. This hello world text is written directly to video memory -- and yes, there is a character rom, so placing a string of words in memory OR'd with bits set for video attributes (the #defines there) make it color.
programble|10 years ago
cnvogel|10 years ago
In contrast to this, many Unix workstations never implemented such a thing and went directly to graphics framebuffers (SUN cgX framebuffers for the ... Sbus??). For that, of course you have to implement the font rendering in "bios" , or in the case of the sun machine in the OpenFirmware. Slowly.)
thinkpad20|10 years ago