MediaWiki:Sitenotice:
2025-12-29: I have restored the wiki to a backup from the end of November. Starting in September 2025, accesses went form the 800MB-1.2GB range per month to 26GB in September, 42GB in October, and 70GB in November with most accesses originating from China. As soon as I realized what was causing all the access problems in November, I shut it down (it had reached 36GB by then) behind a password/login screen. The database had gotten corrupted, and I tried a restore from just before the spike in access but that didn't work. Thus, end of November. I still have the other daily backups so if there were any important additions in December, let me know and maybe they can be recovered. - Allen H.

DECCONV

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
100 DIM R$(16), T(6,3), T$(6,2)
110 DATA 5, 10,2,DECIMAL,BINARY,16,2,10,BINARY,DECIMAL
120 DATA 5,10,16,DECIMAL,HEXADECIMAL
130 DATA 4,16,10,HEXADECIMAL,DECIMAL,16,2,16,BINARY,HEXADECIM
140 DATA 4,16,2,HEXADECIMAL,BINARY
150 FOR 1=1 TO 6
160 READT(I,1), T(I,2), T(I,3), T$(I,1), T$(I,2): NEXT I
170 CLS: PRIMT@2,"DECIMAL TO BASE X CONVERTER"
180 PRINT@64,"CONVERT FROM:"
190 FOR 1=1 TO 6
200 PRINT@64+(I*32),I;". ";T$(I,1);" TO ";T$(I,2): NEXT I
210 PRINT@288,"WHICH ONE";: INPUT A
220 IF (A>O) AND (A<7) THEN 250
230 PRINT@352,"INVALID SELECTION--TRY AGAIN"
240 FOR I=1 TO 300: NEXT I: GOTO17O
250 PRINT@352,"NUMBER IN ";LEFT$(T$(A,1),3);: INPUT AS
260 L=LEN(A$)
270 IF L<=T(A,1) THEM 310
280 PRINT@448,"INVALID ";LEFT$(T$(A,1),3);" NUMBER--TRY AGAIN"
290 FOR I=1 TO 300: NEXT I
300 PRINT@448."";:PRINT:PRINT@367,"": GOTO25O
310 ON A GOSUB38O,72O,38O,720,720,720
320 IF ER$="Y" THEN ER$="": GOTO28O
330 PRINT@416,"EMTER R FOR RESTART, OR JUST"
340 PRINT@448,"<ENTER> FOR SAME";: INPUT AS
350 IF A$="R" THEN 170
360 IF A$="" THEN PRINT@416,":PRINT@448,":PRINT@367,":PRINT
370 G0T0330
380 REM DECIMAL SUBROUTINE
390 FOR I=1 TO L
400 N$=MID$(A$,I,1)
410 IF NOT (N$>-"O" AND N$<="9") THEN 460
420 NEXT I
430 N1=VAL(A$)
440 IF N1>65535 THEN 460
450 GOSUB48O: GOTO47O
460 ER$="Y"
470 RETURN
480 REM CONVERT DEC TO BIN/HEX SUBROUTINE
490 FOR I=1 TO 16
500 R$(I)=": NEXT I
510 FOR I=16 TO 1 STEP -1
520 N2=INT(N1/T(A,3))
530 R$(I)=STR$(N1_(T(A,3)*N2))
540 IF N2=O THEN 560
550 N1=N2: NEXT I
560 L=I
570 REM PRINT DEC TO BIN/HEX
580 PRINT@384,"NUMBER IN ";LEFT$(T$(A,2),3);" ";
590 P=398
600 FOR I=L TO 16
610 N2=LEN(R$(I))
620 N$=MID$(R$(I) ,2,N2)
630 IF N$="10" THEN N$="A"
640 IF N$="11" THEN N$="B"
650 IF N$="12" THEN N$="C"
660 IF N$="13" THEN N$="D"
670 IF N$="14" THEN N$="E"
680 IF N$="15" THEN N$="F"
690 P=P+1: PRINT@P,N$;
700 NEXT I
710 RETURN
720 REM BIN/HEX SUBROUTINE
730 N1=0: N2=0
740 FOR I=1 TO L
750 N$=MID$(A$,I,1)
760 IF (N$="0") OR (N$="L") THEN 820
770 IF NOT (A=4 OR A=6) THEN 890
780 IF (N$>="2") AND (N$<="9") THEN 820
790 N3=ASC(N$)-55
800 IF (N3<=15) THEN 830
810 GOTO890
820 N3=VAL(N$)
830 N2=N1
840 N1=(N2*T(A,2))+N3
850 NEXT I
860 IF (A=5) OR (A=6) THEN COSUB480: GOTO900
870 PRINT@384,"NUMBER IN ";LEFT$(T$(A,2),3);" ";N1
880 GOTO900
890 ER$="Y"
900 RETURN