about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* shell: ifKartik K. Agaram2021-04-091-0/+41
|
* shell: highlight matching paren for cursorKartik K. Agaram2021-04-092-17/+301
|
* shell: highlight matching close-parenKartik K. Agaram2021-04-093-3/+114
|
* .Kartik K. Agaram2021-04-091-10/+6
|
* shell: render primitives at the bottomKartik K. Agaram2021-04-081-2/+44
|
* .Kartik K. Agaram2021-04-082-2/+5
|
* shell: start rendering globalsKartik K. Agaram2021-04-082-1/+38
|
* shell: create space to display globalsKartik K. Agaram2021-04-084-5/+61
|
* shell: ctrl-u to clear sandboxKartik K. Agaram2021-04-061-4/+14
|
* shell: 'set' for defining globalsKartik K. Agaram2021-04-062-0/+62
| | | | Currently stateful, but still good for things.
* shell: quoteKartik K. Agaram2021-04-064-0/+76
|
* shell: now we can start adding primitivesKartik K. Agaram2021-04-062-0/+314
|
* shell: look up globalsKartik K. Agaram2021-04-062-31/+53
|
* shell: extensible array of globalsKartik K. Agaram2021-04-054-95/+151
| | | | I'm not bothering with full dynamic scope for now.
* .Kartik K. Agaram2021-04-051-1/+1
|
* shell: save repl input to disk before runningKartik K. Agaram2021-04-052-24/+31
|
* shell: ctrl-a/eKartik K. Agaram2021-04-051-0/+12
|
* support for arrow keysKartik K. Agaram2021-04-054-4/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mu's keyboard handling is currently a bit of a mess, and this commit might be a bad idea. Ideally keyboards would return Unicode. Currently Mu returns single bytes. Mostly ASCII. No support for international keyboards yet. ASCII and Unicode have some keyboard scancodes grandfathered in, that don't really make sense for data transmission. Like backspace and delete. However, other keyboard scancodes don't have any place in Unicode. Including arrow keys. So Mu carves out an exception to Unicode for arrow keys. We'll place the arrow keys in a part of Unicode that is set aside for implementation-defined behavior (https://en.wikipedia.org/wiki/C0_and_C1_control_codes#C1_controls): 0x80: left arrow 0x81: down arrow 0x82: up arrow 0x83: right arrow The order is same as hjkl for mnemonic convenience. I'd _really_ to follow someone else's cannibalization here. If I find one later, I'll switch to it. Applications that blindly assume the keyboard generates Unicode will have a bad time. Events like backspace, delete and arrow keys are intended to be processed early and should not be in text. With a little luck I won't need to modify this convention when I support international keyboards.
* undo previous commitKartik K. Agaram2021-04-055-149/+123
|
* snapshot: stupid debugging sessionKartik K. Agaram2021-04-056-123/+152
| | | | | | | | | | | | | | | I spent a while building a little keyboard scancode printer: $ ./translate ex1.mu && qemu-system-i386 disk.img ..and wondering why up-arrow was 0x48 in hex but 724 in decimal. I ended up paranoidly poking at a bunch of crap (though there _is_ a cool chromatography-based debugging technique in 126write-int-decimal.subx) before I realized: - 724 just has one extra digit over the correct answer - the 0xe0 scan code is a 3-digit number in decimal -- and the final digit is '4' There's nothing actually wrong.
* shell: clean up unimplemented menu itemsKartik K. Agaram2021-04-052-17/+0
|
* .Kartik K. Agaram2021-04-051-0/+0
|
* .Kartik Agaram2021-04-051-1/+1
|
* .Kartik Agaram2021-04-041-7/+9
|
* make online help more obviousKartik Agaram2021-04-042-0/+8
|
* delete some obsolete filesKartik Agaram2021-04-043-54/+0
| | | | | They stopped working ever since boot.subx started relying on functions (for the disk driver) implemented in Mu.
* .Kartik K. Agaram2021-04-021-2/+2
|
* .Kartik K. Agaram2021-04-021-0/+283
|
* some hacky checks for common errorsKartik K. Agaram2021-03-313-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. Agaram2021-03-311-1/+1
|
* .Kartik Agaram2021-03-2941-131/+106
|
* .Kartik Agaram2021-03-291-1/+1
|
* .Kartik K. Agaram2021-03-281-6/+6
|
* .Kartik K. Agaram2021-03-281-0/+2
|
* .Kartik K. Agaram2021-03-281-2/+20
|
* always acknowledge enabled interruptsKartik K. Agaram2021-03-281-2/+17
| | | | | Now we can start enabling the timer interrupt. It doesn't do anything yet, but keyboard continues to work.
* .Kartik K. Agaram2021-03-272-2/+2
|
* .Kartik K. Agaram2021-03-271-2/+24
|
* .Kartik K. Agaram2021-03-271-169/+0
| | | | Clean up some debug prints.
* explicitly pass data disk to mainKartik K. Agaram2021-03-2715-118/+316
|
* .Kartik K. Agaram2021-03-271-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 examplesKartik K. Agaram2021-03-263-13/+13
|
* explicitly pass screen and keyboard to mainKartik K. Agaram2021-03-2614-51/+76
|
* .Kartik K. Agaram2021-03-261-12/+3
|
* .Kartik K. Agaram2021-03-261-0/+0
|
* .Kartik Agaram2021-03-251-0/+431
|
* .Kartik Agaram2021-03-241-1/+1
|
* .Kartik Agaram2021-03-235-7/+7
|
* .Kartik Agaram2021-03-237-807/+851
|
* .Kartik K. Agaram2021-03-231-2/+2
|