|
|
IDENTIFICATION SERVEUR : 10.14.20.36 - CLIENT : 3.221.159.255 |
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
toinet Site Admin
Inscrit le: 15 Juin 2007 Messages: 3062 Localisation: Le Chesnay, France
|
Posté le: Lun 22 Juil 2019, 19:49 Sujet du message: Copy II Plus v2.0 (Central Point Software, 1981) |
|
|
#1016 - This is Copy II Plus, the world-famous copier from Central Point Software. This is for v2.0 and, how can I say? It does not copy a lot of disks! Thank you 4am for the Applesauce disk image copied at Kansasfest 2019.
Disk structure
It seems to be a weird 16-sec disk.
T0 is fully readable.
Locksmith Fast Disk Backup tells that there is data on T1. It also tells there is none afterwards.
Don't forget to watch my Cracking Series videos on youtube.com
Protection type
T0 is standard.
T1 has a change of headers:
- address field: E3AA96/DEAA instead of D5AA96/DEAA
- data field: E3AAAD/DEAA instead of D5AAAD/DEAA
It prevents itself from being copied by checking the E3 nibble presence.
It also checks that the boot 1 code was executed.
Boot trace
How to get data?
Code: |
CALL-151
9600<C600.C6FFM
96F8:4C DA FD
9600G
02
And we have the boot sectors in RAM.
$900..$9FF is copied to $2000..$20FF
CALL-151
9600<C600.C6FFM
96F8:A9 59 8D 9C 08 A9 FF 8D 9D 08 4C 01 08
9600G
And we have the entire program into memory!
|
How to copy
Boot my copy disk
Launch Advanced Demuffin 1.4
Press P to bypass boot
1. Copy T0/S0 to T0/SF
2. Enter the monitor
Press ctrl-Y
Copy T1/S0 to T1/SF
How to normalize
Boot my copy disk
Launch Disk Fixer 4.0
Code: |
Read T0/S0
At offset $49:E3 -> D5
Write T0/S0
We must remove the check of its owner prolog markers. The E3...
And we must keep timing: 2 cycles
Read T1/SF
At offset $63:C9 -> A9
We replace a CMP with a LDA
Write T1/SF
We must remove the check of the zero page value $0C which is set to $AA upon boot from the original disk
Read T1/SE
At offset $DD:FA -> 00
Write T1/SE
|
The disk image is available at http://www.brutaldeluxe.fr/crack/
Reboot and... enjoy,
LoGo
7/2019 |
|
Revenir en haut de page |
|
 |
