diff --git a/src/imsrc/free.way b/src/imsrc/free.way index f94427e4..7ffdd76c 100644 --- a/src/imsrc/free.way +++ b/src/imsrc/free.way @@ -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 &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