Index du Forum
IDENTIFICATION SERVEUR : 51.77.218.153 - CLIENT : 34.226.244.70

 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 

Faial (Excalibur, 1986)

 
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: Mar 03 Jan 2012, 23:50    Sujet du message: Faial (Excalibur, 1986) Répondre en citant

Voici enfin en original, LE logiciel plombé le plus bizarrement possible, celui dont Jérôme Crétaux me parlait (il y a participé) : c'est Faial.

Il faudrait que je filme la tête de lecture du disque pendant le chargement du jeu, c'est magnifique.

Une disquette, c'est normalement concentrique : des pistes contiennent des secteurs, les pistes sont séparées des autres. Là, c'est tout autre : on dirait que les secteurs sont des pistes. Bref, comme un spiralling mais puissance 10.

Bon, je vais filmer !

Antoine
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jvernet



Inscrit le: 18 Aoû 2007
Messages: 722

MessagePosté le: Mer 04 Jan 2012, 11:51    Sujet du message: Répondre en citant

On attend ça avec impatience ! Avec tes explications éclairées pour comprendre le phénomène.
_________________
,, et 
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: Ven 06 Jan 2012, 21:59    Sujet du message: Répondre en citant

You know what? I need to give the disks back to the owner. In order to do so, I have decided to use my EDD+ clone card.

Thanks to the copy of the manual I got from JPL, I have plugged the card correctly and with the version 4.9 of EDD+, I have launched the bit copy of the disks...

The first really useful feature (I have never used previously) is the Disk Scan. It displays the contents of the tracks and that helps in determining whether the tracks are synchronized, contain valid nibbles, etc. A must use!

Then, I have used the Copy disk option mixing the different options: sync tracks, nibble count or not, etc. The final options were to copy tracks 0 to 34.5 with a step of 0.5. The results are poor, half-tracks are copied with no error but the disk does not boot, pfewwww, a real nightmare...
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: Ven 06 Jan 2012, 22:01    Sujet du message: Répondre en citant

But... Let's see boot 1 at $0800..$08FF.
Note that the first track of the disk can be copied with a normal editor as it contains normal 6*2-coded nibbles.

Code:

*
* Faial
* (c) 1986, Excalibur Software
* (k) 2012, LoGo
*

         ORG   $000800
         MX    %11

L0800    HEX   01

L0801    LDA   $27        ; check ptr
         CMP   #$09
         BNE   L0819

         TXA              ; first time, go here
         LSR
         LSR
         LSR
         LSR
         ORA   #$C0
         STA   L0835+2

         LDA   LCBANK1    ; we need 64KB
         LDA   LCBANK1

         LDA   #$C1
L0819    SEC
         SBC   #$02       ; #$BF then
         CMP   #$BE
         BNE   L0822

         LDA   #$F2       ; second time, load at $F200
                          ; we come back with $F3 (then -1 = $F1...)
L0822    STA   $27
         STA   $D6
         STA   PWREDUP
         DEC   L082C+1
L082C    LDY   #$11
         BEQ   L0848
         LDA   L0838-1,Y
         STA   $3D
L0835    JMP   $C65C

L0838    HEX   000D0B09070503010E0C0A080604020F

*-----------

L0848    STX   $0376      ; save slot*16
         LDA   RDROM2
         JMP   $BF8F      ; Stage 2

         LDA   #$DF
         STA   $36
         LDA   #$BF

         ASC   "NE PROTEGEZ PAS VOS DISQUETTES..."
         ASC   "VEUILLEZ INSERER FAIAL FACE (A)    EXCAL"
         ASC   "IBUR        LA DISQUETTE SCENARIO ** "
         ASC   'ERREUR'
         ASC   " "
         ASC   'SYSTEME'
         ASC   " ** IMPOSSIBLE DE CONTINUER.DANS LE LECT"
         ASC   "EUR"
         DB    $EA
         DB    $4C
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: Ven 06 Jan 2012, 22:02    Sujet du message: Répondre en citant

Boot 2 at $BF00..$BFFF...

Code:

*
* Faial
* (c) 1986, Excalibur Software
* (k) 2012, LoGo
*

         TYP   BIN
         ORG   $00BF00

         MX    %11

*-----------

LBF00    LDA   LCBANK1
         LDA   LCBANK1
         JSR   $E50B
         LDA   RDROM2
         RTS

*-----------

LBF0D    STA   $0386
         BNE   LBF00

         LDA   #$01
         BNE   LBF0D
         LDA   #$02
         BNE   LBF0D

*-----------

LBF1A    LDA   #$03
LBF1C    JSR   LBF0D
         LDX   $037F
         BNE   LBF29
         DEX
         TXS
         JMP   ($00F7)
LBF29    RTS

         LDA   #$04
         BNE   LBF1C
         LDA   #$09
         BNE   LBF0D
         LDA   #$0A
         BNE   LBF0D
         LDA   #$05
LBF38    JSR   LBF0D
         LDA   $037F
         BNE   LBF29
         JMP   LBF81

         LDA   #$06
         BNE   LBF38
         LDA   #$07
LBF49    JSR   LBF0D
         LDX   $037F
         BNE   LBF29
         JSR   LBF81
         DEX
         TXS
         JMP   $D566

         LDA   #$08
         BNE   LBF49
         LDA   #$0B
         BNE   LBF0D
         LDA   #$13
         BNE   LBF0D
         LDA   #$14
         BNE   LBF0D
         LDA   #$15
         BNE   LBF0D
         LDA   #$16
         BNE   LBF0D
         LDA   #$17
         BNE   LBF0D
         LDA   #$18
         BNE   LBF0D
         LDA   #$19
         BNE   LBF0D
         LDA   #$0C
         BNE   LBF0D

