annotate level1/cmds/format.asm @ 1656:5b5390b7333a

exmode replaces xmode as the ideal utility. makefiles and help updated accordingly
author boisy
date Sat, 17 Jul 2004 13:20:48 +0000
parents 6c53cd87473a
children b4b97d35fda1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1 ********************************************************************
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
2 * Format - Disk format program
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
3 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
4 * $Id$
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
5 *
1325
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
6 * Edt/Rev YYYY/MM/DD Modified by
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
7 * Comment
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
8 * ------------------------------------------------------------------
1325
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
9 * 22 ????/??/??
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
10 * From Tandy OS-9 Level Two VR 02.00.01.
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
11 *
1325
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
12 * 23 2003/01/06 JC
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
13 * Format incorrect/clusters summary: now, specifying cluster size works.
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
14 * Fixed bug where format showed an improper number of sectors formatted
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
15 * at the summary if the number of sectors was a large number.
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
16 * This was most notable when formatting large disks, such as hard drives.
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
17
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
18 nam Format
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
19 ttl Disk format program
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
20
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
21 * Disassembled 02/07/17 11:00:13 by Disasm v1.6 (C) 1988 by RML
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
22
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
23 ifp1
960
ea69ed12af12 Added OS9FORMAT macros which inherently specify the disk format, so that
boisy
parents: 952
diff changeset
24 use defsfile
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
25 endc
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
26
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
27 DOHELP set 0
961
53b612a9ef45 Added a conditional check to the roll message, so you can build format
johncollyer
parents: 960
diff changeset
28 DOROLL set 0
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
29
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
30 tylg set Prgrm+Objct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
31 atrv set ReEnt+rev
1325
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 961
diff changeset
32 rev set $00
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
33 edition set 23
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
34
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35 mod eom,name,tylg,atrv,start,size
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
36
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
37 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
38 * begin our data area, starts on direct page
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
39 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
40
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
41 savedu rmb 2 save the u register
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
42 totsects rmb 3
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
43 sectmode rmb 1
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
44 diskpath rmb 1 disk path number
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
45 currtrak rmb 2 current track on
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
46 currside rmb 2
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
47 currsect rmb 1 current sector on
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
48 sectcount rmb 1 counted sectors
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
49 u0009 rmb 1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
50 u000A rmb 2
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
51 u000C rmb 2
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
52 u000E rmb 2
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
53 mfm rmb 1 denisity (double/single)
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
54 u0011 rmb 1
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
55 tpi rmb 1
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
56 numsides rmb 1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
57 u0014 rmb 1
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
58 ncyls rmb 2 total number of cylinders
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
59 u0017 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
60 u0018 rmb 1
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
61 sectors rmb 1 total number of sectors
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
62 u001A rmb 1 total number of sectors
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
63 sectors0 rmb 2 total number of sectors
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
64 bps rmb 1 bytes per sector (returned from SS.DSize)
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
65 dtype rmb 1 disk device type (5", 8", hard disk)
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
66 ready rmb 1 ready to proceed, skip warning
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
67 dresult rmb 2 decimal number in binary
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
68 interlv rmb 1 sector interleave value
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
69 u0022 rmb 2
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
70 clustsiz rmb 1 cluster size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
71 ClustSz rmb 1 cluster size
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
72 u0029 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
73 u002A rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
74 u002B rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
75 u002C rmb 1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
76 u002D rmb 1
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
77 u002E rmb 1
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
78 u002F rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
79 u0030 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
80 u0031 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
81 u0032 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
82 u0033 rmb 1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
83 u0034 rmb 1
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
84 u0035 rmb 1
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
85 oksects rmb 3
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
86 u0038 rmb 2
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
87 u003A rmb 2
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
88 u003C rmb 1
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
89 u003D rmb 2
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
90 u003F rmb 2
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
91 u0041 rmb 2
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
92 u0043 rmb 1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
93 u0044 rmb 1
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
94 dovfy rmb 1
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
95 dtentry rmb 2
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
96 u0048 rmb 1
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
97 stoff rmb 2
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
98 u004B rmb 1
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
99 u004C rmb 1
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
100 u004D rmb 1
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
101 dolog rmb 1 logical format
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
102 prmbuf rmb 2
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
103 u0051 rmb 4
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
104 u0055 rmb 15
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
105 u0064 rmb 7
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
106 u006B rmb 4
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
107 dskname rmb 32 quoted delimited disk name buffer
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
108 u008F rmb 40
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
109 LSN0 rmb 256 LSN0 build buffer
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
110 optbuf rmb 256
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
111 fdtbuf1 rmb 3
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
112 fdtbuf2 rmb 9924
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
113 u297E rmb 451
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
114 size equ .
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
115
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
116 name fcs /Format/
200
e9ce43cc215e Made major changes to headers for consistency and identification
boisy
parents: 168
diff changeset
117 fcb edition
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
118
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
119 *val1 fdb $0000
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
120 *val2 fdb $0000
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
121 *val3 fdb $0000
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
122 hdsdat fdb $80E5,$80E5,$0000
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
123 sgtdat fdb $0100,$28FF,$0600,$01FC,$0CFF,$0000
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
124 sgsdat fdb $0600,$01FE,$0400,$01F7,$0AFF,$0600
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
125 fdb $01FB,$80E5,$80E5,$01F7,$0AFF,$0000
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
126 fcb $FF
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
127 sgfidp fdb $0043
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
128 sgsize fdb $0128
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
129
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
130 * Double Density Data
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
131 dbtdat fdb $504E,$0C00,$03F6,$01FC,$204E,$0000
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
132 dbsdat fdb $0C00,$03F5,$01FE,$0400,$01F7,$164E
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
133 fdb $0C00,$03F5,$01FB,$80E5,$80E5,$01F7
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
134 fdb $164E,$0000
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
135 fcb $4E
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
136 dbfidp fdb $0090
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
137 dbsize fdb $0152
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
138 dctdat fdb $204E,$0000,$0C00,$03F5,$01FE,$0400
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
139 fdb $01F7,$164E,$0C00,$03F5,$01FB,$80E5
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
140 fdb $80E5,$01F7,$184E,$0000
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
141 fcb $4E
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
142 dcfidp fdb $0030
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
143 dcsize fdb $0154
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
144
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
145 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
146 * format module execution start address
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
147 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
148
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
149 start stu <savedu save our data pointer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
150 bsr ClrWork clear the work area
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
151 bsr OpenDev get device name and open it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
152 bsr Default handle all the options
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
153 lbsr GetDTyp initialize the device
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
154 lbsr Format physically format device
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
155 lbsr InitLSN0 initialize LSN0
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
156 lbsr ReadLSN0 attempt to read back LSN0
689
92b575ffa143 Folded pxd.asm and pwd.asm into pd.asm for simplicity since almost all code
boisy
parents: 312
diff changeset
157 lbsr Stamps
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
158 lbsr MkRootFD file descriptor
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
159 ldu <dtentry device table entry
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
160 os9 I$Detach detach the device
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
161 clrb flag no error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
162 Exit os9 F$Exit exit module
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
163
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
164 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
165 * clear our working memory area
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
166 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
167
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
168 ClrWork leay diskpath,u point to work area
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
169 pshs y save that
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
170 leay >LSN0,u get size of area
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
171 ClrOne clr ,-y clear it down
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
172 cmpy ,s at begin?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
173 bhi ClrOne not yet,
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
174 puls pc,y done
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
175
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
176 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
177 * get rbf device name and open it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
178 ********************************************************************
162
3310d08dd353 Analysis of format.
roug
parents: 119
diff changeset
179
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
180 OpenDev lda ,x+ get char at X
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
181 cmpa #PDELIM pathlist delimiter?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
182 beq PrsPrm branch if so
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
183 BadPath ldb #E$BPNam else set bad pathname
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
184 lbra PrtError and print error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
185 PrsPrm os9 F$PrsNam parse pathname
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
186 lbcs PrtError branch if illegal (has additional pathlist element)
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
187 lda #PDELIM get pathlist name separator
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
188 cmpa ,y another pathlist separator?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
189 beq BadPath yes, set bad pathname
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
190 sty <u0022 no, save end of pathname
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
191 leay <prmbuf,u point to pathname buffer
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
192 MovNam sta ,y+ save pathname character
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
193 lda ,x+ get next pathname character
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
194 decb decrement pathname size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
195 bpl MovNam got full pathname?
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
196 leax <prmbuf+1,u get pathname for I$Attach
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
197 lda #C$SPAC space character
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
198 sta ,y delimit pathname
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
199 clra get access mode
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
200 os9 I$Attach attach the rbf device
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
201 lbcs PrtError if error print error and exit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
202 stu <dtentry save device table entry
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
203 ldu <savedu get data pointer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
204 lda #PENTIR delimit pathname
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
205 ldb #C$SPAC for os9 I$Open
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
206 std ,y do it now
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
207 lda #WRITE. get access mode
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
208 leax <prmbuf,u get pathname
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
209 os9 I$Open open the rbf device
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
210 bcs Exit exit if could not open it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
211 sta <diskpath save path number
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
212 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
213
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
214 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
215 * get geometry and options, proceed (Y/N)
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
216 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
217
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
218 Default bsr Geometry
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
219 lbsr DoOpts
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
220 lbsr Proceed
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
221 rts
162
3310d08dd353 Analysis of format.
roug
parents: 119
diff changeset
222
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
223 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
224 * get rbf device geometry
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
225 ********************************************************************
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
226
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
227 Geometry leax >optbuf,u status packet address
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
228 clrb SS.OPT function
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
229 os9 I$GetStt get status packet
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
230 bcs Exit exit if error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
231 ldb PD.SID-PD.OPT,x number of surfaces
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
232 stb <numsides save it
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
233 stb <u0014 save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
234 ldb PD.SToff-PD.OPT,x foreign disk format?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
235 beq L0143 no,
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
236 tfr b,a yes, get copy
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
237 anda #$0F foreign low nibble
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
238 sta <stoff save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
239 lsrb
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
240 lsrb
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
241 lsrb
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
242 lsrb foreign high nibble
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
243 stb <u004B save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
244 L0143 ldb PD.DNS-PD.OPT,x density capability
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
245 pshs b save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
246 andb #DNS.MFM check double-density
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
247 stb <mfm save double-density (Yes/No)
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
248 stb <u0011 save it again
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
249 ldb ,s get saved PD.DNS byte
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
250 lsrb checking
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
251 pshs b save it
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
252 andb #$01 tpi (0=48, 1=96/135)
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
253 stb <tpi save it
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
254 puls b get checking
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
255 lsrb
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
256 andb <u0011
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
257 stb <u004C
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
258 puls b
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
259 ldb #$01
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
260 stb <bps assume 256 byte/sector
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
261 stb <u004D
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
262 beq L0169
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
263 stb <u004B
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
264 clr <stoff
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
265 L0169 ldd PD.CYL-PD.OPT,x number of cylinders
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
266 std <ncyls save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
267 ldb PD.TYP-PD.OPT,x disk device type
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
268 stb <dtype save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
269 ldd PD.SCT-PD.OPT,x default sectors/track
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
270 std <sectors save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
271 ldd PD.T0S-PD.OPT,x default sectors/track tr00,s0
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
272 std <sectors0 save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
273 ldb PD.ILV-PD.OPT,x sector interleave offset
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
274 stb <interlv save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
275 ldb #$01 default cluster size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
276 stb <clustsiz save it
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
277 stb <sectmode and sector mode
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
278
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
279 *** ADDED CODE -- BGP. CHECK FOR PRESENCE OF SS.DSIZE
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
280 lda PD.TYP-PD.OPT,x get type byte
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
281 bita #TYPH.DSQ drive size query bit set?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
282 beq nogo@ no, don't bother querying the drive for its size
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
283 lda <diskpath get disk path number
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
284 ldb #SS.DSize disk size getstat
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
285 os9 I$GetStt attempt
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
286 bcs nogo@
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
287 sta <bps save bytes/sector
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
288 stb <sectmode
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
289 tstb LBA mode?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
290 bne chs@
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
291 tfr x,d
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
292 stb <totsects save result...
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
293 sty <totsects+1
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
294 bra nogo@
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
295 chs@
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
296 stx <ncyls save cylinders
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
297 stb <numsides save sides
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
298 stb <u0014 ????
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
299 sty <sectors save sectors/track
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
300 sty <sectors0 save sectors/track 0
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
301 nogo@
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
302 clrb no error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
303 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
304
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
305 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
306 * find a option and call, until all options are processed
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
307 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
308
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
309 DoOpts ldx <u0022 option buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
310 L0185 leay >OptTbl,pcr point to table
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
311 bsr L019C check for match?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
312 bcs L01A5 no, match
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
313 pshs b,a save d register
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
314 ldd $02,y get offset value
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
315 leay d,y make function address
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
316 puls b,a restore d register
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
317 jsr ,y call function
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
318 bcc L0185 finished good?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
319 lbra Exit no, exit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
320 L019C lda ,x+ get option character
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
321 L019E cmpa ,y is it in the table?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
322 bne L01A6 no, try the next one
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
323 ldb $01,y get return value
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
324 clra flag good
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
325 L01A5 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
326 L01A6 leay $04,y get next table location
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
327 tst ,y is it the end of the table?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
328 bne L019E no, try next location
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
329 coma yes, flag bad
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
330 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
331
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
332 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
333 * option command table
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
334 ********************************************************************
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
335
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
336 OptTbl
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
337 opt.1 fcc /R/
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
338 fcc /Y/
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
339 fdb DoReady-opt.1
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
340 opt.2 fcc /r/
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
341 fcc /Y/
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
342 fdb DoReady-opt.2
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
343 opt.3 fcc /S/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
344 fcc / /
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
345 fdb DoDsity-opt.3
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
346 opt.4 fcc /s/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
347 fcc / /
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
348 fdb DoDsity-opt.4
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
349 opt.5 fcc /D/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
350 fcc /M/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
351 fdb DoDsity-opt.5
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
352 opt.6 fcc /d/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
353 fcc /M/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
354 fdb DoDsity-opt.6
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
355 opt.7 fcc /"/
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
356 fcb $00
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
357 fdb DoQuote-opt.7
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
358 opt.8 fcc /:/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
359 fcb $00
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
360 fdb DoColon-opt.8
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
361 opt.9 fcc "/"
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
362 fcb $00
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
363 fdb DoClust-opt.9
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
364 opt.10 fcc /1/
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
365 fcb $01
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
366 fdb Do1-opt.10
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
367 opt.11 fcc /2/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
368 fcb $02
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
369 fdb Do2-opt.11
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
370 opt.12 fcc /'/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
371 fcb 0
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
372 fdb DoSQuote-opt.12
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
373 opt.13 fcc /L/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
374 fcb $01
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
375 fdb DoL-opt.13
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
376 opt.14 fcc /l/
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
377 fcb 01
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
378 fdb DoL-opt.14
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
379 opt.15 fcc /(/
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
380 fcb $00
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
381 fdb DoLParen-opt.15
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
382 opt.16 fcc /)/
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
383 fcb $00
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
384 fdb DoRParen-opt.16
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
385 opt.17 fcc /,/
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
386 fcb $00
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
387 fdb DoComa-opt.17
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
388 opt.18 fcb C$SPAC
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
389 fcb 00
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
390 fdb DoSpace-opt.18
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
391 fcb $00
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
392
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
393 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
394 * S/D - density; single or double
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
395 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
396
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
397 DoDsity cmpb <u0011
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
398 bgt OptAbort
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
399 cmpb <u004C
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
400 blt OptAbort
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
401 stb <mfm
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
402 clrb
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
403
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
404 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
405 * skip white space
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
406 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
407
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
408 DoComa
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
409 DoRParen
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
410 DoLParen
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
411 DoSpace rts
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
412
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
413 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
414 * set ready flag - skip warn messages
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
415 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
416
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
417 DoReady stb <ready set and save ready
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
418 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
419
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
420 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
421 * 1/2 - number of sides
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
422 ********************************************************************
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
423
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
424 Do2
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
425 Do1 cmpb <numsides
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
426 bgt OptAbort
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
427 stb <numsides
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
428 clrb
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
429 rts
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
430
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
431 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
432 * only do a logical format on the rbf device
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
433 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
434
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
435 DoL stb <dolog do a logical format
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
436 clrb did option
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
437 rts return
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
438
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
439 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
440 * not a option - show abort message and exit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
441 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
442
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
443 OptAbort leax >AbortOp,pcr Option not allowed message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
444 lbra PExit print message and exit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
445
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
446 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
447 * double quoted option "disk name" save name in dskname
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
448 ********************************************************************
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
449
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
450 DoQuote leay <dskname,u delimited buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
451 ldb #C$SPAC delimited size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
452 koQuote lda ,x+ delimited character
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
453 cmpa #'" is end quote?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
454 beq L0221 must be done
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
455 sta ,y+ no, save character
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
456 decb decrement name size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
457 bne KoQuote get all 32 of them or quote
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
458 L0215 ldb ,x+ next delimited character
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
459 cmpb #'" find end quote?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
460 beq L0227 yes, back up and mark it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
461 cmpb #C$SPAC skip space character?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
462 bcc L0215 yes, get next one
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
463 bra L0227 no, mark it's end
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
464 L0221 lda #C$SPAC get space character
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
465 cmpb #C$SPAC any delimited characters?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
466 beq L022B no, mark it's end
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
467 L0227 leay -$01,y yes, back up
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
468 lda ,y get saved character
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
469 L022B adda #$80 make it negative
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
470 sta ,y mark it's end
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
471 clrb did option
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
472 rts return
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
473
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
474 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
475 * single quoted option 'number of cylinders' save number in ncyls
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
476 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
477
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
478 DoSQuote lbsr Decimal procces number of cylinders
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
479 ldd <dresult get it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
480 std <ncyls save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
481 rts return
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
482
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
483 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
484 * colon quoted option :interleave value: save value in interlv
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
485 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
486
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
487 DoColon lbsr Decimal proccess interleave value
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
488 ldd <dresult get it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
489 tsta answer out of bounds?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
490 beq L0243 no, save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
491 ldb #$01 yes, default size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
492 L0243 stb <interlv save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
493 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
494
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
495 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
496 * quoted option /cluster size/ save size in clustsiz
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
497 * cluster size is in decimal. The number of sectors
345872d37e14 no message
johncollyer
parents: 942
diff changeset
498 * in a cluster must be a power of 2 and the number
345872d37e14 no message
johncollyer
parents: 942
diff changeset
499 * should max out at 32 for coco os9
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
500 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
501
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
502 DoClust lbsr Decimal proccess cluster size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
503 ldd <dresult get it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
504 tsta answer out of bounds?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
505 beq L0250 no, save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
506 ldb #$01 yes, default size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
507 L0250 stb <clustsiz save it
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
508 negb get two's complement
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
509 decb power of 2
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
510 andb <clustsiz in range?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
511 beq L025C yes, skip ahead
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
512 ldb #$01 no, default size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
513 stb <clustsiz save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
514 L025C clrb did option
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
515 L025D rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
516
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
517 ********************************************************************
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
518 * print title, format (Y/N), and get response
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
519 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
520
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
521 Proceed leax >Title,pcr coco formatter message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
522 lbsr PrintLn print it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
523 leay >optbuf,u point to option buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
524 ldx PD.T0S-PD.OPT,y default sectors/track tr00,s0
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
525 tst <mfm double-density?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
526 beq L0271 no,
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
527 ldx PD.SCT-PD.OPT,y default sectors/track
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
528 L0271 stx <sectors save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
529 leax >FmtMsg,pcr formatting drive message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
530 ldy #FmtMLen length of message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
531 lbsr Print print it
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
532 leax <prmbuf,u input buffer
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
533 tfr x,y put it in y
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
534 L0283 lda ,y+ get input
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
535 cmpa #PENTIR proceed (y/n)?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
536 bne L0283 no, wait for yes
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
537 pshs y save input pointer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
538 lda #C$CR carriage return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
539 sta -$01,y store it over input
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
540 lbsr PrintLn print line
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
541 puls y get pointer
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
542 lda #PENTIR
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
543 sta -$01,y
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
544 lda <ready ok to proceed? ready
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
545 bne L02BC yes, were ready skip ahead
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
546 tst <dtype is this a floppy or hard drive?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
547 bpl L02AB it is a floppy
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
548 leax >HDFmt,pcr it is a hard drive
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
549 ldy #$002A length of message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
550 lbsr Print print message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
551 L02AB leax >Query,pcr query message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
552 ldy #QueryLen length of message
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
553 lbsr Input show it and get response (Y/N)
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
554 anda #$DF make it upper case
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
555 cmpa #'Y answered yes?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
556 bne L02D5 no, check for no?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
557 L02BC tst <dtype formatting hard drive?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
558 bpl L025D no, return skip hard disk warn message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
559 leax >HDFmt,pcr show hard disk warn message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
560 ldy #HDFmtLen size of the message
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
561 lbsr Input show it and get response (Y/N)
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
562 anda #$DF make it upper case
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
563 cmpa #'Y answered yes?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
564 beq L025D yes, return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
565 clrb clear error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
566 lbra Exit exit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
567 L02D5 clrb clear error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
568 cmpa #'N answered no?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
569 lbeq Exit yes, exit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
570 bra L02AB no, get a (Y/N) answer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
571
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
572 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
573 * print usage message and return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
574 ********************************************************************
162
3310d08dd353 Analysis of format.
roug
parents: 119
diff changeset
575
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
576 LineFD leax >HelpCR,pcr point to line feed
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
577 PrintLn ldy #80 size of message
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
578 Print lda #$01 standard output path
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
579 os9 I$WritLn print line
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
580 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
581
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
582 ********************************************************************
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
583 * print message and get response
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
584 * entry: x holds data address y holds data size
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
585 * exit: a holds response (ascii character)
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
586 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
587
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
588 Input pshs u,y,x,b,a save registers
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
589 bsr Print print line
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
590 leax ,s get data address
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
591 ldy #$0001 data size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
592 clra standard input
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
593 os9 I$Read read it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
594 lbcs Exit exit on error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
595 bsr LineFD print line feed
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
596 puls u,y,x,b,a restore stack
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
597 anda #$7F make it ascii
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
598 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
599
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
600 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
601 * get capability of the rbf device
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
602 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
603
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
604 GetDTyp leax >hdsdat,pcr assume hard drive data for now
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
605 stx <u000A sector data pointer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
606 ldb <dtype get disk drive type
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
607 bitb #TYP.HARD+TYP.NSF hard disk or non-standard type?
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
608 bne L0323 no, check track data
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
609 tst <u004D
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
610 beq L031B
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
611 leax >dctdat,pcr
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
612 bra L032D
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
613 L031B leax >sgtdat,pcr
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
614 tst <mfm double-density?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
615 beq L032D no,
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
616 L0323 stx <u000A
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
617 leax >dbtdat,pcr
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
618 tst <u004C
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
619 beq L032F
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
620 L032D stx <u000A
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
621 L032F stx <u000C
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
622 tst <sectmode LBA values already in place?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
623 beq ack@
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
624 * Compute total sectors from C/H/S
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
625 clra
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
626 ldb <numsides get number of sides
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
627 tfr d,y
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
628 clrb D = 0
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
629 ldx <ncyls
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
630 bsr Mulbxty multiply B,X*Y
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
631 * B,X now is numsides * numcyls
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
632 * Subtract one from B,X because t0s will be added later
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
633 exg d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
634 subd #$0001
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
635 bcc L0344
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
636 leax -$01,x
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
637 L0344 exg d,x
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
638 ldy <sectors
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
639 bsr Mulbxty multiply B,X*Y
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
640 * B,X now is numsides * numcyls * sectors
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
641 exg d,x
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
642 * Add in sectors/track0
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
643 addd <sectors0
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
644 std <totsects+1
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
645 exg d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
646 adcb #$00
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
647 stb <totsects
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
648 ack@
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
649 **** We now multiply totsects * the bytes per sector
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
650 dec <bps decrement bytes per sector (8=7,4=3,2=1,1=0)
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
651 beq mlex@ exit out ofloop if zero
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
652 ml@ lsl <totsects+2 else multiply by 2
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
653 rol <totsects+1
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
654 rol <totsects
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
655 lsr <bps shift out bits
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
656 tst <bps
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
657 bne ml@
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
658 mlex@
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
659 ************************************************
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
660 lda #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
661 pshs a
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
662 ldx <totsects+1
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
663 ldb <totsects
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
664 bsr Div24by8 divide totsects by 8
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
665 lda <clustsiz get cluster size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
666 pshs a save it
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
667 bsr Div24by8
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
668 tstb B = 0?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
669 beq L0374 branch if so
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
670 * Too small a cluster size comes here
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
671 leax >ClustMsg,pcr cluster size mismatch message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
672 lbsr PrintLn print mismatch message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
673 lbra L05B1 abort message and exit
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
674 L0374 leas $02,s
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
675 stx <ClustSz
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
676 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
677
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
678 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
679 * multiply (mlbxty)
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
680 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
681
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
682 Mulbxty lda #$08 make stack space
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
683 MulClr clr ,-s clear the space
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
684 deca cleared?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
685 bne MulClr no,
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
686 sty ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
687 stb $02,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
688 stx $03,s
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
689 MulLoop ldd ,s we done?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
690 beq MulZer yes, clean up
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
691 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
692 rorb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
693 std ,s
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
694 bcc MulNoC
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
695 ldd $03,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
696 addd $06,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
697 std $06,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
698 lda $02,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
699 adca $05,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
700 sta $05,s
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
701 MulNoC ldd $03,s
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
702 lslb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
703 rola
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
704 std $03,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
705 lda $02,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
706 rola
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
707 sta $02,s
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
708 bra MulLoop continue rest
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
709 MulZer leas $05,s clean up space
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
710 puls pc,x,b pop results, return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
711
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
712 ********************************************************************
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
713 * 24 bit divide (2,s = divisor, B/X = dividend)
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
714 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
715
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
716 L03AE pshs x,b save X,B on stack
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
717 lsr ,s divide X,B by 2
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
718 ror $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
719 ror $02,s
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
720 puls x,b retrieve X,B
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
721 exg d,x exchange bits 15-0 in D,X
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
722 adcb #$00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
723 adca #$00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
724 exg d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
725 adcb #$00
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
726 Div24by8 lsr $02,s
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
727 bne L03AE
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
728 rts
689
92b575ffa143 Folded pxd.asm and pwd.asm into pd.asm for simplicity since almost all code
boisy
parents: 312
diff changeset
729
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
730 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
731 * format rbf device
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
732 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
733
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
734 Format tst <dolog doing a logical format?
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
735 bne L03E4 yes, don't do this then
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
736 tst <dtype test for hard drive from PD.TYP
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
737 bpl L03E5 branch if floppy
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
738 leax >Both,pcr PHYSICAL and LOGICAL? message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
739 ldy #BothLen length of message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
740 lbsr Input print and get input
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
741 anda #$DF make it upper case
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
742 cmpa #'Y is it yes?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
743 beq L03E5 yes,
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
744 cmpa #'N is it no?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
745 bne Format no,
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
746 L03E4 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
747 L03E5 lda <diskpath device path number
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
748 ldb #SS.Reset reset device
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
749 os9 I$SetStt at track zero
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
750 lbcs Exit exit if error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
751 ldd #$0000 get current track
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
752 std <currtrak save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
753 inca get current sector
942
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
754 sta <currsect save it
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
755 L03F8 clr <currside clear current side
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
756 L03FA bsr L045C
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
757 leax >LSN0,u point to our LSN0 buffer
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
758 ldd <currtrak
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
759 addd <u0048
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
760 tfr d,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
761 clrb
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
762 tst <u004D
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
763 bne L041B
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
764 tst <mfm single density?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
765 beq L041D branch if so
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
766 tst <u004C
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
767 bne L041B
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
768 tst <currtrak+1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
769 bne L041B
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
770 tst <currside side?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
771 beq L041D branch if 0
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
772 L041B orb #$02 else set side 1
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
773 L041D tst <tpi 48 tpi?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
774 beq L0423 branch if so
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
775 orb #$04 else set 96/135 tpi bit
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
776 L0423 lda <currside get current side
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
777 beq L0429 branch if 0
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
778 orb #$01
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
779 L0429 tfr d,y get side/density bits
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
780 lda <diskpath rbf device path number
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
781 ldb #SS.WTrk format (write) track
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
782 os9 I$SetStt do format it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
783 lbcs Exit exit if error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
784 ldu <savedu get u pointer
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
785 ldb <currside get current side
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
786 incb increment
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
787 stb <currside and store
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
788 cmpb <numsides compare against number of sides
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
789 bcs L03FA branch if greater than
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
790 ldd <currtrak get current track
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
791 addd #$0001 increment it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
792 std <currtrak save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
793 cmpd <ncyls did all tracks?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
794 bcs L03F8 no,
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
795 rts yes, return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
796
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
797 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
798 *
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
799 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
800
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
801 L044E ldy <u000E
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
802 L0451 ldd ,y++
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
803 beq L046B
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
804 L0455 stb ,x+
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
805 deca
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
806 bne L0455
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
807 bra L0451
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
808 L045C lda <dtype get drive's PD.TYP
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
809 bita #TYP.HARD+TYP.NSF hard disk or non-standard format?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
810 beq L046C branch if neither
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
811 ldy <u000C
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
812 leax >LSN0,u point to the LSN0 buffer
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
813 bsr L0451
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
814 L046B rts
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
815
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
816 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
817 *
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
818 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
819
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
820 L046C ldy <u000C
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
821 ldb <u001A
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
822 tst <currtrak+1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
823 bne L047E
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
824 tst <currside
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
825 bne L047E
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
826 ldy <u000A
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
827 * ldb <u001C
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
828 ldb <sectors0+1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
829 L047E sty <u000E
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
830 stb <u0009
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
831 stb <u0018
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
832 bsr L04EC
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
833 leax >LSN0,u
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
834 bsr L0451
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
835 sty <u000E
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
836 L0490 bsr L044E
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
837 dec <u0009
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
838 bne L0490
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
839 lda ,y+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
840 sty <u000E
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
841 stx <u003D
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
842 leay >u297E,u
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
843 sty <dresult
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
844 tfr a,b
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
845 L04A6 std ,x++
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
846 cmpx <dresult
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
847 bcs L04A6
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
848 ldy <u000E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
849 ldd ,y++
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
850 std <u003F
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
851 ldd ,y
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
852 std <u0041
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
853 clr <u0009
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
854 leax >LSN0,u
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
855 ldd <u003F
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
856 leay >u008F,u
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
857 L04C3 leax d,x
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
858 ldd <currtrak+1
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
859 adda <stoff
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
860 std ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
861 ldb <u0009
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
862 lda b,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
863 incb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
864 stb <u0009
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
865 ldb <currsect
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
866 adda <u004B
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
867 bcs L04E5
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
868 std $02,x
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
869 lda <u0009
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
870 cmpa <u0018
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
871 bcc L04E4
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
872 ldd <u0041
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
873 bra L04C3
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
874 L04E4 rts
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
875
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
876 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
877 *
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
878 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
879
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
880 L04E5 leax >AbortSct,pcr sector number out of range message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
881 lbra PExit print message and exit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
882
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
883 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
884 *
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
885 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
886
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
887 L04EC pshs y,b
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
888 tfr b,a
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
889 ldb <currtrak+1
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
890 cmpb #$01
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
891 bhi L0518
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
892 leax >u008F,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
893 leay a,x
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
894 ldb <interlv
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
895 bne L0507
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
896 L0500 leax >AbortIlv,pcr Interleave out of range message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
897 lbra PExit print message and exit
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
898 L0507 cmpb <u0018
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
899 bhi L0500
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
900 nega
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
901 pshs y,x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
902 clra
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
903 L050F sta ,x
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
904 inca
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
905 cmpa <u0018
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
906 bne L051A
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
907 leas $06,s
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
908 L0518 puls pc,y,b
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
909 L051A ldb <interlv
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
910 abx
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
911 cmpx $04,s
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
912 bcs L0525
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
913 ldb ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
914 leax b,x
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
915 L0525 cmpx $02,s
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
916 bne L050F
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
917 leax $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
918 stx $02,s
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
919 bra L050F
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
920
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
921 ********************************************************************
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
922 * initialize sector 0
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
923 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
924
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
925 InitLSN0 lbsr ClrBuf clear the sector buffer
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
926 ldd <totsects+1 get total sectors bits 15-0
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
927 std DD.TOT+1,x save
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
928 ldb <totsects get bits 23-16
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
929 stb DD.TOT,x save
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
930 ldd <sectors get sectors/track
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
931 std <DD.SPT,x save
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
932 stb DD.TKS,x save
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
933 lda <clustsiz get cluster size
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
934 sta DD.BIT+1,x save
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
935 clra
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
936 ldb <ClustSz get cluster size
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
937 tst <u0029
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
938 beq L054F
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
939 addd #$0001
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
940 L054F addd #$0001
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
941 std DD.DIR+1,x save directory sector
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
942 clra
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
943 tst <mfm single density?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
944 beq L0561 branch if so
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
945 ora #FMT.DNS else set double density bit
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
946 tst <u004C
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
947 beq L0561
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
948 ora #$08
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
949 L0561 ldb <numsides get number of sides
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
950 cmpb #$01 just 1?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
951 beq L0569 branch if so
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
952 ora #FMT.SIDE else set double-sided bit
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
953 L0569 tst <tpi 48tpi?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
954 beq L056F branch if so
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
955 ora #FMT.TDNS else set 96/135 tpi
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
956 L056F sta <DD.FMT,x save
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
957 ldd <ClustSz get cluster size
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
958 std DD.MAP,x save number of bytes in allocation bit map
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
959 lda #$FF attributes
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
960 sta DD.ATT,x save
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
961 leax >LSN0+DD.DAT,u point to time buffer
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
962 os9 F$Time get current time
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
963 leax >LSN0+DD.NAM,u
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
964 leay <dskname,u quote delimited disk name buffer
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
965 tst ,y name in buffer?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
966 beq L0594 branch if not
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
967 L058C lda ,y+ get character of name
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
968 sta ,x+ and save in name area of LSN0
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
969 bpl L058C
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
970 bra L05C7
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
971 * Here we prompt for a disk name
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
972 L0594 leax >DName,pcr
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
973 ldy #DNameLen
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
974 lbsr Print print disk name prompt
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
975 leax >LSN0+DD.NAM,u point to new name
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
976 ldy #33 read up to 33 characters
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
977 clra
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
978 os9 I$ReadLn from standard input
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
979 bcc L05B8 branch if ok
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
980 cmpa #E$EOF end of file?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
981 bne L0594 branch if not
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
982 L05B1 leax >Aborted,pcr format aborted message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
983 lbra PExit print message and exit
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
984 L05B8 tfr y,d copy number of chars entered into D
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
985 leax d,x point to last char + 1
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
986 clr ,-x
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
987 decb decrement chars typed
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
988 beq L0594 branch if zero (go ask again)
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
989 lda ,-x get last character
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
990 ora #$80 set hi bit
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
991 sta ,x and save
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
992 L05C7 leax >LSN0+DD.DAT,u point to time
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
993 leay <$40,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
994 pshs y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
995 ldd #$0000
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
996 L05D3 addd ,x++
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
997 cmpx ,s
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
998 bcs L05D3
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
999 leas $02,s
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1000 std >LSN0+DD.DSK,u save disk ID
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1001 * Not sure what this code is for...
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1002 * ldd >val1,pcr
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1003 * std >u01A7,u
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1004 * ldd >val2,pcr
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1005 * std >u01A9,u
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1006 * ldd >val3,pcr
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1007 * std >u01AB,u
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
1008 lda <diskpath
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1009 ldb #SS.Opt
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1010 leax >LSN0+DD.OPT,u point to disk options
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1011 os9 I$GetStt get options
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1012 ldb #SS.Reset reset head to track 0
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1013 os9 I$SetStt do it!
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1014 lbcs Exit branch if error
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1015 leax >LSN0,u point to LSN0
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1016 lbra WritSec and write it!
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1017
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1018 ********************************************************************
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1019 * read in sector 0 of device
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1020 ********************************************************************
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
1021
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1022 ReadLSN0 lda <diskpath get disk path
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1023 os9 I$Close close it
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1024 leax <prmbuf,u point to device name
162
3310d08dd353 Analysis of format.
roug
parents: 119
diff changeset
1025 lda #READ.
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1026 os9 I$Open open for read
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1027 lbcs BadSect branch if problem
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1028 sta <diskpath save new disk path
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1029 leax >LSN0,u
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1030 ldy #256
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1031 os9 I$Read read first sector
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1032 lbcs BadSect branch if problem
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1033 lda <diskpath get disk path
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1034 os9 I$Close close path to device
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1035 leax <prmbuf,u re-point to device name
162
3310d08dd353 Analysis of format.
roug
parents: 119
diff changeset
1036 lda #UPDAT.
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1037 os9 I$Open open in read/write mode
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1038 lbcs BadSect branch if error
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1039 sta <diskpath else save new disk path
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1040 rts and return
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
1041
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1042 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1043 *
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1044 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1045
942
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1046 Stamps lda <dtype get device type in A
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1047 clr <dovfy clear verify flag
942
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1048 bita #TYP.HARD hard drive?
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1049 beq nothd branch if not
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1050 * Hard drives are asked for physical verification here
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1051 askphys leax >Verify,pcr
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1052 ldy #VerifyL
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1053 lbsr Input prompt for physical verify of hard drive
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1054 anda #$DF
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1055 cmpa #'Y yes?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1056 beq nothd branch if so
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1057 cmpa #'N no?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1058 bne askphys not not, ask again
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1059 sta <dovfy else flag that we don't want physical verify
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1060 nothd ldd <sectors0 get sectors/track at track 0
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1061 std <u0017 save
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1062 clra D = 0
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1063 clrb
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1064 sta <oksects clear OK sectors
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1065 std <oksects+1
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1066 std <currtrak clear current rack
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1067 std <sectcount clear counted sectors
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1068 std <u0032
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1069 stb <u0031
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1070 sta <u003C
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
1071 leax >optbuf,u
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1072 stx <u0038
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1073 lbsr ClrSec
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1074 leax >$0100,x
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1075 stx <u003A
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1076 clra
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1077 ldb #$01 D = 1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1078 std <u0034
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1079 lda <clustsiz get cluster size
942
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1080 sta <u002B store in cluster counter
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1081 clr <u002A
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1082 clra
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1083 ldb <ClustSz
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1084 tst <u0029
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1085 beq L069D
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1086 addd #$0001
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1087 L069D addd #$0009
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1088 std <u002D
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1089 lda <clustsiz get cluster size
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1090 L06A4 lsra
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1091 bcs L06B5
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1092 lsr <u002D
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1093 ror <u002E
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1094 bcc L06A4
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1095 inc <u002E
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1096 bne L06A4
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1097 inc <u002D
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1098 bra L06A4
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1099 L06B5 ldb <u002E
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1100 stb <u002F
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1101 lda <clustsiz get cluster size
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1102 mul
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1103 std <u002D
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1104 subd #$0001
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1105 subb <ClustSz
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1106 sbca #$00
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1107 tst <u0029
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1108 beq L06CC
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1109 subd #$0001
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1110 L06CC stb <u002C
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1111 L06CE tst <dovfy do we verify?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1112 bne OutScrn no, output screen display
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1113 lda <diskpath yes, get rbf device path
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1114 leax >LSN0,u get sector buffer
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1115 ldy #256 sector size
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1116 os9 I$Read read of sector successful?
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1117 bcc OutScrn yes, output screen display
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1118 os9 F$PErr no, print error message
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1119 lbsr NextSec get next sector
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1120 lda #$FF
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1121 sta <u002A
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1122 tst <u0031
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1123 bne OutScrn output screen display
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1124 ldx <u0032
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1125 cmpx <u002D
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1126 bhi OutScrn output screen display
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1127 BadSect leax >BadSectM,pcr bad system sector message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1128 PExit lbsr PrintLn print message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1129 clrb clear error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1130 lbra Exit exit no error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1131
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1132 ********************************************************************
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1133 * output screen display scrolling track counter
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1134 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1135
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1136 OutScrn ldd <sectcount get counted sectors
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1137 addd #$0001 increment it
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1138 std <sectcount save counted sectors
942
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1139 cmpd <u0017 good sector count?
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1140 bcs L0745 next segment
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1141 clr <sectcount clear counted sectors
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1142 clr <u0009
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1143 tst <dovfy are we verifying?
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1144 bne L073A no,
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1145 lda #C$SPAC yes, get space
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1146 pshs a save it
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1147 lda <currtrak+1 track high byte
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1148 lbsr HexDigit make it ascii
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1149 L0724 pshs b,a save two ascii digits
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1150 lda <currtrak track low byte
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1151 lbsr HexDigit make it ascii
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1152 pshs b save two ascii digits
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1153 tfr s,x get output from stack
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1154 ldy #$0004 length of output
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1155 lbsr Print print it
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1156 lda $02,s
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1157 cmpa #$46 end of line?
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1158 bne L0738 skip line feed
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1159 lbsr LineFD print linefeed
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1160 L0738 leas $04,s pop output off stack
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1161 L073A ldd <currtrak get current track
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1162 addd #$0001 increment it
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1163 std <currtrak save it back
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1164 ldd <sectors get number of sectors
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1165 std <u0017 save it
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1166 L0745 dec <u002B decrement cluster counter
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1167 bne L075B
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1168 bsr L0784
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1169 tst <u002A
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1170 bne L0755
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1171 ldd <oksects+1 increment good sectors
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1172 addd #$0001
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1173 std <oksects+1
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1174 bcc L0755
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1175 inc <oksects
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1176 L0755 clr <u002A
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1177 lda <clustsiz get cluster size
942
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1178 sta <u002B save in cluster counter
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1179 L075B ldb <u0031
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1180 ldx <u0032
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1181 leax $01,x
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1182 bne L0764
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1183 incb
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1184 L0764 cmpb <totsects
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1185 bcs L076C
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1186 cmpx <totsects+1
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1187 bcc L0773
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1188 L076C stb <u0031
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1189 stx <u0032
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1190 lbra L06CE
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1191 L0773 lda #$FF
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1192 sta <u002A
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
1193 leay >optbuf,u
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1194 L077B cmpy <u0038
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1195 beq GoodSect number of good sectors summary
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1196 bsr L0784
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1197 bra L077B
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1198 L0784 ldx <u0038
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1199 lda <u002A
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1200 rora
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1201 rol ,x+
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1202 inc <u003C
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1203 lda <u003C
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1204 cmpa #$08
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1205 bcs L07A6
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1206 clr <u003C
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1207 stx <u0038
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1208 cmpx <u003A
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1209 bne L07A6
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1210 bsr WrtSecs
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
1211 leax >optbuf,u
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1212 stx <u0038
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1213 lbsr ClrSec
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1214 L07A6 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1215
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1216 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1217 * convert byte to ascii hexadecimal and return it in d register
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1218 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1219
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1220 HexDigit tfr a,b get byte again
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1221 lsra shift upper digit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1222 lsra
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1223 lsra
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1224 lsra
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1225 andb #$0F mask lower digit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1226 addd #$3030 make it ascii
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1227 cmpa #$39 upper digit > 9
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1228 bls L07B8 no,
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1229 adda #$07 yes, make hexadecimal
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1230 L07B8 cmpb #$39 lower digit > 9
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1231 bls L07BE no,
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1232 addb #$07 yes, make hexadecimal
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1233 L07BE rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1234
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1235 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1236 * number of good sectors message
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1237 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1238
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1239 GoodSect lbsr LineFD print line feed
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1240 leax >NumGood,pcr number of good sectors
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1241 ldy #NGoodLen length of message
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1242 lbsr Print print it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1243 ldb <clustsiz get cluster size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1244 lda <oksects get 24 bit counter
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1245 ldx <oksects+1
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1246 pshs x,a save 24 bit counter
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1247 L07D4 lsrb carry set 0xxx xxxx -> X ?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1248 bcs L07DF yes,
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1249 lsl $02,s <u0036 1 X <- nnnn nnnn X <- xxxx xxx0
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1250 rol $01,s <u0036 2 N <- nnnn nnnX N <- xxxx xxx0
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1251 rol ,s <u0036 3 N <- nnnn nnnN
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1252 bra L07D4 did all sectors?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1253 L07DF puls x,a get counted sectors
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1254 ldb #C$CR
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1255 pshs b save enter
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1256 tfr d,y get size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1257 tfr x,d get
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1258 tfr b,a get convert byte
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1259 bsr HexDigit convert it BYTE 1
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1260 pshs b,a save in buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1261 tfr x,d get convert byte
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1262 bsr HexDigit convert it BYTE 2
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1263 pshs b,a save in buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1264 tfr y,d get convert byte
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1265 bsr HexDigit convert it BYTE 3
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1266 pshs b,a save it buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1267 tfr s,x get output buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1268 lbsr PrintLn print it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1269 leas $07,s fix stack
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1270 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1271
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1272 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1273 * get allocation bit map and write sectors
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1274 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1275
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1276 WrtSecs pshs y save register
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1277 clra set number
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1278 ldb #$01 bits to set
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1279 cmpd <u0034 map sector?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1280 bne L081E yes, write sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1281 leax >optbuf,u allocation bit map
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1282 clra get number
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1283 ldb <u002F system sectors
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1284 tfr d,y into register
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1285 clrb first bit to set
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1286 os9 F$AllBit set allocation bit map
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1287 lbcs BadSect if there a error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1288 L081E lbsr GetSec get sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1289 leax >optbuf,u allocation bit map
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1290 lbsr WritSec write sector
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1291 ldd <totsects get total sectors
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1292 cmpd <u0031 lsn sector count?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1293 bcs AdvSec advance to mapped sectors
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1294 bhi NxtSec get next sector
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1295 ldb <totsects+2 get LSB total sectors
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1296 cmpb <u0033 good sector count?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1297 bcc AdvSec advance to mapped sectors
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1298 NxtSec lbsr NextSec skip to next sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1299 AdvSec ldd <u0034 get mapped sectors
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1300 addd #$0001 count from one
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1301 std <u0034 save mapped sectors count
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1302 puls pc,y restore and return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1303
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1304 ********************************************************************
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1305 * create root directory file descriptor
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1306 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1307
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1308 MkRootFD bsr GetSec get sector
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1309 leax >fdtbuf1,u sector buff
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1310 bsr ClrSec clear sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1311 leax >fdtbuf2,u get date last modified
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1312 os9 F$Time get system time
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1313 leax >fdtbuf1,u get file descriptor
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1314 lda #DIR.+PEXEC.+PWRIT.+PREAD.+EXEC.+UPDAT.
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1315 sta FD.ATT,x save in FD.ATT
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1316 lda #$02 get link count
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1317 sta FD.LNK,x save in FD.LNK
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1318 clra directory size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1319 ldb #DIR.SZ*2 directory entries (DIR.SZ*2)
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1320 std FD.SIZ+2,x save it (FD.SIZ+2)
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1321 ldb <u002C
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1322 decb
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1323 stb <FD.SEG+FDSL.B+1,x save it (FD.SEG+FDSL.B+1)
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1324 ldd <u0034
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1325 addd #$0001
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1326 std <FD.SEG+FDSL.A+1,x save it (FD.SEG+FDSL.A+1)
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1327 bsr WritSec
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1328 bsr ClrBuf
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1329 ldd #$2EAE (#'.*256+'.+128)
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1330 std DIR.NM,x (DIR.NM)
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1331 stb <DIR.SZ+DIR.NM,x (DIR.NM+DIR.SZ)
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1332 ldd <u0034
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1333 std <DIR.FD+1,x
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1334 std <DIR.SZ+DIR.FD+1,x
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1335 bsr WritSec
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1336 bsr ClrBuf
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1337 ldb <u002C
942
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1338 decb make zero offset (0 - 255)
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1339 NextCnt decb decrement sector count
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1340 bne NextWrt if more to do
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1341 rts else return
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1342 NextWrt pshs b save sector count
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1343 bsr WritSec write the sector
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1344 puls b get count back
24fe8305e1ed no message
johncollyer
parents: 926
diff changeset
1345 bra NextCnt do until done
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1346
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1347 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1348 * clear the 256 byte sector buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1349 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1350
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1351 ClrBuf leax >LSN0,u sector buffer
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1352 ClrSec clra store mask
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1353 clrb sector count
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1354 ClrLop sta d,x clear the buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1355 decb decrement sector count
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1356 bne ClrLop clear sector buffer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1357 rts return when done
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1358
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1359 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1360 * write physical 256 byte sector to the diskette
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1361 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1362
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1363 WritSec lda <diskpath get path number
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1364 ldy #256 get sector size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1365 os9 I$Write write the sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1366 lbcs Exit exit on error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1367 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1368
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1369 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1370 * get sector file position
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1371 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1372
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1373 GetSec clra
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1374 ldb <u0034 get map sectors high word
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1375 tfr d,x save it
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1376 lda <u0035
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1377 clrb get map sectors low word
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1378 tfr d,u save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1379
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1380 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1381 * seek to physical sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1382 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1383
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1384 SeekSec lda <diskpath get path number
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1385 os9 I$Seek seek to sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1386 ldu <savedu get data pointer
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1387 lbcs Exit exit if error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1388 rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1389
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1390 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1391 * skip to the next sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1392 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1393
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1394 NextSec ldx <u0031 lsn count
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1395 lda <u0033 good sector count
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1396 clrb add this
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1397 addd #$0100 sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1398 tfr d,u lsn count
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1399 bcc SeekSec seek it?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1400 leax $01,x next sector
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1401 bra SeekSec seek it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1402
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1403 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1404 * the format module never gets to this code?
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1405 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1406
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1407 ldd ,y
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1408 leau >LSN0,u
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1409 leax >dcnums,pcr decimal number conversion table
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1410 ldy #$2F20
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1411
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1412 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1413 *
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1414 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1415
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1416 L08E6 leay >$0100,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1417 subd ,x
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1418 bcc L08E6
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1419 addd ,x++
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1420 pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1421 ldd ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1422 tfr y,d
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1423 beq L090E
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1424 ldy #$2F30
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1425 cmpd #$3020
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1426 bne L0908
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1427 ldy #$2F20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1428 tfr b,a
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1429 L0908 sta ,u+
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1430 puls b,a
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1431 bra L08E6
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1432 L090E sta ,u+
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1433 lda #C$CR
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1434 sta ,u
924
c155aac72190 Made cosmetic changes
boisy
parents: 689
diff changeset
1435 ldu <savedu
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1436 leas $02,s
1614
6c53cd87473a format.asm: updated
boisy
parents: 1531
diff changeset
1437 leax >LSN0,u
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1438 lbsr PrintLn
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1439 rts
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1440
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1441 dcnums fdb 10000,1000,100,10,1,0
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1442
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1443 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1444 * process decimal number input (65535)
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1445 ********************************************************************
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1446
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1447 Decimal ldd #$0000 start at zero
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1448 L092F bsr DecBin get first digit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1449 bcs L0939 if overflow
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1450 bne L092F get next digit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1451 std <dresult save decimal as binary
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1452 bne L093E if no error return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1453 L0939 ldd #$0001 flag error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1454 std <dresult save it
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1455 L093E rts return
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1456
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1457 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1458 * process decimal number into it's binary representation
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1459 * return with binary in the d register
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1460 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1461
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1462 DecBin pshs y,b,a save registers
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1463 ldb ,x+ get digit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1464 subb #$30 make it binary
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1465 cmpb #$0A bla bla bla!
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1466 bcc L095D
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1467 lda #$00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1468 ldy #$000A
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1469 L094F addd ,s
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1470 bcs L095B
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1471 leay -$01,y
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1472 bne L094F
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1473 std ,s
203
7dea3d77ba0b Used symbolics for andcc/orcc
boisy
parents: 200
diff changeset
1474 andcc #^Zero
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1475 L095B puls pc,y,b,a
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1476 L095D orcc #Zero
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1477 puls pc,y,b,a
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1478
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1479 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1480 * print error, usage message, and exit
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1481 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1482
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1483 PrtError lda #$02 standard error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1484 os9 F$PErr print error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1485 IFNE DOHELP
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1486 leax <HelpMsg,pcr point to usage
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1487 ldy #HelpLen usage size
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1488 lda #$02 standard error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1489 os9 I$WritLn print usage
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1490 ENDC
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1491 clrb no error
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1492 os9 F$Exit exit module
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1493
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1494 ********************************************************************
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1495 * messages
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1496 ********************************************************************
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1497
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1498 Title fcb C$LF
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1499 fcc "COLOR COMPUTER FORMATTER"
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1500 HelpCR fcb C$CR
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1501 IFNE DOHELP
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1502 HelpMsg fcc "Use: FORMAT /devname <opts>"
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1503 fcb C$LF
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1504 fcc " opts: R - Ready"
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1505 fcb C$LF
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1506 fcc " S/D - density; single or double"
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1507 fcb C$LF
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1508 fcc " L - Logical format only"
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1509 fcb C$LF
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1510 fcc / "disk name"/
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1511 fcb C$LF
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1512 fcc " 1/2 - number of sides"
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1513 fcb C$LF
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1514 fcc " 'No. of cylinders' (in decimal)"
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1515 fcb C$LF
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1516 fcc " :Interleave value: (in decimal)"
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1517 fcb C$LF
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1518 fcc " /Cluster size/ (in decimal)"
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1519 fcb C$CR
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1520 HelpLen equ *-HelpMsg
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1521 ENDC
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1522 FmtMsg fcc "Formatting drive "
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1523 FmtMLen equ *-FmtMsg
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1524 Query fcc "y (yes) or n (no)"
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1525 fcb C$LF
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1526 fcc "Ready? "
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1527 QueryLen equ *-Query
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1528 AbortIlv fcc "ABORT Interleave value out of range"
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1529 fcb C$CR
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1530 AbortSct fcc "ABORT Sector number out of range"
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1531 fcb C$CR
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1532 AbortOp fcc "ABORT Option not allowed on Device"
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1533 fcb C$CR
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1534 DName fcc "Disk name: "
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1535 DNameLen equ *-DName
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1536 fcc "How many Cylinders (Tracks?) : "
926
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1537 BadSectM fcc "Bad system sector, "
ebd5b6ce665d Cluster size added by John Collyer
boisy
parents: 924
diff changeset
1538 Aborted fcc "FORMAT ABORTED"
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1539 fcb C$CR
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1540 ClustMsg fcc "Cluster size mismatch"
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1541 fcb C$CR
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1542 fcc "Double density? "
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1543 fcc "Track 0 Double density? "
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1544 TPIChg fcc "Change from 96tpi to 48tpi? "
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1545 DSided fcc "Double sided? "
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1546 NumGood fcc "Number of good sectors: $"
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1547 NGoodLen equ *-NumGood
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1548 HDFmt fcc "WARNING: You are formatting a HARD Disk.."
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1549 fcb C$LF
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1550 fcc "Are you sure? "
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1551 HDFmtLen equ *-HDFmt
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1552 Both fcc "Both PHYSICAL and LOGICAL format? "
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1553 BothLen equ *-Both
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1554 Verify fcc "Physical Verify desired? "
312
b6c34acda06c Migrated from OS-9 Level Two
boisy
parents: 263
diff changeset
1555 VerifyL equ *-Verify
961
53b612a9ef45 Added a conditional check to the roll message, so you can build format
johncollyer
parents: 960
diff changeset
1556 IFNE DOROLL
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1557 RollMsg fcc " Recording Format: FM/MFM"
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1558 fcb C$LF
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1559 fcc " Track density in TPI: 48/96"
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1560 fcb C$LF
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1561 fcc " Number of Cylinders: 0000"
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1562 fcb C$LF
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1563 fcc " Number of Surfaces: 0000"
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1564 fcb C$LF
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1565 fcc "Sector Interleave Offset: 0000"
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1566 fcb C$LF
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1567 fcc " Disk type: 0000"
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1568 fcb C$LF
961
53b612a9ef45 Added a conditional check to the roll message, so you can build format
johncollyer
parents: 960
diff changeset
1569 fcc " Sectors/Cluster: 0000"
952
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1570 fcb C$LF
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1571 fcc " Sectors/Track: 0000"
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1572 fdb $0A0A
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1573 fcc "Sector: 00 Track: 00 Side: 00"
345872d37e14 no message
johncollyer
parents: 942
diff changeset
1574 RollLen equ *-RollMsg
961
53b612a9ef45 Added a conditional check to the roll message, so you can build format
johncollyer
parents: 960
diff changeset
1575 ENDC
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1576 emod
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1577 eom equ *
119
f418bf788bfa Disassembled format #17 from Tandy OS-9
boisy
parents: 104
diff changeset
1578 end