Commit Graph
100 Commits
Author SHA1 Message Date
MightyPork 506a4e42a2 Mandelbrot interactive fixes + improvements
- fix memory leak caused by gradient table
- refactor to conditional branches
- reset drawing on move
- add keys to change itercount and force redraw
2020-10-25 11:09:23 +01:00
MightyPorkandGitea 191ba495f2 Merge branch 'master' of cpsdqs/crsn into master 2020-10-25 09:15:38 +00:00
MightyPork 40d4b272e4 add mandelbrot examples 2020-10-24 21:26:53 +02:00
MightyPork b5016c6b12 add key checking example, key and mouse constants 2020-10-24 00:10:18 +02:00
MightyPorkandGitea 062095cc28 Merge branch 'master' of User_4574/crsn into master 2020-10-23 21:01:49 +00:00
MightyPork 2800b8cab2 life is now better 2020-10-22 23:57:15 +02:00
MightyPork 54ff5fbce9 Merge branch 'nat-master' into master 2020-10-22 21:55:16 +02:00
MightyPork 8d10fa406d Minor "else" improvements
- Do not generate s.never to skip Else branch
- Add Display impl to SourcePosition
- Correct SourcePositions pointing to the end of a parsed expr instead of the beginning
- Remove 'true', 'always', 'false' and 'never' from README.md
2020-10-22 21:55:00 +02:00
MightyPork f61dc00291 add GOL example 2020-10-22 00:07:30 +02:00
MightyPork 453f421bae remove junk 2020-10-21 00:28:56 +02:00
MightyPork aa20959d82 add a font demo 2020-10-21 00:28:28 +02:00
MightyPork 562c6baddc fixes, graphic acceleration commands, upscaling pixels 2020-10-20 20:59:35 +02:00
MightyPork 9faeceba61 talk about constants 2020-10-20 00:56:19 +02:00
MightyPork d9be3278f5 docs for float 2020-10-20 00:53:43 +02:00
MightyPork 28fcec7dfc Merge branch 'floats' into master 2020-10-20 00:28:56 +02:00
MightyPork 9723ac72be fixes, more trig, demo with floats 2020-10-20 00:26:08 +02:00
MightyPork 68c9b33637 basic float arith, wip float trig, abs 2020-10-17 23:58:24 +02:00
MightyPork e560fc5657 DRY arithmetic parsing 2020-10-17 22:52:07 +02:00
MightyPork 3999c51eb7 implement a more readable bit mask syntax, add (ldXX Wr Rd Rd) with separate dest and both sources 2020-10-17 14:54:51 +02:00
MightyPork 26616e20cb Simplify {clz,clo,se}XX parsing and exec, add simple unit test example scripts 2020-10-16 00:18:38 +02:00
MightyPork 768f36ae18 use the new ldX/Y/Z in the bmp example 2020-10-15 22:04:41 +02:00
MightyPork e0e45bd223 implement bit copy and swap with any size and offset using a special new syntax 2020-10-15 22:02:13 +02:00
MightyPork 2d4f6b4af1 implement "lds" for objects (buffers, cin) 2020-10-15 20:38:43 +02:00
MightyPork 1e6e45ea72 use se32 in the bmp example 2020-10-15 01:05:12 +02:00
MightyPork 22cbfeb4ff have the sign extend instructions also extend zero sign 2020-10-15 00:55:11 +02:00
MightyPork 5b163e969f add the "lds" instruction 2020-10-15 00:53:59 +02:00
MightyPork 01ab4e7e1f add sign extend commands 2020-10-15 00:41:07 +02:00
MightyPork 3b9e89674c add a pikachu hint 2020-10-14 22:18:18 +02:00
MightyPork 0a182fb91a add bmp parser example 2020-10-14 22:05:10 +02:00
MightyPork ff84a7a481 add build scripts for native and musl 2020-10-11 23:03:28 +02:00
MightyPork 7efa04054c make it work with musl (the _nox target does not link the screen module that wouldn't build) 2020-10-11 22:56:48 +02:00
MightyPork 4cf24f0382 new examples 2020-10-11 22:34:11 +02:00
MightyPork c953e39b34 Add ld{32,16,8},sw{32,16,8},clz{,32,16,8},clo{,32,16,8},rng,rev,rbit; rename swap->xch 2020-10-11 22:01:12 +02:00
MightyPork 4062ff4d09 AMAZING NEW FEATURES ldn, bfio 2020-10-11 01:35:19 +02:00
MightyPork 74e3716ce4 change register count to 15, add global registers 2020-10-10 23:28:29 +02:00
MightyPork 9254635fd7 add examples; do not hard-shutdown when screen is closed - destructors did not run! 2020-10-10 22:25:26 +02:00
MightyPork c28fee88fe use 'spin_sleep' for more accurate execution rate, add "s", "m", "u" suffix support to the -C argument 2020-10-10 20:41:46 +02:00
MightyPork f2073fe7f4 improve the rev example 2020-10-10 18:58:35 +02:00
MightyPork acc36b1959 document the eof, empty and full flags 2020-10-10 18:56:35 +02:00
MightyPork 4d921cbec0 update docs about stdin renaming to cin 2020-10-10 18:49:40 +02:00
MightyPork ace92a6411 rewrite the stdio module to be less broken. also add sehbang support 2020-10-10 18:46:32 +02:00
MightyPork 982ba27ed3 cleanup, auto deref Wd, Wr, RdObj 2020-10-10 15:45:01 +02:00
MightyPork 7a3cb539e1 add new rdwr access type to guard against illegal writes that can be caught at compile time 2020-10-10 15:39:18 +02:00
MightyPork 8ea60f52eb remove unused "mask" code 2020-10-10 15:17:39 +02:00
MightyPork 3a8895b790 add rcmp instr, add rot13 example 2020-10-10 14:31:07 +02:00
MightyPork e48d734615 readme add codeblock annotations 2020-10-10 14:04:02 +02:00
MightyPork 4677625d51 readme fix 2020-10-10 14:02:48 +02:00
MightyPork 06b449004d document the swap instr 2020-10-10 14:02:22 +02:00
MightyPork d5821e3552 add "swap" instr, document buffer ops 2020-10-10 13:59:45 +02:00
MightyPork aae9db0598 fix branch parser eating all list tokens 2020-10-10 12:26:50 +02:00
MightyPork 9aee9ca143 add reverse example 2020-10-10 01:53:10 +02:00
MightyPork ee59096821 buffer module, replacing stacks. TODO: docs, fix parsing of "numbers tuple" in mkbfv (consumed by the conditional branch parser) 2020-10-10 01:26:40 +02:00
MightyPork 1f2dbaa81d add better string and number parsing to sexp. cleaning, more tests 2020-10-09 00:41:09 +02:00
MightyPork 548addc78c add a line about contributing 2020-10-08 14:41:09 +00:00
MightyPork 034c7b991f improve readme and example of the stdio module 2020-10-08 00:56:59 +02:00
MightyPork 9d7f3d25c8 add stdio module 2020-10-08 00:42:24 +02:00
MightyPork e3fe3c6d72 performance improvements 2020-10-07 23:40:00 +02:00
MightyPork a3eae0a8a9 add extension hook to pre-define constants 2020-10-07 22:31:50 +02:00
MightyPork 4115e07ee6 @reg and @value reading and writing is now possible 2020-10-07 22:24:30 +02:00
MightyPork 562fc48151 add support for character literals using single quotes 2020-10-07 19:27:30 +02:00
MightyPork ce5bf513c0 stricter label parsing, more relaxed identifier rules 2020-10-07 19:10:52 +02:00
MightyPork 0cc0be370f fix error in readme 2020-10-07 18:48:58 +02:00
MightyPork 5686ad7bd3 add script to test that all examples compile 2020-10-07 18:35:13 +02:00
MightyPork 6b685dcaa3 add docs for the screen module 2020-10-07 15:28:13 +02:00
MightyPork 003a214e06 update docs 2020-10-07 11:15:30 +02:00
MightyPork 017ec53b14 Merge branch 'spanned-sexp' into master 2020-10-06 23:27:06 +02:00
MightyPork dbc4454244 cleaning; optimize screen_bounce.csn 2020-10-06 23:26:52 +02:00
MightyPork 214d673643 remove junk, better explain whats going on with spanned_sexp 2020-10-06 23:17:47 +02:00
MightyPork 33ec1461e4 remove unnecessary cloning of SourcePosition, reduce SourcePosition size. clean, format 2020-10-06 23:12:11 +02:00
MightyPork 91573140a4 all errors now contain source location 2020-10-06 22:54:34 +02:00
MightyPork d4534c9c66 sexp: add span info to Sexps 2020-10-06 20:23:43 +02:00
MightyPork 0fd1c9980b sexp: move error defs to a module 2020-10-06 19:52:00 +02:00
MightyPork 6dfe22152c sexp: replace logging with log crate trace macro 2020-10-06 19:44:15 +02:00
MightyPork 7272eecc48 sexp automated format & cleanup 2020-10-06 19:40:56 +02:00
MightyPork 3cb445a31c sexp: tests to submodule 2020-10-06 19:40:16 +02:00
MightyPork a2dada519d sexp: replace try! with ? 2020-10-06 19:38:13 +02:00
MightyPork 250f0f22c0 cargo fix 2020-10-06 19:37:12 +02:00
MightyPork 85911c8e99 add sexp into source tree 2020-10-06 19:37:12 +02:00
MightyPork f404445003 deny direct access to symmed register - prevents bugs 2020-10-06 12:39:39 +02:00
MightyPork 2fa23dbbc3 start program without spawning thread so screen works on mac. improve mouse demo 2020-10-06 12:28:49 +02:00
MightyPork f4ced467e4 add rpush and rpop stack instructions 2020-10-06 12:18:07 +02:00
MightyPork 7ce51c0cc6 check close condition on poll 2020-10-05 23:40:07 +02:00
MightyPork 583ac7bcbf mouse and key input, handle close btn, mouse demo 2020-10-05 23:37:39 +02:00
MightyPork 6eef2b7ae3 cleaning 2020-10-05 22:13:43 +02:00
MightyPork fe8bf87e6d add round-trip tests for built-in instructions 2020-10-05 21:57:59 +02:00
MightyPork 05104c93ca fix ld printed as mov 2020-10-05 00:35:04 +02:00
MightyPork 34e339b1ca add pretty-printer for assembled instructions 2020-10-05 00:32:08 +02:00
MightyPork 986f3be6a2 cleanup. remove conditional jumps, replaced by condition embedded in the enum 2020-10-04 23:30:11 +02:00
MightyPork 810ed2dddc optimize labels, jumps 2020-10-04 22:45:34 +02:00
MightyPork b06ef50acd surround routines by far jump across 2020-10-04 21:26:06 +02:00
MightyPork e0cc1973ba Routine arity disambiguation, slash syntax (add/2, add/3) 2020-10-04 13:28:14 +02:00
MightyPork 8d585d765b stacks example 2020-10-01 23:36:33 +02:00
MightyPork 651ffcb888 new test 2020-10-01 23:33:42 +02:00
MightyPork 6d8d0fd51a show unsym and undef in the aliases example 2020-10-01 23:31:42 +02:00
MightyPork 4336454156 add unsym and undef 2020-10-01 23:29:49 +02:00
MightyPork e580a2b679 Add "sym" and "def" instructions, add argument naming 2020-10-01 23:26:06 +02:00
MightyPork afd412f22a make more stuff public for use by extensions 2020-09-30 23:19:34 +02:00
MightyPork 822e7912aa cleanup 2020-09-30 23:17:33 +02:00
MightyPork 4be5b4e05b generalize parsing to allow extensions to add arbitrary syntax; add 'proc' keyword to introduce a routine. 2020-09-30 23:16:22 +02:00
MightyPork d47d0f2345 add note about log level 2020-09-29 13:37:16 +02:00