LBF81    LDA   LCBANK1
         LDA   LCBANK1
         JSR   $E514
         LDA   RDROM2
         RTS

LBF8E    HEX   31

*----------- Stage 2
* A = $??
* X = $60 (slot * 16)
* Y = $00 (from index in interleaving data)

* $0376 - $60
* $0377 - $01 +1
* $0378 - $00 +2
* $0379 - $00 +3
* $037A - $00 +4
* $037B - $01 +5
* $037C - $01 +6
* $037D - $00 +7
* $037E - $00 +8
* $037F - $
* $0380 - $
* $0381 - $
* $0382 - $
* $0383 - $
* $0384 - $
* $0385 - $
* $0386 - $
* $0387 - $
* $0388 - $00


LBF8F    LDX   #$08       ; ENTRY POINT
LBF91    ASL   LBF8E
         TYA
         STA   $0388
         ROL
         STA   $0376,X
         DEX
         BNE   LBF91

         LDA   #$F0       ; COUT vector
         STA   $36
         LDA   #$FD
         STA   $37
         JSR   LBFC6
         LDA   LCBANK1
         LDA   LCBANK1
         JSR   $E511
         LDA   RDROM2
         JMP   COUT1

LBFB9    LDA   LCBANK1
         LDA   LCBANK1
         JSR   $E508
         LDA   RDROM2
         RTS

*-----------

LBFC6    LDA   #<LBFD1    ; $BFD1
         STA   $38
         LDA   #>LBFD1
         STA   $39
         JSR   LBF1A

LBFD1    PHA
         LDA   KBD
         STA   $D6
         CMP   #$83
         BEQ   LBFDF
LBFDB    PLA
         JMP   KEYIN

LBFDF    STA   KBDSTROBE
LBFE2    LDA   KBD
         BPL   LBFE2
         CMP   #$83
         BNE   LBFDB
         BEQ   LBFB9

         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
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: Ven 06 Jan 2012, 22:03    Sujet du message: Répondre en citant

And next part of boot 2 from $E400 to $F1FF. It contains the read routines. If somebody understands them, please let me know Wink

Code:

*
* Faial
* (c) 1986, Excalibur Software
* (k) 2012, LoGo
*

         TYP   BIN
         ORG   $00E400

         MX    %11

*-----------

LE400    HEX   01
         LDA   $27
         CMP   #$09
         BNE   LE419
         TXA
         LSR
         LSR
         LSR
         LSR
         ORA   #$C0
         STA   $0837
         LDA   LCBANK1
         LDA   LCBANK1
         LDA   #$C1
LE419    SEC
         SBC   #$02
         CMP   #$BE
         BNE   LE422
         LDA   #$F2
LE422    STA   $27
         STA   $D6
         STA   PWREDUP
         DEC   $082D
         LDY   #$11
         BEQ   LE448
         LDA   L0839-1,Y
         STA   $3D
         JMP   $C65C

L0839    HEX   000D0B09070503010E0C0A080604020F

LE448    STX   $0376
         LDA   RDROM2
LE44E    JMP   INTADR+1

         LDA   #$DF
         STA   $36
         LDA   #$BF
         DB    $CE        ; NE PROTEGEZ
         DB    $C5
         DB    $A0
         DB    $D0
         DB    $D2
         DB    $CF
         DB    $D4
         DB    $C5
         DB    $C7
         DB    $C5
         DB    $DA
         DB    $A0
         DB    $D0
         DB    $C1
         DB    $D3
         DB    $A0
         DB    $D6
         DB    $CF
         DB    $D3
         DB    $A0
         DB    $C4
         DB    $C9
         DB    $D3
         DB    $D1
         DB    $D5
         DB    $C5
         DB    $D4
         DB    $D4
         DB    $C5
         DB    $D3
         DB    $AE
         DB    $AE
         DB    $AE
         DB    $D6        ; VEUILLEZ INSERER
         DB    $C5
         DB    $D5
         DB    $C9
         DB    $CC
         DB    $CC
         DB    $C5
         DB    $DA
         DB    $A0
         DB    $C9
         DB    $CE
         DB    $D3
         DB    $C5
         DB    $D2
         DB    $C5
         DB    $D2
         DB    $A0
         DB    $C6
         DB    $C1
         DB    $C9
         DB    $C1
         DB    $CC
         DB    $A0
         DB    $C6
         DB    $C1
         DB    $C3
         DB    $C5
         DB    $A0
         DB    $A8
LE495    DB    $C1
         DB    $A9
         DB    $A0
         DB    $A0
         DB    $A0
