Browse Source

RC180 Platform and XM Bug Fix

- Added RC180 platform (not tested!)
- Fixed file send problem in XModem on RC2014
- Added NZCOM distribution files to hard disk 0, slice 2
pull/9/head
Wayne Warthen 8 years ago
parent
commit
05641bdec0
  1. 3
      Doc/ChangeLog.txt
  2. 165
      Doc/Testing Notes.txt
  3. 2
      ReadMe.txt
  4. 21
      Source/Apps/XM/xmhb.180
  5. 2
      Source/CBIOS/ver.inc
  6. 6
      Source/HBIOS/Build.ps1
  7. 26
      Source/HBIOS/Config/RC180_std.asm
  8. 82
      Source/HBIOS/cfg_rc180.asm
  9. 26
      Source/HBIOS/hbios.asm
  10. 17
      Source/HBIOS/plt_rc180.inc
  11. 12
      Source/HBIOS/std.asm
  12. 2
      Source/HBIOS/ver.inc
  13. BIN
      Source/Images/hd0/s2/u0/ALIAS.CMD
  14. BIN
      Source/Images/hd0/s2/u0/ARUNZ.COM
  15. BIN
      Source/Images/hd0/s2/u0/CMD.COM
  16. BIN
      Source/Images/hd0/s2/u0/COMP.COM
  17. BIN
      Source/Images/hd0/s2/u0/COPY.COM
  18. BIN
      Source/Images/hd0/s2/u0/CPSET.COM
  19. BIN
      Source/Images/hd0/s2/u0/CRUNCH.COM
  20. BIN
      Source/Images/hd0/s2/u0/DFA.COM
  21. 66
      Source/Images/hd0/s2/u0/DFA.NOT
  22. BIN
      Source/Images/hd0/s2/u0/DIR.COM
  23. BIN
      Source/Images/hd0/s2/u0/EASE.COM
  24. BIN
      Source/Images/hd0/s2/u0/EASECMD.COM
  25. BIN
      Source/Images/hd0/s2/u0/EDITNDR.COM
  26. BIN
      Source/Images/hd0/s2/u0/ERA.COM
  27. BIN
      Source/Images/hd0/s2/u0/FF.COM
  28. BIN
      Source/Images/hd0/s2/u0/FINDF.COM
  29. BIN
      Source/Images/hd0/s2/u0/HELP.COM
  30. BIN
      Source/Images/hd0/s2/u0/IF.COM
  31. BIN
      Source/Images/hd0/s2/u0/LDIR.COM
  32. BIN
      Source/Images/hd0/s2/u0/LGET.COM
  33. BIN
      Source/Images/hd0/s2/u0/LPUT.COM
  34. BIN
      Source/Images/hd0/s2/u0/LX.COM
  35. BIN
      Source/Images/hd0/s2/u0/MKZCM.COM
  36. BIN
      Source/Images/hd0/s2/u0/NZCOM.COM
  37. BIN
      Source/Images/hd0/s2/u0/NZCOM.LBR
  38. BIN
      Source/Images/hd0/s2/u0/NZCPR.LBR
  39. BIN
      Source/Images/hd0/s2/u0/NZFCP.LBR
  40. BIN
      Source/Images/hd0/s2/u0/NZRCP.LBR
  41. BIN
      Source/Images/hd0/s2/u0/NZSUB.COM
  42. 67
      Source/Images/hd0/s2/u0/NZSUB.SUB
  43. BIN
      Source/Images/hd0/s2/u0/P.COM
  44. BIN
      Source/Images/hd0/s2/u0/PATH.COM
  45. BIN
      Source/Images/hd0/s2/u0/POKE.COM
  46. BIN
      Source/Images/hd0/s2/u0/PUBLIC.COM
  47. 78
      Source/Images/hd0/s2/u0/RELEASE.NOT
  48. BIN
      Source/Images/hd0/s2/u0/REN.COM
  49. BIN
      Source/Images/hd0/s2/u0/SALIAS.COM
  50. BIN
      Source/Images/hd0/s2/u0/SAVE.COM
  51. BIN
      Source/Images/hd0/s2/u0/SAVENDR.COM
  52. BIN
      Source/Images/hd0/s2/u0/SDZ.COM
  53. BIN
      Source/Images/hd0/s2/u0/SHOW.COM
  54. BIN
      Source/Images/hd0/s2/u0/SHSET.COM
  55. BIN
      Source/Images/hd0/s2/u0/SP.COM
  56. BIN
      Source/Images/hd0/s2/u0/SPOP.COM
  57. BIN
      Source/Images/hd0/s2/u0/SUB.COM
  58. BIN
      Source/Images/hd0/s2/u0/TCSELECT.COM
  59. BIN
      Source/Images/hd0/s2/u0/UNCR.COM
  60. BIN
      Source/Images/hd0/s2/u0/VARPACK.COM
  61. BIN
      Source/Images/hd0/s2/u0/VIEW.COM
  62. BIN
      Source/Images/hd0/s2/u0/Z3LOC.COM
  63. BIN
      Source/Images/hd0/s2/u0/Z3TCAP.TCP
  64. BIN
      Source/Images/hd0/s2/u0/ZEX.COM
  65. BIN
      Source/Images/hd0/s2/u0/ZEX.RSX
  66. BIN
      Source/Images/hd0/s2/u0/ZEX4.COM
  67. 329
      Source/Images/hd0/s2/u0/ZEX4.DOC

3
Doc/ChangeLog.txt

@ -9,6 +9,9 @@ Version 2.9.1
- WBW: Map LPT: to second serial port, UL1: to third serial port - WBW: Map LPT: to second serial port, UL1: to third serial port
- WBW: Update default IOBYTE so that LST:=LPT: by default - WBW: Update default IOBYTE so that LST:=LPT: by default
- WBW: Fixed missing drive/head setup for writes in PPIDE - WBW: Fixed missing drive/head setup for writes in PPIDE
- WBW: Fixed XModem HBIOS console driver for file send operations
- WBW: Preliminary support for RC180 platform (Z180 module in RC2014)
- WBW: Added NZCOM distribution files to third slice of hard disk image
Version 2.9.0 Version 2.9.0
------------- -------------

165
Doc/Testing Notes.txt

