0608e2c476c6a745ae5ab0aa046040d5fd4d6d0a
Wipforth
Building and Running
To run, first compile the WebAssembly module:
wat2wasm --enable-threads wipforth.wat
Then run the server:
python3 server.py
You should then be able to open http://localhost:8080 in a browser and use the system from there.
NOTE: The server is just a very simple instantiation of Python's
built-in http.server that sets the cross-origin headers required for
SharedMemoryBuffer use. You could use any HTTP server that sets
these headers.
Peripherals
Serial
| Name | Offset | Size / B | Access |
|---|---|---|---|
| TXBUF | 0 | 32 | write |
| RXBUF | 32 | 32 | read |
| TXDATA | 64 | 1 | atomic write |
| TXHEAD | 65 | 1 | atomic read |
| TXTAIL | 66 | 1 | atomic write |
| RXDATA | 67 | 1 | atomic read |
| RXHEAD | 68 | 1 | atomic write |
| RXTAIL | 69 | 1 | atomic read |
For both sending (TX) and receiving (RX), there are four
registers: xBUF, xDATA, xHEAD and xTAIL:
xBUFregisters are 32-byte FIFO ring buffers used for data- The
xDATAregisters indicate whether data is available (0 for data, FFh for no data) - The
xHEADandxTAILregisters specify the start and end of data in the FIFO,xHEADbeing the offset of the first byte of data, andxTAILbeing the offset of the first byte after the data.
Description
Languages
JavaScript
52.3%
Witcher Script
33.5%
Scheme
9.4%
Forth
3.9%
CSS
0.5%
Other
0.4%