Browse Source

add DSKYng features to monitor and boot

patch
Dan Werner 5 years ago
parent
commit
111aa66405
  1. BIN
      Binary/CPM3/bdos3.spr
  2. BIN
      Binary/CPM3/bios3.spr
  3. BIN
      Binary/CPM3/bnkbdos3.spr
  4. BIN
      Binary/CPM3/bnkbios3.spr
  5. BIN
      Binary/CPM3/cpm3fix.pat
  6. 158
      Binary/CPM3/genbnk.dat
  7. 158
      Binary/CPM3/gencpm.dat
  8. 158
      Binary/CPM3/genres.dat
  9. 39
      Binary/CPM3/readme.1st
  10. BIN
      Binary/CPM3/resbdos3.spr
  11. BIN
      Binary/ZPM3/bnkbdos3.spr
  12. BIN
      Binary/ZPM3/bnkbios3.spr
  13. 158
      Binary/ZPM3/gencpm.dat
  14. BIN
      Binary/ZPM3/resbdos3.spr
  15. BIN
      Binary/ZPM3/zinstal.zpm
  16. BIN
      Binary/hd1024_prefix.dat
  17. BIN
      Binary/hd1024_zrc_prefix.dat
  18. BIN
      Binary/hd1024_zzr_prefix.dat
  19. 36
      Source/HBIOS/Config/MBC_ddw.asm
  20. BIN
      Source/HBIOS/MBC_ddw.upd
  21. 82
      Source/HBIOS/dbgmon.asm
  22. 142
      Source/HBIOS/dskyng.asm
  23. 2
      Source/HBIOS/hbios.asm
  24. 21
      Source/HBIOS/romldr.asm
  25. 1
      Source/Images/blankhd1024
  26. 1
      Source/Images/blankhd512
  27. BIN
      Source/ZPM3/autotog.com
  28. BIN
      Source/ZPM3/clrhist.com
  29. BIN
      Source/ZPM3/cpmldr.com
  30. BIN
      Source/ZPM3/setz3.com
  31. BIN
      Source/ZRC/hd1024_zrc_prefix.dat
  32. 8197
      Source/ZZR/RCZ280_nat_zzr.hex
  33. BIN
      Source/ZZR/hd1024_zzr_prefix.dat

BIN
Binary/CPM3/bdos3.spr

Binary file not shown.

BIN
Binary/CPM3/bios3.spr

Binary file not shown.

BIN
Binary/CPM3/bnkbdos3.spr

Binary file not shown.

BIN
Binary/CPM3/bnkbios3.spr

Binary file not shown.

BIN
Binary/CPM3/cpm3fix.pat

Binary file not shown.

158
Binary/CPM3/genbnk.dat

