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 *****************************