F
FranX
Zoals bekend is de CAM software in de nieuwe Humaxsoftware totaal anders (softcell 2.09h)
aangezien de verschillen behoorlijk zijn kun je de routines van de oude patch niet meer
terugvinden.
Een paar dingetjes werken op dezelfde manier, maar zijn anders geprogrammeert (daardoor
wat lastiger te vinden) maar volgens mij wel het eerste deel voor een evt. nieuwe patch.
Hier een stukje Humax CAMcode
b483c: 0ff3163d jal 0xfcc58f4 <-- Kaart routine
b4840: 00602021 move $a0,$v1
b4844: 8e0e0000 lw $t6,0($s0)
b4848: 31ce0008 andi $t6,$t6,0x8
b484c: 51c00010 beqzl $t6,0xb4890 <-- Check OK,branche b4890 (0BF31224)
b4850: 8e0b0000 lw $t3,0($s0)
b4854: 0bf3121d j 0xfcc4874 <-- Deze jump moet niet gebeuren
b4858: 00000000 nop
Hier wordt een kaartcheck gedaan, en als deze niet klopt gaat ie naar de routine op
adres c4874 (wat niet moet) als het wel klopt moet ie de routine op adres b4890
uitvoeren, ik heb er nu een jump van gemaakt naar deze routine zodat deze altijd!
wordt uitgevoerd...
Stukje verder in de CAMcode
c4848: 00000000 nop
c484c: 0ff41063 jal 0xfd0418c <-- Kaart routine
c4850: 00000000 nop
c4854: 8f8e9844 lw $t6,-26556($gp)
c4858: 00000000 nop
c485c: 11c00005 beqz $t6,0xc4874 <-- Deze uitnoppen 00000000
c4860: 00000000 nop
c4864: 8f839844 lw $v1,-26556($gp)
c4868: 00000000 nop
c486c: 0060f809 jalr $v1
c4870: 00000000 nop
Weer een kaartcheck, en als deze niet klopt wordt er weer naar de routine op c4874
gesprongen het simpel uitnoppen voorkomt dit probleem...
Beide aanpassingen heb ik inmiddels in de soft zitten, en de CAM accepteerd nog steeds
gewoon 0-kaarten en werkt zonder problemen, helaas gaan C-kaarten nog steeds niet.
Aangezien de gedisassembleerde soft zo'n 10Mb aan text is, is het zoeken naar een speld
in een hooiberg...
Gr FranX
aangezien de verschillen behoorlijk zijn kun je de routines van de oude patch niet meer
terugvinden.
Een paar dingetjes werken op dezelfde manier, maar zijn anders geprogrammeert (daardoor
wat lastiger te vinden) maar volgens mij wel het eerste deel voor een evt. nieuwe patch.
Hier een stukje Humax CAMcode
b483c: 0ff3163d jal 0xfcc58f4 <-- Kaart routine
b4840: 00602021 move $a0,$v1
b4844: 8e0e0000 lw $t6,0($s0)
b4848: 31ce0008 andi $t6,$t6,0x8
b484c: 51c00010 beqzl $t6,0xb4890 <-- Check OK,branche b4890 (0BF31224)
b4850: 8e0b0000 lw $t3,0($s0)
b4854: 0bf3121d j 0xfcc4874 <-- Deze jump moet niet gebeuren
b4858: 00000000 nop
Hier wordt een kaartcheck gedaan, en als deze niet klopt gaat ie naar de routine op
adres c4874 (wat niet moet) als het wel klopt moet ie de routine op adres b4890
uitvoeren, ik heb er nu een jump van gemaakt naar deze routine zodat deze altijd!
wordt uitgevoerd...
Stukje verder in de CAMcode
c4848: 00000000 nop
c484c: 0ff41063 jal 0xfd0418c <-- Kaart routine
c4850: 00000000 nop
c4854: 8f8e9844 lw $t6,-26556($gp)
c4858: 00000000 nop
c485c: 11c00005 beqz $t6,0xc4874 <-- Deze uitnoppen 00000000
c4860: 00000000 nop
c4864: 8f839844 lw $v1,-26556($gp)
c4868: 00000000 nop
c486c: 0060f809 jalr $v1
c4870: 00000000 nop
Weer een kaartcheck, en als deze niet klopt wordt er weer naar de routine op c4874
gesprongen het simpel uitnoppen voorkomt dit probleem...
Beide aanpassingen heb ik inmiddels in de soft zitten, en de CAM accepteerd nog steeds
gewoon 0-kaarten en werkt zonder problemen, helaas gaan C-kaarten nog steeds niet.
Aangezien de gedisassembleerde soft zo'n 10Mb aan text is, is het zoeken naar een speld
in een hooiberg...
Gr FranX