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