about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 7377Kartik Agaram2020-12-231-5/+5
| | | | | | | Ooh, look at that, the device number comes conveniently initialized in the right register. No need to hardcode it. https://wiki.osdev.org/MBR_(x86)
* 7376Kartik Agaram2020-12-231-3/+7
|
* 7375Kartik Agaram2020-12-231-9/+20
| | | | A little more robustness after reading https://stackoverflow.com/questions/43786251/int-13h-42h-doesnt-load-anything-in-bochs/43787939#43787939
* 7374Kartik Agaram2020-12-211-3/+16
|
* 7373Kartik Agaram2020-12-211-1/+1
| | | | | apps/boot.hex doesn't need much by way of syntax highlighting. Have it work even for people who haven't installed subx.vim
* 7372 - successful read from disk using BIOSKartik Agaram2020-12-211-13/+48
|
* 7371Kartik Agaram2020-12-211-1/+1
|
* 7370Kartik Agaram2020-12-212-7/+8
| | | | Use a more realistically sized disk image. Now we can read the second sector.
* 7369 - read hard disk using BIOSKartik Agaram2020-12-202-8/+2
| | | | | | There were two problems: a) We have only 1 sector per track (spt=1), so 'second sector' is meaningless. b) Drives 0-127 are reserved for floppies.
* 7368 - ooh, int 13h works with a floppyKartik Agaram2020-12-201-0/+6
| | | | | Lots of great tips here: https://stackoverflow.com/questions/43786251/int-13h-42h-doesnt-load-anything-in-bochs/43787939#43787939
* 7367 - start of boot sector for Mu computerKartik Agaram2020-12-202-0/+191
| | | | | Not working yet. Reading sectors from disk returns an error (sets carry flag).
* 7366Kartik Agaram2020-12-201-22/+24
| | | | | | Move more padding around. Reading a sector from disk requires about 24 bytes of code.
* 7365Kartik Agaram2020-12-201-4/+4
|
* 7364Kartik Agaram2020-12-201-11/+12
|
* 7363Kartik Agaram2020-12-201-1/+1
| | | | | Kinda brutal way to lose the bochs warning. Should suffice for now. As we add more code we'll introduce more sectors.
* 7362Kartik Agaram2020-12-201-2/+2
| | | | | I hadn't noticed that bochs was getting into a reset loop after executing my code correctly. Fix that.
* 7361Kartik Agaram2020-12-201-2/+2
| | | | | Switch bochs from floppy to hard disk. Bochs throws a new warning, but otherwise 32bit.hex continues to work.
* 7360Kartik Agaram2020-12-201-13/+21
| | | | | Insert padding in a few places so we don't have to recalculate addresses quite so much.
* 7359 - boot into 32-bit modeKartik Agaram2020-12-201-6/+6
|
* 7358Kartik Agaram2020-12-202-0/+208
| | | | | | | Snapshot: first draft of a boot image that switches to 32-bit mode as quickly as possible (~70 bytes) Doesn't work yet. Gets stuck in an infinite reset loop.
* 7357Kartik Agaram2020-12-191-74/+65
|
* 7356Kartik Agaram2020-12-195-121/+115
|
* 7355 - learning to boot into 32-bit modeKartik Agaram2020-12-1910-0/+351
| | | | | | These exercises are from the incomplete "Writing a simple operating system from scratch" by Nick Blundell. https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
* 7354 - tile: stop trying to center menuKartik Agaram2020-12-141-15/+7
|
* 7353Kartik Agaram2020-12-141-1/+1
|
* 7352Kartik Agaram2020-12-143-37/+15
|
* 7351Kartik Agaram2020-12-141-1/+1
|
* 7350 - mu.subx optimization: skip no-op copiesKartik Agaram2020-12-112-0/+141
|
* 7349Kartik Agaram2020-12-111-12/+12
|
* 7348 - mu.subx bug with string literalsKartik Agaram2020-12-112-0/+63
|
* 7347 - tile: separate sandbox and function menusKartik Agaram2020-12-061-0/+38
|
* 7346Kartik Agaram2020-12-061-2/+25
|
* 7345Kartik Agaram2020-12-061-14/+14
|
* 7344Kartik Agaram2020-12-061-3/+15
|
* 7343Kartik Agaram2020-12-061-5/+4
|
* 7342 - tile: hotkeys for ending function editKartik Agaram2020-12-061-0/+20
|
* 7341 - tile: function editing doneKartik Agaram2020-12-062-22/+6
| | | | | A tiny modicum of reuse amidst all this copypasta: I'm able to reuse the same function that renders lines without stacks in the sandbox.
* 7340 - tile: function editing almost doneKartik Agaram2020-12-062-4/+215
| | | | | Still a bug in cursor positioning. It's always shown at the start of the function body.
* 7339 - tile: position cursor in correct functionKartik Agaram2020-12-062-8/+77
| | | | Still can't edit functions, but we're getting there.
* 7338 - tile: architecture starting to crystallizeKartik Agaram2020-12-052-21/+54
| | | | | | | | | In particular, I'm starting to have opinions about how to scalably position the cursor at the end of each frame. One advantage of text mode without a pointer device (mouse/trackpad): only one cursor to track. UI can't be modified anywhere. That simplifies any reactive UI framework.
* 7337 - tile: jumping to a functionKartik Agaram2020-12-052-20/+149
| | | | We can't yet edit the function once we jump to it.
* 7336 - tile: back to function editingKartik Agaram2020-12-052-17/+5
|
* 7335Kartik Agaram2020-12-0416-2083/+3033
|
* 7334 - advent day 5 doneKartik Agaram2020-12-041-0/+81
|
* 7333 - advent day 5 part 1Kartik Agaram2020-12-041-0/+79
|
* 7332 - advent day 4 doneKartik Agaram2020-12-041-4/+124
| | | | | The code is shit and I can't be arsed to clean it up. But it was a useful exercise given the bugs and gaps it caught in Mu.
* 7331 - hacky way to convert slice to stringKartik Agaram2020-12-043-0/+39
|
* 7330 - snapshot: advent day 4 part 2 easy casesKartik Agaram2020-12-041-8/+100
| | | | Now I need to tune the SubX vocabulary.
* 7329 - snapshot: advent day 4 part 2Kartik Agaram2020-12-0416-2/+147
| | | | | | | | | | | | I've found two bugs in SubX libraries: 1. next-word had an out-of-bounds read 2. next-word was skipping comments, because that's what I need during bootstrapping. I've created a new variant called next-raw-word that doesn't skip comments. These really need better names. We're now at the point where 4b.mu has the right structure and returns identical result to 4a.mu.
* 7328 - advent day 4 part 1Kartik Agaram2020-12-041-0/+75
| | | | | Bug #1: forgot to process final passport Stupid mistake #2: was reporting invalid rather than valid passports