@ -0,0 +1,158 @@
PRTMSG = Y
PAGWID = 4F
PAGLEN = 17
BACKSPC = N
RUBOUT = N
BOOTDRV = A
MEMTOP = FD
BNKSWT = Y
COMBAS = 80
LERROR = Y
NUMSEGS = 04
MEMSEG00 = 01,43,00
MEMSEG01 = 0E,72,02
MEMSEG02 = 01,7F,03
MEMSEG03 = 01,7F,04
MEMSEG04 = 01,7F,05
MEMSEG05 = 00,C0,06
MEMSEG06 = 00,C0,07
MEMSEG07 = 00,C0,08
MEMSEG08 = 00,C0,09
MEMSEG09 = 00,C0,0A
MEMSEG0A = 00,C0,0B
MEMSEG0B = 00,C0,0C
MEMSEG0C = 00,C0,0D
MEMSEG0D = 00,C0,0E
MEMSEG0E = 00,C0,0F
MEMSEG0F = 00,C0,10
HASHDRVA = Y
HASHDRVB = Y
HASHDRVC = Y
HASHDRVD = Y
HASHDRVE = Y
HASHDRVF = Y
HASHDRVG = Y
HASHDRVH = Y
HASHDRVI = Y
HASHDRVJ = Y
HASHDRVK = Y
HASHDRVL = Y
HASHDRVM = Y
HASHDRVN = Y
HASHDRVO = Y
HASHDRVP = Y
ALTBNKSA = Y
ALTBNKSB = Y
ALTBNKSC = Y
ALTBNKSD = Y
ALTBNKSE = Y
ALTBNKSF = Y
ALTBNKSG = Y
ALTBNKSH = Y
ALTBNKSI = Y
ALTBNKSJ = Y
ALTBNKSK = Y
ALTBNKSL = Y
ALTBNKSM = Y
ALTBNKSN = Y
ALTBNKSO = Y
ALTBNKSP = Y
NDIRRECA = 08
NDIRRECB = 00
NDIRRECC = 00
NDIRRECD = 00
NDIRRECE = 00
NDIRRECF = 00
NDIRRECG = 00
NDIRRECH = 00
NDIRRECI = 00
NDIRRECJ = 00
NDIRRECK = 00
NDIRRECL = 00
NDIRRECM = 00
NDIRRECN = 00
NDIRRECO = 00
NDIRRECP = 00
NDTARECA = 10
NDTARECB = 00
NDTARECC = 00
NDTARECD = 00
NDTARECE = 00
NDTARECF = 00
NDTARECG = 00
NDTARECH = 00
NDTARECI = 00
NDTARECJ = 00
NDTARECK = 00
NDTARECL = 00
NDTARECM = 00
NDTARECN = 00
NDTARECO = 00
NDTARECP = 00
ODIRDRVA = A
ODIRDRVB = A
ODIRDRVC = A
ODIRDRVD = A
ODIRDRVE = A
ODIRDRVF = A
ODIRDRVG = A
ODIRDRVH = A
ODIRDRVI = A
ODIRDRVJ = A
ODIRDRVK = A
ODIRDRVL = A
ODIRDRVM = A
ODIRDRVN = A
ODIRDRVO = A
ODIRDRVP = A
ODTADRVA = A
ODTADRVB = A
ODTADRVC = A
ODTADRVD = A
ODTADRVE = A
ODTADRVF = A
ODTADRVG = A
ODTADRVH = A
ODTADRVI = A
ODTADRVJ = A
ODTADRVK = A
ODTADRVL = A
ODTADRVM = A
ODTADRVN = A
ODTADRVO = A
ODTADRVP = A
OVLYDIRA = Y
OVLYDIRB = Y
OVLYDIRC = Y
OVLYDIRD = Y
OVLYDIRE = Y
OVLYDIRF = Y
OVLYDIRG = Y
OVLYDIRH = Y
OVLYDIRI = Y
OVLYDIRJ = Y
OVLYDIRK = Y
OVLYDIRL = Y
OVLYDIRM = Y
OVLYDIRN = Y
OVLYDIRO = Y
OVLYDIRP = Y
OVLYDTAA = Y
OVLYDTAB = Y
OVLYDTAC = Y
OVLYDTAD = Y
OVLYDTAE = Y
OVLYDTAF = Y
OVLYDTAG = Y
OVLYDTAH = Y
OVLYDTAI = Y
OVLYDTAJ = Y
OVLYDTAK = Y
OVLYDTAL = Y
OVLYDTAM = Y
OVLYDTAN = Y
OVLYDTAO = Y
OVLYDTAP = Y
CRDATAF = N
DBLALV = Y


158
Binary/CPM3/gencpm.dat

