Browse Source

Merge pull request #2 from wwarthen/master

Resync
pull/35/head
b1ackmai1er 7 years ago
committed by GitHub
parent
commit
ca3ba80fd8
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 32
      Binary/ReadMe.txt
  2. 11
      Binary/RomList.txt
  3. 1
      Doc/ChangeLog.txt
  4. 20
      Doc/ReadMe.txt
  5. 18
      ReadMe.txt
  6. 2
      Source/CBIOS/ver.inc
  7. 70
      Source/HBIOS/hbios.asm
  8. 16
      Source/HBIOS/std.asm
  9. 2
      Source/HBIOS/ver.inc
  10. 26
      Source/Prop/ReadMe.txt
  11. 46
      Source/ReadMe.txt
  12. 16
      Tools/ReadMe.txt

32
Binary/ReadMe.txt

@ -17,15 +17,14 @@ released the directory is populated with the default output files.
However, the output of custom builds will be placed in this directory However, the output of custom builds will be placed in this directory
as well. as well.
If you only see a few files in this directory, then you downloaded just
the source from GitHub. To retrieve the full release download package,
go to https://github.com/wwarthen/RomWBW. On this page, look for the
text "XX releases" where XX is a number. Click on this text to go to the
releases page. On this page, you will see the latest releases listed.
For each release, you will see a package file called something like
"RomWBW-2.9.0-Package.zip". Click on the package file for the release
you want to download.
If you only see a few files in this directory, then you downloaded
just the source from GitHub. To retrieve the full release download
package, go to https://github.com/wwarthen/RomWBW. On this page,
look for the text "XX releases" where XX is a number. Click on this
text to go to the releases page. On this page, you will see the
latest releases listed. For each release, you will see a package
file called something like "RomWBW-2.9.0-Package.zip". Click on the
package file for the release you want to download.
ROM Firmware Images (<plt>_<cfg>.rom) ROM Firmware Images (<plt>_<cfg>.rom)
------------------------------------- -------------------------------------
@ -33,15 +32,15 @@ ROM Firmware Images (<plt>_<cfg>.rom)
The files with a ".rom" extension are binary images ready to program The files with a ".rom" extension are binary images ready to program
into an appropriate PROM. These files are named with the format into an appropriate PROM. These files are named with the format
<plt>_<cfg>.rom. <plt> refers to the primary platform such as Zeta, <plt>_<cfg>.rom. <plt> refers to the primary platform such as Zeta,
N8, Mark IV, etc. <cfg> refers to the specific configuration. When
released, there will be a standard configuration ("std") for each
N8, Mark IV, etc. <cfg> refers to the specific configuration. In
general, there will be a standard configuration ("std") for each
platform. So, for example, the file called MK4_std.rom is a ROM platform. So, for example, the file called MK4_std.rom is a ROM
image for the Mark IV with the standard configuration. If a custom image for the Mark IV with the standard configuration. If a custom
configuration called "custom" is created and built, a new file called configuration called "custom" is created and built, a new file called
MK4_custom.rom will be added to this directory. MK4_custom.rom will be added to this directory.
Documentation of the pre-built ROM Images is contained in the Documentation of the pre-built ROM Images is contained in the
RomList.txt file.
RomList.txt file in this directory.
ROM Executable Images (<plt>_<cfg>.com) ROM Executable Images (<plt>_<cfg>.com)
--------------------------------------- ---------------------------------------
@ -55,6 +54,11 @@ When run on the target system, they install in RAM just like they had
been programmed into the ROM. This allows a new ROM build to be been programmed into the ROM. This allows a new ROM build to be
tested without reprogramming the actual ROM. tested without reprogramming the actual ROM.
WARNING: In a few cases the .com file is too big to load. If you get
a message like "Full" or "BAD LOAD" when trying to load one of the
.com files, it is too big. In these cases, you will not be able to
test the ROM prior to programming it.
ROM Binary Images (<plt>_<cfg>.img) ROM Binary Images (<plt>_<cfg>.img)
----------------------------------- -----------------------------------
@ -84,7 +88,9 @@ RomWBW-based system.
Essentially, these files contain prepared floppy and hard disk images Essentially, these files contain prepared floppy and hard disk images
with a large set of programs and related files. By copying the with a large set of programs and related files. By copying the
contents of these files to appropriate media as described below, you contents of these files to appropriate media as described below, you
can quickly create ready-to-use media.
can quickly create ready-to-use media. Win32DiskImager or
RawWriteWin can be used to copy images directly to media. These
programs are included in the RomWBW Tools directory.
The fd*.img files are floppy disk images. They are sized for 1.44MB The fd*.img files are floppy disk images. They are sized for 1.44MB
floppy media and can be copied to actual floppy disks using floppy media and can be copied to actual floppy disks using

