Napiszę Ci co robiłem w Deathchase, na początku wspomnę, że gra chodzi tylko na 48k, na 128k wywala się.
Oryginalna gra to loader w Basic i blok 40000,16200 przeniesiony po ładowaniu przez LDIR na adres 16384 i to wszystko
1. Dodałem kod pod 60000, który przenosi tylko ostatnie 9288 bajtów, sprawdza klawiaturę (menu trainera)
2. Następnie doładowywany jest blok 48640,9076 zawierający muzykę, obsługę przerwań, a także przenosi ekran z 40000 pod 16384 i gra sama startuje przez RET.
Tablica przerwań jest pod 48640, obsługa przerwania 49089, a muzyka pod 49152 (init 49152, play 49156)
3. Przeszukałem grę w debuggerze szukając DI, zamieniałem je na NOP,
znalazłem też w kodzie gry jedno odniesienie do ROM zawierające DI (1218), skopiowałem procedurę pod 61218 usuwając DI.
4. Usunąłem dźwięki na beeper, praca silnika motoru przegłuszała muzykę. Usunąłem te dźwięki, z wyjątkiem startu gry (bo i tak muzyka zatrzymywała się przy starcie. Efekt trafienia wroga zamieniłem na efekt na border XOR 16 na XOR 3 przed OUT 254,a
I to chyba wszystko co namieszałem.