網頁

2023年2月6日 星期一

[MAME][HACK]1942


 這個遊戲畫質比較差,應該是C社早期的作品,後來越改良越好。

首先先找金手指,找到一段「生命」


所以下斷點 wp E101,1,w

嘗試把35註記掉,發現不OK,因為這段代碼後面的CA 96 69,就是接關,這段跳過,在下段還是會直接死掉,要註記就要全註記00 00 00 00取代。

稍微研究一下代碼,35是 dec (hl),然後34是inc (hl),所以如果直接把35改34,這樣就可以實踐死掉時,生命反而增加。


在E09B這邊是LOOP,也就是炸彈,追一下,在1C25,這邊一樣可以35改34,無限LOOP。

再來是無敵。


也是追斷點,看E0A5什麼時候被動到,後來追到一段代碼。

1d  hl,$E0A5 把E0A5的值讀到hl暫存器
set 1,(hl)  把hl的值改為1,不管原本多少,這邊把CBCE改成CBDE,把hl的值改為3,不管原本多少,程式的設定只要超過1,就會是無敵狀態,所以給他一個3的數字,這樣就無敵。

再來是e164這邊有一個四發子彈,有子彈就80,沒有就00,同樣追斷點。
這個代碼很沒意義,因為已經無敵了,但是想看看GAMEOVER的時候,哪些東西被歸零。

果然找到大密寶,一起被歸零的還有E11F和EC07這兩個值
EC07是通過關卡,每次過關就加1,沒意義。
但是E11F就超有趣,他是小飛機的值。

同樣的,在這邊設斷點,往下追。
在E120發現每次吃到小飛機會變成83,E11F會變成02或03。

也就是說,只要能註記掉小飛機消失的代碼,小飛機就不會消失。

繼續追,小飛機撞擊時,會依序觸發3段代碼,這3段代碼都註記掉。

實踐小飛機無敵狀態,但是不知道為什麼,僅有左邊小飛機無敵,而且這個無敵和主角飛機不同的是,左邊的小飛機等同於一個戰搥,可以任意搥東西,右邊的小飛機就沒任何能力,但是死掉會在下一關補回。

原本以為這樣改就差不多了,無奈,玩一下就當了,然後夜已經深了,就不太想再研究下去。

有把翻車影片錄下來,前面幾關都還OK,後面就直接來一個ERROR。

也不知道前面哪一段代碼異常,也不想追了。

沒有留言:

張貼留言