Browse Source

BPBIOS & Doc

- Updated transient SAVE command in BPBIOS with version 17 from Lars Nelson
- Updated document build process to improve consistency between documents.
patch
Wayne Warthen 4 years ago
parent
commit
6b81146286
  1. BIN
      Doc/ROM Applications.pdf
  2. BIN
      Doc/RomWBW Applications.pdf
  3. BIN
      Doc/RomWBW Architecture.pdf
  4. BIN
      Doc/RomWBW Disk Catalog.pdf
  5. BIN
      Doc/RomWBW Getting Started.pdf
  6. 43
      ReadMe.md
  7. 16
      ReadMe.txt
  8. 2
      Source/BPBIOS/def-ww-z33.lib
  9. 2
      Source/BPBIOS/def-ww-z33bnk.lib
  10. 20
      Source/BPBIOS/z33.zex
  11. 4
      Source/BPBIOS/zst.zex
  12. 6
      Source/BPBIOS/zstf.zex
  13. 10
      Source/Doc/Applications.md
  14. 119
      Source/Doc/Architecture.md
  15. 13
      Source/Doc/Build.cmd
  16. 8
      Source/Doc/Catalog.md
  17. 39
      Source/Doc/Common.h
  18. 12
      Source/Doc/GettingStarted.md
  19. 2
      Source/Doc/Makefile
  20. 8
      Source/Doc/ROM_Applications.md
  21. BIN
      Source/Images/d_bp/u15/save.com

BIN
Doc/ROM Applications.pdf

Binary file not shown.

BIN
Doc/RomWBW Applications.pdf

Binary file not shown.

BIN
Doc/RomWBW Architecture.pdf

Binary file not shown.

BIN
Doc/RomWBW Disk Catalog.pdf

Binary file not shown.

BIN
Doc/RomWBW Getting Started.pdf

Binary file not shown.

43
ReadMe.md

@ -1,9 +1,50 @@
---
author: "Wayne Warthen (mailto:wwarthen@gmail.com)"
classoption:
- oneside
colorlinks: true
date: 27 Oct 2021
documentclass: book
fontfamily: helvet
fontsize: 12pt
geometry:
- top=1.5in
- bottom=1.5in
- left=1.5in
- right=1.5in
graphics: true
header-includes:
-
-
include-before:
-
-
institution: RetroBrew Computers Group
linestretch: 1.25
numbersections: true
papersize: letter
secnumdepth: 1
title: RomWBW Getting Started
toc: true
toc-depth: 1
---
# RomWBW
## Z80/Z180 System Software
Version 3.1 Pre-release
22 Oct 2021
27 Oct 2021
Wayne Warthen <wwarthen@gmail.com>

16
ReadMe.txt

@ -1,9 +1,23 @@
RomWBW Getting Started
Wayne Warthen (mailto:wwarthen@gmail.com)
27 Oct 2021
RomWBW
Z80/Z180 System Software
Version 3.1 Pre-release
22 Oct 2021
27 Oct 2021
Wayne Warthen wwarthen@gmail.com

2
Source/BPBIOS/def-ww-z33.lib

@ -19,7 +19,7 @@ DATE MACRO
DEFB '07 Oct 21' ; Date of this version
ENDM
AUTOCL MACRO
DEFB 8,'ZEX ZST ',0 ; Autostart command line
DEFB 8,'ZEX Z33 ',0 ; Autostart command line
ENDM
;--- Basic System and Z-System Section ---

2
Source/BPBIOS/def-ww-z33bnk.lib

@ -19,7 +19,7 @@ DATE MACRO
DEFB '07 Oct 21' ; Date of this version
ENDM
AUTOCL MACRO
DEFB 8,'ZEX ZST ',0 ; Autostart command line
DEFB 8,'ZEX Z33 ',0 ; Autostart command line
ENDM
;--- Basic System and Z-System Section ---

20
Source/BPBIOS/z33.zex

