Wolfenstein 3D (Original) Abort on Data Transfer

Discuss the project, or ask a general question
Idge
Posts: 54
Joined: Wed Feb 02, 2022 9:45 pm

Wolfenstein 3D (Original) Abort on Data Transfer

Post by Idge »

I have the original version of Wolfenstein 3D which I have imaged to JFD files.

I can install the game fine and can run it fine from the install without issue meaning the copy protection check is working from disk 1, however if I try to run from the disk images directly by clicking the icon or using boot floppy, I always seem to get an Internal Error: abort on data transfer at &0001A3DC after it asks for Game disk 1 and I have swapped disks and press the space bar.

I have tried with ADFFS version 2.80, 2.83 and the latest beta 2.84 all of which have the same issue. I am testing on an A3010 with 4MB RAM and Risc OS 3.11 from a ZIDEFS Drive.

I have tried using my own recording files as well as without.

I also had APD versions (not created by me) which exhibit the same behaviour, although boot floppy obviously doesnt work on these.

If I directly run it from disk everything runs correctly, so it seems to only be if I run from the Imaged disks through ADFFS.

I am aware of the Wolf32 (enhanced) version which runs fine, however I just want to ensure I have an image of my original game working.
Any ideas?
JonAbbott
Posts: 2957
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Wolfenstein 3D (Original) Abort on Data Transfer

Post by JonAbbott »

Does it exhibit the same problem when HD installed? Instructions will be in !ADFFS.Obey.F1038801

Try the ADFFS script with the original floppy to see if its the script or the floppy images. Drop to Supervisor with the original floppy inserted, then:

Code: Select all

*ADFBootFloppy F1038801
I've just tried my original copy of Wolfenstein, which loaded without issue so try to pin the issue down. Possible causes I can think of are:
  • The disc protection is failing
  • It couldn't allocate enough memory - try increasing Next to 2048KB in the Wimp
  • Something resident is conflicting - try a SHIFT-Power On to bypass !Boot before loading !ADFFS / mounting the floppies
If you can pin down which, I cany adjust the script to resolve it.
Idge
Posts: 54
Joined: Wed Feb 02, 2022 9:45 pm

Re: Wolfenstein 3D (Original) Abort on Data Transfer

Post by Idge »

Thanks for looking into this Jon.

I suspect my issue is going to be down to the recording file I used. There is no recording file for this game in ADFFS, as it just shows the default eform800 file when you select Wolfenstein which does not image the copy protection.

When I initially created my recording file, I copied all files to a temp location, and loaded the game up to the point of it asking for disk 1, I then pressed Shift F-10 to create the file. This recording file did not work, as the protection check comes after a couple more disk swaps which means it didnt capture it.

I then created a new recording file by first installing the game, then to create the recording file, I copied all files to a temp location, then ran the installed version with my original disk in the drive, so it checked for the disk.

This recording file, then had the protection sector imaged ok and is what I created my image of disk 1 with.

I have tried what you suggested and below are the results

HD Install following instructions from the obey file - Works fine
ADFBootFloppy using original disk - I get the message Failed to extract boot script when trying this. I loaded ADFFS and then pressed F12 and typed ADFBootFloppy F1038801. I also tried Shift break to get to supervisor and get same error. Am I doing something wrong here?
Increase next to 2048k in wimp - I got the same Abort on Data Transfer message after doing this.
Shift boot - Same issue after doing a Shift Boot.
JonAbbott
Posts: 2957
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Wolfenstein 3D (Original) Abort on Data Transfer

Post by JonAbbott »

Idge wrote: Sun Apr 07, 2024 8:15 pm I suspect my issue is going to be down to the recording file I used. There is no recording file for this game in ADFFS, as it just shows the default eform800 file when you select Wolfenstein which does not image the copy protection.
Although I documented the protection in use, I've never created recording files for the game.

Looking at the protection method in use, I'm not certain you'll be able to created a recording in the usual way - it will probably require manually creating. From my notes, I created disc 1 by first imaging with a Kryoflux, converting that to an APD and then converting to a JFD.