@ -0,0 +1,165 @@
SIMH (X)
----
- Test UART driver
- Test HDSK driver
Zeta 1 (X)
------
- Test UART driver
- Test PPP detection (startup w/ and w/o PPP)
- Test boot to CRT
- Test PPPSD driver
- Test PPPCON driver (video & kbd)
- Test FD driver
- Test FDU app
Zeta 2 (X)
------
- Test UART driver
- Test PPP detection (startup w/ and w/o PPP)
- Test boot to CRT
- Test PPPSD driver
- Test PPPCON driver (video & kbd)
- Test FD driver
- Test FDU app
RC2014 (X)
------
- Test SIO driver (Serial Module)
- Test ACIA driver (Dual Serial Module)
- Test IDE driver (Compact Flash Module)
- Test PPIDE driver (IDE Module)
- Test FD driver (SMC and WDC)
- Test FDU app (SMC and WDC)
N8-2312 (X)
-------
- Test ASCI driver
- Test SD driver (CSIO mode)
- Test FD driver
- Test FDU app
- Test TMS driver (video & kbd)
N8-2511 ( )
-------
- Test ASCI driver
- Test SD driver (Juha mode)
- Test FD driver
- Test FDU app
- Test TMS driver (video & kbd)
SBC (X)
---
- Test UART driver
- Test PPIDE driver
- Test PPISD driver
- Test PRP detection
- Test boot to CRT console
MK4 (X)
---
- Test ASCI driver
- Test IDE driver
- Test SD driver
- Test PRP detection
RAMF (X)
----
- Test RAMF driver
PRP (X)
---
- Test PRPSD driver
- Test PRPCON driver (video & kbd)
SCG (X)
---
- Test TMS driver (video)
VDU (X)
---
- Test CVDU driver (video & kbd)
CVDU (X)
----
- Test CVDU driver (video & kbd)
VGA (X)
---
- Test VGA driver (video & kbd)
DIO (X)
---
- Test FD driver
- Test FDU app
- Test IDE driver
DIO3 (X)
----
- Test FD driver
- Test FDU app
- Test PPIDE driver
DIDE (X)
----
- Test FD driver
- Test FDU app
- Test IDE driver
DSD (X)
---
- Test SD driver
4UART (X)
-----
- Test UART driver
UNA (X)
---
- General Startup
- Boot from disk functionality
- Image loading
- Monitor
- XM app
- ASSIGN app
- MODE app
- SYSCOPY app
- OSLDR app
- FDU app
- FDISK80 app
GENERAL (X)
-------
- Boot to ROM
- Boot to Disk
- Boot to Monitor
- XM app
- XM port auto-detect
- ASSIGN app
- MODE app
- SYSCOPY app
- OSLDR app
- FDU app
- FDISK80 app
- TUNE app
RESULTS
-------
- Missing HBIOS startup banner (X)
- PANIC while printing Serial device inventory (X)
- Unexpected interrupt signals not handled well (X)
- Fix IT_??? usage (X)
- Fix HB_DI/HB_EI in PEEK/POKE/BNKCPY (X)
- Fix SIMH timer interrupt setup (X)
- Move DI/EI in PEEK/POKE/BNKCPY to API layer? (X)
- RETI vs. JP in page zero when INTMODE = 0 (X)
- Check interrupt stack space (X)
- If an early INT fires, we return with INTs enabled (not good) (X)
- PPPCON init should display ANSI 80x25 or similar (X)
- Add INT MODE X message to early boot messages (X)
- OSLDR fails when LDDS is loaded (X)
- Add "!!!" to force assembly error as needed ( )
- TIMER app should check for HBIOS active (X)
- Halt system after bad interrupt??? ( )
- Adapt and bundle PLAYER.COM (X)

2
ReadMe.txt

@ -7,7 +7,7 @@
*********************************************************************** ***********************************************************************
Wayne Warthen (wwarthen@gmail.com) Wayne Warthen (wwarthen@gmail.com)
Version 2.9.1-pre.3, 2018-05-03
Version 2.9.1-pre.4, 2018-05-21
https://www.retrobrewcomputers.org/ https://www.retrobrewcomputers.org/
RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for

21
Source/Apps/XM/xmhb.180

@ -125,7 +125,7 @@ UINIT1:
; ;
MINIT1: MINIT1:
; NOTE: PLTID is only set if RomWBW HBIOS is active. This is OK ; NOTE: PLTID is only set if RomWBW HBIOS is active. This is OK
; because RC2014 is only support by RomWBW HBIOS at this point.
; because RC2014 is only supported by RomWBW HBIOS at this point.
LD A,(PLTID) ; Get the platform id LD A,(PLTID) ; Get the platform id
CP 7 ; Check for RC2014 CP 7 ; Check for RC2014
JR Z,RCINIT ; Handle RC2014 special JR Z,RCINIT ; Handle RC2014 special
@ -483,7 +483,12 @@ A_SPEED:
LD A,8 ; arbitrarily return 9600 baud LD A,8 ; arbitrarily return 9600 baud
RET RET
; ;
; HBIOS CONSOLE
;=======================================================================
;=======================================================================
;
; HBIOS CONSOLE (COM0:)
;
; Will be used for all RC2014 systems
; ;
;======================================================================= ;=======================================================================
;======================================================================= ;=======================================================================
@ -531,15 +536,25 @@ HB_CAROK:
; ;
; Get a character (assume character ready has already been tested) ; Get a character (assume character ready has already been tested)
; ;
; This routine must NOT block.
;
HB_MDIN: HB_MDIN:
HB_GETCHR: HB_GETCHR:
PUSH BC PUSH BC
PUSH DE PUSH DE
PUSH HL PUSH HL
LD B,02H ; HBIOS IST function
LD C,0 ; console is unit 0 by fiat
RST 08 ; HBIOS call, A := bytes pending
JR NZ,HB_MDIN1 ; If char(s) waiting, go get it
XOR A ; otherwise, return null
JR HB_MDIN2 ; and done
HB_MDIN1:
LD B,00H ; HBIOS IN function LD B,00H ; HBIOS IN function
LD C,0 ; console is unit 0 by fiat LD C,0 ; console is unit 0 by fiat
RST 08 ; HBIOS call RST 08 ; HBIOS call
LD A,E ; byte received to A LD A,E ; byte received to A
HB_MDIN2:
POP HL POP HL
POP DE POP DE
POP BC POP BC
@ -577,7 +592,7 @@ HB_SNDRDY:
PUSH HL PUSH HL
LD B,03H ; HBIOS OST function LD B,03H ; HBIOS OST function
LD C,0 ; console is unit 0 by fiat LD C,0 ; console is unit 0 by fiat
RST 08 ; HBIOS call, A := bytes pending
RST 08 ; HBIOS call, A := xmit buf bytes avail
SUB 1 ; CF set IFF zero SUB 1 ; CF set IFF zero
RL A ; CF to bit 0 of A RL A ; CF to bit 0 of A
AND 01H ; set Z flag as needed AND 01H ; set Z flag as needed

2
Source/CBIOS/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 9 #DEFINE RMN 9
#DEFINE RUP 1 #DEFINE RUP 1
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "2.9.1-pre.3"
#DEFINE BIOSVER "2.9.1-pre.4"

6
Source/HBIOS/Build.ps1

