1 REM *** WINDOWS *** 2 REM CREATES THE ILLUSION OF WINDOWS USING EXTENDED BACKGROUND COLOR MODE 13 REM SET EXTENDED COLOR MODE 14 POKE 53265,PEEK(53265)OR 64 15 GOSUB 800 30 GOTO 100 39 REM GET RAW JOYSTICK VALUE AND INVERT IT (JOYSTICK PORT 2) 40 JY=255-PEEK(56320) 41 REM GET SEPARATE BUTTON VALUE 42 JB=JY AND 16 43 REM CLEAN UP JOYSTICK VALUE AND RETURN 44 JY=JY AND 15:RETURN 49 REM READ KEYBOARD 50 D=0:GET A$:IF A$="" THEN RETURN 51 A=ASC(A$):IF A<32 OR A>95 THEN D=A:A=0:A$="":RETURN 52 A=A-32:RETURN 79 REM ** CLEAR WINDOW 80 FOR I=MT(QQ)-1 TO MB(QQ)+1:PRINT VV$(I)TAB(ML(QQ)-1); 81 PRINT "[146]";:IF QQ>1 THEN PRINT ""; 82 PRINT LEFT$(BL$(QQ),MR(QQ)-ML(QQ)+2);:NEXT:RETURN 99 REM ** MAIN KEYREAD LOOP 100 GOSUB 40:GOSUB 50:IF A$="" AND D=0 AND JY=0 AND JB=0 THEN 100 101 IF(D>132)AND(D<137)THEN QQ=D-133:GOTO 100 102 IF D=137 THEN SYS 58235 103 IF D=147 THEN HP(QQ)=ML(QQ):VP(QQ)=MT(QQ):GOSUB 80:GOTO 100 104 IF D=19 THEN HP(QQ)=ML(QQ):VP(QQ)=MT(QQ):GOTO 100 105 IF D=17 THEN GOSUB 200 106 IF D=145 THEN GOSUB 210 107 IF D=29 THEN GOSUB 220 108 IF D=157 THEN GOSUB 230 109 IF D=13 OR D=10 THEN GOSUB 200:HP(QQ)=ML(QQ):GOTO 100 110 PRINT VV$(VP(QQ))TAB(HP(QQ))FC$(QQ)CH$(QQ,A);:GOSUB 220:GOTO 100 190 GOTO 100 199 REM CURSOR DOWN 200 VP(QQ)=VP(QQ)+1:IF VP(QQ)>MB(QQ) THEN VP(QQ)=MT(QQ) 201 RETURN 209 REM CURSOR UP 210 VP(QQ)=VP(QQ)-1:IF VP(QQ)MR(QQ) THEN HP(QQ)=ML(QQ):GOSUB 200 221 RETURN 229 REM CURSOR LEFT 230 HP(QQ)=HP(QQ)-1:IF HP(QQ)