Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.65 - CLIENT : 54.205.172.57

 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 

BC's Quest for tires (Sierra, 1983)

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

MessagePosté le: Mar 10 Mai 2016, 16:30    Sujet du message: BC's Quest for tires (Sierra, 1983) Répondre en citant

#865 - You are in a quest for tires. This is a pure arcade game that I like a lot. I cracked it in 2008 but I recracked it recently because I forgot I did and it was requested.

Disk structure
As usual, with Sierra titles, we have a copiable 16-sec DOS 3.3 like disk with no change of markers nor extra tracks. The disk can be copied but crashes upon reboot. We believe there is the usual nibble count on-disk protection routine.

How to copy[b/]
Use Locksmith Fast Disk Backup to copy the original disk. Then, store it in a dry and safe place.

[b]The DOS is nearly there

That's weird, we have a DOS prompt but there is no VTOC (Volume Table of Contents) on the disk. This is where the file info is saved. So, how does the game do to load files when there is no VTOC... They have slightly changed the DOS routines and used the B parameter to set the track and sector of the data to load. The other parameters A (for Address) and L (for length) determine where to load and how many sectors to load.
As the room on the DOS area is tight, they have shortened the error messages (see $A971) and they have put their new routine at $A9D3. The sectors and tracks are loaded incrementally. If we have BLOAD W,A$2000,L$2000,B$0400 then we will load track 4 and 5 entirely.

But, for the boot part, how did they do?
To understand how DOS 3.3 handles data, you need a good book. Marcel Cottini's DOS 3.3 guide du programmeur is one of those. The entire DOS 3.3 is disassembled and commented.
So, let's go...
Code:

Boot0 is the controller card at $C600, it loads...
Boot1 (from T0/S0) at $0800 which loads...
the RWTS at $B700..$BFFF which loads...
DOS 3.3 from T2/S4 to T0/SD which jumps to $9D84
At $9D84, the DOS is warm init'ed then control is given to $A180.
It takes the info of the file to load (file is S, like START I guess) but, as there are no parameters nor VTOC, the useful information is already recorded in the DOS 3.3 areas:
LAA6C    DW    $0100      ; LOGO - L FOR LENGTH
LAA6E    DW    $0000
LAA70    DW    $0205      ; LOGO - B FOR T/S
LAA72    DW    $B600      ; LOGO - A FOR ADDRESS
S is loaded at $B600 from T2/S5 and control is given to it.

S loads the other files and jumps to $19FD that jumps to $19F5 that jumps to $1700 that jumps to $97EE that jumps to $97E8 that jumps to $9600 where we find the usual protected nibble count routine (you'll get the decoded version in another message)

We now have to find the call to $9600 (20 00 96) and replace it with a 2C 00 96 (for BIT or skip the JSR)


How to crack
Launch DiskFixer from my copy disk and
T6/S7/E8:20 -> 2C
Save the sector
You're done.

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

Reboot and... enjoy,

LoGo
5/2016
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: 2749
Localisation: Le Chesnay, France

MessagePosté le: Mar 10 Mai 2016, 16:35    Sujet du message: Répondre en citant

The pseudo S file at T2/S5, loaded at $B600

Code:

-------------- DISK EDIT ---------------
TRACK $02/SECTOR $05/VOLUME $FE/BYTE $00
----------------------------------------
$00: A9 B0 8D F2 03 A9 B6 8D    )0.2.)6.
$08: F3 03 49 A5 8D F4 03 A9    3.I%.4.)
$10: 01 8D B1 AA 8D 57 AA 20    ..1*.W*
$18: D4 A7 AD 54 C0 AD 51 C0    T'-T@-Q@
$20: 20 89 B6 C2 CC CF C1 C4     .6BLOAD
$28: D8 AC C1 A4 B4 B0 B0 B0    X,A$4000
$30: AC CC A4 B2 B0 B0 B0 AC    ,L$2000,
$38: C2 A4 B0 C2 B0 30 AD 57    B$0B00-W
$40: C0 AD 52 C0 AD 50 C0 AD    @-R@-P@-
$48: 55 C0 20 89 B6 C2 CC CF    U@ .6BLO
$50: C1 C4 D9 AC C1 A4 B0 B8    ADY,A$08
$58: B0 B0 AC CC A4 B3 B8 B0    00,L$380
$60: B0 AC C2 A4 B0 B7 B0 38    0,B$0708
$68: 20 89 B6 C2 CC CF C1 C4     .6BLOAD
$70: DA AC C1 A4 B6 B0 B0 B0    Z,A$6000
$78: AC CC A4 B3 C1 B0 B0 AC    ,L$3A00,
$80: C2 A4 B0 B3 B0 30 4C FD    B$0300L=
$88: 19 68 85 3E 68 85 3F A9    .(.>(.?)
$90: 84 20 ED FD E6 3E D0 02    . -=&>P.
$98: E6 3F A0 00 B1 3E 30 F1    &? .1>01
$A0: 09 80 20 ED FD A5 3F 48    .. -=%?H
$A8: A5 3E 48 4C 8E FD 00 00    %>HL.=..
$B0: 4C B0 B6 FF FF FF FF FF    L06?????
$B8: FF FF FF FF FF FF FF FF    ????????
$C0: FF FF FF FF FF FF FF FF    ????????
$C8: FF FF FF FF FF FF FF FF    ????????
$D0: FF FF FF FF FF FF FF FF    ????????
$D8: FF FF FF FF FF FF FF FF    ????????
$E0: FF FF FF FF FF FF FF FF    ????????
$E8: FF FF FF FF FF FF FF FF    ????????
$F0: FF FF FF FF FF FF FF FF    ????????
$F8: FF FF FF FF FF FF FF FF    ????????
----------------------------------------


Now, you can understand where data is stored on the disk:
Code:

S: A$B600, L$100, B$0205
W: A$2000, L$4000, B$0D00 (code + picture for hi-score, see TD/S0)
X: A$4000, L$2000, B$0B00 (a picture)
Y: A$0800, L$3800, B$0708 (code + data)
Z: A$6000, L$3A00, B$0300 (code + data)


qkumba... wanna give a try?
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: 2749
Localisation: Le Chesnay, France

MessagePosté le: Mar 10 Mai 2016, 16:36    Sujet du message: Répondre en citant

The decyphered nibble count routine

Code:


* BC's QUEST FOR TIRES
* (c) 1983, Sierra On-Line, Inc.
*
* (k) 2008, LoGo
*

         mx    %11
         org   $9600
         lst   off

*

TXTPAGE2 EQU   $C055
RESET    EQU   $FA62
CROUT    EQU   $FD8E

*

L9600    DEC   L9603
L9603    SBC   L9603      ; Will change to INC
         LDA   L9628
         EOR   #$C9       ; 60 EOR C9 != 0
         BNE   L960E
         NOP
L960E    STA   L9628      ; Change to A9 (LDA)
         CLC
         BNE   L9615
         NOP
L9615    LDY   #$29       ; Decode routine
L9617    TYA
         BCC   L961B
         NOP
L961B    EOR   L9600,Y
         STA   L9600,Y
         INY
         BNE   L9617
         TYA
         BPL   L9628
         NOP

L9628    LDA   #$00       ; on entry: RTS
         STY   $B7F4
         STA   $B7EC
         LDA   #$B7
         LDY   #$E8
         JSR   $BD00
         LDA   $C089,X

         LDA   #$05       ; Tries
         STA   $BB00
L963F    JSR   L9690
         BPL   L9645
         NOP
L9645    INY
         CPY   #$30
         EOR   $C08C,X
         BCC   L9645
         LDA   $C08C,X
         BPL   L965C
L9652    CMP   #$C9
         BNE   L9663

         LDA   $C088,X    ; Good disk :-)
         JMP   L9600

L965C    NOP
         NOP
         LDA   $C08C,X
         BMI   L9652

L9663    DEC   $BB00      ; Next try
         BNE   L963F

* BAD DISK

         LDX   #$1F
         TXS
L966B    LDA   L9677,X
         STA   $0100,X
         DEX
         BPL   L966B
         JMP   $0100

L9677    LDA   #$1A       ; Clear RAM
L9679    STA   $0200,X
         INX
         BNE   L9679
