Browse Source

Merge trunk -> dwg

import/raw
wayne 13 years ago
parent
commit
3e1dce7940
  1. 146
      branches/dwg/Doc/BankedBIOS.txt
  2. 15
      branches/dwg/Doc/ChangeLog.txt
  3. BIN
      branches/dwg/Doc/Ecma-035.pdf
  4. BIN
      branches/dwg/Doc/Ecma-048.pdf
  5. 4
      branches/dwg/Doc/HBIOS Functions.txt
  6. 47
      branches/dwg/Doc/MemoryLayout.txt
  7. 0
      branches/dwg/Doc/Reference/cpm22-m.pdf
  8. 0
      branches/dwg/Doc/Reference/zcpr.doc
  9. 0
      branches/dwg/Doc/Reference/zsdos.pdf
  10. BIN
      branches/dwg/Doc/RomWBW Architecture.pdf
  11. BIN
      branches/dwg/Doc/Source/RomWBW Architecture.docx

146
branches/dwg/Doc/BankedBIOS.txt

@ -1,146 +0,0 @@
ROM Page 0
----------
Loc Org Size File Contents
0000 0000 0100 pgzero Page Zero
0100 0100 0100 bootrom ROM Bootstrap
0200 0100 0200 syscfg System Configuration
0400 8400 0C00 loader Loader
1000 1000 3000 romfill Filler (for future use?)
4000 C000 1000 dbgmon Debug Monitor
5000 D000 0800 <ccp> Command Processor (CCP, ZCPR, etc.)
5800 D800 0E00 <dos> Disk Operating System (BDOS, ZSDOS, etc.)
6600 E600 1900 cbios CP/M BIOS
7F00 FF00 0100 hbfill Filler for HBIOS Proxy (HiMem Stub)
----
8000H = 32768
ROM Page 1
----------
Loc Org Size File Contents
0000 0000 0100 pgzero Page Zero
0100 0100 0100 bootrom Reserved (unused, 'bootrom' used as filler)
0200 0200 0200 syscfg System Configuration
0400 0400 0C00 loader Reserved (unused, 'loader' used as filler)
1000 1000 7000 bnk1 Bank 1 BIOS Extension
----
8000H = 32768
COM File Image
--------------
Loc Org Size File Contents
0100 0100 0100 bootapp Application Bootstrap
0200 0200 0200 syscfg System Configuration
0400 8400 0C00 loader Loader
1000 1000 7000 bnk1 Bank 1 BIOS Extension
8000 C000 1000 dbgmon Debug Monitor
9000 D000 0800 <ccp> Command Processor (CCP, ZCPR, etc.)
9800 D800 0E00 <dos> Disk Operating System (BDOS, ZSDOS, etc.)
A600 E600 1900 cbios CP/M BIOS
----
BF00H - 0100H = BE00H = 48640
RAM Page 0
----------
Loc Org Size Contents
0000 0000 0100 Page Zero
0100 0100 7F00 TPA
----
8000H = 32768
RAM Page 1
----------
Loc Org Size Contents
0000 0000 0100 Page Zero
0100 0100 0100 Reserved (unused)
0200 0200 0200 System Configuration (dynamic)
0400 0400 0C00 Command processor cache area
1000 1000 7000 Bank 1 BIOS Extension
----
8000H = 32768
RAM Page N
----------
Loc Org Size Contents
8000 8000 TPA
C000 C000 1000 TPA/Debug Monitor
D000 D000 0800 Command Processor
D800 D800 0E00 Disk Operating System
E600 E600 1900 CP/M CBIOS
FF00 FF00 0100 HBIOS Proxy (HiMem Stub)
----
10000H - 8000H = 8000H = 32768
General Startup Strategy
------------------------
A two phase boot strategy is employed. This is necessary
because at cold start, the CPU is executing code in lower
memory which is the same area that is bank switched.
Phase 1 of booting copies phase 2 code to upper memory
and jumps to it to continue the boot process.
Phase 2 of booting manages the setup of the RAM page
banks as needed. In the case of a hardware startup,
phase 2 just copies the code from ROM page 1 into RAM
page 1 and executes the loader. In the case of an
application startup (.com file used to load a new
copy of the system), phase 2 copies the first 32KB
of the application memory space into RAM page 1
and executes the loader.
See 'bootrom.asm' for the implementation of the ROM
(hardware) startup. See 'bootapp' for the implementation
of the application based startup.
General Design Strategy
-----------------------
The design goal is to locate as much of the hardware
dependent code as possible out of normal 64KB CP/M
address space and into a bank switched area of memory.
As calls are made to HBIOS, the lower 32KB of memory
is switched to 'bank 1' which contains all of the
driver code. The operating system is unaware this
has occurred. As control is returned to the Operating
System, the lower 32KB of memory is switched back to
normal 'bank 0'.
HBIOS implements a small 'shim' (proxy) that lives in the
upper page (256 bytes) of RAM. This shim is responsible
for handling the HBIOS call invocations. It is the
target of 'RST 08' and will simply switch in RAM
bank 1 into lower RAM forward the call to the lower
memory, then switch lower memory back to RAM bank 0
on return.
In the case of CP/M and ZSDOS, CBIOS is built to
utilize HBIOS for most of the work. CBIOS contains
the required CP/M data structures such as DPH and DPB
and is responsible for translating and forwarding work
to HBIOS as needed.
Notes
-----
1. Size of ROM disk and RAM disk will necessarily be
decreased by 32KB each. User will need to make sure
that RAM disk is reformatted (CLRDIR).