LE49A    DB    $A0
         DB    $C5        ; EXCALIBUR
         DB    $D8
         DB    $C3
         DB    $C1
         DB    $CC
         DB    $C9
         DB    $C2
         DB    $D5
         DB    $D2
         DB    $A0
         DB    $A0
         DB    $A0
         DB    $A0
         DB    $A0
         DB    $A0
         DB    $A0
         DB    $A0
         DB    $CC        ; LA DISQUETTE SCENARIO
         DB    $C1
         DB    $A0
         DB    $C4
         DB    $C9
         DB    $D3
         DB    $D1
         DB    $D5
         DB    $C5
         DB    $D4
         DB    $D4
         DB    $C5
         DB    $A0
         DB    $D3
         DB    $C3
         DB    $C5
         DB    $CE
         DB    $C1
         DB    $D2
         DB    $C9
         DB    $CF
         DB    $A0
         DB    $AA        ; ERREUR SYSTEME
         DB    $AA
         DB    $A0
         DB    $45
         DB    $52
         DB    $52
         DB    $45
         DB    $55
         DB    $52
         DB    $A0
         DB    $53
         DB    $59
         DB    $53
         DB    $54
         DB    $45
         DB    $4D
         DB    $45
         DB    $A0
         DB    $AA        ; IMPOSSIBLE DE CONTINUER
         DB    $AA
         DB    $A0
         DB    $C9
         DB    $CD
         DB    $D0
         DB    $CF
         DB    $D3
         DB    $D3
         DB    $C9
         DB    $C2
         DB    $CC
         DB    $C5
         DB    $A0
         DB    $C4
         DB    $C5
         DB    $A0
         DB    $C3
         DB    $CF
         DB    $CE
         DB    $D4
         DB    $C9
         DB    $CE
         DB    $D5
         DB    $C5
         DB    $D2
         DB    $AE
         DB    $C4        ; DANS LE LECTEUR
         DB    $C1
         DB    $CE
         DB    $D3
         DB    $A0
         DB    $CC
         DB    $C5
         DB    $A0
         DB    $CC
         DB    $C5
         DB    $C3
         DB    $D4
         DB    $C5
         DB    $D5
         DB    $D2

*-----------

         MX    %11

LE4FE    NOP
LE4FF    JMP   LE4FE
LE502    JMP   LE4FE
LE505    JMP   LE4FE
LE508    JMP   LEF99
LE50B    JMP   LEC1D      ; *
LE50E    JMP   LE7E6
LE511    JMP   LEDD7
LE514    JMP   LEEFE      ; *

LE517    LDX   $0376
         STX   $E3
         TXA
         ORA   $037A
         TAY
         LDA   $C08A,Y
         LDA   $C089,X
         LDA   $037C
         BNE   LE534
         LDA   #$96
         JSR   LE6FF
         INC   $037C
LE534    LDA   $C08D,X
         LDA   $C08E,X
         BMI   LE589
         LDA   #$00
         STA   $F9
         LDY   #$1E
LE542    LDA   $C08C,X
         BPL   LE542
         ORA   $F9
         STA   $F9
         DEY
         BNE   LE542
         LDA   $F9
         AND   #$7F
         BNE   LE557
         JMP   LE617

LE557    LDA   #$FE
         STA   $D6
         LDA   #$00
         STA   $03F0
         STA   USRADR
         STA   IRQLOC
         STA   NMILOC
         LDA   #$00
         STA   $D8
         LDA   #$B9
         STA   SOFTEV
         LDA   #$BF
         STA   SOFTEV+1
         LDA   #$1A
         STA   PWREDUP
         LDA   #$AA
         LDA   #$BF
         LDA   #$81
         BMI   LE587
         JMP   LEE07

LE587    CLC
         RTS

LE589    JSR   LE5E7
         JSR   LE60C
         LDX   #$00
         JSR   LED18
LE594    LDA   #$00
         JSR   LE6FF
         JSR   LE6FF
LE59C    JSR   LE5EB
         LDY   #$09
LE5A1    LDA   LE49A,Y
         STA   $040F,Y
         DEY
         BNE   LE5A1
         LDA   $0376
         LSR
         LSR
         LSR
         LSR
         ORA   #$C0
         STA   LE5E4+2
         LDX   #$07
LE5B8    LDA   LE5DE+2,X
         STA   $BFEF,X
         DEX
         BNE   LE5B8
         LDX   #$00
LE5C3    ASL   LE44E+2,X
         STA   LE5FF+1,X
         STA   LE700,X
         STA   LE800,X
         STA   LEDFF+1,X
         STA   LEEFF+1,X
         STA   $1600,X
         LSR   LEBFF+1,X
         DEX
         BNE   LE5C3
LE5DE    JSR   $BFF0
         LDA   RDROM2
LE5E4    JMP   PRODOS8

LE5E7    LDX   #$01
         BNE   LE5ED
LE5EB    LDX   #$00
LE5ED    LDA   #$29
         STA   $C0B8,X
         STA   TXTSET
         STA   TXTPAGE1
         LDA   #$A0
         LDY   #$00
LE5FC    STA   $0400,Y
LE5FF    STA   $0500,Y
         STA   $0600,Y
         STA   $0700,Y
         DEY
         BNE   LE5FC
         RTS

LE60C    LDX   $0376
         LDA   $C088,X
         LDA   #$00
         STA   $037C
LE617    SEC
         RTS

LE619    LDX   $037A
         LDY   $037D,X
         LDA   LEF75,Y
         STA   $E4
         LDY   $0A
         TYA
         STA   $037D,X
         LDA   LEF75,Y
         STA   $E7
         LDX   $E3
         CMP   $E4
         BEQ   LE617
         LSR
         STA   $02
         LDA   $E4
         AND   #$01
         BEQ   LE650
         LDA   $E4
         LSR
         PHA
         SEC
         JSR   LE6A2
         LDA   #$FF
         JSR   LE6DA
         PLA
         CLC
         JSR   LE6A2
LE650    LSR   $E4
         LDA   $E4
         CMP   $02
         BEQ   LE6AE
         LDA   #$00
         STA   $03
LE65C    LDA   $E4
         STA   $04
         SEC
         SBC   $02
         BEQ   LE696
         BCS   LE66D
         EOR   #$FF
         INC   $E4
         BCC   LE671
LE66D    ADC   #$FE
         DEC   $E4
LE671    CMP   $03
         BCC   LE677
         LDA   $03
LE677    CMP   #$0C
         BCS   LE67C
         TAY
LE67C    SEC
         JSR   LE6A0
         LDA   LE6E7,Y
         JSR   LE6DA
         LDA   $04
         CLC
         JSR   LE6A2
         LDA   LE6F3,Y
         JSR   LE6DA