toinet Site Admin
Inscrit le: 15 Juin 2007 Messages: 3062 Localisation: Le Chesnay, France
|
Posté le: Mar 23 Juil 2019, 4:07 Sujet du message: |
|
|
Boot 1 code
Code: |
*
* Copy II Plus v2
* (c) 1981, Central Point Software
* (k) 2019, LoGo
*
* This is boot 1 code at T0/S0
mx %11
org $0800
lst off
*----------------------------
SOFTEV EQU $03F2
PWREDUP EQU $03F4
HOME EQU $FC58
WAIT EQU $FCA8
SETKBD EQU $FE89
SETVID EQU $FE93
IORTS EQU $FF58
*----------------------------
L0800 HEX 02
L0801 JSR SETKBD
JSR SETVID
LDY #$00 ; Simple search
STY $00 ; of a Disk II
LDA #$07 ; controller card
STA $2B
L080F DEC $2B
LDA $2B
ORA #$C0
STA $01
LDA ($00),Y
CMP #$A2 ; LDX
BNE L080F
LDA $2B
ASL
ASL
ASL
ASL
STA $2B ; slot*16
LDA $00 ; makes it the reset vector
STA SOFTEV
LDA $01
STA SOFTEV+1
EOR #$A5
STA PWREDUP
LDA #$AA ; tell next stage
STA $0C ; I've been there
JSR HOME
LDX #$00 ; load sector moved
L083D LDA L0900,X
STA $2000,X
INX
BNE L083D
LDY #$00
LDA #$E3 ; patch D5AAxx to E3AAxx
STA L2063+1
LDA #$60 ; put a RTS
STA L20EB
LDA #$09 ; load at $0900
STA $27
LDA #$00 ; move the arm
STA $80 ; to T1
LDX $2B
LDA $C08E,X
LDA $C08C,X
LDA $C08A,X
LDA $C089,X
LDY $80
LDA #$02 ; or phase 2
STA $03
L086E JSR L08C5
LDA $C080,X
INY
JSR L08C5
LDA $C081,X
LDA #$56
JSR WAIT
DEC $03
BNE L086E
STY $80
LDA #$0F ; sector F
STA $82
LDX $2B
INC $41
JSR L089E ; load program
LDX $2B
LDA $C088,X
LDA #$60
STA $03EA
JMP $0900 ; go to program
L089E LDY $82
LDA L08B5,Y
STA $3D
JSR L205C ; read a sector
INC $27
LDX $2B
DEC $82
LDA $82
CMP #$03 ; until T1/S3
BNE L089E
RTS
L08B5 HEX 000D0B09070503010E0C0A080604020F
L08C5 TYA
AND #$03
ASL
ORA #$60 ; force slot 6 here!!
TAX
RTS
HEX 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
HEX FFFFFF
*----------------------------
L0900 = * ; second sector
ORG $002000
L2000 LDX #$20 ; The standard Disk II
LDY #$00 ; controller code
LDX #$03
L2006 STX $3C
TXA
ASL
BIT $3C
BEQ L201E
ORA $3C
EOR #$FF
AND #$7E
L2014 BCS L201E
LSR
BNE L2014
TYA
STA $0356,X
INY
L201E INX
BPL L2006
JSR IORTS
TSX
LDA $0100,X
ASL
ASL
ASL
ASL
STA $2B
TAX
LDA $C08E,X
LDA $C08C,X
LDA $C08A,X
LDA $C089,X
LDY #$50
L203D LDA $C080,X
TYA
AND #$03
ASL
ORA $2B
TAX
LDA $C081,X
LDA #$56
JSR WAIT
DEY
BPL L203D
STA $26
STA $3D
STA $41
LDA #$08
STA $27
L205C CLC
L205D PHP
L205E LDA $C08C,X
BPL L205E
L2063 EOR #$D5
BNE L205E
L2067 LDA $C08C,X
BPL L2067
CMP #$AA
BNE L2063
NOP
L2071 LDA $C08C,X
BPL L2071
CMP #$96
BEQ L2083
PLP
BCC L205C
EOR #$AD
BEQ L20A6
BNE L205C
L2083 LDY #$03
L2085 STA $40
L2087 LDA $C08C,X
BPL L2087
ROL
STA $3C
L208F LDA $C08C,X
BPL L208F
AND $3C
DEY
BNE L2085
PLP
CMP $3D
BNE L205C
LDA $40
CMP $41
BNE L205C
BCS L205D
L20A6 LDY #$56
L20A8 STY $3C
L20AA LDY $C08C,X
BPL L20AA
EOR $02D6,Y
LDY $3C
DEY
STA $0300,Y
BNE L20A8
L20BA STY $3C
L20BC LDY $C08C,X
BPL L20BC
EOR $02D6,Y
LDY $3C
STA ($26),Y
INY
BNE L20BA
L20CB LDY $C08C,X
BPL L20CB
EOR $02D6,Y
L20D3 BNE L205C
LDY #$00
L20D7 LDX #$56
L20D9 DEX
BMI L20D7
LDA ($26),Y
LSR $0300,X
ROL
LSR $0300,X
ROL
STA ($26),Y
INY
BNE L20D9
L20EB INC $27
INC $3D
LDA $3D
CMP L0800
LDX $2B
BCC L20D3
JMP L0801
DS 5
|
|
|
Revenir en haut de page |
|
 |
