Add mapper 256 submapper 12.
This commit is contained in:
committed by
LibretroAdmin
parent
00c0ff9122
commit
cbc5270746
@@ -119,7 +119,9 @@ static void CSync(int AND, int OR) {
|
|||||||
static void Sync256(void) {
|
static void Sync256(void) {
|
||||||
PSync(0x0FFF, 0x000);
|
PSync(0x0FFF, 0x000);
|
||||||
CSync(0x7FFF, 0x000);
|
CSync(0x7FFF, 0x000);
|
||||||
encryptOpcodes =submapper ==14 && cpu410x[0x1C] &0x40? 67: 0;
|
encryptOpcodes =0;
|
||||||
|
if (submapper ==12 && cpu410x[0x1C] &0x40) encryptOpcodes =12;
|
||||||
|
if (submapper ==14 && cpu410x[0x1C] &0x40) encryptOpcodes =14;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const uint8 cpuMangles[16][4] = {
|
static const uint8 cpuMangles[16][4] = {
|
||||||
@@ -135,7 +137,7 @@ static const uint8 cpuMangles[16][4] = {
|
|||||||
{ 0, 1, 2, 3 }, /* Submapper 9: unused so far */
|
{ 0, 1, 2, 3 }, /* Submapper 9: unused so far */
|
||||||
{ 0, 1, 2, 3 }, /* Submapper A: unused so far */
|
{ 0, 1, 2, 3 }, /* Submapper A: unused so far */
|
||||||
{ 0, 1, 2, 3 }, /* Submapper B: unused so far */
|
{ 0, 1, 2, 3 }, /* Submapper B: unused so far */
|
||||||
{ 0, 1, 2, 3 }, /* Submapper C: unused so far */
|
{ 0, 1, 2, 3 }, /* Submapper C: Cheertone (CPU opcode encryption only) */
|
||||||
{ 0, 1, 2, 3 }, /* Submapper D: Cube Tech (CPU opcode encryption only) */
|
{ 0, 1, 2, 3 }, /* Submapper D: Cube Tech (CPU opcode encryption only) */
|
||||||
{ 0, 1, 2, 3 }, /* Submapper E: Karaoto (CPU opcode encryption only) */
|
{ 0, 1, 2, 3 }, /* Submapper E: Karaoto (CPU opcode encryption only) */
|
||||||
{ 0, 1, 2, 3 } /* Submapper F: Jungletac (CPU opcode encryption only) */
|
{ 0, 1, 2, 3 } /* Submapper F: Jungletac (CPU opcode encryption only) */
|
||||||
@@ -324,7 +326,7 @@ static void UNLOneBusPower(void) {
|
|||||||
memset(ppu201x, 0x00, sizeof(ppu201x));
|
memset(ppu201x, 0x00, sizeof(ppu201x));
|
||||||
memset(apu40xx, 0x00, sizeof(apu40xx));
|
memset(apu40xx, 0x00, sizeof(apu40xx));
|
||||||
cpu410x[0x0F] =0xFF;
|
cpu410x[0x0F] =0xFF;
|
||||||
cpu410x[0x1C] =submapper ==14? 0x40: 0x00;
|
cpu410x[0x1C] =submapper ==12 || submapper ==14? 0x40: 0x00;
|
||||||
|
|
||||||
SetupCartCHRMapping(0, PRGptr[0], PRGsize[0], 0);
|
SetupCartCHRMapping(0, PRGptr[0], PRGsize[0], 0);
|
||||||
|
|
||||||
@@ -356,7 +358,7 @@ static void UNLOneBusReset(void) {
|
|||||||
memset(ppu201x, 0x00, sizeof(ppu201x));
|
memset(ppu201x, 0x00, sizeof(ppu201x));
|
||||||
memset(apu40xx, 0x00, sizeof(apu40xx));
|
memset(apu40xx, 0x00, sizeof(apu40xx));
|
||||||
cpu410x[0x0F] =0xFF;
|
cpu410x[0x0F] =0xFF;
|
||||||
cpu410x[0x1C] =submapper ==14? 0x40: 0x00;
|
cpu410x[0x1C] =submapper ==12 || submapper ==14? 0x40: 0x00;
|
||||||
reg4242 =0;
|
reg4242 =0;
|
||||||
dipswitch ^=8;
|
dipswitch ^=8;
|
||||||
|
|
||||||
|
|||||||
@@ -492,7 +492,8 @@ static void X6502_RunDebug(int32 cycles) {
|
|||||||
X.preexec = 1;
|
X.preexec = 1;
|
||||||
b1 = RdMem(_PC);
|
b1 = RdMem(_PC);
|
||||||
_PC++;
|
_PC++;
|
||||||
if (encryptOpcodes ==67) b1 =b1 &0x3F | b1 >>1 &0x40 | b1 <<1 &0x80;
|
if (encryptOpcodes ==12) b1 =b1 &0x39 | b1 >>1 &0x42 | b1 <<1 &0x84;
|
||||||
|
if (encryptOpcodes ==14) b1 =b1 &0x3F | b1 >>1 &0x40 | b1 <<1 &0x80;
|
||||||
switch (b1) {
|
switch (b1) {
|
||||||
#include "ops.h"
|
#include "ops.h"
|
||||||
}
|
}
|
||||||
@@ -522,7 +523,8 @@ static void X6502_RunDebug(int32 cycles) {
|
|||||||
FCEU_SoundCPUHook(temp);
|
FCEU_SoundCPUHook(temp);
|
||||||
|
|
||||||
_PC++;
|
_PC++;
|
||||||
if (encryptOpcodes ==67) b1 =b1 &0x3F | b1 >>1 &0x40 | b1 <<1 &0x80;
|
if (encryptOpcodes ==12) b1 =b1 &0x39 | b1 >>1 &0x42 | b1 <<1 &0x84;
|
||||||
|
if (encryptOpcodes ==14) b1 =b1 &0x3F | b1 >>1 &0x40 | b1 <<1 &0x80;
|
||||||
switch (b1) {
|
switch (b1) {
|
||||||
#include "ops.h"
|
#include "ops.h"
|
||||||
}
|
}
|
||||||
@@ -620,7 +622,8 @@ void X6502_Run(int32 cycles)
|
|||||||
FCEU_SoundCPUHook(temp);
|
FCEU_SoundCPUHook(temp);
|
||||||
X.PC = pbackus;
|
X.PC = pbackus;
|
||||||
_PC++;
|
_PC++;
|
||||||
if (encryptOpcodes ==67) b1 =b1 &0x3F | b1 >>1 &0x40 | b1 <<1 &0x80;
|
if (encryptOpcodes ==12) b1 =b1 &0x39 | b1 >>1 &0x42 | b1 <<1 &0x84;
|
||||||
|
if (encryptOpcodes ==14) b1 =b1 &0x3F | b1 >>1 &0x40 | b1 <<1 &0x80;
|
||||||
switch (b1) {
|
switch (b1) {
|
||||||
#include "ops.h"
|
#include "ops.h"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user