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