Index du Forum
IDENTIFICATION SERVEUR : 51.77.218.217 - CLIENT : 3.233.215.231

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Bruce Lee (Datasoft, 1984)

 
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 3043
Localisation: Le Chesnay, France

MessagePosté le: Lun 06 Juin 2011, 21:24    Sujet du message: Bruce Lee (Datasoft, 1984) Répondre en citant

You are Bruce Lee and you must go through different levels and avoid ennemies. A hard task. Will you be strong enough?

PROTECTION TYPE
A 4*4 protection scheme with marker changes per track. A weird and probably long crack...

BOOT TRACE
1- boot1 at $0800..$08FF. It is similar to a DOS 3.3 boot 1 sector.
2- boot2 loads at $B700..$B8FF. $B800..$B8FF is moved at $0200..$02FF and then executed at $0219
3- boot 3 is loaded at $6000..$63FF and executed at $6000

How to do the boot trace? Remember I am on a IIgs (I use $96FB not $96F8)
9600<C600.C6FFM
96FB:AD E8 C0 60
9600G

801L - We discover a standard boot 1 - We need to let it load data (see address at $08FD..$08FE) and stop it before it jumps to the address...

96FB:A9 00 8D 84A 4C 801
9600G

B700L - It performs some inits, move $B800..$B8FF to $0200..$02FF and jumps to $0219 - We must let it go to $B700 and interrupt after the next load, before it jumps to $6000

96FB:A9 4C 8D 84A A9 00 8D 84B A9 98 8D 84C 4C 801
9800:A9 00 8D B8DA 4C B700

$B8DA corresponds to the real address $02DA, it replaces the JSR with a BRK. We'll see later on that is not the right address to set the BRK - I keep that for later...

9600G
BRK
C0E8
We now have code at $0800..$08FF, $B700..$B8FF and $6000..$63FF (I thought it would load until $62FF because it is 3 pages to load with a BNE not a BPL... Need to check that)

Please understand phase when I write track, bad boy I am but I can't correct myself. Tip: two adjacent phases per track.

It is time for disassembly...

Antoine
6/2011


Derničre édition par toinet le Lun 06 Juin 2011, 22:39; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 3043
Localisation: Le Chesnay, France

MessagePosté le: Lun 06 Juin 2011, 22:31    Sujet du message: Répondre en citant

Boot 1 at $0800..$08FF

Code:
*---------------------------------------------------------*
*     Disassembled with The Flaming Bird Disassembler     *
*    (c) Phoenix corp. 1992,93  -  All rights reserved    *
*---------------------------------------------------------*

* TFBD generated equates
*    (c) PHC 1992,93


INIT EQU $FB2F
SETKBD EQU $FE89
SETVID EQU $FE93

         TYP   BIN

         ORG   $000800
         MX    %11
         DB    $01
         LDA   $27
         CMP   #$09
         BNE   L081F
         LDA   $2B
         LSR
         LSR
         LSR
         LSR
         ORA   #$C0
         STA   $3F
         LDA   #$5C
         STA   $3E
         CLC
         LDA   L08FD+1
         ADC   L08FF
         STA   L08FD+1
L081F    LDX   L08FF
         BMI   L0839
         LDA   L084D,X
         STA   $3D
         DEC   L08FF
         LDA   L08FD+1
         STA   $27
         DEC   L08FD+1
         LDX   $2B
         JMP   ($003E)

L0839    INC   L08FD+1
         INC   L08FD+1
         JSR   SETKBD
         JSR   SETVID
         JSR   INIT
         LDX   $2B
         JMP   (L08FD)

L084D    HEX   000D0B09070503010E0C0A080604020F
         HEX   002064A7B008A900A88D5DB69140ADC5
         HEX   B54CD2A6AD5DB6F008EEBDB5D003EEBE
         HEX   B5A9008D5DB64C46A58DBCB520A8A620
         HEX   EAA24C7DA2A013B142D014C8C017D0F7
         HEX   A019B14299A4B5C8C01DD0F64CBCA6A2
         HEX   FF8E5DB6D0F600000000000000000000
         HEX   00000000000000000000000000000000
         HEX   0000002058FCA9C220EDFDA90120DAFD
         HEX   A9AD20EDFDA90020DAFD600000000000
         HEX   00000000000000000000000000000000
