NES mappers - remove documentation comments in favor of the nesdev wiki link
This commit is contained in:
parent
f022954554
commit
d60a00d682
|
@ -2,55 +2,14 @@
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Nintendo.NES
|
namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
{
|
{
|
||||||
|
// http://wiki.nesdev.com/w/index.php/INES_Mapper_193
|
||||||
public sealed class Mapper193 : NES.NESBoardBase
|
public sealed class Mapper193 : NES.NESBoardBase
|
||||||
{
|
{
|
||||||
/*
|
private int prg_bank_mask_8k;
|
||||||
* ========================
|
private byte[] prg_banks_8k = new byte[4];
|
||||||
= Mapper 193 =
|
|
||||||
========================
|
|
||||||
|
|
||||||
|
private int chr_bank_mask_2k;
|
||||||
Example Game:
|
private byte[] chr_banks_2k = new byte[4];
|
||||||
--------------------------
|
|
||||||
Fighting Hero (Unl)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Registers:
|
|
||||||
---------------------------
|
|
||||||
Regs at $6000-7FFF = no SRAM
|
|
||||||
|
|
||||||
Range,Mask: $6000-7FFF, $6003
|
|
||||||
|
|
||||||
|
|
||||||
$6000: CHR Reg 0
|
|
||||||
$6001: CHR Reg 1
|
|
||||||
$6002: CHR Reg 2
|
|
||||||
$6003: PRG Reg
|
|
||||||
|
|
||||||
|
|
||||||
CHR Setup:
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
$0000 $0400 $0800 $0C00 $1000 $1400 $1800 $1C00
|
|
||||||
+-------------------------------+---------------+---------------+
|
|
||||||
| <<$6000>> | <$6001> | <$6002> |
|
|
||||||
+-------------------------------+---------------+---------------+
|
|
||||||
|
|
||||||
PRG Setup:
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
$8000 $A000 $C000 $E000
|
|
||||||
+-------+-------+-------+-------+
|
|
||||||
| $6003 | { -3} | { -2} | { -1} |
|
|
||||||
+-------+-------+-------+-------+
|
|
||||||
*/
|
|
||||||
|
|
||||||
int prg_bank_mask_8k;
|
|
||||||
byte[] prg_banks_8k = new byte[4];
|
|
||||||
|
|
||||||
int chr_bank_mask_2k;
|
|
||||||
byte[] chr_banks_2k = new byte[4];
|
|
||||||
|
|
||||||
public override bool Configure(NES.EDetectionOrigin origin)
|
public override bool Configure(NES.EDetectionOrigin origin)
|
||||||
{
|
{
|
||||||
|
@ -76,7 +35,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SyncMap()
|
private void SyncMap()
|
||||||
{
|
{
|
||||||
ApplyMemoryMapMask(prg_bank_mask_8k, prg_banks_8k);
|
ApplyMemoryMapMask(prg_bank_mask_8k, prg_banks_8k);
|
||||||
ApplyMemoryMapMask(chr_bank_mask_2k, chr_banks_2k);
|
ApplyMemoryMapMask(chr_bank_mask_2k, chr_banks_2k);
|
||||||
|
@ -118,10 +77,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
addr = ApplyMemoryMap(11, chr_banks_2k, addr);
|
addr = ApplyMemoryMap(11, chr_banks_2k, addr);
|
||||||
return base.ReadPPUChr(addr);
|
return base.ReadPPUChr(addr);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
return base.ReadPPU(addr);
|
||||||
return base.ReadPPU(addr);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override byte ReadPRG(int addr)
|
public override byte ReadPRG(int addr)
|
||||||
|
|
|
@ -3,68 +3,14 @@ using BizHawk.Common.NumberExtensions;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Nintendo.NES
|
namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
{
|
{
|
||||||
|
// http://wiki.nesdev.com/w/index.php/INES_Mapper_082
|
||||||
public sealed class Taito_X1_017 : NES.NESBoardBase
|
public sealed class Taito_X1_017 : NES.NESBoardBase
|
||||||
{
|
{
|
||||||
/*
|
private int prg_bank_mask, chr_bank_mask;
|
||||||
ines Mapper 82
|
private byte[] prg_regs_8k = new byte[4];
|
||||||
http://wiki.nesdev.com/w/index.php/INES_Mapper_082
|
private byte[] chr_regs_1k = new byte[8];
|
||||||
|
private bool ChrMode;
|
||||||
* Example Games:
|
private bool[] wramenable = new bool[3];
|
||||||
--------------------------
|
|
||||||
SD Keiji - Blader
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Notes:
|
|
||||||
---------------------------
|
|
||||||
Regs appear at $7EFx, I'm unsure whether or not PRG-RAM can exist at $6000-7FFF
|
|
||||||
|
|
||||||
|
|
||||||
Registers:
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
$7EF0-7EF5: CHR Regs
|
|
||||||
|
|
||||||
$7EF6: [.... ..CM] CHR Mode/Mirroring
|
|
||||||
C = CHR Mode select
|
|
||||||
M = Mirroring:
|
|
||||||
0 = Horz
|
|
||||||
1 = Vert
|
|
||||||
|
|
||||||
$7EFA: [PPPP PP..] PRG Reg 0 (8k @ $8000)
|
|
||||||
$7EFB: [PPPP PP..] PRG Reg 1 (8k @ $A000)
|
|
||||||
$7EFC: [PPPP PP..] PRG Reg 2 (8k @ $C000)
|
|
||||||
|
|
||||||
|
|
||||||
CHR Setup:
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
$0000 $0400 $0800 $0C00 $1000 $1400 $1800 $1C00
|
|
||||||
+---------------+---------------+-------+-------+-------+-------+
|
|
||||||
CHR Mode 0: | <$7EF0> | <$7EF1> | $7EF2 | $7EF3 | $7EF4 | $7EF5 |
|
|
||||||
+---------------+---------------+---------------+---------------+
|
|
||||||
CHR Mode 1: | $7EF2 | $7EF3 | $7EF4 | $7EF5 | <$7EF0> | <$7EF1> |
|
|
||||||
+-------+-------+-------+-------+---------------+---------------+
|
|
||||||
|
|
||||||
|
|
||||||
PRG Setup:
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
$8000 $A000 $C000 $E000
|
|
||||||
+-------+-------+-------+-------+
|
|
||||||
| $7EFA | $7EFB | $7EFC | { -1} |
|
|
||||||
+-------+-------+-------+-------+
|
|
||||||
|
|
||||||
Note: remember that the low 2 bits are not used (right-shift written values by 2)
|
|
||||||
*/
|
|
||||||
|
|
||||||
// config
|
|
||||||
int prg_bank_mask, chr_bank_mask;
|
|
||||||
// state
|
|
||||||
byte[] prg_regs_8k = new byte[4];
|
|
||||||
byte[] chr_regs_1k = new byte[8];
|
|
||||||
bool ChrMode;
|
|
||||||
bool[] wramenable = new bool[3];
|
|
||||||
|
|
||||||
public override void SyncState(Serializer ser)
|
public override void SyncState(Serializer ser)
|
||||||
{
|
{
|
||||||
|
@ -102,9 +48,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
public override byte ReadWRAM(int addr)
|
public override byte ReadWRAM(int addr)
|
||||||
{
|
{
|
||||||
if (addr < 0x1400 && wramenable[addr >> 11])
|
if (addr < 0x1400 && wramenable[addr >> 11])
|
||||||
|
{
|
||||||
return WRAM[addr];
|
return WRAM[addr];
|
||||||
else
|
}
|
||||||
return NES.DB;
|
|
||||||
|
return NES.DB;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void WriteWRAM(int addr, byte value)
|
public override void WriteWRAM(int addr, byte value)
|
||||||
|
@ -187,10 +135,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||||
addr = (bank_1k << 10) | ofs;
|
addr = (bank_1k << 10) | ofs;
|
||||||
return VROM[addr];
|
return VROM[addr];
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
return base.ReadPPU(addr);
|
||||||
return base.ReadPPU(addr);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue