JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page   1
V01H                                                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000001              00000000	      1 evax = 1
00000001              00000000	      2 alpha=1
00000001              00000000	      3 bigpage=1
00000020              00000000	      4 addressbits=32
00000001              00000000	      5 step2=1
00000000              00000000	      6 msetrp=0	;turn mousetrap stuff on
                      00000000	      7 ;evxrei=0 ; try to REI to original PSL
                      00000000	      8 ;evxr64d=0	;macro-64 RET stuff
                      00000000	      9 	.TITLE	JTDRiver	;skeleton driver implementing ucb linkage
                      00000000	     10 	.IDENT	'V01h'
                      00000000	     50 	.define_pal rd_ps, 145
                      00000000	     51 	.define_pal wr_ps_sw 156
                      00000000	     52 	.define_pal getps, 145
                 ?01F 00000000	     53 	.if	df,evxrei
                 ?01F 00000000	     54 	.define_pal rei, 146
                 ?01F 00000000	     55 	.endc
                 ?01F 00000000	     56 	.if	df,evxr64d
                 ?01F 00000000	     57 	.define_pal rei, 146
                 ?01F 00000000	     58 	.endc
                      00000000	     59 ;b$fmt$=0	;disable "leave io$_format alone" mode
                      00000000	     60 ; Copyright 1993,1994 Glenn C. Everhart
                      00000000	     61 ; All rights reserved
                      00000000	     62 ;  Author: Glenn C. Everhart
                      00000000	     63 ;
                      00000000	     64 ; mods:
                      00000000	     65 ; 30/jun/1994 GCE - Change kernel mapping logic to use a bitmap instead
                      00000000	     66 ; so we can basically map everything (to within an ambiguity factor).
                      00000000	     67 ; Use a 2KB buffer bitmap, which covers 16000 file numbers and will do
                      00000000	     68 ; a pretty good job of rejecting the rest. Then we can turn on the logic
                      00000000	     69 ; to only look at mapped files and save taking a performance hit on
                      00000000	     70 ; anything else (to all intents & purposes). For the moment just make the
                      00000000	     71 ; bitmap space a 2048 byte block constant in size for simplicity. In a
                      00000000	     72 ; later version we may make it vary in size. Use of this will allow us
                      00000000	     73 ; to protect ANY number of files even if the ACE gets deleted on them
                      00000000	     74 ; all...
                      00000000	     75 ; 7/7/94 gce - Deallocate LDT only AFTER the dowait call...
                      00000000	     76 ; 7/8/94 gce -step2 conversion begun
                      00000000	     77 ;
                      00000000	     78 ;
00000000              00000000	     79 real_pvt=0	;define to include code that on bit 2048 prevents opens on
                      00000000	     80 		;assigned devices, privs or not.
0000005F              00000000	     81 .ntype	__,R31			;  set EVAX nonzero if R31 is a register
                 ?01T 00000000	     82 .if eq <__ & ^xF0> - ^x50
00000001         ?01T 00000000	     83 EVAX = 1
                 ?01F 00000000	     84 .iff
                 ?01F 00000000	     85 ;EVAX = 0
                 ?01F 00000000	     86 .endc
                 ?01T 00000000	     87 	.if	df,evax
00000001         ?01T 00000000	     88 evax = 1
00000001         ?01T 00000000	     89 alpha=1
00000001         ?01T 00000000	     90 bigpage=1
00000020         ?01T 00000000	     91 addressbits=32
                 ?01T 00000000	     92 ;					;... EVAX=1 -> Step1
00000002         ?02T 00000000	     93 .iif ndf WCB$W_NMAP, evax=2		;... EVAX=2 -> Step2 (ndf as of T2.0)
00000001         ?02T 00000000	     94 .iif ndf WCB$W_NMAP, step2=1		;... EVAX=2 -> Step2 (ndf as of T2.0)
                 ?01T 00000000	     95 	.endc
00000000              00000000	     96 x$$$dt=0

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page   2
V01H                                                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 00000000	     97 	.if	ndf,evax
                 ?01F 00000000	     98 	.macro .jsb_entry
                 ?01F 00000000	     99 ; jsb entry
                 ?01F 00000000	    100 	.endm
                 ?01F 00000000	    101         .macro  driver_data
                 ?01F 00000000	    102         .PSECT  $$$105_PROLOGUE
                 ?01F 00000000	    103         .endm
                 ?01F 00000000	    104         .macro driver_code
                 ?01F 00000000	    105         .PSECT  $$$115_DRIVER
                 ?01F 00000000	    106         .endm
                 ?01F 00000000	    107 	.endc
                      00000000	    108 ; above for Alpha only.
                      00000000	    109 ;
                      00000000	    110 ; function: "Tricks" driver.
                      00000000	    111 ;	Implements FDT capture (based on code published on sigtapes and
                      00000000	    112 ;	info-vax for "standard" capture techniques) and implements file
                      00000000	    113 ;	marking and transparent daemon access on open and various other
                      00000000	    114 ;	times. Also throws in fragmentation avoider.
                      00000000	    115 ;
                      00000000	    116 ; the driver works by intercepting FDT entries of a host driver and
                      00000000	    117 ; adding its own ahead of them. The most complex intercept is the
                      00000000	    118 ; open one (accfilt and on). It decides the i/o is of interest and
                      00000000	    119 ; issues its own $qio to read the file ACL to look for our ACE (application
                      00000000	    120 ; ACE, flagged by my initials). If this is found or the file is in an
                      00000000	    121 ; internal "look at" list then some actions happen immediately:
                      00000000	    122 ; setting privs/identifiers/base priority/softlinks. If the "send to
                      00000000	    123 ; daemon" flag is set in the ace (1 bit of flags) the open daemon
                      00000000	    124 ; (jtdmn) is sent a message and we wait on EF 31 till the daemon sends
                      00000000	    125 ; a special knl ast back. Note our qio thread produces a normal
                      00000000	    126 ; kernel AST and that does a special kernel AST from which the
                      00000000	    127 ; daemon call may be done. Once back, we reissue the FDT calls lower
                      00000000	    128 ; on kernel stack. On completing this we flag the mainline may go on
                      00000000	    129 ; set efn 31 and our "waitfor" cell, and go on. Once the mainline resumes
                      00000000	    130 ; it can delete the LDT (local area stuff) if appropriate or shorten
                      00000000	    131 ; it and free most of the memory grabbed during open. The open daemon
                      00000000	    132 ; can signal to either cause the i/o to fail or to make it seem to
                      00000000	    133 ; succeed without actually doing the open by appropriate return codes.
                      00000000	    134 ;
                      00000000	    135 ; delete and extend daemons are basically similar (as a directory daemon
                      00000000	    136 ; would be) but since they work on all files they omit the kernel thread
                      00000000	    137 ; that does its own I/O.
                      00000000	    138 ;
                      00000000	    139 ; For softlinks, in addition to moving file opens there 'n'
                      00000000	    140 ; back, keep a device table to let us refer to devices by using some
                      00000000	    141 ; hi bits in file ID & RVN areas to refer to rel. vol of a softlink-set
                      00000000	    142 ; by editing dir files on the way by when opened to have these bogus
                      00000000	    143 ; file IDs. On create,  must check DID field & see if we have an LDT
                      00000000	    144 ; with a flag for that dir, so we'd again clobber create (& user chnl) to
                      00000000	    145 ; point at the other disk during time the file's open. That may let us
                      00000000	    146 ; produce the illusion that softlinked dirs really "are" on the current
                      00000000	    147 ; volume.
                      00000000	    148 ;
                      00000000	    149 ; We will support file moving, delete management, dynamic priority,
                      00000000	    150 ; privs & identifiers, daemon-based additional access controls, 
                      00000000	    151 ; (which might be file integrity tests & conditional softlinks),
                      00000000	    152 ; and space management eventually. Also we'll eventually support
                      00000000	    153 ; special action on directore read-in so the dirs' files get arbitrated

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page   3
V01H                                                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000000	    154 ; by a daemon instead of directly read. That'll let them be treated as
                      00000000	    155 ; softlinks too without having to clutter the disk, (ever maybe)
                      00000000	    156 ; with junk file headers.
                      00000000	    157 ; (juicer has dir layout docs in its comments.)
                      00000000	    158 ;
                      00000000	    159 ; Initial version basically to support security & limited hsm stuff,
                      00000000	    160 ; not ALL softlink possibilities.
                      00000000	    161 ;
                      00000000	    162 ; For a follow-on, we will add support for removing file headers completely.
                      00000000	    163 ; Note that we can do a softlink to other files so long as we can tell
                      00000000	    164 ; that the file should be so linked. Having a bitmap to let us filter
                      00000000	    165 ; out uninteresting files, our open daemon can tell that. To handle requests
                      00000000	    166 ; other than open we need to catch access without io$m_access, io$_acpcontrol,
                      00000000	    167 ; and some other functions of io$_modify and maybe io$_delete (depends on
                      00000000	    168 ; policy decision...SHOULD a file "somewhere else" be deleted apart from
                      00000000	    169 ; its "home" location...I think not, so just fake success for that). Where
                      00000000	    170 ; these don't open a file, we do the softlink by resetting the IRP only,
                      00000000	    171 ; not the channel too. Thus no catching logic is needed to put the user
                      00000000	    172 ; channel back.
                      00000000	    173 ;  By catching I/O in this way we can read in a linked directory from
                      00000000	    174 ; "somewhere" and just tag those file IDs as being in our bitmap, and
                      00000000	    175 ; record for the daemon that those files are on device xxx:, then let
                      00000000	    176 ; the daemon return the correct device softlink info to let the file
                      00000000	    177 ; be accessed at its home. The directory would reside on the local
                      00000000	    178 ; disk. When a file got created in it, the directory would get a real
                      00000000	    179 ; entry. An inswap would need the "somewhere" entry to be removed and
                      00000000	    180 ; a real one added and the daemon's data telling it where the real file
                      00000000	    181 ; was reset. At each directory open for such a directory that was "really"
                      00000000	    182 ; somewhere else, though, a merge of the then-current remote directory
                      00000000	    183 ; and the local one would be needed, concurrently updating the daemon's
                      00000000	    184 ; database, so new files created on the other device would appear in
                      00000000	    185 ; the local file, but files really on the local disk would appear. There
                      00000000	    186 ; could be problems where the directory read was from the XQP with
                      00000000	    187 ; this, though, so we may want to just pull the directory in every time
                      00000000	    188 ; regardless. We get control ahead of the XQP, but must ensure all
                      00000000	    189 ; processing of this kind is in another process, as the XQP is not in
                      00000000	    190 ; an interruptable point for this stuff.
                      00000000	    191 ;
                      00000000	    192 ;  It is possible to have directory entries pointing at nonexistent
                      00000000	    193 ; file headers and file IDs and have the access daemon (that handles
                      00000000	    194 ; io$_access, io$_acpcontrol etc.) generate a softlink to some real
                      00000000	    195 ; file on the fly. If the nonexistent directory entries are flagged by,
                      00000000	    196 ; say, bit 8 of the RVN being set, it might be possible to reset the
                      00000000	    197 ; access to the desired one in kernel mode. If done by a daemon using
                      00000000	    198 ; some other flagging (a bitmap maybe? Or maybe use RVN 255?) then
                      00000000	    199 ; the daemon is responsible for setting the correct FID and device into
                      00000000	    200 ; the request and device can be stored in the daemon database. Thus
                      00000000	    201 ; an outswapped file could be completely offline, yet the directory
                      00000000	    202 ; entry could be "there", and in moments of not inswapping it might be
                      00000000	    203 ; left pointing at some scratch file header that would point at a zero
                      00000000	    204 ; length file, via dynamic softlink, so that directory entries and so
                      00000000	    205 ; on would succeed even though their info would be fairly useless.
                      00000000	    206 ; (It's possible to reset the EOF pointer of these to the right size
                      00000000	    207 ; and possibly reset the date before each access should we choose to
                      00000000	    208 ; do so; file would be zero size anyhow. If a daemon access is used,
                      00000000	    209 ; the extra overhead of resetting date every time and so on might not
                      00000000	    210 ; be too bad. It would mean that the outswapped file size and at least

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page   4
V01H                                                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000000	    211 ; creation date would still be visible even if the file ID was actually
                      00000000	    212 ; useless.)
                      00000000	    213 ; A second release would be usefully able to perform these operations
                      00000000	    214 ; so that outswapped file headers could be purged away, yet directory
                      00000000	    215 ; operations would continue to be able to show the files. This would mean
                      00000000	    216 ; that the directory files would continue to be large, but the index
                      00000000	    217 ; file would not grow boundlessly. If such a directory were outswapped,
                      00000000	    218 ; it might be inswapped later,being able to outswap only if it had no
                      00000000	    219 ; current files. This is a little easier than softlinking directories
                      00000000	    220 ; since no merging is needed. Directory opens are usually done by
                      00000000	    221 ; RMS in exec mode, and this would make it easy to shove an outswapped
                      00000000	    222 ; directory back in, from our daemon, doing so before the XQP actually
                      00000000	    223 ; gets the request queued to move anything. We'd need extra data in
                      00000000	    224 ; a daemon database and possibly in a knl mode bitmap to flag what
                      00000000	    225 ; was a directory; an outswapped directory might need to be flagged
                      00000000	    226 ; with an otherwise illegal FID so we would have a sure and certain
                      00000000	    227 ; tag to use on it. Inswapping it would then have to replace the
                      00000000	    228 ; FID in the parent directory. The directory file format seems not to
                      00000000	    229 ; have any checksums, so this will be comparatively clean and simple.
                      00000000	    230 ; Flagging in this way would allow clear detection of directory files,
                      00000000	    231 ; though the daemon would need to back up the test with its own data
                      00000000	    232 ; so inadvertent bogus matches would just be allowed to continue. (One
                      00000000	    233 ; might coopt RVN 255 and RVN 254 for directories and files respectively
                      00000000	    234 ; where one wanted a simple tag that could be used to recognize swapped
                      00000000	    235 ; dirs and files.) This way one could get rid of file headers off a disk,
                      00000000	    236 ; and periodically trim off directory files, yet the directories would
                      00000000	    237 ; still apparently be there if anyone looked (and if a mode to open
                      00000000	    238 ; them were selected; if not, the directory file could just be pointed
                      00000000	    239 ; at some ordinary file and the open would NOT show another directory).
                      00000000	    240 ;   Normally you'd want to limit depth of opening old outswapped directories
                      00000000	    241 ; by telling the daemon how old a directory might be and still be opened
                      00000000	    242 ; (so a simple dir [...]*.* doesn't inswap everything unless that's really
                      00000000	    243 ; wanted). Since you'd be regulating at the granularity of directories
                      00000000	    244 ; filetype cuts might not show up, but directories would. Users could 
                      00000000	    245 ; reset directory creation dates with the FILE utility or similar if
                      00000000	    246 ; they wanted to keep these dates useful. A script to reset directory
                      00000000	    247 ; revision dates to the date of last file creation should be supplied
                      00000000	    248 ; to be run periodically, so that this information would be more
                      00000000	    249 ; useful; VMS normally doesn't maintain it.
                      00000000	    250 ;
                      00000000	    251 ; Glenn C. Everhart, November 1993
                      00000000	    252 ;
                      00000000	    253 ;vms$$v6=0	;add forvms v6 def'n
00000001              00000000	    254 vms$v5=1
                      00000000	    255 ; define v5$picky also for SMP operation
00000001              00000000	    256 v5$picky=1
                      00000000	    257 	.SBTTL	EXTERNAL AND LOCAL DEFINITIONS
                      00000000	    258 
                      00000000	    259 ; 
                      00000000	    260 ; EXTERNAL SYMBOLS
                      00000000	    261 ; 
                      00000000	    262 	.library /SYS$SHARE:LIB/
                      00000000	    263 
                      00000000	    264 ;	$ADPDEF				;DEFINE ADAPTER CONTROL BLOCK
                      00000000	    419 	$CRBDEF				;DEFINE CHANNEL REQUEST BLOCK
         X02/002 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/006 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page   5
V01H                            EXTERNAL AND LOCAL DEFINITIONS   2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X03/196 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/008 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	    907 	$DYNDEF ;define dynamic data types
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/1507?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   1484 	$DCDEF				;DEFINE DEVICE CLASS
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/1776?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   1533 	$DDBDEF				;DEFINE DEVICE DATA BLOCK
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/216 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/253 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   1655 	$DEVDEF				;DEFINE DEVICE CHARACTERISTICS
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/411 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   1757 	$DPTDEF				;DEFINE DRIVER PROLOGUE TABLE
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/375 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/412 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   2042 	$EMBDEF				;DEFINE ERROR MESSAGE BUFFER
         X03/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/384 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
         X03/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/294 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
         X03/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/207 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
         X03/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/138 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   2081 	$IDBDEF				;DEFINE INTERRUPT DATA BLOCK
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/186 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/223 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   2573 	$IODEF				;DEFINE I/O FUNCTION CODES
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/1521?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   2619 	$DDTDEF				; DEFINE DISPATCH TBL...
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/207 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/244 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                 ?01T 00000000	   2620 	.if df,step2
00000028         ?01T 00000000	   2621 	ddt$l_fdt=ddt$ps_fdt_2
                 ?01T 00000000	   2622 	.endc
                      00000000	   2747 	$ptedef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/444 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/481 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   2761 	$vadef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/087 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   3016 	$IRPDEF				;DEFINE I/O REQUEST PACKET
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page   6
V01H                            EXTERNAL AND LOCAL DEFINITIONS   2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X03/834 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/871 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   3042 	$irpedef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/147 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/184 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   3300 	$PRDEF				;DEFINE PROCESSOR REGISTERS
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/819 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   3957 	$SSDEF				;DEFINE SYSTEM STATUS CODES
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/2014?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   4525 	$UCBDEF				;DEFINE UNIT CONTROL BLOCK
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/1773?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/1810?01T 00000000			.IIF NDF MACRO64$, .CROSS
                 ?01T 00000000	   4526 	.if	df,step2
                 ?01T 00000000	   4540 	$fdt_contextdef
         X02/003 ?02T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?02T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/111 ?02T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/148 ?02T 00000000			.IIF NDF MACRO64$, .CROSS
                 ?01T 00000000	   4541 	.endc
                      00000000	   4588 	$sbdef	; system blk offsets
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/210 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/247 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   4608 	$psldef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/105 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   4609 	$prdef
                      00000000	   4673 	$acldef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/237 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   4697 	$rsndef				;define resource numbers
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/117 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   4830 	$acedef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/440 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   4845 	$VECDEF				;DEFINE INTERRUPT VECTOR BLOCK
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/114 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/151 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5101 	$pcbdef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/837 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/874 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5120 	$statedef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/102 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5180 	$jibdef

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page   7
V01H                            EXTERNAL AND LOCAL DEFINITIONS   2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/247 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/284 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5212 	$acbdef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <LONG> <LONG, QUAD, NONE>
         X03/160 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/197 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5449 	$vcbdef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/752 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5483 	$arbdef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/171 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/208 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5565 	$wcbdef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/282 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <LONG> <LONG, QUAD, NONE>
         X03/338 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/375 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5601 	$ccbdef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/177 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/214 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5700 	$fcbdef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/366 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/403 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   5949 	$phddef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/816 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/853 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   6087         $RABDEF                         ; RAB structure defs
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <LONG> <LONG, QUAD, NONE>
         X03/478 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/515 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   6363         $RMSDEF                         ; RMS constants
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/865 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   6364 ; defs for acl hacking
                      00000000	   6603 	$fibdef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/762 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   6638 	$ipldef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/150 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      00000000	   6802 	$atrdef
         X02/003 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/537 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
00000000              00000000	   6803 p1=0	; first qio param

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page   8
V01H                            EXTERNAL AND LOCAL DEFINITIONS   2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000004              00000000	   6804 p2=4
00000008              00000000	   6805 p3=8
0000000C              00000000	   6806 p4=12
00000010              00000000	   6807 p5=16
00000014              00000000	   6808 p6=20	;6th qio param offsets
                      00000000	   6809 
                 ?01T 00000000	   6810 	.IF	DF,VMS$V5	;VMS V5 + LATER ONLY
                 ?01T 00000000	   6860 	$SPLCODDEF
         X02/003 ?02T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X02/195 ?02T 00000000			.IIF NDF MACRO64$, .CROSS
                 ?01T 00000000	   7245 	$cpudef
         X02/003 ?02T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?02T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/1224?02T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/1261?02T 00000000			.IIF NDF MACRO64$, .CROSS
                 ?01T 00000000	   7246 	.ENDC
                      00000000	   7247 ; 
                      00000000	   7248 ; UCB OFFSETS WHICH FOLLOW THE STANDARD UCB FIELDS
                      00000000	   7249 ; 
                      00000000	   7250 	$DEFINI	UCB			;START OF UCB DEFINITIONS
         X01/002 ?01T 00000000			.IIF NDF MACRO64$, .NOCROSS
                      00000000	   7251 
                      00000000	   7252 ;.=UCB$W_BCR+2				;BEGIN DEFINITIONS AT END OF UCB
                      00000000	   7253 .=UCB$K_LCL_DISK_LENGTH	;v4 def end of ucb
                      00000114	   7254 ; USE THESE FIELDS TO HOLD OUR LOCAL DATA FOR VIRT DISK.
                      00000114	   7255 ; Add our stuff at the end to ensure we don't mess some fields up that some
                      00000114	   7256 ; areas of VMS may want.
                      00000114	   7257 ; Leave thisfield first so we can know all diskswill have it at the
                      00000114	   7258 ; same offset.
                      00000114	   7259 ;
                      00000114	   7260 ;
                      00000118	   7261 $def	ucb$l_hucbs	.blkl	1	;host ucb table
00000114 X01/001 ?01T 00000114			.IIF	NB,ucb$l_hucbs,	ucb$l_hucbs:
         X01/002 ?01T 00000114			.IIF	NB,.blkl,	.blkl	1
                      00000118	   7262 ;
                      00000118	   7263 ; Add other fields here if desired.
                      00000118	   7264 ;
                      0000011C	   7265 $def	ucb$l_exdmn	.blkl	1	;extend dmn pid
00000118 X01/001 ?01T 00000118			.IIF	NB,ucb$l_exdmn,	ucb$l_exdmn:
         X01/002 ?01T 00000118			.IIF	NB,.blkl,	.blkl	1
                      00000120	   7266 $def	ucb$l_exmbx	.blkl	1	;extend dmn mbx ucb
0000011C X01/001 ?01T 0000011C			.IIF	NB,ucb$l_exmbx,	ucb$l_exmbx:
         X01/002 ?01T 0000011C			.IIF	NB,.blkl,	.blkl	1
                      00000124	   7267 $def	ucb$l_deldmn	.blkl	1	;delete daemon pid
00000120 X01/001 ?01T 00000120			.IIF	NB,ucb$l_deldmn,	ucb$l_deldmn:
         X01/002 ?01T 00000120			.IIF	NB,.blkl,	.blkl	1
                      00000128	   7268 $def	ucb$l_delmbx	.blkl	1	;delete dmn mailbox ucb
00000124 X01/001 ?01T 00000124			.IIF	NB,ucb$l_delmbx,	ucb$l_delmbx:
         X01/002 ?01T 00000124			.IIF	NB,.blkl,	.blkl	1
                      00000128	   7269 ;
                      00000128	   7270 ;
                      0000012C	   7271 $def	ucb$l_ctlflgs	.blkl	1		;flags to control modes
00000128 X01/001 ?01T 00000128			.IIF	NB,ucb$l_ctlflgs,	ucb$l_ctlflgs:
         X01/002 ?01T 00000128			.IIF	NB,.blkl,	.blkl	1
                      0000012C	   7272 ;
                      0000012C	   7273 ;
                      00000130	   7274 $def	ucb$l_prcvec	.blkl	1		;process local data tbl

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page   9
V01H                            EXTERNAL AND LOCAL DEFINITIONS   2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

0000012C X01/001 ?01T 0000012C			.IIF	NB,ucb$l_prcvec,	ucb$l_prcvec:
         X01/002 ?01T 0000012C			.IIF	NB,.blkl,	.blkl	1
                      00000134	   7275 $def	ucb$l_daemon	.blkl	1		;daemon pid for open daemon
00000130 X01/001 ?01T 00000130			.IIF	NB,ucb$l_daemon,	ucb$l_daemon:
         X01/002 ?01T 00000130			.IIF	NB,.blkl,	.blkl	1
                      00000138	   7276 $def	ucb$l_mbxucb	.blkl	1		;mailbox for input to daemon
00000134 X01/001 ?01T 00000134			.IIF	NB,ucb$l_mbxucb,	ucb$l_mbxucb:
         X01/002 ?01T 00000134			.IIF	NB,.blkl,	.blkl	1
                      00000140	   7277 $def	ucb$l_keycry	.blkl	2		;ucb resident "key" for ACEs
00000138 X01/001 ?01T 00000138			.IIF	NB,ucb$l_keycry,	ucb$l_keycry:
         X01/002 ?01T 00000138			.IIF	NB,.blkl,	.blkl	2
                      00000140	   7278 						;use as part of authenticator
                      00000140	   7279 						;for security-relevant fcns.
                      00000140	   7280 		;auth=f(file id, key, priv-info), match ace and computed
                      00000140	   7281 		;auth tag.
                      00000144	   7282 $def	ucb$l_cbtctr	.blkl	1		;how many extents
00000140 X01/001 ?01T 00000140			.IIF	NB,ucb$l_cbtctr,	ucb$l_cbtctr:
         X01/002 ?01T 00000140			.IIF	NB,.blkl,	.blkl	1
                      00000148	   7283 $def	ucb$l_cbtini	.blkl	1		;init for counter
00000144 X01/001 ?01T 00000144			.IIF	NB,ucb$l_cbtini,	ucb$l_cbtini:
         X01/002 ?01T 00000144			.IIF	NB,.blkl,	.blkl	1
                      00000148	   7284 ; preceding 2 fields allow specifying of contig-best-try extents
                      00000148	   7285 ; on every Nth extend, not every one. This should still help keep
                      00000148	   7286 ; file extensions from preferentially picking up chaff
                      00000198	   7287 $def	ucb$JTcontfil	.blkb	80
00000148 X01/001 ?01T 00000148			.IIF	NB,ucb$JTcontfil,	ucb$JTcontfil:
         X01/002 ?01T 00000148			.IIF	NB,.blkb,	.blkb	80
                      0000019C	   7288 $def	ucb$l_asten	.blkl	1		;ast enable mask store
00000198 X01/001 ?01T 00000198			.IIF	NB,ucb$l_asten,	ucb$l_asten:
         X01/002 ?01T 00000198			.IIF	NB,.blkl,	.blkl	1
                      0000019C	   7289 ;
                      000001A0	   7290 $DEF	ucb$l_minxt	.blkl	1		;min. extent
0000019C X01/001 ?01T 0000019C			.IIF	NB,ucb$l_minxt,	ucb$l_minxt:
         X01/002 ?01T 0000019C			.IIF	NB,.blkl,	.blkl	1
                      000001A4	   7291 $def	ucb$l_maxxt	.blkl	1		;max extent
000001A0 X01/001 ?01T 000001A0			.IIF	NB,ucb$l_maxxt,	ucb$l_maxxt:
         X01/002 ?01T 000001A0			.IIF	NB,.blkl,	.blkl	1
                      000001A8	   7292 $def	ucb$l_frac	.blkl	1		;fraction to extend by
000001A4 X01/001 ?01T 000001A4			.IIF	NB,ucb$l_frac,	ucb$l_frac:
         X01/002 ?01T 000001A4			.IIF	NB,.blkl,	.blkl	1
                      000001AC	   7293 $def	ucb$l_slop	.blkl	1		;slop blocks to leave free
000001A8 X01/001 ?01T 000001A8			.IIF	NB,ucb$l_slop,	ucb$l_slop:
         X01/002 ?01T 000001A8			.IIF	NB,.blkl,	.blkl	1
                      000001AC	   7294 ; DDT intercept fields
                      000001AC	   7295 ; following must be contiguous.
                      000001AC	   7296 $def    ucb$s_ppdbgn            ;add any more prepended stuff after this
000001AC X01/001 ?01T 000001AC			.IIF	NB,ucb$s_ppdbgn,	ucb$s_ppdbgn:
                      000001B0	   7297 $def    ucb$l_uniqid    .blkl   1       ;driver-unique ID, gets filled in
000001AC X01/001 ?01T 000001AC			.IIF	NB,ucb$l_uniqid,	ucb$l_uniqid:
         X01/002 ?01T 000001AC			.IIF	NB,.blkl,	.blkl	1
                      000001B0	   7298                                         ; by DPT address for easy following
                      000001B0	   7299                                         ; by SDA
                      000001B4	   7300 $def    ucb$l_intcddt   .blkl   1       ; Our interceptor's DDT address if
000001B0 X01/001 ?01T 000001B0			.IIF	NB,ucb$l_intcddt,	ucb$l_intcddt:
         X01/002 ?01T 000001B0			.IIF	NB,.blkl,	.blkl	1
                      000001B4	   7301                                         ; we are intercepted
                      000001B8	   7302 $def    ucb$l_prevddt   .blkl   1       ; previous DDT address

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  10
V01H                            EXTERNAL AND LOCAL DEFINITIONS   2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

000001B4 X01/001 ?01T 000001B4			.IIF	NB,ucb$l_prevddt,	ucb$l_prevddt:
         X01/002 ?01T 000001B4			.IIF	NB,.blkl,	.blkl	1
                      000001BC	   7303 $def    ucb$l_icsign    .blkl   1       ; unique pattern that identifies
000001B8 X01/001 ?01T 000001B8			.IIF	NB,ucb$l_icsign,	ucb$l_icsign:
         X01/002 ?01T 000001B8			.IIF	NB,.blkl,	.blkl	1
                      000001BC	   7304                                         ; this as a DDT intercept block
                      000001BC	   7305 ; NOTE: Jon Pinkley suggests that the DDT size should be encoded in part of this
                      000001BC	   7306 ; unique ID so that incompatible future versions will be guarded against.
                      000001BC	   7307 $def    ucb$s_ppdend
000001BC X01/001 ?01T 000001BC			.IIF	NB,ucb$s_ppdend,	ucb$s_ppdend:
                      0000022C	   7308 $def    ucb$a_vicddt    .blkb   ddt$k_length
000001BC X01/001 ?01T 000001BC			.IIF	NB,ucb$a_vicddt,	ucb$a_vicddt:
         X01/002 ?01T 000001BC			.IIF	NB,.blkb,	.blkb	ddt$k_length
                      0000022C	   7309                                         ; space for victim's DDT
                      0000022C	   7310 			.blkl	4	;safety
                      00000240	   7311 $def	ucb$l_backlk	.blkl	1	;backlink to victim ucb
0000023C X01/001 ?01T 0000023C			.IIF	NB,ucb$l_backlk,	ucb$l_backlk:
         X01/002 ?01T 0000023C			.IIF	NB,.blkl,	.blkl	1
                      00000240	   7312 ; Make the "unique magic number" depend on the DDT length, and on the
                      00000240	   7313 ; length of the prepended material. If anything new is added, be sure that
                      00000240	   7314 ; this magic number value changes.
F013F070              00000240	   7315 magic=^xF013F000 + ddt$k_length + <256*<ucb$s_ppdend-ucb$s_ppdbgn-16>>
F013F070              00000240	   7316 p.magic=^xF013F000 + ddt$k_length + <256*<ucb$s_ppdend-ucb$s_ppdbgn-16>>
00000800         ?01T 00000240	   7317 	.iif ndf,f.nsiz,f.nsiz=2048
00000010         ?01T 00000240	   7318 	.iif	ndf,f.nums,f.nums=16
                 ?01F 00000240	   7319 	.iif	ndf,f.nsiz,f.nsiz=2048
00000240              00000240	   7320 ucb$l_fnums:	.blkw	f.nums	;store for file numbers to inspect whether
                      00000260	   7321 				;an ACE is there or not.
                      00000268	   7322 $DEF	UCB$L_JT_HOST_DESCR	.BLKL	2	;host dvc desc.
00000260 X01/001 ?01T 00000260			.IIF	NB,UCB$L_JT_HOST_DESCR,	UCB$L_JT_HOST_DESCR:
         X01/002 ?01T 00000260			.IIF	NB,.BLKL,	.BLKL	2
                      00000268	   7323 ;
                      00000268	   7324 ; Store copy of victim FDT table here for step 2 Alpha driver.
                      00000268	   7325 ; assumes FDT table is 64+2 longs long
                      00000380	   7326 $def	ucb$l_myfdt	.blkl	70	;user FDT tbl copy + slop for safety
00000268 X01/001 ?01T 00000268			.IIF	NB,ucb$l_myfdt,	ucb$l_myfdt:
         X01/002 ?01T 00000268			.IIF	NB,.blkl,	.blkl	70
                      00000384	   7327 $def	ucb$l_oldfdt	.blkl	1	;fdt tbl of prior fdt chain
00000380 X01/001 ?01T 00000380			.IIF	NB,ucb$l_oldfdt,	ucb$l_oldfdt:
         X01/002 ?01T 00000380			.IIF	NB,.blkl,	.blkl	1
                      00000388	   7328 $def	ucb$l_vict	.blkl	1	;victim ucb, for unmung check
00000384 X01/001 ?01T 00000384			.IIF	NB,ucb$l_vict,	ucb$l_vict:
         X01/002 ?01T 00000384			.IIF	NB,.blkl,	.blkl	1
                      0000038C	   7329 $def	ucb$l_mungd	.blkl	1	;munged flag, 1 if numg'd
00000388 X01/001 ?01T 00000388			.IIF	NB,ucb$l_mungd,	ucb$l_mungd:
         X01/002 ?01T 00000388			.IIF	NB,.blkl,	.blkl	1
                      0000039C	   7330 $def	ucb$l_exempt	.blkl	4	;exempt PIDs
0000038C X01/001 ?01T 0000038C			.IIF	NB,ucb$l_exempt,	ucb$l_exempt:
         X01/002 ?01T 0000038C			.IIF	NB,.blkl,	.blkl	4
                      000003AC	   7331 $def	ucb$l_exedel	.blkl	4	;pids exempt from delete checks only
0000039C X01/001 ?01T 0000039C			.IIF	NB,ucb$l_exedel,	ucb$l_exedel:
         X01/002 ?01T 0000039C			.IIF	NB,.blkl,	.blkl	4
                      000003B0	   7332 $def	ucb$l_ktrln	.blkl	1
000003AC X01/001 ?01T 000003AC			.IIF	NB,ucb$l_ktrln,	ucb$l_ktrln:
         X01/002 ?01T 000003AC			.IIF	NB,.blkl,	.blkl	1
                      000003B4	   7333 $def	ucb$l_k2tnm	.blkl	1
000003B0 X01/001 ?01T 000003B0			.IIF	NB,ucb$l_k2tnm,	ucb$l_k2tnm:

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  11
V01H                            EXTERNAL AND LOCAL DEFINITIONS   2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/002 ?01T 000003B0			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003B4	   7334 	.if	df,msetrp
                 ?01T 000003B4	   7335 ; mousetrap trace cells
                 ?01T 000003B8	   7336 $def	mtp$fmt		.blkl	1	;mousetrap get into format 
000003B4 X01/001 ?02T 000003B4			.IIF	NB,mtp$fmt,	mtp$fmt:
         X01/002 ?02T 000003B4			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003BC	   7337 $def	mtp$irp		.blkl	1
000003B8 X01/001 ?02T 000003B8			.IIF	NB,mtp$irp,	mtp$irp:
         X01/002 ?02T 000003B8			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003C0	   7338 $def	mtp$ldt		.blkl	1
000003BC X01/001 ?02T 000003BC			.IIF	NB,mtp$ldt,	mtp$ldt:
         X01/002 ?02T 000003BC			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003C4	   7339 $def	mtp$trace	.blkl	1
000003C0 X01/001 ?02T 000003C0			.IIF	NB,mtp$trace,	mtp$trace:
         X01/002 ?02T 000003C0			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003C8	   7340 $def	mtp$ccb		.blkl	1
000003C4 X01/001 ?02T 000003C4			.IIF	NB,mtp$ccb,	mtp$ccb:
         X01/002 ?02T 000003C4			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003CC	   7341 $def	mtp$chan	.blkl	1
000003C8 X01/001 ?02T 000003C8			.IIF	NB,mtp$chan,	mtp$chan:
         X01/002 ?02T 000003C8			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003D0	   7342 $def	mtp$ior0	.blkl	1
000003CC X01/001 ?02T 000003CC			.IIF	NB,mtp$ior0,	mtp$ior0:
         X01/002 ?02T 000003CC			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003D8	   7343 $def	mtp$r1		.blkl	2	;findldt tst
000003D0 X01/001 ?02T 000003D0			.IIF	NB,mtp$r1,	mtp$r1:
         X01/002 ?02T 000003D0			.IIF	NB,.blkl,	.blkl	2
                 ?01T 000003DC	   7344 $def	mtp$r0		.blkl	1
000003D8 X01/001 ?02T 000003D8			.IIF	NB,mtp$r0,	mtp$r0:
         X01/002 ?02T 000003D8			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003E0	   7345 $def	mtp$trc2	.blkl	1
000003DC X01/001 ?02T 000003DC			.IIF	NB,mtp$trc2,	mtp$trc2:
         X01/002 ?02T 000003DC			.IIF	NB,.blkl,	.blkl	1
                 ?01T 000003E8	   7346 $def	mtp$trc3	.blkl	2
000003E0 X01/001 ?02T 000003E0			.IIF	NB,mtp$trc3,	mtp$trc3:
         X01/002 ?02T 000003E0			.IIF	NB,.blkl,	.blkl	2
                 ?01T 000003E8	   7347 	.endc
                      000003EA	   7348 $DEF	UCB$K_JT_LEN	.BLKW	1	;LENGTH OF UCB
000003E8 X01/001 ?01T 000003E8			.IIF	NB,UCB$K_JT_LEN,	UCB$K_JT_LEN:
         X01/002 ?01T 000003E8			.IIF	NB,.BLKW,	.BLKW	1
                      000003EA	   7349 ;UCB$K_JT_LEN=.				;LENGTH OF UCB
                      000003EA	   7350 
                      00000000	   7351 	$DEFEND	UCB			;END OF UCB DEFINITONS
         X01/008 ?01T 000003EA			.IIF NDF MACRO64$, .CROSS
                      00000000	   7352 ; Define LDT offsets here.
00000000              00000000	   7353 ldt$l_fwd	=	0		;forward link. (LDTs are singly linked)
00000004              00000000	   7354 ldt$l_ccb	=	4		;CCB address so we can check ID
00000008              00000000	   7355 ldt$l_accmd	=	8		;accmd from user FIB (tells how open)
0000000C              00000000	   7356 ldt$l_wprv	=	12		;working privs
00000014              00000000	   7357 ldt$l_aprv	=	20		;auth privs
0000001C              00000000	   7358 ldt$l_bprio	=	28		;process base priority
00000020              00000000	   7359 ldt$l_prcstr	=	32		;pointer to per-process delblk count block
00000024              00000000	   7360 ldt$l_synch	=	36		;address of "iosb" block used to
                      00000000	   7361 					;end process waits & deallocated at
                      00000000	   7362 					;end of those waits.
00000028              00000000	   7363 ldt$l_iosb	=	40		;iosb for internal $qio
00000030              00000000	   7364 ldt$l_jtucb	=	48		;pointer to jt: ucb

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  12
V01H                            EXTERNAL AND LOCAL DEFINITIONS   2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000034              00000000	   7365 ldt$l_fresiz	=	52		;length of LDT left since we will chop
                      00000000	   7366 					;off unused parts of ACE after we read
                      00000000	   7367 					;it to regain pool
                      00000000	   7368 ; Keep chnucb in "permanent" part of LDT since it hangs around till close
                      00000000	   7369 ; if we do a softlink. It will be zero unless there is a softlink so
                      00000000	   7370 ; it acts as a flag to restore the channel, too.
00000038              00000000	   7371 ldt$l_chnucb	=	56		;original channel UCB address
0000003C              00000000	   7372 ldt$l_ace	=	60		;start of our ACE, up to 256 bytes long
                      00000000	   7373 ; chop off what's below here, as we need it no more after the file is open.
0000013C              00000000	   7374 ldt$l_regs	=	316		;register save, r0 to r15
00000174              00000000	   7375 ldt$l_flgs	=	372		;slop storage for flags
00000178              00000000	   7376 ldt$l_parm	=	376		;storage for up to 6 params (6 longs)
00000190              00000000	   7377 ldt$l_fib	=	400		;FIB we use for OUR I/O
                      00000000	   7378 ; 72 bytes max for our FIB
000001D8              00000000	   7379 ldt$l_acl	=	472		;storage for ACL read-in; 512 bytes
000003D8              00000000	   7380 ldt$l_itmlst	=	984		;item list to read the ACL all in if
                      00000000	   7381 					;we can.
000003F8              00000000	   7382 ldt$l_aclsiz	=	1016		;size of the ACL on the file
000003FC              00000000	   7383 ldt$l_rtnsts	=	1020		;status back from daemon
00000404              00000000	   7384 ldt$l_myfid	=	1028		;file id from read-acl call
0000040C              00000000	   7385 ldt$l_mydid	=	1036		;dir id in user's fib
00000414              00000000	   7386 ldt$l_psl	=	1044		;psl of original i/o
0000041C              00000000	   7387 ldt$l_fnd	=	1052		;filename desc of orig i/o (p2 arg)
                      00000000	   7388 					;2 longs
00000424              00000000	   7389 ldt$l_fndd	=	1060		;data area for filename (256 bytes)
00000528              00000000	   7390 ldt$l_fdtctx	=	1320		;save area for user's FDT context ptr
00000530              00000000	   7391 ldt$l_size	=       1328
0000052C              00000000	   7392 ldt$k_clrsiz	=	1324		;allocate a little slop.
                      00000000	   7393 
                      00000000	   7394 ; ACE format:
                      00000000	   7395 ;ace:	.byte	length
                      00000000	   7396 ;	.byte	type = ace$c_info ;application ACE
                      00000000	   7397 ;	.word	flags		;stuff like hidden, protected...
                      00000000	   7398 ;	.long	info-flags	;use 1 bit to mean call the daemon
                      00000000	   7399 ;	.ascii	/GCEV/		;my identifier
                      00000000	   7400 ;	.blkb	data		;up to 244 bytes of data.
                      00000000	   7401 
                      00000000	   7402 ; data is a variable length list of stuff.
                      00000000	   7403 ; Codes are as follows:
                      00000000	   7404 ; 00 - nothing. Terminates list.
                      00000000	   7405 ; 01 - starts "inspectme" record. Nothing more. We send FID from the LDT
                      00000000	   7406 ;		in this case. This makes these real fast to forge.
                      00000000	   7407 ; 02 - "moveme" record. Again we send FID from LDT and need nothing more.
                      00000000	   7408 ;		We use info from the daemon to find the actual file based
                      00000000	   7409 ;		on the file ID here.
                      00000000	   7410 ; 03 - "bprio" record. Format:
                      00000000	   7411 ;	03, prio, <long auth info>	;total 6 bytes
                      00000000	   7412 ; 04 - "priv" record. Format:
                      00000000	   7413 ;	04, <priv quadword> <auth quadword>	;total 17 bytes
                      00000000	   7414 ; 05 - "ident" record, format:
                      00000000	   7415 ;	05, <ident quadword> <auth quadword>	;total 17 bytes
                      00000000	   7416 ; 06 - "softlink" record, format:
                      00000000	   7417 ;	06, len, flgs, <file id to link to> <devicename> ;variable len
                      00000000	   7418 ; 07 - "temporary" tag. Format:
                      00000000	   7419 ;	07, len, <orig file id>, <sys time quadword when created> ;16 bytes
                      00000000	   7420 ; flags for softlinks:
                      00000000	   7421 ;	0 = normal

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  13
V01H                            EXTERNAL AND LOCAL DEFINITIONS   2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000000	   7422 ;	1 = softlink only on read, act like moveme record if r/w open
                      00000000	   7423 ;	2 = directory file softlink, pass to daemon for special
                      00000000	   7424 ;		handling so we can pull the dir in.
                      00000000	   7425 ; more flags later as I think of them.
                      00000000	   7426 ; more types as needed too.
                      00000000	   7427 
                      00000000	   7428  
                      00000000	   7429 	.SBTTL	STANDARD TABLES
                      00000000	   7430 
                      00000000	   7431 ; 
                      00000000	   7432 ; DRIVER PROLOGUE TABLE
                      00000000	   7433 ; 
                      00000000	   7434 ; 	THE DPT DESCRIBES DRIVER PARAMETERS AND I/O DATABASE FIELDS
                      00000000	   7435 ; 	THAT ARE TO BE INITIALIZED DURING DRIVER LOADING AND RELOADING
                      00000000	   7436 ; 
                      00000000	   7441 	driver_data
0000012C              00000000	   7442 JT_UNITS=300
                      00000000	   7443 JT$DPT::
00000000         ?01T 00000000	   7444 .iif ndf,spt$m_xpamod,dpt$m_xpamod=0
                 ?01T 00000000	   7445 	.if	df,evax
                 ?01T 00000000	   7446 	DPTAB	-			;DPT CREATION MACRO
                 ?01T 00000000	   7593 		END=JT_END,-		;END OF DRIVER LABEL
                 ?01T 00000000	   7594 		ADAPTER=NULL,-		;ADAPTER TYPE = NONE (VIRTUAL)
                 ?01T 00000000	   7595 		FLAGS=DPT$M_SMPMOD!dpt$m_xpamod!DPT$M_NOUNLOAD, - ;SET TO USE SMP,xa
                 ?01T 00000000	   7596 		DEFUNITS=2,-		;UNITS 0 THRU 1 thru 31
                 ?01T 00000000	   7597 		step=2,-
                 ?01T 00000000	   7598 		UCBSIZE=UCB$K_JT_LEN,-	;LENGTH OF UCB
                 ?01T 00000000	   7599 		MAXUNITS=JT_UNITS,-	;FOR SANITY...CAN CHANGE
                 ?01T 00000187	   7919 		NAME=JTDRIVER		;DRIVER NAME
         X03/003 ?02T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X03/474 ?02T 00000000			.IIF NDF MACRO64$, .CROSS
         X03/003 ?02T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X04/059 ?02T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <LONG> <LONG, QUAD, NONE>
         X04/577 ?02T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X03/614 ?02T 00000000			.IIF NDF MACRO64$, .CROSS
         X01/623 ?01T 00000000		DRIVER$DPT::
         X01/014 ?01T 00000000			.LONG	0, 0
         X01/023 ?01T 00000008			.WORD	DPT$K_BASE_LEN+NAM$C_MAXRSS
         X01/031 ?01T 0000000A			.BYTE	DYN$C_DPT
         X01/032 ?01T 0000000B			.BYTE	0
         X01/041 ?01T 0000000C			.WORD	DPT$K_STEP_2
         X01/050 ?02T 0000000E			  .WORD	DPT$K_STEP2_V2
         X01/062 ?01T 00000010			.WORD	2
         X01/070 ?01T 00000012			.WORD	JT_UNITS
         X01/078 ?01T 00000014			.WORD	UCB$K_JT_LEN
         X01/086 ?01T 00000016			.WORD	0
         X01/094 ?01T 00000018			.WORD	0
         X01/102 ?01T 0000001A			.WORD	0
         X01/112 ?01T 0000001C			.LONG	DPT$M_SMPMOD!dpt$m_xpamod!DPT$M_NOUNLOAD!..SMP_FLAG..
         X01/121 ?01T 00000020			.LONG	AT$_NULL
         X01/129 ?01T 00000024			.LONG	0
         X01/138 ?01T 00000028			.ADDRESS  DRIVER$STRUC_INIT
         X01/146 ?01T 0000002C			.ADDRESS  DRIVER$STRUC_REINIT
         X01/155 ?01T 00000030			.ADDRESS  0
         X01/163 ?01T 00000034			.ADDRESS  0
         X01/171 ?01T 00000038			.ADDRESS  DDT$$BASE
         X01/179 ?01T 0000003C			.LONG	0

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  14
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/188 ?01T 00000040			.LONG	0
         X01/197 ?01T 00000044			.ADDRESS  0
         X01/207 ?01T 00000048			.ASCIC	/JTDRIVER/
         X01/217 ?01T 00000058			.LONG	0
         X01/225 ?01T 0000005C			.LONG	0
         X01/234 ?01T 00000060			.QUAD	0
         X01/243 ?01T 00000068			.WORD	NAM$C_MAXRSS
         X01/251 ?01T 0000006A			.BYTE	DSC$K_DTYPE_T
         X01/259 ?01T 0000006B			.BYTE	DSC$K_CLASS_S
         X01/267 ?01T 0000006C			.ADDRESS  DRIVER$DPT+DPT$T_IMAGE_NAME
         X01/283 ?01T 00000070			.LONG	0,0,0,0
         X01/292 ?01T 00000080			.ADDRESS  0
         X01/301 ?01T 00000084			.LONG	0
00000000 X01/319 ?02T 00000187			.IIF NDF ..SMP_FLAG.., ..SMP_FLAG.. = 0
                 ?01F 00000187	   7920 	.iff
                 ?02F 00000187	   7921 	.if ndf,vms$$v6
                 ?02F 00000187	   7922 	DPTAB	-			;DPT CREATION MACRO
                 ?02F 00000187	   7923 		END=JT_END,-		;END OF DRIVER LABEL
                 ?02F 00000187	   7924 		ADAPTER=NULL,-		;ADAPTER TYPE = NONE (VIRTUAL)
                 ?02F 00000187	   7925 		FLAGS=DPT$M_SMPMOD!DPT$M_NOUNLOAD, -	;SET TO USE SMP
                 ?02F 00000187	   7926 		DEFUNITS=2,-		;UNITS 0 THRU 1 thru 31
                 ?02F 00000187	   7927 		UCBSIZE=UCB$K_JT_LEN,-	;LENGTH OF UCB
                 ?02F 00000187	   7928 		MAXUNITS=JT_UNITS,-	;FOR SANITY...CAN CHANGE
                 ?02F 00000187	   7929 		NAME=JTDRIVER		;DRIVER NAME
                 ?02F 00000187	   7930 	.iff
                 ?02F 00000187	   7931 	DPTAB	-			;DPT CREATION MACRO
                 ?02F 00000187	   7932 		END=JT_END,-		;END OF DRIVER LABEL
                 ?02F 00000187	   7933 		ADAPTER=NULL,-		;ADAPTER TYPE = NONE (VIRTUAL)
                 ?02F 00000187	   7934 		FLAGS=DPT$M_SMPMOD!dpt$m_xpamod!DPT$M_NOUNLOAD, - ;SET TO USE SMP,xa
                 ?02F 00000187	   7935 		DEFUNITS=2,-		;UNITS 0 THRU 1 thru 31
                 ?02F 00000187	   7936 		UCBSIZE=UCB$K_JT_LEN,-	;LENGTH OF UCB
                 ?02F 00000187	   7937 		MAXUNITS=JT_UNITS,-	;FOR SANITY...CAN CHANGE
                 ?02F 00000187	   7938 		NAME=JTDRIVER		;DRIVER NAME
                 ?02F 00000187	   7939 	.endc
                 ?01F 00000187	   7940 	.endc
                 ?02T 00000016	   8054 	DPT_STORE INIT			;START CONTROL BLOCK INIT VALUES
         X01/008 ?01T 00000000		DRIVER$STRUC_INIT:
00000000 X02/030 ?02T 00000000			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/005 ?01T 00000002			MOVL	4(ap),r2
         X01/006 ?01T 00000006			MOVL	8(ap),r3
         X01/007 ?01T 0000000A			MOVL	12(ap),r4
         X01/008 ?01T 0000000E			MOVL	16(ap),r5
         X01/009 ?01T 00000012			MOVL	20(ap),r6
                      0000001E	   8055 	DPT_STORE DDB,DDB$L_ACPD,L,<^A\F11\>  ;DEFAULT ACP NAME
00000002 X01/047 ?04T 00000016			.IIF IDN <L>,<L>, op$$=2
         X01/059 ?04T 00000016			MOVL 	#<^A\F11\>, -
         X01/059 ?04T 00000016				DDB$L_ACPD(r3)
                      00000022	   8056 	DPT_STORE DDB,DDB$L_ACPD+3,B,DDB$K_PACK	;ACP CLASS
00000006 X01/049 ?04T 0000001E			.IIF IDN <B>,<B>, op$$=6
         X01/059 ?04T 0000001E			MOVB 	#<DDB$K_PACK>, -
         X01/059 ?04T 0000001E				DDB$L_ACPD+3(r3)
                 ?01F 00000022	   8057 	.IF	NDF,VMS$V5
                 ?01F 00000022	   8058 	DPT_STORE UCB,UCB$B_FIPL,B,8	;FORK IPL (VMS V4.X)
                 ?01T 00000022	   8059 	.IFF	;DEFINE FOR VMS V5.X & LATER
                 ?01T 00000026	   8060 	DPT_STORE UCB,UCB$B_FLCK,B,SPL$C_IOLOCK8  ;FORK IPL (VMS V5.X + LATER)
00000006 X01/049 ?05T 00000022			.IIF IDN <B>,<B>, op$$=6
         X01/059 ?05T 00000022			MOVB 	#<SPL$C_IOLOCK8>, -

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  15
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/059 ?05T 00000022				UCB$B_FLCK(r6)
                 ?01T 00000026	   8061 	.ENDC
                      00000026	   8062 ; These characteristics for an intercept driver shouldn't look just
                      00000026	   8063 ; like a real disk unless it is prepared to handle being mounted, etc.
                      00000026	   8064 ; Therefore comment a couple of them out.
                      00000026	   8065 	DPT_STORE UCB,UCB$L_DEVCHAR,L,-	;DEVICE CHARACTERISTICS
                      00000026	   8066 		<DEV$M_SHR-		; SHAREABLE
                      00000026	   8067 ;		!DEV$M_DIR-		; DIRECTORY STRUCTURED
                      00000026	   8068 		!DEV$M_AVL-		; AVAILABLE
                      00000026	   8069 ;		!DEV$M_FOD-		; FILES ORIENTED
                      00000026	   8070 		!DEV$M_IDV-		; INPUT DEVICE
                      00000026	   8071 		!DEV$M_ODV-		; OUTPUT DEVICE
                      0000002E	   8072 		!DEV$M_RND>		; RANDOM ACCESS
00000002 X01/047 ?04T 00000026			.IIF IDN <L>,<L>, op$$=2
         X01/059 ?04T 00000026			MOVL 	#<DEV$M_SHR		!DEV$M_AVL		!DEV$M_IDV		!DEV
         X01/059 ?04T 00000026		$M_ODV		!DEV$M_RND>, -
         X01/059 ?04T 00000026				UCB$L_DEVCHAR(r6)
                      0000002E	   8073 	DPT_STORE UCB,UCB$L_DEVCHAR2,L,- ;DEVICE CHARACTERISTICS
                      00000036	   8074 		<DEV$M_NNM>		; Prefix name with "node$" (like rp06)
00000002 X01/047 ?04T 0000002E			.IIF IDN <L>,<L>, op$$=2
         X01/059 ?04T 0000002E			MOVL 	#<DEV$M_NNM>, -
         X01/059 ?04T 0000002E				UCB$L_DEVCHAR2(r6)
                      0000003A	   8075 	DPT_STORE UCB,UCB$B_DEVCLASS,B,DC$_DISK  ;DEVICE CLASS
00000006 X01/049 ?04T 00000036			.IIF IDN <B>,<B>, op$$=6
         X01/059 ?04T 00000036			MOVB 	#<DC$_DISK>, -
         X01/059 ?04T 00000036				UCB$B_DEVCLASS(r6)
                      00000040	   8076 	DPT_STORE UCB,UCB$W_DEVBUFSIZ,W,512  ;DEFAULT BUFFER SIZE
00000004 X01/048 ?04T 0000003A			.IIF IDN <W>,<W>, op$$=4
         X01/059 ?04T 0000003A			MOVW 	#<512>, -
         X01/059 ?04T 0000003A				UCB$W_DEVBUFSIZ(r6)
                      00000040	   8077 ; FOLLOWING DEFINES OUR DEVICE "PHYSICAL LAYOUT". It's faked here.
                      00000044	   8078 	DPT_STORE UCB,UCB$B_TRACKS,B,1	; 1 TRK/CYL
00000006 X01/049 ?04T 00000040			.IIF IDN <B>,<B>, op$$=6
         X01/059 ?04T 00000040			MOVB 	#<1>, -
         X01/059 ?04T 00000040				UCB$B_TRACKS(r6)
                      00000049	   8079 	DPT_STORE UCB,UCB$B_SECTORS,B,64  ;NUMBER OF SECTORS PER TRACK
00000006 X01/049 ?04T 00000044			.IIF IDN <B>,<B>, op$$=6
         X01/059 ?04T 00000044			MOVB 	#<64>, -
         X01/059 ?04T 00000044				UCB$B_SECTORS(r6)
                      0000004D	   8080 	DPT_STORE UCB,UCB$W_CYLINDERS,W,16  ;NUMBER OF CYLINDERS
00000004 X01/048 ?04T 00000049			.IIF IDN <W>,<W>, op$$=4
         X01/059 ?04T 00000049			MOVW 	#<16>, -
         X01/059 ?04T 00000049				UCB$W_CYLINDERS(r6)
                      00000052	   8081 	DPT_STORE UCB,UCB$B_DIPL,B,8	;DEVICE IPL
00000006 X01/049 ?04T 0000004D			.IIF IDN <B>,<B>, op$$=6
         X01/059 ?04T 0000004D			MOVB 	#<8>, -
         X01/059 ?04T 0000004D				UCB$B_DIPL(r6)
                      00000052	   8082 ;	DPT_STORE UCB,UCB$B_ERTMAX,B,10	;MAX ERROR RETRY COUNT
                      00000052	   8083 	DPT_STORE UCB,UCB$L_DEVSTS,L,-	;INHIBIT LOG TO PHYS CONVERSION IN FDT
                      00000057	   8084 		<UCB$M_NOCNVRT>		;...
00000002 X01/047 ?04T 00000052			.IIF IDN <L>,<L>, op$$=2
         X01/059 ?04T 00000052			MOVL 	#<UCB$M_NOCNVRT>, -
         X01/059 ?04T 00000052				UCB$L_DEVSTS(r6)
                      00000057	   8085 ;
                      00000057	   8086 ; don't mess with LBN; leave alone so it's easier to hack on...
                      00000057	   8087 ;
                      0000006E	   8088 	DPT_STORE REINIT		;START CONTROL BLOCK RE-INIT VALUES

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  16
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/015 ?02T 00000057			RET
         X01/016 ?02T 00000058		DRIVER$STRUC_REINIT:
00000000 X02/055 ?03T 00000058			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/100 ?02T 0000005A			MOVL	4(ap),r2
         X01/101 ?02T 0000005E			MOVL	8(ap),r3
         X01/102 ?02T 00000062			MOVL	12(ap),r4
         X01/103 ?02T 00000066			MOVL	16(ap),r5
         X01/104 ?02T 0000006A			MOVL	20(ap),r6
                      0000006E	   8089 ;	DPT_STORE CRB,CRB$L_INTD+VEC$L_ISR,D,JT_INT  ;INTERRUPT SERVICE ROUTINE ADDRESS
                 ?01F 0000006E	   8090 	.if	ndf,evax
                 ?01F 0000006E	   8091 	DPT_STORE CRB,CRB$L_INTD+VEC$L_INITIAL,-  ;CONTROLLER INIT ADDRESS
                 ?01F 0000006E	   8092 		      D,JT_ctrl_INIT		  ;...
                 ?01F 0000006E	   8093 	DPT_STORE CRB,CRB$L_INTD+VEC$L_UNITINIT,- ;UNIT INIT ADDRESS
                 ?01F 0000006E	   8094 		      D,JT_unit_INIT		  ;...
                 ?01F 0000006E	   8095 	.endc
                      00000076	   8096 	DPT_STORE DDB,DDB$L_DDT,D,JT$DDT	  ;DDT ADDRESS
00000008 X01/051 ?04T 0000006E			.IIF IDN <D>,<D>, op$$=8
00000000 X01/052 ?04T 0000006E			.IIF IDN <D>,<D>, lit$$=0
         X01/059 ?04T 0000006E			MOVAB	 <JT$DDT>, -
         X01/059 ?04T 0000006E				DDB$L_DDT(r3)
                      0000007F	   8097         DPT_STORE UCB,UCB$L_UNIQID,D,driver$dpt    ;store DPT address
00000008 X01/051 ?04T 00000076			.IIF IDN <D>,<D>, op$$=8
00000000 X01/052 ?04T 00000076			.IIF IDN <D>,<D>, lit$$=0
         X01/059 ?04T 00000076			MOVAB	 <driver$dpt>, -
         X01/059 ?04T 00000076				UCB$L_UNIQID(r6)
                      0000007F	   8098 ;        DPT_STORE UCB,UCB$L_UNIQID,D,DPT$TAB    ;store DPT address
                      0000007F	   8099                                                 ; (change "XX" to device
                      0000007F	   8100                                                 ; mnemonic correct values)
                      00000088	   8101         DPT_STORE UCB,UCB$L_ICSIGN,L,magic      ; Add unique pattern (that might
00000002 X01/047 ?04T 0000007F			.IIF IDN <L>,<L>, op$$=2
         X01/059 ?04T 0000007F			MOVL 	#<magic>, -
         X01/059 ?04T 0000007F				UCB$L_ICSIGN(r6)
                      00000088	   8102                                                 ; bring back some memories in
                      00000088	   8103                                                 ; DOS-11 users)
                      00000088	   8104 
                      00000088	   8105 ; HISTORICAL NOTE: under DOS-11, one would get F012 and F024 errors
                      00000088	   8106 ; on odd address and illegal instruction traps. If we don't have
                      00000088	   8107 ; this magic number HERE, on the other hand, we're likely to see
                      00000088	   8108 ; bugchecks in VMS due to uncontrolled bashing of UCB fields!
                      00000000	   8109 	DPT_STORE END			;END OF INITIALIZATION TABLE
         X01/025 ?03T 00000088			RET
                      00000000	   8110 
                      00000000	   8111 ; 
                      00000000	   8112 ; DRIVER DISPATCH TABLE
                      00000000	   8113 ; 
                      00000000	   8114 ; 	THE DDT LISTS ENTRY POINTS FOR DRIVER SUBROUTINES WHICH ARE
                      00000000	   8115 ; 	CALLED BY THE OPERATING SYSTEM.
                      00000000	   8116 ; 
                      00000000	   8117 ;JT$DDT:
                 ?01T 00000000	   8118 	.if	df,evax
                 ?01T 00000000	   8119 	DDTAB	-			;DDT CREATION MACRO
                 ?01T 00000000	   8302 		DEVNAM=JT,-		;NAME OF DEVICE
                 ?01T 00000000	   8303 		START=JT_STARTIO,-	;START I/O ROUTINE
                 ?01T 00000000	   8304 		FUNCTB=JT_FUNCTABLE,-	;FUNCTION DECISION TABLE
                 ?01T 00000000	   8305 		CTRLINIT=JT_CTRL_INIT,-
                 ?01T 00000000	   8306 		UNITINIT=JT_UNIT_INIT,-
                 ?01T 00000000	   8307 		CANCEL=0,-		;CANCEL=NO-OP FOR FILES DEVICE

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  17
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01T 00000000	   8308 		REGDMP=0,-	;REGISTER DUMP ROUTINE
                 ?01T 00000000	   8309 		DIAGBF=0,-  ;BYTES IN DIAG BUFFER
                 ?01T 00000070	   8329 		ERLGBF=0	;BYTES IN
         X03/003 ?02T 00000000			.IIF NDF MACRO64$, .NOCROSS
         X04/059 ?02T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X04/108 ?02T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X03/145 ?02T 00000000			.IIF NDF MACRO64$, .CROSS
         X01/198 ?01T 00000000		JT$DDT::
         X01/199 ?01T 00000000		DDT$$BASE:
         X01/200 ?01T 00000000			.LONG	0
         X01/201 ?01T 00000004			.LONG	0
         X01/209 ?01T 00000008			.WORD	DDT$K_LENGTH
         X01/210 ?01T 0000000A			.WORD	0
         X01/218 ?01T 0000000C			.WORD	0
         X01/226 ?01T 0000000E			.WORD	0
         X01/234 ?01T 00000010			.WORD	FDT$K_LENGTH
         X01/236 ?01T 00000012			.WORD	0
         X02/004 ?03T 00000014			.ADDRESS	JT_STARTIO
         X01/014 ?02T 00000018			  .LONG	0
         X02/036 ?02T 0000001C			.ADDRESS	JT_CTRL_INIT
         X02/052 ?02T 00000020			.ADDRESS	JT_UNIT_INIT
         X02/066 ?02T 00000024			.ADDRESS	IOC$RETURN_SUCCESS
         X01/079 ?01T 00000028			.ADDRESS JT_FUNCTABLE
         X02/091 ?02T 0000002C			.ADDRESS	IOC$RETURN_SUCCESS
         X02/107 ?02T 00000030			.ADDRESS	IOC$RETURN_SUCCESS
         X02/124 ?03T 00000034			.ADDRESS	IOC$RETURN_SUCCESS
         X01/136 ?02T 00000038			  .LONG	0
         X02/156 ?02T 0000003C			.ADDRESS	IOC_STD$MNTVER
         X02/171 ?02T 00000040			.ADDRESS	IOC$RETURN
         X02/185 ?02T 00000044			.ADDRESS	IOC$RETURN
         X02/199 ?02T 00000048			.ADDRESS	IOC$RETURN
         X02/213 ?02T 0000004C			.ADDRESS	IOC$RETURN
         X02/227 ?02T 00000050			.ADDRESS	IOC$RETURN
         X02/243 ?02T 00000054			.ADDRESS	IOC$RETURN_UNSUPPORTED
         X02/259 ?02T 00000058			.ADDRESS	IOC$RETURN_UNSUPPORTED
         X01/272 ?01T 0000005C			.LONG	0
         X01/280 ?01T 00000060			.LONG	0
         X02/290 ?02T 00000064			.ADDRESS	IOC$RETURN
         X02/306 ?02T 00000068			.ADDRESS	IOC$RETURN_SUCCESS
         X01/319 ?01T 0000006C			.ADDRESS 0
                 ?01T 00000070	   8330 				;ERRLOG BUFFER
                 ?01F 00000070	   8331 	.iff
                 ?01F 00000070	   8332 	DDTAB	-			;DDT CREATION MACRO
                 ?01F 00000070	   8333 		DEVNAM=JT,-		;NAME OF DEVICE
                 ?01F 00000070	   8334 		START=JT_STARTIO,-	;START I/O ROUTINE
                 ?01F 00000070	   8335 		FUNCTB=JT_FUNCTABLE,-	;FUNCTION DECISION TABLE
                 ?01F 00000070	   8336 ;		CANCEL=0,-		;CANCEL=NO-OP FOR FILES DEVICE
                 ?01F 00000070	   8337 ;		REGDMP=0,-	;REGISTER DUMP ROUTINE
                 ?01F 00000070	   8338 ;		DIAGBF=0,-  ;BYTES IN DIAG BUFFER
                 ?01F 00000070	   8339 		ERLGBF=0	;BYTES IN
                 ?01F 00000070	   8340 				;ERRLOG BUFFER
                 ?01F 00000070	   8341 	.endc
                      00000070	   8342 ; 
                      00000070	   8343 ; FUNCTION DECISION TABLE
                      00000070	   8344 ; 
                      00000070	   8345 ; 	THE FDT LISTS VALID FUNCTION CODES, SPECIFIES WHICH
                      00000070	   8346 ; 	CODES ARE BUFFERED, AND DESIGNATES SUBROUTINES TO

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  18
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000070	   8347 ; 	PERFORM PREPROCESSING FOR PARTICULAR FUNCTIONS.
                      00000070	   8348 ; 
                      00000070	   8349 ; note the stuff here needs to be an octaword multiple.
                      00000070	   8350 v15a:	.address	vcstp15		;AST address for internal AST
                      00000074	   8351 kasta:	.address	jtkast		;SKAST addr for daemon to use
                      00000078	   8352 ACLlit:	.ascii	/GCEV/		;literal for our use for ACE flag
                      0000007C	   8353 	.long	0	;pad to mult. of 8
                      00000080	   8354 ; code chaining data:
                      00000080	   8355 chnflg:	.long	0	;chain or use our FDT chain flag...use ours if 0
                      00000084	   8356 myonoff:
                      00000084	   8357 fdtonoff: .long 0	;switch my fdt stuff off if non-0
                      00000088	   8358 	.ascii	/flag/	;define your own unique flag here; just leave it 4 bytes long!
                      0000008C	   8359 	.long 0		;fdt tbl from before patch
FFFFFFF4              00000090	   8360 fdt_chn  = -12
FFFFFFFC              00000090	   8361 fdt_prev = -4
FFFFFFF8              00000090	   8362 fdt_idnt = -8
                 ?01F 00000090	   8363 	.if	ndf,evax
                 ?01F 00000090	   8364 JT_FUNCTABLE:
                 ?01F 00000090	   8365 	FUNCTAB	,-			;LIST LEGAL FUNCTIONS
                 ?01F 00000090	   8366 		<NOP,-			; NO-OP
                 ?01F 00000090	   8367 		FORMAT,-		; We use format to point to file
                 ?01F 00000090	   8368 		UNLOAD,-		; UNLOAD
                 ?01F 00000090	   8369 		PACKACK,-		; PACK ACKNOWLEDGE
                 ?01F 00000090	   8370 		AVAILABLE,-		; AVAILABLE
                 ?01F 00000090	   8371 		SENSECHAR,-		; SENSE CHARACTERISTICS
                 ?01F 00000090	   8372 		SETCHAR,-		; SET CHARACTERISTICS
                 ?01F 00000090	   8373 		SENSEMODE,-		; SENSE MODE
                 ?01F 00000090	   8374 		SETMODE,-		; SET MODE
                 ?01F 00000090	   8375 		READLBLK,-		; READ LOGICAL BLOCK
                 ?01F 00000090	   8376 		WRITELBLK,-		; WRITE LOGICAL BLOCK
                 ?01F 00000090	   8377 ;		READPBLK,-		; READ PHYSICAL BLOCK 
                 ?01F 00000090	   8378 ;		WRITEPBLK,-		; WRITE PHYSICAL BLOCK
                 ?01F 00000090	   8379 		READVBLK,-		; READ VIRTUAL BLOCK
                 ?01F 00000090	   8380 		WRITEVBLK,-		; WRITE VIRTUAL BLOCK
                 ?01F 00000090	   8381 		ACCESS,-		; ACCESS FILE / FIND DIRECTORY ENTRY
                 ?01F 00000090	   8382 		ACPCONTROL,-		; ACP CONTROL FUNCTION
                 ?01F 00000090	   8383 		CREATE,-		; CREATE FILE AND/OR DIRECTORY ENTRY
                 ?01F 00000090	   8384 		DEACCESS,-		; DEACCESS FILE
                 ?01F 00000090	   8385 		DELETE,-		; DELETE FILE AND/OR DIRECTORY ENTRY
                 ?01F 00000090	   8386 		MODIFY,-		; MODIFY FILE ATTRIBUTES
                 ?01F 00000090	   8387 		MOUNT>			; MOUNT VOLUME
                 ?01F 00000090	   8388 ; no-op phys I/O for a test here...
                 ?01F 00000090	   8389 	FUNCTAB	,-			;BUFFERED FUNCTIONS
                 ?01F 00000090	   8390 		<NOP,-
                 ?01F 00000090	   8391 		FORMAT,-		; FORMAT
                 ?01F 00000090	   8392 		UNLOAD,-		; UNLOAD
                 ?01F 00000090	   8393 		PACKACK,-		; PACK ACKNOWLEDGE
                 ?01F 00000090	   8394 		AVAILABLE,-		; AVAILABLE
                 ?01F 00000090	   8395 		SENSECHAR,-		; SENSE CHARACTERISTICS
                 ?01F 00000090	   8396 		SETCHAR,-		; SET CHARACTERISTICS
                 ?01F 00000090	   8397 		SENSEMODE,-		; SENSE MODE
                 ?01F 00000090	   8398 		SETMODE,-		; SET MODE
                 ?01F 00000090	   8399 		ACCESS,-		; ACCESS FILE / FIND DIRECTORY ENTRY
                 ?01F 00000090	   8400 		ACPCONTROL,-		; ACP CONTROL FUNCTION
                 ?01F 00000090	   8401 		CREATE,-		; CREATE FILE AND/OR DIRECTORY ENTRY
                 ?01F 00000090	   8402 		DEACCESS,-		; DEACCESS FILE
                 ?01F 00000090	   8403 		DELETE,-		; DELETE FILE AND/OR DIRECTORY ENTRY

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  19
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 00000090	   8404 		MODIFY,-		; MODIFY FILE ATTRIBUTES
                 ?01F 00000090	   8405 		MOUNT>			; MOUNT VOLUME
                 ?01F 00000090	   8406 myfdtstart:
                 ?01F 00000090	   8407 	FUNCTAB	JT_ALIGN,-		;TEST ALIGNMENT FUNCTIONS
                 ?01F 00000090	   8408 		<READLBLK,-		; READ LOGICAL BLOCK
                 ?01F 00000090	   8409 		READVBLK,-		; READ VIRTUAL BLOCK
                 ?01F 00000090	   8410 		READPBLK,-
                 ?01F 00000090	   8411 ;		WRITEPBLK,-
                 ?01F 00000090	   8412 		WRITELBLK,-		; WRITE LOGICAL BLOCK
                 ?01F 00000090	   8413 		WRITEVBLK-		; WRITE VIRTUAL BLOCK
                 ?01F 00000090	   8414 		>
                 ?01F 00000090	   8415 ; io$_format + modifiers (e.g. io$_format+128) as function code
                 ?01F 00000090	   8416 ; allows one to associate a JT unit and some other device; see
                 ?01F 00000090	   8417 ; the JT_format code comments for description of buffer to be passed.
                 ?01F 00000090	   8418 	functab JT_format,-		;point to host disk
                 ?01F 00000090	   8419 		<format>
                 ?01F 00000090	   8420 ;
                 ?01F 00000090	   8421 ; First our very own filter routines
                 ?01F 00000090	   8422 ;
                 ?01F 00000090	   8423 ; Following FDT function should cover every function in the local
                 ?01F 00000090	   8424 ; FDT entries between "myfdtbgn" and "myfdtend", in this case just
                 ?01F 00000090	   8425 ; mount and modify. Its function is to switch these off or on at
                 ?01F 00000090	   8426 ; need.
                 ?01F 00000090	   8427 	Functab fdtswitch,-
                 ?01F 00000090	   8428 		<mount,modify,create,deaccess,access,delete>
                 ?01F 00000090	   8429 myfdtbgn=.
                 ?01F 00000090	   8430 ; Leave a couple of these in place as an illustration. You would of course
                 ?01F 00000090	   8431 ; need to insert your own if you're messing with FDT code, or remove these if
                 ?01F 00000090	   8432 ; you don't want to. The FDT switch logic is a waste of time and space if
                 ?01F 00000090	   8433 ; you do nothing with them...
                 ?01F 00000090	   8434 ; They don't actually do anything here, but could be added to. Throw in one
                 ?01F 00000090	   8435 ; to call some daemon at various points and it can act as a second ACP
                 ?01F 00000090	   8436 ; when control is inserted at FDT time (ahead of the DEC ACP/XQP code!)
                 ?01F 00000090	   8437 	FUNCTAB	MFYMOUNT,-		;MOUNT FUNCTION
                 ?01F 00000090	   8438 		<MOUNT>			; MOUNT VOLUME
                 ?01F 00000090	   8439 	functab accfilt,-		;Access file (open files)
                 ?01F 00000090	   8440 		<access>
                 ?01F 00000090	   8441 	functab deacfilt,-		;deaccess file (close)
                 ?01F 00000090	   8442 		<deaccess>
                 ?01F 00000090	   8443 	functab	crefilt,-		;create file
                 ?01F 00000090	   8444 		<create>
                 ?01F 00000090	   8445 	FuncTab	DelFilt,-		;delete file
                 ?01F 00000090	   8446 		<delete>
                 ?01F 00000090	   8447 	FuncTab MFYFilt,-
                 ?01F 00000090	   8448 		<MODIFY>		;modify filter (e.g. extend)
                 ?01F 00000090	   8449 myfdtend=.
                 ?01F 00000090	   8450 ; Note that if we want to allow numerous disk drivers to be patched
                 ?01F 00000090	   8451 ; by this one there is not a unique path to the original fdt
                 ?01F 00000090	   8452 ; routine. Therefore use a UCB cell for the patch, not a cell
                 ?01F 00000090	   8453 ; ahead of the FDT. That way each unit gets a good return
                 ?01F 00000090	   8454 ; path. That's why there's an "oldfdt" cell in the UCB here.
                 ?01F 00000090	   8455 ;
                 ?01F 00000090	   8456 ;
                 ?01F 00000090	   8457 ; Following contains all legal functions in mask...
                 ?01F 00000090	   8458 ; That way it can transfer all control to a "previous" FDT chain.
                 ?01F 00000090	   8459 fdtlclcnt:
                 ?01F 00000090	   8460 	FuncTab fdttoorig,-

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  20
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 00000090	   8461 		<NOP,-			; NO-OP
                 ?01F 00000090	   8462 		FORMAT,-		; We use format to point to file
                 ?01F 00000090	   8463 		UNLOAD,-		; UNLOAD
                 ?01F 00000090	   8464 		PACKACK,-		; PACK ACKNOWLEDGE
                 ?01F 00000090	   8465 		AVAILABLE,-		; AVAILABLE
                 ?01F 00000090	   8466 		SENSECHAR,-		; SENSE CHARACTERISTICS
                 ?01F 00000090	   8467 		SETCHAR,-		; SET CHARACTERISTICS
                 ?01F 00000090	   8468 		SENSEMODE,-		; SENSE MODE
                 ?01F 00000090	   8469 		SETMODE,-		; SET MODE
                 ?01F 00000090	   8470 		READLBLK,-		; READ LOGICAL BLOCK
                 ?01F 00000090	   8471 		WRITELBLK,-		; WRITE LOGICAL BLOCK
                 ?01F 00000090	   8472 		READPBLK,-		; READ PHYSICAL BLOCK 
                 ?01F 00000090	   8473 		WRITEPBLK,-		; WRITE PHYSICAL BLOCK
                 ?01F 00000090	   8474 		READVBLK,-		; READ VIRTUAL BLOCK
                 ?01F 00000090	   8475 		WRITEVBLK,-		; WRITE VIRTUAL BLOCK
                 ?01F 00000090	   8476 		ACCESS,-		; ACCESS FILE / FIND DIRECTORY ENTRY
                 ?01F 00000090	   8477 		ACPCONTROL,-		; ACP CONTROL FUNCTION
                 ?01F 00000090	   8478 		CREATE,-		; CREATE FILE AND/OR DIRECTORY ENTRY
                 ?01F 00000090	   8479 		DEACCESS,-		; DEACCESS FILE
                 ?01F 00000090	   8480 		DELETE,-		; DELETE FILE AND/OR DIRECTORY ENTRY
                 ?01F 00000090	   8481                 CRESHAD,-                       ; Create a shadow set virtual u$
                 ?01F 00000090	   8482                 DIAGNOSE,-                      ; Special pass-through function
                 ?01F 00000090	   8483                 REMSHAD,-                       ; Remove a shadow set member
                 ?01F 00000090	   8484 		DSE,-			;data security erase
                 ?01F 00000090	   8485                 SETPRFPATH,-            ;  Set preferred path
                 ?01F 00000090	   8486                 READRCT,-              ;  Read RCT block
                 ?01F 00000090	   8487                 ADDSHAD,-              ;  Add a shadow set member
                 ?01F 00000090	   8488                 SHADMV,-                ;  Invoke shadow set mount verification
                 ?01F 00000090	   8489                  SEEK,-                 ;SEEK CYLINDER
                 ?01F 00000090	   8490                  RECAL,-                ;RECALIBRATE
                 ?01F 00000090	   8491                  DRVCLR,-               ;DRIVE CLEAR
                 ?01F 00000090	   8492                  RELEASE,-              ;RELEASE PORT
                 ?01F 00000090	   8493                  OFFSET,-               ;OFFSET HEADS
                 ?01F 00000090	   8494                  RETCENTER,-            ;RETURN HEADS TO CENTERLINE
                 ?01F 00000090	   8495                  SEARCH,-               ;SEARCH FOR SECTOR
                 ?01F 00000090	   8496                  READPRESET,-           ;READ IN PRESET
                 ?01F 00000090	   8497                  WRITEHEAD,-            ;WRITE HEADER AND DATA
                 ?01F 00000090	   8498                  READHEAD,-             ;READ HEADER AND DATA
                 ?01F 00000090	   8499                  WRITECHECKH,-          ;WRITE CHECK HEADER AND DATA
                 ?01F 00000090	   8500                  STARTSPNDL,-           ;START SPINDLE
                 ?01F 00000090	   8501                 WRITETRACKD,-           ;WRITE TRACK DESCRIPTOR
                 ?01F 00000090	   8502                 READTRACKD,-            ;READ TRACK DESCRIPTOR
                 ?01F 00000090	   8503                 COPYSHAD,-             ;  Do shadow set copies
                 ?01F 00000090	   8504 		MODIFY,-		; MODIFY FILE ATTRIBUTES
                 ?01F 00000090	   8505 		MOUNT>			; MOUNT VOLUME
                 ?01F 00000090	   8506 ; Now the "standard" disk FDT routines needed to let ODS-2 work (or ods-1 !)
                 ?01F 00000090	   8507 ; (Where we are doing read - or possibly write- virtual by hand ourselves
                 ?01F 00000090	   8508 ;  we may never get to these BTW...)
                 ?01F 00000090	   8509 	FUNCTAB	+ACP$READBLK,-		;READ FUNCTIONS
                 ?01F 00000090	   8510 		<READLBLK,-		; READ LOGICAL BLOCK
                 ?01F 00000090	   8511 		READPBLK,-
                 ?01F 00000090	   8512 		READVBLK-		; READ VIRTUAL BLOCK
                 ?01F 00000090	   8513 		>
                 ?01F 00000090	   8514 	FUNCTAB	+ACP$WRITEBLK,-		;WRITE FUNCTIONS
                 ?01F 00000090	   8515 		<WRITELBLK,-		; WRITE LOGICAL BLOCK
                 ?01F 00000090	   8516 		WRITEPBLK,-
                 ?01F 00000090	   8517 		WRITEVBLK-		; WRITE VIRTUAL BLOCK

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  21
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 00000090	   8518 		>
                 ?01F 00000090	   8519 	FUNCTAB	+ACP$ACCESS,-		;ACCESS FUNCTIONS
                 ?01F 00000090	   8520 		<ACCESS,-		; ACCEESS FILE / FIND DIRECTORY ENTRY
                 ?01F 00000090	   8521 		CREATE-			; CREATE FILE AND/OR DIRECTORY ENTRY
                 ?01F 00000090	   8522 		>
                 ?01F 00000090	   8523 	FUNCTAB	+ACP$DEACCESS,-		;DEACCESS FUNCTION
                 ?01F 00000090	   8524 		<DEACCESS-		; DEACCESS FILE
                 ?01F 00000090	   8525 		>
                 ?01F 00000090	   8526 	FUNCTAB	+ACP$MODIFY,-		;MODIFY FUNCTIONS
                 ?01F 00000090	   8527 		<ACPCONTROL,-		; ACP CONTROL FUNCTION
                 ?01F 00000090	   8528 		DELETE,-		; DELETE FILE AND/OR DIRECTORY ENTRY
                 ?01F 00000090	   8529 		MODIFY-			; MODIFY FILE ATTRIBUTES
                 ?01F 00000090	   8530 		>
                 ?01F 00000090	   8531 	FUNCTAB	+ACP$MOUNT,-		;MOUNT FUNCTION
                 ?01F 00000090	   8532 		<MOUNT>			; MOUNT VOLUME
                 ?01F 00000090	   8533         FUNCTAB +EXE$LCLDSKVALID,-      ;LOCAL DISK VALID FUNCTIONS
                 ?01F 00000090	   8534                 <UNLOAD,-               ;UNLOAD VOLUME
                 ?01F 00000090	   8535                  AVAILABLE,-            ;UNIT AVAILABLE
                 ?01F 00000090	   8536                  PACKACK>               ;PACK ACKNOWLEDGE
                 ?01F 00000090	   8537 	FUNCTAB	+EXE$ZEROPARM,-		;ZERO PARAMETER FUNCTIONS
                 ?01F 00000090	   8538 		<UNLOAD,-		; UNLOAD
                 ?01F 00000090	   8539 		PACKACK,-		; PACK ACKNOWLEDGE
                 ?01F 00000090	   8540 		AVAILABLE>		; AVAILABLE
                 ?01F 00000090	   8541 	FUNCTAB	+EXE$ONEPARM,-		;ONE PARAMETER FUNCTION
                 ?01F 00000090	   8542 		<FORMAT-		; FORMAT
                 ?01F 00000090	   8543 		>
                 ?01F 00000090	   8544 	FUNCTAB	+EXE$SENSEMODE,-	;SENSE FUNCTIONS
                 ?01F 00000090	   8545 		<SENSECHAR,-		; SENSE CHARACTERISTICS
                 ?01F 00000090	   8546 		SENSEMODE-		; SENSE MODE
                 ?01F 00000090	   8547 		>
                 ?01F 00000090	   8548 	FUNCTAB	+EXE$SETCHAR,-		;SET FUNCTIONS
                 ?01F 00000090	   8549 		<SETCHAR,-		; SET CHARACTERISTICS
                 ?01F 00000090	   8550 		SETMODE-		; SET MODE
                 ?01F 00000090	   8551 		>
                 ?01F 00000090	   8552 ; This routine normally would be called to go back to our FDT chain at 
                 ?01F 00000090	   8553 ; fdtlclcnt; it lies after all normal ones would go. It transfers from the FDT
                 ?01F 00000090	   8554 ; table in the UCB to the JTdriver table. At fdtlclcnt we transfer to the 
                 ?01F 00000090	   8555 ; original driver fdt chain. Note this needs serious mods in axp step2...
                 ?01F 00000090	   8556 mybak:
                 ?01F 00000090	   8557 	FuncTab fdttoucb,-
                 ?01F 00000090	   8558 		<NOP,-			; NO-OP
                 ?01F 00000090	   8559 		FORMAT,-		; We use format to point to file
                 ?01F 00000090	   8560 		UNLOAD,-		; UNLOAD
                 ?01F 00000090	   8561 		PACKACK,-		; PACK ACKNOWLEDGE
                 ?01F 00000090	   8562 		AVAILABLE,-		; AVAILABLE
                 ?01F 00000090	   8563 		SENSECHAR,-		; SENSE CHARACTERISTICS
                 ?01F 00000090	   8564 		SETCHAR,-		; SET CHARACTERISTICS
                 ?01F 00000090	   8565 		SENSEMODE,-		; SENSE MODE
                 ?01F 00000090	   8566 		SETMODE,-		; SET MODE
                 ?01F 00000090	   8567 		READLBLK,-		; READ LOGICAL BLOCK
                 ?01F 00000090	   8568 		WRITELBLK,-		; WRITE LOGICAL BLOCK
                 ?01F 00000090	   8569 		READPBLK,-		; READ PHYSICAL BLOCK 
                 ?01F 00000090	   8570 		WRITEPBLK,-		; WRITE PHYSICAL BLOCK
                 ?01F 00000090	   8571 		READVBLK,-		; READ VIRTUAL BLOCK
                 ?01F 00000090	   8572 		WRITEVBLK,-		; WRITE VIRTUAL BLOCK
                 ?01F 00000090	   8573 		ACCESS,-		; ACCESS FILE / FIND DIRECTORY ENTRY
                 ?01F 00000090	   8574 		ACPCONTROL,-		; ACP CONTROL FUNCTION

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  22
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 00000090	   8575 		CREATE,-		; CREATE FILE AND/OR DIRECTORY ENTRY
                 ?01F 00000090	   8576 		DEACCESS,-		; DEACCESS FILE
                 ?01F 00000090	   8577 		DELETE,-		; DELETE FILE AND/OR DIRECTORY ENTRY
                 ?01F 00000090	   8578                 CRESHAD,-                       ; Create a shadow set virtual u$
                 ?01F 00000090	   8579                 DIAGNOSE,-                      ; Special pass-through function
                 ?01F 00000090	   8580                 REMSHAD,-                       ; Remove a shadow set member
                 ?01F 00000090	   8581 		DSE,-			;data security erase
                 ?01F 00000090	   8582                 SETPRFPATH,-            ;  Set preferred path
                 ?01F 00000090	   8583                 READRCT,-              ;  Read RCT block
                 ?01F 00000090	   8584                 ADDSHAD,-              ;  Add a shadow set member
                 ?01F 00000090	   8585                 SHADMV,-                ;  Invoke shadow set mount verification
                 ?01F 00000090	   8586                  SEEK,-                 ;SEEK CYLINDER
                 ?01F 00000090	   8587                  RECAL,-                ;RECALIBRATE
                 ?01F 00000090	   8588                  DRVCLR,-               ;DRIVE CLEAR
                 ?01F 00000090	   8589                  RELEASE,-              ;RELEASE PORT
                 ?01F 00000090	   8590                  OFFSET,-               ;OFFSET HEADS
                 ?01F 00000090	   8591                  RETCENTER,-            ;RETURN HEADS TO CENTERLINE
                 ?01F 00000090	   8592                  SEARCH,-               ;SEARCH FOR SECTOR
                 ?01F 00000090	   8593                  READPRESET,-           ;READ IN PRESET
                 ?01F 00000090	   8594                  WRITEHEAD,-            ;WRITE HEADER AND DATA
                 ?01F 00000090	   8595                  READHEAD,-             ;READ HEADER AND DATA
                 ?01F 00000090	   8596                  WRITECHECKH,-          ;WRITE CHECK HEADER AND DATA
                 ?01F 00000090	   8597                  STARTSPNDL,-           ;START SPINDLE
                 ?01F 00000090	   8598                 WRITETRACKD,-           ;WRITE TRACK DESCRIPTOR
                 ?01F 00000090	   8599                 READTRACKD,-            ;READ TRACK DESCRIPTOR
                 ?01F 00000090	   8600                 COPYSHAD,-             ;  Do shadow set copies
                 ?01F 00000090	   8601 		MODIFY,-		; MODIFY FILE ATTRIBUTES
                 ?01F 00000090	   8602 		MOUNT>			; MOUNT VOLUME
                 ?01T 00000090	   8603 	.iff
                 ?01T 00000090	   8604 JT_FUNCTABLE:
                 ?01T 00000198	   8623 	FDT_INI
         X01/010 ?01T 00000090		DRIVER$FDT::
         X01/018 ?01T 00000090			.LONG	0,0
         X01/033 ?01T 00000098			.ADDRESS -
         X01/033 ?01T 00000098				EXE$ILLIOFUNC
         X01/036 ?01T 0000009C			.ADDRESS -
         X01/036 ?01T 0000009C				EXE$ILLIOFUNC
         X01/039 ?01T 000000A0			.ADDRESS -
         X01/039 ?01T 000000A0				EXE$ILLIOFUNC
         X01/042 ?01T 000000A4			.ADDRESS -
         X01/042 ?01T 000000A4				EXE$ILLIOFUNC
         X01/045 ?01T 000000A8			.ADDRESS -
         X01/045 ?01T 000000A8				EXE$ILLIOFUNC
         X01/048 ?01T 000000AC			.ADDRESS -
         X01/048 ?01T 000000AC				EXE$ILLIOFUNC
         X01/051 ?01T 000000B0			.ADDRESS -
         X01/051 ?01T 000000B0				EXE$ILLIOFUNC
         X01/054 ?01T 000000B4			.ADDRESS -
         X01/054 ?01T 000000B4				EXE$ILLIOFUNC
         X01/057 ?01T 000000B8			.ADDRESS -
         X01/057 ?01T 000000B8				EXE$ILLIOFUNC
         X01/060 ?01T 000000BC			.ADDRESS -
         X01/060 ?01T 000000BC				EXE$ILLIOFUNC
         X01/063 ?01T 000000C0			.ADDRESS -
         X01/063 ?01T 000000C0				EXE$ILLIOFUNC
         X01/066 ?01T 000000C4			.ADDRESS -
         X01/066 ?01T 000000C4				EXE$ILLIOFUNC

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  23
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/069 ?01T 000000C8			.ADDRESS -
         X01/069 ?01T 000000C8				EXE$ILLIOFUNC
         X01/072 ?01T 000000CC			.ADDRESS -
         X01/072 ?01T 000000CC				EXE$ILLIOFUNC
         X01/075 ?01T 000000D0			.ADDRESS -
         X01/075 ?01T 000000D0				EXE$ILLIOFUNC
         X01/078 ?01T 000000D4			.ADDRESS -
         X01/078 ?01T 000000D4				EXE$ILLIOFUNC
         X01/081 ?01T 000000D8			.ADDRESS -
         X01/081 ?01T 000000D8				EXE$ILLIOFUNC
         X01/084 ?01T 000000DC			.ADDRESS -
         X01/084 ?01T 000000DC				EXE$ILLIOFUNC
         X01/087 ?01T 000000E0			.ADDRESS -
         X01/087 ?01T 000000E0				EXE$ILLIOFUNC
         X01/090 ?01T 000000E4			.ADDRESS -
         X01/090 ?01T 000000E4				EXE$ILLIOFUNC
         X01/093 ?01T 000000E8			.ADDRESS -
         X01/093 ?01T 000000E8				EXE$ILLIOFUNC
         X01/096 ?01T 000000EC			.ADDRESS -
         X01/096 ?01T 000000EC				EXE$ILLIOFUNC
         X01/099 ?01T 000000F0			.ADDRESS -
         X01/099 ?01T 000000F0				EXE$ILLIOFUNC
         X01/102 ?01T 000000F4			.ADDRESS -
         X01/102 ?01T 000000F4				EXE$ILLIOFUNC
         X01/105 ?01T 000000F8			.ADDRESS -
         X01/105 ?01T 000000F8				EXE$ILLIOFUNC
         X01/108 ?01T 000000FC			.ADDRESS -
         X01/108 ?01T 000000FC				EXE$ILLIOFUNC
         X01/111 ?01T 00000100			.ADDRESS -
         X01/111 ?01T 00000100				EXE$ILLIOFUNC
         X01/114 ?01T 00000104			.ADDRESS -
         X01/114 ?01T 00000104				EXE$ILLIOFUNC
         X01/117 ?01T 00000108			.ADDRESS -
         X01/117 ?01T 00000108				EXE$ILLIOFUNC
         X01/120 ?01T 0000010C			.ADDRESS -
         X01/120 ?01T 0000010C				EXE$ILLIOFUNC
         X01/123 ?01T 00000110			.ADDRESS -
         X01/123 ?01T 00000110				EXE$ILLIOFUNC
         X01/126 ?01T 00000114			.ADDRESS -
         X01/126 ?01T 00000114				EXE$ILLIOFUNC
         X01/129 ?01T 00000118			.ADDRESS -
         X01/129 ?01T 00000118				EXE$ILLIOFUNC
         X01/132 ?01T 0000011C			.ADDRESS -
         X01/132 ?01T 0000011C				EXE$ILLIOFUNC
         X01/135 ?01T 00000120			.ADDRESS -
         X01/135 ?01T 00000120				EXE$ILLIOFUNC
         X01/138 ?01T 00000124			.ADDRESS -
         X01/138 ?01T 00000124				EXE$ILLIOFUNC
         X01/141 ?01T 00000128			.ADDRESS -
         X01/141 ?01T 00000128				EXE$ILLIOFUNC
         X01/144 ?01T 0000012C			.ADDRESS -
         X01/144 ?01T 0000012C				EXE$ILLIOFUNC
         X01/147 ?01T 00000130			.ADDRESS -
         X01/147 ?01T 00000130				EXE$ILLIOFUNC
         X01/150 ?01T 00000134			.ADDRESS -
         X01/150 ?01T 00000134				EXE$ILLIOFUNC
         X01/153 ?01T 00000138			.ADDRESS -

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  24
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/153 ?01T 00000138				EXE$ILLIOFUNC
         X01/156 ?01T 0000013C			.ADDRESS -
         X01/156 ?01T 0000013C				EXE$ILLIOFUNC
         X01/159 ?01T 00000140			.ADDRESS -
         X01/159 ?01T 00000140				EXE$ILLIOFUNC
         X01/162 ?01T 00000144			.ADDRESS -
         X01/162 ?01T 00000144				EXE$ILLIOFUNC
         X01/165 ?01T 00000148			.ADDRESS -
         X01/165 ?01T 00000148				EXE$ILLIOFUNC
         X01/168 ?01T 0000014C			.ADDRESS -
         X01/168 ?01T 0000014C				EXE$ILLIOFUNC
         X01/171 ?01T 00000150			.ADDRESS -
         X01/171 ?01T 00000150				EXE$ILLIOFUNC
         X01/174 ?01T 00000154			.ADDRESS -
         X01/174 ?01T 00000154				EXE$ILLIOFUNC
         X01/177 ?01T 00000158			.ADDRESS -
         X01/177 ?01T 00000158				EXE$ILLIOFUNC
         X01/180 ?01T 0000015C			.ADDRESS -
         X01/180 ?01T 0000015C				EXE$ILLIOFUNC
         X01/183 ?01T 00000160			.ADDRESS -
         X01/183 ?01T 00000160				EXE$ILLIOFUNC
         X01/186 ?01T 00000164			.ADDRESS -
         X01/186 ?01T 00000164				EXE$ILLIOFUNC
         X01/189 ?01T 00000168			.ADDRESS -
         X01/189 ?01T 00000168				EXE$ILLIOFUNC
         X01/192 ?01T 0000016C			.ADDRESS -
         X01/192 ?01T 0000016C				EXE$ILLIOFUNC
         X01/195 ?01T 00000170			.ADDRESS -
         X01/195 ?01T 00000170				EXE$ILLIOFUNC
         X01/198 ?01T 00000174			.ADDRESS -
         X01/198 ?01T 00000174				EXE$ILLIOFUNC
         X01/201 ?01T 00000178			.ADDRESS -
         X01/201 ?01T 00000178				EXE$ILLIOFUNC
         X01/204 ?01T 0000017C			.ADDRESS -
         X01/204 ?01T 0000017C				EXE$ILLIOFUNC
         X01/207 ?01T 00000180			.ADDRESS -
         X01/207 ?01T 00000180				EXE$ILLIOFUNC
         X01/210 ?01T 00000184			.ADDRESS -
         X01/210 ?01T 00000184				EXE$ILLIOFUNC
         X01/213 ?01T 00000188			.ADDRESS -
         X01/213 ?01T 00000188				EXE$ILLIOFUNC
         X01/216 ?01T 0000018C			.ADDRESS -
         X01/216 ?01T 0000018C				EXE$ILLIOFUNC
         X01/219 ?01T 00000190			.ADDRESS -
         X01/219 ?01T 00000190				EXE$ILLIOFUNC
         X01/222 ?01T 00000194			.ADDRESS -
         X01/222 ?01T 00000194				EXE$ILLIOFUNC
                 ?01T 00000198	   8624 	FDT_BUF -	; BUFFERED functions
                 ?01T 00000198	   8644 		<NOP,-
                 ?01T 00000198	   8645 		UNLOAD,-		; UNLOAD
                 ?01T 00000198	   8646 		FORMAT,-		; FORMAT
                 ?01T 00000198	   8647 		PACKACK,-		; PACK ACKNOWLEDGE
                 ?01T 00000198	   8648 		AVAILABLE,-		; AVAILABLE
                 ?01T 00000198	   8649 		SENSECHAR,-		; SENSE CHARACTERISTICS
                 ?01T 00000198	   8650 		SETCHAR,-		; SET CHARACTERISTICS
                 ?01T 00000198	   8651 		SENSEMODE,-		; SENSE MODE
                 ?01T 00000198	   8652 		SETMODE,-		; SET MODE

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  25
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01T 00000198	   8653 		ACCESS,-		; ACCESS FILE / FIND DIRECTORY ENTRY
                 ?01T 00000198	   8654 		ACPCONTROL,-		; ACP CONTROL FUNCTION
                 ?01T 00000198	   8655 		CREATE,-		; CREATE FILE AND/OR DIRECTORY ENTRY
                 ?01T 00000198	   8656 		DEACCESS,-		; DEACCESS FILE
                 ?01T 00000198	   8657 		DELETE,-		; DELETE FILE AND/OR DIRECTORY ENTRY
                 ?01T 00000198	   8658 		MODIFY,-		; MODIFY FILE ATTRIBUTES
                 ?01T 00000198	   8659 		MOUNT>			; MOUNT VOLUME
         X01/114 ?01T 00000090			.LONG	$$BUFL,$$BUFH
                 ?01T 00000198	   8660 myfdtstart:
                 ?01T 00000198	   8661 ; io$_format + modifiers (e.g. io$_format+128) as function code
                 ?01T 00000198	   8662 ; allows one to associate a JT unit and some other device; see
                 ?01T 00000198	   8663 ; the JT_format code comments for description of buffer to be passed.
                 ?01T 00000198	   8691 	fdt_act JT_format,-		;point to host disk
                 ?01T 00000198	   8692 		<format>
         X01/041 ?03T 00000110			      .ADDRESS JT_format
                 ?01T 00000198	   8693 ;
                 ?01T 00000198	   8694 ; First our very own filter routines
                 ?01T 00000198	   8695 ;
                 ?01T 00000198	   8696 ; Following FDT function should cover every function in the local
                 ?01T 00000198	   8697 ; FDT entries between "myfdtbgn" and "myfdtend", in this case just
                 ?01T 00000198	   8698 ; mount and modify. Its function is to switch these off or on at
                 ?01T 00000198	   8699 ; need.
00000198         ?01T 00000198	   8700 myfdtbgn=.
                 ?01T 00000198	   8701 ; Leave a couple of these in place as an illustration. You would of course
                 ?01T 00000198	   8702 ; need to insert your own if you're messing with FDT code, or remove these if
                 ?01T 00000198	   8703 ; you don't want to. The FDT switch logic is a waste of time and space if
                 ?01T 00000198	   8704 ; you do nothing with them...
                 ?01T 00000198	   8705 ; They don't actually do anything here, but could be added to. Throw in one
                 ?01T 00000198	   8706 ; to call some daemon at various points and it can act as a second ACP
                 ?01T 00000198	   8707 ; when control is inserted at FDT time (ahead of the DEC ACP/XQP code!)
                 ?01T 00000198	   8708 	fdt_act	MFYMOUNT,-		;MOUNT FUNCTION
                 ?01T 00000198	   8709 		<MOUNT>			; MOUNT VOLUME
         X01/033 ?03T 0000017C			      .ADDRESS MFYMOUNT
                 ?01T 00000198	   8710 	fdt_act accfilt,-		;Access file (open files)
                 ?01T 00000198	   8711 		<access>
         X01/033 ?03T 00000160			      .ADDRESS accfilt
                 ?01T 00000198	   8712 	fdt_act deacfilt,-		;deaccess file (close)
                 ?01T 00000198	   8713 		<deaccess>
         X01/033 ?03T 00000168			      .ADDRESS deacfilt
                 ?01T 00000198	   8714 	fdt_act	crefilt,-		;create file
                 ?01T 00000198	   8715 		<create>
         X01/033 ?03T 00000164			      .ADDRESS crefilt
                 ?01T 00000198	   8716 	fdt_act	DelFilt,-		;delete file
                 ?01T 00000198	   8717 		<delete>
         X01/033 ?03T 0000016C			      .ADDRESS DelFilt
                 ?01T 00000198	   8718 	fdt_act MFYFilt,-
                 ?01T 00000198	   8719 		<MODIFY>		;modify filter (e.g. extend)
         X01/033 ?03T 00000170			      .ADDRESS MFYFilt
00000198         ?01T 00000198	   8720 myfdtend=.
                 ?01T 00000198	   8721 	.endc
                      00000198	   8722 ; Data used for templates and so on here
                      00000198	   8723 ; item list for reading ACL
                      00000198	   8724 gceacl:	.word	512			;ACL buffer is 512 bytes long
                      0000019A	   8725 	.word	atr$c_readacl		;read the whole ACL in if we can
                      0000019C	   8726 gceaba:	.long	0			;address of ACL buffer in LDT
                      000001A0	   8727 	.word	4			;get ACL length
                      000001A2	   8728 	.word	atr$c_acllength		; this item reads ACL length

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  26
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000001A4	   8729 gceala:	.long	0			; address in LDT of cell to get ACL size
                      000001A8	   8730 	.long	0,0			;terminator for item list
00000018              000001B0	   8731 gcetpl=.-gceacl				;length of template.
                      000001B0	   8732 ; Flag literal used to check for MY ACL entries.
                      000001B0	   8733 gceflg:	.ascii	/GCEV/			;use my initials...
                      000001B4	   8734 jt_ucb:
                      000001B4	   8735 jt_utb:
                      000001B4	   8736 	.rept	jt_units
                      000001B4	   8737 	.long	0
                      00000664	   8738 	.endr
                      00000664	   8739 	.long	0,0,0,0,0,0,0,0,0,0
                      0000068C	   8740 
                      00000089	   8741 	driver_code
                 ?01F 00000089	   8742 	.if	ndf,evax
                 ?01F 00000089	   8743 ; fdtswitch -
                 ?01F 00000089	   8744 ;   Based on state of "myonoff" variable either enable or disable
                 ?01F 00000089	   8745 ; my FDT processing, allowing the FDT chain to remain always intact.
                 ?01F 00000089	   8746 ; This needs to be the first of a chain of FDT entries added to the
                 ?01F 00000089	   8747 ; FDT processing of a driver.
                 ?01F 00000089	   8748 
                 ?01F 00000089	   8749 fdtswitch: .jsb_entry
                 ?01F 00000089	   8750 	tstl	fdtonoff		;global on/off
                 ?01F 00000089	   8751 	bneq	1$
                 ?01F 00000089	   8752 	rsb				;go to next FDT if null
                 ?01F 00000089	   8753 1$:	addl2	#<myfdtend-myfdtbgn>,r8	;pass our fdt codes
                 ?01F 00000089	   8754 	rsb				;return to std
                 ?01F 00000089	   8755 ; fdttoorig -
                 ?01F 00000089	   8756 ;  This entry continues FDT processing at the point after the new
                 ?01F 00000089	   8757 ; entries by returning to the original FDT chain at the point where
                 ?01F 00000089	   8758 ; that chain begins. (It is presumed that FDT entries will always be
                 ?01F 00000089	   8759 ; added ahead of existing ones due to the nonreturning nature of
                 ?01F 00000089	   8760 ; FDT processing.) This is done instead of simply duplicating the
                 ?01F 00000089	   8761 ; DEC FDT entries because in this way multiple FDT patches can
                 ?01F 00000089	   8762 ; coexist, as would be impossible if this trick were not used. As
                 ?01F 00000089	   8763 ; can be seen, its overhead is minimal.
                 ?01F 00000089	   8764 ;  The old FDT location is kept in the UCB for our device because
                 ?01F 00000089	   8765 ; that allows us to get back to different FDTs when several drivers'
                 ?01F 00000089	   8766 ; FDT chains are pointed here first.
                 ?01F 00000089	   8767 fdttoorig: .jsb_entry
                 ?01F 00000089	   8768 	pushl	r0
                 ?01F 00000089	   8769 ; (this routine gets called a fair bit and if GETJTUCB can be
                 ?01F 00000089	   8770 ;  called less, things speed up.)
                 ?01F 00000089	   8771 	jsb	getjtucb		;get UCB for JT unit from stolen
                 ?01F 00000089	   8772 					;one
                 ?01F 00000089	   8773 	tstl	r0			;r0 is return UCB
                 ?01F 00000089	   8774 	bgeq	1$			;if not negative, not a UCB
                 ?01F 00000089	   8775 	tstl	ucb$l_oldfdt(r0)	;a prior fdt exist?
                 ?01F 00000089	   8776 	beql	1$
                 ?01F 00000089	   8777         movl    ucb$l_oldfdt(r0),r8      ;point to original FDT point
                 ?01F 00000089	   8778         addl2   #<16-12>,r8      ;pass the 2 entry masks
                 ?01F 00000089	   8779 1$:                                 ;back up since sysqioreq adds 12
                 ?01F 00000089	   8780 	popl	r0
                 ?01F 00000089	   8781 2$:        rsb                      ;off to the previous FDT routines.
                 ?01F 00000089	   8782 ; fdttoucb -
                 ?01F 00000089	   8783 ;  This entry continues FDT processing at the point after the new
                 ?01F 00000089	   8784 ; entries by returning to the original FDT chain at the point where
                 ?01F 00000089	   8785 ; that chain begins. (It is presumed that FDT entries will always be

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  27
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 00000089	   8786 ; added ahead of existing ones due to the nonreturning nature of
                 ?01F 00000089	   8787 ; FDT processing.) This is done instead of simply duplicating the
                 ?01F 00000089	   8788 ; DEC FDT entries because in this way multiple FDT patches can
                 ?01F 00000089	   8789 ; coexist, as would be impossible if this trick were not used. As
                 ?01F 00000089	   8790 ; can be seen, its overhead is minimal.
                 ?01F 00000089	   8791 ;  The old FDT location is kept in the UCB for our device because
                 ?01F 00000089	   8792 ; that allows us to get back to different FDTs when several drivers'
                 ?01F 00000089	   8793 ; FDT chains are pointed here first.
                 ?02F 00000089	   8794 	.if	df,evax
                 ?02F 00000089	   8795 fdttoucb: .jsb_entry output=<r8>
                 ?02F 00000089	   8796 	.iff
                 ?02F 00000089	   8797 fdttoucb:
                 ?02F 00000089	   8798 	.endc
                 ?01F 00000089	   8799 	pushl	r0
                 ?01F 00000089	   8800 ; (this routine gets called a fair bit and if GETJFUCB can be
                 ?01F 00000089	   8801 ;  called less, things speed up.)
                 ?01F 00000089	   8802 	movab	myfdtstart,r8
                 ?01F 00000089	   8803 	subl2	#12,r8			;start at our FDT entries
                 ?01F 00000089	   8804 ; note sysqioreq adds 12 so we start 12 bytes earlier.
                 ?01F 00000089	   8805 1$:                                 ;back up since sysqioreq adds 12
                 ?01F 00000089	   8806 	popl	r0
                 ?01F 00000089	   8807 2$:        rsb                      ;off to the previous FDT routines.
                 ?01F 00000089	   8808 	.endc
                      00000089	   8809 ;
                      00000089	   8810 ; GETJTUCB - Find JT: UCB address, given r5 points to UCB of the patched
                      00000089	   8811 ; device. Return the UCB in R0, which should return 0 if we can't find
                      00000089	   8812 ; it.
                      00000089	   8813 ;   This routine is called a lot and therefore is made as quick as
                      00000089	   8814 ; it well can be, especially for the usual case.
                      00000089	   8824 getjtucb: .jsb_entry output=<r0>
                      00000089	   8825 ;	clrl	r0	;no UCB initially found
                      00000089	   8826 	pushl	r10
                      0000008B	   8827 	pushl	r11	;faster than pushr supposedly
                      0000008D	   8828 ;	pushr	#^m<r10,r11>
                      0000008D	   8829 ; Assumes that R5 is the UCB address of the device that has had some
                      0000008D	   8830 ; code intercepted and that we are in some bit of code that knows
                      0000008D	   8831 ; it is in an intercept driver. Also assumes R11 may be used as
                      0000008D	   8832 ; scratch registers (as is true in FDT routines). Control returns at
                      0000008D	   8833 ; label "err" if the DDT appears to have been clobbered by
                      0000008D	   8834 ; something not following this standard, if conditional "chk.err"
                      0000008D	   8835 ; is defined.
                      0000008D	   8836 ;       Entry: R5 - victim device UCB address
                      0000008D	   8837 ;       Exit: R11 - intercept driver UCB address
00000000              0000008D	   8838 chk.err=0
                      0000008D	   8839         movl    ucb$l_ddt(r5),r10       ;get the DDT we currently have
                      00000092	   8840 ; note we know our virtual driver's DPT address!!!
                      00000092	   8841         movab   driver$dpt,r11              ;magic pattern is DPT addr.
                      00000099	   8842 ; lock this section with forklock so we can safely remove
                      00000099	   8843 ; entries at fork also. Use victim device forklock.
                      00000099	   8844 ; (don't preserve r0 since we clobber it anyway.)
                      000000B7	   8924         forklock lock=ucb$b_flck(r5),savipl=-(sp),preserve=NO
         X01/023 ?01T 00000099			     MFPR	S^#PR$_IPL,-(sp)
         X01/033 ?02T 0000009C				MOVZBL	ucb$b_flck(r5),R0
         X01/046      000000A0			BLBC	SMP$GL_FLAGS,30001$
         X01/048      000000A7			JSB	G^SMP$ACQUIRE
         X01/049      000000AD			BRB	30002$
         X01/050      000000AF		30001$:

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  28
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X02/005 ?01T 000000AF				MTPR	SMP$AL_IPLVEC[R0],S^#PR$_IPL
         X01/028      000000B7		30002$:
                      000000B7	   8925 2$:     cmpl    <ucb$l_uniqid-ucb$a_vicddt>(r10),R11
                      000000BB	   8926                                         ;this our own driver?
                      000000BB	   8927 ;        beql    1$                      ;if eql yes, end search
                      000000BB	   8928 ;
                      000000BB	   8929 ; The somewhat odd layout here removes extra branches in the
                      000000BB	   8930 ; most common case, i.e., finding our driver the very first time
                      000000BB	   8931 ; through. The "bneq" branch next time is usually NOT taken.
                      000000BB	   8932 ;
                      000000BB	   8933 	bneq	5$			;check next in chain if not us
                      000000BD	   8934 ; At this point R10 contains the DDT address within the intercept
                      000000BD	   8935 ; driver's UCB. Return the address of the intercept driver's UCB next.
                      000000BD	   8936         movab   <0-ucb$a_vicddt>(r10),r11       ;point R11 at the intercept UCB
                      000000C2	   8937 ;	brb	4$	; note in this layout we can comment this out.
                      000000C2	   8938 4$:
                      000000D6	   8987         forkunlock lock=ucb$b_flck(r5),newipl=(sp)+,preserve=NO
         X01/021      000000C2			BLBC	SMP$GL_FLAGS,30003$
         X01/030 ?02T 000000C9				MOVZBL	ucb$b_flck(r5),R0
         X01/044 ?01T 000000CD			    JSB		G^SMP$RELEASE
         X01/051      000000D3		30003$:
         X01/053 ?01T 000000D3			    MTPR	(sp)+,S^#PR$_IPL
                      000000D6	   8988 ; NOW clobber r0 and put things back.
                      000000D6	   8989 	movl	r11,r0
                      000000D9	   8990 ;	popr	#^m<r10,r11>
                      000000D9	   8991 	popl	r11
                      000000DC	   8992 	popl	r10	;supposedly faster than popr
                      000000DF	   8993 	rsb
                      000000E0	   8994 ; Make very sure this DDT is inside a UCB bashed according to our
                      000000E0	   8995 ; specs. The "p.magic" number reflects some version info too.
                      000000E0	   8996 ; If this is not so, not much sense searching more.
                      000000E0	   8997 5$:     cmpl    <ucb$l_icsign-ucb$a_vicddt>(r10),#p.magic
                      000000E8	   8998         bneq    3$                     ;exit if this is nonstd bash
                      000000EA	   8999 ; follow DDT block chain to next saved DDT.
                      000000EA	   9000         movl    <ucb$l_prevddt-ucb$a_vicddt>(r10),r10
                      000000EE	   9001                                         ;point R10 at the next DDT in the
                      000000EE	   9002 					;chain
                      000000EE	   9003         bgeq    3$                     ; (error check if not negative)
                      000000F0	   9004         brb     2$                      ;then check again
                      000000F2	   9005 ;1$:
                      000000F2	   9006 3$:
                      000000F2	   9007 	clrl	r11	;return 0 if nothing found
                      000000F4	   9008 	brb	4$
                      000000F6	   9009 ;
                      000000F6	   9010 ; Few macros for long distance branches...
                      000000F6	   9011 ;
                      000000F6	   9012 	.macro	beqlw	lbl,?lbl2
                      000000F6	   9013 	bneq	lbl2
                      000000F6	   9014 	brw	lbl
                      000000F6	   9015 lbl2:
                      000000F6	   9016 	.endm
                      000000F6	   9017 	.macro	bneqw	lbl,?lbl2
                      000000F6	   9018 	beql	lbl2
                      000000F6	   9019 	brw	lbl
                      000000F6	   9020 lbl2:
                      000000F6	   9021 	.endm
                      000000F6	   9022 	.macro	bleqw	lbl,?lbl2

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  29
V01H                            STANDARD TABLES                  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000000F6	   9023 	bgtr	lbl2
                      000000F6	   9024 	brw	lbl
                      000000F6	   9025 lbl2:
                      000000F6	   9026 	.endm
                      000000F6	   9027 	.macro	bgeqw	lbl,?lbl2
                      000000F6	   9028 	blss	lbl2
                      000000F6	   9029 	brw	lbl
                      000000F6	   9030 lbl2:
                      000000F6	   9031 	.endm
                      000000F6	   9032 ; allocate does not zero its result area.
                      000000F6	   9033 ; This macro makes it easy to zero an allocated area before using it.
                      000000F6	   9034 ; Leaves no side effects...just zeroes the area for "size" bytes
                      000000F6	   9035 ; starting at "addr".
                      000000F6	   9036 	.macro	zapz	addr,size
                      000000F6	   9037 	pushr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
                      000000F6	   9038 	movc5	#0,addr,#0,size,addr
                      000000F6	   9039 	popr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
                      000000F6	   9040 	.endm
                      000000F6	   9041 ;
                      000000F6	   9042 	.SBTTL Our FDT Filter Routines
                      000000F6	   9043 ; These routines are edited from the JTdriver versions to call
                      000000F6	   9044 ; getJTucb, assuming they are called with R5 pointing at the patched
                      000000F6	   9045 ; driver's UCB.
                      000000F6	   9046 ; INPUTS:
                      000000F6	   9047 ; 
                      000000F6	   9048 ; 	R3	- IRP ADDRESS (I/O REQUEST PACKET)
                      000000F6	   9049 ; 	R4	- PCB ADDRESS (PROCESS CONTROL BLOCK)
                      000000F6	   9050 ; 	R5	- UCB ADDRESS (UNIT CONTROL BLOCK)
                      000000F6	   9051 ; 	R6	- CCB ADDRESS (CHANNEL CONTROL BLOCK)
                      000000F6	   9052 ; 	R7	- BIT NUMBER OF THE I/O FUNCTION CODE
                      000000F6	   9053 ; 	R8	- ADDRESS OF FDT TABLE ENTRY FOR THIS ROUTINE
                      000000F6	   9054 ; 	(AP)	- ADDRESS OF FIRST QIO PARAMETER
                      000000F6	   9055 ; Filter routines.
                      000000F6	   9056 ; These do the interesting stuff.
                      000000F6	   9057 ;
                      000000F6	   9058 ;AccFilt: Handles open (io$_access) requests.
                      000000F6	   9059 ; Operation:
                      000000F6	   9060 ; 1. Check that access is really OK here (not our own daemons, not
                      000000F6	   9061 ;	our own internal I/O, either dummy FID to call daemon at once
                      000000F6	   9062 ;	or not in our job, and that function has io$m_access bit
                      000000F6	   9063 ;	set if not a bogus fid (& relevant fcnmsk bit).
                      000000F6	   9064 ; 2. Store the I/O context (registers etc.) in a structure called
                      000000F6	   9065 ;	our Local Data Table (LDT)
                      000000F6	   9066 ; (note: skip 2-5 if dummy FID & just call daemon if needed)
                      000000F6	   9067 ; 3. Start an i/o thread to read the ACL in. Note we make mainline wait
                      000000F6	   9068 ;	via waitfor ef#31 and loop till our local data structure says
                      000000F6	   9069 ;	we got r0 return from USER'S i/o. Flag nodelete till done
                      000000F6	   9070 ;	unless it was set at start. Use per-process counter to do
                      000000F6	   9071 ;	the nodelete state right.
                      000000F6	   9072 ; 4. If our ACE is there (3rd long containing "GCEV") then store it in
                      000000F6	   9073 ;	our structure for later. Junk stuff we don't need any more.
                      000000F6	   9074 ; 5. ASTs (knl, -> sp. knl) of internal I/O get to skast state.
                      000000F6	   9075 ; 6. If ACE says to call daemon, or if ACL not all there and our ACE not
                      000000F6	   9076 ;	seen, call daemon (in latter case flagging to read ACL one ACE at
                      000000F6	   9077 ;	a time)
                      000000F6	   9078 ; 7. Either direct or from SKAST from daemon return, restore regs
                      000000F6	   9079 ;	& context and issue user i/o. Unblock mainline once we get

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  30
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000000F6	   9080 ;	r0 status from that i/o (return approp. value) and undo
                      000000F6	   9081 ;	no-delete, no-suspend flagging of process. Free knl stuff if
                      000000F6	   9082 ;	no need for it, or leave it for delete FDT processing.
                      000000F6	   9083 ;
                      00000108	   9128 AccFilt: $driver_fdt_entry
00000000 X02/073 ?02T 000000F6			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/129 ?01T 000000F8			MOVL	FDTARG$_IRP(AP),R3
         X01/130 ?01T 000000FC			MOVL	FDTARG$_PCB(AP),R4
         X01/131 ?01T 00000100			MOVL	FDTARG$_UCB(AP),R5
         X01/132 ?01T 00000104			MOVL	FDTARG$_CCB(AP),R6
                      00000108	   9129 ; skip kernel channels
                      00000108	   9130 	bitb	#3,irp$b_rmod(r3)	;see if any nonknl bits are there
                      0000010C	   9131 	bneq	1$			;if neq yes, ok to continue
                      0000010E	   9132 2$:
                      0000010E	   9133 	bsbw	pors
                      00000111	   9134 	ret
                      00000112	   9135 ;	brw pors			;no, cannot munge knl packet
                      00000112	   9136 1$:
                      00000112	   9137 ; Also check quotas like the DEC FDT routines do to ensure quotas are
                      00000112	   9138 ; not going to be violated. No need to go further if so.
                      00000112	   9139 	movl	pcb$l_jib(r4),r1	;get the JIB
                 ?01T 00000117	   9140 	.if	df,evax
                 ?01T 00000117	   9141 	tstl	jib$l_filcnt(r1)	;got any files left?
                 ?01F 0000011A	   9142 	.iff
                 ?01F 0000011A	   9143 	tstw	jib$w_filcnt(r1)	;got any files left?
                 ?01F 0000011A	   9144 	.endc
                      0000011A	   9145 	bleq	2$			;no, skip now.
                      0000011C	   9146 ;check device not mounted, mounted, shadowset part etc.
                      0000011C	   9147 	bbs	#dev$v_dmt,ucb$l_devchar(r5),2$
                      00000121	   9148 	bbc	#dev$v_mnt,ucb$l_devchar(r5),2$
                      00000126	   9149 	bitl	#<DEV$M_SSM!DEV$M_SHD>,ucb$l_devchar2(r5)
                      0000012E	   9150 	bneq	2$
                      00000130	   9151 	bbs	#dev$v_for,ucb$l_devchar(r5),2$
                      00000135	   9152 ; Quotas and so on look OK. Can't economically check more here.
                      00000135	   9153 	pushr	#^m<r0,r5>
                      00000137	   9154 ; original r5 now at 4(sp). Must get that to continue the ops.
                      00000137	   9155 	jsb	getJTucb		;find JTdriver ucb
                      0000013B	   9156 	tstl	r0
                      0000013D	   9157 	blss	509$
                      0000013F	   9158 	popr	#^m<r0,r5>
                      00000141	   9159 	bsbw	popout
                      00000144	   9160 	ret
                      00000145	   9161 509$:
                      00000145	   9162 ;	bgeqw	popout
                 ?01T 00000145	   9163 	.iif df,msetrp,movl #1,mtp$trace(r0)
                      0000014A	   9164 	movl	r5,ucb$l_backlk(r0)	;save link'd ucb in ours too.
                      0000014F	   9165 	movl	r0,r5			;point R5 at JT UCB
                      00000152	   9166 	bitl	#1,ucb$l_ctlflgs(r5)	;doing this filtering?
                      00000157	   9167 	bneq	1509$
                      00000159	   9168 	popr	#^m<r0,r5>
                      0000015B	   9169 	bsbw	popout
                      0000015E	   9170 	ret
                      0000015F	   9171 1509$:
                      0000015F	   9172 ;	beqlw	popout
                      0000015F	   9173 ; Make sure this isn't one of OUR daemons
                 ?01T 0000015F	   9174 	.iif df,msetrp,movl #2,mtp$trace(r5)
                 ?01T 00000164	   9175 	.iif df,msetrp,movl r3,mtp$irp(r5)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  31
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000169	   9176 	cmpl	pcb$l_pid(r4),ucb$l_daemon(r5)	;open etc. daemon?
                      00000170	   9177 	bneq	2509$
                      00000172	   9178 3509$:	popr	#^m<r0,r5>
                      00000174	   9179 	bsbw	popout
                      00000177	   9180 	ret
                      00000178	   9181 2509$:
                      00000178	   9182 ;	beqlw	popout
                      00000178	   9183 	cmpl	pcb$l_pid(r4),ucb$l_exdmn(r5)	;not extend daemon
                      00000184	   9184 	beqlw	3509$
         X01/001      0000017F			bneq	30004$
         X01/002      00000181			brw	3509$
         X01/003      00000184		30004$:
                      00000184	   9185 	cmpl	pcb$l_pid(r4),ucb$l_deldmn(r5)
                      00000190	   9186 	beqlw	3509$			;not delete daemon
         X01/001      0000018B			bneq	30005$
         X01/002      0000018D			brw	3509$
         X01/003      00000190		30005$:
                      00000190	   9187 	cmpl	pcb$l_pid(r4),ucb$l_exempt(r5)	;exempted pid?
                      0000019C	   9188 	beqlw	3509$
         X01/001      00000197			bneq	30006$
         X01/002      00000199			brw	3509$
         X01/003      0000019C		30006$:
                      0000019C	   9189 	cmpl	pcb$l_pid(r4),ucb$l_exempt+4(r5) ;exempted pid?
                      000001A8	   9190 	beqlw	3509$
         X01/001      000001A3			bneq	30007$
         X01/002      000001A5			brw	3509$
         X01/003      000001A8		30007$:
                      000001A8	   9191 	cmpl	pcb$l_pid(r4),ucb$l_exempt+8(r5) ;exempted pid?
                      000001B4	   9192 	beqlw	3509$
         X01/001      000001AF			bneq	30008$
         X01/002      000001B1			brw	3509$
         X01/003      000001B4		30008$:
                      000001B4	   9193 	cmpl	pcb$l_pid(r4),ucb$l_exempt+12(r5) ;exempted pid?
                      000001C0	   9194 	beqlw	3509$
         X01/001      000001BB			bneq	30009$
         X01/002      000001BD			brw	3509$
         X01/003      000001C0		30009$:
                      000001C0	   9195 ;make sure not a knl mode channel (leave the XQP channel alone!!!)
                 ?01T 000001C0	   9196 	.iif df,msetrp,movl #3,mtp$trace(r5)
                      000001C5	   9197 	cmpb	ccb$b_amod(r6),#1	;this the XQP's chnl?
                      000001C9	   9198 ; if less than 1 skip too...though that isn't supposed to happen
                      000001CE	   9199 	bleqw	3509$			; if so scram NOW.
         X01/001      000001C9			bgtr	30010$
         X01/002      000001CB			brw	3509$
         X01/003      000001CE		30010$:
                      000001CE	   9200 	bitl	#1024,ucb$l_ctlflgs(r5)	; checking for bogus FIDs?
                      000001D7	   9201 	beql	3$			; if eql no
                 ?01T 000001D9	   9202 	.if	df,evax
                 ?01T 000001D9	   9203 	movl	irp$l_qio_p1(r3),r0	;get P1 param
                 ?01F 000001DD	   9204 	.iff
                 ?01F 000001DD	   9205 	movl	p1(ap),r0
                 ?01F 000001DD	   9206 	.endc
                      000001DD	   9207 	beql	3$
                      000001DF	   9208 	movl	4(r0),r0		;point at user FIB
                      000001E3	   9209 	beql	3$			; skip if none there
                      000001E5	   9210 ; fid = fileno, fileseq, rvn, filenohi
                      000001E5	   9211 ; if filenohi .gt.128 and rvn .gt.128 as unsigned numbers then

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  32
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000001E5	   9212 ; treat the operation here.
                      000001E5	   9213 ; Other h.o. bits are used to act as device switches here if this
                      000001E5	   9214 ; is selected. This requires of course that real volume sets
                      000001E5	   9215 ; be limited to maybe 32 volumes and that real maxfiles be less
                      000001E5	   9216 ; than the 24 bits' worth, for those volumes monitored here. Since
                      000001E5	   9217 ; this monitor is per disk, the function CAN just be disabled on large
                      000001E5	   9218 ; volume sets.
                      000001E5	   9219 	bitb	#128,fib$w_fid+4(r0)	;rvn bit set?
                      000001EA	   9220 	beql	3$
                      000001EC	   9221 	bitb	#128,fib$w_fid+5(r0)	;hi fileno set?
                      000001F1	   9222 	bneq	4$			;if so skip open funct. test
                      000001F3	   9223 3$:
                 ?01T 000001F3	   9224 	.if	df,evax
                 ?01T 000001F3	   9225 	bitl	#<io$m_access>,irp$l_func(r3)	; see if this is really an OPEN
                 ?01F 000001FB	   9226 	.iff
                 ?01F 000001FB	   9227 	bitw	#<io$m_access>,irp$w_func(r3)	; see if this is really an OPEN
                 ?01F 000001FB	   9228 	.endc
                      00000200	   9229 	beqlw	3509$			;if not, scram
         X01/001      000001FB			bneq	30011$
         X01/002      000001FD			brw	3509$
         X01/003      00000200		30011$:
                      00000200	   9230 	brb	93$
                      00000202	   9231 4$:
                      00000202	   9232 ; If here, we have a file id that appears fake and are flagging
                      00000202	   9233 ; such. Arrange to call the daemon in that case.
                      00000202	   9234 ; Note no LDT exists yet, so we'll do tests later, before issuing
                      00000202	   9235 ; our own i/o, to test this.
                      00000202	   9236 93$:
                      00000202	   9237 ; Ensure the file is not already open too, like DEC FDT routines do.
                 ?01T 00000202	   9238 	.iif df,msetrp,movl #5,mtp$trace(r5)
                      00000207	   9239 	tstl	ccb$l_wind(r6)		;if a window exists, open now
                      0000020F	   9240 	bneqw	3509$			;so scram fast.
         X01/001      0000020A			beql	30012$
         X01/002      0000020C			brw	3509$
         X01/003      0000020F		30012$:
                      0000020F	   9241 ;
                      0000020F	   9242 ; Now ensure that this call is not in the same JOB as the daemon.
                      0000020F	   9243 ; (This lets the daemon spawn processes to do some work.)
                      0000020F	   9244 	pushr	#^m<r6,r7,r8,r9,r10,r11>	;get some regs
                      00000213	   9245 	movl	ucb$l_daemon(r5),r10	;get the daemon PID
                      00000218	   9246 	bleq	5$
                      0000021A	   9247 	movzwl	r10,r7			;get process index
                      0000021D	   9248 ; like code in FQdriver...
                      0000021D	   9249 	movl	 g^sch$gl_pcbvec,r6	;get pcb vector
                      00000224	   9250 	movl	(r6)[r7],r8		;get a PCB address
                      00000228	   9251 	tstl	r8			;ensure a system addr
                      0000022A	   9252 	bgeq	5$			;skip if not
                      0000022C	   9253 	cmpl	r10,pcb$l_pid(r8)	;be sure this is the daemon process
                      00000231	   9254 	bneq	5$			;else skip
                      00000233	   9255 ; ok, we for sure have the daemon's PCB now. See if the JIBs match
                      00000233	   9256 	cmpl	pcb$l_jib(r8),pcb$l_jib(r4)	;same JIB as daemon's?
                      0000023A	   9257 	bneq	5$			;if not, don't skip out
                      0000023C	   9258 	popr	#^m<r6,r7,r8,r9,r10,r11>	;get regs back now
                      00000240	   9259 48$:	brw	3509$			;then buzz off
                      00000243	   9260 5$:
                      00000243	   9261 	popr	#^m<r6,r7,r8,r9,r10,r11>	;get regs back now
                      00000247	   9262 ; Ensure this is not our own internal IRP by checking vs the AST address in

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  33
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000247	   9263 ; the IRP.
                 ?01T 00000247	   9264 	.iif df,msetrp,movl #6,mtp$trace(r5)
                      0000024C	   9265 	movab	vcstp15,v15a
                      00000257	   9266 	cmpl	v15a,irp$l_ast(r3)	;our IRP should be skipped
                      00000264	   9267 	beqlw	3509$
         X01/001      0000025F			bneq	30013$
         X01/002      00000261			brw	3509$
         X01/003      00000264		30013$:
                      00000264	   9268 ;
                      00000264	   9269 ; Add "keep private volumes really private" by seeing if the volume
                      00000264	   9270 ; owner (ucb$l_pid) is nonzero and if it is, if it does not match
                      00000264	   9271 ; irp$l_pid then fail this i/o.
                 ?01T 00000264	   9272 	.if	df,real_pvt
                 ?01T 00000264	   9273 	pushl	r0
                 ?01T 00000266	   9274 	bitl	#2048,ucb$l_ctlflgs(r5)	;2048 bit means keep pvt dvc pvt
                 ?01T 0000026F	   9275 	beql	148$
                 ?01T 00000271	   9276 	movl	ucb$l_backlk(r5),r0	;get original ucb
                 ?01T 00000276	   9277 	tstl	ucb$l_pid(r5)		;device owned by a pid?
                 ?01T 00000279	   9278 	beql	148$			;if eql no, skip out
                 ?01T 0000027B	   9279 	tstl	irp$l_pid(r3)		;can't check internal irps
                 ?01T 0000027E	   9280 	blss	148$
                 ?01T 00000280	   9281 	cmpl	irp$l_pid(r3),ucb$l_pid(r5)	;this i/o from owner?
                 ?01T 00000285	   9282 	beql	148$			;yah...let it by
                 ?01T 00000287	   9283 ; I/O from someone else. Return error...
                 ?01T 00000287	   9284 	popl	r0
                 ?01T 0000028A	   9285 	popr	#^m<R0,R5>		;restore regs now
                 ?01T 0000028C	   9286 	movl	#ss$_nopriv,r0		;this is the error
                 ?01T 0000029F	   9305 	call_abortio
         X01/007 ?01T 0000028F			PUSHL	R0
         X01/008 ?01T 00000291			PUSHL	R5
         X01/009 ?01T 00000293			PUSHL	R4
         X01/010 ?01T 00000295			PUSHL	R3
         X01/011 ?01T 00000297			CALLS	#4,G^EXE_STD$ABORTIO
         X01/014 ?02T 0000029E			RET
                 ?01T 0000029F	   9306 ;	ret
                 ?01T 0000029F	   9307 ;	jmp	g^exe$abortio		;so stop the open HERE.
                 ?01T 0000029F	   9308 148$:
                 ?01T 0000029F	   9309 	popl	r0
                 ?01T 000002A2	   9310 	.endc
                      000002A2	   9311 ; if we want to check only files in our store, do the following...
                      000002A2	   9312 ; In some cases this will reduce overhead a LOT.
                 ?01T 000002A2	   9313 	.iif df,msetrp,movl #7,mtp$trace(r5)
                      000002A7	   9314 	bitl	#^x40000,ucb$l_ctlflgs(r5)	;check magic bit
                      000002B0	   9315 	beql	50$
                      000002B2	   9316 	pushr	#^m<r0,r1,r2,r3>	;need some regs
                 ?01T 000002B4	   9317 	.if	df,evax
                 ?01T 000002B4	   9318 	movl	irp$l_qio_p1(r5),r0	;get FIB desc
                 ?01F 000002B8	   9319 	.iff
                 ?01F 000002B8	   9320 	movl	p1(ap),r0
                 ?01F 000002B8	   9321 	.endc
                      000002B8	   9322 	beql	47$
                      000002BA	   9323 	movl	4(r0),r0		;get fib addr
                      000002BE	   9324 	beql	47$
                      000002C0	   9325 	movzwl	fib$w_fid(r0),r1	;get file number (check numbers
                      000002C4	   9326 					; to save space)
                      000002C4	   9327 	beql	47$			; look, don't skip, if no filenum
                 ?01F 000002C6	   9328 	.if	df,wd.lst

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  34
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 000002C6	   9329 	movl	#f.nums,r2		; get size of store
                 ?01F 000002C6	   9330 	movab	ucb$l_fnums(r5),r3	; point at store
                 ?01F 000002C6	   9331 49$:	cmpw	(r3)+,r1		; same file number?
                 ?01F 000002C6	   9332 	beql	47$			; if so go ahead
                 ?01F 000002C6	   9333 	sobgtr	r2,49$
                 ?01T 000002C6	   9334 	.iff	;bitmap
                 ?02F 000002C6	   9335 	.iif	ndf,f.nums,f.nums=16
                 ?02F 000002C6	   9336 	.iif	ndf,f.nsiz,f.nsiz=2048
                 ?01T 000002C6	   9337 	movl	#f.nsiz,r2		; size of array
                 ?01T 000002CD	   9338 	movl	ucb$l_fnums(r5),r3	; get storage area
                 ?01T 000002D2	   9339 	beql	47$			; no bitmap means look
                 ?01T 000002D4	   9340 ; r1 is file number...
FFFFC000         ?02T 000002D4	   9341 	.iif	ndf,f.mask,f.mask=-16384 ;max bits to use in bitmap check
                 ?01T 000002D4	   9342 	bicl	#f.mask,r1		;clear extra bits
                 ?01T 000002DB	   9343 	ashl	#-3,r1,r2		;r2 gets byte offset into bitmap
                 ?01T 000002E0	   9344 	addl3	r3,r2,r0		;get the address
                 ?01T 000002E4	   9345 	bicl	#-8,r1			;isolate bit in byte now (0-7)
                 ?01T 000002EB	   9346 	bbs	r1,(r0),47$		;if the bit is zero, not here
                 ?01T 000002EF	   9347 					;if the bit is set, though, go fer it
                 ?01T 000002EF	   9348 	.endc
                      000002EF	   9349 ; fall thru...no match
                      000002EF	   9350 	popr	#^m<r0,r1,r2,r3>
                      000002F1	   9351 	popr	#^m<r0,r5>
                      000002F3	   9352 	bsbw	popout
                      000002F6	   9353 	ret
                      000002F7	   9354 47$:
                      000002F7	   9355 	popr	#^m<r0,r1,r2,r3>
                      000002F9	   9356 50$:
                      000002F9	   9357 ; Looks like we need to deal with this IRP.
                      000002F9	   9358 ; First allocate some space to save the I/O context and find where this
                      000002F9	   9359 ; operation's LDT should be added.
                      000002F9	   9360 ; Do this from device IPL and save registers since we need them here.
                      000002F9	   9361 	pushl	r0
                      000002FB	   9362 	pushl	r1
                      000002FD	   9363 	pushr	#^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000301	   9473 	devicelock lockaddr=ucb$l_dlck(r5), -
                 ?03T 0000031F	   9516 	 lockipl=ucb$b_dipl(r5),preserve=YES
         X03/003 ?01T 00000301			.IIF NDF MACRO64$, .NOCROSS
         X04/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X04/180 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X03/217 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
         X01/247 ?01T 00000301			 BLBC	SMP$GL_FLAGS,30014$
         X02/001 ?03T 00000308		        EVAX_STQ  R0, -(SP)
         X01/008 ?03T 0000030B			   MOVL	ucb$l_dlck(r5),R0
         X01/017 ?02T 0000030F			  JSB	SMP$ACQUIREL
         X02/001 ?03T 00000315		        EVAX_LDQ  R0, (SP)+
         X01/007 ?02T 00000318			  BRB	30015$
         X01/009 ?01T 0000031A		30014$:
         X02/016 ?03T 0000031A				MTPR	ucb$b_dipl(r5),S^#PR$_IPL
         X01/040 ?01T 0000031F		30015$:
                 ?01T 0000031F	   9517 	.iif df,msetrp,movl #8,mtp$trace(r5)
                      00000324	   9518 	jsb	findldt			;get our LDT if any. (normally none)
                      0000032A	   9519 	tstl	r0			;did we find one ready?
                      0000032C	   9520 ; must reallocate if we found one...should never get one twice
                      0000032C	   9521 	beql	55$			;if eql, good, no LDT. Grab one from pool.
                      0000032E	   9522 ;got an ldt. Free it up.
                      0000032E	   9523 	pushl	r1

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  35
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000330	   9524 ; point past this LDT so link is ok
                      00000330	   9525 	movl	ldt$l_fwd(r0),ldt$l_fwd(r1)	;remove this ldt from chain
                      00000335	   9526 ; r0 = addr = ldt
                      00000335	   9527 	movl	ldt$l_fresiz(r0),r1	;get size
                      00000339	   9528 	jsb	g^exe$deanonpgdsiz	;free it
                      0000033F	   9529 	popl	r1
                      00000342	   9530 ;ok, now the bogus LDT is gone. Get a new one.
                      00000342	   9531 55$:
                 ?01T 00000342	   9532 	.iif df,msetrp,movl #9,mtp$trace(r5)
                 ?01T 00000347	   9533 	.iif df,msetrp, movl r1,mtp$r1(r5)
                      0000034C	   9534 	tstl	r1		;got a valid pointer?
                      00000353	   9535 	beqlw	2000$		;if not, skip out
         X01/001      0000034E			bneq	30017$
         X01/002      00000350			brw	2000$
         X01/003      00000353		30017$:
                      00000353	   9536 	pushl	r1
                      00000355	   9537 	movl	#ldt$l_size,r1	;ldt size to get
                      0000035C	   9538 	jsb	g^exe$alonpagvar	;go get pool
                      00000362	   9539 	popl	r1
                 ?01T 00000365	   9540 	.iif df,msetrp,movl r0,mtp$r0(r5)
                      0000036A	   9541 	blbs	r0,56$		;if ok, go on
                      0000036D	   9542 989$:	brw	2000$		;else skip out.
                      00000370	   9543 56$:
                 ?01T 00000370	   9544 	.iif df,msetrp,movl #10,mtp$trace(r5)
                      00000375	   9545 	movl	r2,(r1)		;point link at this one
                 ?01T 00000378	   9546 	.iif df,msetrp,movl r2,mtp$ldt(r5)
                      0000037D	   9547 	movl	r1,r9		;save copy here
                      00000380	   9548 	clrl	ldt$l_fwd(r2)	;zero our fwd pointer
                      00000383	   9549 	movl	#ldt$k_clrsiz,r10
                      00000394	   9550 	zapz	(r2),r10	;clear entire LDT out fassstt
         X01/001      0000038A			pushr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
         X01/002      0000038C			movc5	#0,(r2),#0,r10,(r2)
         X01/003      00000392			popr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
                      00000394	   9551 ; now wee have the LDT created. Set it up.
                      00000394	   9552 	movl	#ldt$l_size,ldt$l_fresiz(r2)	;set up the size to free
                      0000039C	   9553 	movl	r6,ldt$l_ccb(r2)	;claim the LDT for us
                      000003A0	   9554 	movl	r2,r11		;want the LDT less volatile
                      000003A3	   9555 ; Need to set up the process structure here. Since findldt doesn't
                      000003A3	   9556 ; return it, wee need to get it directly off the UCB.
                      000003A3	   9557 	pushr	#^m<r2,r3>
                 ?01T 000003A5	   9558 	.iif df,msetrp,movl #11,mtp$trace(r5)
                      000003AA	   9559 	movl	ucb$l_prcvec(r5),r1	;start of ldt chain
                      000003AF	   9560 	bgeq	999$		;lose if none
                      000003B1	   9561 	movzwl	pcb$l_pid(r4),r2	;get index
                      000003B6	   9562 	ashl	#5,r2,r2		;get tbl entry offset
                      000003BA	   9563 ; shift 5 so 32 bytes = 8 longs per entry
                      000003BA	   9564 	addl3	r2,r1,r3		;point r3 at our slot
                      000003BE	   9565 	movl	r3,r1			;let r1 return as link addr
                      000003C1	   9566 999$:
                      000003C1	   9567 	popr	#^m<r2,r3>
                 ?01T 000003C3	   9568 	.iif df,msetrp,movl #12,mtp$trace(r5)
                      000003C8	   9569 	movl	r1,ldt$l_prcstr(r11)	;set up pointer to process struct
                      000003CC	   9570 	bgeq	989$
                      000003CE	   9571 	addl2	#8,ldt$l_prcstr(r11)	;pass LDT base info to get to our counters
                      000003D2	   9572 ; allocate the synch structure we need now.
                      000003D2	   9573 ; (if we keep ldt allocated till wait falls thru and dealloc after
                      000003D2	   9574 ;  then we may be able to just use the ldt here though.)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  36
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000003D2	   9575 	movl	#16,r1
                      000003D5	   9576 	jsb	g^exe$alonpagvar
                      000003DB	   9577 	blbs	r0,57$			;if all well, fine
                      000003DE	   9578 ;no aux struct so skip out
                      000003DE	   9579 	clrl	(r9)		;clr pointer to ldt
                      000003E0	   9580 	movl	r11,r0		;addr to free
                      000003E3	   9581 	movl	ldt$l_fresiz(r11),r1	;size to free
                      000003E7	   9582 	jsb	g^exe$deanonpgdsiz
                      000003ED	   9583 	brw	2000$		;skip out
                      000003F0	   9584 57$:
                      000003F0	   9585 	movl	r2,ldt$l_synch(r11)	;save pointer to synch block
                 ?01T 000003F4	   9586 	.iif df,msetrp,movl #13,mtp$trace(r5)
                      000003F9	   9587 	clrq	(r2)			;set it initially null
					1.......                                                       
%AMAC-I-QUADMEMREF, (1) quadword memory references may be unaligned in routine ACCFILT

                      000003FB	   9588 	movl	r11,r1			;save ldt pointer
                 ?01T 000003FE	   9589 	.if	ndf,evxr64d
                 ?01T 000003FE	   9590 	movpsl	ldt$l_psl(r11)	;save original psl of request for later
                 ?01F 00000402	   9591 	.iff
                 ?01F 00000402	   9592 	evax_getps
                 ?01F 00000402	   9593 	movl	r0,ldt$l_psl(r11)
                 ?01F 00000402	   9594 	.endc
                      00000402	   9595 	insv	#2,#psl$v_ipl,#psl$s_ipl,ldt$l_psl(r11) ;enforce ipl2
                      00000409	   9596 	movab	ldt$l_regs(r11),r0	;where to save regs
                      0000040E	   9597 	popr	#^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000412	   9598 	movl	r2,(r0)+
                      00000415	   9599 	movl	r3,(r0)+
                      00000418	   9600 	movl	r4,(r0)+
                      0000041B	   9601 	movl	r5,(r0)+	;save all registers.
                      0000041E	   9602 	movl	r6,(r0)+	;use movl since we don't know its
                      00000421	   9603 	movl	r7,(r0)+	;quadword aligned.
                      00000424	   9604 	movl	r8,(r0)+
                      00000427	   9605 	movl	r9,(r0)+
                      0000042A	   9606 	movl	r10,(r0)+
                      0000042D	   9607 	movl	r11,(r0)+	;save all registers
                 ?01T 00000430	   9608 	.iif df,msetrp,movl #14,mtp$trace(r5)
                 ?01T 00000435	   9609 	.iif	df,msetrp,movl r6,mtp$ccb(r5)
                      0000043A	   9610 	pushr	#^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      0000043E	   9611 	movl	r1,r11		;r11 is again the LDT
                      00000441	   9612 	movl	irp$ps_fdt_context(r3),ldt$l_fdtctx(r11) ;save FDT context addr
                 ?01T 00000448	   9613 	.iif df,msetrp, movl irp$ps_fdt_context(r3),mtp$trc3+4(r5)
                      0000044F	   9614 ; now fix up saved R5 to point at original intercepted ucb
                      0000044F	   9615 	movl	ucb$l_backlk(r5),ldt$l_regs+12(r11)
                      00000456	   9616 	movab	ldt$l_parm(r11),r0	;save qio params
                 ?01T 0000045B	   9617 	.if	df,evax
                 ?01T 0000045B	   9618 	movl    irp$l_qio_p1(r3),(r0)+
                 ?01T 0000045F	   9619 	movl    irp$l_qio_p2(r3),(r0)+
                 ?01T 00000463	   9620 	movl    irp$l_qio_p3(r3),(r0)+
                 ?01T 00000468	   9621 	movl    irp$l_qio_p4(r3),(r0)+
                 ?01T 0000046D	   9622 	movl    irp$l_qio_p5(r3),(r0)
                 ?01F 00000472	   9623 	.iff
                 ?01F 00000472	   9624 	movl	p1(ap),(r0)+
                 ?01F 00000472	   9625 	movl	p2(ap),(r0)+
                 ?01F 00000472	   9626 	movl	p3(ap),(r0)+
                 ?01F 00000472	   9627 	movl	p4(ap),(r0)+
                 ?01F 00000472	   9628 	movl	p5(ap),(r0)+

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  37
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 00000472	   9629 	.endc
                      00000472	   9630 ; get the params like user FIB stuff...
                 ?01T 00000472	   9631 	.if	df,evax
                 ?01T 00000472	   9632 	movl	irp$l_qio_p1(r3),r10	;fib desc.
                 ?01F 00000476	   9633 	.iff
                 ?01F 00000476	   9634 	movl	p1(ap),r10
                 ?01F 00000476	   9635 	.endc
                      00000476	   9636 	movl	4(r10),r10		;point at fib ityself
                      0000047A	   9637 	movl	fib$l_acctl(r10),ldt$l_accmd(r11)	;save "how open"
                 ?01T 0000047F	   9638 	.iif df,msetrp,movl #15,mtp$trace(r5)
                 ?01T 00000484	   9639 	.if	df,evax
                 ?01T 00000484	   9640 	movl	pcb$l_prib(r4),ldt$l_bprio(r11)		;save base prio
                 ?01F 00000489	   9641 	.iff
                 ?01F 00000489	   9642 	movzbl	pcb$b_prib(r4),ldt$l_bprio(r11)		;save base prio
                 ?01F 00000489	   9643 	.endc
                      00000489	   9644 ; save file id, dir id from user call initially. Get file ID later after
                      00000489	   9645 ; our i/o as a "better" number [should be the same].
                      00000489	   9646 	movl	fib$w_fid(r10),ldt$l_myfid(r11)
                      0000048F	   9647 	movzwl	fib$w_fid+4(r10),ldt$l_myfid+4(r11)
                      00000495	   9648 	movl	fib$w_did(r10),ldt$l_mydid(r11)	;save dir id too
					1.......                                                         
%AMAC-I-MEMREFNOT, (1) memory reference not naturally aligned in routine ACCFILT

                      0000049B	   9649 	movzwl	fib$w_did+4(r10),ldt$l_mydid+4(r11)
                      000004A1	   9650 	movl	g^ctl$gl_phd,r9		;get proc. hdr
                      000004A8	   9651 	movl	phd$q_privmsk(r9),ldt$l_wprv(r11)	;save working privs
                      000004AD	   9652 	movl	phd$q_privmsk+4(r9),ldt$l_wprv+4(r11)	;save working privs
                      000004B2	   9653 	movl	phd$q_authpriv(r9),ldt$l_aprv(r11)	;save auth privs
                      000004B8	   9654 	movl	phd$q_authpriv+4(r9),ldt$l_aprv+4(r11)	;save auth privs
                      000004BE	   9655 	movl	r5,ldt$l_jtucb(r11)		;save jt ucb here too
                      000004C2	   9656 ; set up template, blast it into the LDT for item list
                      000004C2	   9657 	movab	ldt$l_acl(r11),gceaba		;acl buffer address
                      000004CB	   9658 	movab	ldt$l_aclsiz(r11),gceala		;length of acl
                      000004D4	   9659 	movab	gceacl,r9			;point at template now
                      000004DB	   9660 	movab	ldt$l_itmlst(r11),r8
                      000004E0	   9661 	pushr	#^m<r0,r1,r2,r3,r4,r5>	;don't let movc3 trash these
                      000004E2	   9662 	movc3	#gcetpl,(r9),(r8)	;copy filled-in template to our
                      000004E6	   9663 					;itemlist in ldt
                      000004E6	   9664 	popr	#^m<r0,r1,r2,r3,r4,r5>
                      000004E8	   9665 ;fib desc still in r10
                      000004E8	   9666 	movab	ldt$l_fib(r11),r9	;copy user fib
                 ?01T 000004ED	   9667 	.if	df,evax
                 ?01T 000004ED	   9668 	movl	@irp$l_qio_p1(r3),r8	;get size user has
                 ?01F 000004F1	   9669 	.iff
                 ?01F 000004F1	   9670 	movl	@p1(ap),r8
                 ?01F 000004F1	   9671 	.endc
                      000004F1	   9672 	cmpl	r8,#64
                      000004F8	   9673 	bleq	59$			;if ok branch
                      000004FA	   9674 	movl	#64,r8
                      00000501	   9675 59$:
                      00000501	   9676 	pushr	#^m<r0,r1,r2,r3,r4,r5>	;don't let movc3 trash these
                      00000503	   9677 	movc3	r8,(r10),(r9)		;copy user FIB
                      00000507	   9678 	popr	#^m<r0,r1,r2,r3,r4,r5>
                 ?01T 00000509	   9679 	.iif df,msetrp,movl #16,mtp$trace(r5)
                      0000050E	   9680 	bicl	#^xfff,fib$l_acctl(r9)	;no special open bits
                      00000516	   9681 ;ensure fib has nothing special
                      00000516	   9682 	clrl	fib$l_aclctx(r9)	;no acl context

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  38
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000519	   9683 ;
                      00000519	   9684 ; An open might look up a filename so copy user desc too.
                 ?01T 00000519	   9685 	.if	df,evax
                 ?01T 00000519	   9686 	movl	irp$l_qio_p2(r3),r8	;get desc. pointer
                 ?01F 0000051D	   9687 	.iff
                 ?01F 0000051D	   9688 	movl	p2(ap),r8		;get desc pointer
                 ?01F 0000051D	   9689 	.endc
                      0000051D	   9690 	beql	159$			;if no p2 arg, skip save
                      0000051F	   9691 	movl	(r8),ldt$l_fnd(r11)	;copy user desc.
                      00000524	   9692 	cmpw	#255,ldt$l_fnd(r11)	;see if count to big
                      0000052B	   9693 	bgeq	259$			;if geq all well
                      0000052D	   9694 	movw	#255,ldt$l_fnd(r11)	;else chop off
                      00000534	   9695 259$:	movl	4(r8),r8		;point at user data now
                      00000538	   9696 	beql	159$
                      0000053A	   9697 	pushr	#^m<r0,r1,r2,r3,r4,r5>	;don't let movc3 trash these
                      0000053C	   9698 	movab	ldt$l_fndd(r11),r1	;our ldt data address
                      00000541	   9699 	movab	ldt$l_fndd(r11),ldt$l_fnd+4(r11) ;fill in data addr
                      00000548	   9700 	movzbl	ldt$l_fnd(r11),r0	;count to move
                      0000054D	   9701 	beql	359$
                      0000054F	   9702 	movc3	r0,(r8),(r1)		;copy filename string
                      00000553	   9703 359$:
                      00000553	   9704 	popr	#^m<r0,r1,r2,r3,r4,r5>
                      00000555	   9705 159$:
                      00000555	   9706 ; Basically all set up now. Issue a $qio with an AST to point to the
                      00000555	   9707 ; normal-knl-AST code and start waiting the mainline for ef #31 (the junk
                      00000555	   9708 ; efn) and for the extra "iosb" area to get bumped. Block deletion of the
                      00000555	   9709 ; process during this $qio by hand, counting this up and down per PROCESS.
                      00000555	   9710 	movl	ldt$l_prcstr(r11),r1	;get process data block
                      00000559	   9711 
                      00000573	   9757 	deviceunlock lockaddr=ucb$l_dlck(r5),newipl=#ipl$_astdel,preserve=YES
         X01/018      00000559			BLBC	SMP$GL_FLAGS,30018$
         X02/023 ?02T 00000560		        EVAX_STQ  R0, -(SP)
         X01/029 ?02T 00000563				MOVL	ucb$l_dlck(r5),R0
         X01/043 ?01T 00000567			    JSB		G^SMP$RELEASEL
         X02/048 ?02T 0000056D		        EVAX_LDQ  R0, (SP)+
         X01/052      00000570		30018$:
         X01/054 ?01T 00000570			    MTPR	#ipl$_astdel,S^#PR$_IPL
                      00000573	   9758 
                      00000573	   9759 ; Before issuing our I/O, see if this is a bogus file id
                      00000573	   9760 ; that we let by earlier and route it to the daemon if so, directly
                      00000573	   9761 ; without reading the ACL.
                      00000573	   9762 ; R5 should still be pointing at the JT unit here since we issue another
                      00000573	   9763 ; $qio which handles getting it moved...
                 ?01T 00000573	   9764 	.iif df,msetrp,movl #17,mtp$trace(r5)
                      00000578	   9765 	bitl	#1024,ucb$l_ctlflgs(r5)	; checking for bogus FIDs?
                      00000586	   9766 	beqlw	103$			; if eql no
         X01/001      00000581			bneq	30019$
         X01/002      00000583			brw	103$
         X01/003      00000586		30019$:
                 ?01T 00000586	   9767 	.if	df,evax
                 ?01T 00000586	   9768 	movl	irp$l_qio_p1(r3),r0	;get P1 param
                 ?01F 0000058A	   9769 	.iff
                 ?01F 0000058A	   9770 	movl	p1(ap),r0
                 ?01F 0000058A	   9771 	.endc
                      0000058F	   9772 	beqlw	103$
         X01/001      0000058A			bneq	30020$
         X01/002      0000058C			brw	103$

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  39
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/003      0000058F		30020$:
                      0000058F	   9773 	movl	4(r0),r0		;point at user FIB
                      00000598	   9774 	beqlw	103$			; skip if none there
         X01/001      00000593			bneq	30021$
         X01/002      00000595			brw	103$
         X01/003      00000598		30021$:
                      00000598	   9775 ; fid = fileno, fileseq, rvn, filenohi
                      00000598	   9776 ; if filenohi .gt.128 and rvn .gt.128 as unsigned numbers then
                      00000598	   9777 ; treat the operation here.
                      00000598	   9778 ; Other h.o. bits are used to act as device switches here if this
                      00000598	   9779 ; is selected. This requires of course that real volume sets
                      00000598	   9780 ; be limited to maybe 32 volumes and that real maxfiles be less
                      00000598	   9781 ; than the 24 bits' worth, for those volumes monitored here. Since
                      00000598	   9782 ; this monitor is per disk, the function CAN just be disabled on large
                      00000598	   9783 ; volume sets.
                      00000598	   9784 	bitb	#128,fib$w_fid+4(r0)	;rvn bit set?
                      0000059D	   9785 	beql	105$
                      0000059F	   9786 	bitb	#128,fib$w_fid+5(r0)	;hi fileno set?
                      000005A4	   9787 	beql	105$			;if so skip open funct. test
                      000005A6	   9788 ; If here, we have a file id that appears fake and are flagging
                      000005A6	   9789 ; such. Arrange to call the daemon in that case.
                      000005A6	   9790 ; Note no LDT exists yet, so we'll do tests later, before issuing
                      000005A6	   9791 ; our own i/o, to test this.
                      000005A6	   9792 ; LDT pointer in R11 here.
                      000005A6	   9793 	movl	r11,r0
                      000005A9	   9794 	movl	r5,r1
                      000005AC	   9795 	popr	#^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000005B0	   9796 	movl	r0,r11
                      000005B3	   9797 	movl	r1,r0
                      000005B6	   9798 	popl	r1
                      000005B9	   9799 	popl	r1	;leave r0 alone
                      000005BC	   9800 ; now stack is clean except of <r0,r5> push
                      000005BC	   9801 	popl	r5		;get original r5 back
                      000005BF	   9802 	tstl	(sp)+		;& remove saved r0
                      000005C1	   9803 ; Now replace regs on stack, but we do leave R11 pointing at LDT.
                      000005C1	   9804 ; Since R11 is scratch for FDT routines, this is ok. Other
                      000005C1	   9805 ; stacked regs in r2-r10 range get left alone but we
                      000005C1	   9806 ; continue with r5 = JT UCB (stacked r5=victim ucb).
                      000005C1	   9807 	pushr	#^m<r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000005C5	   9808 	movl	r0,r5		;set r5 to jt ucb
                      000005C8	   9809 	pushr	#^m<r0,r1,r2>	;now stack is same as
                      000005CA	   9810 				;after push of r0-r11
                      000005CA	   9811 ; Note fake FID handling not defined yet.
                 ?01T 000005CA	   9812 	.iif df,msetrp,movl #1017,mtp$trace(r5)
                      000005D3	   9813 	brw	afakfid		;go handle fake fids
                      000005D6	   9814 105$:
                      000005D6	   9815 103$:
                      000005D6	   9816 ; (r1) = count up/down our knl threads
                      000005D6	   9817 ; 4(r1) = disable delete counter
                 ?01T 000005D6	   9818 	.iif df,msetrp,movl #18,mtp$trace(r5)
                      000005DB	   9819 	tstl	4(r1)			;is del inhibited now?
                      000005DE	   9820 	bgtr	61$
                      000005E0	   9821 	incl	(r1)			;count knl thread up here.
                      000005E2	   9822 	bitl	#<pcb$m_nodelet!pcb$m_nosuspend>,pcb$l_sts(r4)	;is delete inhibited now?
                      000005EB	   9823 	bneq	160$			;if so leave it alone
                      000005ED	   9824 61$:	incl	4(r1)			;bump inhibit counter once more
                      000005F0	   9825 	bisl	#<pcb$m_nodelet!pcb$m_nosuspend>,pcb$l_sts(r4)	;inhib del

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  40
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000005F9	   9826 160$:
                      000005F9	   9827 	movl	ldt$l_synch(r11),r10	;point r10 at the synch block
                      000005FD	   9828 ; the $qio will return with all regs except r0,r1
                      000005FD	   9829 ; First have to get the channel number from the CCB address which was passed
                      000005FD	   9830 ; in R6 so we can use the channel for OUR $qio.
                      000005FD	   9831 ;
                      000005FD	   9832 ; This is system dependent.
                 ?01T 000005FD	   9833 	.if	df,evax	;evax defined for alpha
                 ?01T 000005FD	   9834 	movl	r6,r12		;deduced from sysqioreq src
                 ?01T 00000600	   9835 	subl2   g^ctl$ga_ccb_table,r12  ;subtract base address
                 ?01T 00000607	   9836 	ashl	#-5,r12,r12     ;divide by ccb$k_length = 32
                 ?01T 0000060C	   9837 ;	assume ccb$k_length eq 32
                 ?01T 0000060C	   9838 	incl	r12		;1-based
                 ?01T 0000060E	   9839 	pushl	r13
                 ?01T 00000610	   9840 	bicl3	#^c<^x0000f000>,r12,r13	;r13 -> hi 4 bits
                 ?01T 00000618	   9841 	bicl2	#^xf000,r12	;get low 12 bits masked off
                 ?01T 0000061F	   9842 	ashl	#4,r12,r12	;shift 12 up
                 ?01T 00000623	   9843 	ashl	#-12,r13,r0	;shift the 4 down
                 ?01T 00000628	   9844 	bisl	r0,r12		;merge
                 ?01T 0000062B	   9845 	movzwl	r12,r12		;ensure h.o. bits off
                 ?01T 0000062E	   9846 	popl	r13		;restore borrowed reg
                 ?01T 00000631	   9847 ; r12 is now channel
                 ?01T 00000631	   9848 	movl	r12,r8
                 ?01F 00000634	   9849 	.iff	;vax vers
                 ?01F 00000634	   9850 	movl	r6,r8
                 ?01F 00000634	   9851 	subl2	g^ctl$gl_ccbbase,r8	;form -chnl
                 ?01F 00000634	   9852 	mnegl	r8,r8
                 ?01F 00000634	   9853 	movzwl	r8,r8			;r12 should be channel now
                 ?01F 00000634	   9854 	.endc
                      00000634	   9855 ; now issue the $qio
                      00000634	   9856 ; form descriptor for fib on stack
                      00000634	   9857 	pushl	r11		;be VERY sure we keep valid ldt ptr
                 ?01F 00000636	   9858 	.if	df,evaxrr
                 ?01F 00000636	   9859 	movl	sp,r12		;save sp in r12
                 ?01F 00000636	   9860 ; now force sp to be octa-aligned
                 ?01F 00000636	   9861 	bicl	#15,sp		;just clear low bits
                 ?01F 00000636	   9862 	.endc
                      00000636	   9863 	subl	#16,sp		;get 4 longs
                      00000639	   9864 	movl	sp,r10		;descriptor is len, addr
                      0000063C	   9865 	movl	#64,(r10)
                      00000643	   9866 	movab	ldt$l_fib(r11),4(r10)	;(r10) is descriptor of fib now.
                      00000649	   9867 	movl	#gcetpl,8(r10)	;length of itemlist
                      0000064D	   9868 	movab	ldt$l_itmlst(r11),12(r10)	;now have descriptor for itmlst
                 ?01T 00000653	   9869 	.if	df,evax
                 ?02F 00000653	   9870 	.if	df,drctcl
                 ?02F 00000653	   9871 	subl2	#40,sp
                 ?02F 00000653	   9872 	evax_stq	r12,(sp)
                 ?02F 00000653	   9873 	evax_stq	r13,8(sp)
                 ?02F 00000653	   9874 	evax_stq	r14,16(sp)
                 ?02F 00000653	   9875 	evax_stq	r15,24(sp)
                 ?02F 00000653	   9876 	evax_rd_ps
                 ?02F 00000653	   9877 	evax_or		r0,r31,r15		;store old ps
                 ?02F 00000653	   9878 	evax_stq	r15,32(sp)		; save old ps on stack. Safer.
                 ?02F 00000653	   9879 ;clear low 2 bits of r0 (previous mode)
                 ?02F 00000653	   9880 	bicl	#3,r0			;prev mode MUST be kernel next.
                 ?02F 00000653	   9881 	evax_or		r0,r31,r16	;set r16 prev-mode bits to zero
                 ?02F 00000653	   9882 	evax_wr_ps_sw			;set prev mode to kernel

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  41
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?02F 00000653	   9883 	.endc
                 ?01T 00000653	   9884 	.endc
                      00000653	   9885 ;begin the $qio here
                      00000653	   9886 	clrl	-(sp)		;p6
                      00000655	   9887 	movl	12(r10),-(sp)	;p5
                      00000659	   9888 	clrl	-(sp)		;p4
                      0000065B	   9889 	clrl	-(sp)		;p3
                      0000065D	   9890 ; Where user open involves a dir lookup, we might need one too.
                      0000065D	   9891 ; Therefore supply the filename he used if we found one.
                      0000065D	   9892 	tstl	ldt$l_fndd(r11)	;got a p2?
                      00000661	   9893 	bneq	459$		;if so fill in
                      00000663	   9894 	clrl	-(sp)		;p2 zero if none here
                      00000665	   9895 	brb	559$
                      00000667	   9896 459$:	pushab	ldt$l_fnd(r11)	;p2 as our copy of user p2 in knl space
                      0000066B	   9897 559$:
                      0000066B	   9898 	movab	(r10),-(sp)	;p1
                      0000066E	   9899 	movl	r11,-(sp)	;ast parm = LDT address
                      00000671	   9900 	movab	vcstp15,-(sp)	;ast address = vcstp15 (step 1.5 of thread)
                      00000678	   9901 ;	movl	ldt$l_synch(r11),-(sp)	;iosb = synch + 8
                      00000678	   9902 ;	addl2	#8,(sp)		;this gives us a way to getthe status for debug
                      00000678	   9903 ;	tstl	(sp)		;ensure negative
                      00000678	   9904 ;	blss	659$
                      00000678	   9905 ;	clrl	(sp)		;if synch addr illegal use 0
                      00000678	   9906 ;659$:
                      00000678	   9907 	clrl	-(sp)		;no iosb
                      0000067A	   9908 	movl	#io$_access,-(sp)	;function
                      0000067D	   9909 	movl	r8,-(sp)	;channel number
                      00000680	   9910 	movl	#31,-(sp)	;junk event flag
                      00000683	   9911 	movl	g^ctl$gl_pcb,r4		;point at our PCB just in case
                 ?01T 0000068A	   9912 	.if	df,msetrp
                 ?01T 0000068A	   9913 	pushl	r10
                 ?01T 0000068C	   9914 	movl	ldt$l_jtucb(r11),r10	;get jt ucb
                 ?01T 00000690	   9915 	movl	r8,mtp$chan(r10)
                 ?01T 00000695	   9916 	movl	#18,mtp$trace(r10)
                 ?01T 0000069A	   9917 	popl	r10
                 ?01T 0000069D	   9918 	.endc
                 ?01T 0000069D	   9919 	.if	df,evax
                 ?01T 0000069D	   9920 ; exe$qio expects to be entered at ipl 0.
                 ?01T 000006A0	   9921 	setipl ipl=#0,environ=UNIPROCESSOR
         X01/005 ?02T 0000069D				MTPR	#0,S^#PR$_IPL
                 ?01T 000006A0	   9922 ; call exe$qio without extra chmk dispatch (which might mess stack up)
0000001D         ?01T 000006A0	   9923 qiooff = 29	;index into dispatch table for sys$qio (determined by inspecting
                 ?01T 000006A0	   9924 			; code)
                 ?01T 000006A0	   9925 	movl	g^PMS$GL_KERNEL_DISPATCH_VECTOR,r0
                 ?01T 000006A7	   9926 ;	movab	g^cmod$ar_kernel_dispatch_vector,r0	;procedure desc
                 ?01T 000006A7	   9927 	addl2	#<16*qiooff>,r0			;form addr of qio prc desc
                 ?01T 000006AE	   9928 	movl	(r0),r0		;load procedure descr addr into r0
                 ?02F 000006B1	   9929 	.if	df,drctcl
                 ?02F 000006B1	   9930 	.iif	df,x$$$dt,jsb g^ini$brk ;**********************debug**********
                 ?02F 000006B1	   9931 	calls	#12,(r0)
                 ?02F 000006B1	   9932 	.iif	df,x$$$dt,jsb g^ini$brk ;**********************debug**********
                 ?02T 000006B1	   9933 	.iff
                 ?02T 000006B1	   9934 	calls	#12,g^sys$qio	;do the i/o
                 ?02T 000006B8	   9935 	.endc	;drctcl
                 ?02F 000006B8	   9936 	.if	df,drctcl
                 ?02F 000006B8	   9937 	evax_ldq	r16,32(sp)	;get original ps
                 ?02F 000006B8	   9938 	evax_wr_ps_sw		;restore original prev. mode

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  42
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?02F 000006B8	   9939 	evax_ldq	r13,8(sp)
                 ?02F 000006B8	   9940 	evax_ldq	r12,(sp)
                 ?02F 000006B8	   9941 	evax_ldq	r14,16(sp)
                 ?02F 000006B8	   9942 	evax_ldq	r15,24(sp)
                 ?02F 000006B8	   9943 	addl2	#40,sp
                 ?02F 000006B8	   9944 	.endc
                 ?01F 000006B8	   9945 	.iff
                 ?01F 000006B8	   9946 ; force curr, prev mode to knl (=0) before issuing the request here.
                 ?01F 000006B8	   9947 	movpsl	-(sp)	;force prev knl mode too
                 ?01F 000006B8	   9948 	bicl	#<psl$m_prvmod+psl$m_curmod>,(sp)
                 ?01F 000006B8	   9949 	insv	#0,#psl$v_ipl,#psl$s_ipl,(sp) ;sys services like ipl 0 on vax
                 ?01F 000006B8	   9950 	pushab	158$
                 ?01F 000006B8	   9951 	rei		;continues at 158$ with stack clear
                 ?01F 000006B8	   9952 158$:
                 ?02F 000006B8	   9953 	.if	ndf,ee$qq
                 ?02F 000006B8	   9954 	calls	#12,g^exe$qio	;do the i/o (kernel entry!!!)
                 ?02F 000006B8	   9955 	.iff
                 ?02F 000006B8	   9956 	calls	#12,g^sys$qio	;do the i/o (kernel entry!!!)
                 ?02F 000006B8	   9957 	.endc
                 ?01F 000006B8	   9958 	.endc
                      000006BB	   9959 	setipl	ipl=#2,environ=UNIPROCESSOR	;back to astdel
         X01/005 ?01T 000006B8				MTPR	#2,S^#PR$_IPL
                      000006BB	   9960 	addl2	#16,sp		;clean the stack.
                 ?01F 000006BE	   9961 	.if	df,evaxrr
                 ?01F 000006BE	   9962 	movl	r12,sp		;get original pre-call sp back
                 ?01F 000006BE	   9963 	.endc
                      000006BE	   9964 	popl	r11
                 ?01T 000006C1	   9965 	.if	df,msetrp
                 ?01T 000006C1	   9966 	pushl	r10
                 ?01T 000006C3	   9967 	movl	ldt$l_jtucb(r11),r10	;get jt ucb
                 ?01T 000006C7	   9968 	movl	r0,mtp$ior0(r10)
                 ?01T 000006CC	   9969 
                 ?01T 000006CC	   9970 	movl	#19,mtp$trace(r10)
                 ?01T 000006D1	   9971 	popl	r10
                 ?01T 000006D4	   9972 	.endc
                      000006D4	   9973 ; r11 should still be the LDT address, R10 the synch block address.
                      000006D4	   9974 ;	blbc	r0,500$		;if the I/O failed, we lose. Try to just issue
                      000006D4	   9975 	blbs	r0,3500$
                      000006D7	   9976 	brw	500$
                      000006DA	   9977 3500$:
                      000006DA	   9978 				;the user's i/o.
                 ?01F 000006DA	   9979 	.if	ndf,evax
                 ?01F 000006DA	   9980 	movl	ldt$l_psl(r11),-(sp)	;get to original I/O PSL
                 ?01F 000006DA	   9981 	jsb	301$
                 ?01F 000006DA	   9982 	brb	302$
                 ?01F 000006DA	   9983 301$:	rei
                 ?01F 000006DA	   9984 302$:
                 ?01F 000006DA	   9985 	.endc
                 ?01F 000006DA	   9986 	.if	df,evxrei
                 ?01F 000006DA	   9987 	movl	ldt$l_psl(r11),-(sp)	;get to original I/O PSL
                 ?01F 000006DA	   9988 	clrl	-(sp)
                 ?01F 000006DA	   9989 	pushab	301$			; get 4 byte addr
                 ?01F 000006DA	   9990 	movl	#-1,-(sp)		; now have pc,ps on stack as 8 bytes
                 ?01F 000006DA	   9991 	evax_stq	r7,-(sp)
                 ?01F 000006DA	   9992 	evax_stq	r6,-(sp)
                 ?01F 000006DA	   9993 	evax_stq	r5,-(sp)
                 ?01F 000006DA	   9994 	evax_stq	r4,-(sp)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  43
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 000006DA	   9995 	evax_stq	r3,-(sp)
                 ?01F 000006DA	   9996 	evax_stq	r2,-(sp)	;ready for PAL call
                 ?01F 000006DA	   9997 	evax_imb
                 ?01F 000006DA	   9998 	evax_rei
                 ?01F 000006DA	   9999 	addl2	#64,sp		;never execute but keep macro-32 happy
                 ?01F 000006DA	  10000 301$: 
                 ?01F 000006DA	  10001 	.endc
                 ?01F 000006DA	  10002 	.if	df,evxr64d
                 ?01F 000006DA	  10003 	pushl	r0
                 ?01F 000006DA	  10004 	pushl	r1
                 ?01F 000006DA	  10005 	pushl	ldt$l_psl(r11)	;get original psl
                 ?01F 000006DA	  10006 	.iif df,x$$$dt, jsb g^ini$brk ;*************** debug ************
                 ?01F 000006DA	  10007 	calls	#1,g^evxr64
                 ?01F 000006DA	  10008 	.iif df,x$$$dt, jsb g^ini$brk ;*************** debug ************
                 ?01F 000006DA	  10009 	popl	r1
                 ?01F 000006DA	  10010 	popl	r0
                 ?01F 000006DA	  10011 	.endc
                      000006DA	  10012 ; if ldt got deallocated before here, could be disaster.
                      000006DA	  10013 	movl	ldt$l_synch(r11),r10	;status blk address
                      000006DE	  10014 	jsb	dowait		;await done
                      000006E4	  10015 	movl	r10,r0		;r0 status from user's I/O here usually now
                      000006E7	  10016 ; Now that dowait is done we can free the LDT with no fear of having it
                      000006E7	  10017 ; deallocated out from under dowait.
                      000006EA	  10018 	setipl ipl=#2,environ=UNIPROCESSOR
         X01/005 ?01T 000006E7				MTPR	#2,S^#PR$_IPL
                      000006EA	  10019 	pushl	r0
                      000006EC	  10020 ;
                      000006EC	  10021 ; Now we can deallocate either the whole LDT or the part below the
                      000006EC	  10022 ; ACE.
                      000006EC	  10023 ; Rather than fiddle, leave the whole ACE buffer there, chopping
                      000006EC	  10024 ; off after it.
                      000006EC	  10025 ; LDT is pointed at by R11 here.
                      000006EC	  10026 ; Note we have our regs back because fdtlop etc. saves all in its
                      000006EC	  10027 ; entry mask. Thus the regs are original qio regs. For findldt we
                      000006EC	  10028 ; need r5=JT unit UCB though, so get that.
                      000006EC	  10029 	movl	ldt$l_regs+12(r11),r5	;original ucb
                      000006F1	  10030 	jsb	getjtucb	;find JT UCB again
                      000006F5	  10031 	tstl	r0		;lose if we cannot
                      000006F7	  10032 	beql	85$		;
                      000006F9	  10033 	movl	r0,r5		;now r5=JT ucb
                 ?01T 000006FC	  10034 	.iif df,msetrp, movl #1433,mtp$trace(r5)
                      00000705	  10035 	cmpl	ldt$l_ace+8(r11),acllit	;this our ACE?
                      0000070D	  10036 	beql	80$			;if eql we must keep the ace till close
                      0000070F	  10037 ; clean all out
                      0000070F	  10038 	jsb	findldt		;find where this LDT is
                      00000715	  10039 ; On return r1 is previous LDT (which we need) and r0 is
                      00000715	  10040 ; LDT address (must be same as R11).
                      00000715	  10041 	cmpl	r0,r11
                      00000718	  10042 	bneq	85$		;if we get bad LDT, don't mess
                      0000071A	  10043 ; r1 is prev LDT, r11 is this one.
                      0000071A	  10044 	movl	ldt$l_fwd(r11),ldt$l_fwd(r1)	;collapse this LDT out of chain
                      0000071F	  10045 ;now deallocate this LDT & go
                      0000071F	  10046 	movl	ldt$l_fresiz(r11),r1		;length to free
                      00000723	  10047 	movl	r11,r0			;addr to free
                      00000726	  10048 ; first get the FDT context area address. Will be in R1 when we pop
                      00000726	  10049 ; the following registers.
                      00000726	  10050 	movl	ldt$l_fdtctx(r11),r9	;get fdt context area

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  44
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      0000072B	  10051 	jsb	g^exe$deanonpgdsiz	;free it
                      00000731	  10052 	brw	85$
                      00000734	  10053 80$:
                      00000734	  10054 ; shorten by reallocate/copy/delete
                      00000734	  10055 	jsb	findldt
                      0000073A	  10056 	cmpl	r0,r11
                      0000073D	  10057 	bneq	85$		;if we get bad LDT, don't mess
                      0000073F	  10058 	movl	r1,r10		;move prev-ldt addr to r10...keep from harm
                      00000742	  10059 	movl	#ldt$l_regs,r1	;length to allocate
                      00000749	  10060 	jsb	g^exe$alonpagvar
                      0000074F	  10061 	blbc	r0,85$		;leave LDT alone if we can't grab less
                      00000752	  10062 	movl	r2,r9		;new addr save
                      00000755	  10063 	movc3	#ldt$l_regs,(r11),(r9)	;copy 1st part of LDT
                      0000075B	  10064 ; now free the old LDT after we move linkage.
                      0000075B	  10065 	movl	#ldt$l_regs,ldt$l_fresiz(r9)	;set size as less
                      00000763	  10066 	movl	r9,ldt$l_fwd(r10)	;point prev. LDT at this.
                      00000767	  10067 	movl	ldt$l_fresiz(r11),r1
                      0000076B	  10068 	movl	r11,r0		;dealloc old ldt
                      0000076E	  10069 ; first get the FDT context area address. Will be in R1 when we pop
                      0000076E	  10070 ; the following registers.
                      0000076E	  10071 	movl	ldt$l_fdtctx(r11),r9	;get fdt context area
                      00000773	  10072 	jsb	g^exe$deanonpgdsiz	;free it
                      00000779	  10073 ; now old LDT should be free so we're done.
                      00000779	  10074 85$:
                      00000779	  10075 	popl	r0
                      0000077C	  10076 ; get all the saved regs off the stack
                      0000077C	  10077 ; return r1 as fdt context address we saved in r9 above
                 ?01F 0000077C	  10078 	.if	df,vxrgo
                 ?01F 0000077C	  10079 	movl	r9,44(sp)	;final pop of r1 gets it
                 ?01T 0000077C	  10080 	.iff
                 ?01T 0000077C	  10081 	movl	r9,r12	; use an axp reg
                 ?01T 0000077F	  10082 	.endc
                      0000077F	  10083 ; this way the caller's R9 is unaltered due to the pop
                      0000077F	  10084 	popr	#^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000783	  10085 	popl	r1
                      00000786	  10086 	popl	r1		;leave r0 alone but clean stack
                 ?01T 00000789	  10087 	.iif ndf,vxrgo, movl r12,r1	;get fdt ctx area to r1
                      0000078C	  10088 	brw	510$
                      0000078F	  10089 
                      0000078F	  10090 ; here at 500$ if I/O failed!!!
                      0000078F	  10091 500$:
                      0000078F	  10092 	movl	r11,r0		;save LDT pointer in r0
                      00000792	  10093 ; (need LDT at stp2bad)
                      00000792	  10094 	popr	#^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000796	  10095 	popl	r1
                      00000799	  10096 	popl	r1		;leave r0 alone
                      0000079C	  10097 ;stp2bad preserves all regs via save/restore.
                      0000079C	  10098 ; first get the FDT context area address. Will be in R1 when we pop
                      0000079C	  10099 ; the following registers.
                      0000079C	  10100 	movl	ldt$l_fdtctx(r0),r1	;get fdt context area
                      000007A1	  10101 	movl	r0,r11
                      000007A4	  10102 	pushl	r11
                      000007A6	  10103 	bsbw	stp2bad		;go try & resume i/o
                      000007AC	  10104 	setipl ipl=#2,environ=UNIPROCESSOR
         X01/005 ?01T 000007A9				MTPR	#2,S^#PR$_IPL
                      000007AC	  10105 ; R11 can be scratched in fdt code since it gets restored on exit from
                      000007AC	  10106 ; the system service.

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  45
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000007AC	  10107 	popl	r11
                      000007AF	  10108 	movl	#ss$_accvio,r0	;set generic error
                      000007B2	  10109 ;
                      000007B2	  10110 ; free the ldt now to keep it clean.
                      000007B2	  10111 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000007B6	  10112 ; Now we can deallocate either the whole LDT or the part below the
                      000007B6	  10113 ; ACE.
                      000007B6	  10114 ; Rather than fiddle, leave the whole ACE buffer there, chopping
                      000007B6	  10115 ; off after it.
                      000007B6	  10116 ; LDT is pointed at by R11 here.
                      000007B6	  10117 ; Note we have our regs back because fdtlop etc. saves all in its
                      000007B6	  10118 ; entry mask. Thus the regs are original qio regs. For findldt we
                      000007B6	  10119 ; need r5=JT unit UCB though, so get that.
                      000007B6	  10120 	movl	ldt$l_regs+12(r11),r5	;original ucb
                      000007BB	  10121 	jsb	getjtucb	;find JT UCB again
                      000007BF	  10122 	tstl	r0		;lose if we cannot
                      000007C1	  10123 	beql	3085$		;
                      000007C3	  10124 	movl	r0,r5		;now r5=JT ucb
                      000007C6	  10125 	cmpl	ldt$l_ace+8(r11),acllit	;this our ACE?
                      000007CE	  10126 	beql	3080$			;if eql we must keep the ace till close
                      000007D0	  10127 ; clean all out
                      000007D0	  10128 	jsb	findldt		;find where this LDT is
                      000007D6	  10129 ; On return r1 is previous LDT (which we need) and r0 is
                      000007D6	  10130 ; LDT address (must be same as R11).
                      000007D6	  10131 	cmpl	r0,r11
                      000007D9	  10132 	bneq	3085$		;if we get bad LDT, don't mess
                      000007DB	  10133 ; r1 is prev LDT, r11 is this one.
                      000007DB	  10134 	movl	ldt$l_fwd(r11),ldt$l_fwd(r1)	;collapse this LDT out of chain
                      000007E0	  10135 ;now deallocate this LDT & go
                      000007E0	  10136 	movl	ldt$l_fresiz(r11),r1		;length to free
                      000007E4	  10137 	movl	r11,r0			;addr to free
                      000007E7	  10138 	jsb	g^exe$deanonpgdsiz	;free it
                      000007ED	  10139 	brw	3085$
                      000007F0	  10140 3080$:
                      000007F0	  10141 ; shorten by reallocate/copy/delete
                      000007F0	  10142 	jsb	findldt
                      000007F6	  10143 	cmpl	r0,r11
                      000007F9	  10144 	bneq	3085$		;if we get bad LDT, don't mess
                      000007FB	  10145 	movl	r1,r10		;move prev-ldt addr to r10...keep from harm
                      000007FE	  10146 	movl	#ldt$l_regs,r1	;length to allocate
                      00000805	  10147 	jsb	g^exe$alonpagvar
                      0000080B	  10148 	blbc	r0,3085$		;leave LDT alone if we can't grab less
                      0000080E	  10149 	movl	r2,r9		;new addr save
                      00000811	  10150 	movc3	#ldt$l_regs,(r11),(r9)	;copy 1st part of LDT
                      00000817	  10151 ; now free the old LDT after we move linkage.
                      00000817	  10152 	movl	#ldt$l_regs,ldt$l_fresiz(r9)	;set size as less
                      0000081F	  10153 	movl	r9,ldt$l_fwd(r10)	;point prev. LDT at this.
                      00000823	  10154 	movl	ldt$l_fresiz(r11),r1
                      00000827	  10155 	movl	r11,r0		;dealloc old ldt
                      0000082A	  10156 	jsb	g^exe$deanonpgdsiz	;free it
                      00000830	  10157 ; now old LDT should be free so we're done.
                      00000830	  10158 3085$:
                      00000830	  10159 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000834	  10160 510$:
                      00000834	  10161 	pushl	r1
                      00000836	  10162 	pushl	r0		;ensure waits run
                      00000838	  10163 	movl	#31,-(sp)	;junk event flag

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  46
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      0000083B	  10164 	calls	#1,g^sys$setef
                      00000842	  10165 	popl	r0		;get status back
                      00000845	  10166 	popl	r1
                      00000848	  10167 ; Must now flush the pushr of <r0,r5> off stack.
                      00000848	  10168 	popl	r5		;get saved <r0,r5> r5 = ucb pointer
                      0000084B	  10169 	tstl	(sp)+		;fix stack, leave r0 alone
                      0000084D	  10170 ; For step2 we must store r0 in fdt_context structure, which is
                      0000084D	  10171 ; located by IRP$PS_FDT_CONTEXT in the IRP for the original user
                      0000084D	  10172 ; IRP; this returns the intermediate return status to the user.
                      0000084D	  10173 ; Return dd$_fdt_compl in r0 at this point in step2, and real status
                      0000084D	  10174 ; in the fdt_context area at FDT_CONTEXT$L_QIO_STATUS and
                      0000084D	  10175 ; perhaps FDT_CONTEXT$L_QIO_R1_VALUE as needed.
                      0000084D	  10176 ; This needs to be gathered from the user's I/O appropriately too.
                      0000084D	  10177 ; Note that the LDT has the cell ldt$l_fdtctx which is the address
                      0000084D	  10178 ; of the user's FDT context area. That should be used since the IRP
                      0000084D	  10179 ; is invalid by the time we get here. Our pointer is not.
                      0000084D	  10180 
                      0000084D	  10181 ; !!!! note that the LDT is now deallocated. Must get fdt context
                      0000084D	  10182 ; before this...
                      0000084D	  10183 
                      0000084D	  10184 ;;;;	movl	ldt$l_fdtctx(r11),r1	;get fdt context area
                 ?01T 0000084D	  10185 	.iif df,x$$$dt,jsb g^ini$brk	;*******************debug*****
                      00000853	  10186 ; here see if r1 is fdt context area!!
                      00000853	  10187 	movl	r0,fdt_context$l_qio_status(r1)	;save status
                      00000857	  10188 	movl	#ss$_fdt_compl,r0	;normal fdt donesignal
                      0000085E	  10189 	clrl	irp$ps_fdt_context(r3)	;clear fdt context
                      00000865	  10190 	setipl ipl=#0,environ=UNIPROCESSOR
         X01/005 ?01T 00000862				MTPR	#0,S^#PR$_IPL
                      00000865	  10191 	ret
                      00000866	  10192 ;	jmp	g^exe$qioreturn	;do intermediate exit.
                      00000866	  10193 
                      00000866	  10194 2000$:
                      00000880	  10195 	deviceunlock lockaddr=ucb$l_dlck(r5),newipl=#ipl$_astdel,preserve=YES
         X01/018      00000866			BLBC	SMP$GL_FLAGS,30022$
         X02/023 ?02T 0000086D		        EVAX_STQ  R0, -(SP)
         X01/029 ?02T 00000870				MOVL	ucb$l_dlck(r5),R0
         X01/043 ?01T 00000874			    JSB		G^SMP$RELEASEL
         X02/048 ?02T 0000087A		        EVAX_LDQ  R0, (SP)+
         X01/052      0000087D		30022$:
         X01/054 ?01T 0000087D			    MTPR	#ipl$_astdel,S^#PR$_IPL
                      00000880	  10196 	popr	#^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000884	  10197 	popl	r1
                      00000887	  10198 	popl	r0
                      0000088A	  10199 	popr	#^m<r0,r5>
                      0000088C	  10200 	bsbw	popout
                      0000088F	  10201 	ret
                      00000890	  10202 ;	brw	popout		;leave
                      00000890	  10203 ; handling for fake FIDs, not yet implemented so just return.
                      00000890	  10204 afakfid:
                      00000890	  10205 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000894	  10206 	bsbw	popout
                      00000897	  10207 	ret
                      00000898	  10208 
                      00000898	  10209 ; clnprv
                      00000898	  10210 clnprv:	.jsb_entry
                      00000898	  10211 	pushr	#^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      0000089C	  10212 ;entry r5 is victim ucb addr

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  47
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      0000089C	  10213 	jsb	getjtucb	;get jt ucb
                      000008A0	  10214 	tstl	r0
                      000008A2	  10215 	bgeq	99$
                      000008A4	  10216 	movl	r0,r5		;r5 now is jt ucb
                      000008A7	  10217 	movl	r0,r10		;set for clnup
                      000008AA	  10218 	jsb	clnup
                      000008B0	  10219 	movl	r5,r0
                      000008B3	  10220 	movl	r10,r1
                      000008B6	  10221 99$:
                      000008B6	  10222 	popr	#^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000008BA	  10223 	rsb;
                      000008BB	  10224 ; prvidset
                      000008BB	  10225 ; This entry reads the ACE and sets privs/idents/base prio of
                      000008BB	  10226 ; the process based on what the ACE has.
                      000008BB	  10227 ; On entry R11 contains the LDT pointer.
                      000008BB	  10228 prvidset: .jsb_entry
                      000008BB	  10229 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000008BF	  10230 	movab	ldt$l_ace(r11),r10	;point at our ACE
                      000008C3	  10231 ; look for priv sets
                      000008C3	  10232 	cmpl	ldt$l_ace+8(r11),acllit	;this our ACE?
                      000008D0	  10233 	bneqw	999$
         X01/001      000008CB			beql	30023$
         X01/002      000008CD			brw	999$
         X01/003      000008D0		30023$:
                      000008D0	  10234 	movab	12(r10),r10	;start of data
                      000008D4	  10235 1$:	movzbl	(r10)+,r9	;get fcn byte
                      000008DC	  10236 	beqlw	999$
         X01/001      000008D7			bneq	30024$
         X01/002      000008D9			brw	999$
         X01/003      000008DC		30024$:
                      000008DC	  10237 	cmpb	r9,#1		;inspectme => not here
                      000008DF	  10238 	beql	1$
                      000008E1	  10239 	cmpb	r9,#2		;moveme
                      000008E4	  10240 	beql	1$
                      000008E6	  10241 	cmpb	r9,#3		;base prio set?
                      000008E9	  10242 	bneq	2$		;if not look more
                      000008EB	  10243 ; set base prio if ok
                      000008EB	  10244 	cvtbl	(r10)+,r8	;prio to use to r8
                      000008EE	  10245 	movl	(r10)+,r7	;one long of sec.info
                      000008F1	  10246 	movl	ldt$l_myfid(r11),r2	;file id
                      000008F6	  10247 	movl	ldt$l_myfid+4(r11),r3	;hi fileid
                      000008FB	  10248 	clrl	r1
                      000008FD	  10249 	movl	r8,r0
                      00000900	  10250 	jsb	auth		;compute auth key
                      00000906	  10251 	cmpl	r0,r7		;check against ace
                      00000909	  10252 	bneq	1$		;if no good look more
                      0000090B	  10253 ; ok...set base prio
                      0000090B	  10254 	movl	g^ctl$gl_pcb,r4
                 ?01T 00000912	  10255 	.if	df,evax
                 ?01T 00000912	  10256 	movl	r8,pcb$l_prib(r4)	;set base prio (axp)
                 ?01F 00000916	  10257 	.iff
                 ?01F 00000916	  10258 	movb	r8,pcb$b_prib(r4)	;set base prio (axp)
                 ?01F 00000916	  10259 	.endc
                      00000916	  10260 	brw	1$
                      00000919	  10261 2$:
                      00000919	  10262 	cmpb	r9,#4		;priv set?
                      0000091C	  10263 	bneq	3$		;if neq look more

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  48
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      0000091E	  10264 	movl	(r10)+,r0	;sec info
                      00000921	  10265 	movl	r0,r7
                      00000924	  10266 	movl	(r10)+,r1	;sec info
                      00000927	  10267 	movl	r0,r8
                      0000092A	  10268 	movl	ldt$l_myfid(r11),r2	;file id
                      0000092F	  10269 	movl	ldt$l_myfid+4(r11),r3	;hi fileid
                      00000934	  10270 	jsb	auth
                      0000093A	  10271 	movl	(r10)+,r2	;get info from ace
                      0000093D	  10272 	movl	(r10)+,r3
                      00000940	  10273 	cmpl	r0,r2		;check auth info
                      00000943	  10274 	bneq	3$
                      00000945	  10275 	cmpl	r1,r3
                      00000948	  10276 	bneq	3$
                      0000094A	  10277 ; set privs to mask.
                      0000094A	  10278 	movl	g^ctl$gl_pcb,r4
                      00000951	  10279 	movl	r7,pcb$q_priv(r4)
                      00000956	  10280 	movl	r8,pcb$q_priv+4(r4)
                      0000095B	  10281 	movl	r7,g^ctl$gq_procpriv
                      00000962	  10282 	movl	r8,g^ctl$gq_procpriv+4
                      00000969	  10283 	movl	g^ctl$gl_phd,r4
                      00000970	  10284 	movl	r7,phd$q_authpriv(r4)
                      00000975	  10285 	movl	r8,phd$q_authpriv+4(r4)
                      0000097A	  10286 	movl	r7,phd$q_privmsk(r4)
                      0000097E	  10287 	movl	r8,phd$q_privmsk+4(r4)
                      00000982	  10288 	brw	1$
                      00000985	  10289 3$:	cmpb	r9,#5		;ident set?
                      00000988	  10290 	bneq	4$
                      0000098A	  10291 	movl	(r10)+,r0	;sec info (identifier hi)
                      0000098D	  10292 	movl	r0,r7
                      00000990	  10293 	movl	(r10)+,r1	;sec info (identifier lo)
                      00000993	  10294 	movl	r0,r8
                      00000996	  10295 	movl	ldt$l_myfid(r11),r2	;file id
                      0000099B	  10296 	movl	ldt$l_myfid+4(r11),r3	;hi fileid
                      000009A0	  10297 	jsb	auth
                      000009A6	  10298 	movl	(r10)+,r2	;get info from ace
                      000009A9	  10299 	movl	(r10)+,r3
                      000009AC	  10300 	cmpl	r0,r2		;check auth info
                      000009AF	  10301 	bneq	34$
                      000009B1	  10302 	cmpl	r1,r3
                      000009B4	  10303 	bneq	34$
                      000009B6	  10304 ; grant identifier in r7,r8 to curr. process.
                      000009B6	  10305 	clrq	-(sp)		;clear privatr & procname cells
                      000009B8	  10306 	movab	-16(r10),-(sp)	;addr of identifier info
                      000009BC	  10307 	clrq	-(sp)		;null pid & prcname
                      000009BE	  10308 	calls	#5,grantid	;use internal code (from vms)
                      000009C5	  10309 	brw	1$
                      000009C8	  10310 34$:	clrq	-8(r10)		;zero the identifier if it didn't
					1                                                                 
%AMAC-I-QUADMEMREF, (1) quadword memory references may be unaligned in routine PRVIDSET

                      000009CB	  10311 				;authenticate, so we don't revoke it
                      000009CB	  10312 				;later
                      000009CB	  10313 	brw	1$
                      000009CE	  10314 4$:	cmpb	r9,#6		;softlink record?
                      000009D1	  10315 	bneq	5$		;skip out if illegal value
                      000009D3	  10316 	movzbl	(r10),r9	;get length of data
                      000009D6	  10317 	addl2	r9,r10		;add to pointer

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  49
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000009D9	  10318 	brw	1$
                      000009DC	  10319 5$:	cmpb	r9,#7		;temp tag?
                      000009E4	  10320 	bneqw	999$		;if ill value scram
         X01/001      000009DF			beql	30025$
         X01/002      000009E1			brw	999$
         X01/003      000009E4		30025$:
                      000009E4	  10321 	movzbl	(r10),r9	;get length
                      000009E7	  10322 	addl2	r9,r10
                      000009EA	  10323 	brw	1$
                      000009ED	  10324 999$:
                      000009ED	  10325 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000009F1	  10326 	rsb
                      000009F2	  10327 ; auth -
                      000009F2	  10328 ; call: r0,r1 = security info
                      000009F2	  10329 ;       r2,r3 = file ID
                      000009F2	  10330 ;       ucb$l_keycry key; ucb ptr in r5
                      000009F2	  10331 ; output in r0,r1 = auth string
                      000009F2	  10332 auth: .jsb_entry output=<r0,r1>
                      000009F2	  10333 ; simple minded scrambler
                      000009F2	  10334 ; However not TOO simple minded. Don't want this to introduce a
                      000009F2	  10335 ; new security hole so do xors and some funny checksum adds
                      000009F2	  10336 	xorl2	r3,r0
                      000009F5	  10337 	xorl2	r2,r1
                      000009F8	  10338 	xorl2	ucb$l_keycry(r5),r0
                      000009FD	  10339 	xorl2	ucb$l_keycry+4(r5),r1	;bunch of xors to scramble
                      00000A02	  10340 ; now xor once more with a constant
                      00000A02	  10341 	xorl2	#^x5218fba2,r0
                      00000A09	  10342 	xorl2	#^xaba7126c,r1	
                      00000A10	  10343 	pushl	r0
                      00000A12	  10344 	pushl	r1
                      00000A14	  10345 	ashl	#3,r0,r0
                      00000A18	  10346 	addl2	r0,r1
                      00000A1B	  10347 	addl2	r2,r1
                      00000A1E	  10348 ; (sp) is old r1
                      00000A1E	  10349 ;4(sp) is old r0
                      00000A1E	  10350 	addl2	r1,4(sp)
                      00000A22	  10351 	movzwl	ucb$l_keycry+5(r5),r1
					1.......                              
%AMAC-I-MEMREFNOT, (1) memory reference not naturally aligned in routine AUTH

                      00000A27	  10352 	addl2	r1,4(sp)
                      00000A2B	  10353 	movl	(sp),r1		;get old r1
                      00000A2E	  10354 	ashl	#5,r1,r1
                      00000A32	  10355 	addl2	r3,r1
                      00000A35	  10356 	addl2	r1,(sp)		;mix up r1
                      00000A38	  10357 	movzwl	ucb$l_keycry+1(r5),r1
					1.......                              
%AMAC-I-MEMREFNOT, (1) memory reference not naturally aligned in routine AUTH

                      00000A3D	  10358 	addl2	r1,(sp)
                      00000A40	  10359 ;for weirdness use a couple ffs's
                      00000A40	  10360 	ffs	#0,#32,(sp),r1
                      00000A45	  10361 	addl2	r1,4(sp)
                      00000A49	  10362 	ffs	#0,#32,4(sp),r1
                      00000A4F	  10363 	addl2	r1,(sp)
                      00000A52	  10364 	popl	r1
                      00000A55	  10365 	popl	r0

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  50
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000A58	  10366 	rsb
                      00000A59	  10367 ;
                      00000A59	  10368 ; setsoftl -
                      00000A59	  10369 ; Called with R11 = LDT, r5=orig channel UCB, r6=CCB
                      00000A59	  10370 ; If softlink needed, should set ccb$l_ucb to desired UCB
                      00000A59	  10371 ; or else let it alone.
                      00000A59	  10372 setsoftl: .jsb_entry
                      00000A59	  10373 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000A5D	  10374 	cmpl	ldt$l_ace+8(r11),acllit	;this our ACE?
                      00000A6A	  10375 	bneqw	999$
         X01/001      00000A65			beql	30026$
         X01/002      00000A67			brw	999$
         X01/003      00000A6A		30026$:
                      00000A6A	  10376 	movab	ldt$l_ace(r11),r10	;point at the ACE now
                      00000A6E	  10377 	movab	12(r10),r10	;start of data
                      00000A72	  10378 1$:	movzbl	(r10)+,r9	;get fcn byte
                      00000A7A	  10379 	beqlw	999$
         X01/001      00000A75			bneq	30027$
         X01/002      00000A77			brw	999$
         X01/003      00000A7A		30027$:
                      00000A7A	  10380 	cmpb	r9,#1		;inspectme => not here
                      00000A7D	  10381 	beql	1$
                      00000A7F	  10382 	cmpb	r9,#2		;moveme
                      00000A82	  10383 	beql	1$
                      00000A84	  10384 	cmpb	r9,#3		;base prio set?
                      00000A87	  10385 	bneq	2$		;if not look more
                      00000A89	  10386 ; set base prio if ok
                      00000A89	  10387 	cvtbl	(r10)+,r8	;prio to use to r8
                      00000A8C	  10388 	movl	(r10)+,r7	;one long of sec.info
                      00000A8F	  10389 	brw	1$
                      00000A92	  10390 2$:
                      00000A92	  10391 	cmpb	r9,#4		;priv set?
                      00000A95	  10392 	bneq	3$		;if neq look more
                      00000A97	  10393 	movl	(r10)+,r0	;sec info
                      00000A9A	  10394 	movl	(r10)+,r1	;sec info
                      00000A9D	  10395 	movl	(r10)+,r2	;get info from ace
                      00000AA0	  10396 	movl	(r10)+,r3
                      00000AA3	  10397 	brw	1$
                      00000AA6	  10398 3$:	cmpb	r9,#5		;ident set?
                      00000AA9	  10399 	bneq	4$
                      00000AAB	  10400 	movl	(r10)+,r0	;sec info
                      00000AAE	  10401 	movl	(r10)+,r1	;sec info
                      00000AB1	  10402 	movl	(r10)+,r2	;get info from ace
                      00000AB4	  10403 	movl	(r10)+,r3
                      00000AB7	  10404 	brw	1$
                      00000ABA	  10405 4$:	cmpb	r9,#6		;softlink record?
                      00000AC2	  10406 	bneqw	5$		;skip out if illegal value
         X01/001      00000ABD			beql	30028$
         X01/002      00000ABF			brw	5$
         X01/003      00000AC2		30028$:
                      00000AC2	  10407 	movzbl	(r10),r9	;get length of data
                      00000AC5	  10408 ; Softlink file. Find file & device and deal with it.
                      00000AC5	  10409 ; Note: not looking at flags yet here. Just links files.
                      00000AC5	  10410 ; (this is ok for a security tool. Directory links etc. not
                      00000AC5	  10411 ;  yet dealt with.)
                      00000AC5	  10412 ; get file ID first
                      00000AC5	  10413 	movl	r10,r8		;point at data

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  51
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000AC8	  10414 	addl2	r9,r10		;add to pointer used globally in this sub
                      00000ACB	  10415 	incl	r8		;pass length byte
                      00000ACD	  10416 	movl	r8,r9		;use r9 as a base reg later
                      00000AD0	  10417 	addl2	#<1+4+2>,r8	;pass flags, file id
                      00000AD3	  10418 ; check & act on flags
                      00000AD3	  10419 	tstb	(r9)		;normal link (0)?
                      00000AD5	  10420 	beql	901$
                      00000AD7	  10421 	cmpb	#1,(r9)		;r/o link?
                      00000ADA	  10422 	bneq	901$		;no. Presume dir. link must work normally.
                      00000ADC	  10423 	bitl	#fib$m_write,ldt$l_accmd(r11)	;r/o open (write bit clr?)
                      00000AE4	  10424 	beql	901$		;yes, do write link
                      00000AE6	  10425 	brw	1$		;else don't do link. Daemon must coop too.
                      00000AE9	  10426 901$:
                      00000AE9	  10427 ; at r9, have <flags byte><file-id-6 bytes>
                      00000AE9	  10428 ;next we get device name (counted ascii in ace)
                      00000AE9	  10429 	movl	g^ctl$gl_pcb,r4	;get curr. pcb for sure
                      00000AF0	  10430 	jsb	g^sch$iolockw	;lock mutex
                      00000AF6	  10431 ;build name descr. on stack
                      00000AF6	  10432 	subl2	#12,sp		;get space
                      00000AF9	  10433 	movl	sp,r2		;& pointer
                      00000AFC	  10434 	movzbw	(r8)+,(r2)	;size of string
                      00000AFF	  10435 	movb	#dsc$k_dtype_t,2(r2)
                      00000B03	  10436 	movb	#1,3(r2)	;fixed string
                      00000B07	  10437 	movl	r8,4(r2)	;data address
                      00000B0B	  10438 	movl	r2,r1		; string addr in r1 needed
                      00000B0E	  10439 	pushr	#^m<r3,r4,r5,r8,r9>
                      00000B12	  10440 	jsb	g^ioc$searchdev	;find device
                      00000B18	  10441 	popr	#^m<r3,r4,r5,r8,r9>
                      00000B1C	  10442 	addl2	#12,sp		;put stack back
                      00000B1F	  10443 	blbc	r0,7$		;if can't find, skip it
                      00000B22	  10444 ; Looks ok. Now reset ref counts on the UCBs and fix up
                      00000B22	  10445 ; user FIB ref to new file and CCB UCB ref.
                      00000B22	  10446 	movl	ccb$l_ucb(r6),r7	;old ucb
                 ?01T 00000B26	  10447 	.if	df,evax
                 ?01T 00000B26	  10448 	decl	ucb$l_refc(r7)		;count his refs down
                 ?01T 00000B29	  10449 	bgtr	10$
                 ?01T 00000B2B	  10450 	clrl	ucb$l_refc(r7)
                 ?01F 00000B2E	  10451 	.iff
                 ?01F 00000B2E	  10452 	decw	ucb$w_refc(r7)		;count his refs down
                 ?01F 00000B2E	  10453 	bgtr	10$
                 ?01F 00000B2E	  10454 	clrw	ucb$w_refc(r7)
                 ?01F 00000B2E	  10455 	.endc
                      00000B2E	  10456 10$:	movl	r1,ccb$l_ucb(r6)	;update user CCB
                 ?01T 00000B32	  10457 	.if	df,evax
                 ?01T 00000B32	  10458 	incl	ucb$l_refc(r1)		;& count 1 ref up there
                 ?01F 00000B35	  10459 	.iff
                 ?01F 00000B35	  10460 	incw	ucb$w_refc(r1)		;& count 1 ref up there
                 ?01F 00000B35	  10461 	.endc
                      00000B35	  10462 	movl	ldt$l_regs+4(r11),r3	;get user IRP
                      00000B3A	  10463 	movl	r1,irp$l_ucb(r3)	;point that at this ucb
                      00000B3E	  10464 ;update FIB pointer now.
                      00000B3E	  10465 	movl	ldt$l_parm(r11),r8	;get P1 = fib descr.
                      00000B43	  10466 	beql	7$
                      00000B45	  10467 	movl	4(r8),r8		;get fib addr to r8 here
                      00000B49	  10468 	beql	7$

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  52
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000B4B	  10469 	movl	1(r9),fib$w_fid(r8)	;fill in file id
					1.......                                                 
%AMAC-I-MEMREFNOT, (1) memory reference not naturally aligned in routine SETSOFTL

                      00000B50	  10470 	movw	5(r9),fib$w_fid+4(r8)	;all 6 bytes
					1.......                                             
%AMAC-I-MEMREFNOT, (1) memory reference not naturally aligned in routine SETSOFTL

                      00000B55	  10471 	clrw	fib$w_did(r8)
                      00000B58	  10472 	clrl	fib$w_did+2(r8)	;set no lookup on softlinks...we have a file id
                      00000B5B	  10473 	bicw	#fib$m_findfid,fib$w_nmctl(r8)	;no fid or wild lookup
                      00000B61	  10474 	bicw	#fib$m_wild,fib$w_nmctl(r8)
                      00000B67	  10475 	clrl	fib$l_wcc(r8)		;no wild context
                      00000B6A	  10476 7$:	jsb	g^sch$iounlock
                      00000B70	  10477 	brw	1$
                      00000B73	  10478 5$:	cmpb	r9,#7		;temp tag?
                      00000B76	  10479 	bneq	999$		;if ill value scram
                      00000B78	  10480 	movzbl	(r10),r9	;get length
                      00000B7B	  10481 	addl2	r9,r10
                      00000B7E	  10482 	brw	1$
                      00000B81	  10483 999$:
                      00000B81	  10484 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000B85	  10485 	rsb
                      00000B86	  10486 ;
                      00000B86	  10487 ; movldt -
                      00000B86	  10488 ; Called with R11 = LDT entry, ccb$l_ucb(r6) = new UCB, 
                      00000B86	  10489 ; ldt$chnucb = old UCB = r5. This routine should relink the
                      00000B86	  10490 ; LDT from the old device to the new one.
                      00000B86	  10491 movldt: .jsb_entry
                      00000B86	  10492 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000B8A	  10493 ; first find pointer to the old LDT
                      00000B8A	  10494 	movl	g^ctl$gl_pcb,r4
                      00000B91	  10495 	jsb	findldt		;get existing LDT
                      00000B97	  10496 	tstl	r0
                      00000B99	  10497 	beql	999$
                      00000B9B	  10498 	movl	r1,r10		;old pointer in r10 now
                      00000B9E	  10499 	movl	ldt$l_fwd(r11),ldt$l_fwd(r10)	;remove LDT from this chain
                      00000BA3	  10500 ; now find new place for the LDT
                      00000BA3	  10501 	movl	ccb$l_ucb(r6),r5	;UCB we need to go to
                      00000BA7	  10502 	jsb	findldt		;find where we can put ldt
                      00000BAD	  10503 	tstl	r0	;r0 better be 0
                      00000BAF	  10504 	beql	2$
                      00000BB1	  10505 	movl	ldt$l_fresiz(r11),r1
                      00000BB5	  10506 	movl	r11,r0
                      00000BB8	  10507 	jsb	g^exe$deanonpgdsiz
                      00000BBE	  10508 	brb	999$
                      00000BC0	  10509 2$:	clrl	ldt$l_fwd(r11)		;set no fwd from us
                      00000BC3	  10510 	movl	r11,ldt$l_fwd(r1)	;point other chain at us
                      00000BC7	  10511 999$:
                      00000BC7	  10512 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000BCB	  10513 	rsb
                      00000BCC	  10514 ;
                      00000BCC	  10515 ; dowait. Enter with r10 = iosb block and r11 = ldt
                      00000BCC	  10516 ; bashes r0
                      00000BCC	  10517 ;
                      00000BCC	  10518 dowait: .jsb_entry output=<r0,r10>
                      00000BCF	  10519 	setipl ipl=#0,environ=UNIPROCESSOR

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  53
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/005 ?01T 00000BCC				MTPR	#0,S^#PR$_IPL
                      00000BCF	  10520 10$:	tstl	(r10)		;iosb nonzero already?
                      00000BD1	  10521 	bneq	90$
                      00000BD3	  10522 	movl	ldt$l_prcstr(r11),r0	;point at process string
                      00000BD7	  10523 	beql	90$			;invalid -> exit
                      00000BD9	  10524 	tstl	(r0)		;knl threads all done?
                      00000BDB	  10525 ; all knl threads done means finished
                      00000BDB	  10526 	beql	90$		;if so scram.
                      00000BDD	  10527 ;looks like we need to wait. Do so.
                      00000BDD	  10528 	movl	#31,-(sp)	;wait for efn 31
                      00000BE0	  10529 	calls	#1,g^sys$waitfr
                      00000BE7	  10530 ; then clear it again
                      00000BE7	  10531 	movl	#31,-(sp)
                      00000BEA	  10532 	calls	#1,g^sys$clref
                      00000BF1	  10533 	brb	10$		;then check again
                      00000BF3	  10534 90$:	movl	r10,r0		;save data address
                      00000BF6	  10535 	movl	(r10),r10	;get status finally, return in r10
                      00000BF9	  10536 	bneq	92$		;if nonzero that's good
                      00000BFB	  10537 	movl	#2,r10		;else force nonzero but bogus
                      00000BFE	  10538 92$:	pushr	#^m<r0,r1,r2,r3>
                      00000C00	  10539 ; deallocate the "iosb" block from pool now.
                      00000C00	  10540 	movl	#16,r1		;16 bytes
                      00000C03	  10541 	jsb	g^exe$deanonpgdsiz
                      00000C09	  10542 	popr	#^m<r0,r1,r2,r3>	
                      00000C0B	  10543 ; done now.
                      00000C0B	  10544 	rsb
                      00000C0C	  10545 ; fdt redo entries.
                      00000C0C	  10546 ; Logic pretty much copied from sysqioreq.mar bit
                      00000C0C	  10547 	.entry fdtlop,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000C0E	  10548 10$:	addl2	#12,r8	;next mask
                      00000C11	  10549 	bbc	r7,(r8),10$
                      00000C15	  10550 	movl	8(r8),r0	;get address
                      00000C19	  10551 	jsb	(r0)
                      00000C1B	  10552 	brb	10$
                      00000C1D	  10553 	.entry fdtxit,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000C1F	  10554 	movl	#ss$_normal,r0	;good fake exit
                      00000C22	  10555 	jsb	x$fini
                      00000C28	  10556 	ret
                      00000C29	  10557 	.entry fdtbxt,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000C2B	  10558 	movl	#ss$_nopriv,r0	;bad fakeexit. no priv...the classic VMS status
                      00000C2E	  10559 	jsb	x$fini
                      00000C34	  10560 	ret		;for appearances sake
                      00000C35	  10561 
                      00000C35	  10562 x$fini:	.jsb_entry
                      00000C4A	  10590 	call_finishioc do_ret=no
         X01/002      00000C35			CLRL	R1
         X02/007      00000C37			MOVL	R0,IRP$L_IOST1(R3)
         X02/008      00000C3B			MOVL	R1,IRP$L_IOST2(R3)
         X02/010      00000C3F			PUSHL	R5
         X02/011      00000C41			PUSHL	R3
         X02/012      00000C43			CALLS	#2,G^EXE_STD$FINISHIO
                      00000C4A	  10591 	rsb
                      00000C4B	  10592 
                      00000C5D	  10593 DeacFilt: $driver_fdt_entry
00000000 X02/075 ?02T 00000C4B			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/131 ?01T 00000C4D			MOVL	FDTARG$_IRP(AP),R3
         X01/132 ?01T 00000C51			MOVL	FDTARG$_PCB(AP),R4

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  54
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/133 ?01T 00000C55			MOVL	FDTARG$_UCB(AP),R5
         X01/134 ?01T 00000C59			MOVL	FDTARG$_CCB(AP),R6
                      00000C5D	  10594 	pushr	#^m<r0,r5>
                      00000C5F	  10595 ; original r5 now at 4(sp). Must get that to continue the ops.
                      00000C5F	  10596 	jsb	getJTucb		;find JTdriver ucb
                      00000C63	  10597 	tstl	r0
                      00000C65	  10598 	blss	509$
                      00000C67	  10599 1509$:	popr	#^m<r0,r5>
                      00000C69	  10600 	bsbw	popout
                      00000C6C	  10601 	ret
                      00000C6D	  10602 509$:
                      00000C6D	  10603 ;	bgeqw	popout
                      00000C6D	  10604 	movl	r5,ucb$l_backlk(r0)	;save link'd ucb in ours too.
                      00000C72	  10605 	movl	r0,r5			;point R5 at JT UCB
                      00000C75	  10606 	bitl	i^#65792,ucb$l_ctlflgs(r5)	;look at deaccess (close)?
                      00000C83	  10607 	beqlw	1509$			; if eql no, forget it
         X01/001      00000C7E			bneq	30029$
         X01/002      00000C80			brw	1509$
         X01/003      00000C83		30029$:
                      00000C83	  10608 ; Make sure this isn't one of OUR daemons
                      00000C83	  10609 	cmpl	pcb$l_pid(r4),ucb$l_daemon(r5)	;open etc. daemon?
                      00000C8F	  10610 	beqlw	1509$
         X01/001      00000C8A			bneq	30030$
         X01/002      00000C8C			brw	1509$
         X01/003      00000C8F		30030$:
                      00000C8F	  10611 	cmpl	pcb$l_pid(r4),ucb$l_exdmn(r5)	;not extend daemon
                      00000C9B	  10612 	beqlw	1509$
         X01/001      00000C96			bneq	30031$
         X01/002      00000C98			brw	1509$
         X01/003      00000C9B		30031$:
                      00000C9B	  10613 	cmpl	pcb$l_pid(r4),ucb$l_deldmn(r5)
                      00000CA7	  10614 	beqlw	1509$			;not delete daemon
         X01/001      00000CA2			bneq	30032$
         X01/002      00000CA4			brw	1509$
         X01/003      00000CA7		30032$:
                      00000CA7	  10615 	cmpl	pcb$l_pid(r4),ucb$l_exempt(r5)	;exempted pid?
                      00000CB3	  10616 	beqlw	1509$
         X01/001      00000CAE			bneq	30033$
         X01/002      00000CB0			brw	1509$
         X01/003      00000CB3		30033$:
                      00000CB3	  10617 	cmpl	pcb$l_pid(r4),ucb$l_exempt+4(r5) ;exempted pid?
                      00000CBF	  10618 	beqlw	1509$
         X01/001      00000CBA			bneq	30034$
         X01/002      00000CBC			brw	1509$
         X01/003      00000CBF		30034$:
                      00000CBF	  10619 	cmpl	pcb$l_pid(r4),ucb$l_exempt+8(r5) ;exempted pid?
                      00000CCB	  10620 	beqlw	1509$
         X01/001      00000CC6			bneq	30035$
         X01/002      00000CC8			brw	1509$
         X01/003      00000CCB		30035$:
                      00000CCB	  10621 	cmpl	pcb$l_pid(r4),ucb$l_exempt+12(r5) ;exempted pid?
                      00000CD7	  10622 	beqlw	1509$
         X01/001      00000CD2			bneq	30036$
         X01/002      00000CD4			brw	1509$
         X01/003      00000CD7		30036$:
                      00000CD7	  10623 ;make sure not a knl mode channel (leave the XQP channel alone!!!)
                      00000CD7	  10624 	cmpb	ccb$b_amod(r6),#1	;this the XQP's chnl?

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  55
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000CE0	  10625 	bleqw	1509$			; if so scram NOW.
         X01/001      00000CDB			bgtr	30037$
         X01/002      00000CDD			brw	1509$
         X01/003      00000CE0		30037$:
                      00000CE0	  10626 ; Looks like we need to inspect this entry.
                      00000CE0	  10627 ; If there's a softlink, pass the FDT calls for the user, then
                      00000CE0	  10628 ; restore the channel, remove LDT, etc.
                      00000CE0	  10629 	movl	r5,r10			;pass orig. UCB addr in R10
                      00000CE3	  10630 ; change it to orig. one in clenup if we need to reissue i/o &
                      00000CE3	  10631 ; then reset chnl.
                      00000CE3	  10632 	jsb	clnup			;go restore privs/prio/idents etc.
                      00000CE9	  10633 	cmpl	r10,r5			;need to reset chnl?
                      00000CEC	  10634 	beql	99$			;if eql no, just exit
                      00000CEE	  10635 	pushl	r10			;need to remember desired UCB addr
                      00000CF0	  10636 ; reissue rest of fdts
                      00000CF0	  10637 	pushl	r5			;keep JT ucb around
                      00000CF2	  10638 	movl	ucb$l_backlk(r5),r5	;victim ucb
                      00000CF7	  10639 	subl2	#24,sp			;make stack room
                      00000CFA	  10640 	movl	sp,r9
                 ?01T 00000CFD	  10641 	.if	df,evax
                 ?01T 00000CFD	  10642 	movl	irp$l_qio_p1(r3),(r9)
                 ?01T 00000D01	  10643 	movl	irp$l_qio_p2(r3),04(r9)
                 ?01T 00000D06	  10644 	movl	irp$l_qio_p3(r3),08(r9)
                 ?01T 00000D0C	  10645 	movl	irp$l_qio_p4(r3),12(r9)
                 ?01T 00000D12	  10646 	movl	irp$l_qio_p5(r3),16(r9)
                 ?01T 00000D18	  10647 	movl	irp$l_qio_p6(r3),20(r9)
                 ?01F 00000D1E	  10648 	.iff
                 ?01F 00000D1E	  10649 	movl	p1(ap),(r9)
                 ?01F 00000D1E	  10650 	movl	p2(ap),04(r9)
                 ?01F 00000D1E	  10651 	movl	p3(ap),08(r9)
                 ?01F 00000D1E	  10652 	movl	p4(ap),12(r9)
                 ?01F 00000D1E	  10653 	movl	p5(ap),16(r9)
                 ?01F 00000D1E	  10654 	movl	p6(ap),20(r9)
                 ?01F 00000D1E	  10655 	.endc
                      00000D1E	  10656 ; reconstitute call to victim's FDT
                      00000D1E	  10657         EXTZV   #IRP$V_FCODE,#IRP$S_FCODE,IRP$L_FUNC(R3),R1     ; GET FCN CODE
                      00000D24	  10658 	pushr	#^m<r6,r7,r8,r9>
                      00000D28	  10659 	jsb	getjtucb		;locate JT UCB
                      00000D2C	  10660 	tstl	r0
                      00000D2E	  10661 	bgeq	199$			;no JT UCB should not happen
                      00000D30	  10662 	movab	ucb$l_oldfdt(r0),r7
                      00000D35	  10663 	bgeq	199$		;if old FDT isn't in sys space we're messed
                      00000D37	  10664 ; Here rely on the fact that we got here via our modified FDT call and that
                      00000D37	  10665 ; the orig. FDT is stored just a bit past the current one.
                      00000D37	  10666 ; ucb$l_oldfdt near ucb$l_myfdt
                      00000D37	  10667 	addl2	#8,r7			;point at one of 64 fdt addresses
                      00000D3A	  10668 	movl	(r7)[r1],r8		;r7 is desired routine address
                      00000D3E	  10669 ;now call the "official" FDT code
                      00000D3E	  10670 	pushl	r6	;ccb
                      00000D40	  10671 	pushl	r5	;ucb
                      00000D42	  10672 	pushl	r4	;pcb
                      00000D44	  10673 	pushl	r3	;irp
                      00000D46	  10674 	calls	#4,(r8)			;Call the original routine
                      00000D49	  10675 	popr	#^m<r6,r7,r8,r9>
                      00000D4D	  10676 	brb	1199$
                      00000D4F	  10677 199$:
                      00000D4F	  10678 	popr	#^m<r6,r7,r8,r9>

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  56
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000D53	  10679 	movl	#16,r0			;fail with err if structures messed
                      00000D6C	  10680 	call_finishioc do_ret=yes
         X01/002      00000D56			CLRL	R1
         X02/011      00000D58			MOVL	R0,IRP$L_IOST1(R3)
         X02/012      00000D5C			MOVL	R1,IRP$L_IOST2(R3)
         X02/014      00000D60			PUSHL	R5
         X02/015      00000D62			PUSHL	R3
         X02/016      00000D64			CALLS	#2,G^EXE_STD$FINISHIO
         X02/019 ?01T 00000D6B			RET
                      00000D6C	  10681 1199$:
                      00000D6C	  10682 ; Now return as the original routine would.
                      00000D6C	  10683 ;	callg	(r9),fdtlop		;reissue fdt chain
                      00000D6F	  10684 	setipl ipl=#2,environ=UNIPROCESSOR
         X01/005 ?01T 00000D6C				MTPR	#2,S^#PR$_IPL
                      00000D6F	  10685 	addl2	#24,sp		; fix stack
                      00000D72	  10686 	popl	r5
                      00000D75	  10687 	popl	r10
                      00000D78	  10688 	movl	ccb$l_ucb(r6),r9	;keep old ucb a mo...
                      00000D7C	  10689 	movl	r10,ccb$l_ucb(r6)	;reset user channel to orig. device
                      00000D80	  10690 ; adjust ref counts now
                 ?01T 00000D80	  10691 	.if	df,evax
                 ?01T 00000D80	  10692 	decl	ucb$l_refc(r9)		;1 less chnl on old dvc
                 ?01T 00000D83	  10693 	bgtr	4$			;if 1+, ok
                 ?01T 00000D85	  10694 	movl	#1,ucb$l_refc(r9)	;mounted dsk should have 1 or more
                 ?01T 00000D89	  10695 4$:	incl	ucb$l_refc(r10)		;bump new count again
                 ?01F 00000D8C	  10696 	.iff
                 ?01F 00000D8C	  10697 	decw	ucb$w_refc(r9)		;1 less chnl on old dvc
                 ?01F 00000D8C	  10698 	bgtr	4$			;if 1+, ok
                 ?01F 00000D8C	  10699 	movw	#1,ucb$w_refc(r9)	;mounted dsk should have 1 or more
                 ?01F 00000D8C	  10700 4$:	incw	ucb$w_refc(r10)		;bump new count again
                 ?01F 00000D8C	  10701 	.endc
                      00000D8C	  10702 ;;;??????  check flow here
                      00000D8C	  10703 	popr	#^m<r0,r5>
                      00000D8E	  10704 ;	setipl ipl=#0,environ=UNIPROCESSOR
                      00000D8E	  10705 	movl	#ss$_fdt_compl,r0
                      00000D95	  10706 	ret
                      00000D96	  10707 99$:
                      00000D96	  10708 	popr	#^m<r0,r5>
                      00000D98	  10709 	bsbw	popout
                      00000D9B	  10710 	ret
                      00000D9C	  10711 ;	rsb
                      00000D9C	  10712 clnup: .jsb_entry output=<r10>
                      00000D9C	  10713 ; remove old ldt etc. after prio/priv/ident restore. If
                      00000D9C	  10714 ; original UCB in LDT differs from UCB now, save orig ucb in R10
                      00000D9C	  10715 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r11>
                      00000DA0	  10716 ; find LDT first. If none, not much to do.
                      00000DA0	  10717 	jsb	findldt
                      00000DA6	  10718 	tstl	r0		;got an ldt?
                      00000DAD	  10719 	beqlw	999$		;if eql no
         X01/001      00000DA8			bneq	30038$
         X01/002      00000DAA			brw	999$
         X01/003      00000DAD		30038$:
                      00000DAD	  10720 	movl	r0,r11		;ldt in r0 if nonzero
                      00000DB0	  10721 ;put prio/privs back
                      00000DB0	  10722 	movl	g^ctl$gl_pcb,r4
                 ?01T 00000DB7	  10723 	.if	df,evax
                 ?01T 00000DB7	  10724 	movl	ldt$l_bprio(r11),pcb$l_prib(r4)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  57
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 00000DBC	  10725 	.iff
                 ?01F 00000DBC	  10726 	movb	ldt$l_bprio(r11),pcb$b_prib(r4)
                 ?01F 00000DBC	  10727 	.endc
                      00000DBC	  10728 	movl	ldt$l_wprv(r11),pcb$q_priv(r4)
                      00000DC2	  10729 	movl	ldt$l_wprv+4(r11),pcb$q_priv+4(r4)
                      00000DC8	  10730 	movl	ldt$l_wprv(r11),g^ctl$gq_procpriv
                      00000DD0	  10731 	movl	ldt$l_wprv+4(r11),g^ctl$gq_procpriv+4
                      00000DD8	  10732 	movl	g^ctl$gl_phd,r4
                      00000DDF	  10733 	movl	ldt$l_aprv(r11),phd$q_authpriv(r4)
                      00000DE5	  10734 	movl	ldt$l_aprv+4(r11),phd$q_authpriv+4(r4)
                      00000DEB	  10735 	movl	ldt$l_wprv(r11),phd$q_privmsk(r4)
                      00000DF0	  10736 	movl	ldt$l_wprv+4(r11),phd$q_privmsk+4(r4)
                      00000DF5	  10737 ; See if this is closing a softlink that changed devices
                      00000DF5	  10738 ; so the user channel needs to be put back.
                      00000DF5	  10739 	cmpl	ldt$l_chnucb(r11),ccb$l_ucb(r6)	;softlink close?
                      00000DFA	  10740 	beql	1$		;if eql no
                      00000DFC	  10741 	movl	ldt$l_chnucb(r11),r10	;else save orig. ucb
                      00000E00	  10742 1$:
                      00000E00	  10743 ; put back idents
                      00000E00	  10744 	pushl	r10
                      00000E02	  10745 	jsb	undoid		;undo ident hacking. Do this in a subroutine
                      00000E08	  10746 				;for clarity. We need to again root thru the
                      00000E08	  10747 				;ACE to accomplish this...
                      00000E08	  10748 	popl	r10
                      00000E0B	  10749 ; get rid of whole LDT
                      00000E0B	  10750 ; clean all out
                      00000E0B	  10751 ; Synch: LDT pertains to this process only, so should be no problem
                      00000E0B	  10752 ; with other LDTs. The LDT vector is per-process.
                      00000E0B	  10753 	jsb	findldt		;find where this LDT is
                      00000E11	  10754 ; On return r1 is previous LDT (which we need) and r0 is
                      00000E11	  10755 ; LDT address (must be same as R11).
                      00000E11	  10756 	cmpl	r0,r11
                      00000E14	  10757 	bneq	999$		;if we get bad LDT, don't mess
                      00000E16	  10758 ; Use careful order so nothing else gets interfered with.
                      00000E16	  10759 ; r1 is prev LDT, r11 is this one.
                      00000E16	  10760 	movl	ldt$l_fwd(r11),ldt$l_fwd(r1)	;collapse this LDT out of chain
                      00000E1B	  10761 ;now deallocate this LDT & go
                      00000E1B	  10762 	movl	ldt$l_fresiz(r11),r1		;length to free
                      00000E1F	  10763 	movl	r11,r0			;addr to free
                      00000E22	  10764 	jsb	g^exe$deanonpgdsiz	;free it
                      00000E28	  10765 ; Now the LDT is freed and we go off on our merry way. The file gets closed
                      00000E28	  10766 ; by later FDT stuff.
                      00000E28	  10767 999$:
                      00000E28	  10768 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r11>
                      00000E2C	  10769 	rsb
                      00000E2D	  10770 ; Revoke identifiers found granted by the ACE.
                      00000E2D	  10771 undoid: .jsb_entry
                      00000E2D	  10772 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000E31	  10773 	movab	ldt$l_ace(r11),r10	;point at our ACE
                      00000E35	  10774 ; look for priv sets
                      00000E35	  10775 	cmpl	ldt$l_ace+8(r11),acllit	;this our ACE?
                      00000E42	  10776 	bneqw	999$
         X01/001      00000E3D			beql	30039$
         X01/002      00000E3F			brw	999$
         X01/003      00000E42		30039$:
                      00000E42	  10777 	movab	12(r10),r10	;start of data
                      00000E46	  10778 1$:	movzbl	(r10)+,r9	;get fcn byte

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  58
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000E4E	  10779 	beqlw	999$
         X01/001      00000E49			bneq	30040$
         X01/002      00000E4B			brw	999$
         X01/003      00000E4E		30040$:
                      00000E4E	  10780 	cmpb	r9,#1		;inspectme => not here
                      00000E51	  10781 	beql	1$
                      00000E53	  10782 	cmpb	r9,#2		;moveme
                      00000E56	  10783 	beql	1$
                      00000E58	  10784 	cmpb	r9,#3		;base prio set?
                      00000E5B	  10785 	bneq	2$		;if not look more
                      00000E5D	  10786 ; set base prio if ok
                      00000E5D	  10787 	cvtbl	(r10)+,r8	;prio to use to r8
                      00000E60	  10788 	movl	(r10)+,r7	;one long of sec.info
                      00000E63	  10789 	brw	1$
                      00000E66	  10790 2$:
                      00000E66	  10791 	cmpb	r9,#4		;priv set?
                      00000E69	  10792 	bneq	3$		;if neq look more
                      00000E6B	  10793 	movl	(r10)+,r0	;sec info
                      00000E6E	  10794 	movl	(r10)+,r1	;sec info
                      00000E71	  10795 	movl	(r10)+,r2	;get info from ace
                      00000E74	  10796 	movl	(r10)+,r3
                      00000E77	  10797 	brw	1$
                      00000E7A	  10798 3$:	cmpb	r9,#5		;ident set?
                      00000E7D	  10799 	bneq	4$
                      00000E7F	  10800 ; If the auth check passed first time, it'll pass now, so check
                      00000E7F	  10801 ; just as was done to grant, and revoke anything we would have granted
                      00000E7F	  10802 ; initially.
                      00000E7F	  10803 	movl	(r10)+,r0	;sec info
                      00000E82	  10804 	movl	r0,r7
                      00000E85	  10805 	movl	(r10)+,r1	;sec info
                      00000E88	  10806 	movl	r0,r8
                      00000E8B	  10807 	movl	ldt$l_myfid(r11),r2	;file id
                      00000E90	  10808 	movl	ldt$l_myfid+4(r11),r3	;hi fileid
                      00000E95	  10809 ; At file close time we may have blown file ID away off end of LDT
                      00000E95	  10810 ; so don't authorize...just check for null identifier and don't revoke
                      00000E95	  10811 ; that...
                      00000E95	  10812 ;	jsb	auth
                      00000E95	  10813 	movl	(r10)+,r2	;get info from ace
                      00000E98	  10814 	movl	(r10)+,r3
                      00000E9B	  10815 ;	cmpl	r0,r2		;check auth info
                      00000E9B	  10816 ;	bneq	4$
                      00000E9B	  10817 ;	cmpl	r1,r3
                      00000E9B	  10818 ;	bneq	4$
                      00000E9B	  10819 	tstl	r7		;null identifier (1st long =0)?
                      00000E9D	  10820 	beql	4$		;if so we didn't auth it on grant...no revoke
                      00000E9F	  10821 ; UNgrant identifier in r7,r8 to curr. process.
                      00000E9F	  10822 	clrq	-(sp)		;clear privatr & procname cells
                      00000EA1	  10823 	movab	-16(r10),-(sp)	;addr of identifier info
                      00000EA5	  10824 	clrq	-(sp)		;null pid & prcname
                      00000EA7	  10825 	calls	#5,revokid	;use internal code (from vms)
                      00000EAE	  10826 	brw	1$
                      00000EB1	  10827 4$:	cmpb	r9,#6		;softlink record?
                      00000EB4	  10828 	bneq	5$		;skip out if illegal value
                      00000EB6	  10829 	movzbl	(r10),r9	;get length of data
                      00000EB9	  10830 	addl2	r9,r10		;add to pointer
                      00000EBC	  10831 	brw	1$
                      00000EBF	  10832 5$:	cmpb	r9,#7		;temp tag?

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  59
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000EC2	  10833 	bneq	999$		;if ill value scram
                      00000EC4	  10834 	movzbl	(r10),r9	;get length
                      00000EC7	  10835 	addl2	r9,r10
                      00000ECA	  10836 	brw	1$
                      00000ECD	  10837 999$:
                      00000ECD	  10838 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00000ED1	  10839 	rsb
                      00000ED2	  10840 ;
                      00000ED2	  10841 ; Delfilt =
                      00000ED2	  10842 ; Monitor delete requests; allow a daemon to "do something" first (like
                      00000ED2	  10843 ; make a copy for awhile)
                      00000EE4	  10844 DelFilt: $driver_fdt_entry
00000000 X02/075 ?02T 00000ED2			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/131 ?01T 00000ED4			MOVL	FDTARG$_IRP(AP),R3
         X01/132 ?01T 00000ED8			MOVL	FDTARG$_PCB(AP),R4
         X01/133 ?01T 00000EDC			MOVL	FDTARG$_UCB(AP),R5
         X01/134 ?01T 00000EE0			MOVL	FDTARG$_CCB(AP),R6
                      00000EE4	  10845 ; be sure not a knl channel
                      00000EE4	  10846 	tstl	r6		;is there a CCB (must be +)
                      00000EE6	  10847 	bleq	2$		;if not skip out
                      00000EE8	  10848 	cmpb	ccb$b_amod(r6),#1	;knl mode access?
                      00000EEC	  10849 	bgtr	1$
                      00000EEE	  10850 2$:	bsbw	pors		;leave knl channelsalone, continue chain
                      00000EF1	  10851 	ret
                      00000EF2	  10852 1$:
                      00000EF2	  10853 ; Do deletion control stuff
                      00000EF2	  10854 	pushr	#^m<r0,r5>
                      00000EF4	  10855 ; original r5 now at 4(sp). Must get that to continue the ops.
                      00000EF4	  10856 	jsb	getJTucb		;find JTdriver ucb
                      00000EF8	  10857 	tstl	r0
                      00000EFA	  10858 	blss	509$
                      00000EFC	  10859 1509$:	popr	#^m<r0,r5>
                      00000EFE	  10860 	bsbw	popout
                      00000F01	  10861 	ret
                      00000F02	  10862 509$:
                      00000F02	  10863 ;	bgeqw	popout
                      00000F02	  10864 	movl	r5,ucb$l_backlk(r0)	;save link'd ucb in ours too.
                      00000F07	  10865 	movl	r0,r5			;point R5 at JT UCB
                      00000F0A	  10866 ; Want this control?
                      00000F0A	  10867 	bitl	#<128>,ucb$l_ctlflgs(r5)	;user want delete control?
                      00000F18	  10868 	beqlw	1509$			;if eql no, skip out.
         X01/001      00000F13			bneq	30041$
         X01/002      00000F15			brw	1509$
         X01/003      00000F18		30041$:
                      00000F18	  10869 ; Make sure this isn't one of OUR daemons
                      00000F18	  10870 	cmpl	pcb$l_pid(r4),ucb$l_daemon(r5)	;open etc. daemon?
                      00000F24	  10871 	beqlw	1509$
         X01/001      00000F1F			bneq	30042$
         X01/002      00000F21			brw	1509$
         X01/003      00000F24		30042$:
                      00000F24	  10872 	cmpl	pcb$l_pid(r4),ucb$l_exdmn(r5)	;not extend daemon
                      00000F30	  10873 	beqlw	1509$
         X01/001      00000F2B			bneq	30043$
         X01/002      00000F2D			brw	1509$
         X01/003      00000F30		30043$:
                      00000F30	  10874 	cmpl	pcb$l_pid(r4),ucb$l_deldmn(r5)
                      00000F3C	  10875 	beqlw	1509$			;not delete daemon

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  60
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/001      00000F37			bneq	30044$
         X01/002      00000F39			brw	1509$
         X01/003      00000F3C		30044$:
                      00000F3C	  10876 	cmpl	pcb$l_pid(r4),ucb$l_exempt(r5)	;exempted pid?
                      00000F48	  10877 	beqlw	1509$
         X01/001      00000F43			bneq	30045$
         X01/002      00000F45			brw	1509$
         X01/003      00000F48		30045$:
                      00000F48	  10878 	cmpl	pcb$l_pid(r4),ucb$l_exempt+4(r5) ;exempted pid?
                      00000F54	  10879 	beqlw	1509$
         X01/001      00000F4F			bneq	30046$
         X01/002      00000F51			brw	1509$
         X01/003      00000F54		30046$:
                      00000F54	  10880 	cmpl	pcb$l_pid(r4),ucb$l_exempt+8(r5) ;exempted pid?
                      00000F60	  10881 	beqlw	1509$
         X01/001      00000F5B			bneq	30047$
         X01/002      00000F5D			brw	1509$
         X01/003      00000F60		30047$:
                      00000F60	  10882 	cmpl	pcb$l_pid(r4),ucb$l_exempt+12(r5) ;exempted pid?
                      00000F6C	  10883 	beqlw	1509$
         X01/001      00000F67			bneq	30048$
         X01/002      00000F69			brw	1509$
         X01/003      00000F6C		30048$:
                      00000F6C	  10884 ;make sure not a knl mode channel (leave the XQP channel alone!!!)
                      00000F6C	  10885 	cmpb	ccb$b_amod(r6),#1	;this the XQP's chnl?
                      00000F75	  10886 	bleqw	1509$			; if so scram NOW.
         X01/001      00000F70			bgtr	30049$
         X01/002      00000F72			brw	1509$
         X01/003      00000F75		30049$:
                      00000F75	  10887 ; Also...hack...
                      00000F75	  10888 ;if io$m_create is seen here (128 bit) we erase it from the
                      00000F75	  10889 ; irp but skip this i/o, to allow utils to do more work.
                      00000F75	  10890 ; This is because we probably will want other utilities to
                      00000F75	  10891 ; do deletions and need not to force them to be all within the
                      00000F75	  10892 ; daemon process.
                 ?01T 00000F75	  10893 	.if	df,evax
                 ?01T 00000F75	  10894 	bitL	#io$m_create,irp$l_func(r3)	;bogus subfunc?
                 ?01T 00000F7D	  10895 	beql	10$			;if not there, normal
                 ?01T 00000F7F	  10896 	bicl	#io$m_create,irp$l_func(r3)	;else remove and
                 ?01F 00000F87	  10897 	.iff
                 ?01F 00000F87	  10898 	bitw	#io$m_create,irp$w_func(r3)	;bogus subfunc?
                 ?01F 00000F87	  10899 	beql	10$			;if not there, normal
                 ?01F 00000F87	  10900 	bicw	#io$m_create,irp$w_func(r3)	;else remove and
                 ?01F 00000F87	  10901 	.endc
                      00000F87	  10902 	brw	999$			;let delete by
                      00000F8A	  10903 10$:
                      00000F8A	  10904 ; Now ensure that this call is not in the same JOB as the daemon.
                      00000F8A	  10905 ; (This lets the daemon spawn processes to do some work.)
                      00000F8A	  10906 	pushr	#^m<r6,r7,r8,r9,r10,r11>	;get some regs
                      00000F8E	  10907 	movl	ucb$l_deldmn(r5),r10	;get the daemon PID
                      00000F93	  10908 	bleq	5$
                      00000F95	  10909 	movzwl	r10,r7			;get process index
                      00000F98	  10910 ; like code in FQdriver...
                      00000F98	  10911 	movl	 g^sch$gl_pcbvec,r6	;get pcb vector
                      00000F9F	  10912 	movl	(r6)[r7],r8		;get a PCB address
                      00000FA3	  10913 	tstl	r8			;ensure a system addr
                      00000FA5	  10914 	bgeq	5$			;skip if not

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  61
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00000FA7	  10915 	cmpl	r10,pcb$l_pid(r8)	;be sure this is the daemon process
                      00000FAC	  10916 	bneq	5$			;else skip
                      00000FAE	  10917 ; ok, we for sure have the daemon's PCB now. See if the JIBs match
                      00000FAE	  10918 	cmpl	pcb$l_jib(r8),pcb$l_jib(r4)	;same JIB as daemon's?
                      00000FB5	  10919 	bneq	5$			;if not, don't skip out
                      00000FB7	  10920 	popr	#^m<r6,r7,r8,r9,r10,r11>	;get regs back now
                      00000FBB	  10921 48$:	brw	1509$			;then buzz off
                      00000FBE	  10922 5$:
                      00000FBE	  10923 	popr	#^m<r6,r7,r8,r9,r10,r11>	;get regs back now
                      00000FC2	  10924 ; Notify deldmn if one exists. Let that do the real work.
                      00000FC2	  10925 ; Looks like we CAN help, if there's someone out there we can yell for.
                      00000FC2	  10926 ; Check this.
                      00000FC2	  10927 	pushl	r0
                      00000FC4	  10928 	pushl	r10
                      00000FC6	  10929 	pushl	r11
                 ?01F 00000FC8	  10930 	.if	ndf,evax
                 ?01F 00000FC8	  10931 	movl	p1(ap),r0	;get fib
                 ?01T 00000FC8	  10932 	.iff
                 ?01T 00000FC8	  10933 	movl	irp$l_qio_p1(r3),r0
                 ?01T 00000FCC	  10934 	.endc
                      00000FD3	  10996 	ifnord #4,4(r0),51$
         X02/006 ?03T 00000FCC			      PROBER	#0,#4,4(r0)
         X02/007 ?03T 00000FD1			      BEQL		51$
                      00000FD3	  10997 	movl	4(r0),r0	;...from descriptor
                      00000FD7	  10998 	movl	r0,r9			;save user FIB address
                      00000FDA	  10999 	clrl	r11			;r11=0 ==> flag no security interest
                      00000FDC	  11000 	pushr	#^m<r0,r1,r2,r3>	;need some regs
                 ?01T 00000FDE	  11001 	.if	df,evax
                 ?01T 00000FDE	  11002 	movl	irp$l_qio_p1(r3),r0	;get FIB desc
                 ?01F 00000FE2	  11003 	.iff
                 ?01F 00000FE2	  11004 	movl	p1(ap),r0
                 ?01F 00000FE2	  11005 	.endc
                      00000FE2	  11006 	beql	450$
                      00000FE4	  11007 	movl	4(r0),r0		;get fib addr
                      00000FE8	  11008 	beql	450$
                      00000FEA	  11009 	movzwl	fib$w_fid(r0),r1	;get file number (check numbers
                      00000FEE	  11010 					; to save space)
                      00000FEE	  11011 	movl	#f.nums,r2		; get size of store
                 ?01F 00000FF1	  11012 	.if	df,wd.lst
                 ?01F 00000FF1	  11013 	movab	ucb$l_fnums(r5),r3	; point at store
                 ?01F 00000FF1	  11014 49$:	cmpw	(r3)+,r1		; same file number?
                 ?01F 00000FF1	  11015 	beql	47$			; if so go ahead
                 ?01F 00000FF1	  11016 	sobgtr	r2,49$
                 ?01T 00000FF1	  11017 	.iff	;bitmap
                 ?01T 00000FF1	  11018 ; r1 is file number...
                 ?01T 00000FF1	  11019 	movl	ucb$l_fnums(r5),r3	; addr of storage
                 ?01T 00000FF6	  11020 	beql	47$			; if none pretend everything matches
                 ?02F 00000FF8	  11021 	.iif	ndf,f.mask,f.mask=-16384 ;max bits to use in bitmap check
                 ?01T 00000FF8	  11022 	bicl	#f.mask,r1		;clear extra bits
                 ?01T 00000FFF	  11023 	ashl	#-3,r1,r2		;r2 gets byte offset into bitmap
                 ?01T 00001004	  11024 	addl3	r3,r2,r0		;get address
                 ?01T 00001008	  11025 	bicl	#-8,r1			;isolate bit in byte now (0-7)
                 ?01T 0000100F	  11026 	bbs	r1,(r0),47$		;if the bit is zero, not here
                 ?01T 00001013	  11027 					;if the bit is set, though, go fer it
                 ?01T 00001013	  11028 	.endc
                      00001013	  11029 ; fall thru...no match
                      00001013	  11030 450$:	popr	#^m<r0,r1,r2,r3>

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  62
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001015	  11031 	brb	51$
                      00001017	  11032 47$:
                      00001017	  11033 	popr	#^m<r0,r1,r2,r3>
                      00001019	  11034 	incl	r11			; flag to check del access
                      0000101B	  11035 50$:
                      0000101B	  11036 ; (r0 is too volatile)
                      0000101B	  11037 51$:
                      0000101B	  11038 	movl	ucb$l_delmbx(r5),r10	;get del mbx ucb if any
                      00001020	  11039 	bgeq	850$			;if none, can'thelp.
                      00001022	  11040 	bitl	#ucb$m_online,ucb$l_sts(r10)	;online?
                      00001027	  11041 	beql	850$			;if not no soap
                 ?01T 00001029	  11042 	.if	df,evax
                 ?01T 00001029	  11043 	tstl	ucb$l_refc(r10)		;anyone listening?
                 ?01F 0000102C	  11044 	.iff
                 ?01F 0000102C	  11045 	tstw	ucb$w_refc(r10)		;anyone listening?
                 ?01F 0000102C	  11046 	.endc
                      0000102C	  11047 	beql	850$			;if no, no dmn.
                      0000102E	  11048 	tstl	ucb$l_orb(r10)		;owner exist?
                      00001031	  11049 	bgeq	850$			;if geq no, skip.
                      00001033	  11050 ; check pid now for delpid
                      00001033	  11051 	pushr	#^m<r5,r6,r7,r8>
                      00001037	  11052 	movl	g^sch$gl_maxpix,r7	;max proc index
                      0000103E	  11053 100$:	movl	g^sch$gl_pcbvec,r6	;pcb vector
                      00001045	  11054 	movl	(r6)[r7],r8	;get a pcb
                      00001049	  11055 	tstl	r8		;got one?
                      0000104B	  11056 	bgeq	101$		;if geq no
                      0000104D	  11057 	cmpl	ucb$l_deldmn(r5),pcb$l_pid(r8) ;this our pid?
                      00001054	  11058 	beql	102$		;if eql yes, all well
                      00001056	  11059 101$:	sobgtr	r7,100$		;check 'em all
                      00001059	  11060 	clrl	ucb$l_deldmn(r5) ;clr dmn pid if it isn'tthere now
                      0000105D	  11061 102$:	popr	#^m<r5,r6,r7,r8>
                      00001061	  11062 	tstl	ucb$l_deldmn(r5) ;is the daemon around?
                      00001065	  11063 	beql	850$		;if not skip out
                      00001067	  11064 ; Looks like a msg can besent, so do so. For clarity do in a sub.
                      00001067	  11065 	pushr	#^m<r3,r4,r5,r6,r7,r8>
                      0000106B	  11066 	jsb	snddelmsg	;send delete message
                      00001071	  11067 	popr	#^m<r3,r4,r5,r6,r7,r8>
                      00001075	  11068 ; note secret return code 4096 indicates failure.
                      00001075	  11069 850$:
                      00001075	  11070 800$:
                      00001075	  11071 	popl	r11
                      00001078	  11072 	popl	r10
                      0000107B	  11073 	cmpl	#3,r0		;fake success status?
                      0000107E	  11074 	beql	2999$
                      00001080	  11075 	blbc	r0,1999$
                      00001083	  11076 	popl	r0
                      00001086	  11077 
                      00001086	  11078 999$:	brw	1509$
                      00001089	  11079 ;	popr	#^m<r0,r5>
                      00001089	  11080 ;	movl	#1,r0
                      00001089	  11081 ;	rsb
                      00001089	  11082 1999$:	popl	r0		;restore the stack
                      0000108C	  11083 	popr	#^m<r0,r5>
                      0000108E	  11084 	movl	#ss$_nopriv,r0	;return no priv if daemon rejected the op
                      000010A1	  11085 	call_abortio
         X01/007      00001091			PUSHL	R0
         X01/008      00001093			PUSHL	R5

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  63
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/009      00001095			PUSHL	R4
         X01/010      00001097			PUSHL	R3
         X01/011      00001099			CALLS	#4,G^EXE_STD$ABORTIO
         X01/014 ?01T 000010A0			RET
                      000010A1	  11086 ;	ret
                      000010A1	  11087 ;	jmp	g^exe$abortio	;and abort the i/o
                      000010A1	  11088 2999$:	popl	r0
                 ?01F 000010A4	  11089 	.if	df,zotdi$
                 ?01F 000010A4	  11090 ; ensure if faking success that dir id looks empty so we get no msg
                 ?02F 000010A4	  11091 	.if	ndf,evax
                 ?02F 000010A4	  11092 	movl	p1(ap),r0	;get fib
                 ?02F 000010A4	  11093 	.iff
                 ?02F 000010A4	  11094 	movl	irp$l_qio_p1(r3),r0
                 ?02F 000010A4	  11095 	.endc
                 ?01F 000010A4	  11096 	ifnord #4,4(r0),2951$
                 ?01F 000010A4	  11097 	movl	4(r0),r0	;...from descriptor
                 ?01F 000010A4	  11098 	beql	2951$		;fib addr can't be 0
                 ?01F 000010A4	  11099 	clrl	fib$w_did(r0)	;clear dir id
                 ?01F 000010A4	  11100 	clrw	fib$w_did+4(r0)	;(6 bytes)
                 ?01F 000010A4	  11101 	.endc
                      000010A4	  11102 2951$:	popr	#^m<r0,r5>
                      000010A6	  11103 	movl	#1,r0
                      000010BF	  11104 	call_finishioc do_ret=yes
         X01/002      000010A9			CLRL	R1
         X02/011      000010AB			MOVL	R0,IRP$L_IOST1(R3)
         X02/012      000010AF			MOVL	R1,IRP$L_IOST2(R3)
         X02/014      000010B3			PUSHL	R5
         X02/015      000010B5			PUSHL	R3
         X02/016      000010B7			CALLS	#2,G^EXE_STD$FINISHIO
         X02/019 ?01T 000010BE			RET
                      000010BF	  11105 ;	rsb
                      000010BF	  11106 ;
                      000010BF	  11107 ; Crefilt - 
                      000010BF	  11108 ; Get create requests for purposes of doing space management.
                      000010BF	  11109 ; Needed also for cases where directory is a bogus one we put in
                      000010BF	  11110 ; to do directory softlinks; must then change device & did to a
                      000010BF	  11111 ; real one somewhere.
                      000010D1	  11112 Crefilt: $driver_fdt_entry
00000000 X02/075 ?02T 000010BF			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/131 ?01T 000010C1			MOVL	FDTARG$_IRP(AP),R3
         X01/132 ?01T 000010C5			MOVL	FDTARG$_PCB(AP),R4
         X01/133 ?01T 000010C9			MOVL	FDTARG$_UCB(AP),R5
         X01/134 ?01T 000010CD			MOVL	FDTARG$_CCB(AP),R6
                      000010D1	  11113 ; be sure not a knl channel
                      000010D1	  11114 	tstl	r6		;is there a CCB (must be +)
                      000010D3	  11115 	bleq	2$		;if not skip out
                      000010D5	  11116 	cmpb	ccb$b_amod(r6),#1	;knl mode access?
                      000010D9	  11117 	bgtr	1$
                      000010DB	  11118 2$:	bsbw pors	;leave knl mode chnls alone!
                      000010DE	  11119 	ret
                      000010DF	  11120 1$:	pushr	#^m<r0,r5>
                      000010E1	  11121 ; original r5 now at 4(sp). Must get that to continue the ops.
                      000010E1	  11122 	jsb	getJTucb		;find JTdriver ucb
                      000010E5	  11123 	tstl	r0
                      000010E7	  11124 	blss	509$
                      000010E9	  11125 1509$:
                      000010E9	  11126 	popr	#^m<r0,r5>

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  64
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000010EB	  11127 	bsbw	popout
                      000010EE	  11128 	ret
                      000010EF	  11129 509$:
                      000010EF	  11130 ;	bgeqw	popout
                      000010EF	  11131 	movl	r5,ucb$l_backlk(r0)	;save link'd ucb in ours too.
                      000010F4	  11132 	movl	r0,r5			;point R5 at JT UCB
                      000010F7	  11133 	bitl	i^#16,ucb$l_ctlflgs(r5)	;look at create?
                      00001105	  11134 	beqlw	1509$			;if not skip
         X01/001      00001100			bneq	30050$
         X01/002      00001102			brw	1509$
         X01/003      00001105		30050$:
                      00001105	  11135 ; Make sure this isn't one of OUR daemons
                      00001105	  11136 	cmpl	pcb$l_pid(r4),ucb$l_daemon(r5)	;open etc. daemon?
                      00001111	  11137 	beqlw	1509$
         X01/001      0000110C			bneq	30051$
         X01/002      0000110E			brw	1509$
         X01/003      00001111		30051$:
                      00001111	  11138 	cmpl	pcb$l_pid(r4),ucb$l_exdmn(r5)	;not extend daemon
                      0000111D	  11139 	beqlw	1509$
         X01/001      00001118			bneq	30052$
         X01/002      0000111A			brw	1509$
         X01/003      0000111D		30052$:
                      0000111D	  11140 	cmpl	pcb$l_pid(r4),ucb$l_deldmn(r5)
                      00001129	  11141 	beqlw	1509$			;not delete daemon
         X01/001      00001124			bneq	30053$
         X01/002      00001126			brw	1509$
         X01/003      00001129		30053$:
                      00001129	  11142 	cmpl	pcb$l_pid(r4),ucb$l_exempt(r5)	;exempted pid?
                      00001135	  11143 	beqlw	1509$
         X01/001      00001130			bneq	30054$
         X01/002      00001132			brw	1509$
         X01/003      00001135		30054$:
                      00001135	  11144 	cmpl	pcb$l_pid(r4),ucb$l_exempt+4(r5) ;exempted pid?
                      00001141	  11145 	beqlw	1509$
         X01/001      0000113C			bneq	30055$
         X01/002      0000113E			brw	1509$
         X01/003      00001141		30055$:
                      00001141	  11146 	cmpl	pcb$l_pid(r4),ucb$l_exempt+8(r5) ;exempted pid?
                      0000114D	  11147 	beqlw	1509$
         X01/001      00001148			bneq	30056$
         X01/002      0000114A			brw	1509$
         X01/003      0000114D		30056$:
                      0000114D	  11148 	cmpl	pcb$l_pid(r4),ucb$l_exempt+12(r5) ;exempted pid?
                      00001159	  11149 	beqlw	1509$
         X01/001      00001154			bneq	30057$
         X01/002      00001156			brw	1509$
         X01/003      00001159		30057$:
                      00001159	  11150 ;make sure not a knl mode channel (leave the XQP channel alone!!!)
                      00001159	  11151 	cmpb	ccb$b_amod(r6),#1	;this the XQP's chnl?
                      00001162	  11152 	bleqw	1509$			; if so scram NOW.
         X01/001      0000115D			bgtr	30058$
         X01/002      0000115F			brw	1509$
         X01/003      00001162		30058$:
                      00001162	  11153 	bitl	#8,ucb$l_ctlflgs(r5)	;doing cbt alloc on create?
                      00001167	  11154 ; note NO extend size change on create...too darn risky...
                      00001167	  11155 	beql	8810$			;if eql no
                      00001169	  11156 	pushl	r0

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  65
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 0000116B	  11157 	.if	ndf,evax
                 ?01F 0000116B	  11158 	movl	p1(ap),r0	;get fib
                 ?01T 0000116B	  11159 	.iff
                 ?01T 0000116B	  11160 	movl	irp$l_qio_p1(r3),r0
                 ?01T 0000116F	  11161 	.endc
                      00001176	  11162 	ifnord #4,4(r0),10$
         X02/007 ?03T 0000116F			      PROBER	#0,#4,4(r0)
         X02/008 ?03T 00001174			      BEQL		10$
                      00001176	  11163 	movl	4(r0),r0	;...from descriptor
                      00001181	  11164 	ifnord #4,fib$w_exctl(r0),10$
         X02/007 ?03T 0000117A			      PROBER	#0,#4,fib$w_exctl(r0)
         X02/008 ?03T 0000117F			      BEQL		10$
                      00001181	  11165 	bitw	#fib$m_extend,fib$w_exctl(r0)	;extending at all?
                      0000118C	  11166 	beqlw	10$			;if no extend, leave fib alone
         X01/001      00001187			bneq	30059$
         X01/002      00001189			brw	10$
         X01/003      0000118C		30059$:
                      0000118C	  11167 ; Because contiguous best try allocation flushes the entire extend cache,
                      0000118C	  11168 ; it can cause a tremendous performance hit. Therefore allow it to be
                      0000118C	  11169 ; separately switched so that the benefits of longer extents can be had
                      0000118C	  11170 ; if desired without forcing this flushing every time a file is extended.
                      0000118C	  11171 	bitl	i^#32,ucb$l_ctlflgs(r5)		;separate control for setting contig best tr
                      0000118C	  11171 y
                      00001195	  11172 	beql	10$
                      00001197	  11173 ; leave contig and contig-best-try alone
                      00001197	  11174 	bitw	#<fib$m_alcon!fib$m_alconb>,fib$w_exctl(r0)	;contig alloc?
                      0000119B	  11175 	bneq	10$		;if contig leave it alone
                      0000119D	  11176 	bisw	#fib$m_alconb,fib$w_exctl(r0)	;else set cbt alloc
                      000011A1	  11177 10$:
                      000011A1	  11178 	popl	r0
                      000011A4	  11179 8810$:
                      000011A4	  11180 	bitl	i^#512,ucb$l_ctlflgs(r5)	;doing space control?
                      000011AD	  11181 	beql	21$
                      000011AF	  11182 	pushl	r0
                      000011B1	  11183 	movl	p1(ap),r0	;get fib
                      000011BC	  11184 	ifnord #4,4(r0),20$
         X02/007 ?03T 000011B5			      PROBER	#0,#4,4(r0)
         X02/008 ?03T 000011BA			      BEQL		20$
                      000011BC	  11185 	movl	4(r0),r0	;...from descriptor
                      000011C0	  11186 	brw	mspc		;go handle space control now
					1.......                                                     
%AMAC-I-BRANCHBET, (1) branch between routines from routine CREFILT

                      000011C3	  11187 20$:	popl	r0
                      000011C6	  11188 21$:	brw	1509$
                      000011C9	  11189 ;
                      000011C9	  11190 PopOut: .jsb_entry output=r0
                      000011C9	  11191 ;	popr	#^m<r0,r5>
                      000011C9	  11192 	bsbw	pors
                      000011CC	  11193 	rsb
                      000011CD	  11194 pors: .jsb_entry output=r0
                      000011CD	  11195 ; Here need to return to the "standard" FDT routine. Do so by computing
                      000011CD	  11196 ; the address in the FDT table of the normal host and calling that, then
                      000011CD	  11197 ; returning.
                      000011CD	  11198         EXTZV   #IRP$V_FCODE,#IRP$S_FCODE,IRP$L_FUNC(R3),R1     ; GET FCN CODE
                      000011D3	  11199 	pushr	#^m<r6,r7,r8,r9,r10>
                      000011D7	  11200 	movl	r1,r10

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  66
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000011DA	  11201 	jsb	getjtucb		;find JT UCB checking for extra links
                      000011DE	  11202 	tstl	r0			;got it?
                      000011E0	  11203 	bgeq	199$			;if not skip out
                      000011E2	  11204 	movl	ucb$l_oldfdt(r0),r7	;get address of previous FDT
                      000011E7	  11205 	bgeq	199$			;ensure ok...
                      000011E9	  11206 ;	movl	ucb$l_ddt(r5),r7	;find FDT
                      000011E9	  11207 ; Here rely on the fact that we got here via our modified FDT call and that
                      000011E9	  11208 ; the orig. FDT is stored just a bit past the current one.
                      000011E9	  11209 ;	movl	<ucb$l_oldfdt-ucb$l_myfdt>(r7),r7	;point at orig. FDT
                      000011E9	  11210 	addl2	#8,r7			;point at one of 64 fdt addresses
                      000011EC	  11211 	movl	(r7)[r10],r8		;r7 is desired routine address
                      000011F0	  11212 ;now call the "official" FDT code
                      000011F0	  11213 	pushl	r6	;ccb
                      000011F2	  11214 	pushl	r5	;ucb
                      000011F4	  11215 	pushl	r4	;pcb
                      000011F6	  11216 	pushl	r3	;irp
                      000011F8	  11217 	calls	#4,(r8)			;Call the original routine
                      000011FB	  11218 	popr	#^m<r6,r7,r8,r9,r10>
                      000011FF	  11219 ; Now return as the original routine would.
                      000011FF	  11220 ; caller does this
                      000011FF	  11221 	rsb
                      00001200	  11222 ;	ret
                      00001200	  11223 199$:
                      00001200	  11224 	popr	#^m<r6,r7,r8,r9,r10>
                      00001204	  11225 	movl	#16,r0
                      00001216	  11226 	call_abortio do_ret=no
         X01/007      00001207			PUSHL	R0
         X01/008      00001209			PUSHL	R5
         X01/009      0000120B			PUSHL	R4
         X01/010      0000120D			PUSHL	R3
         X01/011      0000120F			CALLS	#4,G^EXE_STD$ABORTIO
                      00001216	  11227 	rsb
                      00001217	  11228 ;	ret
                      00001217	  11229 ;	rsb
                      00001229	  11230 mfyfilt: $driver_fdt_entry	;filter on MODIFY requests (e.g. extend)
00000000 X02/075 ?02T 00001217			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/131 ?01T 00001219			MOVL	FDTARG$_IRP(AP),R3
         X01/132 ?01T 0000121D			MOVL	FDTARG$_PCB(AP),R4
         X01/133 ?01T 00001221			MOVL	FDTARG$_UCB(AP),R5
         X01/134 ?01T 00001225			MOVL	FDTARG$_CCB(AP),R6
                      00001229	  11231 ; First do some preliminary checks for sanity.
                      00001229	  11232 ; 1. Channel must NOT be kernel mode
                      00001229	  11233 ; 2. Not a movefile
                      00001229	  11234 	tstl	r6		;is there a CCB (must be +)
                      0000122B	  11235 	bgtr	5509$
                      0000122D	  11236 6509$:	bsbw	pors
                      00001230	  11237 	ret
                      00001231	  11238 5509$:
                      00001231	  11239 ;	bleq	pors		;if not skip out
                      00001231	  11240 	cmpb	ccb$b_amod(r6),#1	;knl mode access?
                      00001235	  11241 	bleq	6509$		;leave knl mode chnls alone!
                      00001237	  11242 ;funct modifiers are bits 6-15
                      00001237	  11243 ; this is hex ffc0
                      00001237	  11244 ; Normal io$_modify should have no modifiers, so if it has it's
                      00001237	  11245 ; for something else; leave that alone.
                 ?01F 00001237	  11246 	.if	ndf,evax
                 ?01F 00001237	  11247 	bitw	#^xFFC0,irp$w_func(r3) ;this a movefile or other modifier?

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  67
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01T 00001237	  11248 	.iff
                 ?01T 00001237	  11249 ; axp 6.1 sets 2000 bit for some reason. However movefile bit is 1000 hex
                 ?01T 00001237	  11250 ; so do not mess with movefile but let 2000 bit by.
                 ?01T 00001237	  11251 	bitl	#^xDFC0,irp$l_func(r3) ;this a movefile or other modifier?
                 ?01T 0000123F	  11252 	.endc
                      0000123F	  11253 	bneq	6509$		;if so ignore it here.
                      00001241	  11254 	pushr	#^m<r0,r5>
                      00001243	  11255 ; original r5 now at 4(sp). Must get that to continue the ops.
                      00001243	  11256 	jsb	getJTucb		;find JTdriver ucb
                      00001247	  11257 	tstl	r0
                      00001249	  11258 	blss	509$
                      0000124B	  11259 1509$:
                      0000124B	  11260 	popr	#^m<r0,r5>
                      0000124D	  11261 	bsbw	popout
                      00001250	  11262 	ret
                      00001251	  11263 509$:
                      00001251	  11264 ;	bgeqw	popout
                      00001251	  11265 	movl	r5,ucb$l_backlk(r0)	;save link'd ucb in ours too.
                      00001256	  11266 	movl	r0,r5			;point R5 at JT UCB
                      00001259	  11267 ; Make sure this isn't one of OUR daemons
                      00001259	  11268 	cmpl	pcb$l_pid(r4),ucb$l_daemon(r5)	;open etc. daemon?
                      00001265	  11269 	beqlw	1509$
         X01/001      00001260			bneq	30060$
         X01/002      00001262			brw	1509$
         X01/003      00001265		30060$:
                      00001265	  11270 	cmpl	pcb$l_pid(r4),ucb$l_exdmn(r5)	;not extend daemon
                      00001271	  11271 	beqlw	1509$
         X01/001      0000126C			bneq	30061$
         X01/002      0000126E			brw	1509$
         X01/003      00001271		30061$:
                      00001271	  11272 	cmpl	pcb$l_pid(r4),ucb$l_deldmn(r5)
                      0000127D	  11273 	beqlw	1509$			;not delete daemon
         X01/001      00001278			bneq	30062$
         X01/002      0000127A			brw	1509$
         X01/003      0000127D		30062$:
                      0000127D	  11274 	cmpl	pcb$l_pid(r4),ucb$l_exempt(r5)	;exempted pid?
                      00001289	  11275 	beqlw	1509$
         X01/001      00001284			bneq	30063$
         X01/002      00001286			brw	1509$
         X01/003      00001289		30063$:
                      00001289	  11276 	cmpl	pcb$l_pid(r4),ucb$l_exempt+4(r5) ;exempted pid?
                      00001295	  11277 	beqlw	1509$
         X01/001      00001290			bneq	30064$
         X01/002      00001292			brw	1509$
         X01/003      00001295		30064$:
                      00001295	  11278 	cmpl	pcb$l_pid(r4),ucb$l_exempt+8(r5) ;exempted pid?
                      000012A1	  11279 	beqlw	1509$
         X01/001      0000129C			bneq	30065$
         X01/002      0000129E			brw	1509$
         X01/003      000012A1		30065$:
                      000012A1	  11280 	cmpl	pcb$l_pid(r4),ucb$l_exempt+12(r5) ;exempted pid?
                      000012AD	  11281 	beqlw	1509$
         X01/001      000012A8			bneq	30066$
         X01/002      000012AA			brw	1509$
         X01/003      000012AD		30066$:
                      000012AD	  11282 ;make sure not a knl mode channel (leave the XQP channel alone!!!)
                      000012AD	  11283 	cmpb	ccb$b_amod(r6),#1	;this the XQP's chnl?

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  68
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000012B6	  11284 	bleqw	1509$			; if so scram NOW.
         X01/001      000012B1			bgtr	30067$
         X01/002      000012B3			brw	1509$
         X01/003      000012B6		30067$:
                      000012B6	  11285 ; Now ensure that this call is not in the same JOB as the daemon.
                      000012B6	  11286 ; (This lets the daemon spawn processes to do some work.)
                      000012B6	  11287 	pushr	#^m<r6,r7,r8,r9,r10,r11>	;get some regs
                      000012BA	  11288 	movl	ucb$l_exdmn(r5),r10	;get the daemon PID
                      000012BF	  11289 	bleq	5$
                      000012C1	  11290 	movzwl	r10,r7			;get process index
                      000012C4	  11291 ; like code in FQdriver...
                      000012C4	  11292 	movl	 g^sch$gl_pcbvec,r6	;get pcb vector
                      000012CB	  11293 	movl	(r6)[r7],r8		;get a PCB address
                      000012CF	  11294 	tstl	r8			;ensure a system addr
                      000012D1	  11295 	bgeq	5$			;skip if not
                      000012D3	  11296 	cmpl	r10,pcb$l_pid(r8)	;be sure this is the daemon process
                      000012D8	  11297 	bneq	5$			;else skip
                      000012DA	  11298 ; ok, we for sure have the daemon's PCB now. See if the JIBs match
                      000012DA	  11299 	cmpl	pcb$l_jib(r8),pcb$l_jib(r4)	;same JIB as daemon's?
                      000012E1	  11300 	bneq	5$			;if not, don't skip out
                      000012E3	  11301 	popr	#^m<r6,r7,r8,r9,r10,r11>	;get regs back now
                      000012E7	  11302 48$:	brw	1509$			;then buzz off
                      000012EA	  11303 5$:
                      000012EA	  11304 	popr	#^m<r6,r7,r8,r9,r10,r11>	;get regs back now
                      000012EE	  11305 	bitl	i^#2,ucb$l_ctlflgs(r5)	;look at mfy?
                      000012FC	  11306 	bneqw	mfycmn			;if neq yes
         X01/001      000012F7			beql	30068$
         X01/002      000012F9			brw	mfycmn
         X01/003      000012FC		30068$:
                      000012FC	  11307 ; (test later will see about space control if doing this)
                      000012FC	  11308 	bitl	i^#512,ucb$l_ctlflgs(r5)	;doing space control?
                      00001305	  11309 	beql	701$
                      00001307	  11310 	pushl	r0
                 ?01F 00001309	  11311 	.if	ndf,evax
                 ?01F 00001309	  11312 	movl	p1(ap),r0	;get fib
                 ?01T 00001309	  11313 	.iff
                 ?01T 00001309	  11314 	movl	irp$l_qio_p1(r3),r0
                 ?01T 0000130D	  11315 	.endc
                      0000130D	  11316 	beql	702$
                      00001316	  11317 	ifnord #4,4(r0),702$
         X02/007 ?03T 0000130F			      PROBER	#0,#4,4(r0)
         X02/008 ?03T 00001314			      BEQL		702$
                      00001316	  11318 	movl	4(r0),r0	;...from descriptor
                      0000131A	  11319 	beql	702$
                      0000131C	  11320 7701$:	brw	mspc		;if so go handle space control
                      0000131F	  11321 701$:
                      0000131F	  11322 	popr	#^m<r0,r5>
                      00001321	  11323 	bsbw	pors
                      00001324	  11324 	ret
                      00001325	  11325 702$:	POPL	R0
                      00001328	  11326 	popr	#^m<r0,r5>
                      0000132A	  11327 	bsbw	pors
                      0000132D	  11328 	ret
                      0000132E	  11329 mspcj:	popl	r0
                      00001331	  11330 	popr	#^m<r0,r5>
                      00001333	  11331 	bsbw	pors
                      00001336	  11332 	ret

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  69
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001337	  11333 mfycmn:
                      00001337	  11334 ; here we can modify request fields in the FIB the user supplies to reduce
                      00001337	  11335 ; fragmentation...e.g. set fib$l_exsz bigger or set fib$m_alconb bit
                      00001337	  11336 ; in fib$w_exctl IFF fib$m_alcon is not set & set fib$m_aldef.
                      00001337	  11337 ;
                      00001337	  11338 	pushl	r0
                 ?01F 00001339	  11339 	.if	ndf,evax
                 ?01F 00001339	  11340 	movl	p1(ap),r0	;get fib
                 ?01T 00001339	  11341 	.iff
                 ?01T 00001339	  11342 	movl	irp$l_qio_p1(r3),r0
                 ?01T 0000133D	  11343 	.endc
                      00001344	  11344 	ifnord #4,4(r0),mspcj
         X02/007 ?03T 0000133D			      PROBER	#0,#4,4(r0)
         X02/008 ?03T 00001342			      BEQL		mspcj
                      00001344	  11345 	movl	4(r0),r0	;...from descriptor
                      0000134F	  11346 	ifnord #4,fib$w_exctl(r0),mspcj
         X02/007 ?03T 00001348			      PROBER	#0,#4,fib$w_exctl(r0)
         X02/008 ?03T 0000134D			      BEQL		mspcj
                      0000134F	  11347 	bitw	#fib$m_extend,fib$w_exctl(r0)	;extending at all?
                      0000135A	  11348 	beqlw	mspc			;if no extend, leave fib alone
         X01/001      00001355			bneq	30069$
         X01/002      00001357			brw	mspc
         X01/003      0000135A		30069$:
                      0000135A	  11349 ; Because contiguous best try allocation flushes the entire extend cache,
                      0000135A	  11350 ; it can cause a tremendous performance hit. Therefore allow it to be
                      0000135A	  11351 ; separately switched so that the benefits of longer extents can be had
                      0000135A	  11352 ; if desired without forcing this flushing every time a file is extended.
                      0000135A	  11353 	bitl	i^#32,ucb$l_ctlflgs(r5)		;separate control for setting contig best tr
                      0000135A	  11353 y
                      00001363	  11354 	beql	1$
                      00001365	  11355 ; leave contig and contig-best-try alone
                      00001365	  11356 	bitw	#<fib$m_alcon!fib$m_alconb>,fib$w_exctl(r0)	;contig alloc?
                      00001369	  11357 	bneq	1$		;if contig leave it alone
                      0000136B	  11358 ; allow this on every nth extend.
                      0000136B	  11359 ; This will allow periodic flushes of the extent cache but will let
                      0000136B	  11360 ; it not be made totally useless. By flushing the extent cache periodically
                      0000136B	  11361 ; we can try to reduce the fragmentation it induces.
                      0000136B	  11362 ; if bit 16384 is not set, do not set aldef.
                      0000136B	  11363 	bitl	i^#16384,ucb$l_ctlflgs(r5)	;allow aldef?
                      00001374	  11364 	beql	704$
                      00001376	  11365 	bisw	#<fib$m_aldef>,fib$w_exctl(r0) ;set to use vol default if
                      0000137A	  11366 704$:					;bigger than program's
                      0000137A	  11367 	decl	ucb$l_cbtctr(r5)	;count down
                      0000137E	  11368 	bgtr	1$			;and if >0 don't set cbt yet
                      00001380	  11369 	movl	ucb$l_cbtini(r5),ucb$l_cbtctr(r5)	;else reset counter
                      00001387	  11370 	bisw	#<fib$m_alconb>,fib$w_exctl(r0) ;else turn on contig best
                      0000138B	  11371 					;try and turn on use of
                      0000138B	  11372 					;system default extension if
                      0000138B	  11373 					;larger than program default
                      0000138B	  11374 1$:
                      0000138B	  11375 ; One can add code to check file size and bump extension by more than default if
                      0000138B	  11376 ; it's big (for example, extend by 10% of its' size, not by a few blocks at a time).
                      0000138B	  11377 	pushr	#^m<r2,r3,r4,r5,r6,r7,r8>
                      0000138F	  11378 	bitw	#<fib$m_alcon>,fib$w_exctl(r0)	;contig alloc?
                      00001398	  11379 	bneqw	222$	;leave size alone for contig alloc
         X01/001      00001393			beql	30070$
         X01/002      00001395			brw	222$

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  70
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/003      00001398		30070$:
                      00001398	  11380 	movl	ccb$l_wind(r6),r7	;get window block
                      0000139C	  11381 	bgeq	222$			;guard
                      0000139E	  11382 	movl	wcb$l_fcb(r7),r8	;and file control blkock
                      000013A2	  11383 	bgeq	222$			;guard
                      000013A4	  11384 	movl	fcb$l_filesize(r8),r6	;get filesize
                      000013A8	  11385 	beql	222$
                      000013AA	  11386 ; It is suggested to divide by acp$gb_window instead of 10...
                      000013AA	  11387 ; this is the acp_window sysgen param (default 7), the number of retrieval pointers
                      000013AA	  11388 ; present per window by default. This has no direct relation to size, but one must
                      000013AA	  11389 ; expect at least one retrieval pointer needs to change. In the default situation
                      000013AA	  11390 ; say 1/4th of file size can be used.
                      000013AA	  11391 ;
                      000013AA	  11392 ; The fraction starts at 1/4, but can be anywhere from 1/1 to 1/1000
                      000013AA	  11393 	divl2	ucb$l_frac(r5),r6	;get 1/4 of current size or so
                      000013AF	  11394 	incl	r6			;plus one...for good luck
                      000013B1	  11395 ;fncymod=1	;chop this if desired
                      000013B1	  11396 ;	.if	df,fncymd
                      000013B1	  11397 	cmpl	r6,ucb$l_maxxt(r5)	;extending over max (nominally 120000)
                      000013B6	  11398 	bleq	1222$
                      000013B8	  11399 	movl	ucb$l_maxxt(r5),r6	;clamp to max what we're forcing
                      000013BD	  11400 1222$:
                      000013BD	  11401 ;	.endc
                      000013BD	  11402 	cmpl	r6,ucb$l_minxt(r5)	;if less than 10 leave alone too
                      000013C2	  11403 	bgeq	1223$
                      000013C4	  11404 	movl	ucb$l_minxt(r5),r6	;at least grab this minimum
                      000013C9	  11405 1223$:
                      000013C9	  11406 ;	.if	df,fncymd
                      000013C9	  11407 ; never try to grab over1/8 of total free space.
                      000013C9	  11408 	movl	ucb$l_backlk(r5),r8	;get host ucb (set just above)
                      000013CE	  11409 	bgeq	222$			;(better be there)
                      000013D0	  11410 	movl	ucb$l_vcb(r8),r8	;point at vcb
                      000013D4	  11411 	bgeq	222$
                      000013D6	  11412 	movl	vcb$l_free(r8),r8	;no. blks free
                      000013DA	  11413 	ashl	#-3,r8,r8		;free space /8
                      000013DF	  11414 	cmpl	r6,r8			;extent over freespc/8?
                      000013E2	  11415 ;	bgtr	222$			;if so don't push it here
                      000013E2	  11416 	bleq	3223$			;if not all still ok
                      000013E4	  11417 	movl	r8,r6			;else clamp to free/8
                      000013E7	  11418 3223$:
                      000013E7	  11419 ;	.endc
                      000013E7	  11420 	cmpl	r6,fib$l_exsz(r0)	;make sure we're increasing size
                      000013EB	  11421 	bleq	222$			;if less than user wants, leave alone
                      000013ED	  11422 
                      000013ED	  11423 ; if 4096 bit is clear, allow size ctl always. Otherwise only if aldef set.
                      000013ED	  11424 	bitl	i^#4096,ucb$l_ctlflgs(r5)
                      000013F6	  11425 	beql	2222$
                      000013F8	  11426 	bitw	#<fib$m_aldef>,fib$w_exctl(r0) ;set to use vol default if
                      000013FC	  11427 	beql	222$			;if aldef NOT set, leave size alone.
                      000013FE	  11428 2222$:
                      000013FE	  11429 	movl	r6,fib$l_exsz(r0)	;fill in as new extend size
                      00001402	  11430 222$:
                      00001402	  11431 	popr	#^m<r2,r3,r4,r5,r6,r7,r8>
                      00001406	  11432 ; fall thru to space control
                      00001406	  11433 mspc:
                      00001406	  11434 ; on entry here r0 has user FIB address.
                      00001406	  11435 	bitl	i^#512,ucb$l_ctlflgs(r5)	;doing space control?

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  71
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001414	  11436 	beqlw	800$			;guard against unwanted calls
         X01/001      0000140F			bneq	30071$
         X01/002      00001411			brw	800$
         X01/003      00001414		30071$:
                      00001414	  11437 	bitw	#fib$m_extend,fib$w_exctl(r0) ;extending?
                      0000141F	  11438 	beqlw	800$		;if not no work here
         X01/001      0000141A			bneq	30072$
         X01/002      0000141C			brw	800$
         X01/003      0000141F		30072$:
                      0000141F	  11439 ; Now send msg to space daemon and await return via skast
                      0000141F	  11440 ; if user request will exhaust disk space but yet is less than 1/8
                      0000141F	  11441 ; of disk size. (Some requests are just too darn hard to handle; if
                      0000141F	  11442 ; the request is for over 1/8 of disk size, we probably can't clean
                      0000141F	  11443 ; off enough to fix it anyway.
                      0000141F	  11444 ; ucb$l_exdmn & ucb$l_exmbx will be fields we use.
                      0000141F	  11445 	pushr	#^m<r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001423	  11446 ;
                      00001423	  11447 ; Note: in this area we leave r3, r4, r5, r6, r7, and r8 pretty
                      00001423	  11448 ; much alone since FDT processing uses those; r5 can be JT or target
                      00001423	  11449 ; UCB, but the others get left intact so we can save & restore the i/o
                      00001423	  11450 ; properly.
                      00001423	  11451 	movl	ucb$l_backlk(r5),r10
                      00001428	  11452 	bgeq	850$			;(better be there)
                      0000142A	  11453 	movl	r10,r9			;keep ucb around for size chk
                      0000142D	  11454 	movl	ucb$l_vcb(r10),r10	;point at vcb
                      00001431	  11455 	bgeq	850$
                      00001433	  11456 	movl	vcb$l_free(r10),r10	;no. blks free
                      00001437	  11457 	cmpl	fib$l_exsz(r0),r10		;enough room there?
                      0000143B	  11458 	blssu	850$			;if lss then all OK
                      0000143D	  11459 	movl	ucb$l_maxblock(r9),r9	;disk size
                      00001442	  11460 	ashl	#-3,r9,r9		;divide by 8
                      00001447	  11461 	cmpl	r10,r9			;size req. > dsksize/8 ?
                      0000144A	  11462 	bgeq	850$			;if so, cannot help. Let it fail.
                      0000144C	  11463 ; Looks like we CAN help, if there's someone out there we can yell for.
                      0000144C	  11464 ; Check this.
                      0000144C	  11465 	movl	r0,r9			;save user FIB address
                      0000144F	  11466 ; (r0 is too volatile)
                      0000144F	  11467 	movl	ucb$l_exmbx(r5),r10	;get extend mbx ucb if any
                      00001454	  11468 	bgeq	850$			;if none, can'thelp.
                      00001456	  11469 	bitl	#ucb$m_online,ucb$l_sts(r10)	;online?
                      0000145B	  11470 	beql	850$			;if not no soap
                 ?01T 0000145D	  11471 	.if	df,evax
                 ?01T 0000145D	  11472 	tstl	ucb$l_refc(r10)		;anyone listening?
                 ?01F 00001460	  11473 	.iff
                 ?01F 00001460	  11474 	tstw	ucb$w_refc(r10)		;anyone listening?
                 ?01F 00001460	  11475 	.endc
                      00001460	  11476 	beql	850$			;if no, no dmn.
                      00001462	  11477 	tstl	ucb$l_orb(r10)		;owner exist?
                      00001465	  11478 	bgeq	850$			;if geq no, skip.
                      00001467	  11479 ; check pid now for expid
                      00001467	  11480 	pushr	#^m<r5,r6,r7,r8>
                      0000146B	  11481 	movl	g^sch$gl_maxpix,r7	;max proc index
                      00001472	  11482 100$:	movl	g^sch$gl_pcbvec,r6	;pcb vector
                      00001479	  11483 	movl	(r6)[r7],r8	;get a pcb
                      0000147D	  11484 	tstl	r8		;got one?
                      0000147F	  11485 	bgeq	101$		;if geq no
                      00001481	  11486 	cmpl	ucb$l_exdmn(r5),pcb$l_pid(r8) ;this our pid?

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  72
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001488	  11487 	beql	102$		;if eql yes, all well
                      0000148A	  11488 101$:	sobgtr	r7,100$		;check 'em all
                      0000148D	  11489 	clrl	ucb$l_exdmn(r5)	;clr dmn pid if it isn'tthere now
                      00001491	  11490 102$:	popr	#^m<r5,r6,r7,r8>
                      00001495	  11491 	tstl	ucb$l_exdmn(r5)	;is thedaemon around?
                      00001499	  11492 	beql	850$		;if not skip out
                      0000149B	  11493 ; Looks like a msg can besent, so do so. For clarity do in a sub.
                      0000149B	  11494 	jsb	sndexmsg	;send extend message
                      000014A1	  11495 850$:	popr	#^m<r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000014A5	  11496 800$:
                      000014A5	  11497 	popl	r0
                      000014A8	  11498 	popr	#^m<r0,r5>
                      000014AA	  11499 	movl	#1,r0
                      000014AD	  11500 	bsbw	pors
                      000014B0	  11501 	ret
                      000014B1	  11502 ; sndexmsg - called with r5=JT ucb, r9=user FIB address
                      000014B1	  11503 ; Send a message to free space to the extend daemon via ucb$l_exmbx
                      000014B1	  11504 ; passing device and size needed.
                      000014B1	  11505 sndexmsg: .jsb_entry
                      000014B1	  11506 ; "can" the IRP status so it can continue, using a pool buffer.
                      000014B1	  11507 	movl	#112,r1		;get some room
                      000014B8	  11508 	jsb	g^exe$alonpagvar	;via vms routines
                      000014BE	  11509 	blbs	r0,1$
                      000014C1	  11510 	rsb			;just return if out of space
                      000014C2	  11511 1$:
                      000014CE	  11512 	zapz	(r2),#112	;zero area
         X01/001      000014C2			pushr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
         X01/002      000014C4			movc5	#0,(r2),#0,#112,(r2)
         X01/003      000014CC			popr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
                      000014CE	  11513 	movl	r2,r11		;save msg blk address
                      000014D1	  11514 	pushr	#^m<r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000014D5	  11515 	movl	r11,(r2)	;store address of blk in msg block
                      000014D8	  11516 ; Note that R3 to R8 are unaltered from their original state
                      000014D8	  11517 ; here. We'll save these, then restore them after the AST
                      000014D8	  11518 ; and continue the thread. During this thread, we send a message
                      000014D8	  11519 ; to the daemon (with msgblk and address of sndexast and dvcname/unit
                      000014D8	  11520 ; and size needed) and then enter a wait loop awaiting a flag being
                      000014D8	  11521 ; set (wait for efn 31 in the loop). The AST will just set the
                      000014D8	  11522 ; flag and let things continue; it should get the msg blk as
                      000014D8	  11523 ; a parameter of the AST.
                      000014D8	  11524 	movl	ucb$l_backlk(r5),r0	;get original dvc ucb
                      000014DD	  11525 	movl	ucb$l_ddb(r0),r1	;get DDB (name is there)
                      000014E1	  11526 	movab	ddb$t_name(r1),r1	;point at dvc name
                      000014E5	  11527 	movl	#2,4(r11)		;flag this an extend call
                      000014E9	  11528 	movl	(r1)+,8(r11)		;copy dvc name
                      000014ED	  11529 	movl	(r1)+,12(r11)
                      000014F1	  11530 	movl	(r1)+,16(r11)
                      000014F5	  11531 	movl	(r1)+,20(r11)		;counted name
                      000014F9	  11532 	movzwl	ucb$w_unit(r0),24(r11)	;unit no.
                      000014FE	  11533 ; Save the regs in case the daemon needs them.
                      000014FE	  11534 	movl	r3,28(r11)		;irp
                      00001502	  11535 	movl	g^ctl$gl_pcb,r4		;be sure pcb is in r4
                      00001509	  11536 	movl	r4,32(r11)
                      0000150D	  11537 	movl	r0,36(r11)		;orig. r5 = orig. dvc UCB
                      00001511	  11538 	movl	r6,40(r11)		;ccb addr
                      00001515	  11539 	movl	r7,44(r11)
                      00001519	  11540 	movl	r8,48(r11)		;copy r7, r8

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  73
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      0000151D	  11541 	movl	r9,52(r11)		;user FIB
                      00001521	  11542 	movl	fib$l_exsz(r9),56(r11)	;size needed
                      00001526	  11543 	movl	fib$w_fid(r9),60(r11)	;copy file id
                      0000152B	  11544 	movl	fib$w_fid+4(r9),64(r11)
                      00001530	  11545 	movl	fib$l_acctl(r9),68(r11)	;how open
                      00001535	  11546 	movab	sndexast,72(r11)	;where to send skast back to
                      0000153D	  11547 	movl	g^ctl$gl_pcb,76(r11)	;send pcb
                      00001545	  11548 	movl	g^ctl$gl_pcb,r4
                      0000154C	  11549 	movl	pcb$l_pid(r4),80(r11)
                      00001552	  11550 	movl	pcb$l_epid(r4),84(r11)
                      00001558	  11551 	movl	ucb$l_ddb(r0),r1	;get DDB (name is there)
                      0000155C	  11552 	movl	ddb$l_allocls(r1),88(r11) ;save alloc class
                      00001561	  11553 	movl	ddb$l_sb(r1),r1		;get sys block if any
                      00001565	  11554 	bgeq	833$			;if none, omit name grab
                      00001567	  11555 	movl	sb$t_nodename(r1),92(r11) ;else save nodename
                      0000156C	  11556 	movl	sb$t_nodename+4(r1),96(r11)
                      00001571	  11557 833$:
                      00001571	  11558 ; Reserve 4(r11) as wait flag.
                      00001571	  11559 ; emit a message now to the daemon and wait for him to set us
                      00001571	  11560 ; runnable again (setting ipl0 meanwhile to besure he can!)
                      00001571	  11561 	pushr	#^m<r3,r4,r5>
                      00001573	  11562 	movl	#100,r3			;size of msg
                      0000157A	  11563 	movl	r5,r10			;save jtdriver ucb
                      0000157D	  11564 	movl	ucb$l_exmbx(r5),r5	;mailbox daemon ucb
                      00001582	  11565 	movl	r11,r4			;addr of msg to send
                      00001585	  11566 	jsb	g^exe$wrtmailbox	;send it to the daemon
                      0000158B	  11567 	popr	#^m<r3,r4,r5>
                      0000158D	  11568 	blbc	r0,40$			;br to dealloc space if we fail
                      00001590	  11569 	movl	#pcb$m_nodelet,r9	;set what bit to alter (if any)
                      00001597	  11570 	movl	g^ctl$gl_pcb,r4		;get current pcb address
                      0000159E	  11571 	bitl	#<pcb$m_nodelet>,pcb$l_sts(r4)	;is delete inhibited now?
                      000015A7	  11572 	beql	67$			;if not set now, we may alter
                      000015A9	  11573 	clrl	r9			;else leave alone
                      000015AB	  11574 67$:	bisl	r9,pcb$l_sts(r4)	;inhibit process delete
                      000015B0	  11575 					; across ipl0 interval
                      000015B0	  11576 	clrl	4(r11)			;ensure we do synch...
                      000015B3	  11577 ; Wait for the AST to fire here.
                      000015B6	  11578 	setipl ipl=#0,environ=UNIPROCESSOR
         X01/005 ?01T 000015B3				MTPR	#0,S^#PR$_IPL
                      000015B6	  11579 ; Now we can issue a wait that a skast can interrupt.
                      000015B6	  11580 65$:	tstl	4(r11)		;done the wait?
                      000015B9	  11581 	bneq	50$
                      000015BB	  11582 	pushl	#31
                      000015BD	  11583 	calls	#1,g^sys$clref
                      000015C4	  11584 	tstl	4(r11)
                      000015C7	  11585 	bneq	50$
                      000015C9	  11586 	pushl	#31		;wait for ef 31
                      000015CB	  11587 	calls	#1,g^sys$waitfr
                      000015D2	  11588 	brb	65$
                      000015D4	  11589 50$:
                      000015D4	  11590 ; now back to IPL2 to ensure no AST interruptions for what is left.
                      000015D7	  11591 	setipl ipl=#2,environ=UNIPROCESSOR
         X01/005 ?01T 000015D4				MTPR	#2,S^#PR$_IPL
                      000015D7	  11592 	bicl	r9,pcb$l_sts(r4)	;enable delete if we were inhibiting it
                      000015DC	  11593 40$:	movl	r11,r0
                      000015DF	  11594 	movl	#112,r1			;size
                      000015E6	  11595 	jsb	g^exe$deanonpgdsiz	;free the msg block

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  74
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000015EC	  11596 	popr	#^m<r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000015F0	  11597 ; Once back here, all registers are OK and the FDT loop
                      000015F0	  11598 ; should just continue where it left off.
                      000015F0	  11599 	rsb
                      000015F1	  11600 ; sndexast -
                      000015F1	  11601 ; return control from extend daemon to let the i/o continue.
                      000015F1	  11602 ; AST arg is scratch block address
                      000015F1	  11603 sndexast: .jsb_entry
                      000015F1	  11604 	movl	acb$l_astprm(r5),r11	;msg blk address
                      000015F5	  11605 	cmpl	#4096,4(r11)		;if special returncode, leave it.
                      000015FD	  11606 	beql	1$
                      000015FF	  11607 	cmpl	#3,4(r11)		;leave fake-success alone too
                      00001603	  11608 	beql	1$
                      00001605	  11609 	movl	#1,4(r11)		;let the wait end
                      00001609	  11610 1$:	pushl	#31		; set ef 31
                      0000160B	  11611 	calls	#1,g^sys$setef	;set the ef
                      00001612	  11612 	movl	r5,r0		;point at acb
                      00001615	  11613 	movl	#<acb$c_length>,r1	;size
                      00001618	  11614 	jsb	g^exe$deanonpgdsiz	;deallocate the acb
                      0000161E	  11615 	movl	#1,r0		;say all well
                      00001621	  11616 	rsb
                      00001622	  11617 ; snddelmsg - called with r5=JT ucb, r9=user FIB address
                      00001622	  11618 ; Send a message of file delete to the delete daemon via ucb$l_delmbx
                      00001622	  11619 ; passing device name & fileinfo
                      00001622	  11620 ; On entry if R11=1, chk security too.
                      00001622	  11621 snddelmsg: .jsb_entry
                      00001622	  11622 ; "can" the IRP status so it can continue, using a pool buffer.
                 ?01T 00001622	  11623 	.if	ndf,hsmonly
                 ?01T 00001622	  11624 ; if bit 64 set, and if r11=0, send no message, so msg goes to daemon
                 ?01T 00001622	  11625 ; only for knl tagged files if bit 64 set.
                 ?01T 00001622	  11626 	bitl	#64,ucb$l_ctlflgs(r5)
                 ?01T 0000162B	  11627 	beql	100$
                 ?01T 0000162D	  11628 	tstl	r11		;this file tagged for security test?
                 ?01T 0000162F	  11629 	bneq	100$		;yes, do it
                 ?01T 00001631	  11630 	rsb			;no, leave
                 ?01T 00001632	  11631 100$:
                 ?01T 00001632	  11632 	.endc
                      00001632	  11633 	movl	#116,r1		;get some room
                      00001639	  11634 	jsb	g^exe$alonpagvar	;via vms routines
                      0000163F	  11635 	blbs	r0,1$
                      00001642	  11636 	rsb			;just return if out of space
                      00001643	  11637 1$:
                      0000164F	  11638 	zapz	(r2),#116	;zero area
         X01/001      00001643			pushr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
         X01/002      00001645			movc5	#0,(r2),#0,#116,(r2)
         X01/003      0000164D			popr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
                      0000164F	  11639 	movl	r11,112(r2)	;save flag of security test
                      00001653	  11640 	movl	r2,r11		;save msg blk address
                      00001656	  11641 	pushr	#^m<r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      0000165A	  11642 	movl	r11,(r2)	;store address of blk in msg block
                      0000165D	  11643 ; Note that R3 to R8 are unaltered from their original state
                      0000165D	  11644 ; here. We'll save these, then restore them after the AST
                      0000165D	  11645 ; and continue the thread. During this thread, we send a message
                      0000165D	  11646 ; to the daemon (with msgblk and address of sndexast and dvcname/unit
                      0000165D	  11647 ; and size needed) and then enter a wait loop awaiting a flag being
                      0000165D	  11648 ; set (wait for efn 31 in the loop). The AST will just set the
                      0000165D	  11649 ; flag and let things continue; it should get the msg blk as

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  75
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      0000165D	  11650 ; a parameter of the AST.
                      0000165D	  11651 	movl	ucb$l_backlk(r5),r0	;get original dvc ucb
                      00001662	  11652 	movl	ucb$l_ddb(r0),r1	;get DDB (name is there)
                      00001666	  11653 	movab	ddb$t_name(r1),r1	;point at dvc name
                      0000166A	  11654 	movl	#3,4(r11)		;flag a delete call
                      0000166E	  11655 	movl	(r1)+,8(r11)		;copy dvc name
                      00001672	  11656 	movl	(r1)+,12(r11)
                      00001676	  11657 	movl	(r1)+,16(r11)
                      0000167A	  11658 	movl	(r1)+,20(r11)		;counted name
                      0000167E	  11659 	movzwl	ucb$w_unit(r0),24(r11)	;unit no.
                      00001683	  11660 ; Save the regs in case the daemon needs them.
                      00001683	  11661 	movl	r3,28(r11)		;irp
                      00001687	  11662 	movl	g^ctl$gl_pcb,r4		;be sure pcb is in r4
                      0000168E	  11663 	movl	r4,32(r11)
                      00001692	  11664 	movl	r0,36(r11)		;orig. r5 = orig. dvc UCB
                      00001696	  11665 	movl	r6,40(r11)		;ccb addr
                      0000169A	  11666 	movl	r7,44(r11)
                      0000169E	  11667 	movl	r8,48(r11)		;copy r7, r8
                      000016A2	  11668 	movl	r9,52(r11)		;user FIB
                      000016A6	  11669 	movl	fib$l_exsz(r9),56(r11)	;size needed
                      000016AB	  11670 	movl	fib$w_fid(r9),60(r11)	;copy file id
                      000016B0	  11671 	movl	fib$w_fid+4(r9),64(r11)
                      000016B5	  11672 	movl	fib$l_acctl(r9),68(r11)	;how open
                      000016BA	  11673 ; Let the extend AST code serve here too.
                      000016BA	  11674 	movab	sndexast,72(r11)	;where to send skast back to
                      000016C0	  11675 	movl	fib$w_did(r9),76(r11)	;send did too
					1.......                                              
%AMAC-I-MEMREFNOT, (1) memory reference not naturally aligned in routine SNDDELMSG

                      000016C5	  11676 	movzwl	fib$w_did+4(r9),80(r11)
                      000016CA	  11677 	movl	g^ctl$gl_pcb,84(r11)	;send pcb
                      000016D2	  11678 	movl	g^ctl$gl_pcb,r4
                      000016D9	  11679 	movl	pcb$l_pid(r4),88(r11)
                      000016DF	  11680 	movl	pcb$l_epid(r4),92(r11)
                      000016E5	  11681 	movl	ucb$l_ddb(r0),r1	;get DDB (name is there)
                      000016E9	  11682 	movl	ddb$l_allocls(r1),96(r11) ;save alloc class
                      000016EE	  11683 	movl	ddb$l_sb(r1),r1		;get sys block if any
                      000016F2	  11684 	bgeq	833$			;if none, omit name grab
                      000016F4	  11685 	movl	sb$t_nodename(r1),100(r11) ;else save nodename
                      000016F9	  11686 	movl	sb$t_nodename+4(r1),104(r11)
                      000016FE	  11687 833$:
                      000016FE	  11688 ; Reserve 4(r11) as wait flag.
                      000016FE	  11689 ; emit a message now to the daemon and wait for him to set us
                      000016FE	  11690 ; runnable again (setting ipl0 meanwhile to besure he can!)
                      000016FE	  11691 	pushr	#^m<r3,r4,r5>
                      00001700	  11692 	movl	#116,r3			;size of msg
                      00001707	  11693 	movl	r5,r10			;save jtdriver ucb
                      0000170A	  11694 	movl	ucb$l_delmbx(r5),r5	;mailbox daemon ucb
                      0000170F	  11695 	movl	r11,r4			;addr of msg to send
                      00001712	  11696 	jsb	g^exe$wrtmailbox	;send it to the daemon
                      00001718	  11697 	popr	#^m<r3,r4,r5>
                      0000171A	  11698 	blbc	r0,40$			;br to dealloc space if we fail
                      0000171D	  11699 	movl	#pcb$m_nodelet,r9	;set what bit to alter (if any)
                      00001724	  11700 	movl	g^ctl$gl_pcb,r4		;get current pcb address
                      0000172B	  11701 	bitl	#<pcb$m_nodelet>,pcb$l_sts(r4)	;is delete inhibited now?
                      00001734	  11702 	beql	67$			;if not set now, we may alter
                      00001736	  11703 	clrl	r9			;else leave alone

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  76
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001738	  11704 67$:	bisl	r9,pcb$l_sts(r4)	;inhibit process delete
                      0000173D	  11705 					; across ipl0 interval
                      0000173D	  11706 	clrl	4(r11)			; zero our wait cell so we do synch
                      00001740	  11707 ; Wait for the AST to fire here.
                      00001743	  11708 	setipl ipl=#0,environ=UNIPROCESSOR
         X01/005 ?01T 00001740				MTPR	#0,S^#PR$_IPL
                      00001743	  11709 ; Now we can issue a wait that a skast can interrupt.
                      00001743	  11710 65$:
                      00001743	  11711 	tstl	4(r11)		;done the wait?
                      00001746	  11712 	bneq	50$
                      00001748	  11713 	pushl	#31
                      0000174A	  11714 	calls	#1,g^sys$clref	;clear efn 31
                      00001751	  11715 	tstl	4(r11)
                      00001754	  11716 	bneq	50$		;be sure wait still pending
                      00001756	  11717 	pushl	#31		;wait for ef 31
                      00001758	  11718 	calls	#1,g^sys$waitfr
                      0000175F	  11719 	brb	65$
                      00001761	  11720 50$:
                      00001761	  11721 ; now back to IPL2 to ensure no AST interruptions for what is left.
                      00001764	  11722 	setipl ipl=#2,environ=UNIPROCESSOR
         X01/005 ?01T 00001761				MTPR	#2,S^#PR$_IPL
                      00001764	  11723 	movl	g^ctl$gl_pcb,r4		;get current pcb address
                      0000176B	  11724 	bicl	r9,pcb$l_sts(r4)	;enable delete if we were inhibiting it
                      00001770	  11725 	movl	4(r11),r0		;if we got to daemon, flag ok
                      00001774	  11726 	brb	41$
                      00001776	  11727 40$:	movl	#1,r0		;let it go if mbx err
                      00001779	  11728 41$:	pushl	r0
                      0000177B	  11729 	movl	r11,r0
                      0000177E	  11730 	movl	#116,r1			;size
                      00001785	  11731 	jsb	g^exe$deanonpgdsiz	;free the msg block
                      0000178B	  11732 	popl	r0
                      0000178E	  11733 	popr	#^m<r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001792	  11734 ; Once back here, all registers are OK and the FDT loop
                      00001792	  11735 ; should just continue where it left off.
                      00001792	  11736 	rsb
                      000017A5	  11737 mfymount: $driver_fdt_entry
00000000 X02/075 ?02T 00001793			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/131 ?01T 00001795			MOVL	FDTARG$_IRP(AP),R3
         X01/132 ?01T 00001799			MOVL	FDTARG$_PCB(AP),R4
         X01/133 ?01T 0000179D			MOVL	FDTARG$_UCB(AP),R5
         X01/134 ?01T 000017A1			MOVL	FDTARG$_CCB(AP),R6
                      000017A5	  11738 ; stick processing in here if doing anything at io$_mount i/o time.
                      000017A5	  11739 ; for here, do nothing.
                      000017A5	  11740 	movl	#1,r0
                      000017A8	  11741 	bsbw	pors
                      000017AB	  11742 	ret
                      000017AC	  11743 ;++
                      000017AC	  11744 ;
                      000017AC	  11745 ; JT_format - bash host disk tables to point at ours.
                      000017AC	  11746 ;
                      000017AC	  11747 ; With no function modifiers, this routine takes as arguments the name
                      000017AC	  11748 ; of the host disk (the real disk where the virtual disk will exist),
                      000017AC	  11749 ; the size of the virtual disk, and the LBN where the virtual disk
                      000017AC	  11750 ; will start. After these are set up, the device is put online and is
                      000017AC	  11751 ; software enabled.
                      000017AC	  11752 ;
                      000017AC	  11753 ; This routine does virtually no checking, so the parameters must be

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  77
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000017AC	  11754 ; correct.
                      000017AC	  11755 ;
                      000017AC	  11756 ; Inputs:
                      000017AC	  11757 ;	p1 - pointer to buffer. The buffer has the following format:
                      000017AC	  11758 ;	     longword 0 - (was hlbn) - flag for function. 1 to bash
                      000017AC	  11759 ;			  the targetted disk, 2 to unbash it, else
                      000017AC	  11760 ;			  illegal.
                      000017AC	  11761 ;	     longword 1 - virtual disk length, the number of blocks in
                      000017AC	  11762 ;			  the virtual disk. If negative disables
                      000017AC	  11763 ;			  FDT chaining; otherwise ignored.
                      000017AC	  11764 ;	     longword 2 through the end of the buffer, the name of the
                      000017AC	  11765 ;			  virtual disk. This buffer must be blank
                      000017AC	  11766 ;			  padded if padding is necessary
                      000017AC	  11767 ;
                      000017AC	  11768 ;
                      000017AC	  11769 ;	p2 - size of the above buffer
                      000017AC	  11770 ;--
                      000017BE	  11771 JT_format: $driver_fdt_entry
00000000 X02/075 ?02T 000017AC			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/131 ?01T 000017AE			MOVL	FDTARG$_IRP(AP),R3
         X01/132 ?01T 000017B2			MOVL	FDTARG$_PCB(AP),R4
         X01/133 ?01T 000017B6			MOVL	FDTARG$_UCB(AP),R5
         X01/134 ?01T 000017BA			MOVL	FDTARG$_CCB(AP),R6
                 ?01T 000017BE	  11772 	.if	df,msetrp
                 ?01T 000017BE	  11773 ; mousetrap trace cells
                 ?01T 000017BE	  11774 	movl	irp$l_func(r3),mtp$fmt(r5)	;save fcn code if we get here
                 ?01T 000017C4	  11775 	.endc	
                 ?01F 000017C4	  11776 	.if	ndf,evax
                 ?01F 000017C4	  11777 	bicw3	#io$m_fcode,irp$w_func(r3),r0	;mask off function code
                 ?01T 000017C4	  11778 	.iff
                 ?01T 000017C4	  11779 	bicw3	#io$m_fcode,irp$l_func(r3),r0	;mask off function code
                 ?01T 000017C9	  11780 	.endc
                      000017C9	  11781 	bneq	20$			;branch if modifiers, special
                      000017CB	  11782 ;thus, normal io$_format will do nothing.
                      000017CB	  11783 	brb	10$
                      000017CD	  11784 ; see if we even get here...
                      000017CD	  11785 ;	bsbw pors			;regular processing
                      000017CD	  11786 ;	ret
                      000017CD	  11787 100$:
                      000017CD	  11788 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000017D1	  11789 10$:
                      000017D1	  11790 	movzwl	#SS$_BADPARAM,r0	;illegal parameter
                      000017D4	  11791 	clrl	r1
                      000017E6	  11792 	call_abortio
         X01/007      000017D6			PUSHL	R0
         X01/008      000017D8			PUSHL	R5
         X01/009      000017DA			PUSHL	R4
         X01/010      000017DC			PUSHL	R3
         X01/011      000017DE			CALLS	#4,G^EXE_STD$ABORTIO
         X01/014 ?01T 000017E5			RET
                      000017E6	  11793 ;	ret
                      000017E6	  11794 ;	jmp	g^exe$abortio
                      000017E6	  11795 20$:
                 ?01F 000017E6	  11796 	.if	ndf,evax
                 ?01F 000017E6	  11797 	movl	p1(ap),r0		;buffer address
                 ?01F 000017E6	  11798 	movl	p2(ap),r1		;length of buffer
                 ?01T 000017E6	  11799 	.iff

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  78
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01T 000017E6	  11800         movl    irp$l_qio_p1(r3),r0     ;buff address
                 ?01T 000017EA	  11801         movl    irp$l_qio_p2(r3),r1     ;buff length
                 ?01T 000017EE	  11802         .endc
                      00001820	  11824 	call_writechk
         X01/002      000017EE			PUSHL	R0
         X01/003      000017F0			PUSHL	R1
         X01/004      000017F2			PUSHL	R0
         X01/005      000017F4			PUSHL	R5
         X01/006      000017F6			PUSHL	R4
         X01/007      000017F8			PUSHL	R3
         X01/008      000017FA			CALLS	#5,G^EXE_STD$WRITECHK
         X01/003      00001801			BLBS	R0,30073$
         X01/004      00001804			ADDL	#4,SP
         X02/012      00001807			PUSHL	R0
         X02/013      00001809			PUSHL	R5
         X02/014      0000180B			PUSHL	R4
         X02/015      0000180D			PUSHL	R3
         X02/016      0000180F			CALLS	#4,G^EXE_STD$ABORTIO
         X02/019 ?01T 00001816			RET
         X01/023      00001817		30073$:	MOVL	IRP$L_BCNT(R3),R1
         X01/024      0000181B			CLRL	R2
         X01/025      0000181D			POPL	R0
                      00001820	  11825 ;	jsb	g^exe$writechk		;read access? doesn't return on error
                      00001820	  11826 ;	clrl	irp$l_bcnt(r3)		;paranoia, don't need to do this...
                      00001820	  11827 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                 ?01F 00001824	  11828 	.if	ndf,evax
                 ?01F 00001824	  11829 	movl	p1(ap),r0		;get buffer address
                 ?01T 00001824	  11830 	.iff
                 ?01T 00001824	  11831 	movl	irp$l_qio_p1(r3),r0
                 ?01T 00001828	  11832 	.endc
                      00001828	  11833 	movl	(r0)+,r7		;get option code
                      0000182B	  11834 	bleq	100$			;0 or negative illegal
                      0000182D	  11835 	cmpl	r7,#2			;3 and up illegal too
                      00001830	  11836 	bgtr	100$
                      00001832	  11837 	incl	chnflg
                      00001838	  11838 	movl	(r0)+,r6		;size of virtual disk (ignored)
                      0000183B	  11839 	bleq	70$
                      0000183D	  11840 	clrl	chnflg			;if 0 or neg. size don't chain...
                      00001843	  11841 70$:
                      00001843	  11842 	movab	(r0),-			;name of "real" disk
                      00001843	  11843 		ucb$l_JT_host_descr+4(r5)
                 ?01F 00001848	  11844 	.if	ndf,evax
                 ?01F 00001848	  11845 	subl3	#8,p2(ap),-		;set length of name in descriptor
                 ?01F 00001848	  11846 		ucb$l_JT_host_descr(r5)
                 ?01T 00001848	  11847         .iff
                 ?01T 00001848	  11848         subl3   #8,irp$l_qio_p2(r3),-
                 ?01T 00001848	  11849                 ucb$l_JT_host_descr(r5)
                 ?01T 0000184F	  11850         .endc
                      0000184F	  11851 	bleq	100$			;bad length
                      00001851	  11852 	movab	ucb$l_JT_host_descr(r5),r1	;descriptor for...
                      00001856	  11853 	jsb	g^ioc$searchdev		;search for host device
                      0000185C	  11854 	blbs	r0,30$			;branch on success
                      0000185F	  11855 ; fail the associate...
                      0000185F	  11856 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001863	  11857 	movzwl	#ss$_nosuchdev+2,r0	;make an error, usually a warning
                      00001868	  11858 	clrl	r1
                      0000187A	  11859 	call_abortio

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  79
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/007      0000186A			PUSHL	R0
         X01/008      0000186C			PUSHL	R5
         X01/009      0000186E			PUSHL	R4
         X01/010      00001870			PUSHL	R3
         X01/011      00001872			CALLS	#4,G^EXE_STD$ABORTIO
         X01/014 ?01T 00001879			RET
                      0000187A	  11860 ;	ret
                      0000187A	  11861 ;	jmp	g^exe$abortio		;exit with error
                      0000187A	  11862 30$:	;found the device
                      0000187A	  11863 ; r1 is target ucb address...
                      0000187A	  11864 ; move it to r11 to be less volatile
                      0000187A	  11865 	movl	r1,r11
                      0000187D	  11866 	cmpl	r7,#1		;bashing the target UCB?
                      00001880	  11867 	bneq	31$
                      00001882	  11868 	jsb	mung		;go mung target...
                      00001888	  11869 	brb	32$
                      0000188A	  11870 31$:
                      0000188A	  11871 ; Be sure we unmung the correct disk or we can really screw up a system.
                      0000188A	  11872 	cmpl	r11,ucb$l_vict(r5)	;undoing right disk?
                      0000188F	  11873 	bneq	32$			;if not skip out, do nothing.
                      00001891	  11874 	jsb	umung		;unmung target
                      00001897	  11875 32$:
                      00001897	  11876 ;	bisw	#ucb$m_valid,ucb$w_sts(r5)	;set volume valid
                      00001897	  11877 ;	bisw	#ucb$m_online,ucb$w_sts(r5)	;set unit online
                      00001897	  11878 ;	movl	ucb$l_irp(r5),r3		;restore r3, neatness counts
                      00001897	  11879 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      0000189B	  11880 	movzwl	#ss$_normal,r0			;success
                      000018B4	  11881 	call_finishioc do_ret=yes
         X01/002      0000189E			CLRL	R1
         X02/011      000018A0			MOVL	R0,IRP$L_IOST1(R3)
         X02/012      000018A4			MOVL	R1,IRP$L_IOST2(R3)
         X02/014      000018A8			PUSHL	R5
         X02/015      000018AA			PUSHL	R3
         X02/016      000018AC			CALLS	#2,G^EXE_STD$FINISHIO
         X02/019 ?01T 000018B3			RET
                      000018B4	  11882 ;	jmp	g^exe$finishioc			;wrap things up.
                      000018B4	  11883 mung: .jsb_entry
                      000018B4	  11884 ; steal DDT from host. Assumes that the intercept UCB address
                      000018B4	  11885 ; is in R5 (that is, the UCB in which we will place the DDT copy),
                      000018B4	  11886 ; and that the UCB of the device whose DDT we are stealing is
                      000018B4	  11887 ; pointed to by R11. All registers are preserved explicitly so that
                      000018B4	  11888 ; surrounding code cannot be clobbered. R0 is returned as a status
                      000018B4	  11889 ; code so that if it returns with low bit clear, it means something
                      000018B4	  11890 ; went wrong so the bash did NOT occur. This generally means some other
                      000018B4	  11891 ; code that does not follow this standard has grabbed the DDT already.
                      000018B4	  11892 ; The following example assumes the code lives in a driver so the
                      000018B4	  11893 ; unique ID field and magic number are set already.
                      000018B4	  11894 	tstl	ucb$l_mungd(r5)		;already munged/not deassigned?
                      000018B8	  11895 	beql	6$
                      000018BA	  11896 	rsb				;no dbl bash
                      000018BB	  11897 6$:
                      000018BB	  11898         pushr   #^m<r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000018BF	  11899 ; Acquire victim's fork lock to synchronize all this.
                      000018BF	  11900         movl    #ss$_normal,r0          ;assume success
                      000018C2	  11901         forklock ucb$b_flck(r11),-
                      000018E6	  11902 	savipl=-(sp),preserve=YES
         X01/023 ?01T 000018C2			     MFPR	S^#PR$_IPL,-(sp)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  80
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X02/029 ?02T 000018C5		        EVAX_STQ  R0, -(SP)
         X01/035 ?02T 000018C8				MOVZBL	ucb$b_flck(r11),R0
         X01/048      000018CC			BLBC	SMP$GL_FLAGS,30075$
         X01/050      000018D3			JSB	G^SMP$ACQUIRE
         X01/051      000018D9			BRB	30076$
         X01/052      000018DB		30075$:
         X02/058 ?01T 000018DB				MTPR	SMP$AL_IPLVEC[R0],S^#PR$_IPL
         X01/081      000018E3		30076$:
         X02/085 ?02T 000018E3		        EVAX_LDQ  R0, (SP)+
                      000018E6	  11903 ; find the current DDT address from the UCB (leaving the copy in
                      000018E6	  11904 ; the DDB alone)
                      000018E6	  11905         movl    ucb$l_ddt(r11),r10      ;point at victim's DDB
                      000018EB	  11906 ; fill in host ucb tbl (makes chnl handling faster)
                      000018EB	  11907 	movab	jt_ucb,ucb$l_hucbs(r5)
                      000018F4	  11908 	movl	ucb$l_hucbs(r5),r9	;get ucb table
                      000018F9	  11909 	movzwl	ucb$w_unit(r5),r0	;get unit no.
                      000018FD	  11910 	moval	(r9)[r0],r9		;point into tbl
                      00001901	  11911 	movl	r11,(r9)		;save target ucb addr in tbl
                      00001904	  11912 ; see if this DDT is the same as the original
                      00001904	  11913         movl    ucb$l_ddb(r11),r9       ;the ddb$l_ddt is the original
                      00001908	  11914         cmpl    ddb$l_ddt(r9),r10       ;bashing driver the first time?
                      0000190C	  11915         beql    1$                      ;if eql yes
                      0000190E	  11916 ; driver was bashed already. Check that the current basher followed the
                      0000190E	  11917 ; standard. Then continue if it looks OK.
                      0000190E	  11918         cmpl    <ucb$l_icsign-ucb$a_vicddt>(r10),#p.magic
                      00001916	  11919                                         ;does the magic pattern exist?
                      00001916	  11920 ; if magic pattern is missing things are badly messed.
                      00001916	  11921         beql    2$                      ;if eql looks like all's well
                      00001918	  11922         movl    #2,r0                   ;say things failed
                      0000191B	  11923         brw     100$                    ;(brb might work too)
                      0000191E	  11924 2$:
                      0000191E	  11925 ; set our new ddt address in the previous interceptor's slot
                      0000191E	  11926         movab   ucb$a_vicddt(r5),<ucb$l_intcddt-ucb$a_vicddt>(r10)
                      00001924	  11927                                         ;store next-DDT address relative
                      00001924	  11928                                         ;to the original victim one
                      00001924	  11929 1$:
                      00001924	  11930 	movl	#1,ucb$l_mungd(r5)	;say we munged jt
                      00001929	  11931         movl    r10,ucb$l_prevddt(r5)   ;set previous DDT address up
                      0000192E	  11932         clrl    ucb$l_intcddt(r5)       ;clear intercepting DDT initially
                      00001932	  11933 3$:
                      00001932	  11934         pushl   r5
                      00001934	  11935 ; copy a little extra for good luck...
                      00001934	  11936         movc3   #<ddt$k_length+12>,(r10),ucb$a_vicddt(r5)    ;copy the DDT
                      0000193C	  11937         popl    r5                      ;get UCB pointer back (movc3 bashes it)
                      0000193F	  11938 ;
                      0000193F	  11939 ; Here make whatever mods to the DDT you need to.
                      0000193F	  11940 ;
                      0000193F	  11941 ; FOR EXAMPLE make the following mods to the FDT pointer
                      0000193F	  11942 ; (These assume the standard proposed for FDT pointers)
                      0000193F	  11943         movab   ucb$a_vicddt(r5),r8     ;get a base register for the DDT
                      00001944	  11944         movl    r5,JT_functable+fdt_prev    ;save old FDT ucb address
                      0000194B	  11945 	movl	ddt$l_fdt(r10),ucb$l_oldfdt(r5)
                      00001951	  11946         movl    ucb$l_uniqid(r5),JT_functable+fdt_idnt ;save unique ID also
                      0000195A	  11947 ; copy legal and buffered entry masks of original driver.
                      0000195A	  11948 ; HOWEVER, set mask for format entry to be nonbuffered here since
                      0000195A	  11949 ; we deal with it.
                      0000195A	  11950 	pushr	#^m<r6,r7,r8,r9,r10,r11>

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  81
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      0000195E	  11951 	movab	ucb$l_myfdt(r5),r9	;our function table dummy in UCB
                      00001963	  11952 	movl	ddt$l_fdt(r10),r7	;victim's FDT table
                      00001967	  11953 ; We want all functions legal in the victim's FDT table to be legal
                      00001967	  11954 ; here.
                      00001967	  11955 	pushr	#^m<r0,r1,r2,r3,r4,r5>	;preserve regs from movc
                      00001969	  11956 	movl	#<68*4>,r0		;byte count of a step 2 FDT
                      00001970	  11957 	movc3	r0,(r7),(r9)		;copy his FDT to ours
                      00001974	  11958 	popr	#^m<r0,r1,r2,r3,r4,r5>	;preserve regs from movc
                      00001976	  11959 ; Now copy in our modify & back-to-original FDT cells.
                      00001976	  11960 ; We will do this in our FDT table by having FDT definitions only
                      00001976	  11961 ; for those functions in JTdriver that we service locally. Thus
                      00001976	  11962 ; all entry cells for the rest will point in the JT FDT to
                      00001976	  11963 ; exe$illiofunc.
                      00001976	  11964 	movab	g^exe$illiofunc,r8	;get the magic address
                      0000197D	  11965 	movab	jt_functable,r10	;r10 becomes JT FDT tbl
                      00001984	  11966 	addl2	#8,r10			;point at functions
                      00001987	  11967 	addl2	#8,r9			;his new FDT...
                      0000198A	  11968 	movl	#64,r11			;64 functions
                 ?01T 00001991	  11969 	.if	ndf,b$fmt$
                 ?01T 00001991	  11970 	pushl	r7
                 ?01T 00001993	  11971 	movab	jt_format,r7		; let victim's format fdt by
                 ?01T 00001998	  11972 	.endc
                      00001998	  11973 75$:	cmpl	(r10),r8		;this function hadled in JT?
                      0000199B	  11974 	beql	76$			;if eql no, skip
                 ?01T 0000199D	  11975 	.if	ndf,b$fmt$
                 ?01T 0000199D	  11976 	cmpl	(r10),r7		;this our io$_format
                 ?01T 000019A0	  11977 	beql	76$			;if so leave victim's alone
                 ?01T 000019A2	  11978 	.endc
                      000019A2	  11979 	movl	(r10),(r9)		;if we do it point his fdt at our fcn
                      000019A5	  11980 ; (NOTE: our functions MUST therefore call the previous FDT's functions at
                      000019A5	  11981 ;  end of their processing.)
                      000019A5	  11982 76$:	cmpl	(r10)+,(r9)+		;pass the entry
                      000019A8	  11983 	sobgtr	r11,75$			;do all functions
                 ?01T 000019AB	  11984 	.if	ndf,b$fmt$
                 ?01T 000019AB	  11985 	popl	r7			;get back victim fdt
                 ?01T 000019AE	  11986 	.endc
                      000019AE	  11987 ; JTdriver FDT table. Last entry goes to user's original FDT chain.
                      000019AE	  11988 ;
                      000019AE	  11989 ; Thus we simply insert our FDT processing ahead of normal stuff, but
                      000019AE	  11990 ; all fcn msks & functions will work for any driver.
                      000019AE	  11991 	popr	#^m<r6,r7,r8,r9,r10,r11>
                      000019B2	  11992 ; Now point the user's FDT at our bugger'd copy.
                      000019B2	  11993         movab	ucb$l_myfdt(r5),ddt$l_fdt(r8) ;point at our FDT table
                      000019B8	  11994         clrl    myonoff                 ;turn my FDTs on
                      000019BE	  11995 ;
                      000019BE	  11996 ; Finally clobber the victim device's DDT pointer to point to our new
                      000019BE	  11997 ; one.
                      000019BE	  11998         movab   ucb$a_vicddt(r5),ucb$l_ddt(r11)
                      000019C5	  11999 ; Now the DDT used for the victim device unit is that of our UCB
                      000019C5	  12000 ; and will invoke whatever special processing we need. This processing in
                      000019C5	  12001 ; the example here causes the intercept driver's FDT routines to be
                      000019C5	  12002 ; used ahead of whatever was in the original driver's FDTs. Because
                      000019C5	  12003 ; the DDT is modified using the UCB pointer only, target device units
                      000019C5	  12004 ; that have not been patched in this way continue to use their old
                      000019C5	  12005 ; DDTs and FDTs unaltered.
                      000019C5	  12006 ;
                      000019C5	  12007 ; Processing complete; release victim's fork lock

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  82
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000019C5	  12008 100$:
                      000019C5	  12009         forkunlock lock=ucb$b_flck(r11),newipl=(sp)+,-
                      000019DF	  12010          preserve=YES
         X01/021      000019C5			BLBC	SMP$GL_FLAGS,30077$
         X02/026 ?02T 000019CC		        EVAX_STQ  R0, -(SP)
         X01/032 ?02T 000019CF				MOVZBL	ucb$b_flck(r11),R0
         X01/046 ?01T 000019D3			    JSB		G^SMP$RELEASE
         X02/051 ?02T 000019D9		        EVAX_LDQ  R0, (SP)+
         X01/055      000019DC		30077$:
         X01/057 ?01T 000019DC			    MTPR	(sp)+,S^#PR$_IPL
                      000019DF	  12011         popr    #^m<r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000019E3	  12012 	rsb
                      000019E4	  12013 umung: .jsb_entry
                      000019E4	  12014 ;
                      000019E4	  12015 ; Entry: R11 points at victim device UCB and current driver is the one
                      000019E4	  12016 ; desiring to remove its entry from the DDT chain. Thus its xx$dpt: address
                      000019E4	  12017 ; is the one being sought. ("Current driver" here means the intercept
                      000019E4	  12018 ; driver.)
                      000019E4	  12019 ;   It is assumed that the driver knows that the DDT chain was patched
                      000019E4	  12020 ; so that its UCB contains an entry in the DDT chain
                      000019E4	  12021         pushr   #^m<r0,r1,r2,r3,r4,r5,r10,r11>
                      000019E8	  12022 	movl	r11,r5			;hereafter use r5 as victim's UCB
                      000019EB	  12023         movl    ucb$l_ddt(r5),r10       ;get the DDT we currently have
                      000019F0	  12024         movl    ucb$l_ddb(r5),r1        ;get ddb of victim
                      000019F4	  12025         movl    ddb$l_ddt(r1),r1        ;and real original DDT
                      000019F8	  12026         movl    r10,r0                  ;save ucb$l_ddt addr for later
                      000019FB	  12027         movab   driver$dpt,r11              ;magic pattern is DPT addr.
                      00001A02	  12028 ;        movab   DPT$TAB,r11             ;magic pattern is DPT addr.
                      00001A02	  12029 ; lock this section with forklock so we can safely remove
                      00001A02	  12030 ; entries at fork also. Use victim device forklock.
                      00001A26	  12031         forklock lock=ucb$b_flck(r5),savipl=-(sp),preserve=YES
         X01/023 ?01T 00001A02			     MFPR	S^#PR$_IPL,-(sp)
         X02/029 ?02T 00001A05		        EVAX_STQ  R0, -(SP)
         X01/035 ?02T 00001A08				MOVZBL	ucb$b_flck(r5),R0
         X01/048      00001A0C			BLBC	SMP$GL_FLAGS,30079$
         X01/050      00001A13			JSB	G^SMP$ACQUIRE
         X01/051      00001A19			BRB	30080$
         X01/052      00001A1B		30079$:
         X02/058 ?01T 00001A1B				MTPR	SMP$AL_IPLVEC[R0],S^#PR$_IPL
         X01/081      00001A23		30080$:
         X02/085 ?02T 00001A23		        EVAX_LDQ  R0, (SP)+
                      00001A26	  12032 2$:     cmpl    <ucb$l_uniqid-ucb$a_vicddt>(r10),R11
                      00001A2A	  12033                                         ;this our own driver?
                      00001A2A	  12034         beql    1$                      ;if eql yes, end search
                 ?01T 00001A2C	  12035         .if     df,chk.err
                 ?01T 00001A2C	  12036         cmpl    <ucb$l_icsign-ucb$a_vicddt>(r10),#p.magic
                 ?01T 00001A39	  12037         bneqw    4$                     ;exit if this is nonstd bash
         X01/001 ?01T 00001A34			beql	30081$
         X01/002 ?01T 00001A36			brw	4$
         X01/003 ?01T 00001A39		30081$:
                 ?01T 00001A39	  12038         .endc   ;chk.err
                      00001A39	  12039 ; follow DDT block chain to next saved DDT.
                      00001A39	  12040         movl    <ucb$l_prevddt-ucb$a_vicddt>(r10),r10
                      00001A3D	  12041                                         ;point R10 at the next DDT in the
                      00001A3D	  12042                                         ;chain
                 ?01T 00001A3D	  12043         .if     df,chk.err
                 ?01T 00001A42	  12044         bgeqw   4$                     ; (error check if not negative)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  83
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/001 ?01T 00001A3D			blss	30082$
         X01/002 ?01T 00001A3F			brw	4$
         X01/003 ?01T 00001A42		30082$:
                 ?01T 00001A42	  12045         .endc   ;chk.err
                      00001A42	  12046         brb     2$                      ;then check again
                      00001A44	  12047 1$:
                      00001A44	  12048 ; At this point R10 contains the DDT address within the intercept
                      00001A44	  12049 ; driver's UCB. Return the address of the intercept driver's UCB next.
                      00001A44	  12050         tstl    <ucb$l_intcddt-ucb$a_vicddt>(r10)       ;were we intercepted?
                      00001A47	  12051         bgeq    3$                      ;if geq no, skip back-fixup
                      00001A49	  12052 ; we were intercepted. Fix up next guy in line.
                      00001A49	  12053         movl    <ucb$l_intcddt-ucb$a_vicddt>(r10),r11  ;point at interceptor
                      00001A4D	  12054         movl    <ucb$l_prevddt-ucb$a_vicddt>(r10),<ucb$l_prevddt-ucb$a_vicddt>(r11)
                      00001A52	  12055 3$:
                      00001A52	  12056 ; if we intercepted someone, fix up our intercepted victim to skip by
                      00001A52	  12057 ; us also.
                      00001A52	  12058         movl    <ucb$l_prevddt-ucb$a_vicddt>(r10),r2    ;did we intercept
                      00001A56	  12059                                         ;original driver?
                      00001A56	  12060         cmpl    r2,r1                   ;test if this is original
                      00001A59	  12061         beql    5$                      ;if eql yes, no bash
                      00001A5B	  12062 ; replace previous intercept address by ours (which might be zero)
                      00001A5B	  12063         movl    <ucb$l_intcddt-ucb$a_vicddt>(r10),<ucb$l_intcddt-ucb$a_vicddt>(r2)
                      00001A60	  12064 5$:
                      00001A60	  12065 ; Here remove FDT entries from the list if they were modified.
                      00001A60	  12066 ; This needs a scan of the FDT chain starting at the victim's
                      00001A60	  12067 ; ddt$l_fdt pointer and skipping around any entry that has address
                      00001A60	  12068 ; JT_functable:
                      00001A60	  12069 ;  The FDT chain is singly linked. The code here assumes everybody
                      00001A60	  12070 ; plays by the same rules!
                      00001A60	  12071 ; NOTE: Omit this code if we didn't insert our FDT code in the chain!!!
                      00001A60	  12072         movl    ddt$l_fdt(r0),r1        ;start of FDT chain
                      00001A64	  12073         movab   JT_functable,r2         ;address of our FDT table
                      00001A6B	  12074         clrl    r3
                      00001A6D	  12075 	movab	<0-ucb$a_vicddt>(r10),r4 ;initially point at our ucb
                      00001A72	  12076 ; Also set the JT device offline when we unbash it. This is a simple
                      00001A72	  12077 ; flag that ctl prog. can use to tell if it's been used already.
                 ?01T 00001A72	  12078 	.if	df,evax
                 ?01T 00001A72	  12079 	bicl	#<ucb$m_valid!ucb$m_online>,ucb$l_sts(r4)
                 ?01F 00001A7B	  12080 	.iff
                 ?01F 00001A7B	  12081 	bicw	#<ucb$m_valid!ucb$m_online>,ucb$w_sts(r4)
                 ?01F 00001A7B	  12082 	.endc
                      00001A7B	  12083 6$:     cmpl    r1,r2                   ;current fdt point at us?
                      00001A7E	  12084         beql    7$                      ;if eql yes, fix up chain
                      00001A80	  12085         movl    r1,r3                   ;else store last pointer
                      00001A83	  12086         movl    fdt_prev(r1),r4         ;and point at next
                      00001A87	  12087 	bgeq	8$
                      00001A89	  12088 	movl	ucb$l_oldfdt(r4),r1	;where last FDT pointer is in the ucb
                      00001A8E	  12089 ;;;BUT not all UCBs will have the fdt offset at the same place!!!
                      00001A8E	  12090 ;;;HOWEVER we will leave this in, putting the oldfdt field first after
                      00001A8E	  12091 ;;;the regular UCB things.
                      00001A8E	  12092         bgeq    8$                      ;if not sys addr, no messin'
                      00001A90	  12093         brb     6$                      ;look till we find one.
                      00001A92	  12094 7$:
                      00001A92	  12095 ;r3 is 0 or fdt pointing to our block next
                      00001A92	  12096 ;r1 points at our fdt block
                      00001A92	  12097         tstl    r3                      ;if r3=0 nobody points at us
                      00001A94	  12098         bgeq    8$                      ;so nothing to do

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  84
V01H                            Our FDT Filter Routines          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001A96	  12099 	movl	fdt_prev(r1),r4
                      00001A9A	  12100 	bgeq	17$
                      00001A9C	  12101 	movl	ucb$l_oldfdt(r4),-(sp)	;save old fdt loc
                      00001AA1	  12102 	movl	fdt_prev(r3),r4
                      00001AA5	  12103 	blss	18$
                      00001AA7	  12104 	tstl	(sp)+
                      00001AA9	  12105 	brb	17$
                      00001AAB	  12106 18$:	movl	(sp)+,ucb$l_oldfdt(r4)
                      00001AB0	  12107 17$:    movl    fdt_prev(r1),fdt_prev(r3)  ;else point our next-fdt pointer at
                      00001AB5	  12108                                         ;last fdt addr.
                      00001AB5	  12109 8$:
                      00001AB5	  12110 ;
                      00001AB5	  12111 ; Finally if the victim UCB DDT entry points at ours, make it point at
                      00001AB5	  12112 ; our predecessor. If it points at a successor, we can leave it alone.
                      00001AB5	  12113         cmpl    r10,r0                  ;does victim ucb point at our DDT?
                      00001AB8	  12114         bneq    4$                      ;if not cannot replace it
                      00001ABA	  12115         movl    <ucb$l_prevddt-ucb$a_vicddt>(r10),ucb$l_ddt(r5)
                      00001AC0	  12116 	clrl	<ucb$l_mungd-ucb$a_vicddt>(r10)	;zero jt munged flag
                      00001AC4	  12117 4$:
                      00001ADE	  12118         forkunlock lock=ucb$b_flck(r5),newipl=(sp)+,preserve=YES
         X01/021      00001AC4			BLBC	SMP$GL_FLAGS,30083$
         X02/026 ?02T 00001ACB		        EVAX_STQ  R0, -(SP)
         X01/032 ?02T 00001ACE				MOVZBL	ucb$b_flck(r5),R0
         X01/046 ?01T 00001AD2			    JSB		G^SMP$RELEASE
         X02/051 ?02T 00001AD8		        EVAX_LDQ  R0, (SP)+
         X01/055      00001ADB		30083$:
         X01/057 ?01T 00001ADB			    MTPR	(sp)+,S^#PR$_IPL
                      00001ADE	  12119        popr    #^m<r0,r1,r2,r3,r4,r5,r10,r11>
                      00001AE2	  12120                                         ;copy our prior DDT ptr to next one
                      00001AE2	  12121 	rsb
                      00001AE3	  12122 
                      00001AE3	  12123 	.SBTTL	CONTROLLER INITIALIZATION ROUTINE
                      00001AE3	  12124 ; ++
                      00001AE3	  12125 ; 
                      00001AE3	  12126 ; JT_ctrl_INIT - CONTROLLER INITIALIZATION ROUTINE
                      00001AE3	  12127 ; 
                      00001AE3	  12128 ; FUNCTIONAL DESCRIPTION:
                      00001AE3	  12129 ; noop
                      00001AE3	  12130 ; INPUTS:
                      00001AE3	  12131 ; R4 - CSR ADDRESS
                      00001AE3	  12132 ; R5 - IDB ADDRESS
                      00001AE3	  12133 ; R6 - DDB ADDRESS
                      00001AE3	  12134 ; R8 - CRB ADDRESS
                      00001AE3	  12135 ; 
                      00001AE3	  12136 ; 	THE OPERATING SYSTEM CALLS THIS ROUTINE:
                      00001AE3	  12137 ; 		- AT SYSTEM STARTUP
                      00001AE3	  12138 ; 		- DURING DRIVER LOADING
                      00001AE3	  12139 ; 		- DURING RECOVERY FROM POWER FAILURE
                      00001AE3	  12140 ; 	THE DRIVER CALLS THIS ROUTINE TO INIT AFTER AN NXM ERROR.
                      00001AE3	  12141 ;--
                      00001AF8	  12174 JT_ctrl_INIT: $driver_ctrlinit_entry
00000000 X02/080 ?02T 00001AE3			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/130 ?01T 00001AE5		                MOVL    #SS$_NORMAL, R0
         X01/131 ?01T 00001AE8				MOVL	ctrlarg$_idb(AP), R4
         X01/132 ?01T 00001AEC				MOVL	ctrlarg$_idb(AP), R5
         X01/133 ?01T 00001AF0				MOVL	ctrlarg$_ddb(AP), R6
         X01/134 ?01T 00001AF4				MOVL	ctrlarg$_crb(AP), R8

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  85
V01H                            CONTROLLER INITIALIZATION ROUTI  2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001AF8	  12175 ;	CLRL	CRB$L_AUXSTRUC(R8)	; SAY NO AUX MEM
                      00001AF8	  12176 	movl	#1,r0
                      00001AFB	  12177 	Ret				;RETURN
                      00001AFC	  12178 	.SBTTL	INTERNAL CONTROLLER RE-INITIALIZATION
                      00001AFC	  12179 ;
                      00001AFC	  12180 ; INPUTS:
                      00001AFC	  12181 ;	R4 => controller CSR (dummy)
                      00001AFC	  12182 ;	R5 => UCB
                      00001AFC	  12183 ;
                      00001AFC	  12184 	.SBTTL	UNIT INITIALIZATION ROUTINE
                      00001AFC	  12185 ;++
                      00001AFC	  12186 ; 
                      00001AFC	  12187 ; JT_unit_INIT - UNIT INITIALIZATION ROUTINE
                      00001AFC	  12188 ; 
                      00001AFC	  12189 ; FUNCTIONAL DESCRIPTION:
                      00001AFC	  12190 ; 
                      00001AFC	  12191 ; 	THIS ROUTINE SETS THE JT: ONLINE.
                      00001AFC	  12192 ; 
                      00001AFC	  12193 ; 	THE OPERATING SYSTEM CALLS THIS ROUTINE:
                      00001AFC	  12194 ; 		- AT SYSTEM STARTUP
                      00001AFC	  12195 ; 		- DURING DRIVER LOADING
                      00001AFC	  12196 ; 		- DURING RECOVERY FROM POWER FAILURE
                      00001AFC	  12197 ; 
                      00001AFC	  12198 ; INPUTS:
                      00001AFC	  12199 ; 
                      00001AFC	  12200 ; 	R4	- CSR ADDRESS (CONTROLLER STATUS REGISTER)
                      00001AFC	  12201 ; 	R5	- UCB ADDRESS (UNIT CONTROL BLOCK)
                      00001AFC	  12202 ;	R8	- CRB ADDRESS
                      00001AFC	  12203 ; 
                      00001AFC	  12204 ; OUTPUTS:
                      00001AFC	  12205 ; 
                      00001AFC	  12206 ; 	THE UNIT IS SET ONLINE.
                      00001AFC	  12207 ; 	ALL GENERAL REGISTERS (R0-R15) ARE PRESERVED.
                      00001AFC	  12208 ; 
                      00001AFC	  12209 ;--
                      00001AFC	  12210 
                      00001B09	  12239 JT_unit_INIT: $driver_unitinit_entry
00000000 X02/074 ?02T 00001AFC			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/124 ?01T 00001AFE		                MOVL    #SS$_NORMAL, R0
         X01/125 ?01T 00001B01				MOVL	unitarg$_idb(AP), R4
         X01/126 ?01T 00001B05				MOVL	unitarg$_ucb(AP), R5
                      00001B09	  12240 ; Don't set unit online here. Priv'd task that assigns JT unit
                      00001B09	  12241 ; to a file does this to ensure only assigned JTn: get used.
                      00001B09	  12242 ;	BISW	#UCB$M_ONLINE,UCB$W_STS(R5)  ;SET UCB STATUS ONLINE
                      00001B09	  12243 ;limit size of JT: data buffers
00002000              00001B09	  12244 JT_bufsiz=8192
                      00001B09	  12245 	movl	#JT_bufsiz,ucb$l_maxbcnt(r5)	;limit transfers to 8k
                      00001B12	  12246 	MOVB	#DC$_MISC,UCB$B_DEVCLASS(R5) ;SET DISK DEVICE CLASS
                      00001B17	  12247 	clrl	ucb$l_mungd(r5)			;not mung'd yet
                      00001B1B	  12248 ; NOTE: we may want to set this as something other than an RX class
                      00001B1B	  12249 ; disk if MSCP is to use it. MSCP explicitly will NOT serve an
                      00001B1B	  12250 ; RX type device. For now leave it in, but others can alter.
                      00001B1B	  12251 ; (There's no GOOD reason to disable MSCP, but care!!!)
                      00001B1B	  12252 	movl	#^Xb22d4001,ucb$l_media_id(r5)	; set media id as JT
                      00001B24	  12253 ; (note the id might be wrong but is attempt to get it.) (used only for
                      00001B24	  12254 ; MSCP serving.)
                      00001B24	  12255 	MOVB	#DT$_FD1,UCB$B_DEVTYPE(R5)  ;Make it foreign disk type 1

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  86
V01H                            UNIT INITIALIZATION ROUTINE      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001B29	  12256 	movab	driver$dpt,ucb$l_uniqid(r5)
                      00001B32	  12257 ; (dt$_rp06 works but may confuse analyze/disk)
                      00001B32	  12258 ;;; NOTE: changed from fd1 type so MSCP will know it's a local disk and
                      00001B32	  12259 ;;; attempt no weird jiggery-pokery with the JT: device.
                      00001B32	  12260 ; MSCP may still refuse to do a foreign drive too; jiggery-pokery later
                      00001B32	  12261 ; to test if there's occasion to do so.
                      00001B32	  12262 ; Set up crc polynomial
                      00001B32	  12263 	movab	jt_utb,ucb$l_hucbs(r5)	;host ucb table
                      00001B3B	  12264 ;$def	ucb$l_ktrln	.blkl	1
                      00001B3B	  12265 ;$def	ucb$l_k2tnm	.blkl	1
                      00001B3B	  12266 	movab	kast_code,ucb$l_ktrln(r5)	;set up kast pointers
                      00001B44	  12267 	movab	kast_code_2,ucb$l_k2tnm(r5)
                 ?01F 00001B4D	  12268 	.if	df,j$$vdsk	;normally not defined
                 ?01F 00001B4D	  12269 	movl	r5,ucb$l_backlk(r5)	;backlink UCB initially our own
                 ?01F 00001B4D	  12270 ; Set up to point the JT unit DDT at its own UCB initially.
                 ?01F 00001B4D	  12271 	fork		;ensure allocation's ok
                 ?01F 00001B4D	  12272 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7>	;save regs from movc etc.
                 ?01F 00001B4D	  12273 ; Move our DDT into our UCB and point ucb$l_ddt there so when we go a-hunting
                 ?01F 00001B4D	  12274 ; for it, we find it where we do our own virtual disk.
                 ?01F 00001B4D	  12275 	movl	ucb$l_ddt(r5),r6	;where our ddt now is
                 ?01F 00001B4D	  12276 	movab	ucb$a_vicddt(r5),r7	;where we'll copy it
                 ?01F 00001B4D	  12277 	movc3	#ddt$k_length,(r6),(r7)	;copy our DDT
                 ?01F 00001B4D	  12278 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7>	;get back regs so we can
                 ?01F 00001B4D	  12279 						;find our UCB again.
                 ?01F 00001B4D	  12280 	movab	ucb$a_vicddt(r5),ucb$l_ddt(r5)	;point UCB DDT pointer at copy
                 ?01F 00001B4D	  12281 	.endc
                      00001B4D	  12282 	clrl	chnflg		;initially set to use our chain of FDTs
                      00001B53	  12283 ; Allocate process vector here.
                      00001B53	  12284 	movl	g^sch$gl_maxpix,r1
                      00001B5A	  12285 	ashl	#5,r1,r1		;get 32 bytes per process
                      00001B5E	  12286 ; link to LDT
                      00001B5E	  12287 ; ccb addr
                      00001B5E	  12288 ; proc. counter of enable/disable deletion
                      00001B5E	  12289 ; finish count for our thread, bumped before we do i/o, decremented when
                      00001B5E	  12290 ;	user's i/o r0 return avail.
                      00001B5E	  12291 ;
00000000              00001B5E	  12292 pv.ldt=0
00000004              00001B5E	  12293 pv.ccb=4
00000008              00001B5E	  12294 pv.eds=8
0000000C              00001B5E	  12295 pv.fin=12
                      00001B5E	  12296 	pushl	r1
                      00001B60	  12297 	jsb	g^exe$alonpagvar	;get some pool
                      00001B66	  12298 	popl	r1
                      00001B69	  12299 	blbc	r0,5$
                      00001B76	  12300 	zapz	(r2),r1			;zero it all initially
         X01/001      00001B6C			pushr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
         X01/002      00001B6E			movc5	#0,(r2),#0,r1,(r2)
         X01/003      00001B74			popr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
                      00001B76	  12301 	movl	r2,ucb$l_prcvec(r5)	;set initial pointer in UCB
                      00001B7B	  12302 ; now grab filenum bitmap store
                 ?01T 00001B7B	  12303 	.if	ndf,wd.lst
                 ?02F 00001B7B	  12304 	.iif	ndf,f.nsiz,f.nsiz=2048
                 ?01T 00001B7B	  12305 	clrl	ucb$l_fnums(r5)
                 ?01T 00001B7F	  12306 	movl	#f.nsiz,r1		;bytes to get
                 ?01T 00001B86	  12307 	jsb	g^exe$alonpagvar	;get some pool
                 ?01T 00001B8C	  12308 	blbc	r0,31$
                 ?01T 00001B8F	  12309 	movl	r2,ucb$l_fnums(r5)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  87
V01H                            UNIT INITIALIZATION ROUTINE      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01T 00001B9E	  12310 	zapz	(r2),r1
         X01/001 ?01T 00001B94			pushr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
         X01/002 ?01T 00001B96			movc5	#0,(r2),#0,r1,(r2)
         X01/003 ?01T 00001B9C			popr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
                 ?01T 00001B9E	  12311 31$:
                 ?01T 00001B9E	  12312 	.endc
                      00001B9E	  12313 	movl	#1,r0
                      00001BA1	  12314 	RET				;RETURN 
                      00001BA2	  12315 5$:
                      00001BA2	  12316 	BICL	#UCB$M_ONLINE,UCB$L_STS(R5)  ;SET UCB STATUS OFFLINE
                      00001BA7	  12317 	movl	#1,r0
                      00001BAA	  12318 	ret
                      00001BAB	  12319 ;
                      00001BAB	  12320 ; findldt
                      00001BAB	  12321 ; call with r5 = jt ucb cell, r6=ccb, r4=pcb
                      00001BAB	  12322 ; Returns pointer to LDT in R0
                      00001BAB	  12323 ; r0=0 if none exists. returns r1 = address to link ldt to if r0=0
                      00001BAB	  12324 ; if r1 = 0 on return also, seriously bogus state like no 
                      00001BAB	  12325 ; prcvec table.
                      00001BAB	  12326 ; call at device ipl.
                      00001BAB	  12327 ;
                      00001BAB	  12328 ; slot has 
                      00001BAB	  12329 ;  pointer to LDT chain
                      00001BAB	  12330 ;  PID of owner process (in case it exits w/o cleanup)
                      00001BAB	  12331 findldt: .jsb_entry output=<r0,r1>
                      00001BAB	  12332 	pushr	#^M<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001BAF	  12333 	movl	g^ctl$gl_pcb,r4
                      00001BB6	  12334 	clrl	r0	;initially nothing
                      00001BB8	  12335 	movl	ucb$l_prcvec(r5),r1	;start of ldt chain
                      00001BBD	  12336 	bgeq	999$		;lose if none
                      00001BBF	  12337 	movzwl	pcb$l_pid(r4),r2	;get index
                      00001BC4	  12338 	ashl	#5,r2,r2		;get tbl entry offset
                      00001BC8	  12339 ; shift 5 so 32 bytes = 8 longs per entry
                      00001BC8	  12340 	addl3	r2,r1,r3		;point r3 at our slot
                      00001BCC	  12341 	movl	r3,r1			;let r1 return as link addr
                      00001BCF	  12342 	tstl	4(r1)			;empty slot?
                      00001BD2	  12343 	bneq	3$
                      00001BD4	  12344 	clrl	(r1)			;if slot is empty clr ldt area
                      00001BD6	  12345 	brb	5$
                      00001BD8	  12346 3$:	cmpl	4(r1),pcb$l_pid(r4)	;right pid?
                      00001BDE	  12347 	beql	5$
                      00001BE0	  12348 	jsb	freslot			;wrong so free all ldt's
                      00001BE6	  12349 	clrl	(r1)
                      00001BE8	  12350 5$:	movl	pcb$l_pid(r4),4(r1)	;claim slot now
                      00001BEE	  12351 10$:	tstl	r1			;ensure pointer ok
                      00001BF0	  12352 	bgeq	999$
                      00001BF2	  12353 ; check right process.
                      00001BF2	  12354 	movl	ldt$l_fwd(r1),r11	;get candidate ldt
                      00001BF6	  12355 	bgeq	999$			;if null, none to find, but R1 pointer ok
                      00001BF8	  12356 	cmpl	ldt$l_ccb(r11),r6	;got right ccb?
                      00001BFC	  12357 	beql	800$			;if we have it, branch
                      00001BFE	  12358 	movl	r11,r1			;else loop to next
                      00001C01	  12359 	brb	10$			;and retry
                      00001C03	  12360 800$:	movl	r11,r0			;return ldt addr in r0
                      00001C06	  12361 999$:
                      00001C06	  12362 ; Callers may test r0=0 or r1=0. If they're +, return 0 since that's
                      00001C06	  12363 ; also an error.

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  88
V01H                            UNIT INITIALIZATION ROUTINE      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001C06	  12364 	tstl	r1
                      00001C08	  12365 	blss	997$
                      00001C0A	  12366 	clrl	r1
                      00001C0C	  12367 997$:	tstl	r0
                      00001C0E	  12368 	blss	996$
                      00001C10	  12369 	clrl	r0	;return 0 instead of any positive values
                      00001C12	  12370 996$:
                 ?01T 00001C12	  12371 	.iif df,msetrp, movl r1,mtp$r1+4(r5)
                      00001C17	  12372 	popr	#^M<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001C1B	  12373 	rsb
                      00001C1C	  12374 freslot: .jsb_entry	;free entire slot, deallocating any LDTs.
                      00001C1C	  12375 	pushr	#^M<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001C20	  12376 	movl	r1,r11		;slot address
                      00001C23	  12377 	movl	(r1),r10	;start LDT if any
                      00001C26	  12378 10$:	tstl	r10
                      00001C28	  12379 	beql	50$
                      00001C2A	  12380 	movl	(r10),r10	;grab pointer to next ldt if any
                      00001C2D	  12381 	movl	ldt$l_fresiz(r10),r1	;size to free
                      00001C31	  12382 	jsb	g^exe$deanonpgdsiz
                      00001C37	  12383 	brb	10$		;keep looking
                      00001C39	  12384 50$:
                      00001C43	  12385 	zapz	(r1),#32	;zero all 32 bytes
         X01/001      00001C39			pushr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
         X01/002      00001C3B			movc5	#0,(r1),#0,#32,(r1)
         X01/003      00001C41			popr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
                      00001C43	  12386 	popr	#^M<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001C47	  12387 	rsb
                      00001C48	  12388 	.SBTTL	Other FDT ROUTINES 
                      00001C48	  12389 ;++
                      00001C48	  12390 ; 
                      00001C48	  12391 ; JT_ALIGN - FDT ROUTINE TO TEST XFER BYTE COUNT
                      00001C48	  12392 ; 
                      00001C48	  12393 ; FUNCTIONAL DESCRIPTION:
                      00001C48	  12394 ; 
                      00001C48	  12395 ; 	THIS ROUTINE IS CALLED FROM THE FUNCTION DECISION TABLE DISPATCHER
                      00001C48	  12396 ; 	TO CHECK THE BYTE COUNT PARAMETER SPECIFIED BY THE USER PROCESS
                      00001C48	  12397 ; 	FOR AN EVEN NUMBER OF BYTES (WORD BOUNDARY).
                      00001C48	  12398 ; 
                      00001C48	  12399 ; INPUTS:
                      00001C48	  12400 ; 
                      00001C48	  12401 ; 	R3	- IRP ADDRESS (I/O REQUEST PACKET)
                      00001C48	  12402 ; 	R4	- PCB ADDRESS (PROCESS CONTROL BLOCK)
                      00001C48	  12403 ; 	R5	- UCB ADDRESS (UNIT CONTROL BLOCK)
                      00001C48	  12404 ; 	R6	- CCB ADDRESS (CHANNEL CONTROL BLOCK)
                      00001C48	  12405 ; 	R7	- BIT NUMBER OF THE I/O FUNCTION CODE
                      00001C48	  12406 ; 	R8	- ADDRESS OF FDT TABLE ENTRY FOR THIS ROUTINE
                      00001C48	  12407 ; 	4(AP)	- ADDRESS OF FIRST FUNCTION DEPENDENT QIO PARAMETER
                      00001C48	  12408 ; 
                      00001C48	  12409 ; OUTPUTS:
                      00001C48	  12410 ; 
                      00001C48	  12411 ; 	IF THE QIO BYTE COUNT PARAMETER IS ODD, THE I/O OPERATION IS
                      00001C48	  12412 ; 	TERMINATED WITH AN ERROR. IF IT IS EVEN, CONTROL IS RETURNED
                      00001C48	  12413 ; 	TO THE FDT DISPATCHER.
                      00001C48	  12414 ; 
                      00001C48	  12415 ;--
00000000              00001C48	  12416 nolchk=0
                      00001C48	  12417 JT_ALIGN: .jsb_entry	;CHECK BYTE COUNT AT P1(AP)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  89
V01H                            Other FDT ROUTINES               2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001C48	  12418 ;	BLBS	4(AP),10$		;IF LBS - ODD BYTE COUNT
                      00001C48	  12419 	movl	#1,r0
                      00001C4B	  12420 	RSB				;EVEN - RETURN TO CALLER
                      00001C4C	  12421 
                      00001C4C	  12422 	.SBTTL	START I/O ROUTINE
                      00001C4C	  12423 ;++
                      00001C4C	  12424 ; 
                      00001C4C	  12425 ; JT_STARTIO - START I/O ROUTINE
                      00001C4C	  12426 ; 
                      00001C4C	  12427 ; FUNCTIONAL DESCRIPTION:
                      00001C4C	  12428 ; 
                      00001C4C	  12429 ; 	THIS FORK PROCESS IS ENTERED FROM THE EXECUTIVE AFTER AN I/O REQUEST
                      00001C4C	  12430 ; 	PACKET HAS BEEN DEQUEUED.
                      00001C4C	  12431 ; 
                      00001C4C	  12432 ; INPUTS:
                      00001C4C	  12433 ; 
                      00001C4C	  12434 ; 	R3		- IRP ADDRESS (I/O REQUEST PACKET)
                      00001C4C	  12435 ; 	R5		- UCB ADDRESS (UNIT CONTROL BLOCK)
                      00001C4C	  12436 ; 	IRP$L_MEDIA	- PARAMETER LONGWORD (LOGICAL BLOCK NUMBER)
                      00001C4C	  12437 ; 
                      00001C4C	  12438 ; OUTPUTS:
                      00001C4C	  12439 ; 
                      00001C4C	  12440 ; 	R0	- FIRST I/O STATUS LONGWORD: STATUS CODE & BYTES XFERED
                      00001C4C	  12441 ; 	R1	- SECOND I/O STATUS LONGWORD: 0 FOR DISKS
                      00001C4C	  12442 ; 
                      00001C4C	  12443 ; 	THE I/O FUNCTION IS EXECUTED.
                      00001C4C	  12444 ; 
                      00001C4C	  12445 ; 	ALL REGISTERS EXCEPT R0-R4 ARE PRESERVED.
                      00001C4C	  12446 ; 
                      00001C4C	  12447 ;--
                      00001C56	  12480 JT_STARTIO: $driver_start_entry
00000000 X02/079 ?02T 00001C4C			.iif identical false, <FALSE>, _MTU_DIR_ARG_3 = 0
         X01/129 ?01T 00001C4E				MOVL	startarg$_irp(AP), R3
         X01/130 ?01T 00001C52				MOVL	startarg$_ucb(AP), R5
                      00001C56	  12481 ; 
                      00001C56	  12482 ; 	PREPROCESS UCB FIELDS
                      00001C56	  12483 ; 
                      00001C56	  12484 ;	ASSUME	RY_EXTENDED_STATUS_LENGTH  EQ  8
                      00001C56	  12485 ;	CLRQ	UCB$Q_JT_EXTENDED_STATUS(R5)	; Zero READ ERROR REGISTER area.
                      00001C56	  12486 ; 
                      00001C56	  12487 ; 	BRANCH TO FUNCTION EXECUTION
                      00001C56	  12488 	bbs	#ucb$v_online,-	; if online set software valid
                      00001C56	  12489 		ucb$l_sts(r5),210$
                      00001C5C	  12490 216$:	movzwl	#ss$_volinv,r0	; else set volume invalid
                      00001C61	  12491 	brw	resetxfr	; reset byte count & exit
                      00001C64	  12492 210$:
                      00001C64	  12493 ; Unless we use this entry, we want to junk any calls here.
                      00001C64	  12494 	brb	216$		;just always say invalid volume.
                      00001C66	  12495 
                      00001C66	  12496 ; Get here for other start-io entries if the virtual disk code is
                      00001C66	  12497 ; commented out also, as it must be.
                      00001C66	  12498 ;FATALERR:				;UNRECOVERABLE ERROR
                      00001C66	  12499 ;	MOVZWL	#SS$_DRVERR,R0		;ASSUME DRIVE ERROR STATUS
                      00001C66	  12500 
                      00001C66	  12501 RESETXFR:	; dummy entry ... should never really get here
                      00001C66	  12502 	MOVL	UCB$L_IRP(R5),R3	;GET I/O PKT
                      00001C6A	  12503 ;	MNEGW	IRP$W_BCNT(R3),UCB$W_BCR(R5) ; RESET BYTECOUNT

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  90
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001C6A	  12504 ;	BRW	FUNCXT
                      00001C6A	  12505 FUNCXT:					;FUNCTION EXIT
                      00001C6A	  12506 	CLRL	R1			;CLEAR 2ND LONGWORD OF IOSB
                      00001C7A	  12533 	REQCOM,environment=call		; COMPLETE REQUEST
         X02/003      00001C6C		        PUSHL   R5
         X02/004      00001C6E		        PUSHL   R1
         X02/005      00001C70		        PUSHL   R0
         X02/006      00001C72		        CALLS   #3,G^IOC_STD$REQCOM
         X01/011 ?01T 00001C79			  RET
                      00001C7A	  12534 ; 
                      00001C7A	  12535 ;PWRFAIL:				;POWER FAILURE
                      00001C7A	  12536 ;	BICW	#UCB$M_POWER,UCB$W_STS(R5)  ;CLEAR POWER FAILURE BIT
                      00001C7A	  12537 ;	MOVL	UCB$L_IRP(R5),R3	;GET ADDRESS OF I/O PACKET
                      00001C7A	  12538 ;	MOVQ	IRP$L_SVAPTE(R3),-	;RESTORE TRANSFER PARAMETERS
                      00001C7A	  12539 ;		UCB$L_SVAPTE(R5)	;...
                      00001C7A	  12540 ;	BRW	JT_STARTIO		;START REQUEST OVER
                      00001C7A	  12541 ;JT_INT::
                      00001C7A	  12542 ;JT_UNSOLNT::
                      00001C7A	  12543 ;	POPR	#^M<R0,R1,R2,R3,R4,R5>
                      00001C7A	  12544 ;	REI	;DUMMY RETURN FROM ANY INTERRUPT
                      00001C7A	  12545 	;;
                      00001C7A	  12546 ;Note that the "step2" stuff is a special kernel AST so the call
                      00001C7A	  12547 ; convention is JSB type regardless...
                      00001C7A	  12548 jtkast: .jsb_entry
                      00001C7A	  12549 ; special knl AST entry daemon should cause.
                      00001C7A	  12550 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001C7E	  12551 	movl	acb$l_astprm(r5),r11	;get LDT address
                      00001C82	  12552 	movl	r5,r0		;dealloc. the acb
                      00001C85	  12553 	movl	#acb$c_length,r1	;length used
                      00001C88	  12554 	jsb	g^exe$deanonpgdsiz
                      00001C8E	  12555 ; get ucb pointer back
                      00001C8E	  12556 	movl	ldt$l_regs+12(r11),r5	;get victim dvc ucb
                      00001C93	  12557 	jsb	getjtucb		;find JT UCB now
                      00001C97	  12558 	tstl	r0
                      00001C99	  12559 	bgeq	12$
                      00001C9B	  12560 	movl	r0,r5			;point at jt ucb now
                      00001C9E	  12561 12$:
                      00001C9E	  12562 	movl	r11,(sp)		; set return of r11 in r0
                      00001CA1	  12563 	movl	r5,4(sp)		; r5 returns in r1
                      00001CA5	  12564 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>	
                      00001CA9	  12565 	bsbw	lclcnt			;go continue "step2" ast
                      00001CAC	  12566 	rsb
                      00001CAD	  12567 
                      00001CAD	  12568 ; step 1.5 entry. Normal kernel AST here from our $qio. We take it and
                      00001CAD	  12569 ; build a special kernel AST instead.
                      00001CAD	  12570 	.entry	vcstp15,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
00000004              00001CAF	  12571 prm=4
                      00001CAF	  12572 	movl	prm(ap),r11	;get LDT address back to familiar R11
                      00001CB3	  12573 ;grab an ACB for skast
                      00001CB3	  12574 	movl	#<acb$c_length>,r1	;size of an acb
                      00001CB6	  12575 	jsb	g^exe$alonpagvar	;allocate space for acb
                      00001CBC	  12576 	blbc	r0,999$			;if we fail, lose
                      00001CC9	  12577 	zapz	(r2),#<acb$c_length>	;zero the ACB initially
         X01/001      00001CBF			pushr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
         X01/002      00001CC1			movc5	#0,(r2),#0,#<acb$c_length>,(r2)
         X01/003      00001CC7			popr	#^m<r0,r1,r2,r3,r4,r5>	;save regs from movc5
                      00001CC9	  12578 	movw	r1,acb$w_size(r2)	;save size

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  91
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001CCD	  12579 	movl	r11,acb$l_astprm(r2)	;ldt is AST parameter again
                      00001CD1	  12580 	movl	r2,r5			;sch$qast wants r5 to have acb
                 ?01T 00001CD4	  12581 	.if	df,msetrp
                 ?01T 00001CD4	  12582 	pushl	r10
                 ?01T 00001CD6	  12583 	movl	ldt$l_jtucb(r11),r10	;get jt ucb
                 ?01T 00001CDA	  12584 	movl	#20,mtp$trace(r10)
                 ?01T 00001CDF	  12585 	popl	r10
                 ?01T 00001CE2	  12586 	.endc
                      00001CE2	  12587 	movl	g^ctl$gl_pcb,r4		;point at our PCB just in case
                      00001CE9	  12588 ;	.if	df,evax
                      00001CE9	  12589 ;	decl	pcb$l_astcnt(r4)	;count down ast quota for this one
                      00001CE9	  12590 ;	.iff
                      00001CE9	  12591 ;	adawi	#-1,pcb$w_astcnt(r4)
                      00001CE9	  12592 ;	.endc
                      00001CE9	  12593 	movab	vcstep2,acb$l_kast(r5)	;goto vcstep2...
                      00001CF1	  12594 	movl	pcb$l_pid(r4),acb$l_pid(r5)	;in this process
                      00001CF7	  12595 	clrl	acb$l_ast(r5)		;set no ast
                      00001CFA	  12596 	movb	#<1@acb$v_kast>,acb$b_rmod(r5)	;set skast mode
                      00001CFF	  12597 	movl	#3,r2			;prio boost of 3 (random...)
                      00001D02	  12598 	jsb	g^sch$qast		;requeue the acb
                      00001D08	  12599 999$:	movl	#31,-(sp)		;set junk efn now
                      00001D0B	  12600 	calls	#1,g^sys$setef		;
                      00001D12	  12601 	movl	#1,r0			;normal status
                      00001D15	  12602 	ret				;back to whatever now
                      00001D16	  12603 
                      00001D16	  12604 
                      00001D16	  12605 ; "step 2" entry. HERE we have (hopefully) the ACL read in and must now
                      00001D16	  12606 ; decode it. Also we need to see if we need to call the daemon and do so if
                      00001D16	  12607 ; this is appropriate.
                      00001D16	  12608 ; Note stp2bad is a very unusual path...
                      00001D16	  12609 stp2bad: .jsb_entry
                      00001D16	  12610 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001D1A	  12611 	movl	r0,r11	;r11 now points at LDT
                      00001D1D	  12612 	brw	v2cmn	;go join common code to try & issue user's I/O
					1.......                                                               
%AMAC-I-BRANCHBET, (1) branch between routines from routine STP2BAD

                      00001D20	  12613 vcstep2: .jsb_entry
                      00001D20	  12614 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001D24	  12615 	movl	#31,-(sp)		;set junk efn now
                      00001D27	  12616 	calls	#1,g^sys$setef		;
                      00001D2E	  12617 	movl	acb$l_astprm(r5),r11	; get LDT addr
                      00001D32	  12618 ;now free the ACB
                      00001D32	  12619 	pushr	#^m<r0,r1,r2,r3,r4,r5,r11>
                      00001D36	  12620 	movl	r5,r0			;address
                      00001D39	  12621 	movl	#acb$c_length,r1	;size
                      00001D3C	  12622 	jsb	g^exe$deanonpgdsiz
                      00001D42	  12623 	popr	#^m<r0,r1,r2,r3,r4,r5,r11>
                      00001D46	  12624 v2cmn:	tstl	r11			;ensure LDT is good
                      00001D48	  12625 	blss	vcz			;if good, it's neg. addr
                      00001D4A	  12626 vcx:	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001D4E	  12627 	rsb				;else give up.
                      00001D4F	  12628 vcz:
                      00001D4F	  12629 ; Now get original IRP, UCB, etc. to registers so we can work normally.
                 ?01T 00001D4F	  12630 	.if	df,msetrp
                 ?01T 00001D4F	  12631 	pushl	r10
                 ?01T 00001D51	  12632 	movl	ldt$l_jtucb(r11),r10	;get jt ucb

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  92
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01T 00001D55	  12633 	movl	#21,mtp$trace(r10)
                 ?01T 00001D5A	  12634 	popl	r10
                 ?01T 00001D5D	  12635 	.endc
                      00001D5D	  12636 	movl	ldt$l_regs+4(r11),r3	;get original R3
                      00001D62	  12637 	movl	ldt$l_regs+12(r11),r5	;and real device R5
                      00001D67	  12638 	jsb	getjtucb		;go find JT UCB address
                      00001D6B	  12639 	tstl	r0			;got it?
                      00001D6D	  12640 	beql	vcx			;if not give up.
                      00001D6F	  12641 	movl	r0,r5			;R5 is now JT UCB addr
                 ?01T 00001D72	  12642 	.iif	df,msetrp,movl #22,mtp$trace(r5)
                      00001D77	  12643 	movab	ldt$l_acl(r11),r9	;now point at the ACL we read
                      00001D7C	  12644 	tstl	(r9)			;whole ACL null? (shortcut)
                      00001D83	  12645 	beqlw	15$			;if so skip everything.
         X01/001      00001D7E			bneq	30084$
         X01/002      00001D80			brw	15$
         X01/003      00001D83		30084$:
                 ?01T 00001D83	  12646 	.iif	df,msetrp,movl #23,mtp$trace(r5)
                      00001D88	  12647 ; acl in r9
                      00001D88	  12648 ; get ACL size
                      00001D88	  12649 	movl	ldt$l_aclsiz(r11),r10	;pass ACL size in R10
                      00001D92	  12650 	beqlw	15$			;sanity check again
         X01/001      00001D8D			bneq	30085$
         X01/002      00001D8F			brw	15$
         X01/003      00001D92		30085$:
                      00001D92	  12651 ; Hunt up our ACE if possible & store in LDT
                      00001D92	  12652 	addl3	#512,r9,r8		;r8 is end address
                      00001D9A	  12653 7$:	movzbl	(r9),r7			;get length
                      00001DA2	  12654 	beqlw	15$			;if 0, skip
         X01/001      00001D9D			bneq	30086$
         X01/002      00001D9F			brw	15$
         X01/003      00001DA2		30086$:
                      00001DA2	  12655 	cmpl	r9,r8			;past end?
                      00001DA5	  12656 	bgequ	dnfid			;if so branch
                      00001DA7	  12657 	cmpb	1(r9),#ace$c_info	;application ACL?
                      00001DAB	  12658 	beql	8$			;if so, see if ours.
                      00001DAD	  12659 9$:	addl2	r7,r9
                      00001DB0	  12660 	brb	7$			;else keep looking
                      00001DB2	  12661 8$:	cmpl	8(r9),acllit		;see if it's mine...
                      00001DBA	  12662 	bneq	9$			;if neq skip
                      00001DBC	  12663 ; aha...found OUR ACE.
                      00001DBC	  12664 ; Fill in LDT
                 ?01T 00001DBC	  12665 	.iif	df,msetrp,movl #24,mtp$trace(r5)
                      00001DC1	  12666 	pushr	#^m<r0,r1,r2,r3,r4,r5>
                      00001DC3	  12667 	movab	ldt$l_ace(r11),r0	;copy the ACE in
                      00001DC7	  12668 	movc3	r7,(r9),(r0)		;one fell swoop
                      00001DCB	  12669 	popr	#^m<r0,r1,r2,r3,r4,r5>
                      00001DCD	  12670 	brw	dnfid			;if an ACE was there, don't fake one
                      00001DD0	  12671 ; Check for our file number cache here and FAKE an ACE if none was seen.
                      00001DD0	  12672 ; (Note we might still have an ACE in a too-long ACL; daemon must test that.)
                      00001DD0	  12673 15$:	movab	ldt$l_fib(r11),r7	;point at our fib
                 ?01T 00001DD5	  12674 	.iif	df,msetrp,movl #25,mtp$trace(r5)
                      00001DDA	  12675 	bitl	#32768,ucb$l_ctlflgs(r5) ;pretend ACE is there always?
                      00001DE3	  12676 	bneq	fakfid			; if bit is set, do so. Use if disk
                      00001DE5	  12677 					; has almost all files marked...
                      00001DE5	  12678 	movzwl	fib$w_fid(r7),r7	;this file number
                 ?01F 00001DE9	  12679 	.if	df,wd.lst
                 ?01F 00001DE9	  12680 	movl	#f.nums,r10		;number of filenumbers

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  93
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                 ?01F 00001DE9	  12681 	movab	ucb$l_fnums(r5),r9	;store of 16 bit file numbers
                 ?01F 00001DE9	  12682 11$:	cmpw	(r9)+,r7		;got our file number?
                 ?01F 00001DE9	  12683 	beql	fakfid			;if so gen. an ACE
                 ?01F 00001DE9	  12684 	sobgtr	r10,11$			;check all
                 ?01T 00001DE9	  12685 	.iff
                 ?01T 00001DE9	  12686 	movl	ucb$l_fnums(r5),r9	; address of storage
                 ?01T 00001DEE	  12687 	beql	dnfdj
                 ?01T 00001DF0	  12688 	bicl	#f.mask,r7		; clear extra bits
                 ?01T 00001DF7	  12689 	ashl	#-3,r7,r10		; isolate bit number
                 ?01T 00001DFC	  12690 	addl2	r9,r10			;address to R10
                 ?01T 00001DFF	  12691 	bicl	#-8,r7			; get bit #
                 ?01T 00001E06	  12692 	bbs	r7,(r10),fakfid		; and test if, gen ace if a 1
                 ?01T 00001E0A	  12693 	.endc
                      00001E0A	  12694 dnfdj:	brw	dnfid			;if we see none, continue normally
                      00001E0D	  12695 
                      00001E0D	  12696 fakfid:	movab	ldt$l_ace(r11),r10	;else gen. our ACE
                      00001E11	  12697 	movb	#13,(r10)+		;ace length
                      00001E14	  12698 	movb	#ace$c_info,(r10)+	;info flags
                      00001E17	  12699 	movw	#^xe01,(r10)+		;other flags (hidden, prot, dmn)
                      00001E1C	  12700 	movl	#1,(r10)+		;call daemon
                      00001E1F	  12701 	movl	acllit,(r10)+		;flag OUR ACE
                      00001E26	  12702 	movb	#1,(r10)+		;and insert an "inspectme" record
                      00001E29	  12703 ; Rest will be 0 from initial zapz call of mem. in LDT on alloc.
                      00001E29	  12704 dnfid:
                      00001E29	  12705 10$:	
                      00001E29	  12706 ; Save the file ID from our FIB for possible daemon use.
                 ?01T 00001E29	  12707 	.iif	df,msetrp,movl #26,mtp$trace(r5)
                      00001E2E	  12708 	movab	ldt$l_fib(r11),r7	;point at our fib
                      00001E33	  12709 	movl	fib$w_fid(r7),ldt$l_myfid(r11)
                      00001E39	  12710 	movl	fib$w_fid+4(r7),ldt$l_myfid+4(r11)
                      00001E3F	  12711 ; Flag for the daemon if the ACL was too darn long.
                      00001E3F	  12712 	cmpl	ldt$l_aclsiz(r11),#512	;was acl too long?
                      00001E48	  12713 	bleq	15$			;if leq, no
                      00001E4A	  12714 ; long ACL. If no ACE now, go hunt.
                      00001E4A	  12715 	tstb	ldt$l_ace(r11)		;ace still null?
                      00001E4D	  12716 	bneq	15$			;if not, leave alone
                      00001E4F	  12717 	movl	ldt$l_aclsiz(r11),ldt$l_ace(r11)	;else save len
                      00001E55	  12718 	movl	#<<8*65536>+1>,ldt$l_ace+4(r11)	;and save magic # as flag
                      00001E5D	  12719 15$:
                      00001E5D	  12720 ; Now see if we need to call the daemon. If so, best go and do it,
                      00001E5D	  12721 ; getting back via SKAST. Afterwards, do any priv or ID mods or
                      00001E5D	  12722 ; other alteration if user I/O is to go on; otherwise just do bogus
                      00001E5D	  12723 ; good/bad finish.
                 ?01T 00001E5D	  12724 	.iif	df,msetrp,movl #27,mtp$trace(r5)
                      00001E62	  12725 	movl	#1,ldt$l_rtnsts(r11)	;set return stat initially ok
                      00001E67	  12726 	movab	ldt$l_ace(r11),r10	;point at our ACE
                      00001E6B	  12727 	bitl	#1,4(r10)		;1 bit means call daemon
                      00001E74	  12728 	beqlw	30$			;if eql no daemon call.
         X01/001      00001E6F			bneq	30087$
         X01/002      00001E71			brw	30$
         X01/003      00001E74		30087$:
                      00001E74	  12729 ; Need to call daemon. Do mailbox thing like fqdriver, after test that
                      00001E74	  12730 ; daemon exists.
                 ?01T 00001E74	  12731 	.iif	df,msetrp,movl #27,mtp$trace(r5)
                      00001E79	  12732 	movl	ucb$l_mbxucb(r5),r9	;mailbox ucb here
                      00001E83	  12733 	bgeqw	30$
         X01/001      00001E7E			blss	30088$

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  94
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/002      00001E80			brw	30$
         X01/003      00001E83		30088$:
                 ?01T 00001E83	  12734 	.iif	df,msetrp,movl #28,mtp$trace(r5)
                      00001E88	  12735 	bitl	#ucb$m_online,ucb$l_sts(r9)	;is mbx online?
                      00001E92	  12736 	beqlw	30$			;if not, just issue i/o
         X01/001      00001E8D			bneq	30089$
         X01/002      00001E8F			brw	30$
         X01/003      00001E92		30089$:
                 ?01T 00001E92	  12737 	.iif	df,msetrp,movl #29,mtp$trace(r5)
                 ?01T 00001E97	  12738 	.if	df,evax
                 ?01T 00001E97	  12739 	tstl	ucb$l_refc(r9)		;someone listening?
                 ?01F 00001E9A	  12740 	.iff
                 ?01F 00001E9A	  12741 	tstw	ucb$w_refc(r9)		;someone listening?
                 ?01F 00001E9A	  12742 	.endc
                      00001E9F	  12743 	bleqw	30$			;if leq no
         X01/001      00001E9A			bgtr	30090$
         X01/002      00001E9C			brw	30$
         X01/003      00001E9F		30090$:
                      00001E9F	  12744 	tstl	ucb$l_orb(r9)		;someone own it (daemon)?
                      00001EA7	  12745 	bgeqw	30$			;if geq no
         X01/001      00001EA2			blss	30091$
         X01/002      00001EA4			brw	30$
         X01/003      00001EA7		30091$:
                 ?01T 00001EA7	  12746 	.iif	df,msetrp,movl #30,mtp$trace(r5)
                      00001EAC	  12747 ;check daemon pid still valid
                      00001EAC	  12748         pushr  #^m<r5,r6,r7,r8>
                      00001EB0	  12749         movzwl  g^sch$gl_maxpix,r7      ;max process index in VMS
                      00001EB7	  12750 22$:
                      00001EB7	  12751         movl    g^sch$gl_pcbvec,r6      ;get pcb vector address
                      00001EBE	  12752         movl    (r6)[r7],r8             ;get a PCB address
                      00001EC2	  12753         tstl    r8              ;system address should be < 0
                      00001EC4	  12754         bgeq    23$                     ;if it seems not to be a pcb forget it
                      00001EC6	  12755         cmpl    ucb$l_daemon(r5),pcb$l_pid(r8)  ;this our process?
                      00001ECD	  12756         beql    21$                    ;if so, jump out of loop
                      00001ECF	  12757 23$:    sobgtr  r7,22$                  ;if not, look at next
                      00001ED2	  12758         clrl    ucb$l_daemon(r5)        ;if cannot find process, zero our flag
                      00001ED6	  12759 21$:
                      00001ED6	  12760         popr   #^m<r5,r6,r7,r8>
                 ?01T 00001EDA	  12761 	.iif	df,msetrp,movl #31,mtp$trace(r5)
                      00001EDF	  12762         tstl    ucb$l_daemon(r5)        ;got our daemon process there?
                      00001EE8	  12763 	beqlw	30$			;if not, skip
         X01/001      00001EE3			bneq	30092$
         X01/002      00001EE5			brw	30$
         X01/003      00001EE8		30092$:
                      00001EE8	  12764 ; Looks OK to send a buffer to the daemon. Grab one and send the message,
                      00001EE8	  12765 	subl	#96,sp			;get buffer on stack
                      00001EEF	  12766 	movl	sp,r8			;r8 points at it now
                      00001EF2	  12767 	movl	r11,(r8)		;pass LDT
                      00001EF5	  12768 	movl	r5,4(r8)		;pass UCB of JT dvc
                      00001EF9	  12769 	movl	ucb$l_backlk(r5),8(r8)	;and original dvc UCB (needed...)
                      00001EFF	  12770 	movl	r10,12(r8)		;point at our ACE
                      00001F03	  12771 	movab	jtkast,16(r8)		;point at where to send SKAST
                      00001F09	  12772 	movl	ldt$l_myfid(r11),20(r8)	;pass file id too
                      00001F0F	  12773 	movl	ldt$l_myfid+4(r11),24(r8) ;all of it...
                      00001F15	  12774 	movl	ldt$l_accmd(r11),28(r8)	;send how-open info
                      00001F1A	  12775 	movl	ldt$l_mydid(r11),32(r8)	;also directory ID
                      00001F20	  12776 	movl	ldt$l_mydid+4(r11),36(r8) ;all of it

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  95
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001F26	  12777 ; Reason for sending this stuff is that it's harder to retrieve it
                      00001F26	  12778 ; from another proc. context in thedaemon.
                      00001F26	  12779 	movl	g^ctl$gl_pcb,40(r8)	;send pcb
                      00001F2E	  12780 	movl	g^ctl$gl_pcb,r4
                      00001F35	  12781 	movl	pcb$l_pid(r4),44(r8)	;& pid so we can send an ast
                      00001F3B	  12782 	movl	pcb$l_epid(r4),48(r8)	;& pid so we can send an ast
                      00001F41	  12783 	movl	r5,52(r8)		;ucb of JT device
                      00001F45	  12784 ; Now follow ucb$l_ddb to get device name, unit, allocls and
                      00001F45	  12785 ; nodename.
                      00001F45	  12786 	pushr	#^m<r0,r1,r2>
                      00001F47	  12787 	movl	ucb$l_backlk(r5),r0	;get device ucb of victim
                      00001F4C	  12788 	movzwl	ucb$w_unit(r0),56(r8)	;send unit number
                      00001F51	  12789 	movl	ucb$l_ddb(r0),r1	;get DDB (name is there)
                      00001F55	  12790 	movl	ddb$l_allocls(r1),84(r8) ;save alloc class
                      00001F5A	  12791 	clrl	60(r8)			;zero nodename
                      00001F5D	  12792 	clrl	64(r8)			;(fill in below if it exists. This
                      00001F60	  12793 				; prevents stacked junk from being used.
                      00001F60	  12794 	movl	ddb$l_sb(r1),r1		;get sys block if any
                      00001F64	  12795 	bgeq	833$			;if none, omit name grab
                      00001F66	  12796 	movl	sb$t_nodename(r1),60(r8) ;else save nodename
                      00001F6B	  12797 	movl	sb$t_nodename+4(r1),64(r8)
                      00001F70	  12798 833$:
                      00001F70	  12799 	movl	ucb$l_ddb(r0),r1	;get DDB (name is there)
                      00001F74	  12800 	movl	ddb$t_name(r1),68(r8)
                      00001F79	  12801 	movl	ddb$t_name+04(r1),72(r8)
                      00001F7E	  12802 	movl	ddb$t_name+08(r1),76(r8)
                      00001F83	  12803 	movl	ddb$t_name+12(r1),80(r8)
                      00001F88	  12804 ; copy device name too. Now msg has all we need to make a unique filename.
                      00001F88	  12805 ; Note we use alloc. class if present, else nodename.
                      00001F88	  12806 	popr	#^m<r0,r1,r2>
                      00001F8A	  12807 
                      00001F8A	  12808 	movl	#1,4(r8)		;flag as an open dmn call
                      00001F8E	  12809 	pushr	#^m<r3,r4,r5>		;ensure ucb etc. get back
                 ?01T 00001F90	  12810 	.iif	df,msetrp,movl #32,mtp$trace(r5)
                      00001F95	  12811 	movl	r9,r5			;ucb of mbx unit
                      00001F98	  12812 	movl	r8,r4			;where buffer is
                      00001F9B	  12813 	movl	#96,r3			;message size
                      00001FA2	  12814 	jsb	g^exe$wrtmailbox	;emit it
                      00001FA8	  12815 	popr	#^m<r3,r4,r5>
                      00001FAA	  12816 	addl2	#96,sp			;fix stack
                      00001FB1	  12817 	blbs	r0,31$			;if ok, leave for now
                      00001FB4	  12818 30$:
                      00001FB4	  12819 	movl	r11,(sp)		;need clean stack, r11=ldt in r0
                      00001FB7	  12820 	movl	r5,4(sp)		;r1 gets r5
                      00001FBB	  12821 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001FBF	  12822 	bsbw	lclcnt			;helper branch
                      00001FC2	  12823 	rsb
                      00001FC3	  12824 31$:	; Here when mailbox write is done.
                      00001FC3	  12825 ; Exit this AST routine and await next.
                      00001FC3	  12826 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001FC7	  12827 	movl	#1,r0		;say ok
                      00001FCA	  12828 	rsb
                      00001FCB	  12829 
                      00001FCB	  12830 ; Here for "local" operation to continue with the I/O.
                      00001FCB	  12831 ; This point will merge AST return and fallthru if anything went
                      00001FCB	  12832 ; wrong telling daemon and fallthru where daemon should not be called.
                      00001FCB	  12833 ; At entry expect LDT pointer in R11.

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  96
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00001FCB	  12834 ; Also we expect jt ucb in r5
                      00001FCB	  12835 lclcnt: .jsb_entry input=<r0,r1>,output=r0
                      00001FCB	  12836 ; get stack as we expect it below
                      00001FCB	  12837 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00001FCF	  12838 	movl	r0,r11		; on entry r0 = ldt
                      00001FD2	  12839 	movl	r1,r5
                 ?01T 00001FD5	  12840 	.iif	df,msetrp,movl #33,mtp$trace(r5)
                      00001FDA	  12841 	jsb	prvidset	;alter privs/idents if appriopriate now
                      00001FDE	  12842 				;(also base prio, etc.)
                 ?01T 00001FDE	  12843 	.if	df,msetrp
                 ?01T 00001FDE	  12844 	pushl	r0
                 ?01T 00001FE0	  12845 	movl	ldt$l_jtucb(r11),r0
                 ?01T 00001FE4	  12846 	movl	#133,mtp$trace(r0)
                 ?01T 00001FED	  12847 	popl	r0
                 ?01T 00001FF0	  12848 	.endc
                      00001FF0	  12849 	movl	r11,r0		;now restore regs of original I/O
                      00001FF3	  12850 	movab	ldt$l_regs(r0),r1	;regs save r2-r11
                      00001FF8	  12851 	movl	(r1)+,r2
                      00001FFB	  12852 	movl	(r1)+,r3
                      00001FFE	  12853 	movl	(r1)+,r4
                      00002001	  12854 	movl	(r1)+,r5
                      00002004	  12855 	movl	(r1)+,r6
                      00002007	  12856 	movl	(r1)+,r7
                      0000200A	  12857 	movl	(r1)+,r8
                      0000200D	  12858 	movl	(r1)+,r9
                      00002010	  12859 	movl	(r1)+,r10
                      00002013	  12860 ;	movl	(r1)+,r11	;now have all regs back
                      00002013	  12861 ; actually, junk r11 again
                      00002013	  12862 	movl	r0,r11
                      00002016	  12863 ; Now re-enable proc. delete, suspend, etc. etc.
                      00002016	  12864 ; since we're about to reissue user I/O (or dummy junk it)
                      00002016	  12865 	movl	ldt$l_prcstr(r11),r10	;get block of info
                      0000201A	  12866 	bgeq	10$
                      0000201C	  12867 1$:	tstl	4(r10)		;check del-inhibit count
                      0000201F	  12868 	bleq	2$		;if 0 or - skip
                      00002021	  12869 	decl	4(r10)		;count down del-inhib.
                      00002024	  12870 	bgtr	2$		;if gtr, no reenable
                      00002026	  12871 	bicl	#<pcb$m_nodelet!pcb$m_nosuspend>,pcb$l_sts(r4)
                      0000202F	  12872 2$:
                      0000202F	  12873 10$:
                 ?01T 0000202F	  12874 	.if	df,msetrp
                 ?01T 0000202F	  12875 	pushl	r0
                 ?01T 00002031	  12876 	movl	ldt$l_jtucb(r11),r0
                 ?01T 00002035	  12877 	movl	#233,mtp$trace(r0)
                 ?01T 0000203E	  12878 	popl	r0
                 ?01T 00002041	  12879 	.endc
                      00002041	  12880 	movl	#31,-(sp)	;set ef. to end mainline wait
                      00002044	  12881 	calls	#1,g^sys$setef	;when we get outta here, that is...
                 ?01T 0000204B	  12882 	.if	df,msetrp
                 ?01T 0000204B	  12883 	pushl	r0
                 ?01T 0000204D	  12884 	movl	ldt$l_jtucb(r11),r0
                 ?01T 00002051	  12885 	movl	#333,mtp$trace(r0)
                 ?01T 0000205A	  12886 	popl	r0
                 ?01T 0000205D	  12887 	.endc
                      0000205D	  12888 ; This should allow the mainline to go on.
                      0000205D	  12889 ; get conditional softlink to return 7,not 1, so we can zap privs back
                      0000205D	  12890 	cmpl	ldt$l_rtnsts(r11),#7	;cond. softlink path?

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  97
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00002062	  12891 	bneq	53$
                      00002064	  12892 	movl	#1,ldt$l_rtnsts(r11)	;yes, reset to just status 1
                      00002069	  12893 	pushr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      0000206D	  12894 ; Do not blow the LDT away at this point. Just reset privs to orig. etc.
                      0000206D	  12895 	movl	g^ctl$gl_pcb,r4
                 ?01T 00002074	  12896 	.if	df,evax
                 ?01T 00002074	  12897 	movl	ldt$l_bprio(r11),pcb$l_prib(r4)
                 ?01F 00002079	  12898 	.iff
                 ?01F 00002079	  12899 	movb	ldt$l_bprio(r11),pcb$b_prib(r4)
                 ?01F 00002079	  12900 	.endc
                      00002079	  12901 	movl	ldt$l_wprv(r11),pcb$q_priv(r4)
                      0000207F	  12902 	movl	ldt$l_wprv+4(r11),pcb$q_priv+4(r4)
                      00002085	  12903 	movl	ldt$l_wprv(r11),g^ctl$gq_procpriv
                      0000208D	  12904 	movl	ldt$l_wprv+4(r11),g^ctl$gq_procpriv+4
                      00002095	  12905 	movl	g^ctl$gl_phd,r4
                      0000209C	  12906 	movl	ldt$l_aprv(r11),phd$q_authpriv(r4)
                      000020A2	  12907 	movl	ldt$l_aprv+4(r11),phd$q_authpriv+4(r4)
                      000020A8	  12908 	movl	ldt$l_wprv(r11),phd$q_privmsk(r4)
                      000020AD	  12909 	movl	ldt$l_wprv+4(r11),phd$q_privmsk+4(r4)
                 ?01T 000020B2	  12910 	.if	df,msetrp
                 ?01T 000020B2	  12911 	pushl	r0
                 ?01T 000020B4	  12912 	movl	ldt$l_jtucb(r11),r0
                 ?01T 000020B8	  12913 	movl	#433,mtp$trace(r0)
                 ?01T 000020C1	  12914 	popl	r0
                 ?01T 000020C4	  12915 	.endc
                      000020C4	  12916 	jsb	undoid		; reset identifiers too
                 ?01T 000020C8	  12917 	.if	df,msetrp
                 ?01T 000020C8	  12918 	pushl	r0
                 ?01T 000020CA	  12919 	movl	ldt$l_jtucb(r11),r0
                 ?01T 000020CE	  12920 	movl	#533,mtp$trace(r0)
                 ?01T 000020D7	  12921 	popl	r0
                 ?01T 000020DA	  12922 	.endc
                      000020DA	  12923 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      000020DE	  12924 53$:
                      000020DE	  12925 	movl	r5,ldt$l_chnucb(r11)	;save original chnl ucb
                      000020E2	  12926         cmpl    ldt$l_rtnsts(r11),#5    ;just did r/o softl inswap?
                      000020E7	  12927         beql    353$
                      000020E9	  12928 	jsb	setsoftl	;handle softlinks if enabled and needed.
                      000020ED	  12929 353$:
                 ?01T 000020ED	  12930 	.if	df,msetrp
                 ?01T 000020ED	  12931 	pushl	r0
                 ?01T 000020EF	  12932 	movl	ldt$l_jtucb(r11),r0
                 ?01T 000020F3	  12933 	movl	#633,mtp$trace(r0)
                 ?01T 000020FC	  12934 	popl	r0
                 ?01T 000020FF	  12935 	.endc
                      000020FF	  12936 	cmpl	r5,ccb$l_ucb(r6)	;new ucb for i/o?
                      00002103	  12937 	beql	12$		;if eql no.
                      00002105	  12938 	jsb	movldt		;else move LDT to new JT unit links
                      00002109	  12939 12$:
                 ?01T 00002109	  12940 	.if	df,msetrp
                 ?01T 00002109	  12941 	pushl	r0
                 ?01T 0000210B	  12942 	movl	ldt$l_jtucb(r11),r0
                 ?01T 0000210F	  12943 	movl	#733,mtp$trace(r0)
                 ?01T 00002118	  12944 	popl	r0
                 ?01T 0000211B	  12945 	.endc
                      0000211B	  12946 	movl	ccb$l_ucb(r6),r5	;get ccb ucb now
                      0000211F	  12947 	movl	r5,irp$l_ucb(r3)	;reset IRP device also

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  98
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00002123	  12948 ;now grab the args and save on stack.
                      00002123	  12949 ; i.e., DO the user's I/O for him.
                      00002123	  12950 ; Get args out of LDT
                      00002123	  12951 	subl	#24,sp
                      00002126	  12952 	movl	sp,r10		;arg area in r10
                      00002129	  12953 	movl	ldt$l_parm+00(r11),00(r10)
                      0000212F	  12954 	movl	ldt$l_parm+04(r11),04(r10)
                      00002135	  12955 	movl	ldt$l_parm+08(r11),08(r10)
                      0000213B	  12956 	movl	ldt$l_parm+12(r11),12(r10)
                      00002141	  12957 	movl	ldt$l_parm+16(r11),16(r10)
                 ?01F 00002147	  12958 	.if	ndf,evax
                 ?01F 00002147	  12959 	movl	#0,20(r10)
                 ?01T 00002147	  12960 	.iff
                 ?01T 00002147	  12961 	movl	irp$l_qio_p6(r3),20(r10)
                 ?01T 0000214D	  12962 	.endc
                      0000214D	  12963 ; on vax, restore original PSL (for previous mode) here.
                 ?01F 0000214D	  12964 	.if	ndf,evax
                 ?01F 0000214D	  12965 	movl	ldt$l_psl(r11),-(sp)	;get to original I/O PSL
                 ?01F 0000214D	  12966 	bsbb	301$
                 ?01F 0000214D	  12967 	brb	302$
                 ?01F 0000214D	  12968 301$:	rei
                 ?01F 0000214D	  12969 302$:
                 ?01F 0000214D	  12970 	.endc
                 ?01F 0000214D	  12971 	.if	df,evxrei
                 ?01F 0000214D	  12972 	movl	ldt$l_psl(r11),-(sp)	;get to original I/O PSL
                 ?01F 0000214D	  12973 	clrl	-(sp)
                 ?01F 0000214D	  12974 	pushab	301$			; get 4 byte addr
                 ?01F 0000214D	  12975 	movl	#-1,-(sp)		; now have pc,ps on stack as 8 bytes
                 ?01F 0000214D	  12976 	evax_stq	r7,-(sp)
                 ?01F 0000214D	  12977 	evax_stq	r6,-(sp)
                 ?01F 0000214D	  12978 	evax_stq	r5,-(sp)
                 ?01F 0000214D	  12979 	evax_stq	r4,-(sp)
                 ?01F 0000214D	  12980 	evax_stq	r3,-(sp)
                 ?01F 0000214D	  12981 	evax_stq	r2,-(sp)	;ready for PAL call
                 ?01F 0000214D	  12982 	evax_imb
                 ?01F 0000214D	  12983 	evax_rei
                 ?01F 0000214D	  12984 	addl2	#64,sp		;never execute but keep macro-32 happy
                 ?01F 0000214D	  12985 301$:
                 ?01F 0000214D	  12986 	.endc
                 ?01F 0000214D	  12987 	.if	df,evxr64d
                 ?01F 0000214D	  12988 	pushl	r0
                 ?01F 0000214D	  12989 	pushl	r1
                 ?01F 0000214D	  12990 	pushl	ldt$l_psl(r11)	;get original psl
                 ?01F 0000214D	  12991 	.iif df,x$$$dt, jsb g^ini$brk ;*************** debug ************
                 ?01F 0000214D	  12992 	calls	#1,g^evxr64
                 ?01F 0000214D	  12993 	.iif df,x$$$dt, jsb g^ini$brk ;*************** debug ************
                 ?01F 0000214D	  12994 	popl	r1
                 ?01F 0000214D	  12995 	popl	r0
                 ?01F 0000214D	  12996 	.endc
                      0000214D	  12997 ; Now see...should we junk the I/O?
                 ?01T 0000214D	  12998 	.if	df,msetrp
                 ?01T 0000214D	  12999 	pushl	r0
                 ?01T 0000214F	  13000 	movl	ldt$l_jtucb(r11),r0
                 ?01T 00002153	  13001 	movl	#833,mtp$trace(r0)
                 ?01T 0000215C	  13002 	popl	r0
                 ?01T 0000215F	  13003 	.endc
                      0000215F	  13004 	cmpl	ldt$l_rtnsts(r11),#3	;secret "fake success"?

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page  99
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00002164	  13005 	beql	50$
                      00002166	  13006 	blbc	ldt$l_rtnsts(r11),60$	;or generate i/o fail?
                      0000216B	  13007 ; no i/o junking...reissue user I.O.
                      0000216B	  13008         EXTZV   #IRP$V_FCODE,#IRP$S_FCODE,IRP$L_FUNC(R3),R1     ; GET FCN CODE
                      00002171	  13009 	pushr	#^m<r6,r7,r8,r9>
                      00002175	  13010 	jsb	getjtucb		;find JT UCB (safely)
                      00002179	  13011 	tstl	r0			;got it?
                      0000217B	  13012 	bgeq	199$			;if not branch (should never happen)
                 ?01T 0000217D	  13013 	.iif df,msetrp,movl #933,mtp$trace(r0)
                      00002186	  13014 	movl	ucb$l_oldfdt(r0),r7
                      0000218B	  13015 	bgeq	199$			;if prev fdt illegal, fail
                      0000218D	  13016 ;	movl	ucb$l_ddt(r5),r7	;find FDT
                      0000218D	  13017 ; Here rely on the fact that we got here via our modified FDT call and that
                      0000218D	  13018 ; the orig. FDT is stored just a bit past the current one.
                      0000218D	  13019 ;	movl	<ucb$l_oldfdt-ucb$l_myfdt>(r7),r7	;point at orig. FDT
                      0000218D	  13020 	addl2	#8,r7			;point at one of 64 fdt addresses
                      00002190	  13021 ; Get the routine address we need now using the IRP function...
                      00002190	  13022 	EXTZV   #IRP$V_FCODE,#IRP$S_FCODE,IRP$L_FUNC(R3),R1     ; GET FCN CODE
                      00002196	  13023 	movl	(r7)[r1],r8		;r7 is desired routine address
                      0000219A	  13024 ;now call the "official" FDT code
                      0000219A	  13025 ; Note: the FDT code would normally be called from a $qio with the previous
                      0000219A	  13026 ; mode set accordingly. Here we're inside a skast, no guarantees that the
                      0000219A	  13027 ; previous mode is set right. This means we can't count on access checks being
                      0000219A	  13028 ; right without resetting it by hand. Do so here.
                 ?01T 0000219A	  13029 	.if	df,evax
                 ?01T 0000219A	  13030 	subl2	#16,sp		; make some stack room
                 ?01T 0000219D	  13031 	evax_rd_ps
                 ?01T 000021A3	  13032 ; psl now in R0
                 ?01T 000021A3	  13033 	evax_stq	r0,(sp)		;save our current psl
                 ?01T 000021A6	  13034 	evax_stq	r16,8(sp)	;save r16 which we must mess with
                 ?01T 000021AA	  13035 	movl	ldt$l_psl(r11),r0	;get original psw
                 ?01T 000021AF	  13036 	bicl	#^c3,r0			;leave low 2 bits only
                 ?01T 000021B6	  13037 	movl	r0,-(sp)		;save a moment
                 ?01T 000021B9	  13038 	movl	4(sp),r0		;get current psl
                 ?01T 000021BD	  13039 	bicl	#3,r0			;zero prev. mode
                 ?01T 000021C0	  13040 	bisl	(sp)+,r0		;get correct original prev mode
                 ?01T 000021C3	  13041 	evax_or	r0,r31,r16		;put into r16 for palcode
                 ?01T 000021C7	  13042 	evax_wr_ps_sw
                 ?01T 000021CD	  13043 	.endc
                      000021CD	  13044 	pushl	r6	;ccb
                      000021CF	  13045 	pushl	r5	;ucb
                      000021D1	  13046 	pushl	r4	;pcb
                      000021D3	  13047 	pushl	r3	;irp
                 ?01T 000021D5	  13048 	.if	df,msetrp
                 ?01T 000021D5	  13049 	pushl	r0
                 ?01T 000021D7	  13050 	movl	ldt$l_jtucb(r11),r0
                 ?01T 000021DB	  13051 	movl	#1033,mtp$trace(r0)
                 ?01T 000021E4	  13052 	movl	r8,mtp$r1(r0)
                 ?01T 000021E9	  13053 	popl	r0
                 ?01T 000021EC	  13054 	.endc
                      000021EC	  13055 	calls	#4,(r8)			;Call the original routine
                 ?01T 000021EF	  13056 	.if	df,evax
                 ?01T 000021EF	  13057 	evax_ldq	r16,(sp)	;get psl from before fdt code call
                 ?01T 000021F2	  13058 	evax_wr_ps_sw			; restore previous mode bits
                 ?01T 000021F8	  13059 	evax_ldq	r16,8(sp)	;now get r16 back as before we mucked
                 ?01T 000021FC	  13060 	addl2	#16,sp
                 ?01T 000021FF	  13061 	.endc

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 100
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000021FF	  13062 	popr	#^m<r6,r7,r8,r9>
                      00002203	  13063 	brb	1199$
                      00002205	  13064 ;
                      00002205	  13065 ; Get to 199$ if structures are illegal. Should never happen.
                      00002205	  13066 199$:
                      00002205	  13067 	popr	#^m<r6,r7,r8,r9>
                      00002209	  13068 	movl	#16,r0
                      00002221	  13069 	call_finishioc do_ret=no		;lose if illegal structures
         X01/002      0000220C			CLRL	R1
         X02/011      0000220E			MOVL	R0,IRP$L_IOST1(R3)
         X02/012      00002212			MOVL	R1,IRP$L_IOST2(R3)
         X02/014      00002216			PUSHL	R5
         X02/015      00002218			PUSHL	R3
         X02/016      0000221A			CALLS	#2,G^EXE_STD$FINISHIO
                      00002221	  13070 	addl2	#24,sp
                      00002224	  13071 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      00002228	  13072 	rsb			;exit lclcnt routine
                      00002229	  13073 1199$:
                      00002229	  13074 ;	callg	(r10),fdtlop		;reissue user FDTs
                      0000222C	  13075 	setipl ipl=#2,environ=UNIPROCESSOR
         X01/005 ?01T 00002229				MTPR	#2,S^#PR$_IPL
                      0000222C	  13076 ; axp stores final context in context cell
                      0000222C	  13077 ; Therefore grab that result here, not just R0 which ordinarily from a
                      0000222C	  13078 ; top FDT routine will have a warning status
                      0000222C	  13079 ; To merge with everything else, however, store in R0
                 ?01T 0000222C	  13080 	.if	df,evax
                 ?01T 0000222C	  13081 	movl	ldt$l_fdtctx(r11),r0
                 ?01T 00002231	  13082 	movl	fdt_context$l_qio_status(r0),r0
                 ?01T 00002235	  13083 	.endc
                      00002235	  13084 	brw	70$
                      00002238	  13085 50$:
                      00002238	  13086 ; Daemon disallowed the I/O so undo any driver-done mods to the
                      00002238	  13087 ; process (privs, ids, base prio) since we will NOT be closing the file.
                 ?01T 00002238	  13088 	.if	df,msetrp
                 ?01T 00002238	  13089 	pushl	r0
                 ?01T 0000223A	  13090 	movl	ldt$l_jtucb(r11),r0
                 ?01T 0000223E	  13091 	movl	#1133,mtp$trace(r0)
                 ?01T 00002247	  13092 	movl	4(sp),mtp$trc2(r0)	;save r0 as of just after user i/o
                 ?01T 0000224D	  13093 	popl	r0
                 ?01T 00002250	  13094 	.endc
                      00002250	  13095 	jsb	clnprv
                      00002254	  13096 	pushl	r0
                      00002256	  13097 	pushl	r1
                      00002258	  13098 	movl	#1,r0
                      00002270	  13099 	call_finishioc do_ret=no
         X01/002      0000225B			CLRL	R1
         X02/011      0000225D			MOVL	R0,IRP$L_IOST1(R3)
         X02/012      00002261			MOVL	R1,IRP$L_IOST2(R3)
         X02/014      00002265			PUSHL	R5
         X02/015      00002267			PUSHL	R3
         X02/016      00002269			CALLS	#2,G^EXE_STD$FINISHIO
                      00002270	  13100 ;	callg	(r10),fdtxit		;fake success
                      00002270	  13101 	brb	170$
                      00002272	  13102 60$:
                      00002272	  13103 ; Daemon disallowed the I/O so undo any driver-done mods to the
                      00002272	  13104 ; process (privs, ids, base prio) since we will NOT be closing the file.
                      00002272	  13105 	jsb	clnprv

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 101
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00002276	  13106 	pushl	r0
                      00002278	  13107 	pushl	r1
                      0000227A	  13108 	movl	#ss$_nopriv,r0
                      00002292	  13109 	call_finishioc do_ret=no
         X01/002      0000227D			CLRL	R1
         X02/011      0000227F			MOVL	R0,IRP$L_IOST1(R3)
         X02/012      00002283			MOVL	R1,IRP$L_IOST2(R3)
         X02/014      00002287			PUSHL	R5
         X02/015      00002289			PUSHL	R3
         X02/016      0000228B			CALLS	#2,G^EXE_STD$FINISHIO
                      00002292	  13110 ;	callg	(r10),fdtbxt		;failure
                      00002292	  13111 170$:
                      00002292	  13112 	popl	r1
                      00002295	  13113 	popl	r0			;get back r0,r1. r1=new r10 from clnup
                      00002298	  13114 	cmpl	r0,r1			;same ucb?
                      0000229B	  13115 	beql	70$			;if so nothing more needed
                      0000229D	  13116 ; clnup found a softlink channel but the daemon disallowed the I/O
                      0000229D	  13117 ; so reset the channel back to the original device here.
                      0000229D	  13118 	movl	r1,r10
                      000022A0	  13119 	movl	ccb$l_ucb(r6),r9	;keep old ucb a mo...
                      000022A4	  13120 	movl	r10,ccb$l_ucb(r6)	;reset user channel to orig. device
                      000022A8	  13121 ; adjust ref counts now
                 ?01T 000022A8	  13122 	.if	df,evax
                 ?01T 000022A8	  13123 	decl	ucb$l_refc(r9)		;1 less chnl on old dvc
                 ?01T 000022AB	  13124 	bgtr	174$			;if 1+, ok
                 ?01T 000022AD	  13125 	movl	#1,ucb$l_refc(r9)	;mounted dsk should have 1 or more
                 ?01T 000022B1	  13126 174$:	incl	ucb$l_refc(r10)		;bump new count again
                 ?01F 000022B4	  13127 	.iff
                 ?01F 000022B4	  13128 	decw	ucb$w_refc(r9)		;1 less chnl on old dvc
                 ?01F 000022B4	  13129 	bgtr	174$			;if 1+, ok
                 ?01F 000022B4	  13130 	movw	#1,ucb$w_refc(r9)	;mounted dsk should have 1 or more
                 ?01F 000022B4	  13131 174$:	incw	ucb$w_refc(r10)		;bump new count again
                 ?01F 000022B4	  13132 	.endc
                      000022B4	  13133 ; 
                      000022B4	  13134 70$:
                      000022B4	  13135 	addl2	#24,sp
                 ?01T 000022B7	  13136 	.if	df,msetrp
                 ?01T 000022B7	  13137 	pushl	r0
                 ?01T 000022B9	  13138 	movl	ldt$l_jtucb(r11),r0
                 ?01T 000022BD	  13139 	movl	#1233,mtp$trace(r0)
                 ?01T 000022C6	  13140 	movl	4(sp),mtp$trc2(r0)	;save r0 as of just after user i/o
                 ?01T 000022CC	  13141 	popl	r0
                 ?01T 000022CF	  13142 	.endc
                      000022CF	  13143 	movl	ldt$l_synch(r11),r10	;get synch block address
                      000022D3	  13144 ; gotta end mainline wait
                      000022D3	  13145 	bgeq	3$		;skip if illegal
                      000022D5	  13146 	movl	r0,(r10)	;end the wait now
                      000022D8	  13147 	bneq	3$
                      000022DA	  13148 	movl	#2,(r10)	;set nonzero if it was 0
                      000022DD	  13149 3$:
                      000022DD	  13150 	movl	ldt$l_prcstr(r11),r10	;get block of info
                      000022E1	  13151 	bgeq	20$
                      000022E3	  13152 	tstl	(r10)		;see if any threads counted
                      000022E5	  13153 	beql	71$
                      000022E7	  13154 	decl	(r10)		;count down threads used
                      000022E9	  13155 71$:	movl	#31,-(sp)	;set ef. to end mainline wait
                      000022EC	  13156 	pushl	r0		;save user's fdt r0

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 102
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000022EE	  13157 	calls	#1,g^sys$setef	;when we get outta here, that is...
                      000022F5	  13158 	popl	r0
                      000022F8	  13159 20$:
                      000022F8	  13160 	blbs	r0,25$		;if user i/o failed, reset his
                      000022FB	  13161 ;				; privs, prio for him.
                      000022FB	  13162 	movl	g^ctl$gl_pcb,r4
                 ?01T 00002302	  13163 	.if	df,evax
                 ?01T 00002302	  13164 	movl	ldt$l_bprio(r11),pcb$l_prib(r4)
                 ?01F 00002307	  13165 	.iff
                 ?01F 00002307	  13166 	movb	ldt$l_bprio(r11),pcb$b_prib(r4)
                 ?01F 00002307	  13167 	.endc
                      00002307	  13168 	movl	ldt$l_wprv(r11),pcb$q_priv(r4)
                      0000230D	  13169 	movl	ldt$l_wprv+4(r11),pcb$q_priv+4(r4)
                      00002313	  13170 	movl	ldt$l_wprv(r11),g^ctl$gq_procpriv
                      0000231B	  13171 	movl	ldt$l_wprv+4(r11),g^ctl$gq_procpriv+4
                      00002323	  13172 	movl	g^ctl$gl_phd,r4
                      0000232A	  13173 	movl	ldt$l_aprv(r11),phd$q_authpriv(r4)
                      00002330	  13174 	movl	ldt$l_aprv+4(r11),phd$q_authpriv+4(r4)
                      00002336	  13175 	movl	ldt$l_wprv(r11),phd$q_privmsk(r4)
                      0000233B	  13176 	movl	ldt$l_wprv+4(r11),phd$q_privmsk+4(r4)
                      00002340	  13177 	pushl	r10
                      00002342	  13178 	jsb	undoid
                      00002346	  13179 	popl	r10
                      00002349	  13180 25$:
                 ?01T 00002349	  13181 	.if	df,msetrp
                 ?01T 00002349	  13182 	pushl	r0
                 ?01T 0000234B	  13183 	movl	ldt$l_jtucb(r11),r0
                 ?01T 0000234F	  13184 	movl	#1333,mtp$trace(r0)
                 ?01T 00002358	  13185 	movl	sp,mtp$trc3(r0)
                 ?01T 0000235D	  13186 	popl	r0
                 ?01T 00002360	  13187 	.endc
                      00002360	  13188 ; exit the AST.
                 ?01T 00002360	  13189 	.iif	df,x$$$dt, jsb g^ini$brk ;************************debug******
                      00002366	  13190 	popr	#^m<r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
                      0000236A	  13191 	movl	#1,r0		;say ok
                      0000236D	  13192 	rsb
                      0000236E	  13193 
                      0000236E	  13194 ; Local grant/revoke ID code needed because vms internal code won't
                      0000236E	  13195 ; work above IPL0. Ripped off vms listings so's it'll work right,
                      0000236E	  13196 ; kludged by hand to just set things up internally for current
                      0000236E	  13197 ; process only.
                      0000236E	  13198 ; Argument list offsets
                      0000236E	  13199 ;
00000004              0000236E	  13200 	v.pidadr = 4		; address of PID
00000008              0000236E	  13201 	v.prcnam = 8		; address of process name desc
0000000C              0000236E	  13202 	v.id	= 12		; address of identifier and attrib
00000010              0000236E	  13203 	v.name	= 16		; address of identifier name desc
00000010              0000236E	  13204 	v.mode	= 16		; grant/revoke mode for kernel routine
00000014              0000236E	  13205 	v.prvatr = 20		; address for previous attributes
                      0000236E	  13206 ;++
                      0000236E	  13207 ;
                      0000236E	  13208 ;	GRANTID - grant identifier to process
                      0000236E	  13209 ;	REVOKID - revoke identifier from process
                      0000236E	  13210 ;
                      0000236E	  13211 ; CALLING SEQUENCE:
                      0000236E	  13212 ;	GRANTID (v.pidadr, v.prcnam, ID, NAME, PRVATR)
                      0000236E	  13213 ;	REVOKID (v.pidadr, v.prcnam, ID, NAME, PRVATR)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 103
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      0000236E	  13214 ;
                      0000236E	  13215 ; INPUT PARAMETERS:
                      0000236E	  13216 ;	v.pidadr: address of PID of process
                      0000236E	  13217 ;	v.prcnam: address of descriptor of process name
                      0000236E	  13218 ;	ID:     address of identifier to grant
                      0000236E	  13219 ;	NAME:   address of descriptor of identifier name
                      0000236E	  13220 ;
                      0000236E	  13221 ; IMPLICIT INPUTS:
                      0000236E	  13222 ;	NONE
                      0000236E	  13223 ;
                      0000236E	  13224 ; OUTPUT PARAMETERS:
                      0000236E	  13225 ;	v.pidadr: address to store resulting PID
                      0000236E	  13226 ;	IDADDR: address to store resulting identifier
                      0000236E	  13227 ;	PRVATR: previous attributes of superseded or revoked identifier
                      0000236E	  13228 ;
                      0000236E	  13229 ;--
                 ?01T 0000236E	  13230 	.if	df,evax
                 ?01T 00002370	  13231 grantid: .call_entry preserve=<r2,r3>,home_args=true,max_args=6
00000001 X01/034 ?02T 0000236E			.iif identical true, <TRUE>,  _MTU_DIR_ARG_3 = 1
                 ?01F 00002370	  13232 	.iff
                 ?01F 00002370	  13233 	.entry grantid,^m<r2,r3>
                 ?01F 00002370	  13234 	.endc
                      00002370	  13235 	MOVL	#1,R3			; set grant mode
                      00002373	  13236 	BRB	gr10$
					1.......              
%AMAC-I-BRANCHBET, (1) branch between routines from routine GRANTID

                 ?01T 00002375	  13237 	.if	df,evax
                 ?01T 00002377	  13238 revokid: .call_entry preserve=<r2,r3>,home_args=true,max_args=6
00000001 X01/034 ?02T 00002375			.iif identical true, <TRUE>,  _MTU_DIR_ARG_3 = 1
                 ?01F 00002377	  13239 	.iff
                 ?01F 00002377	  13240 	.entry revokid,^m<r2,r3>
                 ?01F 00002377	  13241 	.endc
                      00002377	  13242 	CLRL	R3			; set revoke mode
                      00002379	  13243 gr10$:
                      00002379	  13244 	MOVL	v.id(AP),R2		; get pointer to identifier
                      0000237D	  13245 	BNEQ	20$			; branch if ID specified
                      0000237F	  13246 	CLRQ	-(SP)			; allocate ID buffer on stack
                      00002381	  13247 	MOVL	SP,R2			; and set pointer
                      00002384	  13248 
                      00002384	  13249 20$:	TSTL	(R2)			; see if a binary ID is supplied
                      00002386	  13250 	BNEQ	30$			; if so, skip conversion
                      00002388	  13251 	brw	40$			; call kernel mode routine with
                      0000238B	  13252 30$:	PUSHL	v.prvatr(AP)		; previous attributes
                      0000238E	  13253 	MOVQ	R2,-(SP)		; identifier and mode
                      00002391	  13254 	MOVQ	v.pidadr(AP),-(SP)	; v.pidadr & v.prcnam
					1.......                                                      
%AMAC-I-MEMREFNOT, (1) memory reference not naturally aligned in routine GRANTID

                      00002395	  13255 ;	movl	r2,-(sp)
                      00002395	  13256 ;	movl	r3,-(sp)
                      00002395	  13257 ;	movl	v.pidadr(ap),-(sp)
                      00002395	  13258 ;	movl	v.pidadr+4(ap),-(sp)
                      00002395	  13259 	calls	#5,grant_revoke		; go do the work. Already in knl mode
                      0000239C	  13260 40$:	RET
                      0000239D	  13261 
                      0000239D	  13262 ;++

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 104
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      0000239D	  13263 ;
                      0000239D	  13264 ;	GRANT_REVOKE - kernel mode rights list handling
                      0000239D	  13265 ;
                      0000239D	  13266 ; FUNCTIONAL DESCRIPTION:
                      0000239D	  13267 ;
                      0000239D	  13268 ;	This routine does the kernel mode processing to grant or
                      0000239D	  13269 ;	revoke an identifier. It locates the specified process
                      0000239D	  13270 ;	and searches and modifies the rights list.
                      0000239D	  13271 ;
                      0000239D	  13272 ; CALLING SEQUENCE:
                      0000239D	  13273 ;	GRANT_REVOKE (v.pidadr, v.prcnam, ID, MODE, PRVATR)
                      0000239D	  13274 ;
                      0000239D	  13275 ; INPUT PARAMETERS:
                      0000239D	  13276 ;	v.pidadr: address of PID of process
                      0000239D	  13277 ;	v.prcnam: address of descriptor of process name
                      0000239D	  13278 ;	ID:     address of identifier to grant
                      0000239D	  13279 ;	MODE:   0 to revoke identifier, 1 to grant
                      0000239D	  13280 ;
                      0000239D	  13281 ; IMPLICIT INPUTS:
                      0000239D	  13282 ;	NONE
                      0000239D	  13283 ;
                      0000239D	  13284 ; OUTPUT PARAMETERS:
                      0000239D	  13285 ;	v.pidadr: address to store resulting PID
                      0000239D	  13286 ;	PRVATR: previous attributes of superseded identifier
                      0000239D	  13287 ;
                      0000239D	  13288 ; IMPLICIT OUTPUTS:
                      0000239D	  13289 ;	NONE
                      0000239D	  13290 ;
                      0000239D	  13291 ; SIDE EFFECTS:
                      0000239D	  13292 ;	Identifier entered in specified rights list
                      0000239D	  13293 ;
                      0000239D	  13294 ;--
                      0000239D	  13295 
                      0000239D	  13296 ; Main subroutine entry point.
                      0000239D	  13297 ; Works on current process, but is OK at elevated IPL (well, ASTDEL...)
                      0000239D	  13298 ;
                      0000239D	  13299 	.entry grant_revoke,^M<R2,R3,R4,R5,R6,R7,R8,R9>
                      0000239F	  13300 ;GRANT_REVOKE:
                      0000239F	  13301 ;	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9>
                      0000239F	  13302 	CLRQ	R7			; init rights vector index and free pointer
                      000023A1	  13303 	MOVL	R4,R6			; save PCB addr in R6
                      000023A4	  13304 	movl	g^ctl$gl_pcb,r4		; current process
                      000023C0	  13503 	lock lockname=sched,preserve=no ;set synch like exe$nampid does
         X01/178 ?01T 000023AB			    BLBC	SMP$GL_FLAGS,30095$
         X01/184 ?01T 000023B2			    MOVL	S^#SPL$C_sched,R0
         X01/190 ?02T 000023B5			    JSB 	G^SMP$ACQUIRE
         X01/198 ?02T 000023BB			    BRB		30096$
         X01/201 ?01T 000023BD		30095$:
         X02/208 ?03T 000023BD				MTPR	S^#IPL$_sched,S^#PR$_IPL
         X01/232 ?01T 000023C0		30096$:
                      000023C0	  13504 	movl	pcb$l_pid(r4),r1	; get current process' IPID
                      000023DE	  13631 	unlock lockname=sched,newipl=#ipl$_ASTDEL
         X01/106 ?01T 000023C5			    BLBC	SMP$GL_FLAGS,30101$
         X02/110 ?02T 000023CC		        EVAX_STQ  R0, -(SP)
         X01/114 ?01T 000023CF			    MOVL	S^#SPL$C_sched,R0
         X01/125 ?02T 000023D2				JSB		G^SMP$RELEASE
         X02/130 ?02T 000023D8		        EVAX_LDQ  R0, (SP)+

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 105
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

         X01/133 ?01T 000023DB		30101$:
         X01/135 ?02T 000023DB				MTPR	#ipl$_ASTDEL,S^#PR$_IPL
                      000023DE	  13632 	movl	#ss$_normal,r0		;fake the exe$nampid call
                      000023E1	  13633 	MOVL	R4,R6			; save PCB address
                      000023E4	  13634 50$:	MOVL	PCB$Q_PRIV+ARB$L_RIGHTSLIST(R6)[R7],R4 ; get rights list descriptor
                      000023EA	  13635 	BEQL	100$			; branch if none present
                      000023EC	  13636 	ASHL	#-3,(R4)+,R3		; get rights list length
                      000023F1	  13637 	MOVL	(R4),R4			; and rights list address
                      000023F4	  13638 
                      000023F4	  13639 60$:	MOVL	v.id(AP),R1		; get address of identifier
                      000023F8	  13640 ; this is an internal call...KNOW we can access args.
                      000023F8	  13641 	movl	4(r1),r2
                      000023FC	  13642 	movl	(r1),r1
                      000023FF	  13643 ;	MOVQ	(R1),R1			; get identifier and attributes
                      000023FF	  13644 ;	MOVL	v.prvatr(AP),R5		; get pointer to prev. atr. longword
                      000023FF	  13645 	clrl	r5			; no prev attrs
                      00002401	  13646 	BRB	90$			; dive into loop
                      00002403	  13647 ;
                      00002403	  13648 ; To here when an empty entry is encountered in a list
                      00002403	  13649 ;
                      00002403	  13650 70$:	TSTL	R8			; check if we already have one
                      00002405	  13651 	BNEQ	100$			; branch if so
                      00002407	  13652 	MOVL	R4,R8			; otherwise save the pointer
                      0000240A	  13653 	BRB	100$			; chain to next list if any
                      0000240C	  13654 ;
                      0000240C	  13655 ; Search the rights list for the desired identifier
                      0000240C	  13656 ;
                      0000240C	  13657 80$:	MOVL	(R4),R0			; get next identifier from rights list
                      0000240F	  13658 	BEQL	70$			; if zero, end of list
                      00002411	  13659 	CMPL	R0,R1			; see if matches desired ID
                      00002414	  13660 	BEQL	140$			; if yes, exit loop
                      00002416	  13661 	ADDL	#8,R4			; next list entry
                      00002419	  13662 90$:	SOBGEQ	R3,80$			; loop throught rights list
                      0000241C	  13663 ;
                      0000241C	  13664 ; Identifier not found in this list.
                      0000241C	  13665 ;
                      0000241C	  13666 100$:	TSTL	R7			; check which list in use
                      0000241E	  13667 	BNEQ	110$			; branch if not first
                      00002420	  13668 	ADDL	#2,R7			; point to extended rights list
                      00002423	  13669 	BRB	50$			; and search it
                      00002425	  13670 
                      00002425	  13671 110$:	BLBC	v.mode(AP),120$		; branch if attempted revoke
                      00002429	  13672 	TSTL	R8			; see if empty entry found
                      0000242B	  13673 	BEQL	180$			; branch if not
                      0000242D	  13674 	movl	r1,(r8)
                      00002430	  13675 	movl	r2,4(r8)
                      00002434	  13676 ;	MOVQ	R1,(R8)			; store identifier in list
                      00002434	  13677 120$:	MOVL	#SS$_WASCLR,R0		; if revoke - benign success
                      00002437	  13678 130$:	RET
                      00002438	  13679 ;
                      00002438	  13680 ; Specified identifier found in rights list
                      00002438	  13681 ;
                      00002438	  13682 140$:	TSTL	R5			; see if prev attributes to be returned
                      0000243A	  13683 	BEQL	150$			; branch if not
                      0000243C	  13684 	MOVL	4(R4),(R5)		; store previous attribites
                      00002440	  13685 150$:	BLBC	v.mode(AP),160$		; branch to do revoke
                      00002444	  13686 	movl	r1,(r4)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 106
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00002447	  13687 	movl	r2,4(r4)
                      0000244B	  13688 ;	MOVQ	R1,(R4)			; store identifier in rights list
                      0000244B	  13689 	BRB	170$
                      0000244D	  13690 
                      0000244D	  13691 160$:	ASHL	#3,R3,R3		; compute remaining list size
                      00002451	  13692 	ADDL3	#8,R3,R0		; compute size plus one entry
                      00002455	  13693 	MOVC5	R3,8(R4),#0,R0,(R4)	; collapse out found list entry
                      0000245C	  13694 170$:	MOVL	#SS$_WASSET,R0		; set return status
                      0000245F	  13695 	RET
                      00002460	  13696 ;
                      00002460	  13697 ; No empty entries available - extend the rights list
                      00002460	  13698 ;
                      00002460	  13699 180$:	CLRQ	R1			; assume no block present
                      00002462	  13700 	MOVL	PCB$Q_PRIV+ARB$L_RIGHTSLIST(R6)[R7],R9 ; point to rights list again
                      00002468	  13701 	BEQL	190$			; branch if none exists
                      0000246A	  13702 	movl	(r9),r1
                      0000246D	  13703 	movl	4(r9),r2
                      00002471	  13704 ;	MOVQ	(R9),R1			; get current block size and address
                      00002471	  13705 190$:;	MOVQ	R1,R3			; save size and addr for later
                      00002471	  13706 	movl	r1,r3
                      00002474	  13707 	movl	r2,r4
                      00002477	  13708 	ADDL	#ARB$S_LOCALRIGHTS+16,R1 ; increase size and add overhead
                      0000247E	  13709 	JSB	G^EXE$ALONONPAGED		; and allocate a new one
                      00002484	  13710 	BLBC	R0,130$			; branch on failure
                      00002487	  13711 	MOVL	R2,R5			; save block address
                      0000248A	  13712 	SUBL3	#16,R1,(R2)+		; set up actual list length
                      0000248E	  13713 	MOVAB	8(R2),(R2)+		; and descriptor pointer
                      00002492	  13714 	MOVW	R1,(R2)+		; block length
                      00002495	  13715 	MOVW	#DYN$C_RIGHTSLIST,(R2)+	; and block type
                      0000249A	  13716 	movl	r4,-(sp)
                      0000249D	  13717 	movl	r5,-(sp)
                      000024A0	  13718 ;	MOVQ	R4,-(SP)		; save R4 & R5
                      000024A0	  13719 	MOVC5	R3,(R4),#0,(R5),(R2)	; copy the contents and zero rest
                      000024A6	  13720 ;	MOVQ	(SP)+,R4		; restore regs
                      000024A6	  13721 	movl	(sp)+,r5
                      000024A9	  13722 	movl	(sp)+,r4
                      000024AC	  13723 	BLBC	R7,200$			; branch if extended process list
                      000024AF	  13724 	MOVL	(R5),G^EXE$GQ_RIGHTSLIST	; and store in system descriptor
                      000024B6	  13725 	MOVL	4(R5),G^EXE$GQ_RIGHTSLIST+4	; and store in system descriptor
                      000024BE	  13726 	MOVL	R4,R0			; get pointer to old block
                      000024C1	  13727 	BEQL	220$			; branch if none
                      000024C3	  13728 	SUBL	#12,R0			; point to start of block
                      000024C6	  13729 	BRB	210$
                      000024C8	  13730 
                      000024C8	  13731 200$:	MOVL	R5,PCB$Q_PRIV+ARB$L_RIGHTSLIST(R6)[R7] ; set up new pointer
                      000024CE	  13732 	MOVL	R9,R0
                      000024D1	  13733 	BEQL	220$			; branch if no old block
                      000024D3	  13734 210$:	JSB	G^EXE$DEANONPAGED		; deallocate the old list
                      000024D9	  13735 220$:	BRW	50$			; locate free entry and try again
                      000024DC	  13736 
                      000024DC	  13737 ;
                      000024DC	  13738 ; Code to support "exttrnlnm" functions, loaded here to get it into pool.
                      000024DC	  13739 ; Always just use JTA0: to find it. No JTA0: means no work...
                      000024DC	  13740 ; entry: r0=lnmstrlen, r1=addr of lnmstr
                      000024DC	  13741 ; r2=tblstrlen, r3=addr of tblstr, r7=victim pcb
                      000024DC	  13742 ; r6=outbuf address
                      000024DC	  13743 ;$def	ucb$l_ktrln	.blkl	1 ;kast_code adr

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 107
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      000024DC	  13744 ;$def	ucb$l_k2tnm	.blkl	1 ;kast_code_2 adr
                      000024DC	  13745 ;
                      000024DC	  13746 ;pid:    .blkl   1	;0
                      000024DC	  13747 ;prcnam: .blkl   1	;4
                      000024DC	  13748 ;pcb:    .blkl   1	;8
                      000024DC	  13749 ;adr:    .blkl   1	;12
                      000024DC	  13750 ;retcod: .blkl   1	;16
                      000024DC	  13751 ;lnmstrlen:		;20
                      000024DC	  13752 ;        .blkl   1
                      000024DC	  13753 ;tblstrlen:		;24
                      000024DC	  13754 ;        .blkl   1
                      000024DC	  13755 ;lnmstr: .blkb   32	;28
                      000024DC	  13756 ;tblstr: .blkb   32	;60
                      000024DC	  13757 ;stat:   .blkl   1	;64
                      000024DC	  13758 ;        .blkl   1	;68
                      000024DC	  13759 ;        .blkb   LNM$C_NAMLENGTH	;72
                      000024DC	  13760 ;	.blkb	1	;make it even
                      000024DC	  13761 ;	.blkl	4	;328
                      000024DC	  13762 ;outbuf: .blkb   LNMX$T_XLATION+LNM$C_NAMLENGTH	;344
                      000024DC	  13763 ;
                      000024DC	  13764 ;
                      000024DC	  13863 	$lnmstrdef
         X02/003 ?01T 000024DC			.IIF NDF MACRO64$, .NOCROSS
         X03/059 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <QUAD> <LONG, QUAD, NONE>
         X03/366 ?01T 00000000			    .iif greater __temp_count, _mtu_validate_keyword <NONE> <LONG, QUAD, NONE>
         X02/403 ?01T 00000000			.IIF NDF MACRO64$, .CROSS
                      000024DC	  13864 kast_code: .jsb_entry
                      000024DC	  13865         pushr   #^m<r5,r6>
                      000024E0	  13866 ; entered in skast.
                      000024E0	  13867 ; require ast param to be an argblk entry
                      000024E0	  13868 	movl	acb$l_astprm(r5),r11	;get arg block
00000014              000024E4	  13869 lnmsl=20	;must match offsets in jttrnlnm
                      000024E4	  13870 	movl	lnmsl(r11),r0
                      000024E8	  13871 	movab	28(r11),r1	;lnmstr addr
                      000024EC	  13872 	movl	24(r11),r2	;tblstrlen
                      000024F0	  13873 	movab	60(r11),r3	;tblstr
                      000024F4	  13874         movl    #PSL$C_USER,r5
                      000024F7	  13875 	movab	344(r11),r6	;outbuf
                      000024FC	  13876         jsb     G^LNM$SEARCH_ONE        ; search for logical
                      00002502	  13877         popr    #^m<r5,r6>
                      00002506	  13878 	movl	r0,16(r11)	;retcod
                      0000250A	  13879 ;
                      0000250A	  13880 	movl	8(r11),r4
                      0000250E	  13881         movl    PCB$L_PID(r4),ACB$L_PID(r5)
                      00002514	  13882 	movab	kast_code_2,acb$l_kast(r5)
                      0000251C	  13883         movb    #ACB$M_KAST!PSL$C_KERNEL,ACB$B_RMOD(r5)
                      00002521	  13884         movl    #0,r2	;no prio bump
                      00002524	  13885         jsb     G^SCH$QAST              ; requeue AST
                      0000252A	  13886 	rsb
                      0000252B	  13887 ;
                      0000252B	  13888 kast_code_2: .jsb_entry
                      0000252B	  13889         pushr   #^m<r4,r5>
                      0000252D	  13890 	movl	acb$l_astprm(r5),r11	;get arg block
                      00002531	  13891 	movl	12(r11),r1	;adr
                      00002535	  13892 	movl	16(r11),(r1)
                      00002539	  13893         blbc    16(r11),100$
                      0000253D	  13894         cvtbl   <344+LNMX$T_XLATION>(r11),4(r1)

JTDRIVER                        ;skeleton driver implementing u  2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 108
V01H                            START I/O ROUTINE                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

                      00002543	  13895         movc3   4(r1),<344+LNMX$T_XLATION+1>(r11),8(r1) ; save translation
                      0000254B	  13896 100$:   popr    #^m<r4,r5>
                      0000254D	  13897 ;
                      0000254D	  13898         movl    PCB$L_PID(r4),r1
                      00002552	  13899         movl    #0,r2
00000011              00002555	  13900 astefn=17
                      00002555	  13901         movl    #astefn,r3
                      00002558	  13902         jsb     G^SCH$POSTEF            ; set event-flag
                      0000255E	  13903         movl    r5,r0
                      00002561	  13904         jsb     G^EXE$DEANONPAGED       ; deallocate ACB and disappear
                      00002567	  13905 	rsb
                      00002568	  13906 ;
                      00002568	  13907 JT_END:					;ADDRESS OF LAST LOCATION IN DRIVER
                      00002568	  13908 	.END

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 109
V01H                            DRIVER$STRUC_INIT                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

				.PSECT	$$$115_DRIVER, 5, PIC, CON, REL, LCL,-
					NOSHR, EXE, RD, NOWRT
	     0000	DRIVER$STRUC_INIT:										    ; 008054
43C8153E     0000		SUBQ	SP, 64, SP				; SP, 64, SP
B77E0000     0004		STQ	R27, (SP)				; R27, (SP)
B75E0008     0008		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     000C		STQ	R2, 16(SP)				; R2, 16(SP)
B47E0018     0010		STQ	R3, 24(SP)				; R3, 24(SP)
B49E0020     0014		STQ	R4, 32(SP)				; R4, 32(SP)
B4BE0028     0018		STQ	R5, 40(SP)				; R5, 40(SP)
B4DE0030     001C		STQ	R6, 48(SP)				; R6, 48(SP)
B7BE0038     0020		STQ	FP, 56(SP)				; FP, 56(SP)
47FE041D     0024		MOV	SP, FP					; SP, FP
	     0028	$L1:
43F10003     0028		SEXTL	R17, R3					; R17, R3
279F0031     002C		LDAH	R28, 49(R31)				; R28, 49(R31)				    ; 008055
239C3146     0030		LDA	R28, 12614(R28)				; R28, 12614(R28)
B3830010     0034		STL	R28, 16(R3)				; R28, 16(R3)
43FC0017     0038		SEXTL	R28, R23				; R28, R23				    ; 008056
4AE07057     003C		MSKBL	R23, 3, R23				; R23, 3, R23
43F40006     0040		SEXTL	R20, R6					; R20, R6				    ; 008054
26F70100     0044		LDAH	R23, 256(R23)				; R23, 256(R23)				    ; 008056
B2E30010     0048		STL	R23, 16(R3)				; R23, 16(R3)
26FF1C05     004C		LDAH	R23, 7173(R31)				; R23, 7173(R31)			    ; 008072
A3260008     0050		LDL	R25, 8(R6)				; R25, 8(R6)				    ; 008060
22DF0200     0054		LDA	R22, 512(R31)				; R22, 512(R31)				    ; 008074
47E0341A     0058		BIS	R31, 1, R26				; R31, 1, R26				    ; 008075
43F00002     005C		SEXTL	R16, R2					; R16, R2				    ; 008054
4B207059     0060		MSKBL	R25, 3, R25				; R25, 3, R25				    ; 008060
43F20004     0064		SEXTL	R18, R4					; R18, R4				    ; 008054
27393A00     0068		LDAH	R25, 14848(R25)				; R25, 14848(R25)			    ; 008060
B3260008     006C		STL	R25, 8(R6)				; R25, 8(R6)
B2E60048     0070		STL	R23, 72(R6)				; R23, 72(R6)				    ; 008072
22FF0200     0074		LDA	R23, 512(R31)				; R23, 512(R31)				    ; 008076
B2C6004C     0078		STL	R22, 76(R6)				; R22, 76(R6)				    ; 008074
4AE0537C     007C		INSWL	R23, 2, R28				; R23, 2, R28				    ; 008076
A3260058     0080		LDL	R25, 88(R6)				; R25, 88(R6)				    ; 008075
43F30005     0084		SEXTL	R19, R5					; R19, R5				    ; 008054
473FF119     0088		BIC	R25, 255, R25				; R25, 255, R25				    ; 008075
473A0419     008C		BIS	R25, R26, R25				; R25, R26, R25
B3260058     0090		STL	R25, 88(R6)				; R25, 88(R6)
47E03419     0094		BIS	R31, 1, R25				; R31, 1, R25				    ; 008078
A2C60058     0098		LDL	R22, 88(R6)				; R22, 88(R6)				    ; 008076
4B203177     009C		INSBL	R25, 1, R23				; R25, 1, R23				    ; 008078
4AC05256     00A0		MSKWL	R22, 2, R22				; R22, 2, R22				    ; 008076
46DC0416     00A4		BIS	R22, R28, R22				; R22, R28, R22
B2C60058     00A8		STL	R22, 88(R6)				; R22, 88(R6)
47E8141C     00AC		BIS	R31, 64, R28				; R31, 64, R28				    ; 008079
A306005C     00B0		LDL	R24, 92(R6)				; R24, 92(R6)				    ; 008078
4B003058     00B4		MSKBL	R24, 1, R24				; R24, 1, R24
47170418     00B8		BIS	R24, R23, R24				; R24, R23, R24
B306005C     00BC		STL	R24, 92(R6)				; R24, 92(R6)
A346005C     00C0		LDL	R26, 92(R6)				; R26, 92(R6)				    ; 008079
47E21418     00C4		BIS	R31, 16, R24				; R31, 16, R24				    ; 008080
4B005376     00C8		INSWL	R24, 2, R22				; R24, 2, R22
47E09418     00CC		BIS	R31, 4, R24				; R31, 4, R24				    ; 008084
475FF11A     00D0		BIC	R26, 255, R26				; R26, 255, R26				    ; 008079

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 110
V01H                            DRIVER$STRUC_INIT                2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

475C041A     00D4		BIS	R26, R28, R26				; R26, R28, R26
B346005C     00D8		STL	R26, 92(R6)				; R26, 92(R6)
47E1141A     00DC		BIS	R31, 8, R26				; R31, 8, R26				    ; 008081
A2E6005C     00E0		LDL	R23, 92(R6)				; R23, 92(R6)				    ; 008080
4AE05257     00E4		MSKWL	R23, 2, R23				; R23, 2, R23
46F60417     00E8		BIS	R23, R22, R23				; R23, R22, R23
B2E6005C     00EC		STL	R23, 92(R6)				; R23, 92(R6)
A3260080     00F0		LDL	R25, 128(R6)				; R25, 128(R6)				    ; 008081
473FF119     00F4		BIC	R25, 255, R25				; R25, 255, R25
473A0419     00F8		BIS	R25, R26, R25				; R25, R26, R25
B3260080     00FC		STL	R25, 128(R6)				; R25, 128(R6)
B306008C     0100		STL	R24, 140(R6)				; R24, 140(R6)				    ; 008084
	     0104	$L2:												    ; 008088
47FD041E     0104		MOV	FP, SP					; FP, SP
A79E0008     0108		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     010C		LDQ	R2, 16(SP)				; R2, 16(SP)
A47E0018     0110		LDQ	R3, 24(SP)				; R3, 24(SP)
A49E0020     0114		LDQ	R4, 32(SP)				; R4, 32(SP)
A4BE0028     0118		LDQ	R5, 40(SP)				; R5, 40(SP)
A4DE0030     011C		LDQ	R6, 48(SP)				; R6, 48(SP)
A7BE0038     0120		LDQ	FP, 56(SP)				; FP, 56(SP)
43C8141E     0124		ADDQ	SP, 64, SP				; SP, 64, SP
6BFC8001     0128		RET	R28					; R28
47FF041F     012C		NOP						; 

Routine Size: 304 bytes,    Routine Base: $$$115_DRIVER + 0000

	     0130	DRIVER$STRUC_REINIT:										    ; 008088
43C8153E     0130		SUBQ	SP, 64, SP				; SP, 64, SP
B77E0000     0134		STQ	R27, (SP)				; R27, (SP)
B75E0008     0138		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     013C		STQ	R2, 16(SP)				; R2, 16(SP)
B47E0018     0140		STQ	R3, 24(SP)				; R3, 24(SP)
B49E0020     0144		STQ	R4, 32(SP)				; R4, 32(SP)
B4BE0028     0148		STQ	R5, 40(SP)				; R5, 40(SP)
B4DE0030     014C		STQ	R6, 48(SP)				; R6, 48(SP)
B7BE0038     0150		STQ	FP, 56(SP)				; FP, 56(SP)
47FE041D     0154		MOV	SP, FP					; SP, FP
	     0158	$L3:
43F10003     0158		SEXTL	R17, R3					; R17, R3
A79B0020     015C		LDQ	R28, 32(R27)				; R28, 32(R27)				    ; 008096
43F40006     0160		SEXTL	R20, R6					; R20, R6				    ; 008088
A75B0028     0164		LDQ	R26, 40(R27)				; R26, 40(R27)				    ; 008097
273FF014     0168		LDAH	R25, -4076(R31)				; R25, -4076(R31)			    ; 008101
B383000C     016C		STL	R28, 12(R3)				; R28, 12(R3)				    ; 008096
B34601AC     0170		STL	R26, 428(R6)				; R26, 428(R6)				    ; 008097
2339F070     0174		LDA	R25, -3984(R25)				; R25, -3984(R25)			    ; 008101
43F00002     0178		SEXTL	R16, R2					; R16, R2				    ; 008088
B32601B8     017C		STL	R25, 440(R6)				; R25, 440(R6)				    ; 008101
43F20004     0180		SEXTL	R18, R4					; R18, R4				    ; 008088
43F30005     0184		SEXTL	R19, R5					; R19, R5
	     0188	$L4:												    ; 008109
47FD041E     0188		MOV	FP, SP					; FP, SP
A79E0008     018C		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     0190		LDQ	R2, 16(SP)				; R2, 16(SP)
A47E0018     0194		LDQ	R3, 24(SP)				; R3, 24(SP)
A49E0020     0198		LDQ	R4, 32(SP)				; R4, 32(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 111
V01H                            DRIVER$STRUC_REINIT              2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A4BE0028     019C		LDQ	R5, 40(SP)				; R5, 40(SP)
A4DE0030     01A0		LDQ	R6, 48(SP)				; R6, 48(SP)
A7BE0038     01A4		LDQ	FP, 56(SP)				; FP, 56(SP)
43C8141E     01A8		ADDQ	SP, 64, SP				; SP, 64, SP
6BFC8001     01AC		RET	R28					; R28

Routine Size: 128 bytes,    Routine Base: $$$115_DRIVER + 0130

	     01B0	GETJTUCB:											    ; 008824
43C4153E     01B0		SUBQ	SP, 32, SP				; SP, 32, SP
B75E0000     01B4		STQ	R26, (SP)				; R26, (SP)
B55E0008     01B8		STQ	R10, 8(SP)				; R10, 8(SP)
B57E0010     01BC		STQ	R11, 16(SP)				; R11, 16(SP)
B5BE0018     01C0		STQ	R13, 24(SP)				; R13, 24(SP)
47FB040D     01C4		MOV	R27, R13				; R27, R13
	     01C8	$L5:
47E0041B     01C8		MOV	R0, R27					; R0, R27				    ; 008924
A14500C0     01CC		LDL	R10, 192(R5)				; R10, 192(R5)				    ; 008839
A56DFFF0     01D0		LDQ	R11, -16(R13)				; R11, -16(R13)				    ; 008841
43C0953E     01D4		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 008924
47E1041A     01D8		MOV	R1, R26					; R1, R26
0000000E     01DC		CALL_PAL 14					; 14
A72D0018     01E0		LDQ	R25, 24(R13)				; R25, 24(R13)
47FA0401     01E4		MOV	R26, R1					; R26, R1
B01E0000     01E8		STL	R0, (SP)				; R0, (SP)
47FB0400     01EC		MOV	R27, R0					; R27, R0
A0050008     01F0		LDL	R0, 8(R5)				; R0, 8(R5)
A3190000     01F4		LDL	R24, (R25)				; R24, (R25)
480070C0     01F8		EXTBL	R0, 3, R0				; R0, 3, R0
F300002A     01FC		BLBS	R24, $L93				; R24, $L93
	     0200	87_30001$:
A6ED0010     0200		LDQ	R23, 16(R13)				; R23, 16(R13)
47E00416     0204		MOV	R0, R22					; R0, R22
47E1041C     0208		MOV	R1, R28					; R1, R28
40170057     020C		S4ADDL	R0, R23, R23				; R0, R23, R23
A2170000     0210		LDL	R16, (R23)				; R16, (R23)
4603F010     0214		AND	R16, 31, R16				; R16, 31, R16
0000000F     0218		CALL_PAL 15					; 15
47FC0401     021C		MOV	R28, R1					; R28, R1
47F60400     0220		MOV	R22, R0					; R22, R0
2FFE0000     0224		LNOP						; 
	     0228	87_30002$:
A34AFFF0     0228		LDL	R26, -16(R10)				; R26, -16(R10)				    ; 008925
434B0530     022C		SUBQ	R26, R11, R16				; R26, R11, R16
F6000025     0230		BNE	R16, 87_5$				; R16, 87_5$				    ; 008933
47FF041F     0234		NOP						; 
	     0238	L$1:
216AFE44     0238		LDA	R11, -444(R10)				; R11, -444(R10)			    ; 008936
2FFE0000     023C		LNOP						; 
	     0240	87_4$:												    ; 008938
A6ED0018     0240		LDQ	R23, 24(R13)				; R23, 24(R13)				    ; 008987
A2D70000     0244		LDL	R22, (R23)				; R22, (R23)
E2C00007     0248		BLBC	R22, 87_30003$				; R22, 87_30003$
A0050008     024C		LDL	R0, 8(R5)				; R0, 8(R5)
A74D0030     0250		LDQ	R26, 48(R13)				; R26, 48(R13)
43C1953E     0254		SUBQ	SP, 12, SP				; SP, 12, SP
A76D0038     0258		LDQ	R27, 56(R13)				; R27, 56(R13)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 112
V01H                            GETJTUCB                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

480070C0     025C		EXTBL	R0, 3, R0				; R0, 3, R0
6B5A4000     0260		JSR	R26, R26				; R26, R26
43C1941E     0264		ADDQ	SP, 12, SP				; SP, 12, SP
	     0268	87_30003$:
A21E0000     0268		LDL	R16, (SP)				; R16, (SP)
47E1041B     026C		MOV	R1, R27					; R1, R27
43C0941E     0270		ADDQ	SP, 4, SP				; SP, 4, SP
47E0041C     0274		MOV	R0, R28					; R0, R28
4603F010     0278		AND	R16, 31, R16				; R16, 31, R16
0000000F     027C		CALL_PAL 15					; 15
47FC0400     0280		MOV	R28, R0					; R28, R0
43EB0000     0284		SEXTL	R11, R0					; R11, R0				    ; 008989
47FB0401     0288		MOV	R27, R1					; R27, R1				    ; 008987
	     028C	$L6:												    ; 008993
A79E0000     028C		LDQ	R28, (SP)				; R28, (SP)
A55E0008     0290		LDQ	R10, 8(SP)				; R10, 8(SP)
A57E0010     0294		LDQ	R11, 16(SP)				; R11, 16(SP)
A5BE0018     0298		LDQ	R13, 24(SP)				; R13, 24(SP)
43C4141E     029C		ADDQ	SP, 32, SP				; SP, 32, SP
6BFC8001     02A0		RET	R28					; R28
2FFE0000     02A4		LNOP						; 
	     02A8	$L93:												    ; 008924
A74D0020     02A8		LDQ	R26, 32(R13)				; R26, 32(R13)
43C1953E     02AC		SUBQ	SP, 12, SP				; SP, 12, SP
A76D0028     02B0		LDQ	R27, 40(R13)				; R27, 40(R13)
6B5A4000     02B4		JSR	R26, R26				; R26, R26
43C1941E     02B8		ADDQ	SP, 12, SP				; SP, 12, SP
A34AFFF0     02BC		LDL	R26, -16(R10)				; R26, -16(R10)				    ; 008925
434B0530     02C0		SUBQ	R26, R11, R16				; R26, R11, R16
E61FFFDC     02C4		BEQ	R16, L$1				; R16, L$1				    ; 008933
	     02C8	87_5$:												    ; 008997
A32AFFFC     02C8		LDL	R25, -4(R10)				; R25, -4(R10)
271FF014     02CC		LDAH	R24, -4076(R31)				; R24, -4076(R31)
2318F070     02D0		LDA	R24, -3984(R24)				; R24, -3984(R24)
43380530     02D4		SUBQ	R25, R24, R16				; R25, R24, R16
F6000002     02D8		BNE	R16, 87_3$				; R16, 87_3$				    ; 008998
A14AFFF8     02DC		LDL	R10, -8(R10)				; R10, -8(R10)				    ; 009000
E95FFFD1     02E0		BLT	R10, 87_30002$				; R10, 87_30002$			    ; 009004
	     02E4	87_3$:												    ; 009006
47FF040B     02E4		CLR	R11					; R11					    ; 009007
C3FFFFD5     02E8		BR	87_4$					; 87_4$					    ; 009008
47FF041F     02EC		NOP						; 

Routine Size: 320 bytes,    Routine Base: $$$115_DRIVER + 01B0

	     02F0	ACCFILT:											    ; 009128
43D2153E     02F0		SUBQ	SP, 144, SP				; SP, 144, SP
B77E0000     02F4		STQ	R27, (SP)				; R27, (SP)
B75E0010     02F8		STQ	R26, 16(SP)				; R26, 16(SP)
B45E0018     02FC		STQ	R2, 24(SP)				; R2, 24(SP)
B47E0020     0300		STQ	R3, 32(SP)				; R3, 32(SP)
B49E0028     0304		STQ	R4, 40(SP)				; R4, 40(SP)
B4BE0030     0308		STQ	R5, 48(SP)				; R5, 48(SP)
B4DE0038     030C		STQ	R6, 56(SP)				; R6, 56(SP)
B4FE0040     0310		STQ	R7, 64(SP)				; R7, 64(SP)
B51E0048     0314		STQ	R8, 72(SP)				; R8, 72(SP)
B53E0050     0318		STQ	R9, 80(SP)				; R9, 80(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 113
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B55E0058     031C		STQ	R10, 88(SP)				; R10, 88(SP)
B57E0060     0320		STQ	R11, 96(SP)				; R11, 96(SP)
B59E0068     0324		STQ	R12, 104(SP)				; R12, 104(SP)
B5BE0070     0328		STQ	R13, 112(SP)				; R13, 112(SP)
B5DE0078     032C		STQ	R14, 120(SP)				; R14, 120(SP)
B5FE0080     0330		STQ	R15, 128(SP)				; R15, 128(SP)
47FB040E     0334		MOV	R27, R14				; R27, R14
B7BE0088     0338		STQ	FP, 136(SP)				; FP, 136(SP)
47FE041D     033C		MOV	SP, FP					; SP, FP
B7FE0008     0340		STQ	R31, 8(SP)				; R31, 8(SP)
	     0344	$L7:
43F00003     0344		SEXTL	R16, R3					; R16, R3
43F10004     0348		SEXTL	R17, R4					; R17, R4
A3630008     034C		LDL	R27, 8(R3)				; R27, 8(R3)				    ; 009130
43F20005     0350		SEXTL	R18, R5					; R18, R5				    ; 009128
43F30006     0354		SEXTL	R19, R6					; R19, R6
4B6070DB     0358		EXTBL	R27, 3, R27				; R27, 3, R27				    ; 009130
47607014     035C		AND	R27, 3, R20				; R27, 3, R20
F6800017     0360		BNE	R20, 88_1$				; R20, 88_1$				    ; 009131
47FF041F     0364		NOP						; 
	     0368	88_2$:												    ; 009132
236E0290     0368		LDA	R27, 656(R14)				; R27, 656(R14)				    ; 009133
D3400CC8     036C		BSR	R26, PORS				; R26, PORS
	     0370	$L8:												    ; 009134
47FD041E     0370		MOV	FP, SP					; FP, SP
A79E0010     0374		LDQ	R28, 16(SP)				; R28, 16(SP)
A45E0018     0378		LDQ	R2, 24(SP)				; R2, 24(SP)
A47E0020     037C		LDQ	R3, 32(SP)				; R3, 32(SP)
A49E0028     0380		LDQ	R4, 40(SP)				; R4, 40(SP)
A4BE0030     0384		LDQ	R5, 48(SP)				; R5, 48(SP)
A4DE0038     0388		LDQ	R6, 56(SP)				; R6, 56(SP)
A4FE0040     038C		LDQ	R7, 64(SP)				; R7, 64(SP)
A51E0048     0390		LDQ	R8, 72(SP)				; R8, 72(SP)
A53E0050     0394		LDQ	R9, 80(SP)				; R9, 80(SP)
A55E0058     0398		LDQ	R10, 88(SP)				; R10, 88(SP)
A57E0060     039C		LDQ	R11, 96(SP)				; R11, 96(SP)
A59E0068     03A0		LDQ	R12, 104(SP)				; R12, 104(SP)
A5BE0070     03A4		LDQ	R13, 112(SP)				; R13, 112(SP)
A5DE0078     03A8		LDQ	R14, 120(SP)				; R14, 120(SP)
A5FE0080     03AC		LDQ	R15, 128(SP)				; R15, 128(SP)
A7BE0088     03B0		LDQ	FP, 136(SP)				; FP, 136(SP)
43D2141E     03B4		ADDQ	SP, 144, SP				; SP, 144, SP
6BFC8001     03B8		RET	R28					; R28
47FF041F     03BC		NOP						; 
	     03C0	88_1$:												    ; 009136
A02400FC     03C0		LDL	R1, 252(R4)				; R1, 252(R4)				    ; 009139
41DA153B     03C4		SUBQ	R14, 208, R27				; R14, 208, R27				    ; 009155
A3410030     03C8		LDL	R26, 48(R1)				; R26, 48(R1)				    ; 009141
EF5FFFE6     03CC		BLE	R26, 88_2$				; R26, 88_2$				    ; 009145
A2A50048     03D0		LDL	R21, 72(R5)				; R21, 72(R5)				    ; 009147
47F50414     03D4		MOV	R21, R20				; R21, R20
4A82B699     03D8		SRL	R20, 21, R25				; R20, 21, R25
F33FFFE2     03DC		BLBS	R25, 88_2$				; R25, 88_2$
47F50414     03E0		MOV	R21, R20				; R21, R20				    ; 009148
4A827698     03E4		SRL	R20, 19, R24				; R20, 19, R24
E31FFFDF     03E8		BLBC	R24, 88_2$				; R24, 88_2$
A2C5004C     03EC		LDL	R22, 76(R5)				; R22, 76(R5)				    ; 009149

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 114
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

26FF0004     03F0		LDAH	R23, 4(R31)				; R23, 4(R31)
42E81417     03F4		ADDQ	R23, 64, R23				; R23, 64, R23
46D70014     03F8		AND	R22, R23, R20				; R22, R23, R20
F69FFFDA     03FC		BNE	R20, 88_2$				; R20, 88_2$				    ; 009150
A2850048     0400		LDL	R20, 72(R5)				; R20, 72(R5)				    ; 009151
4A83169C     0404		SRL	R20, 24, R28				; R20, 24, R28
F39FFFD7     0408		BLBS	R28, 88_2$				; R28, 88_2$
43C2153E     040C		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 009155
B0BE000C     0410		STL	R5, 12(SP)				; R5, 12(SP)				    ; 009153
B01E0008     0414		STL	R0, 8(SP)				; R0, 8(SP)
D35FFF65     0418		BSR	R26, GETJTUCB				; R26, GETJTUCB				    ; 009155
43C1141E     041C		ADDQ	SP, 8, SP				; SP, 8, SP
E8000007     0420		BLT	R0, 88_509$				; R0, 88_509$				    ; 009157
236E0280     0424		LDA	R27, 640(R14)				; R27, 640(R14)				    ; 009159
A01E0000     0428		LDL	R0, (SP)				; R0, (SP)				    ; 009158
A0BE0004     042C		LDL	R5, 4(SP)				; R5, 4(SP)
43C1141E     0430		ADDQ	SP, 8, SP				; SP, 8, SP
D3400C8A     0434		BSR	R26, POPOUT				; R26, POPOUT				    ; 009159
C3FFFFCD     0438		BR	$L8					; $L8					    ; 009160
47FF041F     043C		NOP						; 
	     0440	88_509$:											    ; 009161
47E0341B     0440		BIS	R31, 1, R27				; R31, 1, R27				    ; 009163
B36003C0     0444		STL	R27, 960(R0)				; R27, 960(R0)
B0A0023C     0448		STL	R5, 572(R0)				; R5, 572(R0)				    ; 009164
43E00005     044C		SEXTL	R0, R5					; R0, R5				    ; 009165
A6AEFF18     0450		LDQ	R21, -232(R14)				; R21, -232(R14)			    ; 009265
236E0280     0454		LDA	R27, 640(R14)				; R27, 640(R14)				    ; 009169
A3450128     0458		LDL	R26, 296(R5)				; R26, 296(R5)				    ; 009166
47403014     045C		AND	R26, 1, R20				; R26, 1, R20
F6800005     0460		BNE	R20, 88_1509$				; R20, 88_1509$				    ; 009167
A01E0000     0464		LDL	R0, (SP)				; R0, (SP)				    ; 009168
A0BE0004     0468		LDL	R5, 4(SP)				; R5, 4(SP)
43C1141E     046C		ADDQ	SP, 8, SP				; SP, 8, SP
D3400C7B     0470		BSR	R26, POPOUT				; R26, POPOUT				    ; 009169
C3FFFFBE     0474		BR	$L8					; $L8					    ; 009170
	     0478	88_1509$:											    ; 009171
2F0503C0     0478		LDQ_U	R24, 960(R5)				; R24, 960(R5)				    ; 009174
47E05419     047C		BIS	R31, 2, R25				; R31, 2, R25
2EC503C3     0480		LDQ_U	R22, 963(R5)				; R22, 963(R5)
4B250577     0484		INSLL	R25, R5, R23				; R25, R5, R23
4865057B     0488		INSLL	R3, R5, R27				; R3, R5, R27				    ; 009175
4B050458     048C		MSKLL	R24, R5, R24				; R24, R5, R24				    ; 009174
4AC50C56     0490		MSKLH	R22, R5, R22				; R22, R5, R22
47170418     0494		BIS	R24, R23, R24				; R24, R23, R24
4B250CF7     0498		INSLH	R25, R5, R23				; R25, R5, R23
46D70416     049C		BIS	R22, R23, R22				; R22, R23, R22
3EC503C3     04A0		STQ_U	R22, 963(R5)				; R22, 963(R5)
3F0503C0     04A4		STQ_U	R24, 960(R5)				; R24, 960(R5)
2F8503B8     04A8		LDQ_U	R28, 952(R5)				; R28, 952(R5)				    ; 009175
2F4503BB     04AC		LDQ_U	R26, 955(R5)				; R26, 955(R5)
4B85045C     04B0		MSKLL	R28, R5, R28				; R28, R5, R28
4B450C5A     04B4		MSKLH	R26, R5, R26				; R26, R5, R26
479B041C     04B8		BIS	R28, R27, R28				; R28, R27, R28
48650CFB     04BC		INSLH	R3, R5, R27				; R3, R5, R27
475B041A     04C0		BIS	R26, R27, R26				; R26, R27, R26
3F4503BB     04C4		STQ_U	R26, 955(R5)				; R26, 955(R5)
3F8503B8     04C8		STQ_U	R28, 952(R5)				; R28, 952(R5)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 115
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

2F050130     04CC		LDQ_U	R24, 304(R5)				; R24, 304(R5)				    ; 009176
2EC50133     04D0		LDQ_U	R22, 307(R5)				; R22, 307(R5)
A32400D4     04D4		LDL	R25, 212(R4)				; R25, 212(R4)
4B0504D8     04D8		EXTLL	R24, R5, R24				; R24, R5, R24
4AC50D57     04DC		EXTLH	R22, R5, R23				; R22, R5, R23
47170418     04E0		BIS	R24, R23, R24				; R24, R23, R24
43F80018     04E4		SEXTL	R24, R24				; R24, R24
43380534     04E8		SUBQ	R25, R24, R20				; R25, R24, R20
F6800006     04EC		BNE	R20, 88_2509$				; R20, 88_2509$				    ; 009177
	     04F0	88_3509$:											    ; 009178
A01E0000     04F0		LDL	R0, (SP)				; R0, (SP)
236E0280     04F4		LDA	R27, 640(R14)				; R27, 640(R14)				    ; 009179
A0BE0004     04F8		LDL	R5, 4(SP)				; R5, 4(SP)				    ; 009178
43C1141E     04FC		ADDQ	SP, 8, SP				; SP, 8, SP
D3400C57     0500		BSR	R26, POPOUT				; R26, POPOUT				    ; 009179
C3FFFF9A     0504		BR	$L8					; $L8					    ; 009180
	     0508	88_2509$:											    ; 009181
2F650118     0508		LDQ_U	R27, 280(R5)				; R27, 280(R5)				    ; 009183
2F25011B     050C		LDQ_U	R25, 283(R5)				; R25, 283(R5)
A38400D4     0510		LDL	R28, 212(R4)				; R28, 212(R4)
4B6504DB     0514		EXTLL	R27, R5, R27				; R27, R5, R27
4B250D5A     0518		EXTLH	R25, R5, R26				; R25, R5, R26
477A041B     051C		BIS	R27, R26, R27				; R27, R26, R27
43FB001B     0520		SEXTL	R27, R27				; R27, R27
439B0534     0524		SUBQ	R28, R27, R20				; R28, R27, R20
E69FFFF1     0528		BEQ	R20, 88_3509$				; R20, 88_3509$				    ; 009184
	     052C	88_30004$:
2EE50120     052C		LDQ_U	R23, 288(R5)				; R23, 288(R5)				    ; 009185
2F850123     0530		LDQ_U	R28, 291(R5)				; R28, 291(R5)
A30400D4     0534		LDL	R24, 212(R4)				; R24, 212(R4)
4AE504D7     0538		EXTLL	R23, R5, R23				; R23, R5, R23
4B850D56     053C		EXTLH	R28, R5, R22				; R28, R5, R22
46F60417     0540		BIS	R23, R22, R23				; R23, R22, R23
43F70017     0544		SEXTL	R23, R23				; R23, R23
43170534     0548		SUBQ	R24, R23, R20				; R24, R23, R20
E69FFFE8     054C		BEQ	R20, 88_3509$				; R20, 88_3509$				    ; 009186
	     0550	88_30005$:
2F45038C     0550		LDQ_U	R26, 908(R5)				; R26, 908(R5)				    ; 009187
2325038C     0554		LDA	R25, 908(R5)				; R25, 908(R5)
2EE5038F     0558		LDQ_U	R23, 911(R5)				; R23, 911(R5)
A36400D4     055C		LDL	R27, 212(R4)				; R27, 212(R4)
4B5904DA     0560		EXTLL	R26, R25, R26				; R26, R25, R26
4AF90D58     0564		EXTLH	R23, R25, R24				; R23, R25, R24
4758041A     0568		BIS	R26, R24, R26				; R26, R24, R26
43FA001A     056C		SEXTL	R26, R26				; R26, R26
437A0534     0570		SUBQ	R27, R26, R20				; R27, R26, R20
E69FFFDE     0574		BEQ	R20, 88_3509$				; R20, 88_3509$				    ; 009188
	     0578	88_30006$:
2F650390     0578		LDQ_U	R27, 912(R5)				; R27, 912(R5)				    ; 009189
2F250393     057C		LDQ_U	R25, 915(R5)				; R25, 915(R5)
A2C400D4     0580		LDL	R22, 212(R4)				; R22, 212(R4)
4B6504DB     0584		EXTLL	R27, R5, R27				; R27, R5, R27
4B250D5A     0588		EXTLH	R25, R5, R26				; R25, R5, R26
477A041B     058C		BIS	R27, R26, R27				; R27, R26, R27
43FB001B     0590		SEXTL	R27, R27				; R27, R27
42DB0534     0594		SUBQ	R22, R27, R20				; R22, R27, R20
E69FFFD5     0598		BEQ	R20, 88_3509$				; R20, 88_3509$				    ; 009190

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 116
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     059C	88_30007$:
2EC50394     059C		LDQ_U	R22, 916(R5)				; R22, 916(R5)				    ; 009191
23850394     05A0		LDA	R28, 916(R5)				; R28, 916(R5)
2F450397     05A4		LDQ_U	R26, 919(R5)				; R26, 919(R5)
A30400D4     05A8		LDL	R24, 212(R4)				; R24, 212(R4)
4ADC04D6     05AC		EXTLL	R22, R28, R22				; R22, R28, R22
4B5C0D5B     05B0		EXTLH	R26, R28, R27				; R26, R28, R27
46DB0416     05B4		BIS	R22, R27, R22				; R22, R27, R22
43F60016     05B8		SEXTL	R22, R22				; R22, R22
43160534     05BC		SUBQ	R24, R22, R20				; R24, R22, R20
E69FFFCB     05C0		BEQ	R20, 88_3509$				; R20, 88_3509$				    ; 009192
	     05C4	88_30008$:
2EE50398     05C4		LDQ_U	R23, 920(R5)				; R23, 920(R5)				    ; 009193
2F85039B     05C8		LDQ_U	R28, 923(R5)				; R28, 923(R5)
A32400D4     05CC		LDL	R25, 212(R4)				; R25, 212(R4)
4AE504D7     05D0		EXTLL	R23, R5, R23				; R23, R5, R23
4B850D56     05D4		EXTLH	R28, R5, R22				; R28, R5, R22
46F60417     05D8		BIS	R23, R22, R23				; R23, R22, R23
43F70017     05DC		SEXTL	R23, R23				; R23, R23
43370534     05E0		SUBQ	R25, R23, R20				; R25, R23, R20
E69FFFC2     05E4		BEQ	R20, 88_3509$				; R20, 88_3509$				    ; 009194
	     05E8	88_30009$:
2F4503C0     05E8		LDQ_U	R26, 960(R5)				; R26, 960(R5)				    ; 009196
47E0741B     05EC		BIS	R31, 3, R27				; R31, 3, R27
2F0503C3     05F0		LDQ_U	R24, 963(R5)				; R24, 963(R5)
4B650579     05F4		INSLL	R27, R5, R25				; R27, R5, R25
4B45045A     05F8		MSKLL	R26, R5, R26				; R26, R5, R26
4B050C58     05FC		MSKLH	R24, R5, R24				; R24, R5, R24
4759041A     0600		BIS	R26, R25, R26				; R26, R25, R26
4B650CF9     0604		INSLH	R27, R5, R25				; R27, R5, R25
47190418     0608		BIS	R24, R25, R24				; R24, R25, R24
3F0503C3     060C		STQ_U	R24, 963(R5)				; R24, 963(R5)
3F4503C0     0610		STQ_U	R26, 960(R5)				; R26, 960(R5)
A2C60010     0614		LDL	R22, 16(R6)				; R22, 16(R6)				    ; 009197
4AC0F176     0618		INSBL	R22, 7, R22				; R22, 7, R22
4AC71796     061C		SRA	R22, 56, R22				; R22, 56, R22
42C03534     0620		SUBQ	R22, 1, R20				; R22, 1, R20
EE9FFFB2     0624		BLE	R20, 88_3509$				; R20, 88_3509$				    ; 009199
	     0628	88_30010$:
2F650128     0628		LDQ_U	R27, 296(R5)				; R27, 296(R5)				    ; 009200
239F0400     062C		LDA	R28, 1024(R31)				; R28, 1024(R31)
2F25012B     0630		LDQ_U	R25, 299(R5)				; R25, 299(R5)
4B6504DB     0634		EXTLL	R27, R5, R27				; R27, R5, R27
4B250D5A     0638		EXTLH	R25, R5, R26				; R25, R5, R26
477A041B     063C		BIS	R27, R26, R27				; R27, R26, R27
43FB001B     0640		SEXTL	R27, R27				; R27, R27
477C0014     0644		AND	R27, R28, R20				; R27, R28, R20
E6800011     0648		BEQ	R20, 88_3$				; R20, 88_3$				    ; 009201
A0030078     064C		LDL	R0, 120(R3)				; R0, 120(R3)				    ; 009203
E400000F     0650		BEQ	R0, 88_3$				; R0, 88_3$				    ; 009207
A0000004     0654		LDL	R0, 4(R0)				; R0, 4(R0)				    ; 009208
E400000D     0658		BEQ	R0, 88_3$				; R0, 88_3$				    ; 009209
2EC00008     065C		LDQ_U	R22, 8(R0)				; R22, 8(R0)				    ; 009219
4AC000D6     0660		EXTBL	R22, R0, R22				; R22, R0, R22
46D01014     0664		AND	R22, 128, R20				; R22, 128, R20
4A871734     0668		SLL	R20, 56, R20				; R20, 56, R20
4A871794     066C		SRA	R20, 56, R20				; R20, 56, R20

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 117
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

E6800007     0670		BEQ	R20, 88_3$				; R20, 88_3$				    ; 009220
2F400009     0674		LDQ_U	R26, 9(R0)				; R26, 9(R0)				    ; 009221
40013419     0678		ADDQ	R0, 9, R25				; R0, 9, R25
4B5900DA     067C		EXTBL	R26, R25, R26				; R26, R25, R26
47501014     0680		AND	R26, 128, R20				; R26, 128, R20
4A871734     0684		SLL	R20, 56, R20				; R20, 56, R20
4A871794     0688		SRA	R20, 56, R20				; R20, 56, R20
F6800004     068C		BNE	R20, 88_4$				; R20, 88_4$				    ; 009222
	     0690	88_3$:												    ; 009223
A3030060     0690		LDL	R24, 96(R3)				; R24, 96(R3)				    ; 009225
47081014     0694		AND	R24, 64, R20				; R24, 64, R20
E69FFF95     0698		BEQ	R20, 88_3509$				; R20, 88_3509$				    ; 009229
47FF041F     069C		NOP						; 
	     06A0	88_4$:												    ; 009231
2EC503C0     06A0		LDQ_U	R22, 960(R5)				; R22, 960(R5)				    ; 009238
47E0B417     06A4		BIS	R31, 5, R23				; R31, 5, R23
2F6503C3     06A8		LDQ_U	R27, 963(R5)				; R27, 963(R5)
4AE5057C     06AC		INSLL	R23, R5, R28				; R23, R5, R28
4AC50456     06B0		MSKLL	R22, R5, R22				; R22, R5, R22
4B650C5B     06B4		MSKLH	R27, R5, R27				; R27, R5, R27
46DC0416     06B8		BIS	R22, R28, R22				; R22, R28, R22
4AE50CFC     06BC		INSLH	R23, R5, R28				; R23, R5, R28
477C041B     06C0		BIS	R27, R28, R27				; R27, R28, R27
3F6503C3     06C4		STQ_U	R27, 963(R5)				; R27, 963(R5)
3EC503C0     06C8		STQ_U	R22, 960(R5)				; R22, 960(R5)
A3460004     06CC		LDL	R26, 4(R6)				; R26, 4(R6)				    ; 009239
F75FFF87     06D0		BNE	R26, 88_3509$				; R26, 88_3509$				    ; 009240
	     06D4	88_30012$:
43C3153E     06D4		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 009244
B17E0014     06D8		STL	R11, 20(SP)				; R11, 20(SP)
B15E0010     06DC		STL	R10, 16(SP)				; R10, 16(SP)
B13E000C     06E0		STL	R9, 12(SP)				; R9, 12(SP)
B11E0008     06E4		STL	R8, 8(SP)				; R8, 8(SP)
B0FE0004     06E8		STL	R7, 4(SP)				; R7, 4(SP)
B0DE0000     06EC		STL	R6, (SP)				; R6, (SP)
2D450130     06F0		LDQ_U	R10, 304(R5)				; R10, 304(R5)				    ; 009245
2F050133     06F4		LDQ_U	R24, 307(R5)				; R24, 307(R5)
A13E000C     06F8		LDL	R9, 12(SP)				; R9, 12(SP)				    ; 009258
494504CA     06FC		EXTLL	R10, R5, R10				; R10, R5, R10				    ; 009245
A17E0014     0700		LDL	R11, 20(SP)				; R11, 20(SP)				    ; 009258
4B050D59     0704		EXTLH	R24, R5, R25				; R24, R5, R25				    ; 009245
4559040A     0708		BIS	R10, R25, R10				; R10, R25, R10
43EA000A     070C		SEXTL	R10, R10				; R10, R10
ED400015     0710		BLE	R10, 88_5$				; R10, 88_5$				    ; 009246
A6EE0070     0714		LDQ	R23, 112(R14)				; R23, 112(R14)				    ; 009249
494012C7     0718		EXTWL	R10, 0, R7				; R10, 0, R7				    ; 009247
A0D70000     071C		LDL	R6, (R23)				; R6, (R23)				    ; 009249
40E60056     0720		S4ADDL	R7, R6, R22				; R7, R6, R22				    ; 009250
A0DE0000     0724		LDL	R6, (SP)				; R6, (SP)				    ; 009258
A1160000     0728		LDL	R8, (R22)				; R8, (R22)				    ; 009250
A0FE0004     072C		LDL	R7, 4(SP)				; R7, 4(SP)				    ; 009258
F900000D     0730		BGE	R8, 88_5$				; R8, 88_5$				    ; 009252
A38800D4     0734		LDL	R28, 212(R8)				; R28, 212(R8)				    ; 009253
415C0534     0738		SUBQ	R10, R28, R20				; R10, R28, R20
F680000A     073C		BNE	R20, 88_5$				; R20, 88_5$				    ; 009254
A36800FC     0740		LDL	R27, 252(R8)				; R27, 252(R8)				    ; 009256
A34400FC     0744		LDL	R26, 252(R4)				; R26, 252(R4)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 118
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A11E0008     0748		LDL	R8, 8(SP)				; R8, 8(SP)				    ; 009258
A15E0010     074C		LDL	R10, 16(SP)				; R10, 16(SP)
437A0534     0750		SUBQ	R27, R26, R20				; R27, R26, R20				    ; 009256
F6800004     0754		BNE	R20, 88_5$				; R20, 88_5$				    ; 009257
43C3141E     0758		ADDQ	SP, 24, SP				; SP, 24, SP				    ; 009258
	     075C	88_48$:												    ; 009259
C3FFFF64     075C		BR	88_3509$				; 88_3509$
	     0760	88_30011$:											    ; 009229
C3FFFFCF     0760		BR	88_4$					; 88_4$					    ; 009230
47FF041F     0764		NOP						; 
	     0768	88_5$:												    ; 009260
A0DE0000     0768		LDL	R6, (SP)				; R6, (SP)				    ; 009261
47E0D419     076C		BIS	R31, 6, R25				; R31, 6, R25				    ; 009264
A0FE0004     0770		LDL	R7, 4(SP)				; R7, 4(SP)				    ; 009261
4B250577     0774		INSLL	R25, R5, R23				; R25, R5, R23				    ; 009264
A11E0008     0778		LDL	R8, 8(SP)				; R8, 8(SP)				    ; 009261
A13E000C     077C		LDL	R9, 12(SP)				; R9, 12(SP)
A15E0010     0780		LDL	R10, 16(SP)				; R10, 16(SP)
A17E0014     0784		LDL	R11, 20(SP)				; R11, 20(SP)
43C3141E     0788		ADDQ	SP, 24, SP				; SP, 24, SP
2F0503C0     078C		LDQ_U	R24, 960(R5)				; R24, 960(R5)				    ; 009264
2EC503C3     0790		LDQ_U	R22, 963(R5)				; R22, 963(R5)
A78EFFC8     0794		LDQ	R28, -56(R14)				; R28, -56(R14)				    ; 009265
4B050458     0798		MSKLL	R24, R5, R24				; R24, R5, R24				    ; 009264
4AC50C56     079C		MSKLH	R22, R5, R22				; R22, R5, R22
47170418     07A0		BIS	R24, R23, R24				; R24, R23, R24
4B250CF7     07A4		INSLH	R25, R5, R23				; R25, R5, R23
43FC001B     07A8		SEXTL	R28, R27				; R28, R27				    ; 009266
46D70416     07AC		BIS	R22, R23, R22				; R22, R23, R22				    ; 009264
3EC503C3     07B0		STQ_U	R22, 963(R5)				; R22, 963(R5)
3F0503C0     07B4		STQ_U	R24, 960(R5)				; R24, 960(R5)
B3950070     07B8		STL	R28, 112(R21)				; R28, 112(R21)				    ; 009265
A3430010     07BC		LDL	R26, 16(R3)				; R26, 16(R3)				    ; 009266
437A0534     07C0		SUBQ	R27, R26, R20				; R27, R26, R20
E69FFF4A     07C4		BEQ	R20, 88_3509$				; R20, 88_3509$				    ; 009267
	     07C8	88_30013$:
43C0953E     07C8		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 009273
233F0800     07CC		LDA	R25, 2048(R31)				; R25, 2048(R31)			    ; 009274
B01E0000     07D0		STL	R0, (SP)				; R0, (SP)				    ; 009273
2385023C     07D4		LDA	R28, 572(R5)				; R28, 572(R5)				    ; 009276
2F050128     07D8		LDQ_U	R24, 296(R5)				; R24, 296(R5)				    ; 009274
2EC5012B     07DC		LDQ_U	R22, 299(R5)				; R22, 299(R5)
4B0504D8     07E0		EXTLL	R24, R5, R24				; R24, R5, R24
4AC50D57     07E4		EXTLH	R22, R5, R23				; R22, R5, R23
47170418     07E8		BIS	R24, R23, R24				; R24, R23, R24
43F80018     07EC		SEXTL	R24, R24				; R24, R24
47190014     07F0		AND	R24, R25, R20				; R24, R25, R20
E680001C     07F4		BEQ	R20, 88_148$				; R20, 88_148$				    ; 009275
A325003C     07F8		LDL	R25, 60(R5)				; R25, 60(R5)				    ; 009277
2C05023C     07FC		LDQ_U	R0, 572(R5)				; R0, 572(R5)				    ; 009276
2F45023F     0800		LDQ_U	R26, 575(R5)				; R26, 575(R5)
E7200018     0804		BEQ	R25, 88_148$				; R25, 88_148$				    ; 009278
A2A3000C     0808		LDL	R21, 12(R3)				; R21, 12(R3)				    ; 009279
481C04C0     080C		EXTLL	R0, R28, R0				; R0, R28, R0				    ; 009276
4B5C0D5B     0810		EXTLH	R26, R28, R27				; R26, R28, R27
47E09419     0814		BIS	R31, 4, R25				; R31, 4, R25				    ; 009305
EAA00013     0818		BLT	R21, 88_148$				; R21, 88_148$				    ; 009280

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 119
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A305003C     081C		LDL	R24, 60(R5)				; R24, 60(R5)				    ; 009281
441B0400     0820		BIS	R0, R27, R0				; R0, R27, R0				    ; 009276
43E00000     0824		SEXTL	R0, R0					; R0, R0
42B80534     0828		SUBQ	R21, R24, R20				; R21, R24, R20				    ; 009281
A01E0000     082C		LDL	R0, (SP)				; R0, (SP)				    ; 009284
E680000D     0830		BEQ	R20, 88_148$				; R20, 88_148$				    ; 009282
A0BE0008     0834		LDL	R5, 8(SP)				; R5, 8(SP)				    ; 009285
A74EFFB0     0838		LDQ	R26, -80(R14)				; R26, -80(R14)				    ; 009305
43E40011     083C		SEXTL	R4, R17					; R4, R17
A01E0004     0840		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 009285
47E49400     0844		BIS	R31, 36, R0				; R31, 36, R0				    ; 009286
A76EFFB8     0848		LDQ	R27, -72(R14)				; R27, -72(R14)				    ; 009305
43C1941E     084C		ADDQ	SP, 12, SP				; SP, 12, SP				    ; 009284
43E00013     0850		SEXTL	R0, R19					; R0, R19				    ; 009305
43E50012     0854		SEXTL	R5, R18					; R5, R18
43E30010     0858		SEXTL	R3, R16					; R3, R16
6B5A4000     085C		JSR	R26, R26				; R26, R26
C3FFFEC3     0860		BR	$L8					; $L8
47FF041F     0864		NOP						; 
	     0868	88_148$:											    ; 009308
A01E0000     0868		LDL	R0, (SP)				; R0, (SP)				    ; 009309
43C0941E     086C		ADDQ	SP, 4, SP				; SP, 4, SP
2EC503C0     0870		LDQ_U	R22, 960(R5)				; R22, 960(R5)				    ; 009313
47E0F417     0874		BIS	R31, 7, R23				; R31, 7, R23
2F6503C3     0878		LDQ_U	R27, 963(R5)				; R27, 963(R5)
4AE5057C     087C		INSLL	R23, R5, R28				; R23, R5, R28
275F0004     0880		LDAH	R26, 4(R31)				; R26, 4(R31)				    ; 009314
4AC50456     0884		MSKLL	R22, R5, R22				; R22, R5, R22				    ; 009313
4B650C5B     0888		MSKLH	R27, R5, R27				; R27, R5, R27
46DC0416     088C		BIS	R22, R28, R22				; R22, R28, R22
4AE50CFC     0890		INSLH	R23, R5, R28				; R23, R5, R28
477C041B     0894		BIS	R27, R28, R27				; R27, R28, R27
3F6503C3     0898		STQ_U	R27, 963(R5)				; R27, 963(R5)
3EC503C0     089C		STQ_U	R22, 960(R5)				; R22, 960(R5)
2F250128     08A0		LDQ_U	R25, 296(R5)				; R25, 296(R5)				    ; 009314
2EE5012B     08A4		LDQ_U	R23, 299(R5)				; R23, 299(R5)
4B2504D9     08A8		EXTLL	R25, R5, R25				; R25, R5, R25
4AE50D58     08AC		EXTLH	R23, R5, R24				; R23, R5, R24
47380419     08B0		BIS	R25, R24, R25				; R25, R24, R25
43F90019     08B4		SEXTL	R25, R25				; R25, R25
473A0014     08B8		AND	R25, R26, R20				; R25, R26, R20
E680002E     08BC		BEQ	R20, 88_50$				; R20, 88_50$				    ; 009315
43C2153E     08C0		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 009316
B07E000C     08C4		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     08C8		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     08CC		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     08D0		STL	R0, (SP)				; R0, (SP)
A0050078     08D4		LDL	R0, 120(R5)				; R0, 120(R5)				    ; 009318
E40000A9     08D8		BEQ	R0, 88_47$				; R0, 88_47$				    ; 009322
A0000004     08DC		LDL	R0, 4(R0)				; R0, 4(R0)				    ; 009323
E40000A7     08E0		BEQ	R0, 88_47$				; R0, 88_47$				    ; 009324
2C200004     08E4		LDQ_U	R1, 4(R0)				; R1, 4(R0)				    ; 009325
40009416     08E8		ADDQ	R0, 4, R22				; R0, 4, R22
483602C1     08EC		EXTWL	R1, R22, R1				; R1, R22, R1
F2C003E6     08F0		BLBS	R22, $L126				; R22, $L126
	     08F4	$L127:
E42000A2     08F4		BEQ	R1, 88_47$				; R1, 88_47$				    ; 009327

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 120
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

2C650240     08F8		LDQ_U	R3, 576(R5)				; R3, 576(R5)				    ; 009338
2F250243     08FC		LDQ_U	R25, 579(R5)				; R25, 579(R5)
205F0800     0900		LDA	R2, 2048(R31)				; R2, 2048(R31)				    ; 009337
486504C3     0904		EXTLL	R3, R5, R3				; R3, R5, R3				    ; 009338
4B250D5A     0908		EXTLH	R25, R5, R26				; R25, R5, R26
447A0403     090C		BIS	R3, R26, R3				; R3, R26, R3
43E30003     0910		SEXTL	R3, R3					; R3, R3
E460009A     0914		BEQ	R3, 88_47$				; R3, 88_47$				    ; 009339
231F3FFF     0918		LDA	R24, 16383(R31)				; R24, 16383(R31)			    ; 009342
44380001     091C		AND	R1, R24, R1				; R1, R24, R1
43E10016     0920		SEXTL	R1, R22					; R1, R22				    ; 009343
4AC07782     0924		SRA	R22, 3, R2				; R22, 3, R2
4420F001     0928		AND	R1, 7, R1				; R1, 7, R1				    ; 009345
4820779C     092C		SRA	R1, 3, R28				; R1, 3, R28				    ; 009346
40620000     0930		ADDL	R3, R2, R0				; R3, R2, R0				    ; 009344
401C001B     0934		ADDL	R0, R28, R27				; R0, R28, R27				    ; 009346
A01E0000     0938		LDL	R0, (SP)				; R0, (SP)				    ; 009350
4420F01A     093C		AND	R1, 7, R26				; R1, 7, R26				    ; 009346
A03E0004     0940		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 009350
2F9B0000     0944		LDQ_U	R28, (R27)				; R28, (R27)				    ; 009346
A05E0008     0948		LDL	R2, 8(SP)				; R2, 8(SP)				    ; 009350
A07E000C     094C		LDL	R3, 12(SP)				; R3, 12(SP)
4B9B00DC     0950		EXTBL	R28, R27, R28				; R28, R27, R28				    ; 009346
A01E0010     0954		LDL	R0, 16(SP)				; R0, 16(SP)				    ; 009351
4B9A0699     0958		SRL	R28, R26, R25				; R28, R26, R25				    ; 009346
F3200088     095C		BLBS	R25, 88_47$				; R25, 88_47$
A0BE0014     0960		LDL	R5, 20(SP)				; R5, 20(SP)				    ; 009351
43C3141E     0964		ADDQ	SP, 24, SP				; SP, 24, SP
236E0280     0968		LDA	R27, 640(R14)				; R27, 640(R14)				    ; 009352
D3400B3C     096C		BSR	R26, POPOUT				; R26, POPOUT
C3FFFE7F     0970		BR	$L8					; $L8					    ; 009353
47FF041F     0974		NOP						; 
	     0978	88_50$:												    ; 009356
43C6153E     0978		SUBQ	SP, 48, SP				; SP, 48, SP				    ; 009363
A70EFF48     097C		LDQ	R24, -184(R14)				; R24, -184(R14)			    ; 009516
B01E002C     0980		STL	R0, 44(SP)				; R0, 44(SP)				    ; 009361
B03E0028     0984		STL	R1, 40(SP)				; R1, 40(SP)				    ; 009362
B17E0024     0988		STL	R11, 36(SP)				; R11, 36(SP)				    ; 009363
B15E0020     098C		STL	R10, 32(SP)				; R10, 32(SP)
B13E001C     0990		STL	R9, 28(SP)				; R9, 28(SP)
B11E0018     0994		STL	R8, 24(SP)				; R8, 24(SP)
B0FE0014     0998		STL	R7, 20(SP)				; R7, 20(SP)
B0DE0010     099C		STL	R6, 16(SP)				; R6, 16(SP)
B0BE000C     09A0		STL	R5, 12(SP)				; R5, 12(SP)
B09E0008     09A4		STL	R4, 8(SP)				; R4, 8(SP)
B07E0004     09A8		STL	R3, 4(SP)				; R3, 4(SP)
B05E0000     09AC		STL	R2, (SP)				; R2, (SP)
A2F80000     09B0		LDL	R23, (R24)				; R23, (R24)				    ; 009516
F2E00078     09B4		BLBS	R23, $L94				; R23, $L94
	     09B8	88_30014$:
A2050080     09B8		LDL	R16, 128(R5)				; R16, 128(R5)
47E00416     09BC		MOV	R0, R22					; R0, R22
47E1041C     09C0		MOV	R1, R28					; R1, R28
4603F010     09C4		AND	R16, 31, R16				; R16, 31, R16
0000000F     09C8		CALL_PAL 15					; 15
47FC0401     09CC		MOV	R28, R1					; R28, R1
47F60400     09D0		MOV	R22, R0					; R22, R0

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 121
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

2FFE0000     09D4		LNOP						; 
	     09D8	88_30015$:
2F4503C0     09D8		LDQ_U	R26, 960(R5)				; R26, 960(R5)				    ; 009517
47E1141B     09DC		BIS	R31, 8, R27				; R31, 8, R27
2F0503C3     09E0		LDQ_U	R24, 963(R5)				; R24, 963(R5)
4B650579     09E4		INSLL	R27, R5, R25				; R27, R5, R25
4B45045A     09E8		MSKLL	R26, R5, R26				; R26, R5, R26
4B050C58     09EC		MSKLH	R24, R5, R24				; R24, R5, R24
4759041A     09F0		BIS	R26, R25, R26				; R26, R25, R26
4B650CF9     09F4		INSLH	R27, R5, R25				; R27, R5, R25
236E03C8     09F8		LDA	R27, 968(R14)				; R27, 968(R14)				    ; 009518
47190418     09FC		BIS	R24, R25, R24				; R24, R25, R24				    ; 009517
3F0503C3     0A00		STQ_U	R24, 963(R5)				; R24, 963(R5)
3F4503C0     0A04		STQ_U	R26, 960(R5)				; R26, 960(R5)
43C1153E     0A08		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 009518
D3401278     0A0C		BSR	R26, FINDLDT				; R26, FINDLDT
43C1141E     0A10		ADDQ	SP, 8, SP				; SP, 8, SP
E400000B     0A14		BEQ	R0, 88_55$				; R0, 88_55$				    ; 009521
43C0953E     0A18		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 009523
A74E0020     0A1C		LDQ	R26, 32(R14)				; R26, 32(R14)				    ; 009528
A76E0028     0A20		LDQ	R27, 40(R14)				; R27, 40(R14)
B03E0000     0A24		STL	R1, (SP)				; R1, (SP)				    ; 009523
A2E00000     0A28		LDL	R23, (R0)				; R23, (R0)				    ; 009525
B2E10000     0A2C		STL	R23, (R1)				; R23, (R1)
A0200034     0A30		LDL	R1, 52(R0)				; R1, 52(R0)				    ; 009527
43C0953E     0A34		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 009528
6B5A4000     0A38		JSR	R26, R26				; R26, R26
A03E0004     0A3C		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 009529
43C1141E     0A40		ADDQ	SP, 8, SP				; SP, 8, SP
	     0A44	88_55$:												    ; 009531
2F8503C0     0A44		LDQ_U	R28, 960(R5)				; R28, 960(R5)				    ; 009532
47E13416     0A48		BIS	R31, 9, R22				; R31, 9, R22
2F4503C3     0A4C		LDQ_U	R26, 963(R5)				; R26, 963(R5)
4AC5057B     0A50		INSLL	R22, R5, R27				; R22, R5, R27
48250578     0A54		INSLL	R1, R5, R24				; R1, R5, R24				    ; 009533
4B85045C     0A58		MSKLL	R28, R5, R28				; R28, R5, R28				    ; 009532
4B450C5A     0A5C		MSKLH	R26, R5, R26				; R26, R5, R26
479B041C     0A60		BIS	R28, R27, R28				; R28, R27, R28
4AC50CFB     0A64		INSLH	R22, R5, R27				; R22, R5, R27
475B041A     0A68		BIS	R26, R27, R26				; R26, R27, R26
3F4503C3     0A6C		STQ_U	R26, 963(R5)				; R26, 963(R5)
3F8503C0     0A70		STQ_U	R28, 960(R5)				; R28, 960(R5)
2F2503D0     0A74		LDQ_U	R25, 976(R5)				; R25, 976(R5)				    ; 009533
2EE503D3     0A78		LDQ_U	R23, 979(R5)				; R23, 979(R5)
4B250459     0A7C		MSKLL	R25, R5, R25				; R25, R5, R25
4AE50C57     0A80		MSKLH	R23, R5, R23				; R23, R5, R23
47380419     0A84		BIS	R25, R24, R25				; R25, R24, R25
48250CF8     0A88		INSLH	R1, R5, R24				; R1, R5, R24
46F80417     0A8C		BIS	R23, R24, R23				; R23, R24, R23
3EE503D3     0A90		STQ_U	R23, 979(R5)				; R23, 979(R5)
3F2503D0     0A94		STQ_U	R25, 976(R5)				; R25, 976(R5)
E4200015     0A98		BEQ	R1, 88_989$				; R1, 88_989$				    ; 009535
	     0A9C	88_30017$:
A74E0030     0A9C		LDQ	R26, 48(R14)				; R26, 48(R14)				    ; 009538
43C0953E     0AA0		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 009536
A76E0038     0AA4		LDQ	R27, 56(R14)				; R27, 56(R14)				    ; 009538
B03E0000     0AA8		STL	R1, (SP)				; R1, (SP)				    ; 009536

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 122
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

203F0530     0AAC		LDA	R1, 1328(R31)				; R1, 1328(R31)				    ; 009537
43C0953E     0AB0		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 009538
6B5A4000     0AB4		JSR	R26, R26				; R26, R26
A03E0004     0AB8		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 009539
43C1141E     0ABC		ADDQ	SP, 8, SP				; SP, 8, SP
2EC503D8     0AC0		LDQ_U	R22, 984(R5)				; R22, 984(R5)				    ; 009540
2F6503DB     0AC4		LDQ_U	R27, 987(R5)				; R27, 987(R5)
4805057C     0AC8		INSLL	R0, R5, R28				; R0, R5, R28
4AC50456     0ACC		MSKLL	R22, R5, R22				; R22, R5, R22
4B650C5B     0AD0		MSKLH	R27, R5, R27				; R27, R5, R27
46DC0416     0AD4		BIS	R22, R28, R22				; R22, R28, R22
48050CFC     0AD8		INSLH	R0, R5, R28				; R0, R5, R28
477C041B     0ADC		BIS	R27, R28, R27				; R27, R28, R27
3F6503DB     0AE0		STQ_U	R27, 987(R5)				; R27, 987(R5)
3EC503D8     0AE4		STQ_U	R22, 984(R5)				; R22, 984(R5)
F0000037     0AE8		BLBS	R0, 88_56$				; R0, 88_56$				    ; 009541
47FF041F     0AEC		NOP						; 
	     0AF0	88_989$:											    ; 009542
A74EFF48     0AF0		LDQ	R26, -184(R14)				; R26, -184(R14)			    ; 010195
A33A0000     0AF4		LDL	R25, (R26)				; R25, (R26)
E3200008     0AF8		BLBC	R25, 88_30022$				; R25, 88_30022$
43C1153E     0AFC		SUBQ	SP, 8, SP				; SP, 8, SP
A74EFFD0     0B00		LDQ	R26, -48(R14)				; R26, -48(R14)
B41E0000     0B04		STQ	R0, (SP)				; R0, (SP)
A0050034     0B08		LDL	R0, 52(R5)				; R0, 52(R5)
A76EFFD8     0B0C		LDQ	R27, -40(R14)				; R27, -40(R14)
6B5A4000     0B10		JSR	R26, R26				; R26, R26
A41E0000     0B14		LDQ	R0, (SP)				; R0, (SP)
43C1141E     0B18		ADDQ	SP, 8, SP				; SP, 8, SP
	     0B1C	88_30022$:
47E05410     0B1C		BIS	R31, 2, R16				; R31, 2, R16
47E00418     0B20		MOV	R0, R24					; R0, R24
47E10417     0B24		MOV	R1, R23					; R1, R23
0000000F     0B28		CALL_PAL 15					; 15
A0BE000C     0B2C		LDL	R5, 12(SP)				; R5, 12(SP)				    ; 010196
236E0280     0B30		LDA	R27, 640(R14)				; R27, 640(R14)				    ; 010200
A05E0000     0B34		LDL	R2, (SP)				; R2, (SP)				    ; 010196
47F80400     0B38		MOV	R24, R0					; R24, R0				    ; 010195
A01E002C     0B3C		LDL	R0, 44(SP)				; R0, 44(SP)				    ; 010198
47F70401     0B40		MOV	R23, R1					; R23, R1				    ; 010195
A07E0004     0B44		LDL	R3, 4(SP)				; R3, 4(SP)				    ; 010196
A09E0008     0B48		LDL	R4, 8(SP)				; R4, 8(SP)
A0DE0010     0B4C		LDL	R6, 16(SP)				; R6, 16(SP)
A0FE0014     0B50		LDL	R7, 20(SP)				; R7, 20(SP)
A11E0018     0B54		LDL	R8, 24(SP)				; R8, 24(SP)
A13E001C     0B58		LDL	R9, 28(SP)				; R9, 28(SP)
A15E0020     0B5C		LDL	R10, 32(SP)				; R10, 32(SP)
A17E0024     0B60		LDL	R11, 36(SP)				; R11, 36(SP)
A03E0028     0B64		LDL	R1, 40(SP)				; R1, 40(SP)				    ; 010197
A01E0030     0B68		LDL	R0, 48(SP)				; R0, 48(SP)				    ; 010199
A0BE0034     0B6C		LDL	R5, 52(SP)				; R5, 52(SP)
43C7141E     0B70		ADDQ	SP, 56, SP				; SP, 56, SP
D3400ABA     0B74		BSR	R26, POPOUT				; R26, POPOUT				    ; 010200
C3FFFDFD     0B78		BR	$L8					; $L8					    ; 010201
47FF041F     0B7C		NOP						; 
	     0B80	88_47$:												    ; 009354
A01E0000     0B80		LDL	R0, (SP)				; R0, (SP)				    ; 009355

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 123
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A03E0004     0B84		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     0B88		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     0B8C		LDL	R3, 12(SP)				; R3, 12(SP)
43C2141E     0B90		ADDQ	SP, 16, SP				; SP, 16, SP
C3FFFF78     0B94		BR	88_50$					; 88_50$				    ; 009356
	     0B98	$L94:												    ; 009516
43C1153E     0B98		SUBQ	SP, 8, SP				; SP, 8, SP
A74EFF90     0B9C		LDQ	R26, -112(R14)				; R26, -112(R14)
A76EFF98     0BA0		LDQ	R27, -104(R14)				; R27, -104(R14)
B41E0000     0BA4		STQ	R0, (SP)				; R0, (SP)
A0050034     0BA8		LDL	R0, 52(R5)				; R0, 52(R5)
6B5A4000     0BAC		JSR	R26, R26				; R26, R26
A41E0000     0BB0		LDQ	R0, (SP)				; R0, (SP)
43C1141E     0BB4		ADDQ	SP, 8, SP				; SP, 8, SP
C3FFFF87     0BB8		BR	88_30015$				; 88_30015$
47FF041F     0BBC		NOP						; 
	     0BC0	$L95:												    ; 009535
C3FFFFCB     0BC0		BR	88_989$					; 88_989$
47FF041F     0BC4		NOP						; 
	     0BC8	88_56$:												    ; 009543
2F2503C0     0BC8		LDQ_U	R25, 960(R5)				; R25, 960(R5)				    ; 009544
47E1541A     0BCC		BIS	R31, 10, R26				; R31, 10, R26
2EE503C3     0BD0		LDQ_U	R23, 963(R5)				; R23, 963(R5)
4B450578     0BD4		INSLL	R26, R5, R24				; R26, R5, R24
215F052C     0BD8		LDA	R10, 1324(R31)				; R10, 1324(R31)			    ; 009549
4B250459     0BDC		MSKLL	R25, R5, R25				; R25, R5, R25				    ; 009544
4AE50C57     0BE0		MSKLH	R23, R5, R23				; R23, R5, R23
47380419     0BE4		BIS	R25, R24, R25				; R25, R24, R25
4B450CF8     0BE8		INSLH	R26, R5, R24				; R26, R5, R24
234503BC     0BEC		LDA	R26, 956(R5)				; R26, 956(R5)				    ; 009546
46F80417     0BF0		BIS	R23, R24, R23				; R23, R24, R23				    ; 009544
3EE503C3     0BF4		STQ_U	R23, 963(R5)				; R23, 963(R5)
3F2503C0     0BF8		STQ_U	R25, 960(R5)				; R25, 960(R5)
485A0578     0BFC		INSLL	R2, R26, R24				; R2, R26, R24				    ; 009546
B0410000     0C00		STL	R2, (R1)				; R2, (R1)				    ; 009545
43E10009     0C04		SEXTL	R1, R9					; R1, R9				    ; 009547
2F2503BC     0C08		LDQ_U	R25, 956(R5)				; R25, 956(R5)				    ; 009546
494012D1     0C0C		EXTWL	R10, 0, R17				; R10, 0, R17				    ; 009550
2EE503BF     0C10		LDQ_U	R23, 959(R5)				; R23, 959(R5)				    ; 009546
47E20410     0C14		MOV	R2, R16					; R2, R16				    ; 009550
4B3A0459     0C18		MSKLL	R25, R26, R25				; R25, R26, R25				    ; 009546
4AFA0C57     0C1C		MSKLH	R23, R26, R23				; R23, R26, R23
47380419     0C20		BIS	R25, R24, R25				; R25, R24, R25
485A0CF8     0C24		INSLH	R2, R26, R24				; R2, R26, R24
A74E0040     0C28		LDQ	R26, 64(R14)				; R26, 64(R14)				    ; 009550
46F80417     0C2C		BIS	R23, R24, R23				; R23, R24, R23				    ; 009546
3EE503BF     0C30		STQ_U	R23, 959(R5)				; R23, 959(R5)
3F2503BC     0C34		STQ_U	R25, 956(R5)				; R25, 956(R5)
B3E20000     0C38		STL	R31, (R2)				; R31, (R2)				    ; 009548
43C3153E     0C3C		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 009550
B0BE0014     0C40		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     0C44		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     0C48		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     0C4C		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     0C50		STL	R1, 4(SP)				; R1, 4(SP)
47E20401     0C54		MOV	R2, R1					; R2, R1
B01E0000     0C58		STL	R0, (SP)				; R0, (SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 124
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47FF0400     0C5C		CLR	R0					; R0
6B5A4000     0C60		JSR	R26, R26				; R26, R26
235F0530     0C64		LDA	R26, 1328(R31)				; R26, 1328(R31)			    ; 009552
47E17419     0C68		BIS	R31, 11, R25				; R31, 11, R25				    ; 009558
A05E0008     0C6C		LDL	R2, 8(SP)				; R2, 8(SP)				    ; 009550
A01E0000     0C70		LDL	R0, (SP)				; R0, (SP)
A03E0004     0C74		LDL	R1, 4(SP)				; R1, 4(SP)
A07E000C     0C78		LDL	R3, 12(SP)				; R3, 12(SP)
43E2000B     0C7C		SEXTL	R2, R11					; R2, R11				    ; 009554
A09E0010     0C80		LDL	R4, 16(SP)				; R4, 16(SP)				    ; 009550
A0BE0014     0C84		LDL	R5, 20(SP)				; R5, 20(SP)
43C3141E     0C88		ADDQ	SP, 24, SP				; SP, 24, SP
B3420034     0C8C		STL	R26, 52(R2)				; R26, 52(R2)				    ; 009552
B0C20004     0C90		STL	R6, 4(R2)				; R6, 4(R2)				    ; 009553
43C1153E     0C94		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 009557
B07E0004     0C98		STL	R3, 4(SP)				; R3, 4(SP)
B05E0000     0C9C		STL	R2, (SP)				; R2, (SP)
B32503C0     0CA0		STL	R25, 960(R5)				; R25, 960(R5)				    ; 009558
A025012C     0CA4		LDL	R1, 300(R5)				; R1, 300(R5)				    ; 009559
F8200006     0CA8		BGE	R1, 88_999$				; R1, 88_999$				    ; 009560
A04400D4     0CAC		LDL	R2, 212(R4)				; R2, 212(R4)				    ; 009561
484012C2     0CB0		EXTWL	R2, 0, R2				; R2, 0, R2
4840B722     0CB4		SLL	R2, 5, R2				; R2, 5, R2				    ; 009562
43E20002     0CB8		SEXTL	R2, R2					; R2, R2
40410003     0CBC		ADDL	R2, R1, R3				; R2, R1, R3				    ; 009564
43E30001     0CC0		SEXTL	R3, R1					; R3, R1				    ; 009565
	     0CC4	88_999$:											    ; 009566
A05E0000     0CC4		LDL	R2, (SP)				; R2, (SP)				    ; 009567
47E19417     0CC8		BIS	R31, 12, R23				; R31, 12, R23				    ; 009568
A07E0004     0CCC		LDL	R3, 4(SP)				; R3, 4(SP)				    ; 009567
43C1141E     0CD0		ADDQ	SP, 8, SP				; SP, 8, SP
B2E503C0     0CD4		STL	R23, 960(R5)				; R23, 960(R5)				    ; 009568
B02B0020     0CD8		STL	R1, 32(R11)				; R1, 32(R11)				    ; 009569
F83FFF84     0CDC		BGE	R1, 88_989$				; R1, 88_989$				    ; 009570
A38B0020     0CE0		LDL	R28, 32(R11)				; R28, 32(R11)				    ; 009571
A74E0030     0CE4		LDQ	R26, 48(R14)				; R26, 48(R14)				    ; 009576
47E21401     0CE8		BIS	R31, 16, R1				; R31, 16, R1				    ; 009575
A76E0038     0CEC		LDQ	R27, 56(R14)				; R27, 56(R14)				    ; 009576
4381101C     0CF0		ADDL	R28, 8, R28				; R28, 8, R28				    ; 009571
B38B0020     0CF4		STL	R28, 32(R11)				; R28, 32(R11)
43C1153E     0CF8		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 009576
6B5A4000     0CFC		JSR	R26, R26				; R26, R26
43C1141E     0D00		ADDQ	SP, 8, SP				; SP, 8, SP
F000000A     0D04		BLBS	R0, 88_57$				; R0, 88_57$				    ; 009577
A74E0020     0D08		LDQ	R26, 32(R14)				; R26, 32(R14)				    ; 009582
B3E90000     0D0C		STL	R31, (R9)				; R31, (R9)				    ; 009579
43EB0000     0D10		SEXTL	R11, R0					; R11, R0				    ; 009580
A02B0034     0D14		LDL	R1, 52(R11)				; R1, 52(R11)				    ; 009581
43C1153E     0D18		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 009582
A76E0028     0D1C		LDQ	R27, 40(R14)				; R27, 40(R14)
6B5A4000     0D20		JSR	R26, R26				; R26, R26
43C1141E     0D24		ADDQ	SP, 8, SP				; SP, 8, SP
C3FFFF71     0D28		BR	88_989$					; 88_989$				    ; 009583
2FFE0000     0D2C		LNOP						; 
	     0D30	88_57$:												    ; 009584
B04B0024     0D30		STL	R2, 36(R11)				; R2, 36(R11)				    ; 009585
47E1B41A     0D34		BIS	R31, 13, R26				; R31, 13, R26				    ; 009586

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 125
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43EB0001     0D38		SEXTL	R11, R1					; R11, R1				    ; 009588
B34503C0     0D3C		STL	R26, 960(R5)				; R26, 960(R5)				    ; 009586
47E00418     0D40		MOV	R0, R24					; R0, R24				    ; 009590
B3E20000     0D44		STL	R31, (R2)				; R31, (R2)				    ; 009587
B3E20004     0D48		STL	R31, 4(R2)				; R31, 4(R2)
233F1F00     0D4C		LDA	R25, 7936(R31)				; R25, 7936(R31)			    ; 009595
00000091     0D50		CALL_PAL 145					; 145					    ; 009590
B00B0414     0D54		STL	R0, 1044(R11)				; R0, 1044(R11)
A34B0414     0D58		LDL	R26, 1044(R11)				; R26, 1044(R11)			    ; 009595
47F80400     0D5C		MOV	R24, R0					; R24, R0				    ; 009590
231F0200     0D60		LDA	R24, 512(R31)				; R24, 512(R31)				    ; 009595
200B013C     0D64		LDA	R0, 316(R11)				; R0, 316(R11)				    ; 009596
4759011A     0D68		BIC	R26, R25, R26				; R26, R25, R26				    ; 009595
4758041A     0D6C		BIS	R26, R24, R26				; R26, R24, R26
B34B0414     0D70		STL	R26, 1044(R11)				; R26, 1044(R11)
47E00419     0D74		MOV	R0, R25					; R0, R25				    ; 009598
40009400     0D78		ADDQ	R0, 4, R0				; R0, 4, R0
A05E0000     0D7C		LDL	R2, (SP)				; R2, (SP)				    ; 009597
47E00418     0D80		MOV	R0, R24					; R0, R24				    ; 009599
A07E0004     0D84		LDL	R3, 4(SP)				; R3, 4(SP)				    ; 009597
40009400     0D88		ADDQ	R0, 4, R0				; R0, 4, R0				    ; 009599
A09E0008     0D8C		LDL	R4, 8(SP)				; R4, 8(SP)				    ; 009597
A0BE000C     0D90		LDL	R5, 12(SP)				; R5, 12(SP)
47E0041A     0D94		MOV	R0, R26					; R0, R26				    ; 009600
A0DE0010     0D98		LDL	R6, 16(SP)				; R6, 16(SP)				    ; 009597
40009400     0D9C		ADDQ	R0, 4, R0				; R0, 4, R0				    ; 009600
A0FE0014     0DA0		LDL	R7, 20(SP)				; R7, 20(SP)				    ; 009597
A11E0018     0DA4		LDL	R8, 24(SP)				; R8, 24(SP)
A13E001C     0DA8		LDL	R9, 28(SP)				; R9, 28(SP)
A15E0020     0DAC		LDL	R10, 32(SP)				; R10, 32(SP)
A17E0024     0DB0		LDL	R11, 36(SP)				; R11, 36(SP)
43C5141E     0DB4		ADDQ	SP, 40, SP				; SP, 40, SP
B0590000     0DB8		STL	R2, (R25)				; R2, (R25)				    ; 009598
47E00419     0DBC		MOV	R0, R25					; R0, R25				    ; 009601
40009400     0DC0		ADDQ	R0, 4, R0				; R0, 4, R0
B0780000     0DC4		STL	R3, (R24)				; R3, (R24)				    ; 009599
47E00418     0DC8		MOV	R0, R24					; R0, R24				    ; 009602
B09A0000     0DCC		STL	R4, (R26)				; R4, (R26)				    ; 009600
40009400     0DD0		ADDQ	R0, 4, R0				; R0, 4, R0				    ; 009602
B0B90000     0DD4		STL	R5, (R25)				; R5, (R25)				    ; 009601
47E0041A     0DD8		MOV	R0, R26					; R0, R26				    ; 009603
B0D80000     0DDC		STL	R6, (R24)				; R6, (R24)				    ; 009602
40009400     0DE0		ADDQ	R0, 4, R0				; R0, 4, R0				    ; 009603
47E00419     0DE4		MOV	R0, R25					; R0, R25				    ; 009604
40009400     0DE8		ADDQ	R0, 4, R0				; R0, 4, R0
B0FA0000     0DEC		STL	R7, (R26)				; R7, (R26)				    ; 009603
47E00418     0DF0		MOV	R0, R24					; R0, R24				    ; 009605
B1190000     0DF4		STL	R8, (R25)				; R8, (R25)				    ; 009604
40009400     0DF8		ADDQ	R0, 4, R0				; R0, 4, R0				    ; 009605
47E0041A     0DFC		MOV	R0, R26					; R0, R26				    ; 009606
40009400     0E00		ADDQ	R0, 4, R0				; R0, 4, R0
B1380000     0E04		STL	R9, (R24)				; R9, (R24)				    ; 009605
47E00419     0E08		MOV	R0, R25					; R0, R25				    ; 009607
B15A0000     0E0C		STL	R10, (R26)				; R10, (R26)				    ; 009606
47E1D418     0E10		BIS	R31, 14, R24				; R31, 14, R24				    ; 009608
B1790000     0E14		STL	R11, (R25)				; R11, (R25)				    ; 009607
B30503C0     0E18		STL	R24, 960(R5)				; R24, 960(R5)				    ; 009608

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 126
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

40009400     0E1C		ADDQ	R0, 4, R0				; R0, 4, R0				    ; 009607
B0C503C4     0E20		STL	R6, 964(R5)				; R6, 964(R5)				    ; 009609
43C5153E     0E24		SUBQ	SP, 40, SP				; SP, 40, SP				    ; 009610
B17E0024     0E28		STL	R11, 36(SP)				; R11, 36(SP)
43E1000B     0E2C		SEXTL	R1, R11					; R1, R11				    ; 009611
B15E0020     0E30		STL	R10, 32(SP)				; R10, 32(SP)				    ; 009610
200B0178     0E34		LDA	R0, 376(R11)				; R0, 376(R11)				    ; 009616
B13E001C     0E38		STL	R9, 28(SP)				; R9, 28(SP)				    ; 009610
B11E0018     0E3C		STL	R8, 24(SP)				; R8, 24(SP)
B0FE0014     0E40		STL	R7, 20(SP)				; R7, 20(SP)
B0DE0010     0E44		STL	R6, 16(SP)				; R6, 16(SP)
B0BE000C     0E48		STL	R5, 12(SP)				; R5, 12(SP)
B09E0008     0E4C		STL	R4, 8(SP)				; R4, 8(SP)
B07E0004     0E50		STL	R3, 4(SP)				; R3, 4(SP)
B05E0000     0E54		STL	R2, (SP)				; R2, (SP)
A3430090     0E58		LDL	R26, 144(R3)				; R26, 144(R3)				    ; 009612
B34B0528     0E5C		STL	R26, 1320(R11)				; R26, 1320(R11)
A3230090     0E60		LDL	R25, 144(R3)				; R25, 144(R3)				    ; 009613
B32503E4     0E64		STL	R25, 996(R5)				; R25, 996(R5)
A345023C     0E68		LDL	R26, 572(R5)				; R26, 572(R5)				    ; 009615
47E00419     0E6C		MOV	R0, R25					; R0, R25				    ; 009618
40009400     0E70		ADDQ	R0, 4, R0				; R0, 4, R0
B34B0148     0E74		STL	R26, 328(R11)				; R26, 328(R11)				    ; 009615
A3430078     0E78		LDL	R26, 120(R3)				; R26, 120(R3)				    ; 009618
B3590000     0E7C		STL	R26, (R25)				; R26, (R25)
47E0041A     0E80		MOV	R0, R26					; R0, R26				    ; 009619
A303007C     0E84		LDL	R24, 124(R3)				; R24, 124(R3)
40009400     0E88		ADDQ	R0, 4, R0				; R0, 4, R0
B31A0000     0E8C		STL	R24, (R26)				; R24, (R26)
A3230080     0E90		LDL	R25, 128(R3)				; R25, 128(R3)				    ; 009620
47E00418     0E94		MOV	R0, R24					; R0, R24
40009400     0E98		ADDQ	R0, 4, R0				; R0, 4, R0
B3380000     0E9C		STL	R25, (R24)				; R25, (R24)
47E00419     0EA0		MOV	R0, R25					; R0, R25				    ; 009621
A3430084     0EA4		LDL	R26, 132(R3)				; R26, 132(R3)
40009400     0EA8		ADDQ	R0, 4, R0				; R0, 4, R0
B3590000     0EAC		STL	R26, (R25)				; R26, (R25)
A3030088     0EB0		LDL	R24, 136(R3)				; R24, 136(R3)				    ; 009622
47E1F419     0EB4		BIS	R31, 15, R25				; R31, 15, R25				    ; 009638
B3000000     0EB8		STL	R24, (R0)				; R24, (R0)				    ; 009622
A1430078     0EBC		LDL	R10, 120(R3)				; R10, 120(R3)				    ; 009632
A14A0004     0EC0		LDL	R10, 4(R10)				; R10, 4(R10)				    ; 009636
A34A0000     0EC4		LDL	R26, (R10)				; R26, (R10)				    ; 009637
B34B0008     0EC8		STL	R26, 8(R11)				; R26, 8(R11)
B32503C0     0ECC		STL	R25, 960(R5)				; R25, 960(R5)				    ; 009638
A3040074     0ED0		LDL	R24, 116(R4)				; R24, 116(R4)				    ; 009640
B30B001C     0ED4		STL	R24, 28(R11)				; R24, 28(R11)
A34A0004     0ED8		LDL	R26, 4(R10)				; R26, 4(R10)				    ; 009646
B34B0404     0EDC		STL	R26, 1028(R11)				; R26, 1028(R11)
2F0A0008     0EE0		LDQ_U	R24, 8(R10)				; R24, 8(R10)				    ; 009647
4B0A02D8     0EE4		EXTWL	R24, R10, R24				; R24, R10, R24
F140026C     0EE8		BLBS	R10, $L128				; R10, $L128
	     0EEC	$L129:
B30B0408     0EEC		STL	R24, 1032(R11)				; R24, 1032(R11)
41415418     0EF0		ADDQ	R10, 10, R24				; R10, 10, R24				    ; 009648
2F2A000A     0EF4		LDQ_U	R25, 10(R10)				; R25, 10(R10)
2DEA000D     0EF8		LDQ_U	R15, 13(R10)				; R15, 13(R10)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 127
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

4B3804D9     0EFC		EXTLL	R25, R24, R25				; R25, R24, R25
49F80D5A     0F00		EXTLH	R15, R24, R26				; R15, R24, R26
4141D418     0F04		ADDQ	R10, 14, R24				; R10, 14, R24				    ; 009649
473A0419     0F08		BIS	R25, R26, R25				; R25, R26, R25				    ; 009648
B32B040C     0F0C		STL	R25, 1036(R11)				; R25, 1036(R11)
2F2A000E     0F10		LDQ_U	R25, 14(R10)				; R25, 14(R10)				    ; 009649
4B3802D9     0F14		EXTWL	R25, R24, R25				; R25, R24, R25
F3000264     0F18		BLBS	R24, $L130				; R24, $L130
	     0F1C	$L131:
B32B0410     0F1C		STL	R25, 1040(R11)				; R25, 1040(R11)
210B03D8     0F20		LDA	R8, 984(R11)				; R8, 984(R11)				    ; 009660
A72EFF78     0F24		LDQ	R25, -136(R14)				; R25, -136(R14)			    ; 009650
47E31411     0F28		BIS	R31, 24, R17				; R31, 24, R17				    ; 009662
A6EEFF18     0F2C		LDQ	R23, -232(R14)				; R23, -232(R14)			    ; 009657
47E80410     0F30		MOV	R8, R16					; R8, R16				    ; 009662
A1390000     0F34		LDL	R9, (R25)				; R9, (R25)				    ; 009650
A3090000     0F38		LDL	R24, (R9)				; R24, (R9)				    ; 009651
B30B000C     0F3C		STL	R24, 12(R11)				; R24, 12(R11)
A3290004     0F40		LDL	R25, 4(R9)				; R25, 4(R9)				    ; 009652
B32B0010     0F44		STL	R25, 16(R11)				; R25, 16(R11)
232B01D8     0F48		LDA	R25, 472(R11)				; R25, 472(R11)				    ; 009657
A3490280     0F4C		LDL	R26, 640(R9)				; R26, 640(R9)				    ; 009653
B34B0014     0F50		STL	R26, 20(R11)				; R26, 20(R11)
A3090284     0F54		LDL	R24, 644(R9)				; R24, 644(R9)				    ; 009654
234B03F8     0F58		LDA	R26, 1016(R11)				; R26, 1016(R11)			    ; 009658
21370198     0F5C		LDA	R9, 408(R23)				; R9, 408(R23)				    ; 009659
47E90412     0F60		MOV	R9, R18					; R9, R18				    ; 009662
B30B0018     0F64		STL	R24, 24(R11)				; R24, 24(R11)				    ; 009654
B0AB0030     0F68		STL	R5, 48(R11)				; R5, 48(R11)				    ; 009655
B337019C     0F6C		STL	R25, 412(R23)				; R25, 412(R23)				    ; 009657
B35701A4     0F70		STL	R26, 420(R23)				; R26, 420(R23)				    ; 009658
43C3153E     0F74		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 009661
A74EFFF0     0F78		LDQ	R26, -16(R14)				; R26, -16(R14)				    ; 009662
B0BE0014     0F7C		STL	R5, 20(SP)				; R5, 20(SP)				    ; 009661
B09E0010     0F80		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     0F84		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     0F88		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     0F8C		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     0F90		STL	R0, (SP)				; R0, (SP)
6B5A4000     0F94		JSR	R26, R26				; R26, R26				    ; 009662
A07E000C     0F98		LDL	R3, 12(SP)				; R3, 12(SP)				    ; 009664
A01E0000     0F9C		LDL	R0, (SP)				; R0, (SP)
212B0190     0FA0		LDA	R9, 400(R11)				; R9, 400(R11)				    ; 009666
A03E0004     0FA4		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 009664
A05E0008     0FA8		LDL	R2, 8(SP)				; R2, 8(SP)
A09E0010     0FAC		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     0FB0		LDL	R5, 20(SP)				; R5, 20(SP)
43C3141E     0FB4		ADDQ	SP, 24, SP				; SP, 24, SP
A3230078     0FB8		LDL	R25, 120(R3)				; R25, 120(R3)				    ; 009668
A1190000     0FBC		LDL	R8, (R25)				; R8, (R25)
41081536     0FC0		SUBQ	R8, 64, R22				; R8, 64, R22				    ; 009672
EEC00001     0FC4		BLE	R22, 88_59$				; R22, 88_59$				    ; 009673
47E81408     0FC8		BIS	R31, 64, R8				; R31, 64, R8				    ; 009674
	     0FCC	88_59$:												    ; 009675
43C3153E     0FCC		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 009676
A74EFFF0     0FD0		LDQ	R26, -16(R14)				; R26, -16(R14)				    ; 009677
490012D1     0FD4		EXTWL	R8, 0, R17				; R8, 0, R17

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 128
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B0BE0014     0FD8		STL	R5, 20(SP)				; R5, 20(SP)				    ; 009676
B09E0010     0FDC		STL	R4, 16(SP)				; R4, 16(SP)
47EA0412     0FE0		MOV	R10, R18				; R10, R18				    ; 009677
B07E000C     0FE4		STL	R3, 12(SP)				; R3, 12(SP)				    ; 009676
47E90410     0FE8		MOV	R9, R16					; R9, R16				    ; 009677
B05E0008     0FEC		STL	R2, 8(SP)				; R2, 8(SP)				    ; 009676
B03E0004     0FF0		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     0FF4		STL	R0, (SP)				; R0, (SP)
6B5A4000     0FF8		JSR	R26, R26				; R26, R26				    ; 009677
47E21418     0FFC		BIS	R31, 16, R24				; R31, 16, R24				    ; 009679
233F0FFF     1000		LDA	R25, 4095(R31)				; R25, 4095(R31)			    ; 009680
A0BE0014     1004		LDL	R5, 20(SP)				; R5, 20(SP)				    ; 009678
238B041C     1008		LDA	R28, 1052(R11)				; R28, 1052(R11)			    ; 009692
A01E0000     100C		LDL	R0, (SP)				; R0, (SP)				    ; 009678
A03E0004     1010		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     1014		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     1018		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     101C		LDL	R4, 16(SP)				; R4, 16(SP)
43C3141E     1020		ADDQ	SP, 24, SP				; SP, 24, SP
B30503C0     1024		STL	R24, 960(R5)				; R24, 960(R5)				    ; 009679
A3490000     1028		LDL	R26, (R9)				; R26, (R9)				    ; 009680
4759011A     102C		BIC	R26, R25, R26				; R26, R25, R26
B3490000     1030		STL	R26, (R9)				; R26, (R9)
B3E90030     1034		STL	R31, 48(R9)				; R31, 48(R9)				    ; 009682
A103007C     1038		LDL	R8, 124(R3)				; R8, 124(R3)				    ; 009686
E500002E     103C		BEQ	R8, 88_159$				; R8, 88_159$				    ; 009690
A3080000     1040		LDL	R24, (R8)				; R24, (R8)				    ; 009691
B30B041C     1044		STL	R24, 1052(R11)				; R24, 1052(R11)
2ECB041C     1048		LDQ_U	R22, 1052(R11)				; R22, 1052(R11)			    ; 009692
4ADC02D6     104C		EXTWL	R22, R28, R22				; R22, R28, R22
F380021A     1050		BLBS	R28, $L132				; R28, $L132
	     1054	$L133:
4AC61736     1054		SLL	R22, 48, R22				; R22, 48, R22
47FFF419     1058		BIS	R31, 255, R25				; R31, 255, R25
4AC61796     105C		SRA	R22, 48, R22				; R22, 48, R22
43360534     1060		SUBQ	R25, R22, R20				; R25, R22, R20
FA800008     1064		BGE	R20, 88_259$				; R20, 88_259$				    ; 009693
2F8B041C     1068		LDQ_U	R28, 1052(R11)				; R28, 1052(R11)			    ; 009694
47FFF417     106C		BIS	R31, 255, R23				; R31, 255, R23
22CB041C     1070		LDA	R22, 1052(R11)				; R22, 1052(R11)
4AF6037A     1074		INSWL	R23, R22, R26				; R23, R22, R26
4B96025C     1078		MSKWL	R28, R22, R28				; R28, R22, R28
479A041C     107C		BIS	R28, R26, R28				; R28, R26, R28
F2C00212     1080		BLBS	R22, $L134				; R22, $L134
	     1084	$L135:
3F8B041C     1084		STQ_U	R28, 1052(R11)				; R28, 1052(R11)
	     1088	88_259$:											    ; 009695
A1080004     1088		LDL	R8, 4(R8)				; R8, 4(R8)
E500001A     108C		BEQ	R8, 88_159$				; R8, 88_159$				    ; 009696
43C3153E     1090		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 009697
230B0424     1094		LDA	R24, 1060(R11)				; R24, 1060(R11)			    ; 009699
B0BE0014     1098		STL	R5, 20(SP)				; R5, 20(SP)				    ; 009697
22CB041C     109C		LDA	R22, 1052(R11)				; R22, 1052(R11)			    ; 009700
B09E0010     10A0		STL	R4, 16(SP)				; R4, 16(SP)				    ; 009697
B07E000C     10A4		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     10A8		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     10AC		STL	R1, 4(SP)				; R1, 4(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 129
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B01E0000     10B0		STL	R0, (SP)				; R0, (SP)
202B0424     10B4		LDA	R1, 1060(R11)				; R1, 1060(R11)				    ; 009698
B30B0420     10B8		STL	R24, 1056(R11)				; R24, 1056(R11)			    ; 009699
2C0B041C     10BC		LDQ_U	R0, 1052(R11)				; R0, 1052(R11)				    ; 009700
481600C0     10C0		EXTBL	R0, R22, R0				; R0, R22, R0
E4000005     10C4		BEQ	R0, 88_359$				; R0, 88_359$				    ; 009701
A74EFFF0     10C8		LDQ	R26, -16(R14)				; R26, -16(R14)				    ; 009702
480012D1     10CC		EXTWL	R0, 0, R17				; R0, 0, R17
47E80412     10D0		MOV	R8, R18					; R8, R18
47E10410     10D4		MOV	R1, R16					; R1, R16
6B5A4000     10D8		JSR	R26, R26				; R26, R26
	     10DC	88_359$:											    ; 009703
A01E0000     10DC		LDL	R0, (SP)				; R0, (SP)				    ; 009704
A03E0004     10E0		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     10E4		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     10E8		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     10EC		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     10F0		LDL	R5, 20(SP)				; R5, 20(SP)
43C3141E     10F4		ADDQ	SP, 24, SP				; SP, 24, SP
	     10F8	88_159$:											    ; 009705
A78EFF48     10F8		LDQ	R28, -184(R14)				; R28, -184(R14)			    ; 009757
A02B0020     10FC		LDL	R1, 32(R11)				; R1, 32(R11)				    ; 009710
A37C0000     1100		LDL	R27, (R28)				; R27, (R28)				    ; 009757
E3600008     1104		BLBC	R27, 88_30018$				; R27, 88_30018$
43C1153E     1108		SUBQ	SP, 8, SP				; SP, 8, SP
A74EFFD0     110C		LDQ	R26, -48(R14)				; R26, -48(R14)
A76EFFD8     1110		LDQ	R27, -40(R14)				; R27, -40(R14)
B41E0000     1114		STQ	R0, (SP)				; R0, (SP)
A0050034     1118		LDL	R0, 52(R5)				; R0, 52(R5)
6B5A4000     111C		JSR	R26, R26				; R26, R26
A41E0000     1120		LDQ	R0, (SP)				; R0, (SP)
43C1141E     1124		ADDQ	SP, 8, SP				; SP, 8, SP
	     1128	88_30018$:
47E05410     1128		BIS	R31, 2, R16				; R31, 2, R16
47E0041A     112C		MOV	R0, R26					; R0, R26
47E10419     1130		MOV	R1, R25					; R1, R25
0000000F     1134		CALL_PAL 15					; 15
47E23418     1138		BIS	R31, 17, R24				; R31, 17, R24				    ; 009764
B30503C0     113C		STL	R24, 960(R5)				; R24, 960(R5)
A2C50128     1140		LDL	R22, 296(R5)				; R22, 296(R5)				    ; 009765
22FF0400     1144		LDA	R23, 1024(R31)				; R23, 1024(R31)
47FA0400     1148		MOV	R26, R0					; R26, R0				    ; 009757
47F90401     114C		MOV	R25, R1					; R25, R1
46D70014     1150		AND	R22, R23, R20				; R22, R23, R20				    ; 009765
E6800002     1154		BEQ	R20, 88_103$				; R20, 88_103$				    ; 009766
	     1158	88_30019$:
A0030078     1158		LDL	R0, 120(R3)				; R0, 120(R3)				    ; 009768
F40000E8     115C		BNE	R0, 88_30020$				; R0, 88_30020$				    ; 009772
	     1160	88_103$:											    ; 009815
47E2541C     1160		BIS	R31, 18, R28				; R31, 18, R28				    ; 009818
B38503C0     1164		STL	R28, 960(R5)				; R28, 960(R5)
A3610004     1168		LDL	R27, 4(R1)				; R27, 4(R1)				    ; 009819
271F0081     116C		LDAH	R24, 129(R31)				; R24, 129(R31)				    ; 009822
FF600006     1170		BGT	R27, 88_61$				; R27, 88_61$				    ; 009820
A3210000     1174		LDL	R25, (R1)				; R25, (R1)				    ; 009821
43203019     1178		ADDL	R25, 1, R25				; R25, 1, R25
B3210000     117C		STL	R25, (R1)				; R25, (R1)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 130
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A2E40080     1180		LDL	R23, 128(R4)				; R23, 128(R4)				    ; 009822
46F80014     1184		AND	R23, R24, R20				; R23, R24, R20
F6800007     1188		BNE	R20, 88_160$				; R20, 88_160$				    ; 009823
	     118C	88_61$:												    ; 009824
A3810004     118C		LDL	R28, 4(R1)				; R28, 4(R1)
277F0081     1190		LDAH	R27, 129(R31)				; R27, 129(R31)				    ; 009825
4380301C     1194		ADDL	R28, 1, R28				; R28, 1, R28				    ; 009824
B3810004     1198		STL	R28, 4(R1)				; R28, 4(R1)
A3240080     119C		LDL	R25, 128(R4)				; R25, 128(R4)				    ; 009825
473B0419     11A0		BIS	R25, R27, R25				; R25, R27, R25
B3240080     11A4		STL	R25, 128(R4)				; R25, 128(R4)
	     11A8	88_160$:											    ; 009826
A70E00A0     11A8		LDQ	R24, 160(R14)				; R24, 160(R14)				    ; 009835
43E6000C     11AC		SEXTL	R6, R12					; R6, R12				    ; 009834
A14B0024     11B0		LDL	R10, 36(R11)				; R10, 36(R11)				    ; 009827
277FFFFF     11B4		LDAH	R27, -1(R31)				; R27, -1(R31)				    ; 009840
237B0FFF     11B8		LDA	R27, 4095(R27)				; R27, 4095(R27)
A2F80000     11BC		LDL	R23, (R24)				; R23, (R24)				    ; 009835
43C0953E     11C0		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 009839
275F0001     11C4		LDAH	R26, 1(R31)				; R26, 1(R31)				    ; 009841
4197012C     11C8		SUBL	R12, R23, R12				; R12, R23, R12				    ; 009835
B1BE0000     11CC		STL	R13, (SP)				; R13, (SP)				    ; 009839
43EC001C     11D0		SEXTL	R12, R28				; R12, R28				    ; 009836
4B80B78C     11D4		SRA	R28, 5, R12				; R28, 5, R12
235AF000     11D8		LDA	R26, -4096(R26)				; R26, -4096(R26)			    ; 009841
4180300C     11DC		ADDL	R12, 1, R12				; R12, 1, R12				    ; 009838
459B010D     11E0		BIC	R12, R27, R13				; R12, R27, R13				    ; 009840
43ED000D     11E4		SEXTL	R13, R13				; R13, R13
43ED0017     11E8		SEXTL	R13, R23				; R13, R23				    ; 009843
A1BE0000     11EC		LDL	R13, (SP)				; R13, (SP)				    ; 009846
43C0941E     11F0		ADDQ	SP, 4, SP				; SP, 4, SP
43C2953E     11F4		SUBQ	SP, 20, SP				; SP, 20, SP				    ; 009863
43FE000A     11F8		SEXTL	SP, R10					; SP, R10				    ; 009864
B17E0010     11FC		STL	R11, 16(SP)				; R11, 16(SP)				    ; 009857
47E81416     1200		BIS	R31, 64, R22				; R31, 64, R22				    ; 009865
B2CA0000     1204		STL	R22, (R10)				; R22, (R10)
238B0190     1208		LDA	R28, 400(R11)				; R28, 400(R11)				    ; 009866
B38A0004     120C		STL	R28, 4(R10)				; R28, 4(R10)
459A010C     1210		BIC	R12, R26, R12				; R12, R26, R12				    ; 009841
47E3141B     1214		BIS	R31, 24, R27				; R31, 24, R27				    ; 009867
B36A0008     1218		STL	R27, 8(R10)				; R27, 8(R10)
234B03D8     121C		LDA	R26, 984(R11)				; R26, 984(R11)				    ; 009868
B34A000C     1220		STL	R26, 12(R10)				; R26, 12(R10)
43C0953E     1224		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 009886
4980972C     1228		SLL	R12, 4, R12				; R12, 4, R12				    ; 009842
B3FE0000     122C		STL	R31, (SP)				; R31, (SP)				    ; 009886
A32A000C     1230		LDL	R25, 12(R10)				; R25, 12(R10)				    ; 009887
43C1953E     1234		SUBQ	SP, 12, SP				; SP, 12, SP				    ; 009889
4AE19780     1238		SRA	R23, 12, R0				; R23, 12, R0				    ; 009843
43EC000C     123C		SEXTL	R12, R12				; R12, R12				    ; 009842
B33E0008     1240		STL	R25, 8(SP)				; R25, 8(SP)				    ; 009887
4580040C     1244		BIS	R12, R0, R12				; R12, R0, R12				    ; 009844
B3FE0004     1248		STL	R31, 4(SP)				; R31, 4(SP)				    ; 009888
43EC000C     124C		SEXTL	R12, R12				; R12, R12				    ; 009844
B3FE0000     1250		STL	R31, (SP)				; R31, (SP)				    ; 009889
498012CC     1254		EXTWL	R12, 0, R12				; R12, 0, R12				    ; 009845
A30B0424     1258		LDL	R24, 1060(R11)				; R24, 1060(R11)			    ; 009892

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 131
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43EC0008     125C		SEXTL	R12, R8					; R12, R8				    ; 009848
E70000B7     1260		BEQ	R24, $L98				; R24, $L98				    ; 009893
	     1264	88_459$:											    ; 009896
43C0953E     1264		SUBQ	SP, 4, SP				; SP, 4, SP
22EB041C     1268		LDA	R23, 1052(R11)				; R23, 1052(R11)
B2FE0000     126C		STL	R23, (SP)				; R23, (SP)
	     1270	88_559$:											    ; 009897
43C1153E     1270		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 009899
A6CEFFC8     1274		LDQ	R22, -56(R14)				; R22, -56(R14)				    ; 009900
A74EFF70     1278		LDQ	R26, -144(R14)				; R26, -144(R14)			    ; 009911
47E6541C     127C		BIS	R31, 50, R28				; R31, 50, R28				    ; 009908
B15E0004     1280		STL	R10, 4(SP)				; R10, 4(SP)				    ; 009898
47E3F41B     1284		BIS	R31, 31, R27				; R31, 31, R27				    ; 009910
B17E0000     1288		STL	R11, (SP)				; R11, (SP)				    ; 009899
43C2953E     128C		SUBQ	SP, 20, SP				; SP, 20, SP				    ; 009910
47E25419     1290		BIS	R31, 18, R25				; R31, 18, R25				    ; 009916
B2DE0010     1294		STL	R22, 16(SP)				; R22, 16(SP)				    ; 009900
B3FE000C     1298		STL	R31, 12(SP)				; R31, 12(SP)				    ; 009907
47FF0410     129C		CLR	R16					; R16					    ; 009921
B39E0008     12A0		STL	R28, 8(SP)				; R28, 8(SP)				    ; 009908
47E00418     12A4		MOV	R0, R24					; R0, R24				    ; 009921
B11E0004     12A8		STL	R8, 4(SP)				; R8, 4(SP)				    ; 009909
47E10417     12AC		MOV	R1, R23					; R1, R23				    ; 009921
B37E0000     12B0		STL	R27, (SP)				; R27, (SP)				    ; 009910
239F01D0     12B4		LDA	R28, 464(R31)				; R28, 464(R31)				    ; 009927
A09A0000     12B8		LDL	R4, (R26)				; R4, (R26)				    ; 009911
43C0953E     12BC		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 009913
B15E0000     12C0		STL	R10, (SP)				; R10, (SP)
A14B0030     12C4		LDL	R10, 48(R11)				; R10, 48(R11)				    ; 009914
B10A03C8     12C8		STL	R8, 968(R10)				; R8, 968(R10)				    ; 009915
B32A03C0     12CC		STL	R25, 960(R10)				; R25, 960(R10)				    ; 009916
A15E0000     12D0		LDL	R10, (SP)				; R10, (SP)				    ; 009917
43C0941E     12D4		ADDQ	SP, 4, SP				; SP, 4, SP
0000000F     12D8		CALL_PAL 15					; 15					    ; 009921
A6CE00A8     12DC		LDQ	R22, 168(R14)				; R22, 168(R14)				    ; 009925
47E19419     12E0		BIS	R31, 12, R25				; R31, 12, R25				    ; 009934
47F80400     12E4		MOV	R24, R0					; R24, R0				    ; 009921
A0160000     12E8		LDL	R0, (R22)				; R0, (R22)				    ; 009925
47F70401     12EC		MOV	R23, R1					; R23, R1				    ; 009921
401C0000     12F0		ADDL	R0, R28, R0				; R0, R28, R0				    ; 009927
A0000000     12F4		LDL	R0, (R0)				; R0, (R0)				    ; 009928
43C6953E     12F8		SUBQ	SP, 52, SP				; SP, 52, SP				    ; 009934
A37E004C     12FC		LDL	R27, 76(SP)				; R27, 76(SP)
A21E0034     1300		LDL	R16, 52(SP)				; R16, 52(SP)
A23E0038     1304		LDL	R17, 56(SP)				; R17, 56(SP)
A25E003C     1308		LDL	R18, 60(SP)				; R18, 60(SP)
A27E0040     130C		LDL	R19, 64(SP)				; R19, 64(SP)
A29E0044     1310		LDL	R20, 68(SP)				; R20, 68(SP)
A2BE0048     1314		LDL	R21, 72(SP)				; R21, 72(SP)
A35E0050     1318		LDL	R26, 80(SP)				; R26, 80(SP)
B77E0000     131C		STQ	R27, (SP)				; R27, (SP)
B75E0008     1320		STQ	R26, 8(SP)				; R26, 8(SP)
A37E0054     1324		LDL	R27, 84(SP)				; R27, 84(SP)
A35E0058     1328		LDL	R26, 88(SP)				; R26, 88(SP)
B77E0010     132C		STQ	R27, 16(SP)				; R27, 16(SP)
B75E0018     1330		STQ	R26, 24(SP)				; R26, 24(SP)
A35E0060     1334		LDL	R26, 96(SP)				; R26, 96(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 132
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A37E005C     1338		LDL	R27, 92(SP)				; R27, 92(SP)
B77E0020     133C		STQ	R27, 32(SP)				; R27, 32(SP)
B75E0028     1340		STQ	R26, 40(SP)				; R26, 40(SP)
A74E0080     1344		LDQ	R26, 128(R14)				; R26, 128(R14)
A76E0088     1348		LDQ	R27, 136(R14)				; R27, 136(R14)
6B5A4000     134C		JSR	R26, R26				; R26, R26
47E05410     1350		BIS	R31, 2, R16				; R31, 2, R16				    ; 009959
47E10418     1354		MOV	R1, R24					; R1, R24
43CC941E     1358		ADDQ	SP, 100, SP				; SP, 100, SP				    ; 009934
47E00419     135C		MOV	R0, R25					; R0, R25				    ; 009959
0000000F     1360		CALL_PAL 15					; 15
A17E0010     1364		LDL	R11, 16(SP)				; R11, 16(SP)				    ; 009964
B15E0010     1368		STL	R10, 16(SP)				; R10, 16(SP)				    ; 009966
43C2141E     136C		ADDQ	SP, 16, SP				; SP, 16, SP				    ; 009964
47F90400     1370		MOV	R25, R0					; R25, R0				    ; 009959
A14B0030     1374		LDL	R10, 48(R11)				; R10, 48(R11)				    ; 009967
47E27417     1378		BIS	R31, 19, R23				; R31, 19, R23				    ; 009970
47F80401     137C		MOV	R24, R1					; R24, R1				    ; 009959
B00A03CC     1380		STL	R0, 972(R10)				; R0, 972(R10)				    ; 009968
B2EA03C0     1384		STL	R23, 960(R10)				; R23, 960(R10)				    ; 009970
A15E0000     1388		LDL	R10, (SP)				; R10, (SP)				    ; 009971
43C0941E     138C		ADDQ	SP, 4, SP				; SP, 4, SP
E000006F     1390		BLBC	R0, $L99				; R0, $L99				    ; 009975
	     1394	88_3500$:											    ; 009977
A14B0024     1394		LDL	R10, 36(R11)				; R10, 36(R11)				    ; 010013
43C1153E     1398		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010014
236E0140     139C		LDA	R27, 320(R14)				; R27, 320(R14)
D340040F     13A0		BSR	R26, DOWAIT				; R26, DOWAIT
47E05410     13A4		BIS	R31, 2, R16				; R31, 2, R16				    ; 010018
43EA0000     13A8		SEXTL	R10, R0					; R10, R0				    ; 010015
47E00416     13AC		MOV	R0, R22					; R0, R22				    ; 010018
43C1141E     13B0		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 010014
47E1041C     13B4		MOV	R1, R28					; R1, R28				    ; 010018
0000000F     13B8		CALL_PAL 15					; 15
43C0953E     13BC		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 010019
47FC0401     13C0		MOV	R28, R1					; R28, R1				    ; 010018
47F60400     13C4		MOV	R22, R0					; R22, R0
B01E0000     13C8		STL	R0, (SP)				; R0, (SP)				    ; 010019
A0AB0148     13CC		LDL	R5, 328(R11)				; R5, 328(R11)				    ; 010029
43C0953E     13D0		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 010030
41DA153B     13D4		SUBQ	R14, 208, R27				; R14, 208, R27
D35FFB75     13D8		BSR	R26, GETJTUCB				; R26, GETJTUCB
235F0599     13DC		LDA	R26, 1433(R31)				; R26, 1433(R31)			    ; 010034
43C0941E     13E0		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 010030
E4000018     13E4		BEQ	R0, 88_85$				; R0, 88_85$				    ; 010032
A6EEFF18     13E8		LDQ	R23, -232(R14)				; R23, -232(R14)			    ; 010035
43E00005     13EC		SEXTL	R0, R5					; R0, R5				    ; 010033
236E03C8     13F0		LDA	R27, 968(R14)				; R27, 968(R14)				    ; 010038
B34503C0     13F4		STL	R26, 960(R5)				; R26, 960(R5)				    ; 010034
A30B0044     13F8		LDL	R24, 68(R11)				; R24, 68(R11)				    ; 010035
A2D70078     13FC		LDL	R22, 120(R23)				; R22, 120(R23)
43160534     1400		SUBQ	R24, R22, R20				; R24, R22, R20
E68000A6     1404		BEQ	R20, 88_80$				; R20, 88_80$				    ; 010036
43C0953E     1408		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 010038
D3400FF8     140C		BSR	R26, FINDLDT				; R26, FINDLDT
400B0534     1410		SUBQ	R0, R11, R20				; R0, R11, R20				    ; 010041
43C0941E     1414		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 010038

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 133
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

F680000B     1418		BNE	R20, 88_85$				; R20, 88_85$				    ; 010042
A38B0000     141C		LDL	R28, (R11)				; R28, (R11)				    ; 010044
43EB0000     1420		SEXTL	R11, R0					; R11, R0				    ; 010047
A74E0020     1424		LDQ	R26, 32(R14)				; R26, 32(R14)				    ; 010051
A76E0028     1428		LDQ	R27, 40(R14)				; R27, 40(R14)
B3810000     142C		STL	R28, (R1)				; R28, (R1)				    ; 010044
A02B0034     1430		LDL	R1, 52(R11)				; R1, 52(R11)				    ; 010046
A12B0528     1434		LDL	R9, 1320(R11)				; R9, 1320(R11)				    ; 010050
43C0953E     1438		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 010051
6B5A4000     143C		JSR	R26, R26				; R26, R26
43C0941E     1440		ADDQ	SP, 4, SP				; SP, 4, SP
2FFE0000     1444		LNOP						; 
	     1448	88_85$:												    ; 010074
A01E0000     1448		LDL	R0, (SP)				; R0, (SP)				    ; 010075
43C0941E     144C		ADDQ	SP, 4, SP				; SP, 4, SP
43E9000C     1450		SEXTL	R9, R12					; R9, R12				    ; 010081
A03E0028     1454		LDL	R1, 40(SP)				; R1, 40(SP)				    ; 010085
A05E0000     1458		LDL	R2, (SP)				; R2, (SP)				    ; 010084
A07E0004     145C		LDL	R3, 4(SP)				; R3, 4(SP)
A09E0008     1460		LDL	R4, 8(SP)				; R4, 8(SP)
A0BE000C     1464		LDL	R5, 12(SP)				; R5, 12(SP)
A0DE0010     1468		LDL	R6, 16(SP)				; R6, 16(SP)
A0FE0014     146C		LDL	R7, 20(SP)				; R7, 20(SP)
A11E0018     1470		LDL	R8, 24(SP)				; R8, 24(SP)
A13E001C     1474		LDL	R9, 28(SP)				; R9, 28(SP)
A15E0020     1478		LDL	R10, 32(SP)				; R10, 32(SP)
A17E0024     147C		LDL	R11, 36(SP)				; R11, 36(SP)
A03E002C     1480		LDL	R1, 44(SP)				; R1, 44(SP)				    ; 010086
43C6141E     1484		ADDQ	SP, 48, SP				; SP, 48, SP
43EC0001     1488		SEXTL	R12, R1					; R12, R1				    ; 010087
2FFE0000     148C		LNOP						; 
	     1490	88_510$:											    ; 010160
A74EFFA0     1490		LDQ	R26, -96(R14)				; R26, -96(R14)				    ; 010164
43C1153E     1494		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010162
A76EFFA8     1498		LDQ	R27, -88(R14)				; R27, -88(R14)				    ; 010164
47E3F410     149C		BIS	R31, 31, R16				; R31, 31, R16				    ; 010163
B03E0004     14A0		STL	R1, 4(SP)				; R1, 4(SP)				    ; 010161
47E03419     14A4		BIS	R31, 1, R25				; R31, 1, R25				    ; 010164
B01E0000     14A8		STL	R0, (SP)				; R0, (SP)				    ; 010162
6B5A4000     14AC		JSR	R26, R26				; R26, R26				    ; 010164
A74E0090     14B0		LDQ	R26, 144(R14)				; R26, 144(R14)				    ; 010185
A01E0000     14B4		LDL	R0, (SP)				; R0, (SP)				    ; 010165
A03E0004     14B8		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 010166
A0BE0008     14BC		LDL	R5, 8(SP)				; R5, 8(SP)				    ; 010168
A76E0098     14C0		LDQ	R27, 152(R14)				; R27, 152(R14)				    ; 010185
43C2141E     14C4		ADDQ	SP, 16, SP				; SP, 16, SP				    ; 010169
6B5A4000     14C8		JSR	R26, R26				; R26, R26				    ; 010185
47FF0410     14CC		CLR	R16					; R16					    ; 010190
B0010000     14D0		STL	R0, (R1)				; R0, (R1)				    ; 010187
201F0AC8     14D4		LDA	R0, 2760(R31)				; R0, 2760(R31)				    ; 010188
47E0041B     14D8		MOV	R0, R27					; R0, R27				    ; 010190
B3E30090     14DC		STL	R31, 144(R3)				; R31, 144(R3)				    ; 010189
47E1041A     14E0		MOV	R1, R26					; R1, R26				    ; 010190
0000000F     14E4		CALL_PAL 15					; 15
47FA0401     14E8		MOV	R26, R1					; R26, R1
47FB0400     14EC		MOV	R27, R0					; R27, R0
C3FFFB9F     14F0		BR	$L8					; $L8					    ; 010191

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 134
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47FF041F     14F4		NOP						; 
	     14F8	$L96:												    ; 009766
C3FFFF19     14F8		BR	88_103$					; 88_103$
47FF041F     14FC		NOP						; 
	     1500	88_30020$:											    ; 009772
A0000004     1500		LDL	R0, 4(R0)				; R0, 4(R0)				    ; 009773
E41FFF16     1504		BEQ	R0, 88_103$				; R0, 88_103$				    ; 009774
	     1508	88_30021$:
2F600008     1508		LDQ_U	R27, 8(R0)				; R27, 8(R0)				    ; 009784
4B6000DB     150C		EXTBL	R27, R0, R27				; R27, R0, R27
47701014     1510		AND	R27, 128, R20				; R27, 128, R20
4A871734     1514		SLL	R20, 56, R20				; R20, 56, R20
4A871794     1518		SRA	R20, 56, R20				; R20, 56, R20
E69FFF10     151C		BEQ	R20, 88_103$				; R20, 88_103$				    ; 009785
2F000009     1520		LDQ_U	R24, 9(R0)				; R24, 9(R0)				    ; 009786
40013417     1524		ADDQ	R0, 9, R23				; R0, 9, R23
4B1700D8     1528		EXTBL	R24, R23, R24				; R24, R23, R24
47101014     152C		AND	R24, 128, R20				; R24, 128, R20
4A871734     1530		SLL	R20, 56, R20				; R20, 56, R20
4A871794     1534		SRA	R20, 56, R20				; R20, 56, R20
F68000A1     1538		BNE	R20, $L97				; R20, $L97				    ; 009787
	     153C	88_105$:											    ; 009814
C3FFFF08     153C		BR	88_103$					; 88_103$				    ; 009815
	     1540	$L98:												    ; 009894
43C0953E     1540		SUBQ	SP, 4, SP				; SP, 4, SP
B3FE0000     1544		STL	R31, (SP)				; R31, (SP)
C3FFFF49     1548		BR	88_559$					; 88_559$				    ; 009895
47FF041F     154C		NOP						; 
	     1550	$L99:												    ; 009976
A03E0028     1550		LDL	R1, 40(SP)				; R1, 40(SP)				    ; 010095
43EB0000     1554		SEXTL	R11, R0					; R11, R0				    ; 010092
A05E0000     1558		LDL	R2, (SP)				; R2, (SP)				    ; 010094
236E0568     155C		LDA	R27, 1384(R14)				; R27, 1384(R14)			    ; 010103
A07E0004     1560		LDL	R3, 4(SP)				; R3, 4(SP)				    ; 010094
A09E0008     1564		LDL	R4, 8(SP)				; R4, 8(SP)
A0BE000C     1568		LDL	R5, 12(SP)				; R5, 12(SP)
A0DE0010     156C		LDL	R6, 16(SP)				; R6, 16(SP)
A0FE0014     1570		LDL	R7, 20(SP)				; R7, 20(SP)
A11E0018     1574		LDL	R8, 24(SP)				; R8, 24(SP)
A13E001C     1578		LDL	R9, 28(SP)				; R9, 28(SP)
A15E0020     157C		LDL	R10, 32(SP)				; R10, 32(SP)
A17E0024     1580		LDL	R11, 36(SP)				; R11, 36(SP)
43E0000B     1584		SEXTL	R0, R11					; R0, R11				    ; 010101
A03E002C     1588		LDL	R1, 44(SP)				; R1, 44(SP)				    ; 010096
43C6141E     158C		ADDQ	SP, 48, SP				; SP, 48, SP
A0200528     1590		LDL	R1, 1320(R0)				; R1, 1320(R0)				    ; 010100
43C1153E     1594		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010103
B17E0004     1598		STL	R11, 4(SP)				; R11, 4(SP)				    ; 010102
D3401104     159C		BSR	R26, STP2BAD				; R26, STP2BAD				    ; 010103
47E05410     15A0		BIS	R31, 2, R16				; R31, 2, R16				    ; 010104
47E10418     15A4		MOV	R1, R24					; R1, R24
43C0941E     15A8		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 010103
47E00419     15AC		MOV	R0, R25					; R0, R25				    ; 010104
0000000F     15B0		CALL_PAL 15					; 15
A17E0000     15B4		LDL	R11, (SP)				; R11, (SP)				    ; 010107
43C5953E     15B8		SUBQ	SP, 44, SP				; SP, 44, SP
47F90400     15BC		MOV	R25, R0					; R25, R0				    ; 010104

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 135
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B17E002C     15C0		STL	R11, 44(SP)				; R11, 44(SP)				    ; 010111
47F80401     15C4		MOV	R24, R1					; R24, R1				    ; 010104
B15E0028     15C8		STL	R10, 40(SP)				; R10, 40(SP)				    ; 010111
47E19400     15CC		BIS	R31, 12, R0				; R31, 12, R0				    ; 010108
B13E0024     15D0		STL	R9, 36(SP)				; R9, 36(SP)				    ; 010111
41DA153B     15D4		SUBQ	R14, 208, R27				; R14, 208, R27				    ; 010121
B11E0020     15D8		STL	R8, 32(SP)				; R8, 32(SP)				    ; 010111
B0FE001C     15DC		STL	R7, 28(SP)				; R7, 28(SP)
B0DE0018     15E0		STL	R6, 24(SP)				; R6, 24(SP)
B0BE0014     15E4		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     15E8		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     15EC		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     15F0		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     15F4		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     15F8		STL	R0, (SP)				; R0, (SP)
A0AB0148     15FC		LDL	R5, 328(R11)				; R5, 328(R11)				    ; 010120
43C1153E     1600		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010121
D35FFAEA     1604		BSR	R26, GETJTUCB				; R26, GETJTUCB
43C1141E     1608		ADDQ	SP, 8, SP				; SP, 8, SP
E4000016     160C		BEQ	R0, 88_3085$				; R0, 88_3085$				    ; 010123
A76EFF18     1610		LDQ	R27, -232(R14)				; R27, -232(R14)			    ; 010125
43E00005     1614		SEXTL	R0, R5					; R0, R5				    ; 010124
A38B0044     1618		LDL	R28, 68(R11)				; R28, 68(R11)				    ; 010125
A35B0078     161C		LDL	R26, 120(R27)				; R26, 120(R27)
236E03C8     1620		LDA	R27, 968(R14)				; R27, 968(R14)				    ; 010128
439A0534     1624		SUBQ	R28, R26, R20				; R28, R26, R20				    ; 010125
E6800041     1628		BEQ	R20, 88_3080$				; R20, 88_3080$				    ; 010126
43C1153E     162C		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010128
D3400F6F     1630		BSR	R26, FINDLDT				; R26, FINDLDT
400B0534     1634		SUBQ	R0, R11, R20				; R0, R11, R20				    ; 010131
43C1141E     1638		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 010128
F680000A     163C		BNE	R20, 88_3085$				; R20, 88_3085$				    ; 010132
A32B0000     1640		LDL	R25, (R11)				; R25, (R11)				    ; 010134
43EB0000     1644		SEXTL	R11, R0					; R11, R0				    ; 010137
A74E0020     1648		LDQ	R26, 32(R14)				; R26, 32(R14)				    ; 010138
A76E0028     164C		LDQ	R27, 40(R14)				; R27, 40(R14)
B3210000     1650		STL	R25, (R1)				; R25, (R1)				    ; 010134
A02B0034     1654		LDL	R1, 52(R11)				; R1, 52(R11)				    ; 010136
43C1153E     1658		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010138
6B5A4000     165C		JSR	R26, R26				; R26, R26
43C1141E     1660		ADDQ	SP, 8, SP				; SP, 8, SP
2FFE0000     1664		LNOP						; 
	     1668	88_3085$:											    ; 010158
A01E0000     1668		LDL	R0, (SP)				; R0, (SP)				    ; 010159
A03E0004     166C		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     1670		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     1674		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     1678		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     167C		LDL	R5, 20(SP)				; R5, 20(SP)
A0DE0018     1680		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     1684		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     1688		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     168C		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     1690		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     1694		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     1698		ADDQ	SP, 48, SP				; SP, 48, SP
C3FFFF7C     169C		BR	88_510$					; 88_510$				    ; 010160

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 136
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     16A0	88_80$:												    ; 010053
43C0953E     16A0		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 010055
236E03C8     16A4		LDA	R27, 968(R14)				; R27, 968(R14)
D3400F51     16A8		BSR	R26, FINDLDT				; R26, FINDLDT
400B0534     16AC		SUBQ	R0, R11, R20				; R0, R11, R20				    ; 010056
43C0941E     16B0		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 010055
F69FFF64     16B4		BNE	R20, 88_85$				; R20, 88_85$				    ; 010057
A74E0030     16B8		LDQ	R26, 48(R14)				; R26, 48(R14)				    ; 010060
43E1000A     16BC		SEXTL	R1, R10					; R1, R10				    ; 010058
A76E0038     16C0		LDQ	R27, 56(R14)				; R27, 56(R14)				    ; 010060
203F013C     16C4		LDA	R1, 316(R31)				; R1, 316(R31)				    ; 010059
43C0953E     16C8		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 010060
6B5A4000     16CC		JSR	R26, R26				; R26, R26
43C0941E     16D0		ADDQ	SP, 4, SP				; SP, 4, SP
E01FFF5C     16D4		BLBC	R0, 88_85$				; R0, 88_85$				    ; 010061
A74EFFF0     16D8		LDQ	R26, -16(R14)				; R26, -16(R14)				    ; 010063
43E20009     16DC		SEXTL	R2, R9					; R2, R9				    ; 010062
223F013C     16E0		LDA	R17, 316(R31)				; R17, 316(R31)				    ; 010063
47EB0412     16E4		MOV	R11, R18				; R11, R18
47E90410     16E8		MOV	R9, R16					; R9, R16
6B5A4000     16EC		JSR	R26, R26				; R26, R26
231F013C     16F0		LDA	R24, 316(R31)				; R24, 316(R31)				    ; 010065
47FF0402     16F4		CLR	R2					; R2					    ; 010063
A74E0020     16F8		LDQ	R26, 32(R14)				; R26, 32(R14)				    ; 010072
47F00403     16FC		MOV	R16, R3					; R16, R3				    ; 010063
B3090034     1700		STL	R24, 52(R9)				; R24, 52(R9)				    ; 010065
47FF0404     1704		CLR	R4					; R4					    ; 010063
B12A0000     1708		STL	R9, (R10)				; R9, (R10)				    ; 010066
47FF0405     170C		CLR	R5					; R5					    ; 010063
A02B0034     1710		LDL	R1, 52(R11)				; R1, 52(R11)				    ; 010067
43EB0000     1714		SEXTL	R11, R0					; R11, R0				    ; 010068
A12B0528     1718		LDL	R9, 1320(R11)				; R9, 1320(R11)				    ; 010071
43C0953E     171C		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 010072
A76E0028     1720		LDQ	R27, 40(R14)				; R27, 40(R14)
6B5A4000     1724		JSR	R26, R26				; R26, R26
43C0941E     1728		ADDQ	SP, 4, SP				; SP, 4, SP
C3FFFF46     172C		BR	88_85$					; 88_85$				    ; 010074
	     1730	88_3080$:											    ; 010140
43C1153E     1730		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010142
236E03C8     1734		LDA	R27, 968(R14)				; R27, 968(R14)
D3400F2D     1738		BSR	R26, FINDLDT				; R26, FINDLDT
400B0534     173C		SUBQ	R0, R11, R20				; R0, R11, R20				    ; 010143
43C1141E     1740		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 010142
F69FFFC8     1744		BNE	R20, 88_3085$				; R20, 88_3085$				    ; 010144
A74E0030     1748		LDQ	R26, 48(R14)				; R26, 48(R14)				    ; 010147
43E1000A     174C		SEXTL	R1, R10					; R1, R10				    ; 010145
A76E0038     1750		LDQ	R27, 56(R14)				; R27, 56(R14)				    ; 010147
203F013C     1754		LDA	R1, 316(R31)				; R1, 316(R31)				    ; 010146
43C1153E     1758		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010147
6B5A4000     175C		JSR	R26, R26				; R26, R26
43C1141E     1760		ADDQ	SP, 8, SP				; SP, 8, SP
E01FFFC0     1764		BLBC	R0, 88_3085$				; R0, 88_3085$				    ; 010148
A74EFFF0     1768		LDQ	R26, -16(R14)				; R26, -16(R14)				    ; 010150
43E20009     176C		SEXTL	R2, R9					; R2, R9				    ; 010149
223F013C     1770		LDA	R17, 316(R31)				; R17, 316(R31)				    ; 010150
47EB0412     1774		MOV	R11, R18				; R11, R18
47E90410     1778		MOV	R9, R16					; R9, R16

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 137
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

6B5A4000     177C		JSR	R26, R26				; R26, R26
22FF013C     1780		LDA	R23, 316(R31)				; R23, 316(R31)				    ; 010152
47FF0402     1784		CLR	R2					; R2					    ; 010150
A74E0020     1788		LDQ	R26, 32(R14)				; R26, 32(R14)				    ; 010156
47F00403     178C		MOV	R16, R3					; R16, R3				    ; 010150
B2E90034     1790		STL	R23, 52(R9)				; R23, 52(R9)				    ; 010152
47FF0404     1794		CLR	R4					; R4					    ; 010150
B12A0000     1798		STL	R9, (R10)				; R9, (R10)				    ; 010153
47FF0405     179C		CLR	R5					; R5					    ; 010150
A02B0034     17A0		LDL	R1, 52(R11)				; R1, 52(R11)				    ; 010154
43EB0000     17A4		SEXTL	R11, R0					; R11, R0				    ; 010155
A76E0028     17A8		LDQ	R27, 40(R14)				; R27, 40(R14)				    ; 010156
43C1153E     17AC		SUBQ	SP, 8, SP				; SP, 8, SP
6B5A4000     17B0		JSR	R26, R26				; R26, R26
43C1141E     17B4		ADDQ	SP, 8, SP				; SP, 8, SP
C3FFFFAB     17B8		BR	88_3085$				; 88_3085$				    ; 010158
47FF041F     17BC		NOP						; 
	     17C0	$L97:												    ; 009793
43EB0000     17C0		SEXTL	R11, R0					; R11, R0
A05E0000     17C4		LDL	R2, (SP)				; R2, (SP)				    ; 009795
43E50001     17C8		SEXTL	R5, R1					; R5, R1				    ; 009794
A07E0004     17CC		LDL	R3, 4(SP)				; R3, 4(SP)				    ; 009795
A09E0008     17D0		LDL	R4, 8(SP)				; R4, 8(SP)
22DF03F9     17D4		LDA	R22, 1017(R31)				; R22, 1017(R31)			    ; 009812
A0BE000C     17D8		LDL	R5, 12(SP)				; R5, 12(SP)				    ; 009795
A0DE0010     17DC		LDL	R6, 16(SP)				; R6, 16(SP)
A0FE0014     17E0		LDL	R7, 20(SP)				; R7, 20(SP)
A11E0018     17E4		LDL	R8, 24(SP)				; R8, 24(SP)
A13E001C     17E8		LDL	R9, 28(SP)				; R9, 28(SP)
A15E0020     17EC		LDL	R10, 32(SP)				; R10, 32(SP)
A17E0024     17F0		LDL	R11, 36(SP)				; R11, 36(SP)
43C5141E     17F4		ADDQ	SP, 40, SP				; SP, 40, SP
43E0000B     17F8		SEXTL	R0, R11					; R0, R11				    ; 009796
43E10000     17FC		SEXTL	R1, R0					; R1, R0				    ; 009797
A03E0000     1800		LDL	R1, (SP)				; R1, (SP)				    ; 009798
A03E0004     1804		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 009799
A0BE0008     1808		LDL	R5, 8(SP)				; R5, 8(SP)				    ; 009801
43C2953E     180C		SUBQ	SP, 20, SP				; SP, 20, SP				    ; 009798
B17E0020     1810		STL	R11, 32(SP)				; R11, 32(SP)				    ; 009807
B15E001C     1814		STL	R10, 28(SP)				; R10, 28(SP)
B13E0018     1818		STL	R9, 24(SP)				; R9, 24(SP)
B11E0014     181C		STL	R8, 20(SP)				; R8, 20(SP)
B0FE0010     1820		STL	R7, 16(SP)				; R7, 16(SP)
B0DE000C     1824		STL	R6, 12(SP)				; R6, 12(SP)
B0BE0008     1828		STL	R5, 8(SP)				; R5, 8(SP)
43E00005     182C		SEXTL	R0, R5					; R0, R5				    ; 009808
B09E0004     1830		STL	R4, 4(SP)				; R4, 4(SP)				    ; 009807
B07E0000     1834		STL	R3, (SP)				; R3, (SP)
43C1953E     1838		SUBQ	SP, 12, SP				; SP, 12, SP				    ; 009809
B05E0008     183C		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     1840		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     1844		STL	R0, (SP)				; R0, (SP)
B2C503C0     1848		STL	R22, 960(R5)				; R22, 960(R5)				    ; 009812
	     184C	AFAKFID:											    ; 010204
A01E0000     184C		LDL	R0, (SP)				; R0, (SP)				    ; 010205
236E0280     1850		LDA	R27, 640(R14)				; R27, 640(R14)				    ; 010206
A03E0004     1854		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 010205

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 138
V01H                            ACCFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A05E0008     1858		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     185C		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     1860		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     1864		LDL	R5, 20(SP)				; R5, 20(SP)
A0DE0018     1868		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     186C		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     1870		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     1874		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     1878		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     187C		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     1880		ADDQ	SP, 48, SP				; SP, 48, SP
D3400776     1884		BSR	R26, POPOUT				; R26, POPOUT				    ; 010206
C3FFFAB9     1888		BR	$L8					; $L8					    ; 010207
	     188C	$L126:												    ; 009325
2F600005     188C		LDQ_U	R27, 5(R0)				; R27, 5(R0)
4B760B5C     1890		EXTWH	R27, R22, R28				; R27, R22, R28
443C0401     1894		BIS	R1, R28, R1				; R1, R28, R1
C3FFFC16     1898		BR	$L127					; $L127
	     189C	$L128:												    ; 009647
2F2A0009     189C		LDQ_U	R25, 9(R10)				; R25, 9(R10)
4B2A0B5A     18A0		EXTWH	R25, R10, R26				; R25, R10, R26
471A0418     18A4		BIS	R24, R26, R24				; R24, R26, R24
C3FFFD90     18A8		BR	$L129					; $L129
	     18AC	$L130:												    ; 009649
2DEA000F     18AC		LDQ_U	R15, 15(R10)				; R15, 15(R10)
49F80B5A     18B0		EXTWH	R15, R24, R26				; R15, R24, R26
473A0419     18B4		BIS	R25, R26, R25				; R25, R26, R25
C3FFFD98     18B8		BR	$L131					; $L131
	     18BC	$L132:												    ; 009692
2F4B041D     18BC		LDQ_U	R26, 1053(R11)				; R26, 1053(R11)
4B5C0B5B     18C0		EXTWH	R26, R28, R27				; R26, R28, R27
46DB0416     18C4		BIS	R22, R27, R22				; R22, R27, R22
C3FFFDE2     18C8		BR	$L133					; $L133
	     18CC	$L134:												    ; 009694
2F6B041D     18CC		LDQ_U	R27, 1053(R11)				; R27, 1053(R11)
4AF60AFA     18D0		INSWH	R23, R22, R26				; R23, R22, R26
4B760A5B     18D4		MSKWH	R27, R22, R27				; R27, R22, R27
477A041B     18D8		BIS	R27, R26, R27				; R27, R26, R27
3F6B041D     18DC		STQ_U	R27, 1053(R11)				; R27, 1053(R11)
C3FFFDE8     18E0		BR	$L135					; $L135
47FF041F     18E4		NOP						; 
47FF041F     18E8		NOP						; 
47FF041F     18EC		NOP						; 

Routine Size: 5632 bytes,    Routine Base: $$$115_DRIVER + 02F0

	     18F0	CLNPRV:												    ; 010210
43CC153E     18F0		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     18F4		STQ	R26, (SP)				; R26, (SP)
B45E0008     18F8		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     18FC		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     1900		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     1904		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     1908		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     190C		STQ	R7, 48(SP)				; R7, 48(SP)
B51E0038     1910		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     1914		STQ	R9, 64(SP)				; R9, 64(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 139
V01H                            CLNPRV                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B55E0048     1918		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     191C		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     1920		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     1924		MOV	R27, R13				; R27, R13
	     1928	$L9:
236DFE80     1928		LDA	R27, -384(R13)				; R27, -384(R13)			    ; 010213
D35FFA20     192C		BSR	R26, GETJTUCB				; R26, GETJTUCB
F8000006     1930		BGE	R0, 90_99$				; R0, 90_99$				    ; 010215
43E00005     1934		SEXTL	R0, R5					; R0, R5				    ; 010216
43E0000A     1938		SEXTL	R0, R10					; R0, R10				    ; 010217
236D0188     193C		LDA	R27, 392(R13)				; R27, 392(R13)				    ; 010218
D3400433     1940		BSR	R26, CLNUP				; R26, CLNUP
43E50000     1944		SEXTL	R5, R0					; R5, R0				    ; 010219
43EA0001     1948		SEXTL	R10, R1					; R10, R1				    ; 010220
	     194C	90_99$:												    ; 010221
A79E0000     194C		LDQ	R28, (SP)				; R28, (SP)				    ; 010223
A45E0008     1950		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     1954		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     1958		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     195C		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     1960		LDQ	R6, 40(SP)				; R6, 40(SP)
A4FE0030     1964		LDQ	R7, 48(SP)				; R7, 48(SP)
A51E0038     1968		LDQ	R8, 56(SP)				; R8, 56(SP)
A53E0040     196C		LDQ	R9, 64(SP)				; R9, 64(SP)
A55E0048     1970		LDQ	R10, 72(SP)				; R10, 72(SP)
A57E0050     1974		LDQ	R11, 80(SP)				; R11, 80(SP)
A5BE0058     1978		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     197C		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     1980		RET	R28					; R28
47FF041F     1984		NOP						; 
47FF041F     1988		NOP						; 
47FF041F     198C		NOP						; 

Routine Size: 160 bytes,    Routine Base: $$$115_DRIVER + 18F0

	     1990	PRVIDSET:											    ; 010228
43CE153E     1990		SUBQ	SP, 112, SP				; SP, 112, SP
B75E0008     1994		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     1998		STQ	R2, 16(SP)				; R2, 16(SP)
B47E0018     199C		STQ	R3, 24(SP)				; R3, 24(SP)
B49E0020     19A0		STQ	R4, 32(SP)				; R4, 32(SP)
B4BE0028     19A4		STQ	R5, 40(SP)				; R5, 40(SP)
B4DE0030     19A8		STQ	R6, 48(SP)				; R6, 48(SP)
B4FE0038     19AC		STQ	R7, 56(SP)				; R7, 56(SP)
B51E0040     19B0		STQ	R8, 64(SP)				; R8, 64(SP)
B53E0048     19B4		STQ	R9, 72(SP)				; R9, 72(SP)
B55E0050     19B8		STQ	R10, 80(SP)				; R10, 80(SP)
B57E0058     19BC		STQ	R11, 88(SP)				; R11, 88(SP)
B5BE0060     19C0		STQ	R13, 96(SP)				; R13, 96(SP)
47FB040D     19C4		MOV	R27, R13				; R27, R13
B5FE0068     19C8		STQ	R15, 104(SP)				; R15, 104(SP)
	     19CC	$L11:
43C1153E     19CC		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010229
A72DFE58     19D0		LDQ	R25, -424(R13)				; R25, -424(R13)			    ; 010232
4167940A     19D4		ADDQ	R11, 60, R10				; R11, 60, R10				    ; 010230
B03E0004     19D8		STL	R1, 4(SP)				; R1, 4(SP)				    ; 010229
B01E0000     19DC		STL	R0, (SP)				; R0, (SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 140
V01H                            PRVIDSET                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A34B0044     19E0		LDL	R26, 68(R11)				; R26, 68(R11)				    ; 010232
A3190078     19E4		LDL	R24, 120(R25)				; R24, 120(R25)
43580530     19E8		SUBQ	R26, R24, R16				; R26, R24, R16
F6000006     19EC		BNE	R16, 91_999$				; R16, 91_999$				    ; 010233
	     19F0	91_30023$:
4141940A     19F0		ADDQ	R10, 12, R10				; R10, 12, R10				    ; 010234
2FFE0000     19F4		LNOP						; 
	     19F8	91_1$:												    ; 010235
2D2A0000     19F8		LDQ_U	R9, (R10)				; R9, (R10)
492A00C9     19FC		EXTBL	R9, R10, R9				; R9, R10, R9
4140340A     1A00		ADDQ	R10, 1, R10				; R10, 1, R10
F5200014     1A04		BNE	R9, 91_30024$				; R9, 91_30024$				    ; 010236
	     1A08	91_999$:											    ; 010324
A01E0000     1A08		LDL	R0, (SP)				; R0, (SP)				    ; 010325
A03E0004     1A0C		LDL	R1, 4(SP)				; R1, 4(SP)
43C1141E     1A10		ADDQ	SP, 8, SP				; SP, 8, SP
	     1A14	$L12:												    ; 010326
A79E0008     1A14		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     1A18		LDQ	R2, 16(SP)				; R2, 16(SP)
A47E0018     1A1C		LDQ	R3, 24(SP)				; R3, 24(SP)
A49E0020     1A20		LDQ	R4, 32(SP)				; R4, 32(SP)
A4BE0028     1A24		LDQ	R5, 40(SP)				; R5, 40(SP)
A4DE0030     1A28		LDQ	R6, 48(SP)				; R6, 48(SP)
A4FE0038     1A2C		LDQ	R7, 56(SP)				; R7, 56(SP)
A51E0040     1A30		LDQ	R8, 64(SP)				; R8, 64(SP)
A53E0048     1A34		LDQ	R9, 72(SP)				; R9, 72(SP)
A55E0050     1A38		LDQ	R10, 80(SP)				; R10, 80(SP)
A57E0058     1A3C		LDQ	R11, 88(SP)				; R11, 88(SP)
A5BE0060     1A40		LDQ	R13, 96(SP)				; R13, 96(SP)
A5FE0068     1A44		LDQ	R15, 104(SP)				; R15, 104(SP)
43CE141E     1A48		ADDQ	SP, 112, SP				; SP, 112, SP
6BFC8001     1A4C		RET	R28					; R28
	     1A50	$L100:												    ; 010233
C3FFFFED     1A50		BR	91_999$					; 91_999$
47FF041F     1A54		NOP						; 
	     1A58	91_30024$:											    ; 010236
41203530     1A58		SUBQ	R9, 1, R16				; R9, 1, R16				    ; 010237
E61FFFE6     1A5C		BEQ	R16, 91_1$				; R16, 91_1$				    ; 010238
41205530     1A60		SUBQ	R9, 2, R16				; R9, 2, R16				    ; 010239
E61FFFE4     1A64		BEQ	R16, 91_1$				; R16, 91_1$				    ; 010240
41207530     1A68		SUBQ	R9, 3, R16				; R9, 3, R16				    ; 010241
F600001A     1A6C		BNE	R16, 91_2$				; R16, 91_2$				    ; 010242
2F4A0000     1A70		LDQ_U	R26, (R10)				; R26, (R10)				    ; 010244
47FF0401     1A74		CLR	R1					; R1					    ; 010248
2CEA0001     1A78		LDQ_U	R7, 1(R10)				; R7, 1(R10)				    ; 010245
41A3141B     1A7C		ADDQ	R13, 24, R27				; R13, 24, R27				    ; 010250
A04B0404     1A80		LDL	R2, 1028(R11)				; R2, 1028(R11)				    ; 010246
4B4A00DA     1A84		EXTBL	R26, R10, R26				; R26, R10, R26				    ; 010244
4140340A     1A88		ADDQ	R10, 1, R10				; R10, 1, R10
A06B0408     1A8C		LDL	R3, 1032(R11)				; R3, 1032(R11)				    ; 010247
4B471728     1A90		SLL	R26, 56, R8				; R26, 56, R8				    ; 010244
2F0A0003     1A94		LDQ_U	R24, 3(R10)				; R24, 3(R10)				    ; 010245
48EA04C7     1A98		EXTLL	R7, R10, R7				; R7, R10, R7
49071788     1A9C		SRA	R8, 56, R8				; R8, 56, R8				    ; 010244
4B0A0D59     1AA0		EXTLH	R24, R10, R25				; R24, R10, R25				    ; 010245
4140940A     1AA4		ADDQ	R10, 4, R10				; R10, 4, R10
44F90407     1AA8		BIS	R7, R25, R7				; R7, R25, R7

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 141
V01H                            PRVIDSET                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43E70007     1AAC		SEXTL	R7, R7					; R7, R7
43E80000     1AB0		SEXTL	R8, R0					; R8, R0				    ; 010249
43C1153E     1AB4		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010250
D3400079     1AB8		BSR	R26, AUTH				; R26, AUTH
40070530     1ABC		SUBQ	R0, R7, R16				; R0, R7, R16				    ; 010251
43C1141E     1AC0		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 010250
F61FFFCC     1AC4		BNE	R16, 91_1$				; R16, 91_1$				    ; 010252
A6CDFEB0     1AC8		LDQ	R22, -336(R13)				; R22, -336(R13)			    ; 010254
A0960000     1ACC		LDL	R4, (R22)				; R4, (R22)
B1040074     1AD0		STL	R8, 116(R4)				; R8, 116(R4)				    ; 010256
C3FFFFC8     1AD4		BR	91_1$					; 91_1$					    ; 010260
	     1AD8	91_2$:												    ; 010261
41209530     1AD8		SUBQ	R9, 4, R16				; R9, 4, R16				    ; 010262
F6000022     1ADC		BNE	R16, 91_3$				; R16, 91_3$				    ; 010263
A00A0000     1AE0		LDL	R0, (R10)				; R0, (R10)				    ; 010264
4140940A     1AE4		ADDQ	R10, 4, R10				; R10, 4, R10
A04B0404     1AE8		LDL	R2, 1028(R11)				; R2, 1028(R11)				    ; 010268
41A3141B     1AEC		ADDQ	R13, 24, R27				; R13, 24, R27				    ; 010270
A02A0000     1AF0		LDL	R1, (R10)				; R1, (R10)				    ; 010266
4140940A     1AF4		ADDQ	R10, 4, R10				; R10, 4, R10
A06B0408     1AF8		LDL	R3, 1032(R11)				; R3, 1032(R11)				    ; 010269
43E00007     1AFC		SEXTL	R0, R7					; R0, R7				    ; 010265
43E00008     1B00		SEXTL	R0, R8					; R0, R8				    ; 010267
43C1153E     1B04		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010270
D3400065     1B08		BSR	R26, AUTH				; R26, AUTH
43C1141E     1B0C		ADDQ	SP, 8, SP				; SP, 8, SP
A04A0000     1B10		LDL	R2, (R10)				; R2, (R10)				    ; 010271
A06A0004     1B14		LDL	R3, 4(R10)				; R3, 4(R10)				    ; 010272
4141140A     1B18		ADDQ	R10, 8, R10				; R10, 8, R10
40020530     1B1C		SUBQ	R0, R2, R16				; R0, R2, R16				    ; 010273
F6000011     1B20		BNE	R16, 91_3$				; R16, 91_3$				    ; 010274
A5ED0010     1B24		LDQ	R15, 16(R13)				; R15, 16(R13)				    ; 010281
40230530     1B28		SUBQ	R1, R3, R16				; R1, R3, R16				    ; 010275
F600000E     1B2C		BNE	R16, 91_3$				; R16, 91_3$				    ; 010276
A74DFEB0     1B30		LDQ	R26, -336(R13)				; R26, -336(R13)			    ; 010278
A70DFEB8     1B34		LDQ	R24, -328(R13)				; R24, -328(R13)			    ; 010283
A09A0000     1B38		LDL	R4, (R26)				; R4, (R26)				    ; 010278
B0E40100     1B3C		STL	R7, 256(R4)				; R7, 256(R4)				    ; 010279
B1040104     1B40		STL	R8, 260(R4)				; R8, 260(R4)				    ; 010280
B0EF0000     1B44		STL	R7, (R15)				; R7, (R15)				    ; 010281
B10F0004     1B48		STL	R8, 4(R15)				; R8, 4(R15)				    ; 010282
A0980000     1B4C		LDL	R4, (R24)				; R4, (R24)				    ; 010283
B0E40280     1B50		STL	R7, 640(R4)				; R7, 640(R4)				    ; 010284
B1040284     1B54		STL	R8, 644(R4)				; R8, 644(R4)				    ; 010285
B0E40000     1B58		STL	R7, (R4)				; R7, (R4)				    ; 010286
B1040004     1B5C		STL	R8, 4(R4)				; R8, 4(R4)				    ; 010287
C3FFFFA5     1B60		BR	91_1$					; 91_1$					    ; 010288
47FF041F     1B64		NOP						; 
	     1B68	91_3$:												    ; 010289
453FF01B     1B68		AND	R9, 255, R27				; R9, 255, R27
4360B530     1B6C		SUBQ	R27, 5, R16				; R27, 5, R16
F6000033     1B70		BNE	R16, 91_4$				; R16, 91_4$				    ; 010290
2C0A0000     1B74		LDQ_U	R0, (R10)				; R0, (R10)				    ; 010291
2F2A0003     1B78		LDQ_U	R25, 3(R10)				; R25, 3(R10)
41A3141B     1B7C		ADDQ	R13, 24, R27				; R13, 24, R27				    ; 010297
A04B0404     1B80		LDL	R2, 1028(R11)				; R2, 1028(R11)				    ; 010295
480A04C0     1B84		EXTLL	R0, R10, R0				; R0, R10, R0				    ; 010291

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 142
V01H                            PRVIDSET                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

4B2A0D5A     1B88		EXTLH	R25, R10, R26				; R25, R10, R26
A06B0408     1B8C		LDL	R3, 1032(R11)				; R3, 1032(R11)				    ; 010296
4140940A     1B90		ADDQ	R10, 4, R10				; R10, 4, R10				    ; 010291
441A0400     1B94		BIS	R0, R26, R0				; R0, R26, R0
2C2A0000     1B98		LDQ_U	R1, (R10)				; R1, (R10)				    ; 010293
43E00000     1B9C		SEXTL	R0, R0					; R0, R0				    ; 010291
2EEA0003     1BA0		LDQ_U	R23, 3(R10)				; R23, 3(R10)				    ; 010293
43E00007     1BA4		SEXTL	R0, R7					; R0, R7				    ; 010292
43E00008     1BA8		SEXTL	R0, R8					; R0, R8				    ; 010294
482A04C1     1BAC		EXTLL	R1, R10, R1				; R1, R10, R1				    ; 010293
4AEA0D58     1BB0		EXTLH	R23, R10, R24				; R23, R10, R24
4140940A     1BB4		ADDQ	R10, 4, R10				; R10, 4, R10
44380401     1BB8		BIS	R1, R24, R1				; R1, R24, R1
43E10001     1BBC		SEXTL	R1, R1					; R1, R1
43C1153E     1BC0		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010297
D3400036     1BC4		BSR	R26, AUTH				; R26, AUTH
43C1141E     1BC8		ADDQ	SP, 8, SP				; SP, 8, SP
2C4A0000     1BCC		LDQ_U	R2, (R10)				; R2, (R10)				    ; 010298
2F6A0003     1BD0		LDQ_U	R27, 3(R10)				; R27, 3(R10)
2C6A0004     1BD4		LDQ_U	R3, 4(R10)				; R3, 4(R10)				    ; 010299
484A04C2     1BD8		EXTLL	R2, R10, R2				; R2, R10, R2				    ; 010298
4B6A0D5C     1BDC		EXTLH	R27, R10, R28				; R27, R10, R28
4140940A     1BE0		ADDQ	R10, 4, R10				; R10, 4, R10
486A04C3     1BE4		EXTLL	R3, R10, R3				; R3, R10, R3				    ; 010299
2F2A0003     1BE8		LDQ_U	R25, 3(R10)				; R25, 3(R10)
445C0402     1BEC		BIS	R2, R28, R2				; R2, R28, R2				    ; 010298
43E20002     1BF0		SEXTL	R2, R2					; R2, R2
40020530     1BF4		SUBQ	R0, R2, R16				; R0, R2, R16				    ; 010300
4B2A0D5A     1BF8		EXTLH	R25, R10, R26				; R25, R10, R26				    ; 010299
4140940A     1BFC		ADDQ	R10, 4, R10				; R10, 4, R10
447A0403     1C00		BIS	R3, R26, R3				; R3, R26, R3
43E30003     1C04		SEXTL	R3, R3					; R3, R3
F6000017     1C08		BNE	R16, 91_34$				; R16, 91_34$				    ; 010301
40230530     1C0C		SUBQ	R1, R3, R16				; R1, R3, R16				    ; 010302
F6000015     1C10		BNE	R16, 91_34$				; R16, 91_34$				    ; 010303
47FF0413     1C14		CLR	R19					; R19					    ; 010305
47FF0414     1C18		CLR	R20					; R20
41421532     1C1C		SUBQ	R10, 16, R18				; R10, 16, R18				    ; 010306
47FF0410     1C20		CLR	R16					; R16					    ; 010307
47FF0411     1C24		CLR	R17					; R17
43C1153E     1C28		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010308
47E0B419     1C2C		BIS	R31, 5, R25				; R31, 5, R25
236D04D0     1C30		LDA	R27, 1232(R13)				; R27, 1232(R13)
D340130A     1C34		BSR	R26, GRANTID				; R26, GRANTID
43C1141E     1C38		ADDQ	SP, 8, SP				; SP, 8, SP
C3FFFF6E     1C3C		BR	91_1$					; 91_1$					    ; 010309
	     1C40	91_4$:												    ; 010314
453FF01C     1C40		AND	R9, 255, R28				; R9, 255, R28
4380D530     1C44		SUBQ	R28, 6, R16				; R28, 6, R16
E600000F     1C48		BEQ	R16, $L101				; R16, $L101				    ; 010315
	     1C4C	91_5$:												    ; 010319
453FF01A     1C4C		AND	R9, 255, R26				; R9, 255, R26
4340F530     1C50		SUBQ	R26, 7, R16				; R26, 7, R16
F61FFF6C     1C54		BNE	R16, 91_999$				; R16, 91_999$				    ; 010320
	     1C58	91_30025$:
2D2A0000     1C58		LDQ_U	R9, (R10)				; R9, (R10)				    ; 010321
492A00C9     1C5C		EXTBL	R9, R10, R9				; R9, R10, R9

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 143
V01H                            PRVIDSET                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

4149000A     1C60		ADDL	R10, R9, R10				; R10, R9, R10				    ; 010322
C3FFFF64     1C64		BR	91_1$					; 91_1$					    ; 010323
	     1C68	91_34$:												    ; 010310
2ECAFFFF     1C68		LDQ_U	R22, -1(R10)				; R22, -1(R10)
2EEAFFF8     1C6C		LDQ_U	R23, -8(R10)				; R23, -8(R10)
4ACA0E56     1C70		MSKQH	R22, R10, R22				; R22, R10, R22
3ECAFFFF     1C74		STQ_U	R22, -1(R10)				; R22, -1(R10)
4AEA0657     1C78		MSKQL	R23, R10, R23				; R23, R10, R23
3EEAFFF8     1C7C		STQ_U	R23, -8(R10)				; R23, -8(R10)
C3FFFF5D     1C80		BR	91_1$					; 91_1$					    ; 010313
47FF041F     1C84		NOP						; 
	     1C88	$L101:												    ; 010316
2D2A0000     1C88		LDQ_U	R9, (R10)				; R9, (R10)
492A00C9     1C8C		EXTBL	R9, R10, R9				; R9, R10, R9
4149000A     1C90		ADDL	R10, R9, R10				; R10, R9, R10				    ; 010317
C3FFFF58     1C94		BR	91_1$					; 91_1$					    ; 010318
47FF041F     1C98		NOP						; 
47FF041F     1C9C		NOP						; 

Routine Size: 784 bytes,    Routine Base: $$$115_DRIVER + 1990

	     1CA0	AUTH:												    ; 010332
	     1CA0	$L13:
A3850138     1CA0		LDL	R28, 312(R5)				; R28, 312(R5)				    ; 010338
44030800     1CA4		XOR	R0, R3, R0				; R0, R3, R0				    ; 010336
A305013C     1CA8		LDL	R24, 316(R5)				; R24, 316(R5)				    ; 010339
43E00000     1CAC		SEXTL	R0, R0					; R0, R0				    ; 010336
44220801     1CB0		XOR	R1, R2, R1				; R1, R2, R1				    ; 010337
441C0800     1CB4		XOR	R0, R28, R0				; R0, R28, R0				    ; 010338
26FF5219     1CB8		LDAH	R23, 21017(R31)				; R23, 21017(R31)			    ; 010341
43E10001     1CBC		SEXTL	R1, R1					; R1, R1				    ; 010337
43E00000     1CC0		SEXTL	R0, R0					; R0, R0				    ; 010338
22F7FBA2     1CC4		LDA	R23, -1118(R23)				; R23, -1118(R23)			    ; 010341
44380801     1CC8		XOR	R1, R24, R1				; R1, R24, R1				    ; 010339
26DFABA7     1CCC		LDAH	R22, -21593(R31)			; R22, -21593(R31)			    ; 010342
43C1153E     1CD0		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010344
44170800     1CD4		XOR	R0, R23, R0				; R0, R23, R0				    ; 010341
43E10001     1CD8		SEXTL	R1, R1					; R1, R1				    ; 010339
22D6126C     1CDC		LDA	R22, 4716(R22)				; R22, 4716(R22)			    ; 010342
43E00000     1CE0		SEXTL	R0, R0					; R0, R0				    ; 010341
B01E0004     1CE4		STL	R0, 4(SP)				; R0, 4(SP)				    ; 010343
44360801     1CE8		XOR	R1, R22, R1				; R1, R22, R1				    ; 010342
48007720     1CEC		SLL	R0, 3, R0				; R0, 3, R0				    ; 010345
43E10001     1CF0		SEXTL	R1, R1					; R1, R1				    ; 010342
B03E0000     1CF4		STL	R1, (SP)				; R1, (SP)				    ; 010344
A31E0004     1CF8		LDL	R24, 4(SP)				; R24, 4(SP)				    ; 010350
43E00000     1CFC		SEXTL	R0, R0					; R0, R0				    ; 010345
40200001     1D00		ADDL	R1, R0, R1				; R1, R0, R1				    ; 010346
40220001     1D04		ADDL	R1, R2, R1				; R1, R2, R1				    ; 010347
43010018     1D08		ADDL	R24, R1, R24				; R24, R1, R24				    ; 010350
B31E0004     1D0C		STL	R24, 4(SP)				; R24, 4(SP)
2C25013D     1D10		LDQ_U	R1, 317(R5)				; R1, 317(R5)				    ; 010351
22C5013D     1D14		LDA	R22, 317(R5)				; R22, 317(R5)
483602C1     1D18		EXTWL	R1, R22, R1				; R1, R22, R1
F2C0002C     1D1C		BLBS	R22, $L136				; R22, $L136
	     1D20	$L137:
A2FE0004     1D20		LDL	R23, 4(SP)				; R23, 4(SP)				    ; 010352

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 144
V01H                            AUTH                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

42E10017     1D24		ADDL	R23, R1, R23				; R23, R1, R23
B2FE0004     1D28		STL	R23, 4(SP)				; R23, 4(SP)
22E50139     1D2C		LDA	R23, 313(R5)				; R23, 313(R5)				    ; 010357
A03E0000     1D30		LDL	R1, (SP)				; R1, (SP)				    ; 010353
A33E0000     1D34		LDL	R25, (SP)				; R25, (SP)				    ; 010356
4820B721     1D38		SLL	R1, 5, R1				; R1, 5, R1				    ; 010354
40230001     1D3C		ADDL	R1, R3, R1				; R1, R3, R1				    ; 010355
43210019     1D40		ADDL	R25, R1, R25				; R25, R1, R25				    ; 010356
B33E0000     1D44		STL	R25, (SP)				; R25, (SP)
2C250139     1D48		LDQ_U	R1, 313(R5)				; R1, 313(R5)				    ; 010357
483702C1     1D4C		EXTWL	R1, R23, R1				; R1, R23, R1
F2E00023     1D50		BLBS	R23, $L138				; R23, $L138
	     1D54	$L139:
A31E0000     1D54		LDL	R24, (SP)				; R24, (SP)				    ; 010358
43010018     1D58		ADDL	R24, R1, R24				; R24, R1, R24
43F80016     1D5C		SEXTL	R24, R22				; R24, R22				    ; 010360
B31E0000     1D60		STL	R24, (SP)				; R24, (SP)				    ; 010358
43E41121     1D64		SUBL	R31, 32, R1				; R31, 32, R1				    ; 010360
47F60516     1D68		ORNOT	R31, R22, R22				; R31, R22, R22
E4200004     1D6C		BEQ	R1, $L140				; R1, $L140
	     1D70	$L141:
E2C00003     1D70		BLBC	R22, $L140				; R22, $L140
40203001     1D74		ADDL	R1, 1, R1				; R1, 1, R1
4AC03696     1D78		SRL	R22, 1, R22				; R22, 1, R22
F43FFFFC     1D7C		BNE	R1, $L141				; R1, $L141
	     1D80	$L140:
A33E0004     1D80		LDL	R25, 4(SP)				; R25, 4(SP)				    ; 010361
40241001     1D84		ADDL	R1, 32, R1				; R1, 32, R1				    ; 010360
43210019     1D88		ADDL	R25, R1, R25				; R25, R1, R25				    ; 010361
B33E0004     1D8C		STL	R25, 4(SP)				; R25, 4(SP)
43F90017     1D90		SEXTL	R25, R23				; R25, R23				    ; 010362
43E41121     1D94		SUBL	R31, 32, R1				; R31, 32, R1
47F70517     1D98		ORNOT	R31, R23, R23				; R31, R23, R23
E4200004     1D9C		BEQ	R1, $L142				; R1, $L142
	     1DA0	$L143:
E2E00003     1DA0		BLBC	R23, $L142				; R23, $L142
40203001     1DA4		ADDL	R1, 1, R1				; R1, 1, R1
4AE03697     1DA8		SRL	R23, 1, R23				; R23, 1, R23
F43FFFFC     1DAC		BNE	R1, $L143				; R1, $L143
	     1DB0	$L142:
A39E0000     1DB0		LDL	R28, (SP)				; R28, (SP)				    ; 010363
40241001     1DB4		ADDL	R1, 32, R1				; R1, 32, R1				    ; 010362
4381001C     1DB8		ADDL	R28, R1, R28				; R28, R1, R28				    ; 010363
B39E0000     1DBC		STL	R28, (SP)				; R28, (SP)
A01E0004     1DC0		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 010365
43FC0001     1DC4		SEXTL	R28, R1					; R28, R1				    ; 010364
43C1141E     1DC8		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 010365
	     1DCC	$L14:												    ; 010366
6BFA8001     1DCC		RET	R26					; R26
	     1DD0	$L136:												    ; 010351
2F25013E     1DD0		LDQ_U	R25, 318(R5)				; R25, 318(R5)
4B360B5C     1DD4		EXTWH	R25, R22, R28				; R25, R22, R28
443C0401     1DD8		BIS	R1, R28, R1				; R1, R28, R1
C3FFFFD0     1DDC		BR	$L137					; $L137
	     1DE0	$L138:												    ; 010357
2F85013A     1DE0		LDQ_U	R28, 314(R5)				; R28, 314(R5)
4B970B56     1DE4		EXTWH	R28, R23, R22				; R28, R23, R22

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 145
V01H                            AUTH                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

44360401     1DE8		BIS	R1, R22, R1				; R1, R22, R1
C3FFFFD9     1DEC		BR	$L139					; $L139

Routine Size: 336 bytes,    Routine Base: $$$115_DRIVER + 1CA0

	     1DF0	SETSOFTL:											    ; 010372
43CC153E     1DF0		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     1DF4		STQ	R26, (SP)				; R26, (SP)
B45E0008     1DF8		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     1DFC		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     1E00		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     1E04		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     1E08		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     1E0C		STQ	R7, 48(SP)				; R7, 48(SP)
B51E0038     1E10		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     1E14		STQ	R9, 64(SP)				; R9, 64(SP)
B55E0048     1E18		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     1E1C		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     1E20		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     1E24		MOV	R27, R13				; R27, R13
	     1E28	$L15:
43C6153E     1E28		SUBQ	SP, 48, SP				; SP, 48, SP				    ; 010373
A74DFE28     1E2C		LDQ	R26, -472(R13)				; R26, -472(R13)			    ; 010374
B17E002C     1E30		STL	R11, 44(SP)				; R11, 44(SP)				    ; 010373
B15E0028     1E34		STL	R10, 40(SP)				; R10, 40(SP)
B13E0024     1E38		STL	R9, 36(SP)				; R9, 36(SP)
B11E0020     1E3C		STL	R8, 32(SP)				; R8, 32(SP)
B0FE001C     1E40		STL	R7, 28(SP)				; R7, 28(SP)
B0DE0018     1E44		STL	R6, 24(SP)				; R6, 24(SP)
B0BE0014     1E48		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     1E4C		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     1E50		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     1E54		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     1E58		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     1E5C		STL	R0, (SP)				; R0, (SP)
A36B0044     1E60		LDL	R27, 68(R11)				; R27, 68(R11)				    ; 010374
A33A0078     1E64		LDL	R25, 120(R26)				; R25, 120(R26)
43790530     1E68		SUBQ	R27, R25, R16				; R27, R25, R16
F6000006     1E6C		BNE	R16, 93_999$				; R16, 93_999$				    ; 010375
	     1E70	93_30026$:
4169140A     1E70		ADDQ	R11, 72, R10				; R11, 72, R10				    ; 010376
2FFE0000     1E74		LNOP						; 
	     1E78	93_1$:												    ; 010378
2D2A0000     1E78		LDQ_U	R9, (R10)				; R9, (R10)
492A00C9     1E7C		EXTBL	R9, R10, R9				; R9, R10, R9
4140340A     1E80		ADDQ	R10, 1, R10				; R10, 1, R10
F520001E     1E84		BNE	R9, 93_30027$				; R9, 93_30027$				    ; 010379
	     1E88	93_999$:											    ; 010483
A01E0000     1E88		LDL	R0, (SP)				; R0, (SP)				    ; 010484
A03E0004     1E8C		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     1E90		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     1E94		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     1E98		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     1E9C		LDL	R5, 20(SP)				; R5, 20(SP)
A0DE0018     1EA0		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     1EA4		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     1EA8		LDL	R8, 32(SP)				; R8, 32(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 146
V01H                            SETSOFTL                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A13E0024     1EAC		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     1EB0		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     1EB4		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     1EB8		ADDQ	SP, 48, SP				; SP, 48, SP
	     1EBC	$L16:												    ; 010485
A79E0000     1EBC		LDQ	R28, (SP)				; R28, (SP)
A45E0008     1EC0		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     1EC4		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     1EC8		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     1ECC		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     1ED0		LDQ	R6, 40(SP)				; R6, 40(SP)
A4FE0030     1ED4		LDQ	R7, 48(SP)				; R7, 48(SP)
A51E0038     1ED8		LDQ	R8, 56(SP)				; R8, 56(SP)
A53E0040     1EDC		LDQ	R9, 64(SP)				; R9, 64(SP)
A55E0048     1EE0		LDQ	R10, 72(SP)				; R10, 72(SP)
A57E0050     1EE4		LDQ	R11, 80(SP)				; R11, 80(SP)
A5BE0058     1EE8		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     1EEC		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     1EF0		RET	R28					; R28
2FFE0000     1EF4		LNOP						; 
	     1EF8	$L102:												    ; 010375
C3FFFFE3     1EF8		BR	93_999$					; 93_999$
47FF041F     1EFC		NOP						; 
	     1F00	93_30027$:											    ; 010379
41203530     1F00		SUBQ	R9, 1, R16				; R9, 1, R16				    ; 010380
E61FFFDC     1F04		BEQ	R16, 93_1$				; R16, 93_1$				    ; 010381
41205530     1F08		SUBQ	R9, 2, R16				; R9, 2, R16				    ; 010382
E61FFFDA     1F0C		BEQ	R16, 93_1$				; R16, 93_1$				    ; 010383
41207530     1F10		SUBQ	R9, 3, R16				; R9, 3, R16				    ; 010384
F600000E     1F14		BNE	R16, 93_2$				; R16, 93_2$				    ; 010385
2F4A0000     1F18		LDQ_U	R26, (R10)				; R26, (R10)				    ; 010387
2CEA0001     1F1C		LDQ_U	R7, 1(R10)				; R7, 1(R10)				    ; 010388
4B4A00DA     1F20		EXTBL	R26, R10, R26				; R26, R10, R26				    ; 010387
4140340A     1F24		ADDQ	R10, 1, R10				; R10, 1, R10
48EA04C7     1F28		EXTLL	R7, R10, R7				; R7, R10, R7				    ; 010388
2F0A0003     1F2C		LDQ_U	R24, 3(R10)				; R24, 3(R10)
4B471728     1F30		SLL	R26, 56, R8				; R26, 56, R8				    ; 010387
4B0A0D59     1F34		EXTLH	R24, R10, R25				; R24, R10, R25				    ; 010388
49071788     1F38		SRA	R8, 56, R8				; R8, 56, R8				    ; 010387
44F90407     1F3C		BIS	R7, R25, R7				; R7, R25, R7				    ; 010388
43E70007     1F40		SEXTL	R7, R7					; R7, R7
4140940A     1F44		ADDQ	R10, 4, R10				; R10, 4, R10
C3FFFFCB     1F48		BR	93_1$					; 93_1$					    ; 010389
47FF041F     1F4C		NOP						; 
	     1F50	93_2$:												    ; 010390
41209530     1F50		SUBQ	R9, 4, R16				; R9, 4, R16				    ; 010391
F600001E     1F54		BNE	R16, 93_3$				; R16, 93_3$				    ; 010392
2C0A0000     1F58		LDQ_U	R0, (R10)				; R0, (R10)				    ; 010393
2F8A0003     1F5C		LDQ_U	R28, 3(R10)				; R28, 3(R10)
2C2A0004     1F60		LDQ_U	R1, 4(R10)				; R1, 4(R10)				    ; 010394
480A04C0     1F64		EXTLL	R0, R10, R0				; R0, R10, R0				    ; 010393
4B8A0D56     1F68		EXTLH	R28, R10, R22				; R28, R10, R22
4140940A     1F6C		ADDQ	R10, 4, R10				; R10, 4, R10
482A04C1     1F70		EXTLL	R1, R10, R1				; R1, R10, R1				    ; 010394
2F4A0003     1F74		LDQ_U	R26, 3(R10)				; R26, 3(R10)
2C4A0004     1F78		LDQ_U	R2, 4(R10)				; R2, 4(R10)				    ; 010395
44160400     1F7C		BIS	R0, R22, R0				; R0, R22, R0				    ; 010393

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 147
V01H                            SETSOFTL                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43E00000     1F80		SEXTL	R0, R0					; R0, R0
4B4A0D5B     1F84		EXTLH	R26, R10, R27				; R26, R10, R27				    ; 010394
4140940A     1F88		ADDQ	R10, 4, R10				; R10, 4, R10
484A04C2     1F8C		EXTLL	R2, R10, R2				; R2, R10, R2				    ; 010395
2F0A0003     1F90		LDQ_U	R24, 3(R10)				; R24, 3(R10)
443B0401     1F94		BIS	R1, R27, R1				; R1, R27, R1				    ; 010394
2C6A0004     1F98		LDQ_U	R3, 4(R10)				; R3, 4(R10)				    ; 010396
43E10001     1F9C		SEXTL	R1, R1					; R1, R1				    ; 010394
4B0A0D59     1FA0		EXTLH	R24, R10, R25				; R24, R10, R25				    ; 010395
4140940A     1FA4		ADDQ	R10, 4, R10				; R10, 4, R10
486A04C3     1FA8		EXTLL	R3, R10, R3				; R3, R10, R3				    ; 010396
2ECA0003     1FAC		LDQ_U	R22, 3(R10)				; R22, 3(R10)
44590402     1FB0		BIS	R2, R25, R2				; R2, R25, R2				    ; 010395
43E20002     1FB4		SEXTL	R2, R2					; R2, R2
4ACA0D57     1FB8		EXTLH	R22, R10, R23				; R22, R10, R23				    ; 010396
4140940A     1FBC		ADDQ	R10, 4, R10				; R10, 4, R10
44770403     1FC0		BIS	R3, R23, R3				; R3, R23, R3
43E30003     1FC4		SEXTL	R3, R3					; R3, R3
C3FFFFAB     1FC8		BR	93_1$					; 93_1$					    ; 010397
47FF041F     1FCC		NOP						; 
	     1FD0	93_3$:												    ; 010398
4120B530     1FD0		SUBQ	R9, 5, R16				; R9, 5, R16
F600001E     1FD4		BNE	R16, 93_4$				; R16, 93_4$				    ; 010399
2C0A0000     1FD8		LDQ_U	R0, (R10)				; R0, (R10)				    ; 010400
2F4A0003     1FDC		LDQ_U	R26, 3(R10)				; R26, 3(R10)
2C2A0004     1FE0		LDQ_U	R1, 4(R10)				; R1, 4(R10)				    ; 010401
480A04C0     1FE4		EXTLL	R0, R10, R0				; R0, R10, R0				    ; 010400
4B4A0D5B     1FE8		EXTLH	R26, R10, R27				; R26, R10, R27
4140940A     1FEC		ADDQ	R10, 4, R10				; R10, 4, R10
482A04C1     1FF0		EXTLL	R1, R10, R1				; R1, R10, R1				    ; 010401
2F0A0003     1FF4		LDQ_U	R24, 3(R10)				; R24, 3(R10)
2C4A0004     1FF8		LDQ_U	R2, 4(R10)				; R2, 4(R10)				    ; 010402
441B0400     1FFC		BIS	R0, R27, R0				; R0, R27, R0				    ; 010400
43E00000     2000		SEXTL	R0, R0					; R0, R0
4B0A0D59     2004		EXTLH	R24, R10, R25				; R24, R10, R25				    ; 010401
4140940A     2008		ADDQ	R10, 4, R10				; R10, 4, R10
484A04C2     200C		EXTLL	R2, R10, R2				; R2, R10, R2				    ; 010402
2ECA0003     2010		LDQ_U	R22, 3(R10)				; R22, 3(R10)
44390401     2014		BIS	R1, R25, R1				; R1, R25, R1				    ; 010401
2C6A0004     2018		LDQ_U	R3, 4(R10)				; R3, 4(R10)				    ; 010403
43E10001     201C		SEXTL	R1, R1					; R1, R1				    ; 010401
4ACA0D57     2020		EXTLH	R22, R10, R23				; R22, R10, R23				    ; 010402
4140940A     2024		ADDQ	R10, 4, R10				; R10, 4, R10
486A04C3     2028		EXTLL	R3, R10, R3				; R3, R10, R3				    ; 010403
2F6A0003     202C		LDQ_U	R27, 3(R10)				; R27, 3(R10)
44570402     2030		BIS	R2, R23, R2				; R2, R23, R2				    ; 010402
43E20002     2034		SEXTL	R2, R2					; R2, R2
4B6A0D5C     2038		EXTLH	R27, R10, R28				; R27, R10, R28				    ; 010403
4140940A     203C		ADDQ	R10, 4, R10				; R10, 4, R10
447C0403     2040		BIS	R3, R28, R3				; R3, R28, R3
43E30003     2044		SEXTL	R3, R3					; R3, R3
C3FFFF8B     2048		BR	93_1$					; 93_1$					    ; 010404
47FF041F     204C		NOP						; 
	     2050	93_4$:												    ; 010405
4120D530     2050		SUBQ	R9, 6, R16				; R9, 6, R16
F6000012     2054		BNE	R16, $L103				; R16, $L103				    ; 010406
	     2058	93_30028$:

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 148
V01H                            SETSOFTL                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

2D2A0000     2058		LDQ_U	R9, (R10)				; R9, (R10)				    ; 010407
43EA0008     205C		SEXTL	R10, R8					; R10, R8				    ; 010413
41003008     2060		ADDL	R8, 1, R8				; R8, 1, R8				    ; 010415
492A00C9     2064		EXTBL	R9, R10, R9				; R9, R10, R9				    ; 010407
4149000A     2068		ADDL	R10, R9, R10				; R10, R9, R10				    ; 010414
43E80009     206C		SEXTL	R8, R9					; R8, R9				    ; 010416
4100F008     2070		ADDL	R8, 7, R8				; R8, 7, R8				    ; 010417
2E290000     2074		LDQ_U	R17, (R9)				; R17, (R9)				    ; 010419
4A2900D1     2078		EXTBL	R17, R9, R17				; R17, R9, R17
E620000E     207C		BEQ	R17, 93_901$				; R17, 93_901$				    ; 010420
42203530     2080		SUBQ	R17, 1, R16				; R17, 1, R16				    ; 010421
F600000C     2084		BNE	R16, 93_901$				; R16, 93_901$				    ; 010422
A2CB0008     2088		LDL	R22, 8(R11)				; R22, 8(R11)				    ; 010423
22FF0100     208C		LDA	R23, 256(R31)				; R23, 256(R31)
46D70010     2090		AND	R22, R23, R16				; R22, R23, R16
F61FFF78     2094		BNE	R16, 93_1$				; R16, 93_1$				    ; 010425
C3E00007     2098		BR	93_901$					; 93_901$				    ; 010424
47FF041F     209C		NOP						; 
	     20A0	$L103:												    ; 010406
4120F530     20A0		SUBQ	R9, 7, R16				; R9, 7, R16				    ; 010478
F61FFF78     20A4		BNE	R16, 93_999$				; R16, 93_999$				    ; 010479
2D2A0000     20A8		LDQ_U	R9, (R10)				; R9, (R10)				    ; 010480
492A00C9     20AC		EXTBL	R9, R10, R9				; R9, R10, R9
4149000A     20B0		ADDL	R10, R9, R10				; R10, R9, R10				    ; 010481
C3FFFF70     20B4		BR	93_1$					; 93_1$					    ; 010482
	     20B8	93_901$:											    ; 010426
A76DFE80     20B8		LDQ	R27, -384(R13)				; R27, -384(R13)			    ; 010429
A74D0010     20BC		LDQ	R26, 16(R13)				; R26, 16(R13)				    ; 010430
A09B0000     20C0		LDL	R4, (R27)				; R4, (R27)				    ; 010429
A76D0018     20C4		LDQ	R27, 24(R13)				; R27, 24(R13)				    ; 010430
6B5A4000     20C8		JSR	R26, R26				; R26, R26
43C1953E     20CC		SUBQ	SP, 12, SP				; SP, 12, SP				    ; 010432
43FE0002     20D0		SEXTL	SP, R2					; SP, R2				    ; 010433
2F280000     20D4		LDQ_U	R25, (R8)				; R25, (R8)				    ; 010434
A74D0020     20D8		LDQ	R26, 32(R13)				; R26, 32(R13)				    ; 010440
43E20001     20DC		SEXTL	R2, R1					; R2, R1				    ; 010438
A3020000     20E0		LDL	R24, (R2)				; R24, (R2)				    ; 010434
4B2800D9     20E4		EXTBL	R25, R8, R25				; R25, R8, R25
41003408     20E8		ADDQ	R8, 1, R8				; R8, 1, R8
A76D0028     20EC		LDQ	R27, 40(R13)				; R27, 40(R13)				    ; 010440
4B001258     20F0		MSKWL	R24, 0, R24				; R24, 0, R24				    ; 010434
47190418     20F4		BIS	R24, R25, R24				; R24, R25, R24
43F8001C     20F8		SEXTL	R24, R28				; R24, R28				    ; 010435
B3020000     20FC		STL	R24, (R2)				; R24, (R2)				    ; 010434
4B80505C     2100		MSKBL	R28, 2, R28				; R28, 2, R28				    ; 010435
279C000E     2104		LDAH	R28, 14(R28)				; R28, 14(R28)
43FC0018     2108		SEXTL	R28, R24				; R28, R24				    ; 010436
B3820000     210C		STL	R28, (R2)				; R28, (R2)				    ; 010435
4B007058     2110		MSKBL	R24, 3, R24				; R24, 3, R24				    ; 010436
27180100     2114		LDAH	R24, 256(R24)				; R24, 256(R24)
B3020000     2118		STL	R24, (R2)				; R24, (R2)
B1020004     211C		STL	R8, 4(R2)				; R8, 4(R2)				    ; 010437
43C2953E     2120		SUBQ	SP, 20, SP				; SP, 20, SP				    ; 010439
B13E0010     2124		STL	R9, 16(SP)				; R9, 16(SP)
B11E000C     2128		STL	R8, 12(SP)				; R8, 12(SP)
B0BE0008     212C		STL	R5, 8(SP)				; R5, 8(SP)
B09E0004     2130		STL	R4, 4(SP)				; R4, 4(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 149
V01H                            SETSOFTL                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B07E0000     2134		STL	R3, (SP)				; R3, (SP)
6B5A4000     2138		JSR	R26, R26				; R26, R26				    ; 010440
A07E0000     213C		LDL	R3, (SP)				; R3, (SP)				    ; 010441
A09E0004     2140		LDL	R4, 4(SP)				; R4, 4(SP)
A0BE0008     2144		LDL	R5, 8(SP)				; R5, 8(SP)
A11E000C     2148		LDL	R8, 12(SP)				; R8, 12(SP)
A13E0010     214C		LDL	R9, 16(SP)				; R9, 16(SP)
43C4141E     2150		ADDQ	SP, 32, SP				; SP, 32, SP				    ; 010442
E000003E     2154		BLBC	R0, 93_7$				; R0, 93_7$				    ; 010443
A0E60000     2158		LDL	R7, (R6)				; R7, (R6)				    ; 010446
A387007C     215C		LDL	R28, 124(R7)				; R28, 124(R7)				    ; 010448
4380313C     2160		SUBL	R28, 1, R28				; R28, 1, R28
B387007C     2164		STL	R28, 124(R7)				; R28, 124(R7)
FF800001     2168		BGT	R28, 93_10$				; R28, 93_10$				    ; 010449
B3E7007C     216C		STL	R31, 124(R7)				; R31, 124(R7)				    ; 010450
	     2170	93_10$:												    ; 010456
B0260000     2170		STL	R1, (R6)				; R1, (R6)
A341007C     2174		LDL	R26, 124(R1)				; R26, 124(R1)				    ; 010458
4340301A     2178		ADDL	R26, 1, R26				; R26, 1, R26
B341007C     217C		STL	R26, 124(R1)				; R26, 124(R1)
A06B0140     2180		LDL	R3, 320(R11)				; R3, 320(R11)				    ; 010462
B0230024     2184		STL	R1, 36(R3)				; R1, 36(R3)				    ; 010463
A10B0178     2188		LDL	R8, 376(R11)				; R8, 376(R11)				    ; 010465
E5000030     218C		BEQ	R8, 93_7$				; R8, 93_7$				    ; 010466
A1080004     2190		LDL	R8, 4(R8)				; R8, 4(R8)				    ; 010467
E500002E     2194		BEQ	R8, 93_7$				; R8, 93_7$				    ; 010468
2F090001     2198		LDQ_U	R24, 1(R9)				; R24, 1(R9)				    ; 010469
41203417     219C		ADDQ	R9, 1, R23				; R9, 1, R23
2F890004     21A0		LDQ_U	R28, 4(R9)				; R28, 4(R9)
4120B419     21A4		ADDQ	R9, 5, R25				; R9, 5, R25				    ; 010470
4B1704D8     21A8		EXTLL	R24, R23, R24				; R24, R23, R24				    ; 010469
4B970D56     21AC		EXTLH	R28, R23, R22				; R28, R23, R22
47160418     21B0		BIS	R24, R22, R24				; R24, R22, R24
B3080004     21B4		STL	R24, 4(R8)				; R24, 4(R8)
2F490005     21B8		LDQ_U	R26, 5(R9)				; R26, 5(R9)				    ; 010470
4B5902DA     21BC		EXTWL	R26, R25, R26				; R26, R25, R26
F3200027     21C0		BLBS	R25, $L144				; R25, $L144
	     21C4	$L145:
2F880008     21C4		LDQ_U	R28, 8(R8)				; R28, 8(R8)
4B480379     21C8		INSWL	R26, R8, R25				; R26, R8, R25
4B88025C     21CC		MSKWL	R28, R8, R28				; R28, R8, R28
4799041C     21D0		BIS	R28, R25, R28				; R28, R25, R28
F1000026     21D4		BLBS	R8, $L146				; R8, $L146
	     21D8	$L147:
3F880008     21D8		STQ_U	R28, 8(R8)				; R28, 8(R8)
41015417     21DC		ADDQ	R8, 10, R23				; R8, 10, R23				    ; 010471
2EC8000A     21E0		LDQ_U	R22, 10(R8)				; R22, 10(R8)
4AD70256     21E4		MSKWL	R22, R23, R22				; R22, R23, R22
F2E00027     21E8		BLBS	R23, $L148				; R23, $L148
	     21EC	$L149:
3EC8000A     21EC		STQ_U	R22, 10(R8)				; R22, 10(R8)
41029416     21F0		ADDQ	R8, 20, R22				; R8, 20, R22				    ; 010473
B3E8000C     21F4		STL	R31, 12(R8)				; R31, 12(R8)				    ; 010472
233F0800     21F8		LDA	R25, 2048(R31)				; R25, 2048(R31)			    ; 010473
2F080014     21FC		LDQ_U	R24, 20(R8)				; R24, 20(R8)
4B1602D7     2200		EXTWL	R24, R22, R23				; R24, R22, R23
F2C00024     2204		BLBS	R22, $L150				; R22, $L150

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 150
V01H                            SETSOFTL                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     2208	$L151:
46F9011A     2208		BIC	R23, R25, R26				; R23, R25, R26
4B560375     220C		INSWL	R26, R22, R21				; R26, R22, R21
4B160258     2210		MSKWL	R24, R22, R24				; R24, R22, R24
47150418     2214		BIS	R24, R21, R24				; R24, R21, R24
F2C00023     2218		BLBS	R22, $L152				; R22, $L152
	     221C	$L153:
3F080014     221C		STQ_U	R24, 20(R8)				; R24, 20(R8)
41029418     2220		ADDQ	R8, 20, R24				; R8, 20, R24				    ; 010474
2F480014     2224		LDQ_U	R26, 20(R8)				; R26, 20(R8)
237F0100     2228		LDA	R27, 256(R31)				; R27, 256(R31)
4B5802D9     222C		EXTWL	R26, R24, R25				; R26, R24, R25
F3000022     2230		BLBS	R24, $L154				; R24, $L154
	     2234	$L155:
473B011C     2234		BIC	R25, R27, R28				; R25, R27, R28
4B980377     2238		INSWL	R28, R24, R23				; R28, R24, R23
4B58025A     223C		MSKWL	R26, R24, R26				; R26, R24, R26
4757041A     2240		BIS	R26, R23, R26				; R26, R23, R26
F3000021     2244		BLBS	R24, $L156				; R24, $L156
	     2248	$L157:
3F480014     2248		STQ_U	R26, 20(R8)				; R26, 20(R8)
B3E80010     224C		STL	R31, 16(R8)				; R31, 16(R8)				    ; 010475
	     2250	93_7$:												    ; 010476
A74D0030     2250		LDQ	R26, 48(R13)				; R26, 48(R13)
A76D0038     2254		LDQ	R27, 56(R13)				; R27, 56(R13)
6B5A4000     2258		JSR	R26, R26				; R26, R26
C3FFFF06     225C		BR	93_1$					; 93_1$					    ; 010477
	     2260	$L144:												    ; 010470
2EE90006     2260		LDQ_U	R23, 6(R9)				; R23, 6(R9)
4AF90B58     2264		EXTWH	R23, R25, R24				; R23, R25, R24
4758041A     2268		BIS	R26, R24, R26				; R26, R24, R26
C3FFFFD5     226C		BR	$L145					; $L145
	     2270	$L146:
2F680009     2270		LDQ_U	R27, 9(R8)				; R27, 9(R8)
4B480AF9     2274		INSWH	R26, R8, R25				; R26, R8, R25
4B680A5B     2278		MSKWH	R27, R8, R27				; R27, R8, R27
4779041B     227C		BIS	R27, R25, R27				; R27, R25, R27
3F680009     2280		STQ_U	R27, 9(R8)				; R27, 9(R8)
C3FFFFD4     2284		BR	$L147					; $L147
	     2288	$L148:												    ; 010471
2F88000B     2288		LDQ_U	R28, 11(R8)				; R28, 11(R8)
4B970A5C     228C		MSKWH	R28, R23, R28				; R28, R23, R28
3F88000B     2290		STQ_U	R28, 11(R8)				; R28, 11(R8)
C3FFFFD5     2294		BR	$L149					; $L149
	     2298	$L150:												    ; 010473
2F680015     2298		LDQ_U	R27, 21(R8)				; R27, 21(R8)
4B760B5C     229C		EXTWH	R27, R22, R28				; R27, R22, R28
46FC0417     22A0		BIS	R23, R28, R23				; R23, R28, R23
C3FFFFD8     22A4		BR	$L151					; $L151
	     22A8	$L152:
4B560AF5     22A8		INSWH	R26, R22, R21				; R26, R22, R21
4B760A5B     22AC		MSKWH	R27, R22, R27				; R27, R22, R27
4775041B     22B0		BIS	R27, R21, R27				; R27, R21, R27
3F680015     22B4		STQ_U	R27, 21(R8)				; R27, 21(R8)
C3FFFFD8     22B8		BR	$L153					; $L153
	     22BC	$L154:												    ; 010474
2EC80015     22BC		LDQ_U	R22, 21(R8)				; R22, 21(R8)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 151
V01H                            SETSOFTL                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

4AD80B57     22C0		EXTWH	R22, R24, R23				; R22, R24, R23
47370419     22C4		BIS	R25, R23, R25				; R25, R23, R25
C3FFFFDA     22C8		BR	$L155					; $L155
	     22CC	$L156:
4B980AF7     22CC		INSWH	R28, R24, R23				; R28, R24, R23
4AD80A56     22D0		MSKWH	R22, R24, R22				; R22, R24, R22
46D70416     22D4		BIS	R22, R23, R22				; R22, R23, R22
3EC80015     22D8		STQ_U	R22, 21(R8)				; R22, 21(R8)
C3FFFFDA     22DC		BR	$L157					; $L157

Routine Size: 1264 bytes,    Routine Base: $$$115_DRIVER + 1DF0

	     22E0	MOVLDT:												    ; 010491
43CC153E     22E0		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     22E4		STQ	R26, (SP)				; R26, (SP)
B45E0008     22E8		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     22EC		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     22F0		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     22F4		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     22F8		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     22FC		STQ	R7, 48(SP)				; R7, 48(SP)
B51E0038     2300		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     2304		STQ	R9, 64(SP)				; R9, 64(SP)
B55E0048     2308		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     230C		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     2310		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     2314		MOV	R27, R13				; R27, R13
	     2318	$L17:
43C1153E     2318		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010492
A78DFE40     231C		LDQ	R28, -448(R13)				; R28, -448(R13)			    ; 010494
236D0298     2320		LDA	R27, 664(R13)				; R27, 664(R13)				    ; 010495
B03E0004     2324		STL	R1, 4(SP)				; R1, 4(SP)				    ; 010492
B01E0000     2328		STL	R0, (SP)				; R0, (SP)
A09C0000     232C		LDL	R4, (R28)				; R4, (R28)				    ; 010494
43C1153E     2330		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010495
D3400C2E     2334		BSR	R26, FINDLDT				; R26, FINDLDT
43C1141E     2338		ADDQ	SP, 8, SP				; SP, 8, SP
E400000C     233C		BEQ	R0, 94_999$				; R0, 94_999$				    ; 010497
43E1000A     2340		SEXTL	R1, R10					; R1, R10				    ; 010498
A36B0000     2344		LDL	R27, (R11)				; R27, (R11)				    ; 010499
B36A0000     2348		STL	R27, (R10)				; R27, (R10)
236D0298     234C		LDA	R27, 664(R13)				; R27, 664(R13)				    ; 010502
A0A60000     2350		LDL	R5, (R6)				; R5, (R6)				    ; 010501
43C1153E     2354		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010502
D3400C25     2358		BSR	R26, FINDLDT				; R26, FINDLDT
43C1141E     235C		ADDQ	SP, 8, SP				; SP, 8, SP
F4000015     2360		BNE	R0, $L104				; R0, $L104				    ; 010504
	     2364	94_2$:												    ; 010509
B3EB0000     2364		STL	R31, (R11)				; R31, (R11)
B1610000     2368		STL	R11, (R1)				; R11, (R1)				    ; 010510
47FF041F     236C		NOP						; 
	     2370	94_999$:											    ; 010511
A01E0000     2370		LDL	R0, (SP)				; R0, (SP)				    ; 010512
A03E0004     2374		LDL	R1, 4(SP)				; R1, 4(SP)
43C1141E     2378		ADDQ	SP, 8, SP				; SP, 8, SP
	     237C	$L18:												    ; 010513
A79E0000     237C		LDQ	R28, (SP)				; R28, (SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 152
V01H                            MOVLDT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A45E0008     2380		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     2384		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     2388		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     238C		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     2390		LDQ	R6, 40(SP)				; R6, 40(SP)
A4FE0030     2394		LDQ	R7, 48(SP)				; R7, 48(SP)
A51E0038     2398		LDQ	R8, 56(SP)				; R8, 56(SP)
A53E0040     239C		LDQ	R9, 64(SP)				; R9, 64(SP)
A55E0048     23A0		LDQ	R10, 72(SP)				; R10, 72(SP)
A57E0050     23A4		LDQ	R11, 80(SP)				; R11, 80(SP)
A5BE0058     23A8		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     23AC		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     23B0		RET	R28					; R28
2FFE0000     23B4		LNOP						; 
	     23B8	$L104:												    ; 010505
A74DFEF0     23B8		LDQ	R26, -272(R13)				; R26, -272(R13)			    ; 010507
43EB0000     23BC		SEXTL	R11, R0					; R11, R0				    ; 010506
A02B0034     23C0		LDL	R1, 52(R11)				; R1, 52(R11)				    ; 010505
43C1153E     23C4		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010507
A76DFEF8     23C8		LDQ	R27, -264(R13)				; R27, -264(R13)
6B5A4000     23CC		JSR	R26, R26				; R26, R26
43C1141E     23D0		ADDQ	SP, 8, SP				; SP, 8, SP
C3FFFFE6     23D4		BR	94_999$					; 94_999$				    ; 010508
47FF041F     23D8		NOP						; 
47FF041F     23DC		NOP						; 

Routine Size: 256 bytes,    Routine Base: $$$115_DRIVER + 22E0

	     23E0	DOWAIT:												    ; 010518
43C4153E     23E0		SUBQ	SP, 32, SP				; SP, 32, SP
B75E0000     23E4		STQ	R26, (SP)				; R26, (SP)
B45E0008     23E8		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     23EC		STQ	R3, 16(SP)				; R3, 16(SP)
B5BE0018     23F0		STQ	R13, 24(SP)				; R13, 24(SP)
47FB040D     23F4		MOV	R27, R13				; R27, R13
	     23F8	$L19:
47FF0410     23F8		CLR	R16					; R16					    ; 010519
47E1041B     23FC		MOV	R1, R27					; R1, R27
47E0041C     2400		MOV	R0, R28					; R0, R28
0000000F     2404		CALL_PAL 15					; 15
47FC0400     2408		MOV	R28, R0					; R28, R0
47FB0401     240C		MOV	R27, R1					; R27, R1
	     2410	95_10$:												    ; 010520
A34A0000     2410		LDL	R26, (R10)				; R26, (R10)
F7400010     2414		BNE	R26, 95_90$				; R26, 95_90$				    ; 010521
	     2418	L$2:
A00B0020     2418		LDL	R0, 32(R11)				; R0, 32(R11)				    ; 010522
E400000E     241C		BEQ	R0, 95_90$				; R0, 95_90$				    ; 010523
A3200000     2420		LDL	R25, (R0)				; R25, (R0)				    ; 010524
E720000C     2424		BEQ	R25, 95_90$				; R25, 95_90$				    ; 010526
A74D0020     2428		LDQ	R26, 32(R13)				; R26, 32(R13)				    ; 010529
47E3F410     242C		BIS	R31, 31, R16				; R31, 31, R16				    ; 010528
A76D0028     2430		LDQ	R27, 40(R13)				; R27, 40(R13)				    ; 010529
47E03419     2434		BIS	R31, 1, R25				; R31, 1, R25
6B5A4000     2438		JSR	R26, R26				; R26, R26
47E3F410     243C		BIS	R31, 31, R16				; R31, 31, R16				    ; 010531
47E03419     2440		BIS	R31, 1, R25				; R31, 1, R25				    ; 010532

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 153
V01H                            DOWAIT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A74D0010     2444		LDQ	R26, 16(R13)				; R26, 16(R13)
A76D0018     2448		LDQ	R27, 24(R13)				; R27, 24(R13)
6B5A4000     244C		JSR	R26, R26				; R26, R26
A34A0000     2450		LDL	R26, (R10)				; R26, (R10)				    ; 010520
E75FFFF0     2454		BEQ	R26, L$2				; R26, L$2				    ; 010521
	     2458	95_90$:												    ; 010534
43EA0000     2458		SEXTL	R10, R0					; R10, R0
A14A0000     245C		LDL	R10, (R10)				; R10, (R10)				    ; 010535
F5400001     2460		BNE	R10, 95_92$				; R10, 95_92$				    ; 010536
47E0540A     2464		BIS	R31, 2, R10				; R31, 2, R10				    ; 010537
	     2468	95_92$:												    ; 010538
43C2153E     2468		SUBQ	SP, 16, SP				; SP, 16, SP
A74DFEE0     246C		LDQ	R26, -288(R13)				; R26, -288(R13)			    ; 010541
A76DFEE8     2470		LDQ	R27, -280(R13)				; R27, -280(R13)
B07E000C     2474		STL	R3, 12(SP)				; R3, 12(SP)				    ; 010538
B05E0008     2478		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     247C		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     2480		STL	R0, (SP)				; R0, (SP)
47E21401     2484		BIS	R31, 16, R1				; R31, 16, R1				    ; 010540
6B5A4000     2488		JSR	R26, R26				; R26, R26				    ; 010541
A01E0000     248C		LDL	R0, (SP)				; R0, (SP)				    ; 010542
A03E0004     2490		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     2494		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     2498		LDL	R3, 12(SP)				; R3, 12(SP)
43C2141E     249C		ADDQ	SP, 16, SP				; SP, 16, SP
	     24A0	$L20:												    ; 010544
A79E0000     24A0		LDQ	R28, (SP)				; R28, (SP)
A45E0008     24A4		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     24A8		LDQ	R3, 16(SP)				; R3, 16(SP)
A5BE0018     24AC		LDQ	R13, 24(SP)				; R13, 24(SP)
43C4141E     24B0		ADDQ	SP, 32, SP				; SP, 32, SP
6BFC8001     24B4		RET	R28					; R28
47FF041F     24B8		NOP						; 
47FF041F     24BC		NOP						; 

Routine Size: 224 bytes,    Routine Base: $$$115_DRIVER + 23E0

	     24C0	FDTLOP::											    ; 010547
43D0153E     24C0		SUBQ	SP, 128, SP				; SP, 128, SP
B77E0000     24C4		STQ	R27, (SP)				; R27, (SP)
B75E0018     24C8		STQ	R26, 24(SP)				; R26, 24(SP)
B45E0020     24CC		STQ	R2, 32(SP)				; R2, 32(SP)
B47E0028     24D0		STQ	R3, 40(SP)				; R3, 40(SP)
B49E0030     24D4		STQ	R4, 48(SP)				; R4, 48(SP)
B4BE0038     24D8		STQ	R5, 56(SP)				; R5, 56(SP)
B4DE0040     24DC		STQ	R6, 64(SP)				; R6, 64(SP)
B4FE0048     24E0		STQ	R7, 72(SP)				; R7, 72(SP)
B51E0050     24E4		STQ	R8, 80(SP)				; R8, 80(SP)
B53E0058     24E8		STQ	R9, 88(SP)				; R9, 88(SP)
B55E0060     24EC		STQ	R10, 96(SP)				; R10, 96(SP)
B57E0068     24F0		STQ	R11, 104(SP)				; R11, 104(SP)
B5BE0070     24F4		STQ	R13, 112(SP)				; R13, 112(SP)
B7BE0078     24F8		STQ	FP, 120(SP)				; FP, 120(SP)
47FB040D     24FC		MOV	R27, R13				; R27, R13
B7FE0008     2500		STQ	R31, 8(SP)				; R31, 8(SP)
47FE041D     2504		MOV	SP, FP					; SP, FP
	     2508	$L21:

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 154
V01H                            FDTLOP                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

48E0779C     2508		SRA	R7, 3, R28				; R7, 3, R28				    ; 010549
41019008     250C		ADDL	R8, 12, R8				; R8, 12, R8				    ; 010548
411C001B     2510		ADDL	R8, R28, R27				; R8, R28, R27				    ; 010549
44E0F01A     2514		AND	R7, 7, R26				; R7, 7, R26
2F9B0000     2518		LDQ_U	R28, (R27)				; R28, (R27)
4B9B00DC     251C		EXTBL	R28, R27, R28				; R28, R27, R28
4B9A0699     2520		SRL	R28, R26, R25				; R28, R26, R25
E33FFFF8     2524		BLBC	R25, $L21				; R25, $L21
A0080008     2528		LDL	R0, 8(R8)				; R0, 8(R8)				    ; 010550
43E03418     252C		ADDQ	R31, 1, R24				; R31, 1, R24				    ; 010551
A74D0030     2530		LDQ	R26, 48(R13)				; R26, 48(R13)
47FF0419     2534		CLR	R25					; R25
A76D0038     2538		LDQ	R27, 56(R13)				; R27, 56(R13)
47E00417     253C		MOV	R0, R23					; R0, R23
6B5A4000     2540		JSR	R26, R26				; R26, R26
C3FFFFF0     2544		BR	$L21					; $L21					    ; 010552
47FF041F     2548		NOP						; 
47FF041F     254C		NOP						; 

Routine Size: 144 bytes,    Routine Base: $$$115_DRIVER + 24C0

	     2550	FDTXIT::											    ; 010553
43D0153E     2550		SUBQ	SP, 128, SP				; SP, 128, SP
B77E0000     2554		STQ	R27, (SP)				; R27, (SP)
B75E0018     2558		STQ	R26, 24(SP)				; R26, 24(SP)
B45E0020     255C		STQ	R2, 32(SP)				; R2, 32(SP)
B47E0028     2560		STQ	R3, 40(SP)				; R3, 40(SP)
B49E0030     2564		STQ	R4, 48(SP)				; R4, 48(SP)
B4BE0038     2568		STQ	R5, 56(SP)				; R5, 56(SP)
B4DE0040     256C		STQ	R6, 64(SP)				; R6, 64(SP)
B4FE0048     2570		STQ	R7, 72(SP)				; R7, 72(SP)
B51E0050     2574		STQ	R8, 80(SP)				; R8, 80(SP)
B53E0058     2578		STQ	R9, 88(SP)				; R9, 88(SP)
B55E0060     257C		STQ	R10, 96(SP)				; R10, 96(SP)
B57E0068     2580		STQ	R11, 104(SP)				; R11, 104(SP)
B5BE0070     2584		STQ	R13, 112(SP)				; R13, 112(SP)
B7BE0078     2588		STQ	FP, 120(SP)				; FP, 120(SP)
47FB040D     258C		MOV	R27, R13				; R27, R13
B7FE0008     2590		STQ	R31, 8(SP)				; R31, 8(SP)
47FE041D     2594		MOV	SP, FP					; SP, FP
	     2598	$L23:
47E03400     2598		BIS	R31, 1, R0				; R31, 1, R0				    ; 010554
41A8141B     259C		ADDQ	R13, 64, R27				; R13, 64, R27				    ; 010555
D340003B     25A0		BSR	R26, X$FINI				; R26, X$FINI
	     25A4	$L24:												    ; 010556
47FD041E     25A4		MOV	FP, SP					; FP, SP
A79E0018     25A8		LDQ	R28, 24(SP)				; R28, 24(SP)
A45E0020     25AC		LDQ	R2, 32(SP)				; R2, 32(SP)
A47E0028     25B0		LDQ	R3, 40(SP)				; R3, 40(SP)
A49E0030     25B4		LDQ	R4, 48(SP)				; R4, 48(SP)
A4BE0038     25B8		LDQ	R5, 56(SP)				; R5, 56(SP)
A4DE0040     25BC		LDQ	R6, 64(SP)				; R6, 64(SP)
A4FE0048     25C0		LDQ	R7, 72(SP)				; R7, 72(SP)
A51E0050     25C4		LDQ	R8, 80(SP)				; R8, 80(SP)
A53E0058     25C8		LDQ	R9, 88(SP)				; R9, 88(SP)
A55E0060     25CC		LDQ	R10, 96(SP)				; R10, 96(SP)
A57E0068     25D0		LDQ	R11, 104(SP)				; R11, 104(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 155
V01H                            FDTXIT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A5BE0070     25D4		LDQ	R13, 112(SP)				; R13, 112(SP)
A7BE0078     25D8		LDQ	FP, 120(SP)				; FP, 120(SP)
43D0141E     25DC		ADDQ	SP, 128, SP				; SP, 128, SP
6BFC8001     25E0		RET	R28					; R28
47FF041F     25E4		NOP						; 
47FF041F     25E8		NOP						; 
47FF041F     25EC		NOP						; 

Routine Size: 160 bytes,    Routine Base: $$$115_DRIVER + 2550

	     25F0	FDTBXT::											    ; 010557
43D0153E     25F0		SUBQ	SP, 128, SP				; SP, 128, SP
B77E0000     25F4		STQ	R27, (SP)				; R27, (SP)
B75E0018     25F8		STQ	R26, 24(SP)				; R26, 24(SP)
B45E0020     25FC		STQ	R2, 32(SP)				; R2, 32(SP)
B47E0028     2600		STQ	R3, 40(SP)				; R3, 40(SP)
B49E0030     2604		STQ	R4, 48(SP)				; R4, 48(SP)
B4BE0038     2608		STQ	R5, 56(SP)				; R5, 56(SP)
B4DE0040     260C		STQ	R6, 64(SP)				; R6, 64(SP)
B4FE0048     2610		STQ	R7, 72(SP)				; R7, 72(SP)
B51E0050     2614		STQ	R8, 80(SP)				; R8, 80(SP)
B53E0058     2618		STQ	R9, 88(SP)				; R9, 88(SP)
B55E0060     261C		STQ	R10, 96(SP)				; R10, 96(SP)
B57E0068     2620		STQ	R11, 104(SP)				; R11, 104(SP)
B5BE0070     2624		STQ	R13, 112(SP)				; R13, 112(SP)
B7BE0078     2628		STQ	FP, 120(SP)				; FP, 120(SP)
47FB040D     262C		MOV	R27, R13				; R27, R13
B7FE0008     2630		STQ	R31, 8(SP)				; R31, 8(SP)
47FE041D     2634		MOV	SP, FP					; SP, FP
	     2638	$L25:
47E49400     2638		BIS	R31, 36, R0				; R31, 36, R0				    ; 010558
41A4141B     263C		ADDQ	R13, 32, R27				; R13, 32, R27				    ; 010559
D3400013     2640		BSR	R26, X$FINI				; R26, X$FINI
	     2644	$L26:												    ; 010560
47FD041E     2644		MOV	FP, SP					; FP, SP
A79E0018     2648		LDQ	R28, 24(SP)				; R28, 24(SP)
A45E0020     264C		LDQ	R2, 32(SP)				; R2, 32(SP)
A47E0028     2650		LDQ	R3, 40(SP)				; R3, 40(SP)
A49E0030     2654		LDQ	R4, 48(SP)				; R4, 48(SP)
A4BE0038     2658		LDQ	R5, 56(SP)				; R5, 56(SP)
A4DE0040     265C		LDQ	R6, 64(SP)				; R6, 64(SP)
A4FE0048     2660		LDQ	R7, 72(SP)				; R7, 72(SP)
A51E0050     2664		LDQ	R8, 80(SP)				; R8, 80(SP)
A53E0058     2668		LDQ	R9, 88(SP)				; R9, 88(SP)
A55E0060     266C		LDQ	R10, 96(SP)				; R10, 96(SP)
A57E0068     2670		LDQ	R11, 104(SP)				; R11, 104(SP)
A5BE0070     2674		LDQ	R13, 112(SP)				; R13, 112(SP)
A7BE0078     2678		LDQ	FP, 120(SP)				; FP, 120(SP)
43D0141E     267C		ADDQ	SP, 128, SP				; SP, 128, SP
6BFC8001     2680		RET	R28					; R28
47FF041F     2684		NOP						; 
47FF041F     2688		NOP						; 
47FF041F     268C		NOP						; 

Routine Size: 160 bytes,    Routine Base: $$$115_DRIVER + 25F0

	     2690	X$FINI:												    ; 010562

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 156
V01H                            X$FINI                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43C2153E     2690		SUBQ	SP, 16, SP				; SP, 16, SP
B75E0000     2694		STQ	R26, (SP)				; R26, (SP)
B5BE0008     2698		STQ	R13, 8(SP)				; R13, 8(SP)
47FB040D     269C		MOV	R27, R13				; R27, R13
	     26A0	$L27:
A74D0010     26A0		LDQ	R26, 16(R13)				; R26, 16(R13)				    ; 010590
47FF0401     26A4		CLR	R1					; R1
B0030050     26A8		STL	R0, 80(R3)				; R0, 80(R3)
43E50011     26AC		SEXTL	R5, R17					; R5, R17
A76D0018     26B0		LDQ	R27, 24(R13)				; R27, 24(R13)
43E30010     26B4		SEXTL	R3, R16					; R3, R16
B0230054     26B8		STL	R1, 84(R3)				; R1, 84(R3)
47E05419     26BC		BIS	R31, 2, R25				; R31, 2, R25
6B5A4000     26C0		JSR	R26, R26				; R26, R26
	     26C4	$L28:												    ; 010591
A79E0000     26C4		LDQ	R28, (SP)				; R28, (SP)
A5BE0008     26C8		LDQ	R13, 8(SP)				; R13, 8(SP)
43C2141E     26CC		ADDQ	SP, 16, SP				; SP, 16, SP
6BFC8001     26D0		RET	R28					; R28
47FF041F     26D4		NOP						; 
47FF041F     26D8		NOP						; 
47FF041F     26DC		NOP						; 

Routine Size: 80 bytes,    Routine Base: $$$115_DRIVER + 2690

	     26E0	DEACFILT:											    ; 010593
43D2153E     26E0		SUBQ	SP, 144, SP				; SP, 144, SP
B77E0000     26E4		STQ	R27, (SP)				; R27, (SP)
B75E0010     26E8		STQ	R26, 16(SP)				; R26, 16(SP)
B45E0018     26EC		STQ	R2, 24(SP)				; R2, 24(SP)
B47E0020     26F0		STQ	R3, 32(SP)				; R3, 32(SP)
B49E0028     26F4		STQ	R4, 40(SP)				; R4, 40(SP)
B4BE0030     26F8		STQ	R5, 48(SP)				; R5, 48(SP)
B4DE0038     26FC		STQ	R6, 56(SP)				; R6, 56(SP)
B4FE0040     2700		STQ	R7, 64(SP)				; R7, 64(SP)
B51E0048     2704		STQ	R8, 72(SP)				; R8, 72(SP)
B53E0050     2708		STQ	R9, 80(SP)				; R9, 80(SP)
B55E0058     270C		STQ	R10, 88(SP)				; R10, 88(SP)
B57E0060     2710		STQ	R11, 96(SP)				; R11, 96(SP)
B59E0068     2714		STQ	R12, 104(SP)				; R12, 104(SP)
B5BE0070     2718		STQ	R13, 112(SP)				; R13, 112(SP)
47FB040D     271C		MOV	R27, R13				; R27, R13
B5DE0078     2720		STQ	R14, 120(SP)				; R14, 120(SP)
B5FE0080     2724		STQ	R15, 128(SP)				; R15, 128(SP)
B7BE0088     2728		STQ	FP, 136(SP)				; FP, 136(SP)
47FE041D     272C		MOV	SP, FP					; SP, FP
B7FE0008     2730		STQ	R31, 8(SP)				; R31, 8(SP)
	     2734	$L29:
43C2153E     2734		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 010596
43F20005     2738		SEXTL	R18, R5					; R18, R5				    ; 010593
B0BE000C     273C		STL	R5, 12(SP)				; R5, 12(SP)				    ; 010594
43F00003     2740		SEXTL	R16, R3					; R16, R3				    ; 010593
43F10004     2744		SEXTL	R17, R4					; R17, R4
B01E0008     2748		STL	R0, 8(SP)				; R0, 8(SP)				    ; 010594
43F30006     274C		SEXTL	R19, R6					; R19, R6				    ; 010593
236DFD20     2750		LDA	R27, -736(R13)				; R27, -736(R13)			    ; 010596
D35FF696     2754		BSR	R26, GETJTUCB				; R26, GETJTUCB

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 157
V01H                            DEACFILT                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43C1141E     2758		ADDQ	SP, 8, SP				; SP, 8, SP
E800001A     275C		BLT	R0, 100_509$				; R0, 100_509$				    ; 010598
	     2760	100_1509$:											    ; 010599
A01E0000     2760		LDL	R0, (SP)				; R0, (SP)
41AE141B     2764		ADDQ	R13, 112, R27				; R13, 112, R27				    ; 010600
A0BE0004     2768		LDL	R5, 4(SP)				; R5, 4(SP)				    ; 010599
43C1141E     276C		ADDQ	SP, 8, SP				; SP, 8, SP
47FF041F     2770		NOP						; 
D34003BA     2774		BSR	R26, POPOUT				; R26, POPOUT				    ; 010600
	     2778	$L30:												    ; 010601
47FD041E     2778		MOV	FP, SP					; FP, SP
A79E0010     277C		LDQ	R28, 16(SP)				; R28, 16(SP)
A45E0018     2780		LDQ	R2, 24(SP)				; R2, 24(SP)
A47E0020     2784		LDQ	R3, 32(SP)				; R3, 32(SP)
A49E0028     2788		LDQ	R4, 40(SP)				; R4, 40(SP)
A4BE0030     278C		LDQ	R5, 48(SP)				; R5, 48(SP)
A4DE0038     2790		LDQ	R6, 56(SP)				; R6, 56(SP)
A4FE0040     2794		LDQ	R7, 64(SP)				; R7, 64(SP)
A51E0048     2798		LDQ	R8, 72(SP)				; R8, 72(SP)
A53E0050     279C		LDQ	R9, 80(SP)				; R9, 80(SP)
A55E0058     27A0		LDQ	R10, 88(SP)				; R10, 88(SP)
A57E0060     27A4		LDQ	R11, 96(SP)				; R11, 96(SP)
A59E0068     27A8		LDQ	R12, 104(SP)				; R12, 104(SP)
A5BE0070     27AC		LDQ	R13, 112(SP)				; R13, 112(SP)
A5DE0078     27B0		LDQ	R14, 120(SP)				; R14, 120(SP)
A5FE0080     27B4		LDQ	R15, 128(SP)				; R15, 128(SP)
A7BE0088     27B8		LDQ	FP, 136(SP)				; FP, 136(SP)
43D2141E     27BC		ADDQ	SP, 144, SP				; SP, 144, SP
6BFC8001     27C0		RET	R28					; R28
47FF041F     27C4		NOP						; 
	     27C8	100_509$:											    ; 010602
B0A0023C     27C8		STL	R5, 572(R0)				; R5, 572(R0)				    ; 010604
43E00005     27CC		SEXTL	R0, R5					; R0, R5				    ; 010605
279F0001     27D0		LDAH	R28, 1(R31)				; R28, 1(R31)				    ; 010606
A3650128     27D4		LDL	R27, 296(R5)				; R27, 296(R5)
239C0100     27D8		LDA	R28, 256(R28)				; R28, 256(R28)
477C0014     27DC		AND	R27, R28, R20				; R27, R28, R20
E69FFFDF     27E0		BEQ	R20, 100_1509$				; R20, 100_1509$			    ; 010607
	     27E4	100_30029$:
A34400D4     27E4		LDL	R26, 212(R4)				; R26, 212(R4)				    ; 010609
A3250130     27E8		LDL	R25, 304(R5)				; R25, 304(R5)
43590534     27EC		SUBQ	R26, R25, R20				; R26, R25, R20
E69FFFDB     27F0		BEQ	R20, 100_1509$				; R20, 100_1509$			    ; 010610
	     27F4	100_30030$:
A30400D4     27F4		LDL	R24, 212(R4)				; R24, 212(R4)				    ; 010611
A2E50118     27F8		LDL	R23, 280(R5)				; R23, 280(R5)
43170534     27FC		SUBQ	R24, R23, R20				; R24, R23, R20
E69FFFD7     2800		BEQ	R20, 100_1509$				; R20, 100_1509$			    ; 010612
	     2804	100_30031$:
A2C400D4     2804		LDL	R22, 212(R4)				; R22, 212(R4)				    ; 010613
A3850120     2808		LDL	R28, 288(R5)				; R28, 288(R5)
42DC0534     280C		SUBQ	R22, R28, R20				; R22, R28, R20
E69FFFD3     2810		BEQ	R20, 100_1509$				; R20, 100_1509$			    ; 010614
	     2814	100_30032$:
A36400D4     2814		LDL	R27, 212(R4)				; R27, 212(R4)				    ; 010615
A345038C     2818		LDL	R26, 908(R5)				; R26, 908(R5)
437A0534     281C		SUBQ	R27, R26, R20				; R27, R26, R20

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 158
V01H                            DEACFILT                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

E69FFFCF     2820		BEQ	R20, 100_1509$				; R20, 100_1509$			    ; 010616
	     2824	100_30033$:
A32400D4     2824		LDL	R25, 212(R4)				; R25, 212(R4)				    ; 010617
A2E50390     2828		LDL	R23, 912(R5)				; R23, 912(R5)
43370534     282C		SUBQ	R25, R23, R20				; R25, R23, R20
E69FFFCB     2830		BEQ	R20, 100_1509$				; R20, 100_1509$			    ; 010618
	     2834	100_30034$:
A2C400D4     2834		LDL	R22, 212(R4)				; R22, 212(R4)				    ; 010619
A3650394     2838		LDL	R27, 916(R5)				; R27, 916(R5)
42DB0534     283C		SUBQ	R22, R27, R20				; R22, R27, R20
E69FFFC7     2840		BEQ	R20, 100_1509$				; R20, 100_1509$			    ; 010620
	     2844	100_30035$:
A34400D4     2844		LDL	R26, 212(R4)				; R26, 212(R4)				    ; 010621
A3050398     2848		LDL	R24, 920(R5)				; R24, 920(R5)
43580534     284C		SUBQ	R26, R24, R20				; R26, R24, R20
E69FFFC3     2850		BEQ	R20, 100_1509$				; R20, 100_1509$			    ; 010622
	     2854	100_30036$:
A2C60010     2854		LDL	R22, 16(R6)				; R22, 16(R6)				    ; 010624
4AC0F176     2858		INSBL	R22, 7, R22				; R22, 7, R22
4AC71796     285C		SRA	R22, 56, R22				; R22, 56, R22
42C03534     2860		SUBQ	R22, 1, R20				; R22, 1, R20
EE9FFFBE     2864		BLE	R20, 100_1509$				; R20, 100_1509$			    ; 010625
	     2868	100_30037$:
43E5000A     2868		SEXTL	R5, R10					; R5, R10				    ; 010629
43C1153E     286C		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010632
41A5141B     2870		ADDQ	R13, 40, R27				; R13, 40, R27
D3400066     2874		BSR	R26, CLNUP				; R26, CLNUP
41450534     2878		SUBQ	R10, R5, R20				; R10, R5, R20				    ; 010633
43C1141E     287C		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 010632
E680004B     2880		BEQ	R20, 100_99$				; R20, 100_99$				    ; 010634
43C1153E     2884		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010637
B15E0004     2888		STL	R10, 4(SP)				; R10, 4(SP)				    ; 010635
B0BE0000     288C		STL	R5, (SP)				; R5, (SP)				    ; 010637
A0A5023C     2890		LDL	R5, 572(R5)				; R5, 572(R5)				    ; 010638
43C3153E     2894		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 010639
43FE0009     2898		SEXTL	SP, R9					; SP, R9				    ; 010640
A3830078     289C		LDL	R28, 120(R3)				; R28, 120(R3)				    ; 010642
B3890000     28A0		STL	R28, (R9)				; R28, (R9)
A363007C     28A4		LDL	R27, 124(R3)				; R27, 124(R3)				    ; 010643
B3690004     28A8		STL	R27, 4(R9)				; R27, 4(R9)
236DFD20     28AC		LDA	R27, -736(R13)				; R27, -736(R13)			    ; 010659
A3430080     28B0		LDL	R26, 128(R3)				; R26, 128(R3)				    ; 010644
B3490008     28B4		STL	R26, 8(R9)				; R26, 8(R9)
A3230084     28B8		LDL	R25, 132(R3)				; R25, 132(R3)				    ; 010645
B329000C     28BC		STL	R25, 12(R9)				; R25, 12(R9)
A3030088     28C0		LDL	R24, 136(R3)				; R24, 136(R3)				    ; 010646
B3090010     28C4		STL	R24, 16(R9)				; R24, 16(R9)
A2E3008C     28C8		LDL	R23, 140(R3)				; R23, 140(R3)				    ; 010647
B2E90014     28CC		STL	R23, 20(R9)				; R23, 20(R9)
A2C30060     28D0		LDL	R22, 96(R3)				; R22, 96(R3)				    ; 010657
43C3153E     28D4		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 010659
B13E0014     28D8		STL	R9, 20(SP)				; R9, 20(SP)				    ; 010658
B11E0010     28DC		STL	R8, 16(SP)				; R8, 16(SP)
B0FE000C     28E0		STL	R7, 12(SP)				; R7, 12(SP)
46C7F001     28E4		AND	R22, 63, R1				; R22, 63, R1				    ; 010657
B0DE0008     28E8		STL	R6, 8(SP)				; R6, 8(SP)				    ; 010658
D35FF630     28EC		BSR	R26, GETJTUCB				; R26, GETJTUCB				    ; 010659

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 159
V01H                            DEACFILT                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47E09419     28F0		BIS	R31, 4, R25				; R31, 4, R25				    ; 010674
43C1141E     28F4		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 010659
20E00380     28F8		LDA	R7, 896(R0)				; R7, 896(R0)				    ; 010662
F8000032     28FC		BGE	R0, 100_199$				; R0, 100_199$				    ; 010661
F8E00031     2900		BGE	R7, 100_199$				; R7, 100_199$				    ; 010663
40E11007     2904		ADDL	R7, 8, R7				; R7, 8, R7				    ; 010667
4027005A     2908		S4ADDL	R1, R7, R26				; R1, R7, R26				    ; 010668
A76DFF98     290C		LDQ	R27, -104(R13)				; R27, -104(R13)			    ; 010674
43E60013     2910		SEXTL	R6, R19					; R6, R19				    ; 010670
A11A0000     2914		LDL	R8, (R26)				; R8, (R26)				    ; 010668
A74DFF90     2918		LDQ	R26, -112(R13)				; R26, -112(R13)			    ; 010674
43E50012     291C		SEXTL	R5, R18					; R5, R18				    ; 010671
43E40011     2920		SEXTL	R4, R17					; R4, R17				    ; 010672
43E30010     2924		SEXTL	R3, R16					; R3, R16				    ; 010673
43C1153E     2928		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010674
47E80417     292C		MOV	R8, R23					; R8, R23
43E03418     2930		ADDQ	R31, 1, R24				; R31, 1, R24
6B5A4000     2934		JSR	R26, R26				; R26, R26
A0DE0008     2938		LDL	R6, 8(SP)				; R6, 8(SP)				    ; 010675
A0FE000C     293C		LDL	R7, 12(SP)				; R7, 12(SP)
A11E0010     2940		LDL	R8, 16(SP)				; R8, 16(SP)
A13E0014     2944		LDL	R9, 20(SP)				; R9, 20(SP)
43C3141E     2948		ADDQ	SP, 24, SP				; SP, 24, SP
	     294C	100_1199$:											    ; 010681
47E05410     294C		BIS	R31, 2, R16				; R31, 2, R16				    ; 010684
47E10418     2950		MOV	R1, R24					; R1, R24
47E00419     2954		MOV	R0, R25					; R0, R25
0000000F     2958		CALL_PAL 15					; 15
A0BE0018     295C		LDL	R5, 24(SP)				; R5, 24(SP)				    ; 010686
47F90400     2960		MOV	R25, R0					; R25, R0				    ; 010684
A15E001C     2964		LDL	R10, 28(SP)				; R10, 28(SP)				    ; 010687
43C4141E     2968		ADDQ	SP, 32, SP				; SP, 32, SP
A1260000     296C		LDL	R9, (R6)				; R9, (R6)				    ; 010688
47F80401     2970		MOV	R24, R1					; R24, R1				    ; 010684
B1460000     2974		STL	R10, (R6)				; R10, (R6)				    ; 010689
A2C9007C     2978		LDL	R22, 124(R9)				; R22, 124(R9)				    ; 010692
42C03136     297C		SUBL	R22, 1, R22				; R22, 1, R22
B2C9007C     2980		STL	R22, 124(R9)				; R22, 124(R9)
FEC00002     2984		BGT	R22, 100_4$				; R22, 100_4$				    ; 010693
47E0341C     2988		BIS	R31, 1, R28				; R31, 1, R28				    ; 010694
B389007C     298C		STL	R28, 124(R9)				; R28, 124(R9)
	     2990	100_4$:												    ; 010695
A34A007C     2990		LDL	R26, 124(R10)				; R26, 124(R10)
4340301A     2994		ADDL	R26, 1, R26				; R26, 1, R26
B34A007C     2998		STL	R26, 124(R10)				; R26, 124(R10)
A01E0000     299C		LDL	R0, (SP)				; R0, (SP)				    ; 010703
A0BE0004     29A0		LDL	R5, 4(SP)				; R5, 4(SP)
43C1141E     29A4		ADDQ	SP, 8, SP				; SP, 8, SP
201F0AC8     29A8		LDA	R0, 2760(R31)				; R0, 2760(R31)				    ; 010705
C3FFFF72     29AC		BR	$L30					; $L30					    ; 010706
	     29B0	100_99$:											    ; 010707
A01E0000     29B0		LDL	R0, (SP)				; R0, (SP)				    ; 010708
41AE141B     29B4		ADDQ	R13, 112, R27				; R13, 112, R27				    ; 010709
A0BE0004     29B8		LDL	R5, 4(SP)				; R5, 4(SP)				    ; 010708
43C1141E     29BC		ADDQ	SP, 8, SP				; SP, 8, SP
D3400327     29C0		BSR	R26, POPOUT				; R26, POPOUT				    ; 010709
C3FFFF6C     29C4		BR	$L30					; $L30					    ; 010710

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 160
V01H                            DEACFILT                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     29C8	100_199$:											    ; 010677
A74DFFF0     29C8		LDQ	R26, -16(R13)				; R26, -16(R13)				    ; 010680
47E21400     29CC		BIS	R31, 16, R0				; R31, 16, R0				    ; 010679
A0DE0000     29D0		LDL	R6, (SP)				; R6, (SP)				    ; 010678
47FF0401     29D4		CLR	R1					; R1					    ; 010680
A0FE0004     29D8		LDL	R7, 4(SP)				; R7, 4(SP)				    ; 010678
43E50011     29DC		SEXTL	R5, R17					; R5, R17				    ; 010680
A11E0008     29E0		LDL	R8, 8(SP)				; R8, 8(SP)				    ; 010678
43E30010     29E4		SEXTL	R3, R16					; R3, R16				    ; 010680
A13E000C     29E8		LDL	R9, 12(SP)				; R9, 12(SP)				    ; 010678
43C2141E     29EC		ADDQ	SP, 16, SP				; SP, 16, SP
B0030050     29F0		STL	R0, 80(R3)				; R0, 80(R3)				    ; 010680
47E05419     29F4		BIS	R31, 2, R25				; R31, 2, R25
B0230054     29F8		STL	R1, 84(R3)				; R1, 84(R3)
43C1153E     29FC		SUBQ	SP, 8, SP				; SP, 8, SP
A76DFFF8     2A00		LDQ	R27, -8(R13)				; R27, -8(R13)
6B5A4000     2A04		JSR	R26, R26				; R26, R26
43C1141E     2A08		ADDQ	SP, 8, SP				; SP, 8, SP
C3FFFF5A     2A0C		BR	$L30					; $L30

Routine Size: 816 bytes,    Routine Base: $$$115_DRIVER + 26E0

	     2A10	CLNUP:												    ; 010712
43CC153E     2A10		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0008     2A14		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     2A18		STQ	R2, 16(SP)				; R2, 16(SP)
B47E0018     2A1C		STQ	R3, 24(SP)				; R3, 24(SP)
B49E0020     2A20		STQ	R4, 32(SP)				; R4, 32(SP)
B4BE0028     2A24		STQ	R5, 40(SP)				; R5, 40(SP)
B4DE0030     2A28		STQ	R6, 48(SP)				; R6, 48(SP)
B4FE0038     2A2C		STQ	R7, 56(SP)				; R7, 56(SP)
B51E0040     2A30		STQ	R8, 64(SP)				; R8, 64(SP)
B53E0048     2A34		STQ	R9, 72(SP)				; R9, 72(SP)
B57E0050     2A38		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     2A3C		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     2A40		MOV	R27, R13				; R27, R13
	     2A44	$L31:
43C2153E     2A44		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 010717
236D0190     2A48		LDA	R27, 400(R13)				; R27, 400(R13)
B03E000C     2A4C		STL	R1, 12(SP)				; R1, 12(SP)				    ; 010715
B01E0008     2A50		STL	R0, 8(SP)				; R0, 8(SP)
D3400A66     2A54		BSR	R26, FINDLDT				; R26, FINDLDT				    ; 010717
43C1141E     2A58		ADDQ	SP, 8, SP				; SP, 8, SP
E4000030     2A5C		BEQ	R0, 101_999$				; R0, 101_999$				    ; 010719
	     2A60	101_30038$:
A78DFD38     2A60		LDQ	R28, -712(R13)				; R28, -712(R13)			    ; 010722
43E0000B     2A64		SEXTL	R0, R11					; R0, R11				    ; 010720
A62DFE98     2A68		LDQ	R17, -360(R13)				; R17, -360(R13)			    ; 010730
A36B001C     2A6C		LDL	R27, 28(R11)				; R27, 28(R11)				    ; 010724
A09C0000     2A70		LDL	R4, (R28)				; R4, (R28)				    ; 010722
B3640074     2A74		STL	R27, 116(R4)				; R27, 116(R4)				    ; 010724
A34B000C     2A78		LDL	R26, 12(R11)				; R26, 12(R11)				    ; 010728
B3440100     2A7C		STL	R26, 256(R4)				; R26, 256(R4)
A30B0010     2A80		LDL	R24, 16(R11)				; R24, 16(R11)				    ; 010729
A74DFD40     2A84		LDQ	R26, -704(R13)				; R26, -704(R13)			    ; 010732
B3040104     2A88		STL	R24, 260(R4)				; R24, 260(R4)				    ; 010729
A2CB000C     2A8C		LDL	R22, 12(R11)				; R22, 12(R11)				    ; 010730

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 161
V01H                            CLNUP                            2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B2D10000     2A90		STL	R22, (R17)				; R22, (R17)
A36B0010     2A94		LDL	R27, 16(R11)				; R27, 16(R11)				    ; 010731
B3710004     2A98		STL	R27, 4(R17)				; R27, 4(R17)
A09A0000     2A9C		LDL	R4, (R26)				; R4, (R26)				    ; 010732
A32B0014     2AA0		LDL	R25, 20(R11)				; R25, 20(R11)				    ; 010733
B3240280     2AA4		STL	R25, 640(R4)				; R25, 640(R4)
A2EB0018     2AA8		LDL	R23, 24(R11)				; R23, 24(R11)				    ; 010734
B2E40284     2AAC		STL	R23, 644(R4)				; R23, 644(R4)
A38B000C     2AB0		LDL	R28, 12(R11)				; R28, 12(R11)				    ; 010735
B3840000     2AB4		STL	R28, (R4)				; R28, (R4)
A34B0010     2AB8		LDL	R26, 16(R11)				; R26, 16(R11)				    ; 010736
B3440004     2ABC		STL	R26, 4(R4)				; R26, 4(R4)
A30B0038     2AC0		LDL	R24, 56(R11)				; R24, 56(R11)				    ; 010739
A2E60000     2AC4		LDL	R23, (R6)				; R23, (R6)
43170530     2AC8		SUBQ	R24, R23, R16				; R24, R23, R16
E6000001     2ACC		BEQ	R16, 101_1$				; R16, 101_1$				    ; 010740
A14B0038     2AD0		LDL	R10, 56(R11)				; R10, 56(R11)				    ; 010741
	     2AD4	101_1$:												    ; 010742
43C1153E     2AD4		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010745
41A2141B     2AD8		ADDQ	R13, 16, R27				; R13, 16, R27
B15E0004     2ADC		STL	R10, 4(SP)				; R10, 4(SP)				    ; 010744
D3400023     2AE0		BSR	R26, UNDOID				; R26, UNDOID				    ; 010745
A15E0004     2AE4		LDL	R10, 4(SP)				; R10, 4(SP)				    ; 010748
236D0190     2AE8		LDA	R27, 400(R13)				; R27, 400(R13)				    ; 010753
D3400A40     2AEC		BSR	R26, FINDLDT				; R26, FINDLDT
400B0530     2AF0		SUBQ	R0, R11, R16				; R0, R11, R16				    ; 010756
43C1141E     2AF4		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 010753
F6000009     2AF8		BNE	R16, 101_999$				; R16, 101_999$				    ; 010757
A2CB0000     2AFC		LDL	R22, (R11)				; R22, (R11)				    ; 010760
43EB0000     2B00		SEXTL	R11, R0					; R11, R0				    ; 010763
A74DFDE8     2B04		LDQ	R26, -536(R13)				; R26, -536(R13)			    ; 010764
A76DFDF0     2B08		LDQ	R27, -528(R13)				; R27, -528(R13)
B2C10000     2B0C		STL	R22, (R1)				; R22, (R1)				    ; 010760
A02B0034     2B10		LDL	R1, 52(R11)				; R1, 52(R11)				    ; 010762
43C1153E     2B14		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010764
6B5A4000     2B18		JSR	R26, R26				; R26, R26
43C1141E     2B1C		ADDQ	SP, 8, SP				; SP, 8, SP
	     2B20	101_999$:											    ; 010767
A01E0000     2B20		LDL	R0, (SP)				; R0, (SP)				    ; 010768
A03E0004     2B24		LDL	R1, 4(SP)				; R1, 4(SP)
43C1141E     2B28		ADDQ	SP, 8, SP				; SP, 8, SP
	     2B2C	$L32:												    ; 010769
A79E0008     2B2C		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     2B30		LDQ	R2, 16(SP)				; R2, 16(SP)
A47E0018     2B34		LDQ	R3, 24(SP)				; R3, 24(SP)
A49E0020     2B38		LDQ	R4, 32(SP)				; R4, 32(SP)
A4BE0028     2B3C		LDQ	R5, 40(SP)				; R5, 40(SP)
A4DE0030     2B40		LDQ	R6, 48(SP)				; R6, 48(SP)
A4FE0038     2B44		LDQ	R7, 56(SP)				; R7, 56(SP)
A51E0040     2B48		LDQ	R8, 64(SP)				; R8, 64(SP)
A53E0048     2B4C		LDQ	R9, 72(SP)				; R9, 72(SP)
A57E0050     2B50		LDQ	R11, 80(SP)				; R11, 80(SP)
A5BE0058     2B54		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     2B58		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     2B5C		RET	R28					; R28
	     2B60	$L105:												    ; 010719
C3FFFFEF     2B60		BR	101_999$				; 101_999$

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 162
V01H                            CLNUP                            2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47FF041F     2B64		NOP						; 
47FF041F     2B68		NOP						; 
47FF041F     2B6C		NOP						; 

Routine Size: 352 bytes,    Routine Base: $$$115_DRIVER + 2A10

	     2B70	UNDOID:												    ; 010771
43CC153E     2B70		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     2B74		STQ	R26, (SP)				; R26, (SP)
B45E0008     2B78		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     2B7C		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     2B80		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     2B84		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     2B88		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     2B8C		STQ	R7, 48(SP)				; R7, 48(SP)
B51E0038     2B90		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     2B94		STQ	R9, 64(SP)				; R9, 64(SP)
B55E0048     2B98		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     2B9C		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     2BA0		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     2BA4		MOV	R27, R13				; R27, R13
	     2BA8	$L33:
43C1153E     2BA8		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010772
A72DFCD0     2BAC		LDQ	R25, -816(R13)				; R25, -816(R13)			    ; 010775
4167940A     2BB0		ADDQ	R11, 60, R10				; R11, 60, R10				    ; 010773
B03E0004     2BB4		STL	R1, 4(SP)				; R1, 4(SP)				    ; 010772
B01E0000     2BB8		STL	R0, (SP)				; R0, (SP)
A34B0044     2BBC		LDL	R26, 68(R11)				; R26, 68(R11)				    ; 010775
A3190078     2BC0		LDL	R24, 120(R25)				; R24, 120(R25)
43580530     2BC4		SUBQ	R26, R24, R16				; R26, R24, R16
F6000005     2BC8		BNE	R16, 102_999$				; R16, 102_999$				    ; 010776
	     2BCC	102_30039$:
4141940A     2BCC		ADDQ	R10, 12, R10				; R10, 12, R10				    ; 010777
	     2BD0	102_1$:												    ; 010778
2D2A0000     2BD0		LDQ_U	R9, (R10)				; R9, (R10)
492A00C9     2BD4		EXTBL	R9, R10, R9				; R9, R10, R9
4140340A     2BD8		ADDQ	R10, 1, R10				; R10, 1, R10
F5200014     2BDC		BNE	R9, 102_30040$				; R9, 102_30040$			    ; 010779
	     2BE0	102_999$:											    ; 010837
A01E0000     2BE0		LDL	R0, (SP)				; R0, (SP)				    ; 010838
A03E0004     2BE4		LDL	R1, 4(SP)				; R1, 4(SP)
43C1141E     2BE8		ADDQ	SP, 8, SP				; SP, 8, SP
	     2BEC	$L34:												    ; 010839
A79E0000     2BEC		LDQ	R28, (SP)				; R28, (SP)
A45E0008     2BF0		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     2BF4		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     2BF8		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     2BFC		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     2C00		LDQ	R6, 40(SP)				; R6, 40(SP)
A4FE0030     2C04		LDQ	R7, 48(SP)				; R7, 48(SP)
A51E0038     2C08		LDQ	R8, 56(SP)				; R8, 56(SP)
A53E0040     2C0C		LDQ	R9, 64(SP)				; R9, 64(SP)
A55E0048     2C10		LDQ	R10, 72(SP)				; R10, 72(SP)
A57E0050     2C14		LDQ	R11, 80(SP)				; R11, 80(SP)
A5BE0058     2C18		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     2C1C		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     2C20		RET	R28					; R28

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 163
V01H                            UNDOID                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

2FFE0000     2C24		LNOP						; 
	     2C28	$L106:												    ; 010776
C3FFFFED     2C28		BR	102_999$				; 102_999$
47FF041F     2C2C		NOP						; 
	     2C30	102_30040$:											    ; 010779
41203530     2C30		SUBQ	R9, 1, R16				; R9, 1, R16				    ; 010780
E61FFFE6     2C34		BEQ	R16, 102_1$				; R16, 102_1$				    ; 010781
41205530     2C38		SUBQ	R9, 2, R16				; R9, 2, R16				    ; 010782
E61FFFE4     2C3C		BEQ	R16, 102_1$				; R16, 102_1$				    ; 010783
41207530     2C40		SUBQ	R9, 3, R16				; R9, 3, R16				    ; 010784
F600000E     2C44		BNE	R16, 102_2$				; R16, 102_2$				    ; 010785
2F4A0000     2C48		LDQ_U	R26, (R10)				; R26, (R10)				    ; 010787
2CEA0001     2C4C		LDQ_U	R7, 1(R10)				; R7, 1(R10)				    ; 010788
4B4A00DA     2C50		EXTBL	R26, R10, R26				; R26, R10, R26				    ; 010787
4140340A     2C54		ADDQ	R10, 1, R10				; R10, 1, R10
48EA04C7     2C58		EXTLL	R7, R10, R7				; R7, R10, R7				    ; 010788
2F0A0003     2C5C		LDQ_U	R24, 3(R10)				; R24, 3(R10)
4B471728     2C60		SLL	R26, 56, R8				; R26, 56, R8				    ; 010787
4B0A0D59     2C64		EXTLH	R24, R10, R25				; R24, R10, R25				    ; 010788
49071788     2C68		SRA	R8, 56, R8				; R8, 56, R8				    ; 010787
44F90407     2C6C		BIS	R7, R25, R7				; R7, R25, R7				    ; 010788
43E70007     2C70		SEXTL	R7, R7					; R7, R7
4140940A     2C74		ADDQ	R10, 4, R10				; R10, 4, R10
C3FFFFD5     2C78		BR	102_1$					; 102_1$				    ; 010789
47FF041F     2C7C		NOP						; 
	     2C80	102_2$:												    ; 010790
41209530     2C80		SUBQ	R9, 4, R16				; R9, 4, R16				    ; 010791
F600001E     2C84		BNE	R16, 102_3$				; R16, 102_3$				    ; 010792
2C0A0000     2C88		LDQ_U	R0, (R10)				; R0, (R10)				    ; 010793
2F8A0003     2C8C		LDQ_U	R28, 3(R10)				; R28, 3(R10)
2C2A0004     2C90		LDQ_U	R1, 4(R10)				; R1, 4(R10)				    ; 010794
480A04C0     2C94		EXTLL	R0, R10, R0				; R0, R10, R0				    ; 010793
4B8A0D56     2C98		EXTLH	R28, R10, R22				; R28, R10, R22
4140940A     2C9C		ADDQ	R10, 4, R10				; R10, 4, R10
482A04C1     2CA0		EXTLL	R1, R10, R1				; R1, R10, R1				    ; 010794
2F4A0003     2CA4		LDQ_U	R26, 3(R10)				; R26, 3(R10)
2C4A0004     2CA8		LDQ_U	R2, 4(R10)				; R2, 4(R10)				    ; 010795
44160400     2CAC		BIS	R0, R22, R0				; R0, R22, R0				    ; 010793
43E00000     2CB0		SEXTL	R0, R0					; R0, R0
4B4A0D5B     2CB4		EXTLH	R26, R10, R27				; R26, R10, R27				    ; 010794
4140940A     2CB8		ADDQ	R10, 4, R10				; R10, 4, R10
484A04C2     2CBC		EXTLL	R2, R10, R2				; R2, R10, R2				    ; 010795
2F0A0003     2CC0		LDQ_U	R24, 3(R10)				; R24, 3(R10)
443B0401     2CC4		BIS	R1, R27, R1				; R1, R27, R1				    ; 010794
2C6A0004     2CC8		LDQ_U	R3, 4(R10)				; R3, 4(R10)				    ; 010796
43E10001     2CCC		SEXTL	R1, R1					; R1, R1				    ; 010794
4B0A0D59     2CD0		EXTLH	R24, R10, R25				; R24, R10, R25				    ; 010795
4140940A     2CD4		ADDQ	R10, 4, R10				; R10, 4, R10
486A04C3     2CD8		EXTLL	R3, R10, R3				; R3, R10, R3				    ; 010796
2ECA0003     2CDC		LDQ_U	R22, 3(R10)				; R22, 3(R10)
44590402     2CE0		BIS	R2, R25, R2				; R2, R25, R2				    ; 010795
43E20002     2CE4		SEXTL	R2, R2					; R2, R2
4ACA0D57     2CE8		EXTLH	R22, R10, R23				; R22, R10, R23				    ; 010796
4140940A     2CEC		ADDQ	R10, 4, R10				; R10, 4, R10
44770403     2CF0		BIS	R3, R23, R3				; R3, R23, R3
43E30003     2CF4		SEXTL	R3, R3					; R3, R3
C3FFFFB5     2CF8		BR	102_1$					; 102_1$				    ; 010797

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 164
V01H                            UNDOID                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47FF041F     2CFC		NOP						; 
	     2D00	102_3$:												    ; 010798
4120B530     2D00		SUBQ	R9, 5, R16				; R9, 5, R16
F600002E     2D04		BNE	R16, 102_4$				; R16, 102_4$				    ; 010799
2C0A0000     2D08		LDQ_U	R0, (R10)				; R0, (R10)				    ; 010803
2F4A0003     2D0C		LDQ_U	R26, 3(R10)				; R26, 3(R10)
A04B0404     2D10		LDL	R2, 1028(R11)				; R2, 1028(R11)				    ; 010807
480A04C0     2D14		EXTLL	R0, R10, R0				; R0, R10, R0				    ; 010803
4B4A0D5B     2D18		EXTLH	R26, R10, R27				; R26, R10, R27
A06B0408     2D1C		LDL	R3, 1032(R11)				; R3, 1032(R11)				    ; 010808
4140940A     2D20		ADDQ	R10, 4, R10				; R10, 4, R10				    ; 010803
441B0400     2D24		BIS	R0, R27, R0				; R0, R27, R0
2C2A0000     2D28		LDQ_U	R1, (R10)				; R1, (R10)				    ; 010805
43E00000     2D2C		SEXTL	R0, R0					; R0, R0				    ; 010803
2F0A0003     2D30		LDQ_U	R24, 3(R10)				; R24, 3(R10)				    ; 010805
43E00007     2D34		SEXTL	R0, R7					; R0, R7				    ; 010804
43E70010     2D38		SEXTL	R7, R16					; R7, R16				    ; 010819
482A04C1     2D3C		EXTLL	R1, R10, R1				; R1, R10, R1				    ; 010805
4B0A0D59     2D40		EXTLH	R24, R10, R25				; R24, R10, R25
4140940A     2D44		ADDQ	R10, 4, R10				; R10, 4, R10
44390401     2D48		BIS	R1, R25, R1				; R1, R25, R1
2C4A0000     2D4C		LDQ_U	R2, (R10)				; R2, (R10)				    ; 010813
2F8A0003     2D50		LDQ_U	R28, 3(R10)				; R28, 3(R10)
43E10001     2D54		SEXTL	R1, R1					; R1, R1				    ; 010805
2C6A0004     2D58		LDQ_U	R3, 4(R10)				; R3, 4(R10)				    ; 010814
43E00008     2D5C		SEXTL	R0, R8					; R0, R8				    ; 010806
484A04C2     2D60		EXTLL	R2, R10, R2				; R2, R10, R2				    ; 010813
4B8A0D56     2D64		EXTLH	R28, R10, R22				; R28, R10, R22
4140940A     2D68		ADDQ	R10, 4, R10				; R10, 4, R10
486A04C3     2D6C		EXTLL	R3, R10, R3				; R3, R10, R3				    ; 010814
2F4A0003     2D70		LDQ_U	R26, 3(R10)				; R26, 3(R10)
44560402     2D74		BIS	R2, R22, R2				; R2, R22, R2				    ; 010813
43E20002     2D78		SEXTL	R2, R2					; R2, R2
4B4A0D5B     2D7C		EXTLH	R26, R10, R27				; R26, R10, R27				    ; 010814
4140940A     2D80		ADDQ	R10, 4, R10				; R10, 4, R10
447B0403     2D84		BIS	R3, R27, R3				; R3, R27, R3
43E30003     2D88		SEXTL	R3, R3					; R3, R3
E600000C     2D8C		BEQ	R16, 102_4$				; R16, 102_4$				    ; 010820
47FF0413     2D90		CLR	R19					; R19					    ; 010822
47FF0414     2D94		CLR	R20					; R20
41421532     2D98		SUBQ	R10, 16, R18				; R10, 16, R18				    ; 010823
47FF0410     2D9C		CLR	R16					; R16					    ; 010824
47FF0411     2DA0		CLR	R17					; R17
43C1153E     2DA4		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 010825
47E0B419     2DA8		BIS	R31, 5, R25				; R31, 5, R25
236D0398     2DAC		LDA	R27, 920(R13)				; R27, 920(R13)
D3400EBF     2DB0		BSR	R26, REVOKID				; R26, REVOKID
43C1141E     2DB4		ADDQ	SP, 8, SP				; SP, 8, SP
C3FFFF85     2DB8		BR	102_1$					; 102_1$				    ; 010826
47FF041F     2DBC		NOP						; 
	     2DC0	102_4$:												    ; 010827
4120D530     2DC0		SUBQ	R9, 6, R16				; R9, 6, R16
F6000004     2DC4		BNE	R16, 102_5$				; R16, 102_5$				    ; 010828
2D2A0000     2DC8		LDQ_U	R9, (R10)				; R9, (R10)				    ; 010829
492A00C9     2DCC		EXTBL	R9, R10, R9				; R9, R10, R9
4149000A     2DD0		ADDL	R10, R9, R10				; R10, R9, R10				    ; 010830
C3FFFF7E     2DD4		BR	102_1$					; 102_1$				    ; 010831

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 165
V01H                            UNDOID                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     2DD8	102_5$:												    ; 010832
4120F530     2DD8		SUBQ	R9, 7, R16				; R9, 7, R16
F61FFF80     2DDC		BNE	R16, 102_999$				; R16, 102_999$				    ; 010833
2D2A0000     2DE0		LDQ_U	R9, (R10)				; R9, (R10)				    ; 010834
492A00C9     2DE4		EXTBL	R9, R10, R9				; R9, R10, R9
4149000A     2DE8		ADDL	R10, R9, R10				; R10, R9, R10				    ; 010835
C3FFFF78     2DEC		BR	102_1$					; 102_1$				    ; 010836

Routine Size: 640 bytes,    Routine Base: $$$115_DRIVER + 2B70

	     2DF0	DELFILT:											    ; 010844
43D2153E     2DF0		SUBQ	SP, 144, SP				; SP, 144, SP
B77E0000     2DF4		STQ	R27, (SP)				; R27, (SP)
B75E0010     2DF8		STQ	R26, 16(SP)				; R26, 16(SP)
B45E0018     2DFC		STQ	R2, 24(SP)				; R2, 24(SP)
B47E0020     2E00		STQ	R3, 32(SP)				; R3, 32(SP)
B49E0028     2E04		STQ	R4, 40(SP)				; R4, 40(SP)
B4BE0030     2E08		STQ	R5, 48(SP)				; R5, 48(SP)
B4DE0038     2E0C		STQ	R6, 56(SP)				; R6, 56(SP)
B4FE0040     2E10		STQ	R7, 64(SP)				; R7, 64(SP)
B51E0048     2E14		STQ	R8, 72(SP)				; R8, 72(SP)
B53E0050     2E18		STQ	R9, 80(SP)				; R9, 80(SP)
B55E0058     2E1C		STQ	R10, 88(SP)				; R10, 88(SP)
B57E0060     2E20		STQ	R11, 96(SP)				; R11, 96(SP)
B59E0068     2E24		STQ	R12, 104(SP)				; R12, 104(SP)
B5BE0070     2E28		STQ	R13, 112(SP)				; R13, 112(SP)
47FB040D     2E2C		MOV	R27, R13				; R27, R13
B5DE0078     2E30		STQ	R14, 120(SP)				; R14, 120(SP)
B5FE0080     2E34		STQ	R15, 128(SP)				; R15, 128(SP)
B7BE0088     2E38		STQ	FP, 136(SP)				; FP, 136(SP)
47FE041D     2E3C		MOV	SP, FP					; SP, FP
B7FE0008     2E40		STQ	R31, 8(SP)				; R31, 8(SP)
	     2E44	$L35:
43F30006     2E44		SEXTL	R19, R6					; R19, R6
43E60014     2E48		SEXTL	R6, R20					; R6, R20				    ; 010846
43F00003     2E4C		SEXTL	R16, R3					; R16, R3				    ; 010844
43F10004     2E50		SEXTL	R17, R4					; R17, R4
43F20005     2E54		SEXTL	R18, R5					; R18, R5
EE800005     2E58		BLE	R20, 103_2$				; R20, 103_2$				    ; 010847
A3660010     2E5C		LDL	R27, 16(R6)				; R27, 16(R6)				    ; 010848
4B60F17B     2E60		INSBL	R27, 7, R27				; R27, 7, R27
4B67179B     2E64		SRA	R27, 56, R27				; R27, 56, R27
43603534     2E68		SUBQ	R27, 1, R20				; R27, 1, R20
FE800016     2E6C		BGT	R20, 103_1$				; R20, 103_1$				    ; 010849
	     2E70	103_2$:												    ; 010850
41A7141B     2E70		ADDQ	R13, 56, R27				; R13, 56, R27
D3400206     2E74		BSR	R26, PORS				; R26, PORS
	     2E78	$L36:												    ; 010851
47FD041E     2E78		MOV	FP, SP					; FP, SP
A79E0010     2E7C		LDQ	R28, 16(SP)				; R28, 16(SP)
A45E0018     2E80		LDQ	R2, 24(SP)				; R2, 24(SP)
A47E0020     2E84		LDQ	R3, 32(SP)				; R3, 32(SP)
A49E0028     2E88		LDQ	R4, 40(SP)				; R4, 40(SP)
A4BE0030     2E8C		LDQ	R5, 48(SP)				; R5, 48(SP)
A4DE0038     2E90		LDQ	R6, 56(SP)				; R6, 56(SP)
A4FE0040     2E94		LDQ	R7, 64(SP)				; R7, 64(SP)
A51E0048     2E98		LDQ	R8, 72(SP)				; R8, 72(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 166
V01H                            DELFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A53E0050     2E9C		LDQ	R9, 80(SP)				; R9, 80(SP)
A55E0058     2EA0		LDQ	R10, 88(SP)				; R10, 88(SP)
A57E0060     2EA4		LDQ	R11, 96(SP)				; R11, 96(SP)
A59E0068     2EA8		LDQ	R12, 104(SP)				; R12, 104(SP)
A5BE0070     2EAC		LDQ	R13, 112(SP)				; R13, 112(SP)
A5DE0078     2EB0		LDQ	R14, 120(SP)				; R14, 120(SP)
A5FE0080     2EB4		LDQ	R15, 128(SP)				; R15, 128(SP)
A7BE0088     2EB8		LDQ	FP, 136(SP)				; FP, 136(SP)
43D2141E     2EBC		ADDQ	SP, 144, SP				; SP, 144, SP
6BFC8001     2EC0		RET	R28					; R28
47FF041F     2EC4		NOP						; 
	     2EC8	103_1$:												    ; 010852
43C2153E     2EC8		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 010856
236DFCD8     2ECC		LDA	R27, -808(R13)				; R27, -808(R13)
B0BE000C     2ED0		STL	R5, 12(SP)				; R5, 12(SP)				    ; 010854
B01E0008     2ED4		STL	R0, 8(SP)				; R0, 8(SP)
D35FF4B5     2ED8		BSR	R26, GETJTUCB				; R26, GETJTUCB				    ; 010856
43C1141E     2EDC		ADDQ	SP, 8, SP				; SP, 8, SP
E8000007     2EE0		BLT	R0, 103_509$				; R0, 103_509$				    ; 010858
47FF041F     2EE4		NOP						; 
	     2EE8	103_1509$:											    ; 010859
A01E0000     2EE8		LDL	R0, (SP)				; R0, (SP)
41A5141B     2EEC		ADDQ	R13, 40, R27				; R13, 40, R27				    ; 010860
A0BE0004     2EF0		LDL	R5, 4(SP)				; R5, 4(SP)				    ; 010859
43C1141E     2EF4		ADDQ	SP, 8, SP				; SP, 8, SP
D34001D9     2EF8		BSR	R26, POPOUT				; R26, POPOUT				    ; 010860
C3FFFFDE     2EFC		BR	$L36					; $L36					    ; 010861
	     2F00	103_509$:											    ; 010862
B0A0023C     2F00		STL	R5, 572(R0)				; R5, 572(R0)				    ; 010864
43E00005     2F04		SEXTL	R0, R5					; R0, R5				    ; 010865
A6ADFE18     2F08		LDQ	R21, -488(R13)				; R21, -488(R13)			    ; 011053
A3450128     2F0C		LDL	R26, 296(R5)				; R26, 296(R5)				    ; 010867
47501014     2F10		AND	R26, 128, R20				; R26, 128, R20
E69FFFF4     2F14		BEQ	R20, 103_1509$				; R20, 103_1509$			    ; 010868
	     2F18	103_30041$:
A32400D4     2F18		LDL	R25, 212(R4)				; R25, 212(R4)				    ; 010870
A3050130     2F1C		LDL	R24, 304(R5)				; R24, 304(R5)
43380534     2F20		SUBQ	R25, R24, R20				; R25, R24, R20
E69FFFF0     2F24		BEQ	R20, 103_1509$				; R20, 103_1509$			    ; 010871
	     2F28	103_30042$:
A2E400D4     2F28		LDL	R23, 212(R4)				; R23, 212(R4)				    ; 010872
A2C50118     2F2C		LDL	R22, 280(R5)				; R22, 280(R5)
42F60534     2F30		SUBQ	R23, R22, R20				; R23, R22, R20
E69FFFEC     2F34		BEQ	R20, 103_1509$				; R20, 103_1509$			    ; 010873
	     2F38	103_30043$:
A38400D4     2F38		LDL	R28, 212(R4)				; R28, 212(R4)				    ; 010874
A3650120     2F3C		LDL	R27, 288(R5)				; R27, 288(R5)
439B0534     2F40		SUBQ	R28, R27, R20				; R28, R27, R20
E69FFFE8     2F44		BEQ	R20, 103_1509$				; R20, 103_1509$			    ; 010875
	     2F48	103_30044$:
A34400D4     2F48		LDL	R26, 212(R4)				; R26, 212(R4)				    ; 010876
A325038C     2F4C		LDL	R25, 908(R5)				; R25, 908(R5)
43590534     2F50		SUBQ	R26, R25, R20				; R26, R25, R20
E69FFFE4     2F54		BEQ	R20, 103_1509$				; R20, 103_1509$			    ; 010877
	     2F58	103_30045$:
A30400D4     2F58		LDL	R24, 212(R4)				; R24, 212(R4)				    ; 010878
A2C50390     2F5C		LDL	R22, 912(R5)				; R22, 912(R5)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 167
V01H                            DELFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43160534     2F60		SUBQ	R24, R22, R20				; R24, R22, R20
E69FFFE0     2F64		BEQ	R20, 103_1509$				; R20, 103_1509$			    ; 010879
	     2F68	103_30046$:
A38400D4     2F68		LDL	R28, 212(R4)				; R28, 212(R4)				    ; 010880
A3450394     2F6C		LDL	R26, 916(R5)				; R26, 916(R5)
439A0534     2F70		SUBQ	R28, R26, R20				; R28, R26, R20
E69FFFDC     2F74		BEQ	R20, 103_1509$				; R20, 103_1509$			    ; 010881
	     2F78	103_30047$:
A32400D4     2F78		LDL	R25, 212(R4)				; R25, 212(R4)				    ; 010882
A2E50398     2F7C		LDL	R23, 920(R5)				; R23, 920(R5)
43370534     2F80		SUBQ	R25, R23, R20				; R25, R23, R20
E69FFFD8     2F84		BEQ	R20, 103_1509$				; R20, 103_1509$			    ; 010883
	     2F88	103_30048$:
A3860010     2F88		LDL	R28, 16(R6)				; R28, 16(R6)				    ; 010885
4B80F17C     2F8C		INSBL	R28, 7, R28				; R28, 7, R28
4B87179C     2F90		SRA	R28, 56, R28				; R28, 56, R28
43803534     2F94		SUBQ	R28, 1, R20				; R28, 1, R20
EE9FFFD3     2F98		BLE	R20, 103_1509$				; R20, 103_1509$			    ; 010886
	     2F9C	103_30049$:
A3630060     2F9C		LDL	R27, 96(R3)				; R27, 96(R3)				    ; 010894
47701014     2FA0		AND	R27, 128, R20				; R27, 128, R20
F680001E     2FA4		BNE	R20, $L107				; R20, $L107				    ; 010895
	     2FA8	103_10$:											    ; 010903
43C3153E     2FA8		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 010906
B17E0014     2FAC		STL	R11, 20(SP)				; R11, 20(SP)
B15E0010     2FB0		STL	R10, 16(SP)				; R10, 16(SP)
B13E000C     2FB4		STL	R9, 12(SP)				; R9, 12(SP)
B11E0008     2FB8		STL	R8, 8(SP)				; R8, 8(SP)
B0FE0004     2FBC		STL	R7, 4(SP)				; R7, 4(SP)
B0DE0000     2FC0		STL	R6, (SP)				; R6, (SP)
A1450120     2FC4		LDL	R10, 288(R5)				; R10, 288(R5)				    ; 010907
A13E000C     2FC8		LDL	R9, 12(SP)				; R9, 12(SP)				    ; 010920
A17E0014     2FCC		LDL	R11, 20(SP)				; R11, 20(SP)
ED400017     2FD0		BLE	R10, 103_5$				; R10, 103_5$				    ; 010908
A0D50000     2FD4		LDL	R6, (R21)				; R6, (R21)				    ; 010911
494012C7     2FD8		EXTWL	R10, 0, R7				; R10, 0, R7				    ; 010909
40E6005A     2FDC		S4ADDL	R7, R6, R26				; R7, R6, R26				    ; 010912
A0DE0000     2FE0		LDL	R6, (SP)				; R6, (SP)				    ; 010920
A11A0000     2FE4		LDL	R8, (R26)				; R8, (R26)				    ; 010912
A0FE0004     2FE8		LDL	R7, 4(SP)				; R7, 4(SP)				    ; 010920
F9000010     2FEC		BGE	R8, 103_5$				; R8, 103_5$				    ; 010914
A32800D4     2FF0		LDL	R25, 212(R8)				; R25, 212(R8)				    ; 010915
41590534     2FF4		SUBQ	R10, R25, R20				; R10, R25, R20
F680000D     2FF8		BNE	R20, 103_5$				; R20, 103_5$				    ; 010916
A30800FC     2FFC		LDL	R24, 252(R8)				; R24, 252(R8)				    ; 010918
A2E400FC     3000		LDL	R23, 252(R4)				; R23, 252(R4)
A11E0008     3004		LDL	R8, 8(SP)				; R8, 8(SP)				    ; 010920
A15E0010     3008		LDL	R10, 16(SP)				; R10, 16(SP)
43170534     300C		SUBQ	R24, R23, R20				; R24, R23, R20				    ; 010918
F6800007     3010		BNE	R20, 103_5$				; R20, 103_5$				    ; 010919
43C3141E     3014		ADDQ	SP, 24, SP				; SP, 24, SP				    ; 010920
	     3018	103_48$:											    ; 010921
C3FFFFB3     3018		BR	103_1509$				; 103_1509$
47FF041F     301C		NOP						; 
	     3020	$L107:												    ; 010896
A3830060     3020		LDL	R28, 96(R3)				; R28, 96(R3)
4790111C     3024		BIC	R28, 128, R28				; R28, 128, R28

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 168
V01H                            DELFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B3830060     3028		STL	R28, 96(R3)				; R28, 96(R3)
	     302C	103_999$:											    ; 011078
C3FFFFAE     302C		BR	103_1509$				; 103_1509$
	     3030	103_5$:												    ; 010922
A0DE0000     3030		LDL	R6, (SP)				; R6, (SP)				    ; 010923
47FF0412     3034		CLR	R18					; R18					    ; 010996
A0FE0004     3038		LDL	R7, 4(SP)				; R7, 4(SP)				    ; 010923
47E09411     303C		BIS	R31, 4, R17				; R31, 4, R17				    ; 010996
A11E0008     3040		LDL	R8, 8(SP)				; R8, 8(SP)				    ; 010923
A13E000C     3044		LDL	R9, 12(SP)				; R9, 12(SP)
A15E0010     3048		LDL	R10, 16(SP)				; R10, 16(SP)
A17E0014     304C		LDL	R11, 20(SP)				; R11, 20(SP)
B01E0014     3050		STL	R0, 20(SP)				; R0, 20(SP)				    ; 010927
B15E0010     3054		STL	R10, 16(SP)				; R10, 16(SP)				    ; 010928
43C1941E     3058		ADDQ	SP, 12, SP				; SP, 12, SP				    ; 010923
B17E0000     305C		STL	R11, (SP)				; R11, (SP)				    ; 010929
A0030078     3060		LDL	R0, 120(R3)				; R0, 120(R3)				    ; 010933
47E0041B     3064		MOV	R0, R27					; R0, R27				    ; 010996
40009410     3068		ADDQ	R0, 4, R16				; R0, 4, R16
00000091     306C		CALL_PAL 145					; 145
44007000     3070		AND	R0, 3, R0				; R0, 3, R0
424009BA     3074		CMPLT	R18, R0, R26				; R18, R0, R26
42203131     3078		SUBL	R17, 1, R17				; R17, 1, R17
474004D2     307C		CMOVNE	R26, R0, R18				; R26, R0, R18
0000008F     3080		CALL_PAL 143					; 143
47E00414     3084		MOV	R0, R20					; R0, R20
47FB0400     3088		MOV	R27, R0					; R27, R0
E6800026     308C		BEQ	R20, 103_50$				; R20, 103_50$
A0000004     3090		LDL	R0, 4(R0)				; R0, 4(R0)				    ; 010997
43C2153E     3094		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 011000
47FF040B     3098		CLR	R11					; R11					    ; 010999
B07E000C     309C		STL	R3, 12(SP)				; R3, 12(SP)				    ; 011000
B05E0008     30A0		STL	R2, 8(SP)				; R2, 8(SP)
43E00009     30A4		SEXTL	R0, R9					; R0, R9				    ; 010998
B03E0004     30A8		STL	R1, 4(SP)				; R1, 4(SP)				    ; 011000
B01E0000     30AC		STL	R0, (SP)				; R0, (SP)
A0030078     30B0		LDL	R0, 120(R3)				; R0, 120(R3)				    ; 011002
E400005A     30B4		BEQ	R0, 103_450$				; R0, 103_450$				    ; 011006
A0000004     30B8		LDL	R0, 4(R0)				; R0, 4(R0)				    ; 011007
E4000058     30BC		BEQ	R0, 103_450$				; R0, 103_450$				    ; 011008
2C200004     30C0		LDQ_U	R1, 4(R0)				; R1, 4(R0)				    ; 011009
40009419     30C4		ADDQ	R0, 4, R25				; R0, 4, R25
483902C1     30C8		EXTWL	R1, R25, R1				; R1, R25, R1
F3200078     30CC		BLBS	R25, $L158				; R25, $L158
	     30D0	$L159:
A0650240     30D0		LDL	R3, 576(R5)				; R3, 576(R5)				    ; 011019
47E21402     30D4		BIS	R31, 16, R2				; R31, 16, R2				    ; 011011
E460000D     30D8		BEQ	R3, 103_47$				; R3, 103_47$				    ; 011020
22DF3FFF     30DC		LDA	R22, 16383(R31)				; R22, 16383(R31)			    ; 011022
44360001     30E0		AND	R1, R22, R1				; R1, R22, R1
43E1001B     30E4		SEXTL	R1, R27					; R1, R27				    ; 011023
4B607782     30E8		SRA	R27, 3, R2				; R27, 3, R2
4420F001     30EC		AND	R1, 7, R1				; R1, 7, R1				    ; 011025
4820779A     30F0		SRA	R1, 3, R26				; R1, 3, R26				    ; 011026
40620000     30F4		ADDL	R3, R2, R0				; R3, R2, R0				    ; 011024
401A0019     30F8		ADDL	R0, R26, R25				; R0, R26, R25				    ; 011026
4420F018     30FC		AND	R1, 7, R24				; R1, 7, R24

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 169
V01H                            DELFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

2F590000     3100		LDQ_U	R26, (R25)				; R26, (R25)
4B5900DA     3104		EXTBL	R26, R25, R26				; R26, R25, R26
4B580697     3108		SRL	R26, R24, R23				; R26, R24, R23
E2E00044     310C		BLBC	R23, 103_450$				; R23, 103_450$
	     3110	103_47$:											    ; 011032
A01E0000     3110		LDL	R0, (SP)				; R0, (SP)				    ; 011033
4160300B     3114		ADDL	R11, 1, R11				; R11, 1, R11				    ; 011034
A03E0004     3118		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 011033
A05E0008     311C		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     3120		LDL	R3, 12(SP)				; R3, 12(SP)
43C2141E     3124		ADDQ	SP, 16, SP				; SP, 16, SP
	     3128	103_50$:											    ; 011035
A1450124     3128		LDL	R10, 292(R5)				; R10, 292(R5)				    ; 011038
F9400032     312C		BGE	R10, 103_850$				; R10, 103_850$				    ; 011039
A2CA0088     3130		LDL	R22, 136(R10)				; R22, 136(R10)				    ; 011040
46C21014     3134		AND	R22, 16, R20				; R22, 16, R20
E680002F     3138		BEQ	R20, 103_850$				; R20, 103_850$				    ; 011041
A38A007C     313C		LDL	R28, 124(R10)				; R28, 124(R10)				    ; 011043
E780002D     3140		BEQ	R28, 103_850$				; R28, 103_850$				    ; 011047
A36A0024     3144		LDL	R27, 36(R10)				; R27, 36(R10)				    ; 011048
FB60002B     3148		BGE	R27, 103_850$				; R27, 103_850$				    ; 011049
43C2153E     314C		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 011051
A74D0020     3150		LDQ	R26, 32(R13)				; R26, 32(R13)				    ; 011052
B11E000C     3154		STL	R8, 12(SP)				; R8, 12(SP)				    ; 011051
B0FE0008     3158		STL	R7, 8(SP)				; R7, 8(SP)
B0DE0004     315C		STL	R6, 4(SP)				; R6, 4(SP)
B0BE0000     3160		STL	R5, (SP)				; R5, (SP)
A0FA0000     3164		LDL	R7, (R26)				; R7, (R26)				    ; 011052
	     3168	103_100$:											    ; 011053
A0D50000     3168		LDL	R6, (R21)				; R6, (R21)
40E60059     316C		S4ADDL	R7, R6, R25				; R7, R6, R25				    ; 011054
A1190000     3170		LDL	R8, (R25)				; R8, (R25)
F9000004     3174		BGE	R8, 103_101$				; R8, 103_101$				    ; 011056
A3050120     3178		LDL	R24, 288(R5)				; R24, 288(R5)				    ; 011057
A2E800D4     317C		LDL	R23, 212(R8)				; R23, 212(R8)
43170534     3180		SUBQ	R24, R23, R20				; R24, R23, R20
E6800003     3184		BEQ	R20, 103_102$				; R20, 103_102$				    ; 011058
	     3188	103_101$:											    ; 011059
40E03127     3188		SUBL	R7, 1, R7				; R7, 1, R7
FCFFFFF6     318C		BGT	R7, 103_100$				; R7, 103_100$
B3E50120     3190		STL	R31, 288(R5)				; R31, 288(R5)				    ; 011060
	     3194	103_102$:											    ; 011061
A0BE0000     3194		LDL	R5, (SP)				; R5, (SP)
A0DE0004     3198		LDL	R6, 4(SP)				; R6, 4(SP)
A0FE0008     319C		LDL	R7, 8(SP)				; R7, 8(SP)
A11E000C     31A0		LDL	R8, 12(SP)				; R8, 12(SP)
43C2141E     31A4		ADDQ	SP, 16, SP				; SP, 16, SP
A2C50120     31A8		LDL	R22, 288(R5)				; R22, 288(R5)				    ; 011062
E6C00012     31AC		BEQ	R22, 103_850$				; R22, 103_850$				    ; 011063
43C3153E     31B0		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 011065
41B0141B     31B4		ADDQ	R13, 128, R27				; R13, 128, R27				    ; 011066
B11E0014     31B8		STL	R8, 20(SP)				; R8, 20(SP)				    ; 011065
43C0953E     31BC		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011066
B0FE0014     31C0		STL	R7, 20(SP)				; R7, 20(SP)				    ; 011065
B0DE0010     31C4		STL	R6, 16(SP)				; R6, 16(SP)
B0BE000C     31C8		STL	R5, 12(SP)				; R5, 12(SP)
B09E0008     31CC		STL	R4, 8(SP)				; R4, 8(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 170
V01H                            DELFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B07E0004     31D0		STL	R3, 4(SP)				; R3, 4(SP)
D340046A     31D4		BSR	R26, SNDDELMSG				; R26, SNDDELMSG			    ; 011066
A07E0004     31D8		LDL	R3, 4(SP)				; R3, 4(SP)				    ; 011067
A09E0008     31DC		LDL	R4, 8(SP)				; R4, 8(SP)
A0BE000C     31E0		LDL	R5, 12(SP)				; R5, 12(SP)
A0DE0010     31E4		LDL	R6, 16(SP)				; R6, 16(SP)
A0FE0014     31E8		LDL	R7, 20(SP)				; R7, 20(SP)
43C0941E     31EC		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 011066
A11E0014     31F0		LDL	R8, 20(SP)				; R8, 20(SP)				    ; 011067
43C3141E     31F4		ADDQ	SP, 24, SP				; SP, 24, SP
	     31F8	103_850$:											    ; 011069
A17E0000     31F8		LDL	R11, (SP)				; R11, (SP)				    ; 011071
40007534     31FC		SUBQ	R0, 3, R20				; R0, 3, R20				    ; 011073
A15E0004     3200		LDL	R10, 4(SP)				; R10, 4(SP)				    ; 011072
43C1141E     3204		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 011071
E680000B     3208		BEQ	R20, 103_2999$				; R20, 103_2999$			    ; 011074
E000001A     320C		BLBC	R0, 103_1999$				; R0, 103_1999$				    ; 011075
A01E0000     3210		LDL	R0, (SP)				; R0, (SP)				    ; 011076
43C0941E     3214		ADDQ	SP, 4, SP				; SP, 4, SP
C3FFFF33     3218		BR	103_1509$				; 103_1509$				    ; 011078
47FF041F     321C		NOP						; 
	     3220	103_450$:											    ; 011030
A01E0000     3220		LDL	R0, (SP)				; R0, (SP)
A03E0004     3224		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     3228		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     322C		LDL	R3, 12(SP)				; R3, 12(SP)
43C2141E     3230		ADDQ	SP, 16, SP				; SP, 16, SP
C3FFFFBC     3234		BR	103_50$					; 103_50$				    ; 011031
	     3238	103_2999$:											    ; 011088
A01E0000     3238		LDL	R0, (SP)				; R0, (SP)
43C0941E     323C		ADDQ	SP, 4, SP				; SP, 4, SP
	     3240	103_2951$:											    ; 011102
A0BE0004     3240		LDL	R5, 4(SP)				; R5, 4(SP)
47FF0401     3244		CLR	R1					; R1					    ; 011104
A74DFFA8     3248		LDQ	R26, -88(R13)				; R26, -88(R13)
43E30010     324C		SEXTL	R3, R16					; R3, R16
A01E0000     3250		LDL	R0, (SP)				; R0, (SP)				    ; 011102
47E03400     3254		BIS	R31, 1, R0				; R31, 1, R0				    ; 011103
43C1141E     3258		ADDQ	SP, 8, SP				; SP, 8, SP				    ; 011102
B0030050     325C		STL	R0, 80(R3)				; R0, 80(R3)				    ; 011104
A76DFFB0     3260		LDQ	R27, -80(R13)				; R27, -80(R13)
43E50011     3264		SEXTL	R5, R17					; R5, R17
B0230054     3268		STL	R1, 84(R3)				; R1, 84(R3)
47E05419     326C		BIS	R31, 2, R25				; R31, 2, R25
6B5A4000     3270		JSR	R26, R26				; R26, R26
C3FFFF00     3274		BR	$L36					; $L36
	     3278	103_1999$:											    ; 011082
A0BE0008     3278		LDL	R5, 8(SP)				; R5, 8(SP)				    ; 011083
43E40011     327C		SEXTL	R4, R17					; R4, R17				    ; 011085
A74DFD58     3280		LDQ	R26, -680(R13)				; R26, -680(R13)
43E30010     3284		SEXTL	R3, R16					; R3, R16
A01E0000     3288		LDL	R0, (SP)				; R0, (SP)				    ; 011082
47E09419     328C		BIS	R31, 4, R25				; R31, 4, R25				    ; 011085
A01E0004     3290		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 011083
47E49400     3294		BIS	R31, 36, R0				; R31, 36, R0				    ; 011084
A76DFD60     3298		LDQ	R27, -672(R13)				; R27, -672(R13)			    ; 011085
43C1941E     329C		ADDQ	SP, 12, SP				; SP, 12, SP				    ; 011082

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 171
V01H                            DELFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43E00013     32A0		SEXTL	R0, R19					; R0, R19				    ; 011085
43E50012     32A4		SEXTL	R5, R18					; R5, R18
6B5A4000     32A8		JSR	R26, R26				; R26, R26
C3FFFEF2     32AC		BR	$L36					; $L36
	     32B0	$L158:												    ; 011009
2EE00005     32B0		LDQ_U	R23, 5(R0)				; R23, 5(R0)
4AF90B58     32B4		EXTWH	R23, R25, R24				; R23, R25, R24
44380401     32B8		BIS	R1, R24, R1				; R1, R24, R1
C3FFFF84     32BC		BR	$L159					; $L159

Routine Size: 1232 bytes,    Routine Base: $$$115_DRIVER + 2DF0

	     32C0	CREFILT:											    ; 011112
43D8153E     32C0		SUBQ	SP, 192, SP				; SP, 192, SP
B77E0000     32C4		STQ	R27, (SP)				; R27, (SP)
B75E0040     32C8		STQ	R26, 64(SP)				; R26, 64(SP)
B45E0048     32CC		STQ	R2, 72(SP)				; R2, 72(SP)
B47E0050     32D0		STQ	R3, 80(SP)				; R3, 80(SP)
B49E0058     32D4		STQ	R4, 88(SP)				; R4, 88(SP)
B4BE0060     32D8		STQ	R5, 96(SP)				; R5, 96(SP)
B4DE0068     32DC		STQ	R6, 104(SP)				; R6, 104(SP)
B4FE0070     32E0		STQ	R7, 112(SP)				; R7, 112(SP)
B51E0078     32E4		STQ	R8, 120(SP)				; R8, 120(SP)
B53E0080     32E8		STQ	R9, 128(SP)				; R9, 128(SP)
B55E0088     32EC		STQ	R10, 136(SP)				; R10, 136(SP)
B57E0090     32F0		STQ	R11, 144(SP)				; R11, 144(SP)
B59E0098     32F4		STQ	R12, 152(SP)				; R12, 152(SP)
B5BE00A0     32F8		STQ	R13, 160(SP)				; R13, 160(SP)
47FB040D     32FC		MOV	R27, R13				; R27, R13
B5DE00A8     3300		STQ	R14, 168(SP)				; R14, 168(SP)
B5FE00B0     3304		STQ	R15, 176(SP)				; R15, 176(SP)
B7BE00B8     3308		STQ	FP, 184(SP)				; FP, 184(SP)
47FE041D     330C		MOV	SP, FP					; SP, FP
B7FE0008     3310		STQ	R31, 8(SP)				; R31, 8(SP)
B73D0010     3314		STQ	R25, 16(FP)				; R25, 16(FP)
B61D0018     3318		STQ	R16, 24(FP)				; R16, 24(FP)
B63D0020     331C		STQ	R17, 32(FP)				; R17, 32(FP)
B65D0028     3320		STQ	R18, 40(FP)				; R18, 40(FP)
B67D0030     3324		STQ	R19, 48(FP)				; R19, 48(FP)
	     3328	$L37:
43F30006     3328		SEXTL	R19, R6					; R19, R6
43E60014     332C		SEXTL	R6, R20					; R6, R20				    ; 011114
43F00003     3330		SEXTL	R16, R3					; R16, R3				    ; 011112
43F10004     3334		SEXTL	R17, R4					; R17, R4
43F20005     3338		SEXTL	R18, R5					; R18, R5
EE800005     333C		BLE	R20, 104_2$				; R20, 104_2$				    ; 011115
A3660010     3340		LDL	R27, 16(R6)				; R27, 16(R6)				    ; 011116
4B60F17B     3344		INSBL	R27, 7, R27				; R27, 7, R27
4B67179B     3348		SRA	R27, 56, R27				; R27, 56, R27
43603534     334C		SUBQ	R27, 1, R20				; R27, 1, R20
FE800017     3350		BGT	R20, 104_1$				; R20, 104_1$				    ; 011117
	     3354	104_2$:												    ; 011118
236DFD60     3354		LDA	R27, -672(R13)				; R27, -672(R13)
2FFE0000     3358		LNOP						; 
D34000CC     335C		BSR	R26, PORS				; R26, PORS
	     3360	$L38:												    ; 011119
47FD041E     3360		MOV	FP, SP					; FP, SP

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 172
V01H                            CREFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A79E0040     3364		LDQ	R28, 64(SP)				; R28, 64(SP)
A45E0048     3368		LDQ	R2, 72(SP)				; R2, 72(SP)
A47E0050     336C		LDQ	R3, 80(SP)				; R3, 80(SP)
A49E0058     3370		LDQ	R4, 88(SP)				; R4, 88(SP)
A4BE0060     3374		LDQ	R5, 96(SP)				; R5, 96(SP)
A4DE0068     3378		LDQ	R6, 104(SP)				; R6, 104(SP)
A4FE0070     337C		LDQ	R7, 112(SP)				; R7, 112(SP)
A51E0078     3380		LDQ	R8, 120(SP)				; R8, 120(SP)
A53E0080     3384		LDQ	R9, 128(SP)				; R9, 128(SP)
A55E0088     3388		LDQ	R10, 136(SP)				; R10, 136(SP)
A57E0090     338C		LDQ	R11, 144(SP)				; R11, 144(SP)
A59E0098     3390		LDQ	R12, 152(SP)				; R12, 152(SP)
A5BE00A0     3394		LDQ	R13, 160(SP)				; R13, 160(SP)
A5DE00A8     3398		LDQ	R14, 168(SP)				; R14, 168(SP)
A5FE00B0     339C		LDQ	R15, 176(SP)				; R15, 176(SP)
A7BE00B8     33A0		LDQ	FP, 184(SP)				; FP, 184(SP)
43D8141E     33A4		ADDQ	SP, 192, SP				; SP, 192, SP
6BFC8001     33A8		RET	R28					; R28
47FF041F     33AC		NOP						; 
	     33B0	104_1$:												    ; 011120
43C2153E     33B0		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 011122
236DFA00     33B4		LDA	R27, -1536(R13)				; R27, -1536(R13)
B0BE000C     33B8		STL	R5, 12(SP)				; R5, 12(SP)				    ; 011120
B01E0008     33BC		STL	R0, 8(SP)				; R0, 8(SP)
D35FF37B     33C0		BSR	R26, GETJTUCB				; R26, GETJTUCB				    ; 011122
43C1141E     33C4		ADDQ	SP, 8, SP				; SP, 8, SP
E8000007     33C8		BLT	R0, 104_509$				; R0, 104_509$				    ; 011124
47FF041F     33CC		NOP						; 
	     33D0	104_1509$:											    ; 011125
A01E0000     33D0		LDL	R0, (SP)				; R0, (SP)				    ; 011126
236DFD50     33D4		LDA	R27, -688(R13)				; R27, -688(R13)			    ; 011127
A0BE0004     33D8		LDL	R5, 4(SP)				; R5, 4(SP)				    ; 011126
43C1141E     33DC		ADDQ	SP, 8, SP				; SP, 8, SP
D340009F     33E0		BSR	R26, POPOUT				; R26, POPOUT				    ; 011127
C3FFFFDE     33E4		BR	$L38					; $L38					    ; 011128
	     33E8	104_509$:											    ; 011129
B0A0023C     33E8		STL	R5, 572(R0)				; R5, 572(R0)				    ; 011131
43E00005     33EC		SEXTL	R0, R5					; R0, R5				    ; 011132
A3450128     33F0		LDL	R26, 296(R5)				; R26, 296(R5)				    ; 011133
47421014     33F4		AND	R26, 16, R20				; R26, 16, R20
E69FFFF5     33F8		BEQ	R20, 104_1509$				; R20, 104_1509$			    ; 011134
	     33FC	104_30050$:
A30400D4     33FC		LDL	R24, 212(R4)				; R24, 212(R4)				    ; 011136
A2E50130     3400		LDL	R23, 304(R5)				; R23, 304(R5)
43170534     3404		SUBQ	R24, R23, R20				; R24, R23, R20
E69FFFF1     3408		BEQ	R20, 104_1509$				; R20, 104_1509$			    ; 011137
	     340C	104_30051$:
A2C400D4     340C		LDL	R22, 212(R4)				; R22, 212(R4)				    ; 011138
A3850118     3410		LDL	R28, 280(R5)				; R28, 280(R5)
42DC0534     3414		SUBQ	R22, R28, R20				; R22, R28, R20
E69FFFED     3418		BEQ	R20, 104_1509$				; R20, 104_1509$			    ; 011139
	     341C	104_30052$:
A36400D4     341C		LDL	R27, 212(R4)				; R27, 212(R4)				    ; 011140
A3450120     3420		LDL	R26, 288(R5)				; R26, 288(R5)
437A0534     3424		SUBQ	R27, R26, R20				; R27, R26, R20
E69FFFE9     3428		BEQ	R20, 104_1509$				; R20, 104_1509$			    ; 011141
	     342C	104_30053$:

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 173
V01H                            CREFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A30400D4     342C		LDL	R24, 212(R4)				; R24, 212(R4)				    ; 011142
A2E5038C     3430		LDL	R23, 908(R5)				; R23, 908(R5)
43170534     3434		SUBQ	R24, R23, R20				; R24, R23, R20
E69FFFE5     3438		BEQ	R20, 104_1509$				; R20, 104_1509$			    ; 011143
	     343C	104_30054$:
A2C400D4     343C		LDL	R22, 212(R4)				; R22, 212(R4)				    ; 011144
A3650390     3440		LDL	R27, 912(R5)				; R27, 912(R5)
42DB0534     3444		SUBQ	R22, R27, R20				; R22, R27, R20
E69FFFE1     3448		BEQ	R20, 104_1509$				; R20, 104_1509$			    ; 011145
	     344C	104_30055$:
A34400D4     344C		LDL	R26, 212(R4)				; R26, 212(R4)				    ; 011146
A2E50394     3450		LDL	R23, 916(R5)				; R23, 916(R5)
43570534     3454		SUBQ	R26, R23, R20				; R26, R23, R20
E69FFFDD     3458		BEQ	R20, 104_1509$				; R20, 104_1509$			    ; 011147
	     345C	104_30056$:
A2C400D4     345C		LDL	R22, 212(R4)				; R22, 212(R4)				    ; 011148
A3650398     3460		LDL	R27, 920(R5)				; R27, 920(R5)
42DB0534     3464		SUBQ	R22, R27, R20				; R22, R27, R20
E69FFFD9     3468		BEQ	R20, 104_1509$				; R20, 104_1509$			    ; 011149
	     346C	104_30057$:
A3060010     346C		LDL	R24, 16(R6)				; R24, 16(R6)				    ; 011151
4B00F178     3470		INSBL	R24, 7, R24				; R24, 7, R24
4B071798     3474		SRA	R24, 56, R24				; R24, 56, R24
43003534     3478		SUBQ	R24, 1, R20				; R24, 1, R20
EE9FFFD4     347C		BLE	R20, 104_1509$				; R20, 104_1509$			    ; 011152
	     3480	104_30058$:
A2E50128     3480		LDL	R23, 296(R5)				; R23, 296(R5)				    ; 011153
46E11014     3484		AND	R23, 8, R20				; R23, 8, R20
E6800039     3488		BEQ	R20, 104_8810$				; R20, 104_8810$			    ; 011155
43C0953E     348C		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011156
47FF0412     3490		CLR	R18					; R18					    ; 011162
B01E0000     3494		STL	R0, (SP)				; R0, (SP)				    ; 011156
A0030078     3498		LDL	R0, 120(R3)				; R0, 120(R3)				    ; 011160
47E09411     349C		BIS	R31, 4, R17				; R31, 4, R17				    ; 011162
47E00416     34A0		MOV	R0, R22					; R0, R22
40009410     34A4		ADDQ	R0, 4, R16				; R0, 4, R16
00000091     34A8		CALL_PAL 145					; 145
44007000     34AC		AND	R0, 3, R0				; R0, 3, R0
424009BC     34B0		CMPLT	R18, R0, R28				; R18, R0, R28
42203131     34B4		SUBL	R17, 1, R17				; R17, 1, R17
478004D2     34B8		CMOVNE	R28, R0, R18				; R28, R0, R18
0000008F     34BC		CALL_PAL 143					; 143
47E00414     34C0		MOV	R0, R20					; R0, R20
47F60400     34C4		MOV	R22, R0					; R22, R0
E6800027     34C8		BEQ	R20, 104_10$				; R20, 104_10$
47FF0412     34CC		CLR	R18					; R18					    ; 011164
A0000004     34D0		LDL	R0, 4(R0)				; R0, 4(R0)				    ; 011163
47E09411     34D4		BIS	R31, 4, R17				; R31, 4, R17				    ; 011164
47E0041B     34D8		MOV	R0, R27					; R0, R27
4002D410     34DC		ADDQ	R0, 22, R16				; R0, 22, R16
00000091     34E0		CALL_PAL 145					; 145
44007000     34E4		AND	R0, 3, R0				; R0, 3, R0
424009BA     34E8		CMPLT	R18, R0, R26				; R18, R0, R26
42203131     34EC		SUBL	R17, 1, R17				; R17, 1, R17
474004D2     34F0		CMOVNE	R26, R0, R18				; R26, R0, R18
0000008F     34F4		CALL_PAL 143					; 143
47E00414     34F8		MOV	R0, R20					; R0, R20

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 174
V01H                            CREFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

E680001A     34FC		BEQ	R20, 104_10$				; R20, 104_10$
47FB0400     3500		MOV	R27, R0					; R27, R0
4002D416     3504		ADDQ	R0, 22, R22				; R0, 22, R22				    ; 011165
2EE00016     3508		LDQ_U	R23, 22(R0)				; R23, 22(R0)
4AF602D7     350C		EXTWL	R23, R22, R23				; R23, R22, R23
F2C00041     3510		BLBS	R22, $L160				; R22, $L160
	     3514	$L161:
46F01014     3514		AND	R23, 128, R20				; R23, 128, R20
E6800013     3518		BEQ	R20, 104_10$				; R20, 104_10$				    ; 011166
	     351C	104_30059$:
A3450128     351C		LDL	R26, 296(R5)				; R26, 296(R5)				    ; 011171
47441014     3520		AND	R26, 32, R20				; R26, 32, R20
E6800010     3524		BEQ	R20, 104_10$				; R20, 104_10$				    ; 011172
2EE00016     3528		LDQ_U	R23, 22(R0)				; R23, 22(R0)				    ; 011174
4002D416     352C		ADDQ	R0, 22, R22				; R0, 22, R22
4AF602D7     3530		EXTWL	R23, R22, R23				; R23, R22, R23
F2C0003C     3534		BLBS	R22, $L162				; R22, $L162
	     3538	$L163:
46E07014     3538		AND	R23, 3, R20				; R23, 3, R20
F680000A     353C		BNE	R20, 104_10$				; R20, 104_10$				    ; 011175
2F000016     3540		LDQ_U	R24, 22(R0)				; R24, 22(R0)				    ; 011176
4002D416     3544		ADDQ	R0, 22, R22				; R0, 22, R22
4B1602D7     3548		EXTWL	R24, R22, R23				; R24, R22, R23
F2C0003A     354C		BLBS	R22, $L164				; R22, $L164
	     3550	$L165:
46E0541A     3550		BIS	R23, 2, R26				; R23, 2, R26
4B560375     3554		INSWL	R26, R22, R21				; R26, R22, R21
4B160258     3558		MSKWL	R24, R22, R24				; R24, R22, R24
47150418     355C		BIS	R24, R21, R24				; R24, R21, R24
F2C00039     3560		BLBS	R22, $L166				; R22, $L166
	     3564	$L167:
3F000016     3564		STQ_U	R24, 22(R0)				; R24, 22(R0)
	     3568	104_10$:											    ; 011177
A01E0000     3568		LDL	R0, (SP)				; R0, (SP)				    ; 011178
43C0941E     356C		ADDQ	SP, 4, SP				; SP, 4, SP
	     3570	104_8810$:											    ; 011179
A3650128     3570		LDL	R27, 296(R5)				; R27, 296(R5)				    ; 011180
239F0200     3574		LDA	R28, 512(R31)				; R28, 512(R31)
477C0014     3578		AND	R27, R28, R20				; R27, R28, R20
E69FFF94     357C		BEQ	R20, 104_1509$				; R20, 104_1509$			    ; 011181
43C0953E     3580		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011182
47FF0412     3584		CLR	R18					; R18					    ; 011184
B01E0000     3588		STL	R0, (SP)				; R0, (SP)				    ; 011182
47E09411     358C		BIS	R31, 4, R17				; R31, 4, R17				    ; 011184
A01D0010     3590		LDL	R0, 16(FP)				; R0, 16(FP)				    ; 011183
40009410     3594		ADDQ	R0, 4, R16				; R0, 4, R16				    ; 011184
47E0041A     3598		MOV	R0, R26					; R0, R26
00000091     359C		CALL_PAL 145					; 145
44007000     35A0		AND	R0, 3, R0				; R0, 3, R0
424009B8     35A4		CMPLT	R18, R0, R24				; R18, R0, R24
42203131     35A8		SUBL	R17, 1, R17				; R17, 1, R17
470004D2     35AC		CMOVNE	R24, R0, R18				; R24, R0, R18
0000008F     35B0		CALL_PAL 143					; 143
47E00414     35B4		MOV	R0, R20					; R0, R20
47FA0400     35B8		MOV	R26, R0					; R26, R0
F6800006     35BC		BNE	R20, $L109				; R20, $L109
	     35C0	104_20$:											    ; 011187

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 175
V01H                            CREFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A01E0000     35C0		LDL	R0, (SP)				; R0, (SP)
43C0941E     35C4		ADDQ	SP, 4, SP				; SP, 4, SP
	     35C8	104_21$:											    ; 011188
C3FFFF81     35C8		BR	104_1509$				; 104_1509$
47FF041F     35CC		NOP						; 
	     35D0	$L108:												    ; 011166
C3FFFFE5     35D0		BR	104_10$					; 104_10$
47FF041F     35D4		NOP						; 
	     35D8	$L109:												    ; 011185
A0000004     35D8		LDL	R0, 4(R0)				; R0, 4(R0)
47FF041F     35DC		NOP						; 
	     35E0	MSPC:												    ; 011433
A2E50128     35E0		LDL	R23, 296(R5)				; R23, 296(R5)				    ; 011435
231F0200     35E4		LDA	R24, 512(R31)				; R24, 512(R31)
A6ADFB40     35E8		LDQ	R21, -1216(R13)				; R21, -1216(R13)			    ; 011482
46F80014     35EC		AND	R23, R24, R20				; R23, R24, R20				    ; 011435
F6800121     35F0		BNE	R20, 110_30071$				; R20, 110_30071$			    ; 011436
47FF041F     35F4		NOP						; 
	     35F8	110_800$:											    ; 011496
A01E0000     35F8		LDL	R0, (SP)				; R0, (SP)				    ; 011497
236DFD60     35FC		LDA	R27, -672(R13)				; R27, -672(R13)			    ; 011500
A01E0004     3600		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 011498
47E03400     3604		BIS	R31, 1, R0				; R31, 1, R0				    ; 011499
A0BE0008     3608		LDL	R5, 8(SP)				; R5, 8(SP)				    ; 011498
43C1941E     360C		ADDQ	SP, 12, SP				; SP, 12, SP				    ; 011497
D340001F     3610		BSR	R26, PORS				; R26, PORS				    ; 011500
C3E00088     3614		BR	$L44					; $L44					    ; 011501
	     3618	$L160:												    ; 011165
2F600017     3618		LDQ_U	R27, 23(R0)				; R27, 23(R0)
4B760B5C     361C		EXTWH	R27, R22, R28				; R27, R22, R28
46FC0417     3620		BIS	R23, R28, R23				; R23, R28, R23
C3FFFFBB     3624		BR	$L161					; $L161
	     3628	$L162:												    ; 011174
2F600017     3628		LDQ_U	R27, 23(R0)				; R27, 23(R0)
4B760B5C     362C		EXTWH	R27, R22, R28				; R27, R22, R28
46FC0417     3630		BIS	R23, R28, R23				; R23, R28, R23
C3FFFFC0     3634		BR	$L163					; $L163
	     3638	$L164:												    ; 011176
2F600017     3638		LDQ_U	R27, 23(R0)				; R27, 23(R0)
4B760B5C     363C		EXTWH	R27, R22, R28				; R27, R22, R28
46FC0417     3640		BIS	R23, R28, R23				; R23, R28, R23
C3FFFFC2     3644		BR	$L165					; $L165
	     3648	$L166:
4B560AF5     3648		INSWH	R26, R22, R21				; R26, R22, R21
4B760A5B     364C		MSKWH	R27, R22, R27				; R27, R22, R27
4775041B     3650		BIS	R27, R21, R27				; R27, R21, R27
3F600017     3654		STQ_U	R27, 23(R0)				; R27, 23(R0)
C3FFFFC2     3658		BR	$L167					; $L167
47FF041F     365C		NOP						; 

Routine Size: 928 bytes,    Routine Base: $$$115_DRIVER + 32C0

	     3660	POPOUT:												    ; 011190
43C2153E     3660		SUBQ	SP, 16, SP				; SP, 16, SP
B75E0000     3664		STQ	R26, (SP)				; R26, (SP)
B5BE0008     3668		STQ	R13, 8(SP)				; R13, 8(SP)
47FB040D     366C		MOV	R27, R13				; R27, R13

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 176
V01H                            POPOUT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     3670	$L39:
41A2141B     3670		ADDQ	R13, 16, R27				; R13, 16, R27				    ; 011192
D3400006     3674		BSR	R26, PORS				; R26, PORS
	     3678	$L40:												    ; 011193
A79E0000     3678		LDQ	R28, (SP)				; R28, (SP)
A5BE0008     367C		LDQ	R13, 8(SP)				; R13, 8(SP)
43C2141E     3680		ADDQ	SP, 16, SP				; SP, 16, SP
6BFC8001     3684		RET	R28					; R28
47FF041F     3688		NOP						; 
47FF041F     368C		NOP						; 

Routine Size: 48 bytes,    Routine Base: $$$115_DRIVER + 3660

	     3690	PORS:												    ; 011194
43C8153E     3690		SUBQ	SP, 64, SP				; SP, 64, SP
B75E0008     3694		STQ	R26, 8(SP)				; R26, 8(SP)
B4DE0010     3698		STQ	R6, 16(SP)				; R6, 16(SP)
B4FE0018     369C		STQ	R7, 24(SP)				; R7, 24(SP)
B51E0020     36A0		STQ	R8, 32(SP)				; R8, 32(SP)
B53E0028     36A4		STQ	R9, 40(SP)				; R9, 40(SP)
B55E0030     36A8		STQ	R10, 48(SP)				; R10, 48(SP)
B5BE0038     36AC		STQ	R13, 56(SP)				; R13, 56(SP)
47FB040D     36B0		MOV	R27, R13				; R27, R13
	     36B4	$L41:
A3830060     36B4		LDL	R28, 96(R3)				; R28, 96(R3)				    ; 011198
43C2953E     36B8		SUBQ	SP, 20, SP				; SP, 20, SP				    ; 011199
236DFCA0     36BC		LDA	R27, -864(R13)				; R27, -864(R13)			    ; 011201
B15E0010     36C0		STL	R10, 16(SP)				; R10, 16(SP)				    ; 011199
B13E000C     36C4		STL	R9, 12(SP)				; R9, 12(SP)
4787F001     36C8		AND	R28, 63, R1				; R28, 63, R1				    ; 011198
B11E0008     36CC		STL	R8, 8(SP)				; R8, 8(SP)				    ; 011199
43E1000A     36D0		SEXTL	R1, R10					; R1, R10				    ; 011200
B0FE0004     36D4		STL	R7, 4(SP)				; R7, 4(SP)				    ; 011199
B0DE0000     36D8		STL	R6, (SP)				; R6, (SP)
43C1953E     36DC		SUBQ	SP, 12, SP				; SP, 12, SP				    ; 011201
D35FF2B3     36E0		BSR	R26, GETJTUCB				; R26, GETJTUCB
47E09419     36E4		BIS	R31, 4, R25				; R31, 4, R25				    ; 011217
43C1941E     36E8		ADDQ	SP, 12, SP				; SP, 12, SP				    ; 011201
F8000020     36EC		BGE	R0, 106_199$				; R0, 106_199$				    ; 011203
A0E00380     36F0		LDL	R7, 896(R0)				; R7, 896(R0)				    ; 011204
43E60013     36F4		SEXTL	R6, R19					; R6, R19				    ; 011213
43E50012     36F8		SEXTL	R5, R18					; R5, R18				    ; 011214
F8E0001C     36FC		BGE	R7, 106_199$				; R7, 106_199$				    ; 011205
40E11007     3700		ADDL	R7, 8, R7				; R7, 8, R7				    ; 011210
4147005A     3704		S4ADDL	R10, R7, R26				; R10, R7, R26				    ; 011211
A76DFF18     3708		LDQ	R27, -232(R13)				; R27, -232(R13)			    ; 011217
43E40011     370C		SEXTL	R4, R17					; R4, R17				    ; 011215
A11A0000     3710		LDL	R8, (R26)				; R8, (R26)				    ; 011211
A74DFF10     3714		LDQ	R26, -240(R13)				; R26, -240(R13)			    ; 011217
43E30010     3718		SEXTL	R3, R16					; R3, R16				    ; 011216
43C1953E     371C		SUBQ	SP, 12, SP				; SP, 12, SP				    ; 011217
47E80417     3720		MOV	R8, R23					; R8, R23
43E03418     3724		ADDQ	R31, 1, R24				; R31, 1, R24
6B5A4000     3728		JSR	R26, R26				; R26, R26
A0DE000C     372C		LDL	R6, 12(SP)				; R6, 12(SP)				    ; 011218
A0FE0010     3730		LDL	R7, 16(SP)				; R7, 16(SP)
A11E0014     3734		LDL	R8, 20(SP)				; R8, 20(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 177
V01H                            PORS                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A13E0018     3738		LDL	R9, 24(SP)				; R9, 24(SP)
A15E001C     373C		LDL	R10, 28(SP)				; R10, 28(SP)
43C1941E     3740		ADDQ	SP, 12, SP				; SP, 12, SP				    ; 011217
43C2941E     3744		ADDQ	SP, 20, SP				; SP, 20, SP				    ; 011218
	     3748	$L42:												    ; 011221
A79E0008     3748		LDQ	R28, 8(SP)				; R28, 8(SP)
A4DE0010     374C		LDQ	R6, 16(SP)				; R6, 16(SP)
A4FE0018     3750		LDQ	R7, 24(SP)				; R7, 24(SP)
A51E0020     3754		LDQ	R8, 32(SP)				; R8, 32(SP)
A53E0028     3758		LDQ	R9, 40(SP)				; R9, 40(SP)
A55E0030     375C		LDQ	R10, 48(SP)				; R10, 48(SP)
A5BE0038     3760		LDQ	R13, 56(SP)				; R13, 56(SP)
43C8141E     3764		ADDQ	SP, 64, SP				; SP, 64, SP
6BFC8001     3768		RET	R28					; R28
47FF041F     376C		NOP						; 
	     3770	106_199$:											    ; 011223
A74DFD20     3770		LDQ	R26, -736(R13)				; R26, -736(R13)			    ; 011226
47E21400     3774		BIS	R31, 16, R0				; R31, 16, R0				    ; 011225
A0DE0000     3778		LDL	R6, (SP)				; R6, (SP)				    ; 011224
43E00013     377C		SEXTL	R0, R19					; R0, R19				    ; 011226
A0FE0004     3780		LDL	R7, 4(SP)				; R7, 4(SP)				    ; 011224
43E50012     3784		SEXTL	R5, R18					; R5, R18				    ; 011226
A11E0008     3788		LDL	R8, 8(SP)				; R8, 8(SP)				    ; 011224
43E40011     378C		SEXTL	R4, R17					; R4, R17				    ; 011226
A13E000C     3790		LDL	R9, 12(SP)				; R9, 12(SP)				    ; 011224
43E30010     3794		SEXTL	R3, R16					; R3, R16				    ; 011226
A15E0010     3798		LDL	R10, 16(SP)				; R10, 16(SP)				    ; 011224
43C2941E     379C		ADDQ	SP, 20, SP				; SP, 20, SP
A76DFD28     37A0		LDQ	R27, -728(R13)				; R27, -728(R13)			    ; 011226
47E09419     37A4		BIS	R31, 4, R25				; R31, 4, R25
6B5A4000     37A8		JSR	R26, R26				; R26, R26
C3FFFFE6     37AC		BR	$L42					; $L42					    ; 011227

Routine Size: 288 bytes,    Routine Base: $$$115_DRIVER + 3690

	     37B0	MFYFILT:											    ; 011230
43D8153E     37B0		SUBQ	SP, 192, SP				; SP, 192, SP
B77E0000     37B4		STQ	R27, (SP)				; R27, (SP)
B75E0040     37B8		STQ	R26, 64(SP)				; R26, 64(SP)
B45E0048     37BC		STQ	R2, 72(SP)				; R2, 72(SP)
B47E0050     37C0		STQ	R3, 80(SP)				; R3, 80(SP)
B49E0058     37C4		STQ	R4, 88(SP)				; R4, 88(SP)
B4BE0060     37C8		STQ	R5, 96(SP)				; R5, 96(SP)
B4DE0068     37CC		STQ	R6, 104(SP)				; R6, 104(SP)
B4FE0070     37D0		STQ	R7, 112(SP)				; R7, 112(SP)
B51E0078     37D4		STQ	R8, 120(SP)				; R8, 120(SP)
B53E0080     37D8		STQ	R9, 128(SP)				; R9, 128(SP)
B55E0088     37DC		STQ	R10, 136(SP)				; R10, 136(SP)
B57E0090     37E0		STQ	R11, 144(SP)				; R11, 144(SP)
B59E0098     37E4		STQ	R12, 152(SP)				; R12, 152(SP)
B5BE00A0     37E8		STQ	R13, 160(SP)				; R13, 160(SP)
4370152D     37EC		SUBQ	R27, 128, R13				; R27, 128, R13
B5DE00A8     37F0		STQ	R14, 168(SP)				; R14, 168(SP)
B5FE00B0     37F4		STQ	R15, 176(SP)				; R15, 176(SP)
B7BE00B8     37F8		STQ	FP, 184(SP)				; FP, 184(SP)
47FE041D     37FC		MOV	SP, FP					; SP, FP
B7FE0008     3800		STQ	R31, 8(SP)				; R31, 8(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 178
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B73D0010     3804		STQ	R25, 16(FP)				; R25, 16(FP)
B61D0018     3808		STQ	R16, 24(FP)				; R16, 24(FP)
B63D0020     380C		STQ	R17, 32(FP)				; R17, 32(FP)
B65D0028     3810		STQ	R18, 40(FP)				; R18, 40(FP)
B67D0030     3814		STQ	R19, 48(FP)				; R19, 48(FP)
	     3818	$L43:
43F30006     3818		SEXTL	R19, R6					; R19, R6
43E60014     381C		SEXTL	R6, R20					; R6, R20				    ; 011234
43F00003     3820		SEXTL	R16, R3					; R16, R3				    ; 011230
43F10004     3824		SEXTL	R17, R4					; R17, R4
43F20005     3828		SEXTL	R18, R5					; R18, R5
FE800016     382C		BGT	R20, 107_5509$				; R20, 107_5509$			    ; 011235
	     3830	107_6509$:											    ; 011236
236DFD60     3830		LDA	R27, -672(R13)				; R27, -672(R13)
D35FFF96     3834		BSR	R26, PORS				; R26, PORS
	     3838	$L44:												    ; 011237
47FD041E     3838		MOV	FP, SP					; FP, SP
A79E0040     383C		LDQ	R28, 64(SP)				; R28, 64(SP)
A45E0048     3840		LDQ	R2, 72(SP)				; R2, 72(SP)
A47E0050     3844		LDQ	R3, 80(SP)				; R3, 80(SP)
A49E0058     3848		LDQ	R4, 88(SP)				; R4, 88(SP)
A4BE0060     384C		LDQ	R5, 96(SP)				; R5, 96(SP)
A4DE0068     3850		LDQ	R6, 104(SP)				; R6, 104(SP)
A4FE0070     3854		LDQ	R7, 112(SP)				; R7, 112(SP)
A51E0078     3858		LDQ	R8, 120(SP)				; R8, 120(SP)
A53E0080     385C		LDQ	R9, 128(SP)				; R9, 128(SP)
A55E0088     3860		LDQ	R10, 136(SP)				; R10, 136(SP)
A57E0090     3864		LDQ	R11, 144(SP)				; R11, 144(SP)
A59E0098     3868		LDQ	R12, 152(SP)				; R12, 152(SP)
A5BE00A0     386C		LDQ	R13, 160(SP)				; R13, 160(SP)
A5DE00A8     3870		LDQ	R14, 168(SP)				; R14, 168(SP)
A5FE00B0     3874		LDQ	R15, 176(SP)				; R15, 176(SP)
A7BE00B8     3878		LDQ	FP, 184(SP)				; FP, 184(SP)
43D8141E     387C		ADDQ	SP, 192, SP				; SP, 192, SP
6BFC8001     3880		RET	R28					; R28
47FF041F     3884		NOP						; 
	     3888	107_5509$:											    ; 011238
A3660010     3888		LDL	R27, 16(R6)				; R27, 16(R6)				    ; 011240
275F0001     388C		LDAH	R26, 1(R31)				; R26, 1(R31)				    ; 011251
235ADFC0     3890		LDA	R26, -8256(R26)				; R26, -8256(R26)
4B60F17B     3894		INSBL	R27, 7, R27				; R27, 7, R27				    ; 011240
4B67179B     3898		SRA	R27, 56, R27				; R27, 56, R27
43603534     389C		SUBQ	R27, 1, R20				; R27, 1, R20
EE9FFFE3     38A0		BLE	R20, 107_6509$				; R20, 107_6509$			    ; 011241
A3030060     38A4		LDL	R24, 96(R3)				; R24, 96(R3)				    ; 011251
236DFA00     38A8		LDA	R27, -1536(R13)				; R27, -1536(R13)			    ; 011256
471A0014     38AC		AND	R24, R26, R20				; R24, R26, R20				    ; 011251
F69FFFDF     38B0		BNE	R20, 107_6509$				; R20, 107_6509$			    ; 011253
43C2153E     38B4		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 011256
B0BE000C     38B8		STL	R5, 12(SP)				; R5, 12(SP)				    ; 011254
B01E0008     38BC		STL	R0, 8(SP)				; R0, 8(SP)
D35FF23B     38C0		BSR	R26, GETJTUCB				; R26, GETJTUCB				    ; 011256
43C1141E     38C4		ADDQ	SP, 8, SP				; SP, 8, SP
E8000007     38C8		BLT	R0, 107_509$				; R0, 107_509$				    ; 011258
47FF041F     38CC		NOP						; 
	     38D0	107_1509$:											    ; 011259
A01E0000     38D0		LDL	R0, (SP)				; R0, (SP)				    ; 011260

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 179
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

236DFD50     38D4		LDA	R27, -688(R13)				; R27, -688(R13)			    ; 011261
A0BE0004     38D8		LDL	R5, 4(SP)				; R5, 4(SP)				    ; 011260
43C1141E     38DC		ADDQ	SP, 8, SP				; SP, 8, SP
D35FFF5F     38E0		BSR	R26, POPOUT				; R26, POPOUT				    ; 011261
C3FFFFD4     38E4		BR	$L44					; $L44					    ; 011262
	     38E8	107_509$:											    ; 011263
B0A0023C     38E8		STL	R5, 572(R0)				; R5, 572(R0)				    ; 011265
43E00005     38EC		SEXTL	R0, R5					; R0, R5				    ; 011266
A2E400D4     38F0		LDL	R23, 212(R4)				; R23, 212(R4)				    ; 011268
A2C50130     38F4		LDL	R22, 304(R5)				; R22, 304(R5)
42F60534     38F8		SUBQ	R23, R22, R20				; R23, R22, R20
E69FFFF4     38FC		BEQ	R20, 107_1509$				; R20, 107_1509$			    ; 011269
	     3900	107_30060$:
A38400D4     3900		LDL	R28, 212(R4)				; R28, 212(R4)				    ; 011270
A3650118     3904		LDL	R27, 280(R5)				; R27, 280(R5)
439B0534     3908		SUBQ	R28, R27, R20				; R28, R27, R20
E69FFFF0     390C		BEQ	R20, 107_1509$				; R20, 107_1509$			    ; 011271
	     3910	107_30061$:
A34400D4     3910		LDL	R26, 212(R4)				; R26, 212(R4)				    ; 011272
A3050120     3914		LDL	R24, 288(R5)				; R24, 288(R5)
43580534     3918		SUBQ	R26, R24, R20				; R26, R24, R20
E69FFFEC     391C		BEQ	R20, 107_1509$				; R20, 107_1509$			    ; 011273
	     3920	107_30062$:
A2E400D4     3920		LDL	R23, 212(R4)				; R23, 212(R4)				    ; 011274
A2C5038C     3924		LDL	R22, 908(R5)				; R22, 908(R5)
42F60534     3928		SUBQ	R23, R22, R20				; R23, R22, R20
E69FFFE8     392C		BEQ	R20, 107_1509$				; R20, 107_1509$			    ; 011275
	     3930	107_30063$:
A38400D4     3930		LDL	R28, 212(R4)				; R28, 212(R4)				    ; 011276
A3450390     3934		LDL	R26, 912(R5)				; R26, 912(R5)
439A0534     3938		SUBQ	R28, R26, R20				; R28, R26, R20
E69FFFE4     393C		BEQ	R20, 107_1509$				; R20, 107_1509$			    ; 011277
	     3940	107_30064$:
A30400D4     3940		LDL	R24, 212(R4)				; R24, 212(R4)				    ; 011278
A2C50394     3944		LDL	R22, 916(R5)				; R22, 916(R5)
43160534     3948		SUBQ	R24, R22, R20				; R24, R22, R20
E69FFFE0     394C		BEQ	R20, 107_1509$				; R20, 107_1509$			    ; 011279
	     3950	107_30065$:
A38400D4     3950		LDL	R28, 212(R4)				; R28, 212(R4)				    ; 011280
A3450398     3954		LDL	R26, 920(R5)				; R26, 920(R5)
439A0534     3958		SUBQ	R28, R26, R20				; R28, R26, R20
E69FFFDC     395C		BEQ	R20, 107_1509$				; R20, 107_1509$			    ; 011281
	     3960	107_30066$:
A2E60010     3960		LDL	R23, 16(R6)				; R23, 16(R6)				    ; 011283
4AE0F177     3964		INSBL	R23, 7, R23				; R23, 7, R23
4AE71797     3968		SRA	R23, 56, R23				; R23, 56, R23
42E03534     396C		SUBQ	R23, 1, R20				; R23, 1, R20
EE9FFFD7     3970		BLE	R20, 107_1509$				; R20, 107_1509$			    ; 011284
	     3974	107_30067$:
43C3153E     3974		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 011287
B17E0014     3978		STL	R11, 20(SP)				; R11, 20(SP)
B15E0010     397C		STL	R10, 16(SP)				; R10, 16(SP)
B13E000C     3980		STL	R9, 12(SP)				; R9, 12(SP)
B11E0008     3984		STL	R8, 8(SP)				; R8, 8(SP)
B0FE0004     3988		STL	R7, 4(SP)				; R7, 4(SP)
B0DE0000     398C		STL	R6, (SP)				; R6, (SP)
A1450118     3990		LDL	R10, 280(R5)				; R10, 280(R5)				    ; 011288

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 180
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A13E000C     3994		LDL	R9, 12(SP)				; R9, 12(SP)				    ; 011301
A17E0014     3998		LDL	R11, 20(SP)				; R11, 20(SP)
ED400014     399C		BLE	R10, 107_5$				; R10, 107_5$				    ; 011289
A6CDFB40     39A0		LDQ	R22, -1216(R13)				; R22, -1216(R13)			    ; 011292
494012C7     39A4		EXTWL	R10, 0, R7				; R10, 0, R7				    ; 011290
A0D60000     39A8		LDL	R6, (R22)				; R6, (R22)				    ; 011292
40E6005C     39AC		S4ADDL	R7, R6, R28				; R7, R6, R28				    ; 011293
A0DE0000     39B0		LDL	R6, (SP)				; R6, (SP)				    ; 011301
A0FE0004     39B4		LDL	R7, 4(SP)				; R7, 4(SP)
A11C0000     39B8		LDL	R8, (R28)				; R8, (R28)				    ; 011293
F900000C     39BC		BGE	R8, 107_5$				; R8, 107_5$				    ; 011295
A36800D4     39C0		LDL	R27, 212(R8)				; R27, 212(R8)				    ; 011296
415B0534     39C4		SUBQ	R10, R27, R20				; R10, R27, R20
A15E0010     39C8		LDL	R10, 16(SP)				; R10, 16(SP)				    ; 011301
F6800008     39CC		BNE	R20, 107_5$				; R20, 107_5$				    ; 011297
A34800FC     39D0		LDL	R26, 252(R8)				; R26, 252(R8)				    ; 011299
A30400FC     39D4		LDL	R24, 252(R4)				; R24, 252(R4)
A11E0008     39D8		LDL	R8, 8(SP)				; R8, 8(SP)				    ; 011301
43580534     39DC		SUBQ	R26, R24, R20				; R26, R24, R20				    ; 011299
F6800003     39E0		BNE	R20, 107_5$				; R20, 107_5$				    ; 011300
43C3141E     39E4		ADDQ	SP, 24, SP				; SP, 24, SP				    ; 011301
	     39E8	107_48$:											    ; 011302
C3FFFFB9     39E8		BR	107_1509$				; 107_1509$
47FF041F     39EC		NOP						; 
	     39F0	107_5$:												    ; 011303
A0DE0000     39F0		LDL	R6, (SP)				; R6, (SP)				    ; 011304
A0FE0004     39F4		LDL	R7, 4(SP)				; R7, 4(SP)
A11E0008     39F8		LDL	R8, 8(SP)				; R8, 8(SP)
A13E000C     39FC		LDL	R9, 12(SP)				; R9, 12(SP)
A15E0010     3A00		LDL	R10, 16(SP)				; R10, 16(SP)
A17E0014     3A04		LDL	R11, 20(SP)				; R11, 20(SP)
43C3141E     3A08		ADDQ	SP, 24, SP				; SP, 24, SP
A2E50128     3A0C		LDL	R23, 296(R5)				; R23, 296(R5)				    ; 011305
46E05014     3A10		AND	R23, 2, R20				; R23, 2, R20
F6800020     3A14		BNE	R20, $L110				; R20, $L110				    ; 011306
	     3A18	107_30068$:
A3850128     3A18		LDL	R28, 296(R5)				; R28, 296(R5)				    ; 011308
22DF0200     3A1C		LDA	R22, 512(R31)				; R22, 512(R31)
47960014     3A20		AND	R28, R22, R20				; R28, R22, R20
E6800042     3A24		BEQ	R20, 107_701$				; R20, 107_701$				    ; 011309
43C0953E     3A28		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011310
B01E0000     3A2C		STL	R0, (SP)				; R0, (SP)
A0030078     3A30		LDL	R0, 120(R3)				; R0, 120(R3)				    ; 011314
E4000044     3A34		BEQ	R0, 107_702$				; R0, 107_702$				    ; 011316
47E0041B     3A38		MOV	R0, R27					; R0, R27				    ; 011317
47FF0412     3A3C		CLR	R18					; R18
47E09411     3A40		BIS	R31, 4, R17				; R31, 4, R17
40009410     3A44		ADDQ	R0, 4, R16				; R0, 4, R16
00000091     3A48		CALL_PAL 145					; 145
44007000     3A4C		AND	R0, 3, R0				; R0, 3, R0
424009BA     3A50		CMPLT	R18, R0, R26				; R18, R0, R26
42203131     3A54		SUBL	R17, 1, R17				; R17, 1, R17
474004D2     3A58		CMOVNE	R26, R0, R18				; R26, R0, R18
0000008F     3A5C		CALL_PAL 143					; 143
47E00414     3A60		MOV	R0, R20					; R0, R20
47FB0400     3A64		MOV	R27, R0					; R27, R0
E6800037     3A68		BEQ	R20, 107_702$				; R20, 107_702$

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 181
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A0000004     3A6C		LDL	R0, 4(R0)				; R0, 4(R0)				    ; 011318
E4000035     3A70		BEQ	R0, 107_702$				; R0, 107_702$				    ; 011319
	     3A74	107_7701$:											    ; 011320
C3FFFEDA     3A74		BR	MSPC					; MSPC
	     3A78	110_30071$:											    ; 011436
2F800016     3A78		LDQ_U	R28, 22(R0)				; R28, 22(R0)				    ; 011437
4002D41B     3A7C		ADDQ	R0, 22, R27				; R0, 22, R27
4B9B02DC     3A80		EXTWL	R28, R27, R28				; R28, R27, R28
F360010F     3A84		BLBS	R27, $L168				; R27, $L168
47901014     3A88		AND	R28, 128, R20				; R28, 128, R20
F6800038     3A8C		BNE	R20, 110_30072$				; R20, 110_30072$			    ; 011438
C3FFFED9     3A90		BR	110_800$				; 110_800$
47FF041F     3A94		NOP						; 
	     3A98	$L110:												    ; 011306
43C0953E     3A98		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011338
47FF0412     3A9C		CLR	R18					; R18					    ; 011344
B01E0000     3AA0		STL	R0, (SP)				; R0, (SP)				    ; 011338
47E09411     3AA4		BIS	R31, 4, R17				; R31, 4, R17				    ; 011344
A0030078     3AA8		LDL	R0, 120(R3)				; R0, 120(R3)				    ; 011342
47E00417     3AAC		MOV	R0, R23					; R0, R23				    ; 011344
40009410     3AB0		ADDQ	R0, 4, R16				; R0, 4, R16
00000091     3AB4		CALL_PAL 145					; 145
44007000     3AB8		AND	R0, 3, R0				; R0, 3, R0
424009B6     3ABC		CMPLT	R18, R0, R22				; R18, R0, R22
42203131     3AC0		SUBL	R17, 1, R17				; R17, 1, R17
46C004D2     3AC4		CMOVNE	R22, R0, R18				; R22, R0, R18
0000008F     3AC8		CALL_PAL 143					; 143
47E00414     3ACC		MOV	R0, R20					; R0, R20
47F70400     3AD0		MOV	R23, R0					; R23, R0
E6800076     3AD4		BEQ	R20, MSPCJ				; R20, MSPCJ
47FF0412     3AD8		CLR	R18					; R18					    ; 011346
A0000004     3ADC		LDL	R0, 4(R0)				; R0, 4(R0)				    ; 011345
47E09411     3AE0		BIS	R31, 4, R17				; R31, 4, R17				    ; 011346
4002D410     3AE4		ADDQ	R0, 22, R16				; R0, 22, R16
47E0041C     3AE8		MOV	R0, R28					; R0, R28
00000091     3AEC		CALL_PAL 145					; 145
44007000     3AF0		AND	R0, 3, R0				; R0, 3, R0
424009BB     3AF4		CMPLT	R18, R0, R27				; R18, R0, R27
42203131     3AF8		SUBL	R17, 1, R17				; R17, 1, R17
476004D2     3AFC		CMOVNE	R27, R0, R18				; R27, R0, R18
0000008F     3B00		CALL_PAL 143					; 143
47E00414     3B04		MOV	R0, R20					; R0, R20
E6800069     3B08		BEQ	R20, MSPCJ				; R20, MSPCJ
47FC0400     3B0C		MOV	R28, R0					; R28, R0
4002D417     3B10		ADDQ	R0, 22, R23				; R0, 22, R23				    ; 011347
2F000016     3B14		LDQ_U	R24, 22(R0)				; R24, 22(R0)
4B1702D8     3B18		EXTWL	R24, R23, R24				; R24, R23, R24
F2E000EF     3B1C		BLBS	R23, $L170				; R23, $L170
47101014     3B20		AND	R24, 128, R20				; R24, 128, R20
F680006A     3B24		BNE	R20, 109_30069$				; R20, 109_30069$			    ; 011348
C3FFFEAD     3B28		BR	MSPC					; MSPC
47FF041F     3B2C		NOP						; 
	     3B30	107_701$:											    ; 011321
A01E0000     3B30		LDL	R0, (SP)				; R0, (SP)				    ; 011322
236DFD60     3B34		LDA	R27, -672(R13)				; R27, -672(R13)			    ; 011323
A0BE0004     3B38		LDL	R5, 4(SP)				; R5, 4(SP)				    ; 011322
43C1141E     3B3C		ADDQ	SP, 8, SP				; SP, 8, SP

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 182
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

D35FFED3     3B40		BSR	R26, PORS				; R26, PORS				    ; 011323
C3FFFF3C     3B44		BR	$L44					; $L44					    ; 011324
	     3B48	107_702$:											    ; 011325
A01E0000     3B48		LDL	R0, (SP)				; R0, (SP)
236DFD60     3B4C		LDA	R27, -672(R13)				; R27, -672(R13)			    ; 011327
A01E0004     3B50		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 011326
A0BE0008     3B54		LDL	R5, 8(SP)				; R5, 8(SP)
43C1941E     3B58		ADDQ	SP, 12, SP				; SP, 12, SP
D35FFECC     3B5C		BSR	R26, PORS				; R26, PORS				    ; 011327
C3FFFF35     3B60		BR	$L44					; $L44					    ; 011328
47FF041F     3B64		NOP						; 
	     3B68	$L112:												    ; 011436
C3FFFEA3     3B68		BR	110_800$				; 110_800$
47FF041F     3B6C		NOP						; 
	     3B70	110_30072$:											    ; 011438
43C5953E     3B70		SUBQ	SP, 44, SP				; SP, 44, SP				    ; 011445
B17E0028     3B74		STL	R11, 40(SP)				; R11, 40(SP)
B15E0024     3B78		STL	R10, 36(SP)				; R10, 36(SP)
B13E0020     3B7C		STL	R9, 32(SP)				; R9, 32(SP)
B11E001C     3B80		STL	R8, 28(SP)				; R8, 28(SP)
B0FE0018     3B84		STL	R7, 24(SP)				; R7, 24(SP)
B0DE0014     3B88		STL	R6, 20(SP)				; R6, 20(SP)
B0BE0010     3B8C		STL	R5, 16(SP)				; R5, 16(SP)
B09E000C     3B90		STL	R4, 12(SP)				; R4, 12(SP)
B07E0008     3B94		STL	R3, 8(SP)				; R3, 8(SP)
B05E0004     3B98		STL	R2, 4(SP)				; R2, 4(SP)
B03E0000     3B9C		STL	R1, (SP)				; R1, (SP)
A145023C     3BA0		LDL	R10, 572(R5)				; R10, 572(R5)				    ; 011451
F9400034     3BA4		BGE	R10, 110_850$				; R10, 110_850$				    ; 011452
43EA0009     3BA8		SEXTL	R10, R9					; R10, R9				    ; 011453
A14A0044     3BAC		LDL	R10, 68(R10)				; R10, 68(R10)				    ; 011454
F9400031     3BB0		BGE	R10, 110_850$				; R10, 110_850$				    ; 011455
A14A0054     3BB4		LDL	R10, 84(R10)				; R10, 84(R10)				    ; 011456
A3600018     3BB8		LDL	R27, 24(R0)				; R27, 24(R0)				    ; 011457
436A03B4     3BBC		CMPULT	R27, R10, R20				; R27, R10, R20
F680002D     3BC0		BNE	R20, 110_850$				; R20, 110_850$				    ; 011458
A1290104     3BC4		LDL	R9, 260(R9)				; R9, 260(R9)				    ; 011459
43E90018     3BC8		SEXTL	R9, R24					; R9, R24				    ; 011460
4B007789     3BCC		SRA	R24, 3, R9				; R24, 3, R9
41490534     3BD0		SUBQ	R10, R9, R20				; R10, R9, R20				    ; 011461
FA800028     3BD4		BGE	R20, 110_850$				; R20, 110_850$				    ; 011462
A145011C     3BD8		LDL	R10, 284(R5)				; R10, 284(R5)				    ; 011467
43E00009     3BDC		SEXTL	R0, R9					; R0, R9				    ; 011465
F9400025     3BE0		BGE	R10, 110_850$				; R10, 110_850$				    ; 011468
A2EA0088     3BE4		LDL	R23, 136(R10)				; R23, 136(R10)				    ; 011469
46E21014     3BE8		AND	R23, 16, R20				; R23, 16, R20
E6800022     3BEC		BEQ	R20, 110_850$				; R20, 110_850$				    ; 011470
A2CA007C     3BF0		LDL	R22, 124(R10)				; R22, 124(R10)				    ; 011472
E6C00020     3BF4		BEQ	R22, 110_850$				; R22, 110_850$				    ; 011476
A38A0024     3BF8		LDL	R28, 36(R10)				; R28, 36(R10)				    ; 011477
FB80001E     3BFC		BGE	R28, 110_850$				; R28, 110_850$				    ; 011478
43C2153E     3C00		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 011480
A76DFD48     3C04		LDQ	R27, -696(R13)				; R27, -696(R13)			    ; 011481
B11E000C     3C08		STL	R8, 12(SP)				; R8, 12(SP)				    ; 011480
B0FE0008     3C0C		STL	R7, 8(SP)				; R7, 8(SP)
B0DE0004     3C10		STL	R6, 4(SP)				; R6, 4(SP)
B0BE0000     3C14		STL	R5, (SP)				; R5, (SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 183
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A0FB0000     3C18		LDL	R7, (R27)				; R7, (R27)				    ; 011481
47FF041F     3C1C		NOP						; 
	     3C20	110_100$:											    ; 011482
A0D50000     3C20		LDL	R6, (R21)				; R6, (R21)
40E6005A     3C24		S4ADDL	R7, R6, R26				; R7, R6, R26				    ; 011483
A11A0000     3C28		LDL	R8, (R26)				; R8, (R26)
F9000004     3C2C		BGE	R8, 110_101$				; R8, 110_101$				    ; 011485
A3050118     3C30		LDL	R24, 280(R5)				; R24, 280(R5)				    ; 011486
A2E800D4     3C34		LDL	R23, 212(R8)				; R23, 212(R8)
43170534     3C38		SUBQ	R24, R23, R20				; R24, R23, R20
E6800003     3C3C		BEQ	R20, 110_102$				; R20, 110_102$				    ; 011487
	     3C40	110_101$:											    ; 011488
40E03127     3C40		SUBL	R7, 1, R7				; R7, 1, R7
FCFFFFF6     3C44		BGT	R7, 110_100$				; R7, 110_100$
B3E50118     3C48		STL	R31, 280(R5)				; R31, 280(R5)				    ; 011489
	     3C4C	110_102$:											    ; 011490
A0BE0000     3C4C		LDL	R5, (SP)				; R5, (SP)
A0DE0004     3C50		LDL	R6, 4(SP)				; R6, 4(SP)
A0FE0008     3C54		LDL	R7, 8(SP)				; R7, 8(SP)
A11E000C     3C58		LDL	R8, 12(SP)				; R8, 12(SP)
43C2141E     3C5C		ADDQ	SP, 16, SP				; SP, 16, SP
A2C50118     3C60		LDL	R22, 280(R5)				; R22, 280(R5)				    ; 011491
E6C00004     3C64		BEQ	R22, 110_850$				; R22, 110_850$				    ; 011492
43C1153E     3C68		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 011494
236DFD70     3C6C		LDA	R27, -656(R13)				; R27, -656(R13)
D34000BF     3C70		BSR	R26, SNDEXMSG				; R26, SNDEXMSG
43C1141E     3C74		ADDQ	SP, 8, SP				; SP, 8, SP
	     3C78	110_850$:											    ; 011495
A03E0000     3C78		LDL	R1, (SP)				; R1, (SP)
A05E0004     3C7C		LDL	R2, 4(SP)				; R2, 4(SP)
A07E0008     3C80		LDL	R3, 8(SP)				; R3, 8(SP)
A09E000C     3C84		LDL	R4, 12(SP)				; R4, 12(SP)
A0BE0010     3C88		LDL	R5, 16(SP)				; R5, 16(SP)
A0DE0014     3C8C		LDL	R6, 20(SP)				; R6, 20(SP)
A0FE0018     3C90		LDL	R7, 24(SP)				; R7, 24(SP)
A11E001C     3C94		LDL	R8, 28(SP)				; R8, 28(SP)
A13E0020     3C98		LDL	R9, 32(SP)				; R9, 32(SP)
A15E0024     3C9C		LDL	R10, 36(SP)				; R10, 36(SP)
A17E0028     3CA0		LDL	R11, 40(SP)				; R11, 40(SP)
43C5941E     3CA4		ADDQ	SP, 44, SP				; SP, 44, SP
C3FFFE53     3CA8		BR	110_800$				; 110_800$				    ; 011496
47FF041F     3CAC		NOP						; 
	     3CB0	MSPCJ:												    ; 011329
A01E0000     3CB0		LDL	R0, (SP)				; R0, (SP)
236DFD60     3CB4		LDA	R27, -672(R13)				; R27, -672(R13)			    ; 011331
A01E0004     3CB8		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 011330
A0BE0008     3CBC		LDL	R5, 8(SP)				; R5, 8(SP)
43C1941E     3CC0		ADDQ	SP, 12, SP				; SP, 12, SP
D35FFE72     3CC4		BSR	R26, PORS				; R26, PORS				    ; 011331
C3FFFEDB     3CC8		BR	$L44					; $L44					    ; 011332
47FF041F     3CCC		NOP						; 
	     3CD0	109_30069$:											    ; 011348
A3850128     3CD0		LDL	R28, 296(R5)				; R28, 296(R5)				    ; 011353
47841014     3CD4		AND	R28, 32, R20				; R28, 32, R20
E6800024     3CD8		BEQ	R20, 109_1$				; R20, 109_1$				    ; 011354
2F400016     3CDC		LDQ_U	R26, 22(R0)				; R26, 22(R0)				    ; 011356
4002D418     3CE0		ADDQ	R0, 22, R24				; R0, 22, R24

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 184
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

4B5802DA     3CE4		EXTWL	R26, R24, R26				; R26, R24, R26
F3000082     3CE8		BLBS	R24, $L172				; R24, $L172
	     3CEC	$L173:
47407014     3CEC		AND	R26, 3, R20				; R26, 3, R20
F680001E     3CF0		BNE	R20, 109_1$				; R20, 109_1$				    ; 011357
A3650128     3CF4		LDL	R27, 296(R5)				; R27, 296(R5)				    ; 011363
239F4000     3CF8		LDA	R28, 16384(R31)				; R28, 16384(R31)
477C0014     3CFC		AND	R27, R28, R20				; R27, R28, R20
E680000A     3D00		BEQ	R20, 109_704$				; R20, 109_704$				    ; 011364
2F000016     3D04		LDQ_U	R24, 22(R0)				; R24, 22(R0)				    ; 011365
4002D416     3D08		ADDQ	R0, 22, R22				; R0, 22, R22
4B1602D7     3D0C		EXTWL	R24, R22, R23				; R24, R22, R23
F2C0007C     3D10		BLBS	R22, $L174				; R22, $L174
	     3D14	$L175:
46E1141A     3D14		BIS	R23, 8, R26				; R23, 8, R26
4B560375     3D18		INSWL	R26, R22, R21				; R26, R22, R21
4B160258     3D1C		MSKWL	R24, R22, R24				; R24, R22, R24
47150418     3D20		BIS	R24, R21, R24				; R24, R21, R24
F2C0007B     3D24		BLBS	R22, $L176				; R22, $L176
	     3D28	$L177:
3F000016     3D28		STQ_U	R24, 22(R0)				; R24, 22(R0)
	     3D2C	109_704$:											    ; 011366
A3650140     3D2C		LDL	R27, 320(R5)				; R27, 320(R5)				    ; 011367
4360313B     3D30		SUBL	R27, 1, R27				; R27, 1, R27
B3650140     3D34		STL	R27, 320(R5)				; R27, 320(R5)
FF60000C     3D38		BGT	R27, 109_1$				; R27, 109_1$				    ; 011368
A3450144     3D3C		LDL	R26, 324(R5)				; R26, 324(R5)				    ; 011369
4002D41C     3D40		ADDQ	R0, 22, R28				; R0, 22, R28				    ; 011370
B3450140     3D44		STL	R26, 320(R5)				; R26, 320(R5)				    ; 011369
2EE00016     3D48		LDQ_U	R23, 22(R0)				; R23, 22(R0)				    ; 011370
4AFC02D6     3D4C		EXTWL	R23, R28, R22				; R23, R28, R22
F3800075     3D50		BLBS	R28, $L178				; R28, $L178
	     3D54	$L179:
46C05418     3D54		BIS	R22, 2, R24				; R22, 2, R24
4B1C0375     3D58		INSWL	R24, R28, R21				; R24, R28, R21
4AFC0257     3D5C		MSKWL	R23, R28, R23				; R23, R28, R23
46F50417     3D60		BIS	R23, R21, R23				; R23, R21, R23
F3800074     3D64		BLBS	R28, $L180				; R28, $L180
	     3D68	$L181:
3EE00016     3D68		STQ_U	R23, 22(R0)				; R23, 22(R0)
	     3D6C	109_1$:												    ; 011374
43C3953E     3D6C		SUBQ	SP, 28, SP				; SP, 28, SP				    ; 011377
4002D41A     3D70		ADDQ	R0, 22, R26				; R0, 22, R26				    ; 011378
B11E0018     3D74		STL	R8, 24(SP)				; R8, 24(SP)				    ; 011377
B0FE0014     3D78		STL	R7, 20(SP)				; R7, 20(SP)
B0DE0010     3D7C		STL	R6, 16(SP)				; R6, 16(SP)
B0BE000C     3D80		STL	R5, 12(SP)				; R5, 12(SP)
B09E0008     3D84		STL	R4, 8(SP)				; R4, 8(SP)
B07E0004     3D88		STL	R3, 4(SP)				; R3, 4(SP)
B05E0000     3D8C		STL	R2, (SP)				; R2, (SP)
2F600016     3D90		LDQ_U	R27, 22(R0)				; R27, 22(R0)				    ; 011378
4B7A02DB     3D94		EXTWL	R27, R26, R27				; R27, R26, R27
F340006C     3D98		BLBS	R26, $L182				; R26, $L182
	     3D9C	$L183:
47603014     3D9C		AND	R27, 1, R20				; R27, 1, R20
F680003D     3DA0		BNE	R20, 109_222$				; R20, 109_222$				    ; 011379
	     3DA4	109_30070$:

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 185
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A0E60004     3DA4		LDL	R7, 4(R6)				; R7, 4(R6)				    ; 011380
F8E0003B     3DA8		BGE	R7, 109_222$				; R7, 109_222$				    ; 011381
A1070020     3DAC		LDL	R8, 32(R7)				; R8, 32(R7)				    ; 011382
F9000039     3DB0		BGE	R8, 109_222$				; R8, 109_222$				    ; 011383
A0C80044     3DB4		LDL	R6, 68(R8)				; R6, 68(R8)				    ; 011384
E4C00037     3DB8		BEQ	R6, 109_222$				; R6, 109_222$				    ; 011385
A2C501A4     3DBC		LDL	R22, 420(R5)				; R22, 420(R5)				    ; 011393
43C8153E     3DC0		SUBQ	SP, 64, SP				; SP, 64, SP
A74D0020     3DC4		LDQ	R26, 32(R13)				; R26, 32(R13)
B41E0000     3DC8		STQ	R0, (SP)				; R0, (SP)
B43E0008     3DCC		STQ	R1, 8(SP)				; R1, 8(SP)
B61E0010     3DD0		STQ	R16, 16(SP)				; R16, 16(SP)
B63E0018     3DD4		STQ	R17, 24(SP)				; R17, 24(SP)
47F60411     3DD8		MOV	R22, R17				; R22, R17
B65E0020     3DDC		STQ	R18, 32(SP)				; R18, 32(SP)
47E60410     3DE0		MOV	R6, R16					; R6, R16
B67E0028     3DE4		STQ	R19, 40(SP)				; R19, 40(SP)
A76D0028     3DE8		LDQ	R27, 40(R13)				; R27, 40(R13)
B73E0030     3DEC		STQ	R25, 48(SP)				; R25, 48(SP)
6B5A4000     3DF0		JSR	R26, R26				; R26, R26
47E00406     3DF4		MOV	R0, R6					; R0, R6
A41E0000     3DF8		LDQ	R0, (SP)				; R0, (SP)
A43E0008     3DFC		LDQ	R1, 8(SP)				; R1, 8(SP)
40C03006     3E00		ADDL	R6, 1, R6				; R6, 1, R6				    ; 011394
A61E0010     3E04		LDQ	R16, 16(SP)				; R16, 16(SP)				    ; 011393
A63E0018     3E08		LDQ	R17, 24(SP)				; R17, 24(SP)
A65E0020     3E0C		LDQ	R18, 32(SP)				; R18, 32(SP)
A67E0028     3E10		LDQ	R19, 40(SP)				; R19, 40(SP)
A73E0030     3E14		LDQ	R25, 48(SP)				; R25, 48(SP)
43C8141E     3E18		ADDQ	SP, 64, SP				; SP, 64, SP
A38501A0     3E1C		LDL	R28, 416(R5)				; R28, 416(R5)				    ; 011397
40DC0534     3E20		SUBQ	R6, R28, R20				; R6, R28, R20
EE800001     3E24		BLE	R20, 109_1222$				; R20, 109_1222$			    ; 011398
A0C501A0     3E28		LDL	R6, 416(R5)				; R6, 416(R5)				    ; 011399
	     3E2C	109_1222$:											    ; 011400
A2A5019C     3E2C		LDL	R21, 412(R5)				; R21, 412(R5)				    ; 011402
40D50534     3E30		SUBQ	R6, R21, R20				; R6, R21, R20
46950886     3E34		CMOVLT	R20, R21, R6				; R20, R21, R6				    ; 011404
	     3E38	109_1223$:											    ; 011405
A105023C     3E38		LDL	R8, 572(R5)				; R8, 572(R5)				    ; 011408
F9000016     3E3C		BGE	R8, 109_222$				; R8, 109_222$				    ; 011409
A1080044     3E40		LDL	R8, 68(R8)				; R8, 68(R8)				    ; 011410
F9000014     3E44		BGE	R8, 109_222$				; R8, 109_222$				    ; 011411
A1080054     3E48		LDL	R8, 84(R8)				; R8, 84(R8)				    ; 011412
43E8001A     3E4C		SEXTL	R8, R26					; R8, R26				    ; 011413
4B407788     3E50		SRA	R26, 3, R8				; R26, 3, R8
40C80534     3E54		SUBQ	R6, R8, R20				; R6, R8, R20				    ; 011414
EE800001     3E58		BLE	R20, 109_3223$				; R20, 109_3223$			    ; 011416
43E80006     3E5C		SEXTL	R8, R6					; R8, R6				    ; 011417
	     3E60	109_3223$:											    ; 011418
A3000018     3E60		LDL	R24, 24(R0)				; R24, 24(R0)				    ; 011420
40D80534     3E64		SUBQ	R6, R24, R20				; R6, R24, R20
EE80000B     3E68		BLE	R20, 109_222$				; R20, 109_222$				    ; 011421
A2C50128     3E6C		LDL	R22, 296(R5)				; R22, 296(R5)				    ; 011424
22FF1000     3E70		LDA	R23, 4096(R31)				; R23, 4096(R31)
46D70014     3E74		AND	R22, R23, R20				; R22, R23, R20
E6800006     3E78		BEQ	R20, 109_2222$				; R20, 109_2222$			    ; 011425

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 186
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

2F600016     3E7C		LDQ_U	R27, 22(R0)				; R27, 22(R0)				    ; 011426
4002D41A     3E80		ADDQ	R0, 22, R26				; R0, 22, R26
4B7A02DB     3E84		EXTWL	R27, R26, R27				; R27, R26, R27
F3400034     3E88		BLBS	R26, $L184				; R26, $L184
	     3E8C	$L185:
47611014     3E8C		AND	R27, 8, R20				; R27, 8, R20
E6800001     3E90		BEQ	R20, 109_222$				; R20, 109_222$				    ; 011427
	     3E94	109_2222$:											    ; 011428
B0C00018     3E94		STL	R6, 24(R0)				; R6, 24(R0)				    ; 011429
	     3E98	109_222$:											    ; 011430
A05E0000     3E98		LDL	R2, (SP)				; R2, (SP)				    ; 011431
A07E0004     3E9C		LDL	R3, 4(SP)				; R3, 4(SP)
A09E0008     3EA0		LDL	R4, 8(SP)				; R4, 8(SP)
A0BE000C     3EA4		LDL	R5, 12(SP)				; R5, 12(SP)
A0DE0010     3EA8		LDL	R6, 16(SP)				; R6, 16(SP)
A0FE0014     3EAC		LDL	R7, 20(SP)				; R7, 20(SP)
A11E0018     3EB0		LDL	R8, 24(SP)				; R8, 24(SP)
43C3941E     3EB4		ADDQ	SP, 28, SP				; SP, 28, SP
C3FFFDC9     3EB8		BR	MSPC					; MSPC					    ; 011433
47FF041F     3EBC		NOP						; 
	     3EC0	$L111:												    ; 011379
C3FFFFF5     3EC0		BR	109_222$				; 109_222$
	     3EC4	$L168:												    ; 011437
2F000017     3EC4		LDQ_U	R24, 23(R0)				; R24, 23(R0)
4B1B0B5A     3EC8		EXTWH	R24, R27, R26				; R24, R27, R26
479A041C     3ECC		BIS	R28, R26, R28				; R28, R26, R28
47901014     3ED0		AND	R28, 128, R20				; R28, 128, R20
F69FFF26     3ED4		BNE	R20, 110_30072$				; R20, 110_30072$			    ; 011438
C3FFFDC7     3ED8		BR	110_800$				; 110_800$
	     3EDC	$L170:												    ; 011347
2F800017     3EDC		LDQ_U	R28, 23(R0)				; R28, 23(R0)
4B970B56     3EE0		EXTWH	R28, R23, R22				; R28, R23, R22
47160418     3EE4		BIS	R24, R22, R24				; R24, R22, R24
47101014     3EE8		AND	R24, 128, R20				; R24, 128, R20
F69FFF78     3EEC		BNE	R20, 109_30069$				; R20, 109_30069$			    ; 011348
C3FFFDBB     3EF0		BR	MSPC					; MSPC
	     3EF4	$L172:												    ; 011356
2EC00017     3EF4		LDQ_U	R22, 23(R0)				; R22, 23(R0)
4AD80B57     3EF8		EXTWH	R22, R24, R23				; R22, R24, R23
4757041A     3EFC		BIS	R26, R23, R26				; R26, R23, R26
C3FFFF7A     3F00		BR	$L173					; $L173
	     3F04	$L174:												    ; 011365
2F600017     3F04		LDQ_U	R27, 23(R0)				; R27, 23(R0)
4B760B5C     3F08		EXTWH	R27, R22, R28				; R27, R22, R28
46FC0417     3F0C		BIS	R23, R28, R23				; R23, R28, R23
C3FFFF80     3F10		BR	$L175					; $L175
	     3F14	$L176:
4B560AF5     3F14		INSWH	R26, R22, R21				; R26, R22, R21
4B760A5B     3F18		MSKWH	R27, R22, R27				; R27, R22, R27
4775041B     3F1C		BIS	R27, R21, R27				; R27, R21, R27
3F600017     3F20		STQ_U	R27, 23(R0)				; R27, 23(R0)
C3FFFF80     3F24		BR	$L177					; $L177
	     3F28	$L178:												    ; 011370
2F400017     3F28		LDQ_U	R26, 23(R0)				; R26, 23(R0)
4B5C0B5B     3F2C		EXTWH	R26, R28, R27				; R26, R28, R27
46DB0416     3F30		BIS	R22, R27, R22				; R22, R27, R22
C3FFFF87     3F34		BR	$L179					; $L179

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 187
V01H                            MFYFILT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     3F38	$L180:
4B1C0AF5     3F38		INSWH	R24, R28, R21				; R24, R28, R21
4B5C0A5A     3F3C		MSKWH	R26, R28, R26				; R26, R28, R26
4755041A     3F40		BIS	R26, R21, R26				; R26, R21, R26
3F400017     3F44		STQ_U	R26, 23(R0)				; R26, 23(R0)
C3FFFF87     3F48		BR	$L181					; $L181
	     3F4C	$L182:												    ; 011378
2EE00017     3F4C		LDQ_U	R23, 23(R0)				; R23, 23(R0)
4AFA0B58     3F50		EXTWH	R23, R26, R24				; R23, R26, R24
4778041B     3F54		BIS	R27, R24, R27				; R27, R24, R27
C3FFFF90     3F58		BR	$L183					; $L183
	     3F5C	$L184:												    ; 011426
2EE00017     3F5C		LDQ_U	R23, 23(R0)				; R23, 23(R0)
4AFA0B58     3F60		EXTWH	R23, R26, R24				; R23, R26, R24
4778041B     3F64		BIS	R27, R24, R27				; R27, R24, R27
C3FFFFC8     3F68		BR	$L185					; $L185
47FF041F     3F6C		NOP						; 

Routine Size: 1984 bytes,    Routine Base: $$$115_DRIVER + 37B0

	     3F70	SNDEXMSG:											    ; 011505
43CE153E     3F70		SUBQ	SP, 112, SP				; SP, 112, SP
B75E0008     3F74		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     3F78		STQ	R2, 16(SP)				; R2, 16(SP)
B47E0018     3F7C		STQ	R3, 24(SP)				; R3, 24(SP)
B49E0020     3F80		STQ	R4, 32(SP)				; R4, 32(SP)
B4BE0028     3F84		STQ	R5, 40(SP)				; R5, 40(SP)
B4DE0030     3F88		STQ	R6, 48(SP)				; R6, 48(SP)
B4FE0038     3F8C		STQ	R7, 56(SP)				; R7, 56(SP)
B51E0040     3F90		STQ	R8, 64(SP)				; R8, 64(SP)
B53E0048     3F94		STQ	R9, 72(SP)				; R9, 72(SP)
B55E0050     3F98		STQ	R10, 80(SP)				; R10, 80(SP)
B57E0058     3F9C		STQ	R11, 88(SP)				; R11, 88(SP)
B5BE0060     3FA0		STQ	R13, 96(SP)				; R13, 96(SP)
47FB040D     3FA4		MOV	R27, R13				; R27, R13
B5FE0068     3FA8		STQ	R15, 104(SP)				; R15, 104(SP)
	     3FAC	$L45:
A74DFD90     3FAC		LDQ	R26, -624(R13)				; R26, -624(R13)			    ; 011508
47EE1401     3FB0		BIS	R31, 112, R1				; R31, 112, R1				    ; 011507
A76DFD98     3FB4		LDQ	R27, -616(R13)				; R27, -616(R13)			    ; 011508
6B5A4000     3FB8		JSR	R26, R26				; R26, R26
F0000010     3FBC		BLBS	R0, 111_1$				; R0, 111_1$				    ; 011509
	     3FC0	$L46:												    ; 011510
A79E0008     3FC0		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     3FC4		LDQ	R2, 16(SP)				; R2, 16(SP)
A47E0018     3FC8		LDQ	R3, 24(SP)				; R3, 24(SP)
A49E0020     3FCC		LDQ	R4, 32(SP)				; R4, 32(SP)
A4BE0028     3FD0		LDQ	R5, 40(SP)				; R5, 40(SP)
A4DE0030     3FD4		LDQ	R6, 48(SP)				; R6, 48(SP)
A4FE0038     3FD8		LDQ	R7, 56(SP)				; R7, 56(SP)
A51E0040     3FDC		LDQ	R8, 64(SP)				; R8, 64(SP)
A53E0048     3FE0		LDQ	R9, 72(SP)				; R9, 72(SP)
A55E0050     3FE4		LDQ	R10, 80(SP)				; R10, 80(SP)
A57E0058     3FE8		LDQ	R11, 88(SP)				; R11, 88(SP)
A5BE0060     3FEC		LDQ	R13, 96(SP)				; R13, 96(SP)
A5FE0068     3FF0		LDQ	R15, 104(SP)				; R15, 104(SP)
43CE141E     3FF4		ADDQ	SP, 112, SP				; SP, 112, SP

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 188
V01H                            SNDEXMSG                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

6BFC8001     3FF8		RET	R28					; R28
47FF041F     3FFC		NOP						; 
	     4000	111_1$:												    ; 011511
43C3153E     4000		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 011512
47E20419     4004		MOV	R2, R25					; R2, R25
B0BE0014     4008		STL	R5, 20(SP)				; R5, 20(SP)
47FFF418     400C		BIS	R31, 255, R24				; R31, 255, R24
B09E0010     4010		STL	R4, 16(SP)				; R4, 16(SP)
4720F004     4014		AND	R25, 7, R4				; R25, 7, R4
B07E000C     4018		STL	R3, 12(SP)				; R3, 12(SP)
4B040724     401C		SLL	R24, R4, R4				; R24, R4, R4
B05E0008     4020		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     4024		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     4028		STL	R0, (SP)				; R0, (SP)
2DF90000     402C		LDQ_U	R15, (R25)				; R15, (R25)
49E4060F     4030		ZAP	R15, R4, R15				; R15, R4, R15
3DF90000     4034		STQ_U	R15, (R25)				; R15, (R25)
3FF90008     4038		STQ_U	R31, 8(R25)				; R31, 8(R25)
48811684     403C		SRL	R4, 8, R4				; R4, 8, R4
3FF90010     4040		STQ_U	R31, 16(R25)				; R31, 16(R25)
3FF90018     4044		STQ_U	R31, 24(R25)				; R31, 24(R25)
3FF90020     4048		STQ_U	R31, 32(R25)				; R31, 32(R25)
3FF90028     404C		STQ_U	R31, 40(R25)				; R31, 40(R25)
3FF90030     4050		STQ_U	R31, 48(R25)				; R31, 48(R25)
3FF90038     4054		STQ_U	R31, 56(R25)				; R31, 56(R25)
3FF90040     4058		STQ_U	R31, 64(R25)				; R31, 64(R25)
3FF90048     405C		STQ_U	R31, 72(R25)				; R31, 72(R25)
3FF90050     4060		STQ_U	R31, 80(R25)				; R31, 80(R25)
3FF90058     4064		STQ_U	R31, 88(R25)				; R31, 88(R25)
3FF90060     4068		STQ_U	R31, 96(R25)				; R31, 96(R25)
3FF90068     406C		STQ_U	R31, 104(R25)				; R31, 104(R25)
E4800003     4070		BEQ	R4, $L186				; R4, $L186
2DF90070     4074		LDQ_U	R15, 112(R25)				; R15, 112(R25)
49E4060F     4078		ZAP	R15, R4, R15				; R15, R4, R15
3DF90070     407C		STQ_U	R15, 112(R25)				; R15, 112(R25)
	     4080	$L186:
A01E0000     4080		LDL	R0, (SP)				; R0, (SP)
47E05419     4084		BIS	R31, 2, R25				; R31, 2, R25				    ; 011527
A03E0004     4088		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 011512
A05E0008     408C		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     4090		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     4094		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     4098		LDL	R5, 20(SP)				; R5, 20(SP)
43C3141E     409C		ADDQ	SP, 24, SP				; SP, 24, SP
43C5953E     40A0		SUBQ	SP, 44, SP				; SP, 44, SP				    ; 011514
A6EDFCD0     40A4		LDQ	R23, -816(R13)				; R23, -816(R13)			    ; 011535
43E2000B     40A8		SEXTL	R2, R11					; R2, R11				    ; 011513
B17E0028     40AC		STL	R11, 40(SP)				; R11, 40(SP)				    ; 011514
B15E0024     40B0		STL	R10, 36(SP)				; R10, 36(SP)
B13E0020     40B4		STL	R9, 32(SP)				; R9, 32(SP)
B11E001C     40B8		STL	R8, 28(SP)				; R8, 28(SP)
B0FE0018     40BC		STL	R7, 24(SP)				; R7, 24(SP)
B0DE0014     40C0		STL	R6, 20(SP)				; R6, 20(SP)
B0BE0010     40C4		STL	R5, 16(SP)				; R5, 16(SP)
B09E000C     40C8		STL	R4, 12(SP)				; R4, 12(SP)
B07E0008     40CC		STL	R3, 8(SP)				; R3, 8(SP)
B05E0004     40D0		STL	R2, 4(SP)				; R2, 4(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 189
V01H                            SNDEXMSG                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B03E0000     40D4		STL	R1, (SP)				; R1, (SP)
B1620000     40D8		STL	R11, (R2)				; R11, (R2)				    ; 011515
A005023C     40DC		LDL	R0, 572(R5)				; R0, 572(R5)				    ; 011524
A0200038     40E0		LDL	R1, 56(R0)				; R1, 56(R0)				    ; 011525
B32B0004     40E4		STL	R25, 4(R11)				; R25, 4(R11)				    ; 011527
40229401     40E8		ADDQ	R1, 20, R1				; R1, 20, R1				    ; 011526
A3010000     40EC		LDL	R24, (R1)				; R24, (R1)				    ; 011528
40209401     40F0		ADDQ	R1, 4, R1				; R1, 4, R1
B30B0008     40F4		STL	R24, 8(R11)				; R24, 8(R11)
A3410000     40F8		LDL	R26, (R1)				; R26, (R1)				    ; 011529
40209401     40FC		ADDQ	R1, 4, R1				; R1, 4, R1
B34B000C     4100		STL	R26, 12(R11)				; R26, 12(R11)
A3210000     4104		LDL	R25, (R1)				; R25, (R1)				    ; 011530
40209401     4108		ADDQ	R1, 4, R1				; R1, 4, R1
B32B0010     410C		STL	R25, 16(R11)				; R25, 16(R11)
A3010000     4110		LDL	R24, (R1)				; R24, (R1)				    ; 011531
40209401     4114		ADDQ	R1, 4, R1				; R1, 4, R1
B30B0014     4118		STL	R24, 20(R11)				; R24, 20(R11)
A3400074     411C		LDL	R26, 116(R0)				; R26, 116(R0)				    ; 011532
4B4012DA     4120		EXTWL	R26, 0, R26				; R26, 0, R26
B34B0018     4124		STL	R26, 24(R11)				; R26, 24(R11)
B06B001C     4128		STL	R3, 28(R11)				; R3, 28(R11)				    ; 011534
A0970000     412C		LDL	R4, (R23)				; R4, (R23)				    ; 011535
A74D0020     4130		LDQ	R26, 32(R13)				; R26, 32(R13)				    ; 011546
B08B0020     4134		STL	R4, 32(R11)				; R4, 32(R11)				    ; 011536
B00B0024     4138		STL	R0, 36(R11)				; R0, 36(R11)				    ; 011537
B0CB0028     413C		STL	R6, 40(R11)				; R6, 40(R11)				    ; 011538
B0EB002C     4140		STL	R7, 44(R11)				; R7, 44(R11)				    ; 011539
B10B0030     4144		STL	R8, 48(R11)				; R8, 48(R11)				    ; 011540
B12B0034     4148		STL	R9, 52(R11)				; R9, 52(R11)				    ; 011541
A3290018     414C		LDL	R25, 24(R9)				; R25, 24(R9)				    ; 011542
B32B0038     4150		STL	R25, 56(R11)				; R25, 56(R11)
A3090004     4154		LDL	R24, 4(R9)				; R24, 4(R9)				    ; 011543
B30B003C     4158		STL	R24, 60(R11)				; R24, 60(R11)
A3290008     415C		LDL	R25, 8(R9)				; R25, 8(R9)				    ; 011544
B32B0040     4160		STL	R25, 64(R11)				; R25, 64(R11)
A3090000     4164		LDL	R24, (R9)				; R24, (R9)				    ; 011545
B30B0044     4168		STL	R24, 68(R11)				; R24, 68(R11)
B34B0048     416C		STL	R26, 72(R11)				; R26, 72(R11)				    ; 011546
A3370000     4170		LDL	R25, (R23)				; R25, (R23)				    ; 011547
B32B004C     4174		STL	R25, 76(R11)				; R25, 76(R11)
A0970000     4178		LDL	R4, (R23)				; R4, (R23)				    ; 011548
A30400D4     417C		LDL	R24, 212(R4)				; R24, 212(R4)				    ; 011549
B30B0050     4180		STL	R24, 80(R11)				; R24, 80(R11)
A34400D8     4184		LDL	R26, 216(R4)				; R26, 216(R4)				    ; 011550
B34B0054     4188		STL	R26, 84(R11)				; R26, 84(R11)
A0200038     418C		LDL	R1, 56(R0)				; R1, 56(R0)				    ; 011551
A3210034     4190		LDL	R25, 52(R1)				; R25, 52(R1)				    ; 011552
B32B0058     4194		STL	R25, 88(R11)				; R25, 88(R11)
A021002C     4198		LDL	R1, 44(R1)				; R1, 44(R1)				    ; 011553
F8200004     419C		BGE	R1, 111_833$				; R1, 111_833$				    ; 011554
A3010048     41A0		LDL	R24, 72(R1)				; R24, 72(R1)				    ; 011555
B30B005C     41A4		STL	R24, 92(R11)				; R24, 92(R11)
A2C1004C     41A8		LDL	R22, 76(R1)				; R22, 76(R1)				    ; 011556
B2CB0060     41AC		STL	R22, 96(R11)				; R22, 96(R11)
	     41B0	111_833$:											    ; 011557
43C1953E     41B0		SUBQ	SP, 12, SP				; SP, 12, SP				    ; 011561

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 190
V01H                            SNDEXMSG                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A74D0010     41B4		LDQ	R26, 16(R13)				; R26, 16(R13)				    ; 011566
43E5000A     41B8		SEXTL	R5, R10					; R5, R10				    ; 011563
A76D0018     41BC		LDQ	R27, 24(R13)				; R27, 24(R13)				    ; 011566
B0BE0008     41C0		STL	R5, 8(SP)				; R5, 8(SP)				    ; 011561
B09E0004     41C4		STL	R4, 4(SP)				; R4, 4(SP)
B07E0000     41C8		STL	R3, (SP)				; R3, (SP)
47EC9403     41CC		BIS	R31, 100, R3				; R31, 100, R3				    ; 011562
A0A5011C     41D0		LDL	R5, 284(R5)				; R5, 284(R5)				    ; 011564
43EB0004     41D4		SEXTL	R11, R4					; R11, R4				    ; 011565
43C1153E     41D8		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 011566
6B5A4000     41DC		JSR	R26, R26				; R26, R26
277F0080     41E0		LDAH	R27, 128(R31)				; R27, 128(R31)				    ; 011571
A07E0008     41E4		LDL	R3, 8(SP)				; R3, 8(SP)				    ; 011567
A09E000C     41E8		LDL	R4, 12(SP)				; R4, 12(SP)
A0BE0010     41EC		LDL	R5, 16(SP)				; R5, 16(SP)
43C2941E     41F0		ADDQ	SP, 20, SP				; SP, 20, SP
E0000024     41F4		BLBC	R0, 111_40$				; R0, 111_40$				    ; 011568
A78DFCD0     41F8		LDQ	R28, -816(R13)				; R28, -816(R13)			    ; 011570
253F0080     41FC		LDAH	R9, 128(R31)				; R9, 128(R31)				    ; 011569
A09C0000     4200		LDL	R4, (R28)				; R4, (R28)				    ; 011570
A3440080     4204		LDL	R26, 128(R4)				; R26, 128(R4)				    ; 011571
475B0010     4208		AND	R26, R27, R16				; R26, R27, R16
461F04C9     420C		CMOVNE	R16, R31, R9				; R16, R31, R9				    ; 011573
	     4210	111_67$:											    ; 011574
A3040080     4210		LDL	R24, 128(R4)				; R24, 128(R4)
47FF0410     4214		CLR	R16					; R16					    ; 011578
47E00417     4218		MOV	R0, R23					; R0, R23
47E10416     421C		MOV	R1, R22					; R1, R22
47090418     4220		BIS	R24, R9, R24				; R24, R9, R24				    ; 011574
B3040080     4224		STL	R24, 128(R4)				; R24, 128(R4)
B3EB0004     4228		STL	R31, 4(R11)				; R31, 4(R11)				    ; 011576
0000000F     422C		CALL_PAL 15					; 15					    ; 011578
47F70400     4230		MOV	R23, R0					; R23, R0
47F60401     4234		MOV	R22, R1					; R22, R1
	     4238	111_65$:											    ; 011580
A38B0004     4238		LDL	R28, 4(R11)				; R28, 4(R11)
47E3F410     423C		BIS	R31, 31, R16				; R31, 31, R16				    ; 011582
47E03419     4240		BIS	R31, 1, R25				; R31, 1, R25				    ; 011583
F7800024     4244		BNE	R28, 111_50$				; R28, 111_50$				    ; 011581
A74DFEB0     4248		LDQ	R26, -336(R13)				; R26, -336(R13)			    ; 011583
43C0953E     424C		SUBQ	SP, 4, SP				; SP, 4, SP
A76DFEB8     4250		LDQ	R27, -328(R13)				; R27, -328(R13)
6B5A4000     4254		JSR	R26, R26				; R26, R26
47E3F410     4258		BIS	R31, 31, R16				; R31, 31, R16				    ; 011586
47E03419     425C		BIS	R31, 1, R25				; R31, 1, R25				    ; 011587
43C0941E     4260		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 011583
A36B0004     4264		LDL	R27, 4(R11)				; R27, 4(R11)				    ; 011584
F760001B     4268		BNE	R27, 111_50$				; R27, 111_50$				    ; 011585
A74DFEC0     426C		LDQ	R26, -320(R13)				; R26, -320(R13)			    ; 011587
A76DFEC8     4270		LDQ	R27, -312(R13)				; R27, -312(R13)
43C0953E     4274		SUBQ	SP, 4, SP				; SP, 4, SP
6B5A4000     4278		JSR	R26, R26				; R26, R26
43C0941E     427C		ADDQ	SP, 4, SP				; SP, 4, SP
C3FFFFED     4280		BR	111_65$					; 111_65$				    ; 011588
47FF041F     4284		NOP						; 
	     4288	111_40$:											    ; 011593
A74DFD80     4288		LDQ	R26, -640(R13)				; R26, -640(R13)			    ; 011595

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 191
V01H                            SNDEXMSG                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43EB0000     428C		SEXTL	R11, R0					; R11, R0				    ; 011593
A76DFD88     4290		LDQ	R27, -632(R13)				; R27, -632(R13)			    ; 011595
47EE1401     4294		BIS	R31, 112, R1				; R31, 112, R1				    ; 011594
43C0953E     4298		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011595
6B5A4000     429C		JSR	R26, R26				; R26, R26
A03E0004     42A0		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 011596
A05E0008     42A4		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     42A8		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     42AC		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     42B0		LDL	R5, 20(SP)				; R5, 20(SP)
43C0941E     42B4		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 011595
A0DE0014     42B8		LDL	R6, 20(SP)				; R6, 20(SP)				    ; 011596
A0FE0018     42BC		LDL	R7, 24(SP)				; R7, 24(SP)
A11E001C     42C0		LDL	R8, 28(SP)				; R8, 28(SP)
A13E0020     42C4		LDL	R9, 32(SP)				; R9, 32(SP)
A15E0024     42C8		LDL	R10, 36(SP)				; R10, 36(SP)
A17E0028     42CC		LDL	R11, 40(SP)				; R11, 40(SP)
43C5941E     42D0		ADDQ	SP, 44, SP				; SP, 44, SP
C3FFFF3A     42D4		BR	$L46					; $L46					    ; 011599
	     42D8	111_50$:											    ; 011589
47E05410     42D8		BIS	R31, 2, R16				; R31, 2, R16				    ; 011591
47E0041A     42DC		MOV	R0, R26					; R0, R26
47E10419     42E0		MOV	R1, R25					; R1, R25
0000000F     42E4		CALL_PAL 15					; 15
A2E40080     42E8		LDL	R23, 128(R4)				; R23, 128(R4)				    ; 011592
47FA0400     42EC		MOV	R26, R0					; R26, R0				    ; 011591
47F90401     42F0		MOV	R25, R1					; R25, R1
46E90117     42F4		BIC	R23, R9, R23				; R23, R9, R23				    ; 011592
B2E40080     42F8		STL	R23, 128(R4)				; R23, 128(R4)
C3FFFFE2     42FC		BR	111_40$					; 111_40$				    ; 011593

Routine Size: 912 bytes,    Routine Base: $$$115_DRIVER + 3F70

	     4300	SNDEXAST:											    ; 011603
43C4153E     4300		SUBQ	SP, 32, SP				; SP, 32, SP
B75E0008     4304		STQ	R26, 8(SP)				; R26, 8(SP)
B57E0010     4308		STQ	R11, 16(SP)				; R11, 16(SP)
B5BE0018     430C		STQ	R13, 24(SP)				; R13, 24(SP)
47FB040D     4310		MOV	R27, R13				; R27, R13
	     4314	$L47:
A1650014     4314		LDL	R11, 20(R5)				; R11, 20(R5)				    ; 011604
239F1000     4318		LDA	R28, 4096(R31)				; R28, 4096(R31)			    ; 011605
47E0341B     431C		BIS	R31, 1, R27				; R31, 1, R27				    ; 011609
A22B0004     4320		LDL	R17, 4(R11)				; R17, 4(R11)				    ; 011605
43910530     4324		SUBQ	R28, R17, R16				; R28, R17, R16
E6000003     4328		BEQ	R16, 112_1$				; R16, 112_1$				    ; 011606
42207530     432C		SUBQ	R17, 3, R16				; R17, 3, R16				    ; 011607
E6000001     4330		BEQ	R16, 112_1$				; R16, 112_1$				    ; 011608
B36B0004     4334		STL	R27, 4(R11)				; R27, 4(R11)				    ; 011609
	     4338	112_1$:												    ; 011610
A74DFCD8     4338		LDQ	R26, -808(R13)				; R26, -808(R13)			    ; 011611
47E3F410     433C		BIS	R31, 31, R16				; R31, 31, R16				    ; 011610
A76DFCE0     4340		LDQ	R27, -800(R13)				; R27, -800(R13)			    ; 011611
47E03419     4344		BIS	R31, 1, R25				; R31, 1, R25
6B5A4000     4348		JSR	R26, R26				; R26, R26
47E49401     434C		BIS	R31, 36, R1				; R31, 36, R1				    ; 011613
A74DFD58     4350		LDQ	R26, -680(R13)				; R26, -680(R13)			    ; 011614

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 192
V01H                            SNDEXAST                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43E50000     4354		SEXTL	R5, R0					; R5, R0				    ; 011612
A76DFD60     4358		LDQ	R27, -672(R13)				; R27, -672(R13)			    ; 011614
6B5A4000     435C		JSR	R26, R26				; R26, R26
47E03400     4360		BIS	R31, 1, R0				; R31, 1, R0				    ; 011615
	     4364	$L48:												    ; 011616
A79E0008     4364		LDQ	R28, 8(SP)				; R28, 8(SP)
A57E0010     4368		LDQ	R11, 16(SP)				; R11, 16(SP)
A5BE0018     436C		LDQ	R13, 24(SP)				; R13, 24(SP)
43C4141E     4370		ADDQ	SP, 32, SP				; SP, 32, SP
6BFC8001     4374		RET	R28					; R28
47FF041F     4378		NOP						; 
47FF041F     437C		NOP						; 

Routine Size: 128 bytes,    Routine Base: $$$115_DRIVER + 4300

	     4380	SNDDELMSG:											    ; 011621
43CE153E     4380		SUBQ	SP, 112, SP				; SP, 112, SP
B75E0008     4384		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     4388		STQ	R2, 16(SP)				; R2, 16(SP)
B47E0018     438C		STQ	R3, 24(SP)				; R3, 24(SP)
B49E0020     4390		STQ	R4, 32(SP)				; R4, 32(SP)
B4BE0028     4394		STQ	R5, 40(SP)				; R5, 40(SP)
B4DE0030     4398		STQ	R6, 48(SP)				; R6, 48(SP)
B4FE0038     439C		STQ	R7, 56(SP)				; R7, 56(SP)
B51E0040     43A0		STQ	R8, 64(SP)				; R8, 64(SP)
B53E0048     43A4		STQ	R9, 72(SP)				; R9, 72(SP)
B55E0050     43A8		STQ	R10, 80(SP)				; R10, 80(SP)
B57E0058     43AC		STQ	R11, 88(SP)				; R11, 88(SP)
B5BE0060     43B0		STQ	R13, 96(SP)				; R13, 96(SP)
47FB040D     43B4		MOV	R27, R13				; R27, R13
B5FE0068     43B8		STQ	R15, 104(SP)				; R15, 104(SP)
	     43BC	$L49:
A3850128     43BC		LDL	R28, 296(R5)				; R28, 296(R5)				    ; 011626
47881010     43C0		AND	R28, 64, R16				; R28, 64, R16
E6000012     43C4		BEQ	R16, 113_100$				; R16, 113_100$				    ; 011627
F5600011     43C8		BNE	R11, 113_100$				; R11, 113_100$				    ; 011629
47FF041F     43CC		NOP						; 
	     43D0	$L50:												    ; 011630
A79E0008     43D0		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     43D4		LDQ	R2, 16(SP)				; R2, 16(SP)
A47E0018     43D8		LDQ	R3, 24(SP)				; R3, 24(SP)
A49E0020     43DC		LDQ	R4, 32(SP)				; R4, 32(SP)
A4BE0028     43E0		LDQ	R5, 40(SP)				; R5, 40(SP)
A4DE0030     43E4		LDQ	R6, 48(SP)				; R6, 48(SP)
A4FE0038     43E8		LDQ	R7, 56(SP)				; R7, 56(SP)
A51E0040     43EC		LDQ	R8, 64(SP)				; R8, 64(SP)
A53E0048     43F0		LDQ	R9, 72(SP)				; R9, 72(SP)
A55E0050     43F4		LDQ	R10, 80(SP)				; R10, 80(SP)
A57E0058     43F8		LDQ	R11, 88(SP)				; R11, 88(SP)
A5BE0060     43FC		LDQ	R13, 96(SP)				; R13, 96(SP)
A5FE0068     4400		LDQ	R15, 104(SP)				; R15, 104(SP)
43CE141E     4404		ADDQ	SP, 112, SP				; SP, 112, SP
6BFC8001     4408		RET	R28					; R28
47FF041F     440C		NOP						; 
	     4410	113_100$:											    ; 011631
A74DFD58     4410		LDQ	R26, -680(R13)				; R26, -680(R13)			    ; 011634
47EE9401     4414		BIS	R31, 116, R1				; R31, 116, R1				    ; 011633

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 193
V01H                            SNDDELMSG                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A76DFD60     4418		LDQ	R27, -672(R13)				; R27, -672(R13)			    ; 011634
6B5A4000     441C		JSR	R26, R26				; R26, R26
E01FFFEB     4420		BLBC	R0, $L50				; R0, $L50				    ; 011636
	     4424	113_1$:												    ; 011637
43C3153E     4424		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 011638
47E20419     4428		MOV	R2, R25					; R2, R25
B0BE0014     442C		STL	R5, 20(SP)				; R5, 20(SP)
231F0FFF     4430		LDA	R24, 4095(R31)				; R24, 4095(R31)
B09E0010     4434		STL	R4, 16(SP)				; R4, 16(SP)
4720F004     4438		AND	R25, 7, R4				; R25, 7, R4
B07E000C     443C		STL	R3, 12(SP)				; R3, 12(SP)
4B040724     4440		SLL	R24, R4, R4				; R24, R4, R4
B05E0008     4444		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     4448		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     444C		STL	R0, (SP)				; R0, (SP)
2DF90000     4450		LDQ_U	R15, (R25)				; R15, (R25)
49E4060F     4454		ZAP	R15, R4, R15				; R15, R4, R15
3DF90000     4458		STQ_U	R15, (R25)				; R15, (R25)
3FF90008     445C		STQ_U	R31, 8(R25)				; R31, 8(R25)
48811684     4460		SRL	R4, 8, R4				; R4, 8, R4
3FF90010     4464		STQ_U	R31, 16(R25)				; R31, 16(R25)
3FF90018     4468		STQ_U	R31, 24(R25)				; R31, 24(R25)
3FF90020     446C		STQ_U	R31, 32(R25)				; R31, 32(R25)
3FF90028     4470		STQ_U	R31, 40(R25)				; R31, 40(R25)
3FF90030     4474		STQ_U	R31, 48(R25)				; R31, 48(R25)
3FF90038     4478		STQ_U	R31, 56(R25)				; R31, 56(R25)
3FF90040     447C		STQ_U	R31, 64(R25)				; R31, 64(R25)
3FF90048     4480		STQ_U	R31, 72(R25)				; R31, 72(R25)
3FF90050     4484		STQ_U	R31, 80(R25)				; R31, 80(R25)
3FF90058     4488		STQ_U	R31, 88(R25)				; R31, 88(R25)
3FF90060     448C		STQ_U	R31, 96(R25)				; R31, 96(R25)
3FF90068     4490		STQ_U	R31, 104(R25)				; R31, 104(R25)
E4800008     4494		BEQ	R4, $L187				; R4, $L187
2DF90070     4498		LDQ_U	R15, 112(R25)				; R15, 112(R25)
49E4060F     449C		ZAP	R15, R4, R15				; R15, R4, R15
3DF90070     44A0		STQ_U	R15, 112(R25)				; R15, 112(R25)
48811684     44A4		SRL	R4, 8, R4				; R4, 8, R4
E4800003     44A8		BEQ	R4, $L187				; R4, $L187
2DF90078     44AC		LDQ_U	R15, 120(R25)				; R15, 120(R25)
49E4060F     44B0		ZAP	R15, R4, R15				; R15, R4, R15
3DF90078     44B4		STQ_U	R15, 120(R25)				; R15, 120(R25)
	     44B8	$L187:
A05E0008     44B8		LDL	R2, 8(SP)				; R2, 8(SP)
47E07419     44BC		BIS	R31, 3, R25				; R31, 3, R25				    ; 011654
A01E0000     44C0		LDL	R0, (SP)				; R0, (SP)				    ; 011638
A03E0004     44C4		LDL	R1, 4(SP)				; R1, 4(SP)
A07E000C     44C8		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     44CC		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     44D0		LDL	R5, 20(SP)				; R5, 20(SP)
43C3141E     44D4		ADDQ	SP, 24, SP				; SP, 24, SP
B1620070     44D8		STL	R11, 112(R2)				; R11, 112(R2)				    ; 011639
43C5953E     44DC		SUBQ	SP, 44, SP				; SP, 44, SP				    ; 011641
43E2000B     44E0		SEXTL	R2, R11					; R2, R11				    ; 011640
A6EDFC98     44E4		LDQ	R23, -872(R13)				; R23, -872(R13)			    ; 011662
B17E0028     44E8		STL	R11, 40(SP)				; R11, 40(SP)				    ; 011641
B15E0024     44EC		STL	R10, 36(SP)				; R10, 36(SP)
B13E0020     44F0		STL	R9, 32(SP)				; R9, 32(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 194
V01H                            SNDDELMSG                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B11E001C     44F4		STL	R8, 28(SP)				; R8, 28(SP)
B0FE0018     44F8		STL	R7, 24(SP)				; R7, 24(SP)
B0DE0014     44FC		STL	R6, 20(SP)				; R6, 20(SP)
B0BE0010     4500		STL	R5, 16(SP)				; R5, 16(SP)
B09E000C     4504		STL	R4, 12(SP)				; R4, 12(SP)
B07E0008     4508		STL	R3, 8(SP)				; R3, 8(SP)
B05E0004     450C		STL	R2, 4(SP)				; R2, 4(SP)
B03E0000     4510		STL	R1, (SP)				; R1, (SP)
B1620000     4514		STL	R11, (R2)				; R11, (R2)				    ; 011642
A005023C     4518		LDL	R0, 572(R5)				; R0, 572(R5)				    ; 011651
A0200038     451C		LDL	R1, 56(R0)				; R1, 56(R0)				    ; 011652
B32B0004     4520		STL	R25, 4(R11)				; R25, 4(R11)				    ; 011654
40229401     4524		ADDQ	R1, 20, R1				; R1, 20, R1				    ; 011653
A3010000     4528		LDL	R24, (R1)				; R24, (R1)				    ; 011655
40209401     452C		ADDQ	R1, 4, R1				; R1, 4, R1
B30B0008     4530		STL	R24, 8(R11)				; R24, 8(R11)
A3410000     4534		LDL	R26, (R1)				; R26, (R1)				    ; 011656
40209401     4538		ADDQ	R1, 4, R1				; R1, 4, R1
B34B000C     453C		STL	R26, 12(R11)				; R26, 12(R11)
A3210000     4540		LDL	R25, (R1)				; R25, (R1)				    ; 011657
40209401     4544		ADDQ	R1, 4, R1				; R1, 4, R1
B32B0010     4548		STL	R25, 16(R11)				; R25, 16(R11)
A3010000     454C		LDL	R24, (R1)				; R24, (R1)				    ; 011658
40209401     4550		ADDQ	R1, 4, R1				; R1, 4, R1
B30B0014     4554		STL	R24, 20(R11)				; R24, 20(R11)
A3400074     4558		LDL	R26, 116(R0)				; R26, 116(R0)				    ; 011659
4B4012DA     455C		EXTWL	R26, 0, R26				; R26, 0, R26
B34B0018     4560		STL	R26, 24(R11)				; R26, 24(R11)
B06B001C     4564		STL	R3, 28(R11)				; R3, 28(R11)				    ; 011661
A0970000     4568		LDL	R4, (R23)				; R4, (R23)				    ; 011662
A74DFFE8     456C		LDQ	R26, -24(R13)				; R26, -24(R13)				    ; 011674
B08B0020     4570		STL	R4, 32(R11)				; R4, 32(R11)				    ; 011663
B00B0024     4574		STL	R0, 36(R11)				; R0, 36(R11)				    ; 011664
B0CB0028     4578		STL	R6, 40(R11)				; R6, 40(R11)				    ; 011665
B0EB002C     457C		STL	R7, 44(R11)				; R7, 44(R11)				    ; 011666
B10B0030     4580		STL	R8, 48(R11)				; R8, 48(R11)				    ; 011667
B12B0034     4584		STL	R9, 52(R11)				; R9, 52(R11)				    ; 011668
A3290018     4588		LDL	R25, 24(R9)				; R25, 24(R9)				    ; 011669
B32B0038     458C		STL	R25, 56(R11)				; R25, 56(R11)
A3090004     4590		LDL	R24, 4(R9)				; R24, 4(R9)				    ; 011670
B30B003C     4594		STL	R24, 60(R11)				; R24, 60(R11)
A3290008     4598		LDL	R25, 8(R9)				; R25, 8(R9)				    ; 011671
B32B0040     459C		STL	R25, 64(R11)				; R25, 64(R11)
A3090000     45A0		LDL	R24, (R9)				; R24, (R9)				    ; 011672
B30B0044     45A4		STL	R24, 68(R11)				; R24, 68(R11)
B34B0048     45A8		STL	R26, 72(R11)				; R26, 72(R11)				    ; 011674
41215418     45AC		ADDQ	R9, 10, R24				; R9, 10, R24				    ; 011675
2F29000A     45B0		LDQ_U	R25, 10(R9)				; R25, 10(R9)
2DE9000D     45B4		LDQ_U	R15, 13(R9)				; R15, 13(R9)
4B3804D9     45B8		EXTLL	R25, R24, R25				; R25, R24, R25
49F80D5A     45BC		EXTLH	R15, R24, R26				; R15, R24, R26
4121D418     45C0		ADDQ	R9, 14, R24				; R9, 14, R24				    ; 011676
473A0419     45C4		BIS	R25, R26, R25				; R25, R26, R25				    ; 011675
B32B004C     45C8		STL	R25, 76(R11)				; R25, 76(R11)
2F29000E     45CC		LDQ_U	R25, 14(R9)				; R25, 14(R9)				    ; 011676
4B3802D9     45D0		EXTWL	R25, R24, R25				; R25, R24, R25
F300006D     45D4		BLBS	R24, $L188				; R24, $L188

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 195
V01H                            SNDDELMSG                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     45D8	$L189:
B32B0050     45D8		STL	R25, 80(R11)				; R25, 80(R11)
A3570000     45DC		LDL	R26, (R23)				; R26, (R23)				    ; 011677
B34B0054     45E0		STL	R26, 84(R11)				; R26, 84(R11)
A0970000     45E4		LDL	R4, (R23)				; R4, (R23)				    ; 011678
A32400D4     45E8		LDL	R25, 212(R4)				; R25, 212(R4)				    ; 011679
B32B0058     45EC		STL	R25, 88(R11)				; R25, 88(R11)
A30400D8     45F0		LDL	R24, 216(R4)				; R24, 216(R4)				    ; 011680
B30B005C     45F4		STL	R24, 92(R11)				; R24, 92(R11)
A0200038     45F8		LDL	R1, 56(R0)				; R1, 56(R0)				    ; 011681
A3410034     45FC		LDL	R26, 52(R1)				; R26, 52(R1)				    ; 011682
B34B0060     4600		STL	R26, 96(R11)				; R26, 96(R11)
A021002C     4604		LDL	R1, 44(R1)				; R1, 44(R1)				    ; 011683
F8200004     4608		BGE	R1, 113_833$				; R1, 113_833$				    ; 011684
A3210048     460C		LDL	R25, 72(R1)				; R25, 72(R1)				    ; 011685
B32B0064     4610		STL	R25, 100(R11)				; R25, 100(R11)
A2E1004C     4614		LDL	R23, 76(R1)				; R23, 76(R1)				    ; 011686
B2EB0068     4618		STL	R23, 104(R11)				; R23, 104(R11)
	     461C	113_833$:											    ; 011687
43C1953E     461C		SUBQ	SP, 12, SP				; SP, 12, SP				    ; 011691
A74DFFD8     4620		LDQ	R26, -40(R13)				; R26, -40(R13)				    ; 011696
43E5000A     4624		SEXTL	R5, R10					; R5, R10				    ; 011693
A76DFFE0     4628		LDQ	R27, -32(R13)				; R27, -32(R13)				    ; 011696
B0BE0008     462C		STL	R5, 8(SP)				; R5, 8(SP)				    ; 011691
B09E0004     4630		STL	R4, 4(SP)				; R4, 4(SP)
B07E0000     4634		STL	R3, (SP)				; R3, (SP)
47EE9403     4638		BIS	R31, 116, R3				; R31, 116, R3				    ; 011692
A0A50124     463C		LDL	R5, 292(R5)				; R5, 292(R5)				    ; 011694
43EB0004     4640		SEXTL	R11, R4					; R11, R4				    ; 011695
43C1153E     4644		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 011696
6B5A4000     4648		JSR	R26, R26				; R26, R26
A07E0008     464C		LDL	R3, 8(SP)				; R3, 8(SP)				    ; 011697
A09E000C     4650		LDL	R4, 12(SP)				; R4, 12(SP)
A0BE0010     4654		LDL	R5, 16(SP)				; R5, 16(SP)
43C2941E     4658		ADDQ	SP, 20, SP				; SP, 20, SP
E0000026     465C		BLBC	R0, 113_40$				; R0, 113_40$				    ; 011698
A6CDFC98     4660		LDQ	R22, -872(R13)				; R22, -872(R13)			    ; 011700
279F0080     4664		LDAH	R28, 128(R31)				; R28, 128(R31)				    ; 011701
253F0080     4668		LDAH	R9, 128(R31)				; R9, 128(R31)				    ; 011699
A0960000     466C		LDL	R4, (R22)				; R4, (R22)				    ; 011700
A3640080     4670		LDL	R27, 128(R4)				; R27, 128(R4)				    ; 011701
477C0010     4674		AND	R27, R28, R16				; R27, R28, R16
461F04C9     4678		CMOVNE	R16, R31, R9				; R16, R31, R9				    ; 011703
	     467C	113_67$:											    ; 011704
A3240080     467C		LDL	R25, 128(R4)				; R25, 128(R4)
47FF0410     4680		CLR	R16					; R16					    ; 011708
47E00418     4684		MOV	R0, R24					; R0, R24
47E10417     4688		MOV	R1, R23					; R1, R23
47290419     468C		BIS	R25, R9, R25				; R25, R9, R25				    ; 011704
B3240080     4690		STL	R25, 128(R4)				; R25, 128(R4)
B3EB0004     4694		STL	R31, 4(R11)				; R31, 4(R11)				    ; 011706
0000000F     4698		CALL_PAL 15					; 15					    ; 011708
47F80400     469C		MOV	R24, R0					; R24, R0
47F70401     46A0		MOV	R23, R1					; R23, R1
2FFE0000     46A4		LNOP						; 
	     46A8	113_65$:											    ; 011710
A2CB0004     46A8		LDL	R22, 4(R11)				; R22, 4(R11)				    ; 011711

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 196
V01H                            SNDDELMSG                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47E3F410     46AC		BIS	R31, 31, R16				; R31, 31, R16				    ; 011713
47E03419     46B0		BIS	R31, 1, R25				; R31, 1, R25				    ; 011714
F6C00028     46B4		BNE	R22, 113_50$				; R22, 113_50$				    ; 011712
A74DFE78     46B8		LDQ	R26, -392(R13)				; R26, -392(R13)			    ; 011714
43C0953E     46BC		SUBQ	SP, 4, SP				; SP, 4, SP
A76DFE80     46C0		LDQ	R27, -384(R13)				; R27, -384(R13)
6B5A4000     46C4		JSR	R26, R26				; R26, R26
47E3F410     46C8		BIS	R31, 31, R16				; R31, 31, R16				    ; 011717
47E03419     46CC		BIS	R31, 1, R25				; R31, 1, R25				    ; 011718
43C0941E     46D0		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 011714
A38B0004     46D4		LDL	R28, 4(R11)				; R28, 4(R11)				    ; 011715
F780001F     46D8		BNE	R28, 113_50$				; R28, 113_50$				    ; 011716
A74DFE88     46DC		LDQ	R26, -376(R13)				; R26, -376(R13)			    ; 011718
A76DFE90     46E0		LDQ	R27, -368(R13)				; R27, -368(R13)
43C0953E     46E4		SUBQ	SP, 4, SP				; SP, 4, SP
6B5A4000     46E8		JSR	R26, R26				; R26, R26
43C0941E     46EC		ADDQ	SP, 4, SP				; SP, 4, SP
C3FFFFED     46F0		BR	113_65$					; 113_65$				    ; 011719
47FF041F     46F4		NOP						; 
	     46F8	113_40$:											    ; 011727
47E03400     46F8		BIS	R31, 1, R0				; R31, 1, R0
2FFE0000     46FC		LNOP						; 
	     4700	113_41$:											    ; 011728
A74DFD48     4700		LDQ	R26, -696(R13)				; R26, -696(R13)			    ; 011731
43C0953E     4704		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011728
A76DFD50     4708		LDQ	R27, -688(R13)				; R27, -688(R13)			    ; 011731
47EE9401     470C		BIS	R31, 116, R1				; R31, 116, R1				    ; 011730
B01E0000     4710		STL	R0, (SP)				; R0, (SP)				    ; 011728
43EB0000     4714		SEXTL	R11, R0					; R11, R0				    ; 011729
6B5A4000     4718		JSR	R26, R26				; R26, R26				    ; 011731
A01E0000     471C		LDL	R0, (SP)				; R0, (SP)				    ; 011732
A03E0004     4720		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 011733
A05E0008     4724		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     4728		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     472C		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     4730		LDL	R5, 20(SP)				; R5, 20(SP)
43C0941E     4734		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 011732
A0DE0014     4738		LDL	R6, 20(SP)				; R6, 20(SP)				    ; 011733
A0FE0018     473C		LDL	R7, 24(SP)				; R7, 24(SP)
A11E001C     4740		LDL	R8, 28(SP)				; R8, 28(SP)
A13E0020     4744		LDL	R9, 32(SP)				; R9, 32(SP)
A15E0024     4748		LDL	R10, 36(SP)				; R10, 36(SP)
A17E0028     474C		LDL	R11, 40(SP)				; R11, 40(SP)
43C5941E     4750		ADDQ	SP, 44, SP				; SP, 44, SP
C3FFFF1E     4754		BR	$L50					; $L50					    ; 011736
	     4758	113_50$:											    ; 011720
47E05410     4758		BIS	R31, 2, R16				; R31, 2, R16				    ; 011722
47E0041B     475C		MOV	R0, R27					; R0, R27
47E1041A     4760		MOV	R1, R26					; R1, R26
0000000F     4764		CALL_PAL 15					; 15
A72DFC98     4768		LDQ	R25, -872(R13)				; R25, -872(R13)			    ; 011723
47FA0401     476C		MOV	R26, R1					; R26, R1				    ; 011722
47FB0400     4770		MOV	R27, R0					; R27, R0
A0990000     4774		LDL	R4, (R25)				; R4, (R25)				    ; 011723
A2E40080     4778		LDL	R23, 128(R4)				; R23, 128(R4)				    ; 011724
46E90117     477C		BIC	R23, R9, R23				; R23, R9, R23
B2E40080     4780		STL	R23, 128(R4)				; R23, 128(R4)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 197
V01H                            SNDDELMSG                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A00B0004     4784		LDL	R0, 4(R11)				; R0, 4(R11)				    ; 011725
C3FFFFDD     4788		BR	113_41$					; 113_41$				    ; 011726
	     478C	$L188:												    ; 011676
2DE9000F     478C		LDQ_U	R15, 15(R9)				; R15, 15(R9)
49F80B5A     4790		EXTWH	R15, R24, R26				; R15, R24, R26
473A0419     4794		BIS	R25, R26, R25				; R25, R26, R25
C3FFFF8F     4798		BR	$L189					; $L189
47FF041F     479C		NOP						; 

Routine Size: 1056 bytes,    Routine Base: $$$115_DRIVER + 4380

	     47A0	MFYMOUNT:											    ; 011737
43D2153E     47A0		SUBQ	SP, 144, SP				; SP, 144, SP
B77E0000     47A4		STQ	R27, (SP)				; R27, (SP)
B75E0010     47A8		STQ	R26, 16(SP)				; R26, 16(SP)
B45E0018     47AC		STQ	R2, 24(SP)				; R2, 24(SP)
B47E0020     47B0		STQ	R3, 32(SP)				; R3, 32(SP)
B49E0028     47B4		STQ	R4, 40(SP)				; R4, 40(SP)
B4BE0030     47B8		STQ	R5, 48(SP)				; R5, 48(SP)
B4DE0038     47BC		STQ	R6, 56(SP)				; R6, 56(SP)
B4FE0040     47C0		STQ	R7, 64(SP)				; R7, 64(SP)
B51E0048     47C4		STQ	R8, 72(SP)				; R8, 72(SP)
B53E0050     47C8		STQ	R9, 80(SP)				; R9, 80(SP)
B55E0058     47CC		STQ	R10, 88(SP)				; R10, 88(SP)
B57E0060     47D0		STQ	R11, 96(SP)				; R11, 96(SP)
B59E0068     47D4		STQ	R12, 104(SP)				; R12, 104(SP)
B5BE0070     47D8		STQ	R13, 112(SP)				; R13, 112(SP)
47FB040D     47DC		MOV	R27, R13				; R27, R13
B5DE0078     47E0		STQ	R14, 120(SP)				; R14, 120(SP)
B5FE0080     47E4		STQ	R15, 128(SP)				; R15, 128(SP)
B7BE0088     47E8		STQ	FP, 136(SP)				; FP, 136(SP)
47FE041D     47EC		MOV	SP, FP					; SP, FP
B7FE0008     47F0		STQ	R31, 8(SP)				; R31, 8(SP)
	     47F4	$L51:
43F00003     47F4		SEXTL	R16, R3					; R16, R3
43F10004     47F8		SEXTL	R17, R4					; R17, R4
43F20005     47FC		SEXTL	R18, R5					; R18, R5
43F30006     4800		SEXTL	R19, R6					; R19, R6
47E03400     4804		BIS	R31, 1, R0				; R31, 1, R0				    ; 011740
41AB153B     4808		SUBQ	R13, 88, R27				; R13, 88, R27				    ; 011741
D35FFBA0     480C		BSR	R26, PORS				; R26, PORS
	     4810	$L52:												    ; 011742
47FD041E     4810		MOV	FP, SP					; FP, SP
A79E0010     4814		LDQ	R28, 16(SP)				; R28, 16(SP)
A45E0018     4818		LDQ	R2, 24(SP)				; R2, 24(SP)
A47E0020     481C		LDQ	R3, 32(SP)				; R3, 32(SP)
A49E0028     4820		LDQ	R4, 40(SP)				; R4, 40(SP)
A4BE0030     4824		LDQ	R5, 48(SP)				; R5, 48(SP)
A4DE0038     4828		LDQ	R6, 56(SP)				; R6, 56(SP)
A4FE0040     482C		LDQ	R7, 64(SP)				; R7, 64(SP)
A51E0048     4830		LDQ	R8, 72(SP)				; R8, 72(SP)
A53E0050     4834		LDQ	R9, 80(SP)				; R9, 80(SP)
A55E0058     4838		LDQ	R10, 88(SP)				; R10, 88(SP)
A57E0060     483C		LDQ	R11, 96(SP)				; R11, 96(SP)
A59E0068     4840		LDQ	R12, 104(SP)				; R12, 104(SP)
A5BE0070     4844		LDQ	R13, 112(SP)				; R13, 112(SP)
A5DE0078     4848		LDQ	R14, 120(SP)				; R14, 120(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 198
V01H                            MFYMOUNT                         2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A5FE0080     484C		LDQ	R15, 128(SP)				; R15, 128(SP)
A7BE0088     4850		LDQ	FP, 136(SP)				; FP, 136(SP)
43D2141E     4854		ADDQ	SP, 144, SP				; SP, 144, SP
6BFC8001     4858		RET	R28					; R28
47FF041F     485C		NOP						; 

Routine Size: 192 bytes,    Routine Base: $$$115_DRIVER + 47A0

	     4860	JT_FORMAT:											    ; 011771
43D2153E     4860		SUBQ	SP, 144, SP				; SP, 144, SP
B77E0000     4864		STQ	R27, (SP)				; R27, (SP)
B75E0010     4868		STQ	R26, 16(SP)				; R26, 16(SP)
B45E0018     486C		STQ	R2, 24(SP)				; R2, 24(SP)
B47E0020     4870		STQ	R3, 32(SP)				; R3, 32(SP)
B49E0028     4874		STQ	R4, 40(SP)				; R4, 40(SP)
B4BE0030     4878		STQ	R5, 48(SP)				; R5, 48(SP)
B4DE0038     487C		STQ	R6, 56(SP)				; R6, 56(SP)
B4FE0040     4880		STQ	R7, 64(SP)				; R7, 64(SP)
B51E0048     4884		STQ	R8, 72(SP)				; R8, 72(SP)
B53E0050     4888		STQ	R9, 80(SP)				; R9, 80(SP)
B55E0058     488C		STQ	R10, 88(SP)				; R10, 88(SP)
B57E0060     4890		STQ	R11, 96(SP)				; R11, 96(SP)
B59E0068     4894		STQ	R12, 104(SP)				; R12, 104(SP)
B5BE0070     4898		STQ	R13, 112(SP)				; R13, 112(SP)
47FB040D     489C		MOV	R27, R13				; R27, R13
B5DE0078     48A0		STQ	R14, 120(SP)				; R14, 120(SP)
B5FE0080     48A4		STQ	R15, 128(SP)				; R15, 128(SP)
B7BE0088     48A8		STQ	FP, 136(SP)				; FP, 136(SP)
47FE041D     48AC		MOV	SP, FP					; SP, FP
B7FE0008     48B0		STQ	R31, 8(SP)				; R31, 8(SP)
	     48B4	$L53:
43F00003     48B4		SEXTL	R16, R3					; R16, R3
43F20005     48B8		SEXTL	R18, R5					; R18, R5
A3830060     48BC		LDL	R28, 96(R3)				; R28, 96(R3)				    ; 011774
481F9620     48C0		ZAPNOT	R0, 252, R0				; R0, 252, R0				    ; 011779
43F10004     48C4		SEXTL	R17, R4					; R17, R4				    ; 011771
43F30006     48C8		SEXTL	R19, R6					; R19, R6
B38503B4     48CC		STL	R28, 948(R5)				; R28, 948(R5)				    ; 011774
A3430060     48D0		LDL	R26, 96(R3)				; R26, 96(R3)				    ; 011779
4B4012DA     48D4		EXTWL	R26, 0, R26				; R26, 0, R26
4747F11B     48D8		BIC	R26, 63, R27				; R26, 63, R27
4B661734     48DC		SLL	R27, 48, R20				; R27, 48, R20
441B0400     48E0		BIS	R0, R27, R0				; R0, R27, R0
F680001E     48E4		BNE	R20, 115_20$				; R20, 115_20$				    ; 011781
	     48E8	115_10$:											    ; 011789
A74DFCA8     48E8		LDQ	R26, -856(R13)				; R26, -856(R13)			    ; 011792
47E29400     48EC		BIS	R31, 20, R0				; R31, 20, R0				    ; 011790
A76DFCB0     48F0		LDQ	R27, -848(R13)				; R27, -848(R13)			    ; 011792
47FF0401     48F4		CLR	R1					; R1					    ; 011791
43E00013     48F8		SEXTL	R0, R19					; R0, R19				    ; 011792
43E50012     48FC		SEXTL	R5, R18					; R5, R18
43E40011     4900		SEXTL	R4, R17					; R4, R17
43E30010     4904		SEXTL	R3, R16					; R3, R16
47E09419     4908		BIS	R31, 4, R25				; R31, 4, R25
6B5A4000     490C		JSR	R26, R26				; R26, R26
	     4910	$L54:
47FD041E     4910		MOV	FP, SP					; FP, SP

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 199
V01H                            JT_FORMAT                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A79E0010     4914		LDQ	R28, 16(SP)				; R28, 16(SP)
A45E0018     4918		LDQ	R2, 24(SP)				; R2, 24(SP)
A47E0020     491C		LDQ	R3, 32(SP)				; R3, 32(SP)
A49E0028     4920		LDQ	R4, 40(SP)				; R4, 40(SP)
A4BE0030     4924		LDQ	R5, 48(SP)				; R5, 48(SP)
A4DE0038     4928		LDQ	R6, 56(SP)				; R6, 56(SP)
A4FE0040     492C		LDQ	R7, 64(SP)				; R7, 64(SP)
A51E0048     4930		LDQ	R8, 72(SP)				; R8, 72(SP)
A53E0050     4934		LDQ	R9, 80(SP)				; R9, 80(SP)
A55E0058     4938		LDQ	R10, 88(SP)				; R10, 88(SP)
A57E0060     493C		LDQ	R11, 96(SP)				; R11, 96(SP)
A59E0068     4940		LDQ	R12, 104(SP)				; R12, 104(SP)
A5BE0070     4944		LDQ	R13, 112(SP)				; R13, 112(SP)
A5DE0078     4948		LDQ	R14, 120(SP)				; R14, 120(SP)
A5FE0080     494C		LDQ	R15, 128(SP)				; R15, 128(SP)
A7BE0088     4950		LDQ	FP, 136(SP)				; FP, 136(SP)
43D2141E     4954		ADDQ	SP, 144, SP				; SP, 144, SP
6BFC8001     4958		RET	R28					; R28
47FF041F     495C		NOP						; 
	     4960	115_20$:											    ; 011795
A0030078     4960		LDL	R0, 120(R3)				; R0, 120(R3)				    ; 011800
43E50012     4964		SEXTL	R5, R18					; R5, R18				    ; 011824
A023007C     4968		LDL	R1, 124(R3)				; R1, 124(R3)				    ; 011801
43C0953E     496C		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011824
A74D0028     4970		LDQ	R26, 40(R13)				; R26, 40(R13)
43E40011     4974		SEXTL	R4, R17					; R4, R17
B01E0000     4978		STL	R0, (SP)				; R0, (SP)
43E00013     497C		SEXTL	R0, R19					; R0, R19
A76D0030     4980		LDQ	R27, 48(R13)				; R27, 48(R13)
43E10014     4984		SEXTL	R1, R20					; R1, R20
43E30010     4988		SEXTL	R3, R16					; R3, R16
43C1953E     498C		SUBQ	SP, 12, SP				; SP, 12, SP
47E0B419     4990		BIS	R31, 5, R25				; R31, 5, R25
6B5A4000     4994		JSR	R26, R26				; R26, R26
43C1941E     4998		ADDQ	SP, 12, SP				; SP, 12, SP
E0000050     499C		BLBC	R0, $L113				; R0, $L113
	     49A0	115_30073$:
A0230044     49A0		LDL	R1, 68(R3)				; R1, 68(R3)
47FF0402     49A4		CLR	R2					; R2
A01E0000     49A8		LDL	R0, (SP)				; R0, (SP)
43C5953E     49AC		SUBQ	SP, 44, SP				; SP, 44, SP
B17E002C     49B0		STL	R11, 44(SP)				; R11, 44(SP)				    ; 011827
B15E0028     49B4		STL	R10, 40(SP)				; R10, 40(SP)
B13E0024     49B8		STL	R9, 36(SP)				; R9, 36(SP)
B11E0020     49BC		STL	R8, 32(SP)				; R8, 32(SP)
B0FE001C     49C0		STL	R7, 28(SP)				; R7, 28(SP)
B0DE0018     49C4		STL	R6, 24(SP)				; R6, 24(SP)
B0BE0014     49C8		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     49CC		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     49D0		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     49D4		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     49D8		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     49DC		STL	R0, (SP)				; R0, (SP)
A0030078     49E0		LDL	R0, 120(R3)				; R0, 120(R3)				    ; 011831
A0E00000     49E4		LDL	R7, (R0)				; R7, (R0)				    ; 011833
40009400     49E8		ADDQ	R0, 4, R0				; R0, 4, R0
ECE0002E     49EC		BLE	R7, 115_100$				; R7, 115_100$				    ; 011834

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 200
V01H                            JT_FORMAT                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

40E05534     49F0		SUBQ	R7, 2, R20				; R7, 2, R20				    ; 011835
FE80002C     49F4		BGT	R20, 115_100$				; R20, 115_100$				    ; 011836
A72DFC10     49F8		LDQ	R25, -1008(R13)				; R25, -1008(R13)			    ; 011837
A2D90080     49FC		LDL	R22, 128(R25)				; R22, 128(R25)
43301418     4A00		ADDQ	R25, 128, R24				; R25, 128, R24
42C03016     4A04		ADDL	R22, 1, R22				; R22, 1, R22
B2D90080     4A08		STL	R22, 128(R25)				; R22, 128(R25)
A0C00000     4A0C		LDL	R6, (R0)				; R6, (R0)				    ; 011838
40009400     4A10		ADDQ	R0, 4, R0				; R0, 4, R0
ECC00002     4A14		BLE	R6, 115_70$				; R6, 115_70$				    ; 011839
A78DFC10     4A18		LDQ	R28, -1008(R13)				; R28, -1008(R13)			    ; 011840
B3FC0080     4A1C		STL	R31, 128(R28)				; R31, 128(R28)
	     4A20	115_70$:											    ; 011841
B0050264     4A20		STL	R0, 612(R5)				; R0, 612(R5)				    ; 011842
20250260     4A24		LDA	R1, 608(R5)				; R1, 608(R5)				    ; 011852
A323007C     4A28		LDL	R25, 124(R3)				; R25, 124(R3)				    ; 011848
43211138     4A2C		SUBL	R25, 8, R24				; R25, 8, R24
B3050260     4A30		STL	R24, 608(R5)				; R24, 608(R5)
EF00001C     4A34		BLE	R24, 115_100$				; R24, 115_100$				    ; 011851
A74DFE08     4A38		LDQ	R26, -504(R13)				; R26, -504(R13)			    ; 011853
A76DFE10     4A3C		LDQ	R27, -496(R13)				; R27, -496(R13)
6B5A4000     4A40		JSR	R26, R26				; R26, R26
F0000030     4A44		BLBS	R0, 115_30$				; R0, 115_30$				    ; 011854
A07E000C     4A48		LDL	R3, 12(SP)				; R3, 12(SP)				    ; 011856
47E09419     4A4C		BIS	R31, 4, R25				; R31, 4, R25				    ; 011859
A09E0010     4A50		LDL	R4, 16(SP)				; R4, 16(SP)				    ; 011856
A0BE0014     4A54		LDL	R5, 20(SP)				; R5, 20(SP)
A74DFCA8     4A58		LDQ	R26, -856(R13)				; R26, -856(R13)			    ; 011859
43E30010     4A5C		SEXTL	R3, R16					; R3, R16
A01E0000     4A60		LDL	R0, (SP)				; R0, (SP)				    ; 011856
201F090A     4A64		LDA	R0, 2314(R31)				; R0, 2314(R31)				    ; 011857
A03E0004     4A68		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 011856
47FF0401     4A6C		CLR	R1					; R1					    ; 011858
A05E0008     4A70		LDL	R2, 8(SP)				; R2, 8(SP)				    ; 011856
43E00013     4A74		SEXTL	R0, R19					; R0, R19				    ; 011859
A0DE0018     4A78		LDL	R6, 24(SP)				; R6, 24(SP)				    ; 011856
43E50012     4A7C		SEXTL	R5, R18					; R5, R18				    ; 011859
A0FE001C     4A80		LDL	R7, 28(SP)				; R7, 28(SP)				    ; 011856
43E40011     4A84		SEXTL	R4, R17					; R4, R17				    ; 011859
A11E0020     4A88		LDL	R8, 32(SP)				; R8, 32(SP)				    ; 011856
A13E0024     4A8C		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     4A90		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     4A94		LDL	R11, 44(SP)				; R11, 44(SP)
A76DFCB0     4A98		LDQ	R27, -848(R13)				; R27, -848(R13)			    ; 011859
43C6141E     4A9C		ADDQ	SP, 48, SP				; SP, 48, SP				    ; 011856
6B5A4000     4AA0		JSR	R26, R26				; R26, R26				    ; 011859
C3FFFF9A     4AA4		BR	$L54					; $L54
	     4AA8	115_100$:											    ; 011787
A01E0000     4AA8		LDL	R0, (SP)				; R0, (SP)				    ; 011788
A03E0004     4AAC		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     4AB0		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     4AB4		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     4AB8		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     4ABC		LDL	R5, 20(SP)				; R5, 20(SP)
A0DE0018     4AC0		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     4AC4		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     4AC8		LDL	R8, 32(SP)				; R8, 32(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 201
V01H                            JT_FORMAT                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A13E0024     4ACC		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     4AD0		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     4AD4		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     4AD8		ADDQ	SP, 48, SP				; SP, 48, SP
C3FFFF82     4ADC		BR	115_10$					; 115_10$				    ; 011789
	     4AE0	$L113:												    ; 011824
A74DFCA8     4AE0		LDQ	R26, -856(R13)				; R26, -856(R13)
43C0941E     4AE4		ADDQ	SP, 4, SP				; SP, 4, SP
A76DFCB0     4AE8		LDQ	R27, -848(R13)				; R27, -848(R13)
43E00013     4AEC		SEXTL	R0, R19					; R0, R19
43E50012     4AF0		SEXTL	R5, R18					; R5, R18
43E40011     4AF4		SEXTL	R4, R17					; R4, R17
43E30010     4AF8		SEXTL	R3, R16					; R3, R16
47E09419     4AFC		BIS	R31, 4, R25				; R31, 4, R25
6B5A4000     4B00		JSR	R26, R26				; R26, R26
C3FFFF82     4B04		BR	$L54					; $L54
	     4B08	115_30$:											    ; 011862
40E03534     4B08		SUBQ	R7, 1, R20				; R7, 1, R20				    ; 011866
43E1000B     4B0C		SEXTL	R1, R11					; R1, R11				    ; 011865
E680001D     4B10		BEQ	R20, $L114				; R20, $L114				    ; 011867
	     4B14	115_31$:											    ; 011870
A2C50384     4B14		LDL	R22, 900(R5)				; R22, 900(R5)				    ; 011872
41AB141B     4B18		ADDQ	R13, 88, R27				; R13, 88, R27				    ; 011874
41760534     4B1C		SUBQ	R11, R22, R20				; R11, R22, R20				    ; 011872
F6800001     4B20		BNE	R20, 115_32$				; R20, 115_32$				    ; 011873
D34000FA     4B24		BSR	R26, UMUNG				; R26, UMUNG				    ; 011874
	     4B28	115_32$:											    ; 011875
A07E000C     4B28		LDL	R3, 12(SP)				; R3, 12(SP)				    ; 011879
47E05419     4B2C		BIS	R31, 2, R25				; R31, 2, R25				    ; 011881
A0BE0014     4B30		LDL	R5, 20(SP)				; R5, 20(SP)				    ; 011879
A74DFEF8     4B34		LDQ	R26, -264(R13)				; R26, -264(R13)			    ; 011881
A01E0000     4B38		LDL	R0, (SP)				; R0, (SP)				    ; 011879
47E03400     4B3C		BIS	R31, 1, R0				; R31, 1, R0				    ; 011880
A03E0004     4B40		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 011879
47FF0401     4B44		CLR	R1					; R1					    ; 011881
A05E0008     4B48		LDL	R2, 8(SP)				; R2, 8(SP)				    ; 011879
43E50011     4B4C		SEXTL	R5, R17					; R5, R17				    ; 011881
A09E0010     4B50		LDL	R4, 16(SP)				; R4, 16(SP)				    ; 011879
43E30010     4B54		SEXTL	R3, R16					; R3, R16				    ; 011881
A0DE0018     4B58		LDL	R6, 24(SP)				; R6, 24(SP)				    ; 011879
A0FE001C     4B5C		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     4B60		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     4B64		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     4B68		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     4B6C		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     4B70		ADDQ	SP, 48, SP				; SP, 48, SP
B0030050     4B74		STL	R0, 80(R3)				; R0, 80(R3)				    ; 011881
A76DFF00     4B78		LDQ	R27, -256(R13)				; R27, -256(R13)
B0230054     4B7C		STL	R1, 84(R3)				; R1, 84(R3)
6B5A4000     4B80		JSR	R26, R26				; R26, R26
C3FFFF62     4B84		BR	$L54					; $L54
	     4B88	$L114:												    ; 011868
41A7141B     4B88		ADDQ	R13, 56, R27				; R13, 56, R27
D3400004     4B8C		BSR	R26, MUNG				; R26, MUNG
C3FFFFE5     4B90		BR	115_32$					; 115_32$				    ; 011869
47FF041F     4B94		NOP						; 
47FF041F     4B98		NOP						; 

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 202
V01H                            JT_FORMAT                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47FF041F     4B9C		NOP						; 

Routine Size: 832 bytes,    Routine Base: $$$115_DRIVER + 4860

	     4BA0	MUNG:												    ; 011883
43CE153E     4BA0		SUBQ	SP, 112, SP				; SP, 112, SP
B75E0008     4BA4		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     4BA8		STQ	R2, 16(SP)				; R2, 16(SP)
B47E0018     4BAC		STQ	R3, 24(SP)				; R3, 24(SP)
B49E0020     4BB0		STQ	R4, 32(SP)				; R4, 32(SP)
B4BE0028     4BB4		STQ	R5, 40(SP)				; R5, 40(SP)
B4DE0030     4BB8		STQ	R6, 48(SP)				; R6, 48(SP)
B4FE0038     4BBC		STQ	R7, 56(SP)				; R7, 56(SP)
B51E0040     4BC0		STQ	R8, 64(SP)				; R8, 64(SP)
B53E0048     4BC4		STQ	R9, 72(SP)				; R9, 72(SP)
B55E0050     4BC8		STQ	R10, 80(SP)				; R10, 80(SP)
B57E0058     4BCC		STQ	R11, 88(SP)				; R11, 88(SP)
B5BE0060     4BD0		STQ	R13, 96(SP)				; R13, 96(SP)
47FB040D     4BD4		MOV	R27, R13				; R27, R13
B5FE0068     4BD8		STQ	R15, 104(SP)				; R15, 104(SP)
A5EDFBD8     4BDC		LDQ	R15, -1064(R13)				; R15, -1064(R13)			    ; 011907
	     4BE0	$L55:												    ; 011883
A3850388     4BE0		LDL	R28, 904(R5)				; R28, 904(R5)				    ; 011894
E7800010     4BE4		BEQ	R28, 116_6$				; R28, 116_6$				    ; 011895
	     4BE8	$L56:												    ; 011896
A79E0008     4BE8		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     4BEC		LDQ	R2, 16(SP)				; R2, 16(SP)
A47E0018     4BF0		LDQ	R3, 24(SP)				; R3, 24(SP)
A49E0020     4BF4		LDQ	R4, 32(SP)				; R4, 32(SP)
A4BE0028     4BF8		LDQ	R5, 40(SP)				; R5, 40(SP)
A4DE0030     4BFC		LDQ	R6, 48(SP)				; R6, 48(SP)
A4FE0038     4C00		LDQ	R7, 56(SP)				; R7, 56(SP)
A51E0040     4C04		LDQ	R8, 64(SP)				; R8, 64(SP)
A53E0048     4C08		LDQ	R9, 72(SP)				; R9, 72(SP)
A55E0050     4C0C		LDQ	R10, 80(SP)				; R10, 80(SP)
A57E0058     4C10		LDQ	R11, 88(SP)				; R11, 88(SP)
A5BE0060     4C14		LDQ	R13, 96(SP)				; R13, 96(SP)
A5FE0068     4C18		LDQ	R15, 104(SP)				; R15, 104(SP)
43CE141E     4C1C		ADDQ	SP, 112, SP				; SP, 112, SP
6BFC8001     4C20		RET	R28					; R28
47FF041F     4C24		NOP						; 
	     4C28	116_6$:												    ; 011897
43C5953E     4C28		SUBQ	SP, 44, SP				; SP, 44, SP				    ; 011898
47E03400     4C2C		BIS	R31, 1, R0				; R31, 1, R0				    ; 011900
B17E0028     4C30		STL	R11, 40(SP)				; R11, 40(SP)				    ; 011898
47E0041B     4C34		MOV	R0, R27					; R0, R27				    ; 011902
B15E0024     4C38		STL	R10, 36(SP)				; R10, 36(SP)				    ; 011898
47E1041A     4C3C		MOV	R1, R26					; R1, R26				    ; 011902
B13E0020     4C40		STL	R9, 32(SP)				; R9, 32(SP)				    ; 011898
B11E001C     4C44		STL	R8, 28(SP)				; R8, 28(SP)
B0FE0018     4C48		STL	R7, 24(SP)				; R7, 24(SP)
B0DE0014     4C4C		STL	R6, 20(SP)				; R6, 20(SP)
43C0953E     4C50		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011902
B0BE0014     4C54		STL	R5, 20(SP)				; R5, 20(SP)				    ; 011898
B09E0010     4C58		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     4C5C		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     4C60		STL	R2, 8(SP)				; R2, 8(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 203
V01H                            MUNG                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B03E0004     4C64		STL	R1, 4(SP)				; R1, 4(SP)
0000000E     4C68		CALL_PAL 14					; 14					    ; 011902
A72DFC08     4C6C		LDQ	R25, -1016(R13)				; R25, -1016(R13)
47FA0401     4C70		MOV	R26, R1					; R26, R1
B01E0000     4C74		STL	R0, (SP)				; R0, (SP)
43C1153E     4C78		SUBQ	SP, 8, SP				; SP, 8, SP
47FB0400     4C7C		MOV	R27, R0					; R27, R0
B41E0000     4C80		STQ	R0, (SP)				; R0, (SP)
A00B0008     4C84		LDL	R0, 8(R11)				; R0, 8(R11)
A3190000     4C88		LDL	R24, (R25)				; R24, (R25)
480070C0     4C8C		EXTBL	R0, 3, R0				; R0, 3, R0
F3000095     4C90		BLBS	R24, $L115				; R24, $L115
	     4C94	116_30075$:
A6EDFC00     4C94		LDQ	R23, -1024(R13)				; R23, -1024(R13)
47E00416     4C98		MOV	R0, R22					; R0, R22
47E1041C     4C9C		MOV	R1, R28					; R1, R28
40170057     4CA0		S4ADDL	R0, R23, R23				; R0, R23, R23
A2170000     4CA4		LDL	R16, (R23)				; R16, (R23)
4603F010     4CA8		AND	R16, 31, R16				; R16, 31, R16
0000000F     4CAC		CALL_PAL 15					; 15
47FC0401     4CB0		MOV	R28, R1					; R28, R1
47F60400     4CB4		MOV	R22, R0					; R22, R0
	     4CB8	116_30076$:
A41E0000     4CB8		LDQ	R0, (SP)				; R0, (SP)
43C1141E     4CBC		ADDQ	SP, 8, SP				; SP, 8, SP
A14B00C0     4CC0		LDL	R10, 192(R11)				; R10, 192(R11)				    ; 011905
236F01B4     4CC4		LDA	R27, 436(R15)				; R27, 436(R15)				    ; 011907
B3650114     4CC8		STL	R27, 276(R5)				; R27, 276(R5)
43FB0009     4CCC		SEXTL	R27, R9					; R27, R9				    ; 011908
A0050074     4CD0		LDL	R0, 116(R5)				; R0, 116(R5)				    ; 011909
480012C0     4CD4		EXTWL	R0, 0, R0				; R0, 0, R0
40090049     4CD8		S4ADDL	R0, R9, R9				; R0, R9, R9				    ; 011910
B1690000     4CDC		STL	R11, (R9)				; R11, (R9)				    ; 011911
A12B0038     4CE0		LDL	R9, 56(R11)				; R9, 56(R11)				    ; 011913
A329000C     4CE4		LDL	R25, 12(R9)				; R25, 12(R9)				    ; 011914
432A0530     4CE8		SUBQ	R25, R10, R16				; R25, R10, R16
E6000007     4CEC		BEQ	R16, 116_1$				; R16, 116_1$				    ; 011915
A2EAFFFC     4CF0		LDL	R23, -4(R10)				; R23, -4(R10)				    ; 011918
26DFF014     4CF4		LDAH	R22, -4076(R31)				; R22, -4076(R31)
22D6F070     4CF8		LDA	R22, -3984(R22)				; R22, -3984(R22)
42F60530     4CFC		SUBQ	R23, R22, R16				; R23, R22, R16
F600007F     4D00		BNE	R16, $L116				; R16, $L116				    ; 011921
	     4D04	116_2$:												    ; 011924
238501BC     4D04		LDA	R28, 444(R5)				; R28, 444(R5)				    ; 011926
B38AFFF4     4D08		STL	R28, -12(R10)				; R28, -12(R10)
	     4D0C	116_1$:												    ; 011929
47E0341A     4D0C		BIS	R31, 1, R26				; R31, 1, R26				    ; 011930
B3450388     4D10		STL	R26, 904(R5)				; R26, 904(R5)
B14501B4     4D14		STL	R10, 436(R5)				; R10, 436(R5)				    ; 011931
B3E501B0     4D18		STL	R31, 432(R5)				; R31, 432(R5)				    ; 011932
	     4D1C	116_3$:												    ; 011933
A74DFCB0     4D1C		LDQ	R26, -848(R13)				; R26, -848(R13)			    ; 011936
43C0953E     4D20		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011934
47EA0412     4D24		MOV	R10, R18				; R10, R18				    ; 011936
B0BE0000     4D28		STL	R5, (SP)				; R5, (SP)				    ; 011934
47EF9411     4D2C		BIS	R31, 124, R17				; R31, 124, R17				    ; 011936
220501BC     4D30		LDA	R16, 444(R5)				; R16, 444(R5)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 204
V01H                            MUNG                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

424F9401     4D34		ADDQ	R18, 124, R1				; R18, 124, R1
6B5A4000     4D38		JSR	R26, R26				; R26, R26
47FF0404     4D3C		CLR	R4					; R4
47FF0402     4D40		CLR	R2					; R2
A0BE0000     4D44		LDL	R5, (SP)				; R5, (SP)				    ; 011937
43C0941E     4D48		ADDQ	SP, 4, SP				; SP, 4, SP
47F00403     4D4C		MOV	R16, R3					; R16, R3				    ; 011936
A74DFCB0     4D50		LDQ	R26, -848(R13)				; R26, -848(R13)			    ; 011957
47FF0400     4D54		CLR	R0					; R0					    ; 011936
B0AF008C     4D58		STL	R5, 140(R15)				; R5, 140(R15)				    ; 011944
A30A0028     4D5C		LDL	R24, 40(R10)				; R24, 40(R10)				    ; 011945
210501BC     4D60		LDA	R8, 444(R5)				; R8, 444(R5)				    ; 011943
B3050380     4D64		STL	R24, 896(R5)				; R24, 896(R5)				    ; 011945
A2E501AC     4D68		LDL	R23, 428(R5)				; R23, 428(R5)				    ; 011946
B2EF0088     4D6C		STL	R23, 136(R15)				; R23, 136(R15)
43C3153E     4D70		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 011950
B17E0014     4D74		STL	R11, 20(SP)				; R11, 20(SP)
B15E0010     4D78		STL	R10, 16(SP)				; R10, 16(SP)
B13E000C     4D7C		STL	R9, 12(SP)				; R9, 12(SP)
21250268     4D80		LDA	R9, 616(R5)				; R9, 616(R5)				    ; 011951
B11E0008     4D84		STL	R8, 8(SP)				; R8, 8(SP)				    ; 011950
47E90410     4D88		MOV	R9, R16					; R9, R16				    ; 011957
B0FE0004     4D8C		STL	R7, 4(SP)				; R7, 4(SP)				    ; 011950
B0DE0000     4D90		STL	R6, (SP)				; R6, (SP)
A0EA0028     4D94		LDL	R7, 40(R10)				; R7, 40(R10)				    ; 011952
43C3153E     4D98		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 011955
B0BE0014     4D9C		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     4DA0		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     4DA4		STL	R3, 12(SP)				; R3, 12(SP)
47E70412     4DA8		MOV	R7, R18					; R7, R18				    ; 011957
B05E0008     4DAC		STL	R2, 8(SP)				; R2, 8(SP)				    ; 011955
B03E0004     4DB0		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     4DB4		STL	R0, (SP)				; R0, (SP)
201F0110     4DB8		LDA	R0, 272(R31)				; R0, 272(R31)				    ; 011956
480012D1     4DBC		EXTWL	R0, 0, R17				; R0, 0, R17				    ; 011957
6B5A4000     4DC0		JSR	R26, R26				; R26, R26
47E8140B     4DC4		BIS	R31, 64, R11				; R31, 64, R11				    ; 011968
A01E0000     4DC8		LDL	R0, (SP)				; R0, (SP)				    ; 011958
A03E0004     4DCC		LDL	R1, 4(SP)				; R1, 4(SP)
41F2140A     4DD0		ADDQ	R15, 144, R10				; R15, 144, R10				    ; 011965
A05E0008     4DD4		LDL	R2, 8(SP)				; R2, 8(SP)				    ; 011958
4141100A     4DD8		ADDL	R10, 8, R10				; R10, 8, R10				    ; 011966
A07E000C     4DDC		LDL	R3, 12(SP)				; R3, 12(SP)				    ; 011958
41211009     4DE0		ADDL	R9, 8, R9				; R9, 8, R9				    ; 011967
A09E0010     4DE4		LDL	R4, 16(SP)				; R4, 16(SP)				    ; 011958
A0BE0014     4DE8		LDL	R5, 20(SP)				; R5, 20(SP)
43C3141E     4DEC		ADDQ	SP, 24, SP				; SP, 24, SP
A50D0018     4DF0		LDQ	R8, 24(R13)				; R8, 24(R13)				    ; 011964
43C0953E     4DF4		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 011970
B0FE0000     4DF8		STL	R7, (SP)				; R7, (SP)
A4ED0010     4DFC		LDQ	R7, 16(R13)				; R7, 16(R13)				    ; 011971
	     4E00	116_75$:											    ; 011973
A22A0000     4E00		LDL	R17, (R10)				; R17, (R10)
42280530     4E04		SUBQ	R17, R8, R16				; R17, R8, R16
E6000003     4E08		BEQ	R16, 116_76$				; R16, 116_76$				    ; 011974
42270530     4E0C		SUBQ	R17, R7, R16				; R17, R7, R16				    ; 011976
E6000001     4E10		BEQ	R16, 116_76$				; R16, 116_76$				    ; 011977

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 205
V01H                            MUNG                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B2290000     4E14		STL	R17, (R9)				; R17, (R9)				    ; 011979
	     4E18	116_76$:											    ; 011982
4160312B     4E18		SUBL	R11, 1, R11				; R11, 1, R11				    ; 011983
41209409     4E1C		ADDQ	R9, 4, R9				; R9, 4, R9				    ; 011982
4140940A     4E20		ADDQ	R10, 4, R10				; R10, 4, R10
FD7FFFF6     4E24		BGT	R11, 116_75$				; R11, 116_75$				    ; 011983
A0FE0000     4E28		LDL	R7, (SP)				; R7, (SP)				    ; 011985
22E50268     4E2C		LDA	R23, 616(R5)				; R23, 616(R5)				    ; 011993
A0DE0004     4E30		LDL	R6, 4(SP)				; R6, 4(SP)				    ; 011991
22C501BC     4E34		LDA	R22, 444(R5)				; R22, 444(R5)				    ; 011998
A0FE0008     4E38		LDL	R7, 8(SP)				; R7, 8(SP)				    ; 011991
A11E000C     4E3C		LDL	R8, 12(SP)				; R8, 12(SP)
A13E0010     4E40		LDL	R9, 16(SP)				; R9, 16(SP)
A15E0014     4E44		LDL	R10, 20(SP)				; R10, 20(SP)
43C0941E     4E48		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 011985
A17E0014     4E4C		LDL	R11, 20(SP)				; R11, 20(SP)				    ; 011991
43C3141E     4E50		ADDQ	SP, 24, SP				; SP, 24, SP
B2E80028     4E54		STL	R23, 40(R8)				; R23, 40(R8)				    ; 011993
B3EF0084     4E58		STL	R31, 132(R15)				; R31, 132(R15)				    ; 011994
B2CB00C0     4E5C		STL	R22, 192(R11)				; R22, 192(R11)				    ; 011998
	     4E60	116_100$:											    ; 012008
A78DFC08     4E60		LDQ	R28, -1016(R13)				; R28, -1016(R13)			    ; 012010
A37C0000     4E64		LDL	R27, (R28)				; R27, (R28)
E360000A     4E68		BLBC	R27, 116_30077$				; R27, 116_30077$
43C1153E     4E6C		SUBQ	SP, 8, SP				; SP, 8, SP
A74DFC20     4E70		LDQ	R26, -992(R13)				; R26, -992(R13)
B41E0000     4E74		STQ	R0, (SP)				; R0, (SP)
A00B0008     4E78		LDL	R0, 8(R11)				; R0, 8(R11)
43C1153E     4E7C		SUBQ	SP, 8, SP				; SP, 8, SP
A76DFC28     4E80		LDQ	R27, -984(R13)				; R27, -984(R13)
480070C0     4E84		EXTBL	R0, 3, R0				; R0, 3, R0
6B5A4000     4E88		JSR	R26, R26				; R26, R26
A41E0008     4E8C		LDQ	R0, 8(SP)				; R0, 8(SP)
43C2141E     4E90		ADDQ	SP, 16, SP				; SP, 16, SP
	     4E94	116_30077$:
A21E0000     4E94		LDL	R16, (SP)				; R16, (SP)
43C0941E     4E98		ADDQ	SP, 4, SP				; SP, 4, SP
47E0041A     4E9C		MOV	R0, R26					; R0, R26
47E10419     4EA0		MOV	R1, R25					; R1, R25
4603F010     4EA4		AND	R16, 31, R16				; R16, 31, R16
0000000F     4EA8		CALL_PAL 15					; 15
A03E0000     4EAC		LDL	R1, (SP)				; R1, (SP)				    ; 012011
47FA0400     4EB0		MOV	R26, R0					; R26, R0				    ; 012010
A05E0004     4EB4		LDL	R2, 4(SP)				; R2, 4(SP)				    ; 012011
A07E0008     4EB8		LDL	R3, 8(SP)				; R3, 8(SP)
A09E000C     4EBC		LDL	R4, 12(SP)				; R4, 12(SP)
A0BE0010     4EC0		LDL	R5, 16(SP)				; R5, 16(SP)
A0DE0014     4EC4		LDL	R6, 20(SP)				; R6, 20(SP)
A0FE0018     4EC8		LDL	R7, 24(SP)				; R7, 24(SP)
A11E001C     4ECC		LDL	R8, 28(SP)				; R8, 28(SP)
A13E0020     4ED0		LDL	R9, 32(SP)				; R9, 32(SP)
A15E0024     4ED4		LDL	R10, 36(SP)				; R10, 36(SP)
A17E0028     4ED8		LDL	R11, 40(SP)				; R11, 40(SP)
43C5941E     4EDC		ADDQ	SP, 44, SP				; SP, 44, SP
C3FFFF41     4EE0		BR	$L56					; $L56					    ; 012012
2FFE0000     4EE4		LNOP						; 
	     4EE8	$L115:												    ; 011902

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 206
V01H                            MUNG                             2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A74DFC10     4EE8		LDQ	R26, -1008(R13)				; R26, -1008(R13)
43C1153E     4EEC		SUBQ	SP, 8, SP				; SP, 8, SP
A76DFC18     4EF0		LDQ	R27, -1000(R13)				; R27, -1000(R13)
6B5A4000     4EF4		JSR	R26, R26				; R26, R26
43C1141E     4EF8		ADDQ	SP, 8, SP				; SP, 8, SP
C3FFFF6E     4EFC		BR	116_30076$				; 116_30076$
	     4F00	$L116:												    ; 011922
47E05400     4F00		BIS	R31, 2, R0				; R31, 2, R0
C3FFFFD6     4F04		BR	116_100$				; 116_100$				    ; 011923
47FF041F     4F08		NOP						; 
47FF041F     4F0C		NOP						; 

Routine Size: 880 bytes,    Routine Base: $$$115_DRIVER + 4BA0

	     4F10	UMUNG:												    ; 012013
43C8153E     4F10		SUBQ	SP, 64, SP				; SP, 64, SP
B75E0000     4F14		STQ	R26, (SP)				; R26, (SP)
B45E0008     4F18		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     4F1C		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     4F20		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     4F24		STQ	R5, 32(SP)				; R5, 32(SP)
B55E0028     4F28		STQ	R10, 40(SP)				; R10, 40(SP)
B57E0030     4F2C		STQ	R11, 48(SP)				; R11, 48(SP)
B5BE0038     4F30		STQ	R13, 56(SP)				; R13, 56(SP)
47FB040D     4F34		MOV	R27, R13				; R27, R13
	     4F38	$L57:
43C1153E     4F38		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 012021
43EB0005     4F3C		SEXTL	R11, R5					; R11, R5				    ; 012022
B03E0004     4F40		STL	R1, 4(SP)				; R1, 4(SP)				    ; 012021
B01E0000     4F44		STL	R0, (SP)				; R0, (SP)
A0250038     4F48		LDL	R1, 56(R5)				; R1, 56(R5)				    ; 012024
A14500C0     4F4C		LDL	R10, 192(R5)				; R10, 192(R5)				    ; 012023
A56DFBC0     4F50		LDQ	R11, -1088(R13)				; R11, -1088(R13)			    ; 012027
A021000C     4F54		LDL	R1, 12(R1)				; R1, 12(R1)				    ; 012025
43EA0000     4F58		SEXTL	R10, R0					; R10, R0				    ; 012026
47E0041B     4F5C		MOV	R0, R27					; R0, R27				    ; 012031
43C0953E     4F60		SUBQ	SP, 4, SP				; SP, 4, SP
47E1041A     4F64		MOV	R1, R26					; R1, R26
0000000E     4F68		CALL_PAL 14					; 14
A70DFBE8     4F6C		LDQ	R24, -1048(R13)				; R24, -1048(R13)
47FA0401     4F70		MOV	R26, R1					; R26, R1
B01E0000     4F74		STL	R0, (SP)				; R0, (SP)
43C1153E     4F78		SUBQ	SP, 8, SP				; SP, 8, SP
47FB0400     4F7C		MOV	R27, R0					; R27, R0
B01E0004     4F80		STL	R0, 4(SP)				; R0, 4(SP)
480094D9     4F84		EXTLL	R0, 4, R25				; R0, 4, R25
B33E0000     4F88		STL	R25, (SP)				; R25, (SP)
A0050008     4F8C		LDL	R0, 8(R5)				; R0, 8(R5)
A2F80000     4F90		LDL	R23, (R24)				; R23, (R24)
480070C0     4F94		EXTBL	R0, 3, R0				; R0, 3, R0
F2E0003F     4F98		BLBS	R23, $L117				; R23, $L117
	     4F9C	117_30079$:
A6CDFBE0     4F9C		LDQ	R22, -1056(R13)				; R22, -1056(R13)
47E1041B     4FA0		MOV	R1, R27					; R1, R27
47E0041C     4FA4		MOV	R0, R28					; R0, R28
40160056     4FA8		S4ADDL	R0, R22, R22				; R0, R22, R22
A2160000     4FAC		LDL	R16, (R22)				; R16, (R22)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 207
V01H                            UMUNG                            2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

4603F010     4FB0		AND	R16, 31, R16				; R16, 31, R16
0000000F     4FB4		CALL_PAL 15					; 15
47FC0400     4FB8		MOV	R28, R0					; R28, R0
47FB0401     4FBC		MOV	R27, R1					; R27, R1
	     4FC0	117_30080$:
A01E0000     4FC0		LDL	R0, (SP)				; R0, (SP)
48009F5A     4FC4		EXTQH	R0, 4, R26				; R0, 4, R26
A01E0004     4FC8		LDL	R0, 4(SP)				; R0, 4(SP)
43C1141E     4FCC		ADDQ	SP, 8, SP				; SP, 8, SP
480014C0     4FD0		EXTLL	R0, 0, R0				; R0, 0, R0
47400400     4FD4		BIS	R26, R0, R0				; R26, R0, R0
	     4FD8	117_2$:												    ; 012032
A30AFFF0     4FD8		LDL	R24, -16(R10)				; R24, -16(R10)
430B0530     4FDC		SUBQ	R24, R11, R16				; R24, R11, R16
E6000033     4FE0		BEQ	R16, 117_1$				; R16, 117_1$				    ; 012034
A2CAFFFC     4FE4		LDL	R22, -4(R10)				; R22, -4(R10)				    ; 012036
279FF014     4FE8		LDAH	R28, -4076(R31)				; R28, -4076(R31)
239CF070     4FEC		LDA	R28, -3984(R28)				; R28, -3984(R28)
42DC0530     4FF0		SUBQ	R22, R28, R16				; R22, R28, R16
F6000002     4FF4		BNE	R16, 117_4$				; R16, 117_4$				    ; 012037
	     4FF8	117_30081$:
A14AFFF8     4FF8		LDL	R10, -8(R10)				; R10, -8(R10)				    ; 012040
E95FFFF6     4FFC		BLT	R10, 117_2$				; R10, 117_2$				    ; 012044
	     5000	117_4$:												    ; 012117
A74DFBE8     5000		LDQ	R26, -1048(R13)				; R26, -1048(R13)			    ; 012118
A33A0000     5004		LDL	R25, (R26)				; R25, (R26)
E3200010     5008		BLBC	R25, 117_30083$				; R25, 117_30083$
43C1153E     500C		SUBQ	SP, 8, SP				; SP, 8, SP
480094D8     5010		EXTLL	R0, 4, R24				; R0, 4, R24
A74DFC00     5014		LDQ	R26, -1024(R13)				; R26, -1024(R13)
B01E0004     5018		STL	R0, 4(SP)				; R0, 4(SP)
B31E0000     501C		STL	R24, (SP)				; R24, (SP)
A0050008     5020		LDL	R0, 8(R5)				; R0, 8(R5)
43C1953E     5024		SUBQ	SP, 12, SP				; SP, 12, SP
A76DFC08     5028		LDQ	R27, -1016(R13)				; R27, -1016(R13)
480070C0     502C		EXTBL	R0, 3, R0				; R0, 3, R0
6B5A4000     5030		JSR	R26, R26				; R26, R26
A01E000C     5034		LDL	R0, 12(SP)				; R0, 12(SP)
48009F57     5038		EXTQH	R0, 4, R23				; R0, 4, R23
A01E0010     503C		LDL	R0, 16(SP)				; R0, 16(SP)
43C2941E     5040		ADDQ	SP, 20, SP				; SP, 20, SP
480014C0     5044		EXTLL	R0, 0, R0				; R0, 0, R0
46E00400     5048		BIS	R23, R0, R0				; R23, R0, R0
	     504C	117_30083$:
A21E0000     504C		LDL	R16, (SP)				; R16, (SP)
47E00416     5050		MOV	R0, R22					; R0, R22
43C0941E     5054		ADDQ	SP, 4, SP				; SP, 4, SP
47E1041C     5058		MOV	R1, R28					; R1, R28
4603F010     505C		AND	R16, 31, R16				; R16, 31, R16
0000000F     5060		CALL_PAL 15					; 15
A01E0000     5064		LDL	R0, (SP)				; R0, (SP)				    ; 012119
A03E0004     5068		LDL	R1, 4(SP)				; R1, 4(SP)
43C1141E     506C		ADDQ	SP, 8, SP				; SP, 8, SP
	     5070	$L58:												    ; 012121
A79E0000     5070		LDQ	R28, (SP)				; R28, (SP)
A45E0008     5074		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     5078		LDQ	R3, 16(SP)				; R3, 16(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 208
V01H                            UMUNG                            2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A49E0018     507C		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     5080		LDQ	R5, 32(SP)				; R5, 32(SP)
A55E0028     5084		LDQ	R10, 40(SP)				; R10, 40(SP)
A57E0030     5088		LDQ	R11, 48(SP)				; R11, 48(SP)
A5BE0038     508C		LDQ	R13, 56(SP)				; R13, 56(SP)
43C8141E     5090		ADDQ	SP, 64, SP				; SP, 64, SP
6BFC8001     5094		RET	R28					; R28
	     5098	$L117:												    ; 012031
A74DFBF0     5098		LDQ	R26, -1040(R13)				; R26, -1040(R13)
43C1953E     509C		SUBQ	SP, 12, SP				; SP, 12, SP
A76DFBF8     50A0		LDQ	R27, -1032(R13)				; R27, -1032(R13)
6B5A4000     50A4		JSR	R26, R26				; R26, R26
43C1941E     50A8		ADDQ	SP, 12, SP				; SP, 12, SP
C3FFFFC4     50AC		BR	117_30080$				; 117_30080$
	     50B0	117_1$:												    ; 012047
A22AFFF4     50B0		LDL	R17, -12(R10)				; R17, -12(R10)				    ; 012050
FA200003     50B4		BGE	R17, 117_3$				; R17, 117_3$				    ; 012051
47F1040B     50B8		MOV	R17, R11				; R17, R11				    ; 012053
A32AFFF8     50BC		LDL	R25, -8(R10)				; R25, -8(R10)				    ; 012054
B32BFFF8     50C0		STL	R25, -8(R11)				; R25, -8(R11)
	     50C4	117_3$:												    ; 012055
A04AFFF8     50C4		LDL	R2, -8(R10)				; R2, -8(R10)				    ; 012058
40410530     50C8		SUBQ	R2, R1, R16				; R2, R1, R16				    ; 012060
E6000002     50CC		BEQ	R16, 117_5$				; R16, 117_5$				    ; 012061
A38AFFF4     50D0		LDL	R28, -12(R10)				; R28, -12(R10)				    ; 012063
B382FFF4     50D4		STL	R28, -12(R2)				; R28, -12(R2)
	     50D8	117_5$:												    ; 012064
208AFE44     50D8		LDA	R4, -444(R10)				; R4, -444(R10)				    ; 012075
A74DFBB8     50DC		LDQ	R26, -1096(R13)				; R26, -1096(R13)			    ; 012073
239F0810     50E0		LDA	R28, 2064(R31)				; R28, 2064(R31)			    ; 012079
A0200028     50E4		LDL	R1, 40(R0)				; R1, 40(R0)				    ; 012072
A2C40088     50E8		LDL	R22, 136(R4)				; R22, 136(R4)				    ; 012079
47FF0403     50EC		CLR	R3					; R3					    ; 012074
43521402     50F0		ADDQ	R26, 144, R2				; R26, 144, R2				    ; 012073
46DC0116     50F4		BIC	R22, R28, R22				; R22, R28, R22				    ; 012079
B2C40088     50F8		STL	R22, 136(R4)				; R22, 136(R4)
47FF041F     50FC		NOP						; 
	     5100	117_6$:												    ; 012083
40220530     5100		SUBQ	R1, R2, R16				; R1, R2, R16
E600000A     5104		BEQ	R16, 117_7$				; R16, 117_7$				    ; 012084
A081FFFC     5108		LDL	R4, -4(R1)				; R4, -4(R1)				    ; 012086
43E10003     510C		SEXTL	R1, R3					; R1, R3				    ; 012085
F8800015     5110		BGE	R4, 117_8$				; R4, 117_8$				    ; 012087
A0240380     5114		LDL	R1, 896(R4)				; R1, 896(R4)				    ; 012088
E83FFFF9     5118		BLT	R1, 117_6$				; R1, 117_6$				    ; 012093
C3E00012     511C		BR	117_8$					; 117_8$				    ; 012092
	     5120	$L118:												    ; 012037
C3FFFFB7     5120		BR	117_4$					; 117_4$
47FF041F     5124		NOP						; 
	     5128	117_30082$:											    ; 012044
C3FFFFAB     5128		BR	117_2$					; 117_2$				    ; 012046
47FF041F     512C		NOP						; 
	     5130	117_7$:												    ; 012094
F860000D     5130		BGE	R3, 117_8$				; R3, 117_8$				    ; 012098
A081FFFC     5134		LDL	R4, -4(R1)				; R4, -4(R1)				    ; 012099
F8800009     5138		BGE	R4, 117_17$				; R4, 117_17$				    ; 012100
A3640380     513C		LDL	R27, 896(R4)				; R27, 896(R4)				    ; 012101

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 209
V01H                            UMUNG                            2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43C0953E     5140		SUBQ	SP, 4, SP				; SP, 4, SP
B37E0000     5144		STL	R27, (SP)				; R27, (SP)
A083FFFC     5148		LDL	R4, -4(R3)				; R4, -4(R3)				    ; 012102
F880000C     514C		BGE	R4, $L119				; R4, $L119				    ; 012103
	     5150	117_18$:											    ; 012106
A35E0000     5150		LDL	R26, (SP)				; R26, (SP)
43C0941E     5154		ADDQ	SP, 4, SP				; SP, 4, SP
B3440380     5158		STL	R26, 896(R4)				; R26, 896(R4)
47FF041F     515C		NOP						; 
	     5160	117_17$:											    ; 012107
A321FFFC     5160		LDL	R25, -4(R1)				; R25, -4(R1)
B323FFFC     5164		STL	R25, -4(R3)				; R25, -4(R3)
	     5168	117_8$:												    ; 012109
41400530     5168		SUBQ	R10, R0, R16				; R10, R0, R16				    ; 012113
F61FFFA4     516C		BNE	R16, 117_4$				; R16, 117_4$				    ; 012114
A2EAFFF8     5170		LDL	R23, -8(R10)				; R23, -8(R10)				    ; 012115
B2E500C0     5174		STL	R23, 192(R5)				; R23, 192(R5)
B3EA01CC     5178		STL	R31, 460(R10)				; R31, 460(R10)				    ; 012116
C3FFFFA0     517C		BR	117_4$					; 117_4$				    ; 012117
	     5180	$L119:												    ; 012104
43C0941E     5180		ADDQ	SP, 4, SP				; SP, 4, SP
C3FFFFF6     5184		BR	117_17$					; 117_17$				    ; 012105
47FF041F     5188		NOP						; 
47FF041F     518C		NOP						; 

Routine Size: 640 bytes,    Routine Base: $$$115_DRIVER + 4F10

	     5190	JT_CTRL_INIT:											    ; 012174
43C8153E     5190		SUBQ	SP, 64, SP				; SP, 64, SP
B77E0000     5194		STQ	R27, (SP)				; R27, (SP)
B75E0008     5198		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     519C		STQ	R2, 16(SP)				; R2, 16(SP)
B49E0018     51A0		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     51A4		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     51A8		STQ	R6, 40(SP)				; R6, 40(SP)
B51E0030     51AC		STQ	R8, 48(SP)				; R8, 48(SP)
B7BE0038     51B0		STQ	FP, 56(SP)				; FP, 56(SP)
47FE041D     51B4		MOV	SP, FP					; SP, FP
	     51B8	$L59:
47E03400     51B8		BIS	R31, 1, R0				; R31, 1, R0
43F00004     51BC		SEXTL	R16, R4					; R16, R4
43F00005     51C0		SEXTL	R16, R5					; R16, R5
43F10006     51C4		SEXTL	R17, R6					; R17, R6
43F20008     51C8		SEXTL	R18, R8					; R18, R8
47E03400     51CC		BIS	R31, 1, R0				; R31, 1, R0				    ; 012176
	     51D0	$L60:												    ; 012177
47FD041E     51D0		MOV	FP, SP					; FP, SP
A79E0008     51D4		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     51D8		LDQ	R2, 16(SP)				; R2, 16(SP)
A49E0018     51DC		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     51E0		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     51E4		LDQ	R6, 40(SP)				; R6, 40(SP)
A51E0030     51E8		LDQ	R8, 48(SP)				; R8, 48(SP)
A7BE0038     51EC		LDQ	FP, 56(SP)				; FP, 56(SP)
43C8141E     51F0		ADDQ	SP, 64, SP				; SP, 64, SP
6BFC8001     51F4		RET	R28					; R28
47FF041F     51F8		NOP						; 

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 210
V01H                            JT_CTRL_INIT                     2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47FF041F     51FC		NOP						; 

Routine Size: 112 bytes,    Routine Base: $$$115_DRIVER + 5190

	     5200	JT_UNIT_INIT:											    ; 012239
43CA153E     5200		SUBQ	SP, 80, SP				; SP, 80, SP
B77E0000     5204		STQ	R27, (SP)				; R27, (SP)
B75E0018     5208		STQ	R26, 24(SP)				; R26, 24(SP)
B45E0020     520C		STQ	R2, 32(SP)				; R2, 32(SP)
B47E0028     5210		STQ	R3, 40(SP)				; R3, 40(SP)
B49E0030     5214		STQ	R4, 48(SP)				; R4, 48(SP)
B4BE0038     5218		STQ	R5, 56(SP)				; R5, 56(SP)
B5BE0040     521C		STQ	R13, 64(SP)				; R13, 64(SP)
B7BE0048     5220		STQ	FP, 72(SP)				; FP, 72(SP)
47FB040D     5224		MOV	R27, R13				; R27, R13
B7FE0008     5228		STQ	R31, 8(SP)				; R31, 8(SP)
47FE041D     522C		MOV	SP, FP					; SP, FP
	     5230	$L61:
43F10005     5230		SEXTL	R17, R5					; R17, R5
A6ED0020     5234		LDQ	R23, 32(R13)				; R23, 32(R13)				    ; 012266
239F2000     5238		LDA	R28, 8192(R31)				; R28, 8192(R31)			    ; 012245
B3850108     523C		STL	R28, 264(R5)				; R28, 264(R5)
A3250058     5240		LDL	R25, 88(R5)				; R25, 88(R5)				    ; 012246
47F9141A     5244		BIS	R31, 200, R26				; R31, 200, R26
271FB22D     5248		LDAH	R24, -19923(R31)			; R24, -19923(R31)			    ; 012252
23184001     524C		LDA	R24, 16385(R24)				; R24, 16385(R24)
473FF119     5250		BIC	R25, 255, R25				; R25, 255, R25				    ; 012246
473A0419     5254		BIS	R25, R26, R25				; R25, R26, R25
B3250058     5258		STL	R25, 88(R5)				; R25, 88(R5)
47F03416     525C		BIS	R31, 129, R22				; R31, 129, R22				    ; 012255
B3E50388     5260		STL	R31, 904(R5)				; R31, 904(R5)				    ; 012247
4AC0317B     5264		INSBL	R22, 1, R27				; R22, 1, R27				    ; 012255
B30500CC     5268		STL	R24, 204(R5)				; R24, 204(R5)				    ; 012252
47E03400     526C		BIS	R31, 1, R0				; R31, 1, R0				    ; 012239
A3850058     5270		LDL	R28, 88(R5)				; R28, 88(R5)				    ; 012255
43F00004     5274		SEXTL	R16, R4					; R16, R4				    ; 012239
A72DFB88     5278		LDQ	R25, -1144(R13)				; R25, -1144(R13)			    ; 012263
A74DFB90     527C		LDQ	R26, -1136(R13)				; R26, -1136(R13)			    ; 012256
4B80305C     5280		MSKBL	R28, 1, R28				; R28, 1, R28				    ; 012255
A6CD0028     5284		LDQ	R22, 40(R13)				; R22, 40(R13)				    ; 012267
231901B4     5288		LDA	R24, 436(R25)				; R24, 436(R25)				    ; 012263
479B041C     528C		BIS	R28, R27, R28				; R28, R27, R28				    ; 012255
B3850058     5290		STL	R28, 88(R5)				; R28, 88(R5)
A78DFEE8     5294		LDQ	R28, -280(R13)				; R28, -280(R13)			    ; 012284
B34501AC     5298		STL	R26, 428(R5)				; R26, 428(R5)				    ; 012256
B3050114     529C		STL	R24, 276(R5)				; R24, 276(R5)				    ; 012263
B2E503AC     52A0		STL	R23, 940(R5)				; R23, 940(R5)				    ; 012266
B2C503B0     52A4		STL	R22, 944(R5)				; R22, 944(R5)				    ; 012267
B3F90080     52A8		STL	R31, 128(R25)				; R31, 128(R25)				    ; 012282
A03C0000     52AC		LDL	R1, (R28)				; R1, (R28)				    ; 012284
A74DFCA0     52B0		LDQ	R26, -864(R13)				; R26, -864(R13)			    ; 012297
43C2153E     52B4		SUBQ	SP, 16, SP				; SP, 16, SP
A76DFCA8     52B8		LDQ	R27, -856(R13)				; R27, -856(R13)
4820B721     52BC		SLL	R1, 5, R1				; R1, 5, R1				    ; 012285
43E10001     52C0		SEXTL	R1, R1					; R1, R1
B03E000C     52C4		STL	R1, 12(SP)				; R1, 12(SP)				    ; 012296
6B5A4000     52C8		JSR	R26, R26				; R26, R26				    ; 012297

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 211
V01H                            JT_UNIT_INIT                     2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A03E000C     52CC		LDL	R1, 12(SP)				; R1, 12(SP)				    ; 012298
43C2141E     52D0		ADDQ	SP, 16, SP				; SP, 16, SP
E000003E     52D4		BLBC	R0, 119_5$				; R0, 119_5$				    ; 012299
43C3153E     52D8		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 012300
A74DFCB0     52DC		LDQ	R26, -848(R13)				; R26, -848(R13)
47E20419     52E0		MOV	R2, R25					; R2, R25
B0BE0014     52E4		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     52E8		STL	R4, 16(SP)				; R4, 16(SP)
482012D1     52EC		EXTWL	R1, 0, R17				; R1, 0, R17
B07E000C     52F0		STL	R3, 12(SP)				; R3, 12(SP)
47E20410     52F4		MOV	R2, R16					; R2, R16
B05E0008     52F8		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     52FC		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     5300		STL	R0, (SP)				; R0, (SP)
47FF0400     5304		CLR	R0					; R0
47F90401     5308		MOV	R25, R1					; R25, R1
6B5A4000     530C		JSR	R26, R26				; R26, R26
A0BE0014     5310		LDL	R5, 20(SP)				; R5, 20(SP)
A74DFCA0     5314		LDQ	R26, -864(R13)				; R26, -864(R13)			    ; 012307
A01E0000     5318		LDL	R0, (SP)				; R0, (SP)				    ; 012300
A03E0004     531C		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     5320		LDL	R2, 8(SP)				; R2, 8(SP)
203F0800     5324		LDA	R1, 2048(R31)				; R1, 2048(R31)				    ; 012306
A07E000C     5328		LDL	R3, 12(SP)				; R3, 12(SP)				    ; 012300
A09E0010     532C		LDL	R4, 16(SP)				; R4, 16(SP)
43C3141E     5330		ADDQ	SP, 24, SP				; SP, 24, SP
B045012C     5334		STL	R2, 300(R5)				; R2, 300(R5)				    ; 012301
A76DFCA8     5338		LDQ	R27, -856(R13)				; R27, -856(R13)			    ; 012307
B3E50240     533C		STL	R31, 576(R5)				; R31, 576(R5)				    ; 012305
6B5A4000     5340		JSR	R26, R26				; R26, R26				    ; 012307
E0000016     5344		BLBC	R0, 119_31$				; R0, 119_31$				    ; 012308
B0450240     5348		STL	R2, 576(R5)				; R2, 576(R5)				    ; 012309
43C3153E     534C		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 012310
A74DFCB0     5350		LDQ	R26, -848(R13)				; R26, -848(R13)
47E20418     5354		MOV	R2, R24					; R2, R24
B0BE0014     5358		STL	R5, 20(SP)				; R5, 20(SP)
482012D1     535C		EXTWL	R1, 0, R17				; R1, 0, R17
B09E0010     5360		STL	R4, 16(SP)				; R4, 16(SP)
47E20410     5364		MOV	R2, R16					; R2, R16
B07E000C     5368		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     536C		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     5370		STL	R1, 4(SP)				; R1, 4(SP)
47F80401     5374		MOV	R24, R1					; R24, R1
B01E0000     5378		STL	R0, (SP)				; R0, (SP)
47FF0400     537C		CLR	R0					; R0
6B5A4000     5380		JSR	R26, R26				; R26, R26
A01E0000     5384		LDL	R0, (SP)				; R0, (SP)
A03E0004     5388		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     538C		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     5390		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     5394		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     5398		LDL	R5, 20(SP)				; R5, 20(SP)
43C3141E     539C		ADDQ	SP, 24, SP				; SP, 24, SP
	     53A0	119_31$:											    ; 012311
47E03400     53A0		BIS	R31, 1, R0				; R31, 1, R0				    ; 012313
2FFE0000     53A4		LNOP						; 
	     53A8	$L62:												    ; 012314

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 212
V01H                            JT_UNIT_INIT                     2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47FD041E     53A8		MOV	FP, SP					; FP, SP
A79E0018     53AC		LDQ	R28, 24(SP)				; R28, 24(SP)
A45E0020     53B0		LDQ	R2, 32(SP)				; R2, 32(SP)
A47E0028     53B4		LDQ	R3, 40(SP)				; R3, 40(SP)
A49E0030     53B8		LDQ	R4, 48(SP)				; R4, 48(SP)
A4BE0038     53BC		LDQ	R5, 56(SP)				; R5, 56(SP)
A5BE0040     53C0		LDQ	R13, 64(SP)				; R13, 64(SP)
A7BE0048     53C4		LDQ	FP, 72(SP)				; FP, 72(SP)
43CA141E     53C8		ADDQ	SP, 80, SP				; SP, 80, SP
6BFC8001     53CC		RET	R28					; R28
	     53D0	119_5$:												    ; 012315
A2C50088     53D0		LDL	R22, 136(R5)				; R22, 136(R5)				    ; 012316
47E03400     53D4		BIS	R31, 1, R0				; R31, 1, R0				    ; 012317
46C21116     53D8		BIC	R22, 16, R22				; R22, 16, R22				    ; 012316
B2C50088     53DC		STL	R22, 136(R5)				; R22, 136(R5)
C3FFFFF1     53E0		BR	$L62					; $L62					    ; 012318
47FF041F     53E4		NOP						; 
47FF041F     53E8		NOP						; 
47FF041F     53EC		NOP						; 

Routine Size: 496 bytes,    Routine Base: $$$115_DRIVER + 5200

	     53F0	FINDLDT:											    ; 012331
43CC153E     53F0		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     53F4		STQ	R26, (SP)				; R26, (SP)
B45E0008     53F8		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     53FC		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     5400		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     5404		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     5408		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     540C		STQ	R7, 48(SP)				; R7, 48(SP)
B51E0038     5410		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     5414		STQ	R9, 64(SP)				; R9, 64(SP)
B55E0048     5418		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     541C		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     5420		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     5424		MOV	R27, R13				; R27, R13
	     5428	$L63:
A78DFBA8     5428		LDQ	R28, -1112(R13)				; R28, -1112(R13)			    ; 012333
47FF0400     542C		CLR	R0					; R0					    ; 012334
A025012C     5430		LDL	R1, 300(R5)				; R1, 300(R5)				    ; 012335
A09C0000     5434		LDL	R4, (R28)				; R4, (R28)				    ; 012333
F820001B     5438		BGE	R1, 120_999$				; R1, 120_999$				    ; 012336
A04400D4     543C		LDL	R2, 212(R4)				; R2, 212(R4)				    ; 012337
484012C2     5440		EXTWL	R2, 0, R2				; R2, 0, R2
4840B722     5444		SLL	R2, 5, R2				; R2, 5, R2				    ; 012338
43E20002     5448		SEXTL	R2, R2					; R2, R2
40410003     544C		ADDL	R2, R1, R3				; R2, R1, R3				    ; 012340
43E30001     5450		SEXTL	R3, R1					; R3, R1				    ; 012341
A3410004     5454		LDL	R26, 4(R1)				; R26, 4(R1)				    ; 012342
E7400025     5458		BEQ	R26, $L120				; R26, $L120				    ; 012343
	     545C	120_3$:												    ; 012346
A3210004     545C		LDL	R25, 4(R1)				; R25, 4(R1)
A30400D4     5460		LDL	R24, 212(R4)				; R24, 212(R4)
43380530     5464		SUBQ	R25, R24, R16				; R25, R24, R16
E6000003     5468		BEQ	R16, 120_5$				; R16, 120_5$				    ; 012347
41A2141B     546C		ADDQ	R13, 16, R27				; R13, 16, R27				    ; 012348

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 213
V01H                            FINDLDT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

D3400023     5470		BSR	R26, FRESLOT				; R26, FRESLOT
B3E10000     5474		STL	R31, (R1)				; R31, (R1)				    ; 012349
	     5478	120_5$:												    ; 012350
A2E400D4     5478		LDL	R23, 212(R4)				; R23, 212(R4)
B2E10004     547C		STL	R23, 4(R1)				; R23, 4(R1)
	     5480	120_10$:											    ; 012351
F8200009     5480		BGE	R1, 120_999$				; R1, 120_999$				    ; 012352
47FF041F     5484		NOP						; 
	     5488	L$3:
A1610000     5488		LDL	R11, (R1)				; R11, (R1)				    ; 012354
F9600006     548C		BGE	R11, 120_999$				; R11, 120_999$				    ; 012355
A2CB0004     5490		LDL	R22, 4(R11)				; R22, 4(R11)				    ; 012356
42C60530     5494		SUBQ	R22, R6, R16				; R22, R6, R16
E6000017     5498		BEQ	R16, 120_800$				; R16, 120_800$				    ; 012357
43EB0001     549C		SEXTL	R11, R1					; R11, R1				    ; 012358
E83FFFF9     54A0		BLT	R1, L$3					; R1, L$3				    ; 012352
47FF041F     54A4		NOP						; 
	     54A8	120_999$:											    ; 012361
443F08C1     54A8		CMOVGE	R1, R31, R1				; R1, R31, R1				    ; 012366
	     54AC	120_997$:											    ; 012367
441F08C0     54AC		CMOVGE	R0, R31, R0				; R0, R31, R0				    ; 012369
	     54B0	120_996$:											    ; 012370
B02503D4     54B0		STL	R1, 980(R5)				; R1, 980(R5)				    ; 012371
	     54B4	$L64:												    ; 012373
A79E0000     54B4		LDQ	R28, (SP)				; R28, (SP)
A45E0008     54B8		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     54BC		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     54C0		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     54C4		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     54C8		LDQ	R6, 40(SP)				; R6, 40(SP)
A4FE0030     54CC		LDQ	R7, 48(SP)				; R7, 48(SP)
A51E0038     54D0		LDQ	R8, 56(SP)				; R8, 56(SP)
A53E0040     54D4		LDQ	R9, 64(SP)				; R9, 64(SP)
A55E0048     54D8		LDQ	R10, 72(SP)				; R10, 72(SP)
A57E0050     54DC		LDQ	R11, 80(SP)				; R11, 80(SP)
A5BE0058     54E0		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     54E4		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     54E8		RET	R28					; R28
2FFE0000     54EC		LNOP						; 
	     54F0	$L120:												    ; 012344
B3E10000     54F0		STL	R31, (R1)				; R31, (R1)
C3FFFFE0     54F4		BR	120_5$					; 120_5$				    ; 012345
	     54F8	120_800$:											    ; 012360
43EB0000     54F8		SEXTL	R11, R0					; R11, R0
C3FFFFEA     54FC		BR	120_999$				; 120_999$				    ; 012361

Routine Size: 272 bytes,    Routine Base: $$$115_DRIVER + 53F0

	     5500	FRESLOT:											    ; 012374
43CC153E     5500		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     5504		STQ	R26, (SP)				; R26, (SP)
B45E0008     5508		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     550C		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     5510		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     5514		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     5518		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     551C		STQ	R7, 48(SP)				; R7, 48(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 214
V01H                            FRESLOT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B51E0038     5520		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     5524		STQ	R9, 64(SP)				; R9, 64(SP)
B55E0048     5528		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     552C		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     5530		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     5534		MOV	R27, R13				; R27, R13
	     5538	$L65:
43C1153E     5538		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 012375
43E1000B     553C		SEXTL	R1, R11					; R1, R11				    ; 012376
B03E0004     5540		STL	R1, 4(SP)				; R1, 4(SP)				    ; 012375
B01E0000     5544		STL	R0, (SP)				; R0, (SP)
A1410000     5548		LDL	R10, (R1)				; R10, (R1)				    ; 012377
	     554C	121_10$:											    ; 012378
E5400008     554C		BEQ	R10, 121_50$				; R10, 121_50$				    ; 012379
	     5550	L$4:
A14A0000     5550		LDL	R10, (R10)				; R10, (R10)				    ; 012380
A74DFC48     5554		LDQ	R26, -952(R13)				; R26, -952(R13)			    ; 012382
A76DFC50     5558		LDQ	R27, -944(R13)				; R27, -944(R13)
A02A0034     555C		LDL	R1, 52(R10)				; R1, 52(R10)				    ; 012381
43C1153E     5560		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 012382
6B5A4000     5564		JSR	R26, R26				; R26, R26
43C1141E     5568		ADDQ	SP, 8, SP				; SP, 8, SP
F55FFFF8     556C		BNE	R10, L$4				; R10, L$4				    ; 012379
	     5570	121_50$:											    ; 012384
43C3153E     5570		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 012385
47E10419     5574		MOV	R1, R25					; R1, R25
B0BE0014     5578		STL	R5, 20(SP)				; R5, 20(SP)
47FFF418     557C		BIS	R31, 255, R24				; R31, 255, R24
B09E0010     5580		STL	R4, 16(SP)				; R4, 16(SP)
4720F004     5584		AND	R25, 7, R4				; R25, 7, R4
B07E000C     5588		STL	R3, 12(SP)				; R3, 12(SP)
4B040724     558C		SLL	R24, R4, R4				; R24, R4, R4
B05E0008     5590		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     5594		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     5598		STL	R0, (SP)				; R0, (SP)
2EF90000     559C		LDQ_U	R23, (R25)				; R23, (R25)
4AE40617     55A0		ZAP	R23, R4, R23				; R23, R4, R23
3EF90000     55A4		STQ_U	R23, (R25)				; R23, (R25)
48811684     55A8		SRL	R4, 8, R4				; R4, 8, R4
3FF90008     55AC		STQ_U	R31, 8(R25)				; R31, 8(R25)
3FF90010     55B0		STQ_U	R31, 16(R25)				; R31, 16(R25)
3FF90018     55B4		STQ_U	R31, 24(R25)				; R31, 24(R25)
E4800003     55B8		BEQ	R4, $L190				; R4, $L190
2EF90020     55BC		LDQ_U	R23, 32(R25)				; R23, 32(R25)
4AE40617     55C0		ZAP	R23, R4, R23				; R23, R4, R23
3EF90020     55C4		STQ_U	R23, 32(R25)				; R23, 32(R25)
	     55C8	$L190:
A01E0000     55C8		LDL	R0, (SP)				; R0, (SP)
A03E0004     55CC		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     55D0		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     55D4		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     55D8		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     55DC		LDL	R5, 20(SP)				; R5, 20(SP)
A01E0018     55E0		LDL	R0, 24(SP)				; R0, 24(SP)				    ; 012386
A03E001C     55E4		LDL	R1, 28(SP)				; R1, 28(SP)
43C4141E     55E8		ADDQ	SP, 32, SP				; SP, 32, SP
	     55EC	$L66:												    ; 012387

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 215
V01H                            FRESLOT                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A79E0000     55EC		LDQ	R28, (SP)				; R28, (SP)
A45E0008     55F0		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     55F4		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     55F8		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     55FC		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     5600		LDQ	R6, 40(SP)				; R6, 40(SP)
A4FE0030     5604		LDQ	R7, 48(SP)				; R7, 48(SP)
A51E0038     5608		LDQ	R8, 56(SP)				; R8, 56(SP)
A53E0040     560C		LDQ	R9, 64(SP)				; R9, 64(SP)
A55E0048     5610		LDQ	R10, 72(SP)				; R10, 72(SP)
A57E0050     5614		LDQ	R11, 80(SP)				; R11, 80(SP)
A5BE0058     5618		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     561C		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     5620		RET	R28					; R28
47FF041F     5624		NOP						; 
47FF041F     5628		NOP						; 
47FF041F     562C		NOP						; 

Routine Size: 304 bytes,    Routine Base: $$$115_DRIVER + 5500

	     5630	JT_ALIGN:											    ; 012417
	     5630	$L67:
47E03400     5630		BIS	R31, 1, R0				; R31, 1, R0				    ; 012419
	     5634	$L68:												    ; 012420
6BFA8001     5634		RET	R26					; R26
47FF041F     5638		NOP						; 
47FF041F     563C		NOP						; 

Routine Size: 16 bytes,    Routine Base: $$$115_DRIVER + 5630

	     5640	JT_STARTIO:											    ; 012480
43C8153E     5640		SUBQ	SP, 64, SP				; SP, 64, SP
B77E0000     5644		STQ	R27, (SP)				; R27, (SP)
B75E0008     5648		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     564C		STQ	R2, 16(SP)				; R2, 16(SP)
B47E0018     5650		STQ	R3, 24(SP)				; R3, 24(SP)
B49E0020     5654		STQ	R4, 32(SP)				; R4, 32(SP)
B4BE0028     5658		STQ	R5, 40(SP)				; R5, 40(SP)
B5BE0030     565C		STQ	R13, 48(SP)				; R13, 48(SP)
B7BE0038     5660		STQ	FP, 56(SP)				; FP, 56(SP)
47FB040D     5664		MOV	R27, R13				; R27, R13
47FE041D     5668		MOV	SP, FP					; SP, FP
	     566C	$L69:
43F10005     566C		SEXTL	R17, R5					; R17, R5
43F00003     5670		SEXTL	R16, R3					; R16, R3
A2450088     5674		LDL	R18, 136(R5)				; R18, 136(R5)				    ; 012488
4642101C     5678		AND	R18, 16, R28				; R18, 16, R28
	     567C	123_210$:											    ; 012492
201F0254     567C		LDA	R0, 596(R31)				; R0, 596(R31)				    ; 012490
	     5680	RESETXFR:											    ; 012501
A0650078     5680		LDL	R3, 120(R5)				; R3, 120(R5)				    ; 012502
	     5684	FUNCXT:												    ; 012505
A74D0028     5684		LDQ	R26, 40(R13)				; R26, 40(R13)				    ; 012533
47FF0401     5688		CLR	R1					; R1					    ; 012506
A76D0030     568C		LDQ	R27, 48(R13)				; R27, 48(R13)				    ; 012533
43E50012     5690		SEXTL	R5, R18					; R5, R18
43E10011     5694		SEXTL	R1, R17					; R1, R17

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 216
V01H                            JT_STARTIO                       2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43E00010     5698		SEXTL	R0, R16					; R0, R16
47E07419     569C		BIS	R31, 3, R25				; R31, 3, R25
6B5A4000     56A0		JSR	R26, R26				; R26, R26
	     56A4	$L70:
47FD041E     56A4		MOV	FP, SP					; FP, SP
A79E0008     56A8		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     56AC		LDQ	R2, 16(SP)				; R2, 16(SP)
A47E0018     56B0		LDQ	R3, 24(SP)				; R3, 24(SP)
A49E0020     56B4		LDQ	R4, 32(SP)				; R4, 32(SP)
A4BE0028     56B8		LDQ	R5, 40(SP)				; R5, 40(SP)
A5BE0030     56BC		LDQ	R13, 48(SP)				; R13, 48(SP)
A7BE0038     56C0		LDQ	FP, 56(SP)				; FP, 56(SP)
43C8141E     56C4		ADDQ	SP, 64, SP				; SP, 64, SP
6BFC8001     56C8		RET	R28					; R28
47FF041F     56CC		NOP						; 

Routine Size: 144 bytes,    Routine Base: $$$115_DRIVER + 5640

	     56D0	JTKAST:												    ; 012548
43CC153E     56D0		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     56D4		STQ	R26, (SP)				; R26, (SP)
B45E0008     56D8		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     56DC		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     56E0		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     56E4		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     56E8		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     56EC		STQ	R7, 48(SP)				; R7, 48(SP)
B51E0038     56F0		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     56F4		STQ	R9, 64(SP)				; R9, 64(SP)
B55E0048     56F8		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     56FC		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     5700		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     5704		MOV	R27, R13				; R27, R13
	     5708	$L71:
43C6153E     5708		SUBQ	SP, 48, SP				; SP, 48, SP				    ; 012550
A74DFBF0     570C		LDQ	R26, -1040(R13)				; R26, -1040(R13)			    ; 012554
A76DFBF8     5710		LDQ	R27, -1032(R13)				; R27, -1032(R13)
B17E002C     5714		STL	R11, 44(SP)				; R11, 44(SP)				    ; 012550
B15E0028     5718		STL	R10, 40(SP)				; R10, 40(SP)
B13E0024     571C		STL	R9, 36(SP)				; R9, 36(SP)
B11E0020     5720		STL	R8, 32(SP)				; R8, 32(SP)
B0FE001C     5724		STL	R7, 28(SP)				; R7, 28(SP)
B0DE0018     5728		STL	R6, 24(SP)				; R6, 24(SP)
B0BE0014     572C		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     5730		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     5734		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     5738		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     573C		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     5740		STL	R0, (SP)				; R0, (SP)
43E50000     5744		SEXTL	R5, R0					; R5, R0				    ; 012552
A1650014     5748		LDL	R11, 20(R5)				; R11, 20(R5)				    ; 012551
47E49401     574C		BIS	R31, 36, R1				; R31, 36, R1				    ; 012553
6B5A4000     5750		JSR	R26, R26				; R26, R26				    ; 012554
A0AB0148     5754		LDL	R5, 328(R11)				; R5, 328(R11)				    ; 012556
236DFB00     5758		LDA	R27, -1280(R13)				; R27, -1280(R13)			    ; 012557
D35FEA94     575C		BSR	R26, GETJTUCB				; R26, GETJTUCB
F8000001     5760		BGE	R0, 126_12$				; R0, 126_12$				    ; 012559

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 217
V01H                            JTKAST                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43E00005     5764		SEXTL	R0, R5					; R0, R5				    ; 012560
	     5768	126_12$:											    ; 012561
B17E0000     5768		STL	R11, (SP)				; R11, (SP)				    ; 012562
41AB141B     576C		ADDQ	R13, 88, R27				; R13, 88, R27				    ; 012565
B0BE0004     5770		STL	R5, 4(SP)				; R5, 4(SP)				    ; 012563
A01E0000     5774		LDL	R0, (SP)				; R0, (SP)				    ; 012564
A03E0004     5778		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     577C		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     5780		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     5784		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     5788		LDL	R5, 20(SP)				; R5, 20(SP)
A0DE0018     578C		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     5790		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     5794		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     5798		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     579C		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     57A0		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     57A4		ADDQ	SP, 48, SP				; SP, 48, SP
D340024D     57A8		BSR	R26, LCLCNT				; R26, LCLCNT				    ; 012565
	     57AC	$L72:												    ; 012566
A79E0000     57AC		LDQ	R28, (SP)				; R28, (SP)
A45E0008     57B0		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     57B4		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     57B8		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     57BC		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     57C0		LDQ	R6, 40(SP)				; R6, 40(SP)
A4FE0030     57C4		LDQ	R7, 48(SP)				; R7, 48(SP)
A51E0038     57C8		LDQ	R8, 56(SP)				; R8, 56(SP)
A53E0040     57CC		LDQ	R9, 64(SP)				; R9, 64(SP)
A55E0048     57D0		LDQ	R10, 72(SP)				; R10, 72(SP)
A57E0050     57D4		LDQ	R11, 80(SP)				; R11, 80(SP)
A5BE0058     57D8		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     57DC		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     57E0		RET	R28					; R28
47FF041F     57E4		NOP						; 
47FF041F     57E8		NOP						; 
47FF041F     57EC		NOP						; 

Routine Size: 288 bytes,    Routine Base: $$$115_DRIVER + 56D0

	     57F0	VCSTP15::											    ; 012570
43D0153E     57F0		SUBQ	SP, 128, SP				; SP, 128, SP
B77E0000     57F4		STQ	R27, (SP)				; R27, (SP)
B75E0018     57F8		STQ	R26, 24(SP)				; R26, 24(SP)
B45E0020     57FC		STQ	R2, 32(SP)				; R2, 32(SP)
B47E0028     5800		STQ	R3, 40(SP)				; R3, 40(SP)
B49E0030     5804		STQ	R4, 48(SP)				; R4, 48(SP)
B4BE0038     5808		STQ	R5, 56(SP)				; R5, 56(SP)
B4DE0040     580C		STQ	R6, 64(SP)				; R6, 64(SP)
B4FE0048     5810		STQ	R7, 72(SP)				; R7, 72(SP)
B51E0050     5814		STQ	R8, 80(SP)				; R8, 80(SP)
B53E0058     5818		STQ	R9, 88(SP)				; R9, 88(SP)
B55E0060     581C		STQ	R10, 96(SP)				; R10, 96(SP)
B57E0068     5820		STQ	R11, 104(SP)				; R11, 104(SP)
B5BE0070     5824		STQ	R13, 112(SP)				; R13, 112(SP)
B7BE0078     5828		STQ	FP, 120(SP)				; FP, 120(SP)
47FB040D     582C		MOV	R27, R13				; R27, R13

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 218
V01H                            VCSTP15                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B7FE0008     5830		STQ	R31, 8(SP)				; R31, 8(SP)
47FE041D     5834		MOV	SP, FP					; SP, FP
	     5838	$L73:
A74DFBF0     5838		LDQ	R26, -1040(R13)				; R26, -1040(R13)			    ; 012575
43F0000B     583C		SEXTL	R16, R11				; R16, R11				    ; 012572
A76DFBF8     5840		LDQ	R27, -1032(R13)				; R27, -1032(R13)			    ; 012575
47E49401     5844		BIS	R31, 36, R1				; R31, 36, R1				    ; 012574
6B5A4000     5848		JSR	R26, R26				; R26, R26				    ; 012575
E0000041     584C		BLBC	R0, 127_999$				; R0, 127_999$				    ; 012576
43C3153E     5850		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 012577
47E20419     5854		MOV	R2, R25					; R2, R25
B0BE0014     5858		STL	R5, 20(SP)				; R5, 20(SP)
231F0FFF     585C		LDA	R24, 4095(R31)				; R24, 4095(R31)
B09E0010     5860		STL	R4, 16(SP)				; R4, 16(SP)
4720F004     5864		AND	R25, 7, R4				; R25, 7, R4
B07E000C     5868		STL	R3, 12(SP)				; R3, 12(SP)
4B040724     586C		SLL	R24, R4, R4				; R24, R4, R4
B05E0008     5870		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     5874		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     5878		STL	R0, (SP)				; R0, (SP)
2EF90000     587C		LDQ_U	R23, (R25)				; R23, (R25)
4AE40617     5880		ZAP	R23, R4, R23				; R23, R4, R23
3EF90000     5884		STQ_U	R23, (R25)				; R23, (R25)
48811684     5888		SRL	R4, 8, R4				; R4, 8, R4
3FF90008     588C		STQ_U	R31, 8(R25)				; R31, 8(R25)
3FF90010     5890		STQ_U	R31, 16(R25)				; R31, 16(R25)
3FF90018     5894		STQ_U	R31, 24(R25)				; R31, 24(R25)
E4800008     5898		BEQ	R4, $L191				; R4, $L191
2EF90020     589C		LDQ_U	R23, 32(R25)				; R23, 32(R25)
4AE40617     58A0		ZAP	R23, R4, R23				; R23, R4, R23
3EF90020     58A4		STQ_U	R23, 32(R25)				; R23, 32(R25)
48811684     58A8		SRL	R4, 8, R4				; R4, 8, R4
E4800003     58AC		BEQ	R4, $L191				; R4, $L191
2EF90028     58B0		LDQ_U	R23, 40(R25)				; R23, 40(R25)
4AE40617     58B4		ZAP	R23, R4, R23				; R23, R4, R23
3EF90028     58B8		STQ_U	R23, 40(R25)				; R23, 40(R25)
	     58BC	$L191:
A05E0008     58BC		LDL	R2, 8(SP)				; R2, 8(SP)
47E29418     58C0		BIS	R31, 20, R24				; R31, 20, R24				    ; 012584
A01E0000     58C4		LDL	R0, (SP)				; R0, (SP)				    ; 012577
A03E0004     58C8		LDL	R1, 4(SP)				; R1, 4(SP)
A07E000C     58CC		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     58D0		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     58D4		LDL	R5, 20(SP)				; R5, 20(SP)
43C3141E     58D8		ADDQ	SP, 24, SP				; SP, 24, SP
A3420008     58DC		LDL	R26, 8(R2)				; R26, 8(R2)				    ; 012578
48201379     58E0		INSWL	R1, 0, R25				; R1, 0, R25
A6EDFB30     58E4		LDQ	R23, -1232(R13)				; R23, -1232(R13)			    ; 012587
43E20005     58E8		SEXTL	R2, R5					; R2, R5				    ; 012580
A6CD0040     58EC		LDQ	R22, 64(R13)				; R22, 64(R13)				    ; 012593
4B40125A     58F0		MSKWL	R26, 0, R26				; R26, 0, R26				    ; 012578
A76D0038     58F4		LDQ	R27, 56(R13)				; R27, 56(R13)				    ; 012598
4759041A     58F8		BIS	R26, R25, R26				; R26, R25, R26				    ; 012578
B3420008     58FC		STL	R26, 8(R2)				; R26, 8(R2)
B1620014     5900		STL	R11, 20(R2)				; R11, 20(R2)				    ; 012579
43C0953E     5904		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012582
47E07402     5908		BIS	R31, 3, R2				; R31, 3, R2				    ; 012597

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 219
V01H                            VCSTP15                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B15E0000     590C		STL	R10, (SP)				; R10, (SP)				    ; 012582
A14B0030     5910		LDL	R10, 48(R11)				; R10, 48(R11)				    ; 012583
B30A03C0     5914		STL	R24, 960(R10)				; R24, 960(R10)				    ; 012584
47F01418     5918		BIS	R31, 128, R24				; R31, 128, R24				    ; 012596
A15E0000     591C		LDL	R10, (SP)				; R10, (SP)				    ; 012585
43C0941E     5920		ADDQ	SP, 4, SP				; SP, 4, SP
A0970000     5924		LDL	R4, (R23)				; R4, (R23)				    ; 012587
B2C50020     5928		STL	R22, 32(R5)				; R22, 32(R5)				    ; 012593
4B007176     592C		INSBL	R24, 3, R22				; R24, 3, R22				    ; 012596
A34400D4     5930		LDL	R26, 212(R4)				; R26, 212(R4)				    ; 012594
B345000C     5934		STL	R26, 12(R5)				; R26, 12(R5)
B3E50010     5938		STL	R31, 16(R5)				; R31, 16(R5)				    ; 012595
A2E50008     593C		LDL	R23, 8(R5)				; R23, 8(R5)				    ; 012596
A74D0030     5940		LDQ	R26, 48(R13)				; R26, 48(R13)				    ; 012598
4AE07057     5944		MSKBL	R23, 3, R23				; R23, 3, R23				    ; 012596
46F60417     5948		BIS	R23, R22, R23				; R23, R22, R23
B2E50008     594C		STL	R23, 8(R5)				; R23, 8(R5)
6B5A4000     5950		JSR	R26, R26				; R26, R26				    ; 012598
	     5954	127_999$:											    ; 012599
A74DFB60     5954		LDQ	R26, -1184(R13)				; R26, -1184(R13)			    ; 012600
47E3F410     5958		BIS	R31, 31, R16				; R31, 31, R16				    ; 012599
A76DFB68     595C		LDQ	R27, -1176(R13)				; R27, -1176(R13)			    ; 012600
47E03419     5960		BIS	R31, 1, R25				; R31, 1, R25
6B5A4000     5964		JSR	R26, R26				; R26, R26
47E03400     5968		BIS	R31, 1, R0				; R31, 1, R0				    ; 012601
	     596C	$L74:												    ; 012602
47FD041E     596C		MOV	FP, SP					; FP, SP
A79E0018     5970		LDQ	R28, 24(SP)				; R28, 24(SP)
A45E0020     5974		LDQ	R2, 32(SP)				; R2, 32(SP)
A47E0028     5978		LDQ	R3, 40(SP)				; R3, 40(SP)
A49E0030     597C		LDQ	R4, 48(SP)				; R4, 48(SP)
A4BE0038     5980		LDQ	R5, 56(SP)				; R5, 56(SP)
A4DE0040     5984		LDQ	R6, 64(SP)				; R6, 64(SP)
A4FE0048     5988		LDQ	R7, 72(SP)				; R7, 72(SP)
A51E0050     598C		LDQ	R8, 80(SP)				; R8, 80(SP)
A53E0058     5990		LDQ	R9, 88(SP)				; R9, 88(SP)
A55E0060     5994		LDQ	R10, 96(SP)				; R10, 96(SP)
A57E0068     5998		LDQ	R11, 104(SP)				; R11, 104(SP)
A5BE0070     599C		LDQ	R13, 112(SP)				; R13, 112(SP)
A7BE0078     59A0		LDQ	FP, 120(SP)				; FP, 120(SP)
43D0141E     59A4		ADDQ	SP, 128, SP				; SP, 128, SP
6BFC8001     59A8		RET	R28					; R28
47FF041F     59AC		NOP						; 

Routine Size: 448 bytes,    Routine Base: $$$115_DRIVER + 57F0

	     59B0	STP2BAD:											    ; 012609
43CC153E     59B0		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     59B4		STQ	R26, (SP)				; R26, (SP)
B45E0008     59B8		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     59BC		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     59C0		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     59C4		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     59C8		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     59CC		STQ	R7, 48(SP)				; R7, 48(SP)
B51E0038     59D0		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     59D4		STQ	R9, 64(SP)				; R9, 64(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 220
V01H                            STP2BAD                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B55E0048     59D8		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     59DC		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     59E0		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     59E4		MOV	R27, R13				; R27, R13
	     59E8	$L75:
43C6153E     59E8		SUBQ	SP, 48, SP				; SP, 48, SP				    ; 012610
B17E002C     59EC		STL	R11, 44(SP)				; R11, 44(SP)
B15E0028     59F0		STL	R10, 40(SP)				; R10, 40(SP)
43E0000B     59F4		SEXTL	R0, R11					; R0, R11				    ; 012611
B13E0024     59F8		STL	R9, 36(SP)				; R9, 36(SP)				    ; 012610
B11E0020     59FC		STL	R8, 32(SP)				; R8, 32(SP)
B0FE001C     5A00		STL	R7, 28(SP)				; R7, 28(SP)
B0DE0018     5A04		STL	R6, 24(SP)				; R6, 24(SP)
B0BE0014     5A08		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     5A0C		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     5A10		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     5A14		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     5A18		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     5A1C		STL	R0, (SP)				; R0, (SP)
C3E0003B     5A20		BR	V2CMN					; V2CMN					    ; 012612
47FF041F     5A24		NOP						; 
47FF041F     5A28		NOP						; 
47FF041F     5A2C		NOP						; 

Routine Size: 128 bytes,    Routine Base: $$$115_DRIVER + 59B0

	     5A30	VCSTEP2:											    ; 012613
43CC153E     5A30		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     5A34		STQ	R26, (SP)				; R26, (SP)
B45E0008     5A38		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     5A3C		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     5A40		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     5A44		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     5A48		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     5A4C		STQ	R7, 48(SP)				; R7, 48(SP)
B51E0038     5A50		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     5A54		STQ	R9, 64(SP)				; R9, 64(SP)
B55E0048     5A58		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     5A5C		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     5A60		STQ	R13, 88(SP)				; R13, 88(SP)
436D152D     5A64		SUBQ	R27, 104, R13				; R27, 104, R13
	     5A68	$L77:
43C6153E     5A68		SUBQ	SP, 48, SP				; SP, 48, SP				    ; 012614
A74DFA38     5A6C		LDQ	R26, -1480(R13)				; R26, -1480(R13)			    ; 012616
A76DFA40     5A70		LDQ	R27, -1472(R13)				; R27, -1472(R13)
47E3F410     5A74		BIS	R31, 31, R16				; R31, 31, R16				    ; 012615
B17E002C     5A78		STL	R11, 44(SP)				; R11, 44(SP)				    ; 012614
47E03419     5A7C		BIS	R31, 1, R25				; R31, 1, R25				    ; 012616
B15E0028     5A80		STL	R10, 40(SP)				; R10, 40(SP)				    ; 012614
B13E0024     5A84		STL	R9, 36(SP)				; R9, 36(SP)
B11E0020     5A88		STL	R8, 32(SP)				; R8, 32(SP)
B0FE001C     5A8C		STL	R7, 28(SP)				; R7, 28(SP)
B0DE0018     5A90		STL	R6, 24(SP)				; R6, 24(SP)
B0BE0014     5A94		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     5A98		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     5A9C		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     5AA0		STL	R2, 8(SP)				; R2, 8(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 221
V01H                            VCSTEP2                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B03E0004     5AA4		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     5AA8		STL	R0, (SP)				; R0, (SP)
6B5A4000     5AAC		JSR	R26, R26				; R26, R26				    ; 012616
A1650014     5AB0		LDL	R11, 20(R5)				; R11, 20(R5)				    ; 012617
43C3953E     5AB4		SUBQ	SP, 28, SP				; SP, 28, SP				    ; 012619
A74DFAB8     5AB8		LDQ	R26, -1352(R13)				; R26, -1352(R13)			    ; 012622
A76DFAC0     5ABC		LDQ	R27, -1344(R13)				; R27, -1344(R13)
B17E0018     5AC0		STL	R11, 24(SP)				; R11, 24(SP)				    ; 012619
B0BE0014     5AC4		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     5AC8		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     5ACC		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     5AD0		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     5AD4		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     5AD8		STL	R0, (SP)				; R0, (SP)
43E50000     5ADC		SEXTL	R5, R0					; R5, R0				    ; 012620
47E49401     5AE0		BIS	R31, 36, R1				; R31, 36, R1				    ; 012621
43C0953E     5AE4		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012622
6B5A4000     5AE8		JSR	R26, R26				; R26, R26
A01E0004     5AEC		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 012623
A03E0008     5AF0		LDL	R1, 8(SP)				; R1, 8(SP)
A05E000C     5AF4		LDL	R2, 12(SP)				; R2, 12(SP)
A07E0010     5AF8		LDL	R3, 16(SP)				; R3, 16(SP)
A09E0014     5AFC		LDL	R4, 20(SP)				; R4, 20(SP)
43C0941E     5B00		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 012622
A0BE0014     5B04		LDL	R5, 20(SP)				; R5, 20(SP)				    ; 012623
A17E0018     5B08		LDL	R11, 24(SP)				; R11, 24(SP)
43C3941E     5B0C		ADDQ	SP, 28, SP				; SP, 28, SP
	     5B10	V2CMN:												    ; 012624
E960001D     5B10		BLT	R11, VCZ				; R11, VCZ				    ; 012625
47FF041F     5B14		NOP						; 
	     5B18	VCX:												    ; 012626
A01E0000     5B18		LDL	R0, (SP)				; R0, (SP)
A03E0004     5B1C		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     5B20		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     5B24		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     5B28		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     5B2C		LDL	R5, 20(SP)				; R5, 20(SP)
A0DE0018     5B30		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     5B34		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     5B38		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     5B3C		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     5B40		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     5B44		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     5B48		ADDQ	SP, 48, SP				; SP, 48, SP
2FFE0000     5B4C		LNOP						; 
	     5B50	$L78:												    ; 012627
A79E0000     5B50		LDQ	R28, (SP)				; R28, (SP)
A45E0008     5B54		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     5B58		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     5B5C		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     5B60		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     5B64		LDQ	R6, 40(SP)				; R6, 40(SP)
A4FE0030     5B68		LDQ	R7, 48(SP)				; R7, 48(SP)
A51E0038     5B6C		LDQ	R8, 56(SP)				; R8, 56(SP)
A53E0040     5B70		LDQ	R9, 64(SP)				; R9, 64(SP)
A55E0048     5B74		LDQ	R10, 72(SP)				; R10, 72(SP)
A57E0050     5B78		LDQ	R11, 80(SP)				; R11, 80(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 222
V01H                            VCSTEP2                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A5BE0058     5B7C		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     5B80		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     5B84		RET	R28					; R28
	     5B88	VCZ:												    ; 012628
43C0953E     5B88		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012631
47E2B41C     5B8C		BIS	R31, 21, R28				; R31, 21, R28				    ; 012633
B15E0000     5B90		STL	R10, (SP)				; R10, (SP)				    ; 012631
236DF9C8     5B94		LDA	R27, -1592(R13)				; R27, -1592(R13)			    ; 012638
A14B0030     5B98		LDL	R10, 48(R11)				; R10, 48(R11)				    ; 012632
B38A03C0     5B9C		STL	R28, 960(R10)				; R28, 960(R10)				    ; 012633
A15E0000     5BA0		LDL	R10, (SP)				; R10, (SP)				    ; 012634
43C0941E     5BA4		ADDQ	SP, 4, SP				; SP, 4, SP
A06B0140     5BA8		LDL	R3, 320(R11)				; R3, 320(R11)				    ; 012636
A0AB0148     5BAC		LDL	R5, 328(R11)				; R5, 328(R11)				    ; 012637
D35FE97F     5BB0		BSR	R26, GETJTUCB				; R26, GETJTUCB				    ; 012638
E41FFFD8     5BB4		BEQ	R0, VCX					; R0, VCX				    ; 012640
43E00005     5BB8		SEXTL	R0, R5					; R0, R5				    ; 012641
A6CDF9B0     5BBC		LDQ	R22, -1616(R13)				; R22, -1616(R13)			    ; 012701
212B01D8     5BC0		LDA	R9, 472(R11)				; R9, 472(R11)				    ; 012643
A70DFA08     5BC4		LDQ	R24, -1528(R13)				; R24, -1528(R13)			    ; 012779
47E2D419     5BC8		BIS	R31, 22, R25				; R31, 22, R25				    ; 012642
B32503C0     5BCC		STL	R25, 960(R5)				; R25, 960(R5)
A3890000     5BD0		LDL	R28, (R9)				; R28, (R9)				    ; 012644
A6EDFB08     5BD4		LDQ	R23, -1272(R13)				; R23, -1272(R13)			    ; 012751
E7800005     5BD8		BEQ	R28, 132_15$				; R28, 132_15$				    ; 012645
	     5BDC	132_30084$:
47E2F41B     5BDC		BIS	R31, 23, R27				; R31, 23, R27				    ; 012646
B36503C0     5BE0		STL	R27, 960(R5)				; R27, 960(R5)
A14B03F8     5BE4		LDL	R10, 1016(R11)				; R10, 1016(R11)			    ; 012649
F540007B     5BE8		BNE	R10, 132_30085$				; R10, 132_30085$			    ; 012650
47FF041F     5BEC		NOP						; 
	     5BF0	132_15$:											    ; 012673
47E33419     5BF0		BIS	R31, 25, R25				; R31, 25, R25				    ; 012674
B32503C0     5BF4		STL	R25, 960(R5)				; R25, 960(R5)
A3850128     5BF8		LDL	R28, 296(R5)				; R28, 296(R5)				    ; 012675
26BF0001     5BFC		LDAH	R21, 1(R31)				; R21, 1(R31)
20EB0190     5C00		LDA	R7, 400(R11)				; R7, 400(R11)				    ; 012673
22B58000     5C04		LDA	R21, -32768(R21)			; R21, -32768(R21)			    ; 012675
47950010     5C08		AND	R28, R21, R16				; R28, R21, R16
40E0941B     5C0C		ADDQ	R7, 4, R27				; R7, 4, R27				    ; 012678
F6000012     5C10		BNE	R16, FAKFID				; R16, FAKFID				    ; 012676
2CFB0000     5C14		LDQ_U	R7, (R27)				; R7, (R27)				    ; 012678
48FB02C7     5C18		EXTWL	R7, R27, R7				; R7, R27, R7
F3600121     5C1C		BLBS	R27, $L192				; R27, $L192
	     5C20	$L193:
A1250240     5C20		LDL	R9, 576(R5)				; R9, 576(R5)				    ; 012686
E5200038     5C24		BEQ	R9, DNFID				; R9, DNFID				    ; 012687
22BF3FFF     5C28		LDA	R21, 16383(R31)				; R21, 16383(R31)			    ; 012688
44F50007     5C2C		AND	R7, R21, R7				; R7, R21, R7
43E7001B     5C30		SEXTL	R7, R27					; R7, R27				    ; 012689
4B60778A     5C34		SRA	R27, 3, R10				; R27, 3, R10
44E0F007     5C38		AND	R7, 7, R7				; R7, 7, R7				    ; 012691
48E0779A     5C3C		SRA	R7, 3, R26				; R7, 3, R26				    ; 012692
4149000A     5C40		ADDL	R10, R9, R10				; R10, R9, R10				    ; 012690
415A0019     5C44		ADDL	R10, R26, R25				; R10, R26, R25				    ; 012692
44E0F015     5C48		AND	R7, 7, R21				; R7, 7, R21
2F590000     5C4C		LDQ_U	R26, (R25)				; R26, (R25)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 223
V01H                            VCSTEP2                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

4B5900DA     5C50		EXTBL	R26, R25, R26				; R26, R25, R26
4B55069C     5C54		SRL	R26, R21, R28				; R26, R21, R28
E380002B     5C58		BLBC	R28, DNFID				; R28, DNFID
	     5C5C	FAKFID:												    ; 012696
4167940A     5C5C		ADDQ	R11, 60, R10				; R11, 60, R10
47EA0415     5C60		MOV	R10, R21				; R10, R21				    ; 012697
47E1B419     5C64		BIS	R31, 13, R25				; R31, 13, R25
2F950000     5C68		LDQ_U	R28, (R21)				; R28, (R21)
4B35017B     5C6C		INSBL	R25, R21, R27				; R25, R21, R27
4140340A     5C70		ADDQ	R10, 1, R10				; R10, 1, R10
4B95005C     5C74		MSKBL	R28, R21, R28				; R28, R21, R28
47E0F419     5C78		BIS	R31, 7, R25				; R31, 7, R25				    ; 012698
479B041C     5C7C		BIS	R28, R27, R28				; R28, R27, R28				    ; 012697
3F950000     5C80		STQ_U	R28, (R21)				; R28, (R21)
47EA0415     5C84		MOV	R10, R21				; R10, R21				    ; 012698
4B35017B     5C88		INSBL	R25, R21, R27				; R25, R21, R27
2F950000     5C8C		LDQ_U	R28, (R21)				; R28, (R21)
4140340A     5C90		ADDQ	R10, 1, R10				; R10, 1, R10
233F0E01     5C94		LDA	R25, 3585(R31)				; R25, 3585(R31)			    ; 012699
4B95005C     5C98		MSKBL	R28, R21, R28				; R28, R21, R28				    ; 012698
479B041C     5C9C		BIS	R28, R27, R28				; R28, R27, R28
3F950000     5CA0		STQ_U	R28, (R21)				; R28, (R21)
47EA0415     5CA4		MOV	R10, R21				; R10, R21				    ; 012699
4B35037A     5CA8		INSWL	R25, R21, R26				; R25, R21, R26
2F950000     5CAC		LDQ_U	R28, (R21)				; R28, (R21)
4140540A     5CB0		ADDQ	R10, 2, R10				; R10, 2, R10
4B95025C     5CB4		MSKWL	R28, R21, R28				; R28, R21, R28
479A041C     5CB8		BIS	R28, R26, R28				; R28, R26, R28
F2A000FD     5CBC		BLBS	R21, $L194				; R21, $L194
	     5CC0	$L195:
47EA0419     5CC0		MOV	R10, R25				; R10, R25				    ; 012700
3F950000     5CC4		STQ_U	R28, (R21)				; R28, (R21)				    ; 012699
4140940A     5CC8		ADDQ	R10, 4, R10				; R10, 4, R10				    ; 012700
47E03415     5CCC		BIS	R31, 1, R21				; R31, 1, R21
47EA041B     5CD0		MOV	R10, R27				; R10, R27				    ; 012701
B2B90000     5CD4		STL	R21, (R25)				; R21, (R25)				    ; 012700
4140940A     5CD8		ADDQ	R10, 4, R10				; R10, 4, R10				    ; 012701
A3960078     5CDC		LDL	R28, 120(R22)				; R28, 120(R22)
47EA0415     5CE0		MOV	R10, R21				; R10, R21				    ; 012702
47E03419     5CE4		BIS	R31, 1, R25				; R31, 1, R25
B39B0000     5CE8		STL	R28, (R27)				; R28, (R27)				    ; 012701
4B35017B     5CEC		INSBL	R25, R21, R27				; R25, R21, R27				    ; 012702
2F950000     5CF0		LDQ_U	R28, (R21)				; R28, (R21)
4140340A     5CF4		ADDQ	R10, 1, R10				; R10, 1, R10
4B95005C     5CF8		MSKBL	R28, R21, R28				; R28, R21, R28
479B041C     5CFC		BIS	R28, R27, R28				; R28, R27, R28
3F950000     5D00		STQ_U	R28, (R21)				; R28, (R21)
47FF041F     5D04		NOP						; 
	     5D08	DNFID:												    ; 012704
20EB0190     5D08		LDA	R7, 400(R11)				; R7, 400(R11)				    ; 012708
47E3541A     5D0C		BIS	R31, 26, R26				; R31, 26, R26				    ; 012707
B34503C0     5D10		STL	R26, 960(R5)				; R26, 960(R5)
4167941A     5D14		ADDQ	R11, 60, R26				; R11, 60, R26				    ; 012715
A2C70004     5D18		LDL	R22, 4(R7)				; R22, 4(R7)				    ; 012709
B2CB0404     5D1C		STL	R22, 1028(R11)				; R22, 1028(R11)
A3670008     5D20		LDL	R27, 8(R7)				; R27, 8(R7)				    ; 012710
22DF0200     5D24		LDA	R22, 512(R31)				; R22, 512(R31)				    ; 012712

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 224
V01H                            VCSTEP2                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B36B0408     5D28		STL	R27, 1032(R11)				; R27, 1032(R11)			    ; 012710
A32B03F8     5D2C		LDL	R25, 1016(R11)				; R25, 1016(R11)			    ; 012712
43360530     5D30		SUBQ	R25, R22, R16				; R25, R22, R16
EE000008     5D34		BLE	R16, 135_15$				; R16, 135_15$				    ; 012713
2F6B003C     5D38		LDQ_U	R27, 60(R11)				; R27, 60(R11)				    ; 012715
26DF0008     5D3C		LDAH	R22, 8(R31)				; R22, 8(R31)				    ; 012718
42C03416     5D40		ADDQ	R22, 1, R22				; R22, 1, R22
4B7A00D0     5D44		EXTBL	R27, R26, R16				; R27, R26, R16				    ; 012715
F6000003     5D48		BNE	R16, 135_15$				; R16, 135_15$				    ; 012716
A32B03F8     5D4C		LDL	R25, 1016(R11)				; R25, 1016(R11)			    ; 012717
B32B003C     5D50		STL	R25, 60(R11)				; R25, 60(R11)
B2CB0040     5D54		STL	R22, 64(R11)				; R22, 64(R11)				    ; 012718
	     5D58	135_15$:											    ; 012719
47E3741B     5D58		BIS	R31, 27, R27				; R31, 27, R27				    ; 012724
B36503C0     5D5C		STL	R27, 960(R5)				; R27, 960(R5)
47E0341A     5D60		BIS	R31, 1, R26				; R31, 1, R26				    ; 012725
B34B03FC     5D64		STL	R26, 1020(R11)				; R26, 1020(R11)
A2CB0040     5D68		LDL	R22, 64(R11)				; R22, 64(R11)				    ; 012727
4167940A     5D6C		ADDQ	R11, 60, R10				; R11, 60, R10				    ; 012726
46C03010     5D70		AND	R22, 1, R16				; R22, 1, R16				    ; 012727
E6000004     5D74		BEQ	R16, 135_30$				; R16, 135_30$				    ; 012728
	     5D78	135_30087$:
47E3741C     5D78		BIS	R31, 27, R28				; R31, 27, R28				    ; 012731
B38503C0     5D7C		STL	R28, 960(R5)				; R28, 960(R5)
A1250134     5D80		LDL	R9, 308(R5)				; R9, 308(R5)				    ; 012732
E9200026     5D84		BLT	R9, 135_30088$				; R9, 135_30088$			    ; 012733
	     5D88	135_30$:											    ; 012818
B17E0000     5D88		STL	R11, (SP)				; R11, (SP)				    ; 012819
41BC153B     5D8C		SUBQ	R13, 224, R27				; R13, 224, R27				    ; 012822
B0BE0004     5D90		STL	R5, 4(SP)				; R5, 4(SP)				    ; 012820
A01E0000     5D94		LDL	R0, (SP)				; R0, (SP)				    ; 012821
A03E0004     5D98		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     5D9C		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     5DA0		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     5DA4		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     5DA8		LDL	R5, 20(SP)				; R5, 20(SP)
A0DE0018     5DAC		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     5DB0		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     5DB4		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     5DB8		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     5DBC		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     5DC0		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     5DC4		ADDQ	SP, 48, SP				; SP, 48, SP
D34000C5     5DC8		BSR	R26, LCLCNT				; R26, LCLCNT				    ; 012822
C3FFFF60     5DCC		BR	$L78					; $L78					    ; 012823
	     5DD0	$L121:												    ; 012645
C3FFFF87     5DD0		BR	132_15$					; 132_15$
47FF041F     5DD4		NOP						; 
	     5DD8	132_30085$:											    ; 012650
237F0200     5DD8		LDA	R27, 512(R31)				; R27, 512(R31)				    ; 012652
43690008     5DDC		ADDL	R27, R9, R8				; R27, R9, R8
	     5DE0	132_7$:												    ; 012653
2CE90000     5DE0		LDQ_U	R7, (R9)				; R7, (R9)
48E900C7     5DE4		EXTBL	R7, R9, R7				; R7, R9, R7
E4FFFF81     5DE8		BEQ	R7, 132_15$				; R7, 132_15$				    ; 012654
	     5DEC	132_30086$:
412803B0     5DEC		CMPULT	R9, R8, R16				; R9, R8, R16				    ; 012655

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 225
V01H                            VCSTEP2                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

E61FFFC5     5DF0		BEQ	R16, DNFID				; R16, DNFID				    ; 012656
2F690001     5DF4		LDQ_U	R27, 1(R9)				; R27, 1(R9)				    ; 012657
4120341A     5DF8		ADDQ	R9, 1, R26				; R9, 1, R26
4B7A00DB     5DFC		EXTBL	R27, R26, R27				; R27, R26, R27
4360F530     5E00		SUBQ	R27, 7, R16				; R27, 7, R16
E600008C     5E04		BEQ	R16, 132_8$				; R16, 132_8$				    ; 012658
	     5E08	132_9$:												    ; 012659
41270009     5E08		ADDL	R9, R7, R9				; R9, R7, R9
C3FFFFF4     5E0C		BR	132_7$					; 132_7$				    ; 012660
	     5E10	DNFDJ:												    ; 012694
C3FFFFBD     5E10		BR	DNFID					; DNFID
47FF041F     5E14		NOP						; 
	     5E18	$L122:												    ; 012728
C3FFFFDB     5E18		BR	135_30$					; 135_30$
47FF041F     5E1C		NOP						; 
	     5E20	135_30088$:											    ; 012733
47E3941A     5E20		BIS	R31, 28, R26				; R31, 28, R26				    ; 012734
B34503C0     5E24		STL	R26, 960(R5)				; R26, 960(R5)
A3290088     5E28		LDL	R25, 136(R9)				; R25, 136(R9)				    ; 012735
47221010     5E2C		AND	R25, 16, R16				; R25, 16, R16
E61FFFD5     5E30		BEQ	R16, 135_30$				; R16, 135_30$				    ; 012736
	     5E34	135_30089$:
47E3B416     5E34		BIS	R31, 29, R22				; R31, 29, R22				    ; 012737
B2C503C0     5E38		STL	R22, 960(R5)				; R22, 960(R5)
A389007C     5E3C		LDL	R28, 124(R9)				; R28, 124(R9)				    ; 012739
EF9FFFD1     5E40		BLE	R28, 135_30$				; R28, 135_30$				    ; 012743
	     5E44	135_30090$:
A3690024     5E44		LDL	R27, 36(R9)				; R27, 36(R9)				    ; 012744
FB7FFFCF     5E48		BGE	R27, 135_30$				; R27, 135_30$				    ; 012745
	     5E4C	135_30091$:
47E3D41A     5E4C		BIS	R31, 30, R26				; R31, 30, R26				    ; 012746
B34503C0     5E50		STL	R26, 960(R5)				; R26, 960(R5)
43C2153E     5E54		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 012748
A72DFD10     5E58		LDQ	R25, -752(R13)				; R25, -752(R13)			    ; 012749
B11E000C     5E5C		STL	R8, 12(SP)				; R8, 12(SP)				    ; 012748
B0FE0008     5E60		STL	R7, 8(SP)				; R7, 8(SP)
B0DE0004     5E64		STL	R6, 4(SP)				; R6, 4(SP)
B0BE0000     5E68		STL	R5, (SP)				; R5, (SP)
2CF90000     5E6C		LDQ_U	R7, (R25)				; R7, (R25)				    ; 012749
48F902C7     5E70		EXTWL	R7, R25, R7				; R7, R25, R7
F3200095     5E74		BLBS	R25, $L196				; R25, $L196
	     5E78	135_22$:											    ; 012750
A0D70000     5E78		LDL	R6, (R23)				; R6, (R23)				    ; 012751
40E6005B     5E7C		S4ADDL	R7, R6, R27				; R7, R6, R27				    ; 012752
A11B0000     5E80		LDL	R8, (R27)				; R8, (R27)
F9000004     5E84		BGE	R8, 135_23$				; R8, 135_23$				    ; 012754
A3450130     5E88		LDL	R26, 304(R5)				; R26, 304(R5)				    ; 012755
A32800D4     5E8C		LDL	R25, 212(R8)				; R25, 212(R8)
43590530     5E90		SUBQ	R26, R25, R16				; R26, R25, R16
E6000003     5E94		BEQ	R16, 135_21$				; R16, 135_21$				    ; 012756
	     5E98	135_23$:											    ; 012757
40E03127     5E98		SUBL	R7, 1, R7				; R7, 1, R7
FCFFFFF6     5E9C		BGT	R7, 135_22$				; R7, 135_22$
B3E50130     5EA0		STL	R31, 304(R5)				; R31, 304(R5)				    ; 012758
	     5EA4	135_21$:											    ; 012759
A0BE0000     5EA4		LDL	R5, (SP)				; R5, (SP)				    ; 012760
47E3F417     5EA8		BIS	R31, 31, R23				; R31, 31, R23				    ; 012761

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 226
V01H                            VCSTEP2                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A0DE0004     5EAC		LDL	R6, 4(SP)				; R6, 4(SP)				    ; 012760
A0FE0008     5EB0		LDL	R7, 8(SP)				; R7, 8(SP)
A11E000C     5EB4		LDL	R8, 12(SP)				; R8, 12(SP)
43C2141E     5EB8		ADDQ	SP, 16, SP				; SP, 16, SP
B2E503C0     5EBC		STL	R23, 960(R5)				; R23, 960(R5)				    ; 012761
A2C50130     5EC0		LDL	R22, 304(R5)				; R22, 304(R5)				    ; 012762
E6DFFFB0     5EC4		BEQ	R22, 135_30$				; R22, 135_30$				    ; 012763
	     5EC8	135_30092$:
43CC153E     5EC8		SUBQ	SP, 96, SP				; SP, 96, SP				    ; 012765
A76D0018     5ECC		LDQ	R27, 24(R13)				; R27, 24(R13)				    ; 012771
43FE0008     5ED0		SEXTL	SP, R8					; SP, R8				    ; 012766
B1680000     5ED4		STL	R11, (R8)				; R11, (R8)				    ; 012767
B0A80004     5ED8		STL	R5, 4(R8)				; R5, 4(R8)				    ; 012768
A385023C     5EDC		LDL	R28, 572(R5)				; R28, 572(R5)				    ; 012769
B3880008     5EE0		STL	R28, 8(R8)				; R28, 8(R8)
B148000C     5EE4		STL	R10, 12(R8)				; R10, 12(R8)				    ; 012770
B3680010     5EE8		STL	R27, 16(R8)				; R27, 16(R8)				    ; 012771
A34B0404     5EEC		LDL	R26, 1028(R11)				; R26, 1028(R11)			    ; 012772
B3480014     5EF0		STL	R26, 20(R8)				; R26, 20(R8)
A2EB0408     5EF4		LDL	R23, 1032(R11)				; R23, 1032(R11)			    ; 012773
B2E80018     5EF8		STL	R23, 24(R8)				; R23, 24(R8)
A2CB0008     5EFC		LDL	R22, 8(R11)				; R22, 8(R11)				    ; 012774
B2C8001C     5F00		STL	R22, 28(R8)				; R22, 28(R8)
A38B040C     5F04		LDL	R28, 1036(R11)				; R28, 1036(R11)			    ; 012775
B3880020     5F08		STL	R28, 32(R8)				; R28, 32(R8)
A34B0410     5F0C		LDL	R26, 1040(R11)				; R26, 1040(R11)			    ; 012776
B3480024     5F10		STL	R26, 36(R8)				; R26, 36(R8)
A3380000     5F14		LDL	R25, (R24)				; R25, (R24)				    ; 012779
B3280028     5F18		STL	R25, 40(R8)				; R25, 40(R8)
A0980000     5F1C		LDL	R4, (R24)				; R4, (R24)				    ; 012780
A2E400D4     5F20		LDL	R23, 212(R4)				; R23, 212(R4)				    ; 012781
B2E8002C     5F24		STL	R23, 44(R8)				; R23, 44(R8)
A2C400D8     5F28		LDL	R22, 216(R4)				; R22, 216(R4)				    ; 012782
B2C80030     5F2C		STL	R22, 48(R8)				; R22, 48(R8)
B0A80034     5F30		STL	R5, 52(R8)				; R5, 52(R8)				    ; 012783
43C1953E     5F34		SUBQ	SP, 12, SP				; SP, 12, SP				    ; 012786
B05E0008     5F38		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     5F3C		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     5F40		STL	R0, (SP)				; R0, (SP)
A005023C     5F44		LDL	R0, 572(R5)				; R0, 572(R5)				    ; 012787
A3800074     5F48		LDL	R28, 116(R0)				; R28, 116(R0)				    ; 012788
4B8012DC     5F4C		EXTWL	R28, 0, R28				; R28, 0, R28
B3880038     5F50		STL	R28, 56(R8)				; R28, 56(R8)
A0200038     5F54		LDL	R1, 56(R0)				; R1, 56(R0)				    ; 012789
A3610034     5F58		LDL	R27, 52(R1)				; R27, 52(R1)				    ; 012790
B3680054     5F5C		STL	R27, 84(R8)				; R27, 84(R8)
B3E8003C     5F60		STL	R31, 60(R8)				; R31, 60(R8)				    ; 012791
B3E80040     5F64		STL	R31, 64(R8)				; R31, 64(R8)				    ; 012792
A021002C     5F68		LDL	R1, 44(R1)				; R1, 44(R1)				    ; 012794
F8200004     5F6C		BGE	R1, 135_833$				; R1, 135_833$				    ; 012795
A3410048     5F70		LDL	R26, 72(R1)				; R26, 72(R1)				    ; 012796
B348003C     5F74		STL	R26, 60(R8)				; R26, 60(R8)
A301004C     5F78		LDL	R24, 76(R1)				; R24, 76(R1)				    ; 012797
B3080040     5F7C		STL	R24, 64(R8)				; R24, 64(R8)
	     5F80	135_833$:											    ; 012798
A0200038     5F80		LDL	R1, 56(R0)				; R1, 56(R0)				    ; 012799
47E41416     5F84		BIS	R31, 32, R22				; R31, 32, R22				    ; 012810

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 227
V01H                            VCSTEP2                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A76DFD50     5F88		LDQ	R27, -688(R13)				; R27, -688(R13)			    ; 012814
A2E10014     5F8C		LDL	R23, 20(R1)				; R23, 20(R1)				    ; 012800
B2E80044     5F90		STL	R23, 68(R8)				; R23, 68(R8)
47E03417     5F94		BIS	R31, 1, R23				; R31, 1, R23				    ; 012808
A3810018     5F98		LDL	R28, 24(R1)				; R28, 24(R1)				    ; 012801
B3880048     5F9C		STL	R28, 72(R8)				; R28, 72(R8)
A341001C     5FA0		LDL	R26, 28(R1)				; R26, 28(R1)				    ; 012802
B348004C     5FA4		STL	R26, 76(R8)				; R26, 76(R8)
A3010020     5FA8		LDL	R24, 32(R1)				; R24, 32(R1)				    ; 012803
A74DFD48     5FAC		LDQ	R26, -696(R13)				; R26, -696(R13)			    ; 012814
B3080050     5FB0		STL	R24, 80(R8)				; R24, 80(R8)				    ; 012803
A01E0000     5FB4		LDL	R0, (SP)				; R0, (SP)				    ; 012806
A03E0004     5FB8		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     5FBC		LDL	R2, 8(SP)				; R2, 8(SP)
B2E80004     5FC0		STL	R23, 4(R8)				; R23, 4(R8)				    ; 012808
B0BE0008     5FC4		STL	R5, 8(SP)				; R5, 8(SP)				    ; 012809
B09E0004     5FC8		STL	R4, 4(SP)				; R4, 4(SP)
43E80004     5FCC		SEXTL	R8, R4					; R8, R4				    ; 012812
B07E0000     5FD0		STL	R3, (SP)				; R3, (SP)				    ; 012809
47EC1403     5FD4		BIS	R31, 96, R3				; R31, 96, R3				    ; 012813
B2C503C0     5FD8		STL	R22, 960(R5)				; R22, 960(R5)				    ; 012810
43E90005     5FDC		SEXTL	R9, R5					; R9, R5				    ; 012811
43C0953E     5FE0		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012814
6B5A4000     5FE4		JSR	R26, R26				; R26, R26
A07E0004     5FE8		LDL	R3, 4(SP)				; R3, 4(SP)				    ; 012815
A09E0008     5FEC		LDL	R4, 8(SP)				; R4, 8(SP)
A0BE000C     5FF0		LDL	R5, 12(SP)				; R5, 12(SP)
43CE141E     5FF4		ADDQ	SP, 112, SP				; SP, 112, SP				    ; 012816
E01FFF63     5FF8		BLBC	R0, 135_30$				; R0, 135_30$				    ; 012818
	     5FFC	135_31$:											    ; 012824
A01E0000     5FFC		LDL	R0, (SP)				; R0, (SP)				    ; 012826
47E03400     6000		BIS	R31, 1, R0				; R31, 1, R0				    ; 012827
A03E0004     6004		LDL	R1, 4(SP)				; R1, 4(SP)				    ; 012826
A05E0008     6008		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     600C		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     6010		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     6014		LDL	R5, 20(SP)				; R5, 20(SP)
A0DE0018     6018		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     601C		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     6020		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     6024		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     6028		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     602C		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     6030		ADDQ	SP, 48, SP				; SP, 48, SP
C3FFFEC6     6034		BR	$L78					; $L78					    ; 012828
	     6038	132_8$:												    ; 012661
A3290008     6038		LDL	R25, 8(R9)				; R25, 8(R9)
A2B60078     603C		LDL	R21, 120(R22)				; R21, 120(R22)
43350530     6040		SUBQ	R25, R21, R16				; R25, R21, R16
F61FFF70     6044		BNE	R16, 132_9$				; R16, 132_9$				    ; 012662
47E3141A     6048		BIS	R31, 24, R26				; R31, 24, R26				    ; 012665
B34503C0     604C		STL	R26, 960(R5)				; R26, 960(R5)
43C3153E     6050		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 012666
A74DFA88     6054		LDQ	R26, -1400(R13)				; R26, -1400(R13)			    ; 012668
48E012D1     6058		EXTWL	R7, 0, R17				; R7, 0, R17
B0BE0014     605C		STL	R5, 20(SP)				; R5, 20(SP)				    ; 012666
B09E0010     6060		STL	R4, 16(SP)				; R4, 16(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 228
V01H                            VCSTEP2                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

47E90412     6064		MOV	R9, R18					; R9, R18				    ; 012668
B07E000C     6068		STL	R3, 12(SP)				; R3, 12(SP)				    ; 012666
B05E0008     606C		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     6070		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     6074		STL	R0, (SP)				; R0, (SP)
41679400     6078		ADDQ	R11, 60, R0				; R11, 60, R0				    ; 012667
47E00410     607C		MOV	R0, R16					; R0, R16				    ; 012668
6B5A4000     6080		JSR	R26, R26				; R26, R26
A01E0000     6084		LDL	R0, (SP)				; R0, (SP)				    ; 012669
A03E0004     6088		LDL	R1, 4(SP)				; R1, 4(SP)
A05E0008     608C		LDL	R2, 8(SP)				; R2, 8(SP)
A07E000C     6090		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     6094		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     6098		LDL	R5, 20(SP)				; R5, 20(SP)
43C3141E     609C		ADDQ	SP, 24, SP				; SP, 24, SP
C3FFFF19     60A0		BR	DNFID					; DNFID					    ; 012670
	     60A4	$L192:												    ; 012678
2F3B0001     60A4		LDQ_U	R25, 1(R27)				; R25, 1(R27)
4B3B0B5A     60A8		EXTWH	R25, R27, R26				; R25, R27, R26
44FA0407     60AC		BIS	R7, R26, R7				; R7, R26, R7
C3FFFEDB     60B0		BR	$L193					; $L193
	     60B4	$L194:												    ; 012699
2F750001     60B4		LDQ_U	R27, 1(R21)				; R27, 1(R21)
4B350AFA     60B8		INSWH	R25, R21, R26				; R25, R21, R26
4B750A5B     60BC		MSKWH	R27, R21, R27				; R27, R21, R27
477A041B     60C0		BIS	R27, R26, R27				; R27, R26, R27
3F750001     60C4		STQ_U	R27, 1(R21)				; R27, 1(R21)
C3FFFEFD     60C8		BR	$L195					; $L195
	     60CC	$L196:												    ; 012749
2F990001     60CC		LDQ_U	R28, 1(R25)				; R28, 1(R25)
4B990B56     60D0		EXTWH	R28, R25, R22				; R28, R25, R22
44F60407     60D4		BIS	R7, R22, R7				; R7, R22, R7
C3FFFF67     60D8		BR	135_22$					; 135_22$
47FF041F     60DC		NOP						; 

Routine Size: 1712 bytes,    Routine Base: $$$115_DRIVER + 5A30

	     60E0	LCLCNT:												    ; 012835
43CC153E     60E0		SUBQ	SP, 96, SP				; SP, 96, SP
B75E0000     60E4		STQ	R26, (SP)				; R26, (SP)
B45E0008     60E8		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     60EC		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     60F0		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     60F4		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     60F8		STQ	R6, 40(SP)				; R6, 40(SP)
B4FE0030     60FC		STQ	R7, 48(SP)				; R7, 48(SP)
B51E0038     6100		STQ	R8, 56(SP)				; R8, 56(SP)
B53E0040     6104		STQ	R9, 64(SP)				; R9, 64(SP)
B55E0048     6108		STQ	R10, 72(SP)				; R10, 72(SP)
B57E0050     610C		STQ	R11, 80(SP)				; R11, 80(SP)
B5BE0058     6110		STQ	R13, 88(SP)				; R13, 88(SP)
47FB040D     6114		MOV	R27, R13				; R27, R13
	     6118	$L79:
43C6153E     6118		SUBQ	SP, 48, SP				; SP, 48, SP				    ; 012837
47E4341C     611C		BIS	R31, 33, R28				; R31, 33, R28				    ; 012840
B17E002C     6120		STL	R11, 44(SP)				; R11, 44(SP)				    ; 012837
43E0000B     6124		SEXTL	R0, R11					; R0, R11				    ; 012838

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 229
V01H                            LCLCNT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B15E0028     6128		STL	R10, 40(SP)				; R10, 40(SP)				    ; 012837
236DFC38     612C		LDA	R27, -968(R13)				; R27, -968(R13)			    ; 012841
B13E0024     6130		STL	R9, 36(SP)				; R9, 36(SP)				    ; 012837
B11E0020     6134		STL	R8, 32(SP)				; R8, 32(SP)
B0FE001C     6138		STL	R7, 28(SP)				; R7, 28(SP)
B0DE0018     613C		STL	R6, 24(SP)				; R6, 24(SP)
B0BE0014     6140		STL	R5, 20(SP)				; R5, 20(SP)
43E10005     6144		SEXTL	R1, R5					; R1, R5				    ; 012839
B09E0010     6148		STL	R4, 16(SP)				; R4, 16(SP)				    ; 012837
B07E000C     614C		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     6150		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     6154		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     6158		STL	R0, (SP)				; R0, (SP)
B38503C0     615C		STL	R28, 960(R5)				; R28, 960(R5)				    ; 012840
D35FEE0B     6160		BSR	R26, PRVIDSET				; R26, PRVIDSET				    ; 012841
47F0B41B     6164		BIS	R31, 133, R27				; R31, 133, R27				    ; 012846
43C0953E     6168		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012844
B01E0000     616C		STL	R0, (SP)				; R0, (SP)
A00B0030     6170		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 012845
B36003C0     6174		STL	R27, 960(R0)				; R27, 960(R0)				    ; 012846
A01E0000     6178		LDL	R0, (SP)				; R0, (SP)				    ; 012847
43EB0000     617C		SEXTL	R11, R0					; R11, R0				    ; 012849
2020013C     6180		LDA	R1, 316(R0)				; R1, 316(R0)				    ; 012850
43C0941E     6184		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 012847
A0410000     6188		LDL	R2, (R1)				; R2, (R1)				    ; 012851
43E0000B     618C		SEXTL	R0, R11					; R0, R11				    ; 012862
A0610004     6190		LDL	R3, 4(R1)				; R3, 4(R1)				    ; 012852
A0810008     6194		LDL	R4, 8(R1)				; R4, 8(R1)				    ; 012853
A0A1000C     6198		LDL	R5, 12(R1)				; R5, 12(R1)				    ; 012854
A0C10010     619C		LDL	R6, 16(R1)				; R6, 16(R1)				    ; 012855
A0E10014     61A0		LDL	R7, 20(R1)				; R7, 20(R1)				    ; 012856
40209401     61A4		ADDQ	R1, 4, R1				; R1, 4, R1				    ; 012851
A1010014     61A8		LDL	R8, 20(R1)				; R8, 20(R1)				    ; 012857
40209401     61AC		ADDQ	R1, 4, R1				; R1, 4, R1				    ; 012852
A1210014     61B0		LDL	R9, 20(R1)				; R9, 20(R1)				    ; 012858
40209401     61B4		ADDQ	R1, 4, R1				; R1, 4, R1				    ; 012853
A1410014     61B8		LDL	R10, 20(R1)				; R10, 20(R1)				    ; 012859
40209401     61BC		ADDQ	R1, 4, R1				; R1, 4, R1				    ; 012854
A14B0020     61C0		LDL	R10, 32(R11)				; R10, 32(R11)				    ; 012865
40229401     61C4		ADDQ	R1, 20, R1				; R1, 20, R1				    ; 012859
F940000A     61C8		BGE	R10, 136_2$				; R10, 136_2$				    ; 012866
	     61CC	136_1$:												    ; 012867
A32A0004     61CC		LDL	R25, 4(R10)				; R25, 4(R10)
277F0081     61D0		LDAH	R27, 129(R31)				; R27, 129(R31)				    ; 012871
EF200007     61D4		BLE	R25, 136_2$				; R25, 136_2$				    ; 012868
A2EA0004     61D8		LDL	R23, 4(R10)				; R23, 4(R10)				    ; 012869
42E03137     61DC		SUBL	R23, 1, R23				; R23, 1, R23
B2EA0004     61E0		STL	R23, 4(R10)				; R23, 4(R10)
FEE00003     61E4		BGT	R23, 136_2$				; R23, 136_2$				    ; 012870
A3840080     61E8		LDL	R28, 128(R4)				; R28, 128(R4)				    ; 012871
479B011C     61EC		BIC	R28, R27, R28				; R28, R27, R28
B3840080     61F0		STL	R28, 128(R4)				; R28, 128(R4)
	     61F4	136_2$:												    ; 012872
43C0953E     61F4		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012875
A76DFB20     61F8		LDQ	R27, -1248(R13)				; R27, -1248(R13)			    ; 012881
47FD341A     61FC		BIS	R31, 233, R26				; R31, 233, R26				    ; 012877
B01E0000     6200		STL	R0, (SP)				; R0, (SP)				    ; 012875

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 230
V01H                            LCLCNT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A00B0030     6204		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 012876
47E3F410     6208		BIS	R31, 31, R16				; R31, 31, R16				    ; 012880
47E03419     620C		BIS	R31, 1, R25				; R31, 1, R25				    ; 012881
B34003C0     6210		STL	R26, 960(R0)				; R26, 960(R0)				    ; 012877
A74DFB18     6214		LDQ	R26, -1256(R13)				; R26, -1256(R13)			    ; 012881
A01E0000     6218		LDL	R0, (SP)				; R0, (SP)				    ; 012878
43C0941E     621C		ADDQ	SP, 4, SP				; SP, 4, SP
6B5A4000     6220		JSR	R26, R26				; R26, R26				    ; 012881
233F014D     6224		LDA	R25, 333(R31)				; R25, 333(R31)				    ; 012885
43C0953E     6228		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012883
B01E0000     622C		STL	R0, (SP)				; R0, (SP)
A00B0030     6230		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 012884
B32003C0     6234		STL	R25, 960(R0)				; R25, 960(R0)				    ; 012885
A01E0000     6238		LDL	R0, (SP)				; R0, (SP)				    ; 012886
43C0941E     623C		ADDQ	SP, 4, SP				; SP, 4, SP
A30B03FC     6240		LDL	R24, 1020(R11)				; R24, 1020(R11)			    ; 012890
4300F531     6244		SUBQ	R24, 7, R17				; R24, 7, R17
F6200043     6248		BNE	R17, 136_53$				; R17, 136_53$				    ; 012891
47E03417     624C		BIS	R31, 1, R23				; R31, 1, R23				    ; 012892
B2EB03FC     6250		STL	R23, 1020(R11)				; R23, 1020(R11)
43C6153E     6254		SUBQ	SP, 48, SP				; SP, 48, SP				    ; 012893
A6CDFAE8     6258		LDQ	R22, -1304(R13)				; R22, -1304(R13)			    ; 012895
A6ADFC48     625C		LDQ	R21, -952(R13)				; R21, -952(R13)			    ; 012903
231F01B1     6260		LDA	R24, 433(R31)				; R24, 433(R31)				    ; 012913
B17E002C     6264		STL	R11, 44(SP)				; R11, 44(SP)				    ; 012893
B15E0028     6268		STL	R10, 40(SP)				; R10, 40(SP)
B13E0024     626C		STL	R9, 36(SP)				; R9, 36(SP)
B11E0020     6270		STL	R8, 32(SP)				; R8, 32(SP)
B0FE001C     6274		STL	R7, 28(SP)				; R7, 28(SP)
B0DE0018     6278		STL	R6, 24(SP)				; R6, 24(SP)
B0BE0014     627C		STL	R5, 20(SP)				; R5, 20(SP)
B09E0010     6280		STL	R4, 16(SP)				; R4, 16(SP)
B07E000C     6284		STL	R3, 12(SP)				; R3, 12(SP)
B05E0008     6288		STL	R2, 8(SP)				; R2, 8(SP)
B03E0004     628C		STL	R1, 4(SP)				; R1, 4(SP)
B01E0000     6290		STL	R0, (SP)				; R0, (SP)
A0960000     6294		LDL	R4, (R22)				; R4, (R22)				    ; 012895
A38B001C     6298		LDL	R28, 28(R11)				; R28, 28(R11)				    ; 012897
A74DFAF0     629C		LDQ	R26, -1296(R13)				; R26, -1296(R13)			    ; 012905
B3840074     62A0		STL	R28, 116(R4)				; R28, 116(R4)				    ; 012897
A36B000C     62A4		LDL	R27, 12(R11)				; R27, 12(R11)				    ; 012901
B3640100     62A8		STL	R27, 256(R4)				; R27, 256(R4)
A32B0010     62AC		LDL	R25, 16(R11)				; R25, 16(R11)				    ; 012902
B3240104     62B0		STL	R25, 260(R4)				; R25, 260(R4)
A2EB000C     62B4		LDL	R23, 12(R11)				; R23, 12(R11)				    ; 012903
B2F50000     62B8		STL	R23, (R21)				; R23, (R21)
A36B0010     62BC		LDL	R27, 16(R11)				; R27, 16(R11)				    ; 012904
B3750004     62C0		STL	R27, 4(R21)				; R27, 4(R21)
A09A0000     62C4		LDL	R4, (R26)				; R4, (R26)				    ; 012905
236DFDC0     62C8		LDA	R27, -576(R13)				; R27, -576(R13)			    ; 012916
A32B0014     62CC		LDL	R25, 20(R11)				; R25, 20(R11)				    ; 012906
B3240280     62D0		STL	R25, 640(R4)				; R25, 640(R4)
A2EB0018     62D4		LDL	R23, 24(R11)				; R23, 24(R11)				    ; 012907
B2E40284     62D8		STL	R23, 644(R4)				; R23, 644(R4)
A38B000C     62DC		LDL	R28, 12(R11)				; R28, 12(R11)				    ; 012908
B3840000     62E0		STL	R28, (R4)				; R28, (R4)
A34B0010     62E4		LDL	R26, 16(R11)				; R26, 16(R11)				    ; 012909

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 231
V01H                            LCLCNT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B3440004     62E8		STL	R26, 4(R4)				; R26, 4(R4)
43C0953E     62EC		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012911
B01E0000     62F0		STL	R0, (SP)				; R0, (SP)
A00B0030     62F4		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 012912
B30003C0     62F8		STL	R24, 960(R0)				; R24, 960(R0)				    ; 012913
A01E0000     62FC		LDL	R0, (SP)				; R0, (SP)				    ; 012914
43C0941E     6300		ADDQ	SP, 4, SP				; SP, 4, SP
D35FF21A     6304		BSR	R26, UNDOID				; R26, UNDOID				    ; 012916
22FF0215     6308		LDA	R23, 533(R31)				; R23, 533(R31)				    ; 012920
43C0953E     630C		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012918
B01E0000     6310		STL	R0, (SP)				; R0, (SP)
A00B0030     6314		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 012919
B2E003C0     6318		STL	R23, 960(R0)				; R23, 960(R0)				    ; 012920
A01E0000     631C		LDL	R0, (SP)				; R0, (SP)				    ; 012921
A01E0004     6320		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 012923
A03E0008     6324		LDL	R1, 8(SP)				; R1, 8(SP)
A05E000C     6328		LDL	R2, 12(SP)				; R2, 12(SP)
A07E0010     632C		LDL	R3, 16(SP)				; R3, 16(SP)
A09E0014     6330		LDL	R4, 20(SP)				; R4, 20(SP)
43C0941E     6334		ADDQ	SP, 4, SP				; SP, 4, SP				    ; 012921
A0BE0014     6338		LDL	R5, 20(SP)				; R5, 20(SP)				    ; 012923
A0DE0018     633C		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     6340		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     6344		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     6348		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     634C		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     6350		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     6354		ADDQ	SP, 48, SP				; SP, 48, SP
	     6358	136_53$:											    ; 012924
B0AB0038     6358		STL	R5, 56(R11)				; R5, 56(R11)				    ; 012925
236DFC68     635C		LDA	R27, -920(R13)				; R27, -920(R13)			    ; 012928
A2CB03FC     6360		LDL	R22, 1020(R11)				; R22, 1020(R11)			    ; 012926
42C0B531     6364		SUBQ	R22, 5, R17				; R22, 5, R17
E6200001     6368		BEQ	R17, 136_353$				; R17, 136_353$				    ; 012927
D35FEEA0     636C		BSR	R26, SETSOFTL				; R26, SETSOFTL				    ; 012928
	     6370	136_353$:											    ; 012929
43C0953E     6370		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012931
239F0279     6374		LDA	R28, 633(R31)				; R28, 633(R31)				    ; 012933
B01E0000     6378		STL	R0, (SP)				; R0, (SP)				    ; 012931
A00B0030     637C		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 012932
B38003C0     6380		STL	R28, 960(R0)				; R28, 960(R0)				    ; 012933
A01E0000     6384		LDL	R0, (SP)				; R0, (SP)				    ; 012934
43C0941E     6388		ADDQ	SP, 4, SP				; SP, 4, SP
A3660000     638C		LDL	R27, (R6)				; R27, (R6)				    ; 012936
40BB0531     6390		SUBQ	R5, R27, R17				; R5, R27, R17
E6200002     6394		BEQ	R17, 136_12$				; R17, 136_12$				    ; 012937
236DFCA8     6398		LDA	R27, -856(R13)				; R27, -856(R13)			    ; 012938
D35FEFD0     639C		BSR	R26, MOVLDT				; R26, MOVLDT
	     63A0	136_12$:											    ; 012939
43C0953E     63A0		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012941
235F02DD     63A4		LDA	R26, 733(R31)				; R26, 733(R31)				    ; 012943
B01E0000     63A8		STL	R0, (SP)				; R0, (SP)				    ; 012941
239F0341     63AC		LDA	R28, 833(R31)				; R28, 833(R31)				    ; 013001
A00B0030     63B0		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 012942
B34003C0     63B4		STL	R26, 960(R0)				; R26, 960(R0)				    ; 012943
A01E0000     63B8		LDL	R0, (SP)				; R0, (SP)				    ; 012944
43C0941E     63BC		ADDQ	SP, 4, SP				; SP, 4, SP

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 232
V01H                            LCLCNT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A0A60000     63C0		LDL	R5, (R6)				; R5, (R6)				    ; 012946
B0A30024     63C4		STL	R5, 36(R3)				; R5, 36(R3)				    ; 012947
43C3153E     63C8		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 012951
A30B0178     63CC		LDL	R24, 376(R11)				; R24, 376(R11)				    ; 012953
43FE000A     63D0		SEXTL	SP, R10					; SP, R10				    ; 012952
B30A0000     63D4		STL	R24, (R10)				; R24, (R10)				    ; 012953
A2CB017C     63D8		LDL	R22, 380(R11)				; R22, 380(R11)				    ; 012954
B2CA0004     63DC		STL	R22, 4(R10)				; R22, 4(R10)
A36B0180     63E0		LDL	R27, 384(R11)				; R27, 384(R11)				    ; 012955
B36A0008     63E4		STL	R27, 8(R10)				; R27, 8(R10)
A32B0184     63E8		LDL	R25, 388(R11)				; R25, 388(R11)				    ; 012956
B32A000C     63EC		STL	R25, 12(R10)				; R25, 12(R10)
A2EB0188     63F0		LDL	R23, 392(R11)				; R23, 392(R11)				    ; 012957
B2EA0010     63F4		STL	R23, 16(R10)				; R23, 16(R10)
A2C3008C     63F8		LDL	R22, 140(R3)				; R22, 140(R3)				    ; 012961
B2CA0014     63FC		STL	R22, 20(R10)				; R22, 20(R10)
43C0953E     6400		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 012999
B01E0000     6404		STL	R0, (SP)				; R0, (SP)
A00B0030     6408		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 013000
B38003C0     640C		STL	R28, 960(R0)				; R28, 960(R0)				    ; 013001
A01E0000     6410		LDL	R0, (SP)				; R0, (SP)				    ; 013002
43C0941E     6414		ADDQ	SP, 4, SP				; SP, 4, SP
A36B03FC     6418		LDL	R27, 1020(R11)				; R27, 1020(R11)			    ; 013004
43607531     641C		SUBQ	R27, 3, R17				; R27, 3, R17
E62000B5     6420		BEQ	R17, 136_50$				; R17, 136_50$				    ; 013005
A34B03FC     6424		LDL	R26, 1020(R11)				; R26, 1020(R11)			    ; 013006
236DFAA8     6428		LDA	R27, -1368(R13)				; R27, -1368(R13)			    ; 013010
E34000DC     642C		BLBC	R26, 136_60$				; R26, 136_60$				    ; 013006
A3230060     6430		LDL	R25, 96(R3)				; R25, 96(R3)				    ; 013008
43C3153E     6434		SUBQ	SP, 24, SP				; SP, 24, SP				    ; 013010
B13E0014     6438		STL	R9, 20(SP)				; R9, 20(SP)				    ; 013009
B11E0010     643C		STL	R8, 16(SP)				; R8, 16(SP)
B0FE000C     6440		STL	R7, 12(SP)				; R7, 12(SP)
4727F001     6444		AND	R25, 63, R1				; R25, 63, R1				    ; 013008
B0DE0008     6448		STL	R6, 8(SP)				; R6, 8(SP)				    ; 013009
D35FE758     644C		BSR	R26, GETJTUCB				; R26, GETJTUCB				    ; 013010
43C1141E     6450		ADDQ	SP, 8, SP				; SP, 8, SP
F80000E2     6454		BGE	R0, 136_199$				; R0, 136_199$				    ; 013012
22FF03A5     6458		LDA	R23, 933(R31)				; R23, 933(R31)				    ; 013013
B2E003C0     645C		STL	R23, 960(R0)				; R23, 960(R0)
A0E00380     6460		LDL	R7, 896(R0)				; R7, 896(R0)				    ; 013014
F8E000DE     6464		BGE	R7, 136_199$				; R7, 136_199$				    ; 013015
A2C30060     6468		LDL	R22, 96(R3)				; R22, 96(R3)				    ; 013022
40E11007     646C		ADDL	R7, 8, R7				; R7, 8, R7				    ; 013020
46C7F001     6470		AND	R22, 63, R1				; R22, 63, R1				    ; 013022
4027005A     6474		S4ADDL	R1, R7, R26				; R1, R7, R26				    ; 013023
A11A0000     6478		LDL	R8, (R26)				; R8, (R26)
43C2153E     647C		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 013030
00000091     6480		CALL_PAL 145					; 145					    ; 013031
B41E0000     6484		STQ	R0, (SP)				; R0, (SP)				    ; 013033
B61E0008     6488		STQ	R16, 8(SP)				; R16, 8(SP)				    ; 013034
A00B0414     648C		LDL	R0, 1044(R11)				; R0, 1044(R11)				    ; 013035
43C0953E     6490		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 013037
44007000     6494		AND	R0, 3, R0				; R0, 3, R0				    ; 013036
43E00000     6498		SEXTL	R0, R0					; R0, R0
B01E0000     649C		STL	R0, (SP)				; R0, (SP)				    ; 013037
A01E0004     64A0		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 013038

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 233
V01H                            LCLCNT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A33E0000     64A4		LDL	R25, (SP)				; R25, (SP)				    ; 013040
43C0941E     64A8		ADDQ	SP, 4, SP				; SP, 4, SP
44007100     64AC		BIC	R0, 3, R0				; R0, 3, R0				    ; 013039
44190400     64B0		BIS	R0, R25, R0				; R0, R25, R0				    ; 013040
43E00000     64B4		SEXTL	R0, R0					; R0, R0
47E00410     64B8		MOV	R0, R16					; R0, R16				    ; 013041
47E09419     64BC		BIS	R31, 4, R25				; R31, 4, R25				    ; 013055
0000009C     64C0		CALL_PAL 156					; 156					    ; 013042
A74DFD18     64C4		LDQ	R26, -744(R13)				; R26, -744(R13)			    ; 013055
43C2953E     64C8		SUBQ	SP, 20, SP				; SP, 20, SP				    ; 013049
A76DFD20     64CC		LDQ	R27, -736(R13)				; R27, -736(R13)			    ; 013055
231F0409     64D0		LDA	R24, 1033(R31)				; R24, 1033(R31)			    ; 013051
B0DE0010     64D4		STL	R6, 16(SP)				; R6, 16(SP)				    ; 013044
B0BE000C     64D8		STL	R5, 12(SP)				; R5, 12(SP)				    ; 013045
47E80417     64DC		MOV	R8, R23					; R8, R23				    ; 013055
B09E0008     64E0		STL	R4, 8(SP)				; R4, 8(SP)				    ; 013046
B07E0004     64E4		STL	R3, 4(SP)				; R3, 4(SP)				    ; 013047
B01E0000     64E8		STL	R0, (SP)				; R0, (SP)				    ; 013049
A00B0030     64EC		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 013050
B30003C0     64F0		STL	R24, 960(R0)				; R24, 960(R0)				    ; 013051
43E03418     64F4		ADDQ	R31, 1, R24				; R31, 1, R24				    ; 013055
B10003D0     64F8		STL	R8, 976(R0)				; R8, 976(R0)				    ; 013052
A01E0000     64FC		LDL	R0, (SP)				; R0, (SP)				    ; 013053
43C0953E     6500		SUBQ	SP, 4, SP				; SP, 4, SP
A21E0008     6504		LDL	R16, 8(SP)				; R16, 8(SP)				    ; 013055
A23E000C     6508		LDL	R17, 12(SP)				; R17, 12(SP)
A25E0010     650C		LDL	R18, 16(SP)				; R18, 16(SP)
A27E0014     6510		LDL	R19, 20(SP)				; R19, 20(SP)
6B5A4000     6514		JSR	R26, R26				; R26, R26
A61E0018     6518		LDQ	R16, 24(SP)				; R16, 24(SP)				    ; 013057
43C3141E     651C		ADDQ	SP, 24, SP				; SP, 24, SP				    ; 013055
0000009C     6520		CALL_PAL 156					; 156					    ; 013058
A61E0008     6524		LDQ	R16, 8(SP)				; R16, 8(SP)				    ; 013059
A0DE0010     6528		LDL	R6, 16(SP)				; R6, 16(SP)				    ; 013062
A0FE0014     652C		LDL	R7, 20(SP)				; R7, 20(SP)
A11E0018     6530		LDL	R8, 24(SP)				; R8, 24(SP)
A13E001C     6534		LDL	R9, 28(SP)				; R9, 28(SP)
43C4141E     6538		ADDQ	SP, 32, SP				; SP, 32, SP
	     653C	136_1199$:											    ; 013073
47E05410     653C		BIS	R31, 2, R16				; R31, 2, R16				    ; 013075
47E00417     6540		MOV	R0, R23					; R0, R23
47E10416     6544		MOV	R1, R22					; R1, R22
0000000F     6548		CALL_PAL 15					; 15
47F70400     654C		MOV	R23, R0					; R23, R0
A00B0528     6550		LDL	R0, 1320(R11)				; R0, 1320(R11)				    ; 013081
47F60401     6554		MOV	R22, R1					; R22, R1				    ; 013075
A0000000     6558		LDL	R0, (R0)				; R0, (R0)				    ; 013082
47FF041F     655C		NOP						; 
	     6560	136_70$:											    ; 013134
B01E0014     6560		STL	R0, 20(SP)				; R0, 20(SP)				    ; 013137
43C2941E     6564		ADDQ	SP, 20, SP				; SP, 20, SP				    ; 013135
A00B0030     6568		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 013138
239F04D1     656C		LDA	R28, 1233(R31)				; R28, 1233(R31)			    ; 013139
B38003C0     6570		STL	R28, 960(R0)				; R28, 960(R0)
A37E0004     6574		LDL	R27, 4(SP)				; R27, 4(SP)				    ; 013140
B36003DC     6578		STL	R27, 988(R0)				; R27, 988(R0)
A01E0000     657C		LDL	R0, (SP)				; R0, (SP)				    ; 013141

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 234
V01H                            LCLCNT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43C0941E     6580		ADDQ	SP, 4, SP				; SP, 4, SP
A14B0024     6584		LDL	R10, 36(R11)				; R10, 36(R11)				    ; 013143
F9400004     6588		BGE	R10, 136_3$				; R10, 136_3$				    ; 013145
B00A0000     658C		STL	R0, (R10)				; R0, (R10)				    ; 013146
F4000002     6590		BNE	R0, 136_3$				; R0, 136_3$				    ; 013147
47E0541A     6594		BIS	R31, 2, R26				; R31, 2, R26				    ; 013148
B34A0000     6598		STL	R26, (R10)				; R26, (R10)
	     659C	136_3$:												    ; 013149
A14B0020     659C		LDL	R10, 32(R11)				; R10, 32(R11)				    ; 013150
F9400010     65A0		BGE	R10, 136_20$				; R10, 136_20$				    ; 013151
A32A0000     65A4		LDL	R25, (R10)				; R25, (R10)				    ; 013152
E7200003     65A8		BEQ	R25, 136_71$				; R25, 136_71$				    ; 013153
A2EA0000     65AC		LDL	R23, (R10)				; R23, (R10)				    ; 013154
42E03137     65B0		SUBL	R23, 1, R23				; R23, 1, R23
B2EA0000     65B4		STL	R23, (R10)				; R23, (R10)
	     65B8	136_71$:											    ; 013155
A74DFB18     65B8		LDQ	R26, -1256(R13)				; R26, -1256(R13)			    ; 013157
43C0953E     65BC		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 013155
47E3F416     65C0		BIS	R31, 31, R22				; R31, 31, R22
A76DFB20     65C4		LDQ	R27, -1248(R13)				; R27, -1248(R13)			    ; 013157
B2DE0000     65C8		STL	R22, (SP)				; R22, (SP)				    ; 013155
43E00010     65CC		SEXTL	R0, R16					; R0, R16				    ; 013156
43C1953E     65D0		SUBQ	SP, 12, SP				; SP, 12, SP				    ; 013157
47E03419     65D4		BIS	R31, 1, R25				; R31, 1, R25
6B5A4000     65D8		JSR	R26, R26				; R26, R26
A01E000C     65DC		LDL	R0, 12(SP)				; R0, 12(SP)				    ; 013158
43C2141E     65E0		ADDQ	SP, 16, SP				; SP, 16, SP
	     65E4	136_20$:											    ; 013159
F000001D     65E4		BLBS	R0, 136_25$				; R0, 136_25$				    ; 013160
A78DFAE8     65E8		LDQ	R28, -1304(R13)				; R28, -1304(R13)			    ; 013162
A36B001C     65EC		LDL	R27, 28(R11)				; R27, 28(R11)				    ; 013164
A09C0000     65F0		LDL	R4, (R28)				; R4, (R28)				    ; 013162
B3640074     65F4		STL	R27, 116(R4)				; R27, 116(R4)				    ; 013164
A34B000C     65F8		LDL	R26, 12(R11)				; R26, 12(R11)				    ; 013168
A76DFC48     65FC		LDQ	R27, -952(R13)				; R27, -952(R13)			    ; 013170
B3440100     6600		STL	R26, 256(R4)				; R26, 256(R4)				    ; 013168
A30B0010     6604		LDL	R24, 16(R11)				; R24, 16(R11)				    ; 013169
B3040104     6608		STL	R24, 260(R4)				; R24, 260(R4)
A2CB000C     660C		LDL	R22, 12(R11)				; R22, 12(R11)				    ; 013170
A70DFAF0     6610		LDQ	R24, -1296(R13)				; R24, -1296(R13)			    ; 013172
B2DB0000     6614		STL	R22, (R27)				; R22, (R27)				    ; 013170
A32B0010     6618		LDL	R25, 16(R11)				; R25, 16(R11)				    ; 013171
B33B0004     661C		STL	R25, 4(R27)				; R25, 4(R27)
236DFDC0     6620		LDA	R27, -576(R13)				; R27, -576(R13)			    ; 013178
A0980000     6624		LDL	R4, (R24)				; R4, (R24)				    ; 013172
A2EB0014     6628		LDL	R23, 20(R11)				; R23, 20(R11)				    ; 013173
B2E40280     662C		STL	R23, 640(R4)				; R23, 640(R4)
A38B0018     6630		LDL	R28, 24(R11)				; R28, 24(R11)				    ; 013174
B3840284     6634		STL	R28, 644(R4)				; R28, 644(R4)
A32B000C     6638		LDL	R25, 12(R11)				; R25, 12(R11)				    ; 013175
B3240000     663C		STL	R25, (R4)				; R25, (R4)
A2EB0010     6640		LDL	R23, 16(R11)				; R23, 16(R11)				    ; 013176
B2E40004     6644		STL	R23, 4(R4)				; R23, 4(R4)
43C2153E     6648		SUBQ	SP, 16, SP				; SP, 16, SP				    ; 013178
B15E000C     664C		STL	R10, 12(SP)				; R10, 12(SP)				    ; 013177
D35FF147     6650		BSR	R26, UNDOID				; R26, UNDOID				    ; 013178
A15E000C     6654		LDL	R10, 12(SP)				; R10, 12(SP)				    ; 013179

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 235
V01H                            LCLCNT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43C2141E     6658		ADDQ	SP, 16, SP				; SP, 16, SP
	     665C	136_25$:											    ; 013180
43C0953E     665C		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 013182
A74DFC08     6660		LDQ	R26, -1016(R13)				; R26, -1016(R13)			    ; 013189
239F0535     6664		LDA	R28, 1333(R31)				; R28, 1333(R31)			    ; 013184
A76DFC10     6668		LDQ	R27, -1008(R13)				; R27, -1008(R13)			    ; 013189
B01E0000     666C		STL	R0, (SP)				; R0, (SP)				    ; 013182
A00B0030     6670		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 013183
B38003C0     6674		STL	R28, 960(R0)				; R28, 960(R0)				    ; 013184
B3C003E0     6678		STL	SP, 992(R0)				; SP, 992(R0)				    ; 013185
A01E0000     667C		LDL	R0, (SP)				; R0, (SP)				    ; 013186
43C0941E     6680		ADDQ	SP, 4, SP				; SP, 4, SP
6B5A4000     6684		JSR	R26, R26				; R26, R26				    ; 013189
A01E0000     6688		LDL	R0, (SP)				; R0, (SP)				    ; 013190
A03E0004     668C		LDL	R1, 4(SP)				; R1, 4(SP)
47E03400     6690		BIS	R31, 1, R0				; R31, 1, R0				    ; 013191
A05E0008     6694		LDL	R2, 8(SP)				; R2, 8(SP)				    ; 013190
A07E000C     6698		LDL	R3, 12(SP)				; R3, 12(SP)
A09E0010     669C		LDL	R4, 16(SP)				; R4, 16(SP)
A0BE0014     66A0		LDL	R5, 20(SP)				; R5, 20(SP)
A0DE0018     66A4		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     66A8		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     66AC		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     66B0		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     66B4		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     66B8		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     66BC		ADDQ	SP, 48, SP				; SP, 48, SP
	     66C0	$L80:												    ; 013192
A79E0000     66C0		LDQ	R28, (SP)				; R28, (SP)
A45E0008     66C4		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     66C8		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     66CC		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     66D0		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     66D4		LDQ	R6, 40(SP)				; R6, 40(SP)
A4FE0030     66D8		LDQ	R7, 48(SP)				; R7, 48(SP)
A51E0038     66DC		LDQ	R8, 56(SP)				; R8, 56(SP)
A53E0040     66E0		LDQ	R9, 64(SP)				; R9, 64(SP)
A55E0048     66E4		LDQ	R10, 72(SP)				; R10, 72(SP)
A57E0050     66E8		LDQ	R11, 80(SP)				; R11, 80(SP)
A5BE0058     66EC		LDQ	R13, 88(SP)				; R13, 88(SP)
43CC141E     66F0		ADDQ	SP, 96, SP				; SP, 96, SP
6BFC8001     66F4		RET	R28					; R28
	     66F8	136_50$:											    ; 013085
43C0953E     66F8		SUBQ	SP, 4, SP				; SP, 4, SP				    ; 013089
237F046D     66FC		LDA	R27, 1133(R31)				; R27, 1133(R31)			    ; 013091
B01E0000     6700		STL	R0, (SP)				; R0, (SP)				    ; 013089
A00B0030     6704		LDL	R0, 48(R11)				; R0, 48(R11)				    ; 013090
B36003C0     6708		STL	R27, 960(R0)				; R27, 960(R0)				    ; 013091
236DFC28     670C		LDA	R27, -984(R13)				; R27, -984(R13)			    ; 013095
A35E0004     6710		LDL	R26, 4(SP)				; R26, 4(SP)				    ; 013092
B34003DC     6714		STL	R26, 988(R0)				; R26, 988(R0)
A01E0000     6718		LDL	R0, (SP)				; R0, (SP)				    ; 013093
43C0953E     671C		SUBQ	SP, 4, SP				; SP, 4, SP
D35FEC73     6720		BSR	R26, CLNPRV				; R26, CLNPRV				    ; 013095
47E05419     6724		BIS	R31, 2, R25				; R31, 2, R25				    ; 013099
A74DFD78     6728		LDQ	R26, -648(R13)				; R26, -648(R13)
43E50011     672C		SEXTL	R5, R17					; R5, R17

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 236
V01H                            LCLCNT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B01E0004     6730		STL	R0, 4(SP)				; R0, 4(SP)				    ; 013096
47E03400     6734		BIS	R31, 1, R0				; R31, 1, R0				    ; 013098
B03E0000     6738		STL	R1, (SP)				; R1, (SP)				    ; 013097
47FF0401     673C		CLR	R1					; R1					    ; 013099
B0030050     6740		STL	R0, 80(R3)				; R0, 80(R3)
43E30010     6744		SEXTL	R3, R16					; R3, R16
A76DFD80     6748		LDQ	R27, -640(R13)				; R27, -640(R13)
B0230054     674C		STL	R1, 84(R3)				; R1, 84(R3)
47FF041F     6750		NOP						; 
6B5A4000     6754		JSR	R26, R26				; R26, R26
	     6758	136_170$:											    ; 013111
A03E0000     6758		LDL	R1, (SP)				; R1, (SP)				    ; 013112
A01E0004     675C		LDL	R0, 4(SP)				; R0, 4(SP)				    ; 013113
43C1141E     6760		ADDQ	SP, 8, SP				; SP, 8, SP
43E1000A     6764		SEXTL	R1, R10					; R1, R10				    ; 013118
40010530     6768		SUBQ	R0, R1, R16				; R0, R1, R16				    ; 013114
E61FFF7C     676C		BEQ	R16, 136_70$				; R16, 136_70$				    ; 013115
A1260000     6770		LDL	R9, (R6)				; R9, (R6)				    ; 013119
B1460000     6774		STL	R10, (R6)				; R10, (R6)				    ; 013120
A309007C     6778		LDL	R24, 124(R9)				; R24, 124(R9)				    ; 013123
43003138     677C		SUBL	R24, 1, R24				; R24, 1, R24
B309007C     6780		STL	R24, 124(R9)				; R24, 124(R9)
FF000002     6784		BGT	R24, 136_174$				; R24, 136_174$				    ; 013124
47E03417     6788		BIS	R31, 1, R23				; R31, 1, R23				    ; 013125
B2E9007C     678C		STL	R23, 124(R9)				; R23, 124(R9)
	     6790	136_174$:											    ; 013126
A38A007C     6790		LDL	R28, 124(R10)				; R28, 124(R10)
4380301C     6794		ADDL	R28, 1, R28				; R28, 1, R28
B38A007C     6798		STL	R28, 124(R10)				; R28, 124(R10)
C3FFFF70     679C		BR	136_70$					; 136_70$				    ; 013134
	     67A0	136_60$:											    ; 013102
43C1153E     67A0		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 013105
236DFC28     67A4		LDA	R27, -984(R13)				; R27, -984(R13)
D35FEC51     67A8		BSR	R26, CLNPRV				; R26, CLNPRV
47E05419     67AC		BIS	R31, 2, R25				; R31, 2, R25				    ; 013109
A74DFD78     67B0		LDQ	R26, -648(R13)				; R26, -648(R13)
43E50011     67B4		SEXTL	R5, R17					; R5, R17
B01E0004     67B8		STL	R0, 4(SP)				; R0, 4(SP)				    ; 013106
47E49400     67BC		BIS	R31, 36, R0				; R31, 36, R0				    ; 013108
B03E0000     67C0		STL	R1, (SP)				; R1, (SP)				    ; 013107
47FF0401     67C4		CLR	R1					; R1					    ; 013109
B0030050     67C8		STL	R0, 80(R3)				; R0, 80(R3)
43E30010     67CC		SEXTL	R3, R16					; R3, R16
A76DFD80     67D0		LDQ	R27, -640(R13)				; R27, -640(R13)
B0230054     67D4		STL	R1, 84(R3)				; R1, 84(R3)
6B5A4000     67D8		JSR	R26, R26				; R26, R26
C3FFFFDE     67DC		BR	136_170$				; 136_170$				    ; 013111
	     67E0	136_199$:											    ; 013066
A0DE0000     67E0		LDL	R6, (SP)				; R6, (SP)				    ; 013067
47E21400     67E4		BIS	R31, 16, R0				; R31, 16, R0				    ; 013068
A0FE0004     67E8		LDL	R7, 4(SP)				; R7, 4(SP)				    ; 013067
47FF0401     67EC		CLR	R1					; R1					    ; 013069
A11E0008     67F0		LDL	R8, 8(SP)				; R8, 8(SP)				    ; 013067
43E50011     67F4		SEXTL	R5, R17					; R5, R17				    ; 013069
A13E000C     67F8		LDL	R9, 12(SP)				; R9, 12(SP)				    ; 013067
43C2141E     67FC		ADDQ	SP, 16, SP				; SP, 16, SP
A74DFD78     6800		LDQ	R26, -648(R13)				; R26, -648(R13)			    ; 013069

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 237
V01H                            LCLCNT                           2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43E30010     6804		SEXTL	R3, R16					; R3, R16
B0030050     6808		STL	R0, 80(R3)				; R0, 80(R3)
47E05419     680C		BIS	R31, 2, R25				; R31, 2, R25
B0230054     6810		STL	R1, 84(R3)				; R1, 84(R3)
43C1153E     6814		SUBQ	SP, 8, SP				; SP, 8, SP
A76DFD80     6818		LDQ	R27, -640(R13)				; R27, -640(R13)
6B5A4000     681C		JSR	R26, R26				; R26, R26
A01E0020     6820		LDL	R0, 32(SP)				; R0, 32(SP)				    ; 013071
A03E0024     6824		LDL	R1, 36(SP)				; R1, 36(SP)
A05E0028     6828		LDL	R2, 40(SP)				; R2, 40(SP)
A07E002C     682C		LDL	R3, 44(SP)				; R3, 44(SP)
A09E0030     6830		LDL	R4, 48(SP)				; R4, 48(SP)
43C4141E     6834		ADDQ	SP, 32, SP				; SP, 32, SP				    ; 013070
A0BE0014     6838		LDL	R5, 20(SP)				; R5, 20(SP)				    ; 013071
A0DE0018     683C		LDL	R6, 24(SP)				; R6, 24(SP)
A0FE001C     6840		LDL	R7, 28(SP)				; R7, 28(SP)
A11E0020     6844		LDL	R8, 32(SP)				; R8, 32(SP)
A13E0024     6848		LDL	R9, 36(SP)				; R9, 36(SP)
A15E0028     684C		LDL	R10, 40(SP)				; R10, 40(SP)
A17E002C     6850		LDL	R11, 44(SP)				; R11, 44(SP)
43C6141E     6854		ADDQ	SP, 48, SP				; SP, 48, SP
C3FFFF99     6858		BR	$L80					; $L80					    ; 013072
47FF041F     685C		NOP						; 

Routine Size: 1920 bytes,    Routine Base: $$$115_DRIVER + 60E0

	     6860	GRANTID:											    ; 013231
43CA153E     6860		SUBQ	SP, 80, SP				; SP, 80, SP
473FF019     6864		AND	R25, 255, R25				; R25, 255, R25
B77E0000     6868		STQ	R27, (SP)				; R27, (SP)
B75E0028     686C		STQ	R26, 40(SP)				; R26, 40(SP)
B45E0030     6870		STQ	R2, 48(SP)				; R2, 48(SP)
B47E0038     6874		STQ	R3, 56(SP)				; R3, 56(SP)
B5BE0040     6878		STQ	R13, 64(SP)				; R13, 64(SP)
47FB040D     687C		MOV	R27, R13				; R27, R13
B7BE0048     6880		STQ	FP, 72(SP)				; FP, 72(SP)
47FE041D     6884		MOV	SP, FP					; SP, FP
B33D0008     6888		STL	R25, 8(FP)				; R25, 8(FP)
B21D000C     688C		STL	R16, 12(FP)				; R16, 12(FP)
B23D0010     6890		STL	R17, 16(FP)				; R17, 16(FP)
B25D0014     6894		STL	R18, 20(FP)				; R18, 20(FP)
B27D0018     6898		STL	R19, 24(FP)				; R19, 24(FP)
B29D001C     689C		STL	R20, 28(FP)				; R20, 28(FP)
B2BD0020     68A0		STL	R21, 32(FP)				; R21, 32(FP)
	     68A4	$L81:
47E03403     68A4		BIS	R31, 1, R3				; R31, 1, R3				    ; 013235
C3E00013     68A8		BR	GR10$					; GR10$					    ; 013236
47FF041F     68AC		NOP						; 

Routine Size: 80 bytes,    Routine Base: $$$115_DRIVER + 6860

	     68B0	REVOKID:											    ; 013238
43CA153E     68B0		SUBQ	SP, 80, SP				; SP, 80, SP
473FF019     68B4		AND	R25, 255, R25				; R25, 255, R25
B77E0000     68B8		STQ	R27, (SP)				; R27, (SP)
B75E0028     68BC		STQ	R26, 40(SP)				; R26, 40(SP)
B45E0030     68C0		STQ	R2, 48(SP)				; R2, 48(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 238
V01H                            REVOKID                          2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B47E0038     68C4		STQ	R3, 56(SP)				; R3, 56(SP)
B5BE0040     68C8		STQ	R13, 64(SP)				; R13, 64(SP)
436A152D     68CC		SUBQ	R27, 80, R13				; R27, 80, R13
B7BE0048     68D0		STQ	FP, 72(SP)				; FP, 72(SP)
47FE041D     68D4		MOV	SP, FP					; SP, FP
B33D0008     68D8		STL	R25, 8(FP)				; R25, 8(FP)
B21D000C     68DC		STL	R16, 12(FP)				; R16, 12(FP)
B23D0010     68E0		STL	R17, 16(FP)				; R17, 16(FP)
B25D0014     68E4		STL	R18, 20(FP)				; R18, 20(FP)
B27D0018     68E8		STL	R19, 24(FP)				; R19, 24(FP)
B29D001C     68EC		STL	R20, 28(FP)				; R20, 28(FP)
B2BD0020     68F0		STL	R21, 32(FP)				; R21, 32(FP)
	     68F4	$L83:
47FF0403     68F4		CLR	R3					; R3					    ; 013242
	     68F8	GR10$:												    ; 013243
A05D0014     68F8		LDL	R2, 20(FP)				; R2, 20(FP)				    ; 013244
F4400003     68FC		BNE	R2, 139_20$				; R2, 139_20$				    ; 013245
43C1153E     6900		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 013246
43FE0002     6904		SEXTL	SP, R2					; SP, R2				    ; 013247
B7FE0000     6908		STQ	R31, (SP)				; R31, (SP)				    ; 013246
	     690C	139_20$:											    ; 013249
A3620000     690C		LDL	R27, (R2)				; R27, (R2)
E760000F     6910		BEQ	R27, 139_40$				; R27, 139_40$				    ; 013250
	     6914	139_30$:											    ; 013252
A21D000C     6914		LDL	R16, 12(FP)				; R16, 12(FP)				    ; 013254
47C1F01A     6918		AND	SP, 15, R26				; SP, 15, R26				    ; 013259
A23D0010     691C		LDL	R17, 16(FP)				; R17, 16(FP)				    ; 013254
4342141A     6920		ADDQ	R26, 16, R26				; R26, 16, R26				    ; 013259
A29D001C     6924		LDL	R20, 28(FP)				; R20, 28(FP)				    ; 013252
47C1F11E     6928		BIC	SP, 15, SP				; SP, 15, SP				    ; 013259
43C2153E     692C		SUBQ	SP, 16, SP				; SP, 16, SP
43E30013     6930		SEXTL	R3, R19					; R3, R19				    ; 013253
43E20012     6934		SEXTL	R2, R18					; R2, R18
B75E0008     6938		STQ	R26, 8(SP)				; R26, 8(SP)				    ; 013259
47E0B419     693C		BIS	R31, 5, R25				; R31, 5, R25
41BF153B     6940		SUBQ	R13, 248, R27				; R13, 248, R27
D340000E     6944		BSR	R26, GRANT_REVOKE			; R26, GRANT_REVOKE
A75E0008     6948		LDQ	R26, 8(SP)				; R26, 8(SP)
43DA001E     694C		ADDL	SP, R26, SP				; SP, R26, SP
	     6950	139_40$:											    ; 013260
47FD041E     6950		MOV	FP, SP					; FP, SP
A79E0028     6954		LDQ	R28, 40(SP)				; R28, 40(SP)
A45E0030     6958		LDQ	R2, 48(SP)				; R2, 48(SP)
A47E0038     695C		LDQ	R3, 56(SP)				; R3, 56(SP)
A5BE0040     6960		LDQ	R13, 64(SP)				; R13, 64(SP)
A7BE0048     6964		LDQ	FP, 72(SP)				; FP, 72(SP)
43CA141E     6968		ADDQ	SP, 80, SP				; SP, 80, SP
6BFC8001     696C		RET	R28					; R28
	     6970	$L123:												    ; 013251
C3FFFFF7     6970		BR	139_40$					; 139_40$
47FF041F     6974		NOP						; 
47FF041F     6978		NOP						; 
47FF041F     697C		NOP						; 

Routine Size: 208 bytes,    Routine Base: $$$115_DRIVER + 68B0

	     6980	GRANT_REVOKE::											    ; 013299

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 239
V01H                            GRANT_REVOKE                     2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43D4153E     6980		SUBQ	SP, 160, SP				; SP, 160, SP
B77E0000     6984		STQ	R27, (SP)				; R27, (SP)
B75E0038     6988		STQ	R26, 56(SP)				; R26, 56(SP)
B45E0040     698C		STQ	R2, 64(SP)				; R2, 64(SP)
B47E0048     6990		STQ	R3, 72(SP)				; R3, 72(SP)
B49E0050     6994		STQ	R4, 80(SP)				; R4, 80(SP)
B4BE0058     6998		STQ	R5, 88(SP)				; R5, 88(SP)
B4DE0060     699C		STQ	R6, 96(SP)				; R6, 96(SP)
B4FE0068     69A0		STQ	R7, 104(SP)				; R7, 104(SP)
B51E0070     69A4		STQ	R8, 112(SP)				; R8, 112(SP)
B53E0078     69A8		STQ	R9, 120(SP)				; R9, 120(SP)
B5BE0080     69AC		STQ	R13, 128(SP)				; R13, 128(SP)
B5DE0088     69B0		STQ	R14, 136(SP)				; R14, 136(SP)
47FB040D     69B4		MOV	R27, R13				; R27, R13
B5FE0090     69B8		STQ	R15, 144(SP)				; R15, 144(SP)
B7BE0098     69BC		STQ	FP, 152(SP)				; FP, 152(SP)
47FE041D     69C0		MOV	SP, FP					; SP, FP
B7FE0008     69C4		STQ	R31, 8(SP)				; R31, 8(SP)
A5EDFAB0     69C8		LDQ	R15, -1360(R13)				; R15, -1360(R13)			    ; 013503
B73D0010     69CC		STQ	R25, 16(FP)				; R25, 16(FP)				    ; 013299
B61D0018     69D0		STQ	R16, 24(FP)				; R16, 24(FP)
B63D0020     69D4		STQ	R17, 32(FP)				; R17, 32(FP)
B65D0028     69D8		STQ	R18, 40(FP)				; R18, 40(FP)
B67D0030     69DC		STQ	R19, 48(FP)				; R19, 48(FP)
	     69E0	$L85:
A78DFAD8     69E0		LDQ	R28, -1320(R13)				; R28, -1320(R13)			    ; 013304
43E40006     69E4		SEXTL	R4, R6					; R4, R6				    ; 013303
A36F0000     69E8		LDL	R27, (R15)				; R27, (R15)				    ; 013503
47FF0407     69EC		CLR	R7					; R7					    ; 013302
47FF0408     69F0		CLR	R8					; R8
A09C0000     69F4		LDL	R4, (R28)				; R4, (R28)				    ; 013304
F360002F     69F8		BLBS	R27, $L124				; R27, $L124				    ; 013503
	     69FC	140_30095$:
47E11410     69FC		BIS	R31, 8, R16				; R31, 8, R16
47E0041A     6A00		MOV	R0, R26					; R0, R26
47E10419     6A04		MOV	R1, R25					; R1, R25
0000000F     6A08		CALL_PAL 15					; 15
47FA0400     6A0C		MOV	R26, R0					; R26, R0
47F90401     6A10		MOV	R25, R1					; R25, R1
2FFE0000     6A14		LNOP						; 
	     6A18	140_30096$:
A30F0000     6A18		LDL	R24, (R15)				; R24, (R15)				    ; 013631
A02400D4     6A1C		LDL	R1, 212(R4)				; R1, 212(R4)				    ; 013504
E3000008     6A20		BLBC	R24, 140_30101$				; R24, 140_30101$			    ; 013631
A74DFAC8     6A24		LDQ	R26, -1336(R13)				; R26, -1336(R13)
43C2153E     6A28		SUBQ	SP, 16, SP				; SP, 16, SP
A76DFAD0     6A2C		LDQ	R27, -1328(R13)				; R27, -1328(R13)
B41E0008     6A30		STQ	R0, 8(SP)				; R0, 8(SP)
47E65400     6A34		BIS	R31, 50, R0				; R31, 50, R0
6B5A4000     6A38		JSR	R26, R26				; R26, R26
A41E0008     6A3C		LDQ	R0, 8(SP)				; R0, 8(SP)
43C2141E     6A40		ADDQ	SP, 16, SP				; SP, 16, SP
	     6A44	140_30101$:
47E05410     6A44		BIS	R31, 2, R16				; R31, 2, R16
47E00417     6A48		MOV	R0, R23					; R0, R23
47E10416     6A4C		MOV	R1, R22					; R1, R22
43E40006     6A50		SEXTL	R4, R6					; R4, R6				    ; 013633

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 240
V01H                            GRANT_REVOKE                     2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

0000000F     6A54		CALL_PAL 15					; 15					    ; 013631
47F70400     6A58		MOV	R23, R0					; R23, R0
47F60401     6A5C		MOV	R22, R1					; R22, R1
47E03400     6A60		BIS	R31, 1, R0				; R31, 1, R0				    ; 013632
2FFE0000     6A64		LNOP						; 
	     6A68	140_50$:											    ; 013634
40E6005B     6A68		S4ADDL	R7, R6, R27				; R7, R6, R27
21FB0120     6A6C		LDA	R15, 288(R27)				; R15, 288(R27)
A08F0000     6A70		LDL	R4, (R15)				; R4, (R15)
E480000C     6A74		BEQ	R4, 140_100$				; R4, 140_100$				    ; 013635
A3440000     6A78		LDL	R26, (R4)				; R26, (R4)				    ; 013636
40809404     6A7C		ADDQ	R4, 4, R4				; R4, 4, R4
A0840000     6A80		LDL	R4, (R4)				; R4, (R4)				    ; 013637
43FA0018     6A84		SEXTL	R26, R24				; R26, R24				    ; 013636
4B007783     6A88		SRA	R24, 3, R3				; R24, 3, R3
	     6A8C	140_60$:											    ; 013639
A03D0028     6A8C		LDL	R1, 40(FP)				; R1, 40(FP)
47FF0405     6A90		CLR	R5					; R5					    ; 013645
A0410004     6A94		LDL	R2, 4(R1)				; R2, 4(R1)				    ; 013641
A0210000     6A98		LDL	R1, (R1)				; R1, (R1)				    ; 013642
	     6A9C	140_90$:											    ; 013662
40603123     6A9C		SUBL	R3, 1, R3				; R3, 1, R3
F860000B     6AA0		BGE	R3, 140_80$				; R3, 140_80$
47FF041F     6AA4		NOP						; 
	     6AA8	140_100$:											    ; 013666
F4E00011     6AA8		BNE	R7, 140_110$				; R7, 140_110$				    ; 013667
47FF041F     6AAC		NOP						; 
	     6AB0	L$5:
40E05007     6AB0		ADDL	R7, 2, R7				; R7, 2, R7				    ; 013668
C3FFFFEC     6AB4		BR	140_50$					; 140_50$				    ; 013669
	     6AB8	$L124:												    ; 013503
A74DFAB8     6AB8		LDQ	R26, -1352(R13)				; R26, -1352(R13)
47E65400     6ABC		BIS	R31, 50, R0				; R31, 50, R0
A76DFAC0     6AC0		LDQ	R27, -1344(R13)				; R27, -1344(R13)
6B5A4000     6AC4		JSR	R26, R26				; R26, R26
C3FFFFD3     6AC8		BR	140_30096$				; 140_30096$
47FF041F     6ACC		NOP						; 
	     6AD0	140_80$:											    ; 013657
A0040000     6AD0		LDL	R0, (R4)				; R0, (R4)
E400006E     6AD4		BEQ	R0, 140_70$				; R0, 140_70$				    ; 013658
40010532     6AD8		SUBQ	R0, R1, R18				; R0, R1, R18				    ; 013659
E6400072     6ADC		BEQ	R18, 140_140$				; R18, 140_140$				    ; 013660
40603123     6AE0		SUBL	R3, 1, R3				; R3, 1, R3				    ; 013662
40811004     6AE4		ADDL	R4, 8, R4				; R4, 8, R4				    ; 013661
F87FFFF9     6AE8		BGE	R3, 140_80$				; R3, 140_80$				    ; 013662
E4FFFFF0     6AEC		BEQ	R7, L$5					; R7, L$5				    ; 013667
	     6AF0	140_110$:											    ; 013671
A2FD0030     6AF0		LDL	R23, 48(FP)				; R23, 48(FP)
E2E00003     6AF4		BLBC	R23, 140_120$				; R23, 140_120$
E5000013     6AF8		BEQ	R8, 140_180$				; R8, 140_180$				    ; 013673
B0280000     6AFC		STL	R1, (R8)				; R1, (R8)				    ; 013674
B0480004     6B00		STL	R2, 4(R8)				; R2, 4(R8)				    ; 013675
	     6B04	140_120$:											    ; 013677
47E03400     6B04		BIS	R31, 1, R0				; R31, 1, R0
	     6B08	140_130$:											    ; 013678
47FD041E     6B08		MOV	FP, SP					; FP, SP
A79E0038     6B0C		LDQ	R28, 56(SP)				; R28, 56(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 241
V01H                            GRANT_REVOKE                     2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A45E0040     6B10		LDQ	R2, 64(SP)				; R2, 64(SP)
A47E0048     6B14		LDQ	R3, 72(SP)				; R3, 72(SP)
A49E0050     6B18		LDQ	R4, 80(SP)				; R4, 80(SP)
A4BE0058     6B1C		LDQ	R5, 88(SP)				; R5, 88(SP)
A4DE0060     6B20		LDQ	R6, 96(SP)				; R6, 96(SP)
A4FE0068     6B24		LDQ	R7, 104(SP)				; R7, 104(SP)
A51E0070     6B28		LDQ	R8, 112(SP)				; R8, 112(SP)
A53E0078     6B2C		LDQ	R9, 120(SP)				; R9, 120(SP)
A5BE0080     6B30		LDQ	R13, 128(SP)				; R13, 128(SP)
A5DE0088     6B34		LDQ	R14, 136(SP)				; R14, 136(SP)
A5FE0090     6B38		LDQ	R15, 144(SP)				; R15, 144(SP)
A7BE0098     6B3C		LDQ	FP, 152(SP)				; FP, 152(SP)
43D4141E     6B40		ADDQ	SP, 160, SP				; SP, 160, SP
6BFC8001     6B44		RET	R28					; R28
	     6B48	140_180$:											    ; 013699
A12F0000     6B48		LDL	R9, (R15)				; R9, (R15)				    ; 013700
47FF0401     6B4C		CLR	R1					; R1					    ; 013699
47FF0402     6B50		CLR	R2					; R2
E5200002     6B54		BEQ	R9, 140_190$				; R9, 140_190$				    ; 013701
A0290000     6B58		LDL	R1, (R9)				; R1, (R9)				    ; 013702
A0490004     6B5C		LDL	R2, 4(R9)				; R2, 4(R9)				    ; 013703
	     6B60	140_190$:											    ; 013705
A74D0038     6B60		LDQ	R26, 56(R13)				; R26, 56(R13)				    ; 013709
43E10003     6B64		SEXTL	R1, R3					; R1, R3				    ; 013706
A76D0040     6B68		LDQ	R27, 64(R13)				; R27, 64(R13)				    ; 013709
43E20004     6B6C		SEXTL	R2, R4					; R2, R4				    ; 013707
402A1001     6B70		ADDL	R1, 80, R1				; R1, 80, R1				    ; 013708
6B5A4000     6B74		JSR	R26, R26				; R26, R26				    ; 013709
E01FFFE3     6B78		BLBC	R0, 140_130$				; R0, 140_130$				    ; 013710
43E20005     6B7C		SEXTL	R2, R5					; R2, R5				    ; 013711
47E2041A     6B80		MOV	R2, R26					; R2, R26				    ; 013712
40409402     6B84		ADDQ	R2, 4, R2				; R2, 4, R2
40221139     6B88		SUBL	R1, 16, R25				; R1, 16, R25
B33A0000     6B8C		STL	R25, (R26)				; R25, (R26)
40411418     6B90		ADDQ	R2, 8, R24				; R2, 8, R24				    ; 013713
47E20417     6B94		MOV	R2, R23					; R2, R23
40409402     6B98		ADDQ	R2, 4, R2				; R2, 4, R2
47E20419     6B9C		MOV	R2, R25					; R2, R25				    ; 013714
B3170000     6BA0		STL	R24, (R23)				; R24, (R23)				    ; 013713
4839037A     6BA4		INSWL	R1, R25, R26				; R1, R25, R26				    ; 013714
2F190000     6BA8		LDQ_U	R24, (R25)				; R24, (R25)
40405402     6BAC		ADDQ	R2, 2, R2				; R2, 2, R2
4B190258     6BB0		MSKWL	R24, R25, R24				; R24, R25, R24
471A0418     6BB4		BIS	R24, R26, R24				; R24, R26, R24
F3200059     6BB8		BLBS	R25, $L198				; R25, $L198
	     6BBC	$L199:
47E20417     6BBC		MOV	R2, R23					; R2, R23				    ; 013715
3F190000     6BC0		STQ_U	R24, (R25)				; R24, (R25)				    ; 013714
47E85418     6BC4		BIS	R31, 66, R24				; R31, 66, R24				    ; 013715
2F570000     6BC8		LDQ_U	R26, (R23)				; R26, (R23)
4B17036E     6BCC		INSWL	R24, R23, R14				; R24, R23, R14
40405402     6BD0		ADDQ	R2, 2, R2				; R2, 2, R2
4B57025A     6BD4		MSKWL	R26, R23, R26				; R26, R23, R26
474E041A     6BD8		BIS	R26, R14, R26				; R26, R14, R26
F2E00056     6BDC		BLBS	R23, $L200				; R23, $L200
	     6BE0	$L201:
3F570000     6BE0		STQ_U	R26, (R23)				; R26, (R23)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 242
V01H                            GRANT_REVOKE                     2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

43C1153E     6BE4		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 013717
486012D3     6BE8		EXTWL	R3, 0, R19				; R3, 0, R19				    ; 013719
B09E0004     6BEC		STL	R4, 4(SP)				; R4, 4(SP)				    ; 013716
B0BE0000     6BF0		STL	R5, (SP)				; R5, (SP)				    ; 013717
47E40412     6BF4		MOV	R4, R18					; R4, R18				    ; 013719
2E250000     6BF8		LDQ_U	R17, (R5)				; R17, (R5)
4A2502D1     6BFC		EXTWL	R17, R5, R17				; R17, R5, R17
F0A00053     6C00		BLBS	R5, $L202				; R5, $L202
	     6C04	$L203:
47F10401     6C04		MOV	R17, R1					; R17, R1
A74DFBC8     6C08		LDQ	R26, -1080(R13)				; R26, -1080(R13)
42710134     6C0C		SUBL	R19, R17, R20				; R19, R17, R20
46930881     6C10		CMOVLT	R20, R19, R1				; R20, R19, R1
47E20410     6C14		MOV	R2, R16					; R2, R16
42410001     6C18		ADDL	R18, R1, R1				; R18, R1, R1
42110003     6C1C		ADDL	R16, R17, R3				; R16, R17, R3
6B5A4000     6C20		JSR	R26, R26				; R26, R26
E6200002     6C24		BEQ	R17, $L204				; R17, $L204
A74DFBA8     6C28		LDQ	R26, -1112(R13)				; R26, -1112(R13)
6B5A4000     6C2C		JSR	R26, R26				; R26, R26
	     6C30	$L204:
A0BE0000     6C30		LDL	R5, (SP)				; R5, (SP)				    ; 013721
47FF0402     6C34		CLR	R2					; R2					    ; 013719
A09E0004     6C38		LDL	R4, 4(SP)				; R4, 4(SP)				    ; 013722
43C1141E     6C3C		ADDQ	SP, 8, SP				; SP, 8, SP
A6CD0028     6C40		LDQ	R22, 40(R13)				; R22, 40(R13)				    ; 013724
E0E0000C     6C44		BLBC	R7, 140_200$				; R7, 140_200$				    ; 013723
A2E50000     6C48		LDL	R23, (R5)				; R23, (R5)				    ; 013724
43E40000     6C4C		SEXTL	R4, R0					; R4, R0				    ; 013726
B2F60000     6C50		STL	R23, (R22)				; R23, (R22)				    ; 013724
A2A50004     6C54		LDL	R21, 4(R5)				; R21, 4(R5)				    ; 013725
B2B60004     6C58		STL	R21, 4(R22)				; R21, 4(R22)
E41FFF82     6C5C		BEQ	R0, 140_50$				; R0, 140_50$				    ; 013727
40019120     6C60		SUBL	R0, 12, R0				; R0, 12, R0				    ; 013728
2FFE0000     6C64		LNOP						; 
	     6C68	140_210$:											    ; 013734
A74D0048     6C68		LDQ	R26, 72(R13)				; R26, 72(R13)
A76D0050     6C6C		LDQ	R27, 80(R13)				; R27, 80(R13)
6B5A4000     6C70		JSR	R26, R26				; R26, R26
	     6C74	140_220$:											    ; 013735
C3FFFF7C     6C74		BR	140_50$					; 140_50$
	     6C78	140_200$:											    ; 013731
40E6005B     6C78		S4ADDL	R7, R6, R27				; R7, R6, R27
43E90000     6C7C		SEXTL	R9, R0					; R9, R0				    ; 013732
B0BB0120     6C80		STL	R5, 288(R27)				; R5, 288(R27)				    ; 013731
E41FFF78     6C84		BEQ	R0, 140_50$				; R0, 140_50$				    ; 013733
C3FFFFF7     6C88		BR	140_210$				; 140_210$				    ; 013734
47FF041F     6C8C		NOP						; 
	     6C90	140_70$:											    ; 013650
F51FFF85     6C90		BNE	R8, 140_100$				; R8, 140_100$				    ; 013651
43E40008     6C94		SEXTL	R4, R8					; R4, R8				    ; 013652
F4FFFF95     6C98		BNE	R7, 140_110$				; R7, 140_110$				    ; 013667
40E05007     6C9C		ADDL	R7, 2, R7				; R7, 2, R7				    ; 013668
C3FFFF71     6CA0		BR	140_50$					; 140_50$				    ; 013669
47FF041F     6CA4		NOP						; 
	     6CA8	140_140$:											    ; 013682
E4A00002     6CA8		BEQ	R5, 140_150$				; R5, 140_150$				    ; 013683

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 243
V01H                            GRANT_REVOKE                     2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A3440004     6CAC		LDL	R26, 4(R4)				; R26, 4(R4)				    ; 013684
B3450000     6CB0		STL	R26, (R5)				; R26, (R5)
	     6CB4	140_150$:											    ; 013685
A33D0030     6CB4		LDL	R25, 48(FP)				; R25, 48(FP)
F3200015     6CB8		BLBS	R25, $L125				; R25, $L125
	     6CBC	140_160$:											    ; 013691
48607723     6CBC		SLL	R3, 3, R3				; R3, 3, R3
A74DFBC8     6CC0		LDQ	R26, -1080(R13)				; R26, -1080(R13)			    ; 013693
40811412     6CC4		ADDQ	R4, 8, R18				; R4, 8, R18
43E30003     6CC8		SEXTL	R3, R3					; R3, R3				    ; 013691
40611000     6CCC		ADDL	R3, 8, R0				; R3, 8, R0				    ; 013692
486012D3     6CD0		EXTWL	R3, 0, R19				; R3, 0, R19				    ; 013693
480012D1     6CD4		EXTWL	R0, 0, R17				; R0, 0, R17
47E40410     6CD8		MOV	R4, R16					; R4, R16
47F10401     6CDC		MOV	R17, R1					; R17, R1
42710134     6CE0		SUBL	R19, R17, R20				; R19, R17, R20
46930881     6CE4		CMOVLT	R20, R19, R1				; R20, R19, R1
42710120     6CE8		SUBL	R19, R17, R0				; R19, R17, R0
42410001     6CEC		ADDL	R18, R1, R1				; R18, R1, R1
6B5A4000     6CF0		JSR	R26, R26				; R26, R26
E6200003     6CF4		BEQ	R17, 140_170$				; R17, 140_170$
A74DFBA8     6CF8		LDQ	R26, -1112(R13)				; R26, -1112(R13)
44001880     6CFC		CMOVLT	R0, 0, R0				; R0, 0, R0
6B5A4000     6D00		JSR	R26, R26				; R26, R26
	     6D04	140_170$:											    ; 013694
47E13400     6D04		BIS	R31, 9, R0				; R31, 9, R0
C3FFFF7F     6D08		BR	140_130$				; 140_130$				    ; 013695
2FFE0000     6D0C		LNOP						; 
	     6D10	$L125:												    ; 013686
B0240000     6D10		STL	R1, (R4)				; R1, (R4)
47E13400     6D14		BIS	R31, 9, R0				; R31, 9, R0				    ; 013694
B0440004     6D18		STL	R2, 4(R4)				; R2, 4(R4)				    ; 013687
C3FFFF7A     6D1C		BR	140_130$				; 140_130$				    ; 013695
	     6D20	$L198:												    ; 013714
2EF90001     6D20		LDQ_U	R23, 1(R25)				; R23, 1(R25)
48390AFA     6D24		INSWH	R1, R25, R26				; R1, R25, R26
4AF90A57     6D28		MSKWH	R23, R25, R23				; R23, R25, R23
46FA0417     6D2C		BIS	R23, R26, R23				; R23, R26, R23
3EF90001     6D30		STQ_U	R23, 1(R25)				; R23, 1(R25)
C3FFFFA1     6D34		BR	$L199					; $L199
	     6D38	$L200:												    ; 013715
2F370001     6D38		LDQ_U	R25, 1(R23)				; R25, 1(R23)
4B170AEE     6D3C		INSWH	R24, R23, R14				; R24, R23, R14
4B370A59     6D40		MSKWH	R25, R23, R25				; R25, R23, R25
472E0419     6D44		BIS	R25, R14, R25				; R25, R14, R25
3F370001     6D48		STQ_U	R25, 1(R23)				; R25, 1(R23)
C3FFFFA4     6D4C		BR	$L201					; $L201
	     6D50	$L202:												    ; 013719
2F050001     6D50		LDQ_U	R24, 1(R5)				; R24, 1(R5)
4B050B59     6D54		EXTWH	R24, R5, R25				; R24, R5, R25
46390411     6D58		BIS	R17, R25, R17				; R17, R25, R17
C3FFFFA9     6D5C		BR	$L203					; $L203

Routine Size: 992 bytes,    Routine Base: $$$115_DRIVER + 6980

	     6D60	KAST_CODE:											    ; 013864
43C8153E     6D60		SUBQ	SP, 64, SP				; SP, 64, SP

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 244
V01H                            KAST_CODE                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

B75E0000     6D64		STQ	R26, (SP)				; R26, (SP)
B45E0008     6D68		STQ	R2, 8(SP)				; R2, 8(SP)
B47E0010     6D6C		STQ	R3, 16(SP)				; R3, 16(SP)
B49E0018     6D70		STQ	R4, 24(SP)				; R4, 24(SP)
B4BE0020     6D74		STQ	R5, 32(SP)				; R5, 32(SP)
B4DE0028     6D78		STQ	R6, 40(SP)				; R6, 40(SP)
B57E0030     6D7C		STQ	R11, 48(SP)				; R11, 48(SP)
B5BE0038     6D80		STQ	R13, 56(SP)				; R13, 56(SP)
47FB040D     6D84		MOV	R27, R13				; R27, R13
	     6D88	$L87:
43C1153E     6D88		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 013865
A74D0010     6D8C		LDQ	R26, 16(R13)				; R26, 16(R13)				    ; 013876
A76D0018     6D90		LDQ	R27, 24(R13)				; R27, 24(R13)
B0DE0004     6D94		STL	R6, 4(SP)				; R6, 4(SP)				    ; 013865
B0BE0000     6D98		STL	R5, (SP)				; R5, (SP)
A1650014     6D9C		LDL	R11, 20(R5)				; R11, 20(R5)				    ; 013868
47E07405     6DA0		BIS	R31, 3, R5				; R31, 3, R5				    ; 013874
A00B0014     6DA4		LDL	R0, 20(R11)				; R0, 20(R11)				    ; 013870
A04B0018     6DA8		LDL	R2, 24(R11)				; R2, 24(R11)				    ; 013872
41639401     6DAC		ADDQ	R11, 28, R1				; R11, 28, R1				    ; 013871
41679403     6DB0		ADDQ	R11, 60, R3				; R11, 60, R3				    ; 013873
20CB0158     6DB4		LDA	R6, 344(R11)				; R6, 344(R11)				    ; 013875
43C1153E     6DB8		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 013876
6B5A4000     6DBC		JSR	R26, R26				; R26, R26
47F01416     6DC0		BIS	R31, 128, R22				; R31, 128, R22				    ; 013883
4AC0717B     6DC4		INSBL	R22, 3, R27				; R22, 3, R27
A0BE0008     6DC8		LDL	R5, 8(SP)				; R5, 8(SP)				    ; 013877
47FF0402     6DCC		CLR	R2					; R2					    ; 013884
A0DE000C     6DD0		LDL	R6, 12(SP)				; R6, 12(SP)				    ; 013877
43C2141E     6DD4		ADDQ	SP, 16, SP				; SP, 16, SP
B00B0010     6DD8		STL	R0, 16(R11)				; R0, 16(R11)				    ; 013878
A08B0008     6DDC		LDL	R4, 8(R11)				; R4, 8(R11)				    ; 013880
A70DFEC8     6DE0		LDQ	R24, -312(R13)				; R24, -312(R13)			    ; 013882
A74DFF80     6DE4		LDQ	R26, -128(R13)				; R26, -128(R13)			    ; 013885
A32400D4     6DE8		LDL	R25, 212(R4)				; R25, 212(R4)				    ; 013881
B325000C     6DEC		STL	R25, 12(R5)				; R25, 12(R5)
B3050020     6DF0		STL	R24, 32(R5)				; R24, 32(R5)				    ; 013882
A3850008     6DF4		LDL	R28, 8(R5)				; R28, 8(R5)				    ; 013883
4B80705C     6DF8		MSKBL	R28, 3, R28				; R28, 3, R28
479B041C     6DFC		BIS	R28, R27, R28				; R28, R27, R28
A76DFF88     6E00		LDQ	R27, -120(R13)				; R27, -120(R13)			    ; 013885
B3850008     6E04		STL	R28, 8(R5)				; R28, 8(R5)				    ; 013883
6B5A4000     6E08		JSR	R26, R26				; R26, R26				    ; 013885
	     6E0C	$L88:												    ; 013886
A79E0000     6E0C		LDQ	R28, (SP)				; R28, (SP)
A45E0008     6E10		LDQ	R2, 8(SP)				; R2, 8(SP)
A47E0010     6E14		LDQ	R3, 16(SP)				; R3, 16(SP)
A49E0018     6E18		LDQ	R4, 24(SP)				; R4, 24(SP)
A4BE0020     6E1C		LDQ	R5, 32(SP)				; R5, 32(SP)
A4DE0028     6E20		LDQ	R6, 40(SP)				; R6, 40(SP)
A57E0030     6E24		LDQ	R11, 48(SP)				; R11, 48(SP)
A5BE0038     6E28		LDQ	R13, 56(SP)				; R13, 56(SP)
43C8141E     6E2C		ADDQ	SP, 64, SP				; SP, 64, SP
6BFC8001     6E30		RET	R28					; R28
47FF041F     6E34		NOP						; 
47FF041F     6E38		NOP						; 
47FF041F     6E3C		NOP						; 

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 245
V01H                            KAST_CODE                        2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120


Routine Size: 224 bytes,    Routine Base: $$$115_DRIVER + 6D60

	     6E40	KAST_CODE_2:											    ; 013888
43C8153E     6E40		SUBQ	SP, 64, SP				; SP, 64, SP
B75E0008     6E44		STQ	R26, 8(SP)				; R26, 8(SP)
B45E0010     6E48		STQ	R2, 16(SP)				; R2, 16(SP)
B47E0018     6E4C		STQ	R3, 24(SP)				; R3, 24(SP)
B49E0020     6E50		STQ	R4, 32(SP)				; R4, 32(SP)
B4BE0028     6E54		STQ	R5, 40(SP)				; R5, 40(SP)
B57E0030     6E58		STQ	R11, 48(SP)				; R11, 48(SP)
B5BE0038     6E5C		STQ	R13, 56(SP)				; R13, 56(SP)
47FB040D     6E60		MOV	R27, R13				; R27, R13
	     6E64	$L89:
43C1153E     6E64		SUBQ	SP, 8, SP				; SP, 8, SP				    ; 013889
B0BE0004     6E68		STL	R5, 4(SP)				; R5, 4(SP)
B09E0000     6E6C		STL	R4, (SP)				; R4, (SP)
A1650014     6E70		LDL	R11, 20(R5)				; R11, 20(R5)				    ; 013890
A02B000C     6E74		LDL	R1, 12(R11)				; R1, 12(R11)				    ; 013891
A38B0010     6E78		LDL	R28, 16(R11)				; R28, 16(R11)				    ; 013892
B3810000     6E7C		STL	R28, (R1)				; R28, (R1)
A36B0010     6E80		LDL	R27, 16(R11)				; R27, 16(R11)				    ; 013893
E360000E     6E84		BLBC	R27, 142_100$				; R27, 142_100$
A32B0170     6E88		LDL	R25, 368(R11)				; R25, 368(R11)				    ; 013894
40209417     6E8C		ADDQ	R1, 4, R23				; R1, 4, R23				    ; 013895
473FF019     6E90		AND	R25, 255, R25				; R25, 255, R25				    ; 013894
4B271738     6E94		SLL	R25, 56, R24				; R25, 56, R24
4B071798     6E98		SRA	R24, 56, R24				; R24, 56, R24
B3010004     6E9C		STL	R24, 4(R1)				; R24, 4(R1)
2E210004     6EA0		LDQ_U	R17, 4(R1)				; R17, 4(R1)				    ; 013895
4A3702D1     6EA4		EXTWL	R17, R23, R17				; R17, R23, R17
F2E0001B     6EA8		BLBS	R23, $L206				; R23, $L206
	     6EAC	$L207:
A74DFAE0     6EAC		LDQ	R26, -1312(R13)				; R26, -1312(R13)
224B0171     6EB0		LDA	R18, 369(R11)				; R18, 369(R11)
40211410     6EB4		ADDQ	R1, 8, R16				; R1, 8, R16
6B5A4000     6EB8		JSR	R26, R26				; R26, R26
47FF0400     6EBC		CLR	R0					; R0
	     6EC0	142_100$:											    ; 013896
A09E0000     6EC0		LDL	R4, (SP)				; R4, (SP)
47FF0402     6EC4		CLR	R2					; R2					    ; 013899
A74D0010     6EC8		LDQ	R26, 16(R13)				; R26, 16(R13)				    ; 013902
47E23403     6ECC		BIS	R31, 17, R3				; R31, 17, R3				    ; 013901
A0BE0004     6ED0		LDL	R5, 4(SP)				; R5, 4(SP)				    ; 013896
43C1141E     6ED4		ADDQ	SP, 8, SP				; SP, 8, SP
A02400D4     6ED8		LDL	R1, 212(R4)				; R1, 212(R4)				    ; 013898
A76D0018     6EDC		LDQ	R27, 24(R13)				; R27, 24(R13)				    ; 013902
6B5A4000     6EE0		JSR	R26, R26				; R26, R26
A74DFFD0     6EE4		LDQ	R26, -48(R13)				; R26, -48(R13)				    ; 013904
A76DFFD8     6EE8		LDQ	R27, -40(R13)				; R27, -40(R13)
43E50000     6EEC		SEXTL	R5, R0					; R5, R0				    ; 013903
6B5A4000     6EF0		JSR	R26, R26				; R26, R26				    ; 013904
	     6EF4	$L90:												    ; 013905
A79E0008     6EF4		LDQ	R28, 8(SP)				; R28, 8(SP)
A45E0010     6EF8		LDQ	R2, 16(SP)				; R2, 16(SP)
A47E0018     6EFC		LDQ	R3, 24(SP)				; R3, 24(SP)
A49E0020     6F00		LDQ	R4, 32(SP)				; R4, 32(SP)

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 246
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

A4BE0028     6F04		LDQ	R5, 40(SP)				; R5, 40(SP)
A57E0030     6F08		LDQ	R11, 48(SP)				; R11, 48(SP)
A5BE0038     6F0C		LDQ	R13, 56(SP)				; R13, 56(SP)
43C8141E     6F10		ADDQ	SP, 64, SP				; SP, 64, SP
6BFC8001     6F14		RET	R28					; R28
	     6F18	JT_END:												    ; 013907
	     6F18	$L206:												    ; 013895
2F210005     6F18		LDQ_U	R25, 5(R1)				; R25, 5(R1)
4B370B56     6F1C		EXTWH	R25, R23, R22				; R25, R23, R22
46360411     6F20		BIS	R17, R22, R17				; R17, R22, R17
C3FFFFE1     6F24		BR	$L207					; $L207

Routine Size: 232 bytes,    Routine Base: $$$115_DRIVER + 6E40


				.PSECT	$$$115_LINKAGE, 5, NOPIC, CON, REL, LCL,-
					NOSHR, NOEXE, RD, NOWRT

	     0000		; Heavyweight Frame invocation descriptor
				Entry point:	       DRIVER$STRUC_INIT
				Registers saved:       R2-R6, FP
				Fixed Stack Size:      64

00050000     0020		.LONG	 327680
04000000     0024		.LONG	 67108864
00040000     0028		.LONG	 262144
00313146     002C		.LONG	 3223878
00010000     0030		.LONG	 65536
10000000     0034		.LONG	 268435456
1C050000     0038		.LONG	 470089728
0C050000     003C		.LONG	 201654272
04050000     0040		.LONG	 67436544
08000000     0044		.LONG	 134217728

	     0048		; Heavyweight Frame invocation descriptor
				Entry point:	       DRIVER$STRUC_REINIT
				Registers saved:       R2-R6, FP
				Fixed Stack Size:      64

00000000     0068		.ADDRESS  $PSECT_BASE92
00000000     0070		.ADDRESS  $PSECT_BASE91
F013F070     0078		.LONG	 4027838576

	     0080		; Null-Frame invocation descriptor
				Entry point:	       GETJTUCB
				Registers saved:       R10-R11, R13
				Fixed Stack Size:      32

00000000     0090		.ADDRESS  SMP$AL_IPLVEC
00000000     0098		.ADDRESS  SMP$GL_FLAGS
	     00A0		.LINKAGE  SMP$ACQUIRE
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
	     00B0		.LINKAGE  SMP$RELEASE
					; Call signature for Linkage Pair:
					;   00000002

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 247
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

					;   00000000
00000000     00C0		.ADDRESS  CTL$GL_PCB
00000000     00C8		.ADDRESS  CTL$GL_PHD
FFFF0FFF     00D0		.LONG	 4294905855
	     00E0		.LINKAGE  SMP$ACQUIREL
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
	     00F0		.LINKAGE  SYS$SETEF
					; Call signature for Linkage Pair:
					;   10000022
					;   00000001
	     0100		.LINKAGE  EXE_STD$ABORTIO
					; Call signature for Linkage Pair:
					;   10022222
					;   00000004
00040040     0110		.LONG	 262208
00000000     0118		.ADDRESS  VCSTP15
	     0120		.LINKAGE  SMP$RELEASEL
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
00800000     0130		.LONG	 8388608
	     0140		.LINKAGE  OTS$MOVE

	     0150		; Heavyweight Frame invocation descriptor
				Entry point:	       ACCFILT
				Registers saved:       R2-R15, FP
				Fixed Stack Size:      144

	     0170		.LINKAGE  EXE$DEANONPGDSIZ
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
	     0180		.LINKAGE  EXE$ALONPAGVAR
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
	     0190		.LINKAGE  OTS$ZERO
00810000     01A0		.LONG	 8454144
0000F000     01A4		.LONG	 61440
	     01B0		.LINKAGE  OTS$MOVEM
00000000     01C0		.ADDRESS  SCH$GL_PCBVEC
	     01D0		.LINKAGE  SYS$QIO
					; Call signature for Linkage Pair:
					;   12222222
					;   000AAA0C
	     01E0		.LINKAGE  INI$BRK
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
00000000     01F0		.ADDRESS  CTL$GA_CCB_TABLE
00000000     01F8		.ADDRESS  PMS$GL_KERNEL_DISPATCH_VECTOR

	     0200		; Null-Frame invocation descriptor
				Entry point:	       CLNPRV
				Registers saved:       R2-R11, R13

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 248
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

				Fixed Stack Size:      96


	     0210		; Null-Frame invocation descriptor
				Entry point:	       PRVIDSET
				Registers saved:       R2-R11, R13, R15
				Fixed Stack Size:      112

00000000     0220		.ADDRESS  CTL$GQ_PROCPRIV

	     0228		; Null-Frame invocation descriptor
				Entry point:	       AUTH

ABA7126C     0238		.LONG	 -1415114132
5218FBA2     023C		.LONG	 1377368994

	     0240		; Null-Frame invocation descriptor
				Entry point:	       SETSOFTL
				Registers saved:       R2-R11, R13
				Fixed Stack Size:      96

	     0250		.LINKAGE  SCH$IOLOCKW
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
	     0260		.LINKAGE  IOC$SEARCHDEV
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
	     0270		.LINKAGE  SCH$IOUNLOCK
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000

	     0280		; Null-Frame invocation descriptor
				Entry point:	       MOVLDT
				Registers saved:       R2-R11, R13
				Fixed Stack Size:      96


	     0290		; Null-Frame invocation descriptor
				Entry point:	       DOWAIT
				Registers saved:       R2-R3, R13
				Fixed Stack Size:      32

	     02A0		.LINKAGE  SYS$CLREF
					; Call signature for Linkage Pair:
					;   10000022
					;   00000001
	     02B0		.LINKAGE  SYS$WAITFR
					; Call signature for Linkage Pair:
					;   10000022
					;   00000001

	     02C0		; Heavyweight Frame invocation descriptor
				Entry point:	       FDTLOP
				Registers saved:       R2-R11, R13, FP

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 249
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

				Fixed Stack Size:      128
				Call Signature:        0020

	     02E0		.CALL_SIGNATURE 
10000002     02E0			(Summary: I32, Function Value: I32)
00000000				(Argument Count:  0)
	     02F0		.LINKAGE  OTS$CALL_PROC

	     0300		; Heavyweight Frame invocation descriptor
				Entry point:	       FDTXIT
				Registers saved:       R2-R11, R13, FP
				Fixed Stack Size:      128
				Call Signature:        FFE0


	     0320		; Heavyweight Frame invocation descriptor
				Entry point:	       FDTBXT
				Registers saved:       R2-R11, R13, FP
				Fixed Stack Size:      128
				Call Signature:        FFC0


	     0340		; Null-Frame invocation descriptor
				Entry point:	       X$FINI
				Registers saved:       R13
				Fixed Stack Size:      16

	     0350		.LINKAGE  EXE_STD$FINISHIO
					; Call signature for Linkage Pair:
					;   10000222
					;   00000002

	     0360		; Heavyweight Frame invocation descriptor
				Entry point:	       DEACFILT
				Registers saved:       R2-R15, FP
				Fixed Stack Size:      144

00010100     0380		.LONG	 65792

	     0388		; Null-Frame invocation descriptor
				Entry point:	       CLNUP
				Registers saved:       R2-R9, R11, R13
				Fixed Stack Size:      96


	     0398		; Null-Frame invocation descriptor
				Entry point:	       UNDOID
				Registers saved:       R2-R11, R13
				Fixed Stack Size:      96


	     03A8		; Heavyweight Frame invocation descriptor
				Entry point:	       DELFILT
				Registers saved:       R2-R15, FP
				Fixed Stack Size:      144

00000000     03C8		.ADDRESS  SCH$GL_MAXPIX

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 250
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     03D0		; Null-Frame invocation descriptor
				Entry point:	       POPOUT
				Registers saved:       R13
				Fixed Stack Size:      16


	     03E0		; Null-Frame invocation descriptor
				Entry point:	       PORS
				Registers saved:       R6-R10, R13
				Fixed Stack Size:      64


	     03F0		; Null-Frame invocation descriptor
				Entry point:	       SNDEXMSG
				Registers saved:       R2-R11, R13, R15
				Fixed Stack Size:      112

	     0400		.LINKAGE  EXE$WRTMAILBOX
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
00000000     0410		.ADDRESS  SNDEXAST

	     0418		; Null-Frame invocation descriptor
				Entry point:	       SNDEXAST
				Registers saved:       R11, R13
				Fixed Stack Size:      32


	     0428		; Null-Frame invocation descriptor
				Entry point:	       SNDDELMSG
				Registers saved:       R2-R11, R13, R15
				Fixed Stack Size:      112


	     0438		; Heavyweight Frame invocation descriptor
				Entry point:	       MFYMOUNT
				Registers saved:       R2-R15, FP
				Fixed Stack Size:      144


	     0458		; Heavyweight Frame invocation descriptor
				Entry point:	       JT_FORMAT
				Registers saved:       R2-R15, FP
				Fixed Stack Size:      144

	     0480		.LINKAGE  EXE_STD$WRITECHK
					; Call signature for Linkage Pair:
					;   10222222
					;   00000005

	     0490		; Null-Frame invocation descriptor
				Entry point:	       MUNG
				Registers saved:       R2-R11, R13, R15
				Fixed Stack Size:      112

00000000     04A0		.ADDRESS  JT_FORMAT

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 251
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000000     04A8		.ADDRESS  EXE$ILLIOFUNC

	     04B0		; Null-Frame invocation descriptor
				Entry point:	       UMUNG
				Registers saved:       R2-R5, R10-R11, R13
				Fixed Stack Size:      64


	     04C0		; Heavyweight Frame invocation descriptor
				Entry point:	       JT_CTRL_INIT
				Registers saved:       R2, R4-R6, R8, FP
				Fixed Stack Size:      64


	     04E0		; Heavyweight Frame invocation descriptor
				Entry point:	       JT_UNIT_INIT
				Registers saved:       R2-R5, R13, FP
				Fixed Stack Size:      80

00000000     0500		.ADDRESS  KAST_CODE
00000000     0508		.ADDRESS  KAST_CODE_2
B22D4001     0510		.LONG	 -1305657343

	     0518		; Null-Frame invocation descriptor
				Entry point:	       FINDLDT
				Registers saved:       R2-R11, R13
				Fixed Stack Size:      96


	     0528		; Null-Frame invocation descriptor
				Entry point:	       FRESLOT
				Registers saved:       R2-R11, R13
				Fixed Stack Size:      96


	     0538		; Null-Frame invocation descriptor
				Entry point:	       JT_ALIGN


	     0548		; Heavyweight Frame invocation descriptor
				Entry point:	       JT_STARTIO
				Registers saved:       R2-R5, R13, FP
				Fixed Stack Size:      64

	     0570		.LINKAGE  IOC_STD$REQCOM
					; Call signature for Linkage Pair:
					;   10002222
					;   00000003

	     0580		; Null-Frame invocation descriptor
				Entry point:	       JTKAST
				Registers saved:       R2-R11, R13
				Fixed Stack Size:      96


	     0590		; Heavyweight Frame invocation descriptor
				Entry point:	       VCSTP15

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 252
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

				Registers saved:       R2-R11, R13, FP
				Fixed Stack Size:      128
				Call Signature:        0020

	     05B0		.CALL_SIGNATURE 
10000022     05B0			(Summary: I32, Function Value: I32)
00000001				(Argument Count:  1)
	     05C0		.LINKAGE  SCH$QAST
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
00000000     05D0		.ADDRESS  VCSTEP2

	     05D8		; Null-Frame invocation descriptor
				Entry point:	       LCLCNT
				Registers saved:       R2-R11, R13
				Fixed Stack Size:      96


	     05E8		; Heavyweight Frame invocation descriptor
				Entry point:	       GRANT_REVOKE
				Registers saved:       R2-R9, R13-R15, FP
				Fixed Stack Size:      160
				Call Signature:        0020

	     0608		.CALL_SIGNATURE 
10022222     0608			(Summary: I32, Function Value: I32)
00000004				(Argument Count:  4)
00000000     0610		.ADDRESS  EXE$GQ_RIGHTSLIST
	     0620		.LINKAGE  EXE$ALONONPAGED
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000
	     0630		.LINKAGE  EXE$DEANONPAGED
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000

	     0640		; Null-Frame invocation descriptor
				Entry point:	       KAST_CODE
				Registers saved:       R2-R6, R11, R13
				Fixed Stack Size:      64

	     0650		.LINKAGE  LNM$SEARCH_ONE
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000

	     0660		; Null-Frame invocation descriptor
				Entry point:	       KAST_CODE_2
				Registers saved:       R2-R5, R11, R13
				Fixed Stack Size:      64

	     0670		.LINKAGE  SCH$POSTEF
					; Call signature for Linkage Pair:
					;   00000002
					;   00000000

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 253
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

	     0680		; Heavyweight Frame invocation descriptor
				Entry point:	       CREFILT
				Registers saved:       R2-R15, FP
				Fixed Stack Size:      192

	     06A0		.LINKAGE  OTS$DIV_I
0000DFC0     06B0		.LONG	 57280

	     06B8		; Null-Frame invocation descriptor
				Entry point:	       STP2BAD
				Registers saved:       R2-R11, R13
				Fixed Stack Size:      96

00008000     06C8		.LONG	 32768
00000000     06D0		.ADDRESS  JTKAST
00080001     06D8		.LONG	 524289
00080000     06DC		.LONG	 524288

	     06E0		; Heavyweight Frame invocation descriptor
				Entry point:	       GRANTID
				Registers saved:       R2-R3, R13, FP
				Fixed Stack Size:      80


	     0700		; Heavyweight Frame invocation descriptor
				Entry point:	       MFYFILT
				Registers saved:       R2-R15, FP
				Fixed Stack Size:      192


	     0720		; Null-Frame invocation descriptor
				Entry point:	       VCSTEP2
				Registers saved:       R2-R11, R13
				Fixed Stack Size:      96


	     0730		; Heavyweight Frame invocation descriptor
				Entry point:	       REVOKID
				Registers saved:       R2-R3, R13, FP
				Fixed Stack Size:      80


				.PSECT	$$$105_PROLOGUE, 5, PIC, CON, REL, LCL,-
					NOSHR, NOEXE, RD, WRT
00000000     0000		.LONG	0
00000000     0004		.LONG	0
    0187     0008		.WORD	391
      1E     000A		.BYTE	30
      00     000B		.BYTE	0
    0002     000C		.WORD	2
    0002     000E		.WORD	2
    0002     0010		.WORD	2
    012C     0012		.WORD	300
    03E8     0014		.WORD	1000
    0000     0016		.WORD	0
    0000     0018		.WORD	0
    0000     001A		.WORD	0

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 254
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000104     001C		.LONG	260
00000005     0020		.LONG	5
00000000     0024		.LONG	0
00000000     0028		.ADDRESS  DRIVER$STRUC_INIT
00000000     002C		.ADDRESS  DRIVER$STRUC_REINIT
00000000     0030		.LONG	X^00000000
00000000     0034		.LONG	X^00000000
00000000     0038		.ADDRESS  DDT$$BASE
00000000     003C		.LONG	0
00000000     0040		.LONG	0
00000000     0044		.LONG	X^00000000
      08     0048		.BYTE	8
5244544A     0049		.ASCII	\JTDRIVER\
52455649     004D			
00000000     0058		.LONG	0
00000000     005C		.LONG	0
00000000     0060		.QUAD	0
00000000     0064
    00FF     0068		.WORD	255
      0E     006A		.BYTE	14
      01     006B		.BYTE	1
00000088     006C		.ADDRESS  $$$105_PROLOGUE+136
00000000     0070		.LONG	0
00000000     0074		.LONG	0
00000000     0078		.LONG	0
00000000     007C		.LONG	0
00000000     0080		.LONG	X^00000000
00000000     0084		.LONG	0

				.PSECT	$$$110_DATA, 5, PIC, CON, REL, LCL,-
					NOSHR, NOEXE, RD, WRT
00000000     0000		.LONG	0
00000000     0004		.LONG	0
    0070     0008		.WORD	112
    0000     000A		.WORD	0
    0000     000C		.WORD	0
    0000     000E		.WORD	0
    0108     0010		.WORD	264
    0000     0012		.WORD	0
00000000     0014		.ADDRESS  JT_STARTIO
00000000     0018		.LONG	0
00000000     001C		.ADDRESS  JT_CTRL_INIT
00000000     0020		.ADDRESS  JT_UNIT_INIT
00000000     0024		.ADDRESS  IOC$RETURN_SUCCESS
00000000     0028		.ADDRESS  JT_FUNCTABLE
00000000     002C		.ADDRESS  IOC$RETURN_SUCCESS
00000000     0030		.ADDRESS  IOC$RETURN_SUCCESS
00000000     0034		.ADDRESS  IOC$RETURN_SUCCESS
00000000     0038		.LONG	0
00000000     003C		.ADDRESS  IOC_STD$MNTVER
00000000     0040		.ADDRESS  IOC$RETURN
00000000     0044		.ADDRESS  IOC$RETURN
00000000     0048		.ADDRESS  IOC$RETURN
00000000     004C		.ADDRESS  IOC$RETURN
00000000     0050		.ADDRESS  IOC$RETURN
00000000     0054		.ADDRESS  IOC$RETURN_UNSUPPORTED
00000000     0058		.ADDRESS  IOC$RETURN_UNSUPPORTED

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 255
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000000     005C		.LONG	0
00000000     0060		.LONG	0
00000000     0064		.ADDRESS  IOC$RETURN
00000000     0068		.ADDRESS  IOC$RETURN_SUCCESS
00000000     006C		.LONG	X^00000000
00000000     0070		.ADDRESS  VCSTP15
00000000     0074		.ADDRESS  JTKAST
56454347     0078		.ASCII	\GCEV\
00000000     007C		.LONG	0
00000000     0080		.LONG	0
00000000     0084		.LONG	0
67616C66     0088		.ASCII	\flag\
00000000     008C		.LONG	0
4C020103     0090		.LONG	1275199747
037C0088     0094		.LONG	58458248
00000000     0098		.ADDRESS  EXE$ILLIOFUNC
00000000     009C		.ADDRESS  EXE$ILLIOFUNC
00000000     00A0		.ADDRESS  EXE$ILLIOFUNC
00000000     00A4		.ADDRESS  EXE$ILLIOFUNC
00000000     00A8		.ADDRESS  EXE$ILLIOFUNC
00000000     00AC		.ADDRESS  EXE$ILLIOFUNC
00000000     00B0		.ADDRESS  EXE$ILLIOFUNC
00000000     00B4		.ADDRESS  EXE$ILLIOFUNC
00000000     00B8		.ADDRESS  EXE$ILLIOFUNC
00000000     00BC		.ADDRESS  EXE$ILLIOFUNC
00000000     00C0		.ADDRESS  EXE$ILLIOFUNC
00000000     00C4		.ADDRESS  EXE$ILLIOFUNC
00000000     00C8		.ADDRESS  EXE$ILLIOFUNC
00000000     00CC		.ADDRESS  EXE$ILLIOFUNC
00000000     00D0		.ADDRESS  EXE$ILLIOFUNC
00000000     00D4		.ADDRESS  EXE$ILLIOFUNC
00000000     00D8		.ADDRESS  EXE$ILLIOFUNC
00000000     00DC		.ADDRESS  EXE$ILLIOFUNC
00000000     00E0		.ADDRESS  EXE$ILLIOFUNC
00000000     00E4		.ADDRESS  EXE$ILLIOFUNC
00000000     00E8		.ADDRESS  EXE$ILLIOFUNC
00000000     00EC		.ADDRESS  EXE$ILLIOFUNC
00000000     00F0		.ADDRESS  EXE$ILLIOFUNC
00000000     00F4		.ADDRESS  EXE$ILLIOFUNC
00000000     00F8		.ADDRESS  EXE$ILLIOFUNC
00000000     00FC		.ADDRESS  EXE$ILLIOFUNC
00000000     0100		.ADDRESS  EXE$ILLIOFUNC
00000000     0104		.ADDRESS  EXE$ILLIOFUNC
00000000     0108		.ADDRESS  EXE$ILLIOFUNC
00000000     010C		.ADDRESS  EXE$ILLIOFUNC
00000000     0110		.ADDRESS  JT_FORMAT
00000000     0114		.ADDRESS  EXE$ILLIOFUNC
00000000     0118		.ADDRESS  EXE$ILLIOFUNC
00000000     011C		.ADDRESS  EXE$ILLIOFUNC
00000000     0120		.ADDRESS  EXE$ILLIOFUNC
00000000     0124		.ADDRESS  EXE$ILLIOFUNC
00000000     0128		.ADDRESS  EXE$ILLIOFUNC
00000000     012C		.ADDRESS  EXE$ILLIOFUNC
00000000     0130		.ADDRESS  EXE$ILLIOFUNC
00000000     0134		.ADDRESS  EXE$ILLIOFUNC
00000000     0138		.ADDRESS  EXE$ILLIOFUNC
00000000     013C		.ADDRESS  EXE$ILLIOFUNC

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 256
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000000     0140		.ADDRESS  EXE$ILLIOFUNC
00000000     0144		.ADDRESS  EXE$ILLIOFUNC
00000000     0148		.ADDRESS  EXE$ILLIOFUNC
00000000     014C		.ADDRESS  EXE$ILLIOFUNC
00000000     0150		.ADDRESS  EXE$ILLIOFUNC
00000000     0154		.ADDRESS  EXE$ILLIOFUNC
00000000     0158		.ADDRESS  EXE$ILLIOFUNC
00000000     015C		.ADDRESS  EXE$ILLIOFUNC
00000000     0160		.ADDRESS  ACCFILT
00000000     0164		.ADDRESS  CREFILT
00000000     0168		.ADDRESS  DEACFILT
00000000     016C		.ADDRESS  DELFILT
00000000     0170		.ADDRESS  MFYFILT
00000000     0174		.ADDRESS  EXE$ILLIOFUNC
00000000     0178		.ADDRESS  EXE$ILLIOFUNC
00000000     017C		.ADDRESS  MFYMOUNT
00000000     0180		.ADDRESS  EXE$ILLIOFUNC
00000000     0184		.ADDRESS  EXE$ILLIOFUNC
00000000     0188		.ADDRESS  EXE$ILLIOFUNC
00000000     018C		.ADDRESS  EXE$ILLIOFUNC
00000000     0190		.ADDRESS  EXE$ILLIOFUNC
00000000     0194		.ADDRESS  EXE$ILLIOFUNC
    0200     0198		.WORD	512
    0025     019A		.WORD	37
00000000     019C		.LONG	0
    0004     01A0		.WORD	4
    0026     01A2		.WORD	38
00000000     01A4		.LONG	0
00000000     01A8		.LONG	0
00000000     01AC		.LONG	0
56454347     01B0		.ASCII	\GCEV\
00000000     01B4		.LONG	0
00000000     01B8		.LONG	0
00000000     01BC		.LONG	0
00000000     01C0		.LONG	0
00000000     01C4		.LONG	0
00000000     01C8		.LONG	0
00000000     01CC		.LONG	0
00000000     01D0		.LONG	0
00000000     01D4		.LONG	0
00000000     01D8		.LONG	0
00000000     01DC		.LONG	0
00000000     01E0		.LONG	0
00000000     01E4		.LONG	0
00000000     01E8		.LONG	0
00000000     01EC		.LONG	0
00000000     01F0		.LONG	0
00000000     01F4		.LONG	0
00000000     01F8		.LONG	0
00000000     01FC		.LONG	0
00000000     0200		.LONG	0
00000000     0204		.LONG	0
00000000     0208		.LONG	0
00000000     020C		.LONG	0
00000000     0210		.LONG	0
00000000     0214		.LONG	0
00000000     0218		.LONG	0

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 257
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000000     021C		.LONG	0
00000000     0220		.LONG	0
00000000     0224		.LONG	0
00000000     0228		.LONG	0
00000000     022C		.LONG	0
00000000     0230		.LONG	0
00000000     0234		.LONG	0
00000000     0238		.LONG	0
00000000     023C		.LONG	0
00000000     0240		.LONG	0
00000000     0244		.LONG	0
00000000     0248		.LONG	0
00000000     024C		.LONG	0
00000000     0250		.LONG	0
00000000     0254		.LONG	0
00000000     0258		.LONG	0
00000000     025C		.LONG	0
00000000     0260		.LONG	0
00000000     0264		.LONG	0
00000000     0268		.LONG	0
00000000     026C		.LONG	0
00000000     0270		.LONG	0
00000000     0274		.LONG	0
00000000     0278		.LONG	0
00000000     027C		.LONG	0
00000000     0280		.LONG	0
00000000     0284		.LONG	0
00000000     0288		.LONG	0
00000000     028C		.LONG	0
00000000     0290		.LONG	0
00000000     0294		.LONG	0
00000000     0298		.LONG	0
00000000     029C		.LONG	0
00000000     02A0		.LONG	0
00000000     02A4		.LONG	0
00000000     02A8		.LONG	0
00000000     02AC		.LONG	0
00000000     02B0		.LONG	0
00000000     02B4		.LONG	0
00000000     02B8		.LONG	0
00000000     02BC		.LONG	0
00000000     02C0		.LONG	0
00000000     02C4		.LONG	0
00000000     02C8		.LONG	0
00000000     02CC		.LONG	0
00000000     02D0		.LONG	0
00000000     02D4		.LONG	0
00000000     02D8		.LONG	0
00000000     02DC		.LONG	0
00000000     02E0		.LONG	0
00000000     02E4		.LONG	0
00000000     02E8		.LONG	0
00000000     02EC		.LONG	0
00000000     02F0		.LONG	0
00000000     02F4		.LONG	0
00000000     02F8		.LONG	0
00000000     02FC		.LONG	0

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 258
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000000     0300		.LONG	0
00000000     0304		.LONG	0
00000000     0308		.LONG	0
00000000     030C		.LONG	0
00000000     0310		.LONG	0
00000000     0314		.LONG	0
00000000     0318		.LONG	0
00000000     031C		.LONG	0
00000000     0320		.LONG	0
00000000     0324		.LONG	0
00000000     0328		.LONG	0
00000000     032C		.LONG	0
00000000     0330		.LONG	0
00000000     0334		.LONG	0
00000000     0338		.LONG	0
00000000     033C		.LONG	0
00000000     0340		.LONG	0
00000000     0344		.LONG	0
00000000     0348		.LONG	0
00000000     034C		.LONG	0
00000000     0350		.LONG	0
00000000     0354		.LONG	0
00000000     0358		.LONG	0
00000000     035C		.LONG	0
00000000     0360		.LONG	0
00000000     0364		.LONG	0
00000000     0368		.LONG	0
00000000     036C		.LONG	0
00000000     0370		.LONG	0
00000000     0374		.LONG	0
00000000     0378		.LONG	0
00000000     037C		.LONG	0
00000000     0380		.LONG	0
00000000     0384		.LONG	0
00000000     0388		.LONG	0
00000000     038C		.LONG	0
00000000     0390		.LONG	0
00000000     0394		.LONG	0
00000000     0398		.LONG	0
00000000     039C		.LONG	0
00000000     03A0		.LONG	0
00000000     03A4		.LONG	0
00000000     03A8		.LONG	0
00000000     03AC		.LONG	0
00000000     03B0		.LONG	0
00000000     03B4		.LONG	0
00000000     03B8		.LONG	0
00000000     03BC		.LONG	0
00000000     03C0		.LONG	0
00000000     03C4		.LONG	0
00000000     03C8		.LONG	0
00000000     03CC		.LONG	0
00000000     03D0		.LONG	0
00000000     03D4		.LONG	0
00000000     03D8		.LONG	0
00000000     03DC		.LONG	0
00000000     03E0		.LONG	0

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 259
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000000     03E4		.LONG	0
00000000     03E8		.LONG	0
00000000     03EC		.LONG	0
00000000     03F0		.LONG	0
00000000     03F4		.LONG	0
00000000     03F8		.LONG	0
00000000     03FC		.LONG	0
00000000     0400		.LONG	0
00000000     0404		.LONG	0
00000000     0408		.LONG	0
00000000     040C		.LONG	0
00000000     0410		.LONG	0
00000000     0414		.LONG	0
00000000     0418		.LONG	0
00000000     041C		.LONG	0
00000000     0420		.LONG	0
00000000     0424		.LONG	0
00000000     0428		.LONG	0
00000000     042C		.LONG	0
00000000     0430		.LONG	0
00000000     0434		.LONG	0
00000000     0438		.LONG	0
00000000     043C		.LONG	0
00000000     0440		.LONG	0
00000000     0444		.LONG	0
00000000     0448		.LONG	0
00000000     044C		.LONG	0
00000000     0450		.LONG	0
00000000     0454		.LONG	0
00000000     0458		.LONG	0
00000000     045C		.LONG	0
00000000     0460		.LONG	0
00000000     0464		.LONG	0
00000000     0468		.LONG	0
00000000     046C		.LONG	0
00000000     0470		.LONG	0
00000000     0474		.LONG	0
00000000     0478		.LONG	0
00000000     047C		.LONG	0
00000000     0480		.LONG	0
00000000     0484		.LONG	0
00000000     0488		.LONG	0
00000000     048C		.LONG	0
00000000     0490		.LONG	0
00000000     0494		.LONG	0
00000000     0498		.LONG	0
00000000     049C		.LONG	0
00000000     04A0		.LONG	0
00000000     04A4		.LONG	0
00000000     04A8		.LONG	0
00000000     04AC		.LONG	0
00000000     04B0		.LONG	0
00000000     04B4		.LONG	0
00000000     04B8		.LONG	0
00000000     04BC		.LONG	0
00000000     04C0		.LONG	0
00000000     04C4		.LONG	0

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 260
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000000     04C8		.LONG	0
00000000     04CC		.LONG	0
00000000     04D0		.LONG	0
00000000     04D4		.LONG	0
00000000     04D8		.LONG	0
00000000     04DC		.LONG	0
00000000     04E0		.LONG	0
00000000     04E4		.LONG	0
00000000     04E8		.LONG	0
00000000     04EC		.LONG	0
00000000     04F0		.LONG	0
00000000     04F4		.LONG	0
00000000     04F8		.LONG	0
00000000     04FC		.LONG	0
00000000     0500		.LONG	0
00000000     0504		.LONG	0
00000000     0508		.LONG	0
00000000     050C		.LONG	0
00000000     0510		.LONG	0
00000000     0514		.LONG	0
00000000     0518		.LONG	0
00000000     051C		.LONG	0
00000000     0520		.LONG	0
00000000     0524		.LONG	0
00000000     0528		.LONG	0
00000000     052C		.LONG	0
00000000     0530		.LONG	0
00000000     0534		.LONG	0
00000000     0538		.LONG	0
00000000     053C		.LONG	0
00000000     0540		.LONG	0
00000000     0544		.LONG	0
00000000     0548		.LONG	0
00000000     054C		.LONG	0
00000000     0550		.LONG	0
00000000     0554		.LONG	0
00000000     0558		.LONG	0
00000000     055C		.LONG	0
00000000     0560		.LONG	0
00000000     0564		.LONG	0
00000000     0568		.LONG	0
00000000     056C		.LONG	0
00000000     0570		.LONG	0
00000000     0574		.LONG	0
00000000     0578		.LONG	0
00000000     057C		.LONG	0
00000000     0580		.LONG	0
00000000     0584		.LONG	0
00000000     0588		.LONG	0
00000000     058C		.LONG	0
00000000     0590		.LONG	0
00000000     0594		.LONG	0
00000000     0598		.LONG	0
00000000     059C		.LONG	0
00000000     05A0		.LONG	0
00000000     05A4		.LONG	0
00000000     05A8		.LONG	0

JTDRIVER                        Machine Code Listing             2-DEC-1994 10:13:13    AMAC V2.1-13-2671                   Page 261
V01H                            KAST_CODE_2                      2-DEC-1994 10:12:45    [EVERHART.JT]JTDRIVER_S2.MAR;120

00000000     05AC		.LONG	0
00000000     05B0		.LONG	0
00000000     05B4		.LONG	0
00000000     05B8		.LONG	0
00000000     05BC		.LONG	0
00000000     05C0		.LONG	0
00000000     05C4		.LONG	0
00000000     05C8		.LONG	0
00000000     05CC		.LONG	0
00000000     05D0		.LONG	0
00000000     05D4		.LONG	0
00000000     05D8		.LONG	0
00000000     05DC		.LONG	0
00000000     05E0		.LONG	0
00000000     05E4		.LONG	0
00000000     05E8		.LONG	0
00000000     05EC		.LONG	0
00000000     05F0		.LONG	0
00000000     05F4		.LONG	0
00000000     05F8		.LONG	0
00000000     05FC		.LONG	0
00000000     0600		.LONG	0
00000000     0604		.LONG	0
00000000     0608		.LONG	0
00000000     060C		.LONG	0
00000000     0610		.LONG	0
00000000     0614		.LONG	0
00000000     0618		.LONG	0
00000000     061C		.LONG	0
00000000     0620		.LONG	0
00000000     0624		.LONG	0
00000000     0628		.LONG	0
00000000     062C		.LONG	0
00000000     0630		.LONG	0
00000000     0634		.LONG	0
00000000     0638		.LONG	0
00000000     063C		.LONG	0
00000000     0640		.LONG	0
00000000     0644		.LONG	0
00000000     0648		.LONG	0
00000000     064C		.LONG	0
00000000     0650		.LONG	0
00000000     0654		.LONG	0
00000000     0658		.LONG	0
00000000     065C		.LONG	0
00000000     0660		.LONG	0
00000000     0664		.LONG	0
00000000     0668		.LONG	0
00000000     066C		.LONG	0
00000000     0670		.LONG	0
00000000     0674		.LONG	0
00000000     0678		.LONG	0
00000000     067C		.LONG	0
00000000     0680		.LONG	0
00000000     0684		.LONG	0
00000000     0688		.LONG	0
