#                                               #
# Rockman 2 Japan driver 			#
#                                               #

[general]

GAMENAME    " Rockman 2 Japan "
DIRECTORY   RCKMAN2J
CPSTYPE     CPS2
DATE		1996

#                 #
# The memory map  #
#                 #
[programRegions]

0x000000  0x3FFFFF  MAINROM
0xff0000  0xfFFFFF  MAINRAM

[dataReadByteRegions]

0x000000  0x3FFFFF  MAINROM
0x400000  0x40000b  OBJECTOUTPUT
0x618000  0x619fff  QSOUND1 
0x660000  0x663fff  EXTRARAM 6
0x664000  0x664001  EXTRARAM 7
0x708000  0x709fff  CPS2SPRITERAM # cps2 sprite ram #
0x70a000  0x70bfff  CPS2SPRITERAM # cps2 sprite ram #
0x70c000  0x70dfff  CPS2SPRITERAM # cps2 sprite ram #
0x70e000  0x70ffff  CPS2SPRITERAM # cps2 sprite ram #
0x800100  0x8001ff  VIDEOPORTS
0x804000  0x804001  INPUTPORT1
0x804010  0x804011  INPUTPORT2
0x804020  0x804021  EEPROM
0x804030  0x804031  MASTERVOLUME
0x804100  0x8041ff  VIDEOPORTS 
0x900000  0x92ffff  VIDEORAM
0xff0000  0xfFFFFF  MAINRAM

[dataReadWordRegions]

0x000000  0x3FFFFF  MAINROM
0x400000  0x40000b  OBJECTOUTPUT
0x618000  0x619fff  QSOUND1
0x660000  0x663fff  EXTRARAM 6
0x664000  0x664001  EXTRARAM 7
0x708000  0x709fff  CPS2SPRITERAM # cps2 sprite ram #
0x70a000  0x70bfff  CPS2SPRITERAM # cps2 sprite ram #
0x70c000  0x70dfff  CPS2SPRITERAM # cps2 sprite ram #
0x70e000  0x70ffff  CPS2SPRITERAM # cps2 sprite ram #
0x800100  0x8001ff  VIDEOPORTS
0x804000  0x804001  INPUTPORT1
0x804010  0x804011  INPUTPORT2
0x804020  0x804021  EEPROM
0x804030  0x804031  MASTERVOLUME
0x804100  0x8041ff  VIDEOPORTS 
0x900000  0x92ffff  VIDEORAM
0xff0000  0xfFFFFF  MAINRAM


[dataWriteByteRegions]

0x400000  0x40000b  OBJECTOUTPUT
0x618000  0x619fff  QSOUND1
0x660000  0x663fff  EXTRARAM 6
0x664000  0x664001  EXTRARAM 7
0x708000  0x709fff  CPS2SPRITERAM # cps2 sprite ram #
0x70a000  0x70bfff  CPS2SPRITERAM # cps2 sprite ram #
0x70c000  0x70dfff  CPS2SPRITERAM # cps2 sprite ram #
0x70e000  0x70ffff  CPS2SPRITERAM # cps2 sprite ram #
0x800100  0x8001ff  VIDEOPORTS
0x804040  0x804041  EEPROM
0x8040a0  0x8040a1  EXTRARAM 1 # Unknown (reset once on startup) #
0x8040e0  0x8040e1  EXTRARAM 4 # toggle bit 1 #
0x804100  0x8041ff  VIDEOPORTS
0x900000  0x92ffff  VIDEORAM
0xff0000  0xfFFFFF  MAINRAM

[dataWriteWordRegions]