11
Binary/RomList.txt

@ -50,14 +50,19 @@ ROM on-the-fly. It is an excellent way to test a ROM Image before
actually burning it. Similarly, the .img files can be loaded using actually burning it. Similarly, the .img files can be loaded using
the UNA FAT loader for testing. the UNA FAT loader for testing.
All of the standard ROM Images are configured with:
WARNING: In a few cases the .com file is too big to load. If you get
a message like "Full" or "BAD LOAD" when trying to load one of the
.com files, it is too big. In these cases, you will not be able to
test the ROM prior to programming it.
All of the standard ROM Images are configured for:
- 512KB ROM Disk - 512KB ROM Disk
- 512KB RAM Disk - 512KB RAM Disk
- 38.4Kbps baud serial console (*) - 38.4Kbps baud serial console (*)
- Auto-discovery of all serial ports - Auto-discovery of all serial ports
* RC2014 & Easy Z80 serial port speed is determined by hardware
and is typically 115,200 baud.
* RC2014 Z80 & Easy Z80 serial port speed is determined by hardware
and is typically 115,200 baud. RC2014 Z180 is normal 38.4Kbps.
All hard disk type devices (IDE, PPIDE, CF Card, SD Card) will be All hard disk type devices (IDE, PPIDE, CF Card, SD Card) will be
automatically assigned two drive letters per device. The drive automatically assigned two drive letters per device. The drive

1
Doc/ChangeLog.txt

@ -30,6 +30,7 @@ Version 2.9.1
- WBW: Added beta version of FAT filesystem utility (copy, dir, del, ren) - WBW: Added beta version of FAT filesystem utility (copy, dir, del, ren)
- SCC: Added support for native memory addressing on Z180-based RC2014 - SCC: Added support for native memory addressing on Z180-based RC2014
- PMS: Dynamically discover and display processor type at boot - PMS: Dynamically discover and display processor type at boot
- J?L: Added German keyboard support to PPK and KBD drivers
Version 2.9.0 Version 2.9.0
------------- -------------

20
Doc/ReadMe.txt

