Casio PV-1000/Emulation

From Obscure Wiki
Jump to navigationJump to search

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 ) [1]

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 (fixed in MAME release 268)
  • regFD: Joystick response is instant (not fixed as-of 2025)
  • regFE: MAME doesn't support moving the tilemap address at all (not fixed as-of 2025)
  • regFE: ePV-1000 uses the wrong address for pattern RAM; MAME doesn't support moving it at all (not fixed as-of 2025)
  • regFF: MAME gets the border color red and blue bits backwards (fixed in release 267); ePV-1000 always emulates the border as black
  • regFF: Can't disable rendering (fixed in MAME release 268)
  • regFF: Neither support more than two pages ($0000 and $2000) of pattern ROM (partially fixed in MAME release 268)
  • MAME doesn't emulate BUSREQ/BUSACK slowing down the Z80 at all (fixed in release 269)
  • Both assume the visible area is 256x192 with a border on the left and right (fixed in MAME release 268)
  • Both assume square pixels, but reality is profoundly not square (fixed in MAME release 269)
  • Both assume 2KB system RAM is only accessible from $B800-$BFFF (not fixed as-of 2025)
  • Neither support raster effects (not fixed as-of 2025)

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