Browse Source

Reintegrate wbw -> trunk

pull/3/head
wayne 13 years ago
parent
commit
ce1fa57cb1
  1. BIN
      Apps/core/ACCESS.COM
  2. 3
      Apps/core/CLEAN.BAT
  3. BIN
      Apps/core/CPMNAME.COM
  4. 6
      Apps/core/FETCH.BAT
  5. BIN
      Apps/core/FINDFILE.COM
  6. BIN
      Apps/core/MAP.COM
  7. BIN
      Apps/core/META.COM
  8. BIN
      Apps/core/MULTIFMT.COM
  9. BIN
      Apps/core/REM.COM
  10. BIN
      Apps/core/SETLABEL.COM
  11. BIN
      Apps/core/SYSGEN.COM
  12. BIN
      Apps/core/TERMTYPE.COM
  13. BIN
      Apps/core/VIEW.COM
  14. BIN
      Apps/crossdev/ACCESS.CPM
  15. 248
      Apps/crossdev/ACCESS.PRN
  16. BIN
      Apps/crossdev/ACCESS.REL
  17. 8
      Apps/crossdev/ACCESS.SYM
  18. 6
      Apps/crossdev/APPLVERS.H
  19. 8
      Apps/crossdev/APPLVERS.LIB
  20. BIN
      Apps/crossdev/ASMIFACE.O
  21. 656
      Apps/crossdev/BANKER.ASM
  22. 587
      Apps/crossdev/BANNER.PRN
  23. BIN
      Apps/crossdev/BANNER.REL
  24. 29
      Apps/crossdev/BANNER.SYM
  25. BIN
      Apps/crossdev/BDOSCALL.O
  26. BIN
      Apps/crossdev/BIOSCALL.O
  27. 208
      Apps/crossdev/CBANNER.ASM
  28. BIN
      Apps/crossdev/CBANNER.O
  29. 61
      Apps/crossdev/CLEAN.BAT
  30. 159
      Apps/crossdev/CLOGICAL.ASM
  31. BIN
      Apps/crossdev/CLOGICAL.O
  32. 283
      Apps/crossdev/CMEMORY.ASM
  33. BIN
      Apps/crossdev/CMEMORY.O
  34. 527
      Apps/crossdev/CNAMEPT1.ASM
  35. BIN
      Apps/crossdev/CNAMEPT1.O
  36. 480
      Apps/crossdev/CNAMEPT2.ASM
  37. BIN
      Apps/crossdev/CNAMEPT2.O
  38. 794
      Apps/crossdev/CNAMEPT3.ASM
  39. BIN
      Apps/crossdev/CNAMEPT3.O
  40. 742
      Apps/crossdev/CNAMEPT4.ASM
  41. BIN
      Apps/crossdev/CNAMEPT4.O
  42. 49
      Apps/crossdev/COREAPPS.BAK
  43. 110
      Apps/crossdev/COREAPPS.BAT
  44. 164
      Apps/crossdev/CPMNAME.ASM
  45. BIN
      Apps/crossdev/CPMNAME.CPM
  46. BIN
      Apps/crossdev/CPMNAME.O
  47. 334
      Apps/crossdev/CTERMCAP.ASM
  48. BIN
      Apps/crossdev/CTERMCAP.O
  49. BIN
      Apps/crossdev/DIAGNOSE.O
  50. 1494
      Apps/crossdev/DUMP.ASM
  51. 367
      Apps/crossdev/EDITOR.ASM
  52. 2
      Apps/crossdev/FINDFILE.BAT
  53. BIN
      Apps/crossdev/FINDFILE.COM
  54. BIN
      Apps/crossdev/FINDFILE.CPM
  55. 1552
      Apps/crossdev/FINDFILE.PRN
  56. BIN
      Apps/crossdev/FINDFILE.REL
  57. 10
      Apps/crossdev/FINDFILE.SYM
  58. 19
      Apps/crossdev/FORMFEED.ASM
  59. 219
      Apps/crossdev/GETCFG.ASM
  60. 18
      Apps/crossdev/HBIOS.PRN
  61. BIN
      Apps/crossdev/HBIOS.REL
  62. 2
      Apps/crossdev/HBIOS.SYM
  63. 17
      Apps/crossdev/HELP.ASM
  64. 419
      Apps/crossdev/IDENTITY.PRN
  65. BIN
      Apps/crossdev/IDENTITY.REL
  66. 35
      Apps/crossdev/IDENTITY.SYM
  67. 351
      Apps/crossdev/LABELIB.PRN
  68. BIN
      Apps/crossdev/LABELIB.REL
  69. 40
      Apps/crossdev/LABELIB.SYM
  70. 1649
      Apps/crossdev/MAP.ASM
  71. BIN
      Apps/crossdev/MAP.CPM
  72. BIN
      Apps/crossdev/MAP.O
  73. 27
      Apps/crossdev/MEMORY.PRN
  74. BIN
      Apps/crossdev/MEMORY.REL
  75. 2
      Apps/crossdev/MEMORY.SYM
  76. 750
      Apps/crossdev/META.ASM
  77. BIN
      Apps/crossdev/META.CPM
  78. BIN
      Apps/crossdev/META.O
  79. 529
      Apps/crossdev/METADATA.PRN
  80. BIN
      Apps/crossdev/METADATA.REL
  81. 36
      Apps/crossdev/METADATA.SYM
  82. 1319
      Apps/crossdev/MULTIFMT.ASM
  83. BIN
      Apps/crossdev/MULTIFMT.CPM
  84. BIN
      Apps/crossdev/MULTIFMT.O
  85. 2056
      Apps/crossdev/N8CHARS.ASM
  86. BIN
      Apps/crossdev/N8CHARS.O
  87. 609
      Apps/crossdev/N8VIDTST.ASM
  88. BIN
      Apps/crossdev/N8VIDTST.CPM
  89. BIN
      Apps/crossdev/N8VIDTST.O
  90. 153
      Apps/crossdev/PRINTERS.PRN
  91. BIN
      Apps/crossdev/PRINTERS.REL
  92. 15
      Apps/crossdev/PRINTERS.SYM
  93. BIN
      Apps/crossdev/REM.CPM
  94. 24
      Apps/crossdev/REM.PRN
  95. BIN
      Apps/crossdev/REM.REL
  96. 2
      Apps/crossdev/REM.SYM
  97. 117
      Apps/crossdev/SECTORIO.ASM
  98. BIN
      Apps/crossdev/SECTORIO.O
  99. BIN
      Apps/crossdev/SETLABEL.CPM
  100. 152
      Apps/crossdev/SETLABEL.PRN

BIN
Apps/core/ACCESS.COM

Binary file not shown.

3
Apps/core/CLEAN.BAT

@ -0,0 +1,3 @@
@echo off
if exist *.COM del *.COM
if exist *.MAN del *.MAN

BIN
Apps/core/CPMNAME.COM

Binary file not shown.

6
Apps/core/FETCH.BAT

@ -1,4 +1,7 @@
@echo Copy CP/M-80 executables from the crossdev folder to here (core only)
@echo off
echo Copy CP/M-80 executables from the crossdev folder to here (core only)
if exist *.COM del *.COM
if exist *.MAN del *.MAN
copy ..\crossdev\ACCESS.CPM ACCESS.COM
copy ..\crossdev\CPMNAME.CPM CPMNAME.COM
copy ..\crossdev\FINDFILE.CPM FINDFILE.COM
@ -10,3 +13,4 @@ copy ..\crossdev\SETLABEL.CPM SETLABEL.COM
copy ..\crossdev\SYSGEN.CPM SYSGEN.COM
copy ..\crossdev\TERMTYPE.CPM TERMTYPE.COM
copy ..\crossdev\VIEW.CPM VIEW.COM
copy ..\doc\dwg-apps.man DWG-APPS.MAN

BIN
Apps/core/FINDFILE.COM

Binary file not shown.

BIN
Apps/core/MAP.COM

Binary file not shown.

BIN
Apps/core/META.COM

Binary file not shown.

BIN
Apps/core/MULTIFMT.COM

Binary file not shown.

BIN
Apps/core/REM.COM

Binary file not shown.

BIN
Apps/core/SETLABEL.COM

Binary file not shown.

BIN
Apps/core/SYSGEN.COM

Binary file not shown.

BIN
Apps/core/TERMTYPE.COM

Binary file not shown.

BIN
Apps/core/VIEW.COM

Binary file not shown.

BIN
Apps/crossdev/ACCESS.CPM

Binary file not shown.

248
Apps/crossdev/ACCESS.PRN

@ -1,248 +0,0 @@
; access.asm 7/19/2012 dwg - for 2.0.0.0 B22
; access.com 2/17/2012 dwg - review for release 1.5.1.0
; access.asm 2/11/2012 dwg - make ident compliant
; access.com 2/07/2012 dwg - review for release 1.5
; access.com 2/05/2012 dwg - adjust for new macros
; access.asm 1/30/2012 dwg - use new do$start and do$end macros
; access.asm 1/28/2012 dwg - assure file exists from within submit file
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
;----------------------------------------------------------------------
maclib portab
maclib globals
maclib cpmbdos
maclib printers
maclib banner
maclib applvers
maclib z80
maclib memory
maclib version
maclib cpmappl
maclib banner
;-----------------------
do$start
0000+C32200 START: JMP BEGIN
0003+3031323334HEXREF DB '0123456789ABCDEF'
0013+4944 ID$SIG DB 'ID'
0015+02 ID$RMJ DB A$RMJ
0016+05 ID$RMN DB A$RMN
0017+00 ID$RUP DB A$RUP
0018+01 ID$RTP DB A$RTP
0019+03 ID$MON DB A$MONTH
001A+1F ID$DAY DB A$DAY
001B+DD07 ID$YR DW A$YEAR
001D+3000 ID$ARGV DW ARGV
001F+E5 DB 0E5H
0020+ PRE$STK DS 2
0022+210000 BEGIN: LXI H,0
0025+39 DAD SP
0026+222000 SHLD PRE$STK
0029+31FC03 LXI SP,STACK$TOP
002C+00 NOP
002D C3A000 jmp around$bandata
0030 3E004B005Dargv dw prog,dat,prod,orig,ser,myname,0
003E 4143434553prog db 'ACCESS.COM $'
date
004B+20332F3331DAT DB ' 3/31/2013$'
serial
0056+3635343332SER DB '654321$'
product
005D+43504D3830PROD DB 'CPM80$'
originator
0063+44574724 ORIG DB 'DWG$'
oriname
0067+20444F5547MYNAME DB ' DOUGLAS W GOODALL $'
007B 3038443439uuid db '08D4953E-B6F4-4673-990C-7E17A0A299BD$'
around$bandata:
sbanner argv
00A0+213000 LXI H,ARGV
00A3+CD0000 CALL X$SBANNER
00A6 3A8000 lda 80h ; pick up the command tail length provided by CCP
00A9 FE00 cpi 0 ; were there any parameters given?
00AB C2DE00 jnz no$usage ; If not, go around
printf 'usage - access <filename>'
00AE+F5 PUSH PSW
00AF+C5 PUSH B
00B0+D5 PUSH D
00B1+E5 PUSH H
00B2+0E09 MVI C,PRINTSTR
00B4+11C100 LXI D,??0002
00B7+CD0500 CALL BDOS
00BA+E1 POP H
00BB+D1 POP D
00BC+C1 POP B
00BD+F1 POP PSW
00BE+C3DB00 JMP ??0001
00C1+7573616765??0002 DB 'usage - access <filename>'
00DA+24 DB '$'
00DB C3F201 jmp do$exit
no$usage:
memcpy work$fcb,PRIFCB,32 ; Save initial default FCB from CCP
00DE+111F04 LXI D,WORK$FCB ; LOAD 1ST POSITIONAL PARAMETER INTO REG
00E1+215C00 LXI H,PRIFCB ; LOAD 2ND POSITIONAL PARAMETER INTO REG
00E4+012000 LXI B,32 ; LOAD 3RD POSITIONAL PARAMETER INTO REG
00E7+CD0000 CALL X$MEMCPY ; CALL ACTUAL ROUTINE IN SEE MEMORY.ASM
printf 'Checking: '
00EA+F5 PUSH PSW
00EB+C5 PUSH B
00EC+D5 PUSH D
00ED+E5 PUSH H
00EE+0E09 MVI C,PRINTSTR
00F0+11FD00 LXI D,??0004
00F3+CD0500 CALL BDOS
00F6+E1 POP H
00F7+D1 POP D
00F8+C1 POP B
00F9+F1 POP PSW
00FA+C30801 JMP ??0003
00FD+436865636B??0004 DB 'Checking: '
0107+24 DB '$'
0108 3E24 mvi a,'$' ; place a terminating dollar sign
010A 326500 sta PRIFCB+9 ; at the end of the filname field
print PRIFCB+1 ; and print the filename portion
010D+F5 PUSH PSW
010E+C5 PUSH B
010F+D5 PUSH D
0110+E5 PUSH H
0111+0E09 MVI C,PRINTSTR
0113+115D00 LXI D,PRIFCB+1
0116+CD0500 CALL BDOS
0119+E1 POP H
011A+D1 POP D
011B+C1 POP B
011C+F1 POP PSW
conout '.' ; print the seperating dot
011D+F5 PUSH PSW
011E+C5 PUSH B
011F+D5 PUSH D
0120+E5 PUSH H
0121+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
0123+1E2E MVI E,'.' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
0125+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
0128+E1 POP H
0129+D1 POP D
012A+C1 POP B
012B+F1 POP PSW
memcpy PRIFCB,work$fcb,16 ; get a fresh copy of the initial FCB
012C+115C00 LXI D,PRIFCB ; LOAD 1ST POSITIONAL PARAMETER INTO REG
012F+211F04 LXI H,WORK$FCB ; LOAD 2ND POSITIONAL PARAMETER INTO REG
0132+011000 LXI B,16 ; LOAD 3RD POSITIONAL PARAMETER INTO REG
0135+CD0000 CALL X$MEMCPY ; CALL ACTUAL ROUTINE IN SEE MEMORY.ASM
0138 3E24 mvi a,'$' ; place a terminating dollar sign
013A 326800 sta PRIFCB+12 ; at the end of the filetype field
print PRIFCB+9 ; and print the filetype
013D+F5 PUSH PSW
013E+C5 PUSH B
013F+D5 PUSH D
0140+E5 PUSH H
0141+0E09 MVI C,PRINTSTR
0143+116500 LXI D,PRIFCB+9
0146+CD0500 CALL BDOS
0149+E1 POP H
014A+D1 POP D
014B+C1 POP B
014C+F1 POP PSW
print crlf ; followed by a CR and LF
014D+F5 PUSH PSW
014E+C5 PUSH B
014F+D5 PUSH D
0150+E5 PUSH H
0151+0E09 MVI C,PRINTSTR
0153+114304 LXI D,CRLF
0156+CD0500 CALL BDOS
0159+E1 POP H
015A+D1 POP D
015B+C1 POP B
015C+F1 POP PSW
memcpy PRIFCB,work$fcb,32 ; restore the initial FCB
015D+115C00 LXI D,PRIFCB ; LOAD 1ST POSITIONAL PARAMETER INTO REG
0160+211F04 LXI H,WORK$FCB ; LOAD 2ND POSITIONAL PARAMETER INTO REG
0163+012000 LXI B,32 ; LOAD 3RD POSITIONAL PARAMETER INTO REG
0166+CD0000 CALL X$MEMCPY ; CALL ACTUAL ROUTINE IN SEE MEMORY.ASM
0169 0E0F mvi c,FOPEN ; Try to open the given filename
016B 115C00 lxi d,PRIFCB ; using the primary default FCB
016E CD0500 call BDOS ; with a BDOS call
0171 FEFF cpi 255 ; Test for Open Failure (255)
0173 C2C001 jnz done ; jump if file existed
0176 0E13 mvi c,FDELETE ; Delete the A:$$$.SUB file
0178 11FC03 lxi d,del$fcb ; using an alternative FCB
017B CD0500 call BDOS
printf 'Submit file terminated due to missing file$'
017E+F5 PUSH PSW
017F+C5 PUSH B
0180+D5 PUSH D
0181+E5 PUSH H
0182+0E09 MVI C,PRINTSTR
0184+119101 LXI D,??0006
0187+CD0500 CALL BDOS
018A+E1 POP H
018B+D1 POP D
018C+C1 POP B
018D+F1 POP PSW
018E+C3BD01 JMP ??0005
0191+5375626D69??0006 DB 'Submit file terminated due to missing file$'
01BC+24 DB '$'
01BD C3F201 jmp do$exit ; Go to the one true exit point
done:
printf 'File found, Submit may proceed'
01C0+F5 PUSH PSW
01C1+C5 PUSH B
01C2+D5 PUSH D
01C3+E5 PUSH H
01C4+0E09 MVI C,PRINTSTR
01C6+11D301 LXI D,??0008
01C9+CD0500 CALL BDOS
01CC+E1 POP H
01CD+D1 POP D
01CE+C1 POP B
01CF+F1 POP PSW
01D0+C3F201 JMP ??0007
01D3+46696C6520??0008 DB 'File found, Submit may proceed'
01F1+24 DB '$'
do$exit:
do$end
01F2+2A2000 LHLD PRE$STK
01F5+F9 SPHL
01F6+0E0D MVI C,13
01F8+CD0500 CALL BDOS
01FB+C9 RET
01FC+ DS STACK$SIZE
newfcb del$fcb,1,'$$$ SUB'
03FC+0124242420DEL$FCB DB 1,'$$$ SUB'
0408+0000000000 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
041F work$fcb ds 36 ; A place to save a copy of the default FCB on entry
0443 0D0A crlf db CR,LF ; a dollar sign terminated CR and LF
0445 24 term db '$' ; a general purpose terminating character
0446 end start


BIN
Apps/crossdev/ACCESS.REL

Binary file not shown.

8
Apps/crossdev/ACCESS.SYM

@ -1,8 +0,0 @@
0103 HEXREF 0113 IDSIG 0115 IDRMJ 0116 IDRMN
0117 IDRUP 0118 IDRTP 0119 IDMON 011A IDDAY
011B IDYR 0120 PRESTK 0122 BEGIN 09C1 PRDWOR
0999 PRHBYT 09AE PRHWOR 0554 XBANNE 07FF XSBANN
0546 XMEMCP 0547 XMEMSE 0983 PRHNYB 09CD PDEC
09EF PDEC1 09F1 PDEC2 0A0D PDEC3 0A24 PDEC4
0A25 PDEC5


6
Apps/crossdev/APPLVERS.H

@ -5,10 +5,10 @@
#define A_RMJ 2
#define A_RMN 5
#define A_RUP 0
#define A_RTP 1
#define A_RTP 6
#define A_MONTH 3
#define A_DAY 31
#define A_MONTH 4
#define A_DAY 9
#define A_YEAR 2013
#define A_YR 13

8
Apps/crossdev/APPLVERS.LIB

@ -3,14 +3,14 @@
A$RMJ equ 2
A$RMN equ 5
A$RUP equ 0
A$RTP equ 1
A$RTP equ 6
A$MONTH equ 3
A$DAY equ 31
A$MONTH equ 4
A$DAY equ 9
A$YEAR equ 2013
date macro
dat db ' 3/31/2013$'
dat db ' 4/9/2013$'
endm
serial macro

BIN
Apps/crossdev/ASMIFACE.O

Binary file not shown.

656
Apps/crossdev/BANKER.ASM

