Index du Forum
IDENTIFICATION SERVEUR : 51.83.8.60 - CLIENT : 35.175.191.150

 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 

The Snapper (Silicon Valley Systems, 1982)

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

MessagePosté le: Dim 07 Juil 2019, 20:28    Sujet du message: The Snapper (Silicon Valley Systems, 1982) Répondre en citant

#1006 - That is an arcade game that 4am proposed me to crack. That was fun but as with other one-pass loading programs, once you win the boot trace, you are done or nearly done...

Disk structure
This is a non standard disk. It cannot be copied with Locksmith Fast Disk Backup. It loads fast, it seems it is using 4*4 encoded nibbles (where two bytes on disk make one byte in RAM)

Protection type
The program is heavily protected against boot tracing. Moreover, it uses:
- 4*4 encoded nibbles,
- nibbles on disk tell where to execute code,
- it uses false opcodes to lose the pirate (07 06),
- uses the text page to put code.

Boot trace
I invite you in reading the next message. It contains all my notes to get it into memory, ie. crack it.

How to normalize
I used a WOZ image (see applesaucefdc.com) provided by 4am. I booted it under OpenEmulator. So, once I had the program in RAM, I saved the emupack of it and then reconstructed a disk image:
- T0: the standard RWTS from DOS 3.3
- T1/S0-T7/S7: the game (from $800..$6FFF, a waste of two tracks for no image)
- T7/S8-T7/SF: the original $0000..$07FF area that is relocated by a code at offset $80 on T0/S0

Information
Note that the keys (stored at $4AFC) are ? ] ^ ^ > < / M N . , and ESC
ESC leaves the game, it does NOT pause it!!

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

Reboot and... enjoy,
LoGo
7/2019


Dernière édition par toinet le Ven 12 Juil 2019, 22:18; é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: 3018
Localisation: Le Chesnay, France

MessagePosté le: Dim 07 Juil 2019, 20:29    Sujet du message: Répondre en citant

My cracking notes:

Code:

Get T0/S0
CALL-151
9600<C600.C6FFM
96F8:4C DA FD
9600G

D5AAB5
D5AAAD

Get boot 2
CALL-151
9600<C600.C6FFM
C0E9
96F8:A9 59 8D 38 08 A9 FF 8D 39 08 4C 01 08
9600G

0326-   8D F3 03    STA   $03F3
0329-   8D F4 03    STA   $03F4
032C-   07          ???
032D-   06 84       ASL   $84
032F-   48          PHA
*300.37F

0300: 99 E8 E8 A9 00 8D 00 20
0308: EE 06 03 D0 F8 EE 07 03
0310: 10 F3 2C 54 C0 2C 52 C0
0318: 2C 57 C0 2C 50 C0 AD 81
0320: C0 A9 00 8D F2 03 8D F3
0328: 03 8D F4 03 07 06 84 48
0330: 07 06 A0 00 07 06 B9 50
0338: 03 07 06 45 48 07 06 99
0340: 50 00 07 06 C8 D0 ED 07
0348: 06 20 C2 00 07 06 07 06
0350: 1F A7 1C A3 3F A7 1F D9
0358: 39 99 3C A3 1D A5 1C A4
0360: 3F B2 B9 25 99 5C 99 49
0368: 60 B9 25 99 5C 98 49 6C
0370: B9 25 99 5C 9B 49 6C 24
0378: 15 59 89 62 B3 1C A6 24
0380: 15 59 89 62 BC A6 08 A5
0388: 51 49 75 97 99 59 24 15
0390: 59 89 62 5C 9A 49 24 7F
0398: A4 5F D9 49 43 B9 25 99
03A0: 1C 9B B9 25 99 1C 98 B9
03A8: 25 99 1C 99 B9 25 99 1C
03B0: 9A B9 25 99 5C 99 49 98
03B8: F9 F5 65 66 24 15 59 89
03C0: 62 F9 30 4D 39 33 1C 99
03C8: 1D 98 1C 9B 1D 9A 30 9D
03D0: D1 D1 33 39 1F 1D C9 D5
03D8: C9 99 C9 99 D5 C9 99 D5
03E0: C9 99 D5 C9 99 D5 C9 99
03E8: D5 C8 99 D5 CB 99 D5 CA
03F0: 99 D5 CD 99 D5 CC 99 D5
03F8: CF 99 D5 CE 99 D5 C1 13

The page is full of 07 06 which can be replaced with EA EA to ease readability
1000:A2 00 BD 00 03 C9 06 F0 08 C9 07 F0 04 E8 D0 F2 60 A9 EA 9D 00 03 4C 0D 10
1000G

*301L

0301-   E8          INX
0302-   E8          INX
0303-   A9 00       LDA   #$00
0305-   8D 00 20    STA   $2000
0308-   EE EA 03    INC   $03EA
030B-   D0 F8       BNE   $0305
030D-   EE EA 03    INC   $03EA
0310-   10 F3       BPL   $0305
0312-   2C 54 C0    BIT   $C054
0315-   2C 52 C0    BIT   $C052
0318-   2C 57 C0    BIT   $C057
031B-   2C 50 C0    BIT   $C050
031E-   AD 81 C0    LDA   $C081
0321-   A9 00       LDA   #$00
0323-   8D F2 03    STA   $03F2
0326-   8D F3 03    STA   $03F3
0329-   8D F4 03    STA   $03F4
032C-   EA          NOP
032D-   EA          NOP
032E-   84 48       STY   $48
0330-   EA          NOP
0331-   EA          NOP
0332-   A0 00       LDY   #$00
0334-   EA          NOP
0335-   EA          NOP
0336-   B9 50 03    LDA   $0350,Y
0339-   EA          NOP
033A-   EA          NOP
033B-   45 48       EOR   $48
033D-   EA          NOP
033E-   EA          NOP
033F-   99 50 00    STA   $0050,Y
0342-   EA          NOP
0343-   EA          NOP
0344-   C8          INY
0345-   D0 ED       BNE   $0334
0347-   EA          NOP
0348-   EA          NOP
0349-   20 C2 00    JSR   $00C2
034C-   EA          NOP
034D-   EA          NOP
034E-   EA          NOP
034F-   EA          NOP

The same usual key: 99
Let's rewrite the code at $32C and execute it
1000: A0 00 B9 50 03 49 99 99 50 23 C8 D0 F5 60
1000G

And we have it now (I reconstructed it from the original and decyphered versions)

2300: 99 E8 E8 A9 00 8D 00 20
2308: EE 06 03 D0 F8 EE 07 03
2310: 10 F3 2C 54 C0 2C 52 C0
2318: 2C 57 C0 2C 50 C0 AD 81
2320: C0 A9 00 8D F2 03 8D F3
2328: 03 8D F4 03 EA EA 84 48
2330: EA EA A0 00 EA EA B9 50
2338: 03 EA EA 45 48 EA EA 99
2340: 50 00 EA EA C8 D0 ED EA
2348: EA 20 C2 00 EA EA EA EA
2350: 86 3E 85 3A A6 3E 86 40
2358: A0 00 A5 3A 84 3C 85 3D
2360: A6 2B 20 BC 00 C5 00 D0
2368: F9 20 BC 00 C5 01 D0 F5
2370: 20 BC 00 C5 02 D0 F5 BD
2378: 8C C0 10 FB 2A 85 3F BD
2380: 8C C0 10 FB 25 3F 91 3C
2388: C8 D0 EC 0E 00 C0 BD 8C
2390: C0 10 FB C5 03 D0 BD E6
2398: 3D C6 40 D0 DA 20 BC 00
23A0: 85 02 20 BC 00 85 01 20
23A8: BC 00 85 00 20 BC 00 85
23B0: 03 20 BC 00 C5 00 D0 01
23B8: 60 6C FC FF BD 8C C0 10
23C0: FB 60 A9 D4 A0 AA 85 00
23C8: 84 01 85 02 84 03 A9 04
23D0: 48 48 AA A0 86 84 50 4C
23D8: 50 00 50 00 4C 50 00 4C
23E0: 50 00 4C 50 00 4C 50 00
23E8: 4C 51 00 4C 52 00 4C 53
23F0: 00 4C 54 00 4C 55 00 4C
23F8: 56 00 4C 57 00 4C 58 8A

