From 88bb2adcf6ff120135b58f6d4882596ba7ca9884 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 12 Jan 2017 18:27:50 -0500 Subject: [PATCH 1/5] glados: fix typo in comment --- glados3.3/portal.bas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glados3.3/portal.bas b/glados3.3/portal.bas index 8a7ef6f9..10f9087c 100644 --- a/glados3.3/portal.bas +++ b/glados3.3/portal.bas @@ -30,7 +30,7 @@ 6 FOR L=770 TO 804:READ V:POKE L,V:NEXT L ' ' Load Shape Table -' We just *barely* fit above the soud but below DOS vectors +' We just *barely* fit above the sound but below DOS vectors 8 POKE 232,38:POKE 233,3 9 PRINT D$;"BLOAD OBJECTS.SHAPE,A$326" ' From d1b6a2558d2740538b52dff8c2325093efa8eeff Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 12 Jan 2017 20:16:55 -0500 Subject: [PATCH 2/5] glados: add some mouse/joystick test code --- glados3.3/Makefile | 11 ++++++++++- glados3.3/joystick_test.bas | 2 ++ glados3.3/mouse_test.bas | 15 +++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 glados3.3/joystick_test.bas create mode 100644 glados3.3/mouse_test.bas diff --git a/glados3.3/Makefile b/glados3.3/Makefile index 747ad651..34ea0045 100644 --- a/glados3.3/Makefile +++ b/glados3.3/Makefile @@ -17,6 +17,12 @@ PORTAL.BAS: portal.bas STILL_ALIVE.BAS: still_alive.bas $(TXT2BAS) < still_alive.bas > STILL_ALIVE.BAS +JOYSTICK_TEST.BAS: joystick_test.bas + $(TXT2BAS) < joystick_test.bas > JOYSTICK_TEST.BAS + +MOUSE_TEST.BAS: mouse_test.bas + $(TXT2BAS) < mouse_test.bas > MOUSE_TEST.BAS + shape_test.bas: objects.shape $(SHAPETABLE) < objects.shape > shape_test.bas @@ -31,7 +37,8 @@ SOUND_TEST.BAS: sound_test.bas $(TXT2BAS) < sound_test.bas > SOUND_TEST.BAS glados33.dsk: STILL_ALIVE.BAS OBJECTS.SHAPE SHAPE_TEST.BAS SOUND_TEST.BAS \ - PORTAL.BAS CUBE.BAS PORTAL_TITLE.HGR GLADOS.HGR + PORTAL.BAS CUBE.BAS PORTAL_TITLE.HGR GLADOS.HGR MOUSE_TEST.BAS \ + JOYSTICK_TEST.BAS $(DOS33) -y glados33.dsk SAVE A STILL_ALIVE.BAS $(DOS33) -y glados33.dsk SAVE B OBJECTS.SHAPE $(DOS33) -y glados33.dsk SAVE B PORTAL_TITLE.HGR @@ -40,6 +47,8 @@ glados33.dsk: STILL_ALIVE.BAS OBJECTS.SHAPE SHAPE_TEST.BAS SOUND_TEST.BAS \ $(DOS33) -y glados33.dsk SAVE A SOUND_TEST.BAS $(DOS33) -y glados33.dsk SAVE A PORTAL.BAS $(DOS33) -y glados33.dsk SAVE A CUBE.BAS + $(DOS33) -y glados33.dsk SAVE A MOUSE_TEST.BAS + $(DOS33) -y glados33.dsk SAVE A JOYSTICK_TEST.BAS clean: rm -f *~ *.BAS *.SHAPE sound_test.bas shape_test.bas *.lst diff --git a/glados3.3/joystick_test.bas b/glados3.3/joystick_test.bas new file mode 100644 index 00000000..cd132250 --- /dev/null +++ b/glados3.3/joystick_test.bas @@ -0,0 +1,2 @@ +10 PRINT PDL(0),PDL(1):GOTO 10 + diff --git a/glados3.3/mouse_test.bas b/glados3.3/mouse_test.bas new file mode 100644 index 00000000..9cd6a304 --- /dev/null +++ b/glados3.3/mouse_test.bas @@ -0,0 +1,15 @@ +' Cheat and assume the mouse card is in slot #4 +' (which is where it is on the Apple IIc) +' This means no Mockingboard support under Linapple +' +20 IF PEEK(50188) = 32 AND PEEK(50427) = 214 THEN GOTO 30 +25 PRINT "NO MOUSE IN SLOT #4":END +30 PRINT "MOUSE FOND SLOT #4" +' Enable the mouse +100 PRINT CHR$(4)"PR#4":PRINT CHR$(1) +105 PRINT CHR$(4)"IN#4":INPUT "";X,Y,S +110 PRINT X,Y,S +120 PRINT CHR$(4)"IN#0" +130 GOTO 105 + + From 271e5421cc129886f69242c23081c4372e8e5e18 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 12 Jan 2017 20:43:18 -0500 Subject: [PATCH 3/5] glados: joystick test code works --- glados3.3/joystick_test.bas | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/glados3.3/joystick_test.bas b/glados3.3/joystick_test.bas index cd132250..00c60c5e 100644 --- a/glados3.3/joystick_test.bas +++ b/glados3.3/joystick_test.bas @@ -1,2 +1,28 @@ -10 PRINT PDL(0),PDL(1):GOTO 10 +1 HOME:HGR:D$=CHR$(4):ROT=0:SCALE=2 +8 POKE 232,38:POKE 233,3 +9 PRINT D$;"BLOAD OBJECTS.SHAPE,A$326" +100 X=140:Y=80:D0=0:D1=0:O0=0:O1=0 +105 XDRAW 1 AT X,Y +110 OX=X:OY=Y:O0=D0:O1=D1 +115 Q=PDL(0):R=PDL(1) +120 IF Q > 160 THEN X=X+4 +122 IF Q > 220 THEN X=X+24 +125 IF Q < 96 THEN X=X-4 +127 IF Q < 36 THEN X=X-24 +130 IF R > 160 THEN Y=Y+4 +132 IF R>220 THEN Y=Y+24 +135 IF R < 96 THEN Y=Y-4 +137 IF R < 36 THEN Y=Y-24 +200 IF X<10 THEN X=10 +210 IF X>270 THEN X=270 +220 IF Y<10 THEN Y=10 +230 IF Y>150 THEN Y=150 +232 D0=PEEK(-16286) +232 D1=PEEK(-16287) +233 IF D0>127 AND O0<127 THEN XDRAW 6 AT X,Y +234 IF D1>127 AND O1<127 THEN XDRAW 7 AT X,Y +235 IF X=OX AND Y=OY GOTO 110 +237 XDRAW 1 AT OX,OY +240 XDRAW 1 AT X,Y +250 GOTO 110 From f4754464653da544e8566fa19dbe01e67b81f256 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 12 Jan 2017 21:02:05 -0500 Subject: [PATCH 4/5] glados: add joystick support really kills the frame rate though --- glados3.3/glados33.dsk | Bin 143360 -> 143360 bytes glados3.3/portal.bas | 29 ++++++++++++++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/glados3.3/glados33.dsk b/glados3.3/glados33.dsk index 3eceeb6304643db750ccda4f23e229b7a28e626e..c6ee12b59c49c2784ffa5f3be54104b8e22389d5 100644 GIT binary patch delta 8731 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 THEN GET A$:GOTO 13 12 I=I+1:IF I<500 GOTO 11 -13 HGR:PR=0:LR=0 +13 HGR:PR=0:LR=0:JS=0 ' '14 L=19:PR=1:LR=1 14 L=1 @@ -74,8 +75,9 @@ ' ' Check keyboard ' -37 IF PEEK(-16384)<128 THEN GOTO 100 +37 IF PEEK(-16384)<128 THEN GOTO 64 40 GET A$ +41 IF A$="1" THEN JS=1-JS 42 IF A$="I" AND SY>4 THEN SY=SY-4 44 IF A$="J" AND SX>4 THEN SX=SX-4 45 IF A$="U" AND SX>24 THEN SX=SX-24 @@ -92,6 +94,22 @@ 60 IF A$="," THEN GOSUB 6000 62 IF A$="." THEN GOSUB 6100 63 IF A$=";" THEN PR=1-PR +64 IF JS=0 THEN GOTO 100 +' JOYSTICK CODE +70 Q=PDL(0):R=PDL(1) +71 O0=D0:O1=D1 +72 IF Q > 160 THEN SX=SX+4 +74 IF Q > 220 THEN SX=SX+24 +76 IF Q < 96 THEN SX=SX-4 +78 IF Q < 36 THEN SX=SX-24 +80 IF R > 160 THEN SY=SY+4 +82 IF R>220 THEN SY=SY+24 +84 IF R < 96 THEN SY=SY-4 +86 IF R < 36 THEN SY=SY-24 +88 D0=PEEK(-16287) +90 D1=PEEK(-16286) +92 IF D0>127 AND O0<127 THEN GOSUB 6000 +94 IF D1>127 AND O1<127 THEN GOSUB 6100 ' ' PHYSICS ENGINE ' @@ -274,12 +292,13 @@ 5030 PRINT " CHELL PORTAL GUN" 5035 PRINT " ~~~~~~~~~~~~~ ~~~~~~~~~~~~~" 5040 PRINT " A = MOVE LEFT I = UP" -5045 PRINT " D = MOVE RIGHT J = LEFT" -5050 PRINT " SPACE = JUMP K = RIGHT" +5045 PRINT " D = MOVE RIGHT J,U = LEFT" +5050 PRINT " SPACE = JUMP K,O = RIGHT" 5055 HTAB 24:PRINT "M = DOWN" 5060 HTAB 24:PRINT ", = SHOOT BLUE" 5065 HTAB 24:PRINT ". = SHOOT ORANGE" 5070 PRINT " Q = QUIT ; = ROTATE PORTAL" +5080 PRINT " 1 = ENABLE JOYSTICK" 5100 PRINT:GET A$ ' return to hires 5110 POKE -16304,0 @@ -338,7 +357,7 @@ 8011 HTAB 20:VTAB 21 8012 IF R=0 THEN PRINT "Firing. " 8013 IF R=1 THEN PRINT "There you are. " -8014 IF R=2 THEN PRINT "I see you. " +8014 IF R=2 THEN PRINT "I see you. " 8015 RETURN ' ' Level Transition From e19783aafa738ad64825cde81b4ecec2105817d5 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 12 Jan 2017 21:18:10 -0500 Subject: [PATCH 5/5] glados: mouse test code now works, thanks to inexorabletash on c.s.a2.p --- glados3.3/mouse_test.bas | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/glados3.3/mouse_test.bas b/glados3.3/mouse_test.bas index 9cd6a304..bf3fccc1 100644 --- a/glados3.3/mouse_test.bas +++ b/glados3.3/mouse_test.bas @@ -6,10 +6,10 @@ 25 PRINT "NO MOUSE IN SLOT #4":END 30 PRINT "MOUSE FOND SLOT #4" ' Enable the mouse -100 PRINT CHR$(4)"PR#4":PRINT CHR$(1) -105 PRINT CHR$(4)"IN#4":INPUT "";X,Y,S -110 PRINT X,Y,S -120 PRINT CHR$(4)"IN#0" +100 PRINT CHR$(4)"PR#4":PRINT CHR$(1):PRINT CHR$(4)"PR#0" +105 PRINT CHR$(4)"IN#4":INPUT "";X,Y,B:PRINT CHR$(4)"IN#0" +' X,Y,Button state (1 button) 4=up, 2=pressed, 1=down, 3=release +110 PRINT X,Y,B 130 GOTO 105