Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | . | Kartik K. Agaram | 2021-07-19 | 2 | -10/+3 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-19 | 2 | -3/+71 |
| | |||||
* | error message when trying to jump to primitive | Kartik K. Agaram | 2021-07-19 | 1 | -0/+15 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-19 | 1 | -9/+9 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-19 | 1 | -21/+0 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-19 | 1 | -1/+1 |
| | |||||
* | render functions in MRU order | Kartik K. Agaram | 2021-07-19 | 2 | -45/+70 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-17 | 1 | -2/+2 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-16 | 1 | -1/+1 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-08 | 1 | -4/+4 |
| | |||||
* | primitives for double-buffering | Kartik K. Agaram | 2021-07-05 | 1 | -4/+152 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I thought I needed these for this bouncing-ball demo: def (bounce screen) with (w (width screen) h (height screen) cx 16 cy 16 dx 12 dy 19) while 1 clear screen ring screen cx cy 16 3 5 cx += dx cy += dy when (or (cx > w) (cx < 0)) set dx 0-dx when (or (cy > h) (cy < 0)) set dy 0-dy for _ 0 (< _ 100) ++_ # delay No matter how I adjusted the delay I couldn't get rid of the jitter. So I built a double-buffered version: (bounce2 . [def (bounce2 screen) with (w (width screen) h (height screen) cx 16 cy 16 dx 12 dy 19 screen2 (new_screen (columns screen) (lines screen))) while 1 clear screen2 ring screen2 cx cy 16 3 5 cx += dx cy += dy when (or (cx > w) (cx < 0)) set dx 0-dx when (or (cy > h) (cy < 0)) set dy 0-dy blit screen2 screen for _ 0 (< _ 100) ++_]) # delay But it didn't make a difference! Turns out nothing will help you when successive frames are too far apart. This is the correct tweak to `bounce`: - dx 12 - dy 19) + dx 1 + dy (/ 19 12)) Still, we'll keep double-buffering around for the future. | ||||
* | shell: fix clear on screens | Kartik K. Agaram | 2021-07-05 | 1 | -1/+1 |
| | | | | | | | Broken since commit c95648c96 on Jul 3. Unclear what test to write for this. Should clear-stream check for NULL? Should apply-clear? | ||||
* | expose Mu implementation of 'bezier' | Kartik K. Agaram | 2021-07-05 | 1 | -1/+256 |
| | | | | Still no support for acute-angled control points. | ||||
* | replace 'circle' with Mu implementation | Kartik K. Agaram | 2021-07-05 | 2 | -19/+161 |
| | |||||
* | replace 'vline' with Mu implementation | Kartik K. Agaram | 2021-07-05 | 2 | -6/+162 |
| | |||||
* | replace 'hline' with Mu implementation | Kartik K. Agaram | 2021-07-05 | 2 | -9/+165 |
| | |||||
* | replace 'line' with Mu implementation | Kartik K. Agaram | 2021-07-05 | 2 | -32/+196 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-05 | 1 | -1/+1 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-05 | 1 | -140/+140 |
| | |||||
* | reading from streams | Kartik K. Agaram | 2021-07-03 | 4 | -22/+152 |
| | | | | | | The Mu shell has no string literals, only streams. No random access, only sequential access. But I've been playing fast and loose with its read pointer until now. Hopefully things are cleaned up now. | ||||
* | alists | Kartik K. Agaram | 2021-07-03 | 1 | -0/+13 |
| | |||||
* | new primitive: cons? | Kartik K. Agaram | 2021-07-03 | 1 | -1/+42 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-03 | 1 | -5/+10 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-03 | 1 | -4/+4 |
| | |||||
* | reorg primitives on screen | Kartik K. Agaram | 2021-07-02 | 2 | -43/+80 |
| | |||||
* | clean up final abort in macroexpand | Kartik K. Agaram | 2021-06-30 | 2 | -1/+14 |
| | |||||
* | delete a known issue | Kartik Agaram | 2021-06-30 | 1 | -3/+0 |
| | | | | I can't reproduce the issue with the keyboard handler anymore :/ | ||||
* | . | Kartik K. Agaram | 2021-06-27 | 1 | -5/+11 |
| | |||||
* | simplify Qemu instructions | Kartik K. Agaram | 2021-06-27 | 1 | -12/+10 |
| | | | | | Turns out we don't need a special case for KVM. https://qemu.readthedocs.io/en/latest/system/invocation.html | ||||
* | . | Kartik Agaram | 2021-06-24 | 1 | -3/+3 |
| | |||||
* | . | Kartik Agaram | 2021-06-24 | 1 | -1/+1 |
| | |||||
* | . | Kartik Agaram | 2021-06-24 | 1 | -1/+1 |
| | |||||
* | . | Kartik Agaram | 2021-06-23 | 1 | -1/+1 |
| | |||||
* | . | Kartik Agaram | 2021-06-23 | 1 | -8/+0 |
| | |||||
* | . | Kartik Agaram | 2021-06-23 | 1 | -1/+1 |
| | |||||
* | . | Kartik Agaram | 2021-06-23 | 1 | -2/+2 |
| | |||||
* | . | Kartik Agaram | 2021-06-23 | 1 | -4/+4 |
| | |||||
* | . | Kartik Agaram | 2021-06-23 | 1 | -1/+1 |
| | |||||
* | one more bug, and documentation for infix | Kartik K. Agaram | 2021-06-23 | 4 | -27/+80 |
| | | | | One error message gets a bit worse. | ||||
* | . | Kartik K. Agaram | 2021-06-23 | 1 | -3/+3 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-23 | 1 | -8/+8 |
| | |||||
* | one more bug | Kartik K. Agaram | 2021-06-23 | 2 | -9/+22 |
| | |||||
* | start using infix in data disk | Kartik K. Agaram | 2021-06-23 | 1 | -57/+54 |
| | | | | Still some gaps to track down. | ||||
* | all tests passing again; infix seems done | Kartik K. Agaram | 2021-06-22 | 2 | -1/+7 |
| | |||||
* | infix tests passing but something's still broken | Kartik K. Agaram | 2021-06-22 | 1 | -2/+48 |
| | |||||
* | 2 failing tests remaining | Kartik K. Agaram | 2021-06-22 | 1 | -2/+44 |
| | | | | We just need to support unary operators. | ||||
* | almost there; this is encouraging | Kartik K. Agaram | 2021-06-22 | 1 | -16/+21 |
| | | | | The at-head-of-list? is a really ugly hack, though. | ||||
* | beginnings of tokenization within symbols | Kartik K. Agaram | 2021-06-22 | 2 | -17/+68 |
| | | | | We're now down to 4 failing tests. But these will require surgery. | ||||
* | . | Kartik K. Agaram | 2021-06-22 | 1 | -11/+3 |
| | |||||
* | clean up lexical categories | Kartik K. Agaram | 2021-06-22 | 2 | -142/+48 |
| |