about summary refs log tree commit diff stats
path: root/baremetal/ex2.hex
Commit message (Collapse)AuthorAgeFilesLines
* 7673Kartik Agaram2021-01-281-1/+1
|
* 7671Kartik Agaram2021-01-271-1/+1
| | | | Make some room for a mouse handler.
* 7559 - reorganize sectors built in raw hexKartik Agaram2021-01-241-1/+1
| | | | | | | | | | | | | | | | | This was tedious for three reasons beyond the usual one of having to track and update offsets several time while I debug: - The Bochs troubles of the previous commit kept polluting my brain even though they were irrelevant. - I had to keep some changes locally to allow myself to use Bochs, which polluted my working directory. - I had to travel the long way to the realization that I'm not actually initializing the stack anywhere. BIOS was starting my stack off at 0x10000, which was promptly clobbered by my second read from disk. The good news: while I'm here I grow the interrupt descriptor table. So I don't have to go through this exercise when I get back to supporting the mouse.
* 7558Kartik Agaram2021-01-241-1/+1
| | | | | | Bochs is still broken, but before we can fix it we need to make some room in the boot sector. So we'll spend a few commits reorganizing things.
* 7489 - include GNU UnifontKartik Agaram2021-01-091-1/+1
| | | | | | | https://en.wikipedia.org/wiki/GNU_Unifont#The_.hex_font_format http://unifoundry.com/unifont/index.html Since GNU Unifont is covered under the GPL v2, so I believe is this repo.
* 7467Kartik Agaram2020-12-291-0/+3
|
* 7461Kartik Agaram2020-12-291-1/+1
|
* 7436Kartik Agaram2020-12-271-3/+3
| | | | Start highlighting lines that may need to be recomputed when offsets change.
* 7433 - some major layout changesKartik Agaram2020-12-271-1/+1
| | | | | | I'd missed that VBE call 0x4f01 (get video mode) can write up to 256 bytes. Unexpected areas were getting clobbered because I wasn't reserving enough space.
* 7427Kartik Agaram2020-12-271-1/+1
|
* 7425 - baremetal: render the paletteKartik Agaram2020-12-271-6/+5
| | | | | It's now very obvious that we don't actually have 256 unique colors by default in 256-color graphics modes.
* 7424 - baremetal: downsize graphics resolutionKartik Agaram2020-12-271-2/+2
| | | | | | | | If it's large enough that I have doubts whether my top-of-the-line Mac is showing the bottom of the screen inside an emulator, it's too large. This way I also feel more confident that most modern hardware will support this graphics mode, and that these programs will work for others.
* 7418 - baremetal: adjust entrypoint addressKartik Agaram2020-12-261-1/+1
| | | | | | | | | | | We need a few pages of data for the keyboard mappings. If I moved them to some later address I'd be able to keep the nice round starting address unchanged. But that seems like a superficial aesthetic concern. There's really no value in having an array of hex bytes represented in SubX rather than just raw hex. And it's better to colocate data near the handler code which uses it (and which runs instructions SubX doesn't support).
* 7417 - baremetal: drawing on LFB in BochsKartik Agaram2020-12-261-1/+1
|
* 7416 - baremetal: drawing on frame bufferKartik Agaram2020-12-261-6/+17
| | | | | This currently works on Qemu, but not on Bochs. I'm now trying to make sense of https://wiki.osdev.org/Bochs_VBE_Extensions#Using_a_linear_frame_buffer_.28LFB.29
* 7412 - drawing pixels to screenKartik Agaram2020-12-261-0/+29
This works, but colors are unexpected. 0xff isn't white. Lots of colors are black. Perhaps I need to initialize a palette.