GideonZ / 1541ultimate

Official GIT archive of 1541 ultimate II sources
GNU General Public License v3.0
181 stars 46 forks source link

[U64] Crash during/after depacking in certain Martech tape titles #206

Open slc79 opened 3 years ago

slc79 commented 3 years ago

Nemesis the Warlock and Tarzan tape originals won't load from either .tap or actual tapes. It appears to be a problem that happens during the depacking of the main loader. This can easily be reproduced since the main loader is actually an own separate binary that can be executed directly once extracted. The binaries from the loader of these two games is attached. binaries.zip

p2mate commented 3 years ago

This looks very similar to https://github.com/GideonZ/1541ultimate/issues/205. I haven't fully deciphered the first loader, but it does read from the same addresses as the game in https://github.com/GideonZ/1541ultimate/issues/205.

p2mate commented 3 years ago

In fact the following sequence seems to work if you have the retro replay cartridge selected:

1) start loading the tap file 2) when it resets, load the nemesis_loader.prg using the U64 menu 3) enter the monitor using the freeze button 4) set a freeze point at $082b, quit the monitor and go back to C64 basic 5) type run and wait until the freeze point is triggered 6) in the monitor set a new freeze point at $0183 and restart 7) wait until the freeze point is triggered 8) type A80CC JMP 8112 and press enter twice 9) restart and the game should continue to load

if you disassemble the code starting at $d080 at step 8, you will see there's some code to detect a cartridge decoding $deXX.

p2mate commented 3 years ago

Duplicate of #205

p2mate commented 3 years ago

here is a patched version of the nemesis_loader nemesis_loader_patched.zip

p2mate commented 3 years ago

and the tarzan loader tarzan_loader_patched.zip

RichardTND commented 1 year ago

Thank you. Another loader to be patched is Zarjaz, which also uses the same loader. The other Martech loader games, which use the same loader but no loading music (Uchi Mata, Jaws, The Running Man and Hellfire all seem to work fine.

Edit, I managed to fix Zarjaz myself.

RichardTND commented 1 year ago

There are a couple of tape loaders that do not work on the 1541U2/Ultimate64 which are quite recent ones. These are "S-Load" (CSDB: ID 133610) and also the "TapGen" tape loader (CSDB:ID 108580). When I used S-Load on the 1541Ultimate2, I had no problems loading TAP programs that were mastered with that utility. However, on the Ultimate 64 the "S-Load" message does not even display on the tape loader, and the loader crashes. Could this be a VIC2 issue?

RichardTND commented 1 year ago

Example file: woolly_SLOAD.zip