Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 1.55 KB

README.md

File metadata and controls

43 lines (33 loc) · 1.55 KB

CBT emulator

CBT emulator written in rust compiled to webassembly with an interface in react. Available to play with at: https://maksrawski.gitlab.io/cbt-emulator/.

Microcode

Refer to ucode/README.md for information about generating microcode.

Generated microcode gets compressed and then hardcoded into a binary, then decompressed at runtime. This way instead of throwing over 256KB into a binary we put just a bit shy (pun intended) of 1KB. zstd is used for compression so the runtime overhead isn't that big.

Tests

Unit tests for the emulator itself are available to run via cargo test, however its integration tests have to be run with wasm-pack test --node

TODO

functionality

  • add labels to each bit of CW
  • fix hello world
  • add LCD module in UI (using react setters)
  • disable CLK when in HLT
  • add a way of previewing what's in ram
  • add a way to set up custom interrupts, which key on the keyboard would trigger which routine in interrupt space
  • ability to set custom programs after clicking on ROM module

aesthetics

  • style for mobile, add a "real view"
  • add tooltips
  • improve clock module's controls
  • cw module should be toggleable

extra

  • setup codecov
  • make web interface to be a git submodule instead

changing state

try to use this somehow

Acknowledgments