Commit Graph

15 Commits

Author SHA1 Message Date
Kartik Agaram a9b25d62c1 7434
Fix a stale displacement.
2020-12-27 23:01:14 -08:00
Kartik Agaram 57fd753a01 7433 - some major layout changes
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.
2020-12-27 22:54:54 -08:00
Kartik Agaram 4ffe861a45 7432
Bugfix: 32-bit code in 16-bit mode.
Seems like it was benign, maybe.
2020-12-27 22:38:07 -08:00
Kartik Agaram 74529e2e62 7431
Typo.
2020-12-27 22:33:47 -08:00
Kartik Agaram 2e24062f2f 7430 2020-12-27 21:09:22 -08:00
Kartik Agaram 5095021f77 7424 - baremetal: downsize graphics resolution
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.
2020-12-27 08:45:03 -08:00
Kartik Agaram 2628a51f37 7422 2020-12-26 23:45:37 -08:00
Kartik Agaram e5b2f3f169 7421 - baremetal: beginnings of keyboard map
First keypress is detected, but we need to ack it somehow.
2020-12-26 23:38:52 -08:00
Kartik Agaram 6f3f814839 7418 - baremetal: adjust entrypoint address
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).
2020-12-26 22:36:52 -08:00
Kartik Agaram 0243ee4e83 7417 - baremetal: drawing on LFB in Bochs 2020-12-26 22:01:45 -08:00
Kartik Agaram a0aecc8267 7415 - baremetal: locate the linear frame buffer
0xa0000 only contains a single bank's worth of memory-mapped video RAM.
The LFB is supposed to have everything.
2020-12-26 21:23:04 -08:00
Kartik Agaram a7ae16ed06 7414 2020-12-26 21:04:46 -08:00
Kartik Agaram 63d5534278 7413 2020-12-26 20:26:11 -08:00
Kartik Agaram 4b26c93e69 7411 2020-12-26 17:35:25 -08:00
Kartik Agaram cfd914b098 7404 - baremetal: first example program
Design choice: all programs will use a graphics mode (1280x1024) with 256
colors. That should be fairly widely available. (It turns out text modes
larger than 80x25 are not widely available even among modern emulators.
Mu will need fonts sooner rather than later.)

Mu will never try to be smart and do things like autodetect your hardware.
We _will_ help you modify Mu for your hardware.
2020-12-26 14:21:04 -08:00