The nibbles on entry
D4 AA D4 AA
The nibbles on exit:
D7 F7 D7 F5

The routine in its disassembled form:

2350-   86 3E       STX   $3E
2352-   85 3A       STA   $3A
2354-   A6 3E       LDX   $3E
2356-   86 40       STX   $40
2358-   A0 00       LDY   #$00
235A-   A5 3A       LDA   $3A
235C-   84 3C       STY   $3C
235E-   85 3D       STA   $3D
2360-   A6 2B       LDX   $2B
2362-   20 BC 00    JSR   $00BC
2365-   C5 00       CMP   $00
2367-   D0 F9       BNE   $2362
2369-   20 BC 00    JSR   $00BC
236C-   C5 01       CMP   $01
236E-   D0 F5       BNE   $2365
2370-   20 BC 00    JSR   $00BC
2373-   C5 02       CMP   $02
2375-   D0 F5       BNE   $236C
2377-   BD 8C C0    LDA   $C08C,X
237A-   10 FB       BPL   $2377
237C-   2A          ROL
237D-   85 3F       STA   $3F
237F-   BD 8C C0    LDA   $C08C,X
2382-   10 FB       BPL   $237F
2384-   25 3F       AND   $3F
2386-   91 3C       STA   ($3C),Y
2388-   C8          INY
2389-   D0 EC       BNE   $2377
238B-   0E 00 C0    ASL   $C000
238E-   BD 8C C0    LDA   $C08C,X
2391-   10 FB       BPL   $238E
2393-   C5 03       CMP   $03
2395-   D0 BD       BNE   $2354
2397-   E6 3D       INC   $3D
2399-   C6 40       DEC   $40
239B-   D0 DA       BNE   $2377
239D-   20 BC 00    JSR   $00BC
23A0-   85 02       STA   $02
23A2-   20 BC 00    JSR   $00BC
23A5-   85 01       STA   $01
23A7-   20 BC 00    JSR   $00BC
23AA-   85 00       STA   $00
23AC-   20 BC 00    JSR   $00BC
23AF-   85 03       STA   $03
23B1-   20 BC 00    JSR   $00BC
23B4-   C5 00       CMP   $00
23B6-   D0 01       BNE   $23B9
23B8-   60          RTS
23B9-   6C FC FF    JMP   ($FFFC)
23BC-   BD 8C C0    LDA   $C08C,X
23BF-   10 FB       BPL   $23BC
23C1-   60          RTS
23C2-   A9 D4       LDA   #$D4
23C4-   A0 AA       LDY   #$AA
23C6-   85 00       STA   $00
23C8-   84 01       STY   $01
23CA-   85 02       STA   $02
23CC-   84 03       STY   $03
23CE-   A9 04       LDA   #$04
23D0-   48          PHA
23D1-   48          PHA
23D2-   AA          TAX
23D3-   A0 86       LDY   #$86
23D5-   84 50       STY   $50
23D7-   4C 50 00    JMP   $0050
23DA-   50 00       BVC   $23DC
23DC-   4C 50 00    JMP   $0050
23DF-   4C 50 00    JMP   $0050
23E2-   4C 50 00    JMP   $0050
23E5-   4C 50 00    JMP   $0050
23E8-   4C 51 00    JMP   $0051
23EB-   4C 52 00    JMP   $0052
23EE-   4C 53 00    JMP   $0053
23F1-   4C 54 00    JMP   $0054
23F4-   4C 55 00    JMP   $0055
23F7-   4C 56 00    JMP   $0056
23FA-   4C 57 00    JMP   $0057
23FD-   4C 58 8A    JMP   $8A58

Let's patch the routine:
2300:A2 60 86 2B 20 C2 23 4C DA FD
23CE:A9 14 A2 04 EA A0 86 86 50 4C 50 23
23B9:60
BC:BD 8C C0 10 FB 60
2300G
D7

*bingo* We got the third boot pages at $1400..$17FF