LE692    INC   $03
         BNE   LE65C
LE696    JSR   LE6DA
         CLC
         JSR   LE6A0
         JMP   LE6AE

LE6A0    LDA   $E4
LE6A2    AND   #$03
         ROL
         ORA   $E3
         TAX
         LDA   $C080,X
         LDX   $E3
         RTS

LE6AE    LDA   $E7
         STA   $E4
         ROR
         ROR
         BPL   LE6D9
         LSR   $E7
         LDA   $E7
         SEC
         JSR   LE6A2
         INC   $E7
         LDA   $E7
         SEC
         JSR   LE6A2
         LDA   #$FF
         JSR   LE6DA
         LDA   $E7
         CLC
         JSR   LE6A2
         DEC   $E7
         LDA   $E7
         CLC
         JSR   LE6A2
LE6D9    RTS

LE6DA    LDX   #$12
LE6DC    DEX
         BNE   LE6DC
         CMP   $00
         SEC
         SBC   #$01
         BNE   LE6DA
         RTS

LE6E7    HEX   01302824201E1D1C1C1C1C1C
LE6F3    HEX   702C26221F1E1D1C1C1C1C1C
         MX    %11

LE6FF    PHA
LE700    LDA   #$00
LE702    JSR   LE710
         SEC
         NOP
         SBC   #$01
         BNE   LE702
         PLA
         SBC   #$01
         BNE   LE6FF
LE710    RTS

LE711    HEX   57789BEFC1D7
LE717    HEX   00ACA934B02F
LE71D    HEX   040404060406
LE723    HEX   211F260F1618

LE729    HEX   0001989902039C040506A0A1A2A3A4A5
         HEX   0708A8A9AA090A0B0C0DB0B10E0F1011
         HEX   1213B81415161718191AC0C1C2C3C4C5
         HEX   C6C7C8C9CA1BCC1C1D1ED0D1D21FD4D5
         HEX   2021D822232425262728E0E1E2E3E429
         HEX   2A2BE82C2D2E2F303132F0F133343536
         HEX   3738F8393A3B3C3D3E3F
LE793    HEX   96979A9B9D9E9FA6A7ABACADAEAFB2B3
         HEX   B4B5B6B7B9BABBBCBDBEBFCBCDCECFD3
         HEX   D6D7D9DADBDCDDDEDFE5E6E7E9EAEBEC
         HEX   EDEEEFF2F3F4F5F6F7F9FAFBFCFDFEFF

LE7D3    JMP   LEED4+1

LE7D6    HEX   00070E060D050C040B030A020901080F

LE7E6    JSR   LE517
         LDX   $E3
         LDY   #$50
LE7ED    LDA   $C080,X
         TYA
         AND   #$03
         ASL
         ORA   $E3
         TAX
         LDA   $C081,X
         LDA   #$02
         JSR   LE6FF
         DEY
LE800    BPL   LE7ED
         LDX   $037A
         LDA   #$00
         STA   $037D,X
         RTS

LE80B    JSR   LEA3D
         LDA   #$00
         BEQ   LE818
LE812    LDA   #$02
         BNE   LE818

LE816    LDA   #$01
LE818    STA   $E5
         LDA   #$02
         STA   $E2
         STA   $05
         BNE   LE825
LE822    JSR   LE7E6
LE825    JSR   LE517
         BCC   LE82C
         SEC
         RTS

LE82C    JSR   LE619
         LDA   #$C0
         STA   $E6
         LDY   #$00
LE835    INY
         BNE   LE842
         INC   $E6
         BNE   LE842
LE83C    DEC   $E2
         BNE   LE822
         SEC
         RTS

LE842    LDA   $C08C,X
         BPL   LE842
LE847    CMP   #$D5
         BEQ   LE864
         CMP   #$D4
         BNE   LE835
LE84F    LDA   $C08C,X
         BPL   LE84F
         CMP   #$AA
         BNE   LE847
LE858    LDA   $C08C,X
         BPL   LE858
         CMP   #$B7
         BNE   LE847
         JMP   LE876

LE864    LDA   $C08C,X
         BPL   LE864
         CMP   #$AA
         BNE   LE847
LE86D    LDA   $C08C,X
         BPL   LE86D
         CMP   #$96
         BNE   LE847
LE876    LDA   $C08C,X
         BPL   LE876
         CMP   #$FF
         BEQ   LE847
         SEC
         ROL
         STA   $E4
         LDA   #$00
         STA   $E7
LE887    LDA   $C08C,X
         BPL   LE887
         LDY   #$03
         JMP   LE8A0

LE891    STA   $E7
LE893    LDA   $C08C,X
         BPL   LE893
         ROL
         STA   $E4
LE89B    LDA   $C08C,X
         BPL   LE89B
LE8A0    AND   $E4
         STA   |$0001,Y
         EOR   $E7
         DEY
         BPL   LE891
         TAY
         BNE   LE835
LE8AD    LDA   $C08C,X
         BPL   LE8AD
         STA   $0382
LE8B5    LDA   $C08C,X
         BPL   LE8B5
         STA   $0383
         LDA   $03
         CMP   $0A
         BEQ   LE8D3
         LDX   $037A
         STA   $037D,X
         DEC   $05
         BEQ   LE8D0
         JMP   LE825
LE8D0    JMP   LE83C

LE8D3    LDX   $02
         LDA   LE7D6,X
         LDX   $E3
         CMP   $0B
         BEQ   LE8E1
         JMP   LE835

LE8E1    LDA   $E5
         BNE   LE8F1
         JMP   LEA67
