8-Bit Software Online Conversion

Presenting programs Ex. 3 - Listing

10REM >Step3 20REM by Steven Flintham 30REM 40REM Sunday 4th April 1993 50: 60MODE 4 70VDU 23;8202;0;0;0; 80PROCdisable 90PROCinit 100REPEAT 110choice%=FNmenu 120UNTIL choice%=5 130MODE 7 140PROCenable 150END 160: 170DEF PROCdisable 180*FX229,1 190*FX4,1 200ENDPROC 210: 220DEF PROCenable 230*FX229 240*FX4 250ENDPROC 260: 270DEF PROCinit 280ON ERROR MODE 7:REPORT:PRINT " at l ine ";ERL:PROCenable:END 290DIM block% 8 300ENDPROC 310: 320DEF FNmenu 330LOCAL choice%,key% 340PROCtitle 350PRINTTAB(3,4);"Option 1" 360PRINTTAB(3,5);"Option 2" 370PRINTTAB(3,6);"Option 3" 380PRINTTAB(3,7);"Option 4" 390PRINTTAB(3,8);"Option 5" 400PRINTTAB(3,9);"Quit this program" 410PRINTTAB(0,11);"Use the cursor keys to move the bar and"'"press RETURN to s elect" 420choice%=0 430PROCdraw`bar(choice%) 440REPEAT 450*FX21 460key%=GET 470PROCdraw`bar(choice%) 480IF key%=138 THEN IF choice%<5 THEN choice%=choice%+1 490IF key%=139 THEN IF choice%>0 THEN choice%=choice%-1 500PROCdraw`bar(choice%) 510UNTIL key%=13 520=choice% 530: 540DEF PROCdraw`bar(choice%) 550LOCAL y% 560GCOL 4,1 570FOR y%=1020-((choice%+4)*32) TO (10 20-((choice%+4)*32)-28) STEP -4 580MOVE 0,y% 590DRAW 1276,y% 600NEXT 610ENDPROC 620: 630DEF PROCtitle 640VDU 26,12 650COLOUR 0:COLOUR 129 660PROCdouble`height(" Menu demonstrat ion ",10,0) 670COLOUR 1:COLOUR 128 680PRINTTAB(8,2);"(C) Steven Flintham 1993" 690ENDPROC 700: 710DEF PROCdouble`height(text$,x%,y%) 720LOCAL pos%,A%,X%,Y% 730VDU 31,x%,y% 740FOR pos%=1 TO LEN(text$) 750block%?0=ASC(MID$(text$,pos%,1)) 760A%=10 770X%=block% MOD 256 780Y%=block% DIV 256 790CALL &FFF1 800VDU 23,255,0,block%?1,block%?1,bloc k%?2,block%?2,block%?3,block%?3,block%?4 ,255,8,10,23,255,block%?4,block%?5,block %?5,block%?6,block%?6,block%?7,block%?7, block%?8,255,11 810REM VDU 23,255,block%?1,block%?1,bl ock%?2,block%?2,block%?3,block%?3,block% ?4,block%?4,255,8,10,23,255,block%?5,blo ck%?5,block%?6,block%?6,block%?7,block%? 7,block%?8,block%?8,255,11 820NEXT 830ENDPROC