Operation Wolf - pirate port of Taito's TC0190 (Mapper 33)

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

Post Reply
krzysiobal
Posts: 754
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland

Operation Wolf - pirate port of Taito's TC0190 (Mapper 33)

Post by krzysiobal » Sun May 17, 2020 2:02 pm

I don't have access to cartridge to check either ROM or PAL, but the connection of components clearly reveals its goal was to mimic the Japanese version, based on TC0190 chip and the hardware is compatible with TC0190 (well, at least to the point used by Operation Wolf game)

PRG registers:

Code: Select all

While the TC0190 version has two 8K PRG registers,  this one has just one 16K PRG register:
  $8000: [.MPPPPPP]                                  $8000/$8001: [..PPPPP.]
  $8001: [..PPPPPP]                                
with the following memory map:                     with the following memory map:
    $8000   $A000   $C000   $E000                      $8000   $A000   $C000   $E000  
  +-------+-------+-------+-------+                  +---------------+---------------+
  | $8000 | $8001 | { -2} | { -1} |                  |    $8000      |      {-1}     |
  +-------+-------+-------+-------+                  +---------------+---------------+
Quick check shows that the original game always writes two sequential values to $8000/$8001 which probably was known by creators of this hack, because it results in the same behaviour (because the USA version of Operation Wolf uses MMC1 with 16K banking)

2K CHR registers

Code: Select all

While the TC0190 version has two 2K CHR registers, this one has just one 4K CHR register:
  $8002: [CCCCCCCC]                                  $8002/$8003: [..CCCCC.]
  $8003: [CCCCCCCC]                                
with the following memory map:                     with the following memory map:
    $0000   $0400   $0800   $0C00                      $0000   $0400   $0800   $0C00   
  +---------------+---------------+-...              +-------------------------------+-...     
  |     $8002     |     $8003     |                  |          $8002/$8003          | 
  +---------------+---------------+-...              +-------------------------------+-... 
1K CHR registers
Same as in TC0190 version

Mirroring
Hardwired to V (but Operation Wolf does not seem to switch it)

Likely PAL equations:

Code: Select all

PAL pinout:
                .--v--.
          M2 -> |01 20| -- +5V
 CPU_nROMSEL -> |02 19| -> PRG /CE
     CPU_A14 -> |03 18| -> REGP/WR
     CPU_A13 -> |04 17| -> REGC2/WR
     PPU_A12 -> |05 16| -> CHR_A11 
     PPU_A11 -> |06 15| -> CHR_A10  
     PPU_A10 -> |07 14| <- CPU_A1   
    REGC1_D1 -> |08 13| -> PPU/A12 
    REGC1_D0 -> |09 12| -> REGC1/WR
         GND -- |10 11| <- CPU_RnW
                '-----'

REGPnWR  <= '0' when CPUnROMSEL='0' and CPU_A14='0' and cpu_A13='0' and CPU_RnW='0' and CPU_A1='0' else '1'
REGC2nWR <= '0' when CPUnROMSEL='0' and CPU_A14='0' and cpu_A13='0' and CPU_RnW='0' and CPU_A1='1' else '1'
REGC1nWR <= '0' when CPUnROMSEL='0' and CPU_A14='0' and cpu_A13='1' and CPU_RnW='0' and else '1'
PPU_nA12 <= not PPU_A12
PRG_nCE  <= '0' when CPU_nROMSEL='0' and CPU_RnW='1' else '1'
CHR_A10 <= PPU_A10 when PPU_A12='0' else REGC1_D0
CHR_A11 <= PPU_A11 when PPU_A12='1' else REGC1_D1

Image Image Image Image Image

Post Reply