Commit Graph
84 Commits
Author SHA1 Message Date
MightyPork fd90480cec make stdin async 2020-11-01 01:10:34 +01:00
MightyPork f87d822432 more docs, fixes, examples 2020-10-31 21:57:36 +01:00
MightyPork 735f871ea0 Implement critical sections and timeslice setting cmd 2020-10-31 21:46:34 +01:00
MightyPork 2752fa4beb fix unit tests, cargo fiox 2020-10-31 19:13:07 +01:00
MightyPork c8d01b6151 coroutine fixes, first example 2020-10-31 17:55:23 +01:00
MightyPork 8659240d01 wip coroutines and scheduler 2020-10-31 17:32:02 +01:00
MightyPork d0d4f1c15e add (cas), (casXX), and (bfcas) 2020-10-28 22:48:25 +01:00
MightyPork 02f73a21f4 fixes, safeguards and docs for "compile-time arithmetics" 2020-10-28 18:24:51 +01:00
MightyPork 83996348cb Implement compile-time immediate arithmetics 2020-10-28 17:36:16 +01:00
Nat Lasseter ab5fed3cfa Fixed conditional parsing bug, npos and nneg options wrong way round 2020-10-23 21:45:56 +01: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
Nat Lasseter 0006cd06ec Reduce true/false conditionals down to just 'else' and warn if else is used in non-final branch 2020-10-22 20:05:33 +01:00
Nat Lasseter 12e37d4335 Introduce the 'true' and 'false' conditions 2020-10-21 19:57:14 +01:00
MightyPork 562c6baddc fixes, graphic acceleration commands, upscaling pixels 2020-10-20 20:59:35 +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 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 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 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 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 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 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 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 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 dbc4454244 cleaning; optimize screen_bounce.csn 2020-10-06 23:26:52 +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 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 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