1400: A9 67 85 48 8D 98 99 04
1408: 00 99 00 01 99 00 02 99
1410: 00 03 C8 D0 F1 86 2B EA
1418: EA EA EA EA EA A9 02 07
1420: 06 20 72 06 07 06 A9 08
1428: 07 06 48 07 06 A2 04 07
1430: 06 20 00 06 07 06 A4 0A
1438: 07 06 C8 07 06 98 07 06
1440: 20 72 06 07 06 68 07 06
1448: 18 69 04 07 06 C9 20 D0
1450: 06 07 06 A9 40 07 06 C9
1458: 70 90 CD 07 06 07 06 A9
1460: 15 07 06 20 72 06 07 06
1468: 20 30 05 07 06 A9 15 07
1470: 06 8D F2 03 07 06 A9 08
1478: 07 06 8D F3 03 07 06 49
1480: A5 07 06 8D F4 03 07 06
1488: 4C 80 07 07 06 00 00 00
1490: 00 00 00 00 00 00 00 00
1498: 00 00 00 00 00 00 00 00
14A0: 00 00 00 00 00 00 00 00
14A8: 00 00 00 00 00 00 00 00
14B0: 00 00 00 00 00 00 00 00
14B8: 00 00 00 00 00 00 00 00
14C0: 00 00 00 00 00 00 00 00
14C8: 00 00 00 00 00 00 00 00
14D0: 00 00 00 00 00 00 00 00
14D8: 00 00 00 00 00 00 00 00
14E0: 00 00 00 00 00 00 00 00
14E8: 00 00 00 00 00 00 00 00
14F0: 00 00 00 00 00 00 00 00
14F8: 00 00 00 00 00 00 2B 03
1500: A9 00 85 00 85 01 A8 A9
1508: 08 84 02 85 03 B1 02 45
1510: 00 85 00 B1 02 18 65 01
1518: 85 01 C8 D0 F0 E6 03 A5
1520: 03 C9 20 D0 02 A9 40 C9
1528: 70 D0 E0 60 00 00 00 00
1530: 20 00 05 A5 00 CD FE 04
1538: D0 16 A5 01 CD FF 04 D0
1540: 0F 60 00 00 00 00 00 00
1548: 00 00 00 00 00 00 00 00
1550: A0 7F 98 AA 2C 30 C0 CA
1558: D0 FD 38 E9 01 D0 F4 88
1560: D0 F0 98 20 A8 FC 20 A8
1568: FC 6C FC FF 00 00 00 00
1570: 00 00 00 00 00 00 00 00
1578: 00 00 00 00 00 00 00 00
1580: 00 00 00 00 00 00 00 00
1588: 00 00 00 00 00 00 00 00
1590: 00 00 00 00 00 00 00 00
1598: 00 00 00 00 00 00 00 00
15A0: 00 00 00 00 00 00 00 00
15A8: 00 00 00 00 00 00 00 00
15B0: 00 00 00 00 00 00 00 00
15B8: 00 00 00 00 00 00 00 00
15C0: 00 00 00 00 00 00 00 00
15C8: 00 00 00 00 00 00 00 00
15D0: 00 00 00 00 00 00 00 00
15D8: 00 00 00 00 00 00 00 00
15E0: 00 00 00 00 00 00 00 00
15E8: 00 00 00 00 00 00 00 00
15F0: 00 00 00 00 00 00 00 00
15F8: 00 00 00 00 00 00 00 00
1600: 86 3E 85 3A A6 3E 86 40
1608: A0 00 A5 3A 84 3C 85 3D
1610: A6 2B 20 6C 06 C5 00 D0
1618: F9 20 6C 06 C5 01 D0 F5
1620: 20 6C 06 C5 02 D0 F5 BD
1628: 8C C0 10 FB 2A 85 3F BD
1630: 8C C0 10 FB 25 3F 91 3C
1638: C8 D0 EC 0E 00 C0 BD 8C
1640: C0 10 FB C5 03 D0 BD E6
1648: 3D C6 40 D0 DA 20 6C 06
1650: 85 02 20 6C 06 85 01 20
1658: 6C 06 85 00 20 6C 06 85
1660: 03 20 6C 06 C5 00 D0 01
1668: 60 6C FC FF BD 8C C0 10
1670: FB 60 85 41 C5 0A F0 4F
1678: A9 00 85 26 A5 0A 85 27
1680: 38 E5 41 F0 31 B0 06 49
1688: FF E6 0A 90 04 69 FE C6
1690: 0A C5 26 90 02 A5 26 C9
1698: 0C B0 01 A8 38 20 BA 06
16A0: B9 D3 06 20 C8 06 A5 27
16A8: 18 20 BC 06 B9 DF 06 20
16B0: C8 06 E6 26 D0 C6 20 C8
16B8: 06 18 A5 0A 29 03 2A 05
16C0: 2B AA BD 80 C0 A6 2B 60
16C8: A2 13 CA D0 FD 38 E9 01
16D0: D0 F6 60 01 30 28 24 20
16D8: 1E 1D 1C 1C 1C 1C 1C 70
16E0: 2C 26 22 1F 1E 1D 1C 1C
16E8: 1C 1C 1C 00 00 00 00 00
16F0: 00 00 00 00 00 00 00 00
16F8: 00 00 00 00 00 00 00 00
1700: 00 00 00 00 00 00 00 00
1708: 00 00 00 00 00 00 00 00
1710: 00 00 00 00 00 EA EA A0
1718: 80 B9 00 07 99 00 01 88
1720: D0 F7 4C 25 01 EA A9 A0
1728: 99 00 04 99 00 05 99 00
1730: 06 99 00 07 C8 D0 F1 6C
1738: 20 00 00 00 00 00 00 00
1740: 00 00 00 00 00 00 00 00
1748: 00 00 00 00 00 00 00 00
1750: 00 00 00 00 00 00 00 00
1758: 00 00 00 00 00 00 00 00
1760: 00 00 00 00 00 00 00 00
1768: 00 00 00 00 00 00 00 00
1770: 00 00 00 00 00 00 00 00
1778: 00 00 00 00 00 00 00 00
1758: 00 00 00 00 00 00 00 00
1760: 00 00 00 00 00 00 00 00
1768: 00 00 00 00 00 00 00 00
1770: 00 00 00 00 00 00 00 00
1778: 00 00 00 00 00 00 00 00
1780: A9 FF 20 C0 07 C9 D5 D0
1788: F7 20 C2 07 C9 FF D0 F5
1790: 20 C2 07 C9 D4 D0 F5 20
1798: B9 07 8D A7 07 20 B9 07
17A0: 8D A8 07 20 B9 07 8D FF
17A8: FF C9 EA D0 EA BD 88 C0
17B0: 20 B9 07 48 20 B9 07 48
17B8: 60 BD 8C C0 10 FB 38 2A
17C0: 85 FF BD 8C C0 10 FB 25
17C8: FF 60 00 00 00 00 00 00
17D0: 00 00 00 00 00 00 00 00
17D8: 00 00 00 00 00 00 00 00
17E0: 00 00 00 00 00 00 00 00
17E8: 00 00 00 00 00 00 00 00
17F0: 00 00 00 00 00 00 00 00
17F8: 00 00 00 00 00 00 00 00

