.TITLE INPAST .IDENT /V01/ ; ; THIS IS AN UNSOLICITED INPUT AST ROUTINE ENTERED WHENEVER ; A CHARACTER IS INPUT ON THE VT100 KEYBOARD. IT MAPS THE INPUT ; CHARACTER INTO A DIRECTION INDICATOR VIA THE 'MOTION' ; TRANSLATION TABLE. THE DIRECTIONS ARE 0=HALT, 1=UP, ; 2=DOWN, 4=LEFT, 8=RIGHT, 9=UP-RIGHT, 10=UP-LEFT, 11=DOWN-RIGHT, ; AND 12=DOWN-LEFT. IT ALSO MAPS A 'FIRE MISSILE' CHARACTER ; INTO A FIRING INDICATOR. ANY ALPHABETIC CHARACTER OR THE SPACE BAR ; WILL GENERATE A FIRING INDICATOR. THE FIRE INDICATOR IS A 5. ; .PSECT DIRCOM,D,GBL,OVR DIRCOD: .BLKW 1 FIRCOD: .BLKW 1 .PSECT $CODE1 .MCALL ASTX$S INPAST::MOV R1,SAVE MOV (SP)+,R1 MOVB MOTION(R1),R1 CMP R1,#5 BEQ 10$ MOV R1,DIRCOD MOV SAVE,R1 ASTX$S 10$: MOV R1,FIRCOD MOV SAVE,R1 ASTX$S MOTION: .BYTE 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0,12.,2,11.,4,0,8.,10.,1,9.,0,0,0,0,0,0 .BYTE 0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 .BYTE 5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0 .BYTE 0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 .BYTE 5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0 SAVE: .BLKW 1 .END