@ -0,0 +1,158 @@
PRTMSG = Y
PAGWID = 4F
PAGLEN = 17
BACKSPC = N
RUBOUT = N
BOOTDRV = A
MEMTOP = FD
BNKSWT = Y
COMBAS = 80
LERROR = Y
NUMSEGS = 04
MEMSEG00 = 01,43,00
MEMSEG01 = 0E,72,02
MEMSEG02 = 01,7F,03
MEMSEG03 = 01,7F,04
MEMSEG04 = 01,7F,05
MEMSEG05 = 00,C0,06
MEMSEG06 = 00,C0,07
MEMSEG07 = 00,C0,08
MEMSEG08 = 00,C0,09
MEMSEG09 = 00,C0,0A
MEMSEG0A = 00,C0,0B
MEMSEG0B = 00,C0,0C
MEMSEG0C = 00,C0,0D
MEMSEG0D = 00,C0,0E
MEMSEG0E = 00,C0,0F
MEMSEG0F = 00,C0,10
HASHDRVA = Y
HASHDRVB = Y
HASHDRVC = Y
HASHDRVD = Y
HASHDRVE = Y
HASHDRVF = Y
HASHDRVG = Y
HASHDRVH = Y
HASHDRVI = Y
HASHDRVJ = Y
HASHDRVK = Y
HASHDRVL = Y
HASHDRVM = Y
HASHDRVN = Y
HASHDRVO = Y
HASHDRVP = Y
ALTBNKSA = Y
ALTBNKSB = Y
ALTBNKSC = Y
ALTBNKSD = Y
ALTBNKSE = Y
ALTBNKSF = Y
ALTBNKSG = Y
ALTBNKSH = Y
ALTBNKSI = Y
ALTBNKSJ = Y
ALTBNKSK = Y
ALTBNKSL = Y
ALTBNKSM = Y
ALTBNKSN = Y
ALTBNKSO = Y
ALTBNKSP = Y
NDIRRECA = 08
NDIRRECB = 00
NDIRRECC = 00
NDIRRECD = 00
NDIRRECE = 00
NDIRRECF = 00
NDIRRECG = 00
NDIRRECH = 00
NDIRRECI = 00
NDIRRECJ = 00
NDIRRECK = 00
NDIRRECL = 00
NDIRRECM = 00
NDIRRECN = 00
NDIRRECO = 00
NDIRRECP = 00
NDTARECA = 10
NDTARECB = 00
NDTARECC = 00
NDTARECD = 00
NDTARECE = 00
NDTARECF = 00
NDTARECG = 00
NDTARECH = 00
NDTARECI = 00
NDTARECJ = 00
NDTARECK = 00
NDTARECL = 00
NDTARECM = 00
NDTARECN = 00
NDTARECO = 00
NDTARECP = 00
ODIRDRVA = A
ODIRDRVB = A
ODIRDRVC = A
ODIRDRVD = A
ODIRDRVE = A
ODIRDRVF = A
ODIRDRVG = A
ODIRDRVH = A
ODIRDRVI = A
ODIRDRVJ = A
ODIRDRVK = A
ODIRDRVL = A
ODIRDRVM = A
ODIRDRVN = A
ODIRDRVO = A
ODIRDRVP = A
ODTADRVA = A
ODTADRVB = A
ODTADRVC = A
ODTADRVD = A
ODTADRVE = A
ODTADRVF = A
ODTADRVG = A
ODTADRVH = A
ODTADRVI = A
ODTADRVJ = A
ODTADRVK = A
ODTADRVL = A
ODTADRVM = A
ODTADRVN = A
ODTADRVO = A
ODTADRVP = A
OVLYDIRA = Y
OVLYDIRB = Y
OVLYDIRC = Y
OVLYDIRD = Y
OVLYDIRE = Y
OVLYDIRF = Y
OVLYDIRG = Y
OVLYDIRH = Y
OVLYDIRI = Y
OVLYDIRJ = Y
OVLYDIRK = Y
OVLYDIRL = Y
OVLYDIRM = Y
OVLYDIRN = Y
OVLYDIRO = Y
OVLYDIRP = Y
OVLYDTAA = Y
OVLYDTAB = Y
OVLYDTAC = Y
OVLYDTAD = Y
OVLYDTAE = Y
OVLYDTAF = Y
OVLYDTAG = Y
OVLYDTAH = Y
OVLYDTAI = Y
OVLYDTAJ = Y
OVLYDTAK = Y
OVLYDTAL = Y
OVLYDTAM = Y
OVLYDTAN = Y
OVLYDTAO = Y
OVLYDTAP = Y
CRDATAF = N
DBLALV = Y


158
Binary/CPM3/genres.dat

