Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.65 - CLIENT : 54.221.147.93

 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 

Great Western Shootout IIgs (Fanfare/Britannica, 1989)

 
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: 2949
Localisation: Le Chesnay, France

MessagePosté le: Dim 20 Mar 2016, 20:32    Sujet du message: Great Western Shootout IIgs (Fanfare/Britannica, 1989) Répondre en citant

#813 - Rustle up some gumption pardner... So if you're aimin' fer fun, you've hit the target with this 'un. Point & shoot mouse action, 10 spectacular shoot-outs, real wild-west animation. From the creators of Alien Mind(tm)

Protection type
A bad block... Hum, not a real bad block with no data, but a block whose data field was changed from the standard D5AAAD to the unusual ADAAD5. Then, there is a check of the read contents. If they match the code that reads the contents, then we're good.
Block #$63F is loaded at $1400..$15FF and it is a list of word values that a routine checks. There is no other call nor use of the results, so bypassing it will not harm.

How to copy
Use ZZCopy or Photonix II to copy your disk. Then, store your original in a dry and safe place.

Deep dive into the code
While discussing with The Static Vengeance about this one, it appeared that the code of STARTUP.SYSTEM (the main loader where the protection check resides) needed a full disassembly because of the way the programmers jumped from one routine to another: not with the JSR/JMP/BCC/BCS that we always find but, they used the branch long opcode (BRL) which makes it difficult to trace.

Another trick they used (and that is NOT recommended) is that they patched the data field markers in bank E1. They are stored at $E1/0F58 but this is an internal address. As with other unofficial addresses, a change of the address in ROM would have killed the beast. Not good, not good!!

The STARTUP.SYSTEM loads at $2000 and all code is moved to $800 where it is executed. We are at $E50 now (the first jump) and the complete path to the protection is:
Code:

$9CE > jmp $CD8 > brl $9D1 > brl $929 > brl $A26 > brl $C1B
original disk: brl $E44
copy: brl $C39 or bcs $C3A > brl $C8D > brl $E1C "MESSAGE" > brl $CD8


What we will do is replace the JMP $0CD8 (entry point of the protection) to JMP $0E44 (exit point of the protection routine)

How to crack
Launch Block.Warden and...
Code:

Prefix /GWSO
Follow file STARTUP.SYSTEM
At offset $1CF: D8 0C -> 44 0E


The disk image is at http://www.brutaldeluxe.fr/crack/

Reboot and... enjoy,

LoGo
3/2016


Dernière édition par toinet le Dim 20 Mar 2016, 20:38; édité 3 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: 2949
Localisation: Le Chesnay, France

MessagePosté le: Dim 20 Mar 2016, 20:33    Sujet du message: Répondre en citant

The Block.Warden view

Code:

Block: $0593 (1427)     Volume name: GWSO            Saturday   20-Mar-16  7:31
Prefix: /GWSO/                                                                 
Following: STARTUP.SYSTEM, Type SYS, Rel block 1, Byte $0001CF                 
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F            Edit mode
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    Z 100: 20 00 BF 00 11 09 08 18 FB 28 C2 30 B0 F0 60 00    .?.....{(B00p`.   
  b Z 110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................   
B y Z 120: 00 00 00 00 00 00 00 00 00 38 FB 20 00 BF 80 3A   .........8{ .?.:   
L   Z 130: 09 08 18 FB 28 C2 30 82 EC 00 03 50 00 14 3F 06   ...{(B0.l..P..?.   
O G Z 140: E2 30 AD 2C 08 8D 5C 09 AD 30 08 8D 5B 09 C2 30   b0-,..\.-0..[.B0   
C l Z 150: AD 32 08 3A AE 2A 08 AC 2E 08 54 00 00 4B AB AD   -2.:.*.,..T..K+-   
K e Z 160: 2E 08 18 6D 32 08 8D 2E 08 AD 30 08 69 00 00 8D   ...m2....-0.i...   
  n Z 170: 30 08 60 08 78 A2 0F 00 86 06 0A 0A 0A 0A 0A 69   0.`.x".........i   
W   Z 180: 1E 00 8D 8E 09 F4 E1 E1 AB AB 20 E7 09 A2 1E 00   .....taa++ g."..   
A B Z 190: BC 00 9E 98 5F 00 9E 01 85 08 18 89 00 0F F0 07   <..._.........p.   
R r Z 1A0: 98 69 00 01 A8 A5 08 89 F0 00 F0 07 98 69 10 00   .i..(%..p.p..i..   
D e Z 1B0: A8 A5 08 89 0F 00 F0 01 C8 98 9D 00 9E CA CA 10   (%....p.H....JJ.   
E d Z 1C0: CF 20 E7 09 20 E7 09 C6 06 10 BF 4B AB 28 4C>D8   O g. g.F..?K+(LX   
N o Z 1D0: 0C<A9 D5 AA 9F 00 00 E1 C8 E2 20 A9 AD C8 9F 02   .)U*...aHb )-H..   
  n Z 1E0: 00 E1 9B 5A 82 42 FF E2 20 AF 19 C0 E1 10 FA AF   .a.Z.Bb /.@a.z/   
    Z 1F0: 19 C0 E1 30 FA C2 20 60 A0 00 84 08 A9 00 99 00   .@a0zB ` ...)...   


Dernière édition par toinet le Dim 20 Mar 2016, 22:30; édité 2 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: 2949
Localisation: Le Chesnay, France

MessagePosté le: Dim 20 Mar 2016, 20:34    Sujet du message: Répondre en citant

The disassembly of STARTUP.SYSTEM. There is still some work to make it usable, use it at your own risk Smile

Search for the # or "Step" patterns

Code:

*
* Great Western Shoot-out
* (c) 1989, Fanfare/Britannica
* (k) 2016, LoGo
*

SOFTEV   EQU   $03F2
PRODOS8  EQU   $BF00
NEWVIDEO EQU   $C029
SHADOW   EQU   $C035
CYAREG   EQU   $C036
STATEREG EQU   $C068
HOME     EQU   $FC58

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

         TYP   SYS
         ORG   $000800
         BRL   L0815

         JMP   L0834
         JMP   L0CEF
         JMP   L0B30
         JMP   L0B8A
         JMP   L0B68
         JMP   L0C70

L0815    CLC              ; move $893 bytes
         XCE              ; from $00/2000
         REP   #$30       ;   to $00/0800
         LDA   #$0893
         LDX   #$2000
         LDY   #$0800
         MVN   $000000,$000000
         PHK
         PLB
         JMP   L0E50

L082A    DB    $00
         DB    $14
L082C    DB    $00
         DB    $00
L082E    DB    $00
         DB    $00
L0830    DB    $00
         DB    $00
L0832    DB    $00
         DB    $00

L0834    PHB
         PHK
         PLB
         STA   L090F
         STY   L082E
         STX   L0830
         SEP   #$30
         LDA   #$C8
         STA   L0903
         REP   #$30
         LDA   #$0003
         STA   L0911
         LDA   L090F
         STA   L0912
         LDA   #$1000
         STA   L0914
         JSR   L08FE
         LDA   L0916
         STA   L0921
         SEP   #$20
         LDA   #$D1
         STA   L0903
         REP   #$30
         LDA   #$0002
         STA   L0911
         LDA   L0921
         STA   L0912
         JSR   L08FE
         LDA   L0913
         STA   L0923
         LDA   L0915
         AND   #$00FF
         STA   L0925
L088B    LDA   L0923
         CMP   #$8000
         BCC   L089B
         LDA   #$8000
         STA   L0832
         BRA   L08A1
L089B    LDA   L0923
         STA   L0832
L08A1    SEP   #$30
         LDA   #$CA
         STA   L0903
         REP   #$30
         LDA   #$0004
         STA   L0911
         LDA   L0921
         STA   L0912
         LDA   #$1400
         STA   L0913
         LDA   L0832
         STA   L0915
         JSR   L08FE
         LDA   L082E
         CMP   L082A
         BNE   L08D5
         LDA   L0830
         CMP   L082C
         BEQ   L08D8
L08D5    JSR   L0940
L08D8    LDA   L0923
         SEC
         SBC   L0832
         STA   L0923
         BNE   L088B
         SEP   #$30
         LDA   #$CC
         STA   L0903
         REP   #$30
         LDA   #$0001
         STA   L0911
         LDA   L0921
         STA   L0912
         JSR   L08FE
         PLB
         RTL

L08FE    SEC
         XCE
         JSR   PRODOS8
L0903    DB    $00
         DA    $0911
         PHP
         CLC
         XCE
         PLP
         REP   #$30
         BCS   L08FE
         RTS

L090F    DB    $00
         DB    $00
L0911    DB    $00
L0912    DB    $00
L0913    DB    $00
L0914    DB    $00
L0915    DB    $00
L0916    DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
L0921    DB    $00
         DB    $00
L0923    DB    $00
         DB    $00
L0925    DB    $00
         DB    $00
         DB    $00
         DB    $00

*
* Step 4: read the block with the new address field
*

L0929    SEC              ; #4
         XCE
         JSR   PRODOS8
         DB    $80
         DA    L093A
         PHP
         CLC
         XCE
         PLP
         REP   #$30
         BRL   L0A26

L093A    DB    $03
         DB    $50        ; slot 5 drive 1
         DA    $1400      ; at $1400
         DW    $063F      ; block #$63F

L0940    SEP   #$30
         LDA   L082C
         STA   L095A+2
         LDA   L0830
         STA   L095A+1
         REP   #$30
         LDA   L0832
         DEC
         LDX   L082A
         LDY   L082E
L095A    MVN   $000000,$000000
         PHK
         PLB
         LDA   L082E
         CLC
         ADC   L0832
         STA   L082E
         LDA   L0830
         ADC   #$0000
         STA   L0830
         RTS

L0973    PHP
         SEI
         LDX   #$000F
         STX   $06
         ASL
         ASL
         ASL
         ASL
         ASL
         ADC   #$001E
         STA   L098D+1
         PEA   $E1E1
         PLB
         PLB
L098A    JSR   L09E7
L098D    LDX   #$001E
L0990    LDY   $9E00,X
         TYA
         EORL  $019E00,X
         STA   $08
         CLC
         BIT   #$0F00
         BEQ   L09A7
         TYA
         ADC   #$0100
         TAY
         LDA   $08
L09A7    BIT   #$00F0
         BEQ   L09B3
         TYA
         ADC   #$0010
         TAY
         LDA   $08
L09B3    BIT   #$000F
         BEQ   L09B9
         INY
L09B9    TYA
         STA   $9E00,X
         DEX
         DEX
         BPL   L0990
         JSR   L09E7
         JSR   L09E7
         DEC   $06
         BPL   L098A
         PHK
         PLB
         PLP
         JMP   L0CD8      ; Go protec!

*
* Step 3: change D5AAAD to ADAAD5 data field
*

L09D1    LDA   #$AAD5     ; #3
         STAL  $E10000,X
         INY
         SEP   #$20
         LDA   #$AD
         INY
         STAL  $E10002,X
         TXY
         PHY
         BRL   L0929

L09E7    SEP   #$20
L09E9    LDAL  $E1C019
         BPL   L09E9
L09EF    LDAL  $E1C019
         BMI   L09EF
         REP   #$20
         RTS

         MX    %11
L09F8    LDY   #$00
         STY   $08
         LDA   #$00
L09FE    STA   $9400,Y
         INY
         CPY   #$80
         BNE   L09FE
L0A06    LDA   [$0E]
         REP   #$30
         INC   $0E
         SEP   #$30
         PHA
         STA   [$12]
         REP   #$30
         INC   $12
         DEC   $0C
         SEP   #$30
         PLA
         STA   $9400,Y
         INY
         BNE   L0A06
         RTS

L0A21    LDA   #$00
         STA   $0A
         RTS

*
* Step 5: restore the address markers
*

L0A26    PLX              ; #5
         PLA
         SEP   #$20
         STAL  $E10002,X
         REP   #$20
         PLA
         STAL  $E10000,X
         BRL   L0C1B

L0A38    PHB
         PEA   $0000
         PLB
         PLB
         LDA   [$0E]
         STA   $0C
         INC   $0E
         INC   $0E
         SEP   #$30
         JSR   L09F8
         JSR   L0A21
L0A4E    LDA   [$0E]
         REP   #$30
         INC   $0E
         SEP   #$30
         TAX
         BEQ   L0A77
         LDA   [$0E]
         REP   #$30
         INC   $0E
         SEP   #$30
         TAY
L0A62    LDA   $9400,Y
         STX   $06
         LDX   $0A
         STA   $9500,X
         INX
         STX   $0A
         LDX   $06
         INY
         DEX
         BNE   L0A62
         BRA   L0A87
L0A77    LDA   [$0E]
         REP   #$30
         INC   $0E
         SEP   #$30
         LDX   $0A
         STA   $9500,X
         INX
         STX   $0A
L0A87    LDX   #$00
L0A89    LDA   $9500,X
         STA   [$12]
         REP   #$30
         INC   $12
         DEC   $0C
         BEQ   L0AAB
         SEP   #$30
         LDY   $08
         STA   $9400,Y
         INY
         STY   $08
         INX
         CPX   $0A
         BNE   L0A89
         LDX   #$00
         STX   $0A
         BRA   L0A4E
L0AAB    REP   #$30
         PLB
         RTL

L0AAF    LDA   #L0AF6
         LDX   #$0005
         LDY   #$0000
         JSL   L0834
         LDA   #L0B00
         LDX   #$0005
         LDY   #$4000
         JSL   L0834
         LDA   #L0B0C
         LDX   #$0005
         LDY   #$8000
         JSL   L0834
         LDA   #L0B18
         LDX   #$0005
         LDY   #$3000
         JSL   L0834
         LDA   #L0B24
         LDX   #$0005
         LDY   #$E000
         JSL   L0834
         JSR   L0C3D
         JMP   L0CA9

L0AF6    STR   'SHOOT.SND'
L0B00    STR   'WHISTLE.SND'
L0B0C    STR   'ENEMHIT.SND'
L0B18    STR   'PLAYHIT.SND'
L0B24    STR   'BYSTHIT.SND'

L0B30    JSR   L0C01
         LDA   #L0B56
         LDX   #$0005
         LDY   #$0000
         JSL   L0834
         LDA   #L0B5F
         LDX   #$0005
         LDY   #$8000
         JSL   L0834
         JSR   L0C3D
         JSR   L0CA9
         JMP   L0C0E

L0B56    STR   'END0.SND'
L0B5F    STR   'END1.SND'

L0B68    JSR   L0C01
         LDA   #L0B81
         LDX   #$0005
         LDY   #$0000
         JSL   L0834
         JSR   L0C3D
         JSR   L0CA9
         JMP   L0C0E

L0B81    STR   'TAPS.SND'

L0B8A    JSR   L0C01
         JSR   L0C70
         JSR   L0AAF
         LDA   #L0BD4
         LDX   #$0000
         STX   $10
         LDY   #$1400
         STY   $0E
         JSL   L0834
         LDA   #$0005
         STA   $14
         LDA   #$0000
         STA   $12
         JSL   L0A38
         LDA   #L0BEA
         LDX   #$0000
         STX   $10
         LDY   #$1400
         STY   $0E
         JSL   L0834
         LDA   #$0005
         STA   $14
         LDA   #$8000
         STA   $12
         JSL   L0A38
         JMP   L0C0E

L0BD4    STR   'GRAPHIC/TITLE.PAGE.LZ'
L0BEA    STR   'GRAPHIC/HIGH.SCORES.LZ'

L0C01    LDA   #$4800
         LDX   #$1000
         TXY
         MVN   $000000,$010000
         PHK
         PLB
         RTS

L0C0E    LDA   #$4800
         LDX   #$1000
         TXY
         MVN   $010000,$000000
         PHK
         PLB
         RTS

*
* Step 6: check the results
*

L0C1B    BCS   L0C3A      ; I/O err: bad disk!

         REP   #$30
         LDY   #$01FE
         LDX   #$0000
         TYA
         CLC
L0C27    INX
         TXA
         ROL
         TAX
         PHP
         CMP   $1400,Y
         BNE   L0C39
         PLP
         DEY
         DEY
         BPL   L0C27
         BRL   L0E44      ; Good disk!
L0C39    PLP              ; Bad disk!
L0C3A    BRL   L0C8D

L0C3D    SEP   #$30
         LDY   #$08
         LDA   #$00
         STAL  $E1C03C
         LDX   #$1E
         DEX
L0C4A    TXA
         ORA   #$A0
         STAL  $E1C03E
         LDA   #$03
         STAL  $E1C03D
         DEX
         BPL   L0C4A
         LDA   #$E1
         STAL  $E1C03E
         TYA
         ASL
         STAL  $E1C03D
         LDA   L0300
         STAL  $E1C03C
         REP   #$30
         RTS

L0C70    SEP   #$30
         LDA   #$00
         STAL  $E1C03C
         LDX   #$07
L0C7A    TXA
         ORA   #$A0
         STAL  $E1C03E
         LDA   #$03
         STAL  $E1C03D
         DEX
         BPL   L0C7A
         REP   #$30
         RTS

L0C8D    JSR   L0E1C      ; Bad disk!
         LDX   #$0019     ; wait
         LDY   #$0000
L0C96    DEY
         BNE   L0C96
         DEX
         BNE   L0C96
         LDAL  $E1C03E
         TAX
         LDAL  $E1C03D
         TAY
         BRL   L0CD8      ; Retry

L0CA9    PHP
         SEI
         SEP   #$20
         LDA   L0300
         ORA   #$60
         STAL  $E1C03C
         LDA   #$00
         STAL  $E1C03E
         TXA
         STAL  $E1C03F
         LDX   #$0000
L0CC4    LDAL  $050000,X
         STAL  $E1C03D
         INX
         BNE   L0CC4
         LDA   L0300
         STAL  $E1C03C
         PLP
         RTS

*
* Step 2: save the address field markers
*

* On the //gs, they are at $E1/0F58

L0CD8    CLC              ; #2
         LDY   #$07AC
         TYA
         ROL
         TAX
         LDAL  $E10000,X  ; F58
         PHA
         LDAL  $E10002,X  ; F5A
         PHA
         DEY
         DEY
         TYA
         BRL   L09D1

L0CEF    PHX
         PHY
         PHP
         REP   #$30
         ASL
         TAX
         LDY   L0D94,X
         LDX   #$0000
         SEP   #$20
         LDA   L0300
         ORA   #$20
         STAL  $E1C03C
         LDA   #$A0
         STAL  $E1C03E
         LDAL  $E1C03D
         LDX   #$0000
L0D14    LDAL  $E1C03D
         AND   #$01
         BNE   L0D24
         INX
         CPX   #$0008
         BCC   L0D14
         BRA   L0D89
L0D24    LDA   L0300
         STAL  $E1C03C
         TXA
         ORA   #$20
         STAL  $E1C03E
         LDA   #$00
         STAL  $E1C03D
         TXA
         ORA   #$80
         STAL  $E1C03E
         LDA   |$0000,Y
         STAL  $E1C03D
         INY
         INY
         TXA
         ORA   #$00
         STAL  $E1C03E
         LDA   |$0000,Y
         STAL  $E1C03D
         INY
         TXA
         ORA   #$C0
         STAL  $E1C03E
         LDA   |$0000,Y
         STAL  $E1C03D
         INY
         TXA
         ORA   #$40
         STAL  $E1C03E
         LDA   |$0000,Y
         STAL  $E1C03D
         INY
         TXA
         ORA   #$A0
         STAL  $E1C03E
         LDA   #$03
         STAL  $E1C03D
         LDA   |$0000,Y
         STAL  $E1C03D
L0D89    LDA   L0300
         STAL  $E1C03C
         PLP
         PLY
         PLX
         RTS

L0D94    DA    L0DB6
         DA    L0DBC
         DA    L0DC2
         DA    L0DC8
         DA    L0DCE
         DA    L0DD4
         DA    L0DDA
         DA    L0DE0
         DA    L0DE6
         DA    L0DEC
         DA    L0DF2
         DA    L0DF8
         DA    L0DFE
         DA    L0E04
         DA    L0E0A
         DA    L0E10
         DA    L0E16
L0DB6    HEX   002E8436FF02
L0DBC    HEX   403C7A36F002
L0DC2    HEX   30082E1BFF02
L0DC8    HEX   E01C642DFF02
L0DCE    HEX   E01C662DF802
L0DD4    HEX   E01C682DF002
L0DDA    HEX   E01C6A2DE802
L0DE0    HEX   002E9836FF02
L0DE6    HEX   801C782DFF02
L0DEC    HEX   801C802DF802
L0DF2    HEX   801C882DF002
L0DF8    HEX   801C902DE802
L0DFE    HEX   0080343FFF00
L0E04    HEX   8058343FFF02
L0E0A    HEX   0080143F8002
L0E10    HEX   0080163F6002
L0E16    HEX   0080123F4002

*
* Step 7: Display bad disk!
*

L0E1C    SEP   #$20       ; Bad disk!
         LDAL  $E1C029
         AND   #$3F
         STAL  $E1C029
         STZ   SHADOW
         LDX   #$0027
L0E2E    LDA   L0F37,X
         STAL  $E10528,X
         STAL  $000528,X
         DEX
         BPL   L0E2E
         LDA   #$1F
         STA   SHADOW
         REP   #$20
         RTS

*
* Step 7bis: we're good!
*

L0E44    LDAL  $E1C029
         ORA   #$00C0
         STAL  $E1C029
         RTS

*
* Entry point
*

         MX    %11
L0E50    PHK              ; #1
         PLB
         SEC
         XCE
         JSR   HOME
         LDA   #$80
         TSB   CYAREG
         LDA   #$40
         TSB   NEWVIDEO
         LDA   #$30
         TRB   STATEREG
         LDA   #$0F
         LDA   #$F0
         LDA   #$1F
         STA   SHADOW
         CLC
         XCE
         REP   #$30
         CLI
         STZ   L0300
         STZ   SOFTEV+1
         LDX   #$0180
L0E7D    LDA   L0F73,X
         STA   $0200,X    ; 200
         DEX
         DEX
         BPL   L0E7D
         LDA   #L0F5F
         LDX   #$0000
         STX   $10
         LDY   #$1400
         STY   $0E
         JSL   L0834
         LDA   #$00E1
         STA   $14
         LDA   #$2000
         STA   $12
         JSL   L0A38
         LDX   #$01FE
         LDY   #$0000
L0EAC    LDAL  $E19E00,X
         STAL  $019E00,X
         TYA
         STAL  $E19E00,X
         DEX
         DEX
         BPL   L0EAC
         LDAL  $E1C029
         ORA   #$0080
         STAL  $E1C029
         LDA   #$0000
         JSR   L0973      ; Go protec!
         JSR   L0AAF
         LDY   #$0200
L0ED4    LDA   |$0000,Y
         CMP   #$FFFF
         BEQ   L0F1E
         PHY
         TAY
         LDA   |$0000,Y
         STA   $06
         INY
         INY
         LDA   |$0000,Y
         INY
         AND   #$00FF
         CMP   #$0080
         BCC   L0F11
         AND   #$000F
         PHA
         TYA
         LDX   #$0000
         STX   $10
         LDY   #$1400
         STY   $0E
         JSL   L0834
         PLA
         STA   $14
         LDA   $06
         STA   $12
         JSL   L0A38
         BRA   L0F19
L0F11    TAX
         TYA
         LDY   $06
         JSL   L0834
L0F19    PLY
         INY
         INY
         BRA   L0ED4
L0F1E    LDA   #$8000
         LDX   #$1000
         TXY
         MVN   $010000,$000000
         PHK
         PLB
         LDAL  $E100CA
         STA   L0300
         JMPL  $001800

         BRK   $00
L0F37    ASC   " PLEASE INSERT ORIGINAL DISK IN DRIVE 1 "
L0F5F    STR   'GRAPHIC/BOOT.PIC.LZ'

         ORG   $000200
L0F73    DA    L0224      ; MOVED AT $200
         DA    L0230
         DA    L023E
         DA    L024B
         DA    L0259
         DA    L0267
         DA    L0277
         DA    L0287
         DA    L0293
         DA    L029B
         DA    L02A7
         DA    L02B6
         DA    L02CD
         DA    L02E6
         DA    L0300
         DA    L030E
         DA    L0316
         DA    $FFFF
L0224    ADR   $011000
         STR   'CROSSAIR'
L0230    ADR   $013800
         STR   'SCORE.FONT'
L023E    ADR   $020000
         STR   'PAUSE.OBJ'
L024B    ADR   $020320
         STR   'PROMPT.SPR'
L0259    ADR   $F2BD20
         STR   'BUB.SPR.LZ'
L0267    ADR   $F30000
         STR   'TEMP0.SPR.LZ'
L0277    ADR   $F37000
         STR   'TEMP1.SPR.LZ'
L0287    ADR   $03E000
         STR   'FACE.SPR'
L0293    ADR   $040000
         STR   'STAT'
L029B    ADR   $0410A0
         STR   'PALLETTE'
L02A7    ADR   $F41270
         STR   'FONT.SPR.LZ'
L02B6    ADR   $F48000
         STR   'GRAPHIC/SHERRIFF.LZ'
L02CD    ADR   $F50000
         STR   'GRAPHIC/TITLE.PAGE.LZ'
L02E6    ADR   $F58000
         STR   'GRAPHIC/HIGH.SCORES.LZ'
L0300    ADR   $011800
         STR   'CONTROLLER'
L030E    ADR   $020E80
         STR   'COUT'
L0316    ADR   $021480
         STR   'DRAW2'
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