20 DEFFNS:="CON" 30 MODE7:C%=1 40 FORL%=1TO2:PRINT"Number conversion by C.J.Richardson":NEXT 50 PRINT:FORL%=1TO9:PRINT"":NEXT 60 PRINTTAB(4,13)"" 70 FORL%=1TO7:PRINTTAB(4)"";TAB(34);"":NEXT 80 PRINTTAB(4);"" 90 OSCLI"K.0 255|M":OSCLI"FX138 0 128" 100 PRINTTAB(7,14)"Enter number for conversion";TAB(7,15);"Max 2147483647 &7FFFFFFF +-";TAB(7,16)" Prefix with:";TAB(7,17);" (&)Hexadecimal (B)inary"; 110 PRINTTAB(7,18);" No prefix for Decimal";TAB(7,19);" (P)rintout (R)everse";TAB(7,20);" RETURN change by 1" 120 ONERROR:VDU3:SOUND1,-10,200,1:IFERR=17END 130 REPEAT 140 PRINTTAB(0,23)SPC40;:INPUTTAB(0,23)""A$:H$="" 150 IFA$="R"IFC%=1C%=-1:A$="" ELSE IF A$="R"C%=1:A$="" 160 IFA$=""A$=STR$((VALD$)+C%) 170 IFLEFT$(A$,1)="&"A$=RIGHT$(A$,LENA$-1):H$=A$:D%=FNhex:D$=A$:D%=FNdectobin:B$=A$ 180 IFLEFT$(A$,1)="B"A$=RIGHT$(A$,LENA$-1):B$=A$:D%=FNbintodec:D$=A$:H$=STR$~VALA$ 190 IFLEFT$(A$,1)="P"MODE0:PROCprintout:RUN 200 IFH$=""PROCh 210 PRINTTAB(4,5)"Decimal: ";D$;SPC10;TAB(4,7);"Hexadecimal:&";H$;SPC10;TAB(4,9);"Bin:";B$;SPC(32-LENB$); 220 UNTILFALSE 230 DEFPROCh:D$=A$:H$=STR$~VALA$:IFVALD$<0A$=RIGHT$(H$,7):D%=FNhex:D%=FNdectobin:B$=A$:A$=LEFT$(H$,1):D%=FNhex:D%=FNdectobin:B$=A$+B$ ELSE D%=FNdectobin:B$=A$ 240 ENDPROC 250 DEFPROCprintout:ONERROR:VDU3:RUN 260 INPUT"Start in decimal "S%:INPUT"End in decimal "E%:PRINT"Printer? Y/N ":A$=GET$:IFA$="Y"VDU2 270 PRINT"Decimal Hexadecimal Binary":FORO%=S%TOE%:PRINTTAB(0);O%;TAB(10)"&";~O%;:O$=STR$~O% 280 IFO%<0A$=RIGHT$(O$,4):D%=FNhex:D%=FNdectobin:B$=A$:A$=LEFT$(O$,4):D%=FNhex:D%=FNdectobin:B$=A$+B$ ELSE A$=STR$O%:D%=FNdectobin:B$=A$ 290 PRINTTAB(20)B$:NEXT 300 VDU3:PRINT"PRESS A KEY":REPEATUNTILGET:ENDPROC 310 DEFFNbintodec:IFVALA$=0=D% 320 R%=0 330 FORL%=1TOLENA$ 340 R%=R%+(VAL(MID$(A$,L%,1)))*2^(LENA$-L%) 350 NEXT:A$=STR$R% 360 =R% 370 DEFFNdectobin 380 R%=VALA$:B%=LEN(STR$~VALA$)*4:A$="":IFB%>31B%=31 390 FORL%=B%TO0STEP-1 400 R%=R%-2^L%:IFR%<0R%=R%+2^L%:A$=A$+"0" ELSE A$=A$+"1" 410 NEXT:L%=0:REPEAT:L%=L%+1:UNTILMID$(A$,L%,1)="1"ORL%=LENA$:A$=MID$(A$,L%,LENA$) 420 =R% 430 DEFFNhex 440 R%=0:FORHL%=1TOLENA$:E%=ASC(MID$(A$,HL%)) 450 IFE%>57 E%=E%-55 ELSE E%=E%-48 460 R%=R%*16+E%:NEXT:A$=STR$R%:=R%