3 ms·
Ten lines? Why so complicated? Back in my day we did it with just two lines: mov al, 13 int 10 And then you pushed your pixels to the video segment
by enriquto 3y ago
Ten lines? Why so complicated? Back in my day we did it with just two lines:
mov al, 13
int 10
And then you pushed your pixels to the video segment (a0000). So simple and elegant...
But my dad still mocked me because it was too complicated! Back in his day, you didn't need to bother with stupid video modes, and could just POKE the pixels to your screen!
- fb03 3y agooh man, mode 13!!! I still have this line embedded in my head (Turbo Pascal 7) mem[$A000:x+(320*y)] := color
- NBJack 3y agoDon't forget trying to pick a palette, and those sweet, sweet palette cycling effects for things like water.
- kijiki 3y agoBug, you want: mov al, 13h
- stevefan1999 3y agoNot only this is architectural specific (needs BIOS to map a specific constant range of memory), but this will cause a lot of software interrupts. Interrupts, like exceptions, are _bad_. In UEFI you have VESA Video Mode to handle most of the annoying mode selection stuff and GOP to handle...memory mapped framebuffer in linear address, so that you can just write directly to the framebuffer to push your pixel...that's even simpler. You want double or triple buffering? Just make another memory buffer with the same dimension and strides, and recursively push each level of buffer up on render, easy.