Session end : 11h59m46s | Hide picture Sexe : OFF | ![]() | ![]() | ![]() | ![]() | Donations 2024 : 679.48 € |
Le patch tel que s'applique une fois le jeu initialisé
Pour réaliser un exécutable il faut donc le refaire avec l'état de la mémoire après l'init, quand le programme passe pour la première fois en #417F
Pour ça j'ai fait un petit strap qui prépare le CRTC et decrunch les 64K de mémoire (compatible 464/664) avant de revenir en #417F
L'idée générale c'est que ma verrue écrase le tout début du code d'init
Attention, le reste du code d'init est écrasé par le jeu lui même pour y stocker des variables :)
org #53D3
call #4000
org #4000
cp 15
jp nz,#5889
ld a,(#55C8)
xor #C0
ld (#55C8),a
ld a,18
ld l,#60 ; ???
ld de,string1
call #59F2
ld a,12
ld l,#70 ; ???
ld de,string2
call #59F2
ld a,21
ld l,#84 ; ???
ld de,string3
call #59F2
ld a,(#55C8)
xor #C0
ld (#55C8),a
call #540D
jp #4153 ; game over
string1 defb 'YOU HAVE COMPLETE','D'+#80
string2 defb 'ALL MISSION','S'+#80
string3 defb 'YOU ARE A TRUE DRIVE','R'+#80