mirror of https://github.com/stella-emu/stella.git
Cleaned up formatting in Thumb ARM emulation code.
Wrapped THUMB ARM emulation in a define, so that it can be excluded from builds. To enable it, the 'THUMB_SUPPORT' directive must be included in the build process. This has been added to the OSX project files, but is still TODO for Linux and Windows. Removed some obsolete include paths from the OSX project files, dating back about 5 years or so. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2215 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
bcb8dfbc2b
commit
72185d0848
|
@ -62,9 +62,11 @@ CartridgeDPCPlus::CartridgeDPCPlus(const uInt8* image, uInt32 size,
|
|||
myFrequencyImage += offset;
|
||||
}
|
||||
|
||||
#ifdef THUMB_SUPPORT
|
||||
// Create Thumbulator ARM emulator
|
||||
myThumbEmulator = new Thumbulator((uInt16*)(myProgramImage-0xC00),
|
||||
(uInt16*)myDPCRAM);
|
||||
#endif
|
||||
|
||||
// Copy DPC display data to Harmony RAM
|
||||
memcpy(myDisplayImage, myProgramImage + 0x6000, 0x1000);
|
||||
|
@ -89,7 +91,9 @@ CartridgeDPCPlus::~CartridgeDPCPlus()
|
|||
delete[] myImage;
|
||||
delete[] myDPCRAM;
|
||||
|
||||
#ifdef THUMB_SUPPORT
|
||||
delete myThumbEmulator;
|
||||
#endif
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -194,12 +198,13 @@ inline void CartridgeDPCPlus::callFunction(uInt8 value)
|
|||
myDisplayImage[myCounters[myParameter[2]]+i] = myParameter[0];
|
||||
myParameterPointer = 0;
|
||||
break;
|
||||
#ifdef THUMB_SUPPORT
|
||||
case 254:
|
||||
case 255: // Call user writen ARM code (most likely be C compiled for ARM).
|
||||
// ARM code not supported by Stella at this time.
|
||||
|
||||
case 255:
|
||||
// Call user written ARM code (most likely be C compiled for ARM)
|
||||
myThumbEmulator->run();
|
||||
break;
|
||||
#endif
|
||||
// reserved
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,9 @@
|
|||
#define CARTRIDGE_DPC_PLUS_HXX
|
||||
|
||||
class System;
|
||||
#ifdef THUMB_SUPPORT
|
||||
class Thumbulator;
|
||||
#endif
|
||||
|
||||
#include "bspf.hxx"
|
||||
#include "Cart.hxx"
|
||||
|
@ -182,8 +184,10 @@ class CartridgeDPCPlus : public Cartridge
|
|||
// Pointer to the DPC 8k RAM image
|
||||
uInt8* myDPCRAM;
|
||||
|
||||
#ifdef THUMB_SUPPORT
|
||||
// Pointer to the Thumb ARM emulator object
|
||||
Thumbulator* myThumbEmulator;
|
||||
#endif
|
||||
|
||||
// Pointer to the 1K frequency table
|
||||
uInt8* myFrequencyImage;
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
// Code is public domain and used with the author's consent
|
||||
//============================================================================
|
||||
|
||||
#ifdef THUMB_SUPPORT
|
||||
|
||||
#include <cstdio>
|
||||
|
||||
#include "bspf.hxx"
|
||||
|
@ -822,11 +824,13 @@ int Thumbulator::execute ( void )
|
|||
if((inst&0xF800)==0xE000)
|
||||
{
|
||||
rb=(inst>>0)&0x7FF;
|
||||
if(rb&(1<<10)) rb|=(~0)<<11;
|
||||
if(rb&(1<<10))
|
||||
rb|=(~0)<<11;
|
||||
rb<<=1;
|
||||
rb+=pc;
|
||||
rb+=2;
|
||||
if(DISS) fprintf(stderr,"B 0x%08X\n",rb-3);
|
||||
if(DISS)
|
||||
fprintf(stderr,"B 0x%08X\n",rb-3);
|
||||
write_register(15,rb);
|
||||
return(0);
|
||||
}
|
||||
|
@ -836,7 +840,8 @@ if(DISS) fprintf(stderr,"B 0x%08X\n",rb-3);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"bics r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"bics r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rd);
|
||||
rb=read_register(rm);
|
||||
rc=ra&(~rb);
|
||||
|
@ -859,27 +864,28 @@ if(DISS) fprintf(stderr,"bics r%u,r%u\n",rd,rm);
|
|||
{
|
||||
if((inst&0x1800)==0x1000) //H=b10
|
||||
{
|
||||
if(DISS) fprintf(stderr,"\n");
|
||||
if(DISS)
|
||||
fprintf(stderr,"\n");
|
||||
halfadd=inst;
|
||||
return(0);
|
||||
}
|
||||
else
|
||||
if((inst&0x1800)==0x1800) //H=b11
|
||||
else if((inst&0x1800)==0x1800) //H=b11
|
||||
{
|
||||
//branch to thumb
|
||||
rb=halfadd&((1<<11)-1);
|
||||
if(rb&1<<10) rb|=(~((1<<11)-1)); //sign extend
|
||||
if(rb&1<<10)
|
||||
rb|=(~((1<<11)-1)); //sign extend
|
||||
rb<<=11;
|
||||
rb|=inst&((1<<11)-1);
|
||||
rb<<=1;
|
||||
rb+=pc;
|
||||
if(DISS) fprintf(stderr,"bl 0x%08X\n",rb-3);
|
||||
if(DISS)
|
||||
fprintf(stderr,"bl 0x%08X\n",rb-3);
|
||||
write_register(14,pc-2);
|
||||
write_register(15,rb);
|
||||
return(0);
|
||||
}
|
||||
else
|
||||
if((inst&0x1800)==0x0800) //H=b01
|
||||
else if((inst&0x1800)==0x0800) //H=b01
|
||||
{
|
||||
//fprintf(stderr,"cannot branch to arm 0x%08X 0x%04X\n",pc,inst);
|
||||
// fxq: this should exit the code without having to detect it
|
||||
|
@ -891,9 +897,10 @@ if(DISS) fprintf(stderr,"bl 0x%08X\n",rb-3);
|
|||
if((inst&0xFF87)==0x4780)
|
||||
{
|
||||
rm=(inst>>3)&0xF;
|
||||
if(DISS) fprintf(stderr,"blx r%u\n",rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"blx r%u\n",rm);
|
||||
rc=read_register(rm);
|
||||
//fprintf(stderr,"blx r%u 0x%X 0x%X\n",rm,rc,pc);
|
||||
//fprintf(stderr,"blx r%u 0x%X 0x%X\n",rm,rc,pc);
|
||||
rc+=2;
|
||||
if(rc&1)
|
||||
{
|
||||
|
@ -913,10 +920,11 @@ if(DISS) fprintf(stderr,"blx r%u\n",rm);
|
|||
if((inst&0xFF87)==0x4700)
|
||||
{
|
||||
rm=(inst>>3)&0xF;
|
||||
if(DISS) fprintf(stderr,"bx r%u\n",rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"bx r%u\n",rm);
|
||||
rc=read_register(rm);
|
||||
rc+=2;
|
||||
//fprintf(stderr,"bx r%u 0x%X 0x%X\n",rm,rc,pc);
|
||||
//fprintf(stderr,"bx r%u 0x%X 0x%X\n",rm,rc,pc);
|
||||
if(rc&1)
|
||||
{
|
||||
write_register(15,rc);
|
||||
|
@ -935,7 +943,8 @@ if(DISS) fprintf(stderr,"bx r%u\n",rm);
|
|||
{
|
||||
rn=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"cmns r%u,r%u\n",rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"cmns r%u,r%u\n",rn,rm);
|
||||
ra=read_register(rn);
|
||||
rb=read_register(rm);
|
||||
rc=ra+rb;
|
||||
|
@ -951,10 +960,11 @@ if(DISS) fprintf(stderr,"cmns r%u,r%u\n",rn,rm);
|
|||
{
|
||||
rb=(inst>>0)&0xFF;
|
||||
rn=(inst>>8)&0x07;
|
||||
if(DISS) fprintf(stderr,"cmp r%u,#0x%02X\n",rn,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"cmp r%u,#0x%02X\n",rn,rb);
|
||||
ra=read_register(rn);
|
||||
rc=ra-rb;
|
||||
//fprintf(stderr,"0x%08X 0x%08X\n",ra,rb);
|
||||
//fprintf(stderr,"0x%08X 0x%08X\n",ra,rb);
|
||||
do_nflag(rc);
|
||||
do_zflag(rc);
|
||||
do_cflag(ra,~rb,1);
|
||||
|
@ -967,11 +977,12 @@ if(DISS) fprintf(stderr,"cmp r%u,#0x%02X\n",rn,rb);
|
|||
{
|
||||
rn=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"cmps r%u,r%u\n",rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"cmps r%u,r%u\n",rn,rm);
|
||||
ra=read_register(rn);
|
||||
rb=read_register(rm);
|
||||
rc=ra-rb;
|
||||
//fprintf(stderr,"0x%08X 0x%08X\n",ra,rb);
|
||||
//fprintf(stderr,"0x%08X 0x%08X\n",ra,rb);
|
||||
do_nflag(rc);
|
||||
do_zflag(rc);
|
||||
do_cflag(ra,~rb,1);
|
||||
|
@ -993,7 +1004,8 @@ if(DISS) fprintf(stderr,"cmps r%u,r%u\n",rn,rm);
|
|||
//UNPREDICTABLE
|
||||
}
|
||||
rm=(inst>>3)&0xF;
|
||||
if(DISS) fprintf(stderr,"cmps r%u,r%u\n",rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"cmps r%u,r%u\n",rn,rm);
|
||||
ra=read_register(rn);
|
||||
rb=read_register(rm);
|
||||
rc=ra-rb;
|
||||
|
@ -1001,21 +1013,22 @@ if(DISS) fprintf(stderr,"cmps r%u,r%u\n",rn,rm);
|
|||
do_zflag(rc);
|
||||
do_cflag(ra,~rb,1);
|
||||
do_sub_vflag(ra,rb,rc);
|
||||
if(0)
|
||||
{
|
||||
|
||||
#if 0
|
||||
if(cpsr&CPSR_N) fprintf(stderr,"N"); else fprintf(stderr,"n");
|
||||
if(cpsr&CPSR_Z) fprintf(stderr,"Z"); else fprintf(stderr,"z");
|
||||
if(cpsr&CPSR_C) fprintf(stderr,"C"); else fprintf(stderr,"c");
|
||||
if(cpsr&CPSR_V) fprintf(stderr,"V"); else fprintf(stderr,"v");
|
||||
fprintf(stderr," -- 0x%08X 0x%08X\n",ra,rb);
|
||||
}
|
||||
#endif
|
||||
return(0);
|
||||
}
|
||||
|
||||
//CPS
|
||||
if((inst&0xFFE8)==0xB660)
|
||||
{
|
||||
if(DISS) fprintf(stderr,"cps TODO\n");
|
||||
if(DISS)
|
||||
fprintf(stderr,"cps TODO\n");
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
@ -1026,7 +1039,8 @@ if(DISS) fprintf(stderr,"cps TODO\n");
|
|||
//going to let mov handle high registers
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"cpy r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"cpy r%u,r%u\n",rd,rm);
|
||||
rc=read_register(rm);
|
||||
write_register(rd,rc);
|
||||
return(0);
|
||||
|
@ -1037,7 +1051,8 @@ if(DISS) fprintf(stderr,"cpy r%u,r%u\n",rd,rm);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"eors r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"eors r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rd);
|
||||
rb=read_register(rm);
|
||||
rc=ra^rb;
|
||||
|
@ -1051,8 +1066,8 @@ if(DISS) fprintf(stderr,"eors r%u,r%u\n",rd,rm);
|
|||
if((inst&0xF800)==0xC800)
|
||||
{
|
||||
rn=(inst>>8)&0x7;
|
||||
if(DISS)
|
||||
{
|
||||
if(DISS)
|
||||
{
|
||||
fprintf(stderr,"ldmia r%u!,{",rn);
|
||||
for(ra=0,rb=0x01,rc=0;rb;rb=(rb<<1)&0xFF,ra++)
|
||||
{
|
||||
|
@ -1064,7 +1079,7 @@ if(DISS)
|
|||
}
|
||||
}
|
||||
fprintf(stderr,"}\n");
|
||||
}
|
||||
}
|
||||
sp=read_register(rn);
|
||||
for(ra=0,rb=0x01;rb;rb=(rb<<1)&0xFF,ra++)
|
||||
{
|
||||
|
@ -1085,7 +1100,8 @@ if(DISS)
|
|||
rn=(inst>>3)&0x07;
|
||||
rb=(inst>>6)&0x1F;
|
||||
rb<<=2;
|
||||
if(DISS) fprintf(stderr,"ldr r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldr r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
rb=read_register(rn)+rb;
|
||||
rc=read32(rb);
|
||||
write_register(rd,rc);
|
||||
|
@ -1098,7 +1114,8 @@ if(DISS) fprintf(stderr,"ldr r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
|||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
rm=(inst>>6)&0x7;
|
||||
if(DISS) fprintf(stderr,"ldr r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldr r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
rb=read_register(rn)+read_register(rm);
|
||||
rc=read32(rb);
|
||||
write_register(rd,rc);
|
||||
|
@ -1111,11 +1128,13 @@ if(DISS) fprintf(stderr,"ldr r%u,[r%u,r%u]\n",rd,rn,rm);
|
|||
rb=(inst>>0)&0xFF;
|
||||
rd=(inst>>8)&0x07;
|
||||
rb<<=2;
|
||||
if(DISS) fprintf(stderr,"ldr r%u,[PC+#0x%X] ",rd,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldr r%u,[PC+#0x%X] ",rd,rb);
|
||||
ra=read_register(15);
|
||||
ra&=~3;
|
||||
rb+=ra;
|
||||
if(DISS) fprintf(stderr,";@ 0x%X\n",rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,";@ 0x%X\n",rb);
|
||||
rc=read32(rb);
|
||||
write_register(rd,rc);
|
||||
return(0);
|
||||
|
@ -1127,7 +1146,8 @@ if(DISS) fprintf(stderr,";@ 0x%X\n",rb);
|
|||
rb=(inst>>0)&0xFF;
|
||||
rd=(inst>>8)&0x07;
|
||||
rb<<=2;
|
||||
if(DISS) fprintf(stderr,"ldr r%u,[SP+#0x%X]\n",rd,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldr r%u,[SP+#0x%X]\n",rd,rb);
|
||||
ra=read_register(13);
|
||||
//ra&=~3;
|
||||
rb+=ra;
|
||||
|
@ -1142,7 +1162,8 @@ if(DISS) fprintf(stderr,"ldr r%u,[SP+#0x%X]\n",rd,rb);
|
|||
rd=(inst>>0)&0x07;
|
||||
rn=(inst>>3)&0x07;
|
||||
rb=(inst>>6)&0x1F;
|
||||
if(DISS) fprintf(stderr,"ldrb r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldrb r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
rb=read_register(rn)+rb;
|
||||
rc=read16(rb&(~1));
|
||||
if(rb&1)
|
||||
|
@ -1162,7 +1183,8 @@ if(DISS) fprintf(stderr,"ldrb r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
|||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
rm=(inst>>6)&0x7;
|
||||
if(DISS) fprintf(stderr,"ldrb r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldrb r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
rb=read_register(rn)+read_register(rm);
|
||||
rc=read16(rb&(~1));
|
||||
if(rb&1)
|
||||
|
@ -1183,7 +1205,8 @@ if(DISS) fprintf(stderr,"ldrb r%u,[r%u,r%u]\n",rd,rn,rm);
|
|||
rn=(inst>>3)&0x07;
|
||||
rb=(inst>>6)&0x1F;
|
||||
rb<<=1;
|
||||
if(DISS) fprintf(stderr,"ldrh r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldrh r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
rb=read_register(rn)+rb;
|
||||
rc=read16(rb);
|
||||
write_register(rd,rc&0xFFFF);
|
||||
|
@ -1196,7 +1219,8 @@ if(DISS) fprintf(stderr,"ldrh r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
|||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
rm=(inst>>6)&0x7;
|
||||
if(DISS) fprintf(stderr,"ldrh r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldrh r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
rb=read_register(rn)+read_register(rm);
|
||||
rc=read16(rb);
|
||||
write_register(rd,rc&0xFFFF);
|
||||
|
@ -1209,7 +1233,8 @@ if(DISS) fprintf(stderr,"ldrh r%u,[r%u,r%u]\n",rd,rn,rm);
|
|||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
rm=(inst>>6)&0x7;
|
||||
if(DISS) fprintf(stderr,"ldrsb r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldrsb r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
rb=read_register(rn)+read_register(rm);
|
||||
rc=read16(rb&(~1));
|
||||
if(rb&1)
|
||||
|
@ -1231,7 +1256,8 @@ if(DISS) fprintf(stderr,"ldrsb r%u,[r%u,r%u]\n",rd,rn,rm);
|
|||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
rm=(inst>>6)&0x7;
|
||||
if(DISS) fprintf(stderr,"ldrsh r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"ldrsh r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
rb=read_register(rn)+read_register(rm);
|
||||
rc=read16(rb);
|
||||
rc&=0xFFFF;
|
||||
|
@ -1246,7 +1272,8 @@ if(DISS) fprintf(stderr,"ldrsh r%u,[r%u,r%u]\n",rd,rn,rm);
|
|||
rd=(inst>>0)&0x07;
|
||||
rm=(inst>>3)&0x07;
|
||||
rb=(inst>>6)&0x1F;
|
||||
if(DISS) fprintf(stderr,"lsls r%u,r%u,#0x%X\n",rd,rm,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"lsls r%u,r%u,#0x%X\n",rd,rm,rb);
|
||||
rc=read_register(rm);
|
||||
if(rb==0)
|
||||
{
|
||||
|
@ -1271,7 +1298,8 @@ if(DISS) fprintf(stderr,"lsls r%u,r%u,#0x%X\n",rd,rm,rb);
|
|||
{
|
||||
rd=(inst>>0)&0x07;
|
||||
rs=(inst>>3)&0x07;
|
||||
if(DISS) fprintf(stderr,"lsls r%u,r%u\n",rd,rs);
|
||||
if(DISS)
|
||||
fprintf(stderr,"lsls r%u,r%u\n",rd,rs);
|
||||
rc=read_register(rd);
|
||||
rb=read_register(rs);
|
||||
rb&=0xFF;
|
||||
|
@ -1305,7 +1333,8 @@ if(DISS) fprintf(stderr,"lsls r%u,r%u\n",rd,rs);
|
|||
rd=(inst>>0)&0x07;
|
||||
rm=(inst>>3)&0x07;
|
||||
rb=(inst>>6)&0x1F;
|
||||
if(DISS) fprintf(stderr,"lsrs r%u,r%u,#0x%X\n",rd,rm,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"lsrs r%u,r%u,#0x%X\n",rd,rm,rb);
|
||||
rc=read_register(rm);
|
||||
if(rb==0)
|
||||
{
|
||||
|
@ -1328,7 +1357,8 @@ if(DISS) fprintf(stderr,"lsrs r%u,r%u,#0x%X\n",rd,rm,rb);
|
|||
{
|
||||
rd=(inst>>0)&0x07;
|
||||
rs=(inst>>3)&0x07;
|
||||
if(DISS) fprintf(stderr,"lsrs r%u,r%u\n",rd,rs);
|
||||
if(DISS)
|
||||
fprintf(stderr,"lsrs r%u,r%u\n",rd,rs);
|
||||
rc=read_register(rd);
|
||||
rb=read_register(rs);
|
||||
rb&=0xFF;
|
||||
|
@ -1361,7 +1391,8 @@ if(DISS) fprintf(stderr,"lsrs r%u,r%u\n",rd,rs);
|
|||
{
|
||||
rb=(inst>>0)&0xFF;
|
||||
rd=(inst>>8)&0x07;
|
||||
if(DISS) fprintf(stderr,"movs r%u,#0x%02X\n",rd,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"movs r%u,#0x%02X\n",rd,rb);
|
||||
write_register(rd,rb);
|
||||
do_nflag(rb);
|
||||
do_zflag(rb);
|
||||
|
@ -1373,9 +1404,10 @@ if(DISS) fprintf(stderr,"movs r%u,#0x%02X\n",rd,rb);
|
|||
{
|
||||
rd=(inst>>0)&7;
|
||||
rn=(inst>>3)&7;
|
||||
if(DISS) fprintf(stderr,"movs r%u,r%u\n",rd,rn);
|
||||
if(DISS)
|
||||
fprintf(stderr,"movs r%u,r%u\n",rd,rn);
|
||||
rc=read_register(rn);
|
||||
//fprintf(stderr,"0x%08X\n",rc);
|
||||
//fprintf(stderr,"0x%08X\n",rc);
|
||||
write_register(rd,rc);
|
||||
do_nflag(rc);
|
||||
do_zflag(rc);
|
||||
|
@ -1390,7 +1422,8 @@ if(DISS) fprintf(stderr,"movs r%u,r%u\n",rd,rn);
|
|||
rd=(inst>>0)&0x7;
|
||||
rd|=(inst>>4)&0x8;
|
||||
rm=(inst>>3)&0xF;
|
||||
if(DISS) fprintf(stderr,"mov r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"mov r%u,r%u\n",rd,rm);
|
||||
rc=read_register(rm);
|
||||
if (rd==15) rc+=2; // fxq fix for MOV R15
|
||||
write_register(rd,rc);
|
||||
|
@ -1402,7 +1435,8 @@ if(DISS) fprintf(stderr,"mov r%u,r%u\n",rd,rm);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"muls r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"muls r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rd);
|
||||
rb=read_register(rm);
|
||||
rc=ra*rb;
|
||||
|
@ -1417,7 +1451,8 @@ if(DISS) fprintf(stderr,"muls r%u,r%u\n",rd,rm);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"mvns r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"mvns r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rm);
|
||||
rc=(~ra);
|
||||
write_register(rd,rc);
|
||||
|
@ -1431,7 +1466,8 @@ if(DISS) fprintf(stderr,"mvns r%u,r%u\n",rd,rm);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"negs r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"negs r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rm);
|
||||
rc=0-ra;
|
||||
write_register(rd,rc);
|
||||
|
@ -1447,7 +1483,8 @@ if(DISS) fprintf(stderr,"negs r%u,r%u\n",rd,rm);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"orrs r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"orrs r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rd);
|
||||
rb=read_register(rm);
|
||||
rc=ra|rb;
|
||||
|
@ -1457,12 +1494,11 @@ if(DISS) fprintf(stderr,"orrs r%u,r%u\n",rd,rm);
|
|||
return(0);
|
||||
}
|
||||
|
||||
|
||||
//POP
|
||||
if((inst&0xFE00)==0xBC00)
|
||||
{
|
||||
if(DISS)
|
||||
{
|
||||
if(DISS)
|
||||
{
|
||||
fprintf(stderr,"pop {");
|
||||
for(ra=0,rb=0x01,rc=0;rb;rb=(rb<<1)&0xFF,ra++)
|
||||
{
|
||||
|
@ -1479,7 +1515,7 @@ if(DISS)
|
|||
fprintf(stderr,"pc");
|
||||
}
|
||||
fprintf(stderr,"}\n");
|
||||
}
|
||||
}
|
||||
|
||||
sp=read_register(13);
|
||||
for(ra=0,rb=0x01;rb;rb=(rb<<1)&0xFF,ra++)
|
||||
|
@ -1504,9 +1540,8 @@ if(DISS)
|
|||
//PUSH
|
||||
if((inst&0xFE00)==0xB400)
|
||||
{
|
||||
|
||||
if(DISS)
|
||||
{
|
||||
if(DISS)
|
||||
{
|
||||
fprintf(stderr,"push {");
|
||||
for(ra=0,rb=0x01,rc=0;rb;rb=(rb<<1)&0xFF,ra++)
|
||||
{
|
||||
|
@ -1523,10 +1558,10 @@ if(DISS)
|
|||
fprintf(stderr,"lr");
|
||||
}
|
||||
fprintf(stderr,"}\n");
|
||||
}
|
||||
}
|
||||
|
||||
sp=read_register(13);
|
||||
//fprintf(stderr,"sp 0x%08X\n",sp);
|
||||
//fprintf(stderr,"sp 0x%08X\n",sp);
|
||||
for(ra=0,rb=0x01,rc=0;rb;rb=(rb<<1)&0xFF,ra++)
|
||||
{
|
||||
if(inst&rb)
|
||||
|
@ -1559,7 +1594,8 @@ if(DISS)
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"rev r%u,r%u\n",rd,rn);
|
||||
if(DISS)
|
||||
fprintf(stderr,"rev r%u,r%u\n",rd,rn);
|
||||
ra=read_register(rn);
|
||||
rc =((ra>> 0)&0xFF)<<24;
|
||||
rc|=((ra>> 8)&0xFF)<<16;
|
||||
|
@ -1574,7 +1610,8 @@ if(DISS) fprintf(stderr,"rev r%u,r%u\n",rd,rn);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"rev16 r%u,r%u\n",rd,rn);
|
||||
if(DISS)
|
||||
fprintf(stderr,"rev16 r%u,r%u\n",rd,rn);
|
||||
ra=read_register(rn);
|
||||
rc =((ra>> 0)&0xFF)<< 8;
|
||||
rc|=((ra>> 8)&0xFF)<< 0;
|
||||
|
@ -1589,7 +1626,8 @@ if(DISS) fprintf(stderr,"rev16 r%u,r%u\n",rd,rn);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"revsh r%u,r%u\n",rd,rn);
|
||||
if(DISS)
|
||||
fprintf(stderr,"revsh r%u,r%u\n",rd,rn);
|
||||
ra=read_register(rn);
|
||||
rc =((ra>> 0)&0xFF)<< 8;
|
||||
rc|=((ra>> 8)&0xFF)<< 0;
|
||||
|
@ -1604,7 +1642,8 @@ if(DISS) fprintf(stderr,"revsh r%u,r%u\n",rd,rn);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rs=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"rors r%u,r%u\n",rd,rs);
|
||||
if(DISS)
|
||||
fprintf(stderr,"rors r%u,r%u\n",rd,rs);
|
||||
rc=read_register(rd);
|
||||
ra=read_register(rs);
|
||||
ra&=0xFF;
|
||||
|
@ -1637,7 +1676,8 @@ if(DISS) fprintf(stderr,"rors r%u,r%u\n",rd,rs);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"sbc r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"sbc r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rd);
|
||||
rb=read_register(rm);
|
||||
rc=ra-rb;
|
||||
|
@ -1661,9 +1701,8 @@ if(DISS) fprintf(stderr,"sbc r%u,r%u\n",rd,rm);
|
|||
if((inst&0xF800)==0xC000)
|
||||
{
|
||||
rn=(inst>>8)&0x7;
|
||||
|
||||
if(DISS)
|
||||
{
|
||||
if(DISS)
|
||||
{
|
||||
fprintf(stderr,"stmia r%u!,{",rn);
|
||||
for(ra=0,rb=0x01,rc=0;rb;rb=(rb<<1)&0xFF,ra++)
|
||||
{
|
||||
|
@ -1675,7 +1714,7 @@ if(DISS)
|
|||
}
|
||||
}
|
||||
fprintf(stderr,"}\n");
|
||||
}
|
||||
}
|
||||
sp=read_register(rn);
|
||||
for(ra=0,rb=0x01;rb;rb=(rb<<1)&0xFF,ra++)
|
||||
{
|
||||
|
@ -1696,7 +1735,8 @@ if(DISS)
|
|||
rn=(inst>>3)&0x07;
|
||||
rb=(inst>>6)&0x1F;
|
||||
rb<<=2;
|
||||
if(DISS) fprintf(stderr,"str r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"str r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
rb=read_register(rn)+rb;
|
||||
rc=read_register(rd);
|
||||
write32(rb,rc);
|
||||
|
@ -1709,7 +1749,8 @@ if(DISS) fprintf(stderr,"str r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
|||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
rm=(inst>>6)&0x7;
|
||||
if(DISS) fprintf(stderr,"str r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"str r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
rb=read_register(rn)+read_register(rm);
|
||||
rc=read_register(rd);
|
||||
write32(rb,rc);
|
||||
|
@ -1722,9 +1763,10 @@ if(DISS) fprintf(stderr,"str r%u,[r%u,r%u]\n",rd,rn,rm);
|
|||
rb=(inst>>0)&0xFF;
|
||||
rd=(inst>>8)&0x07;
|
||||
rb<<=2;
|
||||
if(DISS) fprintf(stderr,"str r%u,[SP,#0x%X]\n",rd,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"str r%u,[SP,#0x%X]\n",rd,rb);
|
||||
rb=read_register(13)+rb;
|
||||
//fprintf(stderr,"0x%08X\n",rb);
|
||||
//fprintf(stderr,"0x%08X\n",rb);
|
||||
rc=read_register(rd);
|
||||
write32(rb,rc);
|
||||
return(0);
|
||||
|
@ -1736,7 +1778,8 @@ if(DISS) fprintf(stderr,"str r%u,[SP,#0x%X]\n",rd,rb);
|
|||
rd=(inst>>0)&0x07;
|
||||
rn=(inst>>3)&0x07;
|
||||
rb=(inst>>6)&0x1F;
|
||||
if(DISS) fprintf(stderr,"strb r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"strb r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
rb=read_register(rn)+rb;
|
||||
rc=read_register(rd);
|
||||
ra=read16(rb&(~1));
|
||||
|
@ -1760,7 +1803,8 @@ if(DISS) fprintf(stderr,"strb r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
|||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
rm=(inst>>6)&0x7;
|
||||
if(DISS) fprintf(stderr,"strb r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"strb r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
rb=read_register(rn)+read_register(rm);
|
||||
rc=read_register(rd);
|
||||
ra=read16(rb&(~1));
|
||||
|
@ -1785,7 +1829,8 @@ if(DISS) fprintf(stderr,"strb r%u,[r%u,r%u]\n",rd,rn,rm);
|
|||
rn=(inst>>3)&0x07;
|
||||
rb=(inst>>6)&0x1F;
|
||||
rb<<=1;
|
||||
if(DISS) fprintf(stderr,"strh r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"strh r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
||||
rb=read_register(rn)+rb;
|
||||
rc=read_register(rd);
|
||||
write16(rb,rc&0xFFFF);
|
||||
|
@ -1798,7 +1843,8 @@ if(DISS) fprintf(stderr,"strh r%u,[r%u,#0x%X]\n",rd,rn,rb);
|
|||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
rm=(inst>>6)&0x7;
|
||||
if(DISS) fprintf(stderr,"strh r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"strh r%u,[r%u,r%u]\n",rd,rn,rm);
|
||||
rb=read_register(rn)+read_register(rm);
|
||||
rc=read_register(rd);
|
||||
write16(rb,rc&0xFFFF);
|
||||
|
@ -1811,7 +1857,8 @@ if(DISS) fprintf(stderr,"strh r%u,[r%u,r%u]\n",rd,rn,rm);
|
|||
rd=(inst>>0)&7;
|
||||
rn=(inst>>3)&7;
|
||||
rb=(inst>>6)&7;
|
||||
if(DISS) fprintf(stderr,"subs r%u,r%u,#0x%X\n",rd,rn,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"subs r%u,r%u,#0x%X\n",rd,rn,rb);
|
||||
ra=read_register(rn);
|
||||
rc=ra-rb;
|
||||
write_register(rd,rc);
|
||||
|
@ -1827,7 +1874,8 @@ if(DISS) fprintf(stderr,"subs r%u,r%u,#0x%X\n",rd,rn,rb);
|
|||
{
|
||||
rb=(inst>>0)&0xFF;
|
||||
rd=(inst>>8)&0x07;
|
||||
if(DISS) fprintf(stderr,"subs r%u,#0x%02X\n",rd,rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"subs r%u,#0x%02X\n",rd,rb);
|
||||
ra=read_register(rd);
|
||||
rc=ra-rb;
|
||||
write_register(rd,rc);
|
||||
|
@ -1844,7 +1892,8 @@ if(DISS) fprintf(stderr,"subs r%u,#0x%02X\n",rd,rb);
|
|||
rd=(inst>>0)&0x7;
|
||||
rn=(inst>>3)&0x7;
|
||||
rm=(inst>>6)&0x7;
|
||||
if(DISS) fprintf(stderr,"subs r%u,r%u,r%u\n",rd,rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"subs r%u,r%u,r%u\n",rd,rn,rm);
|
||||
ra=read_register(rn);
|
||||
rb=read_register(rm);
|
||||
rc=ra-rb;
|
||||
|
@ -1861,7 +1910,8 @@ if(DISS) fprintf(stderr,"subs r%u,r%u,r%u\n",rd,rn,rm);
|
|||
{
|
||||
rb=inst&0x7F;
|
||||
rb<<=2;
|
||||
if(DISS) fprintf(stderr,"sub SP,#0x%02X\n",rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"sub SP,#0x%02X\n",rb);
|
||||
ra=read_register(13);
|
||||
ra-=rb;
|
||||
write_register(13,ra);
|
||||
|
@ -1872,7 +1922,8 @@ if(DISS) fprintf(stderr,"sub SP,#0x%02X\n",rb);
|
|||
if((inst&0xFF00)==0xDF00)
|
||||
{
|
||||
rb=inst&0xFF;
|
||||
if(DISS) fprintf(stderr,"swi 0x%02X\n",rb);
|
||||
if(DISS)
|
||||
fprintf(stderr,"swi 0x%02X\n",rb);
|
||||
fprintf(stderr,"\n\nswi 0x%02X\n",rb);
|
||||
return(1);
|
||||
}
|
||||
|
@ -1882,7 +1933,8 @@ if(DISS) fprintf(stderr,"swi 0x%02X\n",rb);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"sxtb r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"sxtb r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rm);
|
||||
rc=ra&0xFF;
|
||||
if(rc&0x80) rc|=(~0)<<8;
|
||||
|
@ -1895,7 +1947,8 @@ if(DISS) fprintf(stderr,"sxtb r%u,r%u\n",rd,rm);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"sxth r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"sxth r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rm);
|
||||
rc=ra&0xFFFF;
|
||||
if(rc&0x8000) rc|=(~0)<<16;
|
||||
|
@ -1908,7 +1961,8 @@ if(DISS) fprintf(stderr,"sxth r%u,r%u\n",rd,rm);
|
|||
{
|
||||
rn=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"tst r%u,r%u\n",rn,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"tst r%u,r%u\n",rn,rm);
|
||||
ra=read_register(rn);
|
||||
rb=read_register(rm);
|
||||
rc=ra&rb;
|
||||
|
@ -1919,10 +1973,11 @@ if(DISS) fprintf(stderr,"tst r%u,r%u\n",rn,rm);
|
|||
|
||||
//UXTB
|
||||
if((inst&0xFFC0)==0xB2C0)
|
||||
{
|
||||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"uxtb r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"uxtb r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rm);
|
||||
rc=ra&0xFF;
|
||||
write_register(rd,rc);
|
||||
|
@ -1934,7 +1989,8 @@ if(DISS) fprintf(stderr,"uxtb r%u,r%u\n",rd,rm);
|
|||
{
|
||||
rd=(inst>>0)&0x7;
|
||||
rm=(inst>>3)&0x7;
|
||||
if(DISS) fprintf(stderr,"uxth r%u,r%u\n",rd,rm);
|
||||
if(DISS)
|
||||
fprintf(stderr,"uxth r%u,r%u\n",rd,rm);
|
||||
ra=read_register(rm);
|
||||
rc=ra&0xFFFF;
|
||||
write_register(rd,rc);
|
||||
|
@ -1954,9 +2010,9 @@ int Thumbulator::reset ( void )
|
|||
reg_svc[13]=0x40001fb4; //sp
|
||||
reg_svc[14]=0x00000c00; //lr (duz this use odd addrs)
|
||||
reg_sys[15]=0x00000c0b; // entry point of 0xc09+2
|
||||
// reg_sys[15]+=2;
|
||||
// reg_sys[15]+=2;
|
||||
|
||||
// fxq: don't care about below so much (maybe to guess timing???)
|
||||
// fxq: don't care about below so much (maybe to guess timing???)
|
||||
instructions=0;
|
||||
fetches=0;
|
||||
reads=0;
|
||||
|
@ -1964,3 +2020,5 @@ int Thumbulator::reset ( void )
|
|||
|
||||
return(0);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
// Code is public domain and used with the author's consent
|
||||
//============================================================================
|
||||
|
||||
#ifdef THUMB_SUPPORT
|
||||
|
||||
#include "bspf.hxx"
|
||||
|
||||
#define ROMADDMASK 0x7FFF
|
||||
|
@ -110,3 +112,5 @@ class Thumbulator
|
|||
Int32 DBUG; // dump detailed execution trace
|
||||
Int32 DISS; // dump Thumb instruction trace
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1765,23 +1765,20 @@
|
|||
DISPLAY_OPENGL,
|
||||
CHEATCODE_SUPPORT,
|
||||
DEBUGGER_SUPPORT,
|
||||
THUMB_SUPPORT,
|
||||
HAVE_GETTIMEOFDAY,
|
||||
BSPF_MAC_OSX,
|
||||
HAVE_INTTYPES,
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
./SDL.framework/Headers,
|
||||
../emucore,
|
||||
../emucore/m6502/src/bspf/src,
|
||||
../emucore/m6502/src,
|
||||
../ui/sound,
|
||||
../cheat,
|
||||
../common,
|
||||
../debugger,
|
||||
../debugger/gui,
|
||||
../yacc,
|
||||
../../../../debugger,
|
||||
./gui,
|
||||
../emucore,
|
||||
../gui,
|
||||
../yacc,
|
||||
.,
|
||||
);
|
||||
INFOPLIST_FILE = "Info-Stella.plist";
|
||||
|
@ -1822,23 +1819,20 @@
|
|||
DISPLAY_OPENGL,
|
||||
CHEATCODE_SUPPORT,
|
||||
DEBUGGER_SUPPORT,
|
||||
THUMB_SUPPORT,
|
||||
HAVE_GETTIMEOFDAY,
|
||||
BSPF_MAC_OSX,
|
||||
HAVE_INTTYPES,
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
./SDL.framework/Headers,
|
||||
../emucore,
|
||||
../emucore/m6502/src/bspf/src,
|
||||
../emucore/m6502/src,
|
||||
../ui/sound,
|
||||
../cheat,
|
||||
../common,
|
||||
../debugger,
|
||||
../debugger/gui,
|
||||
../yacc,
|
||||
../../../../debugger,
|
||||
./gui,
|
||||
../emucore,
|
||||
../gui,
|
||||
../yacc,
|
||||
.,
|
||||
);
|
||||
INFOPLIST_FILE = "Info-Stella.plist";
|
||||
|
@ -1878,23 +1872,20 @@
|
|||
DISPLAY_OPENGL,
|
||||
CHEATCODE_SUPPORT,
|
||||
DEBUGGER_SUPPORT,
|
||||
THUMB_SUPPORT,
|
||||
HAVE_GETTIMEOFDAY,
|
||||
BSPF_MAC_OSX,
|
||||
HAVE_INTTYPES,
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
./SDL.framework/Headers,
|
||||
../emucore,
|
||||
../emucore/m6502/src/bspf/src,
|
||||
../emucore/m6502/src,
|
||||
../ui/sound,
|
||||
../cheat,
|
||||
../common,
|
||||
../debugger,
|
||||
../debugger/gui,
|
||||
../yacc,
|
||||
../../../../debugger,
|
||||
./gui,
|
||||
../emucore,
|
||||
../gui,
|
||||
../yacc,
|
||||
.,
|
||||
);
|
||||
INFOPLIST_FILE = "Info-Stella.plist";
|
||||
|
|
|
@ -1753,23 +1753,20 @@
|
|||
DISPLAY_OPENGL,
|
||||
CHEATCODE_SUPPORT,
|
||||
DEBUGGER_SUPPORT,
|
||||
THUMB_SUPPORT,
|
||||
HAVE_GETTIMEOFDAY,
|
||||
BSPF_MAC_OSX,
|
||||
HAVE_INTTYPES,
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
./SDL.framework/Headers,
|
||||
../emucore,
|
||||
../emucore/m6502/src/bspf/src,
|
||||
../emucore/m6502/src,
|
||||
../ui/sound,
|
||||
../cheat,
|
||||
../common,
|
||||
../debugger,
|
||||
../debugger/gui,
|
||||
../yacc,
|
||||
../../../../debugger,
|
||||
./gui,
|
||||
../emucore,
|
||||
../gui,
|
||||
../yacc,
|
||||
.,
|
||||
);
|
||||
INFOPLIST_FILE = "Info-Stella.plist";
|
||||
|
@ -1810,23 +1807,20 @@
|
|||
DISPLAY_OPENGL,
|
||||
CHEATCODE_SUPPORT,
|
||||
DEBUGGER_SUPPORT,
|
||||
THUMB_SUPPORT,
|
||||
HAVE_GETTIMEOFDAY,
|
||||
BSPF_MAC_OSX,
|
||||
HAVE_INTTYPES,
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
./SDL.framework/Headers,
|
||||
../emucore,
|
||||
../emucore/m6502/src/bspf/src,
|
||||
../emucore/m6502/src,
|
||||
../ui/sound,
|
||||
../cheat,
|
||||
../common,
|
||||
../debugger,
|
||||
../debugger/gui,
|
||||
../yacc,
|
||||
../../../../debugger,
|
||||
./gui,
|
||||
../emucore,
|
||||
../gui,
|
||||
../yacc,
|
||||
.,
|
||||
);
|
||||
INFOPLIST_FILE = "Info-Stella.plist";
|
||||
|
@ -1866,23 +1860,20 @@
|
|||
DISPLAY_OPENGL,
|
||||
CHEATCODE_SUPPORT,
|
||||
DEBUGGER_SUPPORT,
|
||||
THUMB_SUPPORT,
|
||||
HAVE_GETTIMEOFDAY,
|
||||
BSPF_MAC_OSX,
|
||||
HAVE_INTTYPES,
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
./SDL.framework/Headers,
|
||||
../emucore,
|
||||
../emucore/m6502/src/bspf/src,
|
||||
../emucore/m6502/src,
|
||||
../ui/sound,
|
||||
../cheat,
|
||||
../common,
|
||||
../debugger,
|
||||
../debugger/gui,
|
||||
../yacc,
|
||||
../../../../debugger,
|
||||
./gui,
|
||||
../emucore,
|
||||
../gui,
|
||||
../yacc,
|
||||
.,
|
||||
);
|
||||
INFOPLIST_FILE = "Info-Stella.plist";
|
||||
|
|
Loading…
Reference in New Issue