107 REM
108 DIM I$=253%,M$(4%),S$(8%)
109 RESTORE 202
110 GOSUB 202
111 POKE 64897%,255%
112 POKE 64819%,118%
113 P%=PEEK(65065%)+SWAP%(PEEK(65066%))
114 OPEN 'DIDOSGEN.ASM' ASFILE 1%
115 FOR X%=0% TO 4%
116 Z%=CALL(28666%,1%)+CALL(28668%,X%)
117 POKE P%+6%,49152%+X%*253%,SWAP%(49152%+X%*253%)
118 I$=Q0$
119 NEXT X%
120 X%=PEEK(64787%)
121 POKE P%+6%,135%,X%+4%
122 X%=(X%+4%)*256%
123 POKE X%+135%,33%,140%,1%,34%,10%,254%,195%,75%,96%
124 Z%=CALL(X%+135%)
125 POKE X%,219%,7%
126 ; CHR$(12%)TAB(11%)'Formattering'
127 ; TAB(10%)CHR$(23%)'############'
128 ;
129 ; 'Detta program t|mmer en skiva helt och'
130 ; 'h}llet p} information. Programmet an-'
131 ; 'v{nds ocks} f|r att initiera en helt ny'
132 ; 'skiva.'
133 ; : ;
134 ; '[r detta ok? '
135 ;
136 ; 'Formattering? '
137 ;
138 ; 'Enkel/Dubbel densitet? '
139 ;
140 ; 'Sp}r? <35/40/70/77/80>'
141 ;
142 ; 'Drive? <0/1>'
143 ;
144 ; 'Sitter r{tt skiva i??? '
145 RESTORE
146 N%=0%
147 READ R%,K%,L%,F%
148 N%=N%+1%
149 ; CUR(R%,K%);
150 GOSUB 188
151 ON N% GOTO 152,154,156,158,162,166
152 IF B$<>'j' AND B$<>'J' 177
153 GOTO 147
154 IF B$='j' OR B$='J' POKE 49155%,70% ELSE POKE 49155%,32%
155 GOTO 147
156 IF B$='D' OR B$='d' POKE 49156%,68% ELSE POKE 49156%,69%
157 GOTO 147
158 X%=VAL(B$)
159 IF INSTR(1%,'#(FMP',CHR$(X%))=0% 149
160 POKE 49153%,X%
161 GOTO 147
162 X%=VAL(B$)
163 IF X%<>0% AND X%<>1% 149
164 POKE 64848%,X%
165 GOTO 147
166 IF B$<>'JA' 120
167 D$=CUR(3%,0%)+SPACE$(200%)+CUR(3%,0%)
168 ; D$'Skivans rubrikinformation:'
169 INPUTLINE I$
170 ; D$'Meddelanden:'
171 Z%=CALL(49160%) : REM Go!
172 IF Z% 175
173 ; D$ : ; 'Klart !!!'
174 GOTO 177
175 ; D$'Fel uppstod:' : ;
176 ; S$(Z%)
177 ; CUR(21%,0%)'En g}ng till? ';
178 GET R$
179 ON INSTR(1%,' JjNn',R$)/2%+1% GOTO 178,120,180
180 ; CUR(23%,0%)'S{tt i DIDACTOS:';
181 GET R$
182 ONERRORGOTO 180
183 OPEN 'Didactos.bac' ASFILE 1%
184 CLOSE 1%
185 ; CUR(0%,0%);
186 POKE 65052%,0%,192%
187 CHAIN 'Didactos'
188 REM *** Limited Input ***
189 B$=''
190 X%=LEN(B$)
191 GET C$
192 Y%=ASC(C$)
193 IF Y%=13% IF X%<>0% RETURN ELSE 190
194 IF X%=L% AND Y%<>8% 190
195 IF Y%=8% IF X% B$=LEFT$(B$,X%-1%) : ; CHR$(8%,32%,8%);
196 IF Y%<32% 190
197 IF F% AND (Y%<48% OR Y%>57%) 190
198 ; C$;
199 B$=B$+C$
200 GOTO 190
201 DATA 9,13,1,0,11,14,1,0,13,23,1,0,15,6,2,-1,17,7,1,-1,19,23,2,0
202 FOR X%=1% TO 10%
203 IF X%<4% READ M$(X%) ELSE READ S$(X%-3%)
204 NEXT X%
205 DATA 'Jag testar skivan!'
206 DATA 'Sp}r 0 {r d}ligt, borttaget.'
207 DATA 'Jag formatterar skivan!'
208 DATA 'Ingen skiva isatt!'
209 DATA 'Skivan {r skrivskyddad!'
210 DATA 'Kan inte formattera!'
211 DATA 'Maskinfel, delge s{ljaren!!!'
212 DATA 'Kan inte skapa skivbiblioteket!'
213 DATA 'Skivan {r d}ligt formatterad!'
214 DATA 'Programfel, M$() missbildad.'
215 RETURN