NEO-SMA: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 3: Line 3:
Info from [[http://mamedev.org/source/src/mame/machine/neoprot.c MAME's source]]
Info from [[http://mamedev.org/source/src/mame/machine/neoprot.c MAME's source]]


QFP144 chip found connected to the [[P ROM]]s in some [[King of Fighters 99]], [[King of Fighters 2000]], [[Metal Slug 3]] and in all (?) [[Garou MVS MotW]] [[cartridges]]. Bankswitches the [[68k memory map|second megabyte]] ($200000~$2FFFFF) of P ROM space and provides a 16bit pseudo random number generator.
QFP144 chip found connected to the [[P ROM]]s in some [[The King of Fighters '99 - Millennium Battle]], [[The King of Fighters 2000]], [[Metal Slug 3]] and in all (?) [[Garou - Mark of the Wolves]] [[cartridges]]. Bankswitches the [[68k memory map|second megabyte]] ($200000~$2FFFFF) of P ROM space and provides a 16bit pseudo random number generator.


Upon system reset, the PRN is initialized to $2345.
Upon system reset, the PRN is initialized to $2345.

Revision as of 09:35, 21 May 2012

NEO-SMA chip found in a MVS cartridge. Picture courtesy of [MVS-Scans].

Info from [MAME's source]

QFP144 chip found connected to the P ROMs in some The King of Fighters '99 - Millennium Battle, The King of Fighters 2000, Metal Slug 3 and in all (?) Garou - Mark of the Wolves cartridges. Bankswitches the second megabyte ($200000~$2FFFFF) of P ROM space and provides a 16bit pseudo random number generator.

Upon system reset, the PRN is initialized to $2345.

The chip always (?) replies $9A37 on reads.

PRN

16bit LSFR with taps at bits 2,3,5,6,7,11,12,15. Each read steps the register.


Bankswitching

Bankswitching is done by unscrambling the written bank number and using a 64 entry (256 bytes) lookup table to map the P ROM into $200000~$2FFFFF.

KOF 99

  • Bankswitching write at $2FFFF1
  • Read chip presence at $2FE447
  • PRN at $2FFFF8 and $2FFFFA

Bankswitch LUT (P2 ROM address):

0 1 2 3 4 5 6 7 8 9 A B C D E F
0 $000000 $100000 $200000 $300000 $3CC000 $4CC000 $3F2000 $4F2000 $407800 $507800 $40D000 $50D000 $417800 $517800 $420800 $520800
1 $424800 $524800 $429000 $529000 $42E800 $52E800 $431800 $531800 $54D000 $551000 $567000 $592800 $588800 $581800 $599800 $594800
2 $598000 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Garou

  • Bankswitching write at $2FFFC0
  • Read chip presence at $2FE447
  • PRN at $2FFFCC and $2FFFF0

Metal Slug 3

  • Bankswitching write at $2FFFE5
  • Read chip presence at $2FE447
  • PRN at $2FFFF8 and $2FFFFA

Bankswitch LUT (P2 ROM address):

0 1 2 3 4 5 6 7 8 9 A B C D E F
0 $000000 $020000 $040000 $060000 $070000 $090000 $0B0000 $0D0000 $0E0000 $0F0000 $120000 $130000 $140000 $150000 $180000 $190000
1 $1A0000 $1B0000 $1E0000 $1F0000 $200000 $210000 $240000 $250000 $260000 $270000 $2A0000 $2B0000 $2C0000 $2D0000 $300000 $310000
2 $320000 $330000 $360000 $370000 $380000 $390000 $3C0000 $3D0000 $400000 $410000 $440000 $450000 $460000 $470000 $4A0000 $4B0000
3 $4C0000 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

KOF 2000

  • Bankswitching write at $2FFFED
  • Read chip presence at $2FE447
  • PRN at $2FFFD8 and $2FFFDA

Bankswitch LUT (P2 ROM address):

0 1 2 3 4 5 6 7 8 9 A B C D E F
0 $000000 $100000 $200000 $300000 $3F7800 $4F7800 $3FF800 $4FF800 $407800 $507800 $40F800 $50F800 $416800 $516800 $41D800 $51D800
1 $424000 $524000 $523800 $623800 $526000 $626000 $528000 $628000 $52A000 $62A000 $52B800 $62B800 $52D000 $62D000 $52E800 $62E800
2 $618000 $619000 $61A000 $61A800 ? ? ? ? ? ? ? ? ? ? ? ?