toinet Site Admin
Inscrit le: 15 Juin 2007 Messages: 3062 Localisation: Le Chesnay, France
|
Posté le: Mar 23 Juil 2019, 4:07 Sujet du message: |
|
|
The program code
Code: |
*
* Copy II Plus v2
* (c) 1981, Central Point Software
* (k) 2019, LoGo
*
* This is program code at T1/SF-T1/S3
mx %11
org $0900
lst off
*----------------------------
T1C00 = $1C00 ; a track length
LA000 = $A000 ; buffer
LC000 = LA000+8192 ; end of buffer
SOFTEV EQU $03F2
PWREDUP EQU $03F4
HOME EQU $FC58
WAIT EQU $FCA8
RDKEY EQU $FD0C
GETLN EQU $FD6A
CROUT EQU $FD8E
COUT EQU $FDED
*----------------------------
L0900 JMP L11C4
L0903 LDA #>LA000
STA $01
LDA #<LA000
STA $00
STA $0E
LDX #$09
L090F DEX
BPL L0915
JMP L096A
L0915 LDA $0300,X
CMP #$0D
BNE L090F
CLC
LDA #>L1400 ; buffer start
LDX $08
L0921 DEX
BMI L0929
ADC #>T1C00 ; a track length
JMP L0921
L0929 STA $01
CLC
ADC #$19 ; +19 for buffer end
STA $0D
LDY #$00
STY $00
LDA $03
AND #$F0
TAX
; Consider we have the RTS only
JSR L0A63 ; 6 6
PHA ; 4 10
PLA ; 3 13
CMP $00 ; 3 16
LDY #$00 ; 2 18
; Main loop after 18 cycles
L0942 LDA ($00),Y ; 5 23
STA $C08D,X ; 5 28
CMP $C08C,X ; 4 32
INY ; 2 2
BNE L095F ; 3 5/4 if not taken
INC $01 ; 5 9
LDA $01 ; 3 12
CMP $0D ; 3 15
BNE L0942 ; 3 18
CMP $00
L0957 LDA $C08E,X ; read mode on
LDA $C08C,X
CLC
RTS
; 5
L095F LDA ($00),Y ; 5 10 get nibble
CMP $00 ; 3 13 lose time
CMP #$E3 ; 2 15 no auto copy?!?
BNE L0942 ; 3 18 return
JMP L0957 ; exit
L096A LDA $03
AND #$F0
TAX
LDY #$00
JSR L0A63
BCC L0977
RTS
L0977 CMP $00
JSR L0A62
LDA $C08E,X
LDA $C08C,X
L0982 LDX $0E
LDA $0300,X
CMP #$0F
BEQ L0990
LDY #$00
JMP L0992
L0990 LDY #$02
L0992 LDA L0A35,Y
STA $10
INY
LDA L0A35,Y
TAY
LDA $03
AND #$F0
TAX
JSR L0A63
PHA
PLA
CMP $00
LDY #$00
L09AA LDA ($00),Y
STA $C08D,X
CMP $C08C,X
INY
CPY #$0E
BEQ L09BD
PHA
PLA
NOP
JMP L09AA
L09BD LDA #$FF
LDY #$07
L09C1 JSR L0A62
STA $C08D,X
CMP $C08C,X
DEY
BEQ L09D3
JSR L0A62
JMP L09C1
L09D3 LDY #$14
JSR L0A62
PHA
PLA
L09DA LDA ($00),Y
STA $C08D,X
CMP $C08C,X
INY
BEQ L09EC
PHA
PLA
NOP
NOP
JMP L09DA
L09EC INC $01
CMP $00
L09F0 LDA ($00),Y
CMP $00
NOP
STA $C08D,X
CMP $C08C,X
INY
CPY $10
BEQ L0A05
CMP $00
JMP L09F0
L0A05 LDA #$00
STA $00
INC $01
NOP
LDA $C08E,X
LDA $C08C,X
LDA $01
CMP #>LC000
BEQ L0A39
INC $0E
LDX $0E
LDA $0300,X
CMP #$0D
BEQ L0A39
LDY #$0A
L0A25 LDA ($00),Y
CMP $A000,Y
BNE L0A32
DEY
BMI L0A39
JMP L0A25
L0A32 JMP L0982
L0A35 DB $BF ; Tempo for
DB $0D ; 1/2 track and
DB $74 ; full track
DB $0A ; I guess
L0A39 LDA $03
AND #$F0
TAX
LDA #$00
STA $17
LDA #$20
STA $13
L0A46 LDY #$00
L0A48 LDA $C08C,X
BPL L0A48
DEC $17
BNE L0A55
DEC $13
BEQ L0A61
L0A55 CMP $A000,Y
BNE L0A46
INY
CPY #$09
BNE L0A48
CLC
RTS
L0A61 SEC
L0A62 RTS
L0A63 LDA $C08D,X
LDA $C08E,X
BMI L0A89
LDA #$FF
STA $C08F,X
CMP $C08C,X
PHA
PLA
L0A75 PHA
PLA
JSR L0A62
CMP $00
NOP
STA $C08D,X
CMP $C08C,X
NOP
DEY
BNE L0A75
CLC
RTS
L0A89 LDA $C08E,X
LDA $C08C,X
SEC
RTS
L0A91 LDA $02
AND #$F0
TAX
LDA $16
STA $01
CLC
ADC #$1C
STA $0D
LDA #$00
STA $00
LDY #$00
L0AA5 LDA $C08C,X
BPL L0AA5
CMP #$FF
BNE L0AA5
STA ($00),Y
INY
L0AB1 LDA $C08C,X
BPL L0AB1
STA ($00),Y
INY
BNE L0AB1
INC $01
LDA $01
CMP $0D
BNE L0AB1
RTS
L0AC4 LDA #$F0 ; The std vectors
STA $36
STA $1F
LDA #$1B
STA $38
LDA #$FD
STA $37
STA $39
LDA #$00
STA $22
L0AD8 LDA $0C ; Another check...
CMP #$AA
BNE L0AD8
JSR HOME
LDX #$00
LDA #$C7
STA $1B
JSR L0BE1
STA $1C
STA $1A
JSR L0C05
CMP #$D1 ; Q
BNE L0AF8
JMP L0B99
L0AF8 CLC
ROL
ROL
ROL
ROL
STA $17
LDA #$B1
STA $1A
JSR L0C05
CLC
ADC $17
STA $02
JSR L0BE1
BCC L0B12
LDA $1C
L0B12 STA $1A
JSR L0C05
CLC
ROL
ROL
ROL
ROL
STA $17
LDA $02
AND #$F0
CMP $17
BNE L0B2B
LDA #$B2
JMP L0B2D
L0B2B LDA #$B1
L0B2D STA $1A
JSR L0C05
CLC
ADC $17
STA $03
LDX #$00
L0B39 LDA L0D43,X
INX
CMP #$A6
BEQ L0B47
JSR COUT
JMP L0B39
L0B47 LDA #$22
JSR L0EB5
LDA $19
SEC
ROL
STA $11
LDX #$00
L0B54 LDA L0DE8,X
INX
CMP #$A6
BEQ L0B62
JSR COUT
JMP L0B54
L0B62 JSR RDKEY
CMP #$8D ; RET
BNE L0B6D
LDA #$CE ; N
BNE L0B70
L0B6D JSR COUT
L0B70 STA $037F
LDX #$00
L0B75 LDA L0E0B,X
INX
CMP #$A6
BEQ L0B83
JSR COUT
JMP L0B75
L0B83 LDA #$87 ; beep
JSR COUT
JSR RDKEY
CMP #$9B
BNE L0B92
JMP L0AC4
L0B92 CMP #$D1 ; Q
BNE L0BBF
JSR HOME
L0B99 LDY #$00
L0B9B LDA L0DC6,Y
INY
CMP #$A6
BEQ L0BA9
JSR COUT
JMP L0B9B
L0BA9 JSR RDKEY ; reboot
LDA $03
AND #$F0
LSR
LSR
LSR
LSR
ORA #$C0
STA $01
LDA #$00
STA $00
JMP ($0000)
L0BBF CMP #$8D ; RET
BEQ L0BC9
AND #$0F
CLC
ROL
STA $1F
L0BC9 JSR HOME
LDX #$00
L0BCE LDA L0D66,X
INX
CMP #$A6
BEQ L0BDC
JSR COUT
JMP L0BCE
L0BDC LDA #$0D
STA $22
RTS
L0BE1 LDA $1B ; Search for a Disk II
STA $01 ; controller card
LDA #$00
STA $00
LDY #$00
L0BEB DEC $01
LDA $01
CMP #$C3 ; skip slot 3
BEQ L0C03
LDA ($00),Y
CMP #$A2 ; LDX
BNE L0BEB
LDA $01
STA $1B
AND #$0F
ORA #$B0
CLC
RTS
L0C03 SEC
RTS
L0C05 LDA L0C5B,X
INX
CMP #$A6
BEQ L0C13
JSR COUT
JMP L0C05
L0C13 LDA $1A
AND #$7F
JSR COUT
LDA #$A0
JSR COUT
JSR COUT
JSR COUT
LDA #$06
STA $22
JSR RDKEY
CMP #$9B ; ESC
BNE L0C35
L0C30 PLA
PLA
JMP L0AC4
L0C35 CMP #$8D ; RET
BNE L0C3E
LDA $1A
JMP L0C53
L0C3E CMP #$D1 ; Q
BEQ L0C55
CMP #$B7 ; 7
BPL L0C30
CMP #$B0 ; 0
BMI L0C30
AND #$7F
LDY #$1D
STY $24
JSR COUT
L0C53 AND #$0F
L0C55 PHA
JSR CROUT
PLA
RTS
L0C5B ASC 8D
ASC " "030F1019
ASC ' '0909
ASC ' '100C1513
ASC ' '16051213090F0E
ASC ' 2'8D8D
ASC " DISKETTE DUPLICATION PROGRAM"8D8D
ASC "---------------------------------------"8D8D
ASC " ORIGINAL SLOT: "04050601150C14
ASC '='
ASC "&"
L0CE8 ASC " DRIVE: "04050601150C14
ASC '='
ASC "&"
L0D06 ASC 8D
ASC " DUPLICATE SLOT: "04050601150C14
ASC '='
ASC "&"
L0D25 ASC " DRIVE: "04050601150C14
ASC '='
ASC "&"
L0D43 ASC 8D
ASC " ENTER END TRACK: "04050601150C14
ASC '=22'
ASC " &"
L0D66 ASC 8D
ASC " COPYRIGHT 1981"8D
ASC " CENTRAL POINT SOFTWARE, INC."8D
ASC " (503) 773-1970"8D8D8D8D
ASC "&"
L0DC6 ASC 8D8D8D
ASC " PRESS "12051415120E
ASC " TO REBOOT &"
L0DE8 ASC 8D
ASC " CHECK HALF TRACKS: "04050601150C14
ASC '='0E0F
ASC " &"
L0E0B ASC 8D8D
ASC "---------------------------------------"8D8D
ASC " -- INSERT DISKETTES -- "8D8D
ASC " PRESS: "12051415120E
ASC " TO BEGIN COPY"8D
ASC " "051303
ASC " TO RESTART"8D
ASC " "11
ASC " TO REBOOT ... &"
L0EB5 STA $17
TXA
PHA
L0EB9 LDA #$21
STA $24
LDA #$A0
STA $33
JSR GETLN
TXA
BEQ L0F07
LDY #$00
L0EC9 LDA $0200,Y
CMP #$B0 ; 0
BMI L0F0E
CMP #$BA ; 9+1
BMI L0EDF
CMP #$C1 ; A
BMI L0F0E
CMP #$C7 ; G
BPL L0F0E
CLC
ADC #$09
L0EDF AND #$0F
STA $19
DEX
BEQ L0EF7
INY
CPY #$02
BPL L0F0E
LDA $19
CLC
ROL
ROL
ROL
ROL
STA $14
JMP L0EC9
L0EF7 TYA
BEQ L0F04
LDA $14
ORA $19
CMP #$51
BPL L0F0E
STA $19
L0F04 PLA
TAX
RTS
L0F07 PLA
TAX
LDA $17
STA $19
RTS
L0F0E LDA #$0C
STA $25
JSR CROUT
LDA #$87
JSR COUT
JSR COUT
JSR COUT
JMP L0EB9
L0F23 SEC
LDA $05
SBC $06
BEQ L0F73
STA $0B
LDA $05
AND #$03
CLC
ROL
STA $0A
LDA $0B
BPL L0F4A
CLC
LDA $0A
ADC #$03
CMP #$09
BNE L0F43
LDA #$01
L0F43 STA $09
INC $05
JMP L0F57
L0F4A LDA $0A
BNE L0F50
LDA #$08
L0F50 SEC
SBC #$01
STA $09
DEC $05
L0F57 LDA $04
AND #$F0
ORA $0A
TAX
LDA $C080,X
LDA $04
AND #$F0
ORA $09
TAX
LDA $C080,X
LDA #$56
JSR WAIT
JMP L0F23
L0F73 LDA $04
AND #$F0
TAX
LDA $C080,X
LDA $C082,X
LDA $C084,X
LDA $C086,X
CLC
RTS
L0F86 LDA #$00
STA $1D
CLC
LDY #$00
STY $00
LDA $16
STA $01
L0F93 LDX #$00
STX $12
LDA #$AA
STA $15
L0F9B LDA ($00),Y
STA $17
INY
BNE L0FAD
INC $01
LDA $01
CMP $0D
BMI L0FAD
JMP L102E
L0FAD LDA ($00),Y
CMP $17
BNE L0F9B
CMP #$FF
BNE L0F9B
AND #$F0
STA $17
L0FBB INX
BNE L0FC2
LDA #$FF
STA $15
L0FC2 LDA ($00),Y
AND #$F0
CMP $17
BNE L0FD8
INY
BNE L0FBB
INC $01
LDA $01
CMP $0D
BPL L102E
JMP L0FBB
L0FD8 INY
BNE L0FE6
INC $01
LDA $01
CMP $0D
BMI L0FE6
JMP L102E
L0FE6 LDA ($00),Y
AND #$E0
CMP #$E0
BNE L0FFA
CLC
INC $12
LDA $12
CMP #$03
BCC L0F93
JMP L0FC2
L0FFA DEY
CPY #$FF
BNE L1001
DEC $01
L1001 LDA $15
CMP #$FF
BEQ L100E
CPX #$0A
BCS L100E
JMP L0F93
L100E JSR L101C
INC $01
LDA $01
CMP $0D
BPL L102E
JMP L0F93
L101C LDX $0F
TYA
STA $0803,X
INX
LDA $01
STA $0803,X
INX
STX $0F
INC $1D
RTS
L102E LDX $0F
LDA #$FF
STA $0803,X
INX
STA $0803,X
INX
STX $0F
LDA $0D
STA $16
LDX $07
LDA $037F
CMP #$CE
BEQ L107D
LDA $05
CMP #$00
BNE L105D
SEC
LDA $1D
SBC #$02
BPL L1058
LDA #$01
L1058 STA $1E
JMP L107D
L105D LDA $1F
CMP $05
BEQ L1076
CMP #$F0
BNE L107D
LDA $1D
CMP $1E
BPL L107D
DEX
LDA $0330,X
INX
CMP #$01
BEQ L107D
L1076 LDA #$01
STA $0330,X
BNE L1082
L107D LDA #$02
STA $0330,X
L1082 CLC
RTS
L1084 LDX #$00
STX $0E
LDA #>LA000
STA L10C5+2
LDA #$A1
STA L10D5+2
L1092 LDX $0E
LDA $0300,X
CMP #$0F
BEQ L10A3
CMP #$0D
BEQ L10FB
LDA #$C0
BNE L10A5
L10A3 LDA #$75
L10A5 STA $10
LDX $0F
LDA $0803,X
CMP #$FF
BNE L10B7
LDA $0804,X
CMP #$FF
BEQ L10FB
L10B7 LDA $0803,X
STA $00
LDA $0804,X
STA $01
LDY #$00
L10C3 LDA ($00),Y
L10C5 STA $A000,Y
INY
BNE L10C3
INC $01
L10CD LDA ($00),Y
CMP #$D5
BNE L10D5
LDA #$FF
L10D5 STA $A100,Y
INY
CPY $10
BNE L10CD
LDA L10C5+2
CLC
ADC #$02
STA L10C5+2
ADC #$01
STA L10D5+2
LDA L10C5+2
CMP #>LC000
BPL L10FB
INC $0F
INC $0F
INC $0E
JMP L1092
L10FB LDX $0F
L10FD LDA $0803,X
INX
CMP #$FF
BNE L10FD
LDA $0803,X
INX
CMP #$FF
BNE L10FD
STX $0F
RTS
L1110 LDA $04
CLC
ADC #$09
TAX
LDA $C080,X
LDA $04
AND #$F0
CLC
ADC #$09
TAX
LDA $C080,X
LDA $04
AND #$F0
TAX
LDA $C080,X
LDA $C082,X
LDA $C084,X
LDA $C086,X
LDA $02
EOR $03
AND #$F0
BNE L1142
LDY #$FF
JSR L1143
L1142 RTS
L1143 NOP
L1144 LDA #$FF
L1146 SEC
SBC #$01
BNE L1146
DEY
BNE L1144
RTS
L114F LDA $04
AND #$F0
TAX
LDA $C080,X
LDA $C082,X
LDA $C084,X
LDA $C086,X
LDA #$70
STA $05
LDA #$00
STA $06
JSR L0F23
RTS
L116C LDY #$00
LDX $0F
L1170 LDA $0803,X
CMP #$FF
BNE L117E
LDA $0804,X
CMP #$FF
BEQ L11B3
L117E LDA $0805,X
CMP #$FF
BNE L118F
LDA $0806,X
CMP #$FF
BNE L118F
JMP L11B3
L118F SEC
LDA $0803,X
SBC $0805,X
BPL L119F
STA $17
SEC
LDA #$00
SBC $17
L119F CMP #$30
BCC L11A8
LDA #$0F
JMP L11AA
L11A8 LDA #$0C
L11AA STA $0300,Y
INY
INX
INX
JMP L1170
L11B3 CPY #$0C
BNE L11BD
LDA #$0C
STA $0300,Y
INY
L11BD LDA #$0D
STA $0300,Y
CLC
RTS
*----------------------------
* The entry point
L11C4 LDA #<L0900
STA SOFTEV
LDA #>L0900
STA SOFTEV+1
EOR #$A5
STA PWREDUP
JSR L0AC4
LDA $02
STA $04
JSR L1110
JSR L114F
L11E0 LDA #$00
STA $0F
STA $07
LDA #$14
STA $16
LDA $02
CMP $03
BNE L120E
LDA $02
AND #$F0
TAX
LDA $C088,X
JSR HOME
LDY #$00
L11FD LDA L1369,Y
INY
CMP #$A6
BEQ L120B
JSR COUT
JMP L11FD
L120B JSR RDKEY
L120E JSR L1110
L1211 JSR L0A91
JSR L0F86
LDA $11
CMP $05
BMI L1235
INC $06
LDX $07
LDA $0330,X
CMP #$01
BEQ L122A
INC $06
L122A JSR L0F23
INC $07
LDA $07
CMP #$05
BNE L1211
L1235 LDA $02
EOR $03
AND #$F0
BNE L1261
LDA $02
AND #$F0
TAX
LDA $C088,X
LDA $02
CMP $03
BNE L1261
JSR HOME
LDY #$00
L1250 LDA L138D,Y
INY
CMP #$A6
BEQ L125E
JSR COUT
JMP L1250
L125E JSR RDKEY
L1261 LDA #$00
STA $08
STA $0F
LDA $03
STA $04
JSR L1110
LDA $05
CMP #$0B
BPL L127A
JSR L114F
JMP L1290
L127A DEC $07
LDX $07
LDA #$00
CLC
L1281 ADC $0330,X
DEX
BPL L1281
STA $07
SEC
LDA $05
SBC $07
STA $06
L1290 LDA $02
CMP $03
BEQ L129D
LDA $06
STA $05
JMP L12A0
L129D JSR L0F23
L12A0 JSR L116C
JSR L1084
JSR L0903
BCS L12EB
INC $06
LDX $08
LDA $0330,X
CMP #$01
BEQ L12B8
INC $06
L12B8 JSR L0F23
LDA $11
CMP $05
BCC L12D3
INC $08
LDA $08
CMP #$05
BEQ L12CC
JMP L12A0
L12CC LDA $02
STA $04
JMP L11E0
L12D3 LDA $02
AND #$F0
TAX
LDA $C088,X
LDA $03
AND #$F0
TAX
LDA $C088,X
LDA #$87
JSR COUT
JMP L11C4
L12EB LDA $02
STA $04
JSR L1110
LDA $04
AND #$F0
TAX
LDA $C088,X
LDA $03
AND #$F0
TAX
LDA $C088,X
LDA #$87
JSR COUT
JSR COUT
JSR COUT
LDY #$00
L130F LDA L1323,Y
INY
CMP #$A6
BEQ L131D
JSR COUT
JMP L130F
L131D JSR RDKEY
JMP L11C4
L1323 ASC 8D8D8D8D
ASC " --- "150E01020C05
ASC ' '140F
ASC ' '1712091405
ASC " ---"8D8D
ASC " PRESS 'RETURN' FOR MENU &"
L1369 ASC 8D
ASC " INSERT "0F120907090E010C
ASC " DISK IN DRIVE &"
L138D ASC 8D8D8D
ASC " INSERT "0415100C0903011405
ASC " DISK IN DRIVE &"
ds \
*--- My buffer starts here
L1400 = *
|
|
|
Revenir en haut de page |
|
 |
|
|
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
|
|