some fixes for some configurations

git-svn-id: file:///home/notaz/opt/svn/PicoDrive@175 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-06-26 21:13:40 +00:00
parent a67855765d
commit a9a5a6e0b1
4 changed files with 9 additions and 9 deletions

View file

@ -32,7 +32,7 @@ void ltorg()
else ot(" .ltorg\n"); else ot(" .ltorg\n");
} }
#if CYCLONE_FOR_GENESIS #if (CYCLONE_FOR_GENESIS == 2)
// r12=ptr to tas in table, trashes r0,r1 // r12=ptr to tas in table, trashes r0,r1
static void ChangeTAS(int norm) static void ChangeTAS(int norm)
{ {
@ -186,7 +186,7 @@ static void PrintFramework()
ot("CycloneEnd%s\n", ms?"":":"); ot("CycloneEnd%s\n", ms?"":":");
ot(" sub r4,r4,#2\n"); ot(" sub r4,r4,#2\n");
ot("CycloneEndNoBack%s\n", ms?"":":"); ot("CycloneEndNoBack%s\n", ms?"":":");
#ifdef CYCLONE_FOR_PICODRIVE #if (CYCLONE_FOR_GENESIS == 2)
ot(" ldr r1,[r7,#0x54]\n"); ot(" ldr r1,[r7,#0x54]\n");
ot(" mov r9,r9,lsr #28\n"); ot(" mov r9,r9,lsr #28\n");
ot(" tst r1,r1\n"); ot(" tst r1,r1\n");
@ -306,7 +306,7 @@ static void PrintFramework()
if (ms) ot("CycloneSetRealTAS\n"); if (ms) ot("CycloneSetRealTAS\n");
else ot("CycloneSetRealTAS:\n"); else ot("CycloneSetRealTAS:\n");
#if CYCLONE_FOR_GENESIS #if (CYCLONE_FOR_GENESIS == 2)
ot(" ldr r12,=CycloneJumpTab\n"); ot(" ldr r12,=CycloneJumpTab\n");
ot(" tst r0,r0\n"); ot(" tst r0,r0\n");
ot(" add r12,r12,#0x4a00*4\n"); ot(" add r12,r12,#0x4a00*4\n");
@ -691,7 +691,7 @@ static int CycloneMake()
ot(" .global CycloneGetSr\n"); ot(" .global CycloneGetSr\n");
ot(" .global CycloneSetRealTAS\n"); ot(" .global CycloneSetRealTAS\n");
ot(" .global CycloneVer\n"); ot(" .global CycloneVer\n");
#ifdef CYCLONE_FOR_PICODRIVE #if (CYCLONE_FOR_GENESIS == 2)
ot(" .global CycloneDoInterrupt\n"); ot(" .global CycloneDoInterrupt\n");
ot(" .global CycloneJumpTab\n"); ot(" .global CycloneJumpTab\n");
#endif #endif

View file

@ -148,7 +148,7 @@ int OpNeg(int op)
OpStart(op,ea); Cycles=size<2?4:6; OpStart(op,ea); Cycles=size<2?4:6;
if(ea >= 0x10) { if(ea >= 0x10) {
Cycles*=2; Cycles*=2;
#ifdef CYCLONE_FOR_GENESIS #if CYCLONE_FOR_GENESIS
// This is same as in Starscream core, CLR uses only 6 cycles for memory EAs. // This is same as in Starscream core, CLR uses only 6 cycles for memory EAs.
// May be this is similar case as with TAS opcode, but this time the dummy // May be this is similar case as with TAS opcode, but this time the dummy
// read is ignored somehow? Without this hack Fatal Rewind hangs even in Gens. // read is ignored somehow? Without this hack Fatal Rewind hangs even in Gens.
@ -672,7 +672,7 @@ int OpTas(int op, int gen_special)
OpEnd(); OpEnd();
#if CYCLONE_FOR_GENESIS #if (CYCLONE_FOR_GENESIS == 2)
if (!gen_special && ea >= 0x10) { if (!gen_special && ea >= 0x10) {
OpTas(op, 1); OpTas(op, 1);
} }

View file

@ -18,7 +18,7 @@
* the write-back phase. That will be emulated, if this option is enabled. * the write-back phase. That will be emulated, if this option is enabled.
* This option also alters timing slightly. * This option also alters timing slightly.
*/ */
#define CYCLONE_FOR_GENESIS 1 #define CYCLONE_FOR_GENESIS 2
/* /*
* This option compresses Cyclone's jumptable. Because of this the executable * This option compresses Cyclone's jumptable. Because of this the executable
@ -35,7 +35,7 @@
* Using 0xff000000 means that only 24 least significant bits should be used. * Using 0xff000000 means that only 24 least significant bits should be used.
* Set to 0 if you want to mask unused address bits in the memory handlers yourself. * Set to 0 if you want to mask unused address bits in the memory handlers yourself.
*/ */
#define MEMHANDLERS_ADDR_MASK 0xff000000 #define MEMHANDLERS_ADDR_MASK 0
/* /*
* Cyclone keeps the 4 least significant bits of SR, PC+membase and it's cycle * Cyclone keeps the 4 least significant bits of SR, PC+membase and it's cycle

View file

@ -1,4 +1,4 @@
CFLAGS = -Wall -DCYCLONE_FOR_PICODRIVE CFLAGS = -Wall
all : cyclone.s all : cyclone.s