@ -0,0 +1,20 @@
;; Set the ZCPR and ZSDOS paths
c15:zpath $$$$ a0 b0 c15 c0 /d=$$$$ c15 c0
;; Load ZCPR segments
jetldr rcp-16h.zrl,fcp-4t.zrl,bpbio.ndr,nzdec23d.z3t
;; Load date/time extension into user space
ldtimec
;; Initialize the RAM disk if needed and copy some useful files there
if ~ex a0:-ram.000
;; Load datestamping file on a:
putds -d=a:
;; Enable datestamping
relog
save 0 a:-ram.000
rcopy ramfiles.txt a0: /q
fi
;; Print Time & Date as a reminder in case they need setting
td
;; Load the command history shell and editor
ease


4
Source/BPBIOS/zst.zex

@ -6,11 +6,15 @@ jetldr rcp-16h.zrl,fcp-4t.zrl,bpbio.ndr,nzdec23d.z3t
ldtimec
;; Initialize the RAM disk if needed and copy some useful files there
if ~ex a0:-ram.000
;; Load datestamping file on a:
putds -d=a:
;; Enable datestamping
relog
save 0 a:-ram.000
rcopy ramfiles.txt a0: /q
fi
;; Print Time & Date as a reminder in case they need setting
td
;; Load the command history shell and editor
lsh


6
Source/BPBIOS/zstf.zex

@ -6,11 +6,15 @@ zscfg2 cb +a-
jetldr fcp-4t.zrl,bpbio.ndr,nzdec23d.z3t
;; Initialize the RAM disk if needed and copy some useful files there
if ~ex a0:-ram.000
;; Load datestamping file on a:
putds -d=a:
;; Enable datestamping
relog
save 0 a0:-ram.000
save 0 a:-ram.000
rcopy ramfiles.txt a0: /q
fi
;; Print Time & Date as a reminder in case they need setting
td
;; Load the command history shell and editor
lsh


10
Source/Doc/Applications.md

@ -1,5 +1,5 @@
\define{doc_title}{Applications}
\include{"Common.h"}
$define{doc_title}{Applications}$
$include{"Common.h"}$
# Summary
@ -28,8 +28,8 @@ on the media.
Most of the applications are included as source code in the RomWBW
distribution and are built in the normal build process. The source
code is found in the Source\\\\Apps directory of the distribution. The
binary executable applications are found in the Binary\\\\Apps directory.
code is found in the Source\\Apps directory of the distribution. The
binary executable applications are found in the Binary\\Apps directory.
The following table clarifies where each of the applications can be
found:
@ -523,7 +523,7 @@ manually perform a verification function with the `FLASH VERIFY` form
of the command.
The author's documentation for the application is found in the RomWBW
distribution in the Doc\\\\Contrib directory.
distribution in the Doc\\Contrib directory.
## Notes

119
Source/Doc/Architecture.md