@ -28,8 +28,8 @@ param([string]$Platform = "", [string]$Config = "", [string]$RomSize = "512", [s
$Platform = $Platform.ToUpper() $Platform = $Platform.ToUpper()
while ($true) while ($true)
{ {
if (($Platform -eq "SBC") -or ($Platform -eq "ZETA") -or ($Platform -eq "ZETA2") -or ($Platform -eq "RC") -or ($Platform -eq "N8") -or ($Platform -eq "MK4") -or ($Platform -eq "UNA")) {break}
$Platform = (Read-Host -prompt "Platform [SBC|ZETA|ZETA2|RC|N8|MK4|UNA]").Trim().ToUpper()
if (($Platform -eq "SBC") -or ($Platform -eq "ZETA") -or ($Platform -eq "ZETA2") -or ($Platform -eq "RC") -or ($Platform -eq "RC180") -or ($Platform -eq "N8") -or ($Platform -eq "MK4") -or ($Platform -eq "UNA")) {break}
$Platform = (Read-Host -prompt "Platform [SBC|ZETA|ZETA2|RC|RC180|N8|MK4|UNA]").Trim().ToUpper()
} }
# #
@ -66,7 +66,7 @@ while ($true)
# TASM should be invoked with the proper CPU type. Below, the CPU type is inferred # TASM should be invoked with the proper CPU type. Below, the CPU type is inferred
# from the platform. # from the platform.
# #
if (($Platform -eq "N8") -or ($Platform -eq "MK4")) {$CPUType = "180"} else {$CPUType = "80"}
if (($Platform -eq "N8") -or ($Platform -eq "MK4") -or ($Platform -eq "RC180")) {$CPUType = "180"} else {$CPUType = "80"}
# #
# The $RomName variable determines the name of the image created by the script. By default, # The $RomName variable determines the name of the image created by the script. By default,

26
Source/HBIOS/Config/RC180_std.asm

@ -0,0 +1,26 @@
;
;==================================================================================================
; RC2014 STANDARD CONFIGURATION
;==================================================================================================
;
#include "cfg_rc180.asm"
;
Z180_CLKDIV .SET 1 ; 0=OSC/2, 1=OSC, 2=OSC*2
Z180_MEMWAIT .SET 0 ; MEMORY WAIT STATES TO INSERT (0-3)
Z180_IOWAIT .SET 1 ; IO WAIT STATES TO INSERT (0-3)
;
CPUOSC .SET 18432000 ; CPU OSC FREQ
DEFSERCFG .SET SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE)
;
SIOENABLE .SET FALSE ; TRUE TO AUTO-DETECT ZILOG SIO/2
SIOMODE .SET SIOMODE_RC ; TYPE OF SIO/2 TO DETECT: SIOMODE_RC, SIOMODE_SMB
ACIAENABLE .SET FALSE ; TRUE TO AUTO-DETECT MOTOROLA 6850 ACIA
;
FDENABLE .SET FALSE ; TRUE FOR FLOPPY SUPPORT
FDMODE .SET FDMODE_RCWDC ; FDMODE_RCSMC, FDMODE_RCWDC
;
IDEENABLE .SET TRUE ; TRUE FOR IDE DEVICE SUPPORT (CF MODULE)
IDEMODE .SET IDEMODE_RC ; TYPE OF CF MODULE: IDEMODE_RC, IDEMODE_SMB
PPIDEENABLE .SET FALSE ; TRUE FOR PPIDE DEVICE SUPPORT (PPIDE MODULE)
;
DSRTCENABLE .SET FALSE ; DS-1302 CLOCK DRIVER

82
Source/HBIOS/cfg_rc180.asm

@ -0,0 +1,82 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR RC2014
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
;
CPUOSC .EQU 18432000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE)
INTMODE .EQU 2 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2
;
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
;
HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT
SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER
DSRTCENABLE .EQU FALSE ; DS-1302 CLOCK DRIVER
DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC
;
ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT
UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE)
UARTOSC .EQU 1843200 ; UART OSC FREQUENCY
SIOENABLE .EQU FALSE ; TRUE FOR ZILOG SIO/2 SUPPORT
SIOMODE .EQU SIOMODE_RC ; SIOMODE_RC, SIOMODE_SMB
ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT
;
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
TMSENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
;
FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT
FDMODE .EQU FDMODE_RCWDC ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3
FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE)
FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE)
FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE)
FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY
;
RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT
;
IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT
IDEMODE .EQU IDEMODE_RC ; IDEMODE_DIO, IDEMODE_DIDE, IDEMODE_RC
IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
IDE8BIT .EQU TRUE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!)
;
PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE)
PPIDEMODE .EQU PPIDEMODE_RC ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC
PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE)
PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!)
;
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
;
PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT
PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT
PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE)
PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)
;
HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT
;
TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED
;
BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS)
BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE
BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT
;
; 18.432MHz OSC @ FULL SPEED
;
Z180_CLKDIV .EQU 1 ; 0=OSC/2, 1=OSC, 2=OSC*2
Z180_MEMWAIT .EQU 0 ; MEMORY WAIT STATES TO INSERT (0-3)
Z180_IOWAIT .EQU 1 ; IO WAIT STATES TO INSERT (0-3)

26
Source/HBIOS/hbios.asm

@ -270,7 +270,7 @@ HBX_ROM:
OUT (MPCL_ROM),A ; SET ROM PAGE SELECTOR OUT (MPCL_ROM),A ; SET ROM PAGE SELECTOR
RET ; DONE RET ; DONE
#ENDIF #ENDIF
#IF ((PLATFORM == PLT_ZETA2) | (PLATFORM == PLT_RC))
#IF ((PLATFORM == PLT_ZETA2) | (PLATFORM == PLT_RC) | (PLATFORM == PLT_RC180))
BIT 7,A ; BIT 7 SET REQUESTS RAM PAGE BIT 7,A ; BIT 7 SET REQUESTS RAM PAGE
JR Z,HBX_ROM ; NOT SET, SELECT ROM PAGE JR Z,HBX_ROM ; NOT SET, SELECT ROM PAGE
RES 7,A ; RAM PAGE REQUESTED: CLEAR ROM BIT RES 7,A ; RAM PAGE REQUESTED: CLEAR ROM BIT
@ -636,7 +636,7 @@ HB_START:
IM 1 ; INTERRUPT MODE 1 IM 1 ; INTERRUPT MODE 1
LD SP,HBX_LOC ; SETUP INITIAL STACK JUST BELOW HBIOS PROXY LD SP,HBX_LOC ; SETUP INITIAL STACK JUST BELOW HBIOS PROXY
; ;
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
; SET BASE FOR CPU IO REGISTERS ; SET BASE FOR CPU IO REGISTERS
LD A,Z180_BASE LD A,Z180_BASE
OUT0 (Z180_ICR),A OUT0 (Z180_ICR),A
@ -658,6 +658,7 @@ HB_START:
LD A,$F0 LD A,$F0
OUT0 (Z180_DCNTL),A OUT0 (Z180_DCNTL),A
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
; MMU SETUP ; MMU SETUP
LD A,$80 LD A,$80
OUT0 (Z180_CBAR),A ; SETUP FOR 32K/32K BANK CONFIG OUT0 (Z180_CBAR),A ; SETUP FOR 32K/32K BANK CONFIG
@ -667,6 +668,7 @@ HB_START:
;#ENDIF ;#ENDIF
LD A,(RAMSIZE + RAMBIAS - 64) >> 2 LD A,(RAMSIZE + RAMBIAS - 64) >> 2
OUT0 (Z180_CBR),A ; COMMON BASE = LAST (TOP) BANK OUT0 (Z180_CBR),A ; COMMON BASE = LAST (TOP) BANK
#ENDIF
#IF (Z180_CLKDIV >= 1) #IF (Z180_CLKDIV >= 1)
; SET CLOCK DIVIDE TO 1 RESULTING IN FULL XTAL SPEED ; SET CLOCK DIVIDE TO 1 RESULTING IN FULL XTAL SPEED
@ -682,7 +684,7 @@ HB_START:
#ENDIF #ENDIF
; ;
#IF ((PLATFORM == PLT_ZETA2) | (PLATFORM == PLT_RC))
#IF ((PLATFORM == PLT_ZETA2) | (PLATFORM == PLT_RC) | (PLATFORM == PLT_RC180))
; SET PAGING REGISTERS ; SET PAGING REGISTERS
#IFDEF ROMBOOT #IFDEF ROMBOOT
XOR A XOR A
@ -788,7 +790,7 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
; ;
CALL HB_CPUSPD ; CPU SPEED DETECTION CALL HB_CPUSPD ; CPU SPEED DETECTION
; ;
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
; ;
; SET DESIRED WAIT STATES ; SET DESIRED WAIT STATES
LD A,0 + (Z180_MEMWAIT << 6) | (Z180_IOWAIT << 4) LD A,0 + (Z180_MEMWAIT << 6) | (Z180_IOWAIT << 4)
@ -881,7 +883,7 @@ PSCNX .EQU $ + 1
LD A,HBX_IVT >> 8 ; SETUP HI BYTE OF IVT ADDRESS LD A,HBX_IVT >> 8 ; SETUP HI BYTE OF IVT ADDRESS
LD I,A ; ... AND PLACE IT IN I REGISTER LD I,A ; ... AND PLACE IT IN I REGISTER
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
XOR A ; SETUP LO BYTE OF IVT ADDRESS XOR A ; SETUP LO BYTE OF IVT ADDRESS
OUT0 (Z180_IL),A ; ... AND PLACE IN Z180 IL REGISTER OUT0 (Z180_IL),A ; ... AND PLACE IN Z180 IL REGISTER
#ENDIF #ENDIF
@ -907,7 +909,7 @@ PSCNX .EQU $ + 1
; ;
#ENDIF #ENDIF
; ;
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
; ;
#IF (INTMODE == 2) #IF (INTMODE == 2)
; ;
@ -953,7 +955,7 @@ PSCNX .EQU $ + 1
;CALL PRTSTRD ;CALL PRTSTRD
;.TEXT ", $" ;.TEXT ", $"
CALL NEWLINE CALL NEWLINE
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
LD A,Z180_MEMWAIT LD A,Z180_MEMWAIT
#ELSE #ELSE
LD A,0 LD A,0
@ -961,7 +963,7 @@ PSCNX .EQU $ + 1
CALL PRTDECB CALL PRTDECB
CALL PRTSTRD CALL PRTSTRD
.TEXT " MEM W/S, $" .TEXT " MEM W/S, $"
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
LD A,Z180_IOWAIT + 1 LD A,Z180_IOWAIT + 1
#ELSE #ELSE
LD A,1 LD A,1
@ -1030,7 +1032,7 @@ INITSYS1:
; IF PLATFORM HAS A CONFIG JUMPER, CHECK TO SEE IF IT IS JUMPERED. ; IF PLATFORM HAS A CONFIG JUMPER, CHECK TO SEE IF IT IS JUMPERED.
; IF SO, BYPASS SWITCH TO CRT CONSOLE (FAILSAFE MODE) ; IF SO, BYPASS SWITCH TO CRT CONSOLE (FAILSAFE MODE)
; ;
#IF ((PLATFORM != PLT_N8) & (PLATFORM != PLT_MK4))
#IF ((PLATFORM != PLT_N8) & (PLATFORM != PLT_MK4) & (PLATFORM != PLT_RC) & (PLATFORM != PLT_RC180))
IN A,(RTC) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER IN A,(RTC) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER
BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE
JR Z,INITSYS3 ; Z=SHORTED, BYPASS CONSOLE SWITCH JR Z,INITSYS3 ; Z=SHORTED, BYPASS CONSOLE SWITCH
@ -1798,7 +1800,7 @@ TEMPCNT .DB 250
; ;
HB_TIMINT2: HB_TIMINT2:
; ;
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
; ACK/RESET Z180 TIMER INTERRUPT ; ACK/RESET Z180 TIMER INTERRUPT
IN0 A,(Z180_TCR) IN0 A,(Z180_TCR)
IN0 A,(Z180_TMDR0L) IN0 A,(Z180_TMDR0L)
@ -2249,7 +2251,7 @@ HB_CPUSPD1:
; ;
; TIMES 4 FOR CPU SPEED IN KHZ ; TIMES 4 FOR CPU SPEED IN KHZ
RES 0,L ; GRANULARITY RES 0,L ; GRANULARITY
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
SLA L SLA L
RL H RL H
#ENDIF #ENDIF
@ -2287,7 +2289,7 @@ HB_WAITSEC1:
NOP ; 4 TSTATES NOP ; 4 TSTATES
#ENDIF #ENDIF
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
; LOOP TARGET IS 8000 T-STATES, SO CPU FREQ IN KHZ = LOOP COUNT * 8 ; LOOP TARGET IS 8000 T-STATES, SO CPU FREQ IN KHZ = LOOP COUNT * 8
;CALL DLY64 ;CALL DLY64
CALL DLY32 CALL DLY32

