|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005141||BeneathASteelSky||[WHDLoad Installs Games] CD³²||public||2021-04-19 09:09||2021-05-08 00:03|
|Assigned To||JOTD||Project Info||Beneath A Steel Sky (Virtual Theatre/Virgin)|
|Summary||0005141: CD32 version on ECS systems|
|Description||Making a little test on my CDTV emulation on WinUAE, I discovered that the CD32 version of Beneath A Steel Sky was full ECS, even the new screens specific to this version. What it means is that this great game with all the speaches maybe could be compatible on ECS systems. But I can't make further tests on real systems because WHDLoad slave currently needs 68020.|
Furthermore, as PRELOAD can't be used with "only" 8Mb FastRAM and 2Mb ChipRAM, OS swaps are dreadful between each speach to load, even making the music bug. To finish, the slave needs a 3.1 kickstart image, which is not very convenient for ECS users as 3.1 image is ususally required only for AGA games.
|Steps To Reproduce||Just launch the game with 68020 CPU on a ECS system emulation to see that the game could have a luck to work on Amiga 500.|
|Additional Information||I think that offering the abality for all upgraded ECS based Amiga users to play the full-speak version of Beneath A Steel Sky would be fabulous. But for that |
- the 68020 restriction should be lifted to verify that the game could work using a 68000
- OS swaps have to be reduced (fabulous work have been made on this point in 2018 by JOTD on Monkey Island 2)
- Ideally, using a 1.3 kickstart image would be more convenient.
|Tags||No tags attached.|
|KickROM||37 - Kick 2.0|
|The Kickstart version doesn't have anything to do with the chipset (besides, what exactly is "inconvenient" about a certain file being loaded?) and there are many valid reason for requiring Kickstart 3.x for non-AGA games.|
Last edited: 2021-04-19 23:12
I have attached a slave that works with A600 version of 3.1 kick (68000 compatible).
Making it 1.3 compatible is probably possible by removing the need of lowlevel.library (emulating readjoyport) but is that worth it?
Another difficulty: the game requires more than 1.5 CHIP memory or the executable won't load.
To conclude, Monkey Island 2 os swap reducing was possible by pre-creating savefiles to avoid byte-by-byte write to disk. Not the same issue: here, the preloaded game (talkie) requires 100MB and there's no way around it if you want talkie and no os swaps.
So the best I can do is to create a version that runs on 68000 provided that the machine has 2MB chip (and some fast). That's the version I attached.
Many thanks @StingRay and @JOTD to have a look on this!
I made some more tests. BASS works en ECS systems natively (not bootable on CDTV from CD but ok from HDD)!
But I found some issues. For example, game crashes when I try to enter the workshop in the first sequence (just after the room you find a new body for Joey). But if I enter the code 936842 to go to the next sequence called "The Furniss", game works again.
Crash noted on real hardware and reproduced on WinUAE
As a note, freeanim.library seems to be necessary too (impossible to launch the game without this one in the Libs directrory of Workbench).
One more wor
@JOTD I tried your slave without 68020 lock. First of all it's sadly near unplayable with OS swaps between each sentence of the character and it interrupts or crash the music sample that was playing :(
But most of all, we have the same compatibility problem than on native work of the game with the same crash entering the workshop. But using WHDLoad, we get more informations with an address exception (file attached)
can you provide a savegame or a code or the fastest way to get to the crash ?
this is very likely a 68000/68010 read word at odd address issue. Easily fixable if reproduced.
No savegame on CD32, only passwords. Use the password 000000 when the game show the main menu (after language selection) to go directly to the begin of the game at the first playable area. Then :
- Right click on a iron bar on the wall at the right of the main character.
- use the mouse pointer to make appear the interface placing it at the top of the screen, select the iron bar with a right click and use it on the door on the right by left click when an open hand appears as cursor.
- After the cinematic sequence, go down the stairs and exit by the right exit. Cross the room and go to the next one to the right... then the game crash.
You can do that in less than 3 minutes ;-)
You're right it's surely and address issue as all works perfectly if I replace the 68000 by a 68020 in my WinUAE config.
The problem is that we can assume that there will be other issues like this later in the game. Do you think that if you fix this bug here, it will definitely prevent it even further while playing?
|The iron bar is on the wall at the LEFT ! Sorry for the mistake.|
|cannot reproduce: with 68000 I enter a room an a man asks me what I want.|
|Have you tick the box "More compatible" in your WinUAE configuration (it usually make the difference) or tried on a real Amiga if possible ?|
|haha got me on that one. Ticking the "more compatible" box triggers the issue|
|2021-04-19 09:09||ixien||New Issue|
|2021-04-19 09:20||StingRay||Note Added: 0010008|
|2021-04-19 09:21||StingRay||Assigned To||=> JOTD|
|2021-04-19 09:21||StingRay||Status||new => assigned|
|2021-04-19 23:06||JOTD||File Added: BeneathASteelSkyCD32.zip|
|2021-04-19 23:09||JOTD||Note Added: 0010032|
|2021-04-19 23:12||JOTD||Note Edited: 0010032||View Revisions|
|2021-04-21 10:59||ixien||Note Added: 0010062|
|2021-04-21 11:14||ixien||File Added: Image2.png|
|2021-04-21 11:14||ixien||Note Added: 0010063|
|2021-04-21 11:59||JOTD||Note Added: 0010064|
|2021-04-21 14:18||ixien||Note Added: 0010066|
|2021-04-21 14:19||ixien||Note Added: 0010067|
|2021-05-07 20:49||JOTD||Note Added: 0010219|
|2021-05-07 21:05||ixien||Note Added: 0010220|
|2021-05-07 23:33||JOTD||Note Added: 0010222|
|2021-05-07 23:34||JOTD||Status||assigned => confirmed|
|2021-05-08 00:03||JOTD||Status||confirmed => closed|
|2021-05-08 00:03||JOTD||Resolution||open => fixed|