L08FD    DA    $B600
L08FF    DB    $02
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 3043
Localisation: Le Chesnay, France

MessagePosté le: Lun 06 Juin 2011, 22:32    Sujet du message: Répondre en citant

Boot 2 at $B700..$B8FF (part $B700..$B7FF shown here)

Code:

*---------------------------------------------------------*
*     Disassembled with The Flaming Bird Disassembler     *
*    (c) Phoenix corp. 1992,93  -  All rights reserved    *
*---------------------------------------------------------*

WAIT EQU $FCA8

         TYP   BIN

         ORG   $00B700
         MX    %11
LB700    LDX   #$00       ; MOVE CODE
LB702    LDA   $B800,X
         STA   $0200,X
         DEX
         BNE   LB702
         LDX   $2B
         LDA   #$1E       ; MOVE TO TRACK $1E
         JSR   LB715
         JMP   $0219      ; NEXT STEP

LB715    STA   $FA        ; MOVE ARM
         CMP   $02E7
         BEQ   LB76F
         LDA   #$00
         STA   $FC
LB720    LDA   $02E7
         STA   $FB
         SEC
         SBC   $FA
         BEQ   LB75D
         BCS   LB733
         EOR   #$FF
         INC   $02E7
         BCC   LB738
LB733    ADC   #$FE
         DEC   $02E7
LB738    CMP   $FC
         BCC   LB73E
         LDA   $FC
LB73E    CMP   #$0C
         BCS   LB743
         TAY
LB743    SEC
         JSR   LB761
         LDA   LB781,Y
         JSR   LB770
         LDA   $FB
         CLC
         JSR   LB764
         LDA   LB78D,Y
         JSR   LB770
         INC   $FC
         BNE   LB720
LB75D    JSR   LB770
         CLC
LB761    LDA   $02E7
LB764    AND   #$03
         ROL
         ORA   $2B
         TAX
         LDA   $C080,X
         LDX   $2B
LB76F    RTS

LB770    LDX   #$11       ; WAIT
LB772    DEX
         BNE   LB772
         INC   $46
         BNE   LB77B
         INC   $47
LB77B    SEC
         SBC   #$01
         BNE   LB770
         RTS

LB781    HEX   01302824201E1D1C1C1C1C1C
LB78D    HEX   702C26221F1E1D1C1C1C1C1C
         LDA   #$40       ; CODE
         JSR   WAIT
         LDA   #$00       ; LOAD AT $6000
         STA   $42
         LDA   #$60
         STA   $43
         LDA   #$03       ; 3 PAGES
         STA   $41
LB7AA    LDA   $C08C,X
         BPL   LB7AA
         CMP   #$D5       ; MARKER 1
         BNE   LB7AA
LB7B3    LDA   $C08C,X
         BPL   LB7B3
         CMP   #$BB       ; MARKER 2
         BNE   LB7AA
LB7BC    LDA   $C08C,X
         BPL   LB7BC
         CMP   #$CC       ; MARKER 3
         BNE   LB7AA
LB7C5    LDA   $C08C,X    ; NIBBLE 1
         BPL   LB7C5
         ROL
         STA   $40
LB7CD    LDA   $C08C,X    ; MARKER 2
         BPL   LB7CD
         AND   $40
         STA   ($42),Y    ; SAVE DATA
         INY
         BNE   LB7C5
LB7D9    LDA   $C08C,X    ; MARKER 4
         BPL   LB7D9
         CMP   #$AD
         BNE   LB7AA
         INC   $43        ; ADDRESS++
         DEC   $41        ; NBPAGES--
         BNE   LB7C5
         LDX   $3F
         JSR   $6000      ; EXECUTE CODE
         LDA   $44        ; RESTORE REGISTERS
         LDY   $3E
         LDX   $F4
         CMP   $C088,X    ; STOP THE DRIVE
         RTS

         HEX   00FFFFFFFFFFFFFFFF
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 3043
Localisation: Le Chesnay, France

MessagePosté le: Lun 06 Juin 2011, 22:33    Sujet du message: Répondre en citant

Boot 2 at $B700..$B8FF (part $B800..$B8FF shown here)
Real address is $0200..$02FF

Code:


*---------------------------------------------------------*
*     Disassembled with The Flaming Bird Disassembler     *
*    (c) Phoenix corp. 1992,93  -  All rights reserved    *
*---------------------------------------------------------*

