Hi!
This monday i was continuing with my list of games and copying then to the M4... but when i tried to find "Emilio Butragueno 2" i was surprised that no unprotected copy exist on internet (at least i didn't see it!).
As some of you know this game was labeled this way in spain, because Emilio ButragueƱo was a well know football player here those days... it had 2 games on 1, the first game was a training game and the second game was a competition game.
the real names of this games were:
Gary Lineker's Superskills (training)
Gary Lineker's Hot-Shot ! (competition)
I had this game those wonderful years and i wanted it on the M4 with my collection!.
I downloaded the cpc-power versions and i didn't want to do another tape-crack... i had a look to the floppy version and started to see the loader of the game, to learn something about the FDC and how program it on asm.
I found an example of how read from floppy on asm and compared it with the loader of this game... fortunatelly this game is not so much protected (only stupid r protection) and it was accessing to the floppy like in the example...
little by little i achieve to save all the data from the training disk, but this game is multiload, every level of training is loaded from disc (or tape).
This meant from the start that i'll had to do 2 loaders, one for the main program and one for the levels...
I did the main loader, but when i had to do the multiloader level, i was worried with my bugged loader from U.N.S.Quadron, as well as the new method from cngsoft to search for the mass storage roms, and i knew that i wasnt doing the right things with my firmware multiloaders... time to start again with a new firmware-multiloader...
I read again all the forum information, i read a lot of game cracks from cngsoft, spanish hacker, velus... i found an example on an english web that i didn't see in the past!! and with all the information i managed to program a "new-firmware-loader-version-2.0-bug-free-i-think". The new loader worked like a charm and it was time to implement it on Emilio Butragueno 2!
It was relatively easy find the level loader on the original game, and like a lot of multiload games, it load the levels on the same starting position, when i knew the starting and length of the levels it was easy to copy the 3 levels, after this some aplib magic... and voila almost the job done.
I have to say that i had to play the 3 levels to copy the memory locations and it wasn't easy :laugh: .
when i had all the coding done, i realized that the game didn't work well at the start of level 2 and level 3, it did some strange things and then continued working... but i wasn't happy with it... time to see what can be happening... oh my god! at least 1 or 2 hours searching, comparing files, reading the original loader again... to end finding the problem! one f... register that i wasn't initializing with the original values! the iy register needed to have the same value the original loader had and to see this i had to waste 1-2 hours!!
but ok, is working!!!
here is my "Emilio Butragueno 2" version (training and competition), working like a charm with the M4 (thanks to cngsoft idea inside of my new firmware loader) and i think that it has to work on 64k's because i use #c000 to load the levels.
The games are not the best games on the world but i hope that someone like and use this version with @Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) 's M4...
i don't know if it works with another mass storages but i think that it won't work. because with the reinit of the roms the directory is lost (not in the M4 as the directory is in the M4 itself) and i think that other existing mass storage roms and future versions need to mimetize this behaviour to achieve this high compatibility (for example saving the directory on bank 2 of the cpc6128 that it isn't erased on reset and reload it on rom reinit). I think i have to talk with @SyX (http://www.cpcwiki.eu/forum/index.php?action=profile;u=324) about this :P
download link:
http://s000.tinyupload.com/index.php?file_id=92746510785696592241 (http://s000.tinyupload.com/index.php?file_id=92746510785696592241)
Cool, good work !
About ACMEDOS , it seems that |CD is similar to M4, isn't it possible to read the current directory with ACMEDOS ?
So you could store it yourself in ram, and after rom-init, issue |cd,"/stored_path"
Btw. it would be nice if we had a wiki page with "Mass storage fixed games", something like:
Game name | RAM | ACMEDOS | ??? | ??? | M4 | comments
============================================
Emilio Butragueno 2 | 64 | ? | ? | ? | yes | run from directory