INTEGER XPOSA0(10) INTEGER YPOSA0(10) INTEGER BEARI0(10) INTEGER WARPA0(10) INTEGER PHASE0(10) INTEGER TORPE0(10) INTEGER RESER0(10) INTEGER RESEA0(10) INTEGER SHIEL0(10) INTEGER KILLS0(10) INTEGER LOCKE0(10) INTEGER MSGQU0(10) INTEGER NAMEA0(21,10) INTEGER HEADP0(1) INTEGER TAILP0(1) INTEGER LINKA0(1) INTEGER MSGPT0(1) INTEGER REFCO0(1) INTEGER MSGTE0(1) INTEGER MEMAA0(10000) COMMON /MULCOM/XPOSA0,YPOSA0,BEARI0,WARPA0,PHASE0,TORPE0,RESER0,RE *SEA0,SHIEL0,KILLS0,LOCKE0,MSGQU0,NAMEA0,MEMAA0 INTEGER PHANT0 INTEGER PHANU0 INTEGER PLAYER INTEGER ECHAR INTEGER KCHAR INTEGER CURSOR INTEGER COMMA0(102) INTEGER PHCON0 INTEGER PHALLY INTEGER PHTUR0 INTEGER PHVIC0 INTEGER PHCHE0 INTEGER PHTASK INTEGER DBLOCK COMMON /PRIVA0/PHANT0,PHANU0,PLAYER,ECHAR,KCHAR,CURSOR,COMMA0,PHCO *N0,PHALLY,PHTUR0,PHVIC0,PHCHE0,PHTASK,DBLOCK INTEGER CODE INTEGER I,J EQUIVALENCE (HEADP0,MEMAA0(1)) EQUIVALENCE (TAILP0,MEMAA0(2)) EQUIVALENCE (LINKA0,MEMAA0(1)) EQUIVALENCE (MSGPT0,MEMAA0(2)) EQUIVALENCE (REFCO0,MEMAA0(1)) EQUIVALENCE (MSGTE0,MEMAA0(2)) DO 10000 I=1,10 SHIEL0(I)=-1 PHASE0(I)=0 TORPE0(I)=0 RESER0(I)=0 RESEA0(I)=0 WARPA0(I)=0 BEARI0(I)=0 XPOSA0(I)=0 YPOSA0(I)=0 KILLS0(I)=0 LOCKE0(I)=0 MSGQU0(I)=0 NAMEA0(1,I)=0 10000 CONTINUE 10001 CALL DSINIT(10000) CALL SWT END SUBROUTINE DSINIT(W) INTEGER W INTEGER XPOSA0(10) INTEGER YPOSA0(10) INTEGER BEARI0(10) INTEGER WARPA0(10) INTEGER PHASE0(10) INTEGER TORPE0(10) INTEGER RESER0(10) INTEGER RESEA0(10) INTEGER SHIEL0(10) INTEGER KILLS0(10) INTEGER LOCKE0(10) INTEGER MSGQU0(10) INTEGER NAMEA0(21,10) INTEGER HEADP0(1) INTEGER TAILP0(1) INTEGER LINKA0(1) INTEGER MSGPT0(1) INTEGER REFCO0(1) INTEGER MSGTE0(1) INTEGER MEMAA0(10000) COMMON /MULCOM/XPOSA0,YPOSA0,BEARI0,WARPA0,PHASE0,TORPE0,RESER0,RE *SEA0,SHIEL0,KILLS0,LOCKE0,MSGQU0,NAMEA0,MEMAA0 INTEGER PHANT0 INTEGER PHANU0 INTEGER PLAYER INTEGER ECHAR INTEGER KCHAR INTEGER CURSOR INTEGER COMMA0(102) INTEGER PHCON0 INTEGER PHALLY INTEGER PHTUR0 INTEGER PHVIC0 INTEGER PHCHE0 INTEGER PHTASK INTEGER DBLOCK COMMON /PRIVA0/PHANT0,PHANU0,PLAYER,ECHAR,KCHAR,CURSOR,COMMA0,PHCO *N0,PHALLY,PHTUR0,PHVIC0,PHCHE0,PHTASK,DBLOCK INTEGER T EQUIVALENCE (HEADP0,MEMAA0(1)) EQUIVALENCE (TAILP0,MEMAA0(2)) EQUIVALENCE (LINKA0,MEMAA0(1)) EQUIVALENCE (MSGPT0,MEMAA0(2)) EQUIVALENCE (REFCO0,MEMAA0(1)) EQUIVALENCE (MSGTE0,MEMAA0(2)) IF((W.GE.2*2+2))GOTO 10002 CALL ERROR('in dsinit: unreasonably small memory size.') 10002 T=2 MEMAA0(T+1)=0 MEMAA0(T+0)=2+2 T=2+2 MEMAA0(T+1)=W-2-1 MEMAA0(T+0)=0 MEMAA0(1)=W RETURN END C ---- Long Name Map ---- C phturnsleft phtur0 C phvictim phvic0 C Bearing beari0 C phantomstate phant0 C Link linka0 C Msgtext msgte0 C Refcount refco0 C Headptr headp0 C Warp warpa0 C Msgqueue msgqu0 C Shields shiel0 C Torpedos torpe0 C private priva0 C Mem memaa0 C Locked locke0 C Msgptr msgpt0 C Phasers phase0 C Research resea0 C phcheck phche0 C Kills kills0 C Xpos xposa0 C phcontrolled phcon0 C Ypos yposa0 C Reserve reser0 C Name namea0 C phantomflag phanu0 C command comma0 C Tailptr tailp0