apple2pi/client/STARTUP.BAS

66 lines
1.7 KiB
QBasic
Executable File

NEW
10 PRINT
11 PRINT "STARTING APPLE II PI CLIENT."
12 PRINT "PRESS ANY KEY TO CANCEL..."
REM ALLOCATE BASIC BUFFER SPACE
20 PRINT CHR$ (4);"BLOAD DEFSLOT"
30 CALL 769
REM LOAD APPROPRIATE CLIENT
40 A2$ = "A2PI" : IF PEEK (64435) < > 6 THEN A2$ = "A2PLUSPI"
50 PRINT CHR$ (4);"BLOAD ";A2$
REM IF DEFAULT SLOT NOT SET, SEARCH FOR SSC
60 IF PEEK (768) = 0 THEN GOSUB 100
65 POKE 769,0
REM INIT A2PI DRIVER
70 PRINT CHR$ (4);"PR# A$9600"
80 IF PEEK (769) < > 0 THEN PRINT "APPLE II PI CONNECTED." : PRINT "KEYBOARD ROUTED TO LINUX" : GOSUB 300
90 NEW : END
REM SEARCH FOR SSC
100 SC = 0 : PI = 0
110 FOR S = 1 TO 7
120 FW = 49152 + 256 * S
130 IF PEEK (FW + 5) = 56 AND PEEK (FW + 7) = 24 AND PEEK (FW + 12) = 49 THEN SC = S : PRINT "FOUND SERIAL CARD: SLOT #";S
150 NEXT
160 IF SC < > 0 THEN POKE 768,SC * 16: RETURN
REM NOTHING FOUND. LOW BUZZ TO SIGNIFY CONFIG NEEDED
200 FOR S = 1 TO 100 : SP = PEEK (49200): NEXT
210 POP : PRINT CHR$ (4);"RUN CONFIG"
220 END
REM LOAD PIDRIVE AND APPLY FIXUPS
300 PRINT CHR$ (4);"BLOAD PIDRIVE"
310 VE = 816 : FX = VE + 4 : SI = PEEK(768) : SN = SI / 8
REM CHECK IF PRODOS DEVICE VECTOR SET
320 IF PEEK(48913 + SN) = 222 THEN POKE 48912 + SN, PEEK(VE) : POKE 48913 + SN, PEEK (VE + 1)
330 IF PEEK(48929 + SN) = 222 THEN POKE 48928 + SN, PEEK(VE) : POKE 48929 + SN, PEEK (VE + 1)
335 PRINT "PIDRIVE CONNECTED ON SLOT #"; SN / 2
REM INSERT CLOCK DRIVER
340 POKE 48903 + SN, PEEK (VE + 2) : POKE 48904 + SN, PEEK (VE + 3)
345 PRINT "PICLOCK CONNECTED"
REM RUN THROUGH FIXUP TABLE
350 AA = PEEK (FX) + PEEK (FX + 1) * 256 : FX = FX + 2
360 IF AA = 0 THEN RETURN
370 POKE AA, PEEK (AA) + SI
380 GOTO 350
]