@ -10,31 +10,41 @@ This directory ("Doc") is part of the RomWBW System Software
distribution archive. It contains documentation for components of distribution archive. It contains documentation for components of
the system. the system.
CPM Manual:
CPM Manual ("CPM Manual.pdf")
-----------------------------
The original DRI CP/M 2.x Operating System Manual. This should be The original DRI CP/M 2.x Operating System Manual. This should be
considered the primary reference for system operation. The section considered the primary reference for system operation. The section
on CP/M 2 Alteration can be ignored since this work has already been on CP/M 2 Alteration can be ignored since this work has already been
completed as part of the RomWBW distribution. completed as part of the RomWBW distribution.
FDisk Manual:
DDTZ Manual ("DDTZ.doc")
------------------------
Manual for the DDTZ v2.7 debug tool included on the ROM drive.
FDisk Manual ("FDisk Manual.pdf")
---------------------------------
The operational manual for John Coffman's hard disk partitioning The operational manual for John Coffman's hard disk partitioning
program. This program is included in RomWBW as FDISK80. program. This program is included in RomWBW as FDISK80.
RomWBW Architecture:
RomWBW Architecture ("RomWBW Architecture.pdf")
-----------------------------------------------
Document describing the architecture of the RomWBW HBIOS. It Document describing the architecture of the RomWBW HBIOS. It
includes reference information for the HBIOS calls. includes reference information for the HBIOS calls.
ZCPR Manual:
ZCPR Manual ("ZCPR Manual.pdf")
-------------------------------
ZCPR is the command proccessor portion of Z-System. This is the ZCPR is the command proccessor portion of Z-System. This is the
manual for ZCPR 1.x as included in RomWBW. The installation manual for ZCPR 1.x as included in RomWBW. The installation
instructions can be ignored since that work has already been instructions can be ignored since that work has already been
completed as part of the RomWBW distribution. completed as part of the RomWBW distribution.
ZSDOS Manual:
ZSDOS Manual ("ZSDOS Manual.pdf")
---------------------------------
ZSDOS is the DOS portion of Z-System. This is the manual fo ZSDOS ZSDOS is the DOS portion of Z-System. This is the manual fo ZSDOS
1.x as included in RomWBW. The installation instructions can be 1.x as included in RomWBW. The installation instructions can be

18
ReadMe.txt

@ -7,14 +7,15 @@
*********************************************************************** ***********************************************************************
Wayne Warthen (wwarthen@gmail.com) Wayne Warthen (wwarthen@gmail.com)
Version 2.9.1-pre.15, 2019-05-15
Version 2.9.1-pre.16, 2019-05-25
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
all RetroBrew Computers Z80/Z180 hardware platforms including SBC all RetroBrew Computers Z80/Z180 hardware platforms including SBC
1/2, Zeta 1/2, N8, Mark IV, and RC2014. Virtually all RetroBrew
hardware is supported including floppy, hard disk (IDE, CF Card, SD
Card), Video, and keyboard. VT-100 terminal emulation is built-in.
1/2, Zeta 1/2, N8, Mark IV, RC2014, and Easy Z80. Virtually all
RetroBrew hardware is supported including floppy, hard disk (IDE, CF
Card, SD Card), Video, and keyboard. VT-100 terminal emulation is
built-in.
The RomWBW ROM loads and runs the built-in operating systems directly The RomWBW ROM loads and runs the built-in operating systems directly
from the ROM and includes a selection of standard/useful applications from the ROM and includes a selection of standard/useful applications
@ -219,8 +220,9 @@ Current inclusions are:
Note: To exit type B in Monitor and BYE in other applications. Note: To exit type B in Monitor and BYE in other applications.
Space is available in the ROM image for the inclusion of other software.
Any inbuild application can be set up to launch automatically at startup.
Space is available in the ROM image for the inclusion of other
software. Any inbuild application can be set up to launch
automatically at startup.
Source Code Respository Source Code Respository
----------------------- -----------------------
@ -281,8 +283,8 @@ RetroBrew Computers projects is via the community forum at
Also feel free to email Wayne Warthen at wwarthen@gmail.com. Also feel free to email Wayne Warthen at wwarthen@gmail.com.
To Do
-----
Documentation To Do
-------------------
- Formatting Media - Formatting Media
- Making a Disk Bootable - Making a Disk Bootable

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.15"
#DEFINE BIOSVER "2.9.1-pre.16"

70
Source/HBIOS/hbios.asm

