Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | some hacky checks for common errors | Kartik K. Agaram | 2021-03-31 | 3 | -0/+29 | |
| | | | | | They're not really baked into the regular compilation process; I have to remember to run them if I see strange behavior. | |||||
* | . | Kartik K. Agaram | 2021-03-31 | 1 | -1/+1 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-29 | 41 | -131/+106 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-29 | 1 | -1/+1 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-28 | 1 | -6/+6 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-28 | 1 | -0/+2 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-28 | 1 | -2/+20 | |
| | ||||||
* | always acknowledge enabled interrupts | Kartik K. Agaram | 2021-03-28 | 1 | -2/+17 | |
| | | | | | Now we can start enabling the timer interrupt. It doesn't do anything yet, but keyboard continues to work. | |||||
* | . | Kartik K. Agaram | 2021-03-27 | 2 | -2/+2 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-27 | 1 | -2/+24 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-27 | 1 | -169/+0 | |
| | | | | Clean up some debug prints. | |||||
* | explicitly pass data disk to main | Kartik K. Agaram | 2021-03-27 | 15 | -118/+316 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-27 | 1 | -1/+1 | |
| | | | | | | | https://wiki.osdev.org/ATA_PIO_Mode#IDENTIFY_command recommends the straight-and-narrow way, but the LBA bit shouldn't matter in drive-select during IDENTIFY command, according to the ATA 3 spec. And it works in Qemu and bochs. It'll slightly simplify drive parameter management. | |||||
* | fix stale examples | Kartik K. Agaram | 2021-03-26 | 3 | -13/+13 | |
| | ||||||
* | explicitly pass screen and keyboard to main | Kartik K. Agaram | 2021-03-26 | 14 | -51/+76 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-26 | 1 | -12/+3 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-26 | 1 | -0/+0 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-25 | 1 | -0/+431 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-24 | 1 | -1/+1 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-23 | 5 | -7/+7 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-23 | 7 | -807/+851 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-23 | 1 | -2/+2 | |
| | ||||||
* | example demonstrating disk access | Kartik K. Agaram | 2021-03-23 | 1 | -0/+51 | |
| | ||||||
* | bochs support for disk drives | Kartik K. Agaram | 2021-03-23 | 2 | -0/+24 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-23 | 1 | -125/+132 | |
| | ||||||
* | reorg boot.subx | Kartik K. Agaram | 2021-03-23 | 1 | -10/+9 | |
| | ||||||
* | mouse support that requires polling | Kartik K. Agaram | 2021-03-23 | 5 | -15/+271 | |
| | ||||||
* | get rid of unnecessary padding | Kartik K. Agaram | 2021-03-23 | 1 | -115/+2 | |
| | | | | Now we only specify addresses where it matters. | |||||
* | . | Kartik K. Agaram | 2021-03-23 | 1 | -3/+5 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-23 | 1 | -4/+3 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-23 | 1 | -2/+2 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-23 | 276 | -83028/+85954 | |
| | ||||||
* | writes to disk now working | Kartik K. Agaram | 2021-03-23 | 3 | -0/+93 | |
| | | | | | | Tested by inserting a call into the shell, but we can't leave it in because every test ends up clobbering the disk. So it's now time to think about a testable interface for the disk. | |||||
* | transfer only 16 bits at a time | Kartik K. Agaram | 2021-03-22 | 1 | -8/+3 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-22 | 1 | -3/+20 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-22 | 1 | -4/+5 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-22 | 3 | -14/+12 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-22 | 1 | -1/+0 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-22 | 1 | -1/+1 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-22 | 1 | -1/+1 | |
| | ||||||
* | shell: gracefully handle missing data disk | Kartik K. Agaram | 2021-03-22 | 2 | -13/+73 | |
| | ||||||
* | shell: read initial expression from secondary disk | Kartik K. Agaram | 2021-03-21 | 6 | -11/+62 | |
| | | | | See shell/README.md for (extremely klunky) instructions. | |||||
* | . | Kartik K. Agaram | 2021-03-21 | 1 | -3/+3 | |
| | ||||||
* | snapshot: reading secondary drive also works | Kartik K. Agaram | 2021-03-21 | 1 | -3/+1 | |
| | | | | | | | | | | | | dd if=/dev/zero of=data.img count=20160 echo '(+ 1 1)' |dd of=data.img conv=notrunc ./translate ex2.mu && qemu-system-i386 -hda disk.img -hdb data.img Compare output with `xxd data.img |head`. This works because primary and secondary drives on the primary bus share the same ports. All we have to do is select the right drive by flipping a bit. | |||||
* | snapshot: reading from disk without BIOS!! | Kartik K. Agaram | 2021-03-21 | 3 | -0/+216 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both LBA and CHS coordinates are now working for the primary disk on the primary bus. Failure modes I ran into: - ATA ports are 16-bit values. Using instructions with 8-bit immediates will yield strange results. (I had to debug this twice because I missed poll-ata-primary-bus-primary-drive-regular-status-word the first time around.) Mu's toolchain has been found out here. bootstrap has good errors but doesn't support the instructions I need in boot.subx. The self-hosted phases support the instructions but provide no error-checking. Might be worth starting to add error-checking as I encounter the need. In this case, a vote for validating metadata sizes even if we don't validate that instructions pass in the right metadata sizes. - Can't poll readiness first thing. Maybe we need to always select the drive first. - Reading 8-bit values from a 16-bit port (data port 0x1f0) returns garbage. Reading 32-bit values however works totally fine; go figure. (Maybe it won't work on real hardware?) https://forum.osdev.org/viewtopic.php?t=36415 - Passing in a 0 segment will never return data. | |||||
* | . | Kartik K. Agaram | 2021-03-21 | 1 | -15/+15 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-03-21 | 1 | -3/+3 | |
| | ||||||
* | typo; thanks waterhouse | Kartik K. Agaram | 2021-03-21 | 1 | -1/+1 | |
| | | | | https://news.ycombinator.com/item?id=26525349#26529192 | |||||
* | . | Kartik K. Agaram | 2021-03-18 | 1 | -2/+2 | |
| | ||||||
* | . | Kartik Agaram | 2021-03-17 | 1 | -25/+25 | |
| |