@ -1,656 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
global pINFOLIS_,2
global metadata_,128
global pSYSCFG_,2
global pCBIOS_,2
PUBLIC main_
main_: lxi d,.2
call csave
LXI H,0
XCHG
LXI H,-132-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,-6596
SHLD ireghl_
CALL bioscall_
LHLD ireghl_
SHLD pINFOLIS_
LHLD pINFOLIS_
PUSH H
LXI H,.1+0
PUSH H
CALL printf_
POP D
POP D
LXI H,-6656
SHLD pCBIOS_
LXI H,-4096
SHLD hregbc_
LXI H,-16384
SHLD hregde_
CALL diagnose_
LXI H,-16384
SHLD pSYSCFG_
LHLD pSYSCFG_
LXI D,68
DAD D
MOV E,M
MVI D,0
PUSH D
CALL crtinit_
POP D
CALL crtclr_
LXI H,0
PUSH H
LXI H,0
PUSH H
CALL crtlc_
POP D
POP D
LXI H,0
PUSH H
LXI H,1
PUSH H
LXI H,1
PUSH H
LXI H,2
PUSH H
LXI H,2012
PUSH H
LXI H,29
PUSH H
LXI H,8
PUSH H
LXI H,.1+31
PUSH H
CALL printf_
XCHG
LXI H,16
DAD SP
SPHL
LXI H,.1+64
PUSH H
CALL printf_
POP D
LXI H,-4096
SHLD hregbc_
LXI H,-16384
SHLD hregde_
CALL diagnose_
LXI H,-16384
SHLD pSYSCFG_
LXI H,0
PUSH H
LXI H,2
PUSH H
CALL crtlc_
POP D
POP D
LXI H,0
PUSH H
LXI H,3
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.1+107
PUSH H
CALL printf_
POP D
LXI H,0
PUSH H
LXI H,4
PUSH H
CALL crtlc_
POP D
POP D
LHLD pSYSCFG_
LXI D,9
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+117
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,5
PUSH H
CALL crtlc_
POP D
POP D
LHLD pSYSCFG_
LXI D,10
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+126
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,6
PUSH H
CALL crtlc_
POP D
POP D
LHLD pSYSCFG_
LXI D,11
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+135
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,7
PUSH H
CALL crtlc_
POP D
POP D
LHLD pSYSCFG_
LXI D,12
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+144
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,9
PUSH H
CALL crtlc_
POP D
POP D
LHLD pSYSCFG_
LXI D,7
DAD D
MOV E,M
INX H
MOV D,M
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,-16384
DAD D
SHLD dregde_
LXI H,9
SHLD dregbc_
CALL bdoscall_
LXI H,0
PUSH H
LXI H,10
PUSH H
CALL crtlc_
POP D
POP D
LHLD pSYSCFG_
LXI D,5
DAD D
MOV E,M
INX H
MOV D,M
LXI H,-16384
DAD D
XCHG
LXI H,0-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,128
PUSH H
LXI H,0
PUSH H
LXI H,-124-.2
DAD SP
PUSH H
CALL memset_
POP D
POP D
POP D
LXI H,11
PUSH H
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-124-.2
DAD SP
PUSH H
CALL memcpy_
POP D
POP D
POP D
LXI H,-128-.2
DAD SP
PUSH H
LXI H,.1+153
PUSH H
CALL printf_
POP D
POP D
LXI H,26
PUSH H
LXI H,3
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.1+156
PUSH H
CALL printf_
POP D
LXI H,26
PUSH H
LXI H,4
PUSH H
CALL crtlc_
POP D
POP D
LHLD pCBIOS_
LXI D,75
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+166
PUSH H
CALL printf_
POP D
POP D
LXI H,26
PUSH H
LXI H,5
PUSH H
CALL crtlc_
POP D
POP D
LHLD pCBIOS_
LXI D,76
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+175
PUSH H
CALL printf_
POP D
POP D
LXI H,26
PUSH H
LXI H,6
PUSH H
CALL crtlc_
POP D
POP D
LHLD pCBIOS_
LXI D,77
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+184
PUSH H
CALL printf_
POP D
POP D
LXI H,26
PUSH H
LXI H,7
PUSH H
CALL crtlc_
POP D
POP D
LHLD pCBIOS_
LXI D,78
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+193
PUSH H
CALL printf_
POP D
POP D
LXI H,26
PUSH H
LXI H,9
PUSH H
CALL crtlc_
POP D
POP D
LHLD pINFOLIS_
LXI D,4
DAD D
MOV E,M
INX H
MOV D,M
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,128
PUSH H
LXI H,0
PUSH H
LXI H,-124-.2
DAD SP
PUSH H
CALL memset_
POP D
POP D
POP D
LXI H,127
PUSH H
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-124-.2
DAD SP
PUSH H
CALL memcpy_
POP D
POP D
POP D
LXI H,0
XCHG
LXI H,-130-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .4
.3:
LXI H,-130-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.4:
LXI H,-130-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,128
CALL .ul
JZ .5
LXI H,-130-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,-128-.2
DAD SP
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,45
POP D
CALL .eq
JZ .6
LXI H,-132-.2
DAD SP
mov a,m
inx h
ora m
JZ .7
LXI H,0
PUSH H
LXI H,-128-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,-126-.2
DAD SP
DAD D
POP D
MOV M,E
JMP .8
.7:
LXI H,1
XCHG
LXI H,-132-.2
DAD SP
MOV M,E
INX H
MOV M,D
.8:
.6:
JMP .3
.5:
LXI H,-128-.2
DAD SP
PUSH H
LXI H,.1+202
PUSH H
CALL printf_
POP D
POP D
LXI H,26
PUSH H
LXI H,10
PUSH H
CALL crtlc_
POP D
POP D
LHLD pINFOLIS_
LXI D,6
DAD D
MOV E,M
INX H
MOV D,M
LXI H,0-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,128
PUSH H
LXI H,0
PUSH H
LXI H,-124-.2
DAD SP
PUSH H
CALL memset_
POP D
POP D
POP D
LXI H,11
PUSH H
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-124-.2
DAD SP
PUSH H
CALL memcpy_
POP D
POP D
POP D
LXI H,-128-.2
DAD SP
PUSH H
LXI H,.1+205
PUSH H
CALL printf_
POP D
POP D
LXI H,52
PUSH H
LXI H,3
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.1+208
PUSH H
CALL printf_
POP D
LXI H,52
PUSH H
LXI H,4
PUSH H
CALL crtlc_
POP D
POP D
LXI H,2
PUSH H
LXI H,.1+219
PUSH H
CALL printf_
POP D
POP D
LXI H,52
PUSH H
LXI H,5
PUSH H
CALL crtlc_
POP D
POP D
LXI H,1
PUSH H
LXI H,.1+228
PUSH H
CALL printf_
POP D
POP D
LXI H,52
PUSH H
LXI H,6
PUSH H
CALL crtlc_
POP D
POP D
LXI H,1
PUSH H
LXI H,.1+237
PUSH H
CALL printf_
POP D
POP D
LXI H,52
PUSH H
LXI H,7
PUSH H
CALL crtlc_
POP D
POP D
LXI H,0
PUSH H
LXI H,.1+246
PUSH H
CALL printf_
POP D
POP D
LXI H,52
PUSH H
LXI H,10
PUSH H
CALL crtlc_
POP D
POP D
LXI H,29
PUSH H
LXI H,8
PUSH H
LXI H,12
PUSH H
LXI H,.1+255
PUSH H
CALL printf_
XCHG
LXI H,8
DAD SP
SPHL
LXI H,0
PUSH H
LXI H,23
PUSH H
CALL crtlc_
POP D
POP D
RET
.2 EQU -136
.1:
DB 112,111,115,116,32,71,69,84,73,78,70,79,32,105,114
DB 101,103,104,108,32,105,115,32,48,120,37,48,52,120,10
DB 0,66,65,78,75,69,82,46,67,79,77,32,37,100,47
DB 37,100,47,37,100,32,118,37,100,46,37,100,46,37,100
DB 46,37,100,0,32,100,119,103,32,45,32,68,105,115,112
DB 108,97,121,32,77,101,109,111,114,121,32,66,97,110,107
DB 32,67,104,97,114,97,99,116,101,114,105,115,116,105,99
DB 115,0,82,79,77,32,66,97,110,107,49,0,82,77,74
DB 32,61,32,37,100,0,82,77,78,32,61,32,37,100,0
DB 82,85,80,32,61,32,37,100,0,82,84,80,32,61,32
DB 37,100,0,37,115,0,67,66,73,79,83,32,72,68,82
DB 0,82,77,74,32,61,32,37,100,0,82,77,78,32,61
DB 32,37,100,0,82,85,80,32,61,32,37,100,0,82,84
DB 80,32,61,32,37,100,0,37,115,0,37,115,0,66,65
DB 78,75,69,82,46,67,79,77,0,82,77,74,32,61,32
DB 37,100,0,82,77,78,32,61,32,37,100,0,82,85,80
DB 32,61,32,37,100,0,82,84,80,32,61,32,37,100,0
DB 37,48,50,100,37,48,50,100,37,48,50,100,0
extrn crtlc_
extrn crtclr_
extrn crtinit_
extrn printf_
extrn diagnose_
extrn hregde_
extrn hregbc_
extrn bioscall_
extrn ireghl_
extrn bdoscall_
extrn dregde_
extrn dregbc_
extrn memset_
extrn memcpy_
extrn .eq
extrn .ul
END


587
Apps/crossdev/BANNER.PRN

@ -1,587 +0,0 @@
; 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


BIN
Apps/crossdev/BANNER.REL

Binary file not shown.

29
Apps/crossdev/BANNER.SYM

@ -1,29 +0,0 @@
001F ADAY 0009 AL0OFS 000A AL1OFS 000E ALVOFS 0003 AMONTH
041E ARGV 0002 ARMJ 0005 ARMN 0001 ARTP 0000 ARUP
07DD AYEAR 0005 BDOS E600 BIBOOT E609 BICONIN E60C BICONOUT
E606 BICONST 0000 BIDRVA 0001 BIDRVB 0002 BIDRVC 0003 BIDRVD
0004 BIDRVE 0005 BIDRVF 0006 BIDRVG 0007 BIDRVH E618 BIHOME
E60F BILIST E62D BILISTST E612 BIPUNCH E627 BIREAD E615 BIREADER
E630 BISECTRN E61B BISELDSK E624 BISETDMA E621 BISETSEC E61E BISETTRK
E603 BIWBOOT E62A BIWRITE 0003 BLMOFS 0002 BSHOFS 0001 BYTESIZE
000B CKSOFS 003A COLON 000D CR 0001 CREAD 042C CRLF
0020 CROFS 000C CSVOFS 0012 CUROFS 0002 CWRITE 0010 D0OFS
0008 DBFOFS 0080 DEFBUF 000F DPBLEN 000A DPBOFS 0010 DPHLEN
0001 DRIVEB 0007 DRMOFS 0000 DROFS 000D DSKRESET 0005 DSMOFS
0001 ENGLISH 001B ESC 0004 EXMOFS 000C EXOFS 0001 F1OFS
0002 F2OFS 0003 F3OFS 0004 F4OFS 0005 F5OFS 0006 F6OFS
0007 F7OFS 0008 F8OFS 0000 FALSE 0024 FCBLEN 0010 FCLOSE
0023 FCOMPSIZE 0013 FDELETE 0016 FMAKE 000F FOPEN 0017 FRENAME
0020 LENFCB 000A LF 0010 LU1OFS 0011 LU2OFS 0010 MAXLABEL
0000 NEVER 0014 NLUOFS 00E5 OEMID 000D OFFOFS 0000 PRDWORD
0000 PRHBYTE 0000 PRHWORD 005C PRIFCB 0009 PRINTSTR 0021 R0OFS
0022 R1OFS 0023 R2OFS 000F RCOFS 000A READCONBUF 0014 READSEQ
0025 RESETDRIVE 0019 RETCURR 000C RETVERNO E64B RMJ E64C RMN
E64E RTP E64D RUP 0002 RV1OFS 0004 RV2OFS 0006 RV3OFS
000D S1OFS 000E S2OFS 006C SECFCB 000E SELDSK 001A SETDMA
0024 SETRANDREC 0000 SPANISH 0000 SPTOFS 0200 STACKSIZE 0009 T1OFS
000A T2OFS 000B T3OFS 0000 TERMCPM 0001 TRUE 0002 WORDSIZE
0022 WRITERAND 0028 WRITERANDZF 0015 WRITESEQ 0000 XBANNER
0000 XLTOFS 042A XNAM 0426 XORIG 0424 XPROD 0420 XPROG
02AB XSBANNER 0428 XSER 0422 XVERS


BIN
Apps/crossdev/BDOSCALL.O

Binary file not shown.

BIN
Apps/crossdev/BIOSCALL.O

Binary file not shown.

208
Apps/crossdev/CBANNER.ASM

@ -1,208 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
DSEG
public lines_
lines_:
DW .1+0
CSEG
.1:
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45
DB 45,45,45,45,45,45,45,45,45,45,0
DSEG
public line1_
line1_:
DW .2+0
CSEG
.2:
DB 49,50,51,52,53,54,55,56,46,49,50,51,32,109,109
DB 47,100,100,47,121,121,121,121,32,32,86,101,114,115,105
DB 111,110,32,120,46,120,46,120,46,120,0
DSEG
public line2_
line2_:
DW .3+0
CSEG
.3:
DB 83,47,78,32,67,80,77,56,48,45,68,87,71,45,54
DB 53,52,51,50,49,32,76,105,99,101,110,115,101,100,32
DB 117,110,100,101,114,32,71,80,76,51,0
DSEG
public line3_
line3_:
DW .4+0
CSEG
.4:
DB 67,111,112,121,114,105,103,104,116,32,40,67,41,32,50
DB 48,49,49,45,49,50,32,68,111,117,103,108,97,115,32
DB 87,46,32,71,111,111,100,97,108,108,0
PUBLIC sbanner_
sbanner_: lxi d,.6
call csave
LXI H,8-.6
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.5+0
PUSH H
CALL printf_
POP D
POP D
LXI H,2013
PUSH H
LXI H,31
PUSH H
LXI H,3
PUSH H
LXI H,.5+4
PUSH H
CALL printf_
XCHG
LXI H,8
DAD SP
SPHL
LXI H,1
PUSH H
LXI H,0
PUSH H
LXI H,5
PUSH H
LXI H,2
PUSH H
LXI H,.5+18
PUSH H
CALL printf_
XCHG
LXI H,10
DAD SP
SPHL
LXI H,.5+39
PUSH H
CALL printf_
POP D
RET
.6 EQU -128
.5:
DB 37,115,32,0,37,50,100,47,37,50,100,47,37,52,100
DB 32,32,0,86,101,114,115,105,111,110,32,37,100,46,37
DB 100,46,37,100,46,37,100,32,0,67,79,80,82,32,68
DB 111,117,103,108,97,115,32,71,111,111,100,97,108,108,32
DB 76,105,99,101,110,115,101,100,32,119,47,71,80,76,118
DB 51,10,0
PUBLIC banner_
banner_: lxi d,.8
call csave
LHLD lines_
PUSH H
LXI H,.7+0
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.8
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-122-.8
DAD SP
PUSH H
CALL strcpy_
POP D
POP D
.9:
LXI H,-124-.8
DAD SP
PUSH H
CALL strlen_
POP D
PUSH H
LXI H,12
POP D
XCHG
CALL .gt
JZ .10
LXI H,.7+4
PUSH H
LXI H,-122-.8
DAD SP
PUSH H
CALL strcat_
POP D
POP D
JMP .9
.10:
LXI H,-124-.8
DAD SP
PUSH H
LXI H,.7+6
PUSH H
CALL printf_
POP D
POP D
LXI H,2013
PUSH H
LXI H,31
PUSH H
LXI H,3
PUSH H
LXI H,.7+10
PUSH H
CALL printf_
XCHG
LXI H,8
DAD SP
SPHL
LXI H,1
PUSH H
LXI H,0
PUSH H
LXI H,5
PUSH H
LXI H,2
PUSH H
LXI H,.7+24
PUSH H
CALL printf_
XCHG
LXI H,10
DAD SP
SPHL
LHLD line2_
PUSH H
LXI H,.7+45
PUSH H
CALL printf_
POP D
POP D
LHLD line3_
PUSH H
LXI H,.7+49
PUSH H
CALL printf_
POP D
POP D
LHLD lines_
PUSH H
LXI H,.7+53
PUSH H
CALL printf_
POP D
POP D
RET
.8 EQU -128
.7:
DB 37,115,10,0,32,0,37,115,32,0,37,50,100,47,37
DB 50,100,47,37,52,100,32,32,0,86,101,114,115,105,111
DB 110,32,37,100,46,37,100,46,37,100,46,37,100,10,0
DB 37,115,10,0,37,115,10,0,37,115,10,0
extrn strcat_
extrn strlen_
extrn strcpy_
extrn printf_
extrn .gt
END


BIN
Apps/crossdev/CBANNER.O

Binary file not shown.

61
Apps/crossdev/CLEAN.BAT

@ -1,8 +1,10 @@
@echo off
if exist *.bak erase *.bak
if exist *.prn erase *.prn
if exist *.o erase *.o
if exist *.rel erase *.rel
if exist *.cpm erase *.cpm
if exist *.sym erase *.sym
if exist 2drive.asm erase 2drive.asm
if exist 2map.asm erase 2map.asm
if exist banker.asm erase banker.asm
@ -47,7 +49,7 @@ if exist sectorio.asm erase sectorio.asm
if exist stat9918.asm erase stat9918.asm
if exist sysgen.asm erase sysgen.asm
if exist termtype.asm erase termtype.asm
if exist test.asm ertase test.asm
if exist test.asm erase test.asm
if exist tester.asm erase tester.asm
if exist testn8.asm erase testn8.asm
if exist testv5.asm erase testv5.asm
@ -59,60 +61,3 @@ if exist tmsstat.asm erase tmsstat.asm
if exist trackio.asm erase trackio.asm
if exist video.asm erase video.asm
if exist view.asm erase view.asm
if exist 2drive.o erase 2drive.o
if exist 2map.o erase 2map.o
if exist banker.o erase banker.o
if exist cbanner.o erase cbanner.o
if exist chars.o erase chars.o
if exist clear.o erase clear.o
if exist clogical.o erase clogical.o
if exist cls.o erase cls.o
if exist cmemory.o erase cmemory.o
if exist cnamept*.o erase cnamept*.o
if exist convert.o erase convert.o
if exist cpmname.o erase cpmname.o
if exist ctermcap.o erase ctermcap.o
if exist cvt2h.o erase cvt2h.o
if exist diskcopy.o erase diskcopy.o
if exist doit.o erase doit.o
if exist dump.o erase dump.o
if exist editor.o erase editor.o
if exist flip.o erase flip.o
if exist form.o erase form.o
if exist formfeed.o erase formfeed.o
if exist getcfg.o erase getcfg.o
if exist hello.o erase hello.o
if exist help.o erase help.o
if exist label.o erase label.o
if exist map.o erase map.o
if exist menu.o erase menu.o
if exist menu1.o erase menu1.o
if exist menucol.o erase menucol.o
if exist meta.o erase meta.o
if exist metadata.o erase metadata.o
if exist mkrasm80.o erase mkrasm80.o
if exist monitor.o erase monitor.o
if exist multifmt.o erase multifmt.o
if exist n8chars.o erase n8chars.o
if exist n8vidtst.o erase n8vidtst.o
if exist portio.o erase portio.o
if exist psecio.o erase psecio.o
if exist putc.o erase putc.o
if exist reconv.o erase reconv.o
if exist remote.o erase remote.o
if exist sectorio.o erase sectorio.o
if exist stat9918.o erase stat9918.o
if exist sysgen.o erase sysgen.o
if exist termtype.o erase termtype.o
if exist test.o ertase test.o
if exist tester.o erase tester.o
if exist testn8.o erase testn8.o
if exist testv5.o erase testv5.o
if exist testv6.o erase testv6.o
if exist tms9918.o erase tms9918.o
if exist tms9918x.o erase tms9918x.o
if exist tmsbind.o erase tmsbind.o
if exist tmsstat.o erase tmsstat.o
if exist trackio.o erase trackio.o
if exist video.o erase video.o
if exist view.o erase view.o

159
Apps/crossdev/CLOGICAL.ASM

@ -1,159 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
PUBLIC lugcur_
lugcur_: lxi d,.2
call csave
LXI H,0
PUSH H
LXI H,0
PUSH H
LXI H,12-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-6602
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
LHLD xregde_
RET
.2 EQU 0
PUBLIC lugnum_
lugnum_: lxi d,.3
call csave
LXI H,0
PUSH H
LXI H,0
PUSH H
LXI H,12-.3
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-6602
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
LHLD xreghl_
RET
.3 EQU 0
PUBLIC lugdu_
lugdu_: lxi d,.4
call csave
LXI H,0
PUSH H
LXI H,0
PUSH H
LXI H,12-.4
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-6602
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
LHLD xregbc_
LXI D,8
XCHG
CALL .ur
RET
.4 EQU 0
PUBLIC luscur_
luscur_: lxi d,.5
call csave
LXI H,0
PUSH H
LXI H,0
PUSH H
LXI H,12-.5
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-6602
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
LHLD xreghl_
PUSH H
LXI H,12-.5
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LHLD xregbc_
PUSH H
LXI H,-6599
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
RET
.5 EQU 0
PUBLIC lusnum_
lusnum_: lxi d,.6
call csave
LXI H,0
PUSH H
LXI H,0
PUSH H
LXI H,12-.6
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,-6602
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
LXI H,10-.6
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LHLD xregde_
PUSH H
LHLD xregbc_
PUSH H
LXI H,-6599
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
RET
.6 EQU 0
extrn asmif_
extrn xreghl_
extrn xregde_
extrn xregbc_
extrn .ur
END


BIN
Apps/crossdev/CLOGICAL.O

Binary file not shown.

283
Apps/crossdev/CMEMORY.ASM

@ -1,283 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
PUBLIC memcmp_
memcmp_: lxi d,.2
call csave
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,10-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,0-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,0
XCHG
LXI H,-2-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .4
.3:
LXI H,-2-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.4:
LXI H,-2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,12-.2
DAD SP
MOV A,M
INX H
MOV H,M
MOV L,A
CALL .lt
JZ .5
LXI H,0-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,4-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
POP H
CALL .ne
JZ .6
LXI H,0
RET
.6:
JMP .3
.5:
LXI H,1
RET
.2 EQU -6
PUBLIC memcpy_
memcpy_: lxi d,.7
call csave
LXI H,10-.7
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2-.7
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,8-.7
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,0-.7
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,0
XCHG
LXI H,-2-.7
DAD SP
MOV M,E
INX H
MOV M,D
JMP .9
.8:
LXI H,-2-.7
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.9:
LXI H,-2-.7
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,12-.7
DAD SP
MOV A,M
INX H
MOV H,M
MOV L,A
CALL .lt
JZ .10
LXI H,2-.7
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
PUSH D
LXI H,2-.7
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
POP D
MOV M,E
JMP .8
.10:
RET
.7 EQU -6
PUBLIC memset_
memset_: lxi d,.11
call csave
LXI H,8-.11
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2-.11
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,0
XCHG
LXI H,0-.11
DAD SP
MOV M,E
INX H
MOV M,D
JMP .13
.12:
LXI H,0-.11
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.13:
LXI H,0-.11
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,12-.11
DAD SP
MOV A,M
INX H
MOV H,M
MOV L,A
CALL .ul
JZ .14
LXI H,10-.11
DAD SP
MOV E,M
PUSH D
LXI H,4-.11
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
POP D
MOV M,E
JMP .12
.14:
RET
.11 EQU -4
extrn .ne
extrn .lt
extrn .ul
END


BIN
Apps/crossdev/CMEMORY.O

Binary file not shown.

527
Apps/crossdev/CNAMEPT1.ASM

@ -1,527 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
global cache_,17
PUBLIC cnamept1_
cnamept1_: lxi d,.2
call csave
LXI H,.1+0
PUSH H
LXI H,cache_
PUSH H
CALL strcpy_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
INX H
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.1+17
PUSH H
CALL printf_
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
INX H
INX H
INX H
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.1+51
PUSH H
CALL printf_
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,5
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.1+85
PUSH H
CALL printf_
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,7
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.1+119
PUSH H
CALL printf_
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,9
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+153
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,10
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+175
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,11
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+197
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,12
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+219
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+241
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,13
DAD D
MOV E,M
MVI D,0
XCHG
JMP .3
.5:
LXI H,.1+261
PUSH H
CALL printf_
POP D
JMP .4
.6:
LXI H,.1+266
PUSH H
CALL printf_
POP D
JMP .4
.3:
CALL .swt
DW 2
DW 0,.6
DW 1,.5
DW .4
.4:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,14
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+272
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,15
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+298
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,23
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+324
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+349
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,24
DAD D
MOV E,M
MVI D,0
XCHG
JMP .7
.9:
LXI H,.1+369
PUSH H
CALL printf_
POP D
JMP .8
.10:
LXI H,.1+375
PUSH H
CALL printf_
POP D
JMP .8
.11:
LXI H,.1+380
PUSH H
CALL printf_
POP D
JMP .8
.7:
CALL .swt
DW 3
DW 1,.9
DW 2,.10
DW 3,.11
DW .8
.8:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+383
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,25
DAD D
MOV E,M
MVI D,0
XCHG
JMP .12
.14:
LXI H,.1+403
PUSH H
CALL printf_
POP D
JMP .13
.15:
LXI H,.1+415
PUSH H
CALL printf_
POP D
JMP .13
.16:
LXI H,.1+429
PUSH H
CALL printf_
POP D
JMP .13
.17:
LXI H,.1+441
PUSH H
CALL printf_
POP D
JMP .13
.18:
LXI H,.1+453
PUSH H
CALL printf_
POP D
JMP .13
.19:
LXI H,.1+463
PUSH H
CALL printf_
POP D
JMP .13
.20:
LXI H,.1+478
PUSH H
CALL printf_
POP D
JMP .13
.12:
CALL .swt
DW 6
DW 0,.14
DW 1,.15
DW 2,.16
DW 3,.17
DW 4,.18
DW 5,.19
DW .20
.13:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+486
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,26
DAD D
MOV E,M
MVI D,0
XCHG
JMP .21
.23:
LXI H,.1+506
PUSH H
CALL printf_
POP D
JMP .22
.24:
LXI H,.1+518
PUSH H
CALL printf_
POP D
JMP .22
.25:
LXI H,.1+529
PUSH H
CALL printf_
POP D
JMP .22
.26:
LXI H,.1+541
PUSH H
CALL printf_
POP D
JMP .22
.27:
LXI H,.1+555
PUSH H
CALL printf_
POP D
JMP .22
.28:
LXI H,.1+567
PUSH H
CALL printf_
POP D
JMP .22
.21:
CALL .swt
DW 5
DW 0,.23
DW 1,.24
DW 2,.25
DW 3,.26
DW 4,.27
DW .28
.22:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,27
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+577
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,29
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+599
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
RET
.2 EQU 0
.1:
DB 115,121,115,99,102,103,45,62,99,110,102,103,100,97,116
DB 97,0,115,121,115,99,102,103,45,62,106,109,112,32,32
DB 32,32,32,32,32,32,32,32,32,32,106,112,32,32,48
DB 37,48,52,120,104,0,115,121,115,99,102,103,45,62,99
DB 110,102,108,111,99,32,32,32,32,32,32,32,32,32,46
DB 100,119,32,48,37,48,52,120,104,0,115,121,115,99,102
DB 103,45,62,116,115,116,108,111,99,32,32,32,32,32,32
DB 32,32,32,46,100,119,32,48,37,48,52,120,104,0,115
DB 121,115,99,102,103,45,62,118,97,114,108,111,99,32,32
DB 32,32,32,32,32,32,32,46,100,119,32,48,37,48,52
DB 120,104,0,37,115,46,114,109,106,32,32,32,32,32,32
DB 32,32,32,32,32,61,32,37,100,0,37,115,46,114,109
DB 110,32,32,32,32,32,32,32,32,32,32,32,61,32,37
DB 100,0,37,115,46,114,117,112,32,32,32,32,32,32,32
DB 32,32,32,32,61,32,37,100,0,37,115,46,114,116,112
DB 32,32,32,32,32,32,32,32,32,32,32,61,32,37,100
DB 0,37,115,46,100,105,115,107,98,111,111,116,32,32,32
DB 32,32,32,61,32,0,84,82,85,69,0,70,65,76,83
DB 69,0,37,115,46,100,101,118,117,110,105,116,32,32,32
DB 32,32,32,32,61,32,48,120,37,48,50,120,0,37,115
DB 46,98,111,111,116,108,117,32,32,32,32,32,32,32,32
DB 61,32,48,120,37,48,52,120,0,37,115,46,102,114,101
DB 113,32,32,32,32,32,32,32,32,32,32,61,32,37,100
DB 77,72,122,0,37,115,46,112,108,97,116,102,111,114,109
DB 32,32,32,32,32,32,61,32,0,78,56,86,69,77,0
DB 90,69,84,65,0,78,56,0,37,115,46,100,105,111,112
DB 108,97,116,32,32,32,32,32,32,32,61,32,0,68,73
DB 79,80,76,84,95,78,79,78,69,0,68,73,79,80,76
DB 84,95,68,73,83,75,73,79,0,68,73,79,80,76,84
DB 95,90,69,84,65,0,68,73,79,80,76,84,95,68,73
DB 68,69,0,68,73,79,80,76,84,95,78,56,0,68,73
DB 79,80,76,84,95,68,73,83,75,73,79,51,0,85,110
DB 107,110,111,119,110,0,37,115,46,118,100,117,109,111,100
DB 101,32,32,32,32,32,32,32,61,32,0,86,68,85,80
DB 76,84,95,78,79,78,69,0,86,68,85,80,76,84,95
DB 86,68,85,0,86,68,85,80,76,84,95,86,68,85,67
DB 0,86,68,85,80,76,84,95,80,82,79,80,73,79,0
DB 86,68,85,80,76,84,95,86,80,78,56,0,85,110,107
DB 110,111,119,110,33,33,0,37,115,46,114,111,109,115,105
DB 122,101,32,32,32,32,32,32,32,61,32,37,100,0,37
DB 115,46,114,97,109,115,105,122,101,32,32,32,32,32,32
DB 32,61,32,37,100,0
extrn printf_
extrn strcpy_
extrn pager_
END


BIN
Apps/crossdev/CNAMEPT1.O

Binary file not shown.

480
Apps/crossdev/CNAMEPT2.ASM

@ -1,480 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
global cache_,17
PUBLIC cnamept2_
cnamept2_: lxi d,.2
call csave
LXI H,.1+0
PUSH H
LXI H,cache_
PUSH H
CALL strcpy_
POP D
POP D
LXI H,cache_
PUSH H
LXI H,.1+17
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,31
DAD D
MOV E,M
MVI D,0
XCHG
JMP .3
.5:
LXI H,.1+37
PUSH H
CALL printf_
POP D
JMP .4
.6:
LXI H,.1+47
PUSH H
CALL printf_
POP D
JMP .4
.7:
LXI H,.1+56
PUSH H
CALL printf_
POP D
JMP .4
.3:
CALL .swt
DW 3
DW 0,.5
DW 1,.6
DW 2,.7
DW .4
.4:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+68
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,32
DAD D
MOV E,M
MVI D,0
XCHG
JMP .8
.10:
LXI H,.1+88
PUSH H
CALL printf_
POP D
JMP .9
.11:
LXI H,.1+93
PUSH H
CALL printf_
POP D
JMP .9
.8:
CALL .swt
DW 2
DW 0,.11
DW 1,.10
DW .9
.9:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+99
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,33
DAD D
MOV E,M
MVI D,0
XCHG
JMP .12
.14:
LXI H,.1+119
PUSH H
CALL printf_
POP D
JMP .13
.15:
LXI H,.1+124
PUSH H
CALL printf_
POP D
JMP .13
.12:
CALL .swt
DW 2
DW 0,.15
DW 1,.14
DW .13
.13:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+130
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,34
DAD D
MOV E,M
MVI D,0
XCHG
JMP .16
.18:
LXI H,.1+150
PUSH H
CALL printf_
POP D
JMP .17
.19:
LXI H,.1+155
PUSH H
CALL printf_
POP D
JMP .17
.16:
CALL .swt
DW 2
DW 0,.19
DW 1,.18
DW .17
.17:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+161
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,35
DAD D
MOV E,M
MVI D,0
XCHG
JMP .20
.22:
LXI H,.1+181
PUSH H
CALL printf_
POP D
JMP .21
.23:
LXI H,.1+186
PUSH H
CALL printf_
POP D
JMP .21
.20:
CALL .swt
DW 2
DW 0,.23
DW 1,.22
DW .21
.21:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,35
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,1
POP D
CALL .eq
JZ .24
LXI H,cache_
PUSH H
LXI H,.1+192
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,36
DAD D
MOV E,M
MVI D,0
XCHG
JMP .25
.27:
LXI H,.1+212
PUSH H
CALL printf_
POP D
JMP .26
.28:
LXI H,.1+219
PUSH H
CALL printf_
POP D
JMP .26
.29:
LXI H,.1+232
PUSH H
CALL printf_
POP D
JMP .26
.30:
LXI H,.1+243
PUSH H
CALL printf_
POP D
JMP .26
.31:
LXI H,.1+254
PUSH H
CALL printf_
POP D
JMP .26
.25:
CALL .swt
DW 4
DW 0,.27
DW 1,.28
DW 2,.29
DW 3,.30
DW .31
.26:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+264
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,37
DAD D
MOV E,M
MVI D,0
XCHG
JMP .32
.34:
LXI H,.1+284
PUSH H
CALL printf_
POP D
LXI H,.1+291
PUSH H
CALL printf_
POP D
JMP .33
.35:
LXI H,.1+329
PUSH H
CALL printf_
POP D
LXI H,.1+336
PUSH H
CALL printf_
POP D
JMP .33
.36:
LXI H,.1+376
PUSH H
CALL printf_
POP D
LXI H,.1+383
PUSH H
CALL printf_
POP D
JMP .33
.37:
LXI H,.1+422
PUSH H
CALL printf_
POP D
LXI H,.1+429
PUSH H
CALL printf_
POP D
JMP .33
.38:
LXI H,.1+468
PUSH H
CALL printf_
POP D
JMP .33
.32:
CALL .swt
DW 4
DW 0,.34
DW 1,.35
DW 2,.36
DW 3,.37
DW .38
.33:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+478
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,38
DAD D
MOV E,M
MVI D,0
XCHG
JMP .39
.41:
LXI H,.1+498
PUSH H
CALL printf_
POP D
LXI H,.1+505
PUSH H
CALL printf_
POP D
JMP .40
.42:
LXI H,.1+543
PUSH H
CALL printf_
POP D
LXI H,.1+550
PUSH H
CALL printf_
POP D
JMP .40
.43:
LXI H,.1+590
PUSH H
CALL printf_
POP D
LXI H,.1+597
PUSH H
CALL printf_
POP D
JMP .40
.44:
LXI H,.1+636
PUSH H
CALL printf_
POP D
LXI H,.1+643
PUSH H
CALL printf_
POP D
JMP .40
.39:
CALL .swt
DW 4
DW 0,.41
DW 1,.42
DW 2,.43
DW 3,.44
DW .40
.40:
CALL pager_
.24:
RET
.2 EQU 0
.1:
DB 115,121,115,99,102,103,45,62,99,110,102,103,100,97,116
DB 97,0,37,115,46,99,108,114,114,97,109,100,107,32,32
DB 32,32,32,32,61,32,0,67,76,82,95,78,69,86,69
DB 82,0,67,76,82,95,65,85,84,79,0,67,76,82,95
DB 65,76,76,87,65,89,83,0,37,115,46,100,115,107,121
DB 101,110,97,98,108,101,32,32,32,32,61,32,0,84,82
DB 85,69,0,70,65,76,83,69,0,37,115,46,117,97,114
DB 116,101,110,97,98,108,101,32,32,32,32,61,32,0,84
DB 82,85,69,0,70,65,76,83,69,0,37,115,46,118,100
DB 117,101,110,97,98,108,101,32,32,32,32,32,61,32,0
DB 84,82,85,69,0,70,65,76,83,69,0,37,115,46,102
DB 100,101,110,97,98,108,101,32,32,32,32,32,32,61,32
DB 0,84,82,85,69,0,70,65,76,83,69,0,37,115,46
DB 102,100,116,114,97,99,101,32,32,32,32,32,32,32,61
DB 32,0,83,105,108,101,110,116,0,70,97,116,97,108,32
DB 69,114,114,111,114,115,0,65,108,108,32,69,114,114,111
DB 114,115,0,69,118,101,114,121,116,104,105,110,103,0,85
DB 110,107,110,111,119,110,33,33,0,37,115,46,102,100,109
DB 101,100,105,97,32,32,32,32,32,32,32,61,32,0,70
DB 68,77,55,50,48,0,32,32,51,46,53,32,55,50,48
DB 75,66,32,50,45,115,105,100,101,100,32,56,48,32,84
DB 114,107,115,32,57,32,83,101,99,116,111,114,115,0,70
DB 68,77,49,52,52,0,32,32,51,46,53,32,49,46,52
DB 52,77,66,32,50,45,115,105,100,101,100,32,56,48,32
DB 84,114,107,115,32,49,56,32,83,101,99,116,111,114,115
DB 0,70,68,77,51,54,48,0,32,32,53,46,50,53,32
DB 51,54,48,75,66,32,50,45,115,105,100,101,100,32,52
DB 48,32,84,114,107,115,32,57,32,83,101,99,116,111,114
DB 115,0,70,68,77,49,50,48,0,32,32,51,46,53,32
DB 49,46,50,77,66,32,50,45,115,105,100,101,100,32,56
DB 48,32,84,114,107,115,32,49,53,32,83,101,99,116,111
DB 114,115,0,85,110,107,110,111,119,110,33,33,0,37,115
DB 46,102,100,109,101,100,105,97,97,108,116,32,32,32,32
DB 61,32,0,70,68,77,55,50,48,0,32,32,51,46,53
DB 32,55,50,48,75,66,32,50,45,115,105,100,101,100,32
DB 56,48,32,84,114,107,115,32,57,32,83,101,99,116,111
DB 114,115,0,70,68,77,49,52,52,0,32,32,51,46,53
DB 32,49,46,52,52,77,66,32,50,45,115,105,100,101,100
DB 32,56,48,32,84,114,107,115,32,49,56,32,83,101,99
DB 116,111,114,115,0,70,68,77,51,54,48,0,32,32,53
DB 46,50,53,32,51,54,48,75,66,32,50,45,115,105,100
DB 101,100,32,52,48,32,84,114,107,115,32,57,32,83,101
DB 99,116,111,114,115,0,70,68,77,49,50,48,0,32,32
DB 51,46,53,32,49,46,50,77,66,32,50,45,115,105,100
DB 101,100,32,56,48,32,84,114,107,115,32,49,53,32,83
DB 101,99,116,111,114,115,0
extrn printf_
extrn strcpy_
extrn pager_
extrn .eq
END


BIN
Apps/crossdev/CNAMEPT2.O

Binary file not shown.

794
Apps/crossdev/CNAMEPT3.ASM

@ -1,794 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
global cache_,17
PUBLIC cnamept3_
cnamept3_: lxi d,.2
call csave
LXI H,.1+0
PUSH H
LXI H,cache_
PUSH H
CALL strcpy_
POP D
POP D
LXI H,cache_
PUSH H
LXI H,.1+17
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,39
DAD D
MOV E,M
MVI D,0
XCHG
JMP .3
.5:
LXI H,.1+37
PUSH H
CALL printf_
POP D
JMP .4
.6:
LXI H,.1+42
PUSH H
CALL printf_
POP D
JMP .4
.3:
CALL .swt
DW 2
DW 0,.6
DW 1,.5
DW .4
.4:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+48
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,40
DAD D
MOV E,M
MVI D,0
XCHG
JMP .7
.9:
LXI H,.1+68
PUSH H
CALL printf_
POP D
JMP .8
.10:
LXI H,.1+73
PUSH H
CALL printf_
POP D
JMP .8
.7:
CALL .swt
DW 2
DW 0,.10
DW 1,.9
DW .8
.8:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,40
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,1
POP D
CALL .eq
JZ .11
LXI H,cache_
PUSH H
LXI H,.1+79
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,41
DAD D
MOV E,M
MVI D,0
XCHG
JMP .12
.14:
LXI H,.1+95
PUSH H
CALL printf_
POP D
JMP .13
.15:
LXI H,.1+102
PUSH H
CALL printf_
POP D
JMP .13
.16:
LXI H,.1+109
PUSH H
CALL printf_
POP D
JMP .13
.17:
LXI H,.1+120
PUSH H
CALL printf_
POP D
JMP .13
.12:
CALL .swt
DW 3
DW 0,.14
DW 1,.15
DW 2,.16
DW .17
.13:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+130
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,42
DAD D
MOV E,M
MVI D,0
XCHG
JMP .18
.20:
LXI H,.1+149
PUSH H
CALL printf_
POP D
JMP .19
.21:
LXI H,.1+154
PUSH H
CALL printf_
POP D
JMP .19
.22:
LXI H,.1+160
PUSH H
CALL printf_
POP D
JMP .19
.18:
CALL .swt
DW 2
DW 0,.21
DW 1,.20
DW .22
.19:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,43
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+170
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
.11:
LXI H,cache_
PUSH H
LXI H,.1+194
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,45
DAD D
MOV E,M
MVI D,0
XCHG
JMP .23
.25:
LXI H,.1+214
PUSH H
CALL printf_
POP D
JMP .24
.26:
LXI H,.1+219
PUSH H
CALL printf_
POP D
JMP .24
.23:
CALL .swt
DW 2
DW 0,.26
DW 1,.25
DW .24
.24:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,45
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,1
POP D
CALL .eq
JZ .27
LXI H,cache_
PUSH H
LXI H,.1+225
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,46
DAD D
MOV E,M
MVI D,0
XCHG
JMP .28
.30:
LXI H,.1+245
PUSH H
CALL printf_
POP D
JMP .29
.31:
LXI H,.1+252
PUSH H
CALL printf_
POP D
JMP .29
.32:
LXI H,.1+259
PUSH H
CALL printf_
POP D
JMP .29
.33:
LXI H,.1+270
PUSH H
CALL printf_
POP D
JMP .29
.28:
CALL .swt
DW 3
DW 0,.30
DW 1,.31
DW 2,.32
DW .33
.29:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+280
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,47
DAD D
MOV E,M
MVI D,0
XCHG
JMP .34
.36:
LXI H,.1+300
PUSH H
CALL printf_
POP D
JMP .35
.37:
LXI H,.1+305
PUSH H
CALL printf_
POP D
JMP .35
.38:
LXI H,.1+311
PUSH H
CALL printf_
POP D
JMP .35
.34:
CALL .swt
DW 2
DW 0,.37
DW 1,.36
DW .38
.35:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,48
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+321
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+345
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,50
DAD D
MOV E,M
MVI D,0
XCHG
JMP .39
.41:
LXI H,.1+365
PUSH H
CALL printf_
POP D
JMP .40
.42:
LXI H,.1+370
PUSH H
CALL printf_
POP D
JMP .40
.43:
LXI H,.1+376
PUSH H
CALL printf_
POP D
JMP .40
.39:
CALL .swt
DW 2
DW 0,.42
DW 1,.41
DW .43
.40:
CALL pager_
.27:
LXI H,cache_
PUSH H
LXI H,.1+386
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,51
DAD D
MOV E,M
MVI D,0
XCHG
JMP .44
.46:
LXI H,.1+406
PUSH H
CALL printf_
POP D
JMP .45
.47:
LXI H,.1+414
PUSH H
CALL printf_
POP D
JMP .45
.44:
CALL .swt
DW 2
DW 1,.46
DW 2,.47
DW .45
.45:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,52
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+422
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,53
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+452
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,54
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,10-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,54
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+475
PUSH H
CALL printf_
XCHG
LXI H,8
DAD SP
SPHL
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,24
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,3
POP D
CALL .eq
JZ .48
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,56
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+511
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,57
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+533
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,58
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+559
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,59
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+585
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,60
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+611
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+637
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,61
DAD D
MOV E,M
MVI D,0
XCHG
JMP .49
.51:
LXI H,.1+657
PUSH H
CALL printf_
POP D
JMP .50
.52:
LXI H,.1+662
PUSH H
CALL printf_
POP D
JMP .50
.53:
LXI H,.1+668
PUSH H
CALL printf_
POP D
JMP .50
.49:
CALL .swt
DW 2
DW 0,.52
DW 1,.51
DW .53
.50:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+678
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,62
DAD D
MOV E,M
MVI D,0
XCHG
JMP .54
.56:
LXI H,.1+698
PUSH H
CALL printf_
POP D
JMP .55
.57:
LXI H,.1+703
PUSH H
CALL printf_
POP D
JMP .55
.58:
LXI H,.1+709
PUSH H
CALL printf_
POP D
JMP .55
.54:
CALL .swt
DW 2
DW 0,.57
DW 1,.56
DW .58
.55:
CALL pager_
.48:
RET
.2 EQU 0
.1:
DB 115,121,115,99,102,103,45,62,99,110,102,103,100,97,116
DB 97,0,37,115,46,102,100,109,97,117,116,111,32,32,32
DB 32,32,32,32,61,32,0,84,82,85,69,0,70,65,76
DB 83,69,0,37,115,46,105,100,101,101,110,97,98,108,101
DB 32,32,32,32,32,61,32,0,84,82,85,69,0,70,65
DB 76,83,69,0,37,115,46,105,100,101,116,114,97,99,101
DB 32,32,61,32,0,83,73,76,69,78,84,0,69,82,82
DB 79,82,83,0,69,86,69,82,89,84,72,73,78,71,0
DB 85,110,107,110,111,119,110,33,33,0,37,115,46,100,101
DB 56,98,105,116,32,32,32,32,32,32,32,61,32,0,84
DB 82,85,69,0,70,65,76,83,69,0,85,110,107,110,111
DB 119,110,33,33,0,37,115,46,105,100,101,99,97,112,97
DB 99,105,116,121,32,32,32,61,32,37,100,77,66,0,37
DB 115,46,112,112,105,100,101,101,110,97,98,108,101,32,32
DB 32,61,32,0,84,82,85,69,0,70,65,76,83,69,0
DB 37,115,46,112,112,105,100,101,116,114,97,99,101,32,32
DB 32,32,61,32,0,83,73,76,69,78,84,0,69,82,82
DB 79,82,83,0,69,86,69,82,89,84,72,73,78,71,0
DB 85,110,107,110,111,119,110,33,33,0,37,115,46,112,112
DB 105,100,101,56,98,105,116,32,32,32,32,32,61,32,0
DB 84,82,85,69,0,70,65,76,83,69,0,85,110,107,110
DB 111,119,110,33,33,0,37,115,46,112,112,105,100,101,99
DB 97,112,97,99,105,116,121,32,61,32,37,100,75,66,0
DB 37,115,46,112,112,105,100,101,115,108,111,119,32,32,32
DB 32,32,61,32,0,84,82,85,69,0,70,65,76,83,69
DB 0,85,110,107,110,111,119,110,33,33,0,37,115,46,98
DB 111,111,116,116,121,112,101,32,32,32,32,32,32,61,32
DB 0,66,84,95,77,69,78,85,0,66,84,95,65,85,84
DB 79,0,37,115,46,98,111,111,116,116,105,109,101,111,117
DB 116,32,32,32,61,32,37,100,32,115,101,99,111,110,100
DB 115,0,37,115,46,98,111,111,116,100,101,102,97,117,108
DB 116,32,32,32,61,32,37,99,58,0,37,115,46,98,97
DB 117,100,114,97,116,101,32,32,32,32,32,32,61,32,37
DB 117,32,40,48,120,37,48,52,120,41,32,66,97,117,100
DB 0,37,115,46,99,107,100,105,118,32,32,32,32,32,32
DB 32,32,32,61,32,37,100,0,37,115,46,109,101,109,119
DB 97,105,116,32,32,32,32,32,32,32,61,32,48,120,37
DB 48,50,120,0,37,115,46,105,111,119,97,105,116,32,32
DB 32,32,32,32,32,32,61,32,48,120,37,48,50,120,0
DB 37,115,46,99,110,116,108,98,48,32,32,32,32,32,32
DB 32,32,61,32,48,120,37,48,50,120,0,37,115,46,99
DB 110,116,108,98,49,32,32,32,32,32,32,32,32,61,32
DB 48,120,37,48,50,120,0,37,115,46,115,100,101,110,97
DB 98,108,101,32,32,32,32,32,32,61,32,0,84,82,85
DB 69,0,70,65,76,83,69,0,85,110,107,110,111,119,110
DB 33,33,0,37,115,46,115,100,116,114,97,99,101,32,32
DB 32,32,32,32,32,61,32,0,84,82,85,69,0,70,65
DB 76,83,69,0,85,110,107,110,111,119,110,33,33,0
extrn printf_
extrn strcpy_
extrn pager_
extrn .eq
END


BIN
Apps/crossdev/CNAMEPT3.O

Binary file not shown.

742
Apps/crossdev/CNAMEPT4.ASM

@ -1,742 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
global cache_,17
PUBLIC cnamept4_
cnamept4_: lxi d,.2
call csave
LXI H,.1+0
PUSH H
LXI H,cache_
PUSH H
CALL strcpy_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,24
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,3
POP D
CALL .eq
JZ .3
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,63
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+17
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+41
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,65
DAD D
MOV E,M
MVI D,0
XCHG
JMP .4
.6:
LXI H,.1+61
PUSH H
CALL printf_
POP D
JMP .5
.7:
LXI H,.1+66
PUSH H
CALL printf_
POP D
JMP .5
.8:
LXI H,.1+72
PUSH H
CALL printf_
POP D
JMP .5
.4:
CALL .swt
DW 2
DW 0,.7
DW 1,.6
DW .8
.5:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+82
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,66
DAD D
MOV E,M
MVI D,0
XCHG
JMP .9
.11:
LXI H,.1+102
PUSH H
CALL printf_
POP D
JMP .10
.12:
LXI H,.1+107
PUSH H
CALL printf_
POP D
JMP .10
.13:
LXI H,.1+113
PUSH H
CALL printf_
POP D
JMP .10
.9:
CALL .swt
DW 2
DW 0,.12
DW 1,.11
DW .13
.10:
CALL pager_
.3:
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,67
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+123
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+149
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,68
DAD D
MOV E,M
MVI D,0
XCHG
JMP .14
.16:
LXI H,.1+169
PUSH H
CALL printf_
POP D
JMP .15
.17:
LXI H,.1+178
PUSH H
CALL printf_
POP D
JMP .15
.18:
LXI H,.1+188
PUSH H
CALL printf_
POP D
JMP .15
.19:
LXI H,.1+198
PUSH H
CALL printf_
POP D
JMP .15
.20:
LXI H,.1+208
PUSH H
CALL printf_
POP D
JMP .15
.14:
CALL .swt
DW 4
DW 0,.16
DW 1,.17
DW 2,.18
DW 3,.19
DW .20
.15:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,69
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+218
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+240
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,84
DAD D
MOV E,M
MVI D,0
XCHG
JMP .21
.23:
LXI H,.1+260
PUSH H
CALL printf_
POP D
JMP .22
.24:
LXI H,.1+265
PUSH H
CALL printf_
POP D
JMP .22
.25:
LXI H,.1+271
PUSH H
CALL printf_
POP D
JMP .22
.21:
CALL .swt
DW 2
DW 0,.24
DW 1,.23
DW .25
.22:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,84
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,1
POP D
CALL .eq
JZ .26
LXI H,.1+281
PUSH H
CALL printf_
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,71
DAD D
MOV E,M
MVI D,0
XCHG
JMP .27
.29:
LXI H,.1+301
PUSH H
CALL printf_
POP D
JMP .28
.30:
LXI H,.1+306
PUSH H
CALL printf_
POP D
JMP .28
.31:
LXI H,.1+312
PUSH H
CALL printf_
POP D
JMP .28
.27:
CALL .swt
DW 2
DW 0,.30
DW 1,.29
DW .31
.28:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,71
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,1
POP D
CALL .eq
JZ .32
LXI H,cache_
PUSH H
LXI H,.1+322
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,72
DAD D
MOV E,M
MVI D,0
XCHG
JMP .33
.35:
LXI H,.1+342
PUSH H
CALL printf_
POP D
JMP .34
.36:
LXI H,.1+349
PUSH H
CALL printf_
POP D
JMP .34
.37:
LXI H,.1+356
PUSH H
CALL printf_
POP D
JMP .34
.38:
LXI H,.1+367
PUSH H
CALL printf_
POP D
JMP .34
.33:
CALL .swt
DW 3
DW 0,.35
DW 1,.36
DW 2,.37
DW .38
.34:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+377
PUSH H
CALL printf_
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+397
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,75
DAD D
MOV E,M
MVI D,0
XCHG
JMP .39
.41:
LXI H,.1+417
PUSH H
CALL printf_
POP D
JMP .40
.42:
LXI H,.1+422
PUSH H
CALL printf_
POP D
JMP .40
.43:
LXI H,.1+428
PUSH H
CALL printf_
POP D
JMP .40
.39:
CALL .swt
DW 2
DW 0,.42
DW 1,.41
DW .43
.40:
CALL pager_
.32:
.26:
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,76
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+438
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+460
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,78
DAD D
MOV E,M
MVI D,0
XCHG
JMP .44
.46:
LXI H,.1+480
PUSH H
CALL printf_
POP D
JMP .45
.47:
LXI H,.1+485
PUSH H
CALL printf_
POP D
JMP .45
.48:
LXI H,.1+491
PUSH H
CALL printf_
POP D
JMP .45
.44:
CALL .swt
DW 2
DW 0,.47
DW 1,.46
DW .48
.45:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,78
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,1
POP D
CALL .eq
JZ .49
LXI H,cache_
PUSH H
LXI H,.1+501
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,79
DAD D
MOV E,M
MVI D,0
XCHG
JMP .50
.52:
LXI H,.1+520
PUSH H
CALL printf_
POP D
JMP .51
.53:
LXI H,.1+525
PUSH H
CALL printf_
POP D
JMP .51
.54:
LXI H,.1+531
PUSH H
CALL printf_
POP D
JMP .51
.50:
CALL .swt
DW 2
DW 0,.53
DW 1,.52
DW .54
.51:
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+541
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,80
DAD D
MOV E,M
MVI D,0
XCHG
JMP .55
.57:
LXI H,.1+561
PUSH H
CALL printf_
POP D
JMP .56
.58:
LXI H,.1+568
PUSH H
CALL printf_
POP D
JMP .56
.59:
LXI H,.1+575
PUSH H
CALL printf_
POP D
JMP .56
.60:
LXI H,.1+586
PUSH H
CALL printf_
POP D
JMP .56
.55:
CALL .swt
DW 3
DW 0,.57
DW 1,.58
DW 2,.59
DW .60
.56:
CALL pager_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,73
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,cache_
PUSH H
LXI H,.1+596
PUSH H
CALL printf_
POP D
POP D
POP D
CALL pager_
LXI H,cache_
PUSH H
LXI H,.1+618
PUSH H
CALL printf_
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,83
DAD D
MOV E,M
MVI D,0
XCHG
JMP .61
.63:
LXI H,.1+638
PUSH H
CALL printf_
POP D
JMP .62
.64:
LXI H,.1+643
PUSH H
CALL printf_
POP D
JMP .62
.65:
LXI H,.1+649
PUSH H
CALL printf_
POP D
JMP .62
.61:
CALL .swt
DW 2
DW 0,.64
DW 1,.63
DW .65
.62:
CALL pager_
.49:
RET
.2 EQU 0
.1:
DB 115,121,115,99,102,103,45,62,99,110,102,103,100,97,116
DB 97,0,37,115,46,115,100,99,97,112,97,99,105,116,121
DB 32,32,32,32,61,32,37,117,75,66,0,37,115,46,115
DB 100,99,115,105,111,32,32,32,32,32,32,32,32,61,32
DB 0,84,82,85,69,0,70,65,76,83,69,0,85,110,107
DB 110,111,119,110,33,33,0,37,115,46,115,100,99,115,105
DB 111,102,97,115,116,32,32,32,32,61,32,0,84,82,85
DB 69,0,70,65,76,83,69,0,85,110,107,110,111,119,110
DB 33,33,0,37,115,46,100,101,102,105,111,98,121,116,101
DB 32,32,32,32,32,61,32,48,120,37,48,50,120,0,37
DB 115,46,116,101,114,109,116,121,112,101,32,32,32,32,32
DB 32,61,32,0,84,69,82,77,95,84,84,89,0,84,69
DB 82,77,95,65,78,83,73,0,84,69,82,77,95,87,89
DB 83,69,0,84,69,82,77,95,86,84,53,50,0,85,110
DB 107,110,111,119,110,33,33,0,37,115,46,114,101,118,105
DB 115,105,111,110,32,32,32,32,32,32,61,32,37,100,0
DB 37,115,46,112,114,112,101,110,97,98,108,101,32,32,32
DB 32,32,61,32,0,84,82,85,69,0,70,65,76,83,69
DB 0,85,110,107,110,111,119,110,33,33,0,37,115,46,112
DB 114,112,115,100,101,110,97,98,108,101,32,32,32,61,32
DB 0,84,82,85,69,0,70,65,76,83,69,0,85,110,107
DB 110,111,119,110,33,33,0,37,115,46,112,114,112,115,100
DB 116,114,97,99,101,32,32,32,32,61,32,0,83,73,76
DB 69,78,84,0,69,82,82,79,82,83,0,69,86,69,82
DB 89,84,72,73,78,71,0,85,110,107,110,111,119,110,33
DB 33,0,37,115,46,112,114,112,115,100,99,97,112,97,99
DB 105,116,121,32,61,32,0,37,115,46,112,114,112,99,111
DB 110,101,110,97,98,108,101,32,32,61,32,0,84,82,85
DB 69,0,70,65,76,83,69,0,85,110,107,110,111,119,110
DB 33,33,0,37,115,46,98,105,111,115,115,105,122,101,32
DB 32,32,32,32,32,61,32,37,100,0,37,115,46,112,112
DB 112,101,110,97,98,108,101,32,32,32,32,32,61,32,0
DB 84,82,85,69,0,70,65,76,83,69,0,85,110,107,110
DB 111,119,110,33,33,0,37,115,46,112,112,112,115,100,101
DB 110,97,98,108,101,32,32,61,32,0,84,82,85,69,0
DB 70,65,76,83,69,0,85,110,107,110,111,119,110,33,33
DB 0,37,115,46,112,112,112,115,100,116,114,97,99,101,32
DB 32,32,32,61,32,0,83,73,76,69,78,84,0,69,82
DB 82,79,82,83,0,69,86,69,82,89,84,72,73,78,71
DB 0,85,110,107,110,111,119,110,33,33,0,37,115,46,112
DB 112,112,99,97,112,97,99,105,116,121,32,32,32,61,32
DB 37,100,0,37,115,46,112,112,112,99,111,110,101,110,97
DB 98,108,101,32,32,61,32,0,84,82,85,69,0,70,65
DB 76,83,69,0,85,110,107,110,111,119,110,33,33,0
extrn printf_
extrn strcpy_
extrn pager_
extrn .eq
END


BIN
Apps/crossdev/CNAMEPT4.O

Binary file not shown.

49
Apps/crossdev/COREAPPS.BAK

@ -1,49 +0,0 @@
@rem coreapps.bat 2/15/2013 dwg - build all core apps using batch files
@@if not exist access.cpm call access.bat
@@if not exist access.cpm echo WARNING ACCESS DIDN'T BUILD
@@if not exist access.cpm pause
@@if not exist cpmname.cpm call cpmname.bat
@@if not exist cpmname.cpm echo WARNING CPMNAME DIDN'T BUILD
@@if not exist cpmname.cpm pause
@if not exist findfile.cpm call findfile.bat
@if not exist findfile.cpm echo WARNING FINDFILE DIDN'T BUILD
@if not exist findfile.cpm pause
@if not exist map.cpm call map.bat
@if not exist map.cpm echo WARNING MAP DIDN'T BUILD
@if not exist map.cpm pause
@if not exist meta.cpm call meta.bat
@if not exist meta.cpm echo WARNING META DIDN'T BUILD
@if not exist meta.cpm pause
@if not exist multifmt.cpm call multifmt.bat
@if not exist multifmt.cpm echo WARNING MULTIFMT DIDN'T BUILD
@if not exist multifmt.cpm pause
@if not exist rem.cpm call makerem.bat
@if not exist rem.cpm echo WARNING REM DIDN'T BUILD
@if not exist rem.cpm pause
@if not exist setlabel.cpm call setlabel.bat
@if not exist setlabel.cpm echo WARNING SETLABEL DIDN'T BUILD
@if not exist setlabel.cpm pause
@if not exist sysgen.cpm call sysgen.bat
@if not exist sysgen.cpm echo WARNING SYSGEN DIDN'T BUILD
@if not exist sysgen.cpm pause
@if not exist termtype.cpm call termtype.bat
@if not exist termtype.cpm echo WARNING TERMTYPE DIDN'T BUILD
@if not exist termtype.cpm pause
@if not exist view.cpm call view.bat
@if not exist view.cpm echo WARNING VIEW DIDN'T BUILD
@if not exist view.cpm pause
@echo All Core Apps Built
@dir *.cpm /w

110
Apps/crossdev/COREAPPS.BAT

@ -1,49 +1,61 @@
@rem coreapps.bat 2/15/2013 dwg - build all core apps using batch files
@@if not exist access.cpm call access.bat
@@if not exist access.cpm echo WARNING ACCESS DIDN'T BUILD
@@if not exist access.cpm pause
@@if not exist cpmname.cpm call cpmname.bat
@@if not exist cpmname.cpm echo WARNING CPMNAME DIDN'T BUILD
@@if not exist cpmname.cpm pause
@if not exist findfile.cpm call findfile.bat
@if not exist findfile.cpm echo WARNING FINDFILE DIDN'T BUILD
@if not exist findfile.cpm pause
@if not exist map.cpm call map.bat
@if not exist map.cpm echo WARNING MAP DIDN'T BUILD
@if not exist map.cpm pause
@if not exist meta.cpm call meta.bat
@if not exist meta.cpm echo WARNING META DIDN'T BUILD
@if not exist meta.cpm pause
@if not exist multifmt.cpm call multifmt.bat
@if not exist multifmt.cpm echo WARNING MULTIFMT DIDN'T BUILD
@if not exist multifmt.cpm pause
@if not exist rem.cpm call makerem.bat
@if not exist rem.cpm echo WARNING REM DIDN'T BUILD
@if not exist rem.cpm pause
@if not exist setlabel.cpm call setlabel.bat
@if not exist setlabel.cpm echo WARNING SETLABEL DIDN'T BUILD
@if not exist setlabel.cpm pause
@if not exist sysgen.cpm call sysgen.bat
@if not exist sysgen.cpm echo WARNING SYSGEN DIDN'T BUILD
@if not exist sysgen.cpm pause
@if not exist termtype.cpm call termtype.bat
@if not exist termtype.cpm echo WARNING TERMTYPE DIDN'T BUILD
@if not exist termtype.cpm pause
@if not exist view.cpm call view.bat
@if not exist view.cpm echo WARNING VIEW DIDN'T BUILD
@if not exist view.cpm pause
@echo All Core Apps Built
@dir *.cpm
@echo off
rem coreapps.bat 2/15/2013 dwg - build all core apps using batch files
echo Building access.com...
if not exist access.cpm call access.bat
if not exist access.cpm echo WARNING ACCESS DIDN'T BUILD
if not exist access.cpm pause
echo Building cpmname.com...
if not exist cpmname.cpm call cpmname.bat
if not exist cpmname.cpm echo WARNING CPMNAME DIDN'T BUILD
if not exist cpmname.cpm pause
echo Building findfile.com...
if not exist findfile.cpm call findfile.bat
if not exist findfile.cpm echo WARNING FINDFILE DIDN'T BUILD
if not exist findfile.cpm pause
echo Building map.com...
if not exist map.cpm call map.bat
if not exist map.cpm echo WARNING MAP DIDN'T BUILD
if not exist map.cpm pause
echo Building meta.com...
if not exist meta.cpm call meta.bat
if not exist meta.cpm echo WARNING META DIDN'T BUILD
if not exist meta.cpm pause
echo Building multifmt.com...
if not exist multifmt.cpm call multifmt.bat
if not exist multifmt.cpm echo WARNING MULTIFMT DIDN'T BUILD
if not exist multifmt.cpm pause
echo Building rem.com...
if not exist rem.cpm call makerem.bat
if not exist rem.cpm echo WARNING REM DIDN'T BUILD
if not exist rem.cpm pause
echo Building setlabel.com...
if not exist setlabel.cpm call setlabel.bat
if not exist setlabel.cpm echo WARNING SETLABEL DIDN'T BUILD
if not exist setlabel.cpm pause
echo Building sysgen.com...
if not exist sysgen.cpm call sysgen.bat
if not exist sysgen.cpm echo WARNING SYSGEN DIDN'T BUILD
if not exist sysgen.cpm pause
echo Building termtype.com...
if not exist termtype.cpm call termtype.bat
if not exist termtype.cpm echo WARNING TERMTYPE DIDN'T BUILD
if not exist termtype.cpm pause
echo Building view.com...
if not exist view.cpm call view.bat
if not exist view.cpm echo WARNING VIEW DIDN'T BUILD
if not exist view.cpm pause
echo All Core Apps Built
dir *.cpm

164
Apps/crossdev/CPMNAME.ASM

@ -1,164 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
global pINFOLIS_,2
global pSYSCFG_,2
global line_,2
PUBLIC main_
main_: lxi d,.2
call csave
LXI H,5
SHLD line_
LXI H,-4096
SHLD hregbc_
LXI H,-16384
SHLD hregde_
CALL diagnose_
LXI H,-16384
SHLD pSYSCFG_
LHLD pSYSCFG_
LXI D,68
DAD D
MOV E,M
MVI D,0
PUSH D
CALL crtinit_
POP D
CALL crtclr_
LXI H,0
PUSH H
LXI H,0
PUSH H
CALL crtlc_
POP D
POP D
LXI H,1
PUSH H
LXI H,0
PUSH H
LXI H,5
PUSH H
LXI H,2
PUSH H
LXI H,2013
PUSH H
LXI H,31
PUSH H
LXI H,3
PUSH H
LXI H,.1+0
PUSH H
CALL printf_
XCHG
LXI H,16
DAD SP
SPHL
LXI H,.1+36
PUSH H
CALL printf_
POP D
CALL pager_
CALL pager_
LXI H,-6596
SHLD ireghl_
CALL bioscall_
LHLD ireghl_
SHLD pINFOLIS_
LXI H,.1+72
PUSH H
CALL printf_
POP D
LHLD pINFOLIS_
INX H
INX H
MOV E,M
INX H
MOV D,M
XCHG
SHLD dregde_
LXI H,9
SHLD dregbc_
CALL bdoscall_
CALL pager_
LXI H,-4096
SHLD hregbc_
LXI H,-16384
SHLD hregde_
CALL diagnose_
LXI H,-16384
SHLD pSYSCFG_
LHLD pSYSCFG_
PUSH H
CALL cnamept1_
POP D
LHLD pSYSCFG_
PUSH H
CALL cnamept2_
POP D
LHLD pSYSCFG_
PUSH H
CALL cnamept3_
POP D
LHLD pSYSCFG_
PUSH H
CALL cnamept4_
POP D
RET
.2 EQU -7
.1:
DB 67,80,77,78,65,77,69,46,67,79,77,32,37,100,47
DB 37,100,47,37,100,32,118,37,100,46,37,100,46,37,100
DB 32,40,37,100,41,0,32,100,119,103,32,45,32,68,105
DB 115,112,108,97,121,32,83,121,115,116,101,109,32,67,111
DB 110,102,105,103,117,114,97,116,105,111,110,0,112,73,78
DB 70,79,76,73,83,84,45,62,98,97,110,112,116,114,32
DB 61,61,62,32,0
PUBLIC pager_
pager_: lxi d,.4
call csave
LHLD line_
INX H
SHLD line_
LXI H,.3+0
PUSH H
CALL printf_
POP D
LXI H,24
XCHG
LHLD line_
CALL .eq
JZ .5
LXI H,.3+2
PUSH H
CALL printf_
POP D
LXI H,1
SHLD dregbc_
CALL bdoscall_
LXI H,1
SHLD line_
.5:
RET
.4 EQU 0
.3:
DB 10,0,32,32,32,32,32,112,114,101,115,115,32,97,110
DB 121,32,107,101,121,32,116,111,32,99,111,110,116,105,110
DB 117,101,0
extrn printf_
extrn crtlc_
extrn crtclr_
extrn crtinit_
extrn cnamept4_
extrn cnamept3_
extrn cnamept2_
extrn cnamept1_
extrn diagnose_
extrn hregde_
extrn hregbc_
extrn bdoscall_
extrn dregde_
extrn dregbc_
extrn bioscall_
extrn ireghl_
extrn .eq
END


BIN
Apps/crossdev/CPMNAME.CPM

Binary file not shown.

BIN
Apps/crossdev/CPMNAME.O

Binary file not shown.

334
Apps/crossdev/CTERMCAP.ASM

@ -1,334 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
global termtype_,1
DSEG
public wy50row_
wy50row_:
DB 32
DB 33
DB 34
DB 35
DB 36
DB 37
DB 38
DB 39
DB 40
DB 41
DB 42
DB 43
DB 44
DB 45
DB 46
DB 47
DB 48
DB 49
DB 50
DB 51
DB 52
DB 53
DB 54
DB 55
CSEG
DSEG
public wy50col_
wy50col_:
DB 32
DB 33
DB 34
DB 35
DB 36
DB 37
DB 38
DB 39
DB 40
DB 41
DB 42
DB 43
DB 44
DB 45
DB 46
DB 47
DB 48
DB 49
DB 50
DB 51
DB 52
DB 53
DB 54
DB 55
DB 56
DB 57
DB 58
DB 59
DB 60
DB 61
DB 62
DB 63
DB 64
DB 65
DB 66
DB 67
DB 68
DB 69
DB 70
DB 71
DB 72
DB 73
DB 74
DB 75
DB 76
DB 77
DB 78
DB 79
DB 80
DB 81
DB 82
DB 83
DB 84
DB 85
DB 86
DB 87
DB 88
DB 89
DB 90
DB 91
DB 92
DB 93
DB 94
DB 95
DB 96
DB 97
DB 98
DB 99
DB 100
DB 101
DB 102
DB 103
DB 104
DB 105
DB 106
DB 107
DB 108
DB 109
DB 110
DB 111
CSEG
PUBLIC crtinit_
crtinit_: lxi d,.2
call csave
LXI H,8-.2
DAD SP
MOV E,M
XCHG
MOV A,L
STA termtype_
RET
.2 EQU 0
PUBLIC crtclr_
crtclr_: lxi d,.3
call csave
LDA termtype_
MOV L,A
MVI H,0
JMP .4
.6:
LXI H,0
XCHG
LXI H,2-.3
DAD SP
MOV M,E
INX H
MOV M,D
JMP .8
.7:
LXI H,2-.3
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.8:
LXI H,2-.3
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,43
CALL .lt
JZ .9
LXI H,10
PUSH H
LXI H,13
PUSH H
LXI H,.1+0
PUSH H
CALL printf_
POP D
POP D
POP D
JMP .7
.9:
JMP .5
.10:
LXI H,27
PUSH H
LXI H,.1+5
PUSH H
CALL printf_
POP D
POP D
JMP .5
.11:
LXI H,27
PUSH H
LXI H,.1+11
PUSH H
CALL printf_
POP D
POP D
JMP .5
.12:
LXI H,27
PUSH H
LXI H,27
PUSH H
LXI H,.1+15
PUSH H
CALL printf_
POP D
POP D
POP D
JMP .5
.4:
CALL .swt
DW 4
DW 0,.6
DW 1,.10
DW 2,.11
DW 3,.12
DW .5
.5:
RET
.3 EQU -2
.1:
DB 37,99,37,99,0,37,99,91,50,74,0,37,99,43,0
DB 37,99,74,37,99,72,0
PUBLIC crtlc_
crtlc_: lxi d,.14
call csave
LDA termtype_
MOV L,A
MVI H,0
JMP .15
.17:
JMP .16
.18:
LXI H,102
PUSH H
LXI H,12-.14
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,12-.14
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,27
PUSH H
LXI H,.13+0
PUSH H
CALL printf_
XCHG
LXI H,10
DAD SP
SPHL
JMP .16
.19:
LXI H,10-.14
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,wy50col_
DAD D
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,10-.14
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,wy50row_
DAD D
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,27
PUSH H
LXI H,.13+11
PUSH H
CALL printf_
XCHG
LXI H,8
DAD SP
SPHL
JMP .16
.20:
LXI H,10-.14
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,32
DAD D
PUSH H
LXI H,10-.14
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,32
DAD D
PUSH H
LXI H,27
PUSH H
LXI H,.13+19
PUSH H
CALL printf_
XCHG
LXI H,8
DAD SP
SPHL
JMP .16
.15:
CALL .swt
DW 4
DW 0,.17
DW 1,.18
DW 2,.19
DW 3,.20
DW .16
.16:
RET
.14 EQU -2
.13:
DB 37,99,91,37,100,59,37,100,37,99,0,37,99,61,37
DB 99,37,99,0,37,99,89,37,99,37,99,0
extrn printf_
extrn .lt
END


BIN
Apps/crossdev/CTERMCAP.O

Binary file not shown.

BIN
Apps/crossdev/DIAGNOSE.O

Binary file not shown.

1494
Apps/crossdev/DUMP.ASM

File diff suppressed because it is too large

367
Apps/crossdev/EDITOR.ASM

@ -1,367 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
PUBLIC vdaini_
vdaini_: lxi d,.2
call csave
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,16384
CALL .or
SHLD hregbc_
LXI H,10-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD hregde_
LXI H,12-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD hreghl_
CALL diagnose_
LDA hrega_
MOV L,A
MVI H,0
RET
.2 EQU 0
PUBLIC bitlook_
bitlook_: lxi d,.3
call csave
LXI H,-32768
XCHG
LXI H,2-.3
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,0
XCHG
LXI H,0-.3
DAD SP
MOV M,E
INX H
MOV M,D
JMP .5
.4:
LXI H,0-.3
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.5:
LXI H,0-.3
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,256
CALL .lt
JZ .6
LXI H,0-.3
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.1+0
PUSH H
CALL printf_
POP D
POP D
LXI H,0
XCHG
LXI H,-2-.3
DAD SP
MOV M,E
INX H
MOV M,D
JMP .8
.7:
LXI H,-2-.3
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.8:
LXI H,-2-.3
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,8
CALL .lt
JZ .9
LXI H,2-.3
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,.1+16
PUSH H
CALL printf_
POP D
POP D
JMP .7
.9:
LXI H,.1+24
PUSH H
CALL printf_
POP D
JMP .4
.6:
RET
.3 EQU -6
.1:
DB 97,115,99,105,105,32,61,32,48,120,37,48,50,120,32
DB 0,48,120,37,48,50,120,32,0,10,0
PUBLIC vdaqry_
vdaqry_: lxi d,.11
call csave
LXI H,8-.11
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,16640
CALL .or
SHLD hregbc_
LXI H,10-.11
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD hreghl_
CALL diagnose_
LDA hrega_
MOV L,A
MVI H,0
RET
.11 EQU 0
PUBLIC flip_
flip_: lxi d,.12
call csave
LXI H,-32768
PUSH H
LXI H,64
PUSH H
CALL vdaqry_
POP D
POP D
XCHG
LXI H,-3-.12
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,-32768
XCHG
LXI H,2-.12
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,0
XCHG
LXI H,-1-.12
DAD SP
MOV M,E
INX H
MOV M,D
JMP .14
.13:
LXI H,-1-.12
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.14:
LXI H,-1-.12
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2048
CALL .lt
JZ .15
LXI H,2-.12
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
MOV E,M
LXI H,1-.12
DAD SP
MOV M,E
LXI H,1-.12
DAD SP
MOV E,M
MVI D,0
LXI H,255
CALL .xr
XCHG
LXI H,1-.12
DAD SP
MOV M,E
LXI H,1-.12
DAD SP
MOV E,M
PUSH D
LXI H,4-.12
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
POP D
MOV M,E
LXI H,2-.12
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
JMP .13
.15:
LXI H,-32768
PUSH H
LXI H,0
PUSH H
LXI H,64
PUSH H
CALL vdaini_
POP D
POP D
POP D
RET
.12 EQU -7
PUBLIC main_
main_: lxi d,.16
call csave
LXI H,1
XCHG
LXI H,2-.16
DAD SP
MOV M,E
INX H
MOV M,D
.17:
LXI H,1
XCHG
LXI H,2-.16
DAD SP
MOV A,M
INX H
MOV H,M
MOV L,A
CALL .eq
JZ .18
LXI H,1
SHLD dregbc_
CALL bdoscall_
LDA drega_
MOV L,A
MVI H,0
JMP .19
.21:
CALL flip_
JMP .20
.22:
LXI H,0
XCHG
LXI H,2-.16
DAD SP
MOV M,E
INX H
MOV M,D
JMP .20
.23:
LXI H,7
PUSH H
LXI H,.10+0
PUSH H
CALL printf_
POP D
POP D
JMP .20
.19:
CALL .swt
DW 2
DW 3,.22
DW 102,.21
DW .23
.20:
JMP .17
.18:
CALL flip_
RET
.16 EQU -2
.10:
DB 37,99,0
extrn printf_
extrn bdoscall_
extrn dregbc_
extrn drega_
extrn diagnose_
extrn hreghl_
extrn hregde_
extrn hregbc_
extrn hrega_
extrn .or
extrn .xr
extrn .eq
extrn .lt
END


2
Apps/crossdev/FINDFILE.BAT

@ -7,6 +7,6 @@ if not exist banner.rel z80mu rmac banner
if not exist identity.rel z80mu rmac identity
if not exist hbios.rel z80mu rmac hbios
if not exist findfile.cpm z80mu link findfile,hbios,identity,banner,memory,printers,terminal
if not exist findfile.cpm copy findfile.com findfile.cpm
if not exist findfile.cpm rename findfile.com findfile.cpm
dir findfile.cpm

BIN
Apps/crossdev/FINDFILE.COM

Binary file not shown.

BIN
Apps/crossdev/FINDFILE.CPM

Binary file not shown.

1552
Apps/crossdev/FINDFILE.PRN

File diff suppressed because it is too large

BIN
Apps/crossdev/FINDFILE.REL

Binary file not shown.

10
Apps/crossdev/FINDFILE.SYM

@ -1,10 +0,0 @@
0103 HEXREF 0113 IDSIG 0115 IDRMJ 0116 IDRMN
0117 IDRUP 0118 IDRTP 0119 IDMON 011A IDDAY
011B IDYR 0120 PRESTK 0122 BEGIN 10A6 PRDWOR
107E PRHBYT 1093 PRHWOR 0C2B XBANNE 0ED6 XSBANN
1117 XCRTIN 11B1 XCRTLC 1122 XCRTCL 08EE XIDENT
105A XMEMCP 105B XMEMSE 08E2 XGETSC 1068 PRHNYB
10B2 PDEC 10D4 PDEC1 10D6 PDEC2 10F2 PDEC3
146C PDEC4 146D PDEC5 1109 XPRDEC 1271 DR


19
Apps/crossdev/FORMFEED.ASM

@ -1,19 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
PUBLIC main_
main_: lxi d,.2
call csave
LXI H,12
PUSH H
LXI H,.1+0
PUSH H
CALL printf_
POP D
POP D
RET
.2 EQU 0
.1:
DB 37,99,0
extrn printf_
END


219
Apps/crossdev/GETCFG.ASM

@ -1,219 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
DSEG
public pPriFcb_
pPriFcb_:
DW 92
CSEG
DSEG
public pSecFcb_
pSecFcb_:
DW 108
CSEG
DSEG
public pDefBuf_
pDefBuf_:
DW 128
CSEG
DSEG
public pBIOS_
pBIOS_:
DW -6656
CSEG
global pDPB_,2
global pDPH_,2
global pINFOLIS_,2
global pCNFGDAT_,2
DSEG
public pSYSCFG_
pSYSCFG_:
DW -16384
CSEG
PUBLIC main_
main_: lxi d,.2
call csave
LXI H,-4096
SHLD hregbc_
LXI H,-16384
SHLD hregde_
CALL diagnose_
LHLD pSYSCFG_
LXI D,68
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+0
PUSH H
CALL printf_
POP D
POP D
LHLD pSYSCFG_
LXI D,68
DAD D
MOV E,M
MVI D,0
PUSH D
CALL crtinit_
POP D
CALL crtclr_
LXI H,0
PUSH H
LXI H,0
PUSH H
CALL crtlc_
POP D
POP D
LHLD pBIOS_
LXI D,78
DAD D
MOV E,M
MVI D,0
PUSH D
LHLD pBIOS_
LXI D,77
DAD D
MOV E,M
MVI D,0
PUSH D
LHLD pBIOS_
LXI D,76
DAD D
MOV E,M
MVI D,0
PUSH D
LHLD pBIOS_
LXI D,75
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,2012
PUSH H
LXI H,23
PUSH H
LXI H,7
PUSH H
LXI H,.1+10
PUSH H
CALL printf_
XCHG
LXI H,16
DAD SP
SPHL
LXI H,.1+93
PUSH H
LXI H,.1+82
PUSH H
CALL fopen_
POP D
POP D
XCHG
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,256
PUSH H
LXI H,1
PUSH H
LXI H,-16384
PUSH H
CALL fwrite_
XCHG
LXI H,8
DAD SP
SPHL
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fclose_
POP D
LXI H,0
PUSH H
LXI H,0
PUSH H
LXI H,0
PUSH H
LXI H,-6596
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
LHLD xreghl_
SHLD pINFOLIS_
LXI H,0
PUSH H
LXI H,0
PUSH H
LXI H,25
PUSH H
LXI H,5
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
LXI H,0
PUSH H
LXI H,0
PUSH H
LDA xrega_
MOV L,A
MVI H,0
PUSH H
LXI H,-6629
PUSH H
CALL asmif_
XCHG
LXI H,8
DAD SP
SPHL
LHLD xreghl_
SHLD pDPH_
LHLD pDPH_
LXI D,10
DAD D
MOV E,M
INX H
MOV D,M
XCHG
SHLD pDPB_
RET
.2 EQU -2
.1:
DB 84,84,32,105,115,32,37,100,10,0,71,69,84,67,70
DB 71,46,67,79,77,32,37,100,47,37,100,47,37,100,32
DB 37,100,46,37,100,46,37,100,46,37,100,32,100,119,103
DB 32,45,32,69,108,101,103,97,110,116,108,121,32,69,120
DB 112,114,101,115,115,101,100,32,67,80,47,77,32,80,114
DB 111,103,114,97,109,10,0,115,121,115,99,102,103,46,98
DB 105,110,0,119,0
extrn fclose_
extrn fwrite_
extrn printf_
extrn asmif_
extrn xreghl_
extrn xrega_
extrn diagnose_
extrn hregde_
extrn hregbc_
extrn crtlc_
extrn crtclr_
extrn crtinit_
extrn fopen_
END


18
Apps/crossdev/HBIOS.PRN

@ -1,18 +0,0 @@
; hbios.asm 7/19/2012 dwg -
0000 = CFGVERS equ 0
public xgetsc
xgetsc:
enter
0000 06F0 mvi b,0F0h
0002 0E00 mvi c,CFGVERS
0004 110080 lxi d,8000h
0007 CF db 0cfh ; rst 8
0008 210080 lxi h,8000h
leave
000B C9 ret
000C END


BIN
Apps/crossdev/HBIOS.REL

Binary file not shown.

2
Apps/crossdev/HBIOS.SYM

@ -1,2 +0,0 @@
0000 CFGVERS 0000 ENTER 000B LEAVE 0000 XGETSC


17
Apps/crossdev/HELP.ASM

@ -1,17 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
PUBLIC main_
main_: lxi d,.2
call csave
LXI H,.1+0
PUSH H
CALL printf_
POP D
LXI H,0
RET
.2 EQU 0
.1:
DB 72,101,108,112,32,87,111,114,108,100,33,33,10,0
extrn printf_
END


419
Apps/crossdev/IDENTITY.PRN

@ -1,419 +0,0 @@
; identity.asm 2/17/2012 dwg - Program Identity Declarations
maclib portab
maclib globals
maclib stdlib
maclib cpmbios
maclib cpmbdos
maclib memory
maclib printers
public x$ident
x$ident:
0000 221502 shld lfcbptr ; save pointer to fcb
0003 0E0F mvi c,FOPEN
0005 2A1502 lhld lfcbptr
0008 EB xchg
0009 CD0500 call BDOS
000C FEFF cpi 255
000E C27100 jnz openok
;;; memcpy lname,file1fcb+1,8
0011 0E08 mvi c,8
0013 111902 lxi d,lname
0016 2A1502 lhld lfcbptr
0019 23 inx h
001A CD0000 call x$memcpy
001D 3E2C mvi a,','
001F 322102 sta ldot
;;; memcpy lext,file1fcb+9,3
0022 0E03 mvi c,3
0024 2A1502 lhld lfcbptr
0027 110900 lxi d,9
002A 19 dad d
002B 112202 lxi d,lext
002E CD0000 call x$memcpy
0031 3E24 mvi a,'$'
0033 322502 sta lterm
print lname
0036+F5 PUSH PSW
0037+C5 PUSH B
0038+D5 PUSH D
0039+E5 PUSH H
003A+0E09 MVI C,PRINTSTR
003C+111902 LXI D,LNAME
003F+CD0500 CALL BDOS
0042+E1 POP H
0043+D1 POP D
0044+C1 POP B
0045+F1 POP PSW
printf ' -- File Not Found'
0046+F5 PUSH PSW
0047+C5 PUSH B
0048+D5 PUSH D
0049+E5 PUSH H
004A+0E09 MVI C,PRINTSTR
004C+115900 LXI D,??0002
004F+CD0500 CALL BDOS
0052+E1 POP H
0053+D1 POP D
0054+C1 POP B
0055+F1 POP PSW
0056+C36C00 JMP ??0001
0059+202D2D2046??0002 DB ' -- File Not Found'
006B+24 DB '$'
006C 3E01 mvi a,FAILURE
006E C31402 jmp fini
openok:
0071 0E1A mvi c,SETDMA
0073 112F02 lxi d,buffer
0076 CD0500 call BDOS
0079 0E14 mvi c,READSEQ
007B 2A1502 lhld lfcbptr
007E EB xchg
007F CD0500 call BDOS
0082 0E1A mvi c,SETDMA
0084 11AF02 lxi d,buffer+128
0087 CD0500 call BDOS
008A 0E14 mvi c,READSEQ
008C 2A1502 lhld lfcbptr
008F EB xchg
0090 CD0500 call BDOS
0093 0E10 mvi c,FCLOSE
0095 2A1502 lhld lfcbptr
0098 EB xchg
0099 CD0500 call BDOS
009C 116D02 lxi d,d$prog
009F 0E09 mvi c,9
00A1 CD0500 call BDOS
conout ','
00A4+F5 PUSH PSW
00A5+C5 PUSH B
00A6+D5 PUSH D
00A7+E5 PUSH H
00A8+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
00AA+1E2C MVI E,',' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
00AC+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
00AF+E1 POP H
00B0+D1 POP D
00B1+C1 POP B
00B2+F1 POP PSW
conout ' '
00B3+F5 PUSH PSW
00B4+C5 PUSH B
00B5+D5 PUSH D
00B6+E5 PUSH H
00B7+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
00B9+1E20 MVI E,' ' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
00BB+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
00BE+E1 POP H
00BF+D1 POP D
00C0+C1 POP B
00C1+F1 POP PSW
00C2 3A4402 lda p$rmj
00C5 6F mov l,a
00C6 2600 mvi h,0
00C8 CD0000 call pr$d$word
conout '.'
00CB+F5 PUSH PSW
00CC+C5 PUSH B
00CD+D5 PUSH D
00CE+E5 PUSH H
00CF+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
00D1+1E2E MVI E,'.' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
00D3+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
00D6+E1 POP H
00D7+D1 POP D
00D8+C1 POP B
00D9+F1 POP PSW
00DA 3A4502 lda p$rmn
00DD 6F mov l,a
00DE CD0000 call pr$d$word
conout '.'
00E1+F5 PUSH PSW
00E2+C5 PUSH B
00E3+D5 PUSH D
00E4+E5 PUSH H
00E5+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
00E7+1E2E MVI E,'.' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
00E9+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
00EC+E1 POP H
00ED+D1 POP D
00EE+C1 POP B
00EF+F1 POP PSW
00F0 3A4602 lda p$rup
00F3 6F mov l,a
00F4 CD0000 call pr$d$word
conout '.'
00F7+F5 PUSH PSW
00F8+C5 PUSH B
00F9+D5 PUSH D
00FA+E5 PUSH H
00FB+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
00FD+1E2E MVI E,'.' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
00FF+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
0102+E1 POP H
0103+D1 POP D
0104+C1 POP B
0105+F1 POP PSW
0106 3A4702 lda p$rtp
0109 6F mov l,a
010A CD0000 call pr$d$word
conout ','
010D+F5 PUSH PSW
010E+C5 PUSH B
010F+D5 PUSH D
0110+E5 PUSH H
0111+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
0113+1E2C MVI E,',' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
0115+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
0118+E1 POP H
0119+D1 POP D
011A+C1 POP B
011B+F1 POP PSW
conout ' '
011C+F5 PUSH PSW
011D+C5 PUSH B
011E+D5 PUSH D
011F+E5 PUSH H
0120+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
0122+1E20 MVI E,' ' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
0124+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
0127+E1 POP H
0128+D1 POP D
0129+C1 POP B
012A+F1 POP PSW
012B 3A4802 lda p$mon
012E 6F mov l,a
012F CD0000 call pr$d$word
conout '/'
0132+F5 PUSH PSW
0133+C5 PUSH B
0134+D5 PUSH D
0135+E5 PUSH H
0136+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
0138+1E2F MVI E,'/' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
013A+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
013D+E1 POP H
013E+D1 POP D
013F+C1 POP B
0140+F1 POP PSW
0141 3A4902 lda p$day
0144 6F mov l,a
0145 CD0000 call pr$d$word
conout '/'
0148+F5 PUSH PSW
0149+C5 PUSH B
014A+D5 PUSH D
014B+E5 PUSH H
014C+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
014E+1E2F MVI E,'/' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
0150+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
0153+E1 POP H
0154+D1 POP D
0155+C1 POP B
0156+F1 POP PSW
0157 2A4A02 lhld p$year
015A CD0000 call pr$d$word
conout ','
015D+F5 PUSH PSW
015E+C5 PUSH B
015F+D5 PUSH D
0160+E5 PUSH H
0161+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
0163+1E2C MVI E,',' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
0165+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
0168+E1 POP H
0169+D1 POP D
016A+C1 POP B
016B+F1 POP PSW
conout ' '
016C+F5 PUSH PSW
016D+C5 PUSH B
016E+D5 PUSH D
016F+E5 PUSH H
0170+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
0172+1E20 MVI E,' ' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
0174+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
0177+E1 POP H
0178+D1 POP D
0179+C1 POP B
017A+F1 POP PSW
017B 118C02 lxi d,d$prod
017E 0E09 mvi c,9
0180 CD0500 call BDOS
conout ','
0183+F5 PUSH PSW
0184+C5 PUSH B
0185+D5 PUSH D
0186+E5 PUSH H
0187+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
0189+1E2C MVI E,',' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
018B+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
018E+E1 POP H
018F+D1 POP D
0190+C1 POP B
0191+F1 POP PSW
conout ' '
0192+F5 PUSH PSW
0193+C5 PUSH B
0194+D5 PUSH D
0195+E5 PUSH H
0196+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
0198+1E20 MVI E,' ' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
019A+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
019D+E1 POP H
019E+D1 POP D
019F+C1 POP B
01A0+F1 POP PSW
01A1 119202 lxi d,d$orig
01A4 0E09 mvi c,9
01A6 CD0500 call BDOS
conout ','
01A9+F5 PUSH PSW
01AA+C5 PUSH B
01AB+D5 PUSH D
01AC+E5 PUSH H
01AD+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
01AF+1E2C MVI E,',' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
01B1+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
01B4+E1 POP H
01B5+D1 POP D
01B6+C1 POP B
01B7+F1 POP PSW
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+1E20 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
01C7 118502 lxi d,d$ser
01CA 0E09 mvi c,9
01CC CD0500 call BDOS
conout ','
01CF+F5 PUSH PSW
01D0+C5 PUSH B
01D1+D5 PUSH D
01D2+E5 PUSH H
01D3+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
01D5+1E2C MVI E,',' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
01D7+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
01DA+E1 POP H
01DB+D1 POP D
01DC+C1 POP B
01DD+F1 POP PSW
conout ' '
01DE+F5 PUSH PSW
01DF+C5 PUSH B
01E0+D5 PUSH D
01E1+E5 PUSH H
01E2+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
01E4+1E20 MVI E,' ' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
01E6+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
01E9+E1 POP H
01EA+D1 POP D
01EB+C1 POP B
01EC+F1 POP PSW
01ED 3ACE02 lda d$term2
01F0 FE24 cpi '$'
01F2 C20A02 jnz do$name
conout ' '
01F5+F5 PUSH PSW
01F6+C5 PUSH B
01F7+D5 PUSH D
01F8+E5 PUSH H
01F9+0E02 MVI C,CWRITE ; SET FOR CONSOLE OUTPUT BDOS CALL
01FB+1E20 MVI E,' ' ; PLACE OUTPUT CHARACTER IN E AS REQUIRED
01FD+CD0500 CALL BDOS ; CALL BDOS FUNCTION ENTRY POINT
0200+E1 POP H
0201+D1 POP D
0202+C1 POP B
0203+F1 POP PSW
0204 11BD02 lxi d,d$uuid+19
0207 C30D02 jmp do$any
do$name:
020A 119602 lxi d,d$name
do$any:
020D 0E09 mvi c,9
020F CD0500 call BDOS
0212 3E00 mvi a,SUCCESS ; set return code
fini:
0214 C9 ret
0215 lfcbptr ds 2
0217 ldrive ds 1
0218 lcolon ds 1
0219 lname ds 8
0221 ldot ds 1
0222 lext ds 3
0225 lterm ds 1
0226 6275666665 db 'buffer-->'
022F buffer ds 1
0230 p$start ds 2
0232 p$hexrf ds 16
0242 p$sig ds 2
0244 p$rmj ds 1
0245 p$rmn ds 1
0246 p$rup ds 1
0247 p$rtp ds 1
0248 p$mon ds 1
0249 p$day ds 1
024A p$year ds 2
024C p$argv ds 2
024E p$e5 ds 1
024F p$pr$st ds 2
0251 p$code1 ds 3 ; begin: lxi h,0
0254 p$code2 ds 1 ; dad sp
0255 p$code3 ds 3 ; shld pre$stk
0258 p$code4 ds 3 ; lxi sp,stack$top
025B p$code5 ds 1 ; nop
025C p$code6 ds 3 ; jmp around$bandata
025F p$prog ds 2 ; dw prog
0261 p$dat ds 2 ; dw dat
0263 p$prod ds 2 ; dw prod
0265 p$orig ds 2 ; dw orig
0267 p$ser ds 2 ; dw ser
0269 p$nam ds 2 ; dw nam
026B p$term ds 2 ; dw 0
026D d$prog ds 8+1+3+1 ; db '12345678.123$'
027A d$date ds 2+1+2+1+4+1 ; db ' 2/11/2012$'
0285 d$ser ds 6+1 ; db '654321$'
028C d$prod ds 5+1 ; db 'CPM80$'
0292 d$orig ds 3+1 ; db 'DWG$'
0296 d$name ds 1+7+1+1+1+1+7+1 ; db ' Douglas W. Goodall$'
02AA d$uuid ds 36 ; unique user identification
02CE d$term2 ds 1 ; can be set to zero or dollar sign
00A0 = p$len equ $-buffer
02CF p$rsvd ds 256-p$len
032F 3C2D2D6275 db '<--buffer'
0338 A000 dw p$len
033A 0D0A24 crlf db CR,LF,'$'
; eof - identity.asm


BIN
Apps/crossdev/IDENTITY.REL

Binary file not shown.

35
Apps/crossdev/IDENTITY.SYM

@ -1,35 +0,0 @@
0009 AL0OFS 000A AL1OFS 000E ALVOFS 0005 BDOS E600 BIBOOT
E609 BICONIN E60C BICONOUT E606 BICONST 0000 BIDRVA 0001 BIDRVB
0002 BIDRVC 0003 BIDRVD 0004 BIDRVE 0005 BIDRVF 0006 BIDRVG
0007 BIDRVH E618 BIHOME E60F BILIST E62D BILISTST E612 BIPUNCH
E627 BIREAD E615 BIREADER E630 BISECTRN E61B BISELDSK E624 BISETDMA
E621 BISETSEC E61E BISETTRK E603 BIWBOOT E62A BIWRITE 0003 BLMOFS
0002 BSHOFS 022F BUFFER 0001 BYTESIZE 000B CKSOFS 003A COLON
000D CR 0001 CREAD 033A CRLF 0020 CROFS 000C CSVOFS
0012 CUROFS 0002 CWRITE 0010 D0OFS 0008 DBFOFS 027A DDATE
0080 DEFBUF 0296 DNAME 020D DOANY 020A DONAME 0292 DORIG
000F DPBLEN 000A DPBOFS 0010 DPHLEN 028C DPROD 026D DPROG
0007 DRMOFS 0000 DROFS 0285 DSER 000D DSKRESET 0005 DSMOFS
02CE DTERM2 02AA DUUID 0001 ENGLISH 001B ESC 0004 EXMOFS
000C EXOFS 0001 F1OFS 0002 F2OFS 0003 F3OFS 0004 F4OFS
0005 F5OFS 0006 F6OFS 0007 F7OFS 0008 F8OFS 0001 FAILURE
0000 FALSE 0024 FCBLEN 0010 FCLOSE 0023 FCOMPSIZE 0013 FDELETE
0214 FINI 0016 FMAKE 000F FOPEN 0017 FRENAME 0218 LCOLON
0221 LDOT 0217 LDRIVE 0020 LENFCB 0222 LEXT 000A LF
0215 LFCBPTR 0219 LNAME 0225 LTERM 0010 LU1OFS 0011 LU2OFS
0010 MAXLABEL 0000 NEVER 0014 NLUOFS 00E5 OEMID 000D OFFOFS
0071 OPENOK 024C PARGV 0251 PCODE1 0254 PCODE2 0255 PCODE3
0258 PCODE4 025B PCODE5 025C PCODE6 0261 PDAT 0249 PDAY
024E PE5 0232 PHEXRF 00A0 PLEN 0248 PMON 0269 PNAM
0265 PORIG 0263 PPROD 025F PPROG 024F PPRST 0000 PRDWORD
0000 PRHBYTE 0000 PRHWORD 005C PRIFCB 0009 PRINTSTR 0244 PRMJ
0245 PRMN 02CF PRSVD 0247 PRTP 0246 PRUP 0267 PSER
0242 PSIG 0230 PSTART 026B PTERM 024A PYEAR 0021 R0OFS
0022 R1OFS 0023 R2OFS 000F RCOFS 000A READCONBUF 0014 READSEQ
0025 RESETDRIVE 0019 RETCURR 000C RETVERNO 0002 RV1OFS 0004 RV2OFS
0006 RV3OFS 000D S1OFS 000E S2OFS 006C SECFCB 000E SELDSK
001A SETDMA 0024 SETRANDREC 0000 SPANISH 0000 SPTOFS 0200 STACKSIZE
0000 SUCCESS 0009 T1OFS 000A T2OFS 000B T3OFS 0000 TERMCPM
0001 TRUE 0002 WORDSIZE 0022 WRITERAND 0028 WRITERANDZF
0015 WRITESEQ 0000 XIDENT 0000 XLTOFS 0000 XMEMCPY 0000 XMEMSET


351
Apps/crossdev/LABELIB.PRN

@ -1,351 +0,0 @@
; labelib.asm 2/22/2012 dwg - label library function implementation
; label.asm 2/11/2012 dwg - make ident compliant
; label.asm 2/11/2012 dwg - begin 1.6 enhancements
; label.asm 2/04/2012 dwg - use new macros for benefits
; label.asm 1/20/2012 dwg - label a drive or slice
;
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
;
maclib portab
maclib globals
maclib cpmbios
maclib cpmbdos
maclib bioshdr
maclib hardware
maclib z80
maclib memory
; maclib applvers
; maclib cpmappl
maclib printers
maclib metadata
; maclib banner
maclib stdlib
; maclib ffhaslu
; maclib identity
cseg
public x$label
x$label:
0000 79 mov a,c
0001 323E01 sta drive$num
get$off
0004+F5 PUSH PSW
0005+C5 PUSH B
0006+D5 PUSH D
0007+CD1BE6 CALL BISELDSK
000A+110A00 LXI D,DPB$OFS
000D+19 DAD D
000E+5E MOV E,M
000F+23 INX H
0010+56 MOV D,M
0011+EB XCHG
0012+110D00 LXI D,OFF$OFS
0015+19 DAD D
0016+5E MOV E,M
0017+23 INX H
0018+56 MOV D,M
0019+EB XCHG
001A+D1 POP D
001B+C1 POP B
001C+F1 POP PSW
001D 7C mov a,h
001E B5 ora l
001F C26E00 jnz off$ok
printf 'Sorry, you can only label drives with reserved tracks'
0022+F5 PUSH PSW
0023+C5 PUSH B
0024+D5 PUSH D
0025+E5 PUSH H
0026+0E09 MVI C,PRINTSTR
0028+113500 LXI D,??0002
002B+CD0500 CALL BDOS
002E+E1 POP H
002F+D1 POP D
0030+C1 POP B
0031+F1 POP PSW
0032+C36B00 JMP ??0001
0035+536F727279??0002 DB 'Sorry, you can only label drives with reserved tracks'
006A+24 DB '$'
006B C3A901 jmp main$exit
off$ok:
006E 3A3E01 lda drive$num
0071 4F mov c,a
0072 215101 lxi h,buffer
0075 CD0000 call x$g$meta
0078 3A80004F lda DEFBUF ! mov c,a
007C FE00C2FA00 cpi 0 ! jnz x$lab2
; ; Interactive label functionality here...
prompt:
; signature exists so label should be displayable
print old$lbl
0081+F5 PUSH PSW
0082+C5 PUSH B
0083+D5 PUSH D
0084+E5 PUSH H
0085+0E09 MVI C,PRINTSTR
0087+11DE00 LXI D,OLD$LBL
008A+CD0500 CALL BDOS
008D+E1 POP H
008E+D1 POP D
008F+C1 POP B
0090+F1 POP PSW
; print label
0091 215101 lxi h,buffer
0094 116700 lxi d,meta$label
0097 19 dad d
0098 E5 push h
0099 D1 pop d
009A 0E09 mvi c,PRINTSTR
009C CD0500 call BDOS
print crlf
009F+F5 PUSH PSW
00A0+C5 PUSH B
00A1+D5 PUSH D
00A2+E5 PUSH H
00A3+0E09 MVI C,PRINTSTR
00A5+113B01 LXI D,CRLF
00A8+CD0500 CALL BDOS
00AB+E1 POP H
00AC+D1 POP D
00AD+C1 POP B
00AE+F1 POP PSW
print new$lbl
00AF+F5 PUSH PSW
00B0+C5 PUSH B
00B1+D5 PUSH D
00B2+E5 PUSH H
00B3+0E09 MVI C,PRINTSTR
00B5+11EA00 LXI D,NEW$LBL
00B8+CD0500 CALL BDOS
00BB+E1 POP H
00BC+D1 POP D
00BD+C1 POP B
00BE+F1 POP PSW
00BF 0E0A mvi c,READ$CON$BUF
00C1 113F01 lxi d,rcbuff
00C4 CD0500 call BDOS
00C7 3A4001 lda rclen
00CA FE00 cpi 0
00CC C2D200 jnz length$ok
00CF C3A901 jmp main$exit
length$ok:
00D2 3C inr a
00D3 328000 sta DEFBUF
00D6 3E20 mvi a,' '
00D8 328100 sta DEFBUF+1
00DB 4F mov c,a
00DC 0600 mvi b,0
00DE 214101 lxi h,rcdata
00E1 118200 lxi d,DEFBUF+2
ldir
00E4+EDB0 DB 0EDH,0B0H
print crlf
00E6+F5 PUSH PSW
00E7+C5 PUSH B
00E8+D5 PUSH D
00E9+E5 PUSH H
00EA+0E09 MVI C,PRINTSTR
00EC+113B01 LXI D,CRLF
00EF+CD0500 CALL BDOS
00F2+E1 POP H
00F3+D1 POP D
00F4+C1 POP B
00F5+F1 POP PSW
00F6 3A3E01 lda drive$num
00F9 4F mov c,a
; fall through to code below
;;; not$interactive:
public x$lab2
x$lab2:
; This routine can be used interactively or non-interactively.
; You can set up the default buffer at 80h and call x$lab2,
; or you can call x$label and it will interactively redo the label.
;
00FA 79 mov a,c
00FB 323E01 sta drive$num
00FE 215101 lxi h,buffer
0101 116700 lxi d,meta$label
0104 19 dad d
0105 3E20 mvi a,' '
0107 011000 lxi b,meta$label$len ; max length of label
010A CD0000 call x$memset
010D 3A8000 lda DEFBUF ; pick up length of command tail
0110 FE12 cpi 18 ; compare with max size of label
0112 DA1A01 jc lenok ; jump if size is within limits
0115 3E11 mvi a,17 ; specify maximum size
0117 328000 sta DEFBUF ; and poke into default buffer size byte
011A 3A8000 lenok: lda DEFBUF ; pick up command tail size byte
011D 3D dcr a ; decrement
011E 4F mov c,a ; move to c reg as counter
011F 0600 mvi b,0
0121 215101 lxi h,buffer
0124 116700 lxi d,meta$label
0127 19 dad d
0128 EB xchg
0129 218200 lxi h,DEFBUF+2 ; set source index for move
ldir
012C+EDB0 DB 0EDH,0B0H
012E 215101 lxi h,buffer
0131 117700 lxi d,meta$term
0134 19 dad d
0135 3E24 mvi a,'$'
0137 77 mov m,a
0138 3A3E01 lda drive$num
013B 4F mov c,a
013C 215101 lxi h,buffer
013F CD0000 call x$u$meta
0142 FE01 cpi FAILURE
0144 CA6001 jz write$prot$err
0147 215101 lxi h,buffer
014A CD0000 call x$p$meta
print suc$msg
014D+F5 PUSH PSW
014E+C5 PUSH B
014F+D5 PUSH D
0150+E5 PUSH H
0151+0E09 MVI C,PRINTSTR
0153+110000 LXI D,SUC$MSG
0156+CD0500 CALL BDOS
0159+E1 POP H
015A+D1 POP D
015B+C1 POP B
015C+F1 POP PSW
015D C3A901 jmp main$exit
write$prot$err:
print wr$prot$msg
0160+F5 PUSH PSW
0161+C5 PUSH B
0162+D5 PUSH D
0163+E5 PUSH H
0164+0E09 MVI C,PRINTSTR
0166+115C00 LXI D,WR$PROT$MSG
0169+CD0500 CALL BDOS
016C+E1 POP H
016D+D1 POP D
016E+C1 POP B
016F+F1 POP PSW
0170 C3A901 jmp main$exit
readerr:
print rd$err$msg
0173+F5 PUSH PSW
0174+C5 PUSH B
0175+D5 PUSH D
0176+E5 PUSH H
0177+0E09 MVI C,PRINTSTR
0179+111B00 LXI D,RD$ERR$MSG
017C+CD0500 CALL BDOS
017F+E1 POP H
0180+D1 POP D
0181+C1 POP B
0182+F1 POP PSW
0183 C3A901 jmp main$exit
writeerr:
print wr$err$msg
0186+F5 PUSH PSW
0187+C5 PUSH B
0188+D5 PUSH D
0189+E5 PUSH H
018A+0E09 MVI C,PRINTSTR
018C+113B00 LXI D,WR$ERR$MSG
018F+CD0500 CALL BDOS
0192+E1 POP H
0193+D1 POP D
0194+C1 POP B
0195+F1 POP PSW
0196 C3A901 jmp main$exit
dontboth:
print usage$msg
0199+F5 PUSH PSW
019A+C5 PUSH B
019B+D5 PUSH D
019C+E5 PUSH H
019D+0E09 MVI C,PRINTSTR
019F+117F00 LXI D,USAGE$MSG
01A2+CD0500 CALL BDOS
01A5+E1 POP H
01A6+D1 POP D
01A7+C1 POP B
01A8+F1 POP PSW
main$exit:
01A9 C9 ret
dseg
0000 4C6162656Csuc$msg db 'Label Written Successfully$'
001B 536F727279rd$err$msg db 'Sorry, cannot read label sector$'
003B 536F727279wr$err$msg db 'Sorry, cannot write label sector$'
005C 536F727279wr$prot$msg db 'Sorry, metadata is write protected$'
007F 7573616765usage$msg db 'usage - label <label>$'
0095 536F727279ver$msg db 'Sorry, requires RomWBW or NuBios v1.5$'
00BB 556E6C6162def$label db 'Unlabeled ',0
00CC 4C6162656Cinit$msg db 'Label initialized$'
00DE 4F6C64204Cold$lbl db 'Old Label: $'
00EA 4E6577204Cnew$lbl db 'New Label: $'
00F6 436F707972copr$msg db 'Copyright (C) 2012 Douglas Goodall$'
0119 50726F6772lic$msg db 'Program licensed under the GPL v3$'
013B 0D0A crlf db CR,LF
013D 24 term db '$'
013E drive$num ds 1
013F 10 rcbuff db MAX$LABEL
0140 00 rclen db 0
0141 rcdata ds MAX$LABEL
0151 buffer ds 128
01D1 end start


BIN
Apps/crossdev/LABELIB.REL

Binary file not shown.

40
Apps/crossdev/LABELIB.SYM

@ -1,40 +0,0 @@
0009 AL0OFS 000A AL1OFS 000E ALVOFS 0000 BC 0005 BDOS
E600 BIBOOT E609 BICONIN E60C BICONOUT E606 BICONST 0000 BIDRVA
0001 BIDRVB 0002 BIDRVC 0003 BIDRVD 0004 BIDRVE 0005 BIDRVF
0006 BIDRVG 0007 BIDRVH E618 BIHOME E60F BILIST E62D BILISTST
E612 BIPUNCH E627 BIREAD E615 BIREADER E630 BISECTRN E61B BISELDSK
E624 BISETDMA E621 BISETSEC E61E BISETTRK E603 BIWBOOT E62A BIWRITE
0003 BLMOFS 0002 BSHOFS 0151 BUFFER 0001 BYTESIZE 000B CKSOFS
003A COLON 00F6 COPRMSG 000D CR 0001 CREAD 013B CRLF
0020 CROFS 000C CSVOFS 0012 CUROFS 0002 CWRITE 0010 D0OFS
0008 DBFOFS 0002 DE 0080 DEFBUF 00BB DEFLABEL 0199 DONTBOTH
000F DPBLEN 000A DPBOFS 0010 DPHLEN 0001 DRIVEB 013E DRIVENUM
0007 DRMOFS 0000 DROFS 000D DSKRESET 0005 DSMOFS 0001 ENGLISH
001B ESC 0004 EXMOFS 000C EXOFS 0001 F1OFS 0002 F2OFS
0003 F3OFS 0004 F4OFS 0005 F5OFS 0006 F6OFS 0007 F7OFS
0008 F8OFS 0001 FAILURE 0000 FALSE 0024 FCBLEN 0010 FCLOSE
0023 FCOMPSIZE 0013 FDELETE 0016 FMAKE 000F FOPEN 0017 FRENAME
0001 HASZ80 0004 HL 00CC INITMSG 0004 IX 0004 IY
0020 LENFCB 00D2 LENGTHOK 011A LENOK 000A LF 0119 LICMSG
0010 LU1OFS 0011 LU2OFS 01A9 MAINEXIT 0010 MAXLABEL 007E METACPMENT
007A METACPMLOC 007C METADATEND 0078 METAINFOLOC 0067 METALABEL
0010 METALABELLEN 0060 METAPROT 0063 METARMJ 0064 METARMN
0066 METARTP 0065 METARUP 0000 METASIG5A 0001 METASIGA5 0077 METATERM
0061 METAUPDATES 0000 NEVER 00EA NEWLBL 0014 NLUOFS
00E5 OEMID 000D OFFOFS 006E OFFOK 00DE OLDLBL 0000 PRDWORD
0000 PRHBYTE 0000 PRHWORD 005C PRIFCB 0009 PRINTSTR 0081 PROMPT
0021 R0OFS 0022 R1OFS 0023 R2OFS 013F RCBUFF 0141 RCDATA
0140 RCLEN 000F RCOFS 001B RDERRMSG 000A READCONBUF 0173 READERR
0014 READSEQ 0025 RESETDRIVE 0019 RETCURR 000C RETVERNO E64B RMJ
E64C RMN E64E RTP E64D RUP 0002 RV1OFS 0004 RV2OFS
0006 RV3OFS 000D S1OFS 000E S2OFS 006C SECFCB 000E SELDSK
001A SETDMA 0024 SETRANDREC 0000 SPANISH 0000 SPTOFS 0200 STACKSIZE
0000 SUCCESS 0000 SUCMSG 0009 T1OFS 000A T2OFS 000B T3OFS
013D TERM 0000 TERMCPM 0001 TRUE 007F USAGEMSG 0095 VERMSG
0002 WORDSIZE 003B WRERRMSG 0186 WRITEERR 0160 WRITEPROTERR
0022 WRITERAND 0028 WRITERANDZF 0015 WRITESEQ 005C WRPROTMSG
0000 XGMETA 0000 XIMETA 00FA XLAB2 0000 XLABEL 0000 XLTOFS
0000 XMEMCPY 0000 XMEMSET 0000 XPMETA 0000 XPRMETA 0000 XUMETA
0000 XUNMETA 0070 ZETARTC 0010 ZRTCCE 0040 ZRTCCFG 0040 ZRTCCLK
0080 ZRTCINP 0001 ZRTCOUT 0020 ZRTCWE


1649
Apps/crossdev/MAP.ASM

File diff suppressed because it is too large

BIN
Apps/crossdev/MAP.CPM

Binary file not shown.

BIN
Apps/crossdev/MAP.O

Binary file not shown.

27
Apps/crossdev/MEMORY.PRN

@ -1,27 +0,0 @@
; memory.asm 2/1/2012 dwg - memory library implementation
; maclib z80
;memcpy macro h=src,d==dst,bc=size
public x$memcpy
x$memcpy:
ldir
0000 C9 ret
; memset macro h=dst,a=data,c=siz
public x$memset
x$memset:
0001 F5 push psw
x$ms$loop:
0002 F1 pop psw
0003 77 mov m,a
0004 23 inx h
0005 0B dcx b
0006 F5 push psw
0007 78 mov a,b
0008 B1 ora c
0009 C20200 jnz x$ms$loop
000C F1 pop psw
000D C9 ret
; eof - memory.asm


BIN
Apps/crossdev/MEMORY.REL

Binary file not shown.

2
Apps/crossdev/MEMORY.SYM

@ -1,2 +0,0 @@
0000 LDIR 0000 XMEMCPY 0001 XMEMSET 0002 XMSLOOP


750
Apps/crossdev/META.ASM

@ -1,750 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
global metadata_,128
global bRunning_,2
global deflu_,2
global drive_,2
global logunit_,2
global numlu_,2
DSEG
public pSYSCFG_
pSYSCFG_:
DW -16384
CSEG
PUBLIC display_
display_: lxi d,.2
call csave
LHLD logunit_
PUSH H
LHLD drive_
PUSH H
CALL luscur_
POP D
POP D
LXI H,metadata_
PUSH H
LXI H,11
PUSH H
LXI H,0
PUSH H
LHLD drive_
PUSH H
CALL rdsector_
XCHG
LXI H,8
DAD SP
SPHL
LXI H,0
PUSH H
LXI H,7
PUSH H
CALL crtlc_
POP D
POP D
LHLD metadata_
PUSH H
LXI H,.1+0
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,8
PUSH H
CALL crtlc_
POP D
POP D
LDA metadata_+2
MOV L,A
MVI H,0
PUSH H
LXI H,.1+28
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,9
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.1+56
PUSH H
CALL printf_
POP D
LXI H,0
XCHG
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .4
.3:
LXI H,2-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.4:
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,8
CALL .lt
JZ .5
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,metadata_+4
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+79
PUSH H
CALL printf_
POP D
POP D
JMP .3
.5:
LXI H,.1+82
PUSH H
CALL printf_
POP D
LXI H,0
PUSH H
LXI H,10
PUSH H
CALL crtlc_
POP D
POP D
LDA metadata_+12
MOV L,A
MVI H,0
LXI D,65
DAD D
PUSH H
LXI H,.1+84
PUSH H
CALL printf_
POP D
POP D
LHLD metadata_+13
XCHG
LHLD logunit_
CALL .ne
JZ .6
LHLD logunit_
SHLD metadata_+13
LHLD metadata_+97
INX H
SHLD metadata_+97
LXI H,metadata_
PUSH H
LXI H,11
PUSH H
LXI H,0
PUSH H
LHLD drive_
PUSH H
CALL wrsector_
XCHG
LXI H,8
DAD SP
SPHL
.6:
LXI H,0
PUSH H
LXI H,11
PUSH H
CALL crtlc_
POP D
POP D
LHLD numlu_
PUSH H
LHLD metadata_+13
PUSH H
LXI H,.1+109
PUSH H
CALL printf_
POP D
POP D
POP D
LXI H,0
PUSH H
LXI H,12
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.1+150
PUSH H
CALL printf_
POP D
LDA metadata_+96
MOV L,A
MVI H,0
JMP .7
.9:
LXI H,.1+172
PUSH H
CALL printf_
POP D
JMP .8
.10:
LXI H,.1+178
PUSH H
CALL printf_
POP D
JMP .8
.11:
LXI H,.1+184
PUSH H
CALL printf_
POP D
JMP .8
.7:
CALL .swt
DW 2
DW 0,.10
DW 1,.9
DW .11
.8:
LXI H,0
PUSH H
LXI H,13
PUSH H
CALL crtlc_
POP D
POP D
LHLD metadata_+97
PUSH H
LXI H,.1+190
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,14
PUSH H
CALL crtlc_
POP D
POP D
LDA metadata_+101
MOV L,A
MVI H,0
PUSH H
LDA metadata_+101
MOV L,A
MVI H,0
PUSH H
LDA metadata_+100
MOV L,A
MVI H,0
PUSH H
LDA metadata_+99
MOV L,A
MVI H,0
PUSH H
LXI H,.1+214
PUSH H
CALL printf_
XCHG
LXI H,10
DAD SP
SPHL
LXI H,0
PUSH H
LXI H,15
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.1+247
PUSH H
CALL printf_
POP D
LXI H,0
XCHG
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .13
.12:
LXI H,2-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.13:
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,16
CALL .lt
JZ .14
LXI H,2-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,metadata_+103
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,.1+270
PUSH H
CALL printf_
POP D
POP D
JMP .12
.14:
LXI H,.1+273
PUSH H
CALL printf_
POP D
LXI H,0
PUSH H
LXI H,16
PUSH H
CALL crtlc_
POP D
POP D
LHLD metadata_+120
PUSH H
LXI H,.1+275
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,17
PUSH H
CALL crtlc_
POP D
POP D
LHLD metadata_+122
PUSH H
LXI H,.1+303
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,18
PUSH H
CALL crtlc_
POP D
POP D
LHLD metadata_+124
PUSH H
LXI H,.1+331
PUSH H
CALL printf_
POP D
POP D
LXI H,0
PUSH H
LXI H,19
PUSH H
CALL crtlc_
POP D
POP D
LHLD metadata_+126
PUSH H
LXI H,.1+359
PUSH H
CALL printf_
POP D
POP D
RET
.2 EQU -2
.1:
DB 109,101,116,97,100,97,116,97,46,115,105,103,110,97,116
DB 117,114,101,32,61,32,48,120,37,48,52,120,0,109,101
DB 116,97,100,97,116,97,46,112,108,97,116,102,111,114,109
DB 32,32,61,32,48,120,37,48,50,120,0,109,101,116,97
DB 100,97,116,97,46,102,111,114,109,97,116,116,101,114,32
DB 61,32,34,0,37,99,0,34,0,109,101,116,97,100,97
DB 116,97,46,100,114,105,118,101,32,32,32,32,32,61,32
DB 37,99,58,0,109,101,116,97,100,97,116,97,46,108,111
DB 103,117,110,105,116,32,32,32,61,32,37,100,40,114,101
DB 108,48,41,32,111,102,32,37,100,32,32,32,32,32,0
DB 109,101,116,97,100,97,116,97,46,119,114,105,116,101,112
DB 114,111,116,32,61,32,0,84,82,85,69,32,0,70,65
DB 76,83,69,0,85,110,107,33,33,0,109,101,116,97,100
DB 97,116,97,46,117,112,100,97,116,101,32,32,32,32,61
DB 32,37,100,0,109,101,116,97,100,97,116,97,46,123,118
DB 101,114,125,32,32,32,32,32,61,32,37,100,46,37,100
DB 46,37,100,46,37,100,0,109,101,116,97,100,97,116,97
DB 46,108,97,98,101,108,32,32,32,32,32,61,32,34,0
DB 37,99,0,34,0,109,101,116,97,100,97,116,97,46,105
DB 110,102,108,111,99,32,32,32,32,61,32,48,120,37,48
DB 52,120,0,109,101,116,97,100,97,116,97,46,99,112,109
DB 108,111,99,32,32,32,32,61,32,48,120,37,48,52,120
DB 0,109,101,116,97,100,97,116,97,46,99,112,109,101,110
DB 100,32,32,32,32,61,32,48,120,37,48,52,120,0,109
DB 101,116,97,100,97,116,97,46,99,112,109,101,110,116,32
DB 32,32,32,61,32,48,120,37,48,52,120,0
PUBLIC menu_
menu_: lxi d,.16
call csave
LXI H,0
PUSH H
LXI H,21
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.15+0
PUSH H
CALL printf_
POP D
LXI H,.15+40
PUSH H
CALL printf_
POP D
LXI H,0
PUSH H
LXI H,21
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.15+80
PUSH H
CALL printf_
POP D
LXI H,0
XCHG
LHLD logunit_
CALL .lt
JZ .17
LXI H,.15+90
PUSH H
CALL printf_
POP D
.17:
LHLD numlu_
DCX H
PUSH H
LHLD logunit_
POP D
XCHG
CALL .lt
JZ .18
LXI H,.15+102
PUSH H
CALL printf_
POP D
.18:
LDA metadata_+96
MOV L,A
MVI H,0
PUSH H
LXI H,1
POP D
CALL .eq
JZ .19
LXI H,.15+114
PUSH H
CALL printf_
POP D
.19:
lda metadata_+96
ora a
JNZ .20
LXI H,.15+127
PUSH H
CALL printf_
POP D
.20:
LXI H,.15+138
PUSH H
CALL printf_
POP D
LXI H,1
SHLD dregbc_
CALL bdoscall_
LXI H,1
XCHG
LXI H,2-.16
DAD SP
MOV M,E
INX H
MOV M,D
LDA drega_
MOV L,A
MVI H,0
JMP .21
.23:
.24:
LXI H,0
XCHG
LXI H,2-.16
DAD SP
MOV M,E
INX H
MOV M,D
JMP .22
.25:
LHLD numlu_
DCX H
PUSH H
LHLD logunit_
POP D
XCHG
CALL .lt
JZ .26
LHLD logunit_
INX H
SHLD logunit_
JMP .27
.26:
LXI H,7
PUSH H
LXI H,.15+151
PUSH H
CALL printf_
POP D
POP D
.27:
JMP .22
.28:
LXI H,0
XCHG
LHLD logunit_
CALL .lt
JZ .29
LHLD logunit_
DCX H
SHLD logunit_
JMP .30
.29:
LXI H,7
PUSH H
LXI H,.15+154
PUSH H
CALL printf_
POP D
POP D
.30:
JMP .22
.31:
LXI H,1
MOV A,L
STA metadata_+96
LHLD metadata_+97
INX H
SHLD metadata_+97
LXI H,metadata_
PUSH H
LXI H,11
PUSH H
LXI H,0
PUSH H
LHLD drive_
PUSH H
CALL wrsector_
XCHG
LXI H,8
DAD SP
SPHL
JMP .22
.32:
LXI H,0
MOV A,L
STA metadata_+96
LHLD metadata_+97
INX H
SHLD metadata_+97
LXI H,metadata_
PUSH H
LXI H,11
PUSH H
LXI H,0
PUSH H
LHLD drive_
PUSH H
CALL wrsector_
XCHG
LXI H,8
DAD SP
SPHL
JMP .22
.33:
LXI H,7
PUSH H
LXI H,.15+157
PUSH H
CALL printf_
POP D
POP D
JMP .22
.21:
CALL .swt
DW 6
DW 43,.25
DW 45,.28
DW 88,.23
DW 112,.31
DW 117,.32
DW 120,.24
DW .33
.22:
LXI H,2-.16
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
RET
.16 EQU -2
.15:
DB 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
DB 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
DB 32,32,32,32,32,32,32,32,32,0,32,32,32,32,32
DB 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
DB 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
DB 32,32,32,32,0,79,112,116,105,111,110,115,40,32,0
DB 32,45,123,112,114,101,118,32,108,117,125,0,32,43,123
DB 110,101,120,116,32,108,117,125,0,32,117,123,110,112,114
DB 111,116,101,99,116,125,0,32,112,123,114,111,116,101,99
DB 116,125,0,32,120,123,113,117,105,116,125,32,41,58,32
DB 0,37,99,0,37,99,0,37,99,0
PUBLIC main_
main_: lxi d,.35
call csave
LXI H,-4096
SHLD hregbc_
LXI H,-16384
SHLD hregde_
CALL diagnose_
LXI H,-16384
SHLD pSYSCFG_
LHLD pSYSCFG_
LXI D,68
DAD D
MOV E,M
MVI D,0
PUSH D
CALL crtinit_
POP D
CALL crtclr_
LXI H,0
PUSH H
LXI H,0
PUSH H
CALL crtlc_
POP D
POP D
LXI H,.34+0
PUSH H
CALL banner_
POP D
LXI H,25
SHLD dregbc_
CALL bdoscall_
LDA drega_
MOV L,A
MVI H,0
SHLD drive_
LHLD drive_
PUSH H
CALL lugnum_
POP D
SHLD numlu_
LHLD drive_
PUSH H
CALL lugcur_
POP D
SHLD deflu_
LHLD deflu_
SHLD logunit_
LXI H,1
SHLD bRunning_
.36:
LXI H,1
XCHG
LHLD bRunning_
CALL .eq
JZ .37
CALL display_
LXI H,1
PUSH H
CALL menu_
POP D
SHLD bRunning_
JMP .36
.37:
LHLD deflu_
PUSH H
LHLD drive_
PUSH H
CALL luscur_
POP D
POP D
LXI H,0
PUSH H
LXI H,23
PUSH H
CALL crtlc_
POP D
POP D
RET
.35 EQU 0
.34:
DB 77,69,84,65,0
extrn banner_
extrn printf_
extrn lugnum_
extrn luscur_
extrn lugcur_
extrn crtlc_
extrn crtclr_
extrn crtinit_
extrn diagnose_
extrn hregde_
extrn hregbc_
extrn wrsector_
extrn rdsector_
extrn bdoscall_
extrn dregbc_
extrn drega_
extrn .eq
extrn .ne
extrn .lt
END


BIN
Apps/crossdev/META.CPM

Binary file not shown.

BIN
Apps/crossdev/META.O

Binary file not shown.

529
Apps/crossdev/METADATA.PRN

@ -1,529 +0,0 @@
; metadata.asm 7/30/2012 dwg - set c=0 for BIOS WRITE calls per Wayne
; metadata.asm 2/17/2012 dwg - review for release 1.5.1.0
; metadata.asm 2/11/2012 dwg - review for release 1.5
; metadata.asm 2/ 4/2012 dwg - metadata library implementation
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
maclib portab
maclib globals
maclib cpmbios
maclib cpmbdos
maclib memory ; has x$memset
maclib applvers ; has A$RMJ, A$RMN, A$RUP, A$RTP
maclib printers
maclib stdlib ; SUCCESS and FAILURE
; metadata.lib 1/31/2012 dwg - macros to manipulate drive metadata
;
; update$meta buffer | x$u$meta hl -> buffer
; init$meta buffer | x$i$meta hl -> buffer
; get$meta drive,buffer | x$g$meta hl -> buffer, c = drivenum
; put$meta drive,buffer | x$p$meta hl -> buffer, c = drivenum
; prot$meta drive | x$pr$meta c = drivenum
; unprot$meta drive | x$un$meta c = drivenum
;
;-------------------------------------------
;meta$debug equ TRUE
0000 = meta$debug equ FALSE
0000 = meta$sig5a equ 0
0001 = meta$siga5 equ 1
0060 = meta$prot equ 128-8-1-16-7
0061 = meta$updates equ 128-8-1-16-6
0063 = meta$rmj equ 128-8-1-16-4
0064 = meta$rmn equ 128-8-1-16-3
0065 = meta$rup equ 128-8-1-16-2
0066 = meta$rtp equ 128-8-1-16-1
0067 = meta$label equ 128-8-1-16
0077 = meta$term equ 128-8-1
0078 = meta$info$loc equ 128-8
007A = meta$cpm$loc equ 128-6
007C = meta$dat$end equ 128-4
007E = meta$cpm$ent equ 128-2
0010 = meta$label$len equ meta$term-meta$label
;-----------------------------
0000 0D0A24 crlf db CR,LF,'$'
;-----------------------------
page
public x$u$meta
x$u$meta:
0003 225F00 shld x$u$bufptr
; lhld x$u$bufptr
0006 116000 lxi d,meta$prot
0009 19 dad d
000A 7E mov a,m
000B FE01 cpi TRUE ; is metadata write protected
000D CA5C00 jz x$u$proterr ; if so go around update code
; increment the update count
0010 2A5F00 lhld x$u$bufptr
0013 116100 lxi d,meta$updates
0016 19 dad d
0017 5E mov e,m ; pick up LO byte into E
0018 23 inx h
0019 56 mov d,m ; pick up HO byte into D
001A 13 inx d ; increment DE
001B 72 mov m,d
001C 2B dcx h
001D 73 mov m,e
; update last written version quad
001E 2A5F00 lhld x$u$bufptr
0021 116300 lxi d,meta$rmj
0024 19 dad d
0025 3E02 mvi a,A$RMJ
0027 77 mov m,a
0028 23 inx h
0029 3E05 mvi a,A$RMN
002B 77 mov m,a
002C 23 inx h
002D 3E00 mvi a,A$RUP
002F 77 mov m,a
0030 23 inx h
0031 3E01 mvi a,A$RTP
0033 77 mov m,a
0034 2A5F00 lhld x$u$bufptr
0037 117700 lxi d,meta$term
003A 19 dad d
003B 7E mov a,m
003C FE24 cpi '$'
003E CA5900 jz x$u$end
0041 2A5F00 lhld x$u$bufptr
0044 116700 lxi d,meta$label
0047 19 dad d
0048 3E20 mvi a,' '
004A 0E10 mvi c,16
004C CD0000 call x$memset
004F 2A5F00 lhld x$u$bufptr
0052 117700 lxi d,meta$term
0055 19 dad d
0056 3E24 mvi a,'$'
0058 77 mov m,a
x$u$end:
0059 3E00 mvi a,SUCCESS
005B C9 ret
x$u$proterr:
005C 3E01 mvi a,FAILURE
005E C9 ret
005F x$u$bufptr ds 2
;-----------------------------
page
public x$i$meta
x$i$meta:
0061 22B300 shld x$i$bufptr
0064 2AB300 lhld x$i$bufptr
0067 110000 lxi d,meta$sig5a
006A 19 dad d
006B 3E5A mvi a,05ah
006D 77 mov m,a
006E 23 inx h
006F 3EA5 mvi a,0a5h
0071 77 mov m,a
0072 2AB300 lhld x$i$bufptr
0075 116000 lxi d,meta$prot
0078 19 dad d
0079 3E00 mvi a,FALSE
007B 77 mov m,a
007C 2AB300 lhld x$i$bufptr
007F 116100 lxi d,meta$updates
0082 19 dad d
0083 3E00 mvi a,0
0085 77 mov m,a
0086 23 inx h
0087 77 mov m,a
0088 2AB300 lhld x$i$bufptr
008B 116700 lxi d,meta$label
008E 19 dad d ; hl -> dest
008F 3E20 mvi a,' '
0091 0E10 mvi c,meta$label$len
0093 CD0000 call x$memset
0096 2AB300 lhld x$i$bufptr
0099 117700 lxi d,meta$term
009C 19 dad d
009D 3E24 mvi a,'$'
009F 77 mov m,a
00A0 2AB300 lhld x$i$bufptr
00A3 116100 lxi d,meta$updates
00A6 19 dad d
00A7 3E00 mvi a,0
00A9 77 mov m,a
00AA 23 inx h
00AB 77 mov m,a
00AC 2AB300 lhld x$i$bufptr
00AF CD0300 call x$u$meta
00B2 C9 ret
00B3 x$i$bufptr ds 2
;-------------------------------------------
page
public x$g$meta
x$g$meta;
00B5 220501 shld x$g$bufptr ; entry hl has bufptr
00B8 79 mov a,c ; entry c has drivenum
00B9 320701 sta x$g$drivenum
; lda x$g$drivenum
00BC 4F mov c,a
00BD CD1BE6 call BISELDSK
00C0 010000 lxi b,0
00C3 CD1EE6 call BISETTRK
00C6 010B00 lxi b,11
00C9 CD21E6 call BISETSEC
00CC 2A0501 lhld x$g$bufptr
00CF E5 push h
00D0 C1 pop b
00D1 CD24E6 call BISETDMA
00D4 CD27E6 call BIREAD
00D7 2A0501 lhld x$g$bufptr
00DA 110100 lxi d,meta$siga5
00DD 19 dad d
00DE 7E mov a,m
00DF FEA5 cpi 0a5h
00E1 C2F400 jnz x$g$needs$init
00E4 2A0501 lhld x$g$bufptr
00E7 110000 lxi d,meta$sig5a
00EA 19 dad d
00EB 7E mov a,m
00EC FE5A cpi 05ah
00EE C2F400 jnz x$g$needs$init
00F1 C3FF00 jmp x$g$fini
x$g$needs$init:
00F4 2A0501 lhld x$g$bufptr
00F7 CD6100 call x$i$meta
00FA 0E00 mvi c,0 ; default to 0 per Wayne
00FC CD2AE6 call BIWRITE
x$g$fini:
00FF 0E0D mvi c,13
0101 CD0500 call BDOS
0104 C9 ret
0105 x$g$bufptr ds 2
0107 x$g$drivenum ds 1
;-----------------------------------
page
public x$p$meta
x$p$meta:
0108 226001 shld x$p$bufptr
010B 79 mov a,c
010C 326201 sta x$p$drivenum
IF meta$debug eq TRUE
conout 'x'
conout '$'
conout 'p'
conout '$'
printf 'meta called, drive='
lda x$p$drivenum
mov l,a
mvi h,0
call pr$d$word
printf ', buffer='
lhld x$p$bufptr
call pr$h$word
print crlf
ENDIF
; increment the update count
010F 2A6001 lhld x$p$bufptr ; hl -> buffer
0112 116100 lxi d,meta$updates ; de = offset to updates word
0115 19 dad d ; hl -> updates word
0116 5E mov e,m ; e = LO byte of updates
0117 23 inx h ; hl -> HO byte
0118 56 mov d,m ; d = HO byte of updates
0119 13 inx d ; increment DE (updates)
011A 72 mov m,d ; put back HO byte
011B 2B dcx h ; back up ptr
011C 73 mov m,e ; put back LO byte
; update last written version quad
011D 2A6001 lhld x$p$bufptr
0120 116300 lxi d,meta$rmj
0123 19 dad d
0124 3E02 mvi a,A$RMJ
0126 77 mov m,a
0127 23 inx h
0128 3E05 mvi a,A$RMN
012A 77 mov m,a
012B 23 inx h
012C 78 mov a,A$RUP
012D 77 mov m,a
012E 23 inx h
012F 3E01 mvi a,A$RTP
0131 77 mov m,a
0132 2A6001 lhld x$p$bufptr
0135 116000 lxi d,meta$prot
0138 19 dad d
0139 7E mov a,m
013A FE01 cpi TRUE ; if metadata is write protected
013C CA5F01 jz x$p$fini ; jump around update code
013F 3A6201 lda x$p$drivenum
0142 4F mov c,a
0143 CD1BE6 call BISELDSK
0146 010000 lxi b,0
0149 CD1EE6 call BISETTRK
014C 010B00 lxi b,11
014F CD21E6 call BISETSEC
0152 2A6001 lhld x$p$bufptr
0155 E5 push h
0156 C1 pop b
0157 CD24E6 call BISETDMA
015A 0E00 mvi c,0 ; default to 0 per Wayne
015C CD2AE6 call BIWRITE
IF meta$debug eq TRUE
printf 'return from BIWRITE is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
x$p$fini:
015F C9 ret
0160 x$p$bufptr ds 2
0162 x$p$drivenum ds 1
;-----------------------
page
public x$pr$meta
x$pr$meta:
0163 79 mov a,c
0164 32BF01 sta x$pr$drivenum
IF meta$debug eq TRUE
conout 'x'
conout '$'
printf 'pr'
conout '$'
printf 'meta called, drive='
lda x$pr$drivenum
mov l,a
mvi h,0
call pr$d$word
print crlf
ENDIF
0167 3ABF01 lda x$pr$drivenum
016A 4F mov c,a
016B CD1BE6 call BISELDSK
016E 010000 lxi b,0
0171 CD1EE6 call BISETTRK
0174 010B00 lxi b,11
0177 CD21E6 call BISETSEC
017A 01C001 lxi b,x$pr$buffer
017D CD24E6 call BISETDMA
0180 CD27E6 call BIREAD
IF meta$debug eq TRUE
printf 'return from BIREAD is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
0183 21C001 lxi h,x$pr$buffer
0186 116000 lxi d,meta$prot
0189 19 dad d
018A 3E01 mvi a,TRUE
018C 77 mov m,a
018D 21C001 lxi h,x$pr$buffer
0190 116100 lxi d,meta$updates
0193 19 dad d
0194 5E mov e,m
0195 23 inx h
0196 56 mov d,m
0197 13 inx d
0198 72 mov m,d
0199 2B dcx h
019A 73 mov m,e
019B 3ABF01 lda x$pr$drivenum
019E 4F mov c,a
019F CD1BE6 call BISELDSK
01A2 010000 lxi b,0
01A5 CD1EE6 call BISETTRK
01A8 010B00 lxi b,11
01AB CD21E6 call BISETSEC
01AE 01C001 lxi b,x$pr$buffer
01B1 CD24E6 call BISETDMA
01B4 0E00 mvi c,0 ; default to 0 per Wayne
01B6 CD2AE6 call BIWRITE
IF meta$debug eq TRUE
printf 'return from BIWRITE is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
01B9 0E0D mvi c,13
01BB CD0500 call BDOS
01BE C9 ret
01BF x$pr$drivenum ds 1
01C0 x$pr$buffer ds 128
;-----------------------
page
public x$un$meta
x$un$meta:
0240 79 mov a,c
0241 329C02 sta x$un$drivenum
IF meta$debug eq TRUE
conout 'x'
conout '$'
printf 'un'
conout '$'
printf 'meta called, drive='
lda x$un$drivenum
mov l,a
mvi h,0
call pr$d$word
print crlf
ENDIF
0244 3A9C02 lda x$un$drivenum
0247 4F mov c,a
0248 CD1BE6 call BISELDSK
024B 010000 lxi b,0
024E CD1EE6 call BISETTRK
0251 010B00 lxi b,11
0254 CD21E6 call BISETSEC
0257 019D02 lxi b,x$un$buffer
025A CD24E6 call BISETDMA
025D CD27E6 call BIREAD
IF meta$debug eq TRUE
printf 'return from BIREAD is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
0260 219D02 lxi h,x$un$buffer
0263 116000 lxi d,meta$prot
0266 19 dad d
0267 3E00 mvi a,FALSE
0269 77 mov m,a
026A 219D02 lxi h,x$un$buffer
026D 116100 lxi d,meta$updates
0270 19 dad d
0271 5E mov e,m
0272 23 inx h
0273 56 mov d,m
0274 13 inx d
0275 72 mov m,d
0276 2B dcx h
0277 73 mov m,e
0278 3A9C02 lda x$un$drivenum
027B 4F mov c,a
027C CD1BE6 call BISELDSK
027F 010000 lxi b,0
0282 CD1EE6 call BISETTRK
0285 010B00 lxi b,11
0288 CD21E6 call BISETSEC
028B 019D02 lxi b,x$un$buffer
028E CD24E6 call BISETDMA
0291 0E00 mvi c,0 ; default to 0 per Wayne
0293 CD2AE6 call BIWRITE
IF meta$debug eq TRUE
printf 'return from BIWRITE is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
0296 0E0D mvi c,13
0298 CD0500 call BDOS
029B C9 ret
029C x$un$drivenum ds 1
029D x$un$buffer ds 128
;-----------------------
; eof - metadata.asm


BIN
Apps/crossdev/METADATA.REL

Binary file not shown.

36
Apps/crossdev/METADATA.SYM

@ -1,36 +0,0 @@
001F ADAY 0009 AL0OFS 000A AL1OFS 000E ALVOFS 0003 AMONTH
0002 ARMJ 0005 ARMN 0001 ARTP 0000 ARUP 07DD AYEAR
0005 BDOS E600 BIBOOT E609 BICONIN E60C BICONOUT E606 BICONST
0000 BIDRVA 0001 BIDRVB 0002 BIDRVC 0003 BIDRVD 0004 BIDRVE
0005 BIDRVF 0006 BIDRVG 0007 BIDRVH E618 BIHOME E60F BILIST
E62D BILISTST E612 BIPUNCH E627 BIREAD E615 BIREADER E630 BISECTRN
E61B BISELDSK E624 BISETDMA E621 BISETSEC E61E BISETTRK E603 BIWBOOT
E62A BIWRITE 0003 BLMOFS 0002 BSHOFS 0001 BYTESIZE 000B CKSOFS
003A COLON 000D CR 0001 CREAD 0000 CRLF 0020 CROFS
000C CSVOFS 0012 CUROFS 0002 CWRITE 0010 D0OFS 0008 DBFOFS
0080 DEFBUF 000F DPBLEN 000A DPBOFS 0010 DPHLEN 0007 DRMOFS
0000 DROFS 000D DSKRESET 0005 DSMOFS 0001 ENGLISH 001B ESC
0004 EXMOFS 000C EXOFS 0001 F1OFS 0002 F2OFS 0003 F3OFS
0004 F4OFS 0005 F5OFS 0006 F6OFS 0007 F7OFS 0008 F8OFS
0001 FAILURE 0000 FALSE 0024 FCBLEN 0010 FCLOSE 0023 FCOMPSIZE
0013 FDELETE 0016 FMAKE 000F FOPEN 0017 FRENAME 0020 LENFCB
000A LF 0010 LU1OFS 0011 LU2OFS 0010 MAXLABEL 007E METACPMENT
007A METACPMLOC 007C METADATEND 0000 METADEBUG 0078 METAINFOLOC
0067 METALABEL 0010 METALABELLEN 0060 METAPROT 0063 METARMJ
0064 METARMN 0066 METARTP 0065 METARUP 0000 METASIG5A 0001 METASIGA5
0077 METATERM 0061 METAUPDATES 0000 NEVER 0014 NLUOFS
00E5 OEMID 000D OFFOFS 0000 PRDWORD 0000 PRHBYTE 0000 PRHWORD
005C PRIFCB 0009 PRINTSTR 0021 R0OFS 0022 R1OFS 0023 R2OFS
000F RCOFS 000A READCONBUF 0014 READSEQ 0025 RESETDRIVE 0019 RETCURR
000C RETVERNO 0002 RV1OFS 0004 RV2OFS 0006 RV3OFS 000D S1OFS
000E S2OFS 006C SECFCB 000E SELDSK 001A SETDMA 0024 SETRANDREC
0000 SPANISH 0000 SPTOFS 0200 STACKSIZE 0000 SUCCESS 0009 T1OFS
000A T2OFS 000B T3OFS 0000 TERMCPM 0001 TRUE 0002 WORDSIZE
0022 WRITERAND 0028 WRITERANDZF 0015 WRITESEQ 0105 XGBUFPTR
0107 XGDRIVENUM 00FF XGFINI 00B5 XGMETA 00F4 XGNEEDSINIT
00B3 XIBUFPTR 0061 XIMETA 0000 XLTOFS 0000 XMEMCPY 0000 XMEMSET
0160 XPBUFPTR 0162 XPDRIVENUM 015F XPFINI 0108 XPMETA 01C0 XPRBUFFER
01BF XPRDRIVENUM 0163 XPRMETA 005F XUBUFPTR 0059 XUEND
0003 XUMETA 029D XUNBUFFER 029C XUNDRIVENUM 0240 XUNMETA
005C XUPROTERR


1319
Apps/crossdev/MULTIFMT.ASM

File diff suppressed because it is too large

BIN
Apps/crossdev/MULTIFMT.CPM

Binary file not shown.

BIN
Apps/crossdev/MULTIFMT.O

Binary file not shown.

2056
Apps/crossdev/N8CHARS.ASM

File diff suppressed because it is too large

BIN
Apps/crossdev/N8CHARS.O

Binary file not shown.

609
Apps/crossdev/N8VIDTST.ASM

@ -1,609 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
global style_,1
global vdp_rege_,960
global szTemp_,128
global linenum_,1
global counter_,1
global outer_,1
global inner_,1
global limit_,1
global index_,2
PUBLIC main_
main_: lxi d,.2
call csave
CALL vdp_clr1_
CALL vdp_setr_
CALL vdp_mode_
CALL vdp_pnt_
CALL vdp_pgt_
CALL vdp_colo_
CALL vdp_load_
LDA outer_
MOV L,A
MVI H,0
LXI D,3
CALL .eq
JZ .3
LXI H,0
MOV A,L
STA style_
.3:
LXI H,.1+0
PUSH H
CALL vdp_main_
POP D
LXI H,0
XCHG
LXI H,-63-.2
DAD SP
MOV M,E
LXI H,0
MOV A,L
STA outer_
JMP .5
.4:
LDA outer_
MOV L,A
INX H
MOV A,L
STA outer_
.5:
LDA outer_
MOV L,A
MVI H,0
LXI D,4
XCHG
CALL .lt
JZ .6
LXI H,4
MOV A,L
STA linenum_
LXI H,0
MOV A,L
STA inner_
JMP .8
.7:
LDA inner_
MOV L,A
INX H
MOV A,L
STA inner_
.8:
LDA inner_
MOV L,A
MVI H,0
LXI D,6
XCHG
CALL .lt
JZ .9
LDA inner_
MOV L,A
MVI H,0
LXI D,5
XCHG
CALL .lt
JZ .10
LXI H,11
MOV A,L
STA limit_
JMP .11
.10:
LXI H,9
MOV A,L
STA limit_
.11:
LXI H,0
XCHG
LXI H,2-.2
DAD SP
MOV M,E
INX H
MOV M,D
JMP .13
.12:
LXI H,2-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
.13:
LDA limit_
MOV L,A
MVI H,0
PUSH H
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
POP H
CALL .lt
JZ .14
LXI H,-63-.2
DAD SP
MOV E,M
MVI D,0
PUSH D
LXI H,.1+14
PUSH H
LXI H,-58-.2
DAD SP
PUSH H
CALL sprintf_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,3
CALL .ml
INX H
INX H
PUSH H
LDA linenum_
MOV L,A
MVI H,0
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
LXI H,-63-.2
DAD SP
PUSH H
MOV L,M
INX H
XCHG
POP H
MOV M,E
XCHG
DCX H
MVI H,0
PUSH H
LXI H,.1+17
PUSH H
LXI H,-58-.2
DAD SP
PUSH H
CALL sprintf_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
LXI H,4-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,3
CALL .ml
INX H
INX H
PUSH H
LDA linenum_
MOV L,A
MVI H,0
INX H
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
JMP .12
.14:
LXI H,3
XCHG
LDA linenum_
MOV L,A
mvi h,0
DAD D
MOV A,L
STA linenum_
LDA inner_
MOV L,A
MVI H,0
LXI D,5
CALL .eq
JZ .15
LDA outer_
MOV L,A
MVI H,0
INX H
PUSH H
LXI H,.1+22
PUSH H
LXI H,-58-.2
DAD SP
PUSH H
CALL sprintf_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
LXI H,29
PUSH H
LXI H,20
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
.15:
JMP .7
.9:
LDA outer_
MOV L,A
MVI H,0
LXI D,3
XCHG
CALL .lt
JZ .16
LXI H,.1+30
PUSH H
LXI H,2
PUSH H
LXI H,22
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
CALL gets_
POP D
.16:
JMP .4
.6:
LXI H,.1+57
PUSH H
LXI H,1
PUSH H
LXI H,22
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,2
CALL .eq
JZ .17
LXI H,10-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
INX H
INX H
MOV E,M
INX H
MOV D,M
PUSH D
CALL atoi_
POP D
PUSH H
LXI H,.1+93
PUSH H
LXI H,-58-.2
DAD SP
PUSH H
CALL sprintf_
POP D
POP D
POP D
LXI H,-62-.2
DAD SP
PUSH H
LXI H,35
PUSH H
LXI H,1
PUSH H
CALL vdp_disp_
POP D
POP D
POP D
.17:
LXI H,charset_
XCHG
LXI H,-65-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,.1+108
PUSH H
LXI H,.1+96
PUSH H
CALL fopen_
POP D
POP D
XCHG
LXI H,-67-.2
DAD SP
MOV M,E
INX H
MOV M,D
LXI H,.1+110
PUSH H
LXI H,-65-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fprintf_
POP D
POP D
LXI H,0
SHLD index_
JMP .19
.18:
LHLD index_
INX H
SHLD index_
.19:
LHLD index_
LXI D,256
XCHG
CALL .lt
JZ .20
LXI H,.1+163
PUSH H
LXI H,-65-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fprintf_
POP D
POP D
LHLD index_
PUSH H
LHLD index_
PUSH H
LXI H,-61-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-59-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-57-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-55-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-53-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-51-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-49-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,-47-.2
DAD SP
PUSH H
MOV A,M
INX H
MOV H,M
MOV L,A
INX H
XCHG
POP H
MOV M,E
INX H
MOV M,D
XCHG
DCX H
MOV E,M
MVI D,0
PUSH D
LXI H,.1+169
PUSH H
LXI H,-45-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fprintf_
XCHG
LXI H,24
DAD SP
SPHL
JMP .18
.20:
LXI H,.1+231
PUSH H
LXI H,-65-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fprintf_
POP D
POP D
LXI H,-67-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
CALL fclose_
POP D
RET
.2 EQU -71
.1:
DB 78,56,86,73,68,84,83,84,40,100,119,103,41,0,37
DB 99,0,37,48,50,120,0,80,103,32,37,100,47,52,0
DB 32,80,114,101,115,115,32,97,110,121,32,107,101,121,32
DB 116,111,32,99,111,110,116,105,110,117,101,0,69,120,101
DB 99,117,116,105,111,110,32,99,111,109,112,108,101,116,101
DB 44,114,101,116,117,114,110,101,100,32,116,111,32,67,80
DB 47,77,0,37,99,0,110,56,99,104,97,114,115,46,105
DB 110,99,0,119,0,59,32,110,56,99,104,97,114,115,46
DB 105,110,99,32,45,32,97,117,116,111,109,97,116,105,99
DB 97,108,108,121,32,103,101,110,101,114,97,116,101,100,32
DB 98,121,32,110,56,118,105,100,116,115,116,10,0,9,46
DB 68,66,9,0,37,48,51,120,104,44,37,48,51,120,104
DB 44,37,48,51,120,104,44,37,48,51,120,104,44,37,48
DB 51,120,104,44,37,48,51,120,104,44,37,48,51,120,104
DB 44,37,48,51,120,104,9,59,32,48,120,37,48,50,120
DB 40,37,100,41,10,0,59,32,101,111,102,32,45,32,110
DB 56,99,104,97,114,115,46,105,110,99,10,0
extrn fclose_
extrn fprintf_
extrn atoi_
extrn gets_
extrn sprintf_
extrn vdp_load_
extrn vdp_colo_
extrn vdp_pgt_
extrn vdp_pnt_
extrn vdp_mode_
extrn vdp_setr_
extrn vdp_clr1_
extrn vdp_main_
extrn vdp_disp_
extrn charset_
extrn fopen_
extrn .eq
extrn .lt
extrn .ml
END


BIN
Apps/crossdev/N8VIDTST.CPM

Binary file not shown.

BIN
Apps/crossdev/N8VIDTST.O

Binary file not shown.

153
Apps/crossdev/PRINTERS.PRN

@ -1,153 +0,0 @@
; printers.asm 12/25/2011 dwg -
; Copyright (C) 2011-2012 Douglas Goodall All Rights Reserved.
; For non-commercial use by N8VEM community
maclib portab
maclib cpmbdos
extrn hexref
cseg
public pr$h$nyb
pr$h$nyb:
enter
0000+F5 PUSH PSW
0001+C5 PUSH B
0002+D5 PUSH D
0003+E5 PUSH H
0004 E60F ani 15
0006 210000 lxi h,hexref
0009 85 add l
000A 6F mov l,a
000B 5E mov e,m
000C 0E02 mvi c,CWRITE
000E CD0500 call BDOS
leave
0011+E1 POP H
0012+D1 POP D
0013+C1 POP B
0014+F1 POP PSW
0015 C9 ret
public pr$h$byte
pr$h$byte:
enter
0016+F5 PUSH PSW
0017+C5 PUSH B
0018+D5 PUSH D
0019+E5 PUSH H
001A F5 push psw
001B 0F rrc
001C 0F rrc
001D 0F rrc
001E 0F rrc
001F CD0000 call pr$h$nyb
0022 F1 pop psw
0023 CD0000 call pr$h$nyb
leave
0026+E1 POP H
0027+D1 POP D
0028+C1 POP B
0029+F1 POP PSW
002A C9 ret
public pr$h$word
pr$h$word:
enter
002B+F5 PUSH PSW
002C+C5 PUSH B
002D+D5 PUSH D
002E+E5 PUSH H
002F E5 push h
0030 7C mov a,h
0031 CD1600 call pr$h$byte
0034 E1 pop h
0035 7D mov a,l
0036 CD1600 call pr$h$byte
leave
0039+E1 POP H
003A+D1 POP D
003B+C1 POP B
003C+F1 POP PSW
003D C9 ret
public pr$d$word
pr$d$word:
enter
003E+F5 PUSH PSW
003F+C5 PUSH B
0040+D5 PUSH D
0041+E5 PUSH H
0042 CD4A00 call PDEC
leave
0045+E1 POP H
0046+D1 POP D
0047+C1 POP B
0048+F1 POP PSW
0049 C9 ret
; From the "99 Bottles of Beer" web page at
; http://99-bottles-of-beer.net/language-assembler-(8080-8085)-764.html
; adapted for use in RomWBW/Apps with rmac syntax
; PRINT HL AS A DECIMAL NUMBER (0-65535)
; public PDEC
public PDEC,PDEC1,PDEC2,PDEC3,PDEC4,PDEC5
004A AF PDEC: XRA A ; LEADING ZERO FLAG
004B 320100 STA PDEC5
004E 01F0D8 LXI B, -10000
0051 CD6C00 CALL PDEC1
0054 0118FC LXI B, -1000
0057 CD6C00 CALL PDEC1
005A 019CFF LXI B, -100
005D CD6C00 CALL PDEC1
0060 0EF6 MVI C, -10
0062 CD6C00 CALL PDEC1
0065 0EFF MVI C, -1
0067 3EFF MVI A, 0FFh ; IF NUMBER IS ZERO, THIS MAKES SURE
0069 320100 STA PDEC5 ; IT'S PRINTED
006C 3E2F PDEC1: MVI A, '/' ; "0" - 1
006E 3C PDEC2: INR A
006F 09 DAD B
0070 DA6E00 JC PDEC2
0073 320000 STA PDEC4 ; SUBTRACT BC FROM HL
0076 7D MOV A, L
0077 99 SBB C
0078 6F MOV L, A
0079 7C MOV A, H
007A 98 SBB B
007B 67 MOV H, A
007C 3A0000 LDA PDEC4
007F FE30 CPI '0' ; ZERO?
0081 C28A00 JNZ PDEC3
0084 3A0100 LDA PDEC5 ; ZERO FLAG SET?
0087 FE00 CPI 0h
0089 C8 RZ ; COMMENT OUT TO PRINT LEADING ZEROS
008A 3A0000 PDEC3: LDA PDEC4
CONOUTA ; WAS "CALL PCHAR"
008D+F5 PUSH PSW
008E+C5 PUSH B
008F+D5 PUSH D
0090+E5 PUSH H
0091+0E02 MVI C,CWRITE
0093+5F MOV E,A
0094+CD0500 CALL BDOS
0097+E1 POP H
0098+D1 POP D
0099+C1 POP B
009A+F1 POP PSW
009B 3EFF MVI A, 0FFh ; SET LEADING ZERO FLAG
009D 320100 STA PDEC5
00A0 C9 RET
dseg
0000 00 PDEC4: DB 0 ; TEMP FOR 16 BIT SUBTRACTION
0001 00 PDEC5: DB 0 ; FLAG FOR LEADING ZEROS
0002 END


BIN
Apps/crossdev/PRINTERS.REL

Binary file not shown.

15
Apps/crossdev/PRINTERS.SYM

@ -1,15 +0,0 @@
0005 BDOS 0001 BYTESIZE 000D CR 0001 CREAD 0020 CROFS
0002 CWRITE 0010 D0OFS 0080 DEFBUF 0000 DROFS 000D DSKRESET
001B ESC 000C EXOFS 0001 F1OFS 0002 F2OFS 0003 F3OFS
0004 F4OFS 0005 F5OFS 0006 F6OFS 0007 F7OFS 0008 F8OFS
0000 FALSE 0024 FCBLEN 0010 FCLOSE 0023 FCOMPSIZE 0013 FDELETE
0016 FMAKE 000F FOPEN 0017 FRENAME 0000 HEXREF 0020 LENFCB
000A LF 0000 NEVER 00E5 OEMID 004A PDEC 006C PDEC1
006E PDEC2 008A PDEC3 0000 PDEC4 0001 PDEC5 003E PRDWORD
0016 PRHBYTE 0000 PRHNYB 002B PRHWORD 005C PRIFCB 0009 PRINTSTR
0021 R0OFS 0022 R1OFS 0023 R2OFS 000F RCOFS 000A READCONBUF
0014 READSEQ 0025 RESETDRIVE 0019 RETCURR 000C RETVERNO 000D S1OFS
000E S2OFS 006C SECFCB 000E SELDSK 001A SETDMA 0024 SETRANDREC
0009 T1OFS 000A T2OFS 000B T3OFS 0000 TERMCPM 0001 TRUE
0002 WORDSIZE 0022 WRITERAND 0028 WRITERANDZF 0015 WRITESEQ


BIN
Apps/crossdev/REM.CPM

Binary file not shown.

24
Apps/crossdev/REM.PRN

@ -1,24 +0,0 @@
; rem.asm 1/28/2012 dwg - update for 1.4.1.0
; rem.asm 1/23/2012 dwg - fix stack bug
; rem.asm 1/16/2012 dwg - a remark in a submit file
;
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
;
0000 0E00 start: mvi c,0
0002 CD0500 call 5
0005 end start


BIN
Apps/crossdev/REM.REL

Binary file not shown.

2
Apps/crossdev/REM.SYM

@ -1,2 +0,0 @@


117
Apps/crossdev/SECTORIO.ASM

@ -1,117 +0,0 @@
extrn .begin,.chl,.swt
extrn csave,cret,.move
PUBLIC rdsector_
rdsector_: lxi d,.2
call csave
LXI H,-6629
SHLD ireghl_
LXI H,8-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD iregbc_
LXI H,0
SHLD iregde_
CALL bioscall_
LXI H,-6626
SHLD ireghl_
LXI H,10-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD iregbc_
CALL bioscall_
LXI H,-6623
SHLD ireghl_
LXI H,12-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD iregbc_
CALL bioscall_
LXI H,-6620
SHLD ireghl_
LXI H,14-.2
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD iregbc_
CALL bioscall_
LXI H,-6617
SHLD ireghl_
CALL bioscall_
LDA irega_
MOV L,A
MVI H,0
RET
.2 EQU 0
PUBLIC wrsector_
wrsector_: lxi d,.3
call csave
LXI H,-6629
SHLD ireghl_
LXI H,8-.3
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD iregbc_
LXI H,0
SHLD iregde_
CALL bioscall_
LXI H,-6626
SHLD ireghl_
LXI H,10-.3
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD iregbc_
CALL bioscall_
LXI H,-6623
SHLD ireghl_
LXI H,12-.3
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD iregbc_
CALL bioscall_
LXI H,-6620
SHLD ireghl_
LXI H,14-.3
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
SHLD iregbc_
CALL bioscall_
LXI H,-6614
SHLD ireghl_
LXI H,0
SHLD iregbc_
CALL bioscall_
LDA irega_
MOV L,A
MVI H,0
RET
.3 EQU 0
extrn bioscall_
extrn ireghl_
extrn iregde_
extrn iregbc_
extrn irega_
END


BIN
Apps/crossdev/SECTORIO.O

Binary file not shown.

BIN
Apps/crossdev/SETLABEL.CPM

Binary file not shown.

152
Apps/crossdev/SETLABEL.PRN

@ -1,152 +0,0 @@
; setlabel.asm 2/22/2012 dwg - use new labelib macro library for labels
; label.asm 2/11/2012 dwg - make ident compliant
; label.asm 2/11/2012 dwg - begin 1.6 enhancements
; label.asm 2/04/2012 dwg - use new macros for benefits
; label.asm 1/20/2012 dwg - label a drive or slice
;
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
;
maclib portab
maclib globals
maclib stdlib ; SUCCESS & FAILURE
maclib cpmbios
maclib cpmbdos
maclib bioshdr
maclib applvers
maclib cpmappl
maclib banner
maclib identity
maclib labelib
maclib version
cseg
do$start ; begin application housekeeping
0000+C32200 START: JMP BEGIN
0003+3031323334HEXREF DB '0123456789ABCDEF'
0013+4944 ID$SIG DB 'ID'
0015+02 ID$RMJ DB A$RMJ
0016+05 ID$RMN DB A$RMN
0017+00 ID$RUP DB A$RUP
0018+01 ID$RTP DB A$RTP
0019+03 ID$MON DB A$MONTH
001A+1F ID$DAY DB A$DAY
001B+DD07 ID$YR DW A$YEAR
001D+3000 ID$ARGV DW ARGV
001F+E5 DB 0E5H
0020+ PRE$STK DS 2
0022+210000 BEGIN: LXI H,0
0025+39 DAD SP
0026+222000 SHLD PRE$STK
0029+312A03 LXI SP,STACK$TOP
002C+00 NOP
002D C3A000 jmp around$bandata
0030 3E004B005Dargv dw prog,dat,prod,orig,ser,myname,0
003E 5345544C41prog db 'SETLABEL.COM$'
date
004B+20332F3331DAT DB ' 3/31/2013$'
serial
0056+3635343332SER DB '654321$'
product
005D+43504D3830PROD DB 'CPM80$'
originator
0063+44574724 ORIG DB 'DWG$'
oriname
0067+20444F5547MYNAME DB ' DOUGLAS W GOODALL $'
007B 4133454544uuid db 'A3EEDB99-2CC0-483E-8176-A67118936E32$'
around$bandata:
sbanner argv
00A0+213000 LXI H,ARGV
00A3+CD0000 CALL X$SBANNER
; version warn$msg,error$msg
00A6 0E19 mvi c,RETCURR
00A8 CD0500 call BDOS
00AB 320000 sta drive$num
00AE 4F mov c,a
get$off
00AF+F5 PUSH PSW
00B0+C5 PUSH B
00B1+D5 PUSH D
00B2+CD1BE6 CALL BISELDSK
00B5+110A00 LXI D,DPB$OFS
00B8+19 DAD D
00B9+5E MOV E,M
00BA+23 INX H
00BB+56 MOV D,M
00BC+EB XCHG
00BD+110D00 LXI D,OFF$OFS
00C0+19 DAD D
00C1+5E MOV E,M
00C2+23 INX H
00C3+56 MOV D,M
00C4+EB XCHG
00C5+D1 POP D
00C6+C1 POP B
00C7+F1 POP PSW
00C8 7C mov a,h
00C9 B5 ora l
00CA C21901 jnz off$ok
printf 'Sorry, you can only label drives with reserved tracks'
00CD+F5 PUSH PSW
00CE+C5 PUSH B
00CF+D5 PUSH D
00D0+E5 PUSH H
00D1+0E09 MVI C,PRINTSTR
00D3+11E000 LXI D,??0002
00D6+CD0500 CALL BDOS
00D9+E1 POP H
00DA+D1 POP D
00DB+C1 POP B
00DC+F1 POP PSW
00DD+C31601 JMP ??0001
00E0+536F727279??0002 DB 'Sorry, you can only label drives with reserved tracks'
0115+24 DB '$'
0116 C32001 jmp main$exit
off$ok:
0119 3A0000 lda drive$num ; using the default drive number
011C 4F mov c,a ; (presented in the C register)
011D CD0000 call x$label ; call the actual code in labelib.asm
main$exit:
do$end ; finish up application housekeeping
0120+2A2000 LHLD PRE$STK
0123+F9 SPHL
0124+0E0D MVI C,13
0126+CD0500 CALL BDOS
0129+C9 RET
012A+ DS STACK$SIZE
dseg
0000 drive$num ds 1
; here are the two strings required for the version call
0001 5468652076warn$msg db 'The version number of this program '
0024 6973206E6F db 'is not exactly the same as the BIOS',CR,LF,'$'
004A 536F727279error$msg db 'Sorry, requires RomWBW or NuBios v2.0'
006F 0D0A24 crlf db CR,LF,'$'
0072 end start


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save