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