10 MODE1 20 DIMdispdata% 18 30 DIMdigits% 12 40 PROCinit 50 ONERROR:MODE3:END 60 TIME=&FFFFCFFF 70 REM TIME=&80000000 80 PROCfront 90 : 100 REPEAT 110 PROCtop 120 PROCmid 130 PROCbottom 140 K%=INKEY(20) 150 IFK%=68 OR K%=100:hex%=0 160 IFK%=72 OR K%=104:hex%=1 170 IFK%=32:pause%=pause%EOR1 180 COLOURhex%EOR1+2 190 PRINTTAB(14,30)CHR$(243) 200 COLOURhex%+2 210 PRINTTAB(23,30)CHR$(243) 220 UNTILcnt%=0 222 *EXEC !BOOT 230 END 240 : 250 DEFPROCtop 260 IFhex%:T$=STR$~(TIME)ELSET$=STR$(TIME) 270 PROCld_display(T$) 280 PROCdodisplay(15) 290 COLOUR2 300 VDU9,11,243 310 ENDPROC 320 : 330 DEFPROCmid 340 IFpause%=0:cnt%=cnt%-1 350 IFhex%:cnt$=STR$~(cnt%)ELSEcnt$=STR$(cnt%) 360 PROCld_display(cnt$) 370 PROCdodisplay(20) 380 COLOURpause%+2 390 VDU9,11,243 400 ENDPROC 410 : 420 DEFPROCbottom 430 PROCld_display(title$) 440 PROCdodisplay(25) 450 c$=MID$(title$,1,1):title$=MID$(title$,2)+c$ 460 COLOUR2 470 VDU9,11,243 480 ENDPROC 490 : 500 DEFPROCld_display(display$) 510 PROCcleardigits 520 FORI%=1TOLEN(display$) 530 d$=MID$(RIGHT$(display$,I%),1,1) 540 d%=INSTR("0123456789ABCDEF-.",d$) 550 ?(digits%+I%-1)=dispdata%?d% 560 NEXT 570 ENDPROC 580 : 590 DEFPROCdodisplay(J%) 600 N%=10 610 FORI%=3TO33STEP3 620 PRINTTAB(I%,J%);:PROCdisplay(digits%?N%) 630 N%=N%-1 640 NEXT 650 REM PRINT' 660 ENDPROC 670 : 680 DEFPROCdisplay(n) 690 COLOURSGN(n AND&01)+1:VDU32,95,32,10,8,8,8 700 COLOURSGN(n AND&20)+1:VDU240 710 COLOURSGN(n AND&40)+1:VDU95 720 COLOURSGN(n AND&02)+1:VDU241,10,8,8,8 730 COLOURSGN(n AND&10)+1:VDU240 740 COLOURSGN(n AND&08)+1:VDU95 750 COLOURSGN(n AND&04)+1:VDU241 760 COLOURSGN(n AND&80)+1:VDU10,8,8,8,32,32,242 770 COLOUR3 780 ENDPROC 790 : 800 DEFPROCcleardigits 810 !digits%=0:digits%!4=0:digits%!8=0 820 ENDPROC 830 : 840 DEFPROCfront 850 GCOL0,3 860 MOVE 1279,0:PLOT85,1279,600 870 MOVE 0,600:PLOT85,0,0 880 MOVE 0,610:MOVE 200,810:PLOT85,200,610 890 MOVE 1279,610:MOVE 1079,810:PLOT85,1079,610 900 COLOURhex%EOR1+2 910 PRINTTAB(14,30)CHR$(243) 920 COLOURhex%+2 930 PRINTTAB(23,30)CHR$(243) 940 VDU5:GCOL4,3 950 MOVE 100,580:PRINT"LED Digital Display" 960 MOVE 500,60:PRINT"Hex" 970 MOVE 800,60:PRINT"Decimal" 980 VDU4: 990 PROCbottom 1000 PROCmid 1010 PRINTTAB(0,2)"Active Keys" 1020 PRINTTAB(8,4)"Space..toggle countdown" 1030 PRINTTAB(12,6)"D..decimal display" 1040 PRINTTAB(12,8)"H..hex display" 1050 ENDPROC 1060 : 1070 DEFPROCinit 1080 REM Load dispdata 1090 FORI%=0TO18:READ?(dispdata%+I%):NEXT 1100 VDU23,240,&01,&01,&01,&01,&01,&01,&01,&00 1110 VDU23,241,&80,&80,&80,&80,&80,&80,&80,&00 1120 VDU23,242,&0C,&0C,&00,&00,&00,&00,&00,&00 1130 VDU23,243,&00,&7E,&7E,&7E,&7E,&7E,&7E,&00 1140 VDU23;8202;0;0;0; 1150 VDU19,1,4;0; 1160 VDU19,2,7;0; 1170 VDU19,3,5;0; 1180 @%=&50A 1190 hex%=0:pause%=0:cnt%=45 1200 title$=".....8B5-60" 1210 PROCcleardigits 1220 ENDPROC 1230 : 1240 REM - a - Bit Map 1250 REM f | | b 1260 REM - g - pgfedcba 1270 REM e | | c 1280 REM - d - . p 1290 : 1300 DATA&00,&3F,&06,&5B,&4F,&66,&6D,&7D,&07,&7F,&67,&77,&7C,&39,&5E,&79,&71,&40,&80