@ -0,0 +1,158 @@
PRTMSG = Y
PAGWID = 4F
PAGLEN = 17
BACKSPC = N
RUBOUT = N
BOOTDRV = A
MEMTOP = FD
BNKSWT = N
COMBAS = 00
LERROR = Y
NUMSEGS = 03
MEMSEG00 = 00,80,00
MEMSEG01 = 00,C0,02
MEMSEG02 = 00,C0,03
MEMSEG03 = 00,C0,04
MEMSEG04 = 00,C0,05
MEMSEG05 = 00,C0,06
MEMSEG06 = 00,C0,07
MEMSEG07 = 00,C0,08
MEMSEG08 = 00,C0,09
MEMSEG09 = 00,C0,0A
MEMSEG0A = 00,C0,0B
MEMSEG0B = 00,C0,0C
MEMSEG0C = 00,C0,0D
MEMSEG0D = 00,C0,0E
MEMSEG0E = 00,C0,0F
MEMSEG0F = 00,C0,10
HASHDRVA = N
HASHDRVB = N
HASHDRVC = N
HASHDRVD = N
HASHDRVE = N
HASHDRVF = N
HASHDRVG = N
HASHDRVH = N
HASHDRVI = N
HASHDRVJ = N
HASHDRVK = N
HASHDRVL = N
HASHDRVM = N
HASHDRVN = N
HASHDRVO = N
HASHDRVP = N
ALTBNKSA = N
ALTBNKSB = N
ALTBNKSC = N
ALTBNKSD = N
ALTBNKSE = N
ALTBNKSF = N
ALTBNKSG = N
ALTBNKSH = N
ALTBNKSI = N
ALTBNKSJ = N
ALTBNKSK = N
ALTBNKSL = N
ALTBNKSM = N
ALTBNKSN = N
ALTBNKSO = N
ALTBNKSP = N
NDIRRECA = 01
NDIRRECB = 00
NDIRRECC = 00
NDIRRECD = 00
NDIRRECE = 00
NDIRRECF = 00
NDIRRECG = 00
NDIRRECH = 00
NDIRRECI = 00
NDIRRECJ = 00
NDIRRECK = 00
NDIRRECL = 00
NDIRRECM = 00
NDIRRECN = 00
NDIRRECO = 00
NDIRRECP = 00
NDTARECA = 01
NDTARECB = 00
NDTARECC = 00
NDTARECD = 00
NDTARECE = 00
NDTARECF = 00
NDTARECG = 00
NDTARECH = 00
NDTARECI = 00
NDTARECJ = 00
NDTARECK = 00
NDTARECL = 00
NDTARECM = 00
NDTARECN = 00
NDTARECO = 00
NDTARECP = 00
ODIRDRVA = A
ODIRDRVB = A
ODIRDRVC = A
ODIRDRVD = A
ODIRDRVE = A
ODIRDRVF = A
ODIRDRVG = A
ODIRDRVH = A
ODIRDRVI = A
ODIRDRVJ = A
ODIRDRVK = A
ODIRDRVL = A
ODIRDRVM = A
ODIRDRVN = A
ODIRDRVO = A
ODIRDRVP = A
ODTADRVA = A
ODTADRVB = A
ODTADRVC = A
ODTADRVD = A
ODTADRVE = A
ODTADRVF = A
ODTADRVG = A
ODTADRVH = A
ODTADRVI = A
ODTADRVJ = A
ODTADRVK = A
ODTADRVL = A
ODTADRVM = A
ODTADRVN = A
ODTADRVO = A
ODTADRVP = A
OVLYDIRA = Y
OVLYDIRB = Y
OVLYDIRC = Y
OVLYDIRD = Y
OVLYDIRE = Y
OVLYDIRF = Y
OVLYDIRG = Y
OVLYDIRH = Y
OVLYDIRI = Y
OVLYDIRJ = Y
OVLYDIRK = Y
OVLYDIRL = Y
OVLYDIRM = Y
OVLYDIRN = Y
OVLYDIRO = Y
OVLYDIRP = Y
OVLYDTAA = Y
OVLYDTAB = Y
OVLYDTAC = Y
OVLYDTAD = Y
OVLYDTAE = Y
OVLYDTAF = Y
OVLYDTAG = Y
OVLYDTAH = Y
OVLYDTAI = Y
OVLYDTAJ = Y
OVLYDTAK = Y
OVLYDTAL = Y
OVLYDTAM = Y
OVLYDTAN = Y
OVLYDTAO = Y
OVLYDTAP = Y
CRDATAF = N
DBLALV = N


39
Binary/CPM3/readme.1st

@ -0,0 +1,39 @@
CP/M 3
======
This archive contains an almost complete build of CP/M 3.
If you have the source distribution, the file MAKING.DOC explains how to
set up the build environment on your computer.
Differences from Digital Research CP/M 3
========================================
All the CP/M 3 patches described in the document CPM3FIX.PAT have been
applied to the source code, except those to INITDIR. Patches 1-18 (except
nos. 5 and 9) were applied.
CP/M 3 is now fully Year 2000 compliant. This affects the programs
DATE.COM, DIR.COM and SHOW.COM.
Dates can be displayed in US, UK or Year-Month-Day format. This is set by
SETDEF:
SETDEF [US]
SETDEF [UK]
SETDEF [YMD] respectively.
The CCP has a further bug fix: A command sequence such as:
C1
:C2
:C3
will now not execute the command C3 if the command C1 failed.
What's missing?
===============
INITDIR.COM - because it is written in PL/I and I can't make the
PL/I compiler at <http://cdl.uta.edu/cpm> compile it.
Apparently a more recent version of the compiler is
required.

BIN
Binary/CPM3/resbdos3.spr

Binary file not shown.

BIN
Binary/ZPM3/bnkbdos3.spr

Binary file not shown.

BIN
Binary/ZPM3/bnkbios3.spr

Binary file not shown.

158
Binary/ZPM3/gencpm.dat

