apple2pi/client/STARTUP.BAS

66 lines
1.7 KiB
QBasic
Raw Normal View History

2014-02-10 00:37:46 +00:00
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
]