Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | handle drawing 16*4 = 64 pixels | Kartik K. Agaram | 2021-04-16 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | Previously we'd only drawn 8*5 = 40 pixels. Current contents of data.img: ( (globals . ( (hline . (fn () (screen y) (hline1 screen y 0 (width screen)))) (hline1 . (fn () (screen y lo hi) (if (>= lo hi) () ((fn () (pixel screen lo y 12) (hline1 screen y (+ lo 1) hi)))))) (vline1 . (fn () (screen x lo hi) (if (>= lo hi) () ((fn () (pixel screen x lo 12) (vline1 screen x (+ lo 1) hi)))))) )) (sandbox . (vline1 screen 5 0 (height screen))) ) | ||||
* | data.img now has more than one sector of data | Kartik K. Agaram | 2021-04-16 | 5 | -42/+88 |
| | |||||
* | open question: animations in the fake screen | Kartik K. Agaram | 2021-04-15 | 1 | -0/+38 |
| | | | | Right now we just render the state of the screen at the end of an evaluation. | ||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -17/+17 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -2/+6 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -1/+2 |
| | |||||
* | shell: horline working now | Kartik K. Agaram | 2021-04-15 | 1 | -1/+9 |
| | | | | And we give a high-level error when the pixel buffer fills up. | ||||
* | first session programming _within_ the Mu computer | Kartik K. Agaram | 2021-04-15 | 2 | -8/+16 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I tried building a function to draw a horizontal line across the screen. Here's what I have in data.txt: ( (globals . ( (horline . (fn () (screen y) (horline_1 screen y 0 (width screen)))) (horline_1 . (fn () (screen y lo hi) (if (>= lo hi) () ((fn () (pixel screen lo y 12) (horline_1 screen y (+ lo 1) hi)))))) )) (sandbox . (horline_1 screen 0 0 20)) ) $ dd if=/dev/zero of=data.img count=20160 $ cat data.txt |dd of=data.img conv=notrunc $ ./translate shell/*.mu && qemu-system-i386 -hda disk.img -hdb data.img Result: I can't call (horline screen 0) over a fake screen of width 40. Some stream overflows somewhere after all the tweaks to various fixed-size buffers scattered throughout the app. Calling horline_1 gets to a 'hi' column of 20, but not to 30. | ||||
* | shell: primitives for screen size | Kartik K. Agaram | 2021-04-15 | 1 | -2/+180 |
| | |||||
* | shell: restore bindings after restart | Kartik K. Agaram | 2021-04-15 | 2 | -0/+52 |
| | |||||
* | shell: start persisting global bindings | Kartik K. Agaram | 2021-04-15 | 2 | -2/+39 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 3 | -5/+17 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 2 | -1/+8 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 2 | -5/+9 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 2 | -11/+9 |
| | |||||
* | add some structure to the serialization format | Kartik K. Agaram | 2021-04-15 | 2 | -2/+24 |
| | |||||
* | parse dotted lists | Kartik K. Agaram | 2021-04-15 | 2 | -0/+191 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -14/+25 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -6/+4 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -4/+7 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -0/+7 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -0/+1 |
| | |||||
* | shell: starting to parse dotted lists | Kartik K. Agaram | 2021-04-15 | 1 | -10/+20 |
| | |||||
* | shell: dot token | Kartik K. Agaram | 2021-04-15 | 1 | -0/+58 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -5/+9 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-15 | 1 | -16/+17 |
| | |||||
* | shell: load data disk as s-expr rather than string | Kartik K. Agaram | 2021-04-14 | 2 | -13/+29 |
| | |||||
* | shell: starting to work on persistent globals | Kartik K. Agaram | 2021-04-14 | 1 | -2/+8 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-14 | 2 | -10/+18 |
| | |||||
* | shell: primitives for comparison, cursor movement | Kartik K. Agaram | 2021-04-14 | 1 | -10/+439 |
| | |||||
* | shell: more detailed description of primitives | Kartik K. Agaram | 2021-04-14 | 1 | -12/+44 |
| | |||||
* | shell: don't lose pixel graphics when moving cursor | Kartik K. Agaram | 2021-04-14 | 1 | -0/+1 |
| | |||||
* | shell: word/line navigation | Kartik K. Agaram | 2021-04-14 | 2 | -2/+228 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-14 | 1 | -6/+6 |
| | |||||
* | shell: pixel graphics | Kartik K. Agaram | 2021-04-13 | 3 | -26/+194 |
| | |||||
* | . | Kartik Agaram | 2021-04-13 | 42 | -3659/+6682 |
| | |||||
* | shell: full closures | Kartik K. Agaram | 2021-04-10 | 1 | -6/+11 |
| | |||||
* | apply doesn't need caller env in lexical scope | Kartik K. Agaram | 2021-04-10 | 1 | -6/+9 |
| | |||||
* | shell: none of our primitives need to be closures | Kartik K. Agaram | 2021-04-10 | 2 | -52/+28 |
| | |||||
* | shell: streams that you can append graphemes to | Kartik K. Agaram | 2021-04-10 | 3 | -2/+110 |
| | |||||
* | . | Kartik K. Agaram | 2021-04-10 | 2 | -3/+8 |
| | |||||
* | shell: fake keyboard | Kartik K. Agaram | 2021-04-10 | 3 | -2/+71 |
| | |||||
* | shell: start jumping to keyboard using Tab | Kartik K. Agaram | 2021-04-10 | 2 | -27/+182 |
| | |||||
* | shell: UI now showing fake keyboard | Kartik K. Agaram | 2021-04-10 | 4 | -35/+131 |
| | | | | But we don't actually support fake keyboards anywhere yet. | ||||
* | shell: start on support for fake keyboard | Kartik K. Agaram | 2021-04-10 | 2 | -2/+17 |
| | |||||
* | shell: move fake screen to sandbox | Kartik K. Agaram | 2021-04-10 | 5 | -107/+86 |
| | |||||
* | shell: tweaks for fake screens | Kartik K. Agaram | 2021-04-10 | 2 | -5/+165 |
| | | | | | - make them more discoverable - clear them between commands | ||||
* | shell: fake screens | Kartik K. Agaram | 2021-04-10 | 2 | -0/+14 |
| | | | | | | | I just realized Mu has a pretty big weakness: writes to null pointers don't error out. Perhaps writes to address 0 do, but address 1 and so on don't? I need a slightly more sophisticated page table. | ||||
* | . | Kartik K. Agaram | 2021-04-10 | 1 | -54/+54 |
| | |||||
* | shell: render fake screens | Kartik K. Agaram | 2021-04-10 | 3 | -29/+149 |
| | | | | 'print' turns out to not be working yet. |