@ -0,0 +1,158 @@
PRTMSG = Y
PAGWID = 4F
PAGLEN = 17
BACKSPC = N
RUBOUT = N
BOOTDRV = A
MEMTOP = FD
BNKSWT = Y
COMBAS = 80
LERROR = Y
NUMSEGS = 04
MEMSEG00 = 01,43,00
MEMSEG01 = 0E,72,02
MEMSEG02 = 01,7F,03
MEMSEG03 = 01,7F,04
MEMSEG04 = 01,7F,05
MEMSEG05 = 00,C0,06
MEMSEG06 = 00,C0,07
MEMSEG07 = 00,C0,08
MEMSEG08 = 00,C0,09
MEMSEG09 = 00,C0,0A
MEMSEG0A = 00,C0,0B
MEMSEG0B = 00,C0,0C
MEMSEG0C = 00,C0,0D
MEMSEG0D = 00,C0,0E
MEMSEG0E = 00,C0,0F
MEMSEG0F = 00,C0,10
HASHDRVA = Y
HASHDRVB = Y
HASHDRVC = Y
HASHDRVD = Y
HASHDRVE = Y
HASHDRVF = Y
HASHDRVG = Y
HASHDRVH = Y
HASHDRVI = Y
HASHDRVJ = Y
HASHDRVK = Y
HASHDRVL = Y
HASHDRVM = Y
HASHDRVN = Y
HASHDRVO = Y
HASHDRVP = Y
ALTBNKSA = Y
ALTBNKSB = Y
ALTBNKSC = Y
ALTBNKSD = Y
ALTBNKSE = Y
ALTBNKSF = Y
ALTBNKSG = Y
ALTBNKSH = Y
ALTBNKSI = Y
ALTBNKSJ = Y
ALTBNKSK = Y
ALTBNKSL = Y
ALTBNKSM = Y
ALTBNKSN = Y
ALTBNKSO = Y
ALTBNKSP = Y
NDIRRECA = 08
NDIRRECB = 00
NDIRRECC = 00
NDIRRECD = 00
NDIRRECE = 00
NDIRRECF = 00
NDIRRECG = 00
NDIRRECH = 00
NDIRRECI = 00
NDIRRECJ = 00
NDIRRECK = 00
NDIRRECL = 00
NDIRRECM = 00
NDIRRECN = 00
NDIRRECO = 00
NDIRRECP = 00
NDTARECA = 10
NDTARECB = 00
NDTARECC = 00
NDTARECD = 00
NDTARECE = 00
NDTARECF = 00
NDTARECG = 00
NDTARECH = 00
NDTARECI = 00
NDTARECJ = 00
NDTARECK = 00
NDTARECL = 00
NDTARECM = 00
NDTARECN = 00
NDTARECO = 00
NDTARECP = 00
ODIRDRVA = A
ODIRDRVB = A
ODIRDRVC = A
ODIRDRVD = A
ODIRDRVE = A
ODIRDRVF = A
ODIRDRVG = A
ODIRDRVH = A
ODIRDRVI = A
ODIRDRVJ = A
ODIRDRVK = A
ODIRDRVL = A
ODIRDRVM = A
ODIRDRVN = A
ODIRDRVO = A
ODIRDRVP = A
ODTADRVA = A
ODTADRVB = A
ODTADRVC = A
ODTADRVD = A
ODTADRVE = A
ODTADRVF = A
ODTADRVG = A
ODTADRVH = A
ODTADRVI = A
ODTADRVJ = A
ODTADRVK = A
ODTADRVL = A
ODTADRVM = A
ODTADRVN = A
ODTADRVO = A
ODTADRVP = A
OVLYDIRA = Y
OVLYDIRB = Y
OVLYDIRC = Y
OVLYDIRD = Y
OVLYDIRE = Y
OVLYDIRF = Y
OVLYDIRG = Y
OVLYDIRH = Y
OVLYDIRI = Y
OVLYDIRJ = Y
OVLYDIRK = Y
OVLYDIRL = Y
OVLYDIRM = Y
OVLYDIRN = Y
OVLYDIRO = Y
OVLYDIRP = Y
OVLYDTAA = Y
OVLYDTAB = Y
OVLYDTAC = Y
OVLYDTAD = Y
OVLYDTAE = Y
OVLYDTAF = Y
OVLYDTAG = Y
OVLYDTAH = Y
OVLYDTAI = Y
OVLYDTAJ = Y
OVLYDTAK = Y
OVLYDTAL = Y
OVLYDTAM = Y
OVLYDTAN = Y
OVLYDTAO = Y
OVLYDTAP = Y
CRDATAF = N
DBLALV = Y


BIN
Binary/ZPM3/resbdos3.spr

Binary file not shown.