SOFTEV EQU $03F2
PWREDUP EQU $03F4
MSLOT EQU $07F8
TXTCLR EQU $C050
MIXCLR EQU $C052
TXTPAGE2 EQU $C055
HIRES EQU $C057
HOME EQU $FC58
WAIT EQU $FCA8
RESETV EQU $FFFC

         TYP   BIN

         ORG   $000200
         MX    %11
L0200    LDY   #$00       ; REBOOT CODE
         LDA   #$04
         STA   L020A+2
         TYA
         LDX   #$BC
L020A    STA   $0400,Y
         DEY
         BNE   L020A
         INC   L020A+2
         DEX
         BNE   L020A
L0216    JMP   $0000

L0219    LDA   $2B        ; ENTRY POINT
         STA   $F4
         LSR
         LSR
         LSR
         LSR
         ORA   #$C0
         STA   L0216+2
         JSR   HOME
         LDX   #$30
         LDA   $C051,X    ; $C081
         LDA   $C051,X    ; $C081
L0231    LDA   $D000,Y
L0234    STA   $D000,Y
         DEY
         BNE   L0231
         INC   L0231+2
         INC   L0234+2
         DEX
         BNE   L0231
         LDA   #$00       ; SET RESET
         STA   SOFTEV
         STA   RESETV
         LDA   #$02
         STA   SOFTEV+1
         STA   RESETV+1
         EOR   #$A5
         STA   PWREDUP
         LDX   #$07       ; PARAMETER
         LDA   $C079,X    ; $C080
         JSR   L027E
         BIT   TXTCLR
         BIT   MIXCLR
         BIT   HIRES
         BIT   TXTPAGE2
         LDX   #$40
L026E    LDA   #$00
         JSR   WAIT
         DEX
         BNE   L026E
         LDX   #$08       ; PARAMETER
         JSR   L027E
         JMP   MSLOT      ; $07F8

L027E    STA   $44
         STX   $3F
         STY   $3E
         LDX   $F4
         LDA   $C089,X
         LDA   #$40
         JSR   WAIT
         LDA   #$00       ; LOAD ADDRESS
         STA   $42
         LDA   #$60
         STA   $43
         LDA   #$04       ; NUMBER OF SECTORS
         STA   $41
L029A    LDA   $C08C,X
         BPL   L029A
         CMP   #$D5       ; FIRST MARKER
         BNE   L029A
L02A3    LDA   $C08C,X
         BPL   L02A3
         CMP   #$BB       ; SECOND MARKER
         BNE   L029A
L02AC    LDA   $C08C,X
         BPL   L02AC
         CMP   #$CC       ; THIRD MARKER
         BNE   L029A
L02B5    LDA   $C08C,X    ; 4*4
         BPL   L02B5
         ROL
         STA   $40
L02BD    LDA   $C08C,X    ; 4*4
         BPL   L02BD
         AND   $40
         STA   ($42),Y    ; SAVE DATA
         INY
         BNE   L02B5
L02C9    LDA   $C08C,X
         BPL   L02C9
         CMP   #$AD
         BNE   L029A
         INC   $43        ; ADDRESS++
         DEC   $41        ; NBSECTORS--
         BNE   L02B5
         LDX   $3F        ; GET PARAMETER
         JSR   $6000      ; NEXT BOOT
         LDA   $44        ; RESTORE REGISTERS
         LDY   $3E
         LDX   $F4
         CMP   $C088,X    ; STOP THE DRIVE
         RTS

         BRK   $FF
         SBCL  $FFFFFF,X
         SBCL  $FFFFFF,X
         SBCL  $FFFFFF,X
         SBCL  $FFFFFF,X
         SBCL  $FFFFFF,X
         SBCL  $FFFF,X
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 3043
Localisation: Le Chesnay, France

MessagePosté le: Lun 06 Juin 2011, 22:35    Sujet du message: Répondre en citant

Boot 3 at $6000..$63FF

Code:


*---------------------------------------------------------*
*     Disassembled with The Flaming Bird Disassembler     *
*    (c) Phoenix corp. 1992,93  -  All rights reserved    *
*---------------------------------------------------------*

LCBANK2 EQU $C083
VERSION EQU $FBB3

         TYP   BIN

         ORG   $006000
         MX    %11
