Skip to content

Short Update on toyCPU

July 25, 2012

I’m happy to say that toyCPU is still progressing rapidly. Thanks in part to a fellow redditor, Tom (thejsjunky), who has joined the effort and contributed JavaScript and assembly code. Since the last post, several additions and improvements have been made, including:

  • A new modular, customizable UI system
  • Basic keyboard and clock peripheral devices
  • Support for 32-bit operations using multiple 16-bit primitives
  • Auto completion for the code editor (contributed by Tom)
  • Saving of current code using local storage (contributed by Tom)

You can see a screenshot below showing what the modular UI looks like:

The main idea behind the modular UI was that it would be much more productive to be able to see your code and the running program at the same time, instead of having to alternate between tabs constantly. Furthermore, the ability to minimize and reorganize modules will make it possible to enable or disable many different views of running programs as desired.

Short-term priorities for toyCPU include:

  • A sound device to allow for sound effects. Particularly useful for game projects.
  • Implementing a simple random number generator (LCG).
  • Better error reporting for compilation and run-time errors.
  • Various unit tests to avoid feature regression.
  • Example assembler programs to help you get started.
  • Completion of the instruction manual.
  • Various UI improvements.
  • Integration with AppEngine to allow online saving and sharing of programs.

Once again, if you’re interested in helping, don’t hesitate to contact me. We could use help from someone who has experience with the AppEngine platform, as well as help writing example programs to demo the system, such as simple 2D games.

7 Comments
  1. Nice work!

    I’d recommend using a XorShift PRNG (http://en.wikipedia.org/wiki/Xorshift) instead of a LCG.

    I did the switch in my own projects a few months ago.

    Cheers!

Leave a comment