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
  • 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.