1000 PRINT "Slot number? " 1010 INPUT S 1015 REM Set up InputByte, OutputByte, InputFlags and OutputFlags 1020 IB = 49294 + S * 16 1030 OB = 49293 + S * 16 1040 FI = 49291 + S * 16 1050 OF = 49287 + S * 16 1060 POKE OF,15: REM set to bank zero with flags high 1070 GOSUB 2000 1999 END 2000 REM Load File 2010 PRINT "Filename to load: "; 2020 INPUT CM$ 2030 A = 6: GOSUB 8000: REM LoadFileCommand 2040 FOR X = 1 TO LEN (CM$) 2050 A = ASC ( MID$ (CM$,X,1)) 2060 GOSUB 8000 2070 NEXT 2080 A = 0: GOSUB 8000 2100 GOSUB 9000 2110 LO = A 2120 GOSUB 9000 2130 HI = A 2140 FS = HI * 256 + LO 2150 PRINT "FileSize: "FS 2155 AD = 8192 2160 FOR X = 0 TO FS - 1 2170 GOSUB 9000 2180 PRINT "."; 2185 POKE AD,A 2186 AD = AD + 1 2190 NEXT 2200 RETURN 7000 REM Get Flags 7010 F = PEEK (FI) 7020 RF = 0 7025 WF = 0 7030 IF F > 128 THEN WF = 1:F = F - 128 7040 IF F > 64 THEN RF = 1 7050 RETURN 8000 REM Send Byte 8010 GOSUB 7000: REM Wait for read flag low 8020 IF RF = 1 THEN GOTO 8010 8030 POKE OB,A 8040 POKE OF,14: REM Set write flag low 8050 GOSUB 7000: REM Wait for read flag high 8060 IF RF = 0 GOTO 8050 8070 POKE OF,15: REM Set flags high 8080 RETURN 9000 REM Get Byte 9010 POKE OF,13: REM Set read flag low 9020 GOSUB 7000: REM Wait for write flag low 9030 IF WF = 1 THEN GOTO 9020 9040 A = PEEK (IB) 9050 POKE OF,15: REM Set flags high 9060 GOSUB 7000: REM Wait for write flag high 9070 IF WF = 0 THEN GOTO 9060 9080 RETURN