====== BACKUP ======
Header for : Backup
Module size: $4B2 #1202
Module CRC : $129C2B (Good)
Hdr parity : $9E
Exec. off : $0176 #374
Data size : $1250 #4688
Edition : $08 #8
Ty/La At/Rv: $11 $81
Prog mod, 6809 Obj, re-ent, R/O
===== CODE =====
* Disassembly by Os9disasm of backup
mod L04b2,L000d,$11,$81,L0176,D1250
* OS-9 system function equates
F$Exit equ $06
F$PErr equ $0f
F$PrsNam equ $10
I$Open equ $84
I$Seek equ $88
I$Read equ $89
I$Write equ $8a
I$WritLn equ $8c
I$GetStt equ $8d
I$SetStt equ $8e
I$Close equ $8f
* class D external label equates
Dfff0 equ $fff0
Dfff1 equ $fff1
Dfffa equ $fffa
Dffff equ $ffff
* OS9 data area definitions
D0000 rmb 1
D0001 rmb 1
D0002 rmb 2
D0004 rmb 5
D0009 rmb 1
D000a rmb 1
D000b rmb 1
D000c rmb 1
D000d rmb 1
D000e rmb 1
D000f rmb 1
D0010 rmb 1
D0011 rmb 2
D0013 rmb 1
D0014 rmb 12
D0020 rmb 53
D0055 rmb 1
D0056 rmb 4602
D1250 equ .
L000d fcb $42
fcb $61
com 11,s
fcb $75
subb $082f
L0014 equ *-1
lsr Dfff0,y
bra L0048
lsr Dfff1,y
tst D000a
L001c equ *-1
fcb $55
com $653a
bra L0065
fcb $61
com 11,s
fcb $75
neg $205b
fcb $65
tstb
bra L0089
com 23840
fcb $5b
blt L00aa
tstb
dec D0020
bra L0059
bra L005b
bra L005d
bra L005f
bra L0061
bra L009e
ble L00a9
fcb $65
ror 12576
L0048 equ *-1
fcb $5b
ble L00b0
fcb $65
ror 12893
tstb
dec D0020
bra L00ba
bra L0084
bra L00ba
L0059 fcb $62
clr -14,s
L005b equ *-1
lsr $2069
L005d equ *-2
L005f fcb $66
bra L00d4
L0061 equ *-1
fcb $65
fcb $61
fcb $64
L0065 bra L00cc
fcb $72
fcb $72
clr -14,s
dec D0020
bra L00e2
bra L009e
bra L00e6
rol 14,s
asr 12,s
fcb $65
bra L00de
fcb $72
rol -10,s
fcb $65
bra L00f0
fcb $72
clr 13,s
neg 29811
L0084 equ *-2
dec D0020
blt L0100
L0089 equ *-1
bra L00b9
bra L00f7
jmp 8,s
rol 2,s
rol -12,s
bra L010c
fcb $65
fcb $72
rol 6,s
rol $2070
fcb $61
L009e com 29581
L00a0 equ *-1
L00a1 fcb $52
fcb $65
L00a3 fcb $61
lsr -7,s
bra L011c
fcb $6f
L00a9 bra L010d
L00aa equ *-1
fcb $61
com 11,s
fcb $75
neg $2066
L00b0 equ *-2
fcb $72
clr 13,s
L00b5 fcb $a0
L00b6 bra L012c
clr ,y+
L00b9 equ *-1
L00ba clra
fcb $6b
L00bc bra L00fd
abx
suba -14,u
L00c0 equ *-1
fcb $65
fcb $61
lsr -7,s
bra L011a
clr -11,s
fcb $72
com 5,s
L00cc bge L00ee
asl 9,s
lsr $2061
bra L0140
L00d4 equ *-1
fcb $65
L00d6 rol 15008
L00d9 fcb $52
fcb $65
fcb $61
lsr -7,s
L00de bra L0124
fcb $65
com 29801
L00e2 equ *-2
jmp 1,s
L00e6 lsr $696f
jmp D000c,y
bra L0155
rol -12,s
L00ee equ *-1
bra L0152
L00f0 equ *-1
bra L015e
fcb $65
rol 15008
L00f7 comb
fcb $65
com -12,s
clr -14,s
L00fd bra L00a3
L00ff comb
L0100 fcb $65
com -12,s
clr -14,s
com $2020
bra L016d
clr -16,s
L010c rol 5,s
L010d equ *-1
lsr Dfffa,y
bra L00b6
L0112 dec D0056
fcb $65
fcb $72
rol 6,s
rol $2070
L011a equ *-1
fcb $61
L011c com 29581
L011f comb
fcb $65
com -12,s
clr -14,s
L0124 equ *-1
com $2076
fcb $65
fcb $72
rol 6,s
L012c rol 5,s
lsr Dfffa,y
bra L00d6
L0132 dec D0020
rol -13,s
bra L019a
fcb $65
rol 14,s
fcb $67
bra L01b1
com -14,s
L0140 fcb $61
lsr $6368
fcb $65
lsr L45b2,pcr
L0147 equ *-2
com $6b73
bra L01bc
clr -12,s
bra L01b8
L0152 clr -14,s
tst 1,s
L0155 equ *-1
lsr 29797
fcb $64
bra L01c5
lsr 5,s
L015e jmp -12,s
rol 3,s
fcb $61
inc 12,s
rol $0a42
L0167 equ *-1
fcb $61
com 11,s
fcb $75
neg $2041
L016d equ *-2
fcb $62
clr -14,s
lsr $6564
bsr L01a9
L0176 equ *-1
adcb #1
stu 13318
pshs u
tfr y,d
subd ,s++
subd #$0250
sta D0013
clr D000b
clr D000a
clr D000c
clr D000d
leay 87,u
sty D0055
ldd ,s++
beq L01e3
L0199 ldd ,x+
L019a equ *-1
cmpa #$20
beq L0199
cmpa #$2c
beq L0199
eora #$45
anda #$df
bne L01b1
L01a9 cmpb #$30
bcc L01b1
inc D000a
bra L0199
L01b1 lda -1,x
eora #$53
anda #$df
bne L01c1
L01b8 equ *-1
cmpb #$30
bcc L01c1
L01bc equ *-1
inc D000b
bra L0199
L01c1 ldd -1,x
cmpa #$2d
L01c5 bne L01d7
eorb #$56
andb #$df
bne L01d7
ldd ,x+
cmpb #$30
bcc L01d7
inc D000c
bra L0199
L01d7 lda ,-x
cmpa #$2f
beq L01e7
cmpa #$0d
lbne L040e
L01e3 leax L0014,pcr
L01e7 leay L00a1,pcr
lbsr L044b
ldy D0055
sty D0002
lbsr L043a
L01f7 lda ,x+
cmpa #$20
beq L01f7
cmpa #$2c
beq L01f7
cmpa #$0d
bne L020b
inc D000b
ldx D0002
lda ,x+
L020b cmpa #$2f
lbne L040e
leax -1,x
leay L00b6,pcr
lbsr L044b
ldy D0055
sty D0004
lbsr L043a
leay L00bc,pcr
lbsr L0421
comb
eora #$59
anda #$df
lbne L03ba
ldx D0002
ldd #$4020
L0238 cmpb ,x+
bne L0238
std -1,x
ldx D0002
lda #1
os9 I$Open
bcs L027c
leax 848,u
ldy #$0100
os9 I$Read
bcs L027c
os9 I$Close
ldx D0002
lda #1
os9 I$Open
bcs L027c
sta D0000
ldx D0004
leay 21,u
L0267 ldb ,x+
stb ,y+
cmpb #$20
bne L0267
ldd #$4020
std Dffff,y
leax 21,u
lda #3
os9 I$Open
L027c lblo L03af
sta D0001
clr D000e
clr D000f
clr D0010
lbsr L0419
lda D0001
leax 592,u
ldy #$0100
os9 I$Read
pshs x,u
ldx #0
leau ,x
os9 I$Seek
puls x,u
bcs L027c
ldd 256,x
cmpd ,x
bne L02b7
ldb 258,x
cmpb 2,x
beq L02be
L02b7 leay L0147,pcr
lbra L03b6
L02be leax 592,u
lda #$bf
sta 63,x
leay 31,x
lbsr L044b
leay L0132,pcr
lbsr L0456
leay L00ba,pcr
lbsr L0421
comb
eora #$59
anda #$df
lbne L03ba
lda D0001
leax 848,u
ldy #$0100
os9 I$Write
lblo L03af
pshs u
ldx #0
leau ,x
os9 I$Seek
puls u
leax 848,u
os9 I$Read
lblo L03af
os9 I$Close
leax 21,u
lda #2
os9 I$Open
lblo L03af
sta D0001
leax 53,u
ldb #0
os9 I$GetStt
ldb #1
stb 8,x
ldb #0
os9 I$SetStt
lblo L03af
L0332 leay L00c0,pcr
lbsr L041d
lda D0013
sta D0014
leax 592,u
lbsr L0403
lbsr L0419
ldd D0011
leax 592,u
stx D0011
subd D0011
beq L035c
tfr d,y
lda D0001
os9 I$Write
bcs L03af
L035c lda D000d
cmpa #$d3
bne L0332
leay L00ff,pcr
lbsr L0470
tst D000c
bne L03ba
leay L0112,pcr
lbsr L0456
lda D0000
os9 I$Close
bcs L03af
lda D0001
os9 I$Close
bcs L03af
leax 21,u
lda #1
os9 I$Open
bcs L03af
sta D0000
clr D000e
clr D000f
clr D0010
clr D000d
L0396 lda D0013
sta D0014
leax 592,u
bsr L0403
lda D000d
cmpa #$d3
bne L0396
leay L011f,pcr
lbsr L0470
bra L03ba
L03af os9 F$PErr
leay L0167,pcr
L03b6 lbsr L0456
comb
L03ba ldb #0
os9 F$Exit
L03bf ldy #$0100
lda D0000
os9 I$Read
bcc L03dc
stb D000d
cmpb #$d3
beq L040d
lbsr L046c
ldb D000d
tst D000a
bne L03af
os9 F$PErr
L03dc ldd D000f
addd #1
std D000f
bcc L03e7
inc D000e
L03e7 tst D000d
beq L03fd
pshs u
ldx D000e
tfr b,a
clrb
tfr d,u
lda D0000
os9 I$Seek
puls u
clr D000d
L03fd ldx D0011
leax 256,x
L0403 stx D0011
lda D0014
suba #1
sta D0014
bcc L03bf
L040d rts
L040e leax 87,u
stx D0055
leay L001c,pcr
bra L03b6
L0419 leay L00d9,pcr
L041d tst D000b
beq L0439
L0421 bsr L0456
pshs d,x,y
leax ,s
ldy #1
clra
os9 I$Read
leay L00a0,pcr
bsr L0456
puls d,x,y
anda #$7f
L0439 rts
L043a pshs x
os9 F$PrsNam
puls x
bcs L040e
L0443 lda ,x+
bsr L04a5
decb
bpl L0443
rts
L044b lda ,y
anda #$7f
bsr L04a5
lda ,y+
bpl L044b
L0455 rts
L0456 bsr L044b
pshs a,x,y
ldd D0055
leax 87,u
stx D0055
subd D0055
tfr d,y
lda #2
os9 I$WritLn
puls a,x,y,pc
L046c leay L00f7,pcr
L0470 bsr L044b
lda D000e
bsr L0486
inc D0009
lda D000f
bsr L0488
lda D0010
bsr L0488
leay L00b5,pcr
bra L0456
L0486 clr D0009
L0488 pshs a
lsra
lsra
lsra
lsra
bsr L0494
puls a
anda #$0f
L0494 tsta
beq L0499
sta D0009
L0499 tst D0009
beq L0455
adda #$30
cmpa #$39
bls L04a5
adda #7
L04a5 pshs x
ldx D0055
sta ,x+
stx D0055
puls x,pc
emod
L04b2 equ *
end
===== RTS =====
Return to [[:OS-9:]] or [[:Top:]]