annotate level1/cmds/tee.a @ 1830:d1f2f21d6af7

Added Robert Gault's 'F' option mod to backup for DSK images
author boisy
date Thu, 05 May 2005 12:43:28 +0000
parents a8bb0834424e
children dc2597886264
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1755
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
1 ;*******************************************************************
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
2 ; Tee - Split output to multiple devices
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
3 ;
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
4 ; $Id$
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
5 ;
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
6 ; Edt/Rev YYYY/MM/DD Modified by
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
7 ; Comment
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
8 ; ------------------------------------------------------------------
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
9 ; 2 ????/??/??
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
10 ; From Tandy OS-9 Level One VR 02.00.00.
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
11
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
12 .include "/Users/boisy/Projects/nitros9/defs/const.d"
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
13 .include "/Users/boisy/Projects/nitros9/defs/io.d"
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
14 .include "/Users/boisy/Projects/nitros9/defs/ioman.d"
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
15 .include "/Users/boisy/Projects/nitros9/defs/errno.d"
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
16 .include "/Users/boisy/Projects/nitros9/defs/syscall.d"
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
17 .include "/Users/boisy/Projects/nitros9/defs/module.d"
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
18
1758
a8bb0834424e commented backup
boisy
parents: 1755
diff changeset
19 .module Tee,Prgrm+Objct,ReEnt+0,start,dsize
1755
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
20
1758
a8bb0834424e commented backup
boisy
parents: 1755
diff changeset
21 .area _DATA
1755
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
22
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
23 u0000: .blkb 1
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
24 parray: .blkb 13
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
25 pcount: .blkb 1
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
26 buff: .blkb 256
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
27 .blkb 450
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
28 dsize == .
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
29
1758
a8bb0834424e commented backup
boisy
parents: 1755
diff changeset
30 .area _CODE
a8bb0834424e commented backup
boisy
parents: 1755
diff changeset
31
1755
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
32 start: clrb
1758
a8bb0834424e commented backup
boisy
parents: 1755
diff changeset
33 clr <pcount,u ; clear path counter
1755
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
34 cmpy #0h0000 ; any parameters?
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
35 lbeq exitok ; exit if none
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
36 leay parray,u ; else point Y to path array
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
37
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
38 ; Walk the command line parameters
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
39 parse: lda ,x+
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
40 cmpa #C$SPAC
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
41 beq parse
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
42 cmpa #C$COMA
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
43 beq parse
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
44 cmpa #C$CR
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
45 lbeq parsex
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
46 ; We've found a file or device name
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
47 leax -1,x
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
48 lda #WRITE.
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
49 ldb #PREAD.+UPDAT.
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
50 os9 I$Create ; open a path to the device or file
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
51 bcs exit ; branch if error
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
52 ldb pcount,u ; else get path counter
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
53 sta b,y ; save new path in the array offset
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
54 incb ; increment counter
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
55 stb pcount,u ; and save
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
56 bra parse ; continue parsing command line
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
57 parsex: stb pcount,u
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
58
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
59 ; Devices on command line are open, start pumping data
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
60 L0044: clra
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
61 leax buff,u
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
62 ldy #256
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
63 os9 I$ReadLn
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
64 bcc L0057
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
65 cmpb #E$EOF
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
66 beq exitok
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
67 coma
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
68 bra exit
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
69 L0057: inca
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
70 os9 I$WritLn
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
71 tst pcount,u
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
72 beq L0044
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
73 clrb
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
74 L0060: leay parray,u
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
75 lda b,y
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
76 leax buff,u
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
77 ldy #256
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
78 os9 I$WritLn
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
79 bcs exit
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
80 incb
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
81 cmpb pcount,u
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
82 bne L0060
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
83 bra L0044
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
84 exitok: clrb
28d21787be81 test case for new as6809
boisy
parents:
diff changeset
85 exit: os9 F$Exit