Ports global variables to C (Aerdan, grinvader), restores bilinear behaviour, eats some unused stuff.

This commit is contained in:
grinvader
2005-02-03 00:53:19 +00:00
parent e485530b2b
commit 22537a6749
6 changed files with 120 additions and 126 deletions

View File

@@ -30,21 +30,114 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#define false 0
extern void outofmemory();
extern unsigned char *spc7110romptr;
extern unsigned char *spcBuffera;
extern unsigned char *spritetablea;
extern unsigned char *vbufaptr;
extern unsigned char *vbufeptr;
extern unsigned char *ngwinptrb;
extern unsigned char *vbufdptr;
extern unsigned char *vcache2bs;
extern unsigned char *vcache4bs;
extern unsigned char *vcache8bs;
extern unsigned char *RGBtoYUVPtr;
extern unsigned char *romaptr;
extern unsigned char welcome[452+16]; // 452=message string, 16=version string
extern unsigned char mydebug[2];
extern unsigned char outofmem[51];
extern unsigned char YesMMX[34];
// Global Variables ported from ASM
void *doMemAlloc(int size)
unsigned int per2exec = 100; // percentage of opcodes to execute
#ifdef __MSDOS__
unsigned char cvidmode = 4; // video mode
#else
unsigned char cvidmode = 1;
#endif
unsigned char string[512];
unsigned char fname[512];
unsigned char fnames[512]; // sram filename
unsigned char fnamest[512]; // state filename
unsigned short selc0040;
unsigned short selcA000;
unsigned short selcB800;
unsigned char filefound; // Parameter String Found
unsigned char frameskip; // 0 = Auto, 1-10 = Skip 0 .. 9
unsigned char *vidbuffer; // video buffer (1024x239 = 244736)
unsigned char *ngwinptr;
unsigned char *vidbufferm; // video buffer mirror
unsigned char *vidbufferofsa; // offset 1
unsigned char *vidbufferofsb; // offset 2
unsigned char *vidbufferofsc; // offset 3
unsigned char *vidbufferofsmos; // mosaic offset for new graphics engine
unsigned char *headdata;
unsigned char *romdata; // rom data (4MB = 4194304)
unsigned char *sfxramdata; // SuperFX Ram Data
unsigned char *setaramdata; // Seta ST010/ST011 SRam Data
unsigned char *wramdata; // stack (64K = 32768)
unsigned char *ram7f; // ram @ 7f = 65536
unsigned char *vram; // vram = 65536
unsigned char *sram; // sram = 32768
unsigned char *spritetablea;
unsigned char *spcBuffera;
unsigned char *debugbuf; // debug buffer = 38x1000 = 38000
void (**regptr)(); // pointer to registers
void (**regptw)(); // pointer to registers
unsigned char *vcache2b; // 2-bit video cache
unsigned char *vcache4b; // 4-bit video cache
unsigned char *vcache8b; // 8-bit video cache
unsigned char *vcache2bs; // 2-bit video secondary cache
unsigned char *vcache4bs; // 4-bit video secondary cache
unsigned char *vcache8bs; // 8-bit video secondary cache
unsigned char romispal; // 0 = NTSC, 1 = PAL
unsigned char enterpress; // if enter is to be issued (0 = yes)
unsigned char newgfx16b;
unsigned char *BitConv32Ptr;
unsigned char *RGBtoYUVPtr;
unsigned char previdmode; // previous video mode
unsigned char cbitmode; // bit mode, 0=8bit, 1=16bit
unsigned char opexec268 = 168; // # of opcodes/scanline in 2.68Mhz mode
unsigned char opexec358 = 180; // # of opcodes/scanline in 3.58Mhz mode (228/180)
unsigned char opexec268cph = 42; // # of opcodes/hblank in 2.68Mhz mode
unsigned char opexec358cph = 45; // # of opcodes/hblank in 3.58Mhz mode (56/50)
unsigned char opexec268b = 168; // # of opcodes/scanline in 2.68Mhz mode
unsigned char opexec358b = 180; // # of opcodes/scanline in 3.58Mhz mode (228/180)
unsigned char opexec268cphb = 42; // # of opcodes/hblank in 2.68Mhz mode
unsigned char opexec358cphb = 45; // # of opcodes/hblank in 3.58Mhz mode (56/50)
unsigned char debugdisble = 1; // debugger disable. 0 = no, 1 = yes
unsigned char gammalevel = 0; // gamma level
unsigned char gammalevel16b = 0; // gamma level
unsigned char scanlines = 0; // scanlines on/off
unsigned char vsyncon = 0; // vsync on/off
unsigned char guioff = 0; // gui on/off (1 = off)
unsigned char AddSub256 = 0; // screen add/sub in 256 colors
unsigned char Sup48mbit = 1; // Support 48mbit roms
unsigned char Sup16mbit = 0; // Support 16mbit roms
unsigned char dmadeddis = 0; // DMA deduction
unsigned char antienab = 0; // Interpolation Enabled
unsigned char snesmouse = 0; // Mouse status (1 = enabled)
unsigned char OldStyle = 1; // Old style joystick on
unsigned char SecondPort = 0; // Secondary Joystick Port Enabled (209h)
// New Variables
unsigned char ForcePal = 0; // 1 = NTSC, 2 = PAL
unsigned char Force8b = 0; // Force 8-bit sound on
unsigned char Doublevbuf = 1; // Double video buffer
unsigned char V8Mode = 0; // Vegetable mode! =)
unsigned char fastmemptr = 0;
unsigned char showallext = 0;
unsigned char finterleave = 0;
unsigned char DSPDisable = 0;
unsigned char Palette0 = 0;
unsigned char DisplayS = 0;
unsigned char SPC700sh = 0;
unsigned char OffBy1Line = 0;
unsigned char *spc7110romptr;
unsigned char MusicRelVol = 75;
unsigned char MusicVol = 0;
void *doMemAlloc(size_t size)
{
void *ptr = NULL;
ptr = malloc(size);