8-Bit Software Online Conversion

:2.$.DicConv - Listing

10REM DICCONV 20REM Convert dictionary to text file 30REM For B/B+/E/M/C (with discs) 40REM by Alan Blundell 50REM (c) 1989 60: 70CLS 80PROCinit 90FOR letter%=0 TO 25 100PROCloaddict(letter%) 110PROCconvert 120NEXT 130CLOSE #in% 140CLOSE #out% 150PROCcursor(1) 160PRINT 170CHAIN "Spell" 180: 190DEFPROCinit 200maxunits%=28 210DIM dictbuf% maxunits%*256 220DIM index% 211 230DIM block% 12 240osgbpb=&FFD1 250PROCcursor(0) 260ON ERROR CLOSE #0:PRINT ''':REPORT: PRINT:END 270in%=OPENIN("Diction") 280IF in%=0 PRINT '''"No dictionary!": END 290out%=OPENOUT("DictTxt") 300PRINT "Converting dictionary" 310PRINT "Words starting with ' ' bein g converted"; 320PROCgbpb(3,in%,index%,212,0) 330ENDPROC 340: 350DEFPROCloaddict(letter%) 360A%=3 370fileptr%=index%!(letter%*8) 380dictsize%=index%!((letter%+1)*8)-fi leptr% 390dictlen%=index%!(letter%*8+4) 400dicttop%=dictbuf%+dictlen% 410PROCgbpb(A%,in%,dictbuf%,dictsize%, fileptr%) 420PRINT TAB(21,VPOS)CHR$(letter%+65); 430ENDPROC 440: 450DEFPROCconvert 460IF dictlen%=0 ENDPROC 470dictptr%=dictbuf% 480REPEAT 490BPUT #out%,letter%+65 500word$=$dictptr% 510FOR ltr%=1 TO LEN(word$) 520BPUT #out%,ASC(MID$(word$,ltr%,1)) 530NEXT 540BPUT #out%,13 550dictptr%=dictptr%+LEN($dictptr%)+1 560UNTIL dictptr%=dicttop% 570ENDPROC 580: 590DEFPROCcursor(on%) 600VDU 23,1,on%;0;0;0; 610ENDPROC 620: 630DEFPROCgbpb(A%,in%,address%,size%,f ileptr%) 640X%=block% MOD 256 650Y%=block% DIV 256 660block%?0=in% 670block%!1=address% 680block%!5=size% 690block%!9=fileptr% 700CALL osgbpb 710ENDPROC