.ENABLE QUIET .ENABLE SUBSTITUTION .;+ .;COPYRIGHT (C) 2024 OLEG SAFIULLIN .; .;PERMISSION TO USE, COPY, MODIFY, AND DISTRIBUTE THIS SOFTWARE FOR ANY .;PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE .;COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. .; .;THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .;WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .;MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .;ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .;WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .;ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .;OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .;- ; ;DA/DC/DH HANDLER GENERATION PROGRAM. .IF = 10 .GOTO SYSOK ; ;*ERROR* - UNSUPPORTED OPERATING SYSTEM ; .EXIT .SYSOK: .GOSUB IDENT ; ;DH 'IDENT' ; .SETS NAMES "DA,DC,DH" .PARSE: .PARSE NAMES "," NAME NAMES .IF NAME = "" .EXIT .GOSUB DHGEN .GOTO PARSE .DHGEN: ; ;GENERATING 'NAME'M.SYS ; .OPEN DHMPRE.MAC .DATA RTE$M=1 ;RTEM-11 HANDLER .DATA DHNAM="'NAME' ;'NAME' HANDLER .DATA DHR50=^R'NAME' ; .DATA DHCOD=222 ; .CLOSE .OPEN DHMBLD.COM .DATA MACRO DHMPRE+DHM/OBJECT .DATA LINK/NOBITMAP/EXECUTE:'NAME'M.SYS/BOUNDARY:512. DHM .DATA SETOVR .DATA DELETE/NOQUERY DHMPRE.MAC,DHMBLD.COM .CLOSE $@DHMBLD .RETURN .IDENT: .ONERR NOFIL .OPENR DHM.MAC .ONERR FATAL .10: .READ S .PARSE S " " C A .IF C = ".MODULE" .GOTO 20 .IFF .GOTO 10 ; ;*ERROR* - CAN''T IDENTIFY THE DRIVER ; .EXIT .20: .CLOSE .TEST S ",RELEASE=" .SETN B +9. .SETN E B+2 .SETS R S[B:E] .TEST S ",VERSION=" .SETN B +9. .SETN E B+1 .SETS V S[B:E] .SETS IDENT "'R'.'V'" .RETURN .NOFIL: ; ;*ERROR* - CAN''T OPEN FILE DHM.MAC ; .EXIT .FATAL: ; ;*ERROR* - INTERNAL ERROR ; .EXIT