Commit Graph
100 Commits
Author SHA1 Message Date
cdo cbe5733fcd Bump version patch number 2026-03-20 13:04:36 +00:00
cdo 7961c68639 Reduce wait in e2e tests 2026-03-20 13:04:28 +00:00
cdo d202157a58 Reduce dot interval to 25 ms 2026-03-20 13:04:17 +00:00
cdo 97fc43bf93 Add "Welcome to" to welcome message 2026-03-20 13:04:10 +00:00
cdo 2c13ad4e1f Handle prelude loading message in JS rather than Forth 2026-03-20 13:03:57 +00:00
cdo 36429bf8bc Rework tokenizer to avoid unecessary allocations 2026-03-20 13:02:40 +00:00
cdo c20e7e181b Reduce poll interval to 5 ms 2026-03-20 13:02:29 +00:00
cdo fe5c55cabf Increase TX and RX buffer size to 128 bytes 2026-03-20 13:02:07 +00:00
cdo 67fc1d8d7b Remove race condition between assemble and prelude load prints 2026-03-18 15:17:08 +00:00
cdo 4000522b3a Remove obsolete assembly driver script 2026-03-18 15:08:57 +00:00
cdo 19ef69958d Update README 2026-03-18 15:04:32 +00:00
cdo 0a52388030 Update deploy manifest 2026-03-18 14:25:11 +00:00
cdo 6e8439eeaf Bump version number 2026-03-18 14:24:41 +00:00
cdo eaa3242cc0 Update e2e tests 2026-03-18 14:24:25 +00:00
cdo f77adffbef Update MIME types in server.scm 2026-03-18 14:24:05 +00:00
cdo c91f46be88 Assemble kernel on client 2026-03-18 14:23:37 +00:00
cdo 6ee4adfea5 Translate kernel to Wasmasm 2026-03-18 10:41:09 +00:00
cdo 5dc0a7a601 Add temporary driver script 2026-03-18 10:35:14 +00:00
cdo 896a1ca563 Implement (limited) forward reference handling 2026-03-18 10:32:49 +00:00
cdo 37d56988ef Make a couple of tweaks to the kernel in preparation for porting 2026-03-18 10:30:26 +00:00
cdo 6c643f8402 Don't silently ignore trailing characters in numbers 2026-03-18 10:29:46 +00:00
cdo 7828b0f112 Yield newline token at end of comment 2026-03-15 21:39:14 +00:00
cdo e7affbf8b7 Add .zero directive 2026-03-15 21:28:25 +00:00
cdo 02ee4c3c88 Support symbols in .at address field 2026-03-15 21:27:48 +00:00
cdo c21b3c79c7 Fix names of atomic load and store opcodes 2026-03-15 20:04:49 +00:00
cdo 1318c3cc4e Add i64.const, i32.div_s and i32.rem_s opcodes 2026-03-15 20:04:27 +00:00
cdo 74a8f21379 Encode indices as unsigned LEB128 instead of signed 2026-03-15 20:04:06 +00:00
cdo 6784cd02b4 Encode section lengths with unsigned LEB128 2026-03-15 20:03:47 +00:00
cdo 3a103c46d1 Don't require ; to have space after in comments 2026-03-15 17:32:14 +00:00
cdo 8d4c53ca92 Allow implicit zero-init for globals 2026-03-15 14:26:22 +00:00
cdo 5e39024f6d Use unsigned shift in uleb128() 2026-03-15 14:15:40 +00:00
cdo b85a4e8bc9 Encode data values in assembler, not parser 2026-03-15 14:15:34 +00:00
cdo 401e8e1fad Use unsigned right shift in Assembler.le() 2026-03-15 14:07:26 +00:00
cdo d4c837216a Add f32 type 2026-03-15 13:58:33 +00:00
cdo c93e9009da LEB128-encode index in action_symbol 2026-03-15 13:58:25 +00:00
cdo 0056610238 Add missing semicolon 2026-03-15 13:58:24 +00:00
cdo 9b4ff3e8f6 Use array flattening instead of spread operator in a few places 2026-03-15 13:58:23 +00:00
cdo e9beacba3a De-duplicate consecutive locals of same type in wasm_section_code() 2026-03-15 13:58:23 +00:00
cdo acf5b6e284 Handle failed def lookup in action_data() 2026-03-15 13:58:22 +00:00
cdo 72c5f64312 Handle global init value encoding in Assembler 2026-03-15 13:58:20 +00:00
cdo 7135eeba74 Restructure uleb128 2026-03-15 13:41:39 +00:00
cdo 7099ca34a3 Fix .word size 2026-03-15 13:41:05 +00:00
cdo 3ebb74c73c Check for null explicitly in token_top() 2026-03-15 13:40:43 +00:00
cdo 0dd2a925d8 Allow table elems to be labelled 2026-03-15 12:34:41 +00:00
cdo 2155d17731 Implement type, table and func symbol resolution 2026-03-15 12:28:29 +00:00
cdo 1452ffe615 Implement .table and .elem 2026-03-15 12:14:35 +00:00
cdo 46a571be93 Add error message for unhandled states and actions 2026-03-15 11:09:16 +00:00
cdo d35b13fed0 Add .type directive 2026-03-15 11:05:37 +00:00
cdo a3cfd405a9 Add some threads opcodes 2026-03-14 19:30:44 +00:00
cdo 671e7f60d2 Add a bunch of opcodes 2026-03-14 19:30:43 +00:00
cdo 580d5d2a4a Implement function type de-duplication 2026-03-14 19:23:02 +00:00
cdo 1105daaad0 Add support for extended opcodes 2026-03-14 19:23:00 +00:00
cdo 347dd8f534 Make all sections optional 2026-03-14 18:36:21 +00:00
cdo f4433ce3a3 LEB128-encode addresses in data section 2026-03-14 18:35:33 +00:00
cdo 714973f052 LEB128-encode values from defs 2026-03-14 18:29:55 +00:00
cdo 4f878fdbab Add suport for block/loop/if/else 2026-03-14 18:26:12 +00:00
cdo 9fb3910a16 Allow defs to reference other defs 2026-03-14 15:04:25 +00:00
cdo 22dc1fc0ca Add support for labels 2026-03-14 14:52:44 +00:00
cdo cc51b2d7be Fix data word size 2026-03-14 14:50:40 +00:00
cdo 902404cb10 Fix string interpolation in error messages 2026-03-14 14:01:09 +00:00
cdo d4718f1106 Allow using defs in code 2026-03-14 13:59:42 +00:00
cdo 33f5a4be06 Fix bug in local lookup 2026-03-14 13:59:41 +00:00
cdo e2429b2b03 Enable using defs in .byte and .word directives 2026-03-14 13:52:00 +00:00
cdo 2972030d0a Add .def support 2026-03-14 13:48:37 +00:00
cdo 2c3e5f46da Implement .align directive 2026-03-14 13:48:36 +00:00
cdo 93f3dd1f41 Implement .utf directive 2026-03-14 13:48:35 +00:00
cdo cfa4fa7d4f Add .word directive 2026-03-14 13:48:34 +00:00
cdo 94cee7d258 Fix string interpolation in error messages 2026-03-14 13:48:33 +00:00
cdo 092d870a9c Implement .byte directive 2026-03-14 13:48:33 +00:00
cdo 6db71ee382 Add .at directive 2026-03-14 11:56:30 +00:00
cdo 5369a0969e Restructure copy implementation to avoid type-indexed block 2026-03-10 21:25:37 +00:00
cdo 118e6af896 Add support for globals (mutable only)
I'm planning on adding symbolic constants to the assembler, so I won't
really have much use for immutable globals.
2026-03-10 19:56:49 +00:00
cdo 1c4b9f850a Add support for imports (memory only) 2026-03-10 19:54:16 +00:00
cdo 672a453f6c Add string support to tokenizer 2026-03-10 17:53:58 +00:00
cdo 5a3084dd16 Implement .mem directive 2026-03-10 15:33:41 +00:00
cdo 77f6d57e1b Add support for locals 2026-03-10 00:37:05 +00:00
cdo 510a74aa04 Add base suffix for integers 2026-03-10 00:22:07 +00:00
cdo 75600d0568 Add symbol resolution (params only) 2026-03-10 00:22:06 +00:00
cdo 6a4877d52c Implement .param directive 2026-03-09 23:52:18 +00:00
cdo 554d918640 Create initial scaffolding for JS WASM assembler 2026-03-09 23:36:14 +00:00
cdo ef0c395d57 Add manifest for wipforth-deploy 2026-03-08 21:06:35 +00:00
cdo f72d79dc19 Fix typo in README 2026-03-04 22:14:12 +00:00
cdo e5f9d2d828 Make run-tests exit 1 when there are failures 2026-03-04 22:08:34 +00:00
cdo fb70a2585f Fix typo in test name 2026-03-04 21:31:22 +00:00
cdo fb52e5a701 Add README section for end-to-end tests 2026-03-04 20:52:23 +00:00
cdo a1b003a1cd Implement some end-to-end tests 2026-03-04 20:45:05 +00:00
cdo 9576769e09 Implement simple testing module for e2e tests 2026-03-04 20:22:24 +00:00
cdo e13452db15 Run firefox in blank profile when e2e testing 2026-03-04 17:55:16 +00:00
cdo 529aabd213 Rename e2e-tests to e2e 2026-03-04 17:52:26 +00:00
cdo d18ff1d2bb Modify server.scm so it can be loaded as a module 2026-03-04 17:26:46 +00:00
cdo e2ed73055f Write Guile module for Firefox interaction with Marionette 2026-03-04 01:08:54 +00:00
cdo 721e0f285b Fix handling of trailing zeros in . 2026-03-03 13:17:37 +00:00
cdo c1c1db7b51 Add note about server.scm probably being insecure 2026-03-02 21:52:05 +00:00
cdo b5c4070daf Use EMIT when printing version number instead of ." 2026-03-02 19:00:57 +00:00
cdo 59e6027739 Use CONSTANT to define version numbers 2026-03-02 18:56:17 +00:00
cdo 32c3c6e356 Use atomic wait/notify on RXTAIL in KEY 2026-03-02 18:53:48 +00:00
cdo 2a3949e09f Make terminal xHEAD and xTAIL registers 32 bits
This enables waiting on them with memory.atomic.wait32 (there is no
wait8) which is needed to avoid spinning when waiting for a key.
2026-03-02 18:51:42 +00:00
cdo 22e477adf7 Fix hex number input 2026-03-02 18:50:34 +00:00
cdo c99430c75e Fix headers in peripherals description 2026-03-02 17:59:32 +00:00
cdo a77e7f4051 Rename "Offset" column to "Address" in peripherals description 2026-03-02 17:58:42 +00:00