LE8E8    JMP   LE8F3
         JMP   MONZ

         PLA
         PLA
         RTS

LE8F1    LDY   #$E0
LE8F3    INY
         BNE   LE8F9
         JMP   LE9DD

LE8F9    LDA   $0A
         BNE   LE91B
LE8FD    LDA   $C08C,X
         BPL   LE8FD
         CMP   #$D5
         BNE   LE8F3
LE906    LDA   $C08C,X
         BPL   LE906
         CMP   #$AA
         BNE   LE90F
LE90F    LDA   $C08C,X
         BPL   LE90F
         CMP   #$AD
         BNE   LE90F
         JMP   LE9AB

LE91B    LDA   $C08C,X
         BPL   LE91B
         CMP   #$D5
         BNE   LE8F3
LE924    LDA   $C08C,X
         BPL   LE924
         CMP   #$FF
         BNE   LE8E8
         LDA   $C08D,X
LE930    LDA   $C08C,X
         BMI   LE930
         NOP
         LDA   $00
         LDA   $C08D,X
         LDA   $C08D,X
         JSR   LE94D
         JSR   LE94D
         NOP
LE945    LDA   $C08C,X
         BPL   LE945
         JMP   LE951

LE94D    JSR   LE950
LE950    RTS

LE951    NOP
         LDA   $0300
LE955    LDA   $C08C,X
         BPL   LE955
         LDA   $0301
LE95D    LDA   $C08C,X
         BPL   LE95D
         LDA   $0302
LE965    LDA   $C08C,X
         BPL   LE965
         LDA   $0303
LE96D    LDA   $C08C,X
         BPL   LE96D
         LDA   $0304
LE975    LDA   $C08C,X
         BPL   LE975
         LDA   $0305
LE97D    LDA   $C08C,X
         BPL   LE97D
         CMP   #$D5
         BEQ   LE9AB
LE986    LDA   $C08C,X
         BPL   LE986
         CMP   #$D5
         BEQ   LE9AB
LE98F    LDA   $C08C,X
         BPL   LE98F
         CMP   #$D5
         BEQ   LE9AB
LE998    LDA   $C08C,X
         BPL   LE998
         CMP   #$D5
         BNE   LE9A8
         BEQ   LE9AB
         JMP   LE8E8

         BEQ   LE9AB
LE9A8    JMP   LE8E8

LE9AB    LDY   #$56
         LDA   #$00
LE9AF    DEY
         STY   $E4
LE9B2    LDY   $C08C,X
         BPL   LE9B2
         EOR   LE692+1,Y
         LDY   $E4
         STA   LE400,Y
         BNE   LE9AF
LE9C1    STY   $E4
LE9C3    LDY   $C08C,X
         BPL   LE9C3
         EOR   LE692+1,Y
         LDY   $E4
         STA   $E300,Y
         INY
         BNE   LE9C1
LE9D3    LDY   $C08C,X
         BPL   LE9D3
         CMP   LE692+1,Y
         BEQ   LE9E0
LE9DD    JMP   LE835

LE9E0    LDA   $C08C,X
         BPL   LE9E0
         STA   $0384
LE9E8    LDA   $C08C,X
         BPL   LE9E8
         STA   $0385
         LDA   $E5
         CMP   #$02
         BNE   LE9F9
         JMP   LEB01

LE9F9    LDY   #$00
LE9FB    LDX   #$56
LE9FD    DEX
         BMI   LE9FB
         LDA   $E300,Y
         LSR   LE400,X
         ROL
         LSR   LE400,X
         ROL
         STA   $E4
         LDA   $0C
         BEQ   LEA16
         DEC   $0C
         JMP   LEA38

LEA16    LDA   $0D
         BNE   LEA1E
         LDA   $0E
         BEQ   LEA38
LEA1E    DEC   $0D
         LDA   $0D
         CMP   #$FF
         BNE   LEA28
         DEC   $0E
LEA28    LDA   $E4
         STY   $02
         LDY   #$00
         STA   ($0F),Y
         LDY   $02
         INC   $0F
         BNE   LEA38
         INC   $10
LEA38    INY
         BNE   LE9FD
         CLC
         RTS

LEA3D    LDX   #$00
         LDY   #$02
LEA41    DEY
         LDA   ($0F),Y
         LSR
         ROL   LE400,X
         LSR
         ROL   LE400,X
         STA   $E300,Y
         INX
         CPX   #$56
         BCC   LEA41
         LDX   #$00
         TYA
         BNE   LEA41
         LDX   #$55
LEA5B    LDA   LE400,X
         AND   #$3F
         STA   LE400,X
         DEX
         BPL   LEA5B
         RTS

LEA67    LDX   $0376
         PHA
         PLA
         LDA   $C08D,X
         LDA   $C08E,X
         LDA   LE400
         STA   $E4
         LDA   #$FF
         STA   $C08F,X
         ORA   $C08C,X
         PHA
         PLA
         NOP
         LDY   #$05
LEA84    PHA
         PLA
         JSR   LEAF8
         DEY
         BNE   LEA84
         LDA   #$D5
         JSR   LEAF7
         LDA   #$AA
         JSR   LEAF7
         LDA   #$AD
         JSR   LEAF7
         TYA
         LDY   #$56
         BNE   LEAA3
LEAA0    LDA   LE400,Y
LEAA3    EOR   $E3FF,Y
         TAX
         LDA   LE793,X
         LDX   $E3
         STA   $C08D,X
         LDA   $C08C,X
         DEY
         BNE   LEAA0
         LDA   $E4
         NOP
