Browse Source

Reintegrate wbw -> trunk

pull/3/head
wwarthen 11 years ago
parent
commit
c754fcdb99
  1. 7
      Doc/ChangeLog.txt
  2. 8
      ReadMe.txt
  3. 200
      RomList.txt
  4. 11
      Source/BIOS/cbios.asm
  5. 8
      Source/BIOS/hbios.asm
  6. 4
      Source/BIOS/loader.asm
  7. 4
      Source/BIOS/ver.inc
  8. BIN
      Tools/zx/zx.exe
  9. BIN
      Tools/zx/zxdbg.exe

7
Doc/ChangeLog.txt

@ -1,10 +1,15 @@
Version 2.7.1
- WBW: Support loading from image file (UNA FSFAT)
-------------
- WBW: Replace XZ with XP compatible build (no functional changes)
- WBW: Reset BDOS serial number on warm start
- WBW: Turn off DRAM refresh on Z180 (fixes Z180 CPU speed detection)
Version 2.7.0
-------------
- WBW: Memory page reorganization
- WBW: Support for Zeta 2 (from Sergey Kiselev)
- WBW: Support loading from image file (UNA FSFAT)
- WBW: Dynamic CPU speed detection
Version 2.6.5
-------------

8
ReadMe.txt

@ -8,12 +8,12 @@ Builders: Wayne Warthen (wwarthen@gmail.com)
Douglas Goodall (douglas_goodall@mac.com)
David Giles (vk5dg@internode.on.net)
Updated: 2015-04-02
Version: 2.7.0
Updated: 2015-04-07
Version: 2.7.1
This is an adaptation of CP/M-80 2.2 and ZSDOS/ZCPR
targeting ROMs for all N8VEM Z80 hardware variations
including SBC, Zeta, N8, and Mark IV.
including SBC 1/2, Zeta 1/2, N8, and Mark IV.
NOTE: This is very much a work-in-progress. It is
severely lacking appropriate documentation. I am
@ -90,7 +90,7 @@ UNA Variant
-----------
RomWBW will now run under it's native BIOS (HBIOS) or
under UNA BIOS (UBIOS). There is a pre-built ROM
under UNA BIOS (UBIOS). There are pre-built ROM
images for UNA in the Output directory.
CP/M vs. ZSystem

200
RomList.txt

