
 .TITLE FNEW
 .GLOBL .NEWF
 .GLOBL XPUSHJ
 .GLOBL UTRA
 .GLOBL XSPNOR
 .GLOBL FUNERR
 .GLOBL EFUN3
 .GLOBL EVAL
 .GLOBL .AX
/
ION=700042
IOF=700002
TLS=700406
TSF=700401
/
.NEWF .NEWFE-.-1/2\777777+1
 .SIXBT 'INT'
 JMP INIT
 .SIXBT 'PLT'
 JMP FPLT
 .SIXBT 'CLS'
 JMP CLOSE
.NEWFE=.
/
INIT IOF     /TURN ON GRAPICS MODE & CLEAR AS SPEC.
 JMS* .AX
 DAC I       /CLEAR FLAGS
 AND (2
 SZA
 JMS CS      /CLEAR SCREEN
 LAC (6      / ^F
 JMS PRNT
 LAC (26     / ^V
 JMS PRNT
 LAC I
 AND (1
 SZA
 JMS CG     /CLEAR ANY GRAPHICS
 ION
 JMP* EFUN3   /RETURN
/
I 0
/
PRNT 0
 TLS
 TSF
 JMP .-1
 JMP* PRNT
/
CS 0       /CLEAR SCREEN
 LAC (24
 JMS PRNT
 JMP* CS
/
CG 0     /CLEAR ANY GRAPHICS DISPLAY
 LAC (10
 JMS PRNT
 JMP* CG
/
CLOSE IOF     /TURN OFF GRAPHICS MODE & CLEAR AS SPEC.
 JMS* .AX
 DAC I
 AND (1
 SZA
 JMS CG
 LAC (7
 JMS PRNT
 LAC I
 AND (2
 SZA
 JMS CS
 ION
 JMP* EFUN3
/
FPLT IOF
 JMS* .AX
 DAC Y       /Y COORDINATE
 AND (77
 XOR (100
 JMS PRNT    /EVEN CHAR.
 LAC Y
 AND (300
 RTR
 RTR
 RTR
 DAC Y      /UPPER BITS OF Y
 JMS NXTARG   /GET CONTROL BITS
 AND (7
 CLL
 RTL
 XOR Y
 XOR (140
 JMS PRNT    /ODD CHAR.
 ION
 JMP* EFUN3
/
Y 0
/
NXTARG 0     /FETCH & FIX NEXT ARG.
 JMS* XSPNOR
 SAD (254
 JMP .+3
 LAW 1
 JMP* FUNERR  /FUNCTION ERROR
 JMS* UTRA
 LAC EVAL
 DAC .+2
 JMS* XPUSHJ
 XX
 JMS* .AX
 JMP* NXTARG
/
 .END
