Allows WHDLoad Booter to have DH0: stored as a single ZIP file. Separate drive for written files/saves as DH2: also used.

This commit is contained in:
HoraceAndTheSpider 2018-03-24 18:14:13 +00:00
parent 1ca66cd9bf
commit c970049ebb
70 changed files with 51 additions and 180 deletions

View file

@ -291,41 +291,51 @@ void symlink_roms(struct uae_prefs* p)
// *** KICKSTARTS *** // *** KICKSTARTS ***
// //
char kick_path[MAX_DPATH]; char kick_path[MAX_DPATH];
char kick_long[MAX_DPATH];
int rom_test; int rom_test;
int roms[2]; int roms[2];
// here we can do some checks for Kickstarts we might need to make symlinks for // here we can do some checks for Kickstarts we might need to make symlinks for
strncpy(currentDir, start_path_data, MAX_DPATH); strncpy(currentDir, start_path_data, MAX_DPATH);
snprintf(kick_path, MAX_DPATH, "%s/whdboot/boot-data/Devs/Kickstarts/kick33180.A500", start_path_data);
// are we using save-data/ ?
snprintf(kick_path, MAX_DPATH, "%s/whdboot/save-data/Kickstarts", start_path_data);
// otherwise, use the old route
if (!my_existsdir(kick_path))
snprintf(kick_path, MAX_DPATH, "%s/whdboot/game-data/Devs/Kickstarts", start_path_data);
if (!zfile_exists(kick_path))
// do the checks...
snprintf(kick_long, MAX_DPATH, "%s/kick33180.A500", kick_path);
if (!zfile_exists(kick_long))
{ {
roms[0] = 5; // kickstart 1.2 A500 roms[0] = 5; // kickstart 1.2 A500
rom_test = configure_rom(p, roms, 0); // returns 0 or 1 if found or not found rom_test = configure_rom(p, roms, 0); // returns 0 or 1 if found or not found
if (rom_test == 1) if (rom_test == 1)
symlink(p->romfile, kick_path); symlink(p->romfile, kick_long);
} }
snprintf(kick_path, MAX_DPATH, "%s/whdboot/boot-data/Devs/Kickstarts/kick34005.A500", start_path_data); snprintf(kick_long, MAX_DPATH, "%s/kick34005.A500", kick_path);
if (!zfile_exists(kick_path)) if (!zfile_exists(kick_long))
{ {
roms[0] = 6; // kickstart 1.3 A500 roms[0] = 6; // kickstart 1.3 A500
rom_test = configure_rom(p, roms, 0); // returns 0 or 1 if found or not found rom_test = configure_rom(p, roms, 0); // returns 0 or 1 if found or not found
printf(p->romfile); //printf(p->romfile);
printf("result: %d\n", rom_test); //printf("result: %d\n", rom_test);
if (rom_test == 1) if (rom_test == 1)
symlink(p->romfile, kick_path); symlink(p->romfile, kick_long);
} }
snprintf(kick_path, MAX_DPATH, "%s/whdboot/boot-data/Devs/Kickstarts/kick40068.A1200", start_path_data); snprintf(kick_long, MAX_DPATH, "%s/kick40068.A1200", kick_path);
if (!zfile_exists(kick_path)) if (!zfile_exists(kick_long))
{ {
roms[0] = 15; // kickstart 3.1 A1200 roms[0] = 15; // kickstart 3.1 A1200
rom_test = configure_rom(p, roms, 0); // returns 0 or 1 if found or not found rom_test = configure_rom(p, roms, 0); // returns 0 or 1 if found or not found
if (rom_test == 1) if (rom_test == 1)
symlink(p->romfile, kick_path); symlink(p->romfile, kick_long);
} }
} }
@ -340,6 +350,7 @@ void whdload_auto_prefs(struct uae_prefs* p, char* filepath)
TCHAR tmp2[MAX_DPATH]; TCHAR tmp2[MAX_DPATH];
char boot_path[MAX_DPATH]; char boot_path[MAX_DPATH];
char save_path[MAX_DPATH];
char config_path[MAX_DPATH]; char config_path[MAX_DPATH];
// char GameTypePath[MAX_DPATH]; // char GameTypePath[MAX_DPATH];
char whd_config[255]; char whd_config[255];
@ -567,10 +578,17 @@ void whdload_auto_prefs(struct uae_prefs* p, char* filepath)
else else
_tcscpy(p->description, _T("WHDLoad AutoBoot Configuration [AGA]")); _tcscpy(p->description, _T("WHDLoad AutoBoot Configuration [AGA]"));
//SET THE WHD BOOTER AND GAME DATA //SET THE WHD BOOTER AND GAME DATA
snprintf(boot_path, MAX_DPATH, "%s/whdboot/boot-data/", start_path_data); snprintf(boot_path, MAX_DPATH, "%s/whdboot/boot-data.zip", start_path_data);
if (!zfile_exists(boot_path))
snprintf(boot_path, MAX_DPATH, "%s/whdboot/boot-data/", start_path_data);
// set the first (whdboot) Drive // set the first (whdboot) Drive
_stprintf(tmp,_T("filesystem2=rw,DH0:DH0:%s,10"), boot_path); _stprintf(tmp,_T("filesystem2=rw,DH0:DH0:%s,10"), boot_path);
txt2 = parsetextpath(_T(tmp)); txt2 = parsetextpath(_T(tmp));
@ -589,6 +607,25 @@ void whdload_auto_prefs(struct uae_prefs* p, char* filepath)
txt2 = parsetextpath(_T(tmp)); txt2 = parsetextpath(_T(tmp));
cfgfile_parse_line(p, txt2, 0); cfgfile_parse_line(p, txt2, 0);
//set the third (save data) drive
snprintf(save_path, MAX_DPATH, "%s/whdboot/save-data/", start_path_data);
if (my_existsdir(save_path))
{
_stprintf(tmp, "filesystem2=rw,DH2:saves:%s,0", save_path);
txt2 = parsetextpath(_T(tmp));
cfgfile_parse_line(p, txt2, 0);
_stprintf(tmp, "uaehf2=dir,rw,DH2:saves:%s,0", save_path);
txt2 = parsetextpath(_T(tmp));
cfgfile_parse_line(p, txt2, 0);
}
//APPLY THE SETTINGS FOR MOUSE/JOYSTICK ETC //APPLY THE SETTINGS FOR MOUSE/JOYSTICK ETC
// CD32 // CD32
if ((static_cast<bool>(is_cd32) && strcmpi(game_detail.port0,"nul") == 0) if ((static_cast<bool>(is_cd32) && strcmpi(game_detail.port0,"nul") == 0)

BIN
whdboot/boot-data.zip Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,101 +0,0 @@
C:Assign ENV: RAM: >nil:
C:Assign T: RAM: >nil:
C:Assign PROGDIR: C: >nil:
cd :WHDbooter/
c:run SplashScreen
c:wait 2
Resident C:WHDLoad PURE
Echo ""
; ======================
IF EXISTS C:SetPatch
C:SetPatch > NIL:
ENDIF
; ====================== Set path
info >t:tempfile DH1:
search >nil: t:tempfile "read"
if not warn
Assign WHDLoadGame: DH1:
echo "WHDLoadGame: will be mapped to DH1:"
Echo ""
else
Assign WHDLoadGame: DH0:
echo "WHDLoadGame: will be mapped to DH0:"
Echo ""
endif
; ======================
C:GetMouseInput Local
IF $MouseInput EQ 1
Echo "Left Mouse Button held. Force creation of new Auto-Startup file"
Echo ""
c:wait 4
ELSE
SET Reply `C:joytest 1 0`
IF $Reply EQ "(Fire-1)"
Echo "Joystick Fire held. Force creation of new Auto-Startup file"
Echo ""
c:wait 4
ELSE
Echo "Scan for auto-startup and debugging messages..."
cd :WHDbooter/
Find_AutoStartup
Echo "Scan done"
Echo ""
ENDIF
ENDIF
; ======= did we create a file earlier?
IF EXISTS T:auto-startup
Echo ""
ELSE
cd :WHDbooter/
c:wait 2
GameBootLoader scanpath=WHDLoadGame: only usefolderpath
ENDIF
; ======================
;IF EXISTS :WHDbooter/SplashScreen
; cd :WHDbooter
; :WHDbooter/SplashScreen >NIL:
;ELSE
; c:TUDE hardreset >nil:
;ENDIF
; +++ RUN IT
IF EXISTS T:auto-startup
Echo "Execute the Auto-Startup boot script."
Echo ""
c:execute T:auto-startup
ELSE
echo "Error: There is still no Auto-Startup boot script."
ENDIF
; c:TUDE hardreset >nil:

View file

@ -1,32 +0,0 @@
;
; global configuration file for WHDLoad
; searched as "S:whdload.prefs"
;
; CLI-Arguments and ToolTypes will overwrite these !
;
NoWriteCache ;disable the disk write cache
QuitKey=$5a ;rawkey code to quit
SplashDelay=0 ;time to display splash window (1/50 seconds)
SavePath=dh0:WHDBooter/Savegames/
;ButtonWait ;wait for button pressed (slave must support this)
;ChipNoCache ;disable cachebility of Chip-Memory
;CoreDumpPath=T: ;path for coredump files
;DebugKey=$5b ;rawkey code to quit with coredump (debug)
;ExecuteStartup=rx offline.rexx ;command to execute on WHDLoad startup
;ExecuteCleanup=rx online.rexx ;command to execute on WHDLoad exit
;Expert ;selects expert mode
;FreezeKey=$5d ;rawkey code to enter HrtMon/TK
;MMU ;use MMU (for 68030)
;NoAutoVec ;ignore unwanted autovector interrupts
;NoFilter ;disable audio filter
;NoFlushMem ;do not flush memory
;NoMemReverse ;do not allocate memory reverse
;ReadDelay=150 ;wait after reading from disk (1/50 seconds)
;RestartKey=$5c ;rawkey code to restart
;ShowRegs=SYS:Utilities/MuchMore W WL=80 WT=80 WW=582 WH=700 ;command for Show Regs
;WriteDelay=150 ;wait after saving something to disk (1/50 seconds)

View file

@ -1 +0,0 @@
C1:B:Infinite Lives;

View file

@ -1,2 +0,0 @@
C1:B:Infinite Lives;
C2:B:Infinite Missiles;

View file

@ -1 +0,0 @@
C1:B:Infinite Energy & Lives;

View file

@ -1,4 +0,0 @@
C1:B:Enable Trainers:0;
C2:L:Mouse Control Mode:None,LMB forward / RMB fire,LMB fire / RMB forward;
C3:B:Load Aminet Version (abd8ch):0;
C4:B:Enable main music at the end (HackAB3D):0;

View file

@ -1,2 +0,0 @@
C1:C:Enable Trainers;
C2:X:Load Rolling Demo;

View file

@ -1,3 +0,0 @@
C1:X:Enable in-game Trainers;
C2:X:Enable CD32 Controls;

View file

@ -1,6 +0,0 @@
C1:X:Infinite Lives:0;
C1:X:Infinite Weapons:1;
C1:X:Infinite Level Timer:2;
C1:X:Infinite Screen Timer:3;
C1:X:Enable Level Skip:4;
C2:B:Infinite Enable CD32 Controls;

View file

@ -1,6 +0,0 @@
C1:X:Infinite Lives:0;
C1:X:Infinite Weapons:1;
C1:X:Infinite Level Timer:2;
C1:X:Infinite Screen Timer:3;
C1:X:Enable Level Skip:4;
C2:B:Infinite Enable CD32 Controls;

View file

@ -1,2 +0,0 @@
C1:X:Player 1 Unlimited Lives;
C2:X:Player 2 Unlimited Lives ?;

View file

@ -1 +0,0 @@
C1:B:Faster Boot Option;

View file

@ -1,2 +0,0 @@
C1:X:Skip Intro;
C2:L:Select Speed:Fast,Normal,Slow;

View file

@ -1 +0,0 @@
C1:B:Faster Boot Option;

View file

@ -1,3 +0,0 @@
C1:X:Activate Original Cheat;
C2:L:Select Track:None,Track 1,Track 2,Track 3,Track 4,Track 5,Track 6,Track 7;
C3:X:Raise Panel (NTSC);

View file

@ -0,0 +1 @@