Mercurial > hg > index.cgi
annotate disk.s @ 0:605ff82c4618
Initial check in with cleaned up sources
This is the initial check in the source code in a state where it builds byte
accurate copies of all the various ROM versions included.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sat, 08 Dec 2018 19:57:01 -0700 |
parents | |
children |
rev | line source |
---|---|
0
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1 *pragma nolist |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2 include defs.s |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3 ; Various references to Color Basic and Extended Color Basic which are listed here to allow this ROM to be built independently. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
4 XBWMST equ 0x80c0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
5 L813C equ 0x813c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
6 L8168 equ 0x8168 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
7 XVEC3 equ 0x8273 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
8 XVEC8 equ 0x8286 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
9 XVEC18 equ 0x829c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
10 L8311 equ 0x8311 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
11 L8316 equ 0x8316 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
12 L836C equ 0x836c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
13 L8748 equ 0x8748 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
14 L880E equ 0x880e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
15 XVEC15 equ 0x8846 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
16 XVEC17 equ 0x88f0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
17 L8955 equ 0x8955 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
18 L8C1B equ 0x8c1b |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
19 XVEC4 equ 0x8cf1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
20 XVEC9 equ 0x8e90 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
21 L95AC equ 0x95ac |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
22 L962E equ 0x962e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
23 L9650 equ 0x9650 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
24 L96CB equ 0x96cb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
25 L96EC equ 0x96ec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
26 L975F equ 0x975f |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
27 L9FB5 equ 0x9fb5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
28 LA0E2 equ 0xa0e2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
29 BAWMST equ 0xa0e8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
30 LA171 equ 0xa171 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
31 LA176 equ 0xa176 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
32 PUTCHR equ 0xa282 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
33 LA35F equ 0xa35f |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
34 LA37C equ 0xa37c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
35 LA3ED equ 0xa3ed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
36 LA3FB equ 0xa3fb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
37 LA406 equ 0xa406 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
38 LA426 equ 0xa426 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
39 LA429 equ 0xa429 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
40 LA42D equ 0xa42d |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
41 LA549 equ 0xa549 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
42 LA59A equ 0xa59a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
43 LA5A2 equ 0xa5a2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
44 LA5A5 equ 0xa5a5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
45 LA5AE equ 0xa5ae |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
46 LA5C7 equ 0xa5c7 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
47 LA5DA equ 0xa5da |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
48 LA5E4 equ 0xa5e4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
49 LA603 equ 0xa603 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
50 LA616 equ 0xa616 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
51 LA61C equ 0xa61c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
52 LA61F equ 0xa61f |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
53 LA928 equ 0xa928 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
54 LA951 equ 0xa951 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
55 LA7D1 equ 0xa7d1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
56 LA7E9 equ 0xa7e9 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
57 LA974 equ 0xa974 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
58 LAC37 equ 0xac37 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
59 LAC44 equ 0xac44 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
60 LAC46 equ 0xac46 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
61 LAC60 equ 0xac60 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
62 LAC73 equ 0xac73 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
63 LAC7C equ 0xac7c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
64 LACEF equ 0xacef |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
65 LAD19 equ 0xad19 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
66 LAD21 equ 0xad21 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
67 LAD33 equ 0xad33 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
68 LAD9E equ 0xad9e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
69 LADC6 equ 0xadc6 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
70 LADD4 equ 0xadd4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
71 LADEB equ 0xadeb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
72 LAE15 equ 0xae15 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
73 LAF9A equ 0xaf9a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
74 LAFA4 equ 0xafa4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
75 LAFB1 equ 0xafb1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
76 LB00C equ 0xb00c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
77 LB01E equ 0xb01e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
78 LB069 equ 0xb069 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
79 LB143 equ 0xb143 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
80 LB146 equ 0xb146 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
81 LB148 equ 0xb148 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
82 LB156 equ 0xb156 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
83 LB244 equ 0xb244 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
84 LB262 equ 0xb262 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
85 LB166 equ 0xb166 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
86 SYNCOMMA equ 0xb26d |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
87 LB26F equ 0xb26f |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
88 LB277 equ 0xb277 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
89 LB2CE equ 0xb2ce |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
90 LB357 equ 0xb357 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
91 LB3E6 equ 0xb3e6 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
92 LB44A equ 0xb44a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
93 LB4F3 equ 0xb4f3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
94 GIVABF equ 0xb4f4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
95 LB50F equ 0xb50f |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
96 LB516 equ 0xb516 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
97 LB654 equ 0xb654 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
98 LB657 equ 0xb657 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
99 LB659 equ 0xb659 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
100 LB69B equ 0xb69b |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
101 LB6A4 equ 0xb6a4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
102 EVALEXPB equ 0xb70b |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
103 LB70E equ 0xb70e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
104 LB738 equ 0xb738 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
105 LB73D equ 0xb73d |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
106 LIST equ 0xb764 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
107 LB958 equ 0xb958 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
108 LB95C equ 0xb95c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
109 STRINOUT equ 0xb99c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
110 LB99F equ 0xb99f |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
111 LB9A2 equ 0xb9a2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
112 LB9AC equ 0xb9ac |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
113 LB9AF equ 0xb9af |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
114 LB9C5 equ 0xb9c5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
115 LBB91 equ 0xbb91 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
116 LBC14 equ 0xbc14 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
117 LBC33 equ 0xbc33 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
118 LBC35 equ 0xbc35 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
119 LBC5F equ 0xbc5f |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
120 INT equ 0xbcee |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
121 LBDCC equ 0xbdcc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
122 LBDD9 equ 0xbdd9 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
123 pragma noexpandcond |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
124 *pragma list |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
125 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
126 ; DISK EXTENDED COLOR BASIC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
127 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
128 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
129 DHITOK equ 0xe0 ; highest command token |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
130 CYEAR equ '1 ; ones digit of copyright year |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
131 MINORVER equ '0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
132 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
133 DHITOK equ 0xe1 ; highest command token |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
134 CYEAR equ '2 ; ones digit for copyright year |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
135 MINORVER equ '1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
136 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
137 org DOSBAS |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
138 fcc 'DK' ; magic number Extended Basic uses to identify the presence of a Disk ROM |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
139 LC002 bra LC00C ; entry point - jump around vector table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
140 DCNVEC fdb DSKCON ; DSKCON indirect entry point |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
141 DSKVAR fdb DCOPC ; address of DSKCON parameter block |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
142 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
143 DSINIT fdb DOSINI ; vector to an initialization routine, the utility of which is unclear |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
144 DOSVEC fdb DOSCOM ; pointer to the actual location of the DOS command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
145 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
146 LC00C ldx #DBUF0 ; point to start of Disk Basic memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
147 LC00F clr ,x+ ; clear a byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
148 cmpx #DFLBUF ; at end of statically allocated Disk Basic memory? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
149 bne LC00F ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
150 ldx #LC109 ; point to initializer for the command interpretation table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
151 ldu #COMVEC+20 ; point to command interpretation table location for Disk Basic |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
152 ldb #10 ; ten bytes in each table entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
153 jsr LA59A ; initialize interpretation table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
154 ldd #LB277 ; syntax error address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
155 std 3,u ; set command handler for "user" table to error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
156 std 8,u ; set function handler for "user" table to error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
157 clr ,u ; mark user table with 0 command keywords |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
158 clr 5,u ; mark user table with 0 function keywords |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
159 ldd #DXCVEC ; intercept Extended Basic's command handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
160 std COMVEC+13 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
161 ldd #DXIVEC ; intercept Extended Basic's function handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
162 std COMVEC+18 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
163 ldu #RVEC0 ; point to first RAM vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
164 LC03B lda #0x7e ; op code of JMP extended |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
165 sta RVEC22 ; set first byte of GET/PUT vector to JMP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
166 sta ,u+ ; set this vector to be a JMP instruction |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
167 ldd ,x++ ; get vector destination |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
168 std ,u++ ; set the vector destination |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
169 cmpx #LC139 ; done the whole list? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
170 bne LC03B ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
171 ldx #DVEC22 ; install handler for GET/PUT vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
172 stx RVEC22+1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
173 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
174 ldx #DVEC20 ; install replacement interpretation loop handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
175 stx RVEC20+1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
176 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
177 ldx #DUSRVC ; relocate USR vector table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
178 stx USRADR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
179 ldu #LB44A ; default USR address is illegal function call |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
180 ldb #10 ; there are 10 vectors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
181 LC061 stu ,x++ ; set a vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
182 decb ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
183 bne LC061 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
184 ldx #DNMISV ; install NMI handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
185 stx NMIVEC+1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
186 lda #0x7e ; make it a JMP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
187 sta NMIVEC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
188 ldx #DIRQSV ; install IRQ handler (ECB and CB already made it a JMP) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
189 stx IRQVEC+1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
190 lda #19 ; initialze the number of changes needed to trigger a FAT write |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
191 sta WFATVL |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
192 clr FATBL0 ; mark all four FAT images as having no open files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
193 clr FATBL1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
194 clr FATBL2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
195 clr FATBL3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
196 ldx #DFLBUF ; point to the start of the disk "heap" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
197 stx RNBFAD ; set start of random file buffers as the end of the allocated space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
198 leax 0x100,x ; allocate 256 bytes for random file buffers by default |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
199 stx FCBADR ; save start of FCBs (and end of random file buffers) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
200 leax 1,x ; leave an empty byte before FCBs (why?) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
201 stx FCBV1 ; set address of FCB 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
202 clr <<FCBTYP,x ; mark it closed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
203 leax FCBLEN,x ; set address of FCB 2 (2 user FCBs allocated at startup) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
204 stx FCBV1+2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
205 clr <<FCBTYP,x ; mark it closed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
206 leax FCBLEN,x ; set address of FCB 3 (system FCB) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
207 stx FCBV1+4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
208 clr <<FCBTYP,x ; mark it closed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
209 lda #2 ; set 2 active FCBs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
210 sta FCBACT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
211 leax FCBLEN,x ; point to end of active FCBs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
212 tfr x,d ; put it in D so we can do stuff with it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
213 tstb ; is it a partial memory page? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
214 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
215 beq LC0C2 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
216 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
217 beq LC0BD ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
218 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
219 inca ; round up |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
220 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
221 LC0BD bita #1 ; is it even (multiple of 512)? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
222 beq LC0C2 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
223 inca ; round up to even 512 byte boundary |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
224 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
225 LC0C2 tfr a,b ; save start of graphics memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
226 addb #24 ; reserve 4 graphics pages |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
227 stb TXTTAB ; set start of program there |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
228 jsr L96EC ; do graphics initialization (A is the start of grahpics memory) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
229 lda BEGGRP ; get start of current grahpics page |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
230 adda #6 ; make one page used |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
231 sta ENDGRP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
232 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
233 jsr [DSINIT] ; do the pointless initialization routine |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
234 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
235 bsr LC0F0 ; initialize FDC stuff and interrupt any action underway |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
236 andcc #0xaf ; enable interrupts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
237 ldx #LC139-1 ; point to sign on message |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
238 jsr STRINOUT ; show sign on |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
239 ldx #DKWMST ; install warm start handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
240 stx RSTVEC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
241 jmp LA0E2 ; jump into mainline Color Basic |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
242 DKWMST nop ; flag warm start routine as valid |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
243 bsr LC0F0 ; initialize FDC variables and interrupt any action underway |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
244 jsr LD2D2 ; close files and do some other stuff |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
245 jmp XBWMST ; transfer control to ECB's warm start |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
246 LC0F0 clr NMIFLG ; reset the NMI handler vector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
247 clr RDYTMR ; disable the drive timeout counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
248 clr DRGRAM ; turn off all drive selects and motors (RAM copy) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
249 clr DSKREG ; turn off all drive selects and motors (real hardware) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
250 lda #0xd0 ; send "force interrupt" to controller |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
251 sta FDCREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
252 exg a,a ; wait for status to stabilize |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
253 exg a,a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
254 lda FDCREG ; clear the status indicator (no error handling - nothing useful to do anyway) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
255 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
256 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
257 LC109 fcb 19 ; number of keywords (commands) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
258 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
259 LC109 fcb 20 ; number of keywords (commands) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
260 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
261 fdb LC192 ; keyword table (commands) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
262 fdb LC238 ; handler (commands) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
263 fcb 6 ; number of keywords (functions) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
264 fdb LC219 ; keyboard table (functions) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
265 fdb LC24E ; handler (functions) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
266 LC113 fdb DVEC0,DVEC1,DVEC2 ; RAM hook handler addresses |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
267 fdb DVEC3,DVEC4,DVEC5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
268 fdb DVEC6,DVEC7,DVEC8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
269 fdb XVEC9,DVEC10,DVEC11 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
270 fdb DVEC12,DVEC13,DVEC14 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
271 fdb DVEC15,DVEC12,DVEC17 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
272 fdb DVEC18 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
273 ; Sign on message |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
274 LC139 fcc 'DISK EXTENDED COLOR BASIC 1.' |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
275 fcb MINORVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
276 fcb 0x0d |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
277 fcc 'COPYRIGHT (C) 198' |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
278 fcb CYEAR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
279 fcc ' BY TANDY' |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
280 fcb 0x0d |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
281 fcc 'UNDER LICENSE FROM MICROSOFT' |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
282 fcb 0x0d,0x0d,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
283 ; Keyword list (commands) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
284 LC192 fcs 'DIR' ; 0xce |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
285 fcs 'DRIVE' ; 0xcf |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
286 fcs 'FIELD' ; 0xd0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
287 fcs 'FILES' ; 0xd1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
288 fcs 'KILL' ; 0xd2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
289 fcs 'LOAD' ; 0xd3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
290 fcs 'LSET' ; 0xd4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
291 fcs 'MERGE' ; 0xd5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
292 fcs 'RENAME' ; 0xd6 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
293 fcs 'RSET' ; 0xd7 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
294 fcs 'SAVE' ; 0xd8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
295 fcs 'WRITE' ; 0xd9 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
296 fcs 'VERIFY' ; 0xda |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
297 fcs 'UNLOAD' ; 0xdb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
298 fcs 'DSKINI' ; 0xdc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
299 fcs 'BACKUP' ; 0xdd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
300 fcs 'COPY' ; 0xde |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
301 fcs 'DSKI$' ; 0xdf |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
302 fcs 'DSKO$' ; 0xe0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
303 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
304 fcs 'DOS' ; 0xe1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
305 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
306 ; Jump table (commands) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
307 LC1F1 fdb DIR ; 0xce DIR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
308 fdb DRIVE ; 0xcf DRIVE |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
309 fdb FIELD ; 0xd0 FIELD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
310 fdb FILES ; 0xd1 FILES |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
311 fdb KILL ; 0xd2 KILL |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
312 fdb LOAD ; 0xd3 LOAD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
313 fdb LSET ; 0xd4 LSET |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
314 fdb MERGE ; 0xd5 MERGE |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
315 fdb RENAME ; 0xd6 RENAME |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
316 fdb RSET ; 0xd7 RSET |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
317 fdb SAVE ; 0xd8 SAVE |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
318 fdb WRITE ; 0xd9 WRITE |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
319 fdb VERIFY ; 0xda VERIFY |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
320 fdb UNLOAD ; 0xdb UNLOAD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
321 fdb DSKINI ; 0xdc DSKINI |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
322 fdb BACKUP ; 0xdd BACKUP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
323 fdb COPY ; 0xde COPY |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
324 fdb DSKI ; 0xdf DSKI$ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
325 fdb DSKO ; 0xe0 DSKO$ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
326 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
327 fdb DOS ; 0xe1 DOS |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
328 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
329 ; Keyword list (functions) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
330 LC219 fcs 'CVN' ; 0xa2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
331 fcs 'FREE' ; 0xa3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
332 fcs 'LOC' ; 0xa4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
333 fcs 'LOF' ; 0xa5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
334 fcs 'MKN$' ; 0xa6 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
335 fcs 'AS' ; 0xa7 (here to avoid conflict with ASC) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
336 ; Jump table (functions) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
337 LC22C fdb CVN ; 0xa2 CVN |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
338 fdb FREE ; 0xa3 FREE |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
339 fdb LOC ; 0xa4 LOC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
340 fdb LOF ; 0xa5 LOF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
341 fdb MKN ; 0xa6 MKN$ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
342 fdb LB277 ; 0xa7 AS (not actually a function) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
343 ; Command handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
344 LC238 cmpa #DHITOK ; is it a Disk Basic valid command? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
345 bhi LC244 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
346 ldx #LC1F1 ; point to jump table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
347 suba #0xce ; normalize Disk Basic tokens to 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
348 jmp LADD4 ; return to mainline to execute command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
349 ; The next two instructions are completely pointless. If we get here, the comparison has already |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
350 ; been done and the branch condition is the exact opposite of what brought us here. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
351 LC244 cmpa #DHITOK ; is it a Disk Basic token? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
352 lbls LB277 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
353 jmp [COMVEC+33] ; transfer control to user command handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
354 ; Function handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
355 LC24E cmpb #(0xa7-0x80)*2 ; is it a Disk Basic function token? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
356 bls LC256 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
357 jmp [COMVEC+38] ; transfer control to user handler if not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
358 LC256 subb #(0xa2-0x80)*2 ; normalize Disk Basic tokens to 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
359 pshs b ; save jump table offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
360 jsr LB262 ; evaluate parenthetical expression |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
361 puls b ; get back jump table offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
362 ldx #LC22C ; point to jump table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
363 jmp LB2CE ; rejoin mainline code to transfer control |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
364 ; Error handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
365 DVEC17 puls y ; get back original caller |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
366 jsr LAD33 ; reset some stuff like CONT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
367 jsr LD2D2 ; clean up some Disk Basic stuff |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
368 pshs y,b ; put return address back and save error code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
369 jsr DVEC7 ; close all files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
370 puls b ; get back error code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
371 cmpb #2*27 ; is it a Disk Basic error code? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
372 lblo XVEC17 ; brif not - pass it to Extended Basic |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
373 leas 2,s ; dump the return address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
374 jsr LA7E9 ; stop tape |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
375 jsr LA974 ; stop sound |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
376 clr DEVNUM ; reset output to screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
377 jsr LB95C ; do a newline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
378 jsr LB9AF ; do a ? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
379 ldx #LC290-2*27 ; point to error message table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
380 jmp LAC60 ; rejoin mainline error handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
381 ; Error strings (note that NE error is provided by Extended Basic) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
382 LC290 fcc 'BR' ; 27 Bad record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
383 fcc 'DF' ; 28 Disk full |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
384 fcc 'OB' ; 29 Out of buffer space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
385 fcc 'WP' ; 30 Write protected |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
386 fcc 'FN' ; 31 Bad file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
387 fcc 'FS' ; 32 Bad file structure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
388 fcc 'AE' ; 33 File already exists |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
389 fcc 'FO' ; 34 Field overflow |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
390 fcc 'SE' ; 35 Set to non-fielded string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
391 fcc 'VF' ; 36 Verify error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
392 fcc 'ER' ; 37 Input or write past end of record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
393 BASEXT fcc 'BAS' ; default Basic program file extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
394 DEFEXT fcc ' ' ; default blank extension (three spaces) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
395 DATEXT fcc 'DAT' ; default extension for data files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
396 BINEXT fcc 'BIN' ; default extension for binary files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
397 ; "CLS" vector handler. Extended Basic also chose to use this vector as a way to hook into |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
398 ; the GET/PUT commands, the RENUM token check, and the Extended Basic "functions as commands" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
399 ; interpretation scheme. Only the GET/PUT hook is used. Checking the caller address is hacky |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
400 ; but unavoidable here. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
401 DVEC22 pshs x,cc ; save scratch register and flags |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
402 ldx 3,s ; get caller address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
403 cmpx #L975F ; is it coming from GET/PUT? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
404 bne LC2BF ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
405 cmpa #'# ; is it GET # or PUT # (disk file operations)? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
406 beq LC2C1 ; brif so - don't return to mainline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
407 LC2BF puls cc,x,pc ; restore scratch register, flags, and return to mainline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
408 ; GET/PUT handler for random file access |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
409 LC2C1 leas 5,s ; remove saved state from above and don't return to mainline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
410 jsr LC82E ; evaluate device number and get FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
411 stx FCBTMP ; save the FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
412 clr FCBGET,x ; reset the get data pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
413 clr FCBGET+1,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
414 clr FCBPUT,x ; reset the put data pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
415 clr FCBPUT+1,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
416 clr FCBPOS,x ; reset print position |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
417 lda FCBDRV,x ; get drive number for the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
418 sta DCDRV ; set it as the DSKCON drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
419 jsr GETCCH ; end of statement? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
420 beq LC2EA ; brif so - use current record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
421 jsr SYNCOMMA ; insist on a comma |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
422 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
423 jsr LB3E6 ; evaluate expression to D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
424 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
425 jsr LB73D ; get unsigned 16 bit number to X |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
426 tfr x,d ; stash it in D so we can use X as a pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
427 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
428 LC2E6 ldx FCBTMP ; get back FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
429 std FCBREC,x ; set the current record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
430 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
431 LC2EA jsr LC685 ; bump record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
432 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
433 LC2EA ldd FCBREC,x ; get desired record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
434 beq LC30B ; brif 0 - records start at 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
435 jsr LC685 ; bump record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
436 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
437 ldd FCBRLN,x ; get record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
438 ldx FCBBUF,x ; point to FCB data buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
439 pshs x,b,a ; save them |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
440 leax -2,u ; point to record number (but zero based) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
441 jsr L9FB5 ; do unsigned multiply of record length and record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
442 pshs u,y ; save product (this is the file offset to the record) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
443 lda ,s+ ; is MSB 0? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
444 bne LC30B ; brif not - record number too big |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
445 puls x ; middle two bytes are sector number in file - retrieve it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
446 puls b ; LSB is offset into the sector - retrieve it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
447 LC306 cmpx #(35-1)*18 ; is it more than the maximum number of sectors a file can have? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
448 blo LC310 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
449 LC30B ldb #2*27 ; code for bad record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
450 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
451 LC310 ldu FCBTMP ; get pointer to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
452 cmpx FCBSOF,u ; is it the same sector we're already handling? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
453 lbeq LC3CF ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
454 pshs x,b ; save sector number and sector offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
455 lda FCBFLG,u ; were we doing get or put? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
456 beq LC324 ; brif we were doing get |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
457 clr FCBFLG,u ; flag doing get |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
458 ldb #3 ; write operation code for DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
459 bsr LC357 ; write the sector data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
460 LC324 ldd 1,s ; get sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
461 jsr LC784 ; convert to a granule offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
462 pshs b ; save granule offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
463 jsr LC779 ; calculate starting sector of granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
464 negb ; make negative |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
465 addb 3,s ; add LS byte of sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
466 incb ; add one - sectors in FCB start at 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
467 stb FCBSEC,u ; set sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
468 ldb FCBFGR,u ; get first granule in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
469 jsr LC755 ; fetch FAT pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
470 leau FATCON,x ; point to actual granule table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
471 lda ,s ; get number of granules offset to the record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
472 inca ; bump it (compensate for deca below) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
473 LC33E leax ,u ; point X to entry for this granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
474 abx |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
475 deca ; are we at the correct one? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
476 beq LC37B ; bif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
477 stb ,s ; save granule offset on stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
478 ldb ,x ; get next granule in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
479 cmpb #0xc0 ; is it "end of file" flag? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
480 blo LC33E ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
481 ldb ,s ; get offset to previous granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
482 tst VD8 ; get or put? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
483 bne LC366 ; brif put |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
484 LC352 ldb #2*23 ; code for input past end of file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
485 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
486 LC357 leax FCBCON,u ; point to data buffer for FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
487 LC35A stb DCOPC ; set operation code for DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
488 stx DCBPT ; set buffer pointer for DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
489 leax ,u ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
490 jsr LC763 ; convert FCB track and sector to DSKCON parameters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
491 jmp LD6F2 ; read or write the sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
492 LC366 pshs x,a ; save granule counter and pointer to last used granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
493 jsr LC7BF ; find a free granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
494 tfr a,b ; save allocated granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
495 puls a,u ; get last granule pointer and counter off stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
496 stb ,u ; add it to the file's granule chain |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
497 deca ; do we have enough of them? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
498 bne LC366 ; brif not - allocate another |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
499 pshs x,b ; save alocated granule and pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
500 jsr LC71E ; write the FAT out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
501 puls b,x ; get back allocated granule and pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
502 LC37B leas 1,s ; remove granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
503 ldu FCBTMP ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
504 stb FCBCGR,u ; save current granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
505 lda #0xff ; set to illegal sector offset to force sector data to be read |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
506 sta FCBSOF,u |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
507 lda ,x ; get next granule pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
508 cmpa #0xc0 ; last granule? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
509 blo LC3B2 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
510 anda #0x3f ; get only the number of sectors used |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
511 cmpa FCBSEC,u ; compare calculated sector to current sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
512 bhs LC3B2 ; brif sector is <= last one in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
513 lda VD8 ; GET or PUT? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
514 beq LC352 ; brif GET - do IE error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
515 lda FCBSEC,u ; get sector number from FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
516 ora #0xc0 ; add "last granule" flag bits |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
517 sta ,x ; update FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
518 jsr LC5A9 ; write FAT if needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
519 ldx FCBRLN,u ; get record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
520 cmpx #SECLEN ; exactly one sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
521 bne LC3AD ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
522 cmpx FCBLST,u ; is number of bytes in last sector a full sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
523 beq LC3B2 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
524 lda #0x81 ; set "presaved" flag and force number of bytes to be 256 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
525 skip1 ; skip next byte ("BRN") |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
526 LC3AD clra ; set number of bytes in last sector to 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
527 clrb ; clear LS byte of D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
528 std FCBLST,u ; set number of bytes used in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
529 LC3B2 ldb #2 ; DSKCON read operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
530 ldx FCBRLN,u ; get record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
531 cmpx #SECLEN ; exactly one sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
532 bne LC3C8 ; brif not exactly |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
533 leas 7,s ; clean up stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
534 ldx FCBBUF,u ; point to start of random file buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
535 lda VD8 ; is it GET or PUT? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
536 beq LC3C5 ; brif GET |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
537 ldb #3 ; DSKCON write opreation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
538 LC3C5 jmp LC35A ; go read or write a sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
539 LC3C8 jsr LC357 ; read a sector into data buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
540 puls b,x ; get back byte offset to record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
541 stx FCBSOF,u ; save sector offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
542 LC3CF pshs b ; save sector byte offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
543 jsr LC755 ; point to FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
544 leax FATCON,x ; point to FAT data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
545 ldb FCBCGR,u ; get current granulenumber |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
546 abx ; point to granule data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
547 lda ,x ; get this granule's next pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
548 cmpa #0xc0 ; end of file flag? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
549 blo LC40A ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
550 anda #0x3f ; convert to number of sectors in final granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
551 cmpa FCBSEC,u ; are we asking for the last sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
552 bne LC40A ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
553 ldd FCBLST,u ; get number of bytes in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
554 anda #0x7f ; lose pre-saved flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
555 pshs d ; save number of bytes in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
556 clra ; zero extend byte offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
557 ldb 2,s ; get byte offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
558 addd 3,s ; add in record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
559 cmpd ,s++ ; is it more than last sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
560 bls LC40A ; brif the whole record fits |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
561 tst VD8 ; is it GET? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
562 lbeq LC352 ; brif so - IE error if file doesn't have a whole record available |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
563 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
564 anda #1 ; keep only bit 0 of byte count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
565 ora #0x80 ; set pre-saved flag bit |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
566 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
567 cmpd #SECLEN ; is it a whole sector we need? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
568 bls LC405 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
569 ldd #SECLEN ; force one sector length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
570 LC405 ora #0x80 ; set pre-saved flag bit |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
571 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
572 std FCBLST,u ; save number of bytes in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
573 LC40A puls b ; get byte offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
574 leax FCBCON,u ; point to data buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
575 abx ; offset into data buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
576 ldu 2,s ; point to position in random file buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
577 pshs b ; save byte offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
578 lda #-1 ; convert D into a negative 2 byte number representing unused bytes in sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
579 addd 1,s |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
580 bhs LC421 ; brif there are enough bytes to finish record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
581 std 1,s ; save new temporary record length counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
582 puls b ; restore byte counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
583 negb ; negate it (B is number of bytes available to a record in this sector) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
584 bra LC429 ; move the data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
585 LC421 ldb 2,s ; get remaining record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
586 clr 1,s ; clear the temporary record length counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
587 clr 2,s |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
588 leas 1,s ; we no longer need byte offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
589 LC429 lda VD8 ; GET? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
590 beq LC42F ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
591 exg x,u ; swap pointers so we write to data buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
592 LC42F jsr LA59A ; copy data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
593 stu 2,s ; save new record pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
594 ldu FCBTMP ; get pointer to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
595 lda VD8 ; GET? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
596 beq LC43E ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
597 sta FCBFLG,u ; flag as PUT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
598 stx 2,s ; save buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
599 LC43E ldx FCBSOF,u ; get sector offset count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
600 leax 1,x ; bump it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
601 clrb ; byte offset in this new sector is 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
602 ldu ,s ; get length of record needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
603 lbne LC306 ; brif not already completed ar ecord |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
604 puls a,b,x,pc ; clean up stack and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
605 ; OPEN handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
606 DVEC0 leas 2,s ; don't return mainline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
607 jsr LB156 ; evaluate mode expression |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
608 jsr LB6A4 ; get first character in the mode string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
609 pshs b ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
610 jsr LA5A2 ; parse device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
611 tstb ; disk file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
612 lble LA603 ; return mainline if not disk file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
613 puls a ; get mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
614 pshs a,b ; save mode and file number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
615 clr DEVNUM ; reset device to screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
616 jsr SYNCOMMA ; insist on a comma |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
617 ldx #DATEXT ; point to "DAT" extension as default for data file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
618 jsr LC938 ; parse file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
619 ldd #0x01ff ; file type is "data" (1) and ASCII |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
620 std DFLTYP ; save file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
621 ldx #SECLEN ; default record length - one whole sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
622 jsr GETCCH ; is there a record length specifier? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
623 beq LC481 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
624 jsr SYNCOMMA ; insist on comma |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
625 jsr LB3E6 ; evaluate record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
626 ldx FPA0+2 ; get evaluated length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
627 LC481 stx DFFLEN |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
628 lbeq LB44A ; record length of 0 makes no sense of error if so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
629 jsr LA5C7 ; raise error if more stuff |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
630 puls a,b ; get mode and fil enumber |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
631 LC48D pshs a ; save mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
632 jsr LC749 ; point to FCB for this file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
633 lbne LA61C ; brif the file is already open |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
634 stx FCBTMP ; save FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
635 jsr LC79D ; make sure FAT is valid |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
636 jsr LC68C ; search for requested file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
637 puls b ; get mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
638 lda #INPFIL ; input file flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
639 pshs a ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
640 cmpb #'I ; input mode? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
641 bne LC4C7 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
642 jsr LC6E5 ; see if match was found |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
643 jsr LC807 ; check if it's already open |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
644 ldx V974 ; point to directory data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
645 ldd DIRTYP,x ; get file type and ASCII flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
646 std DFLTYP ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
647 bsr LC52D ; initialize FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
648 jsr LC627 ; go read first sector from file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
649 LC4BB jsr LC755 ; point to FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
650 inc <<FAT0,x ; bump number of open files on this disk |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
651 ldx FCBTMP ; get back FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
652 puls a ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
653 sta <<FCBTYP,x ; save file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
654 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
655 LC4C7 asl ,s ; set type to output |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
656 cmpb #'O ; output requested? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
657 bne LC4E8 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
658 tst V973 ; did file exist? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
659 beq LC4E1 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
660 jsr LC6FC ; kill the old file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
661 lda V973 ; get directory sector number of old file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
662 sta V977 ; save as first free directory entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
663 ldx V974 ; get directory image of old file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
664 stx V978 ; asve it as first free entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
665 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
666 LC4E1 bsr LC567 ; set up new directory entry on disk |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
667 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
668 LC4E1 jsr LC567 ; set up new directory entry on disk |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
669 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
670 bsr LC538 ; initialize the file buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
671 bra LC4BB ; finish setting up FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
672 LC4E8 cmpb #'R ; random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
673 beq LC4F2 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
674 cmpb #'D ; direct file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
675 lbne LA616 ; brif not - bad file mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
676 LC4F2 asl ,s ; set file type to random |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
677 ldd RNBFAD ; get address of random file buffer area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
678 pshs d ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
679 addd DFFLEN ; add in record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
680 bcs LC504 ; brif we overflowed memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
681 cmpd FCBADR ; is it more than FCB data area? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
682 bls LC509 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
683 LC504 ldb #2*29 ; code for out of buffer space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
684 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
685 LC509 pshs d ; save new end of buffer area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
686 tst V973 ; did the file exist? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
687 bne LC514 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
688 bsr LC567 ; set up directory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
689 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
690 LC514 bsr LC52D ; inistialize FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
691 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
692 bra LC519 ; initialize FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
693 LC514 lda #0xff ; set file type match = 0xff (all types) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
694 jsr LC807 ; see if any open file matches and AO error if so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
695 LC519 bsr LC52D ; initialize FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
696 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
697 com FCBSOF,x ; set FCBSOF to 0xff (illegal offset) to force new sector to be read |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
698 inc FCBREC+1,x ; set record number to 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
699 puls a,b,u ; D = end of buffer, U = start of buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
700 std RNBFAD ; save start of free buffer space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
701 stu FCBBUF,x ; save buffer pointer in FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
702 ldu DFFLEN ; get record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
703 stu FCBRLN,x ; save in FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
704 bra LC4BB ; finish setting things up |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
705 LC52D bsr LC538 ; initialize FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
706 ldu V974 ; get directory image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
707 ldu DIRLST,u ; get number of bytes in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
708 stu FCBLST,x ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
709 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
710 LC538 ldx FCBTMP ; get FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
711 ldb #FCBCON ; number of control bytes |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
712 LC53C clr ,x+ ; clear a control byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
713 decb ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
714 bne LC53C ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
715 ldx FCBTMP ; get back FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
716 lda DCDRV ; set drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
717 sta FCBDRV,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
718 lda V976 ; get first granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
719 sta FCBFGR,x ; save it in FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
720 sta FCBCGR,x ; also set as current granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
721 ldb V973 ; get directory sector offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
722 subb #3 ; directory sectors start at 3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
723 aslb ; 8 directory entries per sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
724 aslb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
725 aslb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
726 pshs b ; save sector offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
727 ldd V974 ; get directory pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
728 subd #DBUF0 ; calculate offset in sector buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
729 lda #8 ; 8 directory entries per sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
730 mul ; now A contains 0 to 7 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
731 adda ,s+ ; add to directory sector offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
732 sta FCBDIR,x ; save directory entry number in FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
733 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
734 LC567 ldb #28*2 ; code for disk full |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
735 lda V977 ; get sector number of first empty entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
736 lbeq LAC46 ; brif none found |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
737 sta V973 ; save sector number of first entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
738 sta DSEC ; set DSKCON sector parameter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
739 ldb #2 ; DSKCON read operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
740 stb DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
741 jsr LD6F2 ; read sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
742 ldx V978 ; get address of RAM image of unused directory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
743 stx V974 ; save as current entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
744 leau ,x ; point to directory image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
745 ldb #DIRLEN ; set counter to clear the entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
746 LC586 clr ,x+ ; clear a byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
747 decb ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
748 bne LC586 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
749 ldx #DNAMBF ; point to file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
750 ldb #11 ; 8.3 total number of characters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
751 jsr LA59A ; copy file name into directory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
752 ldd DFLTYP ; get file type and ASCII flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
753 std <<0,u ; save in directory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
754 ldb #33 ; first granule to check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
755 jsr LC7BF ; find first gree granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
756 sta V976 ; save granule found |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
757 sta 2,u ; save as first granule in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
758 ldb #3 ; DSKCON write operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
759 stb DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
760 jsr LD6F2 ; write out directory entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
761 LC5A9 pshs u,x,b,a ; save registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
762 jsr LC755 ; point to FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
763 inc FAT1,x ; mark FAT as changed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
764 lda FAT1,x ; have enough things changed? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
765 cmpa WFATVL |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
766 blo LC5BA ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
767 jsr LC71E ; write FAT out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
768 LC5BA puls a,b,x,u,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
769 ; Generic input handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
770 DVEC4 lda DEVNUM ; get device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
771 lble XVEC4 ; brif not disk file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
772 leas 2,s ; don't return mainline if disk |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
773 LC5C4 pshs x,b ; save registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
774 clr CINBFL ; clear EOF flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
775 ldx #FCBV1-2 ; point to input file buffer table (-2 here to avoid decrementing device) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
776 ldb DEVNUM ; get device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
777 aslb ; two bytes per pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
778 ldx b,x ; get pointer to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
779 ldb FCBTYP,x ; get type of file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
780 cmpb #RANFIL ; random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
781 bne LC5EC ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
782 ldd FCBGET,x ; get record counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
783 cmpd FCBRLN,x ; compare to size of record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
784 bhs LC5FE ; brif pointer is after end of record - handle empty buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
785 addd #1 ; move pointer forward |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
786 std FCBGET,x ; save new read pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
787 ldx FCBBUF,x ; point to data buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
788 leax d,x ; offset to buffer location |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
789 lda -1,x ; get the character (before the increment) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
790 puls b,x,pc ; return the character from the record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
791 LC5EC ldb FCBCFL,x ; has a character been "ungot"? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
792 beq LC5F9 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
793 lda FCBCDT,x ; get ungot character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
794 clr FCBCFL,x ; clear ungot flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
795 puls b,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
796 LC5F9 ldb FCBDFL,x ; is there any data left to read? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
797 beq LC602 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
798 LC5FE com CINBFL ; flag EOF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
799 puls b,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
800 LC602 ldb FCBCPT,x ; get character pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
801 inc FCBCPT,x ; bump saved pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
802 dec FCBLFT,x ; anything left? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
803 beq LC611 ; brif buffer is empty |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
804 abx ; add offset into buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
805 lda FCBCON,x ; get actual character (offset over the FCB control structure) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
806 puls b,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
807 LC611 pshs u,y ; save register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
808 clra ; zero extend offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
809 leau d,x ; now U has buffer offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
810 lda FCBCON,u ; get character to return (offset over FCB control structure) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
811 pshs a ; save return value |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
812 clr FCBCPT,x ; reset character pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
813 lda FCBDRV,x ; set DSKCON to the correct drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
814 sta DCDRV |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
815 bsr LC627 ; read a sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
816 puls a,y,u ; restore registers and get back return value |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
817 puls b,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
818 LC627 lda FCBSEC,x ; get current sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
819 LC629 inca ; bump sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
820 pshs a ; save sector counter for later |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
821 cmpa #9 ; end of granule? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
822 bls LC631 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
823 clra ; reset granule sector offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
824 LC631 sta FCBSEC,x ; save sector offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
825 ldb FCBCGR,x ; get granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
826 leau ,x ; save FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
827 jsr LC755 ; point to correct FAT image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
828 abx ; now X points to granule data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
829 ldb FATCON,x ; get next granule pointer (offset past control data structure) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
830 leax ,u ; reset FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
831 cmpb #0xc0 ; is the current granule the last one? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
832 bhs LC64D ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
833 puls a ; get sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
834 suba #10 ; did it overflow the granule? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
835 bne LC65E ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
836 stb FCBCGR,x ; save new granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
837 bra LC629 ; set variables for new granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
838 LC64D andb #0x3f ; get number of sectors in the granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
839 cmpb #9 ; is it more than a granule has? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
840 bls LC658 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
841 LC653 ldb #2*32 ; code for bad file structure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
842 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
843 LC658 subb ,s+ ; subtract current sector number and also clean stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
844 bcs LC67D ; brif past last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
845 tfr b,a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
846 LC65E pshs a ; save sector number difference |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
847 bsr LC685 ; bump record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
848 lda #2 ; set up for read |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
849 sta DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
850 jsr LC763 ; set DSKCON variables for correct track and sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
851 leau FCBCON,x ; point past control structure to actual buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
852 stu DCBPT ; set read destination |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
853 jsr LD6F2 ; go ahead and read the sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
854 clr FCBLFT,x ; set buffer left to full sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
855 ldb ,s+ ; get sector number back |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
856 bne LC684 ; brif not last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
857 ldd FCBLST,x ; get bytes in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
858 bne LC681 ; brif bytes in last sector is nonzero |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
859 LC67D clrb ; set remaining bytes to 256 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
860 com FCBDFL,x ; flag buffer empty |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
861 LC681 stb FCBLFT,x ; save number of bytes in buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
862 LC684 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
863 LC685 ldu FCBREC,x ; get current record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
864 leau 1,u ; bump it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
865 stu FCBREC,x ; save new record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
866 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
867 ; Scan directory for file name; return sector number in V973, granule in V976, |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
868 ; and pointer to directory data in V974. If disk is full, pointer in V978, |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
869 ; and first unused sector in V977 (and V973 is 0) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
870 LC68C clr V973 ; clear sector number (for not found) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
871 clr V977 ; clear temp sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
872 ldd #0x1102 ; set up to read track 17 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
873 sta DCTRK |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
874 stb DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
875 ldb #3 ; start with sector 3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
876 LC69B stb DSEC ; set DSKCON sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
877 ldu #DBUF0 ; read to global buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
878 stu DCBPT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
879 jsr LD6F2 ; read directory sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
880 LC6A5 stu V974 ; set pointer to directory entry data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
881 leay ,u ; save start of directory entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
882 lda ,u ; NUL (for a deleted entry)? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
883 bne LC6D6 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
884 bsr LC6D9 ; set unused pointers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
885 LC6B0 ldx #DNAMBF ; point to desired file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
886 LC6B3 lda ,x+ ; does a character match? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
887 cmpa ,u+ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
888 bne LC6C7 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
889 cmpx #DNAMBF+11 ; end of file name? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
890 bne LC6B3 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
891 stb V973 ; save sector number for match |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
892 lda FCBFGR,u ; set first granule in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
893 sta V976 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
894 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
895 LC6C7 leau DIRLEN,y ; point to next directory entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
896 cmpu #DBUF0+SECLEN ; end of sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
897 bne LC6A5 ; brif not - search another |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
898 incb ; move to next sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
899 cmpb #11 ; 11 sectors in directory - checked all of them? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
900 bls LC69B ; brif more sectors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
901 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
902 LC6D6 coma ; is first byte of file name 0xff? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
903 bne LC6B0 ; brif not - actually do a search |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
904 LC6D9 lda V977 ; have we already found an unused entry? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
905 bne DVEC12 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
906 stb V977 ; save sector number for unused entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
907 stu V978 ; save pointer to unused entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
908 DVEC12 rts ; NOTE: this is used as a dummy do-nothing RAM hook handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
909 LC6E5 ldb #2*26 ; code for NE error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
910 tst V973 ; was entry found? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
911 bne DVEC12 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
912 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
913 ; KILL command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
914 KILL jsr LC935 ; parse file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
915 jsr LA5C7 ; brif something after file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
916 jsr LC79D ; load FAT data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
917 bsr LC68C ; look up file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
918 bsr LC6E5 ; raise error if not found |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
919 LC6FC lda #0xff ; file type to match (all types) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
920 jsr LC807 ; find any file that matches type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
921 ldx V974 ; get directory entry pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
922 clr ,x ; mark it as unused |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
923 ldb #3 ; set up to write |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
924 stb DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
925 jsr LD6F2 ; write out the updated directory sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
926 ldb DIRGRN,x ; get starting granule of file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
927 LC70F bsr LC755 ; point to correct FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
928 leax FATCON,x ; skip control structure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
929 abx ; now X points to next granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
930 ldb ,x ; get next granule pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
931 lda #0xff ; mark granule free |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
932 sta ,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
933 cmpb #0xc0 ; was it last one? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
934 blo LC70F ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
935 ; Write FAT to drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
936 LC71E ldu #DBUF0 ; point to global sector buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
937 stu DCBPT ; point DSKCON there |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
938 ldd #0x1103 ; set up to write track 17 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
939 sta DCTRK |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
940 stb DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
941 ldb #2 ; FAT is in sector 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
942 stb DSEC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
943 bsr LC755 ; point to proper FAT entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
944 clr FAT1,x ; mark FAT as having no outstanding changes |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
945 leax FATCON,x ; move past control structure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
946 ldb #GRANMX ; get total granule count in a FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
947 jsr LA59A ; copy the FAT data to buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
948 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
949 LC739 clr ,x+ ; clear a byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
950 cmpx #DBUF0+SECLEN ; end of sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
951 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
952 LC739 clr ,u+ ; clear out the rest of the sector (to avoid junk going into it) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
953 cmpu #DBUF0+SECLEN ; end of sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
954 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
955 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
956 bne LC739 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
957 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
958 jmp LD6F2 ; go write the FAT sector out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
959 ; Point X to the correct FCB based on DEVNUM (or B if entering at LC749) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
960 LC744 pshs b ; save register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
961 ldb DEVNUM ; get device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
962 skip2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
963 LC749 pshs b ; save register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
964 lslb ; two bytes per pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
965 ldx #FCBV1-2 ; point to FCB table (-2 to adjust for 1-based file numbers) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
966 ldx b,x ; get pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
967 ldb <<FCBTYP,x ; set flags for file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
968 puls b,pc ; restore register and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
969 ; Point X to FAT image for the selected drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
970 LC755 pshs b,a ; save registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
971 lda DCDRV ; get drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
972 ldb #FATLEN ; get size of FAT mirror |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
973 mul ; calculate offset from first FAT image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
974 ldx #FATBL0 ; point to first FAT image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
975 leax d,x ; offset to correct one |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
976 puls a,b,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
977 ; Set up DSKCON variables to point to the correct sector and track for the current file position |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
978 LC763 ldb FCBCGR,x ; get granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
979 lsrb ; two granules per track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
980 stb DCTRK ; save track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
981 cmpb #17 ; is it below the directory? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
982 blo LC76E ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
983 inc DCTRK ; skip directory track if not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
984 LC76E aslb ; double track number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
985 negb ; subtract from actual granule number: -(TRK*2)+CGR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
986 addb FCBCGR,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
987 bsr LC779 ; set B=9 for odd granule, B=0 for even |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
988 addb FCBSEC,x ; add granule sector offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
989 stb DSEC ; set DSKCON sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
990 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
991 LC779 pshs b,a ; temp store original |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
992 aslb ; times 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
993 rola |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
994 aslb ; times 4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
995 rola |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
996 aslb ; times 8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
997 rola |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
998 addd ,s++ ; times 9 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
999 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1000 ; Convert sector offset in D to a granule offset (0-67) in B (lose fractional part) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1001 LC784 clr ,-s ; make a temporary counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1002 LC786 inc ,s ; bump division counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1003 subd #90 ; does 90 go? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1004 bpl LC786 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1005 lda ,s ; get quotient (+1) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1006 stb ,s ; save remainder (negative) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1007 ldb #10 ; multiply result by 10 (we divided by 90) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1008 mul |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1009 puls a ; get back remainder |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1010 LC796 decb ; decrement granule count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1011 adda #9 ; have we used up the remainder? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1012 bmi LC796 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1013 clra ; zero extend result |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1014 LC79C rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1015 ; Make sure FAT data is valid |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1016 LC79D bsr LC755 ; point to correct FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1017 tst <<FAT0,x ; any open files? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1018 bne LC79C ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1019 clr FAT1,x ; reset change count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1020 leau FATCON,x ; point past control structure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1021 ldx #DBUF0 ; point DSKCON to sector buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1022 stx DCBPT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1023 ldd #0x1102 ; read track 17 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1024 sta DCTRK |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1025 stb DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1026 ldb #2 ; read sector 2 (FAT) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1027 stb DSEC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1028 jsr LD6F2 ; go read FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1029 ldb #GRANMX ; get total FAT data size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1030 jmp LA59A ; copy FAT data from sector buffer to FAT image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1031 ; Find free granule; enter with B containing the start location; mark granule with 0xc0 in the |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1032 ; FAT to indicate last granule in file. Return granule number in A |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1033 LC7BF bsr LC755 ; get pointer to FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1034 leax FATCON,x ; move past controls structure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1035 clra ; reset granule counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1036 andb #0xfe ; start at first granule on track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1037 clr ,-s ; initialize direction counter to down |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1038 LC7C8 com b,x ; is this granule free |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1039 beq LC7FD ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1040 com b,x ; restore granule data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1041 inca ; bump counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1042 cmpa #GRANMX ; searched whole FAT? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1043 bhs LC7F8 ; brif so - disk full |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1044 incb ; bump granule counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1045 bitb #1 ; odd? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1046 bne LC7C8 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1047 pshs b,a ; save granule counter and current granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1048 subb #2 ; move back one track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1049 com 2,s ; flip direction |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1050 bne LC7EC ; brif we're switching to "up" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1051 subb ,s+ ; subtract out granule counter (moves other side of start) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1052 bpl LC7E8 ; brif below lower bound |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1053 ldb ,s ; get original granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1054 LC7E6 com 1,s ; restore direction flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1055 LC7E8 leas 1,s ; remove saved granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1056 bra LC7C8 ; see if we found a free granule yet |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1057 LC7EC addb ,s+ ; move to the top side of starting position |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1058 cmpb #GRANMX ; did we overflow upward? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1059 blo LC7E8 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1060 ldb ,s ; get original granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1061 subb #4 ; move an extra track in the other direction if overflowed up |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1062 bra LC7E6 ; go see if we found a free one yet |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1063 LC7F8 ldb #2*28 ; code for disk full |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1064 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1065 LC7FD leas 1,s ; clean up direction flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1066 tfr b,a ; put granule number in A |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1067 abx ; point X to granule data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1068 ldb #0xc0 ; set granule to "used 0, last of file" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1069 stb ,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1070 LC806 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1071 ; Check active files to see if a file is already open; drive number and granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1072 ; AO will not be generated if the current status matches *exactly* the requested type in A. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1073 LC807 pshs a ; save desired file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1074 ldb FCBACT ; get number of active FCBs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1075 incb ; include the system FCB in the check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1076 LC80D jsr LC749 ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1077 beq LC829 ; brif not open at all |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1078 lda DCDRV ; get desired drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1079 cmpa FCBDRV,x ; match? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1080 bne LC829 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1081 ldu V974 ; get directory entry pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1082 lda DIRGRN,u ; get first granule in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1083 cmpa FCBFGR,x ; does it match? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1084 bne LC829 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1085 lda <<FCBTYP,x ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1086 cmpa ,s ; does it match the type we want? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1087 lbne LA61C ; brif not - raise AO error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1088 LC829 decb ; checked all FCBs? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1089 bne LC80D ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1090 puls a,pc ; clean stack and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1091 ; Parse device number and make sure it's open in random mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1092 LC82E jsr LA5A5 ; evaluate device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1093 clr DEVNUM ; reset device number to screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1094 tstb ; set flags on device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1095 lble LB44A ; brif not a disk file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1096 jsr LC749 ; fetch FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1097 lda <<FCBTYP,x ; is file open? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1098 lbeq LA3FB ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1099 cmpa #RANFIL ; random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1100 beq LC806 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1101 LC845 jmp LA616 ; raise bad file mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1102 ; Input device number check handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1103 DVEC5 lda #INPFIL ; set to check for input file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1104 skip2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1105 ; Output device number check handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1106 DVEC6 lda #OUTFIL ; set to check for output file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1107 tst DEVNUM ; set flags on device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1108 ble LC806 ; brif not a disk file (return) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1109 stx ,s ; save X and lose return address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1110 jsr LC744 ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1111 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1112 pshs a ; save file type requested |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1113 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1114 pshs d ; save b and file type requested |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1115 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1116 lda <<FCBTYP,x ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1117 lbeq LA3FB ; brif not open |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1118 cmpa #RANFIL ; random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1119 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1120 beq LC866 ; brif so - it's good (both input and output) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1121 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1122 beq LC868 ; brif so - it's good (both input and output) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1123 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1124 cmpa ,s ; is it the right type? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1125 bne LC845 ; brif not - bad file mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1126 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1127 LC866 puls a,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1128 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1129 LC866 puls a,b,x,pc ; clean up stack, restore registers, and return to caller |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1130 ; This code is required to work around the dumbosity in the INPUT command which outputs the |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1131 ; prompt string uncondionally so it would cause the prompt string to end up being output to |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1132 ; a random file. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1133 LC868 ldx 4,s ; are we coming from INPUT? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1134 cmpx #LB00C |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1135 bne LC866 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1136 jsr SYNCOMMA ; make sure there's a comma after device |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1137 cmpa #'" ; is there a prompt string? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1138 bne LC881 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1139 jsr LB244 ; parse prompt string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1140 jsr LB657 ; fetch string details (and discard them) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1141 ldb #'; ; make sure there's a semicolon after the prompt string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1142 jsr LB26F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1143 LC881 ldx #LB01E ; return after the prompt string check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1144 stx 4,s |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1145 puls a,b,x,pc ; return to mainline flow |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1146 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1147 ; Device number validity check handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1148 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1149 DVEC1 ble LC806 ; brif not a disk file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1150 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1151 DVEC1 ble LC8AF ; brif not a disk file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1152 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1153 cmpb FCBACT ; is it in range for open files? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1154 lbhi LA61F ; brif not - device number error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1155 puls x,pc ; purge RAM hook call return and return to original caller |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1156 ; Set print parameters handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1157 DVEC2 tst DEVNUM ; is it disk file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1158 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1159 ble LC806 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1160 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1161 ble LC8AF ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1162 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1163 leas 2,s ; don't return to mainline code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1164 pshs x,b,a ; save registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1165 clr PRTDEV ; set print device to "display" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1166 jsr LC744 ; point to correct FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1167 ldb FCBPOS,x ; get print position |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1168 clra ; line width (256) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1169 ldx #0x1000 ; tab width of 16, no last tab position |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1170 jmp LA37C ; go save print parameters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1171 ; LIST break check handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1172 DVEC11 tst DEVNUM ; is it disk file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1173 ble LC8AF ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1174 leas 2,s ; purge return - don't do break check if disk file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1175 LC8AF rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1176 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1177 ; Command interpreation handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1178 ; This code replaces the main command interpretation loop completely. It includes a check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1179 ; to see if any keys are down before doing a break check. This is unneeded with Color Basic |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1180 ; 1.2, but earlier versions of Color Basic benefit from it. This is the only change compared |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1181 ; to plain ECB. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1182 DVEC20 leas 2,s ; don't return to mainline code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1183 LC8B2 andcc #0xaf ; enable interrupts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1184 clr PIA0+2 ; strobe all keyboard columns |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1185 lda PIA0 ; get row data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1186 coma ; invert bits so 1 means pressed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1187 anda #0x7f ; lose the comparator input |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1188 beq LC8C2 ; brif no keys down - don't check for BREAK |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1189 jsr LADEB ; do a break check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1190 LC8C2 ldx CHARAD ; get input pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1191 stx TINPTR ; save it so things can find the start of this statement |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1192 lda ,x+ ; get current character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1193 beq LC8D1 ; brif end of line |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1194 cmpa #': ; is it end of statement? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1195 beq LC8F3 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1196 jmp LB277 ; raise syntax error if not end of statement |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1197 LC8D1 lda ,x++ ; get MSB of next line address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1198 sta ENDFLG ; this sets ENDFLG to "END" (unless program code is above 0x7FFF) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1199 bne LC8DA ; brif not end of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1200 jmp LAE15 ; go do "END" If we fell off the end of the program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1201 LC8DA ldd ,x+ ; get line number for this line (and leave pointer one before line text) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1202 std CURLIN ; set current line number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1203 stx CHARAD ; set input pointer to start of line text |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1204 lda TRCFLG ; are we doing "TRON"? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1205 beq LC8F3 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1206 lda #'[ ; show [ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1207 jsr PUTCHR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1208 lda CURLIN ; restore MSB of line number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1209 jsr LBDCC ; show line number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1210 lda #'] ; show ] |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1211 jsr PUTCHR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1212 LC8F3 jsr GETNCH ; get starting character of next statement |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1213 tfr cc,b ; save flags |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1214 cmpa #0x98 ; CSAVE? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1215 bne LC8FE ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1216 jmp L8316 ; go handle ECB's CSAVE extensions (CSAVEM) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1217 LC8FE cmpa #0x97 ; CLOAD? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1218 bne LC905 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1219 jmp L8311 ; go handle ECB's CLOAD extensions (multi-origin binaries) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1220 LC905 tfr b,cc ; restore flags for input byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1221 jsr LADC6 ; go interpret command token |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1222 bra LC8B2 ; process next statement |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1223 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1224 ; EOF handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1225 DVEC14 leas 2,s ; dont return to mainline code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1226 lda DEVNUM ; get device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1227 pshs a ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1228 jsr LA5AE ; evaluate device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1229 jsr LA3ED ; make sure it's open for input |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1230 tst DEVNUM ; set flags on device |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1231 lble LA5DA ; brif not disk file - go to mainline code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1232 jsr LC744 ; point to correct FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1233 ldb <<FCBTYP,x ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1234 cmpb #RANFIL ; is it random file? (have to check since random is valid for input) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1235 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1236 beq LC845 ; bad file mode if so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1237 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1238 lbeq LA616 ; bad file mode if so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1239 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1240 clrb ; set flag to not EOF (false) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1241 lda FCBCFL,x ; is there an "ungot" character? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1242 bne LC932 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1243 ldb FCBDFL,x ; is there anything in the buffer? Will be 0xff if not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1244 LC932 jmp LA5E4 ; return status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1245 ; Parse a disk file name. Enter at LC938 with a pointer to the default extension in X. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1246 ; Valid file name patterns are: |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1247 ; N:FILENAME[.EXT] |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1248 ; N:FILENAME[/EXT] |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1249 ; FILENAME[.EXT][:N] |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1250 ; FILENAME[/EXT][:N] |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1251 ; where N is a drive number. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1252 LC935 ldx #DEFEXT ; point to blank default extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1253 LC938 clr ,-s ; set a flag for whether drive number was seen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1254 lda DEFDRV ; set drive number to default (as set by DRIVE) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1255 sta DCDRV |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1256 ldu #DNAMBF ; point to file name buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1257 ldd #0x2008 ; space character and 8 characters to set |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1258 LC945 sta ,u+ ; blank a character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1259 decb ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1260 bne LC945 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1261 ldb #3 ; three characters in extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1262 jsr LA59A ; set default extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1263 jsr L8748 ; evaluate file name string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1264 leau ,x ; point to start of the string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1265 cmpb #2 ; is string less than 2 characters? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1266 blo LC96A ; brif so - can't be N:FILENAME.EXT pattern |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1267 lda 1,u ; get second character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1268 cmpa #': ; is it colon? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1269 bne LC96A ; brif not - no leading drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1270 lda ,u ; get leading character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1271 cmpa #'0 ; is it below ASCII 0? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1272 blo LC96A ; brif so - not a drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1273 cmpa #'3 ; is it above ASCII 3? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1274 bhi LC96A ; brif so - not a drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1275 bsr LC99D ; get drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1276 LC96A ldx #DNAMBF ; point to start of file name buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1277 incb ; compensate for DECB below |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1278 LC96E decb ; end of string? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1279 bne LC97D ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1280 leas 1,s ; clean up drive number seen flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1281 LC973 cmpx #DNAMBF ; was there a file name? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1282 bne LC9DF ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1283 LC978 ldb #2*31 ; bad file name error code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1284 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1285 LC97D lda ,u+ ; get character from string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1286 cmpa #'. ; is it extension? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1287 beq LC9B0 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1288 cmpa #'/ ; is it other extension introducer? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1289 beq LC9B0 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1290 cmpa #': ; drive number introducer? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1291 beq LC994 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1292 cmpx #DEXTBF ; are we at the end of the file name buffer? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1293 beq LC978 ; brif so - name too long |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1294 bsr LC9D0 ; put character in file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1295 bra LC96E ; process another |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1296 LC994 bsr LC973 ; bad file name if no name yet |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1297 bsr LC99D ; parse drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1298 tstb ; is there anything left? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1299 bne LC978 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1300 LC99B puls a,pc ; clean up strack and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1301 LC99D com 2,s ; toggle drive number seen flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1302 beq LC978 ; brif we've seen drive number already |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1303 lda ,u++ ; get drive number and skip trailing : if leading |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1304 subb #2 ; take two characters from string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1305 suba #'0 ; remove ASCII bias |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1306 blo LC978 ; brif not a digit |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1307 cmpa #3 ; is it in range? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1308 bhi LC978 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1309 sta DCDRV ; save drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1310 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1311 LC9B0 bsr LC973 ; error if no file name yet |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1312 ldx #DFLTYP ; point to end of extension buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1313 lda #0x20 ; space (for padding extension) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1314 LC9B7 sta ,-x ; insert padding character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1315 cmpx #DEXTBF ; done yet? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1316 bne LC9B7 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1317 LC9BE decb ; are we at the end of the string? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1318 beq LC99B ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1319 lda ,u+ ; get character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1320 cmpa #': ; drive number? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1321 beq LC994 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1322 cmpx #DFLTYP ; is extension full? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1323 beq LC978 ; brif so - bad fil ename |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1324 bsr LC9D0 ; put character in buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1325 bra LC9BE ; process another character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1326 LC9D0 sta ,x+ ; put character in buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1327 beq LC978 ; brif NUL - don't allow it (first character NUL is deleted file) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1328 cmpa #'. ; dot? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1329 beq LC978 ; brif not - don't allow extension separator |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1330 cmpa #'/ ; ditto for slash |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1331 beq LC978 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1332 inca ; is if 0xff? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1333 beq LC978 ; brif so - first character 0xff means never used entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1334 LC9DF rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1335 ; SAVE command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1336 SAVE cmpa #'M ; is it SAVEM? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1337 lbeq LCF68 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1338 bsr LCA33 ; parse file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1339 ldx ZERO ; set to BASIC program and binary |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1340 stx DFLTYP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1341 jsr GETCCH ; is there something after the file name? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1342 beq LCA12 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1343 jsr SYNCOMMA ; make sure we have a comma |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1344 ldb #'A ; only valid flag is "A" for ASCII |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1345 jsr LB26F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1346 bne LC9DF ; brif more stuff follows - error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1347 com DASCFL ; set to ASCII type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1348 bsr LCA04 ; open sequential file for output |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1349 clra ; set Z to cause whole program to be listed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1350 jmp LIST ; let LIST do the heavy lifting |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1351 LCA04 lda #'O ; output file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1352 skip2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1353 LCA07 lda #'I ; iput file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1354 ldb FCBACT ; get number of active FCBs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1355 incb ; bump to system FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1356 stb DEVNUM ; use the system FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1357 jmp LC48D ; open file and initialize FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1358 LCA12 bsr LCA04 ; open file for output |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1359 lda #0xff ; send basic file flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1360 jsr LCC24 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1361 ldd VARTAB ; get end of program address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1362 subd TXTTAB ; now we have length of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1363 jsr LCC24 ; output length MS byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1364 tfr b,a ; output length LS byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1365 jsr LCC24 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1366 ldx TXTTAB ; point to start of program text |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1367 LCA27 lda ,x+ ; output byte from program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1368 jsr LCC24 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1369 cmpx VARTAB ; end of program? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1370 bne LCA27 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1371 jmp LA42D ; close the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1372 LCA33 ldx #BASEXT ; point to BAS extension (for basic programs) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1373 jmp LC938 ; parse file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1374 ; MERGE command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1375 MERGE clra ; run flag: 0 = don't run |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1376 ldb #0xff ; merge flag: 0xff = merge |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1377 bra LCA50 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1378 ; RUN handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1379 DVEC18 cmpa #'" ; do we have a file name? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1380 lbne XVEC18 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1381 lda #2 ; RUN flag - run after loading |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1382 bra LCA4F ; load file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1383 ; LOAD command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1384 LOAD cmpa #'M ; is it LOADM? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1385 lbeq LCFC1 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1386 clra ; set not to RUN |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1387 LCA4F clrb ; set not to MERGE |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1388 LCA50 sta DRUNFL ; save RUN flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1389 stb DMRGFL ; save MERGE flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1390 bsr LCA33 ; parse file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1391 jsr GETCCH ; is there anything after the file name? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1392 beq LCA6C ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1393 jsr SYNCOMMA ; make sure comma |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1394 ldb #'R ; make sure the flag is "R" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1395 jsr LB26F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1396 jsr LA5C7 ; error if anything else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1397 lda #3 ; set flags to RUN and not close files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1398 sta DRUNFL |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1399 LCA6C bsr LCA07 ; open file for input |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1400 lda DASCFL ; is it ASCII? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1401 beq LCA7E ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1402 tst DMRGFL ; is it merge? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1403 bne LCA7B ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1404 jsr LAD19 ; do a "NEW" - erase existing program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1405 LCA7B jmp LAC7C ; let immediate mode do the heavy lifting now |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1406 LCA7E lda DFLTYP ; get type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1407 ora DMRGFL ; mix with merge flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1408 lbne LA616 ; if either of the above was nonzero, raise bad file mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1409 jsr LAD19 ; erase existing program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1410 com DLODFL ; flag that we're loading a program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1411 jsr LCDBC ; get initial character (discard it, should be 0xff) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1412 jsr LCDBC ; get MSB of length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1413 pshs a ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1414 jsr LCDBC ; get LSB of length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1415 tfr a,b ; save length in D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1416 puls a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1417 addd TXTTAB ; add to start of program text |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1418 jsr LAC37 ; make sure it fits |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1419 ldx TXTTAB ; point to start of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1420 LCAA4 jsr LC5C4 ; get a character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1421 ldb CINBFL ; EOF? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1422 bne LCAAF ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1423 sta ,x+ ; save character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1424 bra LCAA4 ; process more |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1425 LCAAF clr DLODFL ; clear load flag - no errors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1426 stx VARTAB ; set new end of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1427 ldb #3 ; make sure the last three bytes were 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1428 LCAB6 lda ,-x ; do we have a 0? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1429 bne LCABD ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1430 decb ; done all three? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1431 bne LCAB6 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1432 LCABD ldx VARTAB ; get end of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1433 LCABF stx VARTAB ; save new end of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1434 clr ,x+ ; blank a byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1435 decb ; done enough? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1436 bpl LCABF ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1437 LCAC6 jsr LA42D ; close the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1438 jsr LAD21 ; clear variables, reset stack, etc. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1439 jsr XVEC18 ; initalize graphics stuff |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1440 jsr LACEF ; recalculate line pointers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1441 asr DRUNFL ; are we supposed to close all files? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1442 bcs LCADA ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1443 jsr LA426 ; close all open files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1444 LCADA asr DRUNFL ; are we supposed to run the program/ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1445 lbcs LAD9E ; brif so - launch program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1446 jmp LAC73 ; return to immediate mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1447 ; EOF handler for main loop |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1448 DVEC13 tst DEVNUM ; is it disk file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1449 bgt LCAC6 ; brif so - run it if required |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1450 rts ; return to mainline otherwise |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1451 ; Close all files handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1452 DVEC7 ldb FCBACT ; get number of reserved FCBs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1453 incb ; include system FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1454 LCAED pshs b ; save file count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1455 stb DEVNUM ; set device to close |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1456 bsr LCB01 ; close it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1457 puls b ; get back file count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1458 decb ; move to next one |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1459 bne LCAED ; brif not done all disk files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1460 LCAF8 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1461 ; Close one file handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1462 DVEC8 tst DEVNUM ; is it a disk file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1463 lble XVEC8 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1464 leas 2,s ; don't return to mainline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1465 LCB01 jsr LC744 ; get FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1466 clr DEVNUM ; reset device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1467 LCB06 stx FCBTMP ; save FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1468 lda <<FCBTYP,x ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1469 beq LCAF8 ; brif file isn't open - we don't have to do anything |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1470 pshs a ; save file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1471 clr <<FCBTYP,x ; mark file closed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1472 ldb FCBDRV,x ; tell DSKCON which drive the file is on |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1473 stb DCDRV |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1474 cmpa #OUTFIL ; output file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1475 bne LCB31 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1476 ldb FCBLFT,x ; get number of characters in output buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1477 lda #0x80 ; set pre-saved bit to indicate data already saved |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1478 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1479 ora FCBCPT,x ; merge with full sector flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1480 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1481 std FCBLST,x ; save number of bytes used in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1482 inc FCBSEC,x ; bump sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1483 ldb FCBCGR,x ; get current granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1484 jsr LC755 ; point to FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1485 sta FAT1,x ; mark FAT data invalid |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1486 abx ; add granule offset to pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1487 inc FATCON,x ; add one to sector count for last granule (skip control bytes) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1488 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1489 LCB2E bra LCBC3 ; update FAT and directory, write out any final data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1490 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1491 LCB2E jmp LCBC3 ; update FAT and directory, write out any final data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1492 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1493 LCB31 cmpa #RANFIL ; random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1494 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1495 bne LCBC3 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1496 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1497 bne LCB2E ; brif not - update FAT and directory for input file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1498 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1499 ldd FCBRLN,x ; get record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1500 ldx FCBBUF,x ; get buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1501 leay d,x ; point to end of random file buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1502 pshs y,x,b,a ; save pointers and length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1503 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1504 leay ,s ; save stack pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1505 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1506 ldu VARTAB ; get start of variables |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1507 LCB41 cmpu ARYTAB ; end of scalars? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1508 beq LCB54 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1509 lda 1,u ; get second byte of variable name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1510 leau 2,u ; move past variable name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1511 bpl LCB4E ; brif numeric |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1512 bsr LCB76 ; adjust string variable if in random file buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1513 LCB4E leau 5,u ; move to next variable entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1514 bra LCB41 ; process next variable entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1515 LCB52 puls u ; get address of next array |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1516 LCB54 cmpu ARYEND ; end of arrays? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1517 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1518 beq LCB91 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1519 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1520 beq LCB93 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1521 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1522 tfr u,d ; save array start |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1523 addd 2,u ; add length of array |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1524 pshs d ; save address of next array |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1525 lda 1,u ; is it string? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1526 bpl LCB52 ; brif not - do next array |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1527 ldb 4,u ; get number of dimensions |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1528 aslb ; two bytes per dimension size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1529 addb #5 ; 5 bytes constant per array header |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1530 clra ; zero extend |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1531 leau d,u ; point to start of array data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1532 LCB6B cmpu ,s ; end of this array? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1533 beq LCB52 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1534 bsr LCB76 ; adjust string variable if in random file buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1535 leau 5,u ; move to next entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1536 bra LCB6B ; process next entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1537 LCB76 ldx 2,u ; get pointer to start of string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1538 cmpx RNBFAD ; is it above top of random buffer area? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1539 bhs LCB8B ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1540 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1541 cmpx 4,s ; is it below this file's buffer area? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1542 blo LCB8C ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1543 cmpx 6,s ; is it above this file's buffer? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1544 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1545 cmpx 2,y ; is it above start of this file's buffer area? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1546 blo LCB8B ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1547 cmpx 4,y ; is it below end of this file's buffer area? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1548 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1549 blo LCB8C ; brif so - we have to adjust it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1550 tfr x,d ; save pointer in D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1551 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1552 subd 2,s ; adjust pointer down by length of buffer area for this file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1553 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1554 subd ,y ; adjust pointer down by length of buffer area for this file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1555 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1556 std 2,u ; save new start of string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1557 LCB8B rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1558 LCB8C clr ,u ; mark string empty |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1559 clr 2,u ; NULL out string address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1560 clr 3,u |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1561 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1562 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1563 LCB91 puls a,b,x,u ; clean up stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1564 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1565 LCB93 ldb FCBACT ; get number of active files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1566 incb ; include system FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1567 LCB97 pshs b ; save files count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1568 jsr LC749 ; point to FCB number in B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1569 lda <<FCBTYP,x ; open as random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1570 cmpa #RANFIL |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1571 bne LCBAD ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1572 ldd FCBBUF,x ; get buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1573 cmpd 4,y ; is it above this file's buffer? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1574 blo LCBAD ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1575 subd ,y ; subtract out length for this file's buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1576 std FCBBUF,x ; save new buffer area pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1577 LCBAD puls b ; get files counter back |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1578 decb ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1579 bne LCB97 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1580 puls a,b,x,u ; get back pointers and buffer length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1581 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1582 LCBB4 cmpu RNBFAD ; at top of buffers? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1583 beq LCBC0 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1584 lda ,u+ ; copy a byte down |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1585 sta ,x+ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1586 bra LCBB4 ; see if we're done yet |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1587 LCBC0 stx RNBFAD ; save new start of free buffer area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1588 LCBC3 jsr LC755 ; point to proper FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1589 dec <<FAT0,x ; remove one active file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1590 tst FAT1,x ; new data in FAT image? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1591 beq LCBCF ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1592 jsr LC71E ; save modified FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1593 LCBCF ldx FCBTMP ; get FCB pointer back |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1594 puls a ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1595 cmpa #OUTFIL ; output? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1596 beq LCBDF ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1597 cmpa #RANFIL ; random? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1598 bne LCB8B ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1599 lda FCBFLG,x ; doing GET? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1600 beq LCBE9 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1601 LCBDF jsr LC763 ; set up track and sector parameters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1602 leau FCBCON,x ; point to data buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1603 stu DCBPT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1604 bsr LCC15 ; write out the sector data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1605 LCBE9 lda FCBLST,x ; data pre-saved? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1606 bpl LCB8B ; brif it has already been saved |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1607 ldb FCBDIR,x ; get directory number for this file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1608 andb #7 ; 8 entries per sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1609 lda #DIRLEN ; calculate offset into directory sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1610 mul |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1611 ldu #DBUF0 ; point to global buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1612 stu DCBPT ; set DSKCON buffer address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1613 leay d,u ; Y points to directory entry now |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1614 ldb FCBDIR,x ; get directory entry number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1615 lsrb ; divide by 8 (gives sector number) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1616 lsrb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1617 lsrb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1618 addb #3 ; first directory sector is 3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1619 stb DSEC ; tell DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1620 ldd #0x1102 ; set up to read track 17 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1621 sta DCTRK |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1622 bsr LCC17 ; read directory sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1623 ldd FCBLST,x ; get number of bytes in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1624 anda #0x7f ; remove pre-saved flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1625 std DIRLST,y ; update directory entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1626 LCC15 ldb #3 ; write operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1627 LCC17 stb DCOPC ; tell DSKCON what to do |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1628 jmp LD6F2 ; go read or write sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1629 ; Generic output handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1630 DVEC3 tst DEVNUM ; disk file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1631 lble XVEC3 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1632 leas 2,s ; don't return to mainline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1633 LCC24 pshs x,b,a ; save registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1634 ldx #FCBV1-2 ; point to FCB list (-2 for 1-based file numbers) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1635 ldb DEVNUM ; get device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1636 aslb ; two bytes per pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1637 ldx b,x ; get FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1638 ldb ,x ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1639 cmpb #INPFIL ; input? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1640 beq LCC6A ; brif so - bail |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1641 cmpa #0x0d ; carriage return? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1642 bne LCC3A ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1643 clr FCBPOS,x ; reset print position if CR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1644 LCC3A cmpa #0x20 ; control code? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1645 blo LCC40 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1646 inc FCBPOS,x ; bump print position if printing character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1647 LCC40 cmpb #RANFIL ; random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1648 bne LCC5E ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1649 ldd FCBPUT,x ; get put pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1650 addd #1 ; bump it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1651 cmpd FCBRLN,x ; did we overflow the record? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1652 lbhi LCDCB ; brif so - raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1653 std FCBPUT,x ; save updated pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1654 ldx FCBBUF,x ; get buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1655 leax d,x ; add in offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1656 puls a ; get back output character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1657 sta -1,x ; save in buffer (-1 because we already bumped pointer) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1658 puls b,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1659 LCC5E inc FCBLFT,x ; bump character count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1660 ldb FCBLFT,x ; did we max out a sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1661 beq LCC6C ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1662 abx ; add offset into sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1663 sta FCBCON-1,x ; save output character in buffer, offset past control structure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1664 LCC6A puls a,b,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1665 LCC6C pshs u,y ; save registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1666 sta SECLEN+FCBCON-1,x ; save last character in buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1667 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1668 jsr LC685 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1669 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1670 ldb FCBDRV,x ; tell DSKCON which drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1671 stb DCDRV |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1672 inc FCBSEC,x ; bump sector counter (in granule) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1673 jsr LCBDF ; write file buffer to disk |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1674 leay ,x ; save FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1675 ldb FCBCGR,x ; get granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1676 jsr LC755 ; get pointer to FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1677 abx ; offset into granule data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1678 leau FATCON,x ; now U points to granule data (offset past control structure) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1679 lda FCBSEC,y ; get current sector offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1680 cmpa #9 ; end of granule? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1681 blo LCC99 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1682 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1683 dec FCBSEC,y ; decrement sector number and bump error flag in case error occurs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1684 inc FCBCPT,y |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1685 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1686 clr FCBSEC,y |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1687 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1688 jsr LC7BF ; allocate granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1689 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1690 clr FCBSEC,y ; clear sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1691 clr FCBCPT,y ; clear error flag - disk not full |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1692 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1693 sta FCBCGR,y ; save new granule in FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1694 skip2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1695 LCC99 ora #0xc0 ; mark granule as end of file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1696 sta ,u ; save in granule map |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1697 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1698 leax ,y ; get back FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1699 jsr LC685 ; bump record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1700 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1701 jsr LC5A9 ; update FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1702 puls y,u ; restore registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1703 puls a,b,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1704 ; DIR command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1705 DIR jsr LD24F ; parse drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1706 jsr LC79D ; fetch FAT for drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1707 jsr LB958 ; do a linefeed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1708 ldd #0x1102 ; set up to read track 17 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1709 sta DCTRK |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1710 stb DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1711 ldb #3 ; start at sector 3 for the directory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1712 LCCBB stb DSEC ; set sector to read |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1713 ldx #DBUF0 ; use the global sector buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1714 stx DCBPT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1715 jsr LD6F2 ; read directory sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1716 LCCC5 puls u ; do some stack games due to break check requirements |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1717 jsr LA549 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1718 pshs u |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1719 lda ,x ; is this entry used? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1720 beq LCD08 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1721 coma ; is it the start of never entries? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1722 beq LCD17 ; brif so - we're done |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1723 pshs x ; save directory data pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1724 ldb #8 ; print out 8 characters for the filename |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1725 jsr LB9A2 ; display file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1726 bsr LCD1B ; put a blank |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1727 ldb #3 ; show 3 characters in extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1728 jsr LB9A2 ; display extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1729 bsr LCD1B ; put a blank |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1730 ldb <<0,x ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1731 cmpb #10 ; is it one digit? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1732 bhs LCCEB ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1733 bsr LCD1B ; put another blank |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1734 LCCEB clra ; zero extend type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1735 jsr LBDCC ; show file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1736 bsr LCD1B ; another blank |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1737 ldx ,s ; get directory entry back |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1738 lda #'B ; set to binary |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1739 adda DIRASC,x ; add ASCII flag - will subtract 1 (to A) if ASCII |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1740 bsr LCD18 ; show character and a blank |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1741 ldb DIRGRN,x ; point to first granule in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1742 bsr LCD1E ; count granules |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1743 tfr a,b ; zero extend into D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1744 clra |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1745 jsr LBDCC ; show granule count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1746 jsr LB958 ; do a newline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1747 puls x ; get back directory pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1748 LCD08 leax DIRLEN,x ; move to next entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1749 cmpx #DBUF0+SECLEN ; end of sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1750 blo LCCC5 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1751 ldb DSEC ; get sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1752 incb ; move to next one |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1753 cmpb #SECMAX ; end of track? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1754 bls LCCBB ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1755 LCD17 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1756 LCD18 jsr PUTCHR ; display character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1757 LCD1B jmp LB9AC ; display a space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1758 ; Count granule chain starting at granule number in B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1759 LCD1E jsr LC755 ; get FAT pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1760 leau FATCON,x ; point past control structure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1761 clra ; reset count to 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1762 LCD24 inca ; bump granule count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1763 cmpa #GRANMX ; at maximum size of disk? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1764 lbhi LC653 ; do FS error if so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1765 leax ,u ; point to base FAT data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1766 abx ; offset to granule number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1767 ldb ,x ; get next granule pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1768 cmpb #0xc0 ; end of file marker? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1769 blo LCD24 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1770 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1771 ; INPUT handler; this whole mess is requried because the disk data format varies from that used |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1772 ; by tape files. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1773 DVEC10 tst DEVNUM ; are we reading from a disk file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1774 ble LCD97 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1775 ldx #LB069 ; change return address to skip ? prompt |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1776 stx ,s |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1777 ldx #LINBUF+1 ; point to input buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1778 ldb #', ; set item separator to , |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1779 stb CHARAC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1780 lda VALTYP ; get type wanted |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1781 bne LCD4B ; brif string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1782 ldb #0x20 ; space is the numeric delimiter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1783 LCD4B bsr LCDBC ; fetch input character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1784 cmpa #0x20 ; space? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1785 beq LCD4B ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1786 cmpa #'" ; quote? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1787 bne LCD5F ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1788 cmpb #', ; delim is ,? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1789 bne LCD5F ; brif not - numeric |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1790 tfr a,b ; save quote as search character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1791 stb CHARAC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1792 bra LCD81 ; save quote as first item in buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1793 LCD5F cmpb #'" ; string value? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1794 beq LCD74 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1795 cmpa #0x0d ; end of line? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1796 bne LCD74 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1797 cmpx #LINBUF+1 ; at start of buffer? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1798 beq LCDB0 ; brif so - check for LF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1799 lda -1,x ; get back input character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1800 cmpa #0x0a ; was it LF? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1801 bne LCDB0 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1802 lda #0x0d ; restore CR as input character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1803 LCD74 tsta ; NUL? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1804 beq LCD8E ; brif so - ignore it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1805 cmpa CHARAC ; hit a delimiter? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1806 beq LCD98 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1807 pshs b ; does it match the other delimiter? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1808 cmpa ,s+ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1809 beq LCD98 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1810 LCD81 sta ,x+ ; save character in buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1811 cmpx #LINBUF+LBUFMX ; end of buffer? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1812 bne LCD8E ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1813 bsr LCDD0 ; fetch character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1814 bne LCD92 ; brif buffer empty |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1815 bra LCDAC ; check for CR/CRLF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1816 LCD8E bsr LCDD0 ; get input character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1817 beq LCD5F ; brif we have something |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1818 LCD92 clr ,x ; put NUL at end of buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1819 ldx #LINBUF ; point to input buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1820 LCD97 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1821 LCD98 cmpa #'" ; quote? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1822 beq LCDA0 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1823 cmpa #0x20 ; space? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1824 bne LCD92 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1825 LCDA0 bsr LCDD0 ; get character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1826 bne LCD92 ; brif end |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1827 cmpa #0x20 ; space? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1828 beq LCDA0 ; brif so - skip it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1829 cmpa #', ; item separator? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1830 beq LCD92 ; brif so - done |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1831 LCDAC cmpa #0x0d ; carriage return? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1832 bne LCDB8 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1833 LCDB0 bsr LCDD0 ; fetch character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1834 bne LCD92 ; brif end |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1835 cmpa #0x0a ; line feed? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1836 beq LCD92 ; brif so - skip it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1837 LCDB8 bsr LCDD6 ; unget character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1838 bra LCD92 ; handle exit |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1839 LCDBC bsr LCDD0 ; fetch character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1840 beq LCDD5 ; brif not end of file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1841 jsr LC744 ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1842 ldb <<FCBTYP,x ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1843 cmpb #RANFIL ; random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1844 lbne LC352 ; brif not - do input past end of file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1845 LCDCB ldb #2*37 ; code for input past end of record |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1846 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1847 LCDD0 jsr LA176 ; read character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1848 tst CINBFL ; set Z if not EOF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1849 LCDD5 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1850 LCDD6 pshs x,b ; save registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1851 jsr LC744 ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1852 ldb <<FCBTYP,x ; random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1853 cmpb #RANFIL |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1854 bne LCDEC ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1855 ldd FCBGET,x ; get input pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1856 subd #1 ; move it back (no error check!) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1857 std FCBGET,x ; save new pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1858 puls b,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1859 LCDEC sta FCBCDT,x ; save unget character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1860 com FCBCFL,x ; flag that we have an ungot character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1861 puls b,x,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1862 ; CVN function |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1863 CVN jsr LB654 ; evaluate argument string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1864 cmpb #5 ; is it at least 5 bytes (packed FP number)? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1865 lblo LB44A ; brif not - raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1866 clr VALTYP ; result is numeric |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1867 jmp LBC14 ; unpack string into return value |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1868 ; MKN$ function |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1869 MKN jsr LB143 ; make sure we have a number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1870 ldb #5 ; string will be 5 bytes long |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1871 jsr LB50F ; reserve space for it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1872 jsr LBC35 ; pack argument into the string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1873 jmp LB69B ; return the newly created string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1874 ; LOC function |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1875 LOC bsr LCE19 ; get pointer to correct FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1876 ldd FCBREC,x ; get record number (random file) or sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1877 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1878 LCE14 jmp GIVABF ; return result as integer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1879 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1880 LCE14 std FPA0+2 ; return result as an unsigned integer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1881 jmp L880E |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1882 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1883 ; Evaluate device number, set print parameters, and point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1884 LCE19 lda DEVNUM ; save current device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1885 pshs a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1886 jsr LB143 ; make sure we have a number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1887 jsr LA5AE ; check device and set print params |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1888 tst DEVNUM ; is it a disk file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1889 lble LB44A ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1890 jsr LC744 ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1891 puls a ; restore original device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1892 sta DEVNUM |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1893 tst <<FCBTYP,x ; is file open? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1894 lbeq LA3FB ; brif not, do NO error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1895 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1896 ; LOF function |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1897 LOF bsr LCE19 ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1898 lda FCBDRV,x ; tell DSKCON the drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1899 sta DCDRV |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1900 ldb FCBFGR,x ; get first granule of file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1901 pshs x ; save FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1902 jsr LCD1E ; count granules in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1903 deca ; subtract out last granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1904 andb #0x3f ; get number of sectors in last granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1905 pshs b ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1906 tfr a,b ; zero extend granule number to D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1907 clra |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1908 jsr LC779 ; multiply by 9 for total sector count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1909 addb ,s+ ; add in sectors in last granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1910 adca #0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1911 puls x ; get back FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1912 pshs a ; temp save |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1913 lda <<FCBTYP,x ; is it random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1914 cmpa #RANFIL |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1915 puls a ; restore register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1916 bne LCE14 ; brif not random file - return number of sectors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1917 pshs x ; save FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1918 subd ZERO ; "tstd" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1919 beq LCE68 ; brif file is empty |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1920 subd #1 ; don't count last sector as fully used |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1921 LCE68 bsr LCE14 ; put D into FPA0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1922 ldb FP0EXP ; is it 0? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1923 beq LCE72 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1924 addb #8 ; multiply by 256 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1925 stb FP0EXP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1926 LCE72 jsr LBC5F ; save result in FPA1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1927 ldx ,s ; get back FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1928 ldd FCBLST,x ; get number of bytes in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1929 anda #0x7f ; clear out pre-save flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1930 bsr LCE14 ; stuff that number in FPA0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1931 clr RESSGN ; result will be positive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1932 lda FP1EXP ; get exponents |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1933 ldb FP0EXP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1934 jsr LB9C5 ; add number of bytes in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1935 jsr LBC5F ; save total in FPA1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1936 puls x ; get FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1937 ldd FCBRLN,x ; get record length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1938 bsr LCE14 ; turn it into a FP number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1939 clr RESSGN ; make result positive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1940 lda FP1EXP ; get exponents |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1941 ldb FP0EXP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1942 jsr LBB91 ; divide total by record size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1943 jmp INT ; return the result as an integer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1944 ; FREE function |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1945 FREE jsr LB143 ; make sure we have a number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1946 jsr LB70E ; get value in B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1947 cmpb #3 ; valid drive? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1948 lbhi LA61F ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1949 stb DCDRV ; set drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1950 jsr LC79D ; read FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1951 jsr LC755 ; point to FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1952 leax FATCON,x ; point to actual granule data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1953 clr ,-s ; initialize free count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1954 ldb #GRANMX ; total granules to check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1955 LCEB6 lda ,x+ ; get granule data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1956 coma ; is it free? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1957 bne LCEBD ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1958 inc ,s ; bump free count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1959 LCEBD decb ; checked them all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1960 bne LCEB6 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1961 puls b ; get free count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1962 jmp LB4F3 ; return free count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1963 ; DRIVE command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1964 DRIVE jsr EVALEXPB ; evaluate drive number to B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1965 cmpb #3 ; valid? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1966 lbhi LA61F ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1967 stb DEFDRV ; set default drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1968 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1969 ; Expression evaluation handler; this is needed so we can move strings into string space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1970 ; if regular assignment to a FIELDed string is done. There really isn't a better place to |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1971 ; intercept this, unfortunately. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1972 DVEC15 lda 4,s ; is it end of operation? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1973 bne LCEE9 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1974 ldx 5,s ; are we comming from LET? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1975 cmpx #LAF9A |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1976 bne LCEE9 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1977 ldx 2,s |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1978 cmpx #LB166 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1979 bne LCEE9 ; and brif not again |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1980 ldx #LCEEC ; install intercept for LET |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1981 stx 5,s |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1982 LCEE9 jmp XVEC15 ; let ECB do its thing |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1983 ; LET modifier |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1984 LCEEC puls a ; get variable type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1985 rora ; set C if string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1986 jsr LB148 ; make sure things match |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1987 lbeq LBC33 ; brif numeric - we can go back to mainline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1988 ldx FPA0+2 ; get string descriptor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1989 ldd 2,x ; get data pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1990 cmpd #DFLBUF ; is it below random buffers? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1991 blo LCF07 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1992 subd FCBADR ; is it within the random buffers? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1993 lblo LAFB1 ; brif so - move string to string space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1994 LCF07 jmp LAFA4 ; return to mainline code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1995 ; ECB interpretation handler intercept; the PMODE intercept fixes a stupid usage of a constant 6 for the |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1996 ; start of graphics memory in PMODE. The DLOAD intercept fixes the problem where DLOADM couldn't be |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1997 ; detected due to A being clobbered before it was checked. Both of those bugs were fixed in ECB 1.1. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1998 DXCVEC cmpa #0xca ; DLOAD? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
1999 beq LCF2A ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2000 cmpa #0xc8 ; PMODE? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2001 lbne L813C ; brif not - return to ECB's handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2002 jsr GETNCH ; get input character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2003 cmpa #', ; no PMODE argument? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2004 lbeq L9650 ; brif not - return to mainline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2005 jsr EVALEXPB ; evaluate PMODE number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2006 cmpb #4 ; valid? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2007 lbhi LB44A ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2008 lda GRPRAM ; fetch start of grahpics memory (work around usage of constant 6 in ECB 1.0) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2009 jmp L962E ; return to mainline PMODE |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2010 LCF2A jsr LA429 ; close files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2011 jsr GETNCH ; fetch input character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2012 jmp L8C1B ; return to mainlnie |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2013 ; ECB function interpetation handler intercept; this is needed to patch into the POS() function. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2014 DXIVEC cmpb #(0x9a-0x80)*2 ; is it POS? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2015 lbne L8168 ; brif not - return to ECB mainline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2016 jsr LB262 ; evaluate argument |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2017 lda DEVNUM ; get device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2018 pshs a ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2019 jsr LA5AE ; evaluate device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2020 jsr LA406 ; make sure it's open |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2021 tst DEVNUM ; disk file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2022 ble LCF5C ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2023 jsr LC744 ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2024 ldb <<FCBTYP,x ; get file type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2025 cmpb #RANFIL ; random file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2026 bne LCF5C ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2027 puls a ; get back saved device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2028 sta DEVNUM |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2029 ldd FCBPUT,x ; get "put" position |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2030 jmp GIVABF ; return that as the position |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2031 LCF5C jsr LA35F ; set print parameters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2032 puls a ; restore device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2033 sta DEVNUM |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2034 ldb DEVPOS ; get print position |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2035 jmp LB4F3 ; return B as unsigned |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2036 ; SAVEM command (comes from SAVE command) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2037 LCF68 jsr GETNCH ; eat the "M" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2038 bsr LCFBB ; parse filename |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2039 jsr L836C ; evaluate start address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2040 jsr L836C ; evaluate end address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2041 cmpx 2,s ; is start > end? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2042 lblo LB44A ; brif so - throw an error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2043 jsr L836C ; evaluate execution address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2044 jsr LA5C7 ; make sure there's nothing more |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2045 ldd #0x200 ; file type 2 (M/L) and binary |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2046 std DFLTYP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2047 jsr LCA04 ; open file for output |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2048 clra ; write preamble header |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2049 bsr LCFB5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2050 ldd 2,s ; get end address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2051 subd 4,s ; subtract start - gets length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2052 addd #1 ; length is inclusive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2053 tfr d,y ; set data counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2054 bsr LCFB3 ; output the length of the block |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2055 ldd 4,s ; output the load address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2056 bsr LCFB3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2057 ldx 4,s ; point to start of block |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2058 LCF9B lda ,x+ ; grab output byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2059 jsr LCC24 ; write it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2060 leay -1,y ; done yet? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2061 bne LCF9B ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2062 lda #0xff ; write header for postamble |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2063 bsr LCFB5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2064 clra ; write dummy 16 bits (would be block length) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2065 clrb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2066 bsr LCFB3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2067 puls d,x,y ; get back execution address and clean stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2068 bsr LCFB3 ; write out execution address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2069 jmp LA42D ; close file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2070 LCFB3 bsr LCFB5 ; write MSB of word; fall through for LSB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2071 LCFB5 jsr LCC24 ; write byte out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2072 exg a,b ; swap bytes in word |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2073 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2074 LCFBB ldx #BINEXT ; set default extension to "BIN" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2075 jmp LC938 ; parse filename |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2076 ; LOADM command (comes from LOAD command) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2077 LCFC1 jsr GETNCH ; eat the "M" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2078 bsr LCFBB ; parse filename |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2079 jsr LCA07 ; open file for input |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2080 ldd DFLTYP ; get type of file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2081 subd #0x200 ; is it M/L and binary? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2082 lbne LA616 ; bad file mode if not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2083 ldx ZERO ; set default offset value |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2084 jsr GETCCH ; is there a load offset? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2085 beq LCFDE ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2086 jsr SYNCOMMA ; insist on a comma |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2087 jsr LB73D ; evaluate offset to X |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2088 LCFDE stx VD3 ; save offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2089 jsr LA5C7 ; insist on end of statement |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2090 LCFE3 jsr LCDBC ; read "amble" header |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2091 pshs a ; save "amble" type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2092 bsr LD013 ; read block length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2093 tfr d,y ; save it (in counter) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2094 bsr LD013 ; read block address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2095 addd VD3 ; add load offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2096 std EXECJP ; set execution address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2097 tfr d,x ; put it also in a pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2098 lda ,s+ ; set flags on "amble" type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2099 lbne LA42D ; brif postamble - stop reading |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2100 LCFFA jsr LC5C4 ; read a byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2101 ldb CINBFL ; EOF? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2102 beq LD004 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2103 jmp LC352 ; raise "IE" error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2104 LD004 sta ,x ; save byte in memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2105 cmpa ,x+ ; does the byte match? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2106 beq LD00D ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2107 jmp LD709 ; bad store - throw I/O error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2108 LD00D leay -1,y ; done whole block? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2109 bne LCFFA ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2110 bra LCFE3 ; process another "amble" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2111 LD013 bsr LD015 ; read MSB then fall through for LSB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2112 LD015 jsr LCDBC ; read a byte from the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2113 exg a,b ; swap bytes in word |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2114 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2115 ; RENAME command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2116 RENAME ldx CHARAD ; get input pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2117 pshs x ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2118 bsr LD056 ; evaluate source file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2119 lda DCDRV ; save drive for first file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2120 pshs a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2121 bsr LD051 ; evaluate TO and destination file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2122 puls a ; get back original drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2123 cmpa DCDRV ; does it match? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2124 lbne LB44A ; brif not - we can't rename across drives |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2125 bsr LD059 ; make sure new file does not already exist |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2126 puls x ; get back input pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2127 stx CHARAD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2128 bsr LD056 ; re-evaluate source file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2129 jsr LC68C ; find the source file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2130 jsr LC6E5 ; throw error if not found |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2131 bsr LD051 ; evaluate destination file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2132 ldx #DNAMBF ; point to destinatoin file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2133 ldu V974 ; point to directory entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2134 ldb #11 ; 8 characters file name and 3 characters extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2135 jsr LA59A ; replace file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2136 ldb #3 ; operation code for write |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2137 stb DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2138 jmp LD6F2 ; write updated directory sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2139 LD051 ldb #0xa5 ; insist on "TO" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2140 jsr LB26F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2141 LD056 jmp LC935 ; evaluate file name with default blank extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2142 LD059 jsr LC68C ; find file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2143 ldb #33*2 ; code for already exists |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2144 tst V973 ; does it exist? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2145 lbne LAC46 ; brif so - raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2146 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2147 ; WRITE command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2148 WRITE lbeq LB958 ; do CR if end of statement |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2149 bsr LD06F ; write an item list |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2150 clr DEVNUM ; reset device to screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2151 LD06E rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2152 LD06F cmpa #'# ; device number? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2153 bne LD082 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2154 jsr LA5A5 ; evaluate device number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2155 jsr LA406 ; check for output |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2156 jsr GETCCH ; end of statement? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2157 lbeq LB958 ; brif so - do newline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2158 LD07F jsr SYNCOMMA ; need a comma after device |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2159 LD082 jsr LB156 ; evaluate expression |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2160 lda VALTYP ; number or string? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2161 bne LD0A7 ; brif string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2162 jsr LBDD9 ; convert number to strng |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2163 jsr LB516 ; stash it as the current value |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2164 jsr LB99F ; output the string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2165 LD092 jsr GETCCH ; is there more? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2166 lbeq LB958 ; brif not - do newline |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2167 lda #', ; comma for non-tape separator |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2168 jsr LA35F ; set print parameters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2169 tst PRTDEV ; tape? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2170 beq LD0A3 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2171 lda #0x0d ; carriage return for tape separator |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2172 LD0A3 bsr LD0B9 ; send separator |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2173 bra LD07F ; process another item |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2174 LD0A7 bsr LD0B0 ; print leading string delimiter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2175 jsr LB99F ; print string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2176 bsr LD0B0 ; print ending string delimiter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2177 bra LD092 ; handle separator or next item |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2178 LD0B0 jsr LA35F ; set print parameters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2179 tst PRTDEV ; tape? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2180 bne LD06E ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2181 lda #'" ; string delimiter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2182 LD0B9 jmp PUTCHR ; send character out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2183 ; FIELD command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2184 FIELD jsr LC82E ; evaluate device number and make sure it's a random file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2185 clra ; clear total field length counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2186 clrb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2187 pshs x,b,a ; save field length and FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2188 LD0C3 jsr GETCCH ; are we at the end of the statement? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2189 bne LD0C9 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2190 puls a,b,x,pc ; clean up stack and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2191 LD0C9 jsr LB738 ; evaluate comma and expression |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2192 pshs x,b ; save field length (B) and make a hole for a temp |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2193 clra ; zero extend length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2194 addd 3,s ; add in current accumulated size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2195 bcs LD0DA ; brif we overflowed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2196 ldx 5,s ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2197 cmpd FCBRLN,x ; have we overflowed the record? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2198 bls LD0DF ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2199 LD0DA ldb #34*2 ; code for field overflow |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2200 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2201 LD0DF ldu 3,s ; get old accumulated length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2202 std 3,s ; save new accumulated length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2203 ldd FCBBUF,x ; get start of random buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2204 leau d,u ; now U is the start of the field in the buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2205 stu 1,s ; save it so we can set string descriptor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2206 ldb #0xff ; insist on two byte "AS" token |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2207 jsr LB26F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2208 ldb #0xa7 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2209 jsr LB26F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2210 jsr LB357 ; evaluate variable |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2211 jsr LB146 ; error if it's a number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2212 puls b,u ; get back field length and buffer address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2213 stb ,x ; put those in the string descriptor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2214 stu 2,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2215 bra LD0C3 ; look for another entry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2216 ; RSET command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2217 RSET skip1lda ; set nonzero for right justify and fall through |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2218 ; LSET command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2219 LSET clra ; set zero to flag left justify |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2220 pshs a ; save justification type |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2221 jsr LB357 ; evaluate variable |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2222 jsr LB146 ; make sure it's a string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2223 pshs x ; save descriptor address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2224 ldx 2,x ; get address of string data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2225 cmpx #DFLBUF ; is it below random buffer area? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2226 blo LD119 ; brif below - throw error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2227 cmpx FCBADR ; is it above the random buffer area? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2228 blo LD11E ; brif not - it's good |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2229 LD119 ldb #2*35 ; code for "set to non-fielded string" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2230 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2231 LD11E ldb #0xb3 ; insist on = |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2232 jsr LB26F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2233 jsr L8748 ; evaluate string expression; return details |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2234 puls y ; get back destination descriptor pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2235 lda ,y ; get length of field string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2236 beq LD15A ; brif empty destination |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2237 pshs b ; save length of new string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2238 ldb #0x20 ; pad characteris space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2239 ldu 2,y ; point to destination string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2240 LD132 stb ,u+ ; blank out string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2241 deca ; done yet? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2242 bne LD132 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2243 ldb ,s+ ; get length of data string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2244 beq LD15A ; brif that one is NULL |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2245 cmpb ,y ; is data string smaller than destination? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2246 blo LD143 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2247 ldb ,y ; get length of destination string as the copy length |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2248 clr ,s ; we'll do left justify if string is longer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2249 LD143 ldu 2,y ; get address of the destination |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2250 tst ,s+ ; left or right justify? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2251 beq LD157 ; brif left set |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2252 pshs b ; save number of bytes to move into field string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2253 clra ; get negation of that in D (do -DLEN+FLEN) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2254 negb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2255 sbca #0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2256 addb ,y ; then add string length of destination to it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2257 adca #0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2258 leau d,u ; now U points to destination offset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2259 puls b ; get back destination size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2260 LD157 jmp LA59A ; copy data and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2261 LD15A puls a,pc ; clean up stack and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2262 ; FILES command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2263 FILES jsr L95AC ; reset video display |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2264 ldd FCBADR ; get current size of buffer space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2265 subd #DFLBUF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2266 pshs d ; save it as the default size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2267 ldb FCBACT ; get number of available disk files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2268 pshs b ; save it as the default number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2269 jsr GETCCH ; get input character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2270 cmpa #', ; is numer of files specified? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2271 beq LD181 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2272 jsr EVALEXPB ; evaluate the number of files wanted |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2273 cmpb #15 ; we only allow 15 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2274 lbhi LB44A ; raise error if too many |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2275 stb ,s ; save number of FCBs to allocate |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2276 jsr GETCCH ; see what's after the number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2277 beq LD189 ; brif no buffer size specified |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2278 LD181 jsr SYNCOMMA ; insist on a comma |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2279 jsr LB3E6 ; evaluate buffer size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2280 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2281 addd #1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2282 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2283 std 1,s ; save buffer size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2284 LD189 jsr DVEC7 ; close all disk files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2285 ldb ,s ; get number of files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2286 pshs b ; initialize the file number count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2287 ldd #DFLBUF ; point to start of random buffers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2288 addd 2,s ; add in size requested for buffer space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2289 bcs LD208 ; raise error if we carry |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2290 std 2,s ; save start of FCBs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2291 LD199 addd #FCBLEN ; add size of one FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2292 bcs LD208 ; brif we overflowed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2293 dec ,s ; added on for all files? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2294 bpl LD199 ; brif not yet (BPL so we set up the system one as well) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2295 tstb ; are we at an even page boundary? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2296 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2297 beq LD1AF ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2298 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2299 beq LD1A8 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2300 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2301 inca ; round up |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2302 beq LD208 ; brif we overflowed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2303 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2304 LD1A8 bita #1 ; on an even 512 byte boundary? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2305 beq LD1AF ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2306 inca ; round up |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2307 beq LD208 ; brif we overflowed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2308 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2309 LD1AF sta ,s ; save MSB of graphics memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2310 ldd VARTAB ; get end of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2311 suba GRPRAM ; subtract out start of graphics (D is now size of program and graphics) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2312 adda ,s ; add in the new start of graphics |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2313 bcs LD208 ; brif overflow |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2314 tfr d,x ; save new top of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2315 inca ; add some extra room for the stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2316 beq LD208 ; brif overflow |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2317 cmpd FRETOP ; does it fit in memory? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2318 bhs LD208 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2319 deca ; restore actual top of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2320 subd VARTAB ; get difference compared to the original top of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2321 addd TXTTAB ; add that to the program start |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2322 tfr d,y ; now Y is the new start of the program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2323 lda ,s ; get back start of graphics memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2324 suba GRPRAM ; this gives difference between old graphics start and new grahpics start |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2325 tfr a,b ; we need this twice |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2326 adda BEGGRP ; set new start of active page |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2327 sta BEGGRP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2328 addb ENDGRP ; set new end of active page |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2329 stb ENDGRP |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2330 puls a,b,u ; get back graphics start, number of files, and start of buffers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2331 sta GRPRAM ; set graphics memory start |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2332 stb FCBACT ; set number of active FCBs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2333 stu FCBADR ; set start of FCBs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2334 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2335 lda CURLIN ; in immediate mode? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2336 inca |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2337 beq LD1EF ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2338 tfr y,d ; calculate how much the program is moving |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2339 subd TXTTAB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2340 addd CHARAD ; adjust input pointer for the change |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2341 std CHARAD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2342 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2343 LD1EF ldu VARTAB ; get old end of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2344 stx VARTAB ; save new end of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2345 cmpu VARTAB ; which way did it move? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2346 bhi LD20B ; brif it moved up |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2347 LD1F8 lda ,-u ; move a byte down |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2348 sta ,-x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2349 cmpu TXTTAB ; at start? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2350 bne LD1F8 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2351 sty TXTTAB ; set new start of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2352 clr -1,y ; make sure there's a NUL before the program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2353 bra LD21B ; clean up |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2354 LD208 jmp LAC44 ; raise OM error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2355 LD20B ldu TXTTAB ; get old start of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2356 sty TXTTAB ; save new start of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2357 clr -1,y ; make sure there's a NUL before the program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2358 LD212 lda ,u+ ; move a byte up |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2359 sta ,y+ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2360 cmpy VARTAB ; at end yet? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2361 bne LD212 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2362 LD21B ldu #FCBV1 ; point to FCB pointers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2363 ldx FCBADR ; point to start of FCBs |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2364 clrb ; file counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2365 LD222 stx ,u++ ; set FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2366 clr <<FCBTYP,x ; mark FCB as closed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2367 leax FCBLEN,x ; point to next FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2368 incb ; bump file counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2369 cmpb FCBACT ; do we have enough of them yet? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2370 bls LD222 ; brif not (BLS so we include system FCB) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2371 jmp L96CB ; fix up line pointers, etc. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2372 ; UNLOAD command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2373 UNLOAD bsr LD24F ; get drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2374 clrb ; clear file counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2375 LD236 incb ; bump file counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2376 jsr LC749 ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2377 beq LD249 ; brif file not open |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2378 lda FCBDRV,x ; is it on the right drive? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2379 cmpa DCDRV |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2380 bne LD249 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2381 pshs b ; save file counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2382 jsr LCB06 ; close the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2383 puls b ; restore file counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2384 LD249 cmpb FCBACT ; done all files? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2385 bls LD236 ; brif not (includes system FCB) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2386 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2387 ; Parse drive number; use default if none given |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2388 LD24F ldb DEFDRV ; set default drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2389 jsr GETCCH ; is there something there? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2390 beq LD25F ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2391 LD256 jsr EVALEXPB ; evaluate drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2392 cmpb #3 ; valid? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2393 lbhi LA61F ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2394 LD25F stb DCDRV ; set drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2395 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2396 ; BACKUP command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2397 BACKUP lbeq LA61F ; raise error if no drive numbers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2398 jsr L95AC ; reset display |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2399 jsr LD256 ; get source drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2400 stb DBUF0+255 ; save it (we're going to put our stack in DBUF0) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2401 jsr GETCCH ; is there something else? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2402 beq LD27B ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2403 ldb #0xa5 ; insist on TO |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2404 jsr LB26F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2405 jsr LD256 ; fetch destination drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2406 LD27B lds #DBUF0+255 ; put the stack somewhere safe (source drive number already there) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2407 pshs b ; save destination drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2408 jsr LA5C7 ; bail of there's more |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2409 jsr DVEC7 ; close files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2410 clr ,-s ; initialize track counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2411 ldx #DFLBUF-1 ; point to start of the heap |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2412 LD28C inc ,s ; bump track counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2413 leax SECMAX*SECLEN,x ; add a whole track to the count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2414 cmpx MEMSIZ ; does it fit in memory? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2415 bls LD28C ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2416 dec ,s ; decrement track counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2417 lbeq LAC44 ; error if less than one track memory available |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2418 lda #TRKMAX ; get maximum number of tracks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2419 clrb ; set tracks copied to 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2420 pshs a,b ; save track counters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2421 com DRESFL ; force a "reset" of the disk system |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2422 LD2A4 clrb ; initialize write counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2423 LD2A5 incb ; add one to track counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2424 dec ,s ; whole disk done? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2425 beq LD2AE ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2426 cmpb 2,s ; will it fit in memory? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2427 bne LD2A5 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2428 LD2AE stb TMPLOC ; save number of tracks to copy |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2429 ldb 4,s ; get source drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2430 bsr LD2FC ; read TMPLOC tracks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2431 lda #0xff ; set source/dest flag to dest |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2432 jsr LD322 ; show prompt if needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2433 ldb 3,s ; get destination drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2434 bsr LD2FF ; write TMPLOC tracks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2435 tst ,s ; is there anything left? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2436 beq LD2CD ; brif not - we're done |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2437 clra ; set source/desetination to source |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2438 jsr LD322 ; show prompt |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2439 ldb 1,s ; get tracks written |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2440 addb TMPLOC ; account for the ones we just wrote |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2441 stb 1,s ; save new written counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2442 bra LD2A4 ; go copy some more tracks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2443 LD2CD bsr LD2D2 ; check for re-init |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2444 jmp LAC73 ; return to immediate mode |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2445 LD2D2 puls u ; get return address (we might be resetting the stack) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2446 lda DRESFL ; reset desired? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2447 beq LD2EF ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2448 ldx #FCBV1 ; point to FCB addresses |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2449 clra ; set file counter to 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2450 LD2DD clr [,x++] ; mark FCB as closed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2451 inca ; bump file counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2452 cmpa FCBACT ; end of allocated FCBs? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2453 bls LD2DD ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2454 ldx TXTTAB ; get start of program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2455 clr -1,x ; make sure there's a NUL there |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2456 jsr LAD19 ; do a "NEW" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2457 clr DRESFL ; mark reset as not needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2458 LD2EF lda DLODFL ; were we loading something? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2459 beq LD2FA ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2460 clr DLODFL ; clear out the loading state |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2461 jsr LAD19 ; empty out the program |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2462 LD2FA jmp ,u ; return to caller |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2463 LD2FC lda #2 ; opcode for read |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2464 skip2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2465 LD2FF lda #3 ; opcode for write |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2466 std DCOPC ; save operation and drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2467 lda 3,s ; get number of the first track to write |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2468 sta DCTRK ; tell DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2469 ldx #DFLBUF ; put track buffer at the start of the heap |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2470 stx DCBPT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2471 lda TMPLOC ; get track counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2472 LD30E ldb #1 ; start at sector 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2473 LD310 stb DSEC ; set sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2474 jsr LD6F2 ; read or write a sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2475 inc DCBPT ; bump buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2476 incb ; bump sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2477 cmpb #SECMAX ; end of track? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2478 bls LD310 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2479 inc DCTRK ; bump track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2480 deca ; done all the tracks? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2481 bne LD30E ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2482 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2483 LD322 ldb 5,s ; get destination drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2484 cmpb 6,s ; compare to source |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2485 LD326 bne LD35E ; brif no prompt needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2486 clr RDYTMR ; reset drive motor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2487 clr DSKREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2488 clr DRGRAM |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2489 pshs a ; save source/dest flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2490 jsr LA928 ; clear screen |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2491 ldx #LD35F ; point to "source" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2492 ldb #13 ; 13 bytes |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2493 lda ,s+ ; set flags on source/dest flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2494 beq LD344 ; brif source |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2495 ldx #LD36C ; point to "dest" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2496 ldb #18 ; 18 bytes |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2497 LD344 jsr LB9A2 ; display message |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2498 ldx #LD37E ; point to remainder of message |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2499 ldb #27 ; 27 bytes |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2500 jsr LB9A2 ; display it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2501 ldd #0x6405 ; set up SOUND parameters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2502 sta SNDTON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2503 jsr LA951 ; do a beep |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2504 LD357 jsr LA171 ; read generic input (shows cursor) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2505 cmpa #0x0d ; carriage return? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2506 bne LD357 ; bri fnot |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2507 LD35E rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2508 LD35F fcc 'INSERT SOURCE' |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2509 LD36C fcc 'INSERT DESTINATION' |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2510 LD37E fcc ' DISKETTE AND' |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2511 fcb 0x0d |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2512 fcc "PRESS 'ENTER'" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2513 ; Save file name and extension on stack, and also the current drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2514 LD399 puls y ; get return address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2515 ldb #11 ; 11 characters for both name and extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2516 ldx #DNAMBF+11 ; point to end of buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2517 LD3A0 lda ,-x ; fetch a file name character |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2518 pshs a ; stuff it on the stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2519 decb ; done yet? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2520 bne LD3A0 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2521 lda DCDRV ; save drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2522 pshs a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2523 jmp ,y ; return to caller |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2524 ; Copy drive, filename, and extension from X to state |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2525 LD3AD lda ,x+ ; set drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2526 sta DCDRV |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2527 ldb #11 ; 11 characters in file name and extension |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2528 ldu #DNAMBF ; point to disk file name buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2529 jmp LA59A ; copy the file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2530 ; COPY command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2531 ; NOTE: an error during COPY will cause the system to hang due to the FCB's buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2532 ; being moved out of normal buffer space. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2533 COPY jsr LC935 ; get source file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2534 bsr LD399 ; save it on the stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2535 clr ,-s ; set flag for "single disk" copy |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2536 jsr GETCCH ; is there a destination? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2537 beq LD3CE ; brif not - single disk (swapping) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2538 com ,s ; set to "two parameter" copy |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2539 ldb #0xa5 ; insist on TO |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2540 jsr LB26F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2541 jsr LC935 ; parse the destination file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2542 LD3CE bsr LD399 ; save destination file name |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2543 jsr LA5C7 ; bail if more stuff |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2544 jsr DVEC7 ; close everything |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2545 clr ,-s ; clear sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2546 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2547 leax -100,s ; leave a buffer below the stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2548 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2549 leax -SECLEN,s ; point one sector below the stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2550 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2551 LD3DC inc ,s ; bump sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2552 leax -SECLEN,x ; move back a sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2553 cmpx ARYEND ; did we hit the top of variables? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2554 bhs LD3DC ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2555 dec ,s ; decrement off the last one that didn't fit |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2556 lbeq LAC44 ; brif not at least one sector free memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2557 leax 14,s ; set up for source file name/drive |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2558 bsr LD3AD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2559 jsr LC68C ; find file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2560 jsr LC6E5 ; error if not found |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2561 ldx V974 ; get directory data pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2562 ldu DIRLST,x ; get file type and last sector data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2563 ldx DIRTYP,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2564 pshs u,x ; save them |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2565 jsr LC79D ; read FAT data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2566 ldb V976 ; get first granule in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2567 jsr LCD1E ; count granules in chain |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2568 pshs a ; save number of granules in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2569 deca ; subtract off last granule (may be partial) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2570 andb #0x3f ; get number of sectors in last granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2571 pshs b ; save sectors in last granule |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2572 tfr a,b ; zero extend to granule count to D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2573 clra |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2574 jsr LC779 ; get number of sectors in complete granules |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2575 addb ,s ; add in partial sector count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2576 adca #0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2577 ldx #1 ; initialize record counter to 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2578 pshs x,b,a ; save record counter and sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2579 LD41E clrb ; set sector counter to 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2580 ldx ,s ; get number of sectors remaining in the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2581 beq LD42C ; brif none left |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2582 LD423 incb ; add a sector to counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2583 leax -1,x ; at bottom of file? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2584 beq LD42C ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2585 cmpb 10,s ; at maximum memory space? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2586 bne LD423 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2587 LD42C stx ,s ; save number of sectors that will be left after this iteration |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2588 stb 4,s ; save number of sectors to be copied this time |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2589 bsr LD482 ; get sectors to buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2590 lda #0xff ; show swap message for dest |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2591 bsr LD476 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2592 tst 5,s ; do we need to test for enough free space? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2593 beq LD45F ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2594 leax 11,s ; retrieve destination file parameters |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2595 jsr LD3AD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2596 jsr LD059 ; find the file, AE error if it exists |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2597 jsr LC79D ; get FAT data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2598 jsr LC755 ; point to FAT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2599 leax FATCON,x ; point to granuledata |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2600 lda 5,s ; get number of granules in file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2601 ldb #GRANMX ; maximum granules to check |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2602 LD44E com ,x ; is granule free? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2603 bne LD455 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2604 deca ; found enough? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2605 beq LD45D ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2606 LD455 com ,x+ ; restore FAT data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2607 decb ; run through whole fat? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2608 bne LD44E ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2609 jmp LC7F8 ; do "disk full" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2610 LD45D com ,x ; restore FAT data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2611 LD45F bsr LD47C ; put data from memory to destination file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2612 ldx ,s ; get number of sectors left |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2613 beq LD472 ; brif none - we're done |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2614 ldd 2,s ; get current recordcounter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2615 addb 4,s ; add in number of sectors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2616 adca #0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2617 std 2,s ; save new record counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2618 clra ; show source message if needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2619 bsr LD476 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2620 bra LD41E ; copy some more stuff |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2621 LD472 leas 36,s ; clean up stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2622 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2623 LD476 tst 25,s ; doing a "single disk" copy? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2624 jmp LD326 ; show message if needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2625 ; put or get data for copy |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2626 LD47C lda #0xff ; put flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2627 leax 13,s ; point to destination file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2628 bra LD486 ; go do the write |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2629 LD482 clra ; get flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2630 leax 26,s ; point to source file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2631 LD486 sta VD8 ; save get/put flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2632 jsr LD3AD ; fetch file parameters from stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2633 ldx 8,s ; get file type and ASCII flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2634 stx DFLTYP ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2635 ldx #SECLEN ; set record length to one sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2636 stx DFFLEN |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2637 lda #'R ; set type to "random" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2638 ldb FCBACT ; point to system FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2639 incb |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2640 jsr LC48D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2641 ldx FCBTMP ; get FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2642 ldd #SECLEN ; set number of bytes in last sector to one sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2643 std FCBLST,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2644 ldb 6,s ; get number of sectors to read/write |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2645 beq LD4D4 ; brif none |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2646 ldb VD8 ; get or put? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2647 andb 7,s ; is it first time on put? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2648 beq LD4BA ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2649 ldd 2,s ; get number of sectors remaining |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2650 addb 6,s ; add to number copied this time |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2651 adca #0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2652 jsr LC2E6 ; put the last record in the file (this allocates the file) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2653 LD4BA ldx FCBTMP ; point to FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2654 ldu 4,s ; get current record number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2655 stu FCBREC,x ; save in FCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2656 ldb 6,s ; get number of sectors to move |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2657 ldu ARYEND ; point to start of free memory |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2658 LD4C4 pshs u,b ; save buffer pointer and counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2659 ldx FCBTMP ; fetch FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2660 stu FCBBUF,x ; set buffer to free memory (will cause hang on error) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2661 jsr LC2EA ; do get or put |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2662 inc 1,s ; bump buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2663 puls b,u ; get back buffer pointer and sector count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2664 decb ; done all yet? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2665 bne LD4C4 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2666 LD4D4 ldx FCBTMP ; get FCB pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2667 ldu #DFLBUF ; reset buffer pointer to bottom of buffer area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2668 stu FCBBUF,x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2669 ldb VD8 ; first time through on PUT? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2670 andb 7,s |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2671 beq LD4EA ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2672 clr 7,s ; reset the "first time" flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2673 ldd 10,s ; get bytes in last sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2674 ora #0x80 ; set "pre-save" flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2675 std FCBLST,x ; set correct last sector size |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2676 LD4EA jmp LCB06 ; close the file |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2677 ; DSKI$ command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2678 DSKI bsr LD527 ; get drive, track, and sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2679 bsr LD51C ; evaluate frist string sand save descriptor address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2680 pshs x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2681 bsr LD51C ; evaluate second string and save descriptor address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2682 pshs x |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2683 ldb #2 ; read operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2684 jsr LD58F ; read sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2685 ldu #DBUF0+128 ; point to second half |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2686 puls x ; get descriptor for second string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2687 bsr LD508 ; stow second string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2688 ldu #DBUF0 ; point to first half |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2689 puls x ; get descriptor for first string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2690 LD508 pshs u,x ; save source data and descriptor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2691 ldb #128 ; do 128 bytes exactly |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2692 jsr LB50F ; reserve space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2693 leau ,x ; point to reserved space |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2694 puls x ; get string descriptor address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2695 stb ,x ; save length in descriptor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2696 stu 2,x ; save data pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2697 puls x ; get buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2698 LD519 jmp LA59A ; copy bytes to string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2699 LD51C jsr SYNCOMMA ; make sure there's a comma |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2700 ldx #LB357 ; point to variable evaluation routine |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2701 bsr LD553 ; evaluate variable |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2702 LD524 jmp LB146 ; make sure we have a string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2703 LD527 jsr EVALEXPB ; evaluate 8 bit expression |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2704 cmpb #3 ; valid drive? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2705 bhi LD54A ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2706 pshs b ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2707 jsr LB738 ; evaluate track expression (after a comma) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2708 cmpb #TRKMAX-1 ; valid track? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2709 bhi LD54A ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2710 pshs b ; save track number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2711 jsr LB738 ; evaluate comma followed by sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2712 stb DSEC ; set DSKCON variable |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2713 decb ; zero-base it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2714 cmpb #SECMAX-1 ; is it a valid sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2715 bhi LD54A ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2716 puls a,b ; get drive and track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2717 sta DCTRK ; set DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2718 stb DCDRV |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2719 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2720 LD54A jmp LB44A ; raise FC error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2721 LD54D jsr SYNCOMMA ; insist on a comma |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2722 ldx #LB156 ; evaluate expression pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2723 LD553 ldb DCDRV ; save drive, track, and sector values |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2724 ldu DCTRK |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2725 pshs u,b ; save them |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2726 jsr ,x ; evaluate variable or expression |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2727 puls b,u ; restore DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2728 stb DCDRV |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2729 stu DCTRK |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2730 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2731 ; DSKO$ command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2732 DSKO bsr LD527 ; evaluate drive, track, and sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2733 bsr LD54D ; evaluate string 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2734 bsr LD524 ; make sure it's a string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2735 ldx FPA0+2 ; get descriptor address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2736 pshs x ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2737 bsr LD54D ; evaluate string 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2738 jsr LB654 ; get string details |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2739 pshs x,b ; save them |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2740 clrb ; clear full sector (so junk doesn't get in if strings are short) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2741 ldx #DBUF0 ; point to sector buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2742 LD577 clr ,x+ ; clear a byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2743 decb ; done whole sector? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2744 bne LD577 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2745 puls b,x ; get string data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2746 ldu #DBUF0+128 ; point to second half of sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2747 bsr LD519 ; copy string data (anything over 128 will go in second I/O buffer so harmless) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2748 puls x ; get first string |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2749 jsr LB659 ; fetch string details |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2750 ldu #DBUF0 ; point to start of sector buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2751 bsr LD519 ; copy string data (this will overwrite up to 255 bytes!) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2752 ldb #3 ; write operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2753 LD58F ldx #DBUF0 ; point to sector buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2754 stx DCBPT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2755 stb DCOPC ; set read/write |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2756 jmp LD6F2 ; go read/write sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2757 ; DSKINI command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2758 DSKINI lbeq LA61F ; error if no drive number specified |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2759 jsr LD256 ; parse driven umber |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2760 ldb #4 ; default skip factor is 4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2761 jsr GETCCH ; is there a skip factor? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2762 beq LD5B2 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2763 jsr LB738 ; evaluate comma followed by skip factor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2764 cmpb #17 ; max value is 16 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2765 lbhs LB44A ; brif too high |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2766 jsr LA5C7 ; carp if there's anything else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2767 LD5B2 pshs b ; save skip factor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2768 ldx #DBUF1+SECMAX ; poitn to end of sector number scratch area |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2769 ldb #SECMAX ; get the maximum sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2770 LD5B9 clr ,-x ; mark sector number unset |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2771 decb ; done all of them? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2772 bne LD5B9 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2773 clra ; reset sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2774 bra LD5CE ; start assigning sector numbers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2775 LD5C1 addb ,s ; add in skip factor |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2776 LD5C3 incb ; bump sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2777 LD5C4 subb #SECMAX ; remove a whole track worth |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2778 bhs LD5C4 ; brif we can still do more |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2779 addb #SECMAX ; undo extra subtraction |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2780 tst b,x ; has this sector been numbered? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2781 bne LD5C3 ; brif so - try again on next one |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2782 LD5CE inca ; bump sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2783 sta b,x ; set actual sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2784 cmpa #SECMAX ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2785 blo LD5C1 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2786 leas 1,s ; remove skip factor - we don't need it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2787 ldx #DFLBUF+0x1888-2 ; point to top of memory used by DSKINI (for track image) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2788 cmpx MEMSIZ ; does it fit? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2789 lbhi LAC44 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2790 jsr DVEC7 ; close files |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2791 com DRESFL ; cause reset of things |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2792 lds #DBUF1+SECLEN ; put stack somewhere safe |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2793 jsr L95AC ; reset display |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2794 lda #0 ; restore head to track 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2795 sta DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2796 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2797 clr DCTRK ; set track number to 0 (used as a track counter for the format) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2798 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2799 jsr LD6F2 ; restorehead to track 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2800 clr RDYTMR ; don't allow motor to turn off |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2801 lda #0xc0 ; FDC read address code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2802 sta FDCREG ; instruct FDC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2803 jsr LD7D1 ; wait until drive ready |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2804 ifeq DISKVER |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2805 lbne LD688 ; brif drive not ready |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2806 clr DCTRK ; reset track counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2807 bra LD620 ; go format tracks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2808 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2809 beq LD620 ; brif drive ready |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2810 jmp LD688 ; raise error if not ready |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2811 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2812 LD606 cmpa #22 ; precomp? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2813 blo LD612 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2814 lda DRGRAM ; enable precomp |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2815 ora #0x10 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2816 sta DSKREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2817 LD612 lda #0x53 ; "step in" |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2818 sta FDCREG ; go do a step |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2819 exg a,a ; wait for FDC status to stabilize |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2820 exg a,a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2821 jsr LD7D1 ; wait for ready |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2822 bne LD688 ; bri fnot ready - raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2823 LD620 jsr LD7F0 ; wait for a bit |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2824 bsr LD691 ; build formatted track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2825 ldy #FDCREG+3 ; point to data register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2826 orcc #0x50 ; disable interrupts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2827 ldx #LD64F ; where to return to |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2828 stx DNMIVC ; set up NMI escaper |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2829 ldx #DFLBUF ; point to track image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2830 lda FDCREG ; reset status of FDC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2831 lda #0xff ; enable NMI escaper |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2832 sta NMIFLG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2833 ldb #0xf4 ; write track command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2834 stb FDCREG ; instruct FDC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2835 lda DRGRAM ; enable HALT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2836 ora #0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2837 sta DSKREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2838 LD649 ldb ,x+ ; fetch track byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2839 stb ,y ; stuff it out to FDC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2840 bra LD649 ; do another ASAP (HALT will clock this) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2841 LD64F lda FDCREG ; fetch status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2842 andcc #0xaf ; restore interrupts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2843 anda #0x44 ; keep only write protect and lost data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2844 sta DCSTA ; save status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2845 bne LD688 ; brif error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2846 inc DCTRK ; bump track number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2847 lda DCTRK ; done all tracks? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2848 cmpa #TRKMAX |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2849 bne LD606 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2850 lda #2 ; DSKCON read operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2851 sta DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2852 ldx #DBUF0 ; point to disk buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2853 stx DCBPT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2854 ldu #DBUF1 ; point to sector numbers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2855 clra ; reset track counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2856 LD66F sta DCTRK ; set track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2857 clrb ; reset sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2858 LD672 lda b,u ; get real sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2859 sta DSEC ; tell DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2860 jsr LD6F2 ; read a sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2861 incb ; bump sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2862 cmpb #SECMAX ; done whole track? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2863 blo LD672 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2864 lda DCTRK ; get track number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2865 inca ; bump it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2866 cmpa #TRKMAX ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2867 blo LD66F ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2868 jmp LD2CD ; do the reset thing if needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2869 LD688 clr DRGRAM ; stop drive motors and selects |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2870 clr DSKREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2871 jmp LD701 ; wait for ready signal |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2872 LD691 ldx #DFLBUF ; point to track buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2873 ldd #0x204e ; write out 32 * 0x4e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2874 bsr LD6C2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2875 clrb ; reset sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2876 LD69A pshs b ; save sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2877 ldu #DBUF1 ; point to sector numbers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2878 ldb b,u ; get real sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2879 stb DSEC ; save it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2880 ldu #LD6D4 ; point to format table for a sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2881 ldb #3 ; process three blocks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2882 bsr LD6C8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2883 lda DCTRK ; save track number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2884 sta ,x+ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2885 clr ,x+ ; set side number to 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2886 lda DSEC ; set sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2887 sta ,x+ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2888 ldb #9 ; process 9 blocks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2889 bsr LD6C8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2890 puls b ; get sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2891 incb ; bump it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2892 cmpb #SECMAX ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2893 blo LD69A ; brif not - do another sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2894 ldd #0xc84e ; write 200 times 0x4e for track trailer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2895 LD6C2 stb ,x+ ; stow a byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2896 deca ; done enough? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2897 bne LD6C2 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2898 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2899 LD6C8 pshs b ; save item counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2900 ldd ,u++ ; get count and data byte |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2901 bsr LD6C2 ; process it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2902 puls b ; get item count back |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2903 decb ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2904 bne LD6C8 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2905 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2906 LD6D4 fcb 8,0 ; SYNC field |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2907 fcb 3,0xf5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2908 fcb 1,0xfe ; address mark |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2909 ; track, side, sector here |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2910 fcb 1,1 ; sector size flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2911 fcb 1,0xf7 ; CRC request |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2912 fcb 22,0x4e ; post-ID gap |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2913 fcb 12,0 ; sync field |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2914 fcb 3,0xf5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2915 fcb 1,0xfb ; data address mark |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2916 fcb 0,0xff ; default track data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2917 fcb 1,0xf7 ; CRC request |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2918 fcb 24,0x4e ; post data gap |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2919 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2920 ; DOS command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2921 DOS bne LD742 ; brif argument given |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2922 jmp [DOSVEC] ; transfer control to DOS command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2923 endc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2924 ; General sector read/write routine; this implements VERIFY on write and does several retries |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2925 LD6F2 pshs b ; save register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2926 ldb #5 ; we'll try 5 times on VERIFY failure |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2927 stb ATTCTR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2928 puls b ; restore register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2929 LD6FB bsr DSKCON ; execute command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2930 tst DCSTA ; success? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2931 beq LD70E ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2932 LD701 lda DCSTA ; get status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2933 ldb #2*30 ; code for write protect |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2934 bita #0x40 ; was it write protected? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2935 bne LD70B ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2936 LD709 ldb #2*20 ; I/O error code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2937 LD70B jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2938 LD70E pshs a ; save A |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2939 lda DCOPC ; was it write? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2940 cmpa #3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2941 puls a ; restore register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2942 bne LD742 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2943 tst DVERFL ; verify? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2944 beq LD742 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2945 pshs u,x,b,a ; save registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2946 lda #2 ; set for read |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2947 sta DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2948 ldu DCBPT ; get original buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2949 ldx #DBUF1 ; point to secondary buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2950 stx DCBPT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2951 bsr DSKCON ; read the sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2952 stu DCBPT ; restore buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2953 lda #3 ; restore write operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2954 sta DCOPC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2955 lda DCSTA ; did we have a problem? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2956 bne LD743 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2957 clrb ; check 256 bytes |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2958 LD737 lda ,x+ ; compare two bytes |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2959 cmpa ,u+ |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2960 bne LD743 ; brif no match - error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2961 decb ; done all? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2962 bne LD737 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2963 puls a,b,x,u ; restore registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2964 LD742 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2965 LD743 puls a,b,x,u ; restore registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2966 dec ATTCTR ; tried enough times? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2967 bne LD6FB ; brif not - try again |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2968 ldb #2*36 ; code for verify error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2969 bra LD70B ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2970 ; VERIFY command |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2971 VERIFY clrb ; off flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2972 cmpa #0xaa ; OFF? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2973 beq LD75A ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2974 comb ; set to on flag |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2975 cmpa #0x88 ; ON? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2976 lbne LB277 ; brif not - raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2977 LD75A stb DVERFL ; set verify state |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2978 jmp GETNCH ; eat the ON/OFF and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2979 ; DSKCON - the main disk I/O driver |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2980 DSKCON pshs u,y,x,b,a ; save registers |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2981 lda #5 ; retry 5 times |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2982 pshs a ; save retry counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2983 LD765 clr RDYTMR ; reset drive timeout (so drive won't turn off if it's already on) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2984 ldb DCDRV ; get drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2985 ldx #LD89D ; point to drive enable masks |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2986 lda DRGRAM ; get control register value |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2987 anda #0xa8 ; keep only motor, halt, double density |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2988 ora b,x ; set drive select lines |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2989 ora #0x20 ; set double density |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2990 ldb DCTRK ; get desired track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2991 cmpb #22 ; precomp? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2992 blo LD77E ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2993 ora #0x10 ; enable precomp |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2994 LD77E tfr a,b ; save image prior to enabling motors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2995 ora #8 ; turn on motors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2996 sta DRGRAM ; actuall do all that stuff above |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2997 sta DSKREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2998 bitb #8 ; were motors already on? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2999 bne LD792 ; brif so - don't wait |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3000 jsr LA7D1 ; wait quite a while |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3001 jsr LA7D1 ; wait quite a while longer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3002 LD792 bsr LD7D1 ; wait until read |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3003 bne LD7A0 ; brif timed out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3004 clr DCSTA ; clear status (set no error) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3005 ldx #LD895 ; point to command jump table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3006 ldb DCOPC ; get operation code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3007 aslb ; two bytes per routine address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3008 jsr [b,x] ; do operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3009 LD7A0 puls a ; get back retry count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3010 ldb DCSTA ; get status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3011 beq LD7B1 ; brif no error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3012 deca ; retried enough? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3013 beq LD7B1 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3014 pshs a ; save retry counter again |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3015 bsr LD7B8 ; restore head to track 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3016 bne LD7A0 ; brif error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3017 bra LD765 ; try command again |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3018 LD7B1 lda #120 ; drive timeout is 120 VSYNC ticks (2 seconds for 60Hz) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3019 sta RDYTMR |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3020 puls a,b,x,y,u,pc ; restore registers and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3021 LD7B8 ldx #DR0TRK ; point to track table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3022 ldb DCDRV ; get drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3023 clr b,x ; mark drive on track 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3024 lda #3 ; restore head to track 0, unloaded, 30ms step |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3025 sta FDCREG ; go do it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3026 exg a,a ; wait for status to stabilize |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3027 exg a,a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3028 bsr LD7D1 ; wait for ready |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3029 bsr LD7F0 ; wait somemore |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3030 anda #0x10 ; keep only seek error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3031 sta DCSTA ; set result |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3032 LD7D0 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3033 LD7D1 ldx ZERO ; get timeout counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3034 LD7D3 leax -1,x ; count down |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3035 beq LD7DF ; brif timed out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3036 lda FDCREG ; get status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3037 bita #1 ; is it ready? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3038 bne LD7D3 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3039 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3040 LD7DF lda #0xd0 ; force interrupt |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3041 sta FDCREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3042 exg a,a ; wait for status to stabilize |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3043 exg a,a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3044 lda FDCREG ; clear status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3045 lda #0x80 ; return not ready status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3046 sta DCSTA |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3047 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3048 LD7F0 ldx #8750 ; delay for about half of a long while |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3049 LD7F3 leax -1,x ; count down |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3050 bne LD7F3 ; brif not done |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3051 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3052 LD7F8 lda #0x80 ; code for read sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3053 skip2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3054 LD7FB lda #0xa0 ; code for write sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3055 pshs a ; save operation |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3056 ldx #DR0TRK ; point to track state table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3057 ldb DCDRV ; get drive number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3058 abx ; point to correct drive table |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3059 ldb ,x ; get current track number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3060 stb FDCREG+1 ; tell FDC about it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3061 cmpb DCTRK ; is it the one we want? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3062 beq LD82C ; brif so - no stepping needed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3063 lda DCTRK ; get desired track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3064 sta FDCREG+3 ; tell the FDC that too |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3065 sta ,x ; record that drive is there |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3066 lda #0x17 ; seek to desired track, unloaded, 30ms step, verify destination |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3067 sta FDCREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3068 exg a,a ; wait for status to be stable |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3069 exg a,a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3070 bsr LD7D1 ; wait for ready |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3071 bne LD82A ; brif timed out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3072 bsr LD7F0 ; wait some more |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3073 anda #0x18 ; keep only seek error or CRC error in ID |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3074 beq LD82C ; brif no errors |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3075 sta DCSTA ; save error state |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3076 LD82A puls a,pc ; clean up stack and return |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3077 LD82C lda DSEC ; get desired sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3078 sta FDCREG+2 ; tell FDC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3079 ldx #LD88B ; point to escape routine |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3080 stx DNMIVC ; set up NMI escaper |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3081 ldx DCBPT ; point to I/O buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3082 lda FDCREG ; reset FDC status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3083 lda DRGRAM ; get control register image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3084 ora #0x80 ; enable HALT |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3085 puls b ; get operation code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3086 ldy ZERO ; timeout value |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3087 ldu #FDCREG ; point to FDC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3088 com NMIFLG ; enable escaper |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3089 orcc #0x50 ; disable interrupts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3090 stb FDCREG ; give FDC its marching orders |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3091 exg a,a ; wait for stable status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3092 exg a,a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3093 cmpb #0x80 ; read? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3094 beq LD875 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3095 ldb #2 ; DRQ mask |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3096 LD85B bitb ,u ; is it ready for a byte? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3097 bne LD86B ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3098 leay -1,y ; timed out? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3099 bne LD85B ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3100 LD863 clr NMIFLG ; disable NMI escaper |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3101 andcc #0xaf ; enable interrupts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3102 jmp LD7DF ; force interrupt, etc. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3103 LD86B ldb ,x+ ; get byte from buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3104 stb FDCREG+3 ; send it out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3105 sta DSKREG ; reprogram control register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3106 bra LD86B ; send more |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3107 LD875 ldb #2 ; DRQ mask bit |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3108 LD877 bitb ,u ; is a byte ready? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3109 bne LD881 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3110 leay -1,y ; timed out? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3111 bne LD877 ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3112 bra LD863 ; bail out |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3113 LD881 ldb FDCREG+3 ; get input data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3114 stb ,x+ ; put in buffer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3115 sta DSKREG ; reprogram control register |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3116 bra LD881 ; read more |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3117 LD88B andcc #0xaf ; enable interrupts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3118 lda FDCREG ; get status from FDC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3119 anda #0x7c ; keep write protect, write fault, not found, CRC, or lost data |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3120 sta DCSTA ; set status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3121 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3122 LD895 fdb LD7B8 ; reset head to track 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3123 fdb LD7D0 ; no-op - just spin up drives |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3124 fdb LD7F8 ; read sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3125 fdb LD7FB ; write sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3126 LD89D fcb 0x01 ; drive select 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3127 fcb 0x02 ; drive select 1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3128 fcb 0x04 ; drive select 2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3129 fcb 0x40 ; drive select 3/side select |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3130 ; NMI handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3131 DNMISV lda NMIFLG ; is the escaper enabled? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3132 beq LD8AE ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3133 ldx DNMIVC ; set return to escape hatch |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3134 stx 10,s |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3135 clr NMIFLG ; disable escaper now that we used it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3136 LD8AE rti |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3137 ; Disk IRQ handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3138 DIRQSV lda PIA0+3 ; is it VSYNC? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3139 bpl LD8AE ; brif HSYNC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3140 lda PIA0+2 ; clear interrupt status |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3141 lda RDYTMR ; are drives waiting to stop? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3142 beq LD8CD ; brif not |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3143 deca ; count down a tick |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3144 sta RDYTMR ; save new count |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3145 bne LD8CD ; brif they haven't timed out yet |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3146 lda DRGRAM ; get control register image |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3147 anda #0xb0 ; turn off motors and drive selects |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3148 sta DRGRAM |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3149 sta DSKREG |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3150 LD8CD jmp L8955 ; transfer control to Extended Basic's handler |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3151 ifeq DISKVER-1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3152 ; From here to the DOS command is unused |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3153 fcb 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3154 fcb 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3155 fcb 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3156 fcb 0x13,0x34,0x06,0x9D,0xA5,0x27,0x03,0xBD,0x95,0x81,0x96,0xB5,0x97,0xD8,0x35,0x06 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3157 fcb 0xDD,0xB4,0x4F,0x34,0x56,0xBD,0x95,0x22,0xBD,0x92,0x8F,0xDF,0xD9,0xBD,0x99,0xDF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3158 fcb 0x27,0x0F,0xBD,0x99,0xCB,0x86,0x01,0x97,0xD7,0xBD,0x99,0xBA,0x00,0xD7,0xBD,0x99 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3159 fcb 0xBA,0x10,0xDF,0xDC,0x0D,0xDB,0x26,0x03,0x10,0xDE,0xDC,0x35,0x56,0x0F,0xDB,0x10 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3160 fcb 0xDF,0xDC,0x30,0x01,0x9F,0xBD,0xDF,0xD1,0x97,0xD7,0x27,0x9F,0x2B,0x06,0x5C,0xD1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3161 fcb 0xD6,0x23,0x05,0x5F,0x5D,0x27,0xDD,0x5A,0xD7,0xC0,0xBD,0x99,0xDF,0x27,0x0F,0x10 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3162 fcb 0x83,0x00,0x03,0x25,0x04,0x30,0x1E,0x8D,0x38,0xBD,0x99,0xCB,0x8D,0x4C,0x43,0x53 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3163 fcb 0xD3,0xD1,0xDD,0xD1,0x2F,0x16,0xBD,0x95,0x06,0xBD,0x9A,0x12,0x26,0x05,0xCC,0xFF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3164 fcb 0xFF,0x20,0xED,0xBD,0x95,0x14,0x8D,0x3E,0x8D,0x5E,0x20,0xE0,0xBD,0x95,0x06,0x30 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3165 fcb 0x8B,0x9F,0xBD,0x43,0x53,0x83,0x00,0x01,0x2F,0x04,0x1F,0x01,0x8D,0x03,0x7E,0x99 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3166 fcb 0x34,0xDD,0xCB,0x35,0x20,0xDC,0xBD,0x34,0x16,0x96,0xD7,0x40,0xD6,0xC0,0x34,0x06 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3167 fcb 0x34,0x20,0xC6,0x02,0xBD,0xAC,0x33,0xDC,0xCB,0x39,0xDD,0xCB,0x35,0x20,0xDC,0xC3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3168 fcb 0x34,0x16,0x96,0xD7,0x20,0xE6,0x9E,0xBD,0x9F,0xC3,0x39,0xDD,0xCD,0x10,0x9E,0xC3 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3169 fcb 0x8D,0xF4,0x10,0x9F,0xBD,0x8D,0x11,0x9E,0xCD,0x30,0x8B,0xC3,0x00,0x01,0x39,0xBD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3170 fcb 0x99,0xC6,0x10,0x8E,0x95,0x14,0x20,0x06,0x10,0x8E,0x95,0x06,0xAD,0xA4,0xDE,0x8A |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3171 fcb 0x9E,0xBD,0x2B,0x17,0x9C,0xD3,0x22,0x13,0x34,0x60,0x8D,0x16,0x27,0x0B,0xBD,0x93 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3172 fcb 0x77,0x35,0x60,0x33,0x41,0xAD,0xA4,0x20,0xE9,0x35,0x60,0x1F,0x30,0x1F,0x01,0x93 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3173 fcb 0x8A,0x39,0xAD,0x9F,0x00,0xD9,0x1F,0x89,0xD4,0xD8,0x34,0x06,0xA4,0x84,0xA1,0x61 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3174 fcb 0x35,0x86,0x9E,0x8A,0xC6,0x01,0x34,0x14,0xBD,0xB1,0x56,0x5F,0xBD,0xA9,0xA2,0xBD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3175 fcb 0xA9,0x76,0xBD,0xB6,0x54,0x20,0x02,0x35,0x14,0xD7,0xD8,0x27,0xFA,0x9F,0xD9,0x10 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3176 fcb 0x27,0x0F,0x31,0x0D,0xD8,0x27,0xF0,0xBD,0x9B,0x98,0x81,0x3B,0x27,0xF5,0x81,0x27 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3177 fcb 0x27,0xF1,0x81,0x58,0x10,0x27,0x01,0xB2,0x8D,0x02,0x20,0xE7,0x81,0x4F,0x26,0x0D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3178 fcb 0xD6,0xDE,0x5C,0x8D,0x5B,0x5A,0xC1,0x04,0x22,0x63,0xD7,0xDE,0x39,0x81,0x56,0x26 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3179 fcb 0x1A,0xD6,0xDF,0x54,0x54,0xC0,0x1F,0x8D,0x47,0xC1,0x1F,0x22,0x50,0x58,0x58,0x34 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3180 fcb 0x04,0xCC,0x7E,0x7E,0xAB,0xE4,0xE0,0xE0,0xDD,0xDF,0x39,0x81,0x4C,0x26,0x23,0xD6 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3181 fcb 0xE1,0x8D,0x2D,0x5D,0x27,0x37,0xD7,0xE1,0x0F,0xE5,0x8D,0x03,0x24,0xFC,0x39,0x0D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3182 fcb 0xD8,0x27,0x0A,0xBD,0x9B,0x98,0x81,0x2E,0x27,0x05,0xBD,0x9B,0xE2,0x43,0x39,0x0C |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3183 fcb 0xE5,0x39,0x81,0x54,0x26,0x0D,0xD6,0xE2,0x8D,0x06,0x5D,0x27,0x10,0xD7,0xE2,0x39 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3184 fcb 0x7E,0x9B,0xAC,0x81,0x50,0x26,0x24,0xBD,0x9C,0xCB,0x5D,0x26,0x03,0x7E,0xB4,0x4A |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3185 fcb 0x96,0xE5,0x9E,0xDF,0x34,0x12,0x86,0x7E,0x97,0xDF,0x97,0xE0,0x0F,0xE5,0x8D,0x07 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3186 fcb 0x35,0x12,0x97,0xE5,0x9F,0xDF,0x39,0x6F,0xE2,0x20,0x40,0x81,0x4E,0x26,0x03,0xBD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3187 fcb 0x9B,0x98,0x81,0x41,0x25,0x04,0x81,0x47,0x23,0x05,0xBD,0x9B,0xBE,0x20,0x23,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3188 fcb 0x41,0x8E,0x9C,0x5B,0xE6,0x86,0x0D,0xD8,0x27,0x18,0xBD,0x9B,0x98,0x81,0x23,0x27 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3189 fcb 0x04,0x81,0x2B,0x26,0x03,0x5C,0x20,0x0A,0x81,0x2D,0x26,0x03,0x5A,0x20,0x03,0xBD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3190 fcb 0x9B,0xE2,0x5A,0xC1,0x0B,0x22,0xA6,0x34,0x04,0xD6,0xE1,0x96,0xE2,0x3D,0xDD,0xD5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3191 fcb 0x33,0x61,0x96,0xDE,0x81,0x01,0x22,0x2C,0x8E,0x9C,0x62,0xC6,0x18,0x3D,0x3A,0x35 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3192 fcb 0x04,0x58,0x3A,0x31,0x84,0x8D,0x45,0xDD,0xE3,0x8D,0x0C,0x96,0xDF,0x8D,0x0B,0x8D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3193 fcb 0x06,0x96,0xE0,0x8D,0x05,0x20,0xF2,0x86,0x7E,0x12,0xB7,0xFF,0x20,0xAE,0xA4,0x30 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3194 fcb 0x1F,0x26,0xFC,0x39,0x8E,0x9C,0x7A,0xC6,0x0C,0x3D,0x3A,0x35,0x04,0x3A,0x8D,0x1C |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3195 fcb 0xDD,0xE3,0x8D,0x0C,0x96,0xDF,0x8D,0x0B,0x8D,0x06,0x96,0xE0,0x8D,0x05,0x20,0xF2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3196 fcb 0x86,0x7E,0x12,0xB7,0xFF,0x20,0xA6,0x84,0x4A,0x26,0xFD,0x39,0xC6,0xFF,0x96,0xE5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3197 fcb 0x27,0x05,0x8B,0x02,0x3D,0x44,0x56,0x39,0x34,0x10,0x0D,0xD8,0x27,0x4D,0x9E,0xD9 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3198 fcb 0xA6,0x80,0x9F,0xD9,0x0A,0xD8,0x81,0x20,0x27,0xF0,0x35,0x90,0x8D,0xEA,0x81,0x2B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3199 fcb 0x27,0x3C,0x81,0x2D,0x27,0x3C,0x81,0x3E,0x27,0x42,0x81,0x3C,0x27,0x39,0x81,0x3D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3200 fcb 0x27,0x3F,0xBD,0x90,0xAA,0x25,0x24,0x5F,0x80,0x30,0x97,0xD7,0x86,0x0A,0x3D,0x4D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3201 fcb 0x26,0x19,0xDB,0xD7,0x25,0x15,0x0D,0xD8,0x27,0x17,0xBD,0x9B,0x98,0xBD,0x90,0xAA |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3202 fcb 0x24,0xE6,0x0C,0xD8,0x9E,0xD9,0x30,0x1F,0x9F,0xD9,0x39,0x7E,0xB4,0x4A,0x5C,0x27 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3203 fcb 0xFA,0x39,0x5D,0x27,0xF6,0x5A,0x39,0x5D,0x27,0xF1,0x54,0x39,0x5D,0x2B,0xEC,0x58 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3204 fcb 0x39,0x34,0x60,0x8D,0x16,0xBD,0xB7,0x0E,0x35,0xE0,0xBD,0x9C,0x1B,0xC6,0x02,0xBD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3205 fcb 0xAC,0x33,0xD6,0xD8,0x9E,0xD9,0x34,0x14,0x7E,0x9A,0x32,0x9E,0xD9,0x34,0x10,0xBD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3206 fcb 0x9B,0x98,0xBD,0xB3,0xA2,0x25,0xC4,0xBD,0x9B,0x98,0x81,0x3B,0x26,0xF9,0x35,0x10 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3207 fcb 0xDE,0xA6,0x34,0x40,0x9F,0xA6,0xBD,0xB2,0x84,0x35,0x10,0x9F,0xA6,0x39,0x4F,0x1F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3208 fcb 0x8B,0xDC,0xE3,0x10,0x27,0x0D,0x74,0x93,0xD5,0xDD,0xE3,0x22,0x0D,0x0F,0xE3,0x0F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3209 fcb 0xE4,0x35,0x02,0x10,0xEE,0x67,0x84,0x7F,0x34,0x02,0x3B,0x0A,0x0C,0x01,0x03,0x05 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3210 fcb 0x06,0x08,0x01,0xA8,0x01,0x90,0x01,0x7A,0x01,0x64,0x01,0x50,0x01,0x3D,0x01,0x2B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3211 fcb 0x01,0x1A,0x01,0x0A,0x00,0xFB,0x00,0xED,0x00,0xDF,0x00,0xD3,0x00,0xC7,0x00,0xBB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3212 fcb 0x00,0xB1,0x00,0xA6,0x00,0x9D,0x00,0x94,0x00,0x8B,0x00,0x83,0x00,0x7C,0x00,0x75 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3213 fcb 0x00,0x6E,0xA6,0x9C,0x93,0x8B,0x83,0x7B,0x74,0x6D,0x67,0x61,0x5B,0x56,0x51,0x4C |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3214 fcb 0x47,0x43,0x3F,0x3B,0x37,0x34,0x31,0x2E,0x2B,0x28,0x26,0x23,0x21,0x1F,0x1D,0x1B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3215 fcb 0x19,0x18,0x16,0x14,0x13,0x12,0x9E,0x8A,0xC6,0x01,0x34,0x14,0xD7,0xC2,0x9F,0xD5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3216 fcb 0xBD,0x95,0x9A,0xBD,0xB1,0x56,0xBD,0xB6,0x54,0x20,0x08,0xBD,0x9B,0x98,0x7E,0x9B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3217 fcb 0xBE,0x35,0x14,0xD7,0xD8,0x27,0xFA,0x9F,0xD9,0x10,0x27,0x00,0xEA,0x0D,0xD8,0x27 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3218 fcb 0xF0,0xBD,0x9B,0x98,0x81,0x3B,0x27,0xF5,0x81,0x27,0x27,0xF1,0x81,0x4E,0x26,0x04 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3219 fcb 0x03,0xD5,0x20,0xE9,0x81,0x42,0x26,0x04,0x03,0xD6,0x20,0xE1,0x81,0x58,0x10,0x27 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3220 fcb 0x00,0x96,0x81,0x4D,0x10,0x27,0x01,0x2A,0x34,0x02,0xC6,0x01,0x0D,0xD8,0x27,0x11 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3221 fcb 0xBD,0x9B,0x98,0xBD,0xB3,0xA2,0x34,0x01,0xBD,0x9B,0xE2,0x35,0x01,0x24,0x02,0x8D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3222 fcb 0xAA,0x35,0x02,0x81,0x43,0x27,0x28,0x81,0x41,0x27,0x2E,0x81,0x53,0x27,0x32,0x81 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3223 fcb 0x55,0x27,0x5C,0x81,0x44,0x27,0x55,0x81,0x4C,0x27,0x4C,0x81,0x52,0x27,0x43,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3224 fcb 0x45,0x27,0x2F,0x4A,0x27,0x27,0x4A,0x27,0x32,0x4A,0x27,0x1D,0x7E,0xB4,0x4A,0xBD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3225 fcb 0x95,0x5D,0xD7,0xB2,0xBD,0x95,0x9A,0x20,0x84,0xC1,0x04,0x24,0xEF,0xD7,0xE8,0x20 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3226 fcb 0xF6,0xC1,0x3F,0x24,0xE7,0xD7,0xE9,0x20,0xEE,0x4F,0x8D,0x58,0x21,0x4F,0x1F,0x01 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3227 fcb 0x20,0x59,0x4F,0x1F,0x01,0x8D,0x4D,0x1E,0x01,0x20,0x50,0x4F,0x1F,0x01,0x8D,0x44 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3228 fcb 0x20,0x49,0x4F,0x9E,0x8A,0x20,0x44,0x4F,0x8D,0x3A,0x20,0xF7,0x4F,0x20,0x03,0x4F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3229 fcb 0x8D,0x32,0x9E,0x8A,0x1E,0x10,0x20,0x33,0xBD,0x9C,0x1B,0xC6,0x02,0xBD,0xAC,0x33 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3230 fcb 0xD6,0xD8,0x9E,0xD9,0x34,0x14,0x7E,0x9C,0xC6,0xD6,0xE9,0x27,0x1B,0x4F,0x1E,0x01 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3231 fcb 0xA7,0xE2,0x2A,0x02,0x8D,0x0D,0xBD,0x9F,0xB5,0x1F,0x30,0x44,0x56,0x44,0x56,0x6D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3232 fcb 0xE0,0x2A,0x04,0x40,0x50,0x82,0x00,0x39,0x1F,0x10,0x39,0x34,0x06,0x8D,0xDA,0x35 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3233 fcb 0x10,0x34,0x06,0x8D,0xD4,0x35,0x10,0x10,0x9E,0xE8,0x34,0x20,0x6D,0xE4,0x27,0x08 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3234 fcb 0x1E,0x10,0x8D,0xDF,0x6A,0xE4,0x20,0xF4,0x35,0x20,0xDE,0x8A,0xD3,0xC7,0x2B,0x02 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3235 fcb 0x1F,0x03,0x1F,0x10,0x9E,0x8A,0xD3,0xC9,0x2B,0x02,0x1F,0x01,0x11,0x83,0x01,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3236 fcb 0x25,0x03,0xCE,0x00,0xFF,0x8C,0x00,0xC0,0x25,0x03,0x8E,0x00,0xBF,0xDC,0xC7,0xDD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3237 fcb 0xBD,0xDC,0xC9,0xDD,0xBF,0x9F,0xC5,0xDF,0xC3,0x0D,0xD5,0x26,0x04,0x9F,0xC9,0xDF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3238 fcb 0xC7,0xBD,0x94,0x20,0x0D,0xD6,0x26,0x03,0xBD,0x94,0xA1,0x0F,0xD5,0x0F,0xD6,0x7E |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3239 fcb 0x9C,0xDD,0xBD,0x9B,0x98,0x34,0x02,0xBD,0x9E,0x5E,0x34,0x06,0xBD,0x9B,0x98,0x81 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3240 fcb 0x2C,0x10,0x26,0xFF,0x07,0xBD,0x9E,0x5B,0x1F,0x01,0x35,0x40,0x35,0x02,0x81,0x2B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3241 fcb 0x27,0x04,0x81,0x2D,0x26,0xA6,0x1F,0x30,0x7E,0x9D,0xCB,0xBD,0x9B,0x98,0x81,0x2B |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3242 fcb 0x27,0x07,0x81,0x2D,0x27,0x04,0xBD,0x9B,0xE2,0x4F,0x34,0x02,0xBD,0x9C,0xCB,0x35 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3243 fcb 0x02,0x4D,0x27,0x04,0x4F,0x50,0x82,0x00,0x39,0x00,0x00,0x00,0x01,0xFE,0xC5,0x19 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3244 fcb 0x19,0xFB,0x16,0x31,0xF2,0xF4,0xFB,0x4A,0x51,0xEC,0x84,0x61,0xF9,0xE1,0xC7,0x78 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3245 fcb 0xAE,0xD4,0xDC,0x8E,0x3B,0xC5,0xE5,0xA2,0x69,0xB5,0x06,0xB5,0x06,0x81,0x40,0x26 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3246 fcb 0x02,0x9D,0x9F,0xBD,0x95,0x22,0xBD,0x93,0xB2,0xBD,0x93,0x1D,0xAE,0xC4,0x9F,0xCB |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3247 fcb 0xAE,0x42,0x9F,0xCD,0xBD,0xB2,0x6D,0xBD,0xB7,0x3D,0xCE,0x00,0xCF,0xAF,0xC4,0xBD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3248 fcb 0x93,0x20,0x86,0x01,0x97,0xC2,0xBD,0x95,0x81,0x8E,0x01,0x00,0x9D,0xA5,0x27,0x0F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3249 fcb 0xBD,0xB2,0x6D,0xBD,0xB1,0x41,0x96,0x4F,0x8B,0x08,0x97,0x4F,0xBD,0xB7,0x40,0x96 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3250 fcb 0xB6,0x85,0x02,0x27,0x04,0x1F,0x10,0x30,0x8B,0x9F,0xD1,0xC6,0x01,0xD7,0xC2,0xD7 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3251 fcb 0xD8,0xBD,0x9F,0xE2,0x34,0x06,0xBD,0x9F,0xE2,0xDD,0xD9,0x35,0x06,0x34,0x06,0x9E |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3252 ; The actual implementation of the DOS command follows; presumably this is here because it was |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3253 ; implemented by a different group of people given that it doesn't call DSKCON directly and uses |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3254 ; the DSKCON variables pointer as well. |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3255 DOSCOM swi3 ; do a software interrupt for some reason (why?) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3256 clr TMPLOC ; reset sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3257 ldd #DOSBUF ; initialize load address for boot track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3258 pshs d ; save buffer address |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3259 LDF09 ldx DSKVAR ; point to DSKCON variables |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3260 inc TMPLOC ; bump sector counter |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3261 lda TMPLOC ; get current sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3262 cmpa #SECMAX ; loaded whole track? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3263 bhi LDF36 ; brif so |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3264 sta 3,x ; tell DSKCON the sector number |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3265 ldd #0x0200 ; read code and drive 0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3266 sta ,x ; set operation code (should be std to set drive) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3267 lda #34 ; track 34 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3268 sta 2,x ; tell DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3269 puls a,b ; get buffer pointer |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3270 std 4,x ; tell DSKCON |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3271 adda #1 ; bump buffer pointer by one sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3272 pshs a,b ; save it again |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3273 jsr [DCNVEC] ; call DSKCON to read a sector |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3274 tst 6,x ; error? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3275 beq LDF09 ; brif not - read another |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3276 puls a,b ; clean stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3277 ldb #2*20 ; I/O error code |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3278 jmp LAC46 ; raise error |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3279 LDF36 puls a,b ; clear up stack |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3280 ldd DOSBUF ; get start of loaded track |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3281 cmpd #'O*256+'S ; is it the "OS" tag? |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3282 lbeq DOSBUF+2 ; brif so - transfer control to it |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3283 clr DOSBUF ; clear first two bytes (why?) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3284 clr DOSBUF+1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3285 jmp BAWMST ; do a warm start |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3286 DOSINI ldd #0x3b3b ; set up SWI3 and SWI2 with RTIs (kind of pointless) |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3287 std SW3VEC |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3288 std SW3VEC+2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3289 std SW2VEC+1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3290 rts |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3291 ; The remainder to the end is unused garbage bytes |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3292 fcb 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x10,0x93,0xD3,0x25,0x02,0xDC,0xD3,0xDD |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3293 fcb 0xC3,0xA6,0xE4,0x81,0x04,0x25,0x0A,0xDC,0xCD,0x93,0xC5,0x24,0x11,0x4F,0x5F,0x20 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3294 fcb 0x0D,0xDC,0xCD,0xD3,0xC5,0x25,0x05,0x10,0x93,0xD5,0x25,0x02,0xDC,0xD5,0xDD,0xC5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3295 fcb 0x0D,0xD8,0x26,0x02,0x8D,0x50,0x35,0x06,0x04,0xD8,0x25,0x05,0x10,0x93,0xD9,0x27 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3296 fcb 0x0C,0x5C,0xC1,0x08,0x26,0x04,0x4C,0x5F,0x84,0x07,0x7E,0x9E,0xFD,0x39,0x9E,0xCF |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3297 fcb 0xEC,0xC4,0x27,0x07,0x83,0x00,0x01,0x8D,0x03,0x1F,0x21,0x39,0x34,0x76,0x6F,0x64 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3298 fcb 0xA6,0x63,0x3D,0xED,0x66,0xEC,0x61,0x3D,0xEB,0x66,0x89,0x00,0xED,0x65,0xE6,0xE4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3299 fcb 0xA6,0x63,0x3D,0xE3,0x65,0xED,0x65,0x24,0x02,0x6C,0x64,0xA6,0xE4,0xE6,0x62,0x3D |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3300 fcb 0xE3,0x64,0xED,0x64,0x35,0xF6,0x7E,0x94,0xA1,0x5F,0x9D,0xA5,0x27,0x11,0xBD,0xB2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3301 fcb 0x6D,0xBD,0xB1,0x41,0x96,0x4F,0x8B,0x06,0x97,0x4F,0xBD,0xB7,0x0E,0xC4,0x3F,0x1F |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3302 fcb 0x98,0xC4,0x07,0x44,0x44,0x44,0x39 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3303 else |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3304 ; From here to the end of the ROM is unused garbage bytes |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3305 fcb 0x00,0x00,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3306 fcb 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3307 fcb 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3308 fcb 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3309 fcb 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3310 fcb 0xa7,0xfc,0x8f,0xec,0x94,0xbc,0x8c,0xf5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3311 fcb 0xbc,0xf8,0xd1,0xfa,0xfd,0xfd,0xac,0xe5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3312 fcb 0xec,0xf8,0x8a,0xea,0xad,0xec,0xb9,0xff |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3313 fcb 0xbc,0xfd,0xcc,0xed,0x8c,0xe5,0x9c,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3314 fcb 0xa2,0xa6,0xe8,0xfc,0xae,0xe5,0x94,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3315 fcb 0xbe,0xee,0x8c,0xed,0xea,0xe5,0xed,0x7c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3316 fcb 0xbe,0xfc,0x8e,0xed,0xfe,0xec,0x9c,0xac |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3317 fcb 0xdc,0xfd,0xfb,0xf5,0xad,0xfd,0xaf,0xe9 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3318 fcb 0xa0,0x30,0x24,0x8a,0x14,0x84,0x2c,0xc4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3319 fcb 0x24,0x08,0xe0,0x21,0x20,0x80,0x28,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3320 fcb 0x20,0x88,0xa4,0xa0,0xa4,0x80,0xac,0x11 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3321 fcb 0x30,0x90,0x24,0xd4,0x01,0xa1,0xa0,0x84 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3322 fcb 0x64,0x80,0x34,0x04,0x34,0x80,0x20,0x21 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3323 fcb 0xa1,0x81,0xa4,0x80,0x20,0x90,0x88,0xc0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3324 fcb 0x00,0x9a,0xa0,0xa0,0xe0,0x80,0xb6,0xa4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3325 fcb 0x20,0xa2,0x20,0x98,0x20,0x88,0x7c,0xae |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3326 fcb 0xbd,0xee,0xee,0xfe,0xf1,0xec,0xad,0xbc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3327 fcb 0xed,0xec,0xdd,0xf9,0xec,0x75,0xb5,0xbd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3328 fcb 0xef,0xfd,0xa9,0xe4,0x96,0xfc,0x94,0xe4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3329 fcb 0xae,0xad,0xda,0xb4,0xac,0x7c,0xc3,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3330 fcb 0xbd,0xfc,0xae,0xfd,0xee,0xfd,0x85,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3331 fcb 0xad,0xef,0x76,0xfc,0xd6,0x6e,0xef,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3332 fcb 0xf6,0xbd,0xed,0xfe,0x58,0xed,0xf7,0xfd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3333 fcb 0x85,0xec,0xfc,0xe8,0xf2,0xe4,0xbf,0xa8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3334 fcb 0x30,0x80,0xa0,0x05,0xa4,0x20,0xb0,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3335 fcb 0x20,0x84,0x04,0x80,0x30,0x8e,0xe0,0xa4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3336 fcb 0xb0,0x02,0x04,0x80,0x61,0x84,0x20,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3337 fcb 0xa0,0x80,0x20,0x88,0x24,0x94,0x24,0xa4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3338 fcb 0x80,0x04,0x00,0x84,0x24,0x84,0x28,0x9c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3339 fcb 0x44,0x28,0xa0,0x80,0x80,0x90,0x30,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3340 fcb 0xe8,0x80,0xa4,0x88,0x30,0x94,0x20,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3341 fcb 0x00,0x8c,0x68,0xac,0xa4,0x84,0x30,0x06 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3342 fcb 0x86,0xe4,0xbc,0xfc,0xae,0xec,0x87,0xbd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3343 fcb 0x9c,0xfd,0xec,0xbc,0xfd,0xb5,0xa9,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3344 fcb 0xa7,0xac,0x8b,0x7c,0xa5,0xfc,0xcc,0xbc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3345 fcb 0xaa,0xb6,0xc9,0xfc,0xa5,0xfc,0x47,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3346 fcb 0xdd,0x6d,0x84,0xfe,0xac,0xee,0x20,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3347 fcb 0xc5,0xff,0xf4,0xee,0xf7,0xf4,0xaa,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3348 fcb 0xef,0xff,0x9c,0xfd,0xee,0xe4,0xaf,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3349 fcb 0xbe,0xbc,0xdf,0xa5,0xeb,0xec,0xee,0xa4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3350 fcb 0x34,0x86,0xac,0x84,0xa4,0x21,0x90,0x88 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3351 fcb 0xa0,0xa0,0x24,0xc0,0xe0,0x80,0x70,0xe5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3352 fcb 0x3c,0xa5,0xa1,0x8c,0x34,0xa4,0xe4,0x84 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3353 fcb 0x24,0x80,0xf8,0x81,0xa0,0x8d,0xec,0x4a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3354 fcb 0x2c,0xe2,0xa4,0x93,0x20,0x88,0xb0,0xc0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3355 fcb 0x34,0x10,0x20,0x91,0xa4,0x84,0xa4,0xae |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3356 fcb 0x0c,0x92,0xb0,0xcd,0xb0,0xaa,0x74,0xe8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3357 fcb 0xa0,0x12,0xb9,0x85,0x21,0xf5,0xe0,0x8e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3358 fcb 0x9e,0xbd,0x81,0xf5,0xcf,0xe4,0xcc,0x66 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3359 fcb 0xa7,0xad,0x98,0xbd,0xbc,0xbc,0x88,0xbc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3360 fcb 0x8e,0xed,0xa4,0xa8,0xad,0x88,0xee,0xfe |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3361 fcb 0xcd,0xfc,0xac,0xfd,0x8c,0xfc,0x9a,0xf5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3362 fcb 0xb4,0xe4,0x8e,0xfc,0xfe,0xe4,0xcc,0xac |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3363 fcb 0x9d,0xfc,0x97,0xe4,0x8b,0xec,0xea,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3364 fcb 0xdb,0xec,0xdf,0xec,0xac,0xe4,0xae,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3365 fcb 0xd4,0xf4,0xcd,0xec,0xb4,0xec,0xef,0xee |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3366 fcb 0xb2,0x24,0x28,0x20,0xac,0xd0,0x24,0x1c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3367 fcb 0x30,0x81,0xac,0x84,0x80,0x01,0xa4,0xa4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3368 fcb 0x70,0x88,0xa4,0xc4,0xa4,0x84,0x24,0x60 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3369 fcb 0x08,0x04,0xa0,0x88,0x20,0x98,0x64,0xa8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3370 fcb 0x24,0x10,0xd4,0x90,0xa0,0x81,0x30,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3371 fcb 0xac,0x09,0x64,0xe0,0x60,0x18,0x30,0xb0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3372 fcb 0x24,0x80,0x6c,0x88,0xa4,0x8c,0xa4,0x8c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3373 fcb 0xa8,0x10,0x21,0xa8,0x68,0x84,0xa8,0xa0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3374 fcb 0x8d,0xe5,0xa4,0x66,0x98,0xfd,0x87,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3375 fcb 0xde,0xac,0x9c,0xf4,0x8c,0xf5,0xb5,0xf5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3376 fcb 0xb6,0xf5,0xa9,0xf8,0xaf,0xed,0xe6,0xe5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3377 fcb 0xb8,0xf1,0xb1,0xfc,0xfc,0xe9,0x8c,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3378 fcb 0x86,0xf9,0xb5,0xf7,0xcd,0xbc,0x84,0xe6 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3379 fcb 0x8c,0xfc,0x81,0xe4,0xbc,0xe4,0x4f,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3380 fcb 0x8c,0xfc,0xae,0xe7,0xbd,0xfc,0xdc,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3381 fcb 0xf4,0xe8,0x9f,0xec,0xea,0xfc,0xef,0x6c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3382 fcb 0x20,0x82,0xa4,0x40,0xa8,0x8c,0xac,0x08 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3383 fcb 0x60,0x82,0xa1,0x95,0xe0,0x30,0x60,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3384 fcb 0x64,0x48,0x20,0x04,0x20,0x84,0xa4,0x82 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3385 fcb 0xa0,0x04,0x20,0x94,0x44,0xa0,0xe0,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3386 fcb 0x04,0xc8,0x2c,0x82,0x24,0x04,0x30,0xb8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3387 fcb 0x24,0x00,0x20,0xa0,0xa4,0x82,0xa0,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3388 fcb 0x84,0x81,0x2c,0x84,0x20,0x80,0x24,0x8c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3389 fcb 0x80,0x80,0x24,0x02,0x64,0xa8,0x24,0x88 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3390 fcb 0xed,0xbd,0xd1,0xff,0xb4,0xe4,0xaa,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3391 fcb 0x80,0xf1,0x8c,0xed,0x89,0xac,0xb6,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3392 fcb 0x6e,0xfd,0xae,0xed,0x89,0xec,0xb6,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3393 fcb 0xae,0xfd,0xee,0xf0,0x9f,0x7e,0x9f,0xfe |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3394 fcb 0xd9,0xec,0xae,0xed,0xc6,0xec,0xfe,0x7d |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3395 fcb 0xbc,0xfc,0xb9,0xac,0xda,0xfc,0xa5,0xbd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3396 fcb 0xcc,0xfd,0xad,0xe6,0xae,0xf4,0xcd,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3397 fcb 0xf2,0xed,0x84,0x78,0xcc,0xec,0xab,0x74 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3398 fcb 0xa4,0x94,0x20,0x84,0x20,0x00,0xa0,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3399 fcb 0xa4,0x05,0x28,0x0c,0x24,0x04,0x24,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3400 fcb 0xa0,0x84,0x80,0x80,0x18,0x80,0x24,0x0c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3401 fcb 0xe0,0x88,0x04,0x8a,0x2c,0x88,0x0c,0x84 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3402 fcb 0x00,0x80,0xe0,0x04,0x20,0xa1,0x20,0x85 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3403 fcb 0x20,0x90,0x80,0x9c,0x24,0xc0,0xe0,0x8d |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3404 fcb 0xa0,0x80,0x20,0x82,0xa0,0xa2,0x20,0x40 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3405 fcb 0x80,0x82,0x10,0xb8,0x00,0x84,0x60,0x92 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3406 fcb 0xdf,0xef,0xd1,0xec,0xa4,0xec,0xc9,0xfd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3407 fcb 0xe6,0xad,0xc6,0xe5,0xd4,0xfd,0x9a,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3408 fcb 0xae,0xe4,0xac,0xbc,0x9f,0xec,0x8a,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3409 fcb 0x0f,0xe5,0x8f,0xec,0xd7,0xe4,0xac,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3410 fcb 0xce,0xef,0x9e,0xf4,0xd7,0xe4,0xcf,0xf5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3411 fcb 0xce,0xf4,0xe6,0x6c,0x81,0xec,0x9b,0xee |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3412 fcb 0x9f,0x7c,0xbc,0xf7,0xcc,0x6d,0xfe,0xef |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3413 fcb 0x8e,0x6e,0xef,0xbd,0xbe,0xbd,0x8f,0xe4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3414 fcb 0xa0,0x04,0x20,0xe0,0xb4,0x82,0xb4,0x82 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3415 fcb 0x20,0x8c,0xb0,0x90,0xb0,0x90,0xb8,0x84 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3416 fcb 0x24,0x90,0x6a,0x86,0x28,0x84,0xa0,0xa8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3417 fcb 0x24,0xcf,0xb8,0x88,0xa0,0xa0,0xb1,0x81 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3418 fcb 0x10,0xb6,0xe0,0x98,0xc8,0xb4,0x34,0xaf |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3419 fcb 0x34,0x00,0xb0,0x82,0x20,0x90,0xe4,0xac |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3420 fcb 0x28,0x84,0x84,0x88,0x24,0xac,0xac,0xa4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3421 fcb 0x25,0x98,0x20,0xa0,0x20,0x80,0x32,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3422 fcb 0xae,0xec,0x8d,0xbd,0x9f,0xf7,0xff,0xa1 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3423 fcb 0xca,0xbe,0x8d,0x7c,0x8e,0x74,0xef,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3424 fcb 0xd4,0xf5,0x9e,0xb8,0x8e,0x35,0xc6,0xe4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3425 fcb 0x90,0xed,0xed,0xfc,0x8c,0x25,0xbe,0xa4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3426 fcb 0xfc,0x6c,0x89,0xee,0xec,0xad,0xae,0x78 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3427 fcb 0xee,0xec,0xad,0xed,0xad,0xec,0xbc,0xbd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3428 fcb 0x2e,0x76,0xae,0xec,0x8e,0xbd,0xef,0xfd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3429 fcb 0xac,0xec,0xef,0xb5,0xbe,0xa4,0xbf,0xe8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3430 fcb 0x04,0x00,0x24,0x08,0x04,0x84,0x24,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3431 fcb 0x28,0x82,0x60,0x04,0x24,0x94,0x28,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3432 fcb 0x2c,0x84,0x20,0x80,0xb5,0x86,0x30,0x04 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3433 fcb 0x23,0x84,0xa0,0x80,0xa0,0x06,0x24,0xad |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3434 fcb 0xa4,0x80,0xa6,0x86,0x80,0x00,0xe0,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3435 fcb 0x66,0x90,0x20,0x8c,0x00,0x8c,0x04,0x82 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3436 fcb 0xa4,0x46,0x00,0x01,0x20,0x98,0xa0,0x88 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3437 fcb 0x20,0x2a,0x24,0xe0,0x00,0x08,0x64,0x02 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3438 fcb 0x8d,0xa5,0xb5,0xe5,0xad,0xf7,0xcd,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3439 fcb 0xa8,0x29,0xbc,0x64,0xf8,0xec,0xad,0xae |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3440 fcb 0xa8,0xf5,0x8c,0xa7,0xe7,0xe5,0xa9,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3441 fcb 0xf4,0xfd,0x94,0xed,0x5c,0xe4,0xc0,0xbe |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3442 fcb 0x8c,0xfd,0xcd,0xa4,0x94,0xff,0xa5,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3443 fcb 0xfc,0xe5,0xac,0xe4,0xae,0xbd,0x9d,0xbd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3444 fcb 0xa8,0xec,0x84,0x68,0xc9,0xad,0x8e,0xac |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3445 fcb 0xea,0xed,0x8f,0xec,0xbf,0xaf,0xf7,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3446 fcb 0x24,0x91,0xa0,0x04,0xb4,0x04,0x82,0x90 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3447 fcb 0xac,0x08,0xb0,0xa0,0xc0,0x08,0x34,0xa0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3448 fcb 0x65,0x88,0x73,0x80,0x20,0x80,0x2c,0x04 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3449 fcb 0x20,0x84,0x21,0x26,0x20,0x94,0x00,0x20 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3450 fcb 0xa4,0x96,0xa4,0x80,0xb0,0x84,0x24,0x82 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3451 fcb 0x25,0x86,0xa0,0x00,0x7c,0x30,0xa2,0x25 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3452 fcb 0x24,0x9e,0xa0,0x88,0x20,0x80,0x20,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3453 fcb 0x20,0xa9,0x20,0xa2,0xc0,0xb2,0xa1,0x0e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3454 fcb 0xae,0xec,0xa8,0xee,0xac,0xf8,0xfa,0xb4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3455 fcb 0xa4,0xfe,0xfc,0xf4,0x1c,0xed,0xae,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3456 fcb 0xd7,0xf8,0xfd,0xed,0x8e,0xfe,0xdc,0xe8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3457 fcb 0xfe,0xed,0xfc,0xed,0x9f,0xfc,0x9c,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3458 fcb 0xb0,0xe7,0xbe,0xfe,0x84,0xe4,0xa7,0xfe |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3459 fcb 0xad,0xe4,0xbc,0x64,0x8d,0xbf,0xaf,0xfd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3460 fcb 0xaa,0x2c,0xcd,0xed,0x8f,0xe4,0xfc,0xbd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3461 fcb 0xbf,0xef,0xe5,0xed,0xbf,0xfe,0xe5,0xfd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3462 fcb 0x84,0x82,0xa4,0x83,0xa4,0x08,0xa0,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3463 fcb 0x00,0x84,0x30,0x86,0x08,0x20,0xb0,0x90 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3464 fcb 0x14,0xb4,0xa0,0x80,0x20,0x90,0xa4,0x88 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3465 fcb 0xec,0x80,0xa4,0x84,0xa0,0x84,0x28,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3466 fcb 0xb4,0x81,0xf0,0xa0,0xe4,0x80,0x00,0x84 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3467 fcb 0x34,0xb1,0xe4,0x80,0x24,0x5d,0x20,0xd2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3468 fcb 0x44,0x83,0xb0,0x88,0x20,0x14,0x30,0xbc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3469 fcb 0x20,0xa0,0xc4,0x9d,0x68,0x00,0xa0,0x20 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3470 fcb 0xcf,0xec,0xaa,0x66,0xb8,0x75,0x9e,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3471 fcb 0xfe,0xb4,0xbc,0xff,0xac,0xfd,0x9a,0xbc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3472 fcb 0xba,0xec,0x8e,0xf4,0xec,0xfc,0x96,0xfd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3473 fcb 0xd2,0xea,0x84,0xfc,0xae,0xe4,0xe5,0xfd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3474 fcb 0xbd,0xec,0xdc,0xac,0xa5,0xb0,0xcf,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3475 fcb 0x7a,0xb5,0xe4,0xea,0xef,0xec,0xa4,0xfe |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3476 fcb 0xe5,0xff,0xf8,0xbc,0x86,0xe4,0xff,0xe5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3477 fcb 0xaf,0x6c,0xee,0xec,0xee,0x6c,0x2a,0x6c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3478 fcb 0x28,0xa0,0x64,0x84,0xb4,0x92,0x04,0x94 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3479 fcb 0x80,0x00,0xb8,0x0c,0x20,0x88,0xa0,0x84 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3480 fcb 0xa0,0x40,0xb0,0x00,0xa0,0x84,0xa0,0xca |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3481 fcb 0x00,0x14,0x24,0xc0,0xa0,0x64,0x24,0x88 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3482 fcb 0x00,0x18,0xed,0x88,0x28,0x80,0xa1,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3483 fcb 0x00,0x85,0x20,0x80,0xa4,0x34,0x00,0x04 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3484 fcb 0x24,0xa4,0xac,0x8c,0x34,0x88,0x2c,0x04 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3485 fcb 0x24,0x84,0x60,0x88,0xa0,0xa0,0xa0,0x9c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3486 fcb 0xb9,0xf4,0x97,0xec,0x68,0xad,0xe4,0xf0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3487 fcb 0xf4,0xec,0xcb,0xfc,0xa8,0xf5,0xfd,0x3e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3488 fcb 0xfc,0xee,0x9d,0xec,0x5e,0xfc,0x9c,0xf6 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3489 fcb 0x80,0xed,0xa2,0xe4,0xad,0xb6,0xbf,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3490 fcb 0xed,0xfe,0xb3,0xfc,0xdc,0xb5,0xb3,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3491 fcb 0xef,0xfc,0xbf,0xfc,0xbc,0xfe,0xea,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3492 fcb 0xc5,0xe4,0x89,0xfc,0x7c,0xbd,0xde,0xfd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3493 fcb 0x87,0xe4,0x9e,0xec,0xaf,0xe4,0xfe,0xe4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3494 fcb 0x34,0xc6,0x30,0x26,0x24,0x80,0x20,0x1c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3495 fcb 0xb4,0x04,0xb4,0x28,0x24,0x98,0x20,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3496 fcb 0xa4,0xa4,0xa0,0x80,0x21,0x48,0xb9,0x24 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3497 fcb 0x20,0x80,0x28,0x00,0x20,0x80,0x84,0x1e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3498 fcb 0x60,0xbc,0x28,0x88,0xac,0x74,0xe0,0x04 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3499 fcb 0x24,0xa6,0x00,0x20,0x70,0x85,0xa0,0x89 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3500 fcb 0x30,0x0b,0xa0,0x80,0x20,0x10,0xa0,0x14 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3501 fcb 0x24,0x04,0x20,0x82,0xa0,0x80,0x35,0xa0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3502 fcb 0xee,0xbc,0xbe,0xfd,0xbe,0xb9,0x89,0xe4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3503 fcb 0xfd,0x3d,0x13,0xe4,0x9e,0xec,0x8d,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3504 fcb 0xde,0xfc,0x8e,0xe5,0x8f,0xf4,0xbe,0xff |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3505 fcb 0xe6,0xe6,0x8c,0xe6,0xcd,0xae,0xee,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3506 fcb 0xfe,0xec,0xdc,0xec,0x8e,0xfc,0x96,0xfd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3507 fcb 0xa6,0xfc,0xce,0xcd,0xbe,0xfe,0xee,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3508 fcb 0x9e,0xf4,0xee,0x6e,0xcf,0xed,0xee,0xe0 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3509 fcb 0xfc,0xee,0xae,0xa0,0xfd,0xed,0xa6,0x6c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3510 fcb 0xa8,0x04,0x20,0x00,0x30,0x80,0xa0,0x90 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3511 fcb 0x20,0x80,0x60,0x00,0x20,0x82,0x90,0x40 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3512 fcb 0x24,0x10,0x04,0x00,0x84,0x00,0x24,0x18 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3513 fcb 0xe0,0x00,0x00,0x02,0x20,0xb4,0x24,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3514 fcb 0x22,0x80,0x04,0x04,0xa0,0x80,0x84,0x0a |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3515 fcb 0x28,0x14,0xa0,0x80,0x00,0x86,0x40,0x86 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3516 fcb 0x20,0x90,0x10,0x30,0x84,0x84,0x00,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3517 fcb 0x74,0x80,0x30,0x00,0x20,0x08,0x20,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3518 fcb 0xfb,0xfd,0xc9,0xe6,0x91,0xfd,0xc8,0xee |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3519 fcb 0xb4,0x7c,0xbe,0xec,0x89,0xec,0xbd,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3520 fcb 0xa5,0xfd,0xd9,0xec,0x8a,0xfd,0xae,0xec |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3521 fcb 0xad,0xfc,0xae,0xec,0x8d,0xec,0x8f,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3522 fcb 0xbf,0x6d,0xac,0xbd,0xea,0xed,0xaf,0xac |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3523 fcb 0xfd,0xfc,0xea,0xfd,0xf0,0xf9,0xb3,0xee |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3524 fcb 0x8e,0xe4,0xfd,0xec,0xff,0xe0,0x8e,0xe4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3525 fcb 0xfd,0xad,0xdc,0x6c,0xa0,0xe4,0x8e,0xe4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3526 fcb 0x28,0x00,0xb4,0x00,0x22,0x00,0xb4,0x00 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3527 fcb 0x6c,0x00,0xa4,0x1b,0xb2,0x9c,0x20,0x84 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3528 fcb 0x24,0xc4,0x24,0xa8,0xa0,0x80,0x64,0x88 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3529 fcb 0x80,0xac,0x30,0x85,0x20,0x9c,0x74,0xf2 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3530 fcb 0x88,0x88,0x38,0x80,0x2c,0xa0,0x20,0x04 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3531 fcb 0xb8,0x80,0x24,0x90,0xa8,0xf8,0xbc,0x88 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3532 fcb 0x20,0x20,0xa0,0xe0,0x6c,0x80,0x00,0xe8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3533 fcb 0x20,0x80,0x24,0xc0,0x23,0x9c,0x24,0x82 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3534 fcb 0xb5,0xe0,0xa4,0xed,0x8e,0xe4,0xa9,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3535 fcb 0xf8,0xee,0xce,0xfc,0x89,0xe4,0x98,0xf5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3536 fcb 0xa1,0xec,0xa1,0xe0,0xb8,0xec,0xd0,0xfc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3537 fcb 0xcf,0xf9,0xae,0xec,0x8a,0xfd,0x6b,0x6e |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3538 fcb 0x94,0xa8,0xb8,0xe4,0xce,0xa6,0x8c,0xf4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3539 fcb 0xee,0xbd,0x8d,0xec,0xed,0xf4,0xcf,0x6c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3540 fcb 0x99,0x6c,0xc8,0xf9,0xf9,0xa5,0xb6,0x79 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3541 fcb 0x8c,0xc1,0xe4,0xf5,0xaa,0x24,0xf7,0x64 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3542 fcb 0x24,0xa8,0xa4,0x80,0xa0,0x96,0x20,0x09 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3543 fcb 0x20,0x18,0xa8,0x08,0xb0,0xc0,0x7c,0xcd |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3544 fcb 0x24,0xdc,0x20,0x98,0x64,0x84,0xe0,0x82 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3545 fcb 0x34,0xa0,0xea,0x88,0x60,0xc4,0x70,0xe8 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3546 fcb 0x30,0x06,0xe5,0x1c,0x20,0x84,0x20,0x9c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3547 fcb 0xa0,0x80,0xa0,0x1c,0xa8,0x80,0x88,0x22 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3548 fcb 0x24,0x80,0x24,0xb0,0xe4,0x14,0xe4,0x80 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3549 fcb 0xe0,0x86,0x00,0xd6,0x8c,0x80,0xb8,0xab |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3550 fcb 0xaf,0xa2,0x84,0xe8,0x86,0x2f,0x8a,0xf5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3551 fcb 0xd4,0xff,0x86,0xef,0x8e,0xf4,0xc8,0x6c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3552 fcb 0xf5,0xf4,0x4c,0xf4,0xe8,0x74,0x04,0xee |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3553 fcb 0xee,0xe0,0x26,0x2c,0x9f,0xec,0x90,0xe5 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3554 fcb 0xbc,0xe5,0xf8,0xe0,0xfb,0xf4,0xb4,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3555 fcb 0x4e,0xe4,0xe6,0xec,0x8c,0xe4,0xbf,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3556 fcb 0x9f,0xe0,0xcc,0x7c,0xbf,0xed,0x9d,0xed |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3557 fcb 0xad,0xf8,0xaf,0x64,0xef,0xed,0xed,0xe4 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3558 fcb 0xa0,0x8c,0x20,0x95,0x30,0x38,0xa0,0x84 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3559 fcb 0x64,0x80,0xe0,0x76,0x2c,0x20,0xb4,0x04 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3560 fcb 0x3f,0xb1,0xa4,0x24,0x24,0x80,0x24,0xa9 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3561 fcb 0x31,0x97,0xac,0x28,0x64,0x50,0xa0,0x04 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3562 fcb 0x38,0x80,0xb4,0x8e,0x20,0xcc,0xbc,0x38 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3563 fcb 0x64,0x8c,0xa0,0x90,0xe4,0xa0,0x64,0x99 |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3564 fcb 0x64,0xaf,0x24,0xe5,0x60,0x80,0xa4,0x3c |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3565 fcb 0x2c,0x8e,0xb4,0xbc,0xa4,0xcc,0x24,0xcc |
605ff82c4618
Initial check in with cleaned up sources
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3566 endc |