SetupROM port and some cleanup.
This commit is contained in:
@@ -295,8 +295,7 @@ mrwp sfxbankd = { sfxaccessbankr8d, sfxaccessbankw8d, sfxaccessbankr16d, sfxacce
|
||||
|
||||
|
||||
void SetAddressingModes()
|
||||
{
|
||||
// Banks
|
||||
{ // Banks
|
||||
map_mem(0x00, ®bank, 0x40); // 00 - 3F
|
||||
map_mem(0x40, &membank, 0x30); // 49 - 6F
|
||||
map_mem(0x70, &srambank, 0x08); // 70 - 77
|
||||
@@ -309,7 +308,6 @@ void SetAddressingModes()
|
||||
|
||||
void SetAddressingModesSA1()
|
||||
{
|
||||
// Banks
|
||||
map_mem(0x00, &sa1regbank, 0x40); // 00 - 3F
|
||||
map_mem(0x40, &sa1rambank, 0x30); // 49 - 6F
|
||||
map_mem(0x70, &sa1rambankb, 0x08); // 70 - 77
|
||||
|
||||
@@ -71,13 +71,13 @@ EXTSYM curblank, vidpastecopyscr, frameskip, newengen, vsyncon
|
||||
EXTSYM cvidmode,antienab, smallscreenon, smallscreence,NetQuit
|
||||
EXTSYM soundon,StereoSound,SoundQuality,MusicRelVol
|
||||
EXTSYM endprog,continueprog,spcBuffera,spcRamcmp,cbitmode,makepal
|
||||
EXTSYM t1cc, LoadDir, LoadDrive, SRAMDir, SRAMChdir, SRAMDirCurDir, initsnes, romloadskip
|
||||
EXTSYM fname, makeextension, sram, loadfileGUI, GUIloadfailed
|
||||
EXTSYM t1cc,LoadDir,LoadDrive,SRAMDir,SRAMChdir,SRAMDirCurDir,initsnes
|
||||
EXTSYM fname,makeextension,sram,loadfileGUI,GUIloadfailed,romloadskip
|
||||
EXTSYM SetupROM,romdata,ForcePal,ramsize,ramsizeand,curromsize
|
||||
EXTSYM romispal,totlines,cfgloadsdir,init65816,procexecloop
|
||||
EXTSYM spcRam,spcPCRam,spcS,spcRamDP,spcA,spcX,spcY,spcP,spcNZ
|
||||
EXTSYM Voice0Status,Voice1Status,Voice2Status,Voice3Status,Voice4Status
|
||||
EXTSYM Voice5Status, Voice6Status, Voice7Status, romtype, SetIRQVectors
|
||||
EXTSYM Voice5Status,Voice6Status,Voice7Status,romtype
|
||||
EXTSYM ClearScreen,statesaver,loadstate2,vidbuffer,ASCII2Font,hirestiledat
|
||||
EXTSYM showallext,ROMTypeNOTFound,scanlines,statefileloc,pl1selk,pl2selk
|
||||
EXTSYM fnamest,sprlefttot,spritetablea,fnames,CHIPBATT,sfxramdata,setaramdata,SETAEnable,cgram,srama
|
||||
@@ -3940,7 +3940,9 @@ InitGUI:
|
||||
call GetScreen
|
||||
.nong16b
|
||||
call ClearScreen
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
call GUISetPal
|
||||
call GUIBufferData
|
||||
ret
|
||||
|
||||
@@ -1071,12 +1071,16 @@ GUIGUIOptnsKeys:
|
||||
cmp byte[En2xSaI],1
|
||||
jnae .guioptn15
|
||||
call ClearScreen
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
.guioptn15
|
||||
cmp byte[hqFilter],0
|
||||
je .guioptn16
|
||||
call ClearScreen
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
.guioptn16
|
||||
ret
|
||||
|
||||
@@ -1177,7 +1181,9 @@ GUIVideoKeys:
|
||||
mov bl,[cvidmode]
|
||||
cmp byte[GUI2xVID+ebx],0
|
||||
je near .no2xsai
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
GUIkeystoggleoptn byte[En2xSaI],1
|
||||
.no2xsai
|
||||
cmp dh,'E'
|
||||
@@ -1186,7 +1192,9 @@ GUIVideoKeys:
|
||||
mov bl,[cvidmode]
|
||||
cmp byte[GUI2xVID+ebx],0
|
||||
je near .nosupereagle
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
GUIkeystoggleoptn byte[En2xSaI],2
|
||||
.nosupereagle
|
||||
cmp dh,'S'
|
||||
@@ -1195,7 +1203,9 @@ GUIVideoKeys:
|
||||
mov bl,[cvidmode]
|
||||
cmp byte[GUI2xVID+ebx],0
|
||||
je near .nosuper2xsai
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
GUIkeystoggleoptn byte[En2xSaI],3
|
||||
.nosuper2xsai
|
||||
cmp dh,'I'
|
||||
|
||||
@@ -293,8 +293,8 @@ GUIloadfilename:
|
||||
mov byte[CheatWinMode],0
|
||||
mov byte[CheatSearchStatus],0
|
||||
|
||||
call SetupROM
|
||||
pushad
|
||||
call SetupROM
|
||||
call showinfogui
|
||||
popad
|
||||
call initsnes
|
||||
|
||||
@@ -361,7 +361,9 @@ SetDevice:
|
||||
|
||||
NEWSYM GUIDoReset
|
||||
call ClearScreen
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
; mov byte[NetPlayNoMore],1
|
||||
mov byte[RestoreValues],0
|
||||
|
||||
|
||||
@@ -1411,7 +1411,9 @@ GUIWinClicked:
|
||||
cmp edx,%2+8
|
||||
jg %%noclick
|
||||
xor %3,1
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
%%noclick
|
||||
%endmacro
|
||||
|
||||
|
||||
@@ -484,7 +484,9 @@ NEWSYM showmenu
|
||||
call StartSound
|
||||
mov byte[ForceNonTransp],0
|
||||
mov byte[GUIOn],0
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
cmp byte[MenuNoExit],1
|
||||
je .noexitmenu
|
||||
jmp continueprognokeys
|
||||
|
||||
@@ -96,25 +96,12 @@ EXTSYM sfxaccessbankw8d,sfxramdata
|
||||
EXTSYM sramaccessbankr16,sramaccessbankr16s,sramaccessbankr8,sramaccessbankr8s
|
||||
EXTSYM sramaccessbankw16,sramaccessbankw16s,sramaccessbankw8,sramaccessbankw8s
|
||||
EXTSYM ScrDispl,wramreadptr,wramwriteptr
|
||||
EXTSYM loadstate2,headerhack
|
||||
EXTSYM loadstate2,CMovieExt,MoviePlay
|
||||
|
||||
;initc.c
|
||||
EXTSYM clearmem,clearSPCRAM,PatchUsingIPS,loadZipFile,ZOpenFileName
|
||||
EXTSYM loadROM,CalcChecksum,BankCheck,MirrorROM,SplittedROM,addOnStart,addOnSize
|
||||
EXTSYM SPC7PackIndexLoad,SPC7110IndexSize,DumpROMLoadInfo,SetupSramSize,IntlEHi
|
||||
EXTSYM CHIPBATT,SETAEnable,C4Enable,SPC7110Enable,RTCEnable,SA1Enable,SDD1Enable
|
||||
EXTSYM OBCEnable,SFXEnable,ST18Enable,SGBEnable,DSP1Enable,DSP2Enable,DSP3Enable
|
||||
EXTSYM DSP4Enable,BSEnable,clearvidsound
|
||||
|
||||
EXTSYM calculate_state_sizes,InitRewindVars
|
||||
|
||||
EXTSYM SetaCmdEnable,setaramdata
|
||||
EXTSYM setaaccessbankr8,setaaccessbankw8,setaaccessbankr8a,setaaccessbankw8a
|
||||
EXTSYM setaaccessbankr16,setaaccessbankw16,setaaccessbankr16a,setaaccessbankw16a
|
||||
EXTSYM DSP2Read8b,DSP2Read16b,DSP2Write8b,DSP2Write16b,InitDSP2
|
||||
EXTSYM DSP4Read8b,DSP4Read16b,DSP4Write8b,DSP4Write16b,InitDSP4
|
||||
|
||||
EXTSYM SetupROMc,CMovieExt,MoviePlay
|
||||
EXTSYM clearmem,clearSPCRAM,PatchUsingIPS,ZOpenFileName,loadROM,SPC7110IndexSize
|
||||
EXTSYM SPC7PackIndexLoad,IntlEHi,C4Enable,SPC7110Enable,RTCEnable,SA1Enable
|
||||
EXTSYM SDD1Enable,OBCEnable,SFXEnable,BSEnable,clearvidsound,headerhack,SetupROM
|
||||
|
||||
%ifdef __LINUX__
|
||||
EXTSYM LoadDir,popdir,pushdir
|
||||
@@ -218,8 +205,8 @@ NEWSYM init
|
||||
.found
|
||||
mov byte[romloadskip],0
|
||||
call loadfile
|
||||
call SetupROM
|
||||
pushad
|
||||
call SetupROM
|
||||
call showinfogui
|
||||
popad
|
||||
.noloadfile
|
||||
@@ -2616,63 +2603,6 @@ NEWSYM CSStatus3, db 'VIDEO: CRC32: ',0
|
||||
SECTION .bss
|
||||
NEWSYM DSP1Type, resb 1
|
||||
NEWSYM intldone, resb 1
|
||||
SECTION .text
|
||||
|
||||
EXTSYM ClearScreen, cbitmode, makepal
|
||||
|
||||
NEWSYM SetupROM
|
||||
pushad
|
||||
call SetupROMc
|
||||
popad
|
||||
; call CheckROMType
|
||||
call SetIRQVectors
|
||||
call ClearScreen
|
||||
cmp byte[cbitmode],0
|
||||
jne .nomakepal
|
||||
call makepal
|
||||
.nomakepal
|
||||
; get ROM and SRAM size
|
||||
mov esi,[romdata]
|
||||
add esi,[infoloc]
|
||||
add esi,18h
|
||||
mov cl,[esi-1]
|
||||
mov [curromsize],cl
|
||||
pushad
|
||||
call SetupSramSize
|
||||
call calculate_state_sizes
|
||||
call InitRewindVars
|
||||
popad
|
||||
|
||||
; get pal/ntsc
|
||||
inc esi
|
||||
mov al,[ForceROMTiming]
|
||||
mov byte[ForcePal],al
|
||||
xor al,al
|
||||
mov al,[esi]
|
||||
cmp byte[ForcePal],1
|
||||
jne .nontsc
|
||||
mov al,0
|
||||
.nontsc
|
||||
cmp byte[ForcePal],2
|
||||
jne .nopal2
|
||||
mov al,2
|
||||
.nopal2
|
||||
mov byte[romispal],0
|
||||
mov word[totlines],263
|
||||
mov dword[MsgCount],120
|
||||
cmp byte[BSEnable],1
|
||||
je .nopal
|
||||
cmp al,1
|
||||
jbe .nopal
|
||||
cmp al,0Dh
|
||||
jae .nopal
|
||||
mov byte[romispal],1
|
||||
mov word[totlines],314
|
||||
mov dword[MsgCount],100
|
||||
.nopal
|
||||
ret
|
||||
|
||||
SECTION .bss
|
||||
NEWSYM C4RamR, resd 1
|
||||
NEWSYM C4RamW, resd 1
|
||||
NEWSYM C4Ram, resd 1
|
||||
@@ -2680,64 +2610,6 @@ NEWSYM ROMTypeNOTFound, resb 1
|
||||
NEWSYM Interleaved, resb 1
|
||||
SECTION .text
|
||||
|
||||
NEWSYM SetIRQVectors
|
||||
; Get Vectors (NMI & Reset)
|
||||
mov esi,[romdata]
|
||||
add esi,[infoloc]
|
||||
add esi,21
|
||||
mov al,[esi]
|
||||
test al,0F0h
|
||||
jnz .yesfastrom
|
||||
mov al,[opexec268]
|
||||
mov [opexec358],al
|
||||
mov al,[opexec268cph]
|
||||
mov [opexec358cph],al
|
||||
mov al,[cycpb268]
|
||||
mov [cycpb358],al
|
||||
.yesfastrom
|
||||
add esi,0Fh
|
||||
cmp word[esi+24],0FFFFh
|
||||
jne .notreseterror
|
||||
mov word[esi+6],0FF9Ch
|
||||
mov word[esi+24],0FF80h
|
||||
.notreseterror
|
||||
lodsw
|
||||
mov [copv],ax
|
||||
lodsw
|
||||
mov [brkv],ax
|
||||
lodsw
|
||||
mov [abortv],ax
|
||||
lodsw
|
||||
mov [nmiv],ax
|
||||
mov [nmiv2],ax
|
||||
add esi,2
|
||||
lodsw
|
||||
mov [irqv],ax
|
||||
mov [irqv2],ax
|
||||
add esi,4
|
||||
; 8-bit and reset
|
||||
lodsw
|
||||
mov [copv8],ax
|
||||
inc esi
|
||||
inc esi
|
||||
lodsw
|
||||
mov [abortv8],ax
|
||||
lodsw
|
||||
mov [nmiv8],ax
|
||||
lodsw
|
||||
mov [resetv],ax
|
||||
lodsw
|
||||
mov [brkv8],ax
|
||||
mov [irqv8],ax
|
||||
cmp byte[yesoutofmemory],0
|
||||
je .notfailed
|
||||
mov word[resetv],8000h
|
||||
mov esi,[romdata]
|
||||
mov word[esi],0FE80h
|
||||
mov word[esi+8000h],0FE80h
|
||||
.notfailed
|
||||
ret
|
||||
|
||||
NEWSYM outofmemfix
|
||||
mov esi,[romdata]
|
||||
cmp byte[romtype],2
|
||||
|
||||
@@ -1854,7 +1854,6 @@ extern unsigned int spcnumread, spchalted;
|
||||
extern unsigned char NextLineCache, sramsavedis, sndrot, regsbackup[3019];
|
||||
extern unsigned char yesoutofmemory, fnames[512];
|
||||
|
||||
void SetupROM();
|
||||
void initsnes();
|
||||
void outofmemfix();
|
||||
void GUIDoReset();
|
||||
@@ -1876,34 +1875,6 @@ bool loadSRAM(char *sramname)
|
||||
else { return(false); }
|
||||
}
|
||||
|
||||
void powercycle(bool sramload)
|
||||
{
|
||||
memset(sram, 0xFF, 32768);
|
||||
clearSPCRAM();
|
||||
|
||||
nmiprevaddrl = 0;
|
||||
nmiprevaddrh = 0;
|
||||
nmirept = 0;
|
||||
nmiprevline = 224;
|
||||
nmistatus = 0;
|
||||
spcnumread = 0;
|
||||
spchalted = ~0;
|
||||
NextLineCache = 0;
|
||||
curexecstate = 1;
|
||||
|
||||
if (sramload) { loadSRAM(fnames+1); }
|
||||
asm_call(SetupROM);
|
||||
asm_call(initsnes);
|
||||
|
||||
sramsavedis = 0;
|
||||
|
||||
memcpy(&sndrot, regsbackup, 3019);
|
||||
|
||||
if (yesoutofmemory == 1) { asm_call(outofmemfix); }
|
||||
|
||||
asm_call(GUIDoReset);
|
||||
}
|
||||
|
||||
extern unsigned int Voice0Freq, Voice1Freq, Voice2Freq, Voice3Freq;
|
||||
extern unsigned int Voice4Freq, Voice5Freq, Voice6Freq, Voice7Freq;
|
||||
extern unsigned int dspPAdj;
|
||||
@@ -1932,13 +1903,16 @@ void initpitch()
|
||||
|
||||
extern unsigned int SfxR1, SfxR2, SetaCmdEnable, SfxSFR, SfxSCMR;
|
||||
extern unsigned char lorommapmode2, disablespcclr, *sfxramdata, SramExists;
|
||||
extern unsigned char *setaramdata, *wramdata, *SA1RAMArea;
|
||||
extern unsigned char *setaramdata, *wramdata, *SA1RAMArea, cbitmode, curromsize;
|
||||
extern unsigned char ForcePal, ForceROMTiming, romispal;
|
||||
extern unsigned short totlines;
|
||||
void SetAddressingModes(), GenerateBank0Table();
|
||||
void SetAddressingModesSA1(), GenerateBank0TableSA1();
|
||||
void calculate_state_sizes(), InitRewindVars();
|
||||
void InitDSP(), InitDSP2(), InitDSP4(), InitFxTables(), initregr(), initregw();
|
||||
void SPC7110Load();
|
||||
void SPC7110Load(), DOSClearScreen(), dosmakepal();
|
||||
|
||||
void CheckROMTypeC()
|
||||
void CheckROMType()
|
||||
{
|
||||
unsigned char *ROM = (unsigned char *)romdata;
|
||||
|
||||
@@ -1968,7 +1942,11 @@ void CheckROMTypeC()
|
||||
|
||||
if (DSP1Enable || DSP2Enable || DSP3Enable)
|
||||
{
|
||||
if (DSP2Enable) { asm_call(InitDSP2); }
|
||||
if (DSP2Enable)
|
||||
{
|
||||
asm_call(InitDSP2);
|
||||
}
|
||||
|
||||
InitDSP();
|
||||
|
||||
DSP1Type = (romtype == 2) ? 2 : 1;
|
||||
@@ -2071,7 +2049,124 @@ void CheckROMTypeC()
|
||||
asm_call(SPC7110Load);
|
||||
}
|
||||
|
||||
void SetupROMc()
|
||||
extern unsigned short copv, brkv, abortv, nmiv, nmiv2, irqv, irqv2, resetv;
|
||||
extern unsigned short copv8, brkv8, abortv8, nmiv8, irqv8;
|
||||
|
||||
void SetIRQVectors()
|
||||
{ // get vectors (NMI & reset)
|
||||
unsigned char *ROM = (unsigned char *)romdata;
|
||||
|
||||
if (!(ROM[infoloc+21] & 0xF0)) // if not fastrom
|
||||
{
|
||||
CheckROMTypeC();
|
||||
opexec358 = opexec268;
|
||||
opexec358cph = opexec268cph;
|
||||
cycpb358 = cycpb268;
|
||||
}
|
||||
|
||||
if (!memcmp(ROM+infoloc+36+24, "\0xFF\0xFF", 2)) // if reset error
|
||||
{
|
||||
memcpy(ROM+infoloc+36+6, "\0x9C\0xFF", 2);
|
||||
memcpy(ROM+infoloc+36+24, "\0x80\0xFF", 2);
|
||||
}
|
||||
|
||||
memcpy(&copv, ROM+infoloc+0x24, 2);
|
||||
memcpy(&brkv, ROM+infoloc+0x26, 2);
|
||||
memcpy(&abortv, ROM+infoloc+0x28, 2);
|
||||
memcpy(&nmiv, ROM+infoloc+0x2A, 2);
|
||||
memcpy(&nmiv2, ROM+infoloc+0x2A, 2);
|
||||
memcpy(&irqv, ROM+infoloc+0x2E, 2);
|
||||
memcpy(&irqv2, ROM+infoloc+0x2E, 2);
|
||||
|
||||
// 8-bit and reset
|
||||
memcpy(&copv8, ROM+infoloc+0x34, 2);
|
||||
memcpy(&abortv8, ROM+infoloc+0x38, 2);
|
||||
memcpy(&nmiv8, ROM+infoloc+0x3A, 2);
|
||||
memcpy(&resetv, ROM+infoloc+0x3C, 2);
|
||||
memcpy(&brkv8, ROM+infoloc+0x3E, 2);
|
||||
memcpy(&irqv8, ROM+infoloc+0x3E, 2);
|
||||
|
||||
if (yesoutofmemory) // failed ?
|
||||
{
|
||||
resetv = 0x8000;
|
||||
memcpy(ROM+0x0000, "\0x80\0xFE", 2);
|
||||
memcpy(ROM+0x8000, "\0x80\0xFE", 2);
|
||||
}
|
||||
}
|
||||
|
||||
void SetupROM()
|
||||
{
|
||||
unsigned char *ROM = (unsigned char *)romdata;
|
||||
|
||||
CheckROMType();
|
||||
SetIRQVectors();
|
||||
|
||||
#ifdef __MSDOS__
|
||||
asm_call(DOSClearScreen);
|
||||
|
||||
if (!cbitmode) // 8-bit mode uses a palette
|
||||
{
|
||||
asm_call(dosmakepal);
|
||||
}
|
||||
#endif
|
||||
|
||||
// get ROM and SRAM sizes
|
||||
curromsize = ROM[infoloc+0x17];
|
||||
|
||||
SetupSramSize();
|
||||
calculate_state_sizes();
|
||||
InitRewindVars();
|
||||
|
||||
// get timing (pal/ntsc)
|
||||
ForcePal = ForceROMTiming;
|
||||
|
||||
switch (ForcePal)
|
||||
{
|
||||
case 1:
|
||||
romispal = 0;
|
||||
break;
|
||||
case 2:
|
||||
romispal = (!BSEnable);
|
||||
break;
|
||||
default:
|
||||
romispal = ((!BSEnable) && (ROM[infoloc+0x19] > 1) && (ROM[infoloc+0x19] < 0xD));
|
||||
}
|
||||
|
||||
if (romispal)
|
||||
{
|
||||
totlines = 314;
|
||||
MsgCount = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
totlines = 263;
|
||||
MsgCount = 120;
|
||||
}
|
||||
}
|
||||
|
||||
void powercycle(bool sramload)
|
||||
{
|
||||
memset(sram, 0xFF, 32768);
|
||||
clearSPCRAM();
|
||||
|
||||
nmiprevaddrl = 0;
|
||||
nmiprevaddrh = 0;
|
||||
nmirept = 0;
|
||||
nmiprevline = 224;
|
||||
nmistatus = 0;
|
||||
spcnumread = 0;
|
||||
spchalted = ~0;
|
||||
NextLineCache = 0;
|
||||
curexecstate = 1;
|
||||
|
||||
if (sramload) { loadSRAM(fnames+1); }
|
||||
SetupROM();
|
||||
asm_call(initsnes);
|
||||
|
||||
sramsavedis = 0;
|
||||
|
||||
memcpy(&sndrot, regsbackup, 3019);
|
||||
|
||||
if (yesoutofmemory == 1) { asm_call(outofmemfix); }
|
||||
|
||||
asm_call(GUIDoReset);
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ EXTSYM GUICPC, newgfx16b
|
||||
EXTSYM vesa2_clbitng,vesa2_clbitng2,vesa2_clbitng3
|
||||
EXTSYM granadd,CSStatus,CSStatus2,CSStatus3
|
||||
EXTSYM SpecialLine
|
||||
EXTSYM vidbufferofsb
|
||||
EXTSYM Clear2xSaIBuffer
|
||||
;EXTSYM Super2xSaI
|
||||
EXTSYM HalfTransB,HalfTransC
|
||||
|
||||
@@ -2081,7 +2081,9 @@ SECTION .text
|
||||
mov byte[f3menuen],0
|
||||
mov byte[ForceNonTransp],0
|
||||
mov byte[GUIOn],0
|
||||
pushad
|
||||
call Clear2xSaIBuffer
|
||||
popad
|
||||
cmp byte[MovieProcessing],0
|
||||
jz .nomovie3
|
||||
pushad
|
||||
@@ -3711,19 +3713,6 @@ NEWSYM vidpaste
|
||||
|
||||
SECTION .bss
|
||||
.SSRedCo resw 1
|
||||
SECTION .text
|
||||
|
||||
|
||||
NEWSYM Clear2xSaIBuffer
|
||||
mov ebx,[vidbufferofsb]
|
||||
add ebx,288*2
|
||||
mov ecx,144*239
|
||||
.nextb
|
||||
mov dword[ebx],0FFFFFFFFh
|
||||
add ebx,4
|
||||
dec ecx
|
||||
jnz .nextb
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
NEWSYM MsgCount, dd 120 ; How long message will stay (PAL = 100)
|
||||
|
||||
@@ -22,8 +22,20 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
|
||||
|
||||
#ifdef __LINUX__
|
||||
#include "gblhdr.h"
|
||||
#define DIR_SLASH "/"
|
||||
#else
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#define DIR_SLASH "\\"
|
||||
#endif
|
||||
|
||||
extern unsigned int newengen, nggposng[2];
|
||||
extern unsigned short PrevPicture[64*56], *vidbuffer;
|
||||
extern unsigned short PrevPicture[64*56], *vidbuffer, *vidbufferofsb;
|
||||
|
||||
void CapturePicture()
|
||||
{
|
||||
@@ -61,3 +73,8 @@ void CapturePicture()
|
||||
} // 0111 1111 1110 0000 and 0000 0000 0001 1111
|
||||
}
|
||||
}
|
||||
|
||||
void Clear2xSaIBuffer()
|
||||
{
|
||||
memset(vidbufferofsb+576, 0xFF, 576*239);
|
||||
}
|
||||
|
||||
@@ -2098,7 +2098,7 @@ void initwinvideo(void)
|
||||
if (Force60hz) Refresh = 60;
|
||||
InitDirectDraw();
|
||||
clearwin();
|
||||
asm_call(Clear2xSaIBuffer);
|
||||
Clear2xSaIBuffer();
|
||||
clear_display();
|
||||
return;
|
||||
}
|
||||
@@ -2110,11 +2110,10 @@ void initwinvideo(void)
|
||||
ReleaseDirectDraw();
|
||||
InitDirectDraw();
|
||||
clearwin();
|
||||
asm_call(Clear2xSaIBuffer);
|
||||
Clear2xSaIBuffer();
|
||||
clear_display();
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extern unsigned int vidbuffer;
|
||||
|
||||
Reference in New Issue
Block a user