@ -4,6 +4,23 @@ Refer to the descriptions below to select
one that matches your hardware
configuration, burn it, and use it.
All builds have the following:
- 512KB ROM Disk
- 512KB RAM Disk
- 38.4Kbps baud console
All of the above can be modified by using
a custom build. See Build.txt in the
Doc directory.
Note have all hard disk units are assumed to have
at least 2 slices and therefore two drive letters
are assigned per disk unit by default. However,
you can easily add/remove drive letters and slices
by using the ASSIGN command to modify drive
letter to disk/slice mapping on the fly at
the command line.
Note that there are no longer separate
ROM images for CP/M and ZSystem. Both
OS variants are now imbedded in the ROM
@ -11,264 +28,169 @@ image and you are given the ability to
choose the one you want to boot at
startup.
Note that all builds are now set for 512KB ROMs.
The builds will work fine in 1MB ROMs. If you
want to use the full 1MB ROM address space, just
do a cutom build.
Note that all builds are now set for 38.4Kbps
baud rate on the console with 8 data bits, no
parity, and 1 stop bit. The baud rate can be
changed in the config file if you want to do a
custom build.
N8VEM_std.rom for N8VEM Z80 SBC V1/V2:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk (no floppy/IDE)
- Drives A:=ROM, B:=RAM
N8VEM_diskio.rom for N8VEM Z80 SBC V1/V2 + DISKIO:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via DISKIO
- IDE support via DISKIO
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0-00, F:=IDE0-01, G:=IDE0-02, H:=IDE0-03
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0:00, F:=IDE0:01
N8VEM_dide.rom for N8VEM Z80 SBC V1/V2 + DUAL IDE:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via DISKIO
- IDE support via DISKIO
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0-00, F:=IDE0-01, G:=IDE0-02, H:=IDE0-03
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0:00, F:=IDE0:01
N8VEM_diskio3.rom for N8VEM Z80 SBC V1/V2 + DISKIO3:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via DISKIO3
- IDE support via DISKIO3
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0-00, F:=IDE0-01, G:=IDE0-02, H:=IDE0-03
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0:00, F:=IDE0:01
N8VEM_diskio3+cvdu.rom for N8VEM Z80 SBC V1/V2 + DISKIO3:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via DISKIO3
- IDE support via DISKIO3
- ColorVDU board support
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0-00, F:=IDE0-01, G:=IDE0-02, H:=IDE0-03
- NOTE: Console defaults to CRT & PS/2 Keyboard. Short JP2
(one bit input port) to use the serial port as the console.
- Console defaults to VGA & PS/2 Keyboard. Short JP2 (CONFIG)
to use the serial port as the console.
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0:00, F:=IDE0:01
N8VEM_ppide.rom for N8VEM Z80 SBC V1/V2 + PPIDE:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- PPIDE support via built-in PPI
- Drives A:=ROM, B:=RAM, C:=PPIDE0-00, D:=PPIDE0-01, E:=PPIDE0-02, F:=PPIDE0-03
- Drives A:=ROM, B:=RAM, C:=PPIDE0:00, D:=PPIDE0:01
N8VEM_ppisd.rom for N8VEM Z80 SBC V1/V2 + PPISD:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- PPISD support
- Drives A:=ROM, B:=RAM, C:=SD0-00, D:=SD0-01, E:=SD0-02, F:=SD0-03
- Drives A:=ROM, B:=RAM, C:=SD0:00, D:=SD0:01
N8VEM_dsd.rom for N8VEM Z80 SBC V1/V2 + Dual SD:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Dual SD support
- Drives A:=ROM, B:=RAM, C:=SD0-00, D:=SD0-01, E:=SD0-02, F:=SD0-03
- Drives A:=ROM, B:=RAM, C:=SD0:00, D:=SD0:01
N8VEM_propio.rom for N8VEM Z80 SBC V1/V2 + PROPIO:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- SD Card support via PropIO
- VGA console support via PropIO
- PS/2 Keyboard support via PropIO
- Drives A:=ROM, B:=RAM, C:=PRPSD0-00, D:=PRPSD0-01, E:=PRPSD0-02, F:=PRPSD0-03
- WARNING: You must use the RomWBW specific firmware
- You *MUST* use the RomWBW specific firmware
for the Propeller found in the Support directory!
- NOTE: Console defaults to VGA & PS/2 Keyboard. Short JP2
(one bit input port) to use the serial port as the console.
- Console defaults to VGA & PS/2 Keyboard. Short JP2 (CONFIG)
to use the serial port as the console.
- Drives A:=ROM, B:=RAM, C:=PRPSD0:00, D:=PRPSD0:01
N8VEM_mfp.rom for N8VEM Z80 SBC V1/V2:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk (no floppy)
- Drives A:=ROM, B:=RAM, C:=PPIDE0-00, D:=PPIDE0-01, E:=PPIDE0-02, F:=PPIDE0-03
- IDE support via Multifunction / PIC
- Second UART via Multifunction / PIC
- Drives A:=ROM, B:=RAM, C:=PPIDE0:00, D:=PPIDE0:01
N8VEM_ci.rom for N8VEM Z80 SBC V1/V2:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk (no floppy/IDE)
- Drives A:=ROM, B:=RAM
- Cassette Interface mapped to RDR/PUN
- Drives A:=ROM, B:=RAM
N8VEM_simh.rom for N8VEM SIMH Simulator:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk (no floppy/IDE)
- Drives A:=ROM, B:=RAM, C:=HDSK0-00, D:=HDSK0-01, E:=HDSK0-02, F:=HDSK0-03
- SIMH HDSK (simulated hard disk) support
- Drives A:=ROM, B:=RAM, C:=HDSK0:00, D:=HDSK0:01
N8VEM_rf.rom for N8VEM Z80 SBC V1/2 + RAM Flopppy:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk (no floppy/IDE)
- RAM Floppy support
- Drives A:=ROM, B:=RAM, C:=RF0, D:=RF1
N8VEM_vdu.rom for N8VEM Z80 SBC V1/V2:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- VDU board support
- Drives A:=ROM, B:=RAM
- NOTE: Console defaults to CRT & PS/2 Keyboard. Short JP2
(one bit input port) to use the serial port as the console.
N8VEM_cvdu.rom for N8VEM Z80 SBC V1/V2:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- ColorVDU board support
- Console defaults to VGA & PS/2 Keyboard. Short JP2 (CONFIG)
to use the serial port as the console.
- Drives A:=ROM, B:=RAM
- NOTE: Console defaults to CRT & PS/2 Keyboard. Short JP2
(one bit input port) to use the serial port as the console.
ZETA_std.rom for Zeta Z80 SBC:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via built-in FDC
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=PPIDE00-0, F:=PPIDE0-01, G:=PPIDE0-02, H:=PPIDE0-03
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=PPIDE00-0, F:=PPIDE0:01
ZETA_ppide.rom for Zeta Z80 SBC + PPIDE:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via built-in FDC
- PPIDE support via built-in PPI
- Drives A:=ROM, B:=RAM, C:=PPIDE0-00, D:=PPIDE0-01, E:=PPIDE0-02, F:=PPIDE0-03
- Drives A:=ROM, B:=RAM, C:=PPIDE0:00, D:=PPIDE0:01
ZETA_ppisd.rom for Zeta Z80 SBC + PPISD:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via built-in FDC
- PPISD support
- Drives A:=ROM, B:=RAM, C:=SD0-00, D:=SD0-01, E:=SD0-02, F:=SD0-03
- Drives A:=ROM, B:=RAM, C:=SD0:00, D:=SD0:01
ZETA_ppp.rom for Zeta Z80 SBC w/ ParPortProp:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via built-in FDC
- SD Card support via ParPortProp
- VGA console support via ParPortProp
- PS/2 Keyboard support via ParPortProp
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=PPPSD0-00, F:=PPPSD0-01, F:=PPPSD0-02, G:=PPPSD0-03
- WARNING: You must use the RomWBW specific firmware
- You *MUST* use the RomWBW specific firmware
for the Propeller found in the Support directory!
- NOTE: Console defaults to VGA & PS/2 Keyboard. Short JP1 (CONFIG)
- Console defaults to VGA & PS/2 Keyboard. Short JP1 (CONFIG)
to use the serial port as the console.
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=PPPSD0:00, F:=PPPSD0:01
ZETA2_std.rom for Zeta 2 Z80 SBC:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via built-in FDC
- PPIDE support via built-in PPI
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=PPIDE00-0, F:=PPIDE0-01, G:=PPIDE0-02, H:=PPIDE0-03
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=PPIDE00-0, F:=PPIDE0:01
ZETA2_ppide.rom for Zeta 2 Z80 SBC + PPIDE:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via built-in FDC
- PPIDE support via built-in PPI
- Drives A:=ROM, B:=RAM, C:=PPIDE0-00, D:=PPIDE0-01, E:=PPIDE0-02, F:=PPIDE0-03
- Drives A:=ROM, B:=RAM, C:=PPIDE0:00, D:=PPIDE0:01
ZETA2_ppisd.rom for Zeta 2 Z80 SBC + PPISD:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via built-in FDC
- PPISD support
- Drives A:=ROM, B:=RAM, C:=SD0-00, D:=SD0-01, E:=SD0-02, F:=SD0-03
- Drives A:=ROM, B:=RAM, C:=SD0:00, D:=SD0:01
ZETA2_ppp.rom for Zeta 2 Z80 SBC w/ ParPortProp:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Floppy support via built-in FDC
- SD Card support via ParPortProp
- VGA console support via ParPortProp
- PS/2 Keyboard support via ParPortProp
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=PPPSD0-00, F:=PPPSD0-01, F:=PPPSD0-02, G:=PPPSD0-03
- WARNING: You must use the RomWBW specific firmware
- You *MUST* use the RomWBW specific firmware
for the Propeller found in the Support directory!
- NOTE: Console defaults to VGA & PS/2 Keyboard. Short JP1 (CONFIG)
- Console defaults to VGA & PS/2 Keyboard. Short JP1 (CONFIG)
to use the serial port as the console.
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=PPPSD0:00, F:=PPPSD0:01
N8_2511.rom for N8 2511 Z180:
- Assumes oscillator frequency of 18.432MHz
- CPU clock at X1 (18.432MHz)
- 512KB ROM, 1MB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Assumes CPU oscillator frequency of 18.432MHz
- Floppy support via built-in FDC
- SD card support via built-in SD card slot
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=SD0-00, F:=SD0-01, G:=SD0-02, H:=SD0-03
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=SD0:00, F:=SD0:01
N8_2312.rom for N8 2312 Z180:
- Assumes oscillator frequency of 18.432MHz
- CPU clock at X1 (18.432MHz)
- 512KB ROM, 1MB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk
- Assumes CPU oscillator frequency of 18.432MHz
- Floppy support via built-in FDC
- SD card support via built-in SD card slot
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=SD0-00, F:=SD0-01, G:=SD0-02, H:=SD0-03
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=SD0:00, F:=SD0:01
MK4_std.rom for Mark IV Z180 SBC:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk (no floppy/IDE)
- Assumes CPU oscillator frequency of 18.432MHz
- Onboard SD Card
- Onboard IDE
- Drives A:=ROM, B:=RAM, C:=SD0-0, D:=SD0-1, E:=IDE0-00, F:=IDE0-01
- Drives A:=ROM, B:=RAM, C:=SD0-0, D:=SD0-1, E:=IDE0:00, F:=IDE0:01
MK4_diskio3.rom for Mark IV Z180 SBC:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk (no floppy/IDE)
- Assumes CPU oscillator frequency of 18.432MHz
- Floppy support via DISKIO3
- IDE support via DISKIO3
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0-00, F:=IDE0-01, G:=IDE0-02, H:=IDE0-03
- Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=IDE0:00, F:=IDE0:01
MK4_propio.rom for Mark IV Z180 SBC:
- 512KB ROM, 512KB RAM
- 38.4KB serial console baud rate
- Basic ROM/RAM disk (no floppy/IDE)
- Assumes CPU oscillator frequency of 18.432MHz
- SD Card support via PropIO
- VGA console support via PropIO
- PS/2 Keyboard support via PropIO
- Drives A:=ROM, B:=RAM, C:=PRPSD0-00, D:=PRPSD0-01, E:=PRPSD0-02, F:=PRPSD0-03
- WARNING: You must use the RomWBW specific firmware
- You *MUST* use the RomWBW specific firmware
for the Propeller found in the Support directory!
- NOTE: Console defaults to VGA & PS/2 Keyboard. Short JP2
(one bit input port) to use the serial port as the console.
- Drives A:=ROM, B:=RAM, C:=PRPSD0:00, D:=PRPSD0:01
UNA_std.rom for all UNA support platforms (SBC V1/2, Zeta, N8, Mark IV)
- 512KB ROM
UNA_std.rom for all UNA supported platforms (SBC V1/2, Zeta, Mark IV)
- Initial baud rate is 9600, but can be configured
- Resources are managed dynamically by UNA BIOS
- Refer to UNA project for more details
- Drive assignments occur dynamically based on UNA config

