Commit Graph

8151 Commits

Author SHA1 Message Date
Kartik K. Agaram ff8ec9bcff insert a compile phase to emit some debug info 2021-05-14 11:54:42 -07:00
Kartik K. Agaram 2df1d1a730 . 2021-05-14 09:06:06 -07:00
Kartik K. Agaram 63a9263aff .
Fix a stack bug in survey_baremetal. I'm not sure how my tests weren't
crashing, but I won't bother digging further.
2021-05-14 08:09:04 -07:00
Kartik K. Agaram a42f4613f7 . 2021-05-14 08:05:24 -07:00
Kartik K. Agaram 9b37c03de9 . 2021-05-14 07:59:32 -07:00
Kartik Agaram c7ade29c69 .
Keep the html version of mandelbrot-fixed at the correct monochrome
still image for now. (commit 4bfc80ce)
2021-05-09 23:18:10 -07:00
Kartik K. Agaram 208dab2256 mandelbrot: add some garish color 2021-05-09 22:14:42 -07:00
Kartik K. Agaram cf8ccb0a09 similarly zoom into fixed and fp mandelbrot 2021-05-09 22:00:40 -07:00
Kartik K. Agaram 0b56b7b4d9 mandelbrot-fixed: introduce some viewport parameters 2021-05-09 21:01:16 -07:00
Kartik K. Agaram 4bfc80ce9a bugfix in mandelbrot-fixed
Thanks to comparing regular ints with fixed-point ints, I was computing
iterations for many screenfuls of pixels to the right of the current one.
(Y-axis behaved similarly, but there it was just doing other work instead
of busy-looping forever. If you don't have anything else to do, it doesn't
matter what you do.)
2021-05-09 17:40:14 -07:00
Kartik K. Agaram cd6412129f .
Yet another step in the slow divergence of survey_baremetal from its survey_elf
roots.
2021-05-09 13:21:08 -07:00
Kartik Agaram 1b9ddcefb9 . 2021-05-09 12:59:48 -07:00
Kartik Agaram 96b6d623a6 . 2021-05-09 09:46:46 -07:00
Kartik Agaram d91595e31c . 2021-05-09 09:40:26 -07:00
Kartik Agaram 0bcdd074a8 . 2021-05-09 08:39:30 -07:00
Kartik Agaram 2e6065717d . 2021-05-09 08:36:37 -07:00
Kartik Agaram 9ad9bf96bb mandelbrot: streamline exposition 2021-05-09 08:15:59 -07:00
Kartik Agaram b1eeb62123 . 2021-05-09 07:45:04 -07:00
Kartik Agaram 46f7e4fff3 . 2021-05-08 23:53:28 -07:00
Kartik K. Agaram b94e1fec30 mandelbrot set in fixed-point 2021-05-08 23:46:36 -07:00
Kartik K. Agaram 14b7162bd6 . 2021-05-08 22:24:33 -07:00
Kartik K. Agaram f9f419af71 support checking overflow flag everywhere 2021-05-08 21:49:50 -07:00
Kartik K. Agaram df68e6eddc . 2021-05-08 15:46:26 -07:00
Kartik K. Agaram 1b769b4b68 initial, monochrome mandelbrot set 2021-05-08 10:11:37 -07:00
Kartik K. Agaram 183010779c A 'bowboard', a chessboard of rainbow circles
Compare with (chessboard screen 256)
2021-05-08 08:33:22 -07:00
Kartik K. Agaram 665b1e8f07 a full-circle rainbow 2021-05-08 07:58:56 -07:00
Kartik K. Agaram 1adc904ef3 new shell macro: do 2021-05-07 21:13:24 -07:00
Kartik K. Agaram 888b4cd8ea always check for null in 'index' instructions 2021-05-07 21:04:45 -07:00
Kartik K. Agaram 61a68452ae all apps working again after null get check 2021-05-07 20:40:42 -07:00
Kartik K. Agaram 19dd573a92 . 2021-05-07 20:02:01 -07:00
Kartik K. Agaram e74050ade4 always check for null in 'get' instructions 2021-05-07 18:25:43 -07:00
Kartik K. Agaram 540fd66473 a little bit more information when lookup fails
Basically this should never, ever happen until I start reclaiming heap
memory. I believe the only reason it happens is unprotected writes to address
0 or thereabouts.
2021-05-07 15:28:17 -07:00
Kartik K. Agaram d3f17627d8 an often-overflowing stream when running brcircle
We really need to systematically check our trace streams.
2021-05-07 15:12:56 -07:00
Kartik K. Agaram c5f50f05b7 . 2021-05-07 12:46:41 -07:00
Kartik K. Agaram 150db8d56a some boot-time heartbeat messages
This will help us with some common debug scenarios.
2021-05-07 12:27:20 -07:00
Kartik K. Agaram dd192dd52c . 2021-05-07 12:11:59 -07:00
Kartik K. Agaram e42ae8219e clean up all definitions 2021-05-07 12:08:07 -07:00
Kartik K. Agaram d605ba1f9a clean up chessboard
We still benefit from some helpers here because of the unrolling and multiple
calls to helpers.
2021-05-07 11:56:43 -07:00
Kartik K. Agaram d8298d1a2a clean up read_line 2021-05-07 11:37:48 -07:00
Kartik K. Agaram 91f76e6b22 clean up Bresenham line-drawing 2021-05-07 11:28:59 -07:00
Kartik K. Agaram 25eb9c580e . 2021-05-07 11:02:55 -07:00
Kartik K. Agaram 92fb55d50f no, we need hline1 for fill_rect 2021-05-07 10:14:51 -07:00
Kartik K. Agaram c651bbeffc clean up hline and vline 2021-05-07 10:05:20 -07:00
Kartik K. Agaram 74be534e2b starting to implement first macros
Another commit, another bugfix.

Some snippets from my currently exploding todo list:

- always investigate lookup errors immediately. Beyond the root cause, they should never happen at the moment, while we aren't reclaiming memory.
  we should always return a more precise error message. Usually involving null pointer checks.

- on abort, print out stack trace
  - emit mapping of labels to addresses during survey
  - store a mapping of symbols somewhere in the code image

- stop allocating 1KB per token; expand space for tokens as needed
2021-05-07 09:49:16 -07:00
Kartik K. Agaram 7105b73fd3 give up on nested backquotes for now 2021-05-07 09:22:54 -07:00
Kartik K. Agaram f791cd9da9 macros almost done
Just one case left: macros within unquote.
2021-05-06 22:09:30 -07:00
Kartik K. Agaram 57fd40d500 some more cases 2021-05-06 21:41:03 -07:00
Kartik K. Agaram a1cfadc749 first passing test for macroexpand
In the process I spent a long time tracking down a stray TODO in 108write.subx
that I thought would abort but didn't since the switch to baremetal.

Then after I reintroduced that assertion I had to go track down a bunch
of buffer sizes. Stream sizes continue to be a huge mess.
2021-05-06 21:38:02 -07:00
Kartik K. Agaram f882130c86 . 2021-05-06 20:02:18 -07:00
Kartik K. Agaram 7c8ad5a419 more paranoia in shell/globals.mu 2021-05-06 19:38:54 -07:00