BIN
Binary/ZPM3/zinstal.zpm

Binary file not shown.

BIN
Binary/hd1024_prefix.dat

Binary file not shown.

BIN
Binary/hd1024_zrc_prefix.dat

Binary file not shown.

BIN
Binary/hd1024_zzr_prefix.dat

Binary file not shown.

36
Source/HBIOS/Config/MBC_ddw.asm

@ -0,0 +1,36 @@
;
;==================================================================================================
; MBC CONFIGURATION
;==================================================================================================
;
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE
; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS.
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
; YOUR FILE IN THE BUILD PROCESS.
;
; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM.
; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO
; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON
; SETTINGS.
;
; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE,
; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING
; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS!
;
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
; DIRECTORIES ABOVE THIS ONE).
;
#DEFINE PLATFORM_NAME "Multi Board Computer"
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
;
#include "cfg_mbc.asm"
;
BATCOND .SET FALSE
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
DSKYENABLE .SET TRUE ; ENABLES DSKY
DSKYMODE .SET DSKYMODE_NG ; DSKY VERTSION: DSKYMODE_[V1|NG]
DSKYOSC .SET 100000

BIN
Source/HBIOS/MBC_ddw.upd

Binary file not shown.

82
Source/HBIOS/dbgmon.asm

@ -371,7 +371,7 @@ DUMPMEM:
CALL WORDPARM ; GET END ADDRESS
JP C,ERR ; HANDLE ERRORS
PUSH DE ; SAVE IT
POP DE ; DE := END ADDRESS
POP HL ; HL := START ADDRESS
@ -488,7 +488,7 @@ FILLMEM:
CALL NONBLANK ; LOOK FOR EXTRANEOUS PARAMETERS
CP 0 ; TEST FOR TERMINATING NULL
JP NZ,ERR ; ERROR IF NOT TERMINATING NULL
POP DE ; END ADR TO DE
POP HL ; START ADR TO HL
DEC HL ; PRE-DECREMENT
@ -981,6 +981,11 @@ DSKY_ENTRY:
;_____________________________________________________________________________
;
CALL DSKY_INIT ; INIT 8255
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_BEEP
#ENDIF
;
;__COMMAND_PARSE______________________________________________________________
;
@ -991,8 +996,17 @@ FRONTPANELLOOP:
LD HL,CPUUP ; SET POINTER TO CPU UP MSG
CALL DSKY_SHOWSEG ; DISPLAY UNENCODED
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_HIGHLIGHTCMDKEYS
CALL DSKY_L1ON
#ENDIF
CALL KB_GET ; GET KEY FROM KB
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_L1OFF
#ENDIF
FRONTPANELLOOP1:
CP KY_PR ; IS PORT READ?
JP Z,DOPORTREAD ; YES, JUMP
@ -1027,6 +1041,11 @@ DOBOOT:
;_____________________________________________________________________________
;
DOPORTREAD:
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_HIGHLIGHTNUMKEYS
#ENDIF
CALL GETPORT ; GET PORT INTO A
PORTREADLOOP:
LD C,A ; STORE PORT IN "C"
@ -1049,6 +1068,11 @@ PORTREADGETKEY:
;_____________________________________________________________________________
;
DOPORTWRITE:
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_HIGHLIGHTNUMKEYS
#ENDIF
CALL GETPORT ; GET PORT INTO A
PORTWRITELOOP:
LD L,A ; SAVE PORT NUM
@ -1070,7 +1094,17 @@ PORTWRITEGETKEY:
;_____________________________________________________________________________
;
DOGO:
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_HIGHLIGHTNUMKEYS
#ENDIF
CALL GETADDR ; GET ADDRESS INTO HL
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_HIGHLIGHTKEYSOFF
#ENDIF
PUSH HL ; EXEC ADR TO TOS
LD HL,GOTO ; POINT TO "GO" MSG
CALL INITBUF
@ -1091,6 +1125,11 @@ DOGO:
;_____________________________________________________________________________
;
DOEXAMINE:
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_HIGHLIGHTNUMKEYS
#ENDIF
CALL GETADDR ; GET ADDRESS INTO HL
EXAMINELOOP:
LD DE,DISPLAYBUF+0
@ -1106,6 +1145,11 @@ EXAMINELOOP:
LD A,(HL) ; GET VALUE FROM ADDRESS IN HL
CALL PUTVALUE
CALL ENCDISPLAY ; DISPLAY BUFFER ON DISPLAYS
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_HIGHLIGHTFWDKEYS
#ENDIF
EXAMINEGETKEY:
CALL KB_GET ; GET KEY FROM KB
CP KY_EN ; [EN] PRESSED, INC ADDRESS AND LOOP
@ -1123,6 +1167,11 @@ EXAMINEFW:
;_____________________________________________________________________________
;
DODEPOSIT:
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_HIGHLIGHTNUMKEYS
#ENDIF
CALL GETADDR ; GET ADDRESS INTO HL
DEPOSITLOOP:
LD DE,DISPLAYBUF+0
@ -1139,6 +1188,11 @@ DEPOSITLOOP:
LD DE,DISPLAYBUF+6 ; DISPLAY WRITTEN MEM VALUE
CALL PUTVALUE ; ... WITHOUT DP'S
CALL ENCDISPLAY ; DISPLAY BUFFER CONTENTS
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_HIGHLIGHTFWDKEYS
#ENDIF
DEPOSITGETKEY:
CALL KB_GET ; GET KEY FROM KB
CP KY_EN ; [EN] PRESSED, INC ADDRESS AND LOOP
@ -1424,7 +1478,7 @@ SEGDECODE:
;
; POS $00 $01 $02 $03 $04 $05 $06 $07
; GLYPH '0' '1' '2' '3' '4' '5' '6' '7'
.DB $3F, $06, $58, $4F, $66, $6D, $7D, $07
.DB $3F, $06, $5B, $4F, $66, $6D, $7D, $07
;
; POS $08 $09 $0A $0B $0C $0D $0E $0F
; GLYPH '8' '9' 'A' 'B' 'C' 'D' 'E' 'F'
@ -1434,6 +1488,28 @@ SEGDECODE:
; GLYPH ' ' '-' '.' 'P' 'o' 'r' 't' 'A' 'd' 'r' 'G'
.DB $00, $40, $00, $73, $5C, $50, $78, $77, $5E, $50, $3D
;
DSKY_HIGHLIGHTFWDKEYS:
CALL DSKY_PUTLED
.DB $00,$00,$00,$30,$00,$00,$00,$00
RET
DSKY_HIGHLIGHTCMDKEYS:
CALL DSKY_PUTLED
.DB $20,$00,$20,$3F,$00,$00,$00,$00
RET
DSKY_HIGHLIGHTNUMKEYS:
CALL DSKY_PUTLED
.DB $1F,$3F,$1F,$30,$00,$00,$00,$00
RET
DSKY_HIGHLIGHTKEYSOFF:
CALL DSKY_PUTLED
.DB $00,$00,$00,$00,$00,$00,$00,$00
RET
#ENDIF
;
DISPLAYBUF: .FILL 8,0

