====== 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:]]