@ -945,11 +945,13 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
LD HL,MSG_HBVER LD HL,MSG_HBVER
CALL DSKY_SHOWSEG CALL DSKY_SHOWSEG
#ENDIF #ENDIF
#IF (WBWDEBUG=USEMIO) ; BUFFER OUTPUT UNTIL
;
#IF (WBWDEBUG == USEMIO) ; BUFFER OUTPUT UNTIL
CALL MIO_INIT ; WE GET TO BOOT MESSAGE CALL MIO_INIT ; WE GET TO BOOT MESSAGE
#ENDIF #ENDIF
; ;
#IF 0
;
; TEST DEBUG *************************************************************************************** ; TEST DEBUG ***************************************************************************************
; ;
PRTS("DEBUG-IVT$") PRTS("DEBUG-IVT$")
@ -959,6 +961,7 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
; ;
; TEST DEBUG *************************************************************************************** ; TEST DEBUG ***************************************************************************************
; ;
#ENDIF
; ;
; DISCOVER CPU TYPE ; DISCOVER CPU TYPE
; ;
@ -1031,7 +1034,8 @@ HB_CPU1:
; ;
; PRE-CONSOLE INITIALIZATION ; PRE-CONSOLE INITIALIZATION
; ;
#IF 0
;
; TEST DEBUG *************************************************************************************** ; TEST DEBUG ***************************************************************************************
; ;
CALL NEWLINE CALL NEWLINE
@ -1039,6 +1043,8 @@ HB_CPU1:
; ;
; TEST DEBUG *************************************************************************************** ; TEST DEBUG ***************************************************************************************
; ;
#ENDIF
;
#IF (ASCIENABLE) #IF (ASCIENABLE)
CALL ASCI_PREINIT CALL ASCI_PREINIT
#ENDIF #ENDIF
@ -1054,12 +1060,17 @@ HB_CPU1:
#IF (PIO_4P | PIO_ZP) #IF (PIO_4P | PIO_ZP)
CALL PIO_PREINIT CALL PIO_PREINIT
#ENDIF #ENDIF
;
#IF 0
;
; TEST DEBUG *************************************************************************************** ; TEST DEBUG ***************************************************************************************
; ;
CALL NEWLINE CALL NEWLINE
CALL REGDMP CALL REGDMP
; ;
; TEST DEBUG *************************************************************************************** ; TEST DEBUG ***************************************************************************************
;
#ENDIF
; ;
DIAG(%01111111) DIAG(%01111111)
; ;
@ -1070,7 +1081,7 @@ HB_CPU1:
XOR A ; INITIALLY, FIRST SERIAL UNIT IS CONSOLE XOR A ; INITIALLY, FIRST SERIAL UNIT IS CONSOLE
LD (CB_CONDEV),A ; SAVE IT, ACTIVATES CONSOLE ON HBIOS LD (CB_CONDEV),A ; SAVE IT, ACTIVATES CONSOLE ON HBIOS
#IF (WBWDEBUG=USEMIO) ; OUTPUT ANY CACHED DEBUG TEXT
#IF (WBWDEBUG == USEMIO) ; OUTPUT ANY CACHED DEBUG TEXT
LD HL,MIOOUTPTR LD HL,MIOOUTPTR
LD E,(HL) LD E,(HL)
INC HL INC HL
@ -1088,6 +1099,8 @@ NXTMIO: LD A,(HL)
; CALL WRITESTR ; WRITESTR WILL WORK WILL ONLY PRINT UP TO FIRST $ ; CALL WRITESTR ; WRITESTR WILL WORK WILL ONLY PRINT UP TO FIRST $
#ENDIF #ENDIF
; ;
#IF 0
;
; TEST DEBUG *************************************************************************************** ; TEST DEBUG ***************************************************************************************
; ;
CALL NEWLINE2 CALL NEWLINE2
@ -1097,6 +1110,8 @@ NXTMIO: LD A,(HL)
; ;
; TEST DEBUG *************************************************************************************** ; TEST DEBUG ***************************************************************************************
; ;
#ENDIF
;
; ANNOUNCE HBIOS ; ANNOUNCE HBIOS
; ;
CALL NEWLINE2 CALL NEWLINE2
@ -1322,16 +1337,34 @@ PSCNX .EQU $ + 1
; ;
CALL NEWLINE2 CALL NEWLINE2
PRTX(STR_PLATFORM) PRTX(STR_PLATFORM)
;
LD A,(HB_CPUTYPE) ; GET CPU TYPE
OR A ; SET FLAGS
LD DE,HB_STRZ80 ; Z80
JR Z,HB_PCPU ; IF Z80, PRINT IT
DEC A ; NEXT CPU TYPE
LD DE,HB_STRZ180 ; Z80180
JR Z,HB_PCPU ; IF Z80180, PRINT IT
DEC A ; NEXT CPU TYPE
LD DE,HB_STRZS180K ; Z8S180 REV K
JR Z,HB_PCPU ; IF Z8S180-K, PRINT IT
LD DE,HB_STRZS180N ; Z8S180 REV N
JR HB_PCPU ; PRINT Z8S180-N
;
HB_STRZ80 .TEXT " Z80$"
HB_STRZ180 .TEXT " Z80180$"
HB_STRZS180K .TEXT " Z8S180-K$"
HB_STRZS180N .TEXT " Z8S180-N$"
;
HB_PCPU:
CALL WRITESTR ; PRINT IT
;
PRTS(" @ $") PRTS(" @ $")
LD HL,(CB_CPUKHZ) LD HL,(CB_CPUKHZ)
CALL PRTD3M ; PRINT AS DECIMAL WITH 3 DIGIT MANTISSA CALL PRTD3M ; PRINT AS DECIMAL WITH 3 DIGIT MANTISSA
PRTS("MHz$") PRTS("MHz$")
; ;
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RCZ180)) #IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RCZ180))
LD A,(HB_CPUTYPE) ; GET CPU TYPE
PRTS(" REV=$")
ADD A,$30 ; MAKE DISPLAYABLE DIGIT
CALL COUT
PRTS(" IO=0x$") PRTS(" IO=0x$")
LD A,Z180_BASE LD A,Z180_BASE
CALL PRTHEXBYTE CALL PRTHEXBYTE
@ -1339,8 +1372,6 @@ PSCNX .EQU $ + 1
; ;
; DISPLAY CPU CONFIG ; DISPLAY CPU CONFIG
; ;
;CALL PRTSTRD
;.TEXT ", $"
CALL NEWLINE CALL NEWLINE
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RCZ180)) #IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RCZ180))
LD A,Z180_MEMWAIT LD A,Z180_MEMWAIT
@ -2746,10 +2777,10 @@ SIZ_PIO .EQU $ - ORG_PIO
#INCLUDE "bcd.asm" #INCLUDE "bcd.asm"
#INCLUDE "decode.asm" #INCLUDE "decode.asm"
; ;
#IF WBWDEBUG=USEXIO
#IF (WBWDEBUG == USEXIO)
#INCLUDE "xio.asm" #INCLUDE "xio.asm"
#ENDIF #ENDIF
#IF WBWDEBUG=USEMIO
#IF (WBWDEBUG == USEMIO)
#INCLUDE "mio.asm" #INCLUDE "mio.asm"
#ENDIF #ENDIF
; ;
@ -3544,11 +3575,12 @@ COUT:
; ;
COUT1: COUT1:
; ;
#IF WBWDEBUG=USEXIO
#IF (WBWDEBUG == USEXIO)
LD A,E ; GET OUTPUT CHAR BACK TO ACCUM LD A,E ; GET OUTPUT CHAR BACK TO ACCUM
CALL XIO_OUTC ; OUTPUT VIA XIO CALL XIO_OUTC ; OUTPUT VIA XIO
#ENDIF #ENDIF
#IF WBWDEBUG=USEMIO
;
#IF (WBWDEBUG == USEMIO)
LD A,E LD A,E
CALL MIO_OUTC ; OUTPUT VIA MIO CALL MIO_OUTC ; OUTPUT VIA MIO
#ENDIF #ENDIF
@ -3582,10 +3614,11 @@ CIN:
; ;
CIN1: CIN1:
; ;
#IF WBWDEBUG=USEXIO
#IF (WBWDEBUG == USEXIO)
CALL XIO_INC ; GET CHAR CALL XIO_INC ; GET CHAR
#ENDIF #ENDIF
#IF WBWDEBUG=USEMIO
;
#IF (WBWDEBUG == USEMIO)
CALL MIO_INC ; GET CHAR CALL MIO_INC ; GET CHAR
#ENDIF #ENDIF
; ;
@ -3617,10 +3650,11 @@ CST:
; ;
CST1: CST1:
; ;
#IF WBWDEBUG=USEXIO
#IF (WBWDEBUG == USEXIO)
CALL XIO_IST ; GET STATUS CALL XIO_IST ; GET STATUS
#ENDIF #ENDIF
#IF WBWDEBUG=USEMIO
;
#IF (WBWDEBUG == USEMIO)
CALL MIO_IST ; GET STATUS CALL MIO_IST ; GET STATUS
#ENDIF #ENDIF
; ;

16
Source/HBIOS/std.asm

@ -276,31 +276,31 @@ IVT_PIO3 .EQU 24
; SET PLATFORM NAME STRING ; SET PLATFORM NAME STRING
; ;
#IF (PLATFORM == PLT_SBC) #IF (PLATFORM == PLT_SBC)
#DEFINE PLATFORM_NAME "SBC Z80"
#DEFINE PLATFORM_NAME "SBC"
#ENDIF #ENDIF
#IF (PLATFORM == PLT_ZETA) #IF (PLATFORM == PLT_ZETA)
#DEFINE PLATFORM_NAME "ZETA Z80"
#DEFINE PLATFORM_NAME "ZETA"
#ENDIF #ENDIF
#IF (PLATFORM == PLT_ZETA2) #IF (PLATFORM == PLT_ZETA2)
#DEFINE PLATFORM_NAME "ZETA Z80 V2"
#DEFINE PLATFORM_NAME "ZETA V2"
#ENDIF #ENDIF
#IF (PLATFORM == PLT_N8) #IF (PLATFORM == PLT_N8)
#DEFINE PLATFORM_NAME "N8 Z180"
#DEFINE PLATFORM_NAME "N8"
#ENDIF #ENDIF
#IF (PLATFORM == PLT_MK4) #IF (PLATFORM == PLT_MK4)
#DEFINE PLATFORM_NAME "MARK IV Z180"
#DEFINE PLATFORM_NAME "MARK IV"
#ENDIF #ENDIF
#IF (PLATFORM == PLT_UNA) #IF (PLATFORM == PLT_UNA)
#DEFINE PLATFORM_NAME "UNA" #DEFINE PLATFORM_NAME "UNA"
#ENDIF #ENDIF
#IF (PLATFORM == PLT_RCZ80) #IF (PLATFORM == PLT_RCZ80)
#DEFINE PLATFORM_NAME "RC2014 Z80"
#DEFINE PLATFORM_NAME "RC2014"
#ENDIF #ENDIF
#IF (PLATFORM == PLT_RCZ180) #IF (PLATFORM == PLT_RCZ180)
#DEFINE PLATFORM_NAME "RC2014 Z180"
#DEFINE PLATFORM_NAME "RC2014"
#ENDIF #ENDIF
#IF (PLATFORM == PLT_EZZ80) #IF (PLATFORM == PLT_EZZ80)
#DEFINE PLATFORM_NAME "EASY Z80"
#DEFINE PLATFORM_NAME "EASY"
#ENDIF #ENDIF
; ;
; INCLUDE PLATFORM SPECIFIC HARDWARE DEFINITIONS ; INCLUDE PLATFORM SPECIFIC HARDWARE DEFINITIONS

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.15"
#DEFINE BIOSVER "2.9.1-pre.16"

