-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #33 from markadev/configurator
Check in the menu-based configuration program
- Loading branch information
Showing
4 changed files
with
138 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,9 @@ | ||
*.bin | ||
*.jar | ||
*.kicad_prl | ||
*.o | ||
.vscode | ||
AppleIIVGA-Config.dsk | ||
build | ||
fp-info-cache | ||
/.vs |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Download AppleCommander from https://applecommander.github.io/install/ | ||
AC ?= java -jar AppleCommander-ac-1.9.0.jar | ||
|
||
BASIC_SRCS = STARTUP.bas | ||
|
||
AppleIIVGA-Config.dsk: STARTUP.bas | ||
cp DOS_3.3_boot.dsk $@~ | ||
$(AC) -d $@~ STARTUP | ||
$(AC) -bas $@~ STARTUP < STARTUP.bas | ||
mv $@~ $@ | ||
|
||
clean: | ||
rm -f AppleIIVGA-Config.dsk *~ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
5 TEXT : GOSUB 1450: VTAB 13: HTAB 8 | ||
10 D$ = CHR$ (4):SLOT = 0 | ||
20 REM '''GET SLOT NUMBER | ||
30 GOSUB 1450 | ||
40 VTAB 21: GOSUB 1400: INPUT "APPLE II VGA CARD SLOT (1-7): ";SLOT | ||
50 IF SLOT < 1 THEN GOTO 1500 | ||
60 IF SLOT > 7 THEN GOTO 1500 | ||
70 BASEADDR = 49280 + 16 * SLOT | ||
100 REM '''MAIN MENU | ||
110 GOSUB 1450 | ||
120 VTAB 7: GOSUB 1400: PRINT "" | ||
130 PRINT "1 SCANLINES ON 2 SCANLINES OFF" | ||
140 PRINT "3 MONOCHROME ON 4 MONOCHROME OFF" | ||
150 PRINT "5 MONOCHROME CFG 6 CHARSET CFG" | ||
170 PRINT "7 COLOR PATTERNS": PRINT "" | ||
180 PRINT "11 ABOUT": PRINT "12 LOAD DEFAULT CONFIG" | ||
180 PRINT "13 QUIT W/OUT SAVING": PRINT"14 SAVE AND QUIT": PRINT "" | ||
190 VTAB 22: GOSUB 1400: INPUT "PLEASE ENTER YOUR SELECTION: ";CH | ||
200 IF CH < 1 THEN GOSUB 1550 | ||
210 IF CH = 1 THEN GOSUB 500 | ||
220 IF CH = 2 THEN GOSUB 550 | ||
230 IF CH = 3 THEN GOSUB 600 | ||
240 IF CH = 4 THEN GOSUB 650 | ||
250 IF CH = 5 THEN GOSUB 2000 | ||
260 IF CH = 6 THEN GOSUB 3000 | ||
270 IF CH = 7 THEN GOSUB 700 | ||
280 IF CH = 8 THEN GOSUB 1550 | ||
290 IF CH = 9 THEN GOSUB 1550 | ||
300 IF CH = 10 THEN GOSUB 1550 | ||
310 IF CH = 11 THEN GOSUB 1650 | ||
320 IF CH = 12 THEN GOSUB 800 | ||
330 IF CH = 13 THEN GOTO 4050 | ||
340 IF CH = 14 THEN GOTO 4000 | ||
350 IF CH > 14 THEN GOSUB 1550 | ||
360 GOTO 100 | ||
500 REM '''SCANLINES ON | ||
510 POKE BASEADDR + 0,1: RETURN | ||
550 REM '''SCANLINES OFF | ||
560 POKE BASEADDR + 0,2: RETURN | ||
600 REM '''MONOCHROME ON | ||
610 POKE 49185,128: RETURN | ||
650 REM '''MONOCHROME OFF | ||
660 POKE 49185,0: RETURN | ||
700 REM '''COLOR PATTERN | ||
710 GR : HOME | ||
720 FOR I = 0 TO 31: COLOR= I / 2: VLIN 0,39 AT I: NEXT I: FOR I = 0 TO 14 STEP 2: PRINT TAB( I * 2 + 1);I;: NEXT I: PRINT : FOR I = 1 TO 15 STEP 2: PRINT TAB( I * 2 + 1);I;: NEXT I | ||
730 PRINT "": GET A$: TEXT : RETURN | ||
800 REM '''LOAD DEFAULT CONFIGURATION | ||
810 POKE BASEADDR + 4,1: RETURN | ||
1400 REM STRING ROUTINES | ||
1410 PRINT "---------------------------------------": RETURN | ||
1450 HOME : PRINT "APPLE II VGA": GOSUB 1400: PRINT "COPYRIGHT (C) 2021-2023 MARK AIKENS": PRINT "COPYRIGHT (C) 2022-2023 DAVID KUDER": RETURN | ||
1500 REM '''ERROR HANDLING ROUTINES | ||
1510 GOSUB 1450: VTAB 13: HTAB 13: PRINT "[INVALID SLOT]" | ||
1520 GOSUB 1600: GOTO 20 | ||
1550 GOSUB 1450: VTAB 13: HTAB 11: PRINT "[INVALID OPTION]" | ||
1560 GOSUB 1600: RETURN | ||
1600 FOR I = 1 TO 1000: NEXT I: RETURN | ||
1650 GOSUB 1450: PRINT "": PRINT "": PRINT "THIS PROJECT IS A VGA CARD FOR APPLE II": PRINT "COMPUTERS TO OUPUT A CRISP RGB SIGNAL": PRINT "TO A VGA MONITOR INSTEAD OF HAVING TO": PRINT "RELY ON THE COMPOSITE OUTPUT. THIS IS" | ||
1660 PRINT "ACCOMPLISHED BY SNOOPING THE 6502 BUS": PRINT "AND CREATING A SHADOW COPY OF THE VIDEO": PRINT "MEMORY WITHIN A RASPBERRY PI PICO, THEN": PRINT "PROCESSING THE VIDEO MEMORY CONTENTS TO" | ||
1670 PRINT "OUTPUT A 'PERFECT' SIGNAL.": PRINT "": PRINT "": HTAB 6: PRINT "[MORE DETAILS AVAILABLE AT]": PRINT "HTTPS://GITHUB.COM/MARKADEV/APPLEII-VGA" | ||
1680 VTAB 21: GOSUB 1400: PRINT "PRESS ANY KEY TO CONTINUE...": GET A$ | ||
1690 RETURN | ||
2000 REM '''MONOCHROME CONFIG MENU | ||
2010 HOME: PRINT "MONOCHROME CONFIGURATION OPTIONS": GOSUB 1400: PRINT "" | ||
2020 PRINT "FOREGROUND COLOR" | ||
2030 PRINT " 1 WHITE": PRINT " 2 GREEN": PRINT " 3 AMBER": PRINT "" | ||
2040 PRINT "BACKGROUND COLOR" | ||
2050 PRINT " 4 BLACK": PRINT " 5 GREEN": PRINT " 6 AMBER": PRINT "" | ||
2060 VTAB 20: PRINT "7 RETURN TO MAIN MENU" | ||
2100 VTAB 22: GOSUB 1400: INPUT "PLEASE ENTER YOUR SELECTION: ";CI | ||
2110 IF CI < 1 THEN GOSUB 1550 | ||
2120 IF CI = 1 THEN GOSUB 2300 | ||
2130 IF CI = 2 THEN GOSUB 2350 | ||
2140 IF CI = 3 THEN GOSUB 2400 | ||
2150 IF CI = 4 THEN GOSUB 2500 | ||
2160 IF CI = 5 THEN GOSUB 2550 | ||
2170 IF CI = 6 THEN GOSUB 2600 | ||
2180 IF CI = 7 THEN RETURN | ||
2190 IF CI > 7 THEN GOSUB 1550 | ||
2200 GOTO 2000 | ||
2300 REM '''MONOCHROME FOREGROUND WHITE | ||
2310 POKE BASEADDR + 1,1: RETURN | ||
2350 REM '''MONOCHROME FOREGROUND GREEN | ||
2360 POKE BASEADDR + 1,2: RETURN | ||
2400 REM '''MONOCHROME FOREGROUND AMBER | ||
2410 POKE BASEADDR + 1,3: RETURN | ||
2500 REM '''MONOCHROME BACKGROUND BLACK | ||
2510 POKE BASEADDR + 1,16: RETURN | ||
2550 REM '''MONOCHROME BACKGROUND GREEN | ||
2560 POKE BASEADDR + 1,32: RETURN | ||
2600 REM '''MONOCHROME BACKGROUND AMBER | ||
2610 POKE BASEADDR + 1,48: RETURN | ||
3000 REM '''CHARSET CONFIG MENU | ||
3010 HOME: PRINT "CHARSET CONFIGURATION OPTIONS": GOSUB 1400: PRINT "" | ||
3020 PRINT "1 CHARACTER SET VIEWER" | ||
3030 PRINT "2 LOAD A BUILT-IN CHARSET" | ||
3070 VTAB 20: PRINT "7 RETURN TO MAIN MENU" | ||
3080 VTAB 22: GOSUB 1400: INPUT "PLEASE ENTER YOUR SELECTION: ";CI | ||
3110 IF CI = 1 THEN GOSUB 3300 | ||
3120 IF CI = 2 THEN GOSUB 3400 | ||
3170 IF CI = 7 THEN RETURN | ||
3180 GOTO 3000 | ||
3300 REM '''CHARACTER SET VIEWER | ||
3310 HOME | ||
3320 FOR R = 0 TO 7 | ||
3330 FOR C = 0 TO 31 | ||
3340 POKE R * 128 + 1024 + C,R * 32 + C | ||
3350 NEXT C,R | ||
3360 VTAB 21: GOSUB 1400: PRINT "PRESS ANY KEY TO CONTINUE...": GET A$ | ||
3370 RETURN | ||
3400 REM '''LOAD A BUILT-IN CHARSET | ||
3410 HOME : INPUT "ENTER CHARSET (0-15): ";CS | ||
3420 IF CS < 0 THEN RETURN | ||
3420 IF CS > 15 THEN RETURN | ||
3430 POKE BASEADDR + 4,16+CS: RETURN | ||
4000 REM '''SAVE AND EXIT | ||
4010 POKE BASEADDR + 4,2 | ||
4020 FOR I = 1 TO 500: NEXT I | ||
4030 HOME : PRINT "YOUR SETTINGS WERE SAVED TO FLASH": GOTO 4100 | ||
4050 REM ''' EXIT W/OUT SAVING | ||
4060 HOME : PRINT "YOUR SETTINGS WERE NOT SAVED TO FLASH": PRINT "BUT WILL REMAIN ACTIVE UNTIL THE NEXT": PRINT "POWER CYCLE" | ||
4100 REM '''END |