L6000    CPX   #$07
         BNE   L6007
         JMP   L6264

L6007    CPX   #$09
         BNE   L6010
         JSR   L61C6
         LDX   #$09
L6010    STX   L6263
L6013    LDX   L6263
         LDA   L6237,X    ; TRACK
         PHA
         LDA   L6242,X    ; INDEX IN MARKER LIST
         STA   $0B
         LDA   L624D,X    ; NB PAGES
         TAY
         LDA   L6258,X    ; LOAD ADDRESS
         TAX
         PLA
         JSR   L60B6
         BCS   L6013
         LDA   #$1E
         JMP   L6032

L6032    STA   $0A        ; MOVE ARM
         CMP   $02E7
         BEQ   L608C
         LDA   #$00
         STA   $08
L603D    LDA   $02E7
         STA   $09
         SEC
         SBC   $0A
         BEQ   L607A
         BCS   L6050
         EOR   #$FF
         INC   $02E7
         BCC   L6055
L6050    ADC   #$FE
         DEC   $02E7
L6055    CMP   $08
         BCC   L605B
         LDA   $08
L605B    CMP   #$0C
         BCS   L6060
         TAY
L6060    SEC
         JSR   L607E
         LDA   L609E,Y
         JSR   L608D
         LDA   $09
         CLC
         JSR   L6081
         LDA   L60AA,Y
         JSR   L608D
         INC   $08
         BNE   L603D
L607A    JSR   L608D
         CLC
L607E    LDA   $02E7
L6081    AND   #$03
         ROL
         ORA   $F4
         TAX
         LDA   $C080,X
         LDX   $F4
L608C    RTS

L608D    LDX   #$11       ; WAIT
L608F    DEX
         BNE   L608F
         INC   $46
         BNE   L6098
         INC   $47
L6098    SEC
         SBC   #$01
         BNE   L608D
         RTS

L609E    HEX   01302824201E1D1C1C1C1C1C
L60AA    HEX   702C26221F1E1D1C1C1C1C1C
L60B6    STA   $05        ; TRACK
         STX   $07        ; HIGH ADDRESS
         LDX   #$00
         STX   $06        ; LOW ADDRESS
         STY   $04
L60C0    LDA   $05
         LDX   $F4
         CMP   $C08E,X
         CMP   $C089,X
         JSR   L6032
         JMP   L6100

         LDA   #$60
         STA   $07
         JMP   L6100

L60D7    PHA
L60D8    SEC
         SBC   #$01
         BNE   L60D8
         PLA
         SEC
         SBC   #$01
         BNE   L60D7
         RTS

         HEX   EE1F00B11ED0E9BD8EC0BD8CC0BD88C0
         HEX   201B8168911E6038B0E9AD16
L6100    SEC
L6101    LDA   $C08C,X
         BPL   L6101
L6106    CMP   #$96
         BNE   L6100
L610A    LDA   $C08C,X
         BPL   L610A
         CMP   #$AA
         BNE   L6106
L6113    LDA   $C08C,X
         BPL   L6113
         CMP   #$96
         BNE   L6100
L611C    LDA   $C08C,X
         BPL   L611C
         CMP   #$D5
         BNE   L6100
L6125    LDA   $C08C,X
         BPL   L6125
         CMP   #$96
         BNE   L6100
         LDY   $0B
         LDA   #$0D
         STA   $02
L6134    LDA   $C08C,X
         BPL   L6134
         CMP   #$AD
         BNE   L6134
         DEC   $02
L613F    LDA   $C08C,X
         BPL   L613F
         CMP   L61BA,Y
         BNE   L6134
         BEQ   L6159
L614B    LDA   $C08C,X
         BPL   L614B
         CMP   #$AD
         BNE   L61B7
L6154    LDA   $C08C,X
         BPL   L6154
L6159    LDA   #$75
         STA   $03
         LDY   #$00
L615F    LDA   $C08C,X
         BPL   L615F
         ROL
         STA   $41
L6167    LDA   $C08C,X
         BPL   L6167
         AND   $41
         STA   $01
         EOR   $03
         STA   ($06),Y
         INY
L6175    LDA   $C08C,X
         BPL   L6175
         ROL
         STA   $41
L617D    LDA   $C08C,X
         BPL   L617D
         AND   $41
         STA   $03
         EOR   $01
         STA   ($06),Y
         INY
         BNE   L615F
         INC   $07
