10 PROCinit 20 PROCwrite_init 30 END 920DEF PROCinit 930: 940@%=4 950: 960 heads%=4 970cyl%=216 980step%=1 990rwcc%=128 1000lz%=0 1010drive%=0 1020: 1030DIM X% 20 1040Y%=X% DIV 256 1050: 1060DIM data% 1044 1070!data%=0 1080: 1090DIM buffer% 1280 1100buffer0%=buffer% 1110buffer1%=buffer%+1 1120buffer2%=buffer%+2 1130buffer3%=buffer%+3 1140buffer4%=buffer%+4 1150buffer5%=buffer%+5 1160buffer6%=buffer%+6 1170buffer7%=buffer%+7 1180: 1190: 1200ENDPROC 3000 DEFPROCwrite_init 3940FORI%=buffer% TO buffer%+1279 STEP4 3950!I%=0 3960NEXT 3970: 3980!buffer%=7 3990buffer%!252=heads%*cyl%*33-128 4000buffer%!256=heads%*cyl%*33-135 4010buffer%!507=RND 4020buffer%!509=&300 4030: 4040P%=buffer%+1000 4050[ OPT2 4060CLC:LDY#&FF:TYA 4070.L1% ADC buffer%+255,Y 4080DEY:BNE L1% 4090TAX:DEY:CLC:TYA 4100.L2% ADC buffer%-1,Y 4110DEY:BNE L2% 4120STX buffer%+511 4130STA buffer%+255 4140RTS 4150] 4160CALL buffer%+1000 4170: 4180PRINT"Writing map" 4190PROCwrite_map 4200: 4210FORI%=buffer% TO buffer%+1279 STEP4 4220!I%=0 4230NEXT 4240buffer%!1=&6F677548 4250buffer%!&4FB=&6F677548 4260$(buffer%+&4CC)="$" 4270$(buffer%+&4D9)="$" 4280buffer%?&4D6=2 4290PROCwrite_dir 4320PRINT"Writing root" 5000 ENDPROC 5290DEF PROCwrite_map 5300?X%=0 5310X%!1=buffer% 5320X%?5=10 5330X%?6=drive%*&20 5340X%!7=0 5350X%!9=2 5360 A%=&72 5370CALL &FFF1 5380IF ?X% PRINT"Error "~?X%" in write_map":STOP 5390ENDPROC 5400: 5410DEF PROCwrite_dir 5420?X%=0 5430X%!1=buffer% 5440X%?5=10 5450X%?6=drive%*&20 5460X%!7=&50200 5470 A%=&72 5480CALL &FFF1 5490IF ?X% PRINT"Error "~?X%" in write_dir":STOP 5500ENDPROC 5510: