Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | shell: allow 'def' to overwrite | Kartik K. Agaram | 2021-04-29 | 2 | -14/+7 | |
| | ||||||
* | shell: comments | Kartik K. Agaram | 2021-04-29 | 1 | -0/+47 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-29 | 1 | -1/+0 | |
| | ||||||
* | adjust fake screen aspect ratio for verisimilitude | Kartik K. Agaram | 2021-04-29 | 1 | -1/+1 | |
| | ||||||
* | keep the temporary progress screen off the keyboard | Kartik K. Agaram | 2021-04-29 | 1 | -1/+1 | |
| | ||||||
* | make pixel borders of screen clear | Kartik K. Agaram | 2021-04-29 | 1 | -16/+20 | |
| | ||||||
* | make matching parens pop again | Kartik K. Agaram | 2021-04-29 | 1 | -1/+1 | |
| | ||||||
* | render definitions in 2 columns | Kartik K. Agaram | 2021-04-29 | 2 | -10/+29 | |
| | ||||||
* | white text everywhere by default | Kartik K. Agaram | 2021-04-29 | 1 | -1/+1 | |
| | ||||||
* | tweak colors for definitions | Kartik K. Agaram | 2021-04-29 | 1 | -1/+1 | |
| | ||||||
* | render in a narrow column | Kartik K. Agaram | 2021-04-29 | 1 | -1/+1 | |
| | ||||||
* | load large definitions | Kartik K. Agaram | 2021-04-29 | 1 | -1/+1 | |
| | ||||||
* | adjust some colors and padding | Kartik K. Agaram | 2021-04-29 | 5 | -85/+102 | |
| | ||||||
* | extremely threadbare null-pointer protection | Kartik K. Agaram | 2021-04-28 | 1 | -0/+6 | |
| | | | | | | | | | | | | | This protects us from reading null arrays, but not null structs. It also doesn't protect us from writes to address 0 itself. It is also incredibly unsafe. According to https://wiki.osdev.org/Memory_Map_(x86), address 0 contains the real-mode IVT. Am I sure it'll never ever get used after I switch to protected mode? I really need a page table, something minimal to protect the first 4KB of physical memory or something. I wonder what other languages/OSs do to protect against really large struct definitions. | |||||
* | bugfix: initialize gap buffers before using them | Kartik K. Agaram | 2021-04-28 | 2 | -2/+5 | |
| | | | | | | | I keep running into one hole in Mu's memory-safety since dropping the Linux dependency: null pointers no longer error when dereferenced. Here the problem manifests as aliasing: lots of gap buffers share the same exact data near address 0, because it was never initialized. | |||||
* | fix rendering | Kartik K. Agaram | 2021-04-28 | 1 | -1/+1 | |
| | ||||||
* | shell: load/store from/to disk with indent | Kartik K. Agaram | 2021-04-28 | 2 | -25/+82 | |
| | | | | | Once I came up with the right approach, this worked on the first try once I got the types and registers to line up! | |||||
* | . | Kartik K. Agaram | 2021-04-28 | 1 | -3/+1 | |
| | ||||||
* | shell: bugfix for stream literals | Kartik K. Agaram | 2021-04-28 | 1 | -2/+33 | |
| | | | | | I was forgetting that callers sometimes reuse outputs between successive tokens. | |||||
* | start rendering definitions with indentation | Kartik K. Agaram | 2021-04-28 | 1 | -12/+6 | |
| | ||||||
* | start stashing and clearing sandbox after definitions | Kartik K. Agaram | 2021-04-28 | 3 | -9/+80 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-28 | 1 | -1/+1 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-28 | 2 | -36/+20 | |
| | ||||||
* | shell: stream literals | Kartik K. Agaram | 2021-04-27 | 4 | -3/+47 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-27 | 1 | -17/+17 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-27 | 1 | -73/+18 | |
| | ||||||
* | shell: tokenizing stream (string) literals | Kartik K. Agaram | 2021-04-27 | 1 | -1/+78 | |
| | | | | We're calling them streams since they support appending. | |||||
* | . | Kartik K. Agaram | 2021-04-27 | 1 | -8/+1 | |
| | ||||||
* | . | Kartik Agaram | 2021-04-26 | 1 | -5/+5 | |
| | ||||||
* | bresenham circles | Kartik K. Agaram | 2021-04-25 | 1 | -1/+22 | |
| | | | | Known issue: circles of radius 9 crash. (Multiples of 9 overflow the trace.) | |||||
* | bug in bresenham lines | Kartik K. Agaram | 2021-04-25 | 1 | -2/+2 | |
| | ||||||
* | shell: primitives 'and' and 'or' | Kartik K. Agaram | 2021-04-25 | 2 | -11/+87 | |
| | ||||||
* | shell: primitive 'not' | Kartik K. Agaram | 2021-04-25 | 1 | -4/+45 | |
| | ||||||
* | failing tests not printing since show-stack-state | Kartik K. Agaram | 2021-04-25 | 1 | -1/+10 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-25 | 2 | -4/+4 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-25 | 1 | -56/+56 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-25 | 2 | -1/+1 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-25 | 1 | -94/+0 | |
| | ||||||
* | expand stack to 16MB | Kartik K. Agaram | 2021-04-25 | 3 | -6/+6 | |
| | | | | It's also no longer contiguous with code. | |||||
* | shell: tab inserts two spaces | Kartik K. Agaram | 2021-04-25 | 1 | -0/+8 | |
| | ||||||
* | shell: use ctrl-m rather than tab to bounce to trace | Kartik K. Agaram | 2021-04-25 | 2 | -10/+10 | |
| | | | | We'll save tab for inserting graphemes. | |||||
* | . | Kartik K. Agaram | 2021-04-25 | 1 | -1/+2 | |
| | | | | Show all builtins now that we have more space. | |||||
* | devote 2/3rds of screen to definitions | Kartik K. Agaram | 2021-04-25 | 2 | -3/+3 | |
| | ||||||
* | add some padding to the sandbox | Kartik K. Agaram | 2021-04-25 | 2 | -2/+2 | |
| | ||||||
* | a troubleshooting note | Kartik K. Agaram | 2021-04-25 | 1 | -0/+11 | |
| | ||||||
* | . | Kartik K. Agaram | 2021-04-25 | 1 | -2/+0 | |
| | ||||||
* | expand memory to 2GB | Kartik K. Agaram | 2021-04-25 | 3 | -7/+11 | |
| | | | | | | | | It requires more than 1GB to fill the screen with a chessboard pattern using the definition in shell/iterative-definitions.limg. I also speed up the chessboard program by clearing the screen up front and then only rendering the white pixels. | |||||
* | expand heap to Qemu default | Kartik Agaram | 2021-04-25 | 2 | -3/+3 | |
| | ||||||
* | . | Kartik Agaram | 2021-04-24 | 2 | -257/+0 | |
| | | | | Get rid of my experiment adding Game of Life to the shell. | |||||
* | bugfix; thanks Max Bernstein | Kartik Agaram | 2021-04-24 | 1 | -1/+1 | |
| |