Disk2EasyFlash 0.9.3-r2
----------------------------------
- Changed IRQ control at the handler exit of D2EF. There was a CLI previously, now the status of the interrupt disable flag at the time of the Kernal call is being preserved by PHP and PLP couple. With this change, some almost-running games reported by CommFor became working. Some also became working stable.
So where was the problem?
This is something interesting and difficult to explain. The problem is being caused by the on-the-fly depacker used in the games. I noticed that some games crash when a key is pressed on the keyboard while loading a level. When I search the reason, I found that the content of the address used as a variable by the depacker was changed by Kernal IRQ handler at the time of the key press. This is not Kernal IRQ handler's fault of course, the depacker is using an address used by Kernal IRQ handler. I spotted some depackers that are this way:
Unknown depacker
uses zero page address $F6 (high byte of the vector: keyboard decode table)
has several variations
example games:
Alien Syndrom / Remember Bitte melde dich an, um diesen Link zu sehen.
Dark Fusion / The Sharks - IDEFIX by Arcane Bitte melde dich an, um diesen Link zu sehen.
Darkman / X-Rated - IDEFIX by Arcane Bitte melde dich an, um diesen Link zu sehen.
Karateka / Remember Bitte melde dich an, um diesen Link zu sehen.
Super Cycle / Remember Bitte melde dich an, um diesen Link zu sehen.
Sword of Honour / Alphaflight - IDEFIX by Arcane Bitte melde dich an, um diesen Link zu sehen.
Katakis / Hokuto Force Bitte melde dich an, um diesen Link zu sehen.
Even if a key is not pressed in these games while a level loading is being done, a problem may occur. For example, when you convert the Darkman above to Bitte melde dich an, um diesen Link zu sehen. with D2EF 0.9.3-r1 and run it, if you press the RETURN key on the "start game" selection in the trainer menu, but not release the key fast enough, the game will not run after the level loading. This problem was solved with the new revision. Bitte melde dich an, um diesen Link zu sehen. is the same Darkman converted with D2EF 0.9.3-r2.