Monday, December 11, 2017

Emulator has a Name and Programming languages - The Kwak-8

My fantasy console emulator has a name, a github project, and a webpage.

Respectively those are

I would have liked to bumped the clock speed to 16Mhz to be more familiar to Arduino coders, but it would be hard to push the JavaScript emulator to those speeds. At 8Mhz it runs nicely on my Arm (rk3288) Chromebook. The awesome blitter should more than compensate. I haven't added a clock cycle cost to blits so to the VM they are instant. Obviously the emulator takes time but as long as people don't get silly it shouldn't slow down the emulator. You just know someone will get silly though.

The emulator has successfully run programs built ASM, C and FreePascal. So it's getting into the realms of usable.

I have added a NES style tiled graphics mode which allows x and y flips, so it very much behaves like the blitter only with a big indexed batch. Still weighing up whether or not to have the bitter do Transpose X/Y. Effectively a 90 degree rotate.

Other Kwak-8 bits in the works.

  • An assembler, written in JavaScript, so people will be able to do some low level coding from within the browser.
  • Audio Registers. Design is complete. 8 voices, which is a little extravagant, but sounding suitably 8-bit bleepy. 8 bytes of parameters encodes frequency,envelope,wave, noise, bend etc.
  • The Extended Palette. In serial Pixel mode you can display 256 colours (more if you are clever ;-). I have been working on making a nice balanced palette
More soon.