@ -1,5 +1,5 @@
\define{doc_title}{Architecture}
\include{"Common.h"}
$define{doc_title}{Architecture}$
$include{"Common.h"}$
Overview
========
@ -134,7 +134,7 @@ the same area that is bank switched.
Boot Phase 1 copies the phase 2 code to upper memory and jumps to it to
continue the boot process. This is required because the CPU starts at
address \$0000 in low memory. However, low memory is used as the area
address $0000 in low memory. However, low memory is used as the area
for switching ROM/RAM banks in and out. Therefore, it is necessary to
relocate execution to high memory in order to initialize the RAM memory
banks.
@ -184,7 +184,7 @@ ROM Boot
At power on (or hardware reset), ROM page 0 is automatically mapped to
lower memory by hardware level system initialization. Page Zero (first
256 bytes of the CPU address space) is reserved to contain dispatching
instructions for interrupt instructions. Address \$0000 performs a jump
instructions for interrupt instructions. Address $0000 performs a jump
to the start of the phase 1 code so that this first page can be
reserved.
@ -210,13 +210,13 @@ initiate an Application Boot using the system image contained in the
application file itself.
Upon execution, the Application Boot program is loaded into memory by
the previously running operating system starting at \$0100. Note that
the previously running operating system starting at $0100. Note that
program image contains a copy of the HBIOS to be installed and run. Once
the Application Boot program is loaded by the previous operating system,
control is passed to it and it performs a system initialization similar
to the ROM Boot, but using the image loaded in RAM.
Specifically, the code at \$0100 (in low memory) copies phase 2 boot
Specifically, the code at $0100 (in low memory) copies phase 2 boot
code to upper memory and transfers control to it. The phase 2 boot code
copies the HBIOS image from application RAM to RAM, then calls the HBIOS
initialization routine. At this point, the prior HBIOS code has been
@ -387,7 +387,7 @@ _Bits_ | _Function_
2 | Stop Bits (???)
1-0 | Data Bits (???)
The 5-bit baud rate value (V) is encoded as V = 75 \* 2\^X \* 3\^Y. The
The 5-bit baud rate value (V) is encoded as V = 75 * 2^X * 3^Y. The
bits are defined as YXXXX.
### Function 0x00 -- Character Input (CIOIN)
@ -526,17 +526,17 @@ types.
**Media ID** | **Value** | **Format**
------------ | --------- | ----------
MID\_NONE | 0 | No media installed
MID\_MDROM | 1 | ROM Drive
MID\_MDRAM | 2 | RAM Drive
MID\_RF | 3 | RAM Floppy (LBA)
MID\_HD | 4 | Hard Disk (LBA)
MID\_FD720 | 5 | 3.5" 720K Floppy
MID\_FD144 | 6 | 3.5" 1.44M Floppy
MID\_FD360 | 7 | 5.25" 360K Floppy
MID\_FD120 | 8 | 5.25" 1.2M Floppy
MID\_FD111 | 9 | 8" 1.11M Floppy
MID\_HDNEW | 10 | Hard Disk with 1024 Directory entries
MID_NONE | 0 | No media installed
MID_MDROM | 1 | ROM Drive
MID_MDRAM | 2 | RAM Drive
MID_RF | 3 | RAM Floppy (LBA)
MID_HD | 4 | Hard Disk (LBA)
MID_FD720 | 5 | 3.5" 720K Floppy
MID_FD144 | 6 | 3.5" 1.44M Floppy
MID_FD360 | 7 | 5.25" 360K Floppy
MID_FD120 | 8 | 5.25" 1.2M Floppy
MID_FD111 | 9 | 8" 1.11M Floppy
MID_HDNEW | 10 | Hard Disk with 1024 Directory entries
### Function 0x10 -- Disk Status (DIOSTATUS)
@ -950,22 +950,22 @@ possible 16 values for foreground or background:
**Foreground** | **Background** | **Color**
------------------ | ------------------ | ----------------
\_0 \_\_\_\_0000 | 0\_ 0000\_\_\_\_ | Black
\_1 \_\_\_\_0001 | 1\_ 0001\_\_\_\_ | Red
\_2 \_\_\_\_0010 | 2\_ 0010\_\_\_\_ | Green
\_3 \_\_\_\_0011 | 3\_ 0011\_\_\_\_ | Brown
\_4 \_\_\_\_0100 | 4\_ 0100\_\_\_\_ | Blue
\_5 \_\_\_\_0101 | 5\_ 0101\_\_\_\_ | Magenta
\_6 \_\_\_\_0110 | 6\_ 0110\_\_\_\_ | Cyan
\_7 \_\_\_\_0111 | 7\_ 0111\_\_\_\_ | White
\_8 \_\_\_\_1000 | 8\_ 1000\_\_\_\_ | Gray
\_9 \_\_\_\_1001 | 9\_ 1001\_\_\_\_ | Light Red
\_A \_\_\_\_1010 | A\_ 1010\_\_\_\_ | Light Green
\_B \_\_\_\_1011 | B\_ 1011\_\_\_\_ | Yellow
\_C \_\_\_\_1100 | C\_ 1100\_\_\_\_ | Light Blue
\_D \_\_\_\_1101 | D\_ 1101\_\_\_\_ | Light Magenta
\_E \_\_\_\_1110 | E\_ 1110\_\_\_\_ | Light Cyan
\_F \_\_\_\_1111 | F\_ 1111\_\_\_\_ | Bright White
n0 nnnn0000 | 0n 0000nnnn | Black
n1 nnnn0001 | 1n 0001nnnn | Red
n2 nnnn0010 | 2n 0010nnnn | Green
n3 nnnn0011 | 3n 0011nnnn | Brown
n4 nnnn0100 | 4n 0100nnnn | Blue
n5 nnnn0101 | 5n 0101nnnn | Magenta
n6 nnnn0110 | 6n 0110nnnn | Cyan
n7 nnnn0111 | 7n 0111nnnn | White
n8 nnnn1000 | 8n 1000nnnn | Gray
n9 nnnn1001 | 9n 1001nnnn | Light Red
nA nnnn1010 | An 1010nnnn | Light Green
nB nnnn1011 | Bn 1011nnnn | Yellow
nC nnnn1100 | Cn 1100nnnn | Light Blue
nD nnnn1101 | Dn 1101nnnn | Light Magenta
nE nnnn1110 | En 1110nnnn | Light Cyan
nF nnnn1111 | Fn 1111nnnn | Bright White
Attribute byte values are constructed using the following bit encoding:
@ -1087,12 +1087,12 @@ The currently defined video device types are:
VDA ID | Value | Device
---------- | ----- | ------
VDA\_NONE | 0x00 | No VDA
VDA\_VDU | 0x10 | ECB VDU board
VDA\_CVDU | 0x20 | ECB Color VDU board
VDA\_7220 | 0x30 | ECB uPD7220 video display board
VDA\_N8 | 0x40 | TMS9918 video display built-in to N8
VDA\_VGA | 0x50 | ECB VGA board
VDA_NONE | 0x00 | No VDA
VDA_VDU | 0x10 | ECB VDU board
VDA_CVDU | 0x20 | ECB Color VDU board
VDA_7220 | 0x30 | ECB uPD7220 video display board
VDA_N8 | 0x40 | TMS9918 video display built-in to N8
VDA_VGA | 0x50 | ECB VGA board
### Function 0x44 -- Video Set Cursor Style (VDASCS)
@ -1107,7 +1107,7 @@ VDA\_VGA | 0x50 | ECB VGA board
If supported by the video hardware, adjust the format of the cursor such
that the cursor starts at the pixel specified in the top nibble of D and
end at the pixel specified in the bottom nibble of D. So, if D=\$08, a
end at the pixel specified in the bottom nibble of D. So, if D=$08, a
block cursor would be used that starts at the top pixel of the character
cell and ends at the ninth pixel of the character cell.
@ -2150,23 +2150,24 @@ The following section outlines the read only data referenced by the
#### TMS9918 Driver:
| Name | Offset | Size (bytes)| Description |
|--------|--------|-------------|-------------|
| PPIA | 0 | 1 | PPI PORT A |
| PPIB | 1 | 1 | PPI PORT B |
| PPIC | 2 | 1 | PPI PORT C |
| PPIX | 3 | 1 | PPI CONTROL PORT |
| DATREG | 4 | 1 | IO PORT ADDRESS FOR MODE 0 |
| CMDREG | 5 | 1 | IO PORT ADDRESS FOR MODE 1 |
| The following are the register mirror values that HBIOS used for initialisation |
| REG. 0 | 6 | 1 | $00 - NO EXTERNAL VID
| REG. 1 | 7 | 1 | $50 or $70 - SET MODE 1 and interrupt if enabled |
| REG. 2 | 8 | 1 | $00 - PATTERN NAME TABLE := 0
| REG. 3 | 9 | 1 | $00 - NO COLOR TABLE
| REG. 4 | 10 | 1 | $01 - SET PATTERN GENERATOR TABLE TO $800
| REG. 5 | 11 | 1 | $00 - SPRITE ATTRIBUTE IRRELEVANT
| REG. 6 | 12 | 1 | $00 - NO SPRITE GENERATOR TABLE
| REG. 7 | 13 | 1 | $F0 - WHITE ON BLACK
| DCNTL* | 14 | 1 | Z180 DMA/WAIT CONTROL |
| **Name** | **Offset** | **Bytes** | **Description** |
|--------|----|----|-----------------------|
| PPIA | 0 | 1 | PPI PORT A |
| PPIB | 1 | 1 | PPI PORT B |
| PPIC | 2 | 1 | PPI PORT C |
| PPIX | 3 | 1 | PPI CONTROL PORT |
| DATREG | 4 | 1 | IO PORT ADDRESS FOR MODE 0 |
| CMDREG | 5 | 1 | IO PORT ADDRESS FOR MODE 1 |
| | | | _Below are the register mirror values_ |
| | | | _that HBIOS used for initialisation_ |
| REG. 0 | 6 | 1 | $00 - NO EXTERNAL VID
| REG. 1 | 7 | 1 | $50 or $70 - SET MODE 1 and interrupt if enabled |
| REG. 2 | 8 | 1 | $00 - PATTERN NAME TABLE := 0 |
| REG. 3 | 9 | 1 | $00 - NO COLOR TABLE |
| REG. 4 | 10 | 1 | $01 - SET PATTERN GENERATOR TABLE TO $800 |
| REG. 5 | 11 | 1 | $00 - SPRITE ATTRIBUTE IRRELEVANT |
| REG. 6 | 12 | 1 | $00 - NO SPRITE GENERATOR TABLE |
| REG. 7 | 13 | 1 | $F0 - WHITE ON BLACK |
| DCNTL* | 14 | 1 | Z180 DMA/WAIT CONTROL |
* ONLY PRESENT FOR Z180 BUILDS

