====== COBBLER ======
Header for : Cobbler
Module size: $289 #649
Module CRC : $108FC4 (Good)
Hdr parity : $A3
Exec. off : $00E2 #226
Data size : $0213 #531
Edition : $03 #3
Ty/La At/Rv: $11 $81
Prog mod, 6809 Obj, re-ent, R/O
===== CODE =====
* Disassembly by Os9disasm of cobbler
mod L0289,L000d,$11,$81,L00e2,D0213
* OS-9 system function equates
F$Exit equ $06
F$PrsNam equ $10
I$Create equ $83
I$Open equ $84
I$Delete equ $87
I$Seek equ $88
I$Read equ $89
I$Write equ $8a
I$WritLn equ $8c
I$GetStt equ $8d
I$Close equ $8f
* OS9 data area definitions
D0000 rmb 1
D0001 rmb 3
D0004 rmb 1
D0005 rmb 2
D0007 rmb 3
D000a rmb 4
D000e rmb 18
D0020 rmb 9
D0029 rmb 490
D0213 equ .
L000d coma
clr 2,s
fcb $62
inc 5,s
sbcb $030a
L0015 equ *-1
fcb $55
com $653a
bra L005f
clra
fcb $42
fcb $42
inca
fcb $45
fcb $52
bra L0060
ble L008a
fcb $65
ror $6e61
tst 5,s
fcb $3e
dec D0020
bra L0051
bra L0053
lsr $6f20
com -14,s
fcb $65
fcb $61
lsr $6520
fcb $61
bra L00ae
fcb $65
asr $2073
rol 29556
fcb $65
fcb $6d
bra L00af
rol -13,s
fcb $6b
tst D000a
L004f equ *-1
fcb $45
L0051 fcb $72
fcb $72
L0053 clr -14,s
bra L00ce
fcb $72
rol -12,s
rol 14,s
fcb $67
bra L00ca
L005f fcb $65
L0060 fcb $72
jmp 5,s
fcb $6c
bra L00da
fcb $72
fcb $61
com 11,s
tst D000a
L006b equ *-1
asrb
fcb $61
fcb $72
jmp 9,s
jmp 7,s
bra L00a2
bra L00dd
rol 12,s
fcb $65
bvc L00ef
bvs L009e
clr -14,s
bra L00ed
fcb $65
fcb $72
jmp 5,s
inc 10,x
neg 29285
L008a equ *-1
com $656e
lsr $206f
fcb $6e
bra L0108
fcb $72
fcb $61
com 11,s
bra L00cd
pshs y
blt L00be
L009e lsr $6869
com $0a74
L00a2 equ *-2
fcb $72
fcb $61
com 11,s
bra L0118
clr -12,s
bra L0120
L00ae fcb $65
L00af asr 29289
lsr 29797
jmp D000e,y
tst D000a
L00b8 equ *-1
fcb $45
fcb $72
fcb $72
clr -14,s
L00be bra L00ed
bra L0111
comb
rts
fcb $62
clr 15,s
lsr $2066
L00ca rol 12,s
fcb $65
L00cd bra L0135
L00ce equ *-1
fcb $72
fcb $61
asr 13,s
fcb $65
jmp -12,s
fcb $65
lsr 13,x
L00d9 clra
L00da comb
rts
fcb $42
L00dd clr 15,s
lsr $20ff
L00e2 clrb
lda #$2f
cmpa ,x
lbne L023f
os9 F$PrsNam
L00ed equ *-1
lblo L023f
L00ef equ *-3
lda #$2f
cmpa ,y
lbeq L023f
leay 43,u
L00fd sta ,y+
lda ,x+
decb
bpl L00fd
sty D0029
lda #$40
L0108 equ *-1
ldb #$20
std ,y++
leax 43,u
lda #3
L0111 equ *-1
os9 I$Open
sta D0001
lblo L023f
L0118 equ *-3
ldx D0029
leay >L00d9,pcr
L0120 equ *-1
lda #$2f
L0123 sta ,x+
lda ,y+
bpl L0123
lda D0001
pshs u
ldx #0
ldu #21
os9 I$Seek
L0135 equ *-1
puls u
lblo L0251
leax 4,u
ldy #5
os9 I$Read
lblo L0251
ldd D0007
beq L015e
leax 43,u
os9 I$Delete
clra
clrb
sta D0004
std D0005
std D0007
lbsr L0269
L015e lda #2
ldb #3
leax 43,u
os9 I$Create
sta D0000
lblo L0251
ldd >$0068
subd >$0066
tfr d,y
std D0007
ldx >$0066
lda D0000
os9 I$Write
lblo L0251
leax 9,u
ldb #0
os9 I$GetStt
lblo L0251
lda D0000
os9 I$Close
lblo L023f
pshs u
ldx 29,u
lda 31,u
clrb
tfr d,u
lda D0001
os9 I$Seek
puls u
lblo L0251
leax 75,u
ldy #$0100
os9 I$Read
lblo L0251
ldd 99,u
lbne L0254
ldb 91,u
stb D0004
ldd 92,u
std D0005
lbsr L0269
bsr L0230
leax 75,u
ldy #$0100
os9 I$Read
bcs L0243
leax 75,u
lda 76,x
bita #$0f
bne L0262
ora #$0f
sta 76,x
tst 77,x
bne L0262
com 77,x
lda 78,x
bita #$e0
bne L0262
ora #$e0
sta 78,x
bsr L0230
leax 75,u
ldy #$0064
os9 I$Write
bcs L0243
pshs u
ldx #2
ldu #25600
os9 I$Seek
puls u
ldx #-4096
ldy #$0f00
os9 I$Write
bcs L025b
os9 I$Close
bcs L023f
clrb
bra L0251
L0230 pshs u
lda D0001
ldx #0
ldu #256
os9 I$Seek
puls u,pc
L023f leax L0015,pcr
L0243 pshs b
lda #2
ldy #$0100
os9 I$WritLn
comb
puls b
L0251 os9 F$Exit
L0254 leax L00b8,pcr
clrb
bra L0243
L025b leax L004f,pcr
clrb
bra L0243
L0262 leax L006b,pcr
clrb
bra L0243
L0269 pshs u
ldx #0
ldu #21
lda D0001
os9 I$Seek
puls u
bcs L0251
leax 4,u
ldy #5
os9 I$Write
bcs L0251
rts
emod
L0289 equ *
end
===== RTS =====
Return to [[:OS-9:]] or [[:Top:]]