Let's patch the beast to get the whole program in memory:
1400: A9 D7 85 00 85 02 A9 F7
1408: 85 01 A9 F5 85 03 A0 00
1410: 84 0A EA A2 60
17B3:A8
17B7:EA
146E:59
1477:FF
1488:20
148B:84 FF 85 FE 2C 51 C0 AD 00 C0 10 FB 2C 10 C0 4C 59 FF

The following will move code at its right addresses and be executed
00/1000: A2 00        LDX #00           
00/1002: BD 00 14     LDA 1400,X       
00/1005: 9D 00 04     STA 0400,X       
00/1008: BD 00 15     LDA 1500,X       
00/100B: 9D 00 05     STA 0500,X       
00/100E: BD 00 16     LDA 1600,X       
00/1011: 9D 00 06     STA 0600,X       
00/1014: BD 00 17     LDA 1700,X       
00/1017: 9D 00 07     STA 0700,X       
00/101A: E8           INX               
00/101B: D0 E5        BNE 1002 ;-1B=   
00/101D: 4C 00 14     JMP 1400         

1000:A2 00 BD 00 14 9D 00 04
1008:BD 00 15 9D 00 05 BD 00
1010:16 9D 00 06 BD 00 17 9D
1018:00 07 E8 D0 E5 4C 00 04
1000G

*bingo* We have the program in memory:
$0800..$1FFF
$4000..$6FFF
That's all!