L967F    INC   $0104
         LDY   $0104
         CPY   #$C0
         BEQ   L967F
         CPY   #$01
         BNE   L9679
         JMP   RESET      ; Reset :-(

*

L9690    LDA   #$1C       ; Tries
         STA   $BB02
         LDA   $C08E,X
L9698    LDA   $C08C,X
         BPL   L9698
L969D    CMP   #$D5
         NOP
         NOP
         BEQ   L96B2
         DEC   $BB01
         BNE   L9698
         DEC   $BB02
         BNE   L9698
         PLA
         PLA
         JMP   L9663

L96B2    LDA   $C08C,X
         BPL   L96B2
L96B7    CMP   #$AA
         BNE   L969D
         PHA
         PLA
L96BD    LDA   $C08C,X
         BPL   L96BD
         CMP   #$96
         BNE   L96B7
         LDY   #$05
         JSR   L96F5
         CMP   #$AA
         BNE   L9698
L96CF    LDA   $C08C,X
         BPL   L96CF
         CMP   #$AA
         BNE   L9698
         PHA
         PLA
L96DA    LDA   $C08C,X
         BPL   L96DA
L96DF    CMP   #$D5
         BNE   L96DA
         NOP
L96E4    LDA   $C08C,X
         BPL   L96E4
         CMP   #$AA
         BNE   L96DF
         NOP
         LDY   #$00
         JSR   L96F5
         LDY   #$5B       ; loop
L96F5    LDA   $C08C,X
         BPL   L96F5
         PHA
         PLA
         DEY
         BNE   L96F5
         RTS

*
* Check nibble count code
*

L9700    ASL   L9703
L9703    ROR   L9703      ; on entry: 37
         LDA   L9727
         EOR   L970E
         BNE   L970F
L970E    SED
L970F    STA   L9727      ; Save 98 (TYA)
         BNE   L9715
         NOP

L9715    LDY   #$E9       ; Calculate checksum
L9717    TYA
         BCC   L971B
         NOP
L971B    EOR   L963F,Y    ; $963F+$E9 = $9728
         STA   L963F,Y
         INY
         BNE   L9717
         BCC   L9727
         NOP
L9727    TYA              ; on entry: RTS
L9728    EOR   L9600,Y
         INY
         BNE   L9728

         LDY   #$AC       ; ACknowledged :-)
         STY   $1051
         CMP   #$3E       ; Original routine!
         BEQ   L9700      ; checksum is correct, exit
         LDY   #$BD       ; BaD disk :-(
         STY   $1051
         JMP   L9700      ; Exit

* OTHER CODE

         DS    $11

L9750    LDX   #$00
L9752    INX
         CPX   #$06
         BEQ   L976C
         LDA   $1BE1,X
         CMP   L9778,X
         BCC   L976C
         BEQ   L9752
         LDX   #$05
L9763    LDA   $1BE1,X
         STA   L9778,X
         DEX
         BNE   L9763
L976C    JMP   L9783

         HEX   00
L9770    HEX   0000000000000000
L9778    HEX   0000000202000000

L9780    JMP   L97A0
L9783    LDX   #$00
L9785    INX
         CPX   #$06
         BEQ   L979F
         LDA   $1BE1,X
         CMP   L9770,X
         BCC   L979F
         BEQ   L9785
         LDX   #$05
L9796    LDA   $1BE1,X
         STA   L9770,X
         DEX
         BNE   L9796
L979F    RTS

L97A0    JSR   L9750
         LDA   TXTPAGE2
         JSR   $A851
         JSR   CROUT
         JSR   $B689
         ASC   "BLOADW,A$2000,L$4000,B$0D0"
         ASC   '0'
         JSR   $2000
         NOP
         NOP
         NOP
         LDX   #$00
L97D2    LDA   $4000,X
L97D5    STA   $2000,X
         INX
         BNE   L97D2
         INC   L97D2+2
         INC   L97D5+2
         LDA   L97D5+2
         CMP   #$40
         BNE   L97D2

* ENTRY POINT

L97E8    JSR   L9600      ; check protection
         JMP   $7B68      ; check nibble count code

L97EE    JSR   L97E8      ; main entry point
         JMP   $7A03

         DS    $C

*
* Check nibble count code
*

L7B68    LDA   $BB02      ; Check tries value
         CMP   #$1D       ; It is set to $1C
L7B6D    BCS   L7B6D      ; infinite loooopp

         JSR   $9700      ; Call the routine
         LDA   $1051      ; Check AC or BD
         CMP   #$AC
L7B77    BNE   L7B77      ; infinite loooopp
         LDA   #$85       ; It is AC
         STA   $1051      ; Reset the right value!
         RTS
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: 2749
Localisation: Le Chesnay, France

MessagePosté le: Mar 10 Mai 2016, 16:36    Sujet du message: Répondre en citant

And their DOS 3.3 version, search for LOGO in the comments for the interesting changes.

Code:

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

         TYP   BIN

         ORG   $009600
         MX    %11
         HEX   56FC1958BF9958BFE44BD0F2ACA4FEB9
         HEX   00D80A990BD8AAA54B9D6FBF1860A956
         HEX   3860AABD6EBF8DECFEBD6FBF8DEDFE60
         HEX   2022FCA8F01E9E6FBF9E6EBFAEEDFEE8
         HEX   E8E8E8CA2056FC49FF3958BF9958BFEC
         HEX   EDFED0EF18608A2907A8B926FE488A4A
         HEX   4A4AA86860A54FC90290B3AEEAFEADE9
         HEX   FEE901B001CA18654E8A654FAAE0BFB0
         HEX   9DE8CA2056FC3958BFD093E44FD0F318
         HEX   60A002ADECFE9140C8ADEDFE91401860
         HEX   A00320D5FBB020ADEDFE854FADECFE85
         HEX   4E203CFCA000A203B14E914AC8D0F9E6
         HEX   4BE64FCA10F21860AD83C0AD83C0A910
         HEX   853FA900853EA9D1853D643CA000A203
         HEX   88B13C913E98D0F8E63DE63FCAD0F1AD
         HEX   8BC0AD8BC09C9BBF9CF203A9108DF303
         HEX   49A58DF4034C0010A203A5428D4AFDD0
         HEX   0AA0EC8444A0D684456446C903D002A2
         HEX   018E8DFDA5434A4A4A4AAABDEFD68D8E
         HEX   FDBD6EFD8D48FDBD7DFD8D49FDA204B5
         HEX   439D8EFDCAD0F8200000008DFDB01FAE
         HEX   4AFDD01AAEEDD6ACEED6ADECD68910D0
         HEX   04A92F800829444940F003A92B386000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000030000
         HEX   00000000D30000004041000080818265
         HEX   C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
         HEX   00D0D1D202FFFFFF0201FFFF03030004
         HEX   070102070A0201010303040401010202
         HEX   FF020202F1E21DF9DCF7A5F743F721E2
         HEX   24E17CE197EE31F7CBEF4FF249F4B8F4
         HEX   01ECEBEBCEF51FF7A0FC91FCA0A1A2A3
         HEX   8405060788494A4B2C2D4E4F50515253
         HEX   0100000200750000C3270D0000000F02
         HEX   00040000080080402010080402010C0D
         HEX   18191516171E101F2080939421222324
         HEX   18191A1B20D2C5D3D4C1D2D4A0D3D9D3
         HEX   D4C5CDADA4B0B1200000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000C8FC00
         HEX   AD18C0488D00C0A204B5429DBD03CA10
         HEX   F82DBC03D039A646A90E203303A003B9
         HEX   D20399040E8810F7A9FE8DD10398A00E
         HEX   99C20388D0FA8CC203A007B9D6039922
         HEX   0E8810F7ADBC03D0618CBC038EC1030E
         HEX   C103ADC103C9BFB00AC906D0034C8C03
         HEX   4C4203AA20E50208B04E8AC9CFB00409
         HEX   10D0068D83C08D83C08DC103ADC00348
         HEX   AEBF038D09C0A90C8DC003A9008DBF03
         HEX   20E502A8B13C9142B13E914088D0F58D
         HEX   08C08EBF03688DC00328B0098D8BC08D
         HEX   8BC020BE024CDE0320BE024C6A02A90C
         HEX   8DC10320E502B0138D04C0A8B13C9142
         HEX   B13E914088D0F58D05C060A9658DED03
         HEX   A9FF4CF603ADBD034AB01DADC0038543
         HEX   8541ADBF0385428540ADC103853D853F
         HEX   48AD30BE8536AD31BE8537AD32BE8538
         HEX   AD33BE85396860A200207A9FA539CD37
         HEX   BED0034CA39AA537CD35BEF076D05ECD
         HEX   659FD0208E3FBEBABD0301C912D02FBD
         HEX   0401C9D8D028A204207A9FAD659FAE3F
         HEX   BE4C5BB8CD4CBE8D4CBED018C98DD014
         HEX   A524D005AD18BCC93FA98DB00760AE3F
         HEX   BEAD659F20009A20EDFDC98DD00FA5F2
         HEX   C9A5F0078D41BEA9A585F2A98D48A539
         HEX   8D33BEA5388D32BEA5378D31BEA5368D
         HEX   30BE6848AD34BE8536AD35BE8537AD36
         HEX   BE8538AD37BE853968602C43BE100620
         HEX   669F4CAF9B20009A2010FDC98DD01C20
         HEX   669F9D00022085A62C53BE300BB011AC
         HEX   40BEA988A200F00320709F4C8D9AA903
         HEX   8D0FBE85DEAD42BEC90108A90F8D94BF
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
L9D00    DA    $9CD3
L9D02    DA    $9E81
L9D04    DA    $9EBD
L9D06    DA    $AA75
L9D08    DA    $AA93
L9D0A    DA    $AA60
L9D0C    DA    $9D00
L9D0E    DA    $B5BB
L9D10    DA    $9EEA
         DA    $9F11
         DA    $9F22
         DA    $9F2E
         DA    $9F51
         DA    $9F60
         DA    $9F70
L9D1E    DA    $BA75
         DA    $A412
         DA    $A396
         DA    $A4D0
         DA    $A4EF
         DA    $A262
         DA    $A270
         DA    $A274
         DA    $A2E9
         DA    $A51A
         DA    $A5C5
         DA    $A50F
         DA    $A5DC
         DA    $A2A2
         DA    $A297
         DA    $A280
         DA    $A56D
         DA    $A232
         DA    $A23C
         DA    $A228
         DA    $A22D
         DA    $A250
         DA    $A579
         DA    $A59D
         DA    $A9D6      ; LOGO - BSAVE
         DA    $A9D2      ; LOGO - BLOAD
         DA    $A38D      ; LOGO - BRUN
L9D54    DA    $A27C
L9D56    DA    $A4FC
L9D58    DA    $A4FC
L9D5A    DA    $D865
L9D5C    DA    $E000
L9D5E    DA    $D43C
L9D60    DA    $D4F2
         DA    $E836
         DA    $A4E5
         DA    $E3E3
         DA    $E000
L9D6A    DA    $E003
         DA    $A4FC
         DA    $A4FC
         DA    $D865
         DA    $E000
         DA    $D43C
L9D76    DA    $D4F2
         DA    $A506
         DA    $A506
         DA    $1067
         DA    $9D84
         DA    $0C3C
         DA    $0CF2
L9D84    LDA   LB7E9
         LSR
         LSR
         LSR
         LSR
         STA   LAA6A
         LDA   LB7EA
         STA   LAA68
         LDA   $E000
         EOR   #$20
         BNE   L9DAC
         STA   LAAB6
         LDX   #$0A
L9DA0    LDA   L9D60+1,X
         STA   L9D54+1,X
         DEX
         BNE   L9DA0
         JMP   L9DBC

L9DAC    LDA   #$40
         STA   LAAB6
         LDX   #$0C
L9DB3    LDA   L9D6A+1,X
         STA   L9D54+1,X
         DEX
         BNE   L9DB3
L9DBC    SEC
         BCS   L9DD1
L9DBF    LDA   LAAB6
         BNE   L9DC8
         LDA   #$20
         BNE   L9DCD
L9DC8    ASL
         BPL   L9DD0
         LDA   #$4C
L9DCD    JSR   LA5B2
L9DD0    CLC
L9DD1    PHP
         JSR   LA851
         LDA   #$00
         STA   LAA5E
         STA   LAA52
         PLP
         ROR
         STA   LAA51
         BMI   L9DE7
         JMP   (L9D5E)
L9DE7    JMP   (L9D5C)

L9DEA    ASL
         BPL   L9E06
         STA   LAAB6
         LDX   #$0C
L9DF2    LDA   L9D76+1,X
         STA   L9D54+1,X
         DEX
         BNE   L9DF2
         LDX   #$1D
L9DFD    LDA   LAA93,X
         STA   LAA75,X
         DEX
         BPL   L9DFD
L9E06    LDA   LAAB1
         STA   LAA57
         JSR   LA7D4
         LDA   LAAB3
         BEQ   L9E1D
         PHA
         JSR   LA69D
         PLA
         LDY   #$00
         STA   ($40),Y
L9E1D    JSR   LA75B
         LDA   LAA5F
         BNE   L9E45
         LDX   #$2F
L9E27    LDA   L9E51,X
         STA   $03D0,X
         DEX
         BPL   L9E27
         LDA   L9E51+2
         STA   SOFTEV+1
         EOR   #$A5
         STA   PWREDUP
         LDA   L9E51+1
         STA   SOFTEV
L9E41    LDA   #$34       ; BRUN CMD
         BNE   L9E4A
L9E45    LDA   LAA62
         BEQ   L9E50
L9E4A    STA   LAA5F
         JMP   LA180      ; LOGO - EXECUTE BOOT PGM
L9E50    RTS
L9E51    JMP   L9DBF
         JMP   L9D84
         JMP   LAAFD
         JMP   LB7B5

         LDA   L9D0E+1
         LDY   L9D0E
         RTS

         LDA   LAAC1+1
         LDY   LAAC1
         RTS
         JMP   LA851

         NOP
         NOP
         JMP   OLDBRK
         JMP   MON
         JMP   IORTS
         JMP   MON
         JMP   MON

         ADC   $FF
         JSR   L9ED1
         LDA   LAA51
         BEQ   L9E9E
         PHA
         LDA   LAA59+3
         STA   ($28),Y
         PLA
         BMI   L9E95
         JMP   LA626

L9E95    JSR   L9DEA
         LDY   $24
         LDA   #$60
         STA   ($28),Y
L9E9E    LDA   LAAB3
         BEQ   L9EA6
         JSR   LA682
L9EA6    LDA   #$03
         STA   LAA52
         JSR   L9FBA
         JSR   L9EBA
         STA   LAA59+3
         STX   LAA59+1
         JMP   L9FB3
L9EBA    JMP   ($0038)

         JSR   L9ED1
         LDA   LAA52
         ASL
         TAX
         LDA   L9D10+1,X
         PHA
         LDA   L9D10,X
         PHA
         LDA   LAA59+3
         RTS

L9ED1    STA   LAA59+3
         STX   LAA59+1
         STY   LAA59+2
         TSX
         INX
         INX
         STX   LAA59
         LDX   #$03
L9EE2    LDA   LAA53,X
         STA   $36,X
         DEX
         BPL   L9EE2
         RTS

L9EEB    LDX   LAAB7
         BEQ   L9EF3
         JMP   L9F78

L9EF3    LDX   LAA51
         BEQ   L9F00
         CMP   #$BF
         BEQ   L9F71
         CMP   $33
         BEQ   L9F27
L9F00    LDX   #$02
         STX   LAA52
         CMP   LAAB2
         BNE   L9F23
         DEX
         STX   LAA52
         DEX
         STX   LAA5D
         LDX   LAA5D
L9F15    STA   $0200,X
         INX
         STX   LAA5D
         CMP   #$8D
         BNE   L9F95
         JMP   L9FCD

L9F23    CMP   #$8D
         BNE   L9FA4
L9F27    LDX   #$00
         STX   LAA52
         JMP   L9FA4

         LDX   #$00
         STX   LAA52
         CMP   #$8D
         BEQ   L9F3F
L9F38    LDA   LAAB3
         BEQ   L9FA4
         BNE   L9F9D
L9F3F    PHA
         SEC
         LDA   LAAB3
         BNE   L9F49
         JSR   LA65E
L9F49    PLA
         BCC   L9F38
         LDX   LAA59+1
         JMP   L9F15

L9F52    CMP   #$8D
         BNE   L9F5B
         LDA   #$05
         STA   LAA52
L9F5B    JSR   LA60E
         JMP   L9F99

         CMP   LAAB2
         BEQ   L9EEB
         CMP   #$8A
         BEQ   L9F5B
         LDX   #$04
         STX   LAA52
         BNE   L9F52
L9F71    LDA   #$00
         STA   LAA52
         BEQ   L9F9D
L9F78    LDA   #$00
         STA   LAAB7
         JSR   LA851
         JMP   LA4DC

L9F83    LDA   $0200
         CMP   LAAB2
         BEQ   L9F95
         LDA   #$8D
         STA   $0200
         LDX   #$00
         STX   LAA59+1
L9F95    LDA   #$40
         BNE   L9F9F
L9F99    LDA   #$10
         BNE   L9F9F
L9F9D    LDA   #$20
L9F9F    AND   LAA5E
         BEQ   L9FB3
L9FA4    JSR   L9FBA
         JSR   L9FC5
         STA   LAA59+3
         STY   LAA59+2
         STX   LAA59+1
L9FB3    JSR   LA851
         LDX   LAA59
         TXS
L9FBA    LDA   LAA59+3
         LDY   LAA59+2
         LDX   LAA59+1
         SEC
         RTS
L9FC5    JMP   ($0036)

L9FC8    LDA   #$8D
         JMP   L9FC5

L9FCD    LDY   #$FF
         STY   LAA5F
         INY
         STY   LAA62
L9FD6    INC   LAA5F
         LDX   #$00
         PHP
         LDA   $0200,X
         CMP   LAAB2
         BNE   L9FE5
         INX
L9FE5    STX   LAA5D
L9FE8    JSR   LA1A4
         AND   #$7F
         EOR   LA884,Y
         INY
         ASL
         BEQ   L9FF6
         PLA
         PHP
L9FF6    BCC   L9FE8
         PLP
         BEQ   LA01B
         LDA   LA884,Y
         BNE   L9FD6
LA000    LDA   $0200
         CMP   LAAB2
         BEQ   LA00B
         JMP   L9FA4

LA00B    LDA   $0201
         CMP   #$8D
         BNE   LA018
         JSR   LA75B
         JMP   L9F95
LA018    JMP   LA6C4

LA01B    ASL   LAA5F
         LDY   LAA5F
         JSR   LA65E
         BCC   LA032
         LDA   #$02
         AND   LA909,Y
         BEQ   LA032
         LDA   #$0F
         JMP   LA6D2

LA032    CPY   #$06
         BNE   LA038
         STY   $33
LA038    LDA   #$20
         AND   LA909,Y
         BEQ   LA0A0
         JSR   LA095
         PHP
LA043    JSR   LA1A4
         BEQ   LA066
         ASL
         BCC   LA050
         BMI   LA050
         JMP   LA000

LA050    ROR
         JMP   LA059

LA054    JSR   LA193
         BEQ   LA066
LA059    STA   LAA75,Y
         INY
         CPY   #$3C
         BCC   LA054
LA061    JSR   LA193
         BNE   LA061
LA066    PLP
         BNE   LA078
         LDY   LAA5F
         LDA   #$10
         AND   LA909,Y
         BEQ   LA07F
         LDY   #$1E
         PHP
         BNE   LA043
LA078    LDA   LAA93
         CMP   #$A0
         BEQ   LA092
LA07F    LDA   LAA75
         CMP   #$A0
         BNE   LA0D1
         LDY   LAA5F
         LDA   #$C0
         AND   LA909,Y
         BEQ   LA092
         BPL   LA0D1
LA092    JMP   LA000

LA095    LDY   #$3C
LA097    LDA   #$A0
LA099    STA   LAA74,Y
         DEY
         BNE   LA099
         RTS

LA0A0    STA   LAA75
         LDA   #$0C
         AND   LA909,Y
         BEQ   LA0D1
         JSR   LA1B9
         BCS   LA0CE
         TAY
         BNE   LA0C9
         CPX   #$11
         BCS   LA0C9
         LDY   LAA5F
         LDA   #$08
         AND   LA909,Y
         BEQ   LA0C6
         CPX   #$08
         BCS   LA092
         BCC   LA0D1
LA0C6    TXA
         BNE   LA0D1
LA0C9    LDA   #$02
         JMP   LA6D2
LA0CE    JMP   LA6C4

LA0D1    LDA   #$00
         STA   LAA65
         STA   LAA74
         STA   LAA66
         STA   LAA6C
         STA   LAA6C+1
         JSR   LBFDC
         LDA   LAA5D
LA0E8    JSR   LA1A4
         BNE   LA10C
         CMP   #$8D
         BNE   LA0E8
         LDX   LAA5F
         LDA   LAA65
         ORA   LA909+1,X
         EOR   LA909+1,X
         BNE   LA092
         LDX   LAA63
         BEQ   LA17A
         STA   LAA63
         STX   LAA5D
         BNE   LA0E8
LA10C    LDX   #$0A
LA10E    CMP   LA93F+1,X
         BEQ   LA118
         DEX
         BNE   LA10E
LA116    BEQ   LA0CE
LA118    LDA   LA941+9,X
         BMI   LA164
         ORA   LAA65
         STA   LAA65
         DEX
         STX   LAA64
         JSR   LA1B9
         BCS   LA0CE
         LDA   LAA64
         ASL
         ASL
         TAY
         LDA   $45
         BNE   LA13F
         LDA   $44
         CMP   LA955,Y
         BCC   LA0C9
         LDA   $45
LA13F    CMP   LA957+1,Y
         BCC   LA14F
LA144    BNE   LA0C9
         LDA   $44
         CMP   LA957,Y
         BCC   LA14F
         BNE   LA144
LA14F    LDA   LAA63
         BNE   LA0E8
         TYA
         LSR
         TAY
         LDA   $45
         STA   LAA66+1,Y
         LDA   $44
         STA   LAA66,Y
LA161    JMP   LA0E8

LA164    PHA
         LDA   #$80
         ORA   LAA65
         STA   LAA65
         PLA
         AND   #$7F
         ORA   LAA74
         STA   LAA74
         BNE   LA161
         BEQ   LA116
LA17A    JSR   LA180
         JMP   L9F83

LA180    JSR   LA75B      ; DOCMD
         JSR   LA1AE
         LDA   LAA5F
LA189    TAX
         LDA   L9D1E+1,X
         PHA
         LDA   L9D1E,X
         PHA              ; BRUN S
         RTS

LA193    LDX   LAA5D
         LDA   $0200,X
         CMP   #$8D
         BEQ   LA1A3
         INX
         STX   LAA5D
         CMP   #$AC
LA1A3    RTS

LA1A4    JSR   LA193
         BEQ   LA1A3
         CMP   #$A0
         BEQ   LA1A4
         RTS

LA1AE    LDA   #$00
         LDY   #$16
LA1B2    STA   LB5BA,Y
         DEY
         BNE   LA1B2
         RTS

LA1B9    LDA   #$00
         STA   $44
         STA   $45
         JSR   LA1A4
         PHP
         CMP   #$A4
         BEQ   LA203
         PLP
         JMP   LA1CE

LA1CB    JSR   LA1A4
LA1CE    BNE   LA1D6
         LDX   $44
         LDA   $45
         CLC
         RTS

LA1D6    SEC
         SBC   #$B0
         BMI   LA1FC
         CMP   #$0A
         BCS   LA1FC
         JSR   LA1FE
         ADC   $44
         TAX
         LDA   #$00
         ADC   $45
         TAY
         JSR   LA1FE
         JSR   LA1FE
         TXA
         ADC   $44
         STA   $44
         TYA
         ADC   $45
         STA   $45
         BCC   LA1CB
LA1FC    SEC
         RTS

LA1FE    ASL   $44
         ROL   $45
         RTS

LA203    PLP
LA204    JSR   LA1A4
         BEQ   LA1CE
         SEC
         SBC   #$B0
         BMI   LA1FC
         CMP   #$0A
         BCC   LA21A
         SBC   #$07
         BMI   LA1FC
         CMP   #$10
         BCS   LA1FC
LA21A    LDX   #$04
LA21C    JSR   LA1FE
         DEX
         BNE   LA21C
         ORA   $44
         STA   $44
         JMP   LA204

         LDA   $44
         JMP   OUTPORT

         LDA   $44
         JMP   INPORT

         LDA   LAA5E
         ORA   LAA74
         STA   LAA5E
         RTS

         BIT   LAA74
         BVC   LA245
         JSR   L9FC8
LA245    LDA   #$70
         EOR   LAA74
         AND   LAA5E
         STA   LAA5E
         RTS

         LDA   #$00
         STA   LAAB3
         LDA   $44
         PHA
         JSR   LA316
         PLA
         STA   LAA57
         JMP   LA7D4

         LDA   #$05
         JSR   LA2AA
         JSR   LA764
         LDY   #$00
         TYA
         STA   ($40),Y
         RTS

         LDA   #$07
         BNE   LA277
         LDA   #$08
LA277    JSR   LA2AA
         JMP   LA2EA

LA27D    LDA   #$0C
         BNE   LA277
         LDA   L9D08
         STA   LB5BD
         LDA   L9D08+1
         STA   LB5BE
         LDA   #$09
         STA   LAA63
         JSR   LA2C8
         JMP   LA2EA

         JSR   LA2A3
LA29B    JSR   LA68C
         BNE   LA29B
         JMP   LB671

LA2A3    LDA   #$00
         JMP   LA3D5

LA2A8    LDA   #$01
LA2AA    STA   LAA63
         LDA   LAA6C
         BNE   LA2BC
         LDA   LAA6C+1
         BNE   LA2BC
         LDA   #$01
         STA   LAA6C
LA2BC    LDA   LAA6C
         STA   LB5BD
         LDA   LAA6C+1
         STA   LB5BE
LA2C8    JSR   LA2EA
         LDA   $45
         BNE   LA2D2
         JMP   LA6C8

LA2D2    STA   $41
         LDA   $44
         STA   $40
         JSR   LA743
         JSR   LA74E
         JSR   LA71A
         LDA   LAA63
         STA   LB5BB
         JMP   LA6A8

LA2EA    LDA   LAA75
         CMP   #$A0
         BEQ   LA316
         JSR   LA764
         BCS   LA330
         JSR   LA2FC
         JMP   LA2EA

LA2FC    JSR   LA7AF
         BNE   LA306
         LDA   #$00
         STA   LAAB3
LA306    LDY   #$00
         TYA
         STA   ($40),Y
         JSR   LA74E
         LDA   #$02
         STA   LB5BB
         JMP   LA6A8

LA316    JSR   LA792
         BNE   LA320
LA31B    JSR   LA79A
         BEQ   LA330
LA320    JSR   LA7AF
         BEQ   LA31B
         JSR   LA7AA
         BEQ   LA31B
         JSR   LA2FC
         JMP   LA316
LA330    RTS

LA331    LDA   #$09
         AND   LAA65
         CMP   #$09
         BEQ   LA33D
         JMP   LA000

LA33D    LDA   #$04
         JSR   LA3D5
         LDA   LAA72+1
         LDY   LAA72
         JSR   LA3E0
         LDA   LAA6C+1
         LDY   LAA6C
         JSR   LA3E0
         LDA   LAA72+1
         LDY   LAA72
         JMP   LA3FF

LA35D    JSR   LA2A8
         LDA   #$7F
         AND   LB5C2
         CMP   #$04
         BEQ   LA36C
         JMP   LA6D0

LA36C    LDA   #$04
         JSR   LA3D5
         JSR   LA47A
         TAX
         LDA   LAA65
         AND   #$01
         BNE   LA382
         STX   LAA72
         STY   LAA72+1
LA382    JSR   LA47A
         LDX   LAA72
         LDY   LAA72+1
         JMP   LA471

         JSR   LA9D3
         JSR   LA851
         JMP   LBA69

         LDA   LAAB6
         BEQ   LA3BC
         LDA   $D6
         BPL   LA3A3
         JMP   LA6CC

LA3A3    LDA   #$02
         JSR   LA3D5
         SEC
         LDA   $AF
         SBC   $67
         TAY
         LDA   $B0
         SBC   $68
         JSR   LA3E0
         LDA   $68
         LDY   $67
         JMP   LA3FF

LA3BC    LDA   #$01
         JSR   LA3D5
         SEC
         LDA   $4C
         SBC   $CA
         TAY
         LDA   $4D
         SBC   $CB
         JSR   LA3E0
         LDA   $CB
         LDY   $CA
         JMP   LA3FF

LA3D5    STA   LB5C2
         PHA
         JSR   LA2A8
         PLA
         JMP   LA7C4

LA3E0    STY   LB5C1
         STY   LB5C3
         STA   LB5C2
         LDA   #$04
         STA   LB5BB
         LDA   #$01
         STA   LB5BC
         JSR   LA6A8
         LDA   LB5C2
         STA   LB5C3
         JMP   LA6A8

LA3FF    STY   LB5C3
         STA   LB5C4
         LDA   #$02
         JMP   LB686

LA40A    JSR   LA6A8
         JMP   LA2EA
LA410    JMP   LA6D0

LA413    JSR   LA316
LA416    JSR   LA2A8
         LDA   #$23
         AND   LB5C2
         BEQ   LA410
         STA   LB5C2
         LDA   LAAB6
         BEQ   LA450
         LDA   #$02
         JSR   LA4B1
         JSR   LA47A
         CLC
         ADC   $67
         TAX
         TYA
         ADC   $68
         CMP   $74
         BCS   LA4AB
         STA   $B0
         STA   $6A
         STX   $AF
         STX   $69
         LDX   $67
         LDY   $68
         JSR   LA471
         JSR   LA851
         JMP   (L9D60)

LA450    LDA   #$01
         JSR   LA4B1
         JSR   LA47A
         SEC
         LDA   $4C
         SBC   LAA60
         TAX
         LDA   $4D
         SBC   LAA60+1
         BCC   LA4AB
         TAY
         CPY   $4B
         BCC   LA4AB
         BEQ   LA4AB
         STY   $CB
         STX   $CA
LA471    STX   LB5C3
         STY   LB5C4
         JMP   LA40A

LA47A    LDA   L9D0A
         STA   LB5C3
         LDA   L9D0A+1
         STA   LB5C4
         LDA   #$00
         STA   LB5C2
         LDA   #$02
         STA   LB5C1
         LDA   #$03
         STA   LB5BB
         LDA   #$02
         STA   LB5BC
         JSR   LA6A8
         LDA   LAA60+1
         STA   LB5C2
         TAY
         LDA   LAA60
         STA   LB5C1
         RTS

LA4AB    JSR   LA2EA
         JMP   LA6CC

LA4B1    CMP   LB5C2
         BEQ   LA4D0
         LDX   LAA5F
         STX   LAA62
         LSR
         BEQ   LA4C2
         JMP   LA59E

LA4C2    LDX   #$1D
LA4C4    LDA   LAA75,X
         STA   LAA93,X
         DEX
         BPL   LA4C4
         JMP   LA57A
LA4D0    RTS

LA4D1    LDA   LAAB6
         BEQ   LA4D9
         STA   LAAB7
LA4D9    JSR   LA413
LA4DC    JSR   L9FC8
         JSR   LA851
         JMP   (L9D58)

         LDA   $4A
         STA   $CC
         LDA   $4B
         STA   $CD
         JMP   (L9D56)

         JSR   LA416
         JSR   L9FC8
         JSR   LA851
         JMP   (L9D56)

         JSR   $D665
         STA   $33
         STA   $D8
         JMP   $D7D2

         JSR   $0E65
         STA   $33
         STA   $D8
         JMP   $0FD4

         JSR   LA526
         LDA   #$05
         STA   LAA52
         JMP   L9F83

         JSR   LA526
         LDA   #$01
         STA   LAA51
         JMP   L9F83

LA526    JSR   LA764
         BCC   LA531
         JSR   LA2A3
         JMP   LA534

LA531    JSR   LA74E
LA534    LDA   LAA65
         AND   #$06
         BEQ   LA54E
         LDX   #$03
LA53D    LDA   LAA6E,X
         STA   LB5BD,X
         DEX
         BPL   LA53D
LA546    LDA   #$0A
         STA   LB5BB
         JSR   LA6A8
LA54E    RTS

LA54F    PHA
         TYA
         AND   #$40
         BEQ   LA55A
         LDA   LAA66
         BNE   LA55F
LA55A    LDA   #$FE
         STA   LAA66
LA55F    LDA   L9D0C+1
         STA   LB5BC
         LDA   #$0B
         JSR   LA2AA
         PLA
         JMP   LA189

         LDA   #$06
         JSR   LA2AA
         LDA   LB5BF
         STA   LAA66
         RTS

LA57A    LDA   #$4C
         JSR   LA5B2
         BEQ   LA5AF
         LDA   #$00
         STA   LAAB6
         LDY   #$1E
         JSR   LA097
         LDX   #$09
LA58D    LDA   LAAB7,X
         STA   LAA74,X
         DEX
         BNE   LA58D
         LDA   #$C0
         STA   LAA51
         JMP   LA4D1

LA59E    LDA   #$20
         JSR   LA5B2
         BEQ   LA5AA
         LDA   #$01
         JMP   LA6D2

LA5AA    LDA   #$00
         STA   LAAB7
LA5AF    JMP   L9D84

LA5B2    CMP   $E000
         BEQ   LA5C5
         STA   RDBANK2
         CMP   $E000
         BEQ   LA5C5
         STA   ROMIN2
         CMP   $E000
LA5C5    RTS

         JSR   LA2A3
         LDA   LAA4F
         STA   LAAB4
         LDA   LAA4F+1
         STA   LAAB4+1
         LDA   LAA75
         STA   LAAB3
         BNE   LA5EB
         JSR   LA764
         BCC   LA5E8
         JSR   LA2A3
         JMP   LA5EB

LA5E8    JSR   LA74E
LA5EB    LDA   LAA65
         AND   #$04
         BEQ   LA60D
LA5F2    LDA   LAA6E
         BNE   LA5FF
         LDX   LAA6E+1
         BEQ   LA60D
         DEC   LAA6E+1
LA5FF    DEC   LAA6E
LA602    JSR   LA68C
         BEQ   LA63F
         CMP   #$8D
         BNE   LA602
         BEQ   LA5F2
LA60D    RTS

LA60E    JSR   LA65E
         BCS   LA679
         LDA   LAA59+3
         STA   LB5C3
         LDA   #$04
         STA   LB5BB
         LDA   #$01
         STA   LB5BC
         JMP   LA6A8

LA626    JSR   LA65E
         BCS   LA679
         LDA   #$06
LA62D    STA   LAA52
         JSR   LA68C
         BNE   LA644
         JSR   LA2FC
         LDA   #$03
         CMP   LAA52
         BEQ   LA60D
LA63F    LDA   #$05
         JMP   LA6D2

LA644    CMP   #$E0
         BCC   LA64A
         AND   #$7F
LA64A    STA   LAA59+3
         LDX   LAA59+1
         BEQ   LA65B
         DEX
         LDA   $0200,X
         ORA   #$80
         STA   $0200,X
LA65B    JMP   L9FB3

LA65E    PHA
         LDA   LAAB6
         BEQ   LA672
         LDX   $76
         INX
         BEQ   LA676
         LDX   $33
         CPX   #$DD
         BEQ   LA676
LA66F    PLA
         CLC
         RTS

LA672    LDA   $D9
         BMI   LA66F
LA676    PLA
         SEC
         RTS

LA679    JSR   LA2FC
         JSR   LA75B
         JMP   L9FB3

LA682    JSR   LA69D
         JSR   LA74E
         LDA   #$03
         BNE   LA62D
LA68C    LDA   #$03
         STA   LB5BB
         LDA   #$01
         STA   LB5BC
         JSR   LA6A8
         LDA   LB5C3
         RTS

LA69D    LDA   LAAB4+1
         STA   $41
         LDA   LAAB4
         STA   $40
         RTS

LA6A8    JSR   LAB06
         BCC   LA6C3
         LDA   LB5C5
         CMP   #$05
         BEQ   LA6B7
         JMP   LB65E
LA6B7    JMP   LB692

         NOP
         NOP
LA6BC    NOP
         NOP
         LDX   #$00
         STX   LB5C3
LA6C3    RTS

LA6C4    LDA   #$0B
         BNE   LA6D2
LA6C8    LDA   #$0C
         BNE   LA6D2
LA6CC    LDA   #$0E
         BNE   LA6D2
LA6D0    LDA   #$0D
LA6D2    STA   LAA59+3
         JSR   LBFE6
         LDA   LAAB6
         BEQ   LA6E1
         LDA   $D8
         BMI   LA6EF
LA6E1    LDX   #$00
         JSR   LA702
         LDX   LAA59+3
         JSR   LA702
         JSR   L9FC8
LA6EF    JSR   LA851
         JSR   LA65E
         LDX   LAA59+3
         LDA   #$03
         BCS   LA6FF
         JMP   (L9D5A)
LA6FF    JMP   (L9D5E)

LA702    LDA   LAA3F,X
         TAX
LA706    STX   LAA63
         LDA   LA971,X
         PHA
         ORA   #$80
         JSR   L9FC5
         LDX   LAA63
         INX
         PLA
         BPL   LA706
         RTS

LA71A    LDA   LAA66
         STA   LB5BF
         LDA   LAA68
         STA   LB5C0
         LDA   LAA6A
         STA   LB5C1
         LDA   L9D06
         STA   LB5C3
         LDA   L9D06+1
         STA   LB5C4
         LDA   $40
         STA   LAA4F
         LDA   $41
         STA   LAA4F+1
         RTS

LA743    LDY   #$1D
LA745    LDA   LAA75,Y
         STA   ($40),Y
         DEY
         BPL   LA745
         RTS

LA74E    LDY   #$1E
LA750    LDA   ($40),Y
         STA   LB5A9,Y
         INY
         CPY   #$26
         BNE   LA750
         RTS

LA75B    LDY   #$00
         STY   LAA51
         STY   LAA52
         RTS

LA764    LDA   #$00
         STA   $45
         JSR   LA792
         JMP   LA773

LA76E    JSR   LA79A
         BEQ   LA790
LA773    JSR   LA7AA
         BNE   LA782
         LDA   $40
         STA   $44
         LDA   $41
         STA   $45
         BNE   LA76E
LA782    LDY   #$1D
LA784    LDA   ($40),Y
         CMP   LAA75,Y
         BNE   LA76E
         DEY
         BPL   LA784
         CLC
         RTS

LA790    SEC
         RTS

LA792    LDA   L9D00
         LDX   L9D00+1
         BNE   LA7A4
LA79A    LDY   #$25
         LDA   ($40),Y
         BEQ   LA7A9
         TAX
         DEY
         LDA   ($40),Y
LA7A4    STX   $41
         STA   $40
         TXA
LA7A9    RTS

LA7AA    LDY   #$00
         LDA   ($40),Y
         RTS

LA7AF    LDA   LAAB3
         BEQ   LA7C2
         LDA   LAAB4
         CMP   $40
         BNE   LA7C3
         LDA   LAAB4+1
         CMP   $41
         BEQ   LA7C3
LA7C2    DEX
LA7C3    RTS

LA7C4    EOR   LB5C2
         BEQ   LA7D3
         AND   #$7F
         BEQ   LA7D3
         JSR   LA2EA
         JMP   LA6D0
LA7D3    RTS

LA7D4    SEC
         LDA   L9D00
         STA   $40
         LDA   L9D00+1
         STA   $41
         LDA   LAA57
         STA   LAA63
LA7E5    LDY   #$00
         TYA
         STA   ($40),Y
         LDY   #$1E
         SEC
         LDA   $40
         SBC   #$2D
         STA   ($40),Y
         PHA
         LDA   $41
         SBC   #$00
         INY
         STA   ($40),Y
         TAX
         DEX
         PLA
         PHA
         INY
         STA   ($40),Y
         TXA
         INY
         STA   ($40),Y
         TAX
         DEX
         PLA
         PHA
         INY
         STA   ($40),Y
         INY
         TXA
         STA   ($40),Y
         DEC   LAA63
         BEQ   LA82D
         TAX
         PLA
         SEC
         SBC   #$26
         INY
         STA   ($40),Y
         PHA
         TXA
         SBC   #$00
         INY
         STA   ($40),Y
         STA   $41
         PLA
         STA   $40
         JMP   LA7E5

LA82D    PHA
         LDA   #$00
         INY
         STA   ($40),Y
         INY
         STA   ($40),Y
         LDA   LAAB6
         BEQ   LA846
         PLA
         STA   $74
         STA   $70
         PLA
         STA   $73
         STA   $6F
         RTS

LA846    PLA
         STA   $4D
         STA   $CB
         PLA
         STA   $4C
         STA   $CA
         RTS

LA851    LDA   $39
         CMP   L9D02+1
         BEQ   LA86A
         STA   LAA55+1
         LDA   $38
         STA   LAA55
         LDA   L9D02
         STA   $38
         LDA   L9D02+1
         STA   $39
LA86A    LDA   $37
         CMP   L9D04+1
         BEQ   LA883
         STA   LAA53+1
         LDA   $36
         STA   LAA53
         LDA   L9D04
         STA   $36
         LDA   L9D04+1
         STA   $37
LA883    RTS

LA884    DCI   'INIT'
         DCI   'LOAD'
         DCI   'SAVE'
         DCI   'RUN'
         DCI   'CHAIN'
         DCI   'DELETE'
         DCI   'LOCK'
         DCI   'UNLOCK'
         DCI   'CLOSE'
         DCI   'READ'
         DCI   'EXEC'
         DCI   'WRITE'
         DCI   'POSITION'
         DCI   'OPEN'
         DCI   'APPEND'
         DCI   'RENAME'
         DCI   'CATALOG'
         DCI   'MON'
         DCI   'NOMON'
         DCI   'PR#'
         DCI   'IN#'
         DCI   'MAXFILES'
         DCI   'FP'
         DCI   'INT'
         DCI   'BSAVE'
         DCI   'BLOAD'
         DCI   'BRUN'
         DCI   'VERIFY'
         DB    $00
LA909    DW    $7F21
         DW    $70A0
         DW    $70A1
         DW    $70A0
         DW    $7020
         DW    $7020
         DW    $7020
         DW    $7020
         DW    $0060
         DW    $0622
         DW    $7420
         DW    $0622
         DW    $0422
         DW    $7823
         DW    $7022
         DW    $7030
         DW    $7040
         DW    $8040
         DW    $8040
         DW    $0008
         DW    $0008
         DW    $0004
         DW    $7040
         DW    $0040
         DW    $7B21      ; BSAVE
         DW    $7B20      ; BLOAD
         DW    $7F20      ; BRUN
LA93F    DW    $7020
LA941    ASC   "VDSLRBACIO"
         HEX   40201008040201C0A090
LA955    DW    $0000
LA957    DW    $00FE
         DW    $0001
         DW    $0002
         DW    $0001
         DW    $0007
         DW    $0001
         DW    $FFFF
         DW    $0000
         DW    $FFFF
         DW    $0000
         DW    $230F
         DW    $0000
         DW    $FFFF
LA971    DCI   0D078D
         DCI   'LANG N/A'
         DCI   'RANGE?'
         DCI   'W-PROT'
         DCI   'END-OF-DATA'
         DCI   'FILE?'
         DCI   'VOL?'
         DCI   'I/O ERR'
         DCI   'FULL'
         DCI   'LOCKED'
         DCI   'SYNTAX?'
         DCI   'BUF N/A'
         DCI   'TYPE?'
         DCI   'SIZE?'
         DCI   'NOT DIRECT CMD'
   
*
* THE MAGIC IS HERE
*

LA9D3    LDY   #$01       ; BLOAD
         BNE   LA9D9
         LDY   #$02       ; BSAVE
LA9D9    LDA   LAA65      ; VALID PARM?
         TAX
         AND   #$0B
         CMP   #$0B
         BEQ   LA9EC
LA9E3    DEY
         BNE   LA9E9
         JMP   LA35D
LA9E9    JMP   LA331

LA9EC    STY   LB7F4      ; COMMAND
         LDY   LAA66      ; VOLUME
         STY   LB7EB
         TXA
         ROL
         ROL
         BPL   LAA00
         LDY   LAA68      ; DRIVE
         STY   LB7EA
LAA00    ROL
         BPL   LAA0C
         LDA   LAA6A      ; SLOT
         JSR   LABF8
         STX   LB7E9
LAA0C    LDA   LAA72      ; ADDRESS
         STA   LB7F0
         LDY   LAA6C+1    ; LENGTH+1
         STY   LB7E1
         DEY
         TYA
         CLC
         ADC   LAA72+1    ; ADDRESS+1
         STA   LB7F0+1
         TYA
         CLC
         ADC   LAA70      ; BYTE
         TAX
         AND   #$0F
         STA   LB7ED      ; = SECTOR
         JSR   LBE8E
         CLC
         ADC   LAA70+1    ; BYTE+1
         STA   LB7EC      ; = TRACK
         JSR   LB793      ; READ T/S
         LDY   LB7F4
         BCS   LA9E3
         RTS

LAA3F    HEX   00030B0B111722272B32363C434A4F54
LAA4F    DA    $9A80
LAA51    DB    $00
LAA52    DB    $00
LAA53    DA    $FDF0
LAA55    DA    $FD1B
LAA57    DW    $0302
LAA59    HEX   F41B288D
LAA5D    DB    $1B
LAA5E    DB    $00
LAA5F    DB    $00        ; LOGO - LAST CMD INDEX
LAA60    DW    $0018
LAA62    DB    $00
LAA63    DB    $0B
LAA64    DB    $05
LAA65    DB    $0B
LAA66    DW    $00FE
LAA68    DW    $0001
LAA6A    DW    $0006
LAA6C    DW    $0100      ; LOGO - L FOR LENGTH
LAA6E    DW    $0000
LAA70    DW    $0205      ; LOGO - B FOR T/S
LAA72    DW    $B600      ; LOGO - A FOR ADDRESS
LAA74    DB    $00
LAA75    ASC   "S                             "
LAA93    ASC   "                              "
LAAB1    DB    $01
LAAB2    DB    $84
LAAB3    DB    $00
LAAB4    DA    $0000
LAAB6    DB    $40
LAAB7    DB    $00
         ASC   "APPLESOFT"
LAAC1    DA    $B7E8
LAAC3    DA    $B3BB
LAAC5    DA    $B4BB
         DA    $C000
LAAC9    DA    $B37E
         DA    $AB21
         DA    $AC05
         DA    $AC57
         DA    $AC6F
         DA    $AD2A
         DA    $AD97
         DA    $ACEE
         DA    $ACF5
         DA    $AC39
         DA    $AD11
         DA    $AE8D
         DA    $AD17
         DA    $B37E
LAAE5    DA    $B37E
         DA    $AC89
         DA    $AC95
         DA    $AC86
         DA    $AC92
         DA    $B37E
LAAF1    DA    $B37E
         DA    $ACBD
         DA    $ACC9
         DA    $ACBA
         DA    $ACC6
         DA    $B37E
LAAFD    CPX   #$00
         BEQ   LAB03
         LDX   #$02
LAB03    STX   LAA5F
LAB06    TSX
         STX   LB39B
         JSR   LAE6A
         LDA   LB5BB
         CMP   #$0D
         BCS   LAB1F
         ASL
         TAX
         LDA   LAAC9+1,X
         PHA
         LDA   LAAC9,X
         PHA
         RTS
LAB1F    JMP   LB363

         JSR   LAB28
         JMP   LB37F

LAB28    JSR   LABDC
         LDA   #$01
         STA   LB5E3
         LDX   LB5BE
         LDA   LB5BD
         BNE   LAB3D
         CPX   #$00
         BNE   LAB3D
         INX
LAB3D    STA   LB5E8
         STX   LB5E9
         JSR   LB1C9
         BCC   LABA6
         STX   LB39C
         LDX   LAA5F
         LDA   LA909,X
         LDX   LB39C
         LSR
         BCS   LAB64
         LDA   LAA51
         CMP   #$C0
         BNE   LAB61
         JMP   LB35F
LAB61    JMP   LB373

LAB64    LDA   #$00
         STA   LB4E8,X
         LDA   #$01
         STA   LB4E7,X
         STX   LB39C
         JSR   LB244
         LDX   LB39C
         STA   LB4C7,X
         STA   LB5D2
         STA   LB5D4
         LDA   LB5F1
         STA   LB4C6,X
         STA   LB5D1
         STA   LB5D3
         LDA   LB5C2
         STA   LB4C8,X
         JSR   LB037
         JSR   LAF0C
         JSR   LB7D6
         JSR   LAF3A
         LDX   LB39C
         LDA   #$06
         STA   LB5C5
LABA6    LDA   LB4C6,X
         STA   LB5D1
         LDA   LB4C7,X
         STA   LB5D2
         LDA   LB4C8,X
         STA   LB5C2
         STA   LB5F6
         LDA   LB4E7,X
         STA   LB5EE
         LDA   LB4E8,X
         STA   LB5EF
         STX   LB5D9
         LDA   #$FF
         STA   LB5E0
         STA   LB5E1
         LDA   LB3E2
         STA   LB5DA
         CLC
         JMP   LAF5E

LABDC    LDA   #$00
         TAX
LABDF    STA   LB5D1,X
         INX
         CPX   #$2D
         BNE   LABDF
         LDA   LB5BF
         EOR   #$FF
         STA   LB5F9
         LDA   LB5C0
         STA   LB5F8
         LDA   LB5C1
LABF8    ASL
         ASL
         ASL
         ASL
         TAX
         STX   LB5F7
         LDA   #$11
         STA   LB5FA
         RTS

         JSR   LAF1D
         JSR   LAF34
         JSR   LB2C3
         LDA   #$02
         AND   LB5D5
         BEQ   LAC37
         JSR   LAFF7
         LDA   #$00
         CLC
LAC1C    JSR   LB011
         SEC
         DEC   LB5D8
         BNE   LAC1C
         LDX   LB5D9
         LDA   LB5EE
         STA   LB4E7,X
         LDA   LB5EF
         STA   LB4E8,X
         JSR   LB037
LAC37    JMP   LB37F

         JSR   LAB28
         LDA   LB5F6
         BMI   LAC6D
         LDA   LB5BD
         STA   $42
         LDA   LB5BE
         STA   $43
         LDX   LB39C
         JSR   LB21C
         JSR   LB037
         JMP   LB37F

         LDA   LB5BC
         CMP   #$05
         BCS   LAC6A
         ASL
         TAX
         LDA   LAAE5+1,X
         PHA
         LDA   LAAE5,X
         PHA
         RTS
LAC6A    JMP   LB367
LAC6D    JMP   LB37B

         LDA   LB5F6
         BMI   LAC6D
         LDA   LB5BC
         CMP   #$05
         BCS   LAC6A
         ASL
         TAX
         LDA   LAAF1+1,X
         PHA
         LDA   LAAF1,X
         PHA
         RTS

         JSR   LB300
         JSR   LACA8
         STA   LB5C3
         JMP   LB37F

         JSR   LB300
LAC96    JSR   LB1B5
         JSR   LACA8
         PHA
         JSR   LB1A2
         LDY   #$00
         PLA
         STA   ($42),Y
         JMP   LAC96

LACA8    JSR   LB0B6
         BCS   LACB8
         LDA   ($42),Y
         PHA
         JSR   LB15B
         JSR   LB194
         PLA
         RTS
LACB8    JMP   LB36F

         JSR   LB300
         LDA   LB5C3
         JSR   LACDA
         JMP   LB37F

         JSR   LB300
LACCA    JSR   LB1A2
         LDY   #$00
         LDA   ($42),Y
         JSR   LACDA
         JSR   LB1B5
         JMP   LACCA

LACDA    PHA
         JSR   LB0B6
         PLA
         STA   ($42),Y
         LDA   #$40
         ORA   LB5D5
         STA   LB5D5
         JSR   LB15B
         JMP   LB194

         LDA   #$80
         STA   LB39E
         BNE   LACFB
         LDA   #$00
         STA   LB39E
LACFB    JSR   LAB28
         LDX   LB39C
         LDA   LB4C8,X
         AND   #$7F
         ORA   LB39E
         STA   LB4C8,X
         JSR   LB037
LAD0F    JMP   LB37F

         JSR   LB300
         JMP   LB37F

         JSR   LAB28
LAD1B    JSR   LB0B6
         BCS   LAD0F
         INC   LB5E4
         BNE   LAD1B
         INC   LB5E5
         JMP   LAD1B

         JSR   LAB28
         LDX   LB39C
         LDA   LB4C8,X
         BPL   LAD39
         JMP   LB37B

LAD39    LDX   LB39C
         LDA   LB4C6,X
         STA   LB5D1
         STA   LB4E6,X
         LDA   #$FF
         STA   LB4C6,X
         LDY   LB4C7,X
         STY   LB5D2
         JSR   LB037
         CLC
LAD54    JSR   LAF5E
         BCS   LAD83
         JSR   LAF0C
         LDY   #$0C
LAD5E    STY   LB39C
         LDA   ($42),Y
         BMI   LAD70
         BEQ   LAD70
         PHA
         INY
         LDA   ($42),Y
         TAY
         PLA
         JSR   LAD89
LAD70    LDY   LB39C
         INY
         INY
         BNE   LAD5E
         LDA   LB5D3
         LDY   LB5D4
         JSR   LAD89
         SEC
         BCS   LAD54
LAD83    JSR   LAFFB
         JMP   LB37F

LAD89    SEC
         JSR   LB2DD
         LDA   #$00
         LDX   #$05
LAD91    STA   LB5F0,X
         DEX
         BPL   LAD91
         RTS

         JSR   LABDC
         LDA   #$FF
         STA   LB5F9
         JSR   LAFF7
         LDA   #$16
         STA   LB39D
         JSR   LAE2F
         JSR   LAE2F
         LDX   #$0B
LADB0    LDA   LB3AF,X
         JSR   COUT
         DEX
         BPL   LADB0
         STX   $45
         LDA   LB7F6
         STA   $44
         JSR   LAE42
         JSR   LAE2F
         JSR   LAE2F
         CLC
LADCA    JSR   LB011
         BCS   LAE2C
         LDX   #$00
LADD1    STX   LB39C
         LDA   LB4C6,X
         BEQ   LAE2C
         BMI   LAE25
         LDY   #$A0
         LDA   LB4C8,X
         BPL   LADE4
         LDY   #$AA
LADE4    TYA
         JSR   COUT
         LDA   LB4C8,X
         AND   #$7F
         LDY   #$07
         ASL
LADF0    ASL
         BCS   LADF6
         DEY
         BNE   LADF0
LADF6    LDA   LB3A7,Y
         JSR   COUT
         LDA   #$A0
         JSR   COUT
         LDA   LB4E7,X
         STA   $44
         LDA   LB4E8,X
         STA   $45
         JSR   LAE42
         LDA   #$A0
         JSR   COUT
         INX
         INX
         INX
         LDY   #$1D
LAE18    LDA   LB4C6,X
         JSR   COUT
         INX
         DEY
         BPL   LAE18
         JSR   LAE2F
LAE25    JSR   LB230
         BCC   LADD1
         BCS   LADCA
LAE2C    JMP   LB37F

LAE2F    LDA   #$8D
         JSR   COUT
         DEC   LB39D
         BNE   LAE41
         JSR   RDKEY
         LDA   #$15
         STA   LB39D
LAE41    RTS

LAE42    LDY   #$02
LAE44    LDA   #$00
         PHA
LAE47    LDA   $44
         CMP   LB3A4,Y
         BCC   LAE60
         SBC   LB3A4,Y
         STA   $44
         LDA   $45
         SBC   #$00
         STA   $45
         PLA
         ADC   #$00
         PHA
         JMP   LAE47

LAE60    PLA
         ORA   #$B0
         JSR   COUT
         DEY
         BPL   LAE44
         RTS

LAE6A    JSR   LAF08
         LDY   #$00
         STY   LB5C5
LAE72    LDA   ($42),Y
         STA   LB5D1,Y
         INY
         CPY   #$2D
         BNE   LAE72
         CLC
         RTS

LAE7E    JSR   LAF08
         LDY   #$00
LAE83    LDA   LB5D1,Y
         STA   ($42),Y
         INY
         CPY   #$2D
         BNE   LAE83
         RTS

         JSR   LABDC
         LDA   #$04
         JSR   LB058
         LDA   LB5F9
         EOR   #$FF
         STA   LB3C1
         LDA   #$11
         STA   LB3EB
         LDA   #$01
         STA   LB3EC
         LDX   #$38
         LDA   #$00
LAEAC    STA   LB3BB,X
         INX
         BNE   LAEAC
         LDX   #$0C
LAEB4    CPX   #$8C
         BEQ   LAECC
         LDY   #$03
LAEBA    LDA   LB3A0,Y
         STA   LB3F3,X
         INX
         DEY
         BPL   LAEBA
         CPX   #$44
         BNE   LAEB4
         LDX   #$48
         BNE   LAEB4
LAECC    JSR   LAFFB
         LDX   #$00
         TXA
LAED2    STA   LB4BB,X
         INX
         BNE   LAED2
         JSR   LB045
         LDA   #$11
         LDY   LB3F0
         DEY
         DEY
         STA   LB7EC
LAEE5    STA   LB4BC
LAEE8    STY   LB4BD
         INY
         STY   LB7ED
         LDA   #$02
         JSR   LB058
         LDY   LB4BD
         DEY
         BMI   LAEFF
         BNE   LAEE8
         TYA
         BEQ   LAEE5
LAEFF    JSR   LB7C2
         JSR   LB74A
         JMP   LB37F

LAF08    LDX   #$00
         BEQ   LAF12
LAF0C    LDX   #$02
         BNE   LAF12
LAF10    LDX   #$04
LAF12    LDA   LB5C7,X
         STA   $42
         LDA   LB5C8,X
         STA   $43
         RTS

LAF1D    BIT   LB5D5
         BVS   LAF23
         RTS

LAF23    JSR   LAFE4
         LDA   #$02
         JSR   LB052
         LDA   #$BF
         AND   LB5D5
         STA   LB5D5
         RTS

LAF34    LDA   LB5D5
         BMI   LAF3A
         RTS

LAF3A    JSR   LAF4B
         LDA   #$02
         JSR   LB052
         LDA   #$7F
         AND   LB5D5
         STA   LB5D5
         RTS

LAF4B    LDA   LB5C9
         STA   LB7F0
         LDA   LB5CA
         STA   LB7F0+1
         LDX   LB5D3
         LDY   LB5D4
         RTS

LAF5E    PHP
         JSR   LAF34
         JSR   LAF4B
         JSR   LAF0C
         PLP
         BCS   LAF74
         LDX   LB5D1
         LDY   LB5D2
         JMP   LAFB5

LAF74    LDY   #$01
         LDA   ($42),Y
         BEQ   LAF82
         TAX
         INY
         LDA   ($42),Y
         TAY
         JMP   LAFB5

LAF82    LDA   LB5BB
         CMP   #$04
         BEQ   LAF8B
         SEC
         RTS

LAF8B    JSR   LB244
         LDY   #$02
         STA   ($42),Y
         PHA
         DEY
         LDA   LB5F1
         STA   ($42),Y
         PHA
         JSR   LAF3A
         JSR   LB7D6
         LDY   #$05
         LDA   LB5DE
         STA   ($42),Y
         INY
         LDA   LB5DF
         STA   ($42),Y
         PLA
         TAX
         PLA
         TAY
         LDA   #$02
         BNE   LAFB7
LAFB5    LDA   #$01
LAFB7    STX   LB5D3
         STY   LB5D4
         JSR   LB052
         LDY   #$05
         LDA   ($42),Y
         STA   LB5DC
         CLC
         ADC   LB5DA
         STA   LB5DE
         INY
         LDA   ($42),Y
         STA   LB5DD
         ADC   LB5DB
         STA   LB5DF
         CLC
         RTS

LAFDC    JSR   LAFE4
         LDA   #$01
         JMP   LB052

LAFE4    LDY   LB5CB
         LDA   LB5CC
         STY   LB7F0
         STA   LB7F0+1
         LDX   LB5D6
         LDY   LB5D7
         RTS

LAFF7    LDA   #$01
         BNE   LAFFD
LAFFB    LDA   #$02
LAFFD    LDY   LAAC3
         STY   LB7F0
         LDY   LAAC3+1
         STY   LB7F0+1
         LDX   LB5FA
         LDY   #$00
         JMP   LB052

LB011    PHP
         JSR   LB045
         PLP
         BCS   LB020
         LDY   LB3BD
         LDX   LB3BC
         BNE   LB02A
LB020    LDX   LB4BC
         BNE   LB027
         SEC
         RTS

LB027    LDY   LB4BD
LB02A    STX   LB397
         STY   LB398
         LDA   #$01
         JSR   LB052
         CLC
         RTS

LB037    JSR   LB045
         LDX   LB397
         LDY   LB398
         LDA   #$02
         JMP   LB052

LB045    LDA   LAAC5
         STA   LB7F0
         LDA   LAAC5+1
         STA   LB7F0+1
         RTS

LB052    STX   LB7EC
         STY   LB7ED
LB058    STA   LB7F4
         CMP   #$02
         BNE   LB065
         ORA   LB5D5
         STA   LB5D5
LB065    LDA   LB5F9
         EOR   #$FF
         STA   LB7EB
         LDA   LB5F7
         STA   LB7E9
         LDA   LB5F8
         STA   LB7EA
         LDA   LB5E2
         STA   LB7F2
         LDA   LB5E3
         STA   LB7F3
         LDA   #$01
         STA   LB7E8
         LDY   LAAC1
         LDA   LAAC1+1
         JSR   LB7B5
         LDA   LB7F6
         STA   LB5BF
         LDA   #$FF
         STA   LB7EB
         BCS   LB0A1
         RTS

LB0A1    LDA   LB7F5
         LDY   #$07
         CMP   #$20
         BEQ   LB0B2
         LDY   #$04
         CMP   #$10
         BEQ   LB0B2
         LDY   #$08
LB0B2    TYA
         JMP   LB385

LB0B6    LDA   LB5E4
         CMP   LB5E0
         BNE   LB0C6
         LDA   LB5E5
         CMP   LB5E1
         BEQ   LB12C
LB0C6    JSR   LAF1D
LB0C9    LDA   LB5E5
         CMP   LB5DD
         BCC   LB0ED
         BNE   LB0DB
         LDA   LB5E4
         CMP   LB5DC
         BCC   LB0ED
LB0DB    LDA   LB5E5
         CMP   LB5DF
         BCC   LB0F3
         BNE   LB0ED
         LDA   LB5E4
         CMP   LB5DE
         BCC   LB0F3
LB0ED    JSR   LAF5E
         BCC   LB0C9
         RTS

LB0F3    SEC
         LDA   LB5E4
         SBC   LB5DC
         ASL
         ADC   #$0C
         TAY
         JSR   LAF0C
         LDA   ($42),Y
         BNE   LB114
         LDA   LB5BB
         CMP   #$04
         BEQ   LB10E
         SEC
         RTS

LB10E    JSR   LB134
         JMP   LB120

LB114    STA   LB5D6
         INY
         LDA   ($42),Y
         STA   LB5D7
         JSR   LAFDC
LB120    LDA   LB5E4
         STA   LB5E0
         LDA   LB5E5
         STA   LB5E1
LB12C    JSR   LAF10
         LDY   LB5E6
         CLC
         RTS

LB134    STY   LB39D
         JSR   LB244
         LDY   LB39D
         INY
         STA   ($42),Y
         STA   LB5D7
         DEY
         LDA   LB5F1
         STA   ($42),Y
         STA   LB5D6
         JSR   LAF10
         JSR   LB7D6
         LDA   #$C0
         ORA   LB5D5
         STA   LB5D5
         RTS

LB15B    LDX   LB5EA
         STX   LB5BD
         LDX   LB5EB
         STX   LB5BE
         LDX   LB5EC
         LDY   LB5ED
         STX   LB5BF
         STY   LB5C0
         INX
         BNE   LB177
         INY
LB177    CPY   LB5E9
         BNE   LB18D
         CPX   LB5E8
         BNE   LB18D
         LDX   #$00
         LDY   #$00
         INC   LB5EA
         BNE   LB18D
         INC   LB5EB
LB18D    STX   LB5EC
         STY   LB5ED
         RTS

LB194    INC   LB5E6
         BNE   LB1A1
         INC   LB5E4
         BNE   LB1A1
         INC   LB5E5
LB1A1    RTS

LB1A2    LDY   LB5C3
         LDX   LB5C4
         STY   $42
         STX   $43
         INC   LB5C3
         BNE   LB1B4
         INC   LB5C4
LB1B4    RTS

LB1B5    LDY   LB5C1
         BNE   LB1C2
         LDX   LB5C2
         BEQ   LB1C6
         DEC   LB5C2
LB1C2    DEC   LB5C1
         RTS
LB1C6    JMP   LB37F

LB1C9    JSR   LAFF7
         LDA   LB5C3
         STA   $42
         LDA   LB5C4
         STA   $43
         LDA   #$01
LB1D8    STA   LB39D
         LDA   #$00
         STA   LB5D8
         CLC
LB1E1    INC   LB5D8
         JSR   LB011
         BCS   LB23A
         LDX   #$00
LB1EB    STX   LB39C
         LDA   LB4C6,X
         BEQ   LB212
         BMI   LB217
         LDY   #$00
         INX
         INX
LB1F9    INX
         LDA   ($42),Y
         CMP   LB4C6,X
         BNE   LB20B
         INY
         CPY   #$1E
         BNE   LB1F9
         LDX   LB39C
         CLC
         RTS

LB20B    JSR   LB230
         BCC   LB1EB
         BCS   LB1E1
LB212    LDY   LB39D
         BNE   LB1D8
LB217    LDY   LB39D
         BNE   LB20B
LB21C    LDY   #$00
         INX
         INX
LB220    INX
         LDA   ($42),Y
         STA   LB4C6,X
         INY
         CPY   #$1E
         BNE   LB220
         LDX   LB39C
         SEC
         RTS

LB230    CLC
         LDA   LB39C
         ADC   #$23
         TAX
         CPX   #$F5
         RTS

LB23A    LDA   #$00
         LDY   LB39D
         BNE   LB1D8
         JMP   LB377

LB244    LDA   LB5F1
         BEQ   LB26A
LB249    DEC   LB5F0
         BMI   LB265
         CLC
         LDX   #$04
LB251    ROL   LB5F1,X
         DEX
         BNE   LB251
         BCC   LB249
         INC   LB5EE
         BNE   LB261
         INC   LB5EF
LB261    LDA   LB5F0
         RTS

LB265    LDA   #$00
         STA   LB5F1
LB26A    LDA   #$00
         STA   LB39E
         JSR   LAFF7
LB272    CLC
         LDA   LB3EB
         ADC   LB3EC
         BEQ   LB284
         CMP   LB3EF
         BCC   LB294
         LDA   #$FF
         BNE   LB28E
LB284    LDA   LB39E
         BNE   LB2C0
         LDA   #$01
         STA   LB39E
LB28E    STA   LB3EC
         CLC
         ADC   #$11
LB294    STA   LB3EB
         STA   LB5F1
         TAY
         ASL
         ASL
         TAY
         LDX   #$04
         CLC
LB2A1    LDA   LB3F3+3,Y
         STA   LB5F1,X
         BEQ   LB2AF
         SEC
         LDA   #$00
         STA   LB3F3+3,Y
LB2AF    DEY
         DEX
         BNE   LB2A1
         BCC   LB272
         JSR   LAFFB
         LDA   LB3F0
         STA   LB5F0
         BNE   LB249
LB2C0    JMP   LB377

LB2C3    LDA   LB5F1
         BNE   LB2C9
         RTS

LB2C9    PHA
         JSR   LAFF7
         LDY   LB5F0
         PLA
         CLC
         JSR   LB2DD
         LDA   #$00
         STA   LB5F1
         JMP   LAFFB

LB2DD    LDX   #$FC
LB2DF    ROR   LB4F6,X
         INX
         BNE   LB2DF
         INY
         CPY   LB3F0
         BNE   LB2DD
         ASL
         ASL
         TAY
         BEQ   LB2FF
         LDX   #$04
LB2F2    LDA   LB5F1,X
         ORA   LB3F3+3,Y
         STA   LB3F3+3,Y
         DEY
         DEX
         BNE   LB2F2
LB2FF    RTS

LB300    LDA   LB5BD
         STA   LB5E6
         STA   LB5EA
         LDA   LB5BE
         STA   LB5E4
         STA   LB5EB
         LDA   #$00
         STA   LB5E5
         LDY   #$10
LB319    TAX
         LDA   LB5E6
         LSR
         BCS   LB323
         TXA
         BCC   LB331
LB323    CLC
         LDA   LB5E5
         ADC   LB5E8
         STA   LB5E5
         TXA
         ADC   LB5E9
LB331    ROR
         ROR   LB5E5
         ROR   LB5E4
         ROR   LB5E6
         DEY
         BNE   LB319
         LDA   LB5BF
         STA   LB5EC
         ADC   LB5E6
         STA   LB5E6
         LDA   LB5C0
         STA   LB5ED
         ADC   LB5E4
         STA   LB5E4
         LDA   #$00
         ADC   LB5E5
         STA   LB5E5
         RTS

LB35F    LDA   #$01
         BNE   LB385
LB363    LDA   #$02
         BNE   LB385
LB367    LDA   #$03
         BNE   LB385
         LDA   #$04
         BNE   LB385
LB36F    LDA   #$05
         BNE   LB385
LB373    LDA   #$06
         BNE   LB385
LB377    JMP   LBFED

         NOP
LB37B    LDA   #$0A
         BNE   LB385
LB37F    LDA   LB5C5
         CLC
         BCC   LB386
LB385    SEC
LB386    PHP
         STA   LB5C5
         LDA   #$00
         STA   $48
         JSR   LAE7E
         PLP
         LDX   LB39B
         TXS
         RTS
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: 2749
Localisation: Le Chesnay, France

MessagePosté le: Mar 10 Mai 2016, 16:38    Sujet du message: Répondre en citant

The last part of the DOS 3.3

Code:

LB397    DB    $11
LB398    DB    $0F
         DB    $00
         DB    $00
LB39B    DB    $ED
LB39C    DB    $00
LB39D    DB    $01
LB39E    HEX   0000
LB3A0    HEX   0000FFFF
LB3A4    HEX   010A64     ; 1 10 100
LB3A7    ASC   "TIABSRAB"
LB3AF    ASC   " EMULOV KSID"
LB3BB    DB    $04
LB3BC    DB    $11
LB3BD    DB    $0F
         DB    $03
         DB    $00
         DB    $00
LB3C1    DB    $FE
         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
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
LB3E2    DB    $7A
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
LB3EB    DB    $11
LB3EC    DB    $01
         DB    $00
         DB    $00
LB3EF    DB    $23
LB3F0    DB    $10
         DB    $00
         DB    $01
LB3F3    HEX   000000000000000000000000FFFF0000
         HEX   FFFF0000FFFF0000FFFF0000FFFF0000
         HEX   FFFF0000FFFF0000FFFF0000FFFF0000
         HEX   FFFF0000FFFF0000FFFF0000FFFF0000
         HEX   FFFF000000000000FFFF0000FFFF0000
         HEX   FFFF0000FFFF0000FFFF0000FFFF0000
         HEX   FFFF0000FFFF0000FFFF0000FFFF0000
         HEX   FFFF0000FFFF0000FFFF0000FFFF0000
         HEX   FFFF0000FFFF0000FFFF000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   0000000000000000
LB4BB    DB    $00
LB4BC    DB    $00
LB4BD    DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
LB4C6    DB    $00
LB4C7    DB    $00
LB4C8    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
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
LB4E6    DB    $00
LB4E7    DB    $00
LB4E8    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
LB4F6    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
         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
         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
         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
         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
         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
         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
         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
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
LB5A4    DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
LB5A9    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
LB5BA    DB    $00
LB5BB    DB    $0B
LB5BC    DB    $9D
LB5BD    DB    $00
LB5BE    DB    $01
LB5BF    DB    $FE
LB5C0    DB    $01
LB5C1    DB    $06
LB5C2    DB    $00
LB5C3    DB    $75
LB5C4    DB    $AA
LB5C5    DB    $00
         DB    $00
LB5C7    DB    $53
LB5C8    DB    $9A
LB5C9    DB    $53
LB5CA    DB    $99
LB5CB    DB    $53
LB5CC    DB    $98
         DB    $00
         DB    $00
         DB    $00
         DB    $00
LB5D1    DB    $00
LB5D2    DB    $00
LB5D3    DB    $00
LB5D4    DB    $00
LB5D5    DB    $02
LB5D6    DB    $00
LB5D7    DB    $00
LB5D8    DB    $00
LB5D9    DB    $00
LB5DA    DB    $00
LB5DB    DB    $00
LB5DC    DB    $00
LB5DD    DB    $00
LB5DE    DB    $00
LB5DF    DB    $00
LB5E0    DB    $00
LB5E1    DB    $00
LB5E2    DB    $00
LB5E3    DB    $00
LB5E4    DB    $00
LB5E5    DB    $00
LB5E6    DB    $00
         DB    $00
LB5E8    DB    $00
LB5E9    DB    $00
LB5EA    DB    $00
LB5EB    DB    $00
LB5EC    DB    $00
LB5ED    DB    $00
LB5EE    DB    $00
LB5EF    DB    $00
LB5F0    DB    $00
LB5F1    DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
LB5F6    DB    $00
LB5F7    DB    $60
LB5F8    DB    $01
LB5F9    DB    $01
LB5FA    DB    $11
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $01
         LDA   $27
         CMP   #$09
         BNE   LB61F
         LDA   $2B
         LSR
         LSR
         LSR
         LSR
         ORA   #$C0
         STA   $3F
         LDA   #$5C
         STA   $3E
         CLC
         LDA   $08FE
         ADC   $08FF
         STA   $08FE
LB61F    LDX   $08FF
         BMI   LB639
         LDA   $084D,X
         STA   $3D
         DEC   $08FF
         LDA   $08FE
         STA   $27
         DEC   $08FE
         LDX   $2B
         JMP   ($003E)

LB639    INC   $08FE
         INC   $08FE
         JSR   SETKBD
         JSR   SETVID
         JSR   INIT
         LDX   $2B
         JMP   ($08FD)

         DB    $00
LB64E    HEX   0D0B09070503010E0C0A080604020F00
LB65E    JSR   LA764
         BCS   LB66B
         LDA   #$00
         TAY
         STA   LB64E+$F
         STA   ($40),Y
LB66B    LDA   LB5C5
         JMP   LA6D2

LB671    LDA   LB64E+$F
         BEQ   LB67E
         INC   LB5BD
         BNE   LB67E
         INC   LB5BE
LB67E    LDA   #$00
         STA   LB64E+$F
         JMP   LA546

LB686    STA   LB5BC
         JSR   LA6A8
         JSR   LA2EA
         JMP   LA27D

LB692    LDY   #$13
LB694    LDA   ($42),Y
         BNE   LB6AC
         INY
         CPY   #$17
         BNE   LB694
         LDY   #$19
LB69F    LDA   ($42),Y
         STA   LB5A4,Y
         INY
         CPY   #$1D
         BNE   LB69F
LB6A9    JMP   LA6BC

LB6AC    LDX   #$FF
         STX   LB64E+$F
         BNE   LB6A9
         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
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         DB    $00
         JSR   HOME
         LDA   #$C2
         JSR   COUT
         LDA   #$01
         JSR   PRBYTE
         LDA   #$AD
         JSR   COUT
         LDA   #$00
         JSR   PRBYTE
         RTS

         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
         DB    $00
LB6FE    DB    $B6
LB6FF    DB    $09
         STX   LB7E9
         STX   LB7F7
         LDA   #$01
         STA   LB7F8
         STA   LB7EA
         LDA   LB7E0
         STA   LB7E1
         LDA   #$02
         STA   LB7EC
         LDA   #$04
         STA   LB7ED
         LDY   LB7E7
         DEY
         STY   LB7F0+1
         LDA   #$01
         STA   LB7F4
         TXA
         LSR
         LSR
         LSR
         LSR
         TAX
         LDA   #$00
         STA   $04F8,X
         STA   $0478,X
         JSR   LB793
         LDX   #$FF
         TXS
         STX   LB7EB
         JMP   LBFC8

LB744    JSR   SETKBD
         JMP   OLDRST

LB74A    LDA   LB7E7
         SEC
         SBC   LB7F0+1
         STA   LB7E1
         LDA   LB7E7
         STA   LB7F0+1
         DEC   LB7F0+1
         LDA   #$02
         STA   LB7EC
         LDA   #$04
         STA   LB7ED
         LDA   #$02
         STA   LB7F4
         JSR   LB793
         LDA   LB7E7
         STA   LB6FE
         CLC
         ADC   #$09
         STA   LB7F0+1
         LDA   #$0A
         STA   LB7E1
         SEC
         SBC   #$01
         STA   LB6FF
         STA   LB7ED
         JSR   LB793
         RTS

         BRK   $00
         BRK   $00
         BRK   $00
LB793    LDA   LB7E4+1
         LDY   LB7E4
         JSR   LB7B5
         LDY   LB7ED
         DEY
         BPL   LB7A9
         LDY   #$0F
         NOP
         NOP
         DEC   LB7EC
LB7A9    STY   LB7ED
         DEC   LB7F0+1
         DEC   LB7E1
         BNE   LB793
         RTS

LB7B5    PHP
         SEI
         JSR   LBD00
         BCS   LB7BF
         PLP
         CLC
         RTS

LB7BF    PLP
         SEC
         RTS

LB7C2    LDA   LB5BC
         STA   LB7F0+1
         LDA   #$00
         STA   LB7F0
         LDA   LB5F9
         EOR   #$FF
         STA   LB7EB
         RTS

LB7D6    LDA   #$00
         TAY
LB7D9    STA   ($42),Y
         INY
         BNE   LB7D9
         RTS

         DB    $00
LB7E0    DB    $1B
LB7E1    DB    $00
         DB    $0A
         DB    $1B
LB7E4    DA    $B7E8
         DB    $00
LB7E7    DB    $B6
LB7E8    DB    $01
LB7E9    DB    $60
LB7EA    DB    $01
LB7EB    DB    $FF
LB7EC    DB    $00
LB7ED    DB    $09
         DA    $B7FB
LB7F0    DA    $9A00
LB7F2    DB    $00
LB7F3    DB    $00
LB7F4    DB    $01
LB7F5    DB    $00
LB7F6    DB    $FE
LB7F7    DB    $60
LB7F8    DB    $01
         DB    $00
         DB    $00
         DB    $00
         DB    $01
         DB    $EF
         DB    $D8
         DB    $00
LB800    LDX   #$00
         LDY   #$02
LB804    DEY
         LDA   ($3E),Y
         LSR
         ROL   LBC00,X
         LSR
         ROL   LBC00,X
         STA   LBB00,Y
         INX
         CPX   #$56
         BCC   LB804
         LDX   #$00
         TYA
         BNE   LB804
         LDX   #$55
LB81E    LDA   LBC00,X
         AND   #$3F
         STA   LBC00,X
         DEX
         BPL   LB81E
         RTS

LB82A    SEC
         STX   $27
         STX   $0678
         LDA   $C08D,X
         LDA   $C08E,X
         BMI   LB8B4
         LDA   LBC00
         STA   $26
         LDA   #$FF
         STA   $C08F,X
         ORA   $C08C,X
         PHA
         PLA
         NOP
         LDY   #$04
LB84A    PHA
         PLA
         JSR   LB8B9
         DEY
         BNE   LB84A
         LDA   #$D5
         JSR   LB8B8
         LDA   #$AA
         JSR   LB8B8
         LDA   #$AD
         JSR   LB8B8
         TYA
         LDY   #$56
         BNE   LB869
LB866    LDA   LBC00,Y
LB869    EOR   LBBFF,Y
         TAX
         LDA   LBA29,X
         LDX   $27
         STA   $C08D,X
         LDA   $C08C,X
         DEY
         BNE   LB866
         LDA   $26
         NOP
LB87E    EOR   LBB00,Y
         TAX
         LDA   LBA29,X
         LDX   $0678
         STA   $C08D,X
         LDA   $C08C,X
         LDA   LBB00,Y
         INY
         BNE   LB87E
         TAX
         LDA   LBA29,X
         LDX   $27
         JSR   LB8BB
         LDA   #$DE
         JSR   LB8B8
         LDA   #$AA
         JSR   LB8B8
         LDA   #$EB
         JSR   LB8B8
         LDA   #$FF
         JSR   LB8B8
         LDA   $C08E,X
LB8B4    LDA   $C08C,X
         RTS

LB8B8    CLC
LB8B9    PHA
         PLA
LB8BB    STA   $C08D,X
         ORA   $C08C,X
         RTS

LB8C2    LDY   #$00
LB8C4    LDX   #$56
LB8C6    DEX
         BMI   LB8C4
         LDA   LBB00,Y
         LSR   LBC00,X
         ROL
         LSR   LBC00,X
         ROL
         STA   ($3E),Y
         INY
         CPY   $26
         BNE   LB8C6
         RTS

LB8DC    LDY   #$20
LB8DE    DEY
         BEQ   LB942
LB8E1    LDA   $C08C,X
         BPL   LB8E1
LB8E6    EOR   #$D5
         BNE   LB8DE
         NOP
LB8EB    LDA   $C08C,X
         BPL   LB8EB
         CMP   #$AA
         BNE   LB8E6
         LDY   #$56
LB8F6    LDA   $C08C,X
         BPL   LB8F6
         CMP   #$AD
         BNE   LB8E6
         LDA   #$00
LB901    DEY
         STY   $26
LB904    LDY   $C08C,X
         BPL   LB904
         EOR   LBA00,Y
         LDY   $26
         STA   LBC00,Y
         BNE   LB901
LB913    STY   $26
LB915    LDY   $C08C,X
         BPL   LB915
         EOR   LBA00,Y
         LDY   $26
         STA   LBB00,Y
         INY
         BNE   LB913
LB925    LDY   $C08C,X
         BPL   LB925
         CMP   LBA00,Y
         BNE   LB942
LB92F    LDA   $C08C,X
         BPL   LB92F
         CMP   #$DE
         BNE   LB942
         NOP
LB939    LDA   $C08C,X
         BPL   LB939
         CMP   #$AA
         BEQ   LB99E
LB942    SEC
         RTS

LB944    LDY   #$FC
         STY   $26
LB948    INY
         BNE   LB94F
         INC   $26
         BEQ   LB942
LB94F    LDA   $C08C,X
         BPL   LB94F
LB954    CMP   #$D5
         BNE   LB948
         NOP
LB959    LDA   $C08C,X
         BPL   LB959
         CMP   #$AA
         BNE   LB954
         LDY   #$03
LB964    LDA   $C08C,X
         BPL   LB964
         CMP   #$96
         BNE   LB954
         LDA   #$00
LB96F    STA   $27
LB971    LDA   $C08C,X
         BPL   LB971
         ROL
         STA   $26
LB979    LDA   $C08C,X
         BPL   LB979
         AND   $26
         STA   |$002C,Y
         EOR   $27
         DEY
         BPL   LB96F
         TAY
         BNE   LB942
LB98B    LDA   $C08C,X
         BPL   LB98B
         CMP   #$DE
         BNE   LB942
         NOP
LB995    LDA   $C08C,X
         BPL   LB995
         CMP   #$AA
         BNE   LB942
LB99E    CLC
         RTS

LB9A0    STX   $2B
         STA   $2A
         CMP   $0478
         BEQ   LB9FC
         LDA   #$00
         STA   $26
LB9AD    LDA   $0478
         STA   $27
         SEC
         SBC   $2A
         BEQ   LB9EA
         BCS   LB9C0
         EOR   #$FF
         INC   $0478
         BCC   LB9C5
LB9C0    ADC   #$FE
         DEC   $0478
LB9C5    CMP   $26
         BCC   LB9CB
         LDA   $26
LB9CB    CMP   #$0C
         BCS   LB9D0
         TAY
LB9D0    SEC
         JSR   LB9EE
         LDA   LBA11,Y
         JSR   LBA00
         LDA   $27
         CLC
         JSR   LB9F1
         LDA   LBA1D,Y
         JSR   LBA00
         INC   $26
         BNE   LB9AD
LB9EA    JSR   LBA00
         CLC
LB9EE    LDA   $0478
LB9F1    AND   #$03
         ROL
         ORA   $2B
         TAX
         LDA   $C080,X
         LDX   $2B
LB9FC    RTS

         TAX
         LDY   #$A0
LBA00    LDX   #$11
LBA02    DEX
         BNE   LBA02
         INC   $46
         BNE   LBA0B
         INC   $47
LBA0B    SEC
         SBC   #$01
         BNE   LBA00
         RTS

LBA11    HEX   01302824201E1D1C1C1C1C1C
LBA1D    HEX   702C26221F1E1D1C1C1C1C1C
LBA29    HEX   96979A9B9D9E9FA6A7ABACADAEAFB2B3
         HEX   B4B5B6B7B9BABBBCBDBEBFCBCDCECFD3
         HEX   D6D7D9DADBDCDDDEDFE5E6E7E9EAEBEC
         HEX   EDEEEFF2F3F4F5F6F7F9FAFBFCFDFEFF
LBA69    LDA   LAA65
         AND   #$04
         BNE   LBA73
         JMP   (LAA72)
LBA73    JMP   (LAA6E)

         LDX   #$04
         LDY   #$06
         LDA   LAA65
         PHA
         ROR
         BCC   LBA85
         LDX   #$30
         LDY   #$34
LBA85    STY   L9E41+1
         PLA
         TAY
         TXA
         JMP   LA54F

         DB    $AA
         DB    $88
         DB    $82
         ASC   "ED30"
         DB    $88
         HEX   0001989902039C040506A0A1A2A3A4A5
         HEX   0708A8A9AA090A0B0C0DB0B10E0F1011
         HEX   1213B81415161718191AC0C1C2C3C4C5
         HEX   C6C7C8C9CA1BCC1C1D1ED0D1D21FD4D5
         HEX   2021D822232425262728E0E1E2E3E429
         HEX   2A2BE82C2D2E2F303132F0F133343536
         HEX   3738F8393A3B3C3D3E3F
LBB00    HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   000000000000000000000000000000
LBBFF    DB    $00
LBC00    HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   00000000000000000000000000000000
         HEX   000000000000
LBC56    SEC
         LDA   $C08D,X
         LDA   $C08E,X
         BMI   LBCBD
         LDA   #$FF
         STA   $C08F,X
         CMP   $C08C,X
         PHA
         PLA
LBC69    JSR   LBCC3
         JSR   LBCC3
         STA   $C08D,X
         CMP   $C08C,X
         NOP
         DEY
         BNE   LBC69
         LDA   #$D5
         JSR   LBCD5
         LDA   #$AA
         JSR   LBCD5
         LDA   #$96
         JSR   LBCD5
         LDA   $41
         JSR   LBCC4
         LDA   $44
         JSR   LBCC4
         LDA   $3F
         JSR   LBCC4
         LDA   $41
         EOR   $44
         EOR   $3F
         PHA
         LSR
         ORA   $3E
         STA   $C08D,X
         LDA   $C08C,X
         PLA
         ORA   #$AA
         JSR   LBCD4
         LDA   #$DE
         JSR   LBCD5
         LDA   #$AA
         JSR   LBCD5
         LDA   #$EB
         JSR   LBCD5
         CLC
LBCBD    LDA   $C08E,X
         LDA   $C08C,X
LBCC3    RTS

LBCC4    PHA
         LSR
         ORA   $3E
         STA   $C08D,X
         CMP   $C08C,X
         PLA
         NOP
         NOP
         NOP
         ORA   #$AA
LBCD4    NOP
LBCD5    NOP
         PHA
         PLA
         STA   $C08D,X
         CMP   $C08C,X
         RTS

         HEX   88A5E891A0948896E891A09488969191
         HEX   C894D0969191C894D09691A3C8A0A585
         HEX   A4
LBD00    STY   $48
         STA   $49
         LDY   #$02
         STY   $06F8
         LDY   #$04
         STY   $04F8
         LDY   #$01
         LDA   ($48),Y
         TAX
         LDY   #$0F
         CMP   ($48),Y
         BEQ   LBD34
         TXA
         PHA
         LDA   ($48),Y
         TAX
         PLA
         PHA
         STA   ($48),Y
         LDA   $C08E,X
LBD25    LDY   #$08
         LDA   $C08C,X
LBD2A    CMP   $C08C,X
         BNE   LBD25
         DEY
         BNE   LBD2A
         PLA
         TAX
LBD34    LDA   $C08E,X
         LDA   $C08C,X
         LDY   #$08
LBD3C    LDA   $C08C,X
         PHA
         PLA
         PHA
         PLA
         STX   $05F8
         CMP   $C08C,X
         BNE   LBD4E
         DEY
         BNE   LBD3C
LBD4E    PHP
         LDA   $C089,X
         LDY   #$06
LBD54    LDA   ($48),Y
         STA   |$0036,Y
         INY
         CPY   #$0A
         BNE   LBD54
         LDY   #$03
         LDA   ($3C),Y
         STA   $47
         LDY   #$02
         LDA   ($48),Y
         LDY   #$10
         CMP   ($48),Y
         BEQ   LBD74
         STA   ($48),Y
         PLP
         LDY   #$00
         PHP
LBD74    ROR
         BCC   LBD7C
         LDA   $C08A,X
         BCS   LBD7F
LBD7C    LDA   $C08B,X
LBD7F    ROR   $35
         PLP
         PHP
         BNE   LBD90
         LDY   #$07
LBD87    JSR   LBA00
         DEY
         BNE   LBD87
         LDX   $05F8
LBD90    LDY   #$04
         LDA   ($48),Y
         JSR   LBE5A
         PLP
         BNE   LBDAB
         LDY   $47
         BPL   LBDAB
LBD9E    LDY   #$12
LBDA0    DEY
         BNE   LBDA0
         INC   $46
         BNE   LBD9E
         INC   $47
         BNE   LBD9E
LBDAB    LDY   #$0C
         LDA   ($48),Y
         BEQ   LBE0B
         CMP   #$04
         BEQ   LBE0D
         ROR
         PHP
         BCS   LBDBC
         JSR   LB800
LBDBC    LDY   #$30
         STY   $0578
LBDC1    LDX   $05F8
         JSR   LB944
         BCC   LBDED
LBDC9    DEC   $0578
         BPL   LBDC1
LBDCE    LDA   $0478
         PHA
         LDA   #$60
         JSR   LBE95
         DEC   $06F8
         BEQ   LBE04
         LDA   #$04
         STA   $04F8
         LDA   #$00
         JSR   LBE5A
         PLA
LBDE7    JSR   LBE5A
         JMP   LBDBC

LBDED    LDY   $2E
         CPY   $0478
         BEQ   LBE10
         LDA   $0478
         PHA
         TYA
         JSR   LBE95
         PLA
         DEC   $04F8
         BNE   LBDE7
         BEQ   LBDCE
LBE04    PLA
         LDA   #$40
LBE07    PLP
         JMP   LBE48

LBE0B    BEQ   LBE46
LBE0D    JMP   LBEAF

LBE10    LDY   #$03
         LDA   ($48),Y
         PHA
         LDA   $2F
         LDY   #$0E
         STA   ($48),Y
         PLA
         BEQ   LBE26
         CMP   $2F
         BEQ   LBE26
         LDA   #$20
         BNE   LBE07
LBE26    LDY   #$05
         LDA   ($48),Y
         TAY
         LDA   LBFB8,Y
         CMP   $2D
         BNE   LBDC9
         PLP
         BCC   LBE51
         JSR   LB8DC
         PHP
         BCS   LBDC9
         PLP
         LDX   #$00
         STX   $26
         JSR   LB8C2
         LDX   $05F8
LBE46    CLC
         HEX   24
LBE48    SEC
         LDY   #$0D
         STA   ($48),Y
         LDA   $C088,X
         RTS

LBE51    JSR   LB82A
         BCC   LBE46
         LDA   #$10
         BCS   LBE48
LBE5A    PHA
         LDY   #$01
         LDA   ($3C),Y
         ROR
         PLA
         BCC   LBE6B
         ASL
         JSR   LBE6B
         LSR   $0478
         RTS

LBE6B    STA   $2A
         JSR   LBE8E
         LDA   $0478,Y
         BIT   $35
         BMI   LBE7A
         LDA   $04F8,Y
LBE7A    STA   $0478
         LDA   $2A
         BIT   $35
         BMI   LBE88
         STA   $04F8,Y
         BPL   LBE8B
LBE88    STA   $0478,Y
LBE8B    JMP   LB9A0

LBE8E    TXA
         LSR
         LSR
         LSR
         LSR
         TAY
         RTS

LBE95    PHA
         LDY   #$02
         LDA   ($48),Y
         ROR
         ROR   $35
         JSR   LBE8E
         PLA
         ASL
         BIT   $35
         BMI   LBEAB
         STA   $04F8,Y
         BPL   LBEAE
LBEAB    STA   $0478,Y
LBEAE    RTS

LBEAF    LDY   #$03
         LDA   ($48),Y
         STA   $41
         LDA   #$AA
         STA   $3E
         LDY   #$56
         LDA   #$00
         STA   $44
LBEBF    STA   LBBFF,Y
         DEY
         BNE   LBEBF
LBEC5    STA   LBB00,Y
         DEY
         BNE   LBEC5
         LDA   #$50
         JSR   LBE95
         LDA   #$28
         STA   $45
LBED4    LDA   $44
         JSR   LBE5A
         JSR   LBF0D
         LDA   #$08
         BCS   LBF04
         LDA   #$30
         STA   $0578
LBEE5    SEC
         DEC   $0578
         BEQ   LBF04
         JSR   LB944
         BCS   LBEE5
         LDA   $2D
         BNE   LBEE5
         JSR   LB8DC
         BCS   LBEE5
         INC   $44
         LDA   $44
         CMP   #$23
         BCC   LBED4
         CLC
         BCC   LBF09
LBF04    LDY   #$0D
         STA   ($48),Y
         SEC
LBF09    LDA   $C088,X
         RTS

LBF0D    LDA   #$00
         STA   $3F
         LDY   #$80
         BNE   LBF17
LBF15    LDY   $45
LBF17    JSR   LBC56
         BCS   LBF87
         JSR   LB82A
         BCS   LBF87
         INC   $3F
         LDA   $3F
         CMP   #$10
         BCC   LBF15
         LDY   #$0F
         STY   $3F
         LDA   #$30
         STA   $0578
LBF32    STA   LBFA8,Y
         DEY
         BPL   LBF32
         LDY   $45
LBF3A    JSR   LBF87
         JSR   LBF87
         JSR   LBF87
         PHA
         PLA
         NOP
         DEY
         BNE   LBF3A
         JSR   LB944
         BCS   LBF71
         LDA   $2D
         BEQ   LBF67
         LDA   #$10
         CMP   $45
         LDA   $45
         SBC   #$01
         STA   $45
         CMP   #$05
         BCS   LBF71
         SEC
         RTS

LBF62    JSR   LB944
         BCS   LBF6C
LBF67    JSR   LB8DC
         BCC   LBF88
LBF6C    DEC   $0578
         BNE   LBF62
LBF71    JSR   LB944
         BCS   LBF81
         LDA   $2D
         CMP   #$0F
         BNE   LBF81
         JSR   LB8DC
         BCC   LBF0D
LBF81    DEC   $0578
         BNE   LBF71
         SEC
LBF87    RTS

LBF88    LDY   $2D
         LDA   LBFA8,Y
         BMI   LBF6C
         LDA   #$FF
         STA   LBFA8,Y
         DEC   $3F
         BPL   LBF62
         LDA   $44
         BNE   LBFA6
         LDA   $45
         CMP   #$10
         BCC   LBF87
         DEC   $45
         DEC   $45
LBFA6    CLC
         RTS

LBFA8    HEX   FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
LBFB8    HEX   000D0B09070503010E0C0A080604020F
LBFC8    JSR   SETVID
         LDA   ROMIN2
         LDA   ROMIN2
         LDA   #$00
         STA   $E000
         JMP   LB744

         DB    $00
         DB    $00
         DB    $00
LBFDC    STA   LAA63
         STA   LAA70
         STA   LAA70+1
         RTS

LBFE6    JSR   LA75B
         STY   LAAB7
         RTS

LBFED    JSR   LAE7E
         LDX   LB39B
         TXS
         JSR   LA316
         TSX
         STX   LB39B
         LDA   #$09
         JMP   LB385
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: 165

MessagePosté le: Lun 25 Juil 2016, 1:36    Sujet du message: Répondre en citant

toinet a écrit:
qkumba... wanna give a try?


It is done for ProDOS now, and even saves highscores.
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