File: SEED.LS of Disk: V50/Source/Source-Listing-FORTRAN-2
(Source file text) 


RALF V50A   24-JUL-20    PAGE 1

                    FIELD1  SETIDL
            /IDLE RANDOM NUMBER GENERATOR
                    EXTERN  #IDLE
            
00000 1030          JA      #RET
00001 0047  
00002 2305          TEXT    +SETIDL+
00003 2411  
00004 0414  
00005 1100  SXR,    SETX    XR
00006 0014  
00007 1110          SETB    BP
00010 0011  
00011 0000  BP,     F 0.0
00012 0000  
00013 0000  
            XR,     ORG     .+3
00017 0000  EXP,    0
00020 0007  IDLAD,  ADDR    #IDLE-1         / Pointer to idle routine in FRTS
00021 7777  
            POINT,
00022 0000  JOB,    ADDR    DOIT            / Address of routine to run
00023 0117  
                    ORG     XR+10
00024 0100  K0100,  100
00025 0003  K0003,  3
00026 0017  ROTWRD, 0017
                    #LBL=.
                    COMMON  NUMCOM
            NUMBER, ORG     .+3
            
                    COMMON  TXTCOM
            RTEXT,  ORG     .+1147
            LINES,  ORG     .+0044
            ASCVAR, ORG     .+0003
            TXTLOC, ORG     .+0003
            DATA,   ORG     .+0352
                    ORG     #LBL
00027 0000  SEEDPT, ADDR    NUMBER
00030 0000  
00031 0000          0
00032 7777  DATHAK, 7777
00033 0000          ADDR    ASCVAR
00034 1213  
00035 1762  DATABL, 1763-1          / Address of Direct Access table entry 8 in FRTS
00036 0000  COUNT,  0               / Idle loop count
00037 7774  COUNT2, 7774            / Outer counter
00040 7774  RESET,  7774            / Outer counter value
            X4=14                   / Autoindex reg
                    ORG     10*3+BP
00041 0040          FNOP
00042 1030          JA      SXR
00043 0005  
00044 0000          0
00045 1030  RET,    JA      .
00046 0045  
RALF V50A   24-JUL-20    PAGE 1-1

            
                    BASE    0
00047 0006  #RET,   STARTD
00050 0210          FLDA    10*3
00051 6400          FSTA    RET
00052 0045  
00053 1110          SETB    BP
00054 0011  
                    BASE    BP
00055 0005          STARTF
00056 4000          TRAP4   SET8    /GO TO 8 MODE STUFF.
00057 0062  
00060 1030          JA      RET     /DONE. ON IDLE QUEUE.
00061 0045  
            
00062 0000  SET8,   0
            /
            / Horrible hackery. This sets up the FRTS direct access table
            / to allow us to open the ADVENT.DA file without having to
            / rebuild it each time. Open it using USR, and this lets us
            / go use it later. (DEFINE FILE always creates a new one.)
00063 1235          TAD     DATABL
00064 3014          DCAZ    X4
00065 6201  SCDF,   CDF     0
00066 1232          TAD     DATHAK
00067 3614          DCA%    X4
00070 1233          TAD     DATHAK+1
00071 3614          DCA%    X4
00072 1234          TAD     DATHAK+2
00073 3614          DCA%    X4
00074 1304          TAD     CDFIDL
00075 7640          SZA CLA
00076 5315          JMP     SFIELD  /ALREADY DONE
00077 1220          TAD     IDLAD   /FIELD OF IDLE ROUTINE
00100 4373          JMS     MKCDF
00101 3304          DCA     CDFIDL
00102 1221          TAD     IDLAD+1 /ADDRESS OF #IDLE
00103 3014          DCAZ    X4
00104 0000  CDFIDL, 0               /GETS CDF
00105 1317          TAD     SKPINS  /SKP INSTRUCTION
00106 3414          DCAZ%   X4      /STORE AT #IDLE
00107 1223          TAD     JOB+1   /ADDRESS OF IDLE ROUTINE
00110 3414          DCAZ%   X4      /STORE AT #IDLE+1
00111 1222          TAD     JOB
00112 4373          JMS     MKCDF
00113 7001          IAC             / CDF -> CIF CDF
00114 3414          DCAZ%   X4      /STORE AT #IDLE+2
00115 6203  SFIELD, CIF CDF
00116 5662          JMP%    SET8
            
            /
            / Blinky lights
            /
            SKPINS,
00117 7410  DOIT,   SKP             / Entry point, one-time use constant
00120 1226          TAD     ROTWRD  /GET WORD TO DISPLAY
RALF V50A   24-JUL-20    PAGE 1-2

00121 2236  STALL,  ISZ     COUNT
00122 5321          JMP     STALL
00123 2237          ISZ     COUNT2
00124 5321          JMP     STALL
00125 7004  FLOP,   RAL             /Shift over
00126 3226          DCA     ROTWRD  /Save it
00127 1240          TAD     RESET   /Reset outer counter
00130 3237          DCA     COUNT2
00131 7420          SNL
00132 5345          JMP     DONE
00133 1226          TAD     ROTWRD
00134 7010  FLIP,   RAR             /Rotate back
00135 3226          DCA     ROTWRD
00136 1325          TAD     FLOP
00137 3236          DCA     COUNT   /Save old rotate
00140 1334          TAD     FLIP    /And flip 'em around
00141 3325          DCA     FLOP
00142 1236          TAD     COUNT
00143 3334          DCA     FLIP
00144 3236          DCA     COUNT
00145 1227  DONE,   TAD     SEEDPT
00146 4373          JMS     MKCDF
00147 3350          DCA     .+1
00150 0000          0
00151 1230          TAD     SEEDPT+1
00152 3217          DCA     EXP
00153 7101          CLL IAC
00154 1217          TAD     EXP
00155 3222          DCA     POINT
00156 1622          TAD%    POINT
00157 1224          TAD     K0100
00160 7510          SPA
00161 5364          JMP     OVRFLO
00162 3622          DCA%    POINT
00163 5320          JMP     DOIT+1
            
00164 7300  OVRFLO, CLA CLL
00165 3622          DCA%    POINT
00166 1617          TAD%    EXP
00167 7001          IAC
00170 0225          AND     K0003
00171 3617          DCA%    EXP
00172 5320          JMP     DOIT+1
            / Change field number into CDF instruction
00173 0000  MKCDF,  0
00174 7106          CLL RTL
00175 7004          RAL             /INTO BITS 6-8
00176 1265          TAD     SCDF    /CDF TO #IDLE
00177 5773          JMP%    MKCDF
            
RALF V50A   24-JUL-20    PAGE 1-3

NO ERRORS 
42 SYMBOLS, NO ABS REFS 

 #      C 00000   #IDLE  X 00000   #LBL     00027   #MAIN  S 00000  
 #RET     00047   ASCVAR   01213   BP       00011   CDFIDL   00104  
 COUNT    00036   COUNT2   00037   DATA     01221   DATABL   00035  
 DATHAK   00032   DOIT     00117   DONE     00145   EXP      00017  
 FLIP     00134   FLOP     00125   IDLAD    00020   JOB      00022  
 K0003    00025   K0100    00024   LINES    01147   MKCDF    00173  
 NUMBER   00000   NUMCOM C 00003   OVRFLO   00164   POINT    00022  
 RESET    00040   RET      00045   ROTWRD   00026   RTEXT    00000  
 SCDF     00065   SEEDPT   00027   SETIDL F 00200   SET8     00062  
 SFIELD   00115   SKPINS   00117   STALL    00121   SXR      00005  
 TXTCOM C 01573   TXTLOC   01216   XR       00014   X4       00014