LEAB8    EOR   $E300,Y
         TAX
         LDA   LE793,X
         LDX   $0376
         STA   $C08D,X
         LDA   $C08C,X
         LDA   $E300,Y
         INY
         BNE   LEAB8
         TAX
         LDA   LE793,X
         LDX   $E3
         JSR   LEAFA
         LDA   #$D4
         JSR   LEAF7
         LDA   #$AA
         JSR   LEAF7
         LDA   #$B7
         JSR   LEAF7
         LDA   #$FF
         JSR   LEAF7
         LDA   #$FF
         JSR   LEAF7
         LDA   $C08E,X
         LDA   $C08C,X
         RTS

LEAF7    CLC
LEAF8    PHA
         PLA
LEAFA    STA   $C08D,X
         ORA   $C08C,X
         RTS

LEB01    LDY   #$00
LEB03    LDX   #$56
LEB05    DEX
         BMI   LEB03
         LDA   $E300,Y
         LSR   LE400,X
         ROL
         LSR   LE400,X
         ROL
         CMP   ($0F),Y
         BEQ   LEB1E
         LDA   #$00
         STA   $E5
         JMP   LE83C

LEB1E    INY
         BNE   LEB05
         CLC
         RTS

LEB23    LDX   #$00
         LDA   $0377
         SEC
LEB29    INX
         SBC   #$1F
         BEQ   LEB30
         BCS   LEB29
LEB30    INX
         STX   $0B
         CLC
         ADC   #$1F
         ASL
         ASL
         ASL
         STA   $EA
         LDA   #$11
         STA   $0A
         JSR   LEC0D
         BCC   LEB47
         JMP   LEC0A

LEB47    LDA   $E300
         CMP   #$04
         BEQ   LEB51
LEB4E    JMP   LEC0B

LEB51    LDA   $E301
         CMP   #$92
         BNE   LEB4E
         LDA   $E302
         CMP   $0378
         BNE   LEB4E
         LDX   $037A
         STA   $0388,X
         LDX   #$00
LEB68    LDA   $E300,X
         STA   $E200,X
         DEX
         BNE   LEB68
         LDA   $0A
         STA   LEBD7+1
         LDA   $0B
         STA   LEBDB+1
         LDX   $EA
         LDY   #$00
LEB7F    LDA   $E300,X
         STA   |$000A,Y
         INX
         INY
         CPY   #$08
         BNE   LEB7F
         LDA   $0386
         CMP   #$0C
         BNE   LEBFB
         LDA   #$01
         DEX
         STA   $E200,X
         DEX
         DEX
         DEX
         DEX
         SEC
         LDA   $AF
         SBC   $67
         STA   $0D
         LDA   $B0
         SBC   $68
         STA   $0E
         CLC
         LDA   $0D
         ADC   #$00
         STA   $0D
         STA   $E200,X
         LDA   $0E
         ADC   #$00
         INX
         STA   $E200,X
         LDA   $0F
         STA   LEBEF+1
         LDA   $10
         STA   LEBF3+1
         LDA   #$00
         STA   $0F
         LDA   #$E2
         STA   $10
         LDA   $0A
         STA   LEBE2+1
         LDA   $0B
         STA   LEBE6+1
LEBD7    LDA   #$00
         STA   $0A
LEBDB    LDA   #$00
         STA   $0B
         JSR   LE80B
LEBE2    LDA   #$00
         STA   $0A
LEBE6    LDA   #$00
         STA   $0B
         LDA   #$0B
         STA   $0386
LEBEF    LDA   #$00
         STA   $0F
LEBF3    LDA   #$40
         STA   $10
         LDA   #$01
         STA   $E8
LEBFB    LDA   $E8
         BNE   LEC09
LEBFF    LDA   $0380
         STA   $0F
         LDA   $0381
         STA   $10
LEC09    CLC
LEC0A    RTS

LEC0B    SEC
         RTS

LEC0D    LDA   #$E3
         STA   $10
LEC11    LDX   #$00
         STX   $0C
         STX   $0F
         INX
         STX   $0E
         JMP   LE816

*-----------

LEC1D    LDA   #$00
         STA   $037F
         LDA   #$03
         STA   $E1
         LDA   $0386
         CMP   #$13
         BCS   LEC8D
         AND   #$01
         STA   $E8
         LDA   $0378
         CMP   #$FF
         BNE   LEC3E
         LDA   $0387
         STA   $0378
LEC3E    SEC
         LDA   #$00
         STA   $037A
         JSR   LEB23
         BCC   LEC55
LEC49    JSR   LE60C
         LDA   $037B
         BNE   LECB6
         INC   $037F
         RTS

LEC55    LDA   $0386
         CMP   #$09
         BCS   LEC73
         LDA   $0F
         STA   $F7
         LDA   $10
         STA   $F8
         LDA   $0D
         STA   $F5
         LDA   $0E
         STA   $F6
         LDA   $0C
         STA   $F4
         JMP   LEE63

LEC73    CMP   #$0B
         BNE   LEC8A
         LDY   #$07
LEC79    LDA   |$0009,Y
         STA   |$00E8,Y
         DEY
         BNE   LEC79
         STY   $EF
         JMP   LEF9C
LEC87    JMP   LE7D3
LEC8A    JMP   LED49

LEC8D    CMP   #$15
         BCS   LEC94
         JMP   LEEA3

LEC94    BNE   LEC99
         JMP   LEEDB

LEC99    CMP   #$16
         BNE   LECA0
         JMP   LEEB4

LECA0    CMP   #$17
         BNE   LECA7
         JMP   LEEE9

LECA7    CMP   #$18
         BNE   LECAE
         JMP   LEEF7

LECAE    CMP   #$19
         BNE   LECB5
         JMP   LEF6F
LECB5    RTS