13
Source/Doc/Build.cmd

@ -37,7 +37,10 @@ echo.
echo Processing document %1.md...
gpp -o %1.tmp -U "\\" "" "{" "}{" "}" "{" "}" "#" "" %1.md
::gpp -o %1.tmp %1.md
::gpp -o %1.tmp -U "\\" "" "{" "}{" "}" "{" "}" "#" "" %1.md
::gpp -o %1.tmp -U "" "" "(" "," ")" "(" ")" "#" "" -M "#" "\n" " " " " "\n" "(" ")" %1.md
gpp -o %1.tmp -U "$" "$" "{" "}{" "}$" "{" "}" "@@@" "" -M "$" "$" "{" "}{" "}$" "{" "}" %1.md
:: pandoc %1.tmp -f markdown -s -o %1.tex --default-image-extension=pdf || exit /b
:: pause
@ -46,9 +49,9 @@ gpp -o %1.tmp -U "\\" "" "{" "}{" "}" "{" "}" "#" "" %1.md
:: goto :eof
pandoc %1.tmp -f markdown -t pdf -s -o %1.pdf --default-image-extension=pdf || exit /b
pandoc %1.tmp -f markdown -t html -o %1.html --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t dokuwiki -o %1.dw --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t gfm -o %1.gfm --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t plain -o %1.txt --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t html -s -o %1.html --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t dokuwiki -s -o %1.dw --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t gfm -s -o %1.gfm --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t plain -s -o %1.txt --default-image-extension=png || exit /b
goto :eof

