Skip to content

MaksRawski/cbt-emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published