15
branches/dwg/Doc/ChangeLog.txt

@ -1,3 +1,16 @@
Version 2.5
-----------
- WBW: Implemented CRT driver model (video and keyboard)
- WBW: Implemented ANSI terminal emulation
- WBW: Updated build process to remove CPU specification
- WBW: Refactored VDU and Color VDU drivers for new cRT driver model
- WBW: Refactored keyboard drivers for new CRT driver model
- WBW: Refactored PPIDE driver to improve performance
- WBW: Implemented "boot" messaging
- WBW: Fixed debug monitor (I, O, and H commands corrected)
- WBW: Added support for SCSI2IDE (SD Card driver primarily)
- WBW: Revised System Architecture document
Version 2.1.1
-------------
- WBW: Corrected setup of Z180 wait states
@ -14,7 +27,7 @@ Version 2.1
Version 2.0
-----------
- WBW: Implemented Banked BIOS (drivers in separate bank)
- DGG: Updated in-site flash utility for greater chip compatibility
- DGG: Updated in-situ flash utility for greater chip compatibility
- WBW: Updated FDTST to latest version (improved support for 5.25" and 8" media)
- WBW: Added ParPortProp driver
- DWG: Entire new suite of Apps written in Aztec C

BIN
branches/dwg/Doc/Ecma-035.pdf

Binary file not shown.

BIN
branches/dwg/Doc/Ecma-048.pdf

Binary file not shown.

4
branches/dwg/Doc/HBIOS Functions.txt

@ -1,4 +0,0 @@
HBIOS FUNCTION CALLS
====================
HBIOS function calls are now documented in "RomWBW Architecture.pdf". Please refer to this document.

47
branches/dwg/Doc/MemoryLayout.txt

@ -1,47 +0,0 @@
********************************************
*** This file is deprecated as ov v2.X ***
*** Please see BankedBIOS.txt ***
********************************************
7 6 5 4 3 2 1 0 ONLY APPLICABLE TO THE LOWER MEMORY PAGE 00000h-$7FFF
^ ^ ^ ^ ^ ^ ^ ^
: : : : : : : +--> A15 RAM/ROM ADDRESS LINE DEFAULT IS 0
: : : : : : +----> A16 RAM/ROM ADDRESS LINE DEFAULT IS 0
: : : : : +------> A17 RAM/ROM ADDRESS LINE DEFAULT IS 0
: : : : +--------> A18 RAM/ROM ADDRESS LINE DEFAULT IS 0
: : : +-----------> A19 ROM ONLY ADDRESS LINE DEFAULT IS 0
: : +------------->
: +--------------->
+-----------------> ROM SELECT (0=ROM, 1=RAM) DEFAULT IS 0
RAM:
ADDRESS COMPONENT SIZE PAGE COMMENTS
----------- --------- ----- ------ ----------------------------------------------
00000-07FFF TPA 08000 0 Normally mapped to lower 32K of CPU address space
08000-77FFF RAMDSK 70000 1-E 448KB RAM Disk
78000-78FFF TPA/DBGMON 01000 F Pinned to upper 32K of CPU address space
79000-7CFFF TPA 04000 "
7D000-7D7FF TPA/CCP 00800 "
7D800-7E5FF BDOS 00E00 "
7E600-7FFFF CBIOS 01A00 " (includes DATA)
ROM:
ADDRESS COMPONENT SIZE PAGE COMMENTS
----------- --------- ----- ------ ----------------------------------------------
00000-000FF PAGE ZERO 00100
00100-01FFF LOADER 01F00 0
02000-027FF CCP 00800
02800-035FF BDOS 00E00
03600-04FFF CBIOS 01A00 includes DATA
05000-05FFF DBGMON 01000
06000-07FFF ROM EXT 02000 vdu driver, etc.
08000-FFFFF ROMDSK F8000 1-1E 960KB ROM Disk

0
branches/dwg/Doc/cpm22-m.pdf → branches/dwg/Doc/Reference/cpm22-m.pdf

0
branches/dwg/Doc/zcpr.doc → branches/dwg/Doc/Reference/zcpr.doc

0
branches/dwg/Doc/zsdos.pdf → branches/dwg/Doc/Reference/zsdos.pdf

BIN
branches/dwg/Doc/RomWBW Architecture.pdf

Binary file not shown.

BIN
branches/dwg/Doc/Source/RomWBW Architecture.docx

Binary file not shown.
Loading…
Cancel
Save