Merge branch 'master' of git://github.com/deater/dos33fsprogs

This commit is contained in:
Vince Weaver 2017-01-13 10:32:36 -05:00
commit 4ff7df1a55
5 changed files with 78 additions and 7 deletions

View File

@ -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

Binary file not shown.

View File

@ -0,0 +1,28 @@
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

15
glados3.3/mouse_test.bas Normal file
View File

@ -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):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

View File

@ -19,6 +19,7 @@
' UX,UY = old object X,Y
' ZY,PY=Laser Y ZX,PX = Laser Begin/End
' T = TIME L = Current Level
' JS = Joystick Enabled
'
' Title Screen
'
@ -30,7 +31,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"
'
@ -39,7 +40,7 @@
10 I=0:VTAB 24:PRINT "H FOR HELP";
11 IF PEEK(-16384)>=128 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