11
Source/BIOS/cbios.asm

@ -291,6 +291,17 @@ WBOOT:
LD IX,CCP_SIZ ; COPY CONTENTS OF COMMAND PROCESSOR
RST 08 ; DO IT
#ENDIF
;
; SOME APPLICATIONS STEAL THE BDOS SERIAL NUMBER STORAGE
; AREA (FIRST 6 BYTES OF BDOS) ASSUMING IT WILL BE RESTORED
; AT WARM BOOT BY RELOADING OF BDOS. WE DON'T WANT TO RELOAD
; BDOS, SO INSTEAD THE SERIAL NUMBER STORAGE IS FIXED HERE
; SO THAT THE DRI SERIAL NUMBER VERIFICATION DOES NOT FAIL
LD HL,BDOS_LOC
LD B,6
WBOOT1: LD (HL),0
INC HL
DJNZ WBOOT1
;
; FALL THRU TO INVOKE CP/M
;

8
Source/BIOS/hbios.asm

@ -578,6 +578,14 @@ HB_START:
;
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4))
; SET BASE FOR CPU IO REGISTERS
LD A,CPU_BASE
OUT0 (CPU_ICR),A
; DISABLE REFRESH
XOR A
OUT0 (CPU_RCR),A
; SET DEFAULT WAIT STATES TO ACCURATELY MEASURE CPU SPEED
LD A,$F0
OUT0 (CPU_DCNTL),A

4
Source/BIOS/loader.asm

@ -93,6 +93,10 @@ START:
LD A,CPU_BASE
OUT0 (CPU_ICR),A
; DISABLE REFRESH
XOR A
OUT0 (CPU_RCR),A
; SET DEFAULT CPU CLOCK MULTIPLIERS (XTAL / 2)
XOR A
OUT0 (CPU_CCR),A

4
Source/BIOS/ver.inc

@ -1,5 +1,5 @@
#DEFINE RMJ 2
#DEFINE RMN 7
#DEFINE RUP 0
#DEFINE RUP 1
#DEFINE RTP 0
#DEFINE BIOSVER "2.7.0"
#DEFINE BIOSVER "2.7.1"

BIN
Tools/zx/zx.exe

Binary file not shown.

BIN
Tools/zx/zxdbg.exe

Binary file not shown.
Loading…
Cancel
Save