View Single Post
Old 09 October 2012, 18:25   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,518
I was wrong, it can't work with KS3.x.

Extra ROM address check in v3.17 only works with 2.04 (37.175). Newer ROM = I can't see how it can work.

Not sure what AR developers were thinking of, hardware triggers NMI after reset when first access to low memory is done by the ROM. ROM code checks if PC equals hardcoded value (or two if 3.17). If match = initialize internal ROM, show boot image etc.. if no match = do something else and crash..

PC range check would have worked with all ROMs..

v3.09:
Code:
004002C6 0839 0000 0040 0001      BTST.B #$0000,$00400001
004002CE 6700 0018                BEQ.W #$0018 == $004002E8
004002D2 0caf 00fc 0144 0002      CMP.L #$00fc0144,(A7, $0002)
004002DA 6700 76ce                BEQ.W #$76ce == $004079AA
v3.17
Code:
004002C6 0839 0000 0040 0001      BTST.B #$0000,$00400001
004002CE 6700 0024                BEQ.W #$0024 == $004002F4
004002D2 0caf 00fc 0144 0002      CMP.L #$00fc0144,(A7, $0002)
004002DA 6700 7990                BEQ.W #$7990 == $00407C6C
004002DE 0caf 00f8 0160 0002      CMP.L #$00f80160,(A7, $0002)
004002E6 6700 7984                BEQ.W #$7984 == $00407C6C
fc0144 = KS 1.3 address, f80160 = matching KS 2.04 address.

Technically it should work with 3.1 if above address is changed to KS 3.1 address.

(VER command can be used to check version)
Toni Wilen is online now  
 
Page generated in 0.04974 seconds with 9 queries