26
Source/Prop/ReadMe.txt

@ -1,12 +1,18 @@
The Prop directory contains the files used to build the EEPROM
firmware images for the Propeller based boards supported by
RomWBW.
***********************************************************************
*** ***
*** R o m W B W ***
*** ***
*** Z80/Z180 System Software ***
*** ***
***********************************************************************
The build process places the resulting ROM image files in the
Binary directory. The firmware images are intended to integrate
with a host CPU board running RomWBW. The following images are
created:
This directory contains the files used to build the EEPROM firmware
images for the Propeller based boards supported by RomWBW.
PropIO.eeprom for use with original PropIO
PropIO2.eeprom for use with PropIO V2
ParPortProp.eeprom for use with Zeta ParPortProp
The build process places the resulting ROM image files in the Binary
directory. The firmware images are intended to integrate with a host
CPU board running RomWBW. The following images are created:
- PropIO.eeprom for use with original PropIO
- PropIO2.eeprom for use with PropIO V2
- ParPortProp.eeprom for use with Zeta ParPortProp

46
Source/ReadMe.txt

@ -35,7 +35,7 @@ Build System Requirements
All that is required to build the firmware is a computer running All that is required to build the firmware is a computer running
Microsoft Windows and the RomWBW distribution zip archive file. Microsoft Windows and the RomWBW distribution zip archive file.
The zip archive includes all of the required source code
The zip archive package includes all of the required source code
(including the operating systems) and the programs required to run (including the operating systems) and the programs required to run
the build. the build.
@ -60,10 +60,13 @@ The basic steps to create a custom ROM are:
4) Program the resultant ROM image and try it. 4) Program the resultant ROM image and try it.
It is *not* necessary to perform steps 1 or 2 before running a
build. In fact, I strongly recommend that you perform steps 3 and
4 initially to make sure that you have no issues building and
programming a ROM that works the same as a pre-built ROM.
Note that steps 1 and 2 are performed to customize your ROM as
desired. If you want to simply build a standard configuration, it is
*not* necessary to perform steps 1 or 2 before running a build. In
fact, I strongly recommend that you skip steps 1 and 2 initially and
just perform perform steps 3 and 4 using the standard configuraion to
make sure that you have no issues building and programming a ROM that
works the same as a pre-built ROM.
Each of the 4 steps above is described in more detail below. Each of the 4 steps above is described in more detail below.
@ -81,7 +84,7 @@ series of files named <plt>_<cfg>.asm where <plt> refers to the
CPU board in your system and <cfg> is used to name the specific CPU board in your system and <cfg> is used to name the specific
configuration so you can maintain multiple configurations. configuration so you can maintain multiple configurations.
You will notice that there is initially one configuration file for
You will notice that there is generaly one configuration file for
each CPU platform with a name of "std". For example, you there is each CPU platform with a name of "std". For example, you there is
a file called MK4_std.asm. This is the standard ("std") a file called MK4_std.asm. This is the standard ("std")
configuration for a Mark IV CPU board. configuration for a Mark IV CPU board.
@ -90,20 +93,21 @@ The platform names are predefined. Refer to the following table
to determine the <plt> component of the configuration filename: to determine the <plt> component of the configuration filename:
SBC V1/V2 SBC_std.rom SBC V1/V2 SBC_std.rom
SBC SimH SBC_simh.rom
Zeta V1 ZETA_std.rom Zeta V1 ZETA_std.rom
Zeta V2 ZETA2_std.rom Zeta V2 ZETA2_std.rom
N8 N8_std.rom N8 N8_std.rom
Mark IV MK4_std.rom Mark IV MK4_std.rom
RC2014 RC_std.rom RC2014 RC_std.rom
Easy Z80 EZZ80_std.rom
RC2014 w/ Z180 RC180_nat.rom (native Z180 memory addressing)
RC2014 w/ Z180 RC180_ext.rom (512K RAM/ROM module)
Easy Z80 EZZ180_std.rom
You can use any name you choose for the <cfg> component of the You can use any name you choose for the <cfg> component of the
configuration filename. So, let's say you want to create a custom configuration filename. So, let's say you want to create a custom
ROM for the Mark IV. You would simply copy "MK4_std.asm" to ROM for the Mark IV. You would simply copy "MK4_std.asm" to
something like "MK4_cust.asm".
Now, just edit the new file ("MK4_cust.asm" in this example) as
desired.
something like "MK4_cust.asm". Now, just edit the new file
("MK4_cust.asm" in this example) as desired.
You will see that the file already has lines for all of the common You will see that the file already has lines for all of the common
options and there is a comment after each option indicating the options and there is a comment after each option indicating the
@ -148,6 +152,10 @@ with the platform specified in the ROM Build.
There is a ReadMe.txt document in the \Source\RomDsk directory There is a ReadMe.txt document in the \Source\RomDsk directory
with a more detailed description of this process. with a more detailed description of this process.
Note that the standard 512K ROM disk is absolutely full. So, if
you want to add files to it, you will need to delete other files
to free up some space.
3. Run the Build Process 3. Run the Build Process
------------------------ ------------------------
@ -180,7 +188,7 @@ This command will prompt you twice as it runs. These prompts
determine the platform and configuration to be built. The first determine the platform and configuration to be built. The first
prompt is for the platform, as shown below: prompt is for the platform, as shown below:
Platform [SBC|ZETA|ZETA2|N8|MK4|UNA]:
Platform [SBC|ZETA|ZETA2|RCZ80|EZZ80|RCZ180|N8|MK4|UNA]:
Enter the option corresponding to the platform of the ROM firmware Enter the option corresponding to the platform of the ROM firmware
you are building. If you enter something other than one of the you are building. If you enter something other than one of the
@ -232,7 +240,7 @@ used:
Upon completion of a successful build, you should find the Upon completion of a successful build, you should find the
resulting firmware in the Binary directory. These output files resulting firmware in the Binary directory. These output files
will have names that match the config filename, but will different
will have names that match the config filename, but with different
extensions. extensions.
Three output files will be created for a single BuildROM run: Three output files will be created for a single BuildROM run:
@ -257,22 +265,24 @@ information on the other two file extensions created.
Specifying Build Options on Command Line Specifying Build Options on Command Line
---------------------------------------- ----------------------------------------
If you don't want to be prompted for the options to the "BuildROM"
If you don't want to be prompteded for the options to the "BuildROM"
command, you can specify the options right on the command line. command, you can specify the options right on the command line.
For example: For example:
C:\RomWBW\Source> BuildROM MK4 cust C:\RomWBW\Source> BuildROM MK4 cust
In this case, you will not be prompted. This is useful if you
wish to automate your build process.
In this case, you will not be prompted. This is useful if you wish
to automate your build process.
There is a third parameter that you can specify to the BuildROM There is a third parameter that you can specify to the BuildROM
command via a command line. If you want to build a 1024K (1MB)
ROM, you can add "1024" to the end of the line, like this:
command via a command line. If you want to build a 1024K (1MB) ROM,
you can add "1024" to the end of the line, like this:
C:\RomWBW\Source> BuildROM MK4 cust 1024 C:\RomWBW\Source> BuildROM MK4 cust 1024
You must ensure that your system actually supports a 1024K ROM.
Special Build Commands Special Build Commands
---------------------- ----------------------

16
Tools/ReadMe.txt

@ -20,17 +20,17 @@ does for MS-DOS.
bst: bst:
The bst tool set is a multi-platform set of tools for developing
with the Parallax Propeller microcontroller. bst stands for
“Brad's Spin Tool”, however it is never capitalised. This toolset
is used to compile the Propeller firmware for PropIO and
ParPortProp.
The bst tool set is a multi-platform set of tools for developing with
the Parallax Propeller microcontroller. bst stands for “Brad's Spin
Tool”, however it is never capitalised. This toolset is used to
compile the Propeller firmware for PropIO and ParPortProp.
cpm: cpm:
This is the root of a directory tree containing CP/M-80 programs.
These programs are used (via the Windows CP/M command line
emulator 'zx') to build certain components of RomWBW. The use of
This is the root of a directory tree containing native CP/M-80
programs. These programs cannot be invoked directly by DOS/Windows.
Instead, they are executed via the Windows CP/M command line
emulator 'zx' to build certain components of RomWBW. The use of
real CP/M-80 programs as part of the build process ensures proper real CP/M-80 programs as part of the build process ensures proper
construction of these components. construction of these components.

Loading…
Cancel
Save