I'll have to see if I can manually create a recording file that works.
JonAbbott
Posts: 2957
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Wolfenstein 3D (Original) Abort on Data Transfer

Post by JonAbbott »

See if the attached recording file works. I quickly tested I could start a new level, but haven't played beyond that to see if I need to capture more sectors.

If it works for you, I'll add it to the ADFFS 2.84 public beta, which I need to update this week following a few bug fixes.
Idge
Posts: 54
Joined: Wed Feb 02, 2022 9:45 pm

Re: Wolfenstein 3D (Original) Abort on Data Transfer

Post by Idge »

Cheers Jon,
I just imaged it using your recording file, and it images the disk fine and shows the protection sector at the end, however unfortunately I still get the Internal error: abort on data transfer at &0001A3DC error after it prompts to insert wolfenstein 3D GAME DISC #1 and I press cntrl-shift F2 to change to the Game disk 1. I then press the space bar. It then hard locks the machine and I have to physically power off

EDIT: I have tried using your disk 1 image with my disks 2 and 3, which I got out of the package from packman, and that version works fine with boot floppy, but I get the same error if I try to run !wolf directly from the disk using your image. From what I can see both look identical in regards to data on the disks. The only differences being your one has a config file in !Wolf, which mine does not, and the size of your image is 288K and mine is 294K. Other than that they look the same.
JonAbbott
Posts: 2957
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Wolfenstein 3D (Original) Abort on Data Transfer

Post by JonAbbott »

Interestingly, &0001A3DC is *adfs:Dismount :0

I'm not sure why that would trigger an abort.
Idge
Posts: 54
Joined: Wed Feb 02, 2022 9:45 pm

Re: Wolfenstein 3D (Original) Abort on Data Transfer

Post by Idge »

I just tried on Arculator to see if it was unique to my physical machine, and I get the same issue on there
JonAbbott
Posts: 2957
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Wolfenstein 3D (Original) Abort on Data Transfer

Post by JonAbbott »

It's an issue caused by WolfLoad. Instead of allocating the correct amount of memory for the game, it allocates all memory leaving none in the free pool. That causes RMA memory allocations to come from the end of application space, which triggers an abort the next time the User stack is touched by the game.

There's a couple of solutions:
  1. Use the updated Boot script, I've modified the game's script (F1038801) to reduce the memory allocation down to a max of 2MB and also fixes various bugs in the game code back to RISC OS 3.1x
  2. Use *ADFReserveMemory 820 before running the game to pre-allocated the floppy image buffer. This isn't a 100% guaranteed fix, but will prevent ADFFS from trying to allocate memory when switching floppies
Idge
Posts: 54
Joined: Wed Feb 02, 2022 9:45 pm

Re: Wolfenstein 3D (Original) Abort on Data Transfer

Post by Idge »

Thanks Jon,
I have updated the obey file using ADFFS 2.84 beta and tried boot floppy, however I now get an SWI &103F10 not known error, Press SPACE or click mouse to continue. When I click the mouse it then shows an error showing the application has gone wrong.If I click describe it shows SWI &205110 not known.
If I keep clicking through the errors, it eventually says: Internal Error, no stack for trap handler: SWI &205110 not known, pc = 000600C4: registers at 018B8EBC.
This seems to be caused by this section
| Fix bugs in OS_ClaimProcessorVector code
MEMA 19E5C E28F1080 >19E84 E28F2058 >19EC0 E28F201C

If I comment out that line, the game loads without the SWI error, however I still get the Abort on Data Transfer error when switching to Disk 2.

Doing the ADFReserveMemory 820 and running the game directly, when I switch to disk 2 I get half a page of ys on the screen and press space or click mouse to continue and a lock up or a lock up and it saying press SPACE or click mouse to continue

I also tried the using the obey file on ADFFS 2.83 with the same results.

Oddly one time the game loaded, without asking for a disk swap as it loaded the Wolfenstein picture and music without asking me to switch to disk 1. This was a one off though, and every other time it has asked for the disk swap.

Really appreciate the effort you have put into resolving this.

Thanks
Post Reply