142
Source/HBIOS/dskyng.asm

@ -24,14 +24,14 @@
;
; LED BIT MAP (BIT VALUES)
;
; $08 $09 $0A $0B $0C
; --- --- --- --- ---
; $08 $09 $0A $0B $0C $0D $0E $0F
; --- --- --- --- --- --- --- ---
; 01 01 01 01 01
; 02 02 02 02 02
; 04 04 04 04 04
; 08 08 08 08 08
; 10 10 10 10 10
; 20 20 20 20 10
; 20 20 20 20 20 L1 L2 BUZZ
;
PPIA .EQU DSKYPPIBASE + 0 ; PORT A
PPIB .EQU DSKYPPIBASE + 1 ; PORT B
@ -87,8 +87,6 @@ DSKY_REINIT:
; SET CLOCK SCALER TO 20
LD A,DSKY_CMD_CLK | DSKY_PRESCL
CALL DSKY_CMD
; LD A,%00001000 ; dan
; CALL DSKY_CMD
; FALL THRU
;
DSKY_RESET:
@ -470,6 +468,140 @@ DSKY_PUTENCSTR1:
POP BC
DJNZ DSKY_PUTENCSTR1
RET
;
; This function is intended to update the LEDs. It expects 8 bytes following the call, and
; updates the entire matrix.
;
; EXAMPLE:
; CALL DSKY_PUTLED
; .DB $00,$00,$00,$00,$00,$00,$00,$00
;
;
DSKY_PUTLED:
EX (SP),HL
PUSH AF
PUSH BC
LD C,8
DSKY_PUTLED_1:
LD A,(HL)
PUSH BC
CALL DSKY_PUTBYTE
POP BC
INC C
INC HL
LD A,C
CP $10
JP NZ,DSKY_PUTLED_1
POP BC
POP AF
EX (SP),HL
RET
;
; This function is intended to beep the speaker on the DSKY
;
;
DSKY_BEEP:
PUSH AF
PUSH BC
LD C,$0F
CALL DSKY_GETBYTE
or $20
LD C,$0F
CALL DSKY_PUTBYTE
;;; timer . . .
PUSH HL
ld hl,$8FFF
DSKY_BEEP1:
dec hl
ld a,H
cp 0
jp nz,DSKY_BEEP1
pop hl
LD C,$0F
CALL DSKY_GETBYTE
and $DF
LD C,$0F
CALL DSKY_PUTBYTE
POP BC
POP AF
RET
;
; This function is intended to turn on DSKY L1
;
DSKY_L1ON:
PUSH AF
PUSH BC
LD C,$0D
CALL DSKY_GETBYTE
or $20
LD C,$0D
CALL DSKY_PUTBYTE
POP BC
POP AF
RET
;
; This function is intended to turn on DSKY L2
;
DSKY_L2ON:
PUSH AF
PUSH BC
LD C,$0E
CALL DSKY_GETBYTE
and $DF
LD C,$0E
CALL DSKY_PUTBYTE
POP BC
POP AF
RET
;
; This function is intended to turn off DSKY L1
;
DSKY_L1OFF:
PUSH AF
PUSH BC
LD C,$0D
CALL DSKY_GETBYTE
and $DF
LD C,$0D
CALL DSKY_PUTBYTE
POP BC
POP AF
RET
;
; This function is intended to turn off DSKY L2
;
DSKY_L2OFF:
PUSH AF
PUSH BC
LD C,$0E
CALL DSKY_GETBYTE
or $20
LD C,$0E
CALL DSKY_PUTBYTE
POP BC
POP AF
RET
;
; SETUP PPI FOR WRITING: PUT PPI PORT A IN OUTPUT MODE
; AVOID REWRTING PPIX IF ALREADY IN OUTPUT MODE