We preserve the $0000..$07FF area as the program uses a lot of indirect jumps on entry
We put that on a disk at the end of the program at $7000..$77FF, call the RWTS to read the data in memory and then execute the following code bfore jumping to the game:

The new Boot 1 sector on T0/S0
0080:A2 00          LDX   #$00         
0082:BD 00 70       LDA   $7000,X       
0085:9D 00 00       STA   $0000,X       
0088:BD 00 71       LDA   $7100,X       
008B:9D 00 01       STA   $0100,X       
008E:BD 00 72       LDA   $7200,X       
0091:9D 00 02       STA   $0200,X       
0094:BD 00 73       LDA   $7300,X       
0097:9D 00 03       STA   $0300,X       
009A:BD 00 74       LDA   $7400,X       
009D:9D 00 04       STA   $0400,X       
00A0:BD 00 75       LDA   $7500,X       
00A3:9D 00 05       STA   $0500,X       
00A6:BD 00 76       LDA   $7600,X       
00A9:9D 00 06       STA   $0600,X       
00AC:BD 00 77       LDA   $7700,X       
00AF:9D 00 07       STA   $0700,X       
00B2:E8             INX                 
00B3:D0 CD          BNE   $0082         
00B5:4C 15 07       JMP   $0715         
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: 3018
Localisation: Le Chesnay, France

MessagePosté le: Dim 07 Juil 2019, 20:30    Sujet du message: Répondre en citant

The original boot 3 code at $400..$7FF:

Code:

*
* The Snapper
*
* (c) 1982, Silicon Valley Systems
* (k) 2019, LoGo
*

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

   TYP   BIN
   ORG   $000400
   MX   %11

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

SOFTEV   EQU   $03F2
PWREDUP   EQU   $03F4
KBD   EQU   $C000
SPKR   EQU   $C030
WAIT   EQU   $FCA8
RESETV   EQU   $FFFC
IRQV   EQU   $FFFE

*---

L0400   LDA   #$67
   STA   $48
   NOP
   TYA
L0406   STA   |$0004,Y
   STA   $0100,Y
   STA   $0200,Y
   STA   $0300,Y
   INY
   BNE   L0406
   STX   $2B
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   LDA   #$02
   NOP
   NOP
   JSR   L0672
   NOP
   NOP
   LDA   #$08
L0428   NOP
   NOP
   PHA
   NOP
   NOP
   LDX   #$04
   NOP
   NOP
   JSR   L0600
   NOP
   NOP
   LDY   $0A
   NOP
   NOP
   INY
   NOP
   NOP
   TYA
   NOP
   NOP
   JSR   L0672
   NOP
   NOP
   PLA
   NOP
   NOP
   CLC
   ADC   #$04
   NOP
   NOP
   CMP   #$20
   BNE   L0457
   NOP
   NOP
   LDA   #$40
   NOP
   NOP
L0457   CMP   #$70
   BCC   L0428
   NOP
   NOP
   NOP
   NOP
   LDA   #$15
   NOP
   NOP
   JSR   L0672
   NOP
   NOP
   JSR   L0530
   NOP
   NOP
   LDA   #$15
   NOP
   NOP
   STA   SOFTEV
   NOP
   NOP
   LDA   #$08
   NOP
   NOP
   STA   SOFTEV+1
   NOP
   NOP
   EOR   #$A5
   NOP
   NOP
   STA   PWREDUP
   NOP
   NOP
   JMP   L0780

   NOP
   NOP
   DS   $71
L04FE   DB   $2B
L04FF   DB   $03
L0500   LDA   #$00
   STA   $00
   STA   $01
   TAY
   LDA   #$08
   STY   $02
L050B   STA   $03
L050D   LDA   ($02),Y
   EOR   $00
   STA   $00
   LDA   ($02),Y
   CLC
   ADC   $01
   STA   $01
   INY
   BNE   L050D
   INC   $03
   LDA   $03
   CMP   #$20
   BNE   L0527
   LDA   #$40
L0527   CMP   #$70
   BNE   L050B
   RTS

   DS   4
L0530   JSR   L0500
   LDA   $00
   CMP   L04FE
   BNE   L0550
   LDA   $01
   CMP   L04FF
   BNE   L0550
   RTS

   DS   $E