L618F    LDA   $C08C,X
         BPL   L618F
         ROL
         STA   $41
L6197    LDA   $C08C,X
         BPL   L6197
         AND   $41
         EOR   $03
         BNE   L61B7
         DEC   $04
         BEQ   L61B5
         DEC   $02
         BNE   L614B
         LDA   #$00
         STA   $0B
         INC   $05
         INC   $05
         JMP   L60C0

L61B5    CLC
         RTS

L61B7    SEC
         RTS
         RTS

L61BA    HEX   979A9B9D9E9FCBCDCECFD3D6
L61C6    LDA   #$01
         PHA
         LDX   $F4
         LDY   #$06
         LDA   #$FF
         STA   L6235
         PHA
L61D3    LDA   $C08C,X
         BPL   L61D3
L61D8    CMP   #$D5
         BNE   L61D3
L61DC    LDA   $C08C,X
         BPL   L61DC
         CMP   #$9B
         BNE   L61D8
L61E5    LDA   $C08C,X
         BPL   L61E5
         CMP   #$AB
         BNE   L61D8
L61EE    LDA   $C08C,X
         BPL   L61EE
         CMP   #$B2
         BNE   L61D8
L61F7    LDA   $C08C,X
         BPL   L61F7
         CMP   #$9E
         BNE   L61D8
L6200    LDA   $C08C,X
         BPL   L6200
         CMP   #$BE
         BNE   L61D8
L6209    LDA   $C08C,X
         BPL   L6209
         DEY
         BNE   L6209
         INC   L6235
         BNE   L621C
         STA   L6236
         JMP   L61D8

L621C    CMP   L6236
         BNE   L622C
         INC   L6235
         LDA   L6235
         CMP   #$08
         BNE   L61D8
         RTS

L622C    PLA
         STA   L638A+$74
         PLA
         STA   L638A+$75
         RTS

L6235    DB    $FA
L6236    DB    $D2
L6237    HEX   1420020C0A10382810122C
L6242    HEX   0000000007060000000008
L624D    HEX   25253B1804052020060440
L6258    HEX   9B9B640830BA4040043820
L6263    DB    $F8
L6264    LDA   VERSION    ; CHECK OUR APPLE II
         CMP   #$06
         BEQ   L6270
         LDX   #$07
         JMP   L6010

L6270    BIT   LCBANK2
         BIT   LCBANK2
         LDX   #$00
L6278    LDA   L628A,X
         STA   $D000,X
         LDA   L638A,X
         STA   $D100,X
         DEX
         BNE   L6278
         JMP   $D000

L628A    HEX   8D05C0A9098D0080A9238D01800E0084
         HEX   0E01848D04C08D03C0AD0080C909D00A
         HEX   AD0180C9238D02C0F0068D02C04C6B62
         HEX   A20A2010608D05C0A220A000B9002099
         HEX   004088D0F7EE3ED0EE41D0CAD0EE8D5E
         HEX   C08D0DC08D04C02C50C02C57C02C55C0
         HEX   20C661A0058C6362BE0DD1BD4262850B
         HEX   BC4D62BD3762A2708E94D020B660AC63
         HEX   62BE0DD1BD03D18D97D0BC4D62A2008D
         HEX   05C0BD00709D0070CAD0F7EE94D0EE97
         HEX   D088D0EEAC63628D04C08810B8A6F4A9
         HEX   1E203260A94C8D7E02A9C48D7F02A9D0
         HEX   8D8002608544843EAD83C0AD83C0BC13
         HEX   D1D005863F4C8402BD1DD18DEED0BD03
         HEX   D18DEBD0A2008D03C0BD00FF9D00FFCA
         HEX   D0F7EEEBD0EEEED088D0EE8D02C0A43E
L638A    HEX   A544600460FFFF292D85FFFF32000104
         HEX   050609252500000405200000049B9B64
         HEX   0830BA40400438C0A90085F820A8FCA9
         HEX   10A220A054209FD0AD0CD38D0DD32CEB
         HEX   C0A90020A8FCAD0ED38D0CD3A910A007
         HEX   A2202000D2A91EA2E02000D62CEAC0A9
         HEX   0085F820A8FCAD0CD38D0ED3AD0DD38D
         HEX   0CD3A920AAA0
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com