8
Source/Doc/Catalog.md

@ -1,7 +1,7 @@
\define{doc_title}{Disk Catalog}
\define{doc_author}{Mykl Orders}
\define{doc_authmail}{}
\include{"Common.h"}
$define{doc_title}{Disk Catalog}$
$define{doc_author}{Mykl Orders}$
$define{doc_authmail}{}$
$include{"Common.h"}$
# RomWBW Distribution File Catalog

39
Source/Doc/Common.h

@ -1,22 +1,19 @@
\define{doc_ver}{3.1 Pre-release}
\define{doc_product}{RomWBW}
\ifndef{doc_title} \define{doc_title}{Document Title} \endif
\ifndef{doc_author} \define{doc_author}{Wayne Warthen} \endif
\define{doc_date}{\date{%d %b %Y}}
\ifndef{doc_authmail} \define{doc_authmail}{wwarthen@gmail.com} \endif
\define{doc_orgname}{RetroBrew Computers Group}
\define{doc_orgurl}{www.retrobrewcomputers.org}
$define{doc_ver}{3.1 Pre-release}$
$define{doc_product}{RomWBW}$
$ifndef{doc_title}$ $define{doc_title}{Document Title}$ $endif$
$ifndef{doc_author}$ $define{doc_author}{Wayne Warthen}$ $endif$
$define{doc_date}{$date{%d %b %Y}$}$
$ifndef{doc_authmail}$ $define{doc_authmail}{wwarthen@gmail.com}$ $endif$
$define{doc_orgname}{RetroBrew Computers Group}$
$define{doc_orgurl}{www.retrobrewcomputers.org}$
---
# Force pandoc to enable graphics for Logo in title page!
graphics: true
title: |
| \doc_product \doc_title
|
| Version \doc_ver
author: \doc_author (mailto:\doc_authmail)
date: \doc_date
institution: \doc_orgname
title: $doc_product$ $doc_title$
author: $doc_author$ (mailto:$doc_authmail$)
date: $doc_date$
institution: $doc_orgname$
documentclass: book
classoption:
- oneside
@ -52,14 +49,14 @@ header-includes:
\includegraphics[width=\textwidth]{Graphics/Logo.pdf} \par
\vfill
\raggedleft
{\scshape \bfseries \fontsize{48pt}{56pt} \selectfont \doc_product \par}
{\bfseries \fontsize{32pt}{36pt} \selectfont \doc_title \par}
{\scshape \bfseries \fontsize{48pt}{56pt} \selectfont $doc_product$ \par}
{\bfseries \fontsize{32pt}{36pt} \selectfont $doc_title$ \par}
\vspace{24pt}
{\huge Version \doc_ver \\ \doc_date \par}
{\huge Version $doc_ver$ \\ $doc_date$ \par}
\vspace{24pt}
{\large \itshape \doc_orgname \\ \href{http://\doc_orgurl}{\doc_orgurl} \par}
{\large \itshape $doc_orgname$ \\ \href{http://$doc_orgurl$}{$doc_orgurl$} \par}
\vspace{12pt}
{\large \itshape \doc_author \\ \href{mailto:\doc_authmail}{\doc_authmail} \par}
{\large \itshape $doc_author$ \\ \href{mailto:$doc_authmail$}{$doc_authmail$} \par}
\end{titlepage}
}
\pagestyle{empty}
@ -78,5 +75,5 @@ include-before:
```{=latex}
\clearpage
\pagenumbering{arabic}
\lhead{\fancyplain{}{\nouppercase{\footnotesize \bfseries \leftmark \hfill \doc_product \doc_title}}}
\lhead{\fancyplain{}{\nouppercase{\footnotesize \bfseries \leftmark \hfill $doc_product$ $doc_title$}}}
```

12
Source/Doc/GettingStarted.md

@ -1,14 +1,14 @@
\define{doc_title}{GettingStarted}
\include{"Common.h"}
$define{doc_title}{Getting Started}$
$include{"Common.h"}$
# RomWBW
## Z80/Z180 System Software
| Version \doc_ver
| \doc_date
| Version $doc_ver$
| $doc_date$
\doc_author [\doc_authmail](mailto:\doc_authmail)
$doc_author$ [$doc_authmail$](mailto:$doc_authmail$)
### Download
@ -1351,4 +1351,4 @@ RetroBrew Computers projects is via the community forums:
Submission of issues and bugs are welcome at the
[RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW).
Also feel free to email \doc_author at [\doc_authmail](mailto:\doc_authmail).
Also feel free to email $doc_author$ at [$doc_authmail$](mailto:$doc_authmail$).

2
Source/Doc/Makefile

@ -13,7 +13,7 @@ include $(TOOLS)/Makefile.inc
all :: deploy
%.tmp : %.md
gpp -o $@ -U "\\" "" "{" "}{" "}" "{" "}" "#" "" $<
gpp -o $@ -U "$" "$" "{" "}{" "}$" "{" "}" "@@@" "" -M "$" "$" "{" "}{" "}$" "{" "}" $<
%.pdf : %.tmp
pandoc $< -f markdown -t latex -s -o $@ --default-image-extension=pdf

8
Source/Doc/ROM_Applications.md

@ -1,7 +1,7 @@
\define{doc_title}{ROM Applications}
\define{doc_author}{Phillip Summers}
\define{doc_authmail}{}
\include{"Common.h"}
$define{doc_title}{ROM Applications}$
$define{doc_author}{Phillip Summers}$
$define{doc_authmail}{}$
$include{"Common.h"}$
# Summary

BIN
Source/Images/d_bp/u15/save.com

Binary file not shown.
Loading…
Cancel
Save