17
Source/HBIOS/plt_rc180.inc

@ -0,0 +1,17 @@
;
; RC2014 Z180 HARDWARE DEFINITIONS
;
SBC_BASE .EQU $60 ; I/O BASE ADDRESS FOR ONBOARD PERIPHERALS
;
MPGSEL_0 .EQU SBC_BASE + $18 ; BANK_0 PAGE SELECT REGISTER (WRITE ONLY)
MPGSEL_1 .EQU SBC_BASE + $19 ; BANK_1 PAGE SELECT REGISTER (WRITE ONLY)
MPGSEL_2 .EQU SBC_BASE + $1A ; BANK_2 PAGE SELECT REGISTER (WRITE ONLY)
MPGSEL_3 .EQU SBC_BASE + $1B ; BANK_3 PAGE SELECT REGISTER (WRITE ONLY)
MPGENA .EQU SBC_BASE + $1C ; PAGING ENABLE REGISTER - BIT 0 = 1 (WRITE ONLY)
;
RTC .EQU SBC_BASE + $10 ; ADDRESS OF RTC LATCH AND INPUT PORT
PPIBASE .EQU SBC_BASE + $00 ; PPI 82C55 I/O IS DECODED TO PORT 60-67
SIOBASE .EQU SBC_BASE + $08 ; 16550 UART I/O BASE ADDRESS
;
Z180_BASE .EQU $C0 ; I/O BASE ADDRESS FOR INTERNAL Z180 REGISTERS
#INCLUDE "z180.inc"

12
Source/HBIOS/std.asm

@ -34,6 +34,7 @@ PLT_N8 .EQU 4 ; N8 (HOME COMPUTER) Z180 SBC
PLT_MK4 .EQU 5 ; MARK IV PLT_MK4 .EQU 5 ; MARK IV
PLT_UNA .EQU 6 ; UNA BIOS PLT_UNA .EQU 6 ; UNA BIOS
PLT_RC .EQU 7 ; RC2014 PLT_RC .EQU 7 ; RC2014
PLT_RC180 .EQU 8 ; RC2014 W/ Z180
; ;
#IF (PLATFORM != PLT_UNA) #IF (PLATFORM != PLT_UNA)
#INCLUDE "hbios.inc" #INCLUDE "hbios.inc"
@ -182,7 +183,7 @@ IVT_SER1 .EQU 16
; ;
#INCLUDE "build.inc" ; INCLUDE USER CONFIG, ADD VARIANT, TIMESTAMP, & ROMSIZE #INCLUDE "build.inc" ; INCLUDE USER CONFIG, ADD VARIANT, TIMESTAMP, & ROMSIZE
; ;
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
#DEFINE CPU_Z180 #DEFINE CPU_Z180
#ELSE #ELSE
#DEFINE CPU_Z80 #DEFINE CPU_Z80
@ -209,7 +210,10 @@ IVT_SER1 .EQU 16
#DEFINE PLATFORM_NAME "UNA" #DEFINE PLATFORM_NAME "UNA"
#ENDIF #ENDIF
#IF (PLATFORM == PLT_RC) #IF (PLATFORM == PLT_RC)
#DEFINE PLATFORM_NAME "RC2014"
#DEFINE PLATFORM_NAME "RC2014 Z80"
#ENDIF
#IF (PLATFORM == PLT_RC180)
#DEFINE PLATFORM_NAME "RC2014 Z180"
#ENDIF #ENDIF
; ;
; INCLUDE PLATFORM SPECIFIC HARDWARE DEFINITIONS ; INCLUDE PLATFORM SPECIFIC HARDWARE DEFINITIONS
@ -234,6 +238,10 @@ IVT_SER1 .EQU 16
#INCLUDE "plt_rc.inc" #INCLUDE "plt_rc.inc"
#ENDIF #ENDIF
; ;
#IF (PLATFORM == PLT_RC180)
#INCLUDE "plt_rc180.inc"
#ENDIF
;
; SETUP DEFAULT CPU SPEED VALUES ; SETUP DEFAULT CPU SPEED VALUES
; ;
CPUKHZ .EQU CPUOSC / 1000 ; CPU FREQ IN KHZ CPUKHZ .EQU CPUOSC / 1000 ; CPU FREQ IN KHZ

2
Source/HBIOS/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 9 #DEFINE RMN 9
#DEFINE RUP 1 #DEFINE RUP 1
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "2.9.1-pre.3"
#DEFINE BIOSVER "2.9.1-pre.4"

BIN
Source/Images/hd0/s2/u0/ALIAS.CMD

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/ARUNZ.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/CMD.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/COMP.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/COPY.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/CPSET.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/CRUNCH.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/DFA.COM

Binary file not shown.

66
Source/Images/hd0/s2/u0/DFA.NOT

