Casio PV-1000/Emulation

There are two currently-known emulators for the PV-1000. As of 2023 May, both are extremely inaccurate in problematic ways.


 * MAME
 * ePV-1000 (Part of Common Source Code emulator system by TAKEDA Toshiya )

Both are problematically inaccurate. Here's a list of what they do wrong:
 * regF8, F9, FA: square wave channels should be different volumes (fixed in MAME release 254)
 * regFB: missing mute and ring/XOR modulation support (fixed in MAME release 254)
 * regFC: all IRQs are always enabled and instantly acknowledged
 * regFD: Joystick response is instant
 * regFE: MAME doesn't support moving the tilemap address at all
 * regFE: ePV-1000 uses the wrong address for pattern RAM; MAME doesn't support moving it at all
 * regFF: MAME gets the border color red and blue bits backwards; ePV-1000 always emulates the border as black
 * regFF: Can't disable rendering
 * regFF: Neither support more than two pages ($0000 and $2000) of pattern ROM
 * MAME doesn't emulate BUSREQ/BUSACK slowing down the Z80 at all
 * Both assume the visible area is 256x192 with a border on the left and right (but instead it's 224x244, with a border on top and bottom)
 * Both assume square pixels, but reality is profoundly not square
 * Both assume 2KB system RAM is only accessible from $B800-$BFFF

None of these should be hard to fix, but haven't been yet.