LECB6    JSR   LE5E7
         DEC   $E1
         BEQ   LED0B
         LDA   $0378
         BMI   LECCF
         CLC
         ADC   #$C1
         STA   LE495
         LDX   #$01
         JSR   LED18
         BEQ   LECD4
LECCF    LDX   #$02
         JSR   LED18
LECD4    LDX   #$03
         JSR   LED1B
         STA   KBDSTROBE
LECDC    LDA   KBD
         BPL   LECDC
         JSR   LE5EB
         LDA   $0379
         BEQ   LED08
         STA   TXTCLR
         STA   HIRES
         STA   MIXSET
         STA   TXTPAGE1
         CMP   #$01
         BEQ   LED08
         CMP   #$02
         BNE   LED05
         STA   TXTPAGE2
         STA   MIXCLR
         BNE   LED08
LED05    STA   MIXCLR
LED08    JMP   LEC3E

LED0B    LDX   #$04
         JSR   LED18
         LDX   #$05
         JSR   LED1B
         JMP   LE594

LED18    JSR   LEE79
LED1B    LDA   LE711,X
         STA   LED35+1
         LDA   LE723,X
         STA   LED44+1
         LDA   LE717,X
         STA   LED38+1
         LDA   LE71D,X
         STA   LED38+2
         LDY   #$00
LED35    LDA   LE400,Y
LED38    STA   $2000,Y
         JSR   LEE79
         LDA   #$02
         JSR   LE6FF
         INY
LED44    CPY   #$0A
         BNE   LED35
         RTS

LED49    LDA   $0C
         STA   $08
         JSR   LEDF3
LED50    LDY   #$00
         LDA   ($08),Y
         STA   $EB
         STA   $EE
         JSR   LEDC7
         LDA   ($08),Y
         STA   $E9
         TAX
         INX
         STX   $FA
         LDA   $1600,X
         JSR   LEE35
         JSR   LEDC7
         LDA   ($08),Y
         CLC
         ADC   #$01
         STA   $FD
         JSR   LEDC7
         LDA   ($08),Y
         CLC
         ADC   #$01
         STA   $EA
         JSR   LEDC7
         STY   $FC
LED82    LDA   ($08),Y
         BNE   LED98
         JSR   LEDC7
         LDA   ($08),Y
         STA   $FC
         JSR   LEDC7
         LDA   ($08),Y
         STA   $FB
LED94    LDA   $FB
         DEC   $FC
LED98    LDY   $EE
         STA   ($EC),Y
         INX
         INX
         CPX   $EA
         BCC   LEDB8
         INC   $EE
         LDY   $EE
         CPY   $FD
         BCC   LEDB6
         DEC   $FA
         LDY   $FA
         CPY   $E9
         BNE   LEDC4
         LDY   $EB
         STY   $EE
LEDB6    LDX   $FA
LEDB8    JSR   LEE35
         LDY   $FC
         BNE   LED94
         JSR   LEDC7
         BNE   LED82
LEDC4    JMP   LE60C

LEDC7    INC   $08
         BNE   LEDD6
         INC   $09
         LDA   $09
         CMP   #$E4
         BNE   LEDD6
         JSR   LEDF3
LEDD6    RTS

LEDD7    PHA
         LDA   #$2C
         STA   $D6
         LDA   #$B9
         STA   SOFTEV
         LDA   #$BF
         STA   SOFTEV+1
         LDA   #$1A
         STA   PWREDUP
         PLA
         CMP   #$03
         BNE   LEDF2
         LDA   #$41
LEDF2    RTS

LEDF3    STX   $FE
         STY   $FF
         STA   $F9
         LDA   #$E0
         STA   $10
         STA   $09
LEDFF    JSR   LEC11
         BCC   LEE25
LEE04    JMP   LEC49

LEE07    LDX   #$00
LEE09    ASL   $BF00,X
         STA   $0800,X
         STA   $4000,X
         STA   $5000,X
         STA   $7000,X
         DEX
         BNE   LEE09
         LDA   #$01
         STA   $E1
         JSR   LE60C
         JMP   LE59C

LEE25    JSR   LEE4A
         LDA   $10
         CMP   #$E4
         BNE   LEDFF
         LDX   $FE
         LDY   $FF
         LDA   $F9
         RTS

LEE35    LDA   $1600,X
         STA   $EC
         LDA   $E8
         BEQ   LEE44
         LDA   $16C0,X
         STA   $ED
         RTS

LEE44    LDA   $1780,X
         STA   $ED
         RTS

LEE4A    DEC   $0B
         LDA   $0B
         CMP   #$FF
         BEQ   LEE5C
         CMP   #$05
         BNE   LEE62
         LDA   $0A
         CMP   #$11
         BNE   LEE62
LEE5C    LDA   #$0F
         STA   $0B
         DEC   $0A
LEE62    RTS

LEE63    JSR   LE816
         BCC   LEE6B
         JMP   LEE04

LEE6B    JSR   LEE4A
         LDA   $0D
         BNE   LEE63
         LDA   $0E
         BNE   LEE63
         JMP   LE60C

LEE79    LDA   #$03
         STA   $E4
LEE7D    LDA   #$01
         JSR   LE6FF
         STA   SPKR
         DEC   $E4
         BNE   LEE7D
         RTS

         LDA   #$04
         STA   $E4
LEE8E    LDA   #$B4
         STA   $02
LEE92    LDY   $02
LEE94    DEY
         BNE   LEE94
         STA   SPKR
         DEC   $02
         BNE   LEE92
         DEC   $E4
         BNE   LEE8E
         RTS

LEEA3    AND   #$01
         STA   $E8
         LDA   $0301
         STA   $08
         LDA   $0302
         STA   $09
         JMP   LED50

