1 REM ***GREYSCREEN -- VERS 2.1 3/1/83***
1000 HOME
1010 GOTO 2000
1020 REM ***KEYBOARDCOMMAND PROCESSOR***
1100 POKE 775,85:S = INT (SO / 256): POKE 770,S: POKE 769,SO - (S * 256): CALL GE
1102 IF PEEK (772) GOTO 1120
1103 HI = SO + SP
1105 POKE 775,42:S = INT (HI / 256): POKE 770,S: POKE 769,HI - (S * 256): CALL GE
1110 IF NOT PEEK (772) GOTO 1100
1120 X$ = CHR$ ( PEEK (773) - 128)
1130 IF X$ = "," OR X$ = "<" THEN ND = 1: GOSUB 3000: GOTO 1100
1140 IF X$ = "." OR X$ = ">" THEN ND = 2: GOSUB 3000: GOTO 1100
1150 IF X$ = "N" OR X$ = "^" THEN CALL RO: GOTO 1100
1155 IF X$ = "S" THEN POKE 49235,0: HTAB 1: VTAB 23: CALL 64668: INPUT "SAVE FILENAME? ";F$: POKE 49234,0: IF F$ < > "" THEN PRINT D$;"BSAVE ";F$;",A$2000,L$2000": GOTO 1100
1157 IF X$ = "L" THEN POKE 49235,0: HTAB 1: VTAB 23: CALL 64668: INPUT "GET FILENAME? ";F$: POKE 49234,0: IF F$ < > "" THEN PRINT D$;"BLOAD ";F$: GET Y$
1158 IF X$ = "L" AND Y$ = "P" GOTO 1250
1160 IF X$ = "C" THEN HGR : GOTO 1100
1165 IF X$ = " " THEN GET X$: GOTO 1100
1170 IF X$ > "0" AND X$ < "4" THEN RS = ( VAL (X$) - 1) * 40: POKE 777,RS: GOTO 1100
1175 IF X$ = "E" OR X$ = "M" THEN VTAB 21: HTAB 1: PRINT "EXPOSURES: ";SO;" & ";SO + SP;: CALL 64668
1180 IF X$ = "E" THEN POKE 49235,0: HTAB 1: VTAB 23: CALL 64668: PRINT "OLD SOAKTIME: ";SO;: INPUT " NEW: ";SO:S1 = INT (SO / 256): POKE 770,S1: POKE 769,SO - (S1 * 256): POKE 49234,0: GOTO 1100
1224 IF X$ = "M" THEN POKE 49235,0: HTAB 1: VTAB 23: CALL 64668: INPUT "SPAN:";SP: POKE 49234,0: GOTO 1100
1225 IF X$ = "Q" THEN HOME : TEXT : END
1230 IF X$ < > "P" GOTO 1100
1250 REM *HIRES PRINT 192 ROWS OF 37 BYTES
1260 PRINT USR ((256 * 37) + 192)
1270 VTAB 21: CALL 64578
1280 POKE 49234,0
1320 GOTO 1100
2000 REM ***INITIALIZATION***
2010 PRINT CHR$ (4);"BLOAD GSCRASM,A$8000"
2015 PRINT CHR$ (4);"BLOAD EPRINT,A$8600"
2020 LET D$ = CHR$ (4)
2030 LET BE = 65338
2040 LET GE = 32768
2050 LET RO = GE + 3
2060 SP = 100
2100 INPUT "MICRONEYE SLOT? ";SL
2110 POKE 771,SL * 16
2130 POKE 777,RS: POKE 778,RM
2140 POKE 769,44: POKE 770,1:SO = 300
2160 POKE 10,76: POKE 11,0: POKE 12,134
2170 REM ***USRADR FOR EPSON CALL***
2200 ONERR GOTO 4000
2230 GOTO 1100
3000 REM ***EXPOSUREADJUST ROUTINE***
3010 IF ND < > D OR (RD AND U(D) > 2) THEN RD = 1:U(ND) = INT (U(D) / 2): GOTO 3030
3020 RD = 0:U(D) = U(D) * 2
3030 D = ND
3040 IF D = 2 AND (SO + U(2) > 8000) THEN U(2) = 8000 - SO: GOTO 3060
3050 IF D = 1 AND SO < U(1) THEN U(1) = SO
3060 IF D = 2 THEN SO = SO + U(2)
3070 IF D = 1 THEN SO = SO - U(1)
3080 IF U(D) < 1 THEN U(D) = 1
3090 IF SO < 1 THEN SO = 1
3100 IF SO > 8000 THEN SO = 8000
3110 S1 = INT (SO / 256): POKE 770,S1
3120 POKE 769,SO - (S1 * 256)
3130 RETURN
4000 POKE 49235,0
4005 CALL BE
4010 HTAB 1: VTAB 23: CALL 64578
4020 PRINT "NO SUCH FILE, PRESS <RETURN>...";
4030 GET X$:X = FRE (0)
4040 HOME
4050 POKE 49234,0
4060 GOTO 1100
9000 REM *************************
9010 REM *PEEK AND POKE DEFINITIONS
9020 REM *************************
9040 REM * 769 -- SOAKTIME (LSB)
9050 REM * 770 -- SOAKTIME (MSB)
9060 REM * 771 -- MICRONEYE SLOT * 16
9070 REM * 772 -- 1 = KEY HIT DURING SCAN
9080 REM * 773 -- ASCII VALUE OF KEY HIT
9100 REM * 775 -- GREYTONE INTERLEAVE (SUGGEST 42)
9120 REM * 777 -- SCREEN SEGMENT SELECTOR
9130 REM * 0 = TOP THIRD OF SCREEN
9140 REM * 40 = MIDDLE THIRD OF SCREEN
9150 REM * 80 = BOTTOM THIRD OF SCREEN
9170 REM *****************************