INES Mapper 227: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (m227-little note on emulator support)
Line 4: Line 4:
In r2750 of fceux this support was rewritten; it should still work. It supposedly works in nestopia as well.
In r2750 of fceux this support was rewritten; it should still work. It supposedly works in nestopia as well.


   Here are Disch's original notes:  
   Here are Disch's original notes.
  Menu information added by Zepper, thanks to zxbdragon.  
   ========================
   ========================
   =  Mapper 227          =
   =  Mapper 227          =
Line 13: Line 14:
   --------------------------
   --------------------------
   1200-in-1
   1200-in-1
  600-in-1
    
    
    
    
Line 22: Line 24:
   Registers:
   Registers:
   ---------------------------
   ---------------------------
  This mapper uses the address written for its setup. The value is irrelevant.
    
    
     $8000-FFFF:  A~[.... ..LP OPPP PPMS]
     $8000-FFFF:  A~[.... .mLP OPPP PPMS]
       L = Last PRG Page Mode
       L = Last PRG Page Mode
       P = PRG Reg
       P = PRG Reg
Line 29: Line 32:
       M = Mirroring (0=Vert, 1=Horz)
       M = Mirroring (0=Vert, 1=Horz)
       S = PRG Size
       S = PRG Size
 
      m = Menu list (see below)
    
    
   Setup:
   Setup:
Line 53: Line 56:
   O=0, S=1, L=1:  |  P AND $3E  |  P  OR $07  |
   O=0, S=1, L=1:  |  P AND $3E  |  P  OR $07  |
                   +---------------+---------------+
                   +---------------+---------------+
  Menu list:
  ---------------------------
  The following information does not work for the 1200in1 cartridge!
  Bit 11 of the address written activates the menu list selection. When activated, reading anywhere
  at $8000-$FFFF returns the menu list type (value) described below; otherwise, returns PRG ROM
  data at $8000-$FFFF.
  +-------+----------------------------+
  | value | number of selectable games |
  +-------+----------------------------+
  |  0  | 860 in 1                  |
  |  1  | 460 in 1                  |
  |  2  | 500 in 1                  |
  |  3  | 560 in 1                  |
  |  4  | 600 in 1                  |
  |  5  | 660 in 1                  |
  |  6  | 700 in 1                  |
  |  7  | 860 in 1                  |
  |  8  | 900 in 1                  |
  |  9  | 920 in 1                  |
  |  10  | 940 in 1                  |
  |  11  | 960 in 1                  |
  |  12  | 980 in 1                  |
  |  13  | 400 in 1                  |
  |  14  | 380 in 1                  |
  |  15  | 360 in 1                  |
  +-------+----------------------------+
  | 16~19 | blue screen                |
  | 20    | up to 980, 981+ bugged    |
  | 21    | same of 21                |
  | 22    | 40 in 1, clipped list      |
  | 23~31 | blue screen                |
  | 32    | 420 in 1                  |
  | 33    | 460 in 1 (same of 1) $21  |
  | 34    | 500 in 1 (same of 2) $22  |
  +-------+----------------------------+

Revision as of 04:19, 25 December 2016

The Chinese unlicensed game [NJXXX] Xiang Shuai Chuan Qi will fail to load pattern data if the below notes on write protection are employed. Is this feature only on some 227 carts (more likely multicarts)? The write protection has been temporarily disabled in fceux and bizhawk until more evidence is gathered. It should be noted that VirtuaNES doesn't use the write protection.

In r2750 of fceux this support was rewritten; it should still work. It supposedly works in nestopia as well.

 Here are Disch's original notes.
 Menu information added by Zepper, thanks to zxbdragon.  
 ========================
 =  Mapper 227          =
 ========================
 
 
 Example Game:
 --------------------------
 1200-in-1
 600-in-1
 
 
 Notes:
 ---------------------------
 This mapper has 8k CHR-RAM, and also has the ability to write protect it's CHR-RAM!
 
 
 Registers:
 ---------------------------
 This mapper uses the address written for its setup. The value is irrelevant.
 
   $8000-FFFF:  A~[.... .mLP  OPPP PPMS]
     L = Last PRG Page Mode
     P = PRG Reg
     O = Mode
     M = Mirroring (0=Vert, 1=Horz)
     S = PRG Size
     m = Menu list (see below)
 
 Setup:
 ---------------------------
 
 When 'O' is set, CHR-RAM is write protected (writes have no effect).  'O' also changes the PRG mode.
 
 Note there is funky ANDs and ORs going on below depending on the modes:
 
 
                   $8000   $A000   $C000   $E000  
                 +---------------+---------------+
 O=1, S=0:       |       P       |       P       |
                 +-------------------------------+
 O=1, S=1:       |             < P >             |
                 +-------------------------------+
 O=0, S=0, L=0:  |       P       |   P AND $38   |
                 +---------------+---------------+
 O=0, S=1, L=0:  |   P AND $3E   |   P AND $38   |
                 +---------------+---------------+
 O=0, S=0, L=1:  |       P       |   P  OR $07   |
                 +---------------+---------------+
 O=0, S=1, L=1:  |   P AND $3E   |   P  OR $07   |
                 +---------------+---------------+
 Menu list:
 ---------------------------
 The following information does not work for the 1200in1 cartridge!
 Bit 11 of the address written activates the menu list selection. When activated, reading anywhere
 at $8000-$FFFF returns the menu list type (value) described below; otherwise, returns PRG ROM
 data at $8000-$FFFF.
 +-------+----------------------------+
 | value | number of selectable games |
 +-------+----------------------------+
 |   0   | 860 in 1                   |
 |   1   | 460 in 1                   |
 |   2   | 500 in 1                   |
 |   3   | 560 in 1                   |
 |   4   | 600 in 1                   |
 |   5   | 660 in 1                   |
 |   6   | 700 in 1                   |
 |   7   | 860 in 1                   |
 |   8   | 900 in 1                   |
 |   9   | 920 in 1                   |
 |  10   | 940 in 1                   |
 |  11   | 960 in 1                   |
 |  12   | 980 in 1                   |
 |  13   | 400 in 1                   |
 |  14   | 380 in 1                   |
 |  15   | 360 in 1                   |
 +-------+----------------------------+
 | 16~19 | blue screen                |
 | 20    | up to 980, 981+ bugged     |
 | 21    | same of 21                 |
 | 22    | 40 in 1, clipped list      |
 | 23~31 | blue screen                |
 | 32    | 420 in 1                   |
 | 33    | 460 in 1 (same of 1) $21   |
 | 34    | 500 in 1 (same of 2) $22   |
 +-------+----------------------------+