LEEB4    LDY   #$00
LEEB6    LDA   $0650,Y
         STA   $0650,Y
         LDA   $06D0,Y
         STA   $06D0,Y
         LDA   $0750,Y
         STA   $0750,Y
         LDA   $07D0,Y
         STA   $07D0,Y
         INY
         CPY   #$28
         BNE   LEEB6
         RTS

LEED4    LDY   #$EA
         NOP
         JSR   LEF70
         RTS

LEEDB    LDY   #$64
LEEDD    LDX   #$32
LEEDF    DEX
         BNE   LEEDF
         STA   SPKR
         DEY
         BNE   LEEDD
         RTS

LEEE9    LDX   #$50
LEEEB    LDY   #$05
LEEED    DEY
         BNE   LEEED
         STA   SPKR
         DEX
         BNE   LEEEB
         RTS

LEEF7    LDA   #$01
         STA   $E1
         JMP   LECB6

*-----------

LEEFE    SEC
LEEFF    LDA   $F4
         SBC   $F7
         STA   $06
         LDA   #$20
         SBC   $F8
         STA   $07
         INC   $F7
         BNE   LEF11
         INC   $F8

LEF11    LDA   $F7
         STA   $67
         STA   $08
         LDA   $F8
         STA   $68
         STA   $09

         CLC
         LDA   $F7
         ADC   $F5
         STA   $69
         STA   $6B
         STA   $6D
         STA   $AF

         LDA   $F8
         ADC   $F6
         STA   $6A
         STA   $6C
         STA   $6E
         STA   $B0

         LDA   #$FF       ; $BEFF
         STA   $6F
         STA   $73
         LDA   #$BE
         STA   $74
         STA   $70
         LDA   $11
         BEQ   LEF47
         RTS

LEF47    TAY
LEF48    LDA   ($08),Y
         BNE   LEF52
         INY
         LDA   ($08),Y
         BNE   LEF52
         RTS

LEF52    LDY   #$00
         SEC
         LDA   ($08),Y
         SBC   $06
         STA   ($08),Y
         STA   LEF68+1
         INY
         LDA   ($08),Y
         SBC   $07
         STA   ($08),Y
         STA   $09
         DEY
LEF68    LDA   #$00
         STA   $08
         JMP   LEF48
LEF6F    RTS

LEF70    PLA
         PLA
         JMP   LEE07

LEF75    HEX   0005090E12161A1E22262A2E32363A3E
         HEX   42464A4F53575B5F63676B6F73777B7F
         HEX   83878B8F

LEF99    JMP   LEC87

LEF9C    LDA   $EF
         BEQ   LEFA6
         JSR   LE812
         JMP   LEFA9

LEFA6    JSR   LE80B
LEFA9    BCC   LEFAE
         JMP   LEE04

LEFAE    JSR   LEE4A
         LDA   $0E
         BEQ   LEFBF
         INC   $10
         DEC   $0E
         BNE   LEF9C
         LDA   $0D
         BNE   LEF9C
LEFBF    LDA   $EF
         BNE   LEFD5
         INC   $EF
         LDY   #$07
LEFC7    LDA   |$00E8,Y
         STA   |$0009,Y
         DEY
         BNE   LEFD5
         BNE   LEFC7
         JMP   LEF9C
LEFD5    JMP   LE60C

         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         SBCL  $00FFFF,X
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
         BRK   $00
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
qkumba



Inscrit le: 29 Jan 2012
Messages: 176

MessagePosté le: Dim 29 Jan 2012, 20:24    Sujet du message: Répondre en citant

Unless I misunderstood something, the first call to seek (LE619) is to track 35, which you didn't copy. Extra track, ha.
Other than that, it looks like standard 6-and-2 encoding with an altered address header, and a single byte for the data header.
And some extra nibbles that appear to be used to construct pointers, and that are used later in the boot sequence.
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: Mar 07 Fév 2012, 23:22    Sujet du message: Répondre en citant

Peter, you are right. There is an extra track on each of the 4 sides!

The table at LEF75 contains info for the $24 tracks.
Zero page $0A is the desired track
Zero page $0B is the wished sector
Zero page $A5 is the command (0 means write sector)

It is really funny to follow the code and, as Peter wrote, extra nibbles are added when necessary.

Next step: comment the code!

Antoine
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: Dim 07 Oct 2012, 21:05    Sujet du message: Répondre en citant

Let's continue with Faial (I will never surrender)

$01 checksum read
$02 sector read
$03 track read
$04 volume read

$0A track to read
$0B sector to read
$0C
$0D
$0E
$0F RAM pointer low
$10 RAM pointer high

$E1 retry
$E2 retry high
$E3 slot*16
$E4 current phase
$E5 command (0 write, 1 read, 2 verify)
$E6 retry low
$E7 target phase

0376 - $60 SLOT
0377 - $01 +1
0378 - $00 +2
0379 - $00 +3
037A - $00 +4 DRIVE
037B - $01 +5
037C - $01 +6 DRIVE IS ON IF <> 0
037D - $00 +7 last track drive 1
037E - $00 +8 last track drive 2
037F - $00 = JMP ($F7) / <>0 : RTS
0380 - save RAM pointer low
0381 - save RAM pointer high
0382 - header epilog marker 1
0383 - header epilog marker 2
0384 - data epilog marker 1
0385 - data epilog marker 2
0386 - index of data to read
0387 -
0388 - $00

$EF75 is the phase table

T11/S5..0 do not exist and are skipped to T10/SF...

Data marker for track 0 is D5AAAD, completely different on other tracks

Antoine
10/2012
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