@ -0,0 +1,66 @@
Ne÷ Display/Definå Filå Attributeó Program
bù Joå Wright
Filå  attributeó  arå  maintaineä  bù thå BDOÓ iî  thå  filespeã  portioî  oæ �
directorù  entrieó foò eacè filå oî thå disk® Eacè filespeã containó  eleveî �
ascié characteró comprisinç thå eighô characteò filenamå anä threå  characteò �
type® Ascié characteró requirå onlù seveî oæ thå eighô bitó iî eacè oæ theså �
bytes¬  thå  eightè biô ió thereforå availablå foò  assigninç  aî  attribute® �
Theså eleveî 'high§ bitó arå referreä tï aó follows:
f± f² f³ f´ fµ f¶ f· f¸ . t± t² t3
CP/Í  assignó t± aó thå Reaä Onlù attributå anä t² aó thå  Systeí  attribute® �
MP/Í furtheò assigneä t³ aó thå Archiveä attribute® ZRDOÓ furtheò assignó f¸ �
aó  thå Wheeì Protecô attribute® ZSDOÓ assignó f² aó thå  Publiã  attribute® �
BackGroundeò  ié useó f± tï inhibiô itó keù-bindinç functioî anä  DateStampeò �
useó f³ tï inhibiô stampinç oæ certaiî files® Thå resô arå unassigneä aó faò �
aó É kno÷ anä maù bå useä aó yoõ wish.
Displaù syntaxº DFÁ [dir:][filespec]
Displaù  modå takeó á singlå tokeî oò nï tokens® Botè dirº anä filespeã  arå �
optional® Defaulô dirº ió thå currenô directorù anä defaulô filespeã ió wilä �
(*.*)®   Useò ió giveî á sorteä filå lisô showinç thå  attributeó  associateä �
witè each¬ sixteeî aô á time®
DFÁ Displaù attributeó oæ alì fileó iî thå currenô directory.
DFÁ B2º Displaù foò alì fileó iî directorù B2:
DFÁ *.REÌ Displaù foò alì .REÌ fileó iî thå currenô directory.
DFÁ B2:*.REÌ Displaù foò alì .REÌ fileó iî B2:
Definå syntaxº DFÁ [dir:][filspecÝ <attr1[¬ attrn,...]>
Definitioî  modå  ió  defineä  bù á  seconä  anä  perhapó  subsequenô  tokenó �
representinç  thå  variouó  attributes®   Thå tokeî  'f1§  wilì  seô  thå  f± �
attributå foò alì filespeã files¬ §-f1§ wilì reseô it® Nameó associateä witè �
thå variouó attributeó arå alsï accepteä aó tokens:
f± oò nkâ Nï Keù Bindinç (BGii)
f² oò puâ Publiã File
f³ oò dsï DateStampeò Off
f¸ oò whì Wheeì Protected
.
t± or r/ï Reaä Only
t² or syó System
t³ or arã Archived
Iæ  thå firsô letteò oæ á tokeî ió noô 'f§ oò 't'¬ thaô letteò ió  sufficienô �
tï  identifù thå token® 'S'¬ 'sys§ oò 'system§ alì identifù t2® Anù oò  alì �Šoæ thå eleveî attributeó maù bå defineä witè á singlå command.
DFÁ *.TYÐ F± Seô f± oæ alì fileó .TYÐ iî thå currenô directory.
DFÁ A1:*.REÌ F² Ò Seô f² anä t1 oæ alì .REÌ fileó iî A1:
DFÁ *.Z8° -Ò Reseô t± oæ alì .Z8° fileó iî thå currenô directory.
DFÁ Aº -SYÓ Reseô t² oæ alì fileó iî A:¬ currenô user.
DFÁ ROOT:*.COÍ × Seô thå Wheeì attributå (f8© oæ alì .COÍ files
iî thå directorù nameä ROOT:
-end-


BIN
Source/Images/hd0/s2/u0/DIR.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/EASE.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/EASECMD.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/EDITNDR.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/ERA.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/FF.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/FINDF.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/HELP.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/IF.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/LDIR.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/LGET.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/LPUT.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/LX.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/MKZCM.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/NZCOM.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/NZCOM.LBR

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/NZCPR.LBR

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/NZFCP.LBR

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/NZRCP.LBR

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/NZSUB.COM

Binary file not shown.

67
Source/Images/hd0/s2/u0/NZSUB.SUB

@ -0,0 +1,67 @@
; Batch File: NZSUB.SUB
; Author: Joe Wright
; Date: 8 November 1988
; This file demonstrates NZSUB's ability to handle 'formatted'
; input files. The programmer will note the similarity to
; annotated assembly source files.
; This file will also serve as the documentation of NZSUB's
; features and function.
; As these lines suggest, any line that begins with a ; is considered
; a full-line comment and is ignored.
û         Thå  lefô squigglù brackeô '{§ aó  thå  firsô �
          characteò  oæ  á  linå  wilì  puô  NZSUÂ   iî �
          'comment§  mode® Alì  subsequenô  characteró �
          untiì  á  righô  squigglù  brackeô  wilì   bå �
          ignored® Checë thió out® }
; The ; character is usually the command separator for a Z3
; multiple command line. It is therefore a 'normal' character
; unless it is the first one and may appear freely in the command
; line preceded by anything except a space.
; Blank lines are ignored in any case.
{
Alì oæ thå abovå lineó anä theså lineó arå someho÷ commenteä  ouô �
oò  arå blanë anä thereforå wilì noô appeaò iî thå  $$$.SUÂ  filå �
whicè wilì bå thå resulô oæ alì this®
NZSUÂ  ió  completelù CP/Í compatible® Nonetheless¬  iæ  runninç �
undeò  Ú-System¬  DUº anä DIRº formó maù bå useä tï  declarå  thå �
sourcå file® Thå sourcå filå ió assumeä tï havå typå .SUÂ unlesó �
otherwiså declared® Iî anù case¬ $$$.SUÂ wilì bå writteî tï  thå �
currenô directory®
}
» Ok¬ dowî tï business. The main point of all this is to relax
; some of the constraints on command line formatting so that
; a batch file becomes more legible and therefore maintainable.
; Command lines may be indented with any combination of spaces
; and tabs. A tab within a command line will be converted to
; a space. Spaces between the last command character and the
; in-line comment ';' or ';;' will be removed and the comment
; ignored. The ';;' ZEX form may be used but is unnecessary
; if the ';' is preceded by at least one space (or tab).
;;
;; NZSUB Demo Program
;;
$; nzsub demonstration ;; Use $; for literal ;
DIR *.COM ;; Let's see what we've got
echo display source files? (yes or no)
IF INPUT ; Ask the user (indented)
DIR *.Z80
FI ; endif
;;
;; End of NZSUB Demo Program
;
; End of NZSUB.SUB


BIN
Source/Images/hd0/s2/u0/P.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/PATH.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/POKE.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/PUBLIC.COM

Binary file not shown.

78
Source/Images/hd0/s2/u0/RELEASE.NOT

@ -0,0 +1,78 @@
-- RELEASE.NOT --
January 20, 1989
This file contains last-minute information about NZ-COM.
---------- NZ-COM RELEASE 1.2d January 20, 1989
NZCOM.COM version 1.2d fixes yet another minor bug by forcing a warm boot
whenever a new DOS module is loaded by itself. The progress report is also
a little less verbose unless declaring the /T(est) option. If the /Q(uiet)
option is declared, NZCOM is now completely silent.
New versions of SAVE.COM, ERA.COM, REN.COM, P.COM, POKE.COM and their Type
3 counterparts are included in this release.
NZSUB version 1.0 is released. Unlike SUB.COM, NZSUB is not ZCPR3 specific
and runs as well under CP/M. Its batch files can be formatted and
commented much like those of ZEX4. See NZSUB.SUB for an example.
TCSELECT version 1.2 can now be run successfully under CP/M.
---------- NZ-COM RELEASE 1.2 November 1, 1988
NZCOM.COM version 1.2 includes two changes of significance. First, due to
an oversight, when version 1.0 was told to load a new ZCM or ENV file for
which no new modules had to be loaded, it also failed to update data in the
environment, such as printer characteristics, maximum drives and users, and
so on. It will now do so.
The second change was in the safety checking performed by NZCOM.COM to make
sure that it was being requested to load a version that was consistent with
the underlying CP/M system. This check turned out to be stricter than
necessary and was preventing NZ-COM from running on some systems (e.g.,
Lobo Max) that, in fact, could support it quite nicely.
---------- NEW FILES: NZCPR.LBR, NZFCP.LBR, NZRCP.LBR
The main NZCOM.LBR now contains only the standard configurations of the
CPR, FCP, and RCP modules to minimize disk space requirements. Alternative
versions of these modules are now supplied in separate libraries. Modules
can be loaded directly from these libraries, or individual files can be
extracted and put into NZCOM.LBR to replace the default files. Each
library has a brief DOC file describing the modules (one of which is the
default version included in NZCOM.LBR).
---------- NEW PROGRAM: ZEX TYPE 4
Named ZEX4.COM in this release, this is a new version of ZEX with many
features not seen before (See ZEX4.DOC). This program is brand new and may
well exhibit one or two un-planned 'features'. Please report any problems.
---------- EASE PROBLEMS
There are unfortunately serious defects in the coding of EASE. On many
computers EASE appears to work without problems, on some it crashes
completely, and on others it works but causes other strange behavior to
occur. We tried using it on a Kaypro with the K-ROM (?), and as soon as we
loaded ease we started to get BIOS errors on disk reads. We hope that the
author of EASE (or someone else) will discover and correct these problems.
The program is so nice conceptually. Use it with caution.
---------- VLU VERSIONS
We forgot when writing the manual that VLU, like ZFILER, has two quite
different versions depending on whether your terminal uses reverse or dim
video for highlighting. Therefore, you will find on the release disk VLU-
REV.COM and VLU-DIM.COM. Copy the appropriate one to your working disk
under the name VLU.COM.
- End of RELEASE.NOT -


BIN
Source/Images/hd0/s2/u0/REN.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/SALIAS.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/SAVE.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/SAVENDR.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/SDZ.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/SHOW.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/SHSET.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/SP.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/SPOP.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/SUB.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/TCSELECT.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/UNCR.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/VARPACK.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/VIEW.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/Z3LOC.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/Z3TCAP.TCP

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/ZEX.COM

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/ZEX.RSX

Binary file not shown.

BIN
Source/Images/hd0/s2/u0/ZEX4.COM

Binary file not shown.

329
Source/Images/hd0/s2/u0/ZEX4.DOC

@ -0,0 +1,329 @@
ZEØ Typå ´ ö 0.4
bù Joå Wright
¹ Noö 88
Linå  formattinç  haó beeî furtheò relaxeä bù allowinç  á  singlå �
semicoloî ';§ tï denotå á commenô iæ iô ió thå firsô characteò oî �
thå  linå  oò  iæ iô ió precedeä bù á  spacå  oò  tab®   Multiplå �
Commanä syntaø ERÁ *.BAK;ERÁ *.PRN;DIÒ *.Z8° stilì workó  becauså �
thå  characteò prioò tï » ió noô á space® Thå ';;§  ZEØ  commenô �
forí  stilì  workó buô ió unnecessary® Iæ » ió requireä  aô  thå �
beginninç  oæ á linå oò afteò á space¬ uså thå $»  literaì  form® �
Alsï  addeä  ió  thå 'field§ comment®  
     û Á lefô 'curly§ brackeô '{§ aó thå firsô characteò  oæ �
     á particulaò linå wilì causå alì subsequenô  characteró �
     anä  lineó  tï  bå treateä  aó  commenô  anä  otherwiså �
     ignoreä  untiì  thå correspondinç closinç  brackeô   ió �
     encountered® Thió entirå paragrapè woulä bå treateä aó �
     á 'field§ comment® }
ZEØ Typå ´ ö 0.3
bù Joå Wright
2· Ocô 88
Thå formidablå Howarä Goldsteiî haó strucë again® Thå  followinç �
changeó aô hió suggestion® Thankó Howard.
1® Thå '¤ § literaì describeä belo÷ ió actuallù implementeä now.
2®   Thå  senså oæ thå ^¡ aborô controì ió changeä tï  bå  activå �
wheî thå flo÷ statå ió TRUÅ ratheò thaî FALSE® Morå logical.
3®   Thå  ^º Rå-executå controì ió changeä  tï  rå-establisè  thå �
defaulô flagó ratheò thaî settinç theí tï 0.
ZEØ Typå ´ ö 0.2
bù Joå Wright
24 Ocô 88
Alì thió starteä becauså É inadvertantlù lefô ZEX.COÍ ouô oæ  thå �
originaì  NÚ-COÍ  release®   Afteò  somå  complaintó  abouô  thió �
oversight¬ É pickeä uð Jay'ó NZEØ-Ä froí Ú-Nodå Centraì anä trieä �
iô out® Althougè admittedlù stilì undeò development¬ NZEØ didn'ô �
seeí tï worë right® É theî examineä thå ZEØ 3.² releaså  versioî �
anä founä iô eveî worse® Mù buttoî waó pushed.
Oveò  thå pasô fouò weekó oò sï É havå rå-writteî ZEØ morå tï  mù �
liking®   ZEØ ió no÷ á Typå ´ utilitù foò NÚ-COÍ anä  Z3PLUS®   É �
havå addeä thå controló Jaù mentionó iî NZEØ-D.DOÃ anä onå oò twï �
oæ mù owî iî thå meantime.
ZCPR3´  ió  changeä  sï thaô intrinsiã (GET¬  JUMÐ  anä  GO©  anä �
residenô (POKE¬ PEEK¬ etc.© commandó caî geô theiò argumentó froí �
ZEØ  script® Previously¬ ZCPR3ø turneä ofæ ZEØ  redirectioî  foò �
alì  buô transienô (.COM© commands® No÷ Z3´ enableó ZEØ foò  alì �
CPR¬  FCÐ anä RCÐ commandó aó welì aó transients®   NZCPR.ZRÌ  iî �
thió  packagå ió thå latesô ZCPR3´ anä shoulä bå  'installed§  oî �
youò  NÚ-COÍ systeí beforå attemptinç tï ruî Ne÷ ZEØ Typå  ´  anä �
itó demonstratioî .ZEØ files.
Thå  majoò  changå  tï ZEØ waó iî thå  CONST¬  CONIÎ  anä  CONOUÔ �Šdepartmentó  sï  thaô ZEØ maù no÷ bå useä tï  'drive§  dBASÅ  II¬ �
WordStaò  anä MultiPlan® Theså programó (anä others© attempô  tï �
flusè  keyboarä inpuô froí timå tï timå anä reallù gavå  thå  olä �
ZEØ á fit® Theså programó ruî correctlù witè ZEØ Typå 4.
Anotheò probleí witè olä ZEØ waó thaô iô requireä á calì tï CONIÎ �
tï dï anything® Manù programó calì CONSÔ tï seå iæ á keù ió dowî �
and¬ iæ not¬ gï abouô theiò business® Witè olä ZEX¬ thå ^"ß useò �
inpuô  commanä woulä noô gï intï effecô untiì CONIÎ  waó  called® �
Thå  ^"ß  commanä haó nï datá tï return® Whaô tï  do¿   Olä  ZEØ �
waiteä foò thå useò tï presó á key® Buô whaô iæ hå doesn't¿ Olä �
ZEØ simplù hunç uð anä waiteä foò it¬ eveî iæ iô wasn'ô necessarù �
foò thå program® Sï mucè foò unattendeä operation¡
ZEØ  Typå ´ haó á looë-aheaä featurå tï finä thå ^"ß commanä  anä �
executå  iô beforå returninç thå previouó character®   Subsequenô �
calló  tï  CONSÔ  yielä  reaì  keyboarä  statuó  (ZEØ  inpuô   ió �
suspended)® Wheî ZEØ ió turneä oî agaiî (witè thå 'trigger§ oò á �
ne÷ command© iô wilì picë uð witè thå characteò followinç thå ^"ß �
commanä  anä continuå normally® Notå thaô almosô  anù  characteò �
maù bå useä aó thå Useò Inpuô Triggeò excepô 'space§ anä 'tab'.
ZCPR3´ anä ZEØ Typå ´ arå verù closelù coupleä anä leavå messageó �
tï  eacè other® ZCPR3´ controló ZEØ througè thå ZEXINÐ  flaç  aô �
Z3MSG+7®   ZEØ checkó anä maù changå thå ZEXINÐ flaç foò itó  owî �
purposeó aó well® ZEØ maintainó pointeró tï thå currenô bytå  oæ �
thå  ZEØ  inpuô  strinç anä tï thå beginninç  oæ  thå  strinç  aô �
Z3MSG+¹  anä  Z3MSG+11¬ respectively®
ZEØ  caî alsï controì thå operatioî oæ ZCPR3´ bù manipulatioî  oæ �
thå  QUIEÔ  flag®   ZCPR3´ ió assembleä witè  itó  ZEXNOISÅ  (anä �
SUBNOISE© equaì 1® Thió meanó thå Z3´ commanä prompô  (A0:BASE>© �
maù  bå suppresseä undeò ZEØ (oò SUB© bù settinç thå QUIEÔ  flag® �
Thió begó á ne÷ commanä foò ZEØ (Þ-)®
Iæ thå QUIEÔ flaç ió set¬ ZEØ wilì alsï suppresó thå echï oæ  thå �
commanä  linå  froí  Z34®   Further¬  iæ  thå  ^£  (Suppresó  ZEØ �
messages©  commanä ió alsï iî force¬ ZEØ anä Z3´  arå  completelù �
silenô  anä  thå batcè commandó executå aó iæ froí  thå  multiplå �
commanä  linå oò aliaó scripô witè nï extraneouó reportó  tï  thå �
console.
Therå  arå á numbeò oæ 'flag§ optionó whicè telì ZEØ ho÷  tï  acô �
whilå executing®
^½ XSUÂ Enablå ZEØ inpuô tï COMmand
^­ QUIEÔ Seô ZCPR³ Quieô flag
^£ MSUÐ Suppresó ZEØ messages
^® PSUÐ Suppresó alì Consolå output
^¦ IPSUÐ Suppresó Console iæ false
ZEØ  Typå ´ defaultó tï alì flagó (excepô XSUB© OFÆ  anä  inviteó �
thå useò tï specifù hió optionó oî thå commanä linå oò tï specifù �
theí iî thå batcè filå (Theså flags¬ anä others¬ maù bå 'patched§ �
OÎ  witè  ZPATCÈ  oò bù otheò meanó tï customizå ZEØ  iæ  yoõ  sï �
desire® Seå PATCHEÓ below.)®
zeø batcè parm± parm² ^­ ^£ ^.
ZEØ  Typå ´ wilì picë uð thå twï parameteró anä thå ZEØ  controló �
beforå  processinç thå batcè file¬ thuó establishinç  'defaults'® �
Iî  thió case¬ Þ­ setó thå QUIEÔ flag¬ ^£ turnó ZEØ messageó  ofæ �
anä  ^® suppresseó consolå output® Controló oî thå commanä  taiì �
arå processeä firsô anä becomå thå initiaì characteró oæ thå  ZEØ �
string®   Thå batcè filå ió theî appendeä tï them® Iî thió  way¬ �
thå ^º re-executå controì wilì alsï re-executå them.
Notå thaô ZEØ Typå ´ treató alì 'flag§ commandó aó 'toggles§ sucè �Šthaô thå firsô ^£ wilì suppresó ZEØ messageó anä thå nexô ^£ wilì �
turî theí oî again® Á thirä onå wilì turî theí off¬ etc.
Yoõ  caî  probablù  uså ZEØ Typå ´ witè mosô  oæ  youò  olä  NZEØ �
scriptó witè littlå oò nï changå (^Û anä ^Ý controló oæ NZEØ  arå �
noô supporteä becauså therå ió nï discerniblå neeä foò them).
É  havå addeä thå XSUÂ (^=© togglå tï helð controì ZEØ  inpuô  tï �
thå  runninç  program®   ^½ anä ^¥ arå  useä  iî  combinatioî  tï �
controì  ZEØ input® Notå thaô theù arå complementary®   XSUÂ  OÎ �
wilì  allo÷  ZEØ inpuô foò thå remaindeò oæ thå filå  excepô  foò �
thoså  commandó whicè begiî witè ^%® Conversely¬ XSUÂ  OFÆ  wilì �
turî  ZEØ Inpuô OFÆ afteò eacè commanä excepô foò thoså  precedeä �
bù ^%.
Notå  thaô thå normaì statå oæ ZEØ Inpuô ió ON® ZCPR3´ setó  ZEØ �
Statuó tï 0± wheî promptinç anä tï 0° wheî executinç thå COMmand® �
Iî  botè cases¬ ZEØ Inpuô ió ON® Iô ió uð tï ZEX¬ anä nï  simplå �
matter¬  tï seô ZEØ Statuó tï 0² tï suspenä ZEØ Inpuô aô thå  enä �
oæ  thå commanä oò aó thå situatioî maù require® Iô ió safeò  tï �
assumå  ZEØ Inpuô OÎ anä turî iô ofæ selectivelù thaî tï turî  iô �
OFÆ witè XSUB=° anä assumå thaô iô stayó off®
Consideò  thaô ZEØ maù executå aî aliaó anä thå programmeò  wantó �
Useò  Inpuô  aô  thå  enä oæ itó  execution®   ZEØ  wilì  executå �
alias.COÍ  anä  politelù turî itselæ off®   Thå  alias¬  however¬ �
causeó Z3´ tï executå yeô anotheò commanä whicè ZEØ knowó nothinç �
about®   Z3´  theî turnó ZEØ Inpuô bacë on® Noô whaô  yoõ  mighô �
expect®   Foò thió reason¬ É havå defaulteä thå XSUÂ flaç OÎ  foò �
mù  purposes®   É havå donå extensivå testinç witè XSUÂ  ofæ  anä �
finä thaô iô workó perfectlù welì excepô foò thå caså oæ multiplå �
commanä aliaseó anä sucè aó explaineä above®
ZEØ  Typå ´ startó uð witè ZEØ Inpuô (XSUB© activå  anä  requireó �
thå  ZEØ OFÆ commanä ^¥ aô thå beginninç oæ thå linå oò thå  Useò �
Inpuô  commanä  ^"ß  tï  suspenä ZEX® Iæ  ZEØ  inpuô  shoulä  bå �
suspendeä foò thå entirå command...
^%ddô [parms]
wilì  turî  ZEØ ofæ untiì DDÔ quits® Morå elaboratå  ZEØ  on/ofæ �
controló  uså thå Useò Inpuô commanä anä itó trigger®   Therå  ió �
onå 'gotcha§ witè thå ^"ß however® Thå Useò Inpuô commanä cannoô �
immediatelù  follo÷ á COMmanä invocation® Thió ió  becauså  eveî �
thougè ZEØ haó turneä itselæ off¬ thå commanä processoò wilì turî �
ZEØ bacë oî whilå executinç thå command® Therå musô bå aô  leasô �
onå  interveninç characteò oò controì betweeî thå CÒ  whicè  wilì �
executå  thå  commanä anä thå ^"ß whicè wilì suspenä  ZEØ  input® �
Consideò thå ZEØ script:
ddt|d100,17f|^"~g0
Þ ^
ZEØ  Typå ´ findó thå Useò Inpuô command¬ executeó iô  anä  moveó �
itó  pointeò  pasô iô beforå returninç thå CÒ tï DDT®   Wheî  thå �
useò  typeó thå triggeò (þ iî thió case© ZEØ resumeó witè thå  g° �
commanä causinç DDÔ tï quit.
ddt|^"~d100...
Þ ^
Thió forí wilì noô work® Aó before¬ ZEØ doeó turî oî Useò  Inpuô �
buô  Z3´ wilì turî iô ofæ aó iô executeó DDT.COM® Therå musô  bå �
aô  leasô onå interveninç character® Knowinç thaô DDÔ useó  BDOÓ �
functioî 1° tï reaä itó commandó anä knowinç thaô á backspacå  ió �
ignoreä aó thå firsô characteò oæ thå line..
ddt|^h^"~d100...
workó  perfectly® Somå programó (WordStaò foò example©  continuå �
testinç  thå  keyboarä  eveî  aó  theù  quit®   Iô  ió  thereforå �
necessarù  tï  seô  Useò Inpuô  immediatelù  followinç  thå  quiô �
commandó  sï  thaô WordStaò won'ô trù tï reaä  thå  ZEØ  commandó �
whilå quitting.. Š
wó file.ws|^qfDear||^"~^kx^"
Þ ^
Thå firsô UÉ commanä suspendó ZEØ untiì thå useò typeó '~'®   Thå �
seconä UÉ suspendó ZEØ untiì WordStaò actuallù quits.
Commanä  linå  parsinç haó changeä witè respecô tï  thå  TAÂ  anä �
SPACÅ characters® Tabó anä Spaceó aô thå beginninç oæ á  commanä �
linå  arå  ignored®   Subsequenô tabó arå  converteä  tï  spaces® �
Subsequenô  spaceó prioò tï thå ZEØ commenô oò CÒ thaô  endó  thå �
linå arå removed®
Iæ  yoõ musô precedå á commanä witè á Space¬ uså thå ZEØ  literaì �
'¤ § tï dï so® Thió allowó morå freedoí tï formaô thå inpuô filå �
foò readability® ZEØ Commentó ';;§ caî bå useä oî anù line® Foò �
example:
;» Takå á letteò Misó Jones
wó $1.ltò ;» Creatå thå letteò file
^krform.ltò ;» Reaä iî thå standarä form
^kfDearü ;» Finä thå salutation
;» Positioî thå cursoò anä starô UÉ untiì '~'¬ resumå ZEØ
;» tï telì WordStaò tï savå thå letteò anä starô UÉ again.
^qd^"~^kx^"
;» Enä oæ thió letter
Wå caî alsï makå logiã flowó morå readablå thió way:
» Assemblå $± Sourcå Filå ;» Echï froí Z3´ controlleä bù QUIET
^-^£ ;» Z3´ Quiet¬ nï ZEØ messages
iæ eø $1.z8° ;» Tesô .Z8° first
^%z80así $± ;» ZEØ ofæ foò z80asm
else
iæ eø $1.maã »» Theî .MAC
m8° =$1
elså ;» Assumå .ASM
así $1
fi
fi
^­ ;» Cleaò Quiet
» Enä oæ $± Assembly
Notå agaiî thaô Z80ASÍ ió onå oæ thoså programó thaô periodicallù �
checë  foò keyboarä inpuô sï ZEØ musô bå turneä ofæ untiì  Z80ASÍ �
quits® M80.COÍ anä ASM.COÍ don'ô seeí tï asë anything.
Therå arå generallù threå sourceó foò Consolå Output®
1® Thå Z3´ prompô anä commanä echo.
2® ZEØ witè itó variouó messages. Š3® Thå runninç program.
Witè  ZEXNOISÅ eqõ ± (Z34HDR.LIB© ZCPR3´ useó thå QUIEÔ  flaç  tï �
determinå  whetheò tï prinô thå commanä prompô beforå  requestinç �
thå nexô commanä (QUIEÔ ½ nï prompt)® ZEØ wilì alsï suppresó thå �
echï  oæ  thå commanä taiì froí Z3´ iæ QUIET® Thå statå  oæ  thå �
QUIEÔ flaç ió toggleä bù thå ne÷ Þ­ ZEØ command® ZEØ Typå ´ wilì �
restorå thå QUIEÔ flaç tï itó originaì valuå wheî Done.
ZEØ  haó á numbeò oæ messageó oæ itó own¬ ZEX:¬ Done¬  etc®   ZEØ �
messageó arå controlleä bù thå ^£ (MSUP© toggle® Thå ^£  controì �
suppresseó ZEØ messageó untiì thå nexô ^#.
Anù  Consolå Outpuô maù bå suppresseä durinç á falså  flo÷  statå �
witè  thå ^¦ (IPSUP© toggle® Alì Consolå Outpuô  maù  suppresseä �
maù bå suppresseä witè thå ^® (PSUP© toggle.
Iî  variouó  combination¬  theså toggleó  shoulä  givå  thå  .ZEØ �
programmeò fulì controì oæ whaô mighô bå printeä oî thå screen.
­ PATCHEÓ -
ZEØ  Typå  ´  haó á patcè areá righô afteò thå  Z3ENÖ  headeò  aô �
0200h® Eacè patchablå bytå ió precedeä bù itó namå anä á '>§ foò �
easù identification.
KDEL¾ 05
CDEL¾ 0F
Thå reasoî thaô ZEØ caî successfullù 'drive§ programó thaô  woulä �
otherwiså  'eat§ thå keyboarä inpuô string¬ ió thaô wå liå tï  iô �
abouô   keyboarä  status®   Havinç  delivereä  (oò   printed©   á �
character¬  ZEØ wilì reporô CONSÔ falså á numbeò oæ timeó  beforå �
shippinç  thå nexô character® Thió allowó 'smart§ programó  likå �
dBASÅ IÉ tï thinë theù havå flusheä thå keyboarä oò thaô á  humaî �
ió typing.
KDEÌ  representó  thå numbeò oæ falså  responseó  betweeî  normaì �
characteró anä CDEÌ thå numbeò oæ lieó afteò Carriagå Return® Iî �
thå schemå oæ things¬ theså valueó arå decrementeä beforå testinç �
sï  thaô á valuå oæ ± woulä returî gooä statuó immediatelù anä  á �
valuå   oæ  °  woulä  returî  falså  statuó  25µ  timeó   betweeî �
characters®   Theså  values¬ µ anä 15¬ werå choseî bù  triaì  anä �
erroò  anä seeí tï worë fine® ³ anä ¹ alsï worë aô mù houså  buô �
loweò valueó DÏ NOÔ WORË iî manù cases® Sticë witè thå defaults.
Foò thå followinç flags¬ 0° ió falså anä FÆ ió true.
XSUB¾ 0° oò FÆ ZEØ Inpuô Modå (FF) ^=
MSUP¾ 0° oò FÆ Suppresó ZEØ messageó ^#
PSUP¾ 0° oò FÆ Suppresó Consolå Outpuô ^.
IPSIP¾ 0° oò FÆ Suppresó Conouô IF falså ^&
QUIET¾ 0° oò FÆ Initiaì Z³ quieô flaç ^-
Thå  nexô followinç havå tï dï witè findinç thå ZEØ  inpuô  file® �ŠIæ  nï  expliciô DIRº ió invoked¬ ZEØ wilì  checë  thå  followinç �
flagó tï determinå wherå tï looë foò it.
ZEØ maù bå forceä tï searcè á specifiã directorù foò inpuô  fileó �
bù  declarinç  iô  here®   Ordeò ió  significant®   Iæ  ZEXDÕ  ió �
declared¬  nonå  oæ ROOT¬ CURDÕ oò Patè wilì eveî bå  tried®   Iæ �
ROOÔ ió set¬ neitheò CURDÕ noò Patè wilì bå tried.
ZEXDU¾ 0° 0° Nï ZEØ directorù declareä or..
ZEXDU¾ 0³ 0± Searcè directorù A3º only
ROOT¾ 0° oò FÆ Searcè Rooô directorù only
CURDU¾ 0° oò FÆ Searcè Currenô directorù only
Iæ  nonå  oæ thå above¬ ZEØ wilì searcè foò thå  filå  alonç  thå �
ZCPR3´  Externaì Path® ZEØ Typå ´ wilì invokå thå  ZCPR3´  Erroò �
Handleò appropriatelù foò alì detecteä errors.
-30-

Loading…
Cancel
Save