Hex to decimal conversion and 2 byte converter.
Content
Source Code
9000 REM ** ROCKETTER BBS **
\n9005 REM ** 714-630-2488 **
\n9010 REM 8/1/N 300/1200 BAUD
\n9015 REM % % % % % % %O%K% %T%O% %R%U%N% % % % % %
\n9020 REM PROGRAM IS DESIGNED TO AID IN CONVERTING NUMBERS FOR MACHINE CODE APPLICATIONS
\n9025 REM MAY BE ADDED TO ANY CURRENT PROGRAM AND RENUMBERED
\n9030 REM WITH THE DELPHIC TOOLKIT WITHOUT ANY CHANGE
\n9035 FAST
\n9040 CLS
\n9045 GOSUB 9650
\n9050 LET Y$="TIMEX 1000"
\n9055 PRINT AT 2,11;Y$
\n9060 PRINT AT 3,7;"PROGRAMING UTILITES"
\n9065 PRINT AT 8,3;"1) HEX TO DEC."
\n9070 PRINT AT 10,3;"2) DEC TO HEX."
\n9075 PRINT AT 12,3;"3) 2 BYTE CONVERTER."
\n9080 PRINT AT 14,3;"4) SAVE PROGRAM."
\n9085 PRINT AT 16,3;"5) STOP."
\n9090 PRINT AT 20,6;"% %E%N%T%E%R% %Y%O%U%R% %C%H%O%I%C%E% "
\n9095 INPUT B
\n9100 IF B=2 THEN GOTO 9315
\n9105 IF B=3 THEN GOTO 9480
\n9110 IF B=4 THEN GOTO 9725
\n9115 IF B=5 THEN STOP
\n9120 REM **** HEX TO DEC *****
\n9125 REM ***********************
\n9130 CLS
\n9135 LET A=8
\n9140 FAST
\n9145 GOSUB 9650
\n9150 SLOW
\n9155 PRINT AT 2,11;Y$
\n9160 PRINT AT 3,3;"** HEX TO DEC CONVERTER **"
\n9165 PRINT AT 7,10;"""0"" ABORTS";AT 8,6;"""T"" FOR DEC TO HEX"
\n9170 FOR F=1 TO 2
\n9175 PRINT AT 20,1;"% %E%N%T%E%R% %H%E%X% %N%U%M%B%E%R% "
\n9180 FOR J=1 TO 20
\n9185 NEXT J
\n9190 PRINT AT 20,1;" ENTER HEX NUMBER "
\n9195 FOR J=1 TO 20
\n9200 NEXT J
\n9205 NEXT F
\n9210 LET T=0
\n9215 INPUT H$
\n9220 LET D=1
\n9225 IF H$="0" THEN GOTO 9035
\n9230 IF H$="T" THEN GOTO 9325
\n9235 FOR P=LEN (H$)-1 TO 0 STEP -1
\n9240 LET C=CODE (H$(D TO D))
\n9245 LET D=D+1
\n9250 IF C>=28 AND C<=37 THEN LET C=C-28
\n9255 IF C>=28 AND C<=37 THEN GOTO 9270
\n9260 IF C>=38 AND C<=43 THEN LET C=C-28
\n9265 GOTO 9270
\n9270 LET T=T+C*16**P
\n9275 NEXT P
\n9280 LET A=A+2
\n9285 IF A>18 THEN GOSUB 9455
\n9290 PRINT AT A,4;"HEX: ";H$;" = ";T;" DEC"
\n9295 GOTO 9170
\n9300 REM ***********************
\n9305 REM **** DEC TO HEX *****
\n9310 REM ***********************
\n9315 CLS
\n9320 GOSUB 9650
\n9325 GOSUB 9455
\n9330 PRINT AT 3,3;"** DEC TO HEX CONVERTER **"
\n9335 PRINT AT 8,5;"123456 FOR HEX TO DEC"
\n9340 LET A=8
\n9345 LET A=A+2
\n9350 LET A$="0123456789ABCDEF"
\n9355 PRINT AT 20,1;"% %E%N%T%E%R% %D%E%C% %N%U%M%B%E%R% "
\n9360 FOR F=1 TO 20
\n9365 NEXT F
\n9370 PRINT AT 20,1;" ENTER DEC NUMBER "
\n9375 INPUT Q
\n9380 IF Q=0 THEN GOTO 9035
\n9385 IF Q=123456 THEN GOTO 9130
\n9390 IF Q>65535 OR Q<0 THEN PRINT "TRY AGAIN"
\n9395 IF Q>65535 OR Q<0 THEN GOTO 400
\n9400 LET D=INT (Q/4096)
\n9405 LET R=Q-4096*D
\n9410 LET E=INT (R/256)
\n9415 LET R=R-256*E
\n9420 LET H=INT (R/16)
\n9425 LET L=R-16*H
\n9430 IF A>18 THEN GOSUB 9455
\n9435 PRINT AT A,4;"DEC: ";Q;" = ";
\n9440 IF A>18 THEN GOSUB 9455
\n9445 PRINT A$(D+1 TO D+1);A$(E+1 TO E+1);A$(H+1 TO H+1);A$(L+1 TO L+1);" HEX"
\n9450 GOTO 9345
\n9455 FOR F=2 TO 10 STEP 2
\n9460 PRINT AT 8+F,4;" "
\n9465 NEXT F
\n9470 LET A=10
\n9475 RETURN
\n9480 REM ***********************
\n9485 REM ** 2 BYTE CONVERTER **
\n9490 REM ***********************
\n9495 CLS
\n9500 FAST
\n9505 GOSUB 9650
\n9510 SLOW
\n9515 PRINT AT 2,10;Y$
\n9520 PRINT AT 3,4;"** 2 BYTE CONVERTER **"
\n9525 FOR F=1 TO 2
\n9530 FOR J=0 TO 10
\n9535 NEXT J
\n9540 PRINT AT 20,1;"% %E%N%T%E%R% %N%U%M%B%E%R% ";AT 20,20;"""0"" ABORTS"
\n9545 FOR J=0 TO 10
\n9550 NEXT J
\n9555 PRINT AT 20,1;" ENTER NUMBER "
\n9560 NEXT F
\n9565 INPUT N
\n9570 GOSUB 9630
\n9575 IF N=0 THEN GOTO 9035
\n9580 IF N>65535 OR N<1 THEN GOTO 9700
\n9585 PRINT AT 8,12;N
\n9590 REM % %P%L%A%C%E%S% %N%U%M%B%E%R% %I%N%T%O%
\n9595 REM % %S%Y%S%T%E%M% %V%A%R%I%A%B%L%E% %"%S%E%E%D%"
\n9600 REM % %T%H%E%N% %H%A%S% %C%O%M%P%U%T%E%R% % % % %
\n9605 REM % %O%U%T%P%U%T% %C%O%N%T%E%N%T%S% %
\n9610 RAND N
\n9615 PRINT AT 10,8;"LEAST BYTE= ";PEEK 16434
\n9620 PRINT AT 12,8;"MOST BYTE= ";PEEK 16435
\n9625 GOTO 9525
\n9630 PRINT AT 8,12;" "
\n9635 PRINT AT 10,19;" "
\n9640 PRINT AT 12,19;" "
\n9645 RETURN
\n9650 FOR F=0 TO 43
\n9655 PLOT 0,F
\n9660 PLOT 63,F
\n9665 NEXT F
\n9670 FOR F=0 TO 63
\n9675 PLOT F,43
\n9680 PLOT F,32
\n9685 PLOT F,0
\n9690 NEXT F
\n9695 RETURN
\n9700 PRINT AT 20,1;"% %N%U%M%B%E%R% %T%O% %L%A%R%G%E% %O%R% %T%O% %S%M%A%L%L% % "
\n9705 FOR F=0 TO 100
\n9710 NEXT F
\n9715 PRINT AT 20,1;" "
\n9720 GOTO 9525
\n9725 SAVE "2 BYT%E"
\n9730 GOTO 9035