mirror of
https://github.com/PDP-10/its.git
synced 2026-03-25 17:58:40 +00:00
Overlay Freeway Crossing and exit back to SSV.
Put the game code at address 10000 to avoid clobbering SSV. ^Z exits back to timesharing.
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
TITLE FREEWAY CROSSING PROGRAM
|
||||
IFNDEF BEGIN, BEGIN=10000
|
||||
.INSRT IMLAC;IMDEFS
|
||||
LOC 100
|
||||
.ADDR.=1
|
||||
LOC BEGIN
|
||||
JMS INPUT ;MAIN PROGRAM
|
||||
JMS START1 ;START UP BY INITIALIZING
|
||||
LOOP1: JMS KEYS ;CHECK AND ACT ON KEYBOARD
|
||||
@@ -24,13 +26,13 @@ LOOP2: JMS POS ;MODIFY CAR POSITIONS
|
||||
JMS EXEC ;EXECUTE DISPLAY
|
||||
JMP LOOP2 ;END OF MAIN PROGRAM,LOOP
|
||||
POS: 0 ;GET NEW CAR POSITIONS
|
||||
LAW CARTAB ;INDEXING
|
||||
LAC [CARTAB] ;INDEXING
|
||||
DAC NCARTAB' ;FOR CAR TABLE
|
||||
LAW RVEL ;INDEXING
|
||||
LAC [RVEL] ;INDEXING
|
||||
DAC NRVEL' ;FOR RANDOM VELOCITY
|
||||
LAW VEL ;INDEXING
|
||||
LAC [VEL] ;INDEXING
|
||||
DAC NVEL' ;FOR VELOCITIES
|
||||
LAW POSIT
|
||||
LAC [POSIT]
|
||||
DAC NPOSIT' ;FOR CURRENT POSITIONS
|
||||
LWC 6 ;LOOP SIX TIMES
|
||||
DAC CTR'
|
||||
@@ -147,6 +149,9 @@ KEYS: 0 ;KEYBOARD READ ROUTINE
|
||||
|
||||
CLA
|
||||
KRC
|
||||
SAM [1372] ;CONTROL-Z
|
||||
JMP .+2
|
||||
I JMP [101] ;BACK TO SSV
|
||||
AND [177]
|
||||
SAM [2] ;TRANSMIT
|
||||
JMP K2
|
||||
@@ -221,7 +226,7 @@ INPUT: 0 ;INPUT VELOCITIES, ETC.
|
||||
ASN ;IF MISTAKE AND SET TO 0, SET TO 1
|
||||
COA
|
||||
DAC SUBVEL' ;STORE VELOCITY
|
||||
LAW TAB1
|
||||
LAC [TAB1]
|
||||
ADD SUBVEL'
|
||||
DAC VADR'
|
||||
I LAC VADR'
|
||||
@@ -277,11 +282,11 @@ INCAR: LAC [B] ;INITIALIZE OUTPUT BUFFER
|
||||
SUB NK2'
|
||||
JMS OUTPUT ;OUTPUT SCORMX
|
||||
HLT ;INPUT CAR SPEEDS
|
||||
LAW CARTAB ;INDEXING
|
||||
LAC [CARTAB] ;INDEXING
|
||||
DAC NCARTAB' ;FOR CAR CALLS
|
||||
LAW RVEL
|
||||
LAC [RVEL]
|
||||
DAC NRVEL' ;FOR RANDOM VELOCITIES
|
||||
LAW VEL
|
||||
LAC [VEL]
|
||||
DAC NVEL' ;FOR VELOCITIES
|
||||
LWC 6
|
||||
DAC CTR' ;LOOP SIX TIMES
|
||||
@@ -347,7 +352,7 @@ SCORMD: 0 ;ROUTINE TO MODIFY SCORE
|
||||
DAC NSCORE'
|
||||
CLA ;NOW PUT IN DISPLAY
|
||||
DAC BLANK' ;BLANK INDICATOR
|
||||
LAW NUM1
|
||||
LAC [NUM1]
|
||||
DAC NNUM1'
|
||||
LAW 12
|
||||
DAC SDIV
|
||||
@@ -402,9 +407,10 @@ START1: 0 ;ALTERNATE START LOCATION
|
||||
CLA
|
||||
DAC OTC'
|
||||
START4: LAC PERMSET'
|
||||
IOF
|
||||
ASZ
|
||||
JMP START3
|
||||
LAW TAB
|
||||
LAC [TAB]
|
||||
DAC VADR'
|
||||
LAC TAB
|
||||
DAC DIGIT
|
||||
@@ -464,9 +470,9 @@ ENDD: 0 ;DID THE SUBJECT MAKE IT?
|
||||
CRASH: 0 ;ROUTINE TO CHECK FOR CRASH
|
||||
KSN
|
||||
KRC ;CLEAR KEYBOARD
|
||||
LAW POSIT ;INDEXING
|
||||
LAC [POSIT] ;INDEXING
|
||||
DAC NPOSIT' ;FOR POSITIONS
|
||||
LAW VEL
|
||||
LAC [VEL]
|
||||
DAC NVEL'
|
||||
LWC 6
|
||||
DAC CTR' ;LOOP COUNTER
|
||||
@@ -517,6 +523,9 @@ CRASH1: KSN ;CHECK KEYBOARD
|
||||
JMP CRASH1
|
||||
CLA
|
||||
KRC
|
||||
SAM [1372] ;CONTROL-Z
|
||||
JMP .+2
|
||||
I JMP [101] ;BACK TO SSV
|
||||
AND [177]
|
||||
SAM [2] ;CHECK FOR XMIT
|
||||
JMP CRASH1 ;IF NOT LOOP
|
||||
@@ -814,7 +823,7 @@ EXEC: 0 ;EXECUTE ONE DISPLAY CYCLE
|
||||
LDA ;LOAD DATA SWITCHES
|
||||
ASM ;SKIP IF BIT 0 ON
|
||||
HLT ;OTHERWISE STOP
|
||||
LAW DIS ;GET DISPLAY ADDRESS
|
||||
LAC [DIS] ;GET DISPLAY ADDRESS
|
||||
DLA
|
||||
DON ;RUN DISPLAY
|
||||
I JMP EXEC ;RETURN
|
||||
@@ -1151,6 +1160,7 @@ REST: DNOP ;DISPLAY WAIT ROUTINE
|
||||
DNOP
|
||||
DRJM ;RETURN
|
||||
DIS: DHVC ;START OF DISPLAY
|
||||
DADR
|
||||
DSTS 1
|
||||
DLXA 1400 ;DRAW HIGHWAY
|
||||
DLYA 4600
|
||||
@@ -1490,7 +1500,7 @@ CRUNC0: DNOP
|
||||
DLYA 4000
|
||||
DHLT
|
||||
L: ..ZZ=. ;LITERALS GO HERE
|
||||
LOC 3000
|
||||
LOC <BEGIN+3000>&77000
|
||||
ISZ OTA' ;MODULE TO PRINT OUTPUT BUFFER--START HERE
|
||||
LAC [B]
|
||||
DAC OTB' ;UNPACK COUNTER
|
||||
@@ -1519,4 +1529,4 @@ B: 0 ;PRINT BUFFER
|
||||
LOC ..ZZ
|
||||
CONSTANTS ;LITERALS
|
||||
VARIABLES
|
||||
END
|
||||
END BEGIN+1
|
||||
|
||||
Reference in New Issue
Block a user