Fixed command line loading of roms.

This commit is contained in:
teuf
2001-04-28 17:17:17 +00:00
parent a6c411853c
commit 89169c29c8
6 changed files with 75 additions and 10 deletions

View File

@@ -31,7 +31,7 @@ EXTSYM Create_File,Write_File,Close_File
%ifdef __LINUX__
; if TextFile==0, zlib functions aren't used
; useful to save the config file
EXTSYM TextFile
EXTSYM TextFile, InitDir, InitDrive, Change_Dir
%endif
NEWSYM CfgLoadAsmStart
@@ -257,6 +257,11 @@ NEWSYM ConvertJoyMap2
NEWSYM DOScreatenewcfg
; make a new file
; copy .cfgfiledata to mode7tab, replacing each %
%ifdef __LINUX__
mov dl,[SRAMDrive]
mov ebx,SRAMDir
call Change_Dir
%endif
mov esi,.cfgfiledata
mov edi,mode7tab
xor ecx,ecx

View File

@@ -1454,6 +1454,8 @@ NEWSYM sramsave
NEWSYM statesaver
clim
sub dword[Curtableaddr],tableA
sub dword[spcPCRam],spcRam
sub dword[spcRamDP],spcRam
@@ -1462,6 +1464,11 @@ NEWSYM statesaver
call initrevst
; jmp .skipsaves
; Save State
%ifdef __LINUX__
mov dl,[SRAMDrive]
mov ebx,SRAMDir
call Change_Dir
%endif
mov edx,fnamest+1
call Create_File
jc near .nosavestuff
@@ -1820,6 +1827,12 @@ NEWSYM loadstate
mov byte[pressed+eax],2
mov byte[multchange],1
clim
%ifdef __LINUX__
mov dl,[SRAMDrive]
mov ebx,SRAMDir
call Change_Dir
%endif
mov edx,fnamest+1
call Open_File
jc near .nofile

View File

@@ -3366,9 +3366,15 @@ NEWSYM loadfile
mov byte[TextFile], 0
call GetCurDir
mov byte[InGUI],0
%ifdef __LINUX__
mov dl,[InitDrive]
mov ebx,InitDir
call Change_Dir
%endif
jmp loadfileGUI.nogui
%ifndef __LINUX__
mov dword[MessageOn],0
mov byte[loadedfromgui],0
mov byte[yesoutofmemory],0
@@ -3564,7 +3570,7 @@ NEWSYM loadfile
mov ah,9
call Output_Text
jmp DosExit
%endif
SECTION .data
.multfound db 0
.first db 0

View File

@@ -39,7 +39,7 @@ EXTSYM pl1Bk
EXTSYM pl1Rk
EXTSYM cfgcvidmode
EXTSYM pl1contrl,pl2contrl
EXTSYM InitDir,InitDrive
EXTSYM InitDir,InitDrive, SRAMDir, SRAMDrive
EXTSYM DOScreatenewcfg,ExecGUISaveVars
EXTSYM allocptr
EXTSYM putchar
@@ -252,14 +252,22 @@ NEWSYM SystemInit
; Get and set the initial directory
%ifdef __LINUX__
call obtaindir
mov ebx,InitDir
mov edx,InitDrive
call Get_Dir
mov dl,[SRAMDrive]
mov ebx,SRAMDir
call Change_Dir
%else
mov ebx,InitDir
mov edx,InitDrive
call Get_Dir
%endif
mov dl,[InitDrive]
mov ebx,InitDir
call Change_Dir
%endif
call GUIRestoreVars ; Load GUI stuff

View File

@@ -256,6 +256,11 @@ DWORD ZFileMKDir()
#endif
}
extern char SRAMDir;
extern char InitDir;
extern char LoadDir;
DWORD ZFileCHDir()
{
return(chdir(CHPath));
@@ -443,9 +448,6 @@ DWORD GetDate()
#ifdef __LINUX__
extern char SRAMDir;
extern char InitDir;
extern char LoadDir;
void obtaindir()
{
@@ -467,7 +469,8 @@ void obtaindir()
} else {
closedir(tmp);
}
strcpy(&InitDir, cfgdir);
// strcpy(&InitDir, cfgdir);
// getcwd(&InitDir, 128);
if (SRAMDir == 0){
strcpy(&SRAMDir, cfgdir);
}
@@ -476,4 +479,29 @@ void obtaindir()
getcwd(&LoadDir, 128);
}
}
extern char fnamest, fnames;
void GetFilename()
{
char *tmp = &fnamest;
char size;
*tmp = '/';
while (*tmp!=0) tmp++;
while (*tmp!='/') tmp--;
size = (strlen(tmp)-1) & 0xFF;
strcpy(&fnamest, tmp);
fnamest = size;
tmp = &fnames;
*tmp = '/';
while (*tmp!=0) tmp++;
while (*tmp!='/') tmp--;
size = (strlen(tmp)-1) & 0xFF;
strcpy(&fnames, tmp);
fnames = size;
}
#endif

View File

@@ -35,9 +35,9 @@ EXTSYM Open_File, Get_File_Date, Close_File, Change_Dir, Get_Dir
EXTSYM romloadskip
EXTSYM cfgloadgdir,cfgloadsdir
EXTSYM init18_2hz
%ifdef __LINUX__
EXTSYM LinuxExit
EXTSYM GetFilename
%endif
NEWSYM UIAsmStart
@@ -1204,6 +1204,11 @@ NEWSYM makeextension
add ah,4
mov [fnames],ah
mov [fnamest],ah
%ifdef __LINUX__
pushad
call GetFilename
popad
%endif
cmp byte[LatestSave],1
je .latestsave
ret