0x400000  0x40000b  OBJECTOUTPUT
0x618000  0x619fff  QSOUND1
0x660000  0x663fff  EXTRARAM 6
0x664000  0x664001  EXTRARAM 7
0x708000  0x709fff  CPS2SPRITERAM # cps2 sprite ram #
0x70a000  0x70bfff  CPS2SPRITERAM # cps2 sprite ram #
0x70c000  0x70dfff  CPS2SPRITERAM # cps2 sprite ram #
0x70e000  0x70ffff  CPS2SPRITERAM # cps2 sprite ram #
0x800100  0x8001ff  VIDEOPORTS
0x804040  0x804041  EEPROM
0x8040a0  0x8040a1  EXTRARAM 1 # Unknown (reset once on startup) #
0x8040e0  0x8040e1  EXTRARAM 4 # toggle bit 1 #
0x804100  0x8041ff  VIDEOPORTS 
0x900000  0x92ffff  VIDEORAM
0xff0000  0xfFFFFF  MAINRAM

#            #
# Protection #
#            #
[protection]

# If port(PORT) is read, returns (VALUE) #
PORT    0xff
VALUE   0xffff

#                      #
# Graphics information #
#                      #
[graphics]

# the total size of the graphics roms #
TOTAL 0x0800000
# Path                     Size     Where    #
LOAD8X rm2.14 		   0x200000 0x0000000
LOAD8X rm2.16 		   0x200000 0x0000002
LOAD8X rm2.18 		   0x200000 0x0000004
LOAD8X rm2.20 		   0x200000 0x0000006


#               Number of tiles Base addr   Decode info #
DECODECHARS     0x0f000          0x0000000    0x000000
DECODESPRITES   0x10000          0x0000000    0x000000 0x000000
DECODESCROLL2   0x10000          0x0000000    0x000000 0x000000
DECODESCROLL3   0x04000          0x0000000    0x800000 0x400000 


#                     #
# program information #
#                     #
[program]

ROMSIZE 0x180000

# Type of load 	path 1  	path 2            Size    Location #
LOADROM16SWAPXOR  rm2j.03 	rm2jx.03      	0x80000 0x000000
LOADROM16SWAPXOR  rm2j.04    	rm2jx.04	0x80000 0x080000
LOADROM16SWAP     rm2j.05         		0x80000 0x100000

#                                            #
# the list of the roms which must be present #
# to allow the game to work                  #
#                                            #
[verifyRoms]

xvs.01       0x3999e93a
xvs.02       0x101bdee9
xvsu.03h     0x5481155a
xvsux.03h    0x1539c639
xvsu.04h     0x1e236388
xvsux.04h    0x68916b3f 
xvs.05a      0x7db6025d
xvs.06a      0xe8e2c75c
xvs.07       0x08f0abed
xvs.08       0x81929675
xvs.09       0x9641f36b
xvs.11       0x9cadcdbc
xvs.12       0x7b11e460
xvs.13       0xf6684efd
xvs.14       0xbcac2e41
xvs.15       0x29109221
xvs.16       0xea04a272
xvs.17       0x92db3474
xvs.18       0xb0def86a
xvs.19       0x3733473c
xvs.20       0x4b40ff9f

#                        #
# The game configuration #
#                        #
[configuration]

LAYERCONTROL    0x66                # Layer control port                     #
SCROLL1BASECODE 0x0000              # scroll1 tile base                      #
SCROLL1CODEMASK 0xf000              # scroll1 tile mask(=number of tiles)    #
SCROLL2BASECODE 0x0000              # scroll2 tile base                      #
SCROLL2CODEMASK 0xf000              # scroll2 tile mask(=number of tiles)    #
SCROLL3BASECODE 0x0000              # scroll3 tile base                      #
SCROLL3CODEMASK 0x4000              # scroll3 tile mask(=number of tiles)    #
PRIORITYMASKS   0x68 0x6a 0x6c 0x6e # the ports where to read the priorities #
LAYERENABLE 0x02 0x04 0x08 0x30
FORCESCROLLPRIORITY 0xff            # Hack to fix some priority problems btw #
                                    # scroll2 and 3. The folowing values are #
                                    # valid:                                 #
                                    # 0xff: no hack                          #
                                    # 0x01: scroll3 first. Scroll2 after.    #
                                    # 0x00: scroll2 first  Scroll3 after.    #
FORCESCROLL2ON 1                    # 0=no 1=yes #

[z80]
rm2.01
rm2.02
                                                   
[samples]
rm2.11 0x200000
rm2.12 0x200000


[End]
 
