20 May 2019, 17:59 | #1 |
Registered User
Join Date: May 2019
Location: Buckinghamshire
Posts: 36
|
Running WHDLoad from CD
I'm trying to figure out why WHDLoad freezes with a black screen when running from a CD:
I've made a CD that boots up on my A500+A570, but when I use WHDLoad to load the game.slave, WHDLoad starts and then freezes with a black screen. If I copy the game to RAM: it works no problem. (so this sounds like a read/write issue) I've tried using SavePath and SaveDir options (pointing to ram: but I get the same problem. If I use WUAE and use the folder on my PC hard drive that was used to create the .iso everything works... and if I set the drive to READ only, it still works!?!? huh?... so I don't think it's a read/write issue. here's the cli command I'm trying: WHDLoad cd0:game/game.slave SavePath=ram: SaveDir=ram: I've also tried booting off a floppy with WHDLoad and setting the floppy to read/write. But that also results in a black screen... It's like WHDLoad is trying to write something to to CD and failing. (but why does it work with a read only HD) Maybe it's the device? cd0: Maybe WHDLoad only runs if it can find DH0: .... so I made the CD and called it DH0: but I still get the same problem.. Anyone got any ideas on what I can try next? |
20 May 2019, 19:10 | #2 |
Registered User
Join Date: Aug 2014
Location: Brindisi (Italy)
Age: 70
Posts: 8,248
|
WHDLoad works well as a CD, on CD32 in the past I have created several compilations with WHDLoad.
The CD is not the boot system, I think that before starting the slave you have to go in the path of the game and from that path start the game. Command: CD0: WHDLoad cd0:game/game.slave SavePath=ram: SaveDir=ram: Last edited by AMIGASYSTEM; 20 May 2019 at 19:22. |
20 May 2019, 19:16 | #3 |
Lemon Curry ?
Join Date: Sep 2004
Location: Denmark
Age: 49
Posts: 4,079
|
A500 with KS1.x ?
WHDLoad requires 2.x |
20 May 2019, 19:25 | #4 |
Registered User
Join Date: Aug 2014
Location: Brindisi (Italy)
Age: 70
Posts: 8,248
|
If it gets a black screen it means that a KickStart 2.x or 3.x othervents would have received a Kickstart error request.
|
20 May 2019, 22:07 | #5 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
|
On a CD32 machine, I remember that WHDLoad needs READDELAY set when reading from CD while the game is running. When the data has finished loading, whdload uses to switch back to the game immediately, but some CD interrupts can happen a few millis after that from the CD controller, and freeze the game (that's also because of those horrendous swaps that I created CD32Load but that won't work on your CD controller)
This may be the case for your CD controller too. Hard disks have a much higher controller response and the problem doesn't occur. If you can copy the game in RAM then setting PRELOAD on the command line will fix your issue (it basically does the same thing, except that you won't have the OS flashes: best gaming experience) By default whdload doesn't set PRELOAD. If you have 4-8 MB of RAM, PRELOAD is your friend: Code:
WHDLoad cd0:game/game.slave SavePath=ram: SaveDir=ram: PRELOAD Wow, promotion of both of my tools AND a valid whdload answer... Last edited by jotd; 20 May 2019 at 22:17. |
21 May 2019, 13:46 | #6 |
Registered User
Join Date: May 2019
Location: Buckinghamshire
Posts: 36
|
Thanks for all the replies. Here's some further info on my system:
A500plus KS2.04 + 1mb chip in the trap door Solid State Leisure A5000 accelerator. (68020 + 68881 + 4mb) A570 + 2mb PRELOAD was the answer! Now I can boot from a CD and run WHDLoad games on my A570 setup |
21 May 2019, 13:55 | #7 |
Registered User
Join Date: May 2019
Location: Buckinghamshire
Posts: 36
|
Just to clarify, everything is working now using the PRELOAD option. I'm not even copying to RAM:
Gonna have a play with ReadDelay. I see the default value is 0. Jotd, any recommendations on what to try with the A570? |
21 May 2019, 21:39 | #8 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
|
If you have the RAM, just put PRELOAD...
Else (super huge game that doesn't fit in memory), experiment with READDELAY. I suggest 500 ms for starters. Games which access data in small chunks may become extremely slow to run. from the doc Code:
ReadDelay/K/N This option specifies the time in 1/50ths of a second that WHDLoad will wait after it has loaded data from disks. It will also wait this time after Preload/S has finished. This solves problems with drives (e.g. CD drives) which want do something after reading (e.g. switching the motor off). |
05 February 2023, 14:25 | #9 |
Registered User
Join Date: Oct 2013
Location: Wrocław, Poland
Posts: 202
|
Hi Guys, is there somehow a way to make WHDLoad games that don't fit into ram for preload work on CDTV/A570?
I'm preparing myself a compilation CD with Tinylauncher (RAD enabled), but no readdelay value helps with loading freeze. Those that can preload are fine (2MB chip, 2MB Fast), but e.g. MK2 or Rise of the Robots - no way, either with or without Preload in WHDLoad.prefs. That is on 68000 with Kickstart 3.1 and Boot-ROM 2.30. |
15 February 2023, 09:44 | #10 |
Registered User
Join Date: Oct 2013
Location: Wrocław, Poland
Posts: 202
|
Anyone, no one? ;-)
|
15 February 2023, 20:25 | #11 |
The Big White Cat
Join Date: Jan 2005
Location: France
Age: 44
Posts: 828
|
Have you tried cd32load from jotd ?
https://github.com/jotd666/cd32load It streams the data directly from CD and works with WHDLoad slaves |
15 February 2023, 21:08 | #12 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
|
cd32load is only for CD32
Last edited by jotd; 16 February 2023 at 19:02. |
16 February 2023, 07:22 | #13 |
Registered User
Join Date: Oct 2013
Location: Wrocław, Poland
Posts: 202
|
Too bad...
|
16 February 2023, 19:04 | #14 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
|
There's another solution for games that are toying with the PRELOAD limit: JST can start games even if the memory isn't sufficient to backup chipmem and quit.
for instance if you have a 3MB game using 1MB memory, and you have 4MB of memory, JST can use the 3MB for preload, and 1MB for the game. Its runtime is small enough and it just won't quit or reset the amiga on quit (because it doesn't have the required 1MB or 512k to restore the chipmem) JST has even been successfully used on a 1MB CDTV for small games (Silkworm for instance). Also it doesn't need Kick 2.0 so no need to rekick which means that you have 512k more memory left. In your case, if you don't softkick you can probably run MK2 with JST on your setup. Not Rise of the Robots but it sucks so hard that it's not really a problem. |
17 February 2023, 11:38 | #15 |
Registered User
Join Date: Oct 2013
Location: Wrocław, Poland
Posts: 202
|
Hello jotd, thank you for your explanation and advice.
My aim is to create "the best of" CDTV/A570-loadable WHDLoad games based on TinyLauncher selector. MK2 and RotR were just examples, it's an issue with many games that can't fully preload with 2MB Chip +2 MB Fast. With ReadDelay parameter nor helping, maybe there would be a chance for A570/CDTV counterparts of WHDLoadCD32 and CD32Load? I can surely test and play with JST a bit, thanks for that hint! Maybe I'm wrong, but my idea would be replacing C:WHDLoad with JST, is there a chance it would then load any OCS slave I have in my compilation via TinyLauncher? But still the main and great target would be to cure WHDLoad loading on CDTV/A570. |
17 February 2023, 16:15 | #16 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
|
Replacing whdload by JST in launchers would probably work. But won't solve the games which need a lot of memory
I had started to create CDTVLoad but gave it up by lack of motivation. Also would not be an easy task as there is not code which reads the CD from CDTV using hardware. My tests could read a sector, then an ISO filesystem would have to be mapped on that.... Reusing CD32Load system (Psygore code, no source) would be the best way but it's a reverse engineered piece of code pretty difficult to heavily modify like this. Psygore could probably adapt it, as he brillantly added partial file load to Rob Northen CD32loader... or provide reversed code so everyone can attempt it. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Error running WHDLoad later than 16.4 | VoltureX | project.WHDLoad | 8 | 30 January 2013 20:16 |
Possible problem running WHDLoad with(out) SetPatch | nexusle | support.FS-UAE | 14 | 18 December 2012 17:45 |
Help running WHDLoad in A1200 | WeiXing3D | support.Apps | 2 | 04 July 2012 23:08 |
Problems running some WHDLoad games | Basquemactee1 | support.Other | 27 | 21 May 2010 13:06 |
Problem running Hunter on WHDLoad 16.7 | Steve | project.WHDLoad | 17 | 23 October 2007 20:29 |
|
|