2
Source/HBIOS/hbios.asm

@ -522,7 +522,7 @@ HBX_RAMX:
EI ; *** DO NOT USE HB_EI HERE ***
LD A,(HBX_MMA) ; RESTORE INCOMING ACCUM
#ENDIF
;
;
RET
;
HBX_MMA .DB 0 ; TEMPORARY STORAGE FOR REG A

21
Source/HBIOS/romldr.asm

@ -209,6 +209,14 @@ prompt:
call DSKY_RESET ; clear DSKY
ld hl,msg_sel ; boot select msg
call DSKY_SHOWSEG ; show on DSKY
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_PUTLED
.DB $3f,$3f,$3f,$3f,$00,$00,$00,$00
call DSKY_BEEP
call DSKY_L2ON
#ENDIF
#endif
;
wtkey:
@ -361,6 +369,13 @@ dskycmd:
cp $FF ; check for error
ret z ; abort if so
;
#IF (DSKYMODE == DSKYMODE_NG)
CALL DSKY_PUTLED
.DB $00,$00,$00,$00,$00,$00,$00,$00
call DSKY_L2OFF
#ENDIF
; Attempt built-in commands
cp KY_BO ; reboot system
jp z,reboot ; if so, do it
@ -491,10 +506,10 @@ iseven: dec a ; 15=19200
add a,16 ; 20=115200
setspd: ld (newspeed),a ; save validated baud rate
;
ld hl,str_chspeed ; notify user
ld hl,str_chspeed ; notify user
call pstr ; to change
call cin ; speed
;
;
; Get the current settings for chosen console
ld b,BF_CIOQUERY ; BIOS serial device query
ld a,(newcon) ; get device unit num
@ -503,7 +518,7 @@ setspd: ld (newspeed),a ; save validated baud rate
jp nz,err_invcmd ; abort on error
;
ld a,d ; mask off current
and $11100000 ; baud rate
and $11100000 ; baud rate
ld hl,newspeed ; and load in new
or (hl) ; baud rate
ld d,a

1
Source/Images/blankhd1024

File diff suppressed because one or more lines are too long

1
Source/Images/blankhd512

File diff suppressed because one or more lines are too long

BIN
Source/ZPM3/autotog.com

Binary file not shown.

BIN
Source/ZPM3/clrhist.com

Binary file not shown.

BIN
Source/ZPM3/cpmldr.com

Binary file not shown.

BIN
Source/ZPM3/setz3.com

Binary file not shown.

BIN
Source/ZRC/hd1024_zrc_prefix.dat

Binary file not shown.

8197
Source/ZZR/RCZ280_nat_zzr.hex

File diff suppressed because it is too large

BIN
Source/ZZR/hd1024_zzr_prefix.dat

Binary file not shown.
Loading…
Cancel
Save