mirror of https://github.com/wwarthen/RomWBW.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
587 lines
18 KiB
587 lines
18 KiB
; banner.asm 9/5/2012 dwg - new version semantics - #.#.# (#)
|
|
|
|
maclib portab
|
|
maclib globals
|
|
maclib cpmbios
|
|
maclib cpmbdos
|
|
maclib bioshdr
|
|
maclib printers
|
|
maclib cpmappl
|
|
maclib applvers
|
|
|
|
cseg
|
|
|
|
|
|
; entered with argv in hl
|
|
public x$banner
|
|
x$banner:
|
|
0000 221E04 shld argv
|
|
0003 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprog ! xchg
|
|
000C 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xvers ! xchg
|
|
0015 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprod ! xchg
|
|
001E 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xorig ! xchg
|
|
0027 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xser ! xchg
|
|
0030 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xnam ! xchg
|
|
|
|
|
|
printf '----------------------------------------'
|
|
0039+F5 PUSH PSW
|
|
003A+C5 PUSH B
|
|
003B+D5 PUSH D
|
|
003C+E5 PUSH H
|
|
003D+0E09 MVI C,PRINTSTR
|
|
003F+114C00 LXI D,??0002
|
|
0042+CD0500 CALL BDOS
|
|
0045+E1 POP H
|
|
0046+D1 POP D
|
|
0047+C1 POP B
|
|
0048+F1 POP PSW
|
|
0049+C37500 JMP ??0001
|
|
004C+2D2D2D2D2D??0002 DB '----------------------------------------'
|
|
0074+24 DB '$'
|
|
print crlf
|
|
0075+F5 PUSH PSW
|
|
0076+C5 PUSH B
|
|
0077+D5 PUSH D
|
|
0078+E5 PUSH H
|
|
0079+0E09 MVI C,PRINTSTR
|
|
007B+112C04 LXI D,CRLF
|
|
007E+CD0500 CALL BDOS
|
|
0081+E1 POP H
|
|
0082+D1 POP D
|
|
0083+C1 POP B
|
|
0084+F1 POP PSW
|
|
0085 2A2004EB0E lhld xprog ! xchg ! mvi c,9 ! call BDOS
|
|
printf ' '
|
|
008E+F5 PUSH PSW
|
|
008F+C5 PUSH B
|
|
0090+D5 PUSH D
|
|
0091+E5 PUSH H
|
|
0092+0E09 MVI C,PRINTSTR
|
|
0094+11A100 LXI D,??0004
|
|
0097+CD0500 CALL BDOS
|
|
009A+E1 POP H
|
|
009B+D1 POP D
|
|
009C+C1 POP B
|
|
009D+F1 POP PSW
|
|
009E+C3A300 JMP ??0003
|
|
00A1+20 ??0004 DB ' '
|
|
00A2+24 DB '$'
|
|
IF A$MONTH LT 10
|
|
conout ' '
|
|
00A3+F5 PUSH PSW
|
|
00A4+C5 PUSH B
|
|
00A5+D5 PUSH D
|
|
00A6+E5 PUSH H
|
|
00A7+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
00A9+1E20 MVI E,' ' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
00AB+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
00AE+E1 POP H
|
|
00AF+D1 POP D
|
|
00B0+C1 POP B
|
|
00B1+F1 POP PSW
|
|
ENDIF
|
|
IF A$DAY LT 10
|
|
conout ' '
|
|
ENDIF
|
|
00B2 210300 lxi h,A$MONTH
|
|
00B5 CD0000 call pr$d$word
|
|
conout '/'
|
|
00B8+F5 PUSH PSW
|
|
00B9+C5 PUSH B
|
|
00BA+D5 PUSH D
|
|
00BB+E5 PUSH H
|
|
00BC+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
00BE+1E2F MVI E,'/' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
00C0+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
00C3+E1 POP H
|
|
00C4+D1 POP D
|
|
00C5+C1 POP B
|
|
00C6+F1 POP PSW
|
|
00C7 211F00 lxi h,A$DAY
|
|
00CA CD0000 call pr$d$word
|
|
conout '/'
|
|
00CD+F5 PUSH PSW
|
|
00CE+C5 PUSH B
|
|
00CF+D5 PUSH D
|
|
00D0+E5 PUSH H
|
|
00D1+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
00D3+1E2F MVI E,'/' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
00D5+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
00D8+E1 POP H
|
|
00D9+D1 POP D
|
|
00DA+C1 POP B
|
|
00DB+F1 POP PSW
|
|
00DC 21DD07 lxi h,A$YEAR
|
|
00DF CD0000 call pr$d$word
|
|
printf ' '
|
|
00E2+F5 PUSH PSW
|
|
00E3+C5 PUSH B
|
|
00E4+D5 PUSH D
|
|
00E5+E5 PUSH H
|
|
00E6+0E09 MVI C,PRINTSTR
|
|
00E8+11F500 LXI D,??0006
|
|
00EB+CD0500 CALL BDOS
|
|
00EE+E1 POP H
|
|
00EF+D1 POP D
|
|
00F0+C1 POP B
|
|
00F1+F1 POP PSW
|
|
00F2+C3F800 JMP ??0005
|
|
00F5+2020 ??0006 DB ' '
|
|
00F7+24 DB '$'
|
|
printf 'Version '
|
|
00F8+F5 PUSH PSW
|
|
00F9+C5 PUSH B
|
|
00FA+D5 PUSH D
|
|
00FB+E5 PUSH H
|
|
00FC+0E09 MVI C,PRINTSTR
|
|
00FE+110B01 LXI D,??0008
|
|
0101+CD0500 CALL BDOS
|
|
0104+E1 POP H
|
|
0105+D1 POP D
|
|
0106+C1 POP B
|
|
0107+F1 POP PSW
|
|
0108+C31401 JMP ??0007
|
|
010B+5665727369??0008 DB 'Version '
|
|
0113+24 DB '$'
|
|
0114 210200 lxi h,A$RMJ
|
|
0117 CD0000 call pr$d$word
|
|
conout '.'
|
|
011A+F5 PUSH PSW
|
|
011B+C5 PUSH B
|
|
011C+D5 PUSH D
|
|
011D+E5 PUSH H
|
|
011E+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
0120+1E2E MVI E,'.' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
0122+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
0125+E1 POP H
|
|
0126+D1 POP D
|
|
0127+C1 POP B
|
|
0128+F1 POP PSW
|
|
0129 210500 lxi h,A$RMN
|
|
012C CD0000 call pr$d$word
|
|
conout '.'
|
|
012F+F5 PUSH PSW
|
|
0130+C5 PUSH B
|
|
0131+D5 PUSH D
|
|
0132+E5 PUSH H
|
|
0133+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
0135+1E2E MVI E,'.' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
0137+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
013A+E1 POP H
|
|
013B+D1 POP D
|
|
013C+C1 POP B
|
|
013D+F1 POP PSW
|
|
013E 210000 lxi h,A$RUP
|
|
0141 CD0000 call pr$d$word
|
|
printf ' ('
|
|
0144+F5 PUSH PSW
|
|
0145+C5 PUSH B
|
|
0146+D5 PUSH D
|
|
0147+E5 PUSH H
|
|
0148+0E09 MVI C,PRINTSTR
|
|
014A+115701 LXI D,??0010
|
|
014D+CD0500 CALL BDOS
|
|
0150+E1 POP H
|
|
0151+D1 POP D
|
|
0152+C1 POP B
|
|
0153+F1 POP PSW
|
|
0154+C35A01 JMP ??0009
|
|
0157+2028 ??0010 DB ' ('
|
|
0159+24 DB '$'
|
|
015A 210100 lxi h,A$RTP
|
|
015D CD0000 call pr$d$word
|
|
conout ')'
|
|
0160+F5 PUSH PSW
|
|
0161+C5 PUSH B
|
|
0162+D5 PUSH D
|
|
0163+E5 PUSH H
|
|
0164+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
0166+1E29 MVI E,')' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
0168+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
016B+E1 POP H
|
|
016C+D1 POP D
|
|
016D+C1 POP B
|
|
016E+F1 POP PSW
|
|
print crlf
|
|
016F+F5 PUSH PSW
|
|
0170+C5 PUSH B
|
|
0171+D5 PUSH D
|
|
0172+E5 PUSH H
|
|
0173+0E09 MVI C,PRINTSTR
|
|
0175+112C04 LXI D,CRLF
|
|
0178+CD0500 CALL BDOS
|
|
017B+E1 POP H
|
|
017C+D1 POP D
|
|
017D+C1 POP B
|
|
017E+F1 POP PSW
|
|
printf 'S/N '
|
|
017F+F5 PUSH PSW
|
|
0180+C5 PUSH B
|
|
0181+D5 PUSH D
|
|
0182+E5 PUSH H
|
|
0183+0E09 MVI C,PRINTSTR
|
|
0185+119201 LXI D,??0012
|
|
0188+CD0500 CALL BDOS
|
|
018B+E1 POP H
|
|
018C+D1 POP D
|
|
018D+C1 POP B
|
|
018E+F1 POP PSW
|
|
018F+C39701 JMP ??0011
|
|
0192+532F4E20 ??0012 DB 'S/N '
|
|
0196+24 DB '$'
|
|
|
|
0197 2A2404EB0E lhld xprod ! xchg ! mvi c,9 ! call BDOS
|
|
|
|
conout '-'
|
|
01A0+F5 PUSH PSW
|
|
01A1+C5 PUSH B
|
|
01A2+D5 PUSH D
|
|
01A3+E5 PUSH H
|
|
01A4+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
01A6+1E2D MVI E,'-' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
01A8+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
01AB+E1 POP H
|
|
01AC+D1 POP D
|
|
01AD+C1 POP B
|
|
01AE+F1 POP PSW
|
|
|
|
01AF 2A2604EB0E lhld xorig ! xchg ! mvi c,9 ! call BDOS
|
|
|
|
conout '-'
|
|
01B8+F5 PUSH PSW
|
|
01B9+C5 PUSH B
|
|
01BA+D5 PUSH D
|
|
01BB+E5 PUSH H
|
|
01BC+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
01BE+1E2D MVI E,'-' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
01C0+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
01C3+E1 POP H
|
|
01C4+D1 POP D
|
|
01C5+C1 POP B
|
|
01C6+F1 POP PSW
|
|
|
|
; print xser
|
|
01C7 2A2804EB0E lhld xser ! xchg ! mvi c,9 ! call BDOS
|
|
|
|
printf ' '
|
|
01D0+F5 PUSH PSW
|
|
01D1+C5 PUSH B
|
|
01D2+D5 PUSH D
|
|
01D3+E5 PUSH H
|
|
01D4+0E09 MVI C,PRINTSTR
|
|
01D6+11E301 LXI D,??0014
|
|
01D9+CD0500 CALL BDOS
|
|
01DC+E1 POP H
|
|
01DD+D1 POP D
|
|
01DE+C1 POP B
|
|
01DF+F1 POP PSW
|
|
01E0+C3E501 JMP ??0013
|
|
01E3+20 ??0014 DB ' '
|
|
01E4+24 DB '$'
|
|
; printf 'All Rights Reserved'
|
|
printf 'Licensed under GPL3'
|
|
01E5+F5 PUSH PSW
|
|
01E6+C5 PUSH B
|
|
01E7+D5 PUSH D
|
|
01E8+E5 PUSH H
|
|
01E9+0E09 MVI C,PRINTSTR
|
|
01EB+11F801 LXI D,??0016
|
|
01EE+CD0500 CALL BDOS
|
|
01F1+E1 POP H
|
|
01F2+D1 POP D
|
|
01F3+C1 POP B
|
|
01F4+F1 POP PSW
|
|
01F5+C30C02 JMP ??0015
|
|
01F8+4C6963656E??0016 DB 'Licensed under GPL3'
|
|
020B+24 DB '$'
|
|
print crlf
|
|
020C+F5 PUSH PSW
|
|
020D+C5 PUSH B
|
|
020E+D5 PUSH D
|
|
020F+E5 PUSH H
|
|
0210+0E09 MVI C,PRINTSTR
|
|
0212+112C04 LXI D,CRLF
|
|
0215+CD0500 CALL BDOS
|
|
0218+E1 POP H
|
|
0219+D1 POP D
|
|
021A+C1 POP B
|
|
021B+F1 POP PSW
|
|
printf 'Copyright (C) 2011-12'
|
|
021C+F5 PUSH PSW
|
|
021D+C5 PUSH B
|
|
021E+D5 PUSH D
|
|
021F+E5 PUSH H
|
|
0220+0E09 MVI C,PRINTSTR
|
|
0222+112F02 LXI D,??0018
|
|
0225+CD0500 CALL BDOS
|
|
0228+E1 POP H
|
|
0229+D1 POP D
|
|
022A+C1 POP B
|
|
022B+F1 POP PSW
|
|
022C+C34502 JMP ??0017
|
|
022F+436F707972??0018 DB 'Copyright (C) 2011-12'
|
|
0244+24 DB '$'
|
|
|
|
0245 2A2A04EB0E lhld xnam ! xchg ! mvi c,9 ! call BDOS
|
|
|
|
print crlf
|
|
024E+F5 PUSH PSW
|
|
024F+C5 PUSH B
|
|
0250+D5 PUSH D
|
|
0251+E5 PUSH H
|
|
0252+0E09 MVI C,PRINTSTR
|
|
0254+112C04 LXI D,CRLF
|
|
0257+CD0500 CALL BDOS
|
|
025A+E1 POP H
|
|
025B+D1 POP D
|
|
025C+C1 POP B
|
|
025D+F1 POP PSW
|
|
printf '----------------------------------------'
|
|
025E+F5 PUSH PSW
|
|
025F+C5 PUSH B
|
|
0260+D5 PUSH D
|
|
0261+E5 PUSH H
|
|
0262+0E09 MVI C,PRINTSTR
|
|
0264+117102 LXI D,??0020
|
|
0267+CD0500 CALL BDOS
|
|
026A+E1 POP H
|
|
026B+D1 POP D
|
|
026C+C1 POP B
|
|
026D+F1 POP PSW
|
|
026E+C39A02 JMP ??0019
|
|
0271+2D2D2D2D2D??0020 DB '----------------------------------------'
|
|
0299+24 DB '$'
|
|
print crlf
|
|
029A+F5 PUSH PSW
|
|
029B+C5 PUSH B
|
|
029C+D5 PUSH D
|
|
029D+E5 PUSH H
|
|
029E+0E09 MVI C,PRINTSTR
|
|
02A0+112C04 LXI D,CRLF
|
|
02A3+CD0500 CALL BDOS
|
|
02A6+E1 POP H
|
|
02A7+D1 POP D
|
|
02A8+C1 POP B
|
|
02A9+F1 POP PSW
|
|
|
|
02AA C9 ret
|
|
|
|
|
|
; entered with argv in hl
|
|
public x$sbanner
|
|
x$sbanner:
|
|
02AB 221E04 shld argv
|
|
02AE 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprog ! xchg
|
|
02B7 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xvers ! xchg
|
|
02C0 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprod ! xchg
|
|
02C9 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xorig ! xchg
|
|
02D2 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xser ! xchg
|
|
02DB 5E235623EB mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xnam ! xchg
|
|
|
|
|
|
; printf '----------------------------------------'
|
|
; print crlf
|
|
02E4 2A2004EB0E lhld xprog ! xchg ! mvi c,9 ! call BDOS
|
|
printf ' '
|
|
02ED+F5 PUSH PSW
|
|
02EE+C5 PUSH B
|
|
02EF+D5 PUSH D
|
|
02F0+E5 PUSH H
|
|
02F1+0E09 MVI C,PRINTSTR
|
|
02F3+110003 LXI D,??0022
|
|
02F6+CD0500 CALL BDOS
|
|
02F9+E1 POP H
|
|
02FA+D1 POP D
|
|
02FB+C1 POP B
|
|
02FC+F1 POP PSW
|
|
02FD+C30203 JMP ??0021
|
|
0300+20 ??0022 DB ' '
|
|
0301+24 DB '$'
|
|
IF A$MONTH LT 10
|
|
conout ' '
|
|
0302+F5 PUSH PSW
|
|
0303+C5 PUSH B
|
|
0304+D5 PUSH D
|
|
0305+E5 PUSH H
|
|
0306+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
0308+1E20 MVI E,' ' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
030A+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
030D+E1 POP H
|
|
030E+D1 POP D
|
|
030F+C1 POP B
|
|
0310+F1 POP PSW
|
|
ENDIF
|
|
IF A$DAY LT 10
|
|
conout ' '
|
|
ENDIF
|
|
0311 210300 lxi h,A$MONTH
|
|
0314 CD0000 call pr$d$word
|
|
conout '/'
|
|
0317+F5 PUSH PSW
|
|
0318+C5 PUSH B
|
|
0319+D5 PUSH D
|
|
031A+E5 PUSH H
|
|
031B+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
031D+1E2F MVI E,'/' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
031F+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
0322+E1 POP H
|
|
0323+D1 POP D
|
|
0324+C1 POP B
|
|
0325+F1 POP PSW
|
|
0326 211F00 lxi h,A$DAY
|
|
0329 CD0000 call pr$d$word
|
|
conout '/'
|
|
032C+F5 PUSH PSW
|
|
032D+C5 PUSH B
|
|
032E+D5 PUSH D
|
|
032F+E5 PUSH H
|
|
0330+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
0332+1E2F MVI E,'/' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
0334+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
0337+E1 POP H
|
|
0338+D1 POP D
|
|
0339+C1 POP B
|
|
033A+F1 POP PSW
|
|
033B 21DD07 lxi h,A$YEAR
|
|
033E CD0000 call pr$d$word
|
|
printf ' '
|
|
0341+F5 PUSH PSW
|
|
0342+C5 PUSH B
|
|
0343+D5 PUSH D
|
|
0344+E5 PUSH H
|
|
0345+0E09 MVI C,PRINTSTR
|
|
0347+115403 LXI D,??0024
|
|
034A+CD0500 CALL BDOS
|
|
034D+E1 POP H
|
|
034E+D1 POP D
|
|
034F+C1 POP B
|
|
0350+F1 POP PSW
|
|
0351+C35703 JMP ??0023
|
|
0354+2020 ??0024 DB ' '
|
|
0356+24 DB '$'
|
|
printf 'Vers. '
|
|
0357+F5 PUSH PSW
|
|
0358+C5 PUSH B
|
|
0359+D5 PUSH D
|
|
035A+E5 PUSH H
|
|
035B+0E09 MVI C,PRINTSTR
|
|
035D+116A03 LXI D,??0026
|
|
0360+CD0500 CALL BDOS
|
|
0363+E1 POP H
|
|
0364+D1 POP D
|
|
0365+C1 POP B
|
|
0366+F1 POP PSW
|
|
0367+C37103 JMP ??0025
|
|
036A+566572732E??0026 DB 'Vers. '
|
|
0370+24 DB '$'
|
|
0371 210200 lxi h,A$RMJ
|
|
0374 CD0000 call pr$d$word
|
|
conout '.'
|
|
0377+F5 PUSH PSW
|
|
0378+C5 PUSH B
|
|
0379+D5 PUSH D
|
|
037A+E5 PUSH H
|
|
037B+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
037D+1E2E MVI E,'.' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
037F+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
0382+E1 POP H
|
|
0383+D1 POP D
|
|
0384+C1 POP B
|
|
0385+F1 POP PSW
|
|
0386 210500 lxi h,A$RMN
|
|
0389 CD0000 call pr$d$word
|
|
conout '.'
|
|
038C+F5 PUSH PSW
|
|
038D+C5 PUSH B
|
|
038E+D5 PUSH D
|
|
038F+E5 PUSH H
|
|
0390+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
|
|
0392+1E2E MVI E,'.' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
|
|
0394+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
|
|
0397+E1 POP H
|
|
0398+D1 POP D
|
|
0399+C1 POP B
|
|
039A+F1 POP PSW
|
|
039B 210000 lxi h,A$RUP
|
|
039E CD0000 call pr$d$word
|
|
printf ' ( '
|
|
03A1+F5 PUSH PSW
|
|
03A2+C5 PUSH B
|
|
03A3+D5 PUSH D
|
|
03A4+E5 PUSH H
|
|
03A5+0E09 MVI C,PRINTSTR
|
|
03A7+11B403 LXI D,??0028
|
|
03AA+CD0500 CALL BDOS
|
|
03AD+E1 POP H
|
|
03AE+D1 POP D
|
|
03AF+C1 POP B
|
|
03B0+F1 POP PSW
|
|
03B1+C3B803 JMP ??0027
|
|
03B4+202820 ??0028 DB ' ( '
|
|
03B7+24 DB '$'
|
|
03B8 210100 lxi h,A$RTP
|
|
03BB CD0000 call pr$d$word
|
|
printf ') '
|
|
03BE+F5 PUSH PSW
|
|
03BF+C5 PUSH B
|
|
03C0+D5 PUSH D
|
|
03C1+E5 PUSH H
|
|
03C2+0E09 MVI C,PRINTSTR
|
|
03C4+11D103 LXI D,??0030
|
|
03C7+CD0500 CALL BDOS
|
|
03CA+E1 POP H
|
|
03CB+D1 POP D
|
|
03CC+C1 POP B
|
|
03CD+F1 POP PSW
|
|
03CE+C3D403 JMP ??0029
|
|
03D1+2920 ??0030 DB ') '
|
|
03D3+24 DB '$'
|
|
printf 'COPR Douglas Goodall Licensed w/GPLv3'
|
|
03D4+F5 PUSH PSW
|
|
03D5+C5 PUSH B
|
|
03D6+D5 PUSH D
|
|
03D7+E5 PUSH H
|
|
03D8+0E09 MVI C,PRINTSTR
|
|
03DA+11E703 LXI D,??0032
|
|
03DD+CD0500 CALL BDOS
|
|
03E0+E1 POP H
|
|
03E1+D1 POP D
|
|
03E2+C1 POP B
|
|
03E3+F1 POP PSW
|
|
03E4+C30D04 JMP ??0031
|
|
03E7+434F505220??0032 DB 'COPR Douglas Goodall Licensed w/GPLv3'
|
|
040C+24 DB '$'
|
|
|
|
|
|
print crlf
|
|
040D+F5 PUSH PSW
|
|
040E+C5 PUSH B
|
|
040F+D5 PUSH D
|
|
0410+E5 PUSH H
|
|
0411+0E09 MVI C,PRINTSTR
|
|
0413+112C04 LXI D,CRLF
|
|
0416+CD0500 CALL BDOS
|
|
0419+E1 POP H
|
|
041A+D1 POP D
|
|
041B+C1 POP B
|
|
041C+F1 POP PSW
|
|
|
|
041D C9 ret
|
|
|
|
|
|
;----------------------------------------------------------------
|
|
|
|
041E argv ds 2
|
|
;----------------
|
|
0420 xprog ds 2
|
|
0422 xvers ds 2
|
|
0424 xprod ds 2
|
|
0426 xorig ds 2
|
|
0428 xser ds 2
|
|
042A xnam ds 2
|
|
|
|
042C 0D0A24 crlf db CR,LF,'$'
|
|
|
|
042F end
|
|
|