L0550   LDY   #$7F
L0552   TYA
L0553   TAX
   BIT   SPKR
L0557   DEX
   BNE   L0557
   SEC
   SBC   #$01
   BNE   L0553
   DEY
   BNE   L0552
   TYA
   JSR   WAIT
   JSR   WAIT
   JMP   (RESETV)

   DS   $94
L0600   STX   $3E
   STA   $3A
L0604   LDX   $3E
   STX   $40
   LDY   #$00
   LDA   $3A
   STY   $3C
   STA   $3D
   LDX   $2B
L0612   JSR   L066C
L0615   CMP   $00
   BNE   L0612
   JSR   L066C
L061C   CMP   $01
   BNE   L0615
   JSR   L066C
   CMP   $02
   BNE   L061C
L0627   LDA   $C08C,X
   BPL   L0627
   ROL
   STA   $3F
L062F   LDA   $C08C,X
   BPL   L062F
   AND   $3F
   STA   ($3C),Y
   INY
   BNE   L0627
   ASL   KBD
L063E   LDA   $C08C,X
   BPL   L063E
   CMP   $03
   BNE   L0604
   INC   $3D
   DEC   $40
   BNE   L0627
   JSR   L066C
   STA   $02
   JSR   L066C
   STA   $01
   JSR   L066C
   STA   $00
   JSR   L066C
   STA   $03
   JSR   L066C
   CMP   $00
   BNE   L0669
   RTS
L0669   JMP   (RESETV)

L066C   LDA   $C08C,X
   BPL   L066C
   RTS

L0672   STA   $41
   CMP   $0A
   BEQ   L06C7
   LDA   #$00
   STA   $26
L067C   LDA   $0A
   STA   $27
   SEC
   SBC   $41
   BEQ   L06B6
   BCS   L068D
   EOR   #$FF
   INC   $0A
   BCC   L0691
L068D   ADC   #$FE
   DEC   $0A
L0691   CMP   $26
   BCC   L0697
   LDA   $26
L0697   CMP   #$0C
   BCS   L069C
   TAY
L069C   SEC
   JSR   L06BA
   LDA   L06D3,Y
   JSR   L06C8
   LDA   $27
   CLC
   JSR   L06BC
   LDA   L06DF,Y
   JSR   L06C8
   INC   $26
   BNE   L067C
L06B6   JSR   L06C8
   CLC
L06BA   LDA   $0A
L06BC   AND   #$03
   ROL
   ORA   $2B
   TAX
   LDA   $C080,X
   LDX   $2B
L06C7   RTS

L06C8   LDX   #$13
L06CA   DEX
   BNE   L06CA
   SEC
   SBC   #$01
   BNE   L06C8
   RTS

L06D3   HEX   01302824201E1D1C1C1C1C1C
L06DF   HEX   702C26221F1E1D1C1C1C1C1C
   DS   $15
L0700   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   DB   $00
   NOP
   NOP
   LDY   #$80
L0719   LDA   L0700,Y
   STA   $0100,Y
   DEY
   BNE   L0719
   JMP   $0125

   NOP
   LDA   #$A0
L0728   STA   L0400,Y
   STA   L0500,Y
   STA   L0600,Y
   STA   L0700,Y
   INY
   BNE   L0728
   JMP   ($0020)

   DS   $46
L0780   LDA   #$FF
   JSR   L07C0
L0785   CMP   #$D5
   BNE   L0780
   JSR   L07C2
L078C   CMP   #$FF
   BNE   L0785
   JSR   L07C2
   CMP   #$D4
   BNE   L078C
L0797   JSR   L07B9
   STA   L07A6+1
   JSR   L07B9
   STA   L07A6+2
   JSR   L07B9
L07A6   STA   IRQV+1
   CMP   #$EA
   BNE   L0797
   LDA   $C088,X
   JSR   L07B9
   TAY
   JSR   L07B9
   NOP
   RTS

L07B9   LDA   $C08C,X
   BPL   L07B9
   SEC
   ROL
L07C0   STA   $FF
L07C2   LDA   $C08C,X
   BPL   L07C2
   AND   $FF
   RTS

   DS   $36
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