Compare commits
200 Commits
v3.5.0-dev
...
v3.5.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1505c995e3 | ||
|
|
9ba6627da8 | ||
|
|
0558e84e09 | ||
|
|
fa45185945 | ||
|
|
99265f03d1 | ||
|
|
a2fcab4045 | ||
|
|
b3b4426a46 | ||
|
|
4ff6961539 | ||
|
|
72fcee24f3 | ||
|
|
8e56b270c4 | ||
|
|
42e50889be | ||
|
|
b3a250b63f | ||
|
|
30d79fe7f7 | ||
|
|
221b1b408c | ||
|
|
1f383a3639 | ||
|
|
f3e0de4a97 | ||
|
|
48689b8191 | ||
|
|
9b99a400f9 | ||
|
|
524b631a22 | ||
|
|
0f63bb0838 | ||
|
|
acce0ec15c | ||
|
|
00b6121391 | ||
|
|
ea6e31c58b | ||
|
|
75e10b64e3 | ||
|
|
6005472fa7 | ||
|
|
d7b7b8096e | ||
|
|
3c1f1ac70a | ||
|
|
ee60c11dec | ||
|
|
65ca9af785 | ||
|
|
76a5f210a0 | ||
|
|
06d9561f37 | ||
|
|
ecc7a15a7e | ||
|
|
2ca487b936 | ||
|
|
af0848f138 | ||
|
|
a5c68c6248 | ||
|
|
6500d243eb | ||
|
|
497e5333c4 | ||
|
|
9ad58ac59c | ||
|
|
fb9f9774d7 | ||
|
|
5239eed0e8 | ||
|
|
70a961ad55 | ||
|
|
49f4e3f292 | ||
|
|
3ca283d08f | ||
|
|
08a53f54d0 | ||
|
|
11459f989e | ||
|
|
b07055a73b | ||
|
|
4618de6621 | ||
|
|
207fe5f927 | ||
|
|
fe6cba2b1b | ||
|
|
a69797d0cf | ||
|
|
d3019dbb88 | ||
|
|
7cda84b4ce | ||
|
|
a24960a7d2 | ||
|
|
028a153568 | ||
|
|
05960f8b22 | ||
|
|
610a2746f5 | ||
|
|
ab9f0be267 | ||
|
|
d3489b642a | ||
|
|
8edefc1d8f | ||
|
|
63eebc8534 | ||
|
|
6beeef9b1e | ||
|
|
ab043e5cab | ||
|
|
bba9c5e26b | ||
|
|
a6a32bbd70 | ||
|
|
9aa0fbd2dc | ||
|
|
9dd54cb781 | ||
|
|
1d8c0c9c46 | ||
|
|
be225c6fb9 | ||
|
|
3121e3ee9d | ||
|
|
0982b5d462 | ||
|
|
c31f9de905 | ||
|
|
7157d7f11d | ||
|
|
e7937d47e3 | ||
|
|
32301ba6a9 | ||
|
|
12df99084e | ||
|
|
324c0bf0fb | ||
|
|
38c25e50c2 | ||
|
|
2176c9d1af | ||
|
|
af030bf76d | ||
|
|
e376e5577c | ||
|
|
b5d4e7ddf9 | ||
|
|
3880d8fca0 | ||
|
|
df28567506 | ||
|
|
f16a9415f7 | ||
|
|
561a7f7231 | ||
|
|
d416a986bb | ||
|
|
162348ea66 | ||
|
|
7e4c4d35e4 | ||
|
|
78917e78be | ||
|
|
69e152c4fb | ||
|
|
a14e64fced | ||
|
|
e3195669fc | ||
|
|
64d60f744b | ||
|
|
85834559d1 | ||
|
|
1c66ec3ba4 | ||
|
|
99f8d0b3a6 | ||
|
|
23160e3961 | ||
|
|
2c985070e8 | ||
|
|
a14a2e6128 | ||
|
|
c093cd2322 | ||
|
|
a93bfb1e77 | ||
|
|
e1beb01a51 | ||
|
|
d20c72fe21 | ||
|
|
8d91176230 | ||
|
|
1945826414 | ||
|
|
61d08e9f71 | ||
|
|
e212054774 | ||
|
|
479c50f052 | ||
|
|
90a4d090f9 | ||
|
|
d78127ca0f | ||
|
|
5c10f1881d | ||
|
|
fa6b0f1d82 | ||
|
|
fccd37f8dd | ||
|
|
08d88a98da | ||
|
|
6e8bdb141d | ||
|
|
d152cab8c8 | ||
|
|
3dd394e3c9 | ||
|
|
2fd65ab4b0 | ||
|
|
14dd7bf290 | ||
|
|
673f4358b2 | ||
|
|
34e472a553 | ||
|
|
e07c38dc1a | ||
|
|
9e6780a248 | ||
|
|
d80c44045f | ||
|
|
b7352da5c1 | ||
|
|
2b6fbe7c58 | ||
|
|
e3173ff802 | ||
|
|
8aebf93fdf | ||
|
|
51676238c7 | ||
|
|
983c0ff52b | ||
|
|
764abddb49 | ||
|
|
df0562bba8 | ||
|
|
eaf0431b20 | ||
|
|
6394605a20 | ||
|
|
17f1d1cb99 | ||
|
|
03e34a54d4 | ||
|
|
797ee4d1a4 | ||
|
|
f775a07365 | ||
|
|
e6117e9639 | ||
|
|
9df87738ad | ||
|
|
ebfb5b3fed | ||
|
|
f125efcca3 | ||
|
|
317ba99b37 | ||
|
|
add41fdb69 | ||
|
|
457aa44832 | ||
|
|
141c79ef90 | ||
|
|
7e2b2b8f40 | ||
|
|
e68cbded97 | ||
|
|
7d5dc565f3 | ||
|
|
b3bab80342 | ||
|
|
9898309f29 | ||
|
|
55d8c6ce7d | ||
|
|
cd70a62d67 | ||
|
|
307b8bb11b | ||
|
|
fd59d2e4f8 | ||
|
|
e021735876 | ||
|
|
91debe53c4 | ||
|
|
8e0af1720a | ||
|
|
83d26a4faf | ||
|
|
0eb0855948 | ||
|
|
37e682adc7 | ||
|
|
c2f7a75cdd | ||
|
|
39232f00f1 | ||
|
|
890dd1cd5e | ||
|
|
209f457120 | ||
|
|
945d5fc2d2 | ||
|
|
22b10c8ac8 | ||
|
|
4b80f36fd0 | ||
|
|
026fa3d0d7 | ||
|
|
53198e066c | ||
|
|
3318b12667 | ||
|
|
20aa3a7d65 | ||
|
|
e757591fb3 | ||
|
|
44ceaa3e71 | ||
|
|
37a7574f1f | ||
|
|
ba8cd05cb7 | ||
|
|
bc68674ce2 | ||
|
|
37b3b96e49 | ||
|
|
aeb579d6ad | ||
|
|
229bf119d4 | ||
|
|
cb7ba38f76 | ||
|
|
9bc4f26f6e | ||
|
|
ce9778e189 | ||
|
|
44d890be59 | ||
|
|
a31119bd5d | ||
|
|
6b00f5c992 | ||
|
|
20bdb78084 | ||
|
|
4ac7c1213a | ||
|
|
d834742337 | ||
|
|
baf0cd7788 | ||
|
|
572309d03c | ||
|
|
d9e009864b | ||
|
|
46cc57e5fc | ||
|
|
7e2b054fc1 | ||
|
|
d358c8bc1c | ||
|
|
2bc807edc8 | ||
|
|
57364bb581 | ||
|
|
a92aebddd7 | ||
|
|
8b63b32580 | ||
|
|
76cb52eb14 |
141
.gitignore
vendored
@@ -77,6 +77,7 @@ Tools/unix/zx/zx
|
||||
|
||||
!Source/ver.lib
|
||||
!Source/Apps/FAT/FAT.COM
|
||||
!Source/Apps/copysl/copysl.com
|
||||
!Source/Apps/ZMP/zmpx.com
|
||||
!Source/Apps/ZMD/zmdsubs.rel
|
||||
!Source/Apps/Test/vdctest/font.asm
|
||||
@@ -110,4 +111,142 @@ Source/ZPM3/zccp.com
|
||||
Source/ZPM3/zpmldr.com
|
||||
Source/ZPM3/genbnk.dat
|
||||
|
||||
Source/ZSDOS/zsdos.err
|
||||
Source/ZSDOS/zsdos.err
|
||||
|
||||
# Lets explicit list all generate untracked binary files
|
||||
Binary/Apps/Tunes/bgm.vgm
|
||||
Binary/Apps/Tunes/ending.vgm
|
||||
Binary/Apps/Tunes/inchina.vgm
|
||||
Binary/Apps/Tunes/shirakaw.vgm
|
||||
Binary/Apps/Tunes/startdem.vgm
|
||||
Binary/Apps/Tunes/wonder01.vgm
|
||||
Binary/Apps/fdu.doc
|
||||
Binary/Apps/zmconfig.ovr
|
||||
Binary/Apps/zminit.ovr
|
||||
Binary/Apps/zmp.doc
|
||||
Binary/Apps/zmp.hlp
|
||||
Binary/Apps/zmterm.ovr
|
||||
Binary/Apps/zmxfer.ovr
|
||||
Binary/CPM3/bdos3.spr
|
||||
Binary/CPM3/bios3.spr
|
||||
Binary/CPM3/bnkbdos3.spr
|
||||
Binary/CPM3/bnkbios3.spr
|
||||
Binary/CPM3/cpm3fix.pat
|
||||
Binary/CPM3/genbnk.dat
|
||||
Binary/CPM3/gencpm.dat
|
||||
Binary/CPM3/genres.dat
|
||||
Binary/CPM3/readme.1st
|
||||
Binary/CPM3/resbdos3.spr
|
||||
Binary/CPNET/cpn12duo.lbr
|
||||
Binary/CPNET/cpn12mt.lbr
|
||||
Binary/CPNET/cpn12ser.lbr
|
||||
Binary/CPNET/cpn3duo.lbr
|
||||
Binary/CPNET/cpn3mt.lbr
|
||||
Binary/CPNET/cpn3ser.lbr
|
||||
Binary/RCEZ80_std.upd
|
||||
Binary/RCZ80_std.upd
|
||||
Binary/ZPM3/bnkbdos3.spr
|
||||
Binary/ZPM3/bnkbios3.spr
|
||||
Binary/ZPM3/gencpm.dat
|
||||
Binary/ZPM3/resbdos3.spr
|
||||
Binary/ZPM3/zinstal.zpm
|
||||
Binary/hd1k_prefix.dat
|
||||
Source/BPBIOS/def-ww.lib
|
||||
Source/CPNET/cpn12duo.lbr
|
||||
Source/CPNET/cpn12mt.lbr
|
||||
Source/CPNET/cpn12ser.lbr
|
||||
Source/CPNET/cpn3duo.lbr
|
||||
Source/CPNET/cpn3mt.lbr
|
||||
Source/CPNET/cpn3ser.lbr
|
||||
Source/Fonts/font8x11c.asm
|
||||
Source/Fonts/font8x11c.bin
|
||||
Source/Fonts/font8x11u.asm
|
||||
Source/Fonts/font8x16c.asm
|
||||
Source/Fonts/font8x16c.bin
|
||||
Source/Fonts/font8x16u.asm
|
||||
Source/Fonts/font8x8c.asm
|
||||
Source/Fonts/font8x8c.bin
|
||||
Source/Fonts/font8x8u.asm
|
||||
Source/Fonts/fontcgac.asm
|
||||
Source/Fonts/fontcgac.bin
|
||||
Source/Fonts/fontcgau.asm
|
||||
Source/Fonts/fontvgarcc.asm
|
||||
Source/Fonts/fontvgarcc.bin
|
||||
Source/Fonts/fontvgarcu.asm
|
||||
Source/HBIOS/RCEZ80_std.upd
|
||||
Source/HBIOS/RCZ80_std.upd
|
||||
Source/HBIOS/build_env.cmd
|
||||
Source/HBIOS/hbios_env.sh
|
||||
Source/Images/blank144
|
||||
Source/Images/blankhd1k
|
||||
Source/Images/blankhd512
|
||||
Source/Images/fd144_aztecc.img
|
||||
Source/Images/fd144_bascomp.img
|
||||
Source/Images/fd144_cowgol.img
|
||||
Source/Images/fd144_cpm22.img
|
||||
Source/Images/fd144_cpm3.img
|
||||
Source/Images/fd144_fortran.img
|
||||
Source/Images/fd144_games.img
|
||||
Source/Images/fd144_hitechc.img
|
||||
Source/Images/fd144_nzcom.img
|
||||
Source/Images/fd144_qpm.img
|
||||
Source/Images/fd144_tpascal.img
|
||||
Source/Images/fd144_ws4.img
|
||||
Source/Images/fd144_z80asm.img
|
||||
Source/Images/fd144_zpm3.img
|
||||
Source/Images/fd144_zsdos.img
|
||||
Source/Images/hd1k_aztecc.img
|
||||
Source/Images/hd1k_bascomp.img
|
||||
Source/Images/hd1k_blank.img
|
||||
Source/Images/hd1k_bp.img
|
||||
Source/Images/hd1k_combo.img
|
||||
Source/Images/hd1k_cowgol.img
|
||||
Source/Images/hd1k_cpm22.img
|
||||
Source/Images/hd1k_cpm3.img
|
||||
Source/Images/hd1k_fortran.img
|
||||
Source/Images/hd1k_games.img
|
||||
Source/Images/hd1k_hitechc.img
|
||||
Source/Images/hd1k_nzcom.img
|
||||
Source/Images/hd1k_qpm.img
|
||||
Source/Images/hd1k_tpascal.img
|
||||
Source/Images/hd1k_ws4.img
|
||||
Source/Images/hd1k_z80asm.img
|
||||
Source/Images/hd1k_zpm3.img
|
||||
Source/Images/hd1k_zsdos.img
|
||||
Source/Images/hd512_aztecc.img
|
||||
Source/Images/hd512_bascomp.img
|
||||
Source/Images/hd512_blank.img
|
||||
Source/Images/hd512_combo.img
|
||||
Source/Images/hd512_cowgol.img
|
||||
Source/Images/hd512_cpm22.img
|
||||
Source/Images/hd512_cpm3.img
|
||||
Source/Images/hd512_dos65.img
|
||||
Source/Images/hd512_fortran.img
|
||||
Source/Images/hd512_games.img
|
||||
Source/Images/hd512_hitechc.img
|
||||
Source/Images/hd512_nzcom.img
|
||||
Source/Images/hd512_qpm.img
|
||||
Source/Images/hd512_tpascal.img
|
||||
Source/Images/hd512_ws4.img
|
||||
Source/Images/hd512_z80asm.img
|
||||
Source/Images/hd512_zpm3.img
|
||||
Source/Images/hd512_zsdos.img
|
||||
Source/RomDsk/rom0_una.dat
|
||||
Source/RomDsk/rom0_wbw.dat
|
||||
Source/RomDsk/rom128_una.dat
|
||||
Source/RomDsk/rom128_wbw.dat
|
||||
Source/RomDsk/rom256_una.dat
|
||||
Source/RomDsk/rom256_wbw.dat
|
||||
Source/RomDsk/rom384_una.dat
|
||||
Source/RomDsk/rom384_wbw.dat
|
||||
Source/RomDsk/rom896_una.dat
|
||||
Source/RomDsk/rom896_wbw.dat
|
||||
Source/ZCPR-DJ/zcprdemo.com
|
||||
Source/ZPM3/autotog.com
|
||||
Source/ZPM3/clrhist.com
|
||||
Source/ZPM3/cpmldr.com
|
||||
Source/ZPM3/setz3.com
|
||||
Tools/unix/OpenSpin/build/
|
||||
Tools/unix/zxcc/config.h
|
||||
Tools/unix/zxcc/zxcc
|
||||
Binary/Apps/bbcbasic.txt
|
||||
|
||||
4
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"files.trimTrailingWhitespace": false,
|
||||
"files.eol": "\r\n"
|
||||
}
|
||||
4
Binary/CPM22/Clean.cmd
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.sys del *.sys
|
||||
7
Binary/CPM22/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
TOOLS = ../../Tools
|
||||
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.spr)
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
clean::
|
||||
@rm -f *.sys
|
||||
23
Binary/CPM22/ReadMe.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
***********************************************************************
|
||||
*** ***
|
||||
*** R o m W B W ***
|
||||
*** ***
|
||||
*** Z80/Z180 System Software ***
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory contains the CP/M 2.2 system files for the RomWBW CP/M 2.2
|
||||
adaptation. All of these files are already included on the CP/M
|
||||
boot disk images. However if you are creating a CP/M boot disk
|
||||
manually, you should copy all of these files to the boot disk.
|
||||
|
||||
Note: Two file have been provided one for RomWBW HBIOS, and one for UNA
|
||||
BIOS. One of these files must be installed on the system boot track.
|
||||
This is usually achieved by the SYSCOPY utility e.g.
|
||||
|
||||
SYSCOPY a:=cpm_wbw.sys
|
||||
|
||||
These files should also be copied to any CP/M 2.2 boot disks on your
|
||||
system when you upgrade your ROM firmware. Some of these files
|
||||
*must* match the version of the RomWBW firmware you are using for
|
||||
proper operation of your system.
|
||||
@@ -12,6 +12,9 @@ if exist *.pdf del *.pdf
|
||||
if exist *.eeprom del *.eeprom
|
||||
|
||||
pushd Apps && call Clean || exit /b 1 & popd
|
||||
pushd CPM22 && call Clean || exit /b 1 & popd
|
||||
pushd CPM3 && call Clean || exit /b 1 & popd
|
||||
pushd QPM && call Clean || exit /b 1 & popd
|
||||
pushd ZSDOS && call Clean || exit /b 1 & popd
|
||||
pushd ZPM3 && call Clean || exit /b 1 & popd
|
||||
pushd CPNET && call Clean || exit /b 1 & popd
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
TOOLS = ../Tools
|
||||
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.img *.rom *.com *.eeprom)
|
||||
SUBDIRS = Apps CPM3 ZPM3 CPNET
|
||||
SUBDIRS = Apps CPM22 CPM3 QPM ZSDOS ZPM3 CPNET
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
|
||||
4
Binary/QPM/Clean.cmd
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.sys del *.sys
|
||||
7
Binary/QPM/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
TOOLS = ../../Tools
|
||||
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.spr)
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
clean::
|
||||
@rm -f *.sys *.bin
|
||||
21
Binary/QPM/ReadMe.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
***********************************************************************
|
||||
*** ***
|
||||
*** R o m W B W ***
|
||||
*** ***
|
||||
*** Z80/Z180 System Software ***
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory contains the QPM 2.7 system files for the RomWBW QPM 2.7
|
||||
adaptation. All of these files are already included on the QPM
|
||||
boot disk images. However if you are creating a QPM boot disk
|
||||
manually, you should copy all of these files to the boot disk.
|
||||
|
||||
Note: Two file have been provided one for RomWBW HBIOS, and one for UNA
|
||||
BIOS. One of these files must be installed on the system boot track.
|
||||
Refer to the QPM Documentation for installing QPM
|
||||
|
||||
These files should also be copied to any QPM boot disks on your
|
||||
system when you upgrade your ROM firmware. Some of these files
|
||||
*must* match the version of the RomWBW firmware you are using for
|
||||
proper operation of your system.
|
||||
@@ -6,37 +6,37 @@
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory ("Binary") is part of the RomWBW System Software
|
||||
distribution archive. It contains the completed binary outputs of
|
||||
the build process. As described below, these files are used to
|
||||
This directory ("Binary") is part of the RomWBW System Software
|
||||
distribution archive. It contains the completed binary outputs of
|
||||
the build process. As described below, these files are used to
|
||||
assemble a working RetroBrew Computers system.
|
||||
|
||||
The files in this directory are created by the build process that is
|
||||
documented in the ReadMe.txt file in the Source directory. When
|
||||
released the directory is populated with the default output files.
|
||||
However, the output of custom builds will be placed in this directory
|
||||
The files in this directory are created by the build process that is
|
||||
documented in the ReadMe.txt file in the Source directory. When
|
||||
released the directory is populated with the default output files.
|
||||
However, the output of custom builds will be placed in this directory
|
||||
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
|
||||
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)
|
||||
-------------------------------------
|
||||
|
||||
The files with a ".rom" extension are binary images ready to program
|
||||
into an appropriate PROM. These files are named with the format
|
||||
<plt>_<cfg>.rom. <plt> refers to the primary platform such as Zeta,
|
||||
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
|
||||
image for the Mark IV with the standard configuration. If a custom
|
||||
configuration called "custom" is created and built, a new file called
|
||||
The files with a ".rom" extension are binary images ready to program
|
||||
into an appropriate PROM. These files are named with the format
|
||||
<plt>_<cfg>.rom. <plt> refers to the primary platform such as Zeta,
|
||||
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
|
||||
image for the Mark IV with the standard configuration. If a custom
|
||||
configuration called "custom" is created and built, a new file called
|
||||
MK4_custom.rom will be added to this directory.
|
||||
|
||||
Documentation of the pre-built ROM Images is contained in
|
||||
@@ -54,52 +54,52 @@ contents. Refer to the RomWBW User Guide for more information.
|
||||
ROM Executable Images (<plt>_<cfg>.com)
|
||||
---------------------------------------
|
||||
|
||||
When a ROM image (".rom") is created, an executable version of the
|
||||
ROM is also created. These files have the same naming convention as
|
||||
the ROM Image files, but have the extension ".com". These files can
|
||||
When a ROM image (".rom") is created, an executable version of the
|
||||
ROM is also created. These files have the same naming convention as
|
||||
the ROM Image files, but have the extension ".com". These files can
|
||||
be copied to a working system and run like a normal CP/M application.
|
||||
|
||||
When run on the target system, they install in RAM just like they had
|
||||
When run on the target system, they install in RAM just like they had
|
||||
been loaded from ROM. This allows a new ROM build to be 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
|
||||
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.
|
||||
|
||||
VDU ROM Image (vdu.rom)
|
||||
-----------------------
|
||||
|
||||
The VDU video board requires a dedicated onboard ROM containing the
|
||||
font data. The "vdu.rom" file contains the binary data to program
|
||||
The VDU video board requires a dedicated onboard ROM containing the
|
||||
font data. The "vdu.rom" file contains the binary data to program
|
||||
onto that chip.
|
||||
|
||||
Disk Images (fd_*.img, hd_*.img, psys.img)
|
||||
------------------------------------------
|
||||
Disk Images (fd_*.img, hd_*.img)
|
||||
--------------------------------
|
||||
|
||||
RomWBW includes a mechanism for generating floppy disk and hard disk
|
||||
binary images that are ready to copy directly to a floppy, hard disk,
|
||||
CF Card, or SD Card which will then be ready for use in any
|
||||
RomWBW includes a mechanism for generating floppy disk and hard disk
|
||||
binary images that are ready to copy directly to a floppy, hard disk,
|
||||
CF Card, or SD Card which will then be ready for use in any
|
||||
RomWBW-based system.
|
||||
|
||||
Essentially, these files contain prepared floppy and hard disk images
|
||||
with a large set of programs and related files. By copying the
|
||||
contents of these files to appropriate media as described below, you
|
||||
Essentially, these files contain prepared floppy and hard disk images
|
||||
with a large set of programs and related files. By copying the
|
||||
contents of these files to appropriate media as described below, you
|
||||
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
|
||||
floppy media and can be copied to actual floppy disks using
|
||||
RawWriteWin (as long as you have access to a floppy drive on your
|
||||
Windows computer). The resulting floppy disks will be usable on any
|
||||
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
|
||||
RawWriteWin (as long as you have access to a floppy drive on your
|
||||
Windows computer). The resulting floppy disks will be usable on any
|
||||
RomWBW-based system with floppy drive(s).
|
||||
|
||||
Likewise, the hd512_*.img and hd1k_*.img files are hard disk images.
|
||||
Each file is intended to be copied to the start of any type of hard
|
||||
disk media (typically a CF Card or SD Card). The resulting media will
|
||||
be usable on any RomWBW-based system that accepts the corresponding
|
||||
Likewise, the hd512_*.img and hd1k_*.img files are hard disk images.
|
||||
Each file is intended to be copied to the start of any type of hard
|
||||
disk media (typically a CF Card or SD Card). The resulting media will
|
||||
be usable on any RomWBW-based system that accepts the corresponding
|
||||
media type.
|
||||
|
||||
NOTE: The hd512_*.img files are equivalent to the hd_*.img
|
||||
@@ -109,39 +109,86 @@ maximum number of CP/M directory entries from 512 to 1024.
|
||||
Refer to the ReadMe.txt in the Source/Images directory
|
||||
for details.
|
||||
|
||||
Documentation of the pre-built disk images is contained in the
|
||||
Documentation of the pre-built disk images is contained in the
|
||||
"RomWBW User Guide" found in the Doc directory. The contents of
|
||||
the disk images is contained in the "RomWBW Disk Catalog", but it
|
||||
is significantly out-of-date.
|
||||
|
||||
The contents of the floppy/hard disk images are created by
|
||||
the BuildImages.cmd script in the Source directory. Additional
|
||||
information on how to generate custom disk images is found in the
|
||||
The contents of the floppy/hard disk images are created by
|
||||
the BuildImages.cmd script in the Source directory. Additional
|
||||
information on how to generate custom disk images is found in the
|
||||
Source\Images ReadMe.txt file.
|
||||
|
||||
The psys.img file contains a full implementation of the UCSD p-System
|
||||
for the Z80 running under RomWBW. This image file must be placed on
|
||||
disk media by itself (not appended or concatenated with hd*.img files.
|
||||
Refer to the Source/pSys/ReadMe.txt file for more information on the
|
||||
Disk Images (hd512_combo.img, hd1k_combo.img, *_std_hd1k_combo.img)
|
||||
-------------------------------------------------------------------
|
||||
|
||||
The hd512_combo.img and hd1k_combo.img file are the primary combo
|
||||
disk image files suitable for most platforms.
|
||||
|
||||
The *_std_hd1k_combo.img files are platform specific combo files
|
||||
typically used in romless platforms, they also contain RomWBW binary code
|
||||
that is loaded at boot time into RAM
|
||||
|
||||
Disk Images (hd1k_prefix.dat, *_std_hd1k_prefix.dat)
|
||||
----------------------------------------------------
|
||||
|
||||
The hd1k_prefix.dat file is part of the combo disk images and is
|
||||
applied to hd1k image files as a prefix, it contains the standard
|
||||
partion table.
|
||||
|
||||
The *_std_hd1k_prefix.dat files are platform specific prefixes
|
||||
typically used in romless platforms, they also contain RomWBW binary code
|
||||
that is loaded at boot time into RAM
|
||||
|
||||
Disk Images (psys.img)
|
||||
----------------------
|
||||
|
||||
The psys.img file contains a full implementation of the UCSD p-System
|
||||
for the Z80 running under RomWBW. This image file must be placed on
|
||||
disk media by itself (not appended or concatenated with hd*.img files.
|
||||
Refer to the Source/pSys/ReadMe.txt file for more information on the
|
||||
p-System implementation.
|
||||
|
||||
Propeller ROM Images (*.eeprom)
|
||||
-------------------------------
|
||||
|
||||
The files with and extension of ".eeprom" contain the binary images
|
||||
to be programmed into the Propeller-based boards. The list below
|
||||
The files with and extension of ".eeprom" contain the binary images
|
||||
to be programmed into the Propeller-based boards. The list below
|
||||
indicates which file targets each of the Propeller board variants:
|
||||
|
||||
ParPortProp ParPortProp.eeprom
|
||||
PropIO V1 PropIO.eeprom
|
||||
PropIO V2 PropIO2.eeprom
|
||||
|
||||
Refer to the board documentation of the boards for more information
|
||||
Refer to the board documentation of the boards for more information
|
||||
on how to program the EEPROMs on these boards.
|
||||
|
||||
SUB DIRECTORIES
|
||||
===============
|
||||
|
||||
Apps Directory
|
||||
--------------
|
||||
|
||||
The Apps subdirectory contains the executable application files that
|
||||
are specific to RomWBW. The source for these applications is found
|
||||
in the Source\Apps directory of the distribution.
|
||||
in the Source\Apps directory of the distribution.
|
||||
|
||||
CPNET Directory
|
||||
---------------
|
||||
|
||||
This directory contains the CP/NET client packages. Please refer to
|
||||
the RomWBW User Guide for instructions on installing these packages,
|
||||
or see the Readme.txt file in this sub-directory
|
||||
|
||||
CPM22 CPM3 ZSDOS ZPM3 QPM Directories
|
||||
-------------------------------------
|
||||
|
||||
These directories contains the system files for the RomWBW adaptations
|
||||
for each operating system. All of these files are already included on
|
||||
the boot disk images. However if you are creating a o/s boot disk
|
||||
manually, you will need copy all of these files to the boot disk.
|
||||
|
||||
These files should also be copied to any boot disks on your
|
||||
system when you upgrade your ROM firmware. Some of these files
|
||||
*must* match the version of the RomWBW firmware you are using for
|
||||
proper operation of your system.
|
||||
|
||||
4
Binary/ZSDOS/Clean.cmd
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.sys del *.sys
|
||||
7
Binary/ZSDOS/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
TOOLS = ../../Tools
|
||||
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.spr)
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
clean::
|
||||
@rm -f *.sys
|
||||
23
Binary/ZSDOS/ReadMe.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
***********************************************************************
|
||||
*** ***
|
||||
*** R o m W B W ***
|
||||
*** ***
|
||||
*** Z80/Z180 System Software ***
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory contains the ZSDOS system files for the RomWBW ZSDOS
|
||||
adaptation. All of these files are already included on the ZSDOS
|
||||
boot disk images. However if you are creating a ZSDOS boot disk
|
||||
manually, you should copy all of these files to the boot disk.
|
||||
|
||||
Note: Two file have been provided one for RomWBW HBIOS, and one for UNA
|
||||
BIOS. One of these files must be installed on the system boot track.
|
||||
This is usually achieved by the SYSCOPY utility e.g.
|
||||
|
||||
SYSCOPY a:=zsys_wbw.sys
|
||||
|
||||
These files should also be copied to any ZSDOS boot disks on your
|
||||
system when you upgrade your ROM firmware. Some of these files
|
||||
*must* match the version of the RomWBW firmware you are using for
|
||||
proper operation of your system.
|
||||
@@ -14,7 +14,7 @@ Version 3.5
|
||||
- DDW: Added support for Duodyne Media board
|
||||
- WBW: Auto restore TMS video on user reset (CP/M warm boot)
|
||||
- L?B: Added support for NABU w/ RomWBW Option Board
|
||||
- M?P: Reorganization of Doc directory introducing subfolders
|
||||
- MAP: Reorganization of Doc directory introducing subfolders
|
||||
- WBW: Upgraded BBCBASIC to v5.00
|
||||
- W?S: Updated FLASH utility to v1.3.9
|
||||
- WBW: Support RCBus PS/2 Keyboard (EP/Sally)
|
||||
@@ -28,6 +28,22 @@ Version 3.5
|
||||
- WBW: Added support for Les Bird's RCBus Graphics/Sound/Joystick module
|
||||
- WBW: Added support for Les Bird's Dual 16C550 UART module
|
||||
- WBW: Refactor UART driver for more flexible configuration
|
||||
- M?R: Added hour/minute/second display to timer app
|
||||
- WBW: Substantial customization of NZ-COM disk image
|
||||
- WBW: Refactor build post-processing (ZRC, ZZRCC, etc.)
|
||||
- MAP: Improved section Real Time Clock in User Guide document
|
||||
- WBW: Support for Hitachi HD44780-based LCD display
|
||||
- DRJ: Added support for Genesis STD Bus Z180 platform
|
||||
- MAP: Improved section Disk Management in User Guide document
|
||||
- WBW: Add CPU speed selection for HEATH platform to HBIOS
|
||||
- WBW: Add Warm/Cold reboot options to CPUSPD utility
|
||||
- D?N: Added support for eZ80 CPU
|
||||
- MAP: Contributed COPYSL utility
|
||||
- MAP: Added new HBIOS function EXT_SLICE (orginally SYSGET_DIOMED)
|
||||
- MAP: ROMLDR now uses EXT_SLICE to get Slice Sector for boot
|
||||
- MAP: CBIOS now uses EXT_SLICE during drive selection
|
||||
- MAP: CPM3 Boot Loader, and BIOS (drive select) now use EXT_SLICE
|
||||
- M?R: Added REBOOT application
|
||||
|
||||
Version 3.4
|
||||
-----------
|
||||
@@ -696,4 +712,4 @@ interrupts disabled the BIOS will now start OK even if some vagrant
|
||||
hardware is asserting an interrupt (DISKIO). Seems like this is better
|
||||
anyway -- general idea is that we only enable interupts precisely
|
||||
when desired for very specific controled purposes since there is no
|
||||
concept of interrupt dispatching available.
|
||||
concept of interrupt dispatching available.
|
||||
|
||||
@@ -20,7 +20,7 @@ Beyond the construction and integration of the actual DOS itself, the majority o
|
||||
|
||||
The remainder of this document details the changes I made as I went along. In all cases, my goal was to keep the result as close to the original distribution as possible. I started by copying all of the files from the distribution (contained in zsdos2.zip) into Support\ZSDOS. From there I tested, modified, updated, and customized as documented below. Finally, I cherry picked files that made sense to include on the ZSystem ROM disks.
|
||||
|
||||
1. CLOCKS.DAT has been updated to include the RomWBW clock driver, HBCLK. I have also added the SIMHCLOK clock driver.
|
||||
1. CLOCKS.DAT has been updated to include the RomWBW clock driver, WBWCLK. I have also added the SIMHCLOK clock driver.
|
||||
|
||||
2. STAMPS.DAT has been replaced with an updated version. The update was called STAMPS11.DAT and was found on the Walnut Creek CP/M CDROM. The original version has a bug that prevents RSX (resident system extension) mode to load properly.
|
||||
|
||||
|
||||
@@ -1,144 +0,0 @@
|
||||
SIMH (X)
|
||||
----
|
||||
- Test UART driver
|
||||
- Test HDSK driver
|
||||
|
||||
Zeta 1 (X)
|
||||
------
|
||||
- Test UART driver
|
||||
- Test PPP detection (startup w/ and w/o PPP)
|
||||
- Test boot to CRT
|
||||
- Test PPPSD driver
|
||||
- Test PPPCON driver (video & kbd)
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
|
||||
Zeta 2 (X)
|
||||
------
|
||||
- Test UART driver
|
||||
- Test PPP detection (startup w/ and w/o PPP)
|
||||
- Test boot to CRT
|
||||
- Test PPPSD driver
|
||||
- Test PPPCON driver (video & kbd)
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
|
||||
RCBus (X)
|
||||
------
|
||||
- Test SIO driver (Serial Module)
|
||||
- Test ACIA driver (Dual Serial Module)
|
||||
- Test IDE driver (Compact Flash Module)
|
||||
- Test PPIDE driver (IDE Module)
|
||||
- Test FD driver (SMC and WDC)
|
||||
- Test FDU app (SMC and WDC)
|
||||
|
||||
N8-2312 (X)
|
||||
-------
|
||||
- Test ASCI driver
|
||||
- Test SD driver (CSIO mode)
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test TMS driver (video & kbd)
|
||||
|
||||
N8-2511 (X)
|
||||
-------
|
||||
- Test ASCI driver
|
||||
- Test SD driver (Juha mode)
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test TMS driver (video & kbd)
|
||||
|
||||
SBC (X)
|
||||
---
|
||||
- Test UART driver
|
||||
- Test PPIDE driver
|
||||
- Test PPISD driver
|
||||
- Test PRP detection
|
||||
- Test boot to CRT console
|
||||
|
||||
MK4 (X)
|
||||
---
|
||||
- Test ASCI driver
|
||||
- Test IDE driver
|
||||
- Test SD driver
|
||||
- Test PRP detection
|
||||
|
||||
RAMF (X)
|
||||
----
|
||||
- Test RAMF driver
|
||||
|
||||
PRP (X)
|
||||
---
|
||||
- Test PRPSD driver
|
||||
- Test PRPCON driver (video & kbd)
|
||||
|
||||
SCG (X)
|
||||
---
|
||||
- Test TMS driver (video)
|
||||
|
||||
VDU (X)
|
||||
---
|
||||
- Test CVDU driver (video & kbd)
|
||||
|
||||
CVDU (X)
|
||||
----
|
||||
- Test CVDU driver (video & kbd)
|
||||
|
||||
VGA (X)
|
||||
---
|
||||
- Test VGA driver (video & kbd)
|
||||
|
||||
DIO (X)
|
||||
---
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test IDE driver
|
||||
|
||||
DIO3 (X)
|
||||
----
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test PPIDE driver
|
||||
|
||||
DIDE (X)
|
||||
----
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test IDE driver
|
||||
|
||||
DSD (X)
|
||||
---
|
||||
- Test SD driver
|
||||
|
||||
4UART (X)
|
||||
-----
|
||||
- Test UART driver
|
||||
|
||||
|
||||
UNA (X)
|
||||
---
|
||||
- General Startup
|
||||
- Boot from disk functionality
|
||||
- Image loading
|
||||
- Monitor
|
||||
- XM app
|
||||
- ASSIGN app
|
||||
- MODE app
|
||||
- SYSCOPY app
|
||||
- OSLDR app
|
||||
- FDU app
|
||||
- FDISK80 app
|
||||
|
||||
GENERAL (X)
|
||||
-------
|
||||
- Boot to ROM
|
||||
- Boot to Disk
|
||||
- Boot to Monitor
|
||||
- XM app
|
||||
- XM port auto-detect
|
||||
- ASSIGN app
|
||||
- MODE app
|
||||
- SYSCOPY app
|
||||
- FDU app
|
||||
- FDISK80 app
|
||||
- TUNE app
|
||||
48
Dockerfile
Normal file
@@ -0,0 +1,48 @@
|
||||
FROM ubuntu:jammy-20240111 as basebuilder
|
||||
|
||||
# This docker file can be used to build a tool chain docker image for building RomWBW images.
|
||||
|
||||
# Tested on a ubuntu host and on Windows un WSL (with docker desktop)
|
||||
|
||||
# First build the docker image (will b)
|
||||
# docker build --progress plain -t romwbw-chain .
|
||||
|
||||
# After you have built the above image (called romwbw-chain), you can use it to compile and build the RomWBW images
|
||||
# as per the standard make scripts within RomWBW.
|
||||
# Start a new terminal, cd to where you have clone RomWBW, and then run this command:
|
||||
# docker run -v ${PWD}:/src/ --privileged=true -u $(id -u ${USER}):$(id -g ${USER}) -it romwbw-chain:latest
|
||||
|
||||
# you can now compile and build the required images:
|
||||
|
||||
# cd Tools && make
|
||||
# cd Source && make # at least once to build many common units
|
||||
# cd Source && make rom ROM_PLATFORM=RCEZ80 ROM_CONFIG=std
|
||||
|
||||
# when finish, type 'exit' to return to back to your standard terminal session
|
||||
|
||||
LABEL Maintainer="Dean Netherton" \
|
||||
Description="spike to use clang for ez80 target"
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
RUN sed -i 's/http:\/\/archive\.ubuntu\.com\/ubuntu/http:\/\/au.archive.ubuntu.com\/ubuntu/g' /etc/apt/sources.list
|
||||
RUN apt update -y
|
||||
RUN apt dist-upgrade -y
|
||||
RUN apt install -y --no-install-recommends cmake lzip ca-certificates mtools build-essential dos2unix libboost-all-dev texinfo texi2html libxml2-dev subversion bison flex zlib1g-dev m4 git wget dosfstools curl
|
||||
|
||||
RUN mkdir work
|
||||
WORKDIR /work
|
||||
|
||||
FROM basebuilder as main
|
||||
|
||||
LABEL Maintainer="Dean Netherton" \
|
||||
Description="spike to build RomWBW"
|
||||
|
||||
RUN mkdir /src
|
||||
WORKDIR /src/
|
||||
|
||||
RUN apt install -y --no-install-recommends build-essential libncurses-dev srecord bsdmainutils
|
||||
|
||||
RUN adduser --disabled-password --gecos "" builder
|
||||
11
ReadMe.md
@@ -3,7 +3,7 @@
|
||||
**RomWBW ReadMe** \
|
||||
Version 3.5 \
|
||||
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
|
||||
15 Jul 2024
|
||||
13 Oct 2024
|
||||
|
||||
# Overview
|
||||
|
||||
@@ -186,8 +186,8 @@ let me know if I missed you!
|
||||
|
||||
- Tasty Basic is a product of Dimitri Theulings.
|
||||
|
||||
- Dean Netherton contributed the sound driver interface and the SN76489
|
||||
sound driver.
|
||||
- Dean Netherton contributed eZ80 CPU support, the sound driver
|
||||
interface, and the SN76489 sound driver.
|
||||
|
||||
- The RomWBW Disk Catalog document was produced by Mykl Orders.
|
||||
|
||||
@@ -196,7 +196,10 @@ let me know if I missed you!
|
||||
Microsoft Fortran Compiler, and a Games compendium.
|
||||
|
||||
- Martin R has provided substantial help reviewing and improving the
|
||||
User Guide.
|
||||
User Guide and Applications documents.
|
||||
|
||||
- Mark Pruden has also contributed a great deal of content to the User
|
||||
Guide as well as the COPYSL utility.
|
||||
|
||||
- Jacques Pelletier has contributed the DS1501 RTC driver code.
|
||||
|
||||
|
||||
11
ReadMe.txt
@@ -1,6 +1,6 @@
|
||||
RomWBW ReadMe
|
||||
Wayne Warthen (wwarthen@gmail.com)
|
||||
15 Jul 2024
|
||||
13 Oct 2024
|
||||
|
||||
|
||||
|
||||
@@ -187,8 +187,8 @@ let me know if I missed you!
|
||||
|
||||
- Tasty Basic is a product of Dimitri Theulings.
|
||||
|
||||
- Dean Netherton contributed the sound driver interface and the
|
||||
SN76489 sound driver.
|
||||
- Dean Netherton contributed eZ80 CPU support, the sound driver
|
||||
interface, and the SN76489 sound driver.
|
||||
|
||||
- The RomWBW Disk Catalog document was produced by Mykl Orders.
|
||||
|
||||
@@ -197,7 +197,10 @@ let me know if I missed you!
|
||||
BASIC Compiler, Microsoft Fortran Compiler, and a Games compendium.
|
||||
|
||||
- Martin R has provided substantial help reviewing and improving the
|
||||
User Guide.
|
||||
User Guide and Applications documents.
|
||||
|
||||
- Mark Pruden has also contributed a great deal of content to the User
|
||||
Guide as well as the COPYSL utility.
|
||||
|
||||
- Jacques Pelletier has contributed the DS1501 RTC driver code.
|
||||
|
||||
|
||||
@@ -28,9 +28,11 @@ pushd ZMD && call Build || exit /b & popd
|
||||
pushd Dev && call Build || exit /b & popd
|
||||
pushd VGM && call Build || exit /b & popd
|
||||
pushd cpuspd && call Build || exit /b & popd
|
||||
pushd reboot && call Build || exit /b & popd
|
||||
pushd Survey && call Build || exit /b & popd
|
||||
pushd HTalk && call Build || exit /b & popd
|
||||
pushd BBCBASIC && call Build || exit /b & popd
|
||||
pushd copysl && call Build || exit /b & popd
|
||||
|
||||
copy *.com %APPBIN%\ || exit /b
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@ pushd ZMD && call Clean || exit /b 1 & popd
|
||||
pushd Dev && call Clean || exit /b 1 & popd
|
||||
pushd VGM && call Clean || exit /b 1 & popd
|
||||
pushd cpuspd && call Clean || exit /b 1 & popd
|
||||
pushd reboot && call Clean || exit /b 1 & popd
|
||||
pushd Survey && call Clean || exit /b 1 & popd
|
||||
pushd HTalk && call Clean || exit /b 1 & popd
|
||||
pushd BBCBASIC && call Clean || exit /b 1 & popd
|
||||
pushd copysl && call Clean || exit /b 1 & popd
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
OBJECTS = sysgen.com syscopy.com assign.com format.com talk.com \
|
||||
mode.com rtc.com timer.com rtchb.com
|
||||
SUBDIRS = HTalk XM FDU FAT Tune Test ZMP ZMD Dev VGM cpuspd Survey BBCBASIC
|
||||
SUBDIRS = HTalk XM FDU FAT Tune Test ZMP ZMD Dev VGM cpuspd reboot Survey BBCBASIC copysl
|
||||
DEST = ../../Binary/Apps
|
||||
TOOLS =../../Tools
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ pushd piomon && call Build || exit /b & popd
|
||||
pushd banktest && call Build || exit /b & popd
|
||||
pushd portscan && call Build || exit /b & popd
|
||||
pushd sound && call Build || exit /b & popd
|
||||
pushd testh8p && call Build || exit /b & popd
|
||||
|
||||
goto :eof
|
||||
|
||||
|
||||
@@ -22,3 +22,4 @@ pushd piomon && call Clean || exit /b 1 & popd
|
||||
pushd banktest && call Clean || exit /b 1 & popd
|
||||
pushd portscan && call Clean || exit /b 1 & popd
|
||||
pushd sound && call Clean || exit /b 1 & popd
|
||||
pushd testh8p && call Clean || exit /b 1 & popd
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
OBJECTS =
|
||||
SUBDIRS = DMAmon I2C inttest ppidetst ramtest tstdskng rzsz vdctest kbdtest ps2info 2piotst piomon banktest portscan sound
|
||||
SUBDIRS = DMAmon I2C inttest ppidetst ramtest tstdskng rzsz vdctest kbdtest ps2info 2piotst piomon banktest portscan sound testh8p
|
||||
DEST = ../../../Binary/Apps/Test
|
||||
TOOLS =../../../Tools
|
||||
|
||||
|
||||
10
Source/Apps/Test/testh8p/Build.cmd
Normal file
@@ -0,0 +1,10 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t80 -g3 -fFF testh8p.asm testh8p.com testh8p.lst || exit /b
|
||||
|
||||
copy /Y testh8p.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
6
Source/Apps/Test/testh8p/Clean.cmd
Normal file
@@ -0,0 +1,6 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.com del *.com
|
||||
if exist *.lst del *.lst
|
||||
if exist *.bin del *.bin
|
||||
9
Source/Apps/Test/testh8p/Makefile
Normal file
@@ -0,0 +1,9 @@
|
||||
OBJECTS = testh8p.com
|
||||
# DOCS = testh8p.doc
|
||||
DEST = ../../../../Binary/Apps/Test
|
||||
DOCDEST = ../../../../Binary/Apps/Test
|
||||
TOOLS =../../../../Tools
|
||||
|
||||
USETASM=1
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
238
Source/Apps/Test/testh8p/testh8p.asm
Normal file
@@ -0,0 +1,238 @@
|
||||
;===============================================================================
|
||||
; H8 Panel Test
|
||||
;===============================================================================
|
||||
;
|
||||
; AUTHOR: WAYNE WARTHEN (wwarthen@gmail.com)
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
;
|
||||
; Trivial utility to test the register pair display functionality of the
|
||||
; Heath H8 Front Panel.
|
||||
;
|
||||
; Program will display a set of known register values on the console,
|
||||
; then go into an infinite loop. The H8 panel can then be checked to
|
||||
; see if the correct values are displayed.
|
||||
;
|
||||
; There is no way to exit this program. You must reset your system.
|
||||
;
|
||||
;===============================================================================
|
||||
; Definitions
|
||||
;===============================================================================
|
||||
;
|
||||
stksiz .equ $40 ; Working stack size
|
||||
;
|
||||
restart .equ $0000 ; CP/M restart vector
|
||||
bdos .equ $0005 ; BDOS invocation vector
|
||||
;
|
||||
regA .equ $11
|
||||
regBC .equ $2233
|
||||
regDE .equ $4455
|
||||
regHL .equ $6677
|
||||
;
|
||||
;===============================================================================
|
||||
; Code Section
|
||||
;===============================================================================
|
||||
;
|
||||
;
|
||||
.org $100
|
||||
;
|
||||
; setup stack (save old value)
|
||||
ld (stksav),sp ; save stack
|
||||
ld sp,stack ; set new stack
|
||||
;
|
||||
ld de,str_prefix
|
||||
call prtstr
|
||||
;
|
||||
ld de,str_A
|
||||
ld hl,regA
|
||||
call prtreg
|
||||
ld de,str_BC
|
||||
ld hl,regBC
|
||||
call prtreg
|
||||
ld de,str_DE
|
||||
ld hl,regDE
|
||||
call prtreg
|
||||
ld de,str_HL
|
||||
ld hl,regHL
|
||||
call prtreg
|
||||
ld de,str_SP
|
||||
ld hl,regSP
|
||||
call prtreg
|
||||
ld de,str_PC
|
||||
ld hl,regPC
|
||||
call prtreg
|
||||
;
|
||||
ld a,regA
|
||||
ld bc,regBC
|
||||
ld de,regDE
|
||||
ld hl,regHL
|
||||
regPC: jr $
|
||||
;
|
||||
;
|
||||
;
|
||||
prtreg:
|
||||
call prtstr ; print label
|
||||
ld a,h ; first byte
|
||||
call prtoctbyte ; print it
|
||||
ld a,'.' ; separator
|
||||
call prtchr ; print it
|
||||
ld a,l ; second byte
|
||||
call prtoctbyte ; print it
|
||||
ret
|
||||
;
|
||||
;
|
||||
;
|
||||
prtoctbyte:
|
||||
rlca ; 2 ms bits
|
||||
rlca
|
||||
push af
|
||||
and %00000011 ; isolate
|
||||
add a,'0' ; make char
|
||||
call prtchr ; show it
|
||||
pop af
|
||||
rlca ; next 3 bits
|
||||
rlca
|
||||
rlca
|
||||
push af
|
||||
and %00000111 ; isolate
|
||||
add a,'0' ; make char
|
||||
call prtchr ; show it
|
||||
pop af
|
||||
rlca ; next 3 bits
|
||||
rlca
|
||||
rlca
|
||||
push af
|
||||
and %00000111 ; isolate
|
||||
add a,'0' ; make char
|
||||
call prtchr ; show it
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; Print character in A without destroying any registers
|
||||
;
|
||||
prtchr:
|
||||
push bc ; save registers
|
||||
push de
|
||||
push hl
|
||||
ld e,a ; character to print in E
|
||||
ld c,$02 ; BDOS function to output a character
|
||||
call bdos ; do it
|
||||
pop hl ; restore registers
|
||||
pop de
|
||||
pop bc
|
||||
ret
|
||||
;
|
||||
; Print a zero terminated string at (DE) without destroying any registers
|
||||
;
|
||||
prtstr:
|
||||
push de
|
||||
;
|
||||
prtstr1:
|
||||
ld a,(de) ; get next char
|
||||
or a
|
||||
jr z,prtstr2
|
||||
call prtchr
|
||||
inc de
|
||||
jr prtstr1
|
||||
;
|
||||
prtstr2:
|
||||
pop de ; restore registers
|
||||
ret
|
||||
;
|
||||
; Start a new line
|
||||
;
|
||||
crlf2:
|
||||
call crlf ; two of them
|
||||
crlf:
|
||||
push af ; preserve AF
|
||||
ld a,13 ; <CR>
|
||||
call prtchr ; print it
|
||||
ld a,10 ; <LF>
|
||||
call prtchr ; print it
|
||||
pop af ; restore AF
|
||||
ret
|
||||
;
|
||||
; Print the value in A in hex without destroying any registers
|
||||
;
|
||||
prthex:
|
||||
push af ; save AF
|
||||
push de ; save DE
|
||||
call hexascii ; convert value in A to hex chars in DE
|
||||
ld a,d ; get the high order hex char
|
||||
call prtchr ; print it
|
||||
ld a,e ; get the low order hex char
|
||||
call prtchr ; print it
|
||||
pop de ; restore DE
|
||||
pop af ; restore AF
|
||||
ret ; done
|
||||
;
|
||||
; print the hex word value in hl
|
||||
;
|
||||
prthexword:
|
||||
push af
|
||||
ld a,h
|
||||
call prthex
|
||||
ld a,l
|
||||
call prthex
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; print the hex dword value in de:hl
|
||||
;
|
||||
prthex32:
|
||||
push bc
|
||||
push de
|
||||
pop bc
|
||||
call prthexword
|
||||
push hl
|
||||
pop bc
|
||||
call prthexword
|
||||
pop bc
|
||||
ret
|
||||
;
|
||||
; Convert binary value in A to ascii hex characters in DE
|
||||
;
|
||||
hexascii:
|
||||
ld d,a ; save A in D
|
||||
call hexconv ; convert low nibble of A to hex
|
||||
ld e,a ; save it in E
|
||||
ld a,d ; get original value back
|
||||
rlca ; rotate high order nibble to low bits
|
||||
rlca
|
||||
rlca
|
||||
rlca
|
||||
call hexconv ; convert nibble
|
||||
ld d,a ; save it in D
|
||||
ret ; done
|
||||
;
|
||||
; Convert low nibble of A to ascii hex
|
||||
;
|
||||
hexconv:
|
||||
and $0F ; low nibble only
|
||||
add a,$90
|
||||
daa
|
||||
adc a,$40
|
||||
daa
|
||||
ret
|
||||
;
|
||||
;===============================================================================
|
||||
; Storage Section
|
||||
;===============================================================================
|
||||
;
|
||||
rtcbuf .fill 6,$FF ; RTC data buffer
|
||||
;
|
||||
str_prefix .db "\r\n\r\nRegisters: ",0
|
||||
;
|
||||
str_A .db "A=",0
|
||||
str_BC .db ", BC=",0
|
||||
str_DE .db ", DE=",0
|
||||
str_HL .db ", HL=",0
|
||||
str_SP .db ", SP=",0
|
||||
str_PC .db ", PC=",0
|
||||
;
|
||||
stksav .dw 0 ; stack pointer saved at start
|
||||
.fill stksiz,0 ; stack
|
||||
stack .equ $ ; stack top
|
||||
regSP:
|
||||
;
|
||||
.end
|
||||
@@ -51,6 +51,7 @@
|
||||
; 2024-05-10 [WBW] Hack to avoid corrupting bits 6&7 of PSG R7 for NABU!
|
||||
; 2024-07-08 [WBW] Add support for Les Bird's Graphics, Sound, Joystick
|
||||
; 2024-07-11 [WBW] Updated, Les Bird's module now uses same settings as EB6
|
||||
; 2024-09-17 [WBW] Add support for HEATH H8 with Les Bird's MSX Card
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; ToDo:
|
||||
@@ -636,6 +637,9 @@ CFGSIZ .EQU $ - CFGTBL
|
||||
;
|
||||
.DB 17, $A4, $A5, $A4, $FF, $A6, $FE ; DUODYNE
|
||||
.DW HWSTR_DUO
|
||||
;
|
||||
.DB 18, $A0, $A1, $A2, $FF, $FF, $FF ; HEATH H8
|
||||
.DW HWSTR_HEATH
|
||||
;
|
||||
.DB 22, $41, $40, $40, $FF, $FF, $FF ; NABU
|
||||
.DW HWSTR_NABU
|
||||
@@ -668,7 +672,7 @@ TMP .DB 0 ; work around use of undocumented Z80
|
||||
HBIOSMD .DB 0 ; NON-ZERO IF USING HBIOS SOUND DRIVER, ZERO OTHERWISE
|
||||
OCTAVEADJ .DB 0 ; AMOUNT TO ADJUST OCTAVE UP OR DOWN
|
||||
|
||||
MSGBAN .DB "Tune Player for RomWBW v3.10, 11-Jul-2024",0
|
||||
MSGBAN .DB "Tune Player for RomWBW v3.11, 17-Sep-2024",0
|
||||
MSGUSE .DB "Copyright (C) 2024, Wayne Warthen, GNU GPL v3",13,10
|
||||
.DB "PTxPlayer Copyright (C) 2004-2007 S.V.Bulba",13,10
|
||||
.DB "MYMPlay by Marq/Lieves!Tuore",13,10,13,10
|
||||
@@ -695,6 +699,7 @@ HWSTR_LINC .DB "Z50 LiNC Sound Module",0
|
||||
HWSTR_MBC .DB "NHYODYNE Sound Module",0
|
||||
HWSTR_DUO .DB "DUODYNE Sound Module",0
|
||||
HWSTR_NABU .DB "NABU Onboard Sound",0
|
||||
HWSTR_HEATH .DB "HEATH H8 MSX Module",0
|
||||
|
||||
MSGUNSUP .db "MYM files not supported with HBIOS yet!\r\n", 0
|
||||
|
||||
|
||||
8
Source/Apps/copysl/Build.cmd
Normal file
@@ -0,0 +1,8 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
:: copysl.com is currently distributed as a binary application, so
|
||||
:: it is not built here.
|
||||
|
||||
copy /Y copysl.com ..\..\..\Binary\Apps\ || exit /b
|
||||
copy /Y copysl.doc ..\..\..\Binary\Apps\ || exit /b
|
||||
5
Source/Apps/copysl/Clean.cmd
Normal file
@@ -0,0 +1,5 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
:: copysl.com is currently distributed as a binary application, so
|
||||
:: we do not delete the .COM file.
|
||||
7
Source/Apps/copysl/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
OBJECTS = copysl.com
|
||||
NODELETE = $(OBJECTS)
|
||||
DOCS = copysl.doc
|
||||
DEST = ../../../Binary/Apps
|
||||
DOCDEST = ../../../Binary/Apps
|
||||
TOOLS=../../../Tools
|
||||
include $(TOOLS)/Makefile.inc
|
||||
BIN
Source/Apps/copysl/copysl.com
Normal file
98
Source/Apps/copysl/copysl.doc
Normal file
@@ -0,0 +1,98 @@
|
||||
==========================================================================
|
||||
CopySlice Utility v0.2 for RomWbW computers
|
||||
written by Mark Pruden (Sept 2024)
|
||||
==========================================================================
|
||||
|
||||
Purpose:
|
||||
--------
|
||||
|
||||
The purpose of this utility is to allow the copying of whole disk slices
|
||||
from one disk slice to another slice
|
||||
|
||||
Background
|
||||
----------
|
||||
|
||||
This tool is only supported by RomWBW HBIOS, it uses HDIOS for all its
|
||||
disk IO. UNA UBIOS is not supported by this tool.
|
||||
|
||||
This tool is running on CP/M 2.2 or 3.0 and has access to full 64kb of
|
||||
RAM, with a minimum of 48kb TPA
|
||||
|
||||
This tool only works with hard disk devices, other media types like
|
||||
floppy, are not supported at this time. This tool works across different
|
||||
hard disk device types, even of different physical type
|
||||
|
||||
Both hd1k and hd512 are fully supported, however copying from one layout
|
||||
type to the other is not supported.
|
||||
|
||||
During operation data is copied in a single read/write pass, data is not
|
||||
verified by default. If there is a write error, it will be reported, and
|
||||
operation will stop.
|
||||
|
||||
General Usage
|
||||
-------------
|
||||
This tool operates at the disk level via RomWBW, thus all disk identifiers
|
||||
are in the RomWBW <disk>.<unit> format
|
||||
|
||||
The syntax (similar to copy) for the command is:
|
||||
|
||||
COPYSL <destunit>[.<slice>]=<srcunit>[.<slice>] [/options]
|
||||
|
||||
E.g.
|
||||
|
||||
COPYSL 3.3=2.10 /U
|
||||
|
||||
Means copy from slice 10 on disk 2, onto disk 3 slice 3. This is in
|
||||
unattended mode, so you will not be asked to confirm the copy operation.
|
||||
|
||||
Options
|
||||
-------
|
||||
F - Full disk copy. Copies the complete disk slice, all sectors.
|
||||
U - Unattended. Will complete copy without confirmation from the user.
|
||||
V - Verify. Does an additional read and verify after write.
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
When run COPYSL will perform command line argument validation and display
|
||||
an error if they are illegal. Also any disk IO errors will cause COPYSL
|
||||
to exit.
|
||||
|
||||
When specifying slice number(s) a check is made that the slice number is
|
||||
valid, i.e. not too large that it would extend past the end of the
|
||||
partition (hd1k), or the end of the media (hd512). For hd512 a check is
|
||||
also performed to ensure that the slice would not extend into the first
|
||||
defined partition.
|
||||
|
||||
The copy operation will be faster if the source disk has been formatted
|
||||
with the CP/M file system, since during copy the CP/M directory is scanned,
|
||||
and unused blocks are not copied.
|
||||
|
||||
If a filesystem is not found, (or the /F option is chosen) all data is
|
||||
copied.
|
||||
|
||||
Verification (if option chosen) will do an aditional read (after write)
|
||||
and compare the data read matches what was written. This compare is only
|
||||
on every 32'nd byte. This is done for efficiency.
|
||||
|
||||
During copy dots "." will be displayed to indicate progress of the copy.
|
||||
Each "." represents 16 kBytes of data. Each line of "." 's is 1 mBytes.
|
||||
|
||||
Testing
|
||||
-------
|
||||
This tool has been writen and tested on a SC126 computer. Testing been on both
|
||||
SD and CF media types, and with both hd1k and hd512 formats
|
||||
|
||||
History
|
||||
-------
|
||||
* v 0.1 Initial Release
|
||||
* v 0.2 Added the /v command option to read and verify after write
|
||||
|
||||
Future
|
||||
------
|
||||
* support ability to read and write from image files stored in CP/M filesystem
|
||||
* maybe the verify options could allow more complete verification.
|
||||
This would be at the cost of performance
|
||||
* ability to abort once the copy has started <ctrl><c>
|
||||
|
||||
|
||||
@@ -23,6 +23,12 @@ rtc_port .equ $70 ; RTC latch port adr
|
||||
restart .equ $0000 ; CP/M restart vector
|
||||
bdos .equ $0005 ; BDOS invocation vector
|
||||
;
|
||||
bf_sysreset .equ $F0 ; restart system
|
||||
;
|
||||
bf_sysres_int .equ $00 ; reset hbios internal
|
||||
bf_sysres_warm .equ $01 ; warm start (restart boot loader)
|
||||
bf_sysres_cold .equ $02 ; cold start
|
||||
;
|
||||
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr
|
||||
;
|
||||
;=======================================================================
|
||||
@@ -113,6 +119,10 @@ main1:
|
||||
;
|
||||
main2:
|
||||
ret z ; if end, nothing to do
|
||||
cp 'W' ; warm boot?
|
||||
jp z,wboot ; if so, do it
|
||||
cp 'C' ; cold boot?
|
||||
jp z,cboot ; if so, do it
|
||||
cp ',' ; no new speed?
|
||||
jr z,main2a ; go to wait states
|
||||
; parse speed string (half, full, double)
|
||||
@@ -161,6 +171,9 @@ parse_spd:
|
||||
ld c,2 ; assume double speed
|
||||
cp 'D' ; check it
|
||||
jr z,parse_spd1 ; if equal, done
|
||||
ld c,3 ; assume quad speed
|
||||
cp 'Q' ; check it
|
||||
jr z,parse_spd1 ; if equal, done
|
||||
or a ; clear CF
|
||||
ccf ; set CF to indicate error
|
||||
ret
|
||||
@@ -222,6 +235,9 @@ show_spd:
|
||||
ld de,str_dbl
|
||||
cp 2
|
||||
jr z,show_spd1
|
||||
ld de,str_quad
|
||||
cp 3
|
||||
jr z,show_spd1
|
||||
jp err_invalid
|
||||
show_spd1:
|
||||
call prtstr
|
||||
@@ -267,6 +283,24 @@ usage:
|
||||
or $FF
|
||||
ret
|
||||
;
|
||||
; Handle Warm Boot
|
||||
;
|
||||
wboot:
|
||||
ld de,str_warmboot ; message
|
||||
call prtstr ; display it
|
||||
ld b,bf_sysreset ; system restart
|
||||
ld c,bf_sysres_warm ; warm start
|
||||
call $fff0 ; call hbios
|
||||
;
|
||||
; Handle Cold Boot
|
||||
;
|
||||
cboot:
|
||||
ld de,str_coldboot ; message
|
||||
call prtstr ; display it
|
||||
ld b,bf_sysreset ; system restart
|
||||
ld c,bf_sysres_cold ; cold start
|
||||
call $fff0 ; call hbios
|
||||
;
|
||||
; Error Handlers
|
||||
;
|
||||
err_una:
|
||||
@@ -510,9 +544,6 @@ prtd3m2:
|
||||
call prtchr
|
||||
prtd3m3:
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;
|
||||
; Get the next non-blank character from (HL).
|
||||
;
|
||||
@@ -665,7 +696,7 @@ delay1:
|
||||
; Constants
|
||||
;=======================================================================
|
||||
;
|
||||
str_banner .db "RomWBW CPU Speed Selector v0.6, 29-Dec-2023",0
|
||||
str_banner .db "RomWBW CPU Speed Selector v1.0, 11-Sep-2024",0
|
||||
str_spacer .db " ",0
|
||||
str_oscspd .db " MHz Oscillator",0
|
||||
str_cpuspd .db " CPU speed is ",0
|
||||
@@ -674,8 +705,11 @@ str_mhz .db " MHz",0
|
||||
str_slow .db " (Half)",0
|
||||
str_full .db " (Full)",0
|
||||
str_dbl .db " (Double)",0
|
||||
str_quad .db " (Quad)",0
|
||||
str_memws .db " Memory Wait State(s)",0
|
||||
str_iows .db " I/O Wait State(s)",0
|
||||
str_warmboot .db "\r\n\r\nWarm booting...",0
|
||||
str_coldboot .db "\r\n\r\nCold booting...",0
|
||||
str_err_una .db " ERROR: UNA not supported by application",0
|
||||
str_err_inv .db " ERROR: Invalid BIOS (signature missing)",0
|
||||
str_err_ver .db " ERROR: Unexpected HBIOS version",0
|
||||
@@ -684,8 +718,10 @@ str_err_not_sup .db " ERROR: Platform or configuration does not support CPU sp
|
||||
str_err_invalid .db " ERROR: Invalid configuration!",0
|
||||
str_err_api .db " ERROR: HBIOS API error!",0
|
||||
str_usage .db " Usage: CPUSPD <cpuspd>,<memws>,<iows>\r\n"
|
||||
.db " CPUSPD (W)armBoot\r\n"
|
||||
.db " CPUSPD (C)oldBoot\r\n"
|
||||
.db "\r\n"
|
||||
.db " <cpuspd>: \"Half\", \"Full\", or \"Double\"\r\n"
|
||||
.db " <cpuspd>: (H)alf | (F)ull | (D)ouble | (Q)uad\r\n"
|
||||
.db " <memws>: Memory wait states\r\n"
|
||||
.db " <iows>: I/O wait states\r\n"
|
||||
.db "\r\n"
|
||||
|
||||
10
Source/Apps/reboot/Build.cmd
Normal file
@@ -0,0 +1,10 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
set TOOLS=../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF reboot.asm reboot.com reboot.lst || exit /b
|
||||
|
||||
copy /Y reboot.com ..\..\..\Binary\Apps\ || exit /b
|
||||
6
Source/Apps/reboot/Clean.cmd
Normal file
@@ -0,0 +1,6 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.com del *.com
|
||||
if exist *.lst del *.lst
|
||||
if exist *.bin del *.bin
|
||||
7
Source/Apps/reboot/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
OBJECTS = reboot.com
|
||||
DEST = ../../../Binary/Apps
|
||||
TOOLS =../../../Tools
|
||||
|
||||
USETASM=1
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
299
Source/Apps/reboot/reboot.asm
Normal file
@@ -0,0 +1,299 @@
|
||||
;==============================================================================
|
||||
; REBOOT - Allows the user to Cold or Warm Boot the RomWBW System
|
||||
; Version 1.0 12-October-2024
|
||||
;==============================================================================
|
||||
;
|
||||
; Author: MartinR (October 2024)
|
||||
; Based **very heavily** on code by Wayne Warthen (wwarthen@gmail.com)
|
||||
;______________________________________________________________________________
|
||||
;
|
||||
; Usage:
|
||||
; REBOOT [/C] [/W] [/?]
|
||||
; ex: REBOOT Display version and usage
|
||||
; REBOOT /? Display version and usage
|
||||
; REBOOT /C Cold boot RomWBW system
|
||||
; REBOOT /W Warm boot RomWBW system
|
||||
;
|
||||
; Operation:
|
||||
; Cold or warm boots a RomWBW system depending on the user option selected.
|
||||
;
|
||||
; This code will only execute on a Z80 CPU (or derivitive)
|
||||
;
|
||||
; This source code assembles with TASM V3.2 under Windows-11 using the
|
||||
; following command line:
|
||||
; tasm -80 -g3 -l REBOOT.ASM REBOOT.COM
|
||||
; ie: Z80 CPU; output format 'binary' named .COM (rather than .OBJ)
|
||||
; and includes a symbol table as part of the listing file.
|
||||
;______________________________________________________________________________
|
||||
;
|
||||
; Change Log:
|
||||
; 2024-09-11 [WBW] Release of RomWBW CPU Speed Selector v1.0 used as the basis
|
||||
; 2024-10-12 [MR ] Initial release of version 1.0
|
||||
;______________________________________________________________________________
|
||||
;
|
||||
; Include Files
|
||||
;
|
||||
#include "../../ver.inc" ; Used for building RomWBW
|
||||
#include "../../HBIOS/hbios.inc"
|
||||
|
||||
;#include "ver.inc" ; Used for testing purposes....
|
||||
;#include "hbios.inc" ; ....during code development
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
; General operational equates (should not requre adjustment)
|
||||
;
|
||||
stksiz .equ $40 ; Working stack size
|
||||
;
|
||||
restart .equ $0000 ; CP/M restart vector
|
||||
bdos .equ $0005 ; BDOS invocation vector
|
||||
;
|
||||
bf_sysreset .equ $F0 ; restart system
|
||||
bf_sysres_int .equ $00 ; reset hbios internal
|
||||
bf_sysres_warm .equ $01 ; warm start (restart boot loader)
|
||||
bf_sysres_cold .equ $02 ; cold start
|
||||
;
|
||||
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
.org $0100 ; standard CP/M TPA executable
|
||||
;
|
||||
; setup stack (save old value)
|
||||
ld (stksav),sp ; save stack
|
||||
ld sp,stack ; set new stack
|
||||
;
|
||||
call crlf
|
||||
ld de,str_banner ; banner
|
||||
call prtstr
|
||||
;
|
||||
; initialization
|
||||
call init ; initialize
|
||||
jr nz,exit ; abort if init fails
|
||||
;
|
||||
call main ; do the real work
|
||||
;
|
||||
exit:
|
||||
; clean up and return to command processor
|
||||
call crlf ; formatting
|
||||
ld sp,(stksav) ; restore stack
|
||||
jp restart ; return to CP/M via restart
|
||||
;
|
||||
;
|
||||
;===============================================================================
|
||||
; Main Program
|
||||
;===============================================================================
|
||||
;
|
||||
; Initialization
|
||||
;
|
||||
init:
|
||||
; check for UNA (UBIOS)
|
||||
ld a,($FFFD) ; fixed location of UNA API vector
|
||||
cp $C3 ; jp instruction?
|
||||
jr nz,initwbw ; if not, not UNA
|
||||
ld hl,($FFFE) ; get jp address
|
||||
ld a,(hl) ; get byte at target address
|
||||
cp $FD ; first byte of UNA push ix instruction
|
||||
jr nz,initwbw ; if not, not UNA
|
||||
inc hl ; point to next byte
|
||||
ld a,(hl) ; get next byte
|
||||
cp $E5 ; second byte of UNA push ix instruction
|
||||
jr nz,initwbw ; if not, not UNA
|
||||
jp err_una ; UNA not supported
|
||||
;
|
||||
initwbw:
|
||||
; get location of config data and verify integrity
|
||||
ld hl,(ident) ; HL := adr or RomWBW HBIOS ident
|
||||
ld a,(hl) ; get first byte of RomWBW marker
|
||||
cp 'W' ; match?
|
||||
jp nz,err_inv ; abort with invalid config block
|
||||
inc hl ; next byte (marker byte 2)
|
||||
ld a,(hl) ; load it
|
||||
cp ~'W' ; match?
|
||||
jp nz,err_inv ; abort with invalid config block
|
||||
inc hl ; next byte (major/minor version)
|
||||
ld a,(hl) ; load it
|
||||
cp rmj << 4 | rmn ; match?
|
||||
jp nz,err_ver ; abort with invalid os version
|
||||
;
|
||||
initz:
|
||||
; initialization complete
|
||||
xor a ; signal success
|
||||
ret ; return
|
||||
;
|
||||
;
|
||||
;
|
||||
main:
|
||||
; skip to start of first command line parameter
|
||||
ld ix,$0081 ; point to start of parm area (past length byte)
|
||||
call nonblank ; skip to next non-blank char
|
||||
cp '/' ; option prefix?
|
||||
jr nz,usage ; display help info & exit if nothing to do
|
||||
;
|
||||
; process any options
|
||||
inc ix ; fetch next character and process
|
||||
ld a,(ix)
|
||||
call upcase ; ensure it's an upper case character
|
||||
cp 'C' ; if it's a 'C' then
|
||||
jr z,cboot ; do a cold boot.
|
||||
cp 'W' ; if it's a 'W' then
|
||||
jr z,wboot ; do a warm boot.
|
||||
cp '?' ; if it's a '?' then
|
||||
jr z,usage ; display usage info and exit.
|
||||
jr err_parm ; or not a recognised option, so report and exit.
|
||||
;
|
||||
; Handle Usage Information
|
||||
;
|
||||
usage:
|
||||
call crlf2 ; display the options for this utility
|
||||
ld de,str_usage
|
||||
call prtstr
|
||||
or $FF
|
||||
ret ; exit back out to CP/M CCP
|
||||
;
|
||||
; Handle Warm Boot
|
||||
;
|
||||
wboot:
|
||||
ld de,str_warmboot ; message
|
||||
call prtstr ; display it
|
||||
ld b,bf_sysreset ; system restart
|
||||
ld c,bf_sysres_warm ; warm start
|
||||
call $fff0 ; call hbios
|
||||
;
|
||||
; Handle Cold Boot
|
||||
;
|
||||
cboot:
|
||||
ld de,str_coldboot ; message
|
||||
call prtstr ; display it
|
||||
ld b,bf_sysreset ; system restart
|
||||
ld c,bf_sysres_cold ; cold start
|
||||
call $fff0 ; call hbios
|
||||
;
|
||||
;===============================================================================
|
||||
; Error Handlers
|
||||
;===============================================================================
|
||||
;
|
||||
err_una:
|
||||
ld de,str_err_una
|
||||
jr err_ret
|
||||
err_inv:
|
||||
ld de,str_err_inv
|
||||
jr err_ret
|
||||
err_ver:
|
||||
ld de,str_err_ver
|
||||
jr err_ret
|
||||
err_parm:
|
||||
ld de,str_err_parm
|
||||
jr err_ret
|
||||
|
||||
;
|
||||
err_ret:
|
||||
call crlf2
|
||||
call prtstr
|
||||
or $FF ; signal error
|
||||
ret
|
||||
;
|
||||
;===============================================================================
|
||||
; Utility Routines
|
||||
;===============================================================================
|
||||
;
|
||||
; Print character in A without destroying any registers
|
||||
;
|
||||
prtchr:
|
||||
push af
|
||||
push bc ; save registers
|
||||
push de
|
||||
push hl
|
||||
ld e,a ; character to print in E
|
||||
ld c,$02 ; BDOS function to output a character
|
||||
call bdos ; do it
|
||||
pop hl ; restore registers
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; Start a new line
|
||||
;
|
||||
crlf2:
|
||||
call crlf ; two of them
|
||||
crlf:
|
||||
push af ; preserve AF
|
||||
ld a,13 ; <CR>
|
||||
call prtchr ; print it
|
||||
ld a,10 ; <LF>
|
||||
call prtchr ; print it
|
||||
pop af ; restore AF
|
||||
ret
|
||||
;
|
||||
; Print a zero terminated string at (de) without destroying any registers
|
||||
;
|
||||
prtstr:
|
||||
push af
|
||||
push de
|
||||
;
|
||||
prtstr1:
|
||||
ld a,(de) ; get next char
|
||||
or a
|
||||
jr z,prtstr2
|
||||
call prtchr
|
||||
inc de
|
||||
jr prtstr1
|
||||
;
|
||||
prtstr2:
|
||||
pop de ; restore registers
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; Get the next non-blank character from (ix)
|
||||
;
|
||||
nonblank:
|
||||
ld a,(ix) ; load next character
|
||||
or a ; string ends with a null
|
||||
ret z ; if null, return pointing to null
|
||||
cp ' ' ; check for blank
|
||||
ret nz ; return if not blank
|
||||
inc ix ; if blank, increment character pointer
|
||||
jr nonblank ; and loop
|
||||
;
|
||||
; Convert character in A to uppercase
|
||||
;
|
||||
upcase:
|
||||
cp 'a' ; if below 'a'
|
||||
ret c ; ... do nothing and return
|
||||
cp 'z' + 1 ; if above 'z'
|
||||
ret nc ; ... do nothing and return
|
||||
res 5,a ; clear bit 5 to make lower case -> upper case
|
||||
ret ; and return
|
||||
;
|
||||
;===============================================================================
|
||||
; Constants
|
||||
;===============================================================================
|
||||
;
|
||||
str_banner .db "RomWBW Reboot Utility, Version 1.0, 12-Oct-2024\r\n"
|
||||
.db " Wayne Warthen (wwarthen@gmail.com) & MartinR",0
|
||||
;
|
||||
str_warmboot .db "\r\n\r\nWarm booting...\r\n",0
|
||||
str_coldboot .db "\r\n\r\nCold booting...\r\n",0
|
||||
;
|
||||
str_err_una .db " ERROR: UNA not supported by application",0
|
||||
str_err_inv .db " ERROR: Invalid BIOS (signature missing)",0
|
||||
str_err_ver .db " ERROR: Unexpected HBIOS version",0
|
||||
str_err_parm .db " ERROR: Parameter error (REBOOT /? for usage)",0
|
||||
;
|
||||
str_usage .db " Usage: REBOOT /? - Display this help info.\r\n"
|
||||
.db " REBOOT /W - Warm boot system\r\n"
|
||||
.db " REBOOT /C - Cold boot system\r\n"
|
||||
.db " Options are case insensitive.\r\n",0
|
||||
;
|
||||
;===============================================================================
|
||||
; Working data
|
||||
;===============================================================================
|
||||
;
|
||||
stksav .dw 0 ; stack pointer saved at start
|
||||
.fill stksiz,0 ; stack
|
||||
stack .equ $ ; stack top
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
.end
|
||||
@@ -33,6 +33,8 @@
|
||||
;
|
||||
;[2023/07/07] v1.9 Support DUODYNE
|
||||
;
|
||||
;[2024/09/02] v1.10 Support Genesis STD Z180
|
||||
;
|
||||
; Constants
|
||||
;
|
||||
mask_data .EQU %10000000 ; RTC data line
|
||||
@@ -52,6 +54,7 @@ PORT_RCZ280 .EQU $C0 ; RTC port for RCZ280
|
||||
PORT_MBC .EQU $70 ; RTC port for MBC
|
||||
PORT_RPH .EQU $84 ; RTC port for RHYOPHYRE
|
||||
PORT_DUO .EQU $94 ; RTC port for DUODYNE
|
||||
PORT_STDZ180 .EQU $84 ; RTC Port for STD Bus Z180 board
|
||||
|
||||
|
||||
BDOS .EQU 5 ; BDOS invocation vector
|
||||
@@ -1143,7 +1146,13 @@ HINIT:
|
||||
CP 17 ; DUODYNE
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
; Unknown platform
|
||||
LD C,PORT_STDZ180
|
||||
LD DE,PLT_STDZ180
|
||||
CP 21 ; STD Z180
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
|
||||
; Unknown platform
|
||||
LD DE,PLTERR ; BIOS error message
|
||||
LD C,9 ; BDOS string display function
|
||||
CALL BDOS ; Do it
|
||||
@@ -1769,6 +1778,7 @@ PLT_RCZ280 .TEXT ", RCBus Z280 RTC Module Latch Port 0xC0\r\n$"
|
||||
PLT_MBC .TEXT ", MBC RTC Latch Port 0x70\r\n$"
|
||||
PLT_RPH .TEXT ", RHYOPHYRE RTC Latch Port 0x84\r\n$"
|
||||
PLT_DUO .TEXT ", DUODYNE RTC Latch Port 0x70\r\n$"
|
||||
PLT_STDZ180 .TEXT ", STD Z180 RTC Module latch port 0x84\r\n$"
|
||||
|
||||
;
|
||||
; Generic FOR-NEXT loop algorithm
|
||||
|
||||
@@ -439,12 +439,12 @@ WBOOT:
|
||||
LD DE,(BNKBIOS) ; UBIOS_PAGE (SEE PAGES.INC)
|
||||
RST 08 ; DO IT
|
||||
PUSH DE ; SAVE PREVIOUS BANK
|
||||
|
||||
|
||||
LD HL,(CCPBUF) ; ADDRESS OF CCP BUF IN BIOS MEM
|
||||
LD DE,CCP_LOC ; ADDRESS IN HI MEM OF CCP
|
||||
LD BC,CCP_SIZ ; SIZE OF CCP
|
||||
LDIR ; DO IT
|
||||
|
||||
|
||||
LD BC,$01FB ; UNA FUNC = SET BANK
|
||||
POP DE ; RECOVER OPERATING BANK
|
||||
RST 08 ; DO IT
|
||||
@@ -804,7 +804,7 @@ WRITE:
|
||||
LD A,C
|
||||
LD (WRTYPE),A ; SAVE WRITE TYPE
|
||||
LD A,DOP_WRITE
|
||||
JR READWRITE
|
||||
;JR READWRITE ; OPTIMISATION (FALL THRU TO READWRITE)
|
||||
;
|
||||
;__________________________________________________________________________________________________
|
||||
READWRITE:
|
||||
@@ -1232,11 +1232,11 @@ DSK_GETINF:
|
||||
RLCA ; ... TO USE AS OFFSET INTO DRVMAP
|
||||
CALL ADDHLA ; ADD OFFSET
|
||||
LD D,(HL) ; D := UNIT
|
||||
|
||||
|
||||
LD A,D ; PUT UNIT IN ACCUM
|
||||
INC A ; $FF -> $00
|
||||
JR Z,DSK_GETINF1 ; HANDLE UNASSIGNED DRIVE LETTER
|
||||
|
||||
|
||||
INC HL ; BUMP TO SLICE
|
||||
LD E,(HL) ; E := SLICE
|
||||
INC HL ; POINT TO DPH LSB
|
||||
@@ -1261,7 +1261,8 @@ DSK_GETINF1: ; ERROR RETURN
|
||||
INC A
|
||||
RET
|
||||
;
|
||||
;
|
||||
; BIOS FUNCTION FOR SELECTING CPM DRIVE (A-P) IN C REGISTER
|
||||
; RETURN HL - BASE ADDRESS OF DPH (0x0000 FOR AN ERROR)
|
||||
;
|
||||
DSK_SELECT:
|
||||
LD B,E ; SAVE E IN B FOR NOW
|
||||
@@ -1321,19 +1322,8 @@ DSK_SELECT1A:
|
||||
LD (MEDID),A
|
||||
;
|
||||
#ELSE
|
||||
;
|
||||
; DETERMINE MEDIA IN DRIVE
|
||||
LD A,(SEKUNIT) ; GET UNIT
|
||||
LD C,A ; STORE IN C
|
||||
LD B,BF_DIOMEDIA ; DRIVER FUNCTION = DISK MEDIA
|
||||
LD E,1 ; ENABLE MEDIA CHECK/DISCOVERY
|
||||
RST 08 ; DO IT
|
||||
LD A,E ; RESULTANT MEDIA ID TO ACCUM
|
||||
LD (MEDID),A ; SAVE IT
|
||||
OR A ; SET FLAGS
|
||||
LD HL,0 ; ASSUME FAILURE
|
||||
RET Z ; BAIL OUT IF NO MEDIA
|
||||
;
|
||||
; NOTE: Setting the (MEDID) is not required for RomWBW at this point
|
||||
; The media ID is determined during call to DSK_MBR:
|
||||
#ENDIF
|
||||
;
|
||||
; CLEAR LBA OFFSET (DWORD)
|
||||
@@ -1343,24 +1333,7 @@ DSK_SELECT1A:
|
||||
SET 7,H ; ASSUME LBA ACCESS FOR NOW
|
||||
LD (SEKLBA+2),HL ; CLEAR SECOND WORD
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
;
|
||||
LD A,(SEKUNIT) ; GET UNIT
|
||||
LD C,A ; STORE IN C
|
||||
LD B,BF_DIODEVICE ; HBIOS FUNC: REPORT DEVICE INFO
|
||||
RST 08 ; GET UNIT INFO, DEVICE TYPE IN D
|
||||
LD A,D ; DEVICE TYPE -> A
|
||||
CP DIODEV_FD ; FLOPPY?
|
||||
JR NZ,DSK_SELECT1B ; IF NOT, DO LBA IO
|
||||
LD HL,SEKLBA+3 ; POINT TO HIGH ORDER BYTE
|
||||
RES 7,(HL) ; SWITCH FROM LBA -> CHS
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
DSK_SELECT1B:
|
||||
; SET LEGACY SECTORS PER SLICE
|
||||
LD HL,16640 ; LEGACY SECTORS PER SLICE
|
||||
LD (SPS),HL ; SAVE IT
|
||||
;
|
||||
; CHECK MBR OF PHYSICAL DISK BEING SELECTED
|
||||
; WILL UPDATE MEDID AND LBAOFF IF VALID CP/M PARTITION EXISTS
|
||||
@@ -1407,29 +1380,47 @@ DSK_SELECT2:
|
||||
; THE MEDIA ID (MEDID).
|
||||
;
|
||||
DSK_MBR:
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
;
|
||||
; GET EXTENDED INFORMATION FOR THE DEVICE/SLICE
|
||||
LD A,(SEKUNIT) ; PASSING BOOT UNIT
|
||||
LD D,A
|
||||
LD A,(SLICE) ; AND SLICE
|
||||
LD E,A
|
||||
LD B,BF_EXTSLICE ; HBIOS FUNC: SLICE
|
||||
RST 08 ; DO IT
|
||||
;
|
||||
; CHECK ERRORS FROM THE FUNCTION
|
||||
RET NZ ; ABORT ON ERROR
|
||||
|
||||
; SAVE MEDIA ID
|
||||
LD A,C ; C IS MEDIA ID FROM HBIOS
|
||||
LD (MEDID),A ; SAVE IT
|
||||
|
||||
; TEST IF FLOPPY MEDIA - BIT 7 DEVICE ATTRIBUTES
|
||||
BIT 7,B ; B IS ATTRIBUTES FROM HBIOS
|
||||
JR NZ,DSK_MBR11 ; FLOPPY - SAVE AND RETURN DEHL -> CHS
|
||||
|
||||
; CODE FALL THRU NEXT IFDEF AND SETS 7,D
|
||||
; THEN RETURNS DEHL -> LBA MODE
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#IFDEF PLTUNA
|
||||
; CHECK MEDIA TYPE, ONLY HARD DISK IS APPLICABLE
|
||||
LD A,(MEDID) ; GET MEDIA ID
|
||||
CP MID_HD ; HARD DISK?
|
||||
JR Z,DSK_MBR0 ; IF SO, CONTINUE
|
||||
XOR A ; ELSE, N/A, SIGNAL SUCCESS
|
||||
RET ; AND RETURN
|
||||
|
||||
|
||||
DSK_MBR0:
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
; ACTIVATE BIOS BANK TO ACCESS DISK BUFFER
|
||||
LD (STKSAV),SP ; SAVE CUR STACK
|
||||
LD SP,STACK ; NEW STACK IN HI MEM
|
||||
LD A,(BNKBIOS) ; ACTIVATE HBIOS BANK
|
||||
PUSH IX ; SAVE IX
|
||||
LD IX,DSK_MBR1 ; ROUTINE TO RUN
|
||||
CALL HB_BNKCALL ; DO IT
|
||||
POP IX ; RESTORE IX
|
||||
LD SP,(STKSAV) ; RESTORE ORIGINAL STACK
|
||||
RET
|
||||
#ENDIF
|
||||
;
|
||||
DSK_MBR1:
|
||||
; SET LEGACY SECTORS PER SLICE - USED IN CAPACITY CALC
|
||||
LD HL,SPS_HD512 ; LEGACY SECTORS PER SLICE
|
||||
LD (SPS),HL ; SAVE IT
|
||||
;
|
||||
; FLUSH DSKBUF TO MAKE SURE IT IS SAFE TO USE IT.
|
||||
CALL BLKFLSH ; MAKE SURE DISK BUFFER IS NOT DIRTY
|
||||
XOR A ; CLEAR ACCUM
|
||||
@@ -1441,9 +1432,6 @@ DSK_MBR1:
|
||||
LD C,A ; PUT IN C
|
||||
LD DE,0 ; LBA SECTOR ZERO
|
||||
LD HL,0 ; ...
|
||||
#IFDEF PLTWBW
|
||||
SET 7,D ; MAKE SURE LBA ACCESS BIT SET
|
||||
#ENDIF
|
||||
CALL DSK_IO2 ; DO IT
|
||||
RET NZ ; ABORT ON ERROR
|
||||
;
|
||||
@@ -1487,6 +1475,8 @@ DSK_MBR3:
|
||||
; CHECK THAT REQUESTED SLICE IS "INSIDE" PARTITION
|
||||
; SLICE SIZE IS EXACTLY 16,384 SECTORS (8MB), SO WE CAN JUST
|
||||
; RIGHT SHIFT PARTITION SECTOR COUNT BY 14 BITS
|
||||
; IMPLEMENTED BY : LEFT SHIFT BY 2, AND TAKE HIGH ORDER WORD
|
||||
; SAME AS DISCARDING THE LOWER 14 BITS, SINCE KEEP 2 BY SHIFT
|
||||
LD E,(HL) ; HL POINTS TO FIRST BYTE
|
||||
INC HL ; ... OF 32 BIT PARTITION
|
||||
LD D,(HL) ; ... SECTOR COUNT,
|
||||
@@ -1510,7 +1500,7 @@ DSK_MBR3:
|
||||
;
|
||||
DSK_MBR4:
|
||||
; IF BOOT FROM PARTITION, USE NEW SECTORS PER SLICE VALUE
|
||||
LD HL,16384 ; NEW SECTORS PER SLICE
|
||||
LD HL,SPS_HD1K ; NEW SECTORS PER SLICE
|
||||
LD (SPS),HL ; SAVE IT
|
||||
|
||||
; UPDATE MEDIA ID
|
||||
@@ -1519,18 +1509,19 @@ DSK_MBR4:
|
||||
;
|
||||
DSK_MBR5:
|
||||
; ADJUST LBA OFFSET BASED ON TARGET SLICE
|
||||
; ALSO JP HERE IF NO PARTITION TABLE, OR NO CPM PARTION
|
||||
LD A,(SLICE) ; GET SLICE, A IS LOOP CNT
|
||||
LD HL,(SEKLBA) ; SET DE:HL
|
||||
LD DE,(SEKLBA+2) ; ... TO STARTING LBA
|
||||
LD BC,(SPS) ; SECTORS PER SLICE
|
||||
RES 7,D ; CLEAR LBA MODE BIT
|
||||
DSK_MBR6:
|
||||
DSK_MBR6:
|
||||
OR A ; SET FLAGS TO CHECK LOOP CNTR
|
||||
JR Z,DSK_MBR8 ; DONE IF COUNTER EXHAUSTED
|
||||
ADD HL,BC ; ADD ONE SLICE TO LOW WORD
|
||||
JR NC,DSK_MBR7 ; CHECK FOR CARRY
|
||||
INC DE ; IF SO, BUMP HIGH WORD
|
||||
DSK_MBR7:
|
||||
DSK_MBR7:
|
||||
DEC A ; DEC LOOP DOWNCOUNTER
|
||||
JR DSK_MBR6 ; AND LOOP
|
||||
DSK_MBR8:
|
||||
@@ -1552,21 +1543,11 @@ DSK_MBR9:
|
||||
LD (CAP_REQ),HL ; LSW
|
||||
LD (CAP_REQ+2),DE ; MSW
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
; GET DSK_CAP (DE:HL)
|
||||
LD B,BF_DIOCAP ; HBIOS DISK CAPACITY FUNC
|
||||
LD A,(SEKUNIT) ; DISK UNIT NUMBER
|
||||
LD C,A ; ... INTO C
|
||||
RST 08 ; HBIOS CALL (DE:HL = CAPACITY)
|
||||
#ENDIF
|
||||
;
|
||||
#IFDEF PLTUNA
|
||||
; GET DSK_CAP (DE:HL)
|
||||
LD C,$45 ; UBIOS DISK INFO FUNC
|
||||
LD A,(SEKUNIT) ; DISK UNIT NUMBER
|
||||
LD B,A ; ... INTO B
|
||||
RST 08 ; CALL UNA (DE:HL = CAPACITY)
|
||||
#ENDIF
|
||||
;
|
||||
; SAVE DSK_CAP (DE:HL)
|
||||
PUSH DE ; SAVE DSK_CAP (MSW)
|
||||
@@ -1591,9 +1572,12 @@ DSK_MBR9:
|
||||
OR $FF ; SIGNAL ERROR
|
||||
RET ; DONE
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
DSK_MBR10:
|
||||
; FINALIZE SLICE LBA
|
||||
SET 7,D ; SET LBA ACCESS FLAG
|
||||
DSK_MBR11:
|
||||
; RESAVE IT
|
||||
LD (SEKLBA),HL ; LOWORD
|
||||
LD (SEKLBA+2),DE ; HIWORD
|
||||
@@ -1601,7 +1585,7 @@ DSK_MBR10:
|
||||
XOR A ; SUCCESS
|
||||
RET ; DONE
|
||||
;
|
||||
;
|
||||
; CHECK DISK STATUS (PART OF BIOS COLD WARM BOOT)
|
||||
;
|
||||
DSK_STATUS:
|
||||
#IFDEF PLTUNA
|
||||
@@ -1619,21 +1603,21 @@ DSK_STATUS:
|
||||
RET
|
||||
#ENDIF
|
||||
;
|
||||
;
|
||||
; READ PHYSICAL SECTOR INTO BUFFER
|
||||
;
|
||||
DSK_READ:
|
||||
; SET B = FUNCTION: READ
|
||||
LD B,BF_DIOREAD
|
||||
JR DSK_IO
|
||||
;
|
||||
;
|
||||
; WRITE PHYSICAL SECTOR FROM BUFFER
|
||||
;
|
||||
DSK_WRITE:
|
||||
; SET B = FUNCTION: WRITE
|
||||
LD B,BF_DIOWRITE
|
||||
JR DSK_IO
|
||||
;
|
||||
;
|
||||
; READ/WRITE PHYSICAL SECTOR
|
||||
;
|
||||
DSK_IO:
|
||||
LD A,(HSTUNIT) ; GET UNIT
|
||||
@@ -1671,8 +1655,8 @@ LBA_IO:
|
||||
LD L,A
|
||||
; ADD IN LBA OFFSET FOR PARTITION AND/OR SLICE
|
||||
LD BC,(HSTLBA) ; LBA OFFSET LOWORD
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
LD BC,(HSTLBA+2) ; LBA OFFSET HIWORD
|
||||
ADC HL,BC
|
||||
EX DE,HL
|
||||
@@ -1816,8 +1800,10 @@ DEFDRIVE .DB 0 ; DEFAULT DRIVE
|
||||
CCPBUF .DW 0 ; ADDRESS OF CCP BUF IN BIOS BANK
|
||||
MEDID .DB 0 ; TEMP STORAGE FOR MEDIA ID
|
||||
SLICE .DB 0 ; CURRENT SLICE
|
||||
#IFDEF PLTUNA
|
||||
SPS .DW 0 ; SECTORS PER SLICE
|
||||
CAP_REQ .DW 0,0 ; LBA CAP REQUIRED FOR SLICE
|
||||
#ENDIF
|
||||
STKSAV .DW 0 ; TEMP SAVED STACK POINTER
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
@@ -2596,7 +2582,7 @@ MD_INIT:
|
||||
LD A,(HCB + HCB_RAMD_BNKS) ; RAM DISK SIZE IN BANKS
|
||||
LD IX,DPB_RAM ; ADDRESS OF DPB
|
||||
CALL MD_INIT1 ; FIX IT UP
|
||||
;
|
||||
;
|
||||
JR MD_INIT4 ; DONE
|
||||
;
|
||||
MD_INIT1:
|
||||
|
||||
@@ -38,6 +38,10 @@ copy /b os2ccp.bin + os3bdos.bin + ..\cbios\cbios_una.bin cpm_una.bin || exit /b
|
||||
copy /b loader.bin + cpm_wbw.bin cpm_wbw.sys || exit /b
|
||||
copy /b loader.bin + cpm_una.bin cpm_una.sys || exit /b
|
||||
|
||||
rem Copy OS files to Binary directory
|
||||
copy cpm_wbw.sys ..\..\Binary\CPM22 || exit /b
|
||||
copy cpm_una.sys ..\..\Binary\CPM22 || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
:asm
|
||||
|
||||
@@ -3,14 +3,20 @@ BINFILES = cpm_wbw.bin cpm_una.bin
|
||||
OBJECTS = CCP.bin BDOS.bin CCP22.bin BDOS22.bin OS2CCP.bin OS3BDOS.bin \
|
||||
ccpb03.bin bdosb01.bin loader.bin $(SYSFILES) $(BINFILES)
|
||||
OTHERS = *.hex
|
||||
NOCOPY = cpm_wbw.bin cpm_una.bin \
|
||||
CCP.bin BDOS.bin CCP22.bin BDOS22.bin OS2CCP.bin OS3BDOS.bin \
|
||||
ccpb03.bin bdosb01.bin loader.bin
|
||||
|
||||
DEST = ../../Binary/CPM22
|
||||
TOOLS = ../../Tools
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
%.sys: %.bin loader.bin
|
||||
cat loader.bin $*.bin > $@
|
||||
%.sys: %.bin loader.bin
|
||||
cat loader.bin $*.bin > $@
|
||||
|
||||
cpm_una.bin: OS2CCP.bin OS3BDOS.bin ../CBIOS/cbios_una.bin
|
||||
cat OS2CCP.bin OS3BDOS.bin ../CBIOS/cbios_una.bin > $@
|
||||
|
||||
|
||||
cpm_wbw.bin: OS2CCP.bin OS3BDOS.bin ../CBIOS/cbios_wbw.bin
|
||||
cat OS2CCP.bin OS3BDOS.bin ../CBIOS/cbios_wbw.bin > $@
|
||||
|
||||
@@ -4,11 +4,13 @@
|
||||
maclib cpm3.lib
|
||||
|
||||
cseg
|
||||
|
||||
|
||||
extrn phex16, phex8
|
||||
extrn cin, cout
|
||||
extrn crlf, crlf2
|
||||
|
||||
|
||||
include hbios.z80
|
||||
|
||||
debug equ false
|
||||
|
||||
; BIOS Jump vector.
|
||||
@@ -65,7 +67,7 @@ boot:
|
||||
; this routine to avoid issues.
|
||||
ld (stksav),sp
|
||||
ld sp,stack
|
||||
|
||||
|
||||
; Do the real work
|
||||
call boot0
|
||||
|
||||
@@ -78,6 +80,10 @@ boot0:
|
||||
if cmdline
|
||||
|
||||
boot1:
|
||||
;
|
||||
; The following Code is the Entry Point for the Loader when
|
||||
; it is built as a COM file. Typically CPMLDR.COM or ZPMLDR.COM
|
||||
;
|
||||
; Get disk unit from user
|
||||
ld de,msgunit ; disk unit prompt
|
||||
call writestr ; display on console
|
||||
@@ -88,7 +94,7 @@ boot1:
|
||||
sub '0' ; convert to binary
|
||||
ld (unit),a ; save it
|
||||
jr c,selerr ; loop if below 0 entered
|
||||
ld bc,0F810h ; HBIOS, get disk unit count
|
||||
ld bc,BC_SYSGET_DIOCNT ; HBIOS, get disk unit count
|
||||
call 0FFF0h ; do it, E := disk unit count
|
||||
ld a,(unit) ; get unit num back
|
||||
cp e ; compare to entry
|
||||
@@ -118,7 +124,7 @@ selerr:
|
||||
|
||||
boot2:
|
||||
; Record unit & slice w/ HBIOS
|
||||
ld bc,0F9E0h ; HBIOS func: set boot info
|
||||
ld bc,BC_SYSSET_BOOTINFO ; HBIOS func: set boot info
|
||||
ld a,(unit) ; get unit
|
||||
ld d,a ; put in D
|
||||
ld a,(slice) ; get slice
|
||||
@@ -128,8 +134,13 @@ boot2:
|
||||
|
||||
else
|
||||
|
||||
;
|
||||
; The following Code is the Entry Point for the Loader when
|
||||
; it is built as a SYS file, and run from the System Track
|
||||
;
|
||||
|
||||
; Get unit & slice from HBIOS
|
||||
ld bc,0F8E0h ; HBIOS func: get boot info
|
||||
ld bc,BC_SYSGET_BOOTINFO ; HBIOS func: get boot info
|
||||
call 0FFF0h ; do it, D := boot unit, E: := slice
|
||||
ld a,d ; move unit to A
|
||||
ld (unit),a ; save it
|
||||
@@ -138,103 +149,27 @@ boot2:
|
||||
|
||||
endif
|
||||
|
||||
; Check that drive actually exists
|
||||
ld bc,0F810h ; HBIOS func: get disk count
|
||||
call 0FFF0h ; do it, E=disk count
|
||||
ld a,(unit) ; get boot disk unit
|
||||
cp e ; compare to count
|
||||
jp nc,err_nodisk ; handle no disk err
|
||||
|
||||
; Sense media to determine media format
|
||||
ld a,(unit) ; Get boot unit
|
||||
ld c,a ; put in C
|
||||
ld b,18h ; HBIOS Media function
|
||||
ld e,1 ; Enable media check/discovery
|
||||
ld d,a ; put in D
|
||||
ld a,(slice) ; get boot slice
|
||||
ld e,a ; put in E
|
||||
ld b,BF_EXTSLICE ; HBIOS FUNC: SLICE
|
||||
call 0FFF0H ; HBIOS call
|
||||
jp nz,err_diskio ; handle error
|
||||
ld a,e ; resultant media id to accum
|
||||
|
||||
; Check errors from the Function
|
||||
cp ERR_NOUNIT ; compare to no unit error
|
||||
jp z,err_nodisk ; handle no disk err
|
||||
cp ERR_NOMEDIA ; no media in the device
|
||||
jp z,err_nodisk ; handle the error
|
||||
cp ERR_RANGE ; slice is invalid
|
||||
jp z,err_noslice ; bad slice, handle err
|
||||
or a ; any other error
|
||||
jp nz,err_diskio ; handle as general IO error
|
||||
|
||||
; Initialize slice start LBA and Media ID
|
||||
ld a,c
|
||||
ld (medid),a ; save media id
|
||||
or a ; set flags, 0 is no media
|
||||
jp z,err_diskio ; handle no media error
|
||||
|
||||
; Initialize slice start LBA & sectors per slice
|
||||
ld hl,0 ; assume slice starts
|
||||
ld (lba),hl ; ... at LBA offset
|
||||
ld (lba+2),hl ; ... of zero
|
||||
ld hl,16640 ; assume legacy value for
|
||||
ld (sps),hl ; ... sectors per slice
|
||||
|
||||
; If not hard disk, skip partition & slice stuff
|
||||
ld a,(medid) ; get media id
|
||||
cp 4 ; hard disk?
|
||||
jr nz,boot9 ; if not, jump ahead
|
||||
|
||||
; Read MBR
|
||||
ld de,8000h ; LBA address zero
|
||||
ld hl,0 ; ... to read first sector
|
||||
ld bc,mbrsec ; read into MBR buffer
|
||||
ld (dma),bc ; save
|
||||
ld b,1 ; one sector
|
||||
ld a,(unit) ; get bootunit
|
||||
ld c,a ; put in C
|
||||
call diskread ; do it, no return on err
|
||||
|
||||
; Check signature
|
||||
ld hl,(mbrsec+1FEh) ; get signature
|
||||
ld a,l ; first byte
|
||||
cp 055h ; should be $55
|
||||
jr nz,boot5 ; if not, no part table
|
||||
ld a,h ; second byte
|
||||
cp 0AAh ; should be $AA
|
||||
jr nz,boot5 ; if not, no part table
|
||||
|
||||
; Search part table for CP/M entry (type 0x2E)
|
||||
ld b,4 ; four entries in part table
|
||||
ld hl,mbrsec+1BEh+4 ; offset of first part type
|
||||
boot3:
|
||||
ld a,(hl) ; get part type
|
||||
cp 2Eh ; CP/M partition?
|
||||
jr z,boot4 ; cool, grab the LBA offset
|
||||
ld de,16 ; part table entry size
|
||||
add hl,de ; bump to next part type
|
||||
djnz boot3 ; loop thru table
|
||||
jr boot5 ; too bad, no CP/M partition
|
||||
|
||||
boot4:
|
||||
; Capture the starting LBA of the CP/M partition we found
|
||||
ld de,4 ; LBA is 4 bytes after part type
|
||||
add hl,de ; point to it
|
||||
ld de,lba ; loc to store lba offset
|
||||
ld bc,4 ; 4 bytes (32 bits)
|
||||
ldir ; copy it
|
||||
|
||||
; For now, it is implied that a slice within a partition
|
||||
; table will be in the "new" disk format. So, we now
|
||||
; adjust the sectors per slice and media id.
|
||||
|
||||
; Use new slice format sectors per slice value
|
||||
ld hl,16384 ; new sectors per slice
|
||||
ld (sps),hl ; save it
|
||||
|
||||
; Update media id for new hard disk format
|
||||
ld a,10 ; new media id
|
||||
ld (medid),a ; save it
|
||||
|
||||
boot5:
|
||||
; Adjust LBA offset based on target slice
|
||||
ld a,(slice) ; get boot slice, A is loop cnt
|
||||
ld hl,(lba) ; set DE:HL
|
||||
ld de,(lba+2) ; ... to starting LBA
|
||||
ld bc,(sps) ; sectors per slice
|
||||
boot6:
|
||||
or a ; set flags to check loop cntr
|
||||
jr z,boot8 ; done if counter exhausted
|
||||
add hl,bc ; add one slice to low word
|
||||
jr nc,boot7 ; check for carry
|
||||
inc de ; if so, bump high word
|
||||
boot7:
|
||||
dec a ; dec loop downcounter
|
||||
jr boot6 ; and loop
|
||||
boot8:
|
||||
ld (lba),hl ; save new lba, low word
|
||||
ld (lba+2),de ; save new lba, high word
|
||||
@@ -277,7 +212,7 @@ conin:
|
||||
conout:
|
||||
ld e,c ; output character in E
|
||||
ld bc,0180h ; unit 80h (console), func 1 = COUT
|
||||
jp 0FFF0h
|
||||
jp 0FFF0h
|
||||
list:
|
||||
ld a,85H
|
||||
halt
|
||||
@@ -311,7 +246,7 @@ setdma:
|
||||
call crlf
|
||||
call phex16
|
||||
pop hl
|
||||
|
||||
|
||||
endif
|
||||
|
||||
ld (dma),bc
|
||||
@@ -337,18 +272,18 @@ read:
|
||||
call phex16
|
||||
ld hl,(lba+0)
|
||||
call phex16
|
||||
|
||||
|
||||
endif
|
||||
|
||||
; Check device type
|
||||
ld a,(unit) ; get unit
|
||||
ld c,a ; BIOS Disk Unit in C
|
||||
ld b,17h ; HBIOS DEVICE function
|
||||
ld b,BF_DIODEVICE ; HBIOS DEVICE function
|
||||
rst 08 ; Do it, D=device type
|
||||
ld a,d ; put in accum
|
||||
cp 01h ; floppy?
|
||||
jr nz,read2 ; if not, do LBA i/o
|
||||
|
||||
|
||||
; Floppy I/O
|
||||
ld de,(sect) ; sector -> de, head(d) becomes zero
|
||||
ld hl,(trk) ; track -> hl (low bit has head)
|
||||
@@ -356,7 +291,7 @@ read:
|
||||
rr l ; ... and into carry
|
||||
rl d ; carry bit (head) into d
|
||||
jr read3 ; do the disk i/o
|
||||
|
||||
|
||||
; LBA I/O
|
||||
read2:
|
||||
ld hl,(trk) ; get track
|
||||
@@ -386,7 +321,7 @@ read3:
|
||||
call phex16
|
||||
ex de,hl
|
||||
call phex16
|
||||
|
||||
|
||||
endif
|
||||
|
||||
; DE:HL has sector address to read (LBA or CHS)
|
||||
@@ -401,14 +336,14 @@ diskread:
|
||||
|
||||
; Seek to requested sector in DE:HL
|
||||
push bc ; save unit & count
|
||||
ld b,012h ; HBIOS func: seek
|
||||
ld b,BF_DIOSEEK ; HBIOS func: seek
|
||||
call 0FFF0h ; do it
|
||||
pop bc ; recover unit & count
|
||||
jp nz,err_diskio ; handle error
|
||||
|
||||
; Read sector(s) into buffer
|
||||
ld e,b ; transfer count
|
||||
ld b,013h ; HBIOS func: disk read
|
||||
ld b,BF_DIOREAD ; HBIOS func: disk read
|
||||
ld hl,(dma) ; read into info sec buffer
|
||||
ld a,(0FFE0h) ; get current bank
|
||||
ld d,a ; put in D
|
||||
@@ -477,7 +412,7 @@ xmove:
|
||||
;cin:
|
||||
; ; Input character from console via HBIOS
|
||||
; ld c,080H ; console unit to C
|
||||
; ld b,00H ; HBIOS func: input char
|
||||
; ld b,BF_CIOIN ; HBIOS func: input char
|
||||
; call 0FFF0H ; HBIOS reads character
|
||||
; ld a,e ; To A for return
|
||||
; ret ; done
|
||||
@@ -486,7 +421,7 @@ xmove:
|
||||
; ; Output character to console via HBIOS
|
||||
; ld e,a ; output char to E
|
||||
; ld c,080H ; console unit to C
|
||||
; ld b,01H ; HBIOS func: output char
|
||||
; ld b,BF_CIOOUT ; HBIOS func: output char
|
||||
; jp 0FFF0H ; output & return
|
||||
|
||||
writestr:
|
||||
@@ -539,7 +474,7 @@ err:
|
||||
|
||||
str_err_prefix db "\r\n\r\n*** ","$"
|
||||
str_err_nodisk db "Disk unit not available","$"
|
||||
str_err_noslice db "Disk unit does not support slices","$"
|
||||
str_err_noslice db "Slice not supported","$"
|
||||
str_err_diskio db "Disk I/O failure","$"
|
||||
str_err_sig db "No system image on disk","$"
|
||||
str_err_api db "HBIOS API failure","$"
|
||||
@@ -728,7 +663,6 @@ dma ds 2 ; current DMA address
|
||||
|
||||
medid ds 1 ; media id
|
||||
lba ds 4 ; current lba
|
||||
sps ds 2 ; sectors per slice
|
||||
|
||||
ds 64
|
||||
stack equ $
|
||||
|
||||
@@ -35,9 +35,9 @@
|
||||
extrn ?pderr ; print BIOS disk error header
|
||||
extrn ?conin,?cono ; con in and out
|
||||
extrn ?const ; get console status
|
||||
|
||||
|
||||
extrn ?bnkxlt
|
||||
|
||||
|
||||
extrn phex16, phex8, cout, crlf, crlf2
|
||||
|
||||
|
||||
@@ -45,15 +45,18 @@
|
||||
|
||||
maclib cpm3.lib
|
||||
|
||||
; HBIOS related definitons
|
||||
|
||||
include hbios.z80
|
||||
|
||||
; common control characters
|
||||
|
||||
cr equ 13
|
||||
lf equ 10
|
||||
bell equ 7
|
||||
|
||||
; Extended Disk Parameter Headers (XDPHs)
|
||||
|
||||
; Extended Disk Parameter Headers (XPDHs)
|
||||
|
||||
; All DPH entries below are generic. They are updated during
|
||||
; boot to point to available HBIOS disk unit/slices dynamically.
|
||||
|
||||
@@ -186,7 +189,7 @@ dph15: dph 0,dpb$max ; Real DPB filled in at disk login
|
||||
dw 0, 0 ; LBA Offset
|
||||
|
||||
cseg ; DPB must be resident
|
||||
|
||||
|
||||
dpb$max:
|
||||
dw 64 ; spt: sectors per track
|
||||
db 5 ; bsh: block shift factor
|
||||
@@ -288,7 +291,7 @@ dpb_fd144: ; 3.5" DS/HD Floppy Drive (1.44M)
|
||||
db 2 ; psh: 2 for 512 byte sectors
|
||||
db 3 ; phm: (512 / 128) - 1
|
||||
|
||||
dpb_fd360: ; 5.25" DS/DD Floppy Drive (360K)
|
||||
dpb_fd360: ; 5.25" DS/DD Floppy Drive (360K)
|
||||
dw 36 ; spt: sectors per track
|
||||
db 4 ; bsh: block shift factor
|
||||
db 15 ; blm: block mask
|
||||
@@ -370,7 +373,7 @@ dsk$init:
|
||||
|
||||
dsk$init1:
|
||||
; Get bank count of RAM/ROM disk
|
||||
ld b,0FAh ; HBIOS Peek Function
|
||||
ld b,BF_SYSPEEK ; HBIOS Peek Function
|
||||
ld a,(@hbbio) ; HBIOS bank id
|
||||
ld d,a ; ... goes in D
|
||||
rst 08 ; Call HBIOS, value in E
|
||||
@@ -399,9 +402,9 @@ dsk$init3:
|
||||
dec hl ; subtract 1 for proper DSM value
|
||||
ld (ix+5),l ; save updated
|
||||
ld (ix+6),h ; ... DSM value
|
||||
|
||||
|
||||
ret
|
||||
|
||||
|
||||
;ld a,(@rdrv) ; unit being initialized
|
||||
;ld hl,@bootdu
|
||||
;cp (hl) ; compare to boot unit
|
||||
@@ -445,14 +448,13 @@ dsk$login:
|
||||
|
||||
;ret ; we have nothing to do in
|
||||
; simple single density only environment.
|
||||
|
||||
|
||||
|
||||
;ld a,'L'
|
||||
;call cout
|
||||
|
||||
|
||||
ld (curdph),de ; save working DPH
|
||||
ex de,hl ; DPH adr to HL
|
||||
dec hl ; point to slice
|
||||
dec hl ; point to slice
|
||||
ld a,(hl) ; get slice
|
||||
ld (slice),a ; save it
|
||||
dec hl ; point to disk unit
|
||||
@@ -460,194 +462,38 @@ dsk$login:
|
||||
ld (unit),a ; save it
|
||||
inc a ; 0FFh -> 000h
|
||||
jp z,err_ret ; bail out on no disk mapped here
|
||||
|
||||
;call media ; update DPH for media
|
||||
;ret
|
||||
|
||||
media:
|
||||
; Set retry address
|
||||
ld hl,media
|
||||
ld (retry$adr),hl
|
||||
|
||||
|
||||
; Sense media to determine media format
|
||||
ld a,(unit) ; get disk unit
|
||||
ld c,a ; put in C
|
||||
ld b,18h ; HBIOS Media function
|
||||
ld e,1 ; Enable media check/discovery
|
||||
ld b,BF_EXTSLICE ; HBIOS func: SLICE
|
||||
ld a,(unit) ; passing boot unit
|
||||
ld d,a
|
||||
ld a,(slice) ; and slice
|
||||
ld e,a
|
||||
call 0FFF0H ; HBIOS call
|
||||
jp nz,err_diskio ; handle error
|
||||
ld a,e ; resultant media id to accum
|
||||
|
||||
; Check errors from the Function
|
||||
cp ERR_NOUNIT ; compare to no unit error
|
||||
jp z,err_nodisk ; handle no disk err
|
||||
cp ERR_NOMEDIA ; no media in the device
|
||||
jp z,err_nodisk ; handle the error
|
||||
cp ERR_RANGE ; slice is invalid
|
||||
jp z,err_noslice ; bad slice, handle err
|
||||
or a ; any other error
|
||||
jp nz,err_diskio ; handle as general IO error
|
||||
|
||||
; Capture the Result
|
||||
ld a,c ; resultant media id to accum
|
||||
ld (medid),a ; save media id
|
||||
or a ; set flags, 0 is no media
|
||||
jp z,err_nodisk ; handle no media error
|
||||
|
||||
; Initialize slice start LBA & sectors per slice
|
||||
ld hl,0 ; assume slice starts
|
||||
ld (lba),hl ; ... at LBA offset
|
||||
set 7,h ; ... of zero
|
||||
ld (lba+2),hl ; ... w/ LBA access
|
||||
|
||||
; Check device type
|
||||
ld a,(unit) ; get disk unit
|
||||
ld c,a ; put in C
|
||||
ld b,17h ; HBIOS func: report device info
|
||||
call 0FFF0h ; get unit info, device type in D
|
||||
ld a,d ; device type -> A
|
||||
cp 01h ; floppy?
|
||||
jr nz,media1 ; if not, do LBA I/O
|
||||
ld hl,lba+3 ; point to high order byte
|
||||
res 7,(hl) ; switch from LBA -> CHS
|
||||
|
||||
media1:
|
||||
ld hl,16640 ; assume legacy value for
|
||||
ld (sps),hl ; ... sectors per slice
|
||||
|
||||
; If not hard disk, skip partition & slice stuff
|
||||
ld a,(medid) ; get media id
|
||||
cp 4 ; hard disk?
|
||||
jp nz,media9 ; if not, jump ahead
|
||||
|
||||
; Read MBR
|
||||
ld de,8000h ; LBA address zero
|
||||
ld hl,0 ; ... to read first sector
|
||||
ld bc,mbrsec ; read into MBR buffer
|
||||
ld (dma),bc ; save
|
||||
ld a,(0FFE0h) ; get current HBIOS bank
|
||||
ld (bank),a ; set DMA bank
|
||||
ld a,(unit) ; get bootunit
|
||||
ld c,a ; put in C
|
||||
ld b,013h ; HBIOS func: disk read
|
||||
call dsk$io ; do it
|
||||
ret nz ; abort on error
|
||||
|
||||
; Check signature
|
||||
ld hl,(mbrsec+1FEh) ; get signature
|
||||
ld a,l ; first byte
|
||||
cp 055h ; should be $55
|
||||
jr nz,media5 ; if not, no part table
|
||||
ld a,h ; second byte
|
||||
cp 0AAh ; should be $AA
|
||||
jr nz,media5 ; if not, no part table
|
||||
|
||||
; Search part table for CP/M entry (type 0x2E)
|
||||
ld b,4 ; four entries in part table
|
||||
ld hl,mbrsec+1BEh+4 ; offset of first part type
|
||||
media3:
|
||||
ld a,(hl) ; get part type
|
||||
cp 2Eh ; CP/M partition?
|
||||
jr z,media4 ; cool, grab the LBA offset
|
||||
ld de,16 ; part table entry size
|
||||
add hl,de ; bump to next part type
|
||||
djnz media3 ; loop thru table
|
||||
jr media5 ; too bad, no CP/M partition
|
||||
|
||||
media4:
|
||||
; Capture the starting LBA of the CP/M partition we found
|
||||
ld de,4 ; LBA is 4 bytes after part type
|
||||
add hl,de ; point to it
|
||||
ld de,lba ; loc to store lba offset
|
||||
ld bc,4 ; 4 bytes (32 bits)
|
||||
ldir ; copy it
|
||||
|
||||
; Check that requested slice is "inside" partition.
|
||||
; Slice size is exactly 16,384 sectors (8mb), so we can just
|
||||
; right shift partition sector count by 14 bits
|
||||
ld e,(hl) ; HL points to first byte
|
||||
inc hl ; ... of 32 bit partition
|
||||
ld d,(hl) ; ... sector count,
|
||||
inc hl ; ... load sector count
|
||||
push de ; ... into DE:HL
|
||||
ld e,(hl) ; ...
|
||||
inc hl ; ...
|
||||
ld d,(hl) ; ...
|
||||
pop hl ; ... DE:HL = part size in sectors
|
||||
ld b,2 ; DE = DE:HL >> 2 (tricky!)
|
||||
call rl32 ; DE = slicecnt
|
||||
ex de,hl ; HL = slicecnt
|
||||
ld a,(slice) ; get target slice
|
||||
ld c,a ; put in C
|
||||
ld b,0 ; BC := requested slice #
|
||||
scf ; set carry!
|
||||
sbc hl,bc ; max slices - slice - 1
|
||||
jp c,err_noslice ; slice too high, error exit
|
||||
|
||||
; For now, it is implied that a slice within a partition
|
||||
; table will be in the "new" disk format. So, we now
|
||||
; adjust the sectors per slice and media id.
|
||||
|
||||
; Use new slice format sectors per slice value
|
||||
ld hl,16384 ; new sectors per slice
|
||||
ld (sps),hl ; save it
|
||||
|
||||
; Update media id for new hard disk format
|
||||
ld a,10 ; new media id
|
||||
ld (medid),a ; save it
|
||||
|
||||
media5:
|
||||
; Adjust LBA offset based on target slice
|
||||
ld a,(slice) ; get slice, A is loop cnt
|
||||
ld hl,(lba) ; set DE:HL
|
||||
ld de,(lba+2) ; ... to starting LBA
|
||||
ld bc,(sps) ; sectors per slice
|
||||
res 7,d ; clear lba mode bit
|
||||
boot6:
|
||||
or a ; set flags to check loop cntr
|
||||
jr z,boot8 ; done if counter exhausted
|
||||
add hl,bc ; add one slice to low word
|
||||
jr nc,boot7 ; check for carry
|
||||
inc de ; if so, bump high word
|
||||
boot7:
|
||||
dec a ; dec loop downcounter
|
||||
jr boot6 ; and loop
|
||||
boot8:
|
||||
|
||||
; LBA offset of desired slice is now in DE:HL.
|
||||
; Need to check if the slice is beyond capacity of media.
|
||||
; If lba_off + sps >= dsk_cap, error!
|
||||
|
||||
; Save lba_off
|
||||
push de ; msw
|
||||
push hl ; lsw
|
||||
|
||||
; Add sps to compute lba_req
|
||||
ld bc,(sps) ; sectors per slice
|
||||
add hl,bc ; add one slice to low word
|
||||
jr nc,dsk_mbr9 ; check for carry
|
||||
inc de ; if so, bump high word
|
||||
dsk_mbr9:
|
||||
; Save cap_req
|
||||
ld (cap_req),hl ; lsw
|
||||
ld (cap_req+2),de ; msw
|
||||
|
||||
; Get dsk_cap (de:hl)
|
||||
ld b,1Ah ; hbios disk capacity func
|
||||
ld a,(unit) ; disk unit number
|
||||
ld c,a ; ... into c
|
||||
rst 08 ; hbios call (de:hl = capacity)
|
||||
|
||||
; Save dsk_cap (de:hl)
|
||||
push de ; save dsk_cap (msw)
|
||||
push hl ; save dsk_cap (lsw)
|
||||
|
||||
; Check dsk_cap >= cap_req, cf set on overflow
|
||||
; No need save actual result
|
||||
or a ; clear carry for sbc
|
||||
pop hl ; dsk_cap lsw
|
||||
ld de,(cap_req) ; cap_req lsw
|
||||
sbc hl,de ; dsk_cap - lba_req (lsw)
|
||||
pop hl ; dsk_cap msw
|
||||
ld de,(cap_req+2) ; cap_req msw
|
||||
sbc hl,de ; dsk_cap - lba_req (msw)
|
||||
|
||||
; Restore lba_off
|
||||
pop hl ; lsw
|
||||
pop de ; msw
|
||||
|
||||
; Abort on overflow with error!
|
||||
jp c,err_noslice ; slice too high, error exit
|
||||
|
||||
; Finalize slice lba
|
||||
BIT 7,B ; Is the floppy Disk Attribute Set
|
||||
jr nz,media8 ; if it is Floppy; Skip Setting LBA
|
||||
set 7,d ; set LBA access flag
|
||||
media8:
|
||||
ld (lba),hl ; save new lba, low word
|
||||
ld (lba+2),de ; save new lba, high word
|
||||
|
||||
@@ -698,23 +544,23 @@ media10:
|
||||
; if necessary, then return an error code in <A>
|
||||
|
||||
dsk$read:
|
||||
ld a,13h ; HBIOS disk read function
|
||||
ld a,BF_DIOREAD ; HBIOS disk read function
|
||||
ld (func),a ; save it
|
||||
jr dsk$rw ; common disk read/write code
|
||||
|
||||
dsk$write:
|
||||
ld a,14h ; HBIOS disk write function
|
||||
ld a,BF_DIOWRITE ; HBIOS disk write function
|
||||
ld (func),a ; save it
|
||||
jr dsk$rw ; common disk read/write code
|
||||
|
||||
dsk$rw:
|
||||
; Common disk read/write routine
|
||||
; Assumes func is set to HBIOS read or write
|
||||
|
||||
|
||||
; Set retry address
|
||||
ld hl,dsk$rw$retry
|
||||
ld (retry$adr),hl
|
||||
|
||||
|
||||
; Save XDPH address
|
||||
ld (curdph),de ; save to curdph
|
||||
|
||||
@@ -743,12 +589,12 @@ dsk$rw$retry:
|
||||
rr l ; ... and into carry
|
||||
rl d ; carry bit (head) into d
|
||||
jr dsk$rw9 ; do the disk I/O
|
||||
|
||||
|
||||
dsk$rw2:
|
||||
; LBA I/O
|
||||
push de ; save hiword of LBA
|
||||
push hl ; save loword of LBA
|
||||
|
||||
|
||||
; Get track and shift into correct bits
|
||||
ld hl,(@trk) ; get track
|
||||
ld de,0 ; clear hiword
|
||||
@@ -767,7 +613,7 @@ dsk$rw2:
|
||||
pop bc ; lba offset hiword
|
||||
adc hl,bc ; add w/ carry to cur hiword
|
||||
ex de,hl ; swap back
|
||||
|
||||
|
||||
dsk$rw9:
|
||||
; DE:HL has sector address to read (LBA or CHS)
|
||||
ld bc,(@dma) ; get dma address
|
||||
@@ -791,7 +637,7 @@ dsk$io:
|
||||
|
||||
; Seek to requested sector in DE:HL
|
||||
push bc ; save func & unit
|
||||
ld b,012h ; HBIOS func: seek
|
||||
ld b,BF_DIOSEEK ; HBIOS func: seek
|
||||
call 0FFF0h ; do it
|
||||
pop bc ; recover func & unit
|
||||
jp nz,err_diskio ; handle error
|
||||
@@ -824,7 +670,7 @@ mult8_loop:
|
||||
mult8_noadd:
|
||||
djnz mult8_loop
|
||||
ret
|
||||
|
||||
|
||||
rl32:
|
||||
; Left shift DE:HL by B bits (B > 0)
|
||||
or a ; clear carry
|
||||
@@ -834,7 +680,7 @@ rl32:
|
||||
rl d ; rotate D thru carry
|
||||
djnz rl32 ; loop B times
|
||||
ret ; done
|
||||
|
||||
|
||||
cin$echo: ; get console input, echo it, and shift to upper case
|
||||
call ?const ; check for char
|
||||
or a ; set flags
|
||||
@@ -851,7 +697,7 @@ cin$echo1:
|
||||
ret c ; done if carry
|
||||
sub 'a' - 'A' ; make upper case
|
||||
ret ; and done
|
||||
|
||||
|
||||
; call ?const ! ora a ! jz u$c1 ; see if any char already struck
|
||||
; call ?conin ! jmp u$conin$echo ; yes, eat it and try again
|
||||
;u$c1:
|
||||
@@ -872,7 +718,7 @@ err_perm:
|
||||
call prt_err
|
||||
jr err_ret
|
||||
err_diskio:
|
||||
cp -10 ; HBIOS read only error
|
||||
cp ERR_READONLY ; HBIOS read only error
|
||||
jr z,err_rdonly ; if so, handle special
|
||||
ld a,(@ermde) ; get error mode
|
||||
cp 0FFh ; FFh means suppress
|
||||
@@ -916,9 +762,6 @@ medid db 0 ; working media id value
|
||||
unit db 0 ; working disk unit num
|
||||
slice db 0 ; working slice num
|
||||
lba dw 0,0 ; working lba
|
||||
sps dw 0 ; sectors per slice
|
||||
cap_req dw 0,0 ; lba cap required for slice
|
||||
mbrsec ds 512 ; MBR sector buffer
|
||||
dma dw 0 ; current DMA address
|
||||
bank db 0 ; HBIOS DMA bank
|
||||
func db 0 ; HBIOS function
|
||||
|
||||
90
Source/CPM3/hbios.z80
Normal file
@@ -0,0 +1,90 @@
|
||||
|
||||
;
|
||||
BF_CIO EQU 000h
|
||||
BF_CIOIN EQU BF_CIO + 0 ; CHARACTER INPUT
|
||||
BF_CIOOUT EQU BF_CIO + 1 ; CHARACTER OUTPUT
|
||||
BF_CIOIST EQU BF_CIO + 2 ; CHARACTER INPUT STATUS
|
||||
BF_CIOOST EQU BF_CIO + 3 ; CHARACTER OUTPUT STATUS
|
||||
BF_CIOINIT EQU BF_CIO + 4 ; INIT/RESET DEVICE/LINE CONFIG
|
||||
BF_CIOQUERY EQU BF_CIO + 5 ; REPORT DEVICE/LINE CONFIG
|
||||
BF_CIODEVICE EQU BF_CIO + 6 ; REPORT DEVICE INFO
|
||||
;
|
||||
;
|
||||
BF_DIO EQU 010h
|
||||
BF_DIOSTATUS EQU BF_DIO + 0 ; DISK STATUS
|
||||
BF_DIORESET EQU BF_DIO + 1 ; DISK RESET
|
||||
BF_DIOSEEK EQU BF_DIO + 2 ; DISK SEEK
|
||||
BF_DIOREAD EQU BF_DIO + 3 ; DISK READ SECTORS
|
||||
BF_DIOWRITE EQU BF_DIO + 4 ; DISK WRITE SECTORS
|
||||
BF_DIOVERIFY EQU BF_DIO + 5 ; DISK VERIFY SECTORS
|
||||
BF_DIOFORMAT EQU BF_DIO + 6 ; DISK FORMAT TRACK
|
||||
BF_DIODEVICE EQU BF_DIO + 7 ; DISK DEVICE INFO REPORT
|
||||
BF_DIOMEDIA EQU BF_DIO + 8 ; DISK MEDIA REPORT
|
||||
BF_DIODEFMED EQU BF_DIO + 9 ; DEFINE DISK MEDIA
|
||||
BF_DIOCAP EQU BF_DIO + 10 ; DISK CAPACITY REPORT
|
||||
BF_DIOGEOM EQU BF_DIO + 11 ; DISK GEOMETRY REPORT
|
||||
;
|
||||
BF_EXT EQU 0E0h
|
||||
BF_EXTSLICE EQU BF_EXT + 0 ; SLICE CALCULATION (WAS BF_SYSGET_DIOMED)
|
||||
;
|
||||
BF_SYS EQU 0F0h
|
||||
BF_SYSRESET EQU BF_SYS + 0 ; SOFT RESET HBIOS
|
||||
BF_SYSVER EQU BF_SYS + 1 ; GET HBIOS VERSION
|
||||
BF_SYSSETBNK EQU BF_SYS + 2 ; SET CURRENT BANK
|
||||
BF_SYSGETBNK EQU BF_SYS + 3 ; GET CURRENT BANK
|
||||
BF_SYSSETCPY EQU BF_SYS + 4 ; BANK MEMORY COPY SETUP
|
||||
BF_SYSBNKCPY EQU BF_SYS + 5 ; BANK MEMORY COPY
|
||||
BF_SYSALLOC EQU BF_SYS + 6 ; ALLOC HBIOS HEAP MEMORY
|
||||
BF_SYSFREE EQU BF_SYS + 7 ; FREE HBIOS HEAP MEMORY
|
||||
BF_SYSGET EQU BF_SYS + 8 ; GET HBIOS INFO
|
||||
BF_SYSSET EQU BF_SYS + 9 ; SET HBIOS PARAMETERS
|
||||
BF_SYSPEEK EQU BF_SYS + 10 ; GET A BYTE VALUE FROM ALT BANK
|
||||
BF_SYSPOKE EQU BF_SYS + 11 ; SET A BYTE VALUE IN ALT BANK
|
||||
BF_SYSINT EQU BF_SYS + 12 ; MANAGE INTERRUPT VECTORS
|
||||
;
|
||||
; 2 BYTE FUNCTION/SUBFUNCTION : BC_ => BIOS CALL -> LOAD TO BC REGISTER
|
||||
;
|
||||
BC_SYSGET_CIOCNT EQU 0F800h ; GET CHAR UNIT COUNT
|
||||
BC_SYSGET_CIOFN EQU 0F801h ; GET CIO UNIT FN/DATA ADR
|
||||
BC_SYSGET_DIOCNT EQU 0F810h ; GET DISK UNIT COUNT
|
||||
BC_SYSGET_DIOFN EQU 0F811h ; GET DIO UNIT FN/DATA ADR
|
||||
BC_SYSGET_RTCCNT EQU 0F820h ; GET RTC UNIT COUNT
|
||||
BC_SYSGET_DSKYCNT EQU 0F830h ; GET DSKY UNIT COUNT
|
||||
BC_SYSGET_VDACNT EQU 0F840h ; GET VDA UNIT COUNT
|
||||
BC_SYSGET_VDAFN EQU 0F841h ; GET VDA UNIT FN/DATA ADR
|
||||
BC_SYSGET_SNDCNT EQU 0F850h ; GET VDA UNIT COUNT
|
||||
BC_SYSGET_SNDFN EQU 0F851h ; GET SND UNIT FN/DATA ADR
|
||||
BC_SYSGET_TIMER EQU 0F8D0h ; GET CURRENT TIMER VALUE
|
||||
BC_SYSGET_SECS EQU 0F8D1h ; GET CURRENT SECONDS VALUE
|
||||
BC_SYSGET_BOOTINFO EQU 0F8E0h ; GET BOOT INFORMATION
|
||||
BC_SYSGET_CPUINFO EQU 0F8F0h ; GET CPU INFORMATION
|
||||
BC_SYSGET_MEMINFO EQU 0F8F1h ; GET MEMORY CAPACTITY INFO
|
||||
BC_SYSGET_BNKINFO EQU 0F8F2h ; GET BANK ASSIGNMENT INFO
|
||||
BC_SYSGET_CPUSPD EQU 0F8F3h ; GET CLOCK SPEED & WAIT STATES
|
||||
BC_SYSGET_PANEL EQU 0F8F4h ; GET FRONT PANEL SWITCHES VAL
|
||||
BC_SYSGET_APPBNKS EQU 0F8F5h ; GET APP BANK INFORMATION
|
||||
;
|
||||
BC_SYSSET_TIMER EQU 0F9D0h ; SET TIMER VALUE
|
||||
BC_SYSSET_SECS EQU 0F9D1h ; SET SECONDS VALUE
|
||||
BC_SYSSET_BOOTINFO EQU 0F9E0h ; SET BOOT INFORMATION
|
||||
BC_SYSSET_CPUSPD EQU 0F9F3h ; SET CLOCK SPEED & WAIT STATES
|
||||
BC_SYSSET_PANEL EQU 0F9F4h ; SET FRONT PANEL LEDS
|
||||
;
|
||||
;
|
||||
;
|
||||
ERR_NONE EQU 0 ; SUCCESS
|
||||
;
|
||||
ERR_UNDEF EQU -1 ; UNDEFINED ERROR
|
||||
ERR_NOTIMPL EQU -2 ; FUNCTION NOT IMPLEMENTED
|
||||
ERR_NOFUNC EQU -3 ; INVALID FUNCTION
|
||||
ERR_NOUNIT EQU -4 ; INVALID UNIT NUMBER
|
||||
ERR_NOMEM EQU -5 ; OUT OF MEMORY
|
||||
ERR_RANGE EQU -6 ; PARAMETER OUT OF RANGE
|
||||
ERR_NOMEDIA EQU -7 ; MEDIA NOT PRESENT
|
||||
ERR_NOHW EQU -8 ; HARDWARE NOT PRESENT
|
||||
ERR_IO EQU -9 ; I/O ERROR
|
||||
ERR_READONLY EQU -10 ; WRITE REQUEST TO READ-ONLY MEDIA
|
||||
ERR_TIMEOUT EQU -11 ; DEVICE TIMEOUT
|
||||
ERR_BADCFG EQU -12 ; INVALID CONFIGURATION
|
||||
ERR_INTERNAL EQU -13 ; INTERNAL ERROR
|
||||
|
||||
@@ -403,8 +403,8 @@ CP/M, while others rely on particular hardware or
|
||||
aspects of RomWBW itself.
|
||||
|
||||
Those that are written specific to RomWBW include: ASSIGN,
|
||||
CPUSPD, FDU, FORMAT, FLASH, FDISK80, MODE, RTC, SYSCOPY,
|
||||
TALK, TIMER, and XM.
|
||||
CPUSPD, FDU, FORMAT, FLASH, FDISK80, MODE, REBOOT, RTC, SYSCOPY,
|
||||
TALK, TIMER, XM, and COPYSL.
|
||||
|
||||
The CP/M utilities supplied with RomWBW warrant more detailed descriptions,
|
||||
and so are described in some detail in their own section
|
||||
@@ -896,6 +896,7 @@ incuded within RomWBW may be found with in the Binary/Apps directory.
|
||||
| ----------- | :------: | :--------: |
|
||||
| ASSIGN | Yes | Yes |
|
||||
| CLRDIR | Yes | Yes |
|
||||
| COPYSL | No | Yes |
|
||||
| CPUSPD | Yes | Yes |
|
||||
| FAT | No | Yes |
|
||||
| FDISK80 | Yes | Yes |
|
||||
@@ -904,6 +905,7 @@ incuded within RomWBW may be found with in the Binary/Apps directory.
|
||||
| FORMAT | Yes | Yes |
|
||||
| HTALK | Yes | Yes |
|
||||
| MODE | Yes | Yes |
|
||||
| REBOOT | Yes | Yes |
|
||||
| RTC | Yes | Yes |
|
||||
| SURVEY | Yes | Yes |
|
||||
| SYSCOPY | Yes | Yes |
|
||||
@@ -917,7 +919,7 @@ incuded within RomWBW may be found with in the Binary/Apps directory.
|
||||
All of the CP/M applications may be found in the RomWBW Binary/Apps directory
|
||||
and a user may copy those they need to their own customised disk/slice.
|
||||
|
||||
Independantly of whether the CP/M system was started from ROM or a boot disk,
|
||||
Independently of whether the CP/M system was started from ROM or a boot disk,
|
||||
such as a floppy disk or a slice on a CF or uSD memory card, applications
|
||||
may be located on and executed from either the ROM-disk itself or from other media.
|
||||
There are multiple disk images available for CP/M (eg floppy, legacy hard-disk and new
|
||||
@@ -1138,7 +1140,8 @@ reinitialised and the data previously stored will be lost.
|
||||
| Disk-based |Yes|
|
||||
|
||||
The `CPUSPD` application is used to change the running speed and wait
|
||||
states of a RomWBW system.
|
||||
states of a RomWBW system. It can also be used to invoke a warm or
|
||||
cold reboot of the system.
|
||||
|
||||
The functionality is highly dependent on the capabilities of your system.
|
||||
|
||||
@@ -1150,8 +1153,10 @@ configuration.
|
||||
#### Syntax
|
||||
|
||||
| `CPUSPD [`*`<speed>`*`[,[`*`<memws>`*`][,[`*`<iows>`*`]]]`
|
||||
| `CPUSPD (W)armBoot`
|
||||
| `CPUSPD (C)oldBoot`
|
||||
|
||||
*`<speed>`* is one of HALF, FULL, or DOUBLE.
|
||||
*`<speed>`* is one of (H)alf, (F)ull, (D)ouble, or (Q)uad.
|
||||
*`<memws>`* is a number specifying the desired memory wait states.
|
||||
*`<iows>`* is a number specifying the desired I/O wait states.
|
||||
|
||||
@@ -1203,6 +1208,96 @@ The source code is provided in the RomWBW distribution.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## COPYSL
|
||||
|
||||
| COPYSL | |
|
||||
| --------------------|---|
|
||||
| ROM-based |No |
|
||||
| Disk-based |Yes|
|
||||
|
||||
The purpose of this utility is to allow the copying of whole disk slices
|
||||
from one disk slice to another slice
|
||||
|
||||
This tool is only supported by RomWBW HBIOS, it uses HDIOS for all its
|
||||
disk IO. UNA UBIOS is not supported by this tool.
|
||||
|
||||
This tool is running on CP/M 2.2 or 3.0 and has access to full 64kb of
|
||||
RAM, with a minimum of 48kb TPA
|
||||
|
||||
This tool only works with hard disk devices, other media types like
|
||||
floppy, are not supported at this time. This tool works across different
|
||||
hard disk device types, even of different physical type
|
||||
|
||||
Both hd1k and hd512 are fully supported, however copying from one layout
|
||||
type to the other is not supported.
|
||||
|
||||
During operation data is copied in a single read/write pass, data is not
|
||||
verified by default. If there is a write error, it will be reported, and
|
||||
operation will stop.
|
||||
|
||||
#### Syntax
|
||||
|
||||
This tool operates at the disk level via RomWBW, thus all disk identifiers
|
||||
are in the RomWBW \<disk\>.\<unit\> format.
|
||||
|
||||
The syntax (similar to copy) for the command is:
|
||||
|
||||
| `COPYSL `*\<destunit\>*[`.`*\<slice\>*]`=`*\<srcunit\>*[`.`*\<slice\>*] [`/`*\<options\>*]
|
||||
|
||||
E.g.
|
||||
|
||||
| COPYSL 3.3=2.10 /U
|
||||
|
||||
Means copy from slice 10 on disk 2, onto disk 3 slice 3. This is in unattended
|
||||
mode, so you will not be asked to confirm the copy operation.
|
||||
|
||||
#### Options
|
||||
|
||||
F - Full disk copy. Copies the complete disk slice, all sectors. \
|
||||
U - Unattended. Will complete copy without confirmation from the user. \
|
||||
V - Verify. Does an additional read and verify after write.
|
||||
|
||||
#### Usage
|
||||
|
||||
When run COPYSL will perform command line argument validation and display
|
||||
an error if they are illegal. Also any disk IO errors will cause COPYSL
|
||||
to exit.
|
||||
|
||||
When specifying slice number(s) a check is made that the slice number is
|
||||
valid, i.e. not too large that it would extend past the end of the
|
||||
partition (hd1k), or the end of the media (hd512). For hd512 a check is
|
||||
also performed to ensure that the slice would not extend into the first
|
||||
defined partition.
|
||||
|
||||
The copy operation will be faster if the source disk has been formatted
|
||||
with the CP/M file system, since during copy the CP/M directory is scanned,
|
||||
and unused blocks are not copied.
|
||||
|
||||
If a filesystem is not found, (or the /F option is chosen) all data is
|
||||
copied.
|
||||
|
||||
Verification (if option chosen) will do an aditional read (after write)
|
||||
and compare the data read matches what was written. This compare is only
|
||||
on every 32'nd byte. This is done for efficiency.
|
||||
|
||||
During copy dots "." will be displayed to indicate progress of the copy.
|
||||
Each "." represents 16 kBytes of data. Each line of "." 's is 1 mBytes.
|
||||
|
||||
#### Notes
|
||||
|
||||
This tool has been tested on both SD and CF media types and with hd1k and hd512
|
||||
formatted media.
|
||||
|
||||
You cannot copy slices between different hard disk formats (hd512 and
|
||||
hd1k) because the slices are incompatible.
|
||||
|
||||
#### Etymology
|
||||
|
||||
The `COPYSL` application was custom written for RomWBW and contributed
|
||||
by Mark Pruden.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## FAT
|
||||
|
||||
| FAT | |
|
||||
@@ -1659,6 +1754,50 @@ provided in the RomWBW distribution.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## REBOOT
|
||||
|
||||
| REBOOT | |
|
||||
| --------------------|---|
|
||||
| ROM-based |Yes|
|
||||
| Disk-based |Yes|
|
||||
|
||||
The `REBOOT` application is used to restart a running system from an
|
||||
operating system prompt. It can invoke either a warm or cold restart
|
||||
via command line switches.
|
||||
|
||||
#### Syntax
|
||||
|
||||
| `REBOOT /W`
|
||||
| `REBOOT /C`
|
||||
| `REBOOT /?`
|
||||
|
||||
- /C initiates a cold restart
|
||||
- /W initiates a warm restart
|
||||
- /? displays command line usage
|
||||
|
||||
#### Usage
|
||||
|
||||
Entering `REBOOT` with no parameters will display the usage and
|
||||
version information. Use /C or /W to immediately initiate a
|
||||
cold or warm restart.
|
||||
|
||||
#### Notes
|
||||
|
||||
A warm restart just returns to the Boot Loader menu.
|
||||
|
||||
A cold restart will reinitialize the system as though power had
|
||||
been recycled.
|
||||
|
||||
#### Etymology
|
||||
|
||||
The `REBOOT` application was custom written for RomWBW by MartinR. All
|
||||
of the hardware interface code is specific to RomWBW and the application
|
||||
will not operate correctly on non-RomWBW systems.
|
||||
|
||||
The source code is provided in the RomWBW distribution.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## RTC
|
||||
|
||||
| RTC | |
|
||||
|
||||
@@ -2,8 +2,12 @@
|
||||
setlocal
|
||||
|
||||
::
|
||||
:: NOTE: Pandoc and Latex (MiKTeX or TexLive) must be installed
|
||||
:: and available on commandline for this build to work!!!
|
||||
:: NOTE: Pandoc, LuaLatex (MiKTeX or TexLive), and Roboto Font
|
||||
:: must be installed and available on commandline for this build to work!!!
|
||||
::
|
||||
:: - Pandoc (https://pandoc.org/)
|
||||
:: - MiKTeX (https://miktex.org/)
|
||||
:: - Install Roboto font from MiKTeX Console
|
||||
::
|
||||
|
||||
set TOOLS=..\..\Tools
|
||||
@@ -11,12 +15,12 @@ set PATH=%TOOLS%\gpp;%PATH%
|
||||
|
||||
if not "%1"=="" (call :GenDoc %1 & goto :eof)
|
||||
|
||||
call :GenDoc ReadMe
|
||||
call :GenDoc UserGuide
|
||||
call :GenDoc SystemGuide
|
||||
call :GenDoc Applications
|
||||
call :GenDoc Catalog
|
||||
call :GenDoc Errata
|
||||
call :GenDoc ReadMe || exit /b
|
||||
call :GenDoc UserGuide || exit /b
|
||||
call :GenDoc SystemGuide || exit /b
|
||||
call :GenDoc Applications || exit /b
|
||||
call :GenDoc Catalog || exit /b
|
||||
call :GenDoc Errata || exit /b
|
||||
|
||||
if exist ReadMe.gfm copy Readme.gfm ..\..\ReadMe.md || exit /b
|
||||
if exist ReadMe.txt copy ReadMe.txt ..\..\ReadMe.txt || exit /b
|
||||
@@ -35,9 +39,6 @@ echo.
|
||||
|
||||
echo Processing document %1...
|
||||
|
||||
::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 || exit /b
|
||||
|
||||
::pandoc %1.tmp -f markdown -t latex -s -o %1.tex --default-image-extension=pdf || exit /b
|
||||
|
||||
@@ -217,9 +217,9 @@ on using the applications and files listed.
|
||||
| `INITDIR.COM` | ZSDOS | ZSDOS Prepare disks for P2DOS Stamps |
|
||||
| `KERMIT.COM` | -- | Generic CP/M 2.2 Kermit communication application |
|
||||
| `LBREXT.COM` | -- | Extract library files |
|
||||
| `LDDS.COM` | ZSDOS | Clock driver |
|
||||
| `LDNZT.COM` | ZSDOS | Clock driver |
|
||||
| `LDP2D.COM` | ZSDOS | Clock driver |
|
||||
| `LDDS.COM` | ZSDOS | Load DateStamper date/time stamping resident extension |
|
||||
| `LDNZT.COM` | ZSDOS | Load NZT date/time stamping resident extension |
|
||||
| `LDP2D.COM` | ZSDOS | Load P2DOS date/time stamping resident extension |
|
||||
| `LIB.COM` | -- | DRI Library manager |
|
||||
| `LINK.COM` | -- | DRI CPM relocatable linker |
|
||||
| `LOAD.COM` | -- | DRI hex file loader into memory |
|
||||
@@ -229,7 +229,7 @@ on using the applications and files listed.
|
||||
| `PMARC.COM` | -- | LHA file compressor |
|
||||
| `PMEXT.COM` | -- | Extractor for PMARC archives |
|
||||
| `PUTBG.COM` | ZSDOS | ZSDOS Prepare disk for backgrounder |
|
||||
| `PUTDS.COM` | ZSDOS | ZSDOS Prepare disk for datestamper |
|
||||
| `PUTDS.COM` | ZSDOS | ZSDOS Prepare disk for datestamper date/time stamping|
|
||||
| `RELOG.COM` | ZSDOS | ZSDOS relog disks after program that bypasses BDOS |
|
||||
| `RMAC.COM` | -- | DRI Relocatable Macro Assembler |
|
||||
| `SETTERM.COM` | ZSDOS | ZSDOS Installs terminal control codes into DateSamper utilities |
|
||||
|
||||
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 59 KiB |
366
Source/Doc/Graphics/BankSwitchedMemory.svg
Normal file
@@ -0,0 +1,366 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by Microsoft Visio, SVG Export BankSwitchedMemory.svg Page-1 -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
|
||||
width="6.51042in" height="5.73361in" viewBox="0 0 468.75 412.82" xml:space="preserve" color-interpolation-filters="sRGB"
|
||||
class="st22">
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.st1 {fill:#c0c0c0;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
|
||||
.st2 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
|
||||
.st3 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
|
||||
.st4 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2}
|
||||
.st5 {fill:#000000;font-family:Calibri;font-size:0.75em}
|
||||
.st6 {fill:#ffffff;stroke:none;stroke-linecap:butt}
|
||||
.st7 {fill:#000000;font-family:Calibri;font-size:1.00001em}
|
||||
.st8 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st9 {fill:#000000;font-family:Calibri;font-size:0.833336em}
|
||||
.st10 {font-size:1em}
|
||||
.st11 {stroke:#000000;stroke-dasharray:7,5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
|
||||
.st12 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
|
||||
.st13 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
|
||||
.st14 {marker-end:url(#mrkr4-136);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
|
||||
.st15 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.37313432835821}
|
||||
.st16 {fill:#000000;font-family:Calibri;font-size:0.666664em}
|
||||
.st17 {stroke:#000000;stroke-dasharray:1.5,3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
|
||||
.st18 {marker-end:url(#mrkr4-165);marker-start:url(#mrkr10-163);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
|
||||
.st19 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.08695652173913}
|
||||
.st20 {marker-end:url(#mrkr4-136);marker-start:url(#mrkr10-193);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
|
||||
.st21 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
|
||||
.st22 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
|
||||
]]>
|
||||
</style>
|
||||
|
||||
<defs id="Markers">
|
||||
<g id="lend4">
|
||||
<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
|
||||
</g>
|
||||
<marker id="mrkr4-136" class="st15" refX="-5.36" orient="auto" markerUnits="strokeWidth" overflow="visible">
|
||||
<use xlink:href="#lend4" transform="scale(-2.68,-2.68) "/>
|
||||
</marker>
|
||||
<g id="lend10">
|
||||
<path
|
||||
d="M 0 0.75 C -0.414214 0.75 -0.75 0.414214 -0.75 0 -0.75 -0.414214 -0.414214 -0.75 0 -0.75 0.414214 -0.75 0.75 -0.414214 0.75 0 0.75 0.414214 0.414214 0.75 0 0.75 Z "
|
||||
style="stroke:none"/>
|
||||
</g>
|
||||
<marker id="mrkr10-163" class="st19" refX="7.125" orient="auto" markerUnits="strokeWidth" overflow="visible">
|
||||
<use xlink:href="#lend10" transform="scale(11.5) "/>
|
||||
</marker>
|
||||
<marker id="mrkr4-165" class="st19" refX="-23" orient="auto" markerUnits="strokeWidth" overflow="visible">
|
||||
<use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/>
|
||||
</marker>
|
||||
<marker id="mrkr10-193" class="st15" refX="1.77" orient="auto" markerUnits="strokeWidth" overflow="visible">
|
||||
<use xlink:href="#lend10" transform="scale(2.68) "/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Page-1</title>
|
||||
<g id="group13-1" transform="translate(216.75,-109.92)">
|
||||
<title>Data block.13</title>
|
||||
<g id="shape14-2" transform="translate(157.745,0)">
|
||||
<title>Sheet.14</title>
|
||||
<path d="M0 412.82 L11.41 401.41 L11.41 228.61 L0 240.02 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape15-4" transform="translate(0,-172.8)">
|
||||
<title>Sheet.15</title>
|
||||
<path d="M0 412.82 L157.75 412.82 L169.15 401.41 L11.41 401.41 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape16-6">
|
||||
<title>Sheet.16</title>
|
||||
<rect x="0" y="240.02" width="157.745" height="172.8" class="st2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="group9-8" transform="translate(216.75,-282.72)">
|
||||
<title>Data block.9</title>
|
||||
<g id="shape10-9" transform="translate(157.745,0)">
|
||||
<title>Sheet.10</title>
|
||||
<path d="M0 412.82 L11.41 401.41 L11.41 343.81 L0 355.22 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape11-11" transform="translate(0,-57.6)">
|
||||
<title>Sheet.11</title>
|
||||
<path d="M0 412.82 L157.75 412.82 L169.15 401.41 L11.41 401.41 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape12-13">
|
||||
<title>Sheet.12</title>
|
||||
<rect x="0" y="355.22" width="157.745" height="57.6" class="st2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="group5-15" transform="translate(216.75,-340.32)">
|
||||
<title>Data block</title>
|
||||
<g id="shape6-16" transform="translate(157.745,0)">
|
||||
<title>Sheet.6</title>
|
||||
<path d="M0 412.82 L11.41 401.41 L11.41 379.81 L0 391.22 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape7-18" transform="translate(0,-21.6)">
|
||||
<title>Sheet.7</title>
|
||||
<path d="M0 412.82 L157.75 412.82 L169.15 401.41 L11.41 401.41 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape8-20">
|
||||
<title>Sheet.8</title>
|
||||
<rect x="0" y="391.22" width="157.745" height="21.6" class="st2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="shape2-22" transform="translate(65.55,486.457) rotate(180)">
|
||||
<title>Sheet.2</title>
|
||||
<desc>$FE00</desc>
|
||||
<path d="M0 412.82 L36 412.82" class="st3"/>
|
||||
<rect x="-29.1072" y="-418.22" width="22.2144" height="10.7998" transform="rotate(180)" class="st4"/>
|
||||
<text x="-29.11" y="-410.12" transform="rotate(180)" class="st5">$FE00</text> </g>
|
||||
<g id="shape3-27" transform="translate(65.55,542.541) rotate(180)">
|
||||
<title>Sheet.3</title>
|
||||
<desc>$D000</desc>
|
||||
<path d="M0 412.82 L36 412.82" class="st3"/>
|
||||
<rect x="-29.8916" y="-418.22" width="23.7832" height="10.7998" transform="rotate(180)" class="st6"/>
|
||||
<text x="-29.89" y="-410.12" transform="rotate(180)" class="st5">$D000</text> </g>
|
||||
<g id="shape17-32" transform="translate(433.37,106.7) rotate(90)">
|
||||
<title>Sheet.17</title>
|
||||
<desc>$8000</desc>
|
||||
<path d="M0 412.82 L46.25 412.82" class="st3"/>
|
||||
<rect x="-38.3323" y="-420.02" width="30.4102" height="14.4001" transform="rotate(180)" class="st6"/>
|
||||
<text x="-38.33" y="-409.22" transform="rotate(180)" class="st7">$8000</text> </g>
|
||||
<g id="group18-37" transform="translate(297.405,-282.72)">
|
||||
<title>3D stack middle</title>
|
||||
<g id="shape19-38" transform="translate(77.0909,0)">
|
||||
<title>Sheet.19</title>
|
||||
<path d="M0 412.82 L7.2 405.62 L7.2 387.58 L0 394.78 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape20-40">
|
||||
<title>Sheet.20</title>
|
||||
<rect x="0" y="394.784" width="77.0909" height="18.0364" class="st2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="group21-42" transform="translate(297.405,-297.12)">
|
||||
<title>3D stack middle.21</title>
|
||||
<g id="shape22-43" transform="translate(77.0909,0)">
|
||||
<title>Sheet.22</title>
|
||||
<path d="M0 412.82 L7.2 405.62 L7.2 384.02 L0 391.22 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape23-45">
|
||||
<title>Sheet.23</title>
|
||||
<rect x="0" y="391.22" width="77.0909" height="21.6" class="st2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="group24-47" transform="translate(297.405,-318.72)">
|
||||
<title>3D stack middle.24</title>
|
||||
<g id="shape25-48" transform="translate(77.0909,0)">
|
||||
<title>Sheet.25</title>
|
||||
<path d="M0 412.82 L7.2 405.62 L7.2 384.02 L0 391.22 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape26-50">
|
||||
<title>Sheet.26</title>
|
||||
<rect x="0" y="391.22" width="77.0909" height="21.6" class="st2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="shape27-52" transform="translate(220.314,-340.32)">
|
||||
<title>Sheet.27</title>
|
||||
<desc>HBIOS Proxy (RST 08)</desc>
|
||||
<rect x="0" y="391.22" width="154.182" height="21.6" class="st8"/>
|
||||
<text x="34.06" y="405.02" class="st9">HBIOS Proxy (RST 08)</text> </g>
|
||||
<g id="shape28-55" transform="translate(220.314,-109.92)">
|
||||
<title>Sheet.28</title>
|
||||
<desc>Application Area (TPA)</desc>
|
||||
<rect x="0" y="237.402" width="154.836" height="175.418" class="st8"/>
|
||||
<text x="22.5" y="328.71" class="st7">Application Area (TPA)</text> </g>
|
||||
<g id="shape29-58" transform="translate(220.314,-282.72)">
|
||||
<title>Sheet.29</title>
|
||||
<desc>Operating System CP/M or ZSYS</desc>
|
||||
<rect x="0" y="355.22" width="77.0909" height="57.6" class="st8"/>
|
||||
<text x="2.38" y="375.02" class="st9">Operating System <tspan x="11.08" dy="2.4em" class="st10">CP/M or ZSYS</tspan></text> </g>
|
||||
<g id="shape30-62" transform="translate(297.405,-318.72)">
|
||||
<title>Sheet.30</title>
|
||||
<desc>CBIOS</desc>
|
||||
<rect x="0" y="391.22" width="77.0909" height="21.6" class="st8"/>
|
||||
<text x="26.29" y="405.02" class="st9">CBIOS</text> </g>
|
||||
<g id="shape31-65" transform="translate(297.405,-297.12)">
|
||||
<title>Sheet.31</title>
|
||||
<desc>BDOS</desc>
|
||||
<rect x="0" y="391.22" width="77.0909" height="21.6" class="st8"/>
|
||||
<text x="27.14" y="405.02" class="st9">BDOS</text> </g>
|
||||
<g id="shape32-68" transform="translate(297.405,-282.72)">
|
||||
<title>Sheet.32</title>
|
||||
<desc>CCP</desc>
|
||||
<rect x="0" y="398.42" width="77.0909" height="14.4" class="st8"/>
|
||||
<text x="30.63" y="408.62" class="st9">CCP</text> </g>
|
||||
<g id="group33-71" transform="translate(72.75,-109.92)">
|
||||
<title>Data block.33</title>
|
||||
<g id="shape34-72" transform="translate(108,0)">
|
||||
<title>Sheet.34</title>
|
||||
<path d="M0 412.82 L11.41 401.41 L11.41 286.21 L0 297.62 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape35-74" transform="translate(0,-115.2)">
|
||||
<title>Sheet.35</title>
|
||||
<path d="M0 412.82 L108 412.82 L119.41 401.41 L11.41 401.41 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape36-76">
|
||||
<title>Sheet.36</title>
|
||||
<rect x="0" y="297.62" width="108" height="115.2" class="st2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="shape37-78" transform="translate(22.35,-225.12)">
|
||||
<title>Sheet.37</title>
|
||||
<path d="M0 412.82 L360 412.82" class="st11"/>
|
||||
</g>
|
||||
<g id="shape38-81" transform="translate(72.75,-109.92)">
|
||||
<title>Sheet.38</title>
|
||||
<desc>HBIOS (Hardware Drivers)</desc>
|
||||
<rect x="0" y="297.62" width="108" height="115.2" class="st8"/>
|
||||
<text x="38.76" y="351.62" class="st7">HBIOS <tspan x="7.61" dy="1.2em" class="st10">(Hardware Drivers)</tspan></text> </g>
|
||||
<g id="shape39-85" transform="translate(22.35,-109.92)">
|
||||
<title>Sheet.39</title>
|
||||
<path d="M0 412.82 L338.4 412.82" class="st11"/>
|
||||
</g>
|
||||
<g id="shape40-88" transform="translate(22.35,-361.92)">
|
||||
<title>Sheet.40</title>
|
||||
<path d="M0 412.82 L360 412.82" class="st11"/>
|
||||
</g>
|
||||
<g id="shape43-91" transform="translate(-397.67,302.9) rotate(-90)">
|
||||
<title>Sheet.43</title>
|
||||
<desc>Z80 CPU Address Space</desc>
|
||||
<rect x="0" y="398.42" width="252" height="14.4" class="st12"/>
|
||||
<text x="69.04" y="409.22" class="st7">Z80 CPU Address Space</text> </g>
|
||||
<g id="shape41-94" transform="translate(-383.27,302.9) rotate(-90)">
|
||||
<title>Sheet.41</title>
|
||||
<desc>Banked Lower 32K</desc>
|
||||
<rect x="0" y="398.42" width="115.2" height="14.4" class="st12"/>
|
||||
<text x="12.48" y="409.22" class="st7">Banked Lower 32K</text> </g>
|
||||
<g id="shape42-97" transform="translate(-383.27,187.7) rotate(-90)">
|
||||
<title>Sheet.42</title>
|
||||
<desc>Fixed Upper 32K</desc>
|
||||
<rect x="0" y="398.42" width="136.8" height="14.4" class="st12"/>
|
||||
<text x="28.39" y="409.22" class="st7">Fixed Upper 32K</text> </g>
|
||||
<g id="shape1-100" transform="translate(65.55,463.72) rotate(180)">
|
||||
<title>Sheet.1</title>
|
||||
<desc>$10000</desc>
|
||||
<path d="M0 412.82 L36 412.82" class="st3"/>
|
||||
<rect x="-31.6846" y="-418.22" width="27.3691" height="10.7998" transform="rotate(180)" class="st6"/>
|
||||
<text x="-31.68" y="-410.12" transform="rotate(180)" class="st5">$10000</text> </g>
|
||||
<g id="shape4-105" transform="translate(65.55,715.72) rotate(180)">
|
||||
<title>Sheet.4</title>
|
||||
<desc>$0000</desc>
|
||||
<path d="M0 412.82 L36 412.82" class="st3"/>
|
||||
<rect x="-29.4038" y="-418.22" width="22.8076" height="10.7998" transform="rotate(180)" class="st4"/>
|
||||
<text x="-29.4" y="-410.12" transform="rotate(180)" class="st5">$0000</text> </g>
|
||||
<g id="shape44-110" transform="translate(798.77,50.9) rotate(90)">
|
||||
<title>Bracket</title>
|
||||
<path d="M0 412.82 A6.11239 6.11239 0 0 1 5.4 407.42 L64.22 407.42 A6.11239 6.11239 -180 0 0 69.62 402.02 A6.11239 6.11239
|
||||
-180 0 0 75.02 407.42 L131.4 407.42 A6.11239 6.11239 0 0 1 136.8 412.82" class="st13"/>
|
||||
</g>
|
||||
<g id="shape45-113" transform="translate(0.750002,-52.32)">
|
||||
<title>Sheet.45</title>
|
||||
<desc>Bank 0</desc>
|
||||
<rect x="0" y="398.42" width="36" height="14.4" class="st12"/>
|
||||
<text x="5.69" y="408.32" class="st5">Bank 0</text> </g>
|
||||
<g id="shape47-116" transform="translate(252.75,-52.32)">
|
||||
<title>Sheet.47</title>
|
||||
<desc>App/OS Banks</desc>
|
||||
<rect x="0" y="398.42" width="108" height="14.4" class="st12"/>
|
||||
<text x="28.09" y="408.32" class="st5">App/OS Banks</text> </g>
|
||||
<g id="shape48-119" transform="translate(360.75,-52.32)">
|
||||
<title>Sheet.48</title>
|
||||
<desc>Bank N-1</desc>
|
||||
<rect x="0" y="398.42" width="36" height="14.4" class="st12"/>
|
||||
<text x="1.41" y="408.32" class="st5">Bank N-1</text> </g>
|
||||
<g id="shape49-122" transform="translate(396.75,-52.32)">
|
||||
<title>Sheet.49</title>
|
||||
<desc>Bank N</desc>
|
||||
<rect x="0" y="398.42" width="36" height="14.4" class="st12"/>
|
||||
<text x="5.06" y="408.32" class="st5">Bank N</text> </g>
|
||||
<g id="shape50-125" transform="translate(36.75,-52.32)">
|
||||
<title>Sheet.50</title>
|
||||
<desc>• • •</desc>
|
||||
<rect x="0" y="398.42" width="216" height="14.4" class="st12"/>
|
||||
<text x="91.49" y="408.62" class="st9">• • •</text> </g>
|
||||
<g id="shape51-128" transform="translate(375.15,715.72) rotate(180)">
|
||||
<title>Bracket.51</title>
|
||||
<path d="M0 412.82 A8.14985 8.14985 0 0 1 7.2 405.62 L36 405.62 A8.14985 8.14985 -180 0 0 43.2 398.42 A8.14985 8.14985
|
||||
-180 0 0 50.4 405.62 L151.2 405.62 A8.14985 8.14985 0 0 1 158.4 412.82" class="st13"/>
|
||||
</g>
|
||||
<g id="shape55-131" transform="translate(396.75,-66.72)">
|
||||
<title>Sheet.55</title>
|
||||
<path d="M0 187.31 L9 187.31 A9 9 0 0 1 18 196.31 L18 404.78" class="st14"/>
|
||||
</g>
|
||||
<g id="shape56-137" transform="translate(0.750002,-37.92)">
|
||||
<title>Sheet.56</title>
|
||||
<desc>Physical RAM (32K per bank)</desc>
|
||||
<rect x="0" y="398.42" width="432" height="14.4" class="st12"/>
|
||||
<text x="157.88" y="408.62" class="st9">Physical RAM (32K per bank)</text> </g>
|
||||
<g id="shape57-140" transform="translate(180.75,715.72) rotate(180)">
|
||||
<title>Bracket.57</title>
|
||||
<desc>`</desc>
|
||||
<path d="M0 412.82 A8.14984 8.14984 0 0 1 7.2 405.62 L46.8 405.62 A8.14984 8.14984 -180 0 0 54 398.42 A8.14984 8.14984
|
||||
-180 0 0 61.2 405.62 L100.8 405.62 A8.14984 8.14984 0 0 1 108 412.82" class="st13"/>
|
||||
<rect x="393.092" y="-58.7999" width="2.328" height="9.59985" transform="rotate(90)" class="st4"/>
|
||||
<text x="393.09" y="-51.6" transform="rotate(90)" class="st16">`</text> </g>
|
||||
<g id="shape58-145" transform="translate(449.57,360.5) rotate(90)">
|
||||
<title>Sheet.58</title>
|
||||
<path d="M0 412.82 L34.16 412.82" class="st17"/>
|
||||
</g>
|
||||
<g id="group60-148" transform="translate(36.75,-0.12)">
|
||||
<title>3D stack top</title>
|
||||
<desc>RAM Disk</desc>
|
||||
<g id="shape61-149" transform="translate(208.8,0)">
|
||||
<title>Sheet.61</title>
|
||||
<path d="M0 412.82 L7.09 405.73 L7.09 387.73 L0 394.82 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape62-151" transform="translate(0,-18)">
|
||||
<title>Sheet.62</title>
|
||||
<path d="M0 412.82 L208.8 412.82 L215.89 405.73 L7.09 405.73 L0 412.82 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape63-153">
|
||||
<title>Sheet.63</title>
|
||||
<rect x="0" y="394.82" width="208.8" height="18" class="st2"/>
|
||||
</g>
|
||||
<g id="shape60-155">
|
||||
<text x="88.83" y="406.22" class="st16">RAM Disk</text> </g>
|
||||
</g>
|
||||
<g id="shape64-157" transform="translate(-59.27,84.02) rotate(-90)">
|
||||
<title>Pointer (1-D)</title>
|
||||
<path d="M1.71 412.82 L2.07 412.82 L16.08 412.82" class="st18"/>
|
||||
</g>
|
||||
<g id="shape65-166" transform="translate(-95.27,108.5) rotate(-90)">
|
||||
<title>Pointer (1-D).65</title>
|
||||
<path d="M1.71 412.82 L2.07 412.82 L18.96 412.82" class="st18"/>
|
||||
</g>
|
||||
<g id="shape66-173" transform="translate(-52.07,122.9) rotate(-90)">
|
||||
<title>Pointer (1-D).66</title>
|
||||
<path d="M1.71 412.82 L2.07 412.82 L11.76 412.82" class="st18"/>
|
||||
</g>
|
||||
<g id="shape67-180" transform="translate(-105.35,137.3) rotate(-90)">
|
||||
<title>Pointer (1-D).67</title>
|
||||
<path d="M1.71 412.82 L2.07 412.82 L26.16 412.82" class="st18"/>
|
||||
</g>
|
||||
<g id="shape70-187" transform="translate(228.935,-227.945) scale(-1,1)">
|
||||
<title>Sheet.70</title>
|
||||
<path d="M2.65 293.24 L3.01 293.24 L76.08 293.24 A22.5 22.5 0 0 1 98.58 315.74 L98.58 404.78" class="st20"/>
|
||||
</g>
|
||||
<g id="shape68-195" transform="translate(87.15,-289.92)">
|
||||
<title>Sheet.68</title>
|
||||
<desc>HBIOS Function Call w/ Bank Switch</desc>
|
||||
<rect x="0" y="384.02" width="86.4" height="28.8" class="st2"/>
|
||||
<text x="7.14" y="395.72" class="st5">HBIOS Function Call <tspan x="15.11" dy="1.2em" class="st10">w/ Bank Switch</tspan></text> </g>
|
||||
<g id="shape69-199" transform="translate(0.75,-390.72)">
|
||||
<title>Sheet.69</title>
|
||||
<desc>RomWBW Bank Switched Memory Layout</desc>
|
||||
<rect x="0" y="391.22" width="432" height="21.6" class="st21"/>
|
||||
<text x="113.82" y="405.62" class="st7">RomWBW Bank Switched Memory Layout</text> </g>
|
||||
<g id="shape59-202" transform="translate(665.566,362.226) rotate(90.2396)">
|
||||
<title>Sheet.59</title>
|
||||
<path d="M0 412.82 L27.11 412.82" class="st17"/>
|
||||
</g>
|
||||
<g id="shape52-205" transform="translate(16.33,324.5) rotate(-90)">
|
||||
<title>Sheet.52</title>
|
||||
<desc>Fixed Mapping of Upper 32K to Last Bank</desc>
|
||||
<rect x="0" y="398.42" width="172.8" height="14.4" class="st8"/>
|
||||
<text x="11.1" y="408.32" class="st5">Fixed Mapping of Upper 32K to Last Bank</text> </g>
|
||||
<g id="shape72-208" transform="translate(331.95,-66.72)">
|
||||
<title>Sheet.72</title>
|
||||
<path d="M0 384.02 L0 387.62 A3.59999 3.59999 -180 0 0 3.6 391.22 L45.4 391.22 A5 5 0 0 1 50.4 396.22 L50.4 404.78"
|
||||
class="st14"/>
|
||||
</g>
|
||||
<g id="shape74-213" transform="translate(126.75,-66.72) scale(-1,1)">
|
||||
<title>Sheet.74</title>
|
||||
<path d="M0 384.02 L0 387.62 A3.59999 3.59999 -180 0 0 3.6 391.22 L103 391.22 A5 5 0 0 1 108 396.22 L108 404.78"
|
||||
class="st14"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 51 KiB |
830
Source/Doc/Graphics/CharacterEmulationVideoServices.svg
Normal file
@@ -0,0 +1,830 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by Microsoft Visio, SVG Export CharacterEmulationVideoServices.svg Page-1 -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
|
||||
width="6.01042in" height="5.76042in" viewBox="0 0 432.75 414.75" xml:space="preserve" color-interpolation-filters="sRGB"
|
||||
class="st16">
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.st1 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st2 {fill:#000000;font-family:Calibri;font-size:0.833336em;font-weight:bold}
|
||||
.st3 {font-size:1em}
|
||||
.st4 {marker-end:url(#mrkr13-15);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st5 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.22935779816514}
|
||||
.st6 {fill:#a5a5a5;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st7 {fill:#000000;font-family:Calibri;font-size:0.666664em;font-weight:bold}
|
||||
.st8 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
|
||||
.st9 {fill:#00ff00;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st10 {fill:#e6e6e6;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st11 {fill:#b3b3b3;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st12 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st13 {fill:#ffffff;stroke:#000000;stroke-dasharray:0.75,1.5;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st14 {fill:#000000;font-family:Calibri;font-size:0.499992em;font-weight:bold}
|
||||
.st15 {fill:#000000;font-family:Calibri;font-size:1.16666em;font-weight:bold}
|
||||
.st16 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
|
||||
]]>
|
||||
</style>
|
||||
|
||||
<defs id="Markers">
|
||||
<g id="lend13">
|
||||
<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
|
||||
</g>
|
||||
<marker id="mrkr13-15" class="st5" refX="-13.08" orient="auto" markerUnits="strokeWidth" overflow="visible">
|
||||
<use xlink:href="#lend13" transform="scale(-4.36,-4.36) "/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Page-1</title>
|
||||
<g id="shape81-1" transform="translate(17.625,414.375) rotate(-90)">
|
||||
<title>Sheet.81</title>
|
||||
<rect x="0" y="279.75" width="360" height="135" class="st1"/>
|
||||
</g>
|
||||
<g id="shape80-3" transform="translate(-135.375,414.375) rotate(-90)">
|
||||
<title>Sheet.80</title>
|
||||
<rect x="0" y="189.75" width="360" height="225" class="st1"/>
|
||||
</g>
|
||||
<g id="shape1-5" transform="translate(108.539,-315.375)">
|
||||
<title>Sheet.1</title>
|
||||
<desc>Character I/O Services</desc>
|
||||
<rect x="0" y="378.75" width="53.8364" height="36" class="st1"/>
|
||||
<text x="6.75" y="387.75" class="st2">Character <tspan x="20.06" dy="1.2em" class="st3">I/O </tspan><tspan x="10.06"
|
||||
dy="1.2em" class="st3">Services</tspan></text> </g>
|
||||
<g id="shape2-10" transform="translate(36.375,-333.375)">
|
||||
<title>Sheet.2</title>
|
||||
<path d="M0 414.75 L62.35 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape8-16" transform="translate(550.125,153.375) rotate(90)">
|
||||
<title>Sheet.8</title>
|
||||
<path d="M0 414.75 L17.19 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape9-21" transform="translate(108.375,-189.375)">
|
||||
<title>Sheet.9</title>
|
||||
<desc>Emulation Services</desc>
|
||||
<rect x="0" y="369.75" width="54" height="45" class="st1"/>
|
||||
<text x="5.78" y="389.25" class="st2">Emulation <tspan x="10.14" dy="1.2em" class="st3">Services</tspan></text> </g>
|
||||
<g id="shape10-25" transform="translate(108.375,-171.375)">
|
||||
<title>Sheet.10</title>
|
||||
<desc>TTY</desc>
|
||||
<rect x="0" y="396.75" width="54" height="18" class="st1"/>
|
||||
<text x="19.45" y="408.75" class="st2">TTY</text> </g>
|
||||
<g id="shape11-28" transform="translate(108.375,-153.375)">
|
||||
<title>Sheet.11</title>
|
||||
<desc>ANSI</desc>
|
||||
<rect x="0" y="396.75" width="54" height="18" class="st1"/>
|
||||
<text x="16.98" y="408.75" class="st2">ANSI</text> </g>
|
||||
<g id="shape12-31" transform="translate(162.211,-180.375)">
|
||||
<title>Sheet.12</title>
|
||||
<path d="M0 414.75 L17.35 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape13-36" transform="translate(162.211,-162.375)">
|
||||
<title>Sheet.13</title>
|
||||
<path d="M0 414.75 L17.35 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape14-41" transform="translate(189.375,-99.375)">
|
||||
<title>Sheet.14</title>
|
||||
<desc>Video Display Adapter Services</desc>
|
||||
<rect x="0" y="324.75" width="54" height="90" class="st1"/>
|
||||
<text x="14.93" y="354.75" class="st2">Video <tspan x="11.88" dy="1.2em" class="st3">Display </tspan><tspan x="10.11"
|
||||
dy="1.2em" class="st3">Adapter </tspan><tspan x="10.14" dy="1.2em" class="st3">Services</tspan></text> </g>
|
||||
<g id="shape18-47" transform="translate(243.375,-36.375)">
|
||||
<title>Sheet.18</title>
|
||||
<path d="M0 414.75 L62.19 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape27-52" transform="translate(315.375,-315.375)">
|
||||
<title>Sheet.27</title>
|
||||
<desc>UART</desc>
|
||||
<rect x="0" y="396.75" width="44.9182" height="18" class="st6"/>
|
||||
<text x="13.19" y="408.15" class="st7">UART</text> </g>
|
||||
<g id="shape34-55" transform="translate(314.311,-261.375)">
|
||||
<title>Sheet.34</title>
|
||||
<desc>ASCI</desc>
|
||||
<rect x="0" y="396.75" width="44.9182" height="18" class="st6"/>
|
||||
<text x="14.96" y="408.15" class="st7">ASCI</text> </g>
|
||||
<g id="group20-58" transform="translate(396.375,-94.875)">
|
||||
<title>Terminal.20</title>
|
||||
<g id="shape36-59" transform="translate(-391.186,414.75) rotate(-90)">
|
||||
<title>Sheet.36</title>
|
||||
<path d="M0 414.75 L27 414.75 L27 409.08 L0 409.08 L0 414.75 ZM26.25 403.93 L23.44 399.37 L3.53 399.37 L0.75 403.93
|
||||
L26.25 403.93 ZM23.44 399.37 L23.44 391.19 L3.53 391.19 L3.53 399.37 L23.44 399.37 ZM26.25 407.7 L26.25
|
||||
403.93 L0.75 403.93 L0.75 407.7 L26.25 407.7 ZM24.83 407.7 A1223.48 394.162 90 0 1 2.17 407.7 L24.83
|
||||
407.7 Z" class="st8"/>
|
||||
</g>
|
||||
<g id="shape37-61" transform="translate(-395.768,392.25) rotate(-90)">
|
||||
<title>Sheet.37</title>
|
||||
<rect x="0" y="414.641" width="0.75" height="0.109091" class="st9"/>
|
||||
</g>
|
||||
<g id="shape38-63" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.38</title>
|
||||
<path d="M1.69 410.93 L2.63 410.93 L2.63 410.39 L1.69 410.39 L1.69 410.93 ZM2.81 410.93 L3.75 410.93 L3.75 410.39
|
||||
L2.81 410.39 L2.81 410.93 ZM3.94 410.93 L4.87 410.93 L4.87 410.39 L3.94 410.39 L3.94 410.93 ZM5.06 410.93
|
||||
L6 410.93 L6 410.39 L5.06 410.39 L5.06 410.93 ZM12.28 410.93 L13.22 410.93 L13.22 410.39 L12.28 410.39
|
||||
L12.28 410.93 ZM13.41 410.93 L14.34 410.93 L14.34 410.39 L13.41 410.39 L13.41 410.93 ZM14.53 410.93
|
||||
L15.47 410.93 L15.47 410.39 L14.53 410.39 L14.53 410.93 ZM15.66 410.93 L16.59 410.93 L16.59 410.39 L15.66
|
||||
410.39 L15.66 410.93 ZM0 412.02 L1.5 412.02 L1.5 411.48 L0 411.48 L0 412.02 ZM1.69 412.02 L2.63 412.02
|
||||
L2.63 411.48 L1.69 411.48 L1.69 412.02 ZM2.81 412.02 L3.75 412.02 L3.75 411.48 L2.81 411.48 L2.81 412.02
|
||||
ZM3.94 412.02 L4.87 412.02 L4.87 411.48 L3.94 411.48 L3.94 412.02 ZM5.06 412.02 L6 412.02 L6 411.48
|
||||
L5.06 411.48 L5.06 412.02 ZM6.19 412.02 L7.12 412.02 L7.12 411.48 L6.19 411.48 L6.19 412.02 ZM7.31 412.02
|
||||
L8.25 412.02 L8.25 411.48 L7.31 411.48 L7.31 412.02 ZM8.44 412.02 L9.37 412.02 L9.37 411.48 L8.44 411.48
|
||||
L8.44 412.02 ZM9.56 412.02 L10.5 412.02 L10.5 411.48 L9.56 411.48 L9.56 412.02 ZM10.69 412.02 L11.62
|
||||
412.02 L11.62 411.48 L10.69 411.48 L10.69 412.02 ZM11.81 412.02 L12.75 412.02 L12.75 411.48 L11.81 411.48
|
||||
L11.81 412.02 ZM12.94 412.02 L13.87 412.02 L13.87 411.48 L12.94 411.48 L12.94 412.02 ZM14.06 412.02
|
||||
L15 412.02 L15 411.48 L14.06 411.48 L14.06 412.02 ZM1.69 412.7 L2.63 412.7 L2.63 412.16 L1.69 412.16
|
||||
L1.69 412.7 ZM2.81 412.7 L3.75 412.7 L3.75 412.16 L2.81 412.16 L2.81 412.7 ZM3.94 412.7 L4.87 412.7
|
||||
L4.87 412.16 L3.94 412.16 L3.94 412.7 ZM5.06 412.7 L6 412.7 L6 412.16 L5.06 412.16 L5.06 412.7 ZM6.19
|
||||
412.7 L7.12 412.7 L7.12 412.16 L6.19 412.16 L6.19 412.7 ZM7.31 412.7 L8.25 412.7 L8.25 412.16 L7.31
|
||||
412.16 L7.31 412.7 ZM8.44 412.7 L9.37 412.7 L9.37 412.16 L8.44 412.16 L8.44 412.7 ZM9.56 412.7 L10.5
|
||||
412.7 L10.5 412.16 L9.56 412.16 L9.56 412.7 ZM10.69 412.7 L11.62 412.7 L11.62 412.16 L10.69 412.16 L10.69
|
||||
412.7 ZM11.81 412.7 L12.75 412.7 L12.75 412.16 L11.81 412.16 L11.81 412.7 ZM12.94 412.7 L13.87 412.7
|
||||
L13.87 412.16 L12.94 412.16 L12.94 412.7 ZM14.06 412.7 L15 412.7 L15 412.16 L14.06 412.16 L14.06 412.7
|
||||
ZM1.69 413.39 L2.63 413.39 L2.63 412.84 L1.69 412.84 L1.69 413.39 ZM2.81 413.39 L3.75 413.39 L3.75 412.84
|
||||
L2.81 412.84 L2.81 413.39 ZM3.94 413.39 L4.87 413.39 L4.87 412.84 L3.94 412.84 L3.94 413.39 ZM5.06 413.39
|
||||
L6 413.39 L6 412.84 L5.06 412.84 L5.06 413.39 ZM6.19 413.39 L7.12 413.39 L7.12 412.84 L6.19 412.84 L6.19
|
||||
413.39 ZM7.31 413.39 L8.25 413.39 L8.25 412.84 L7.31 412.84 L7.31 413.39 ZM8.44 413.39 L9.37 413.39
|
||||
L9.37 412.84 L8.44 412.84 L8.44 413.39 ZM9.56 413.39 L10.5 413.39 L10.5 412.84 L9.56 412.84 L9.56 413.39
|
||||
ZM10.69 413.39 L11.62 413.39 L11.62 412.84 L10.69 412.84 L10.69 413.39 ZM11.81 413.39 L12.75 413.39
|
||||
L12.75 412.84 L11.81 412.84 L11.81 413.39 ZM12.94 413.39 L13.87 413.39 L13.87 412.84 L12.94 412.84 L12.94
|
||||
413.39 ZM14.06 413.39 L15 413.39 L15 412.84 L14.06 412.84 L14.06 413.39 ZM1.69 414.07 L2.63 414.07 L2.63
|
||||
413.52 L1.69 413.52 L1.69 414.07 ZM2.81 414.07 L3.75 414.07 L3.75 413.52 L2.81 413.52 L2.81 414.07 ZM3.94
|
||||
414.07 L4.87 414.07 L4.87 413.52 L3.94 413.52 L3.94 414.07 ZM5.06 414.07 L6 414.07 L6 413.52 L5.06 413.52
|
||||
L5.06 414.07 ZM6.19 414.07 L7.12 414.07 L7.12 413.52 L6.19 413.52 L6.19 414.07 ZM7.31 414.07 L8.25 414.07
|
||||
L8.25 413.52 L7.31 413.52 L7.31 414.07 ZM8.44 414.07 L9.37 414.07 L9.37 413.52 L8.44 413.52 L8.44 414.07
|
||||
ZM9.56 414.07 L10.5 414.07 L10.5 413.52 L9.56 413.52 L9.56 414.07 ZM10.69 414.07 L11.62 414.07 L11.62
|
||||
413.52 L10.69 413.52 L10.69 414.07 ZM11.81 414.07 L12.75 414.07 L12.75 413.52 L11.81 413.52 L11.81 414.07
|
||||
ZM12.94 414.07 L13.87 414.07 L13.87 413.52 L12.94 413.52 L12.94 414.07 ZM3.94 414.75 L11.62 414.75 L11.62
|
||||
414.2 L3.94 414.2 L3.94 414.75 ZM21 414.75 L23.25 414.75 L23.25 414.2 L21 414.2 L21 414.75 ZM23.44 414.75
|
||||
L24.37 414.75 L24.37 414.2 L23.44 414.2 L23.44 414.75 ZM23.44 414.07 L24.37 414.07 L24.37 413.52 L23.44
|
||||
413.52 L23.44 414.07 ZM22.22 414.07 L23.16 414.07 L23.16 413.52 L22.22 413.52 L22.22 414.07 ZM21 414.07
|
||||
L21.94 414.07 L21.94 413.52 L21 413.52 L21 414.07 ZM21 413.39 L21.94 413.39 L21.94 412.84 L21 412.84
|
||||
L21 413.39 ZM21 412.7 L21.94 412.7 L21.94 412.16 L21 412.16 L21 412.7 ZM22.22 412.7 L23.16 412.7 L23.16
|
||||
412.16 L22.22 412.16 L22.22 412.7 ZM23.44 412.7 L24.37 412.7 L24.37 412.16 L23.44 412.16 L23.44 412.7
|
||||
ZM23.44 413.39 L24.37 413.39 L24.37 412.84 L23.44 412.84 L23.44 413.39 ZM22.22 413.39 L23.16 413.39
|
||||
L23.16 412.84 L22.22 412.84 L22.22 413.39 Z" class="st10"/>
|
||||
</g>
|
||||
<g id="shape39-65" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.39</title>
|
||||
<path d="M0 410.93 L0.94 410.93 L0.94 410.39 L0 410.39 L0 410.93 ZM0 412.7 L1.5 412.7 L1.5 412.16 L0 412.16 L0 412.7
|
||||
ZM0 413.39 L1.5 413.39 L1.5 412.84 L0 412.84 L0 413.39 ZM0 414.07 L1.5 414.07 L1.5 413.52 L0 413.52
|
||||
L0 414.07 ZM0 414.75 L1.5 414.75 L1.5 414.2 L0 414.2 L0 414.75 ZM1.69 414.75 L2.63 414.75 L2.63 414.2
|
||||
L1.69 414.2 L1.69 414.75 ZM2.81 414.75 L3.75 414.75 L3.75 414.2 L2.81 414.2 L2.81 414.75 ZM11.81 414.75
|
||||
L12.75 414.75 L12.75 414.2 L11.81 414.2 L11.81 414.75 ZM12.94 414.75 L13.87 414.75 L13.87 414.2 L12.94
|
||||
414.2 L12.94 414.75 ZM14.06 414.75 L15 414.75 L15 414.2 L14.06 414.2 L14.06 414.75 ZM15.19 414.75 L16.69
|
||||
414.75 L16.69 414.2 L15.19 414.2 L15.19 414.75 ZM17.25 414.75 L18.19 414.75 L18.19 414.2 L17.25 414.2
|
||||
L17.25 414.75 ZM18.37 414.75 L19.31 414.75 L19.31 414.2 L18.37 414.2 L18.37 414.75 ZM19.5 414.75 L20.44
|
||||
414.75 L20.44 414.2 L19.5 414.2 L19.5 414.75 ZM24.66 414.75 L25.59 414.75 L25.59 413.55 L24.66 413.55
|
||||
L24.66 414.75 ZM24.66 413.44 L25.59 413.44 L25.59 412.16 L24.66 412.16 L24.66 413.44 ZM24.66 412.02
|
||||
L25.59 412.02 L25.59 411.48 L24.66 411.48 L24.66 412.02 ZM23.44 412.02 L24.37 412.02 L24.37 411.48 L23.44
|
||||
411.48 L23.44 412.02 ZM22.22 412.02 L23.16 412.02 L23.16 411.48 L22.22 411.48 L22.22 412.02 ZM21 412.02
|
||||
L21.94 412.02 L21.94 411.48 L21 411.48 L21 412.02 ZM19.5 412.02 L20.44 412.02 L20.44 411.48 L19.5 411.48
|
||||
L19.5 412.02 ZM19.5 412.7 L20.44 412.7 L20.44 412.16 L19.5 412.16 L19.5 412.7 ZM18.37 414.07 L19.31
|
||||
414.07 L19.31 413.52 L18.37 413.52 L18.37 414.07 ZM14.06 414.06 L16.69 414.06 L16.69 413.51 L14.06 413.51
|
||||
L14.06 414.06 ZM15.19 413.37 L16.69 413.37 L16.69 412.17 L15.19 412.17 L15.19 413.37 ZM17.25 412.7 L18.19
|
||||
412.7 L18.19 412.16 L17.25 412.16 L17.25 412.7 ZM18.37 412.7 L19.31 412.7 L19.31 412.16 L18.37 412.16
|
||||
L18.37 412.7 ZM18.37 412.02 L19.31 412.02 L19.31 411.48 L18.37 411.48 L18.37 412.02 ZM15.19 412.02 L16.69
|
||||
412.02 L16.69 411.48 L15.19 411.48 L15.19 412.02 ZM24.19 410.6 L24.94 410.6 L24.94 410.5 L24.19 410.5
|
||||
L24.19 410.6 ZM23.06 410.6 L23.81 410.6 L23.81 410.5 L23.06 410.5 L23.06 410.6 ZM19.5 410.93 L20.44
|
||||
410.93 L20.44 410.39 L19.5 410.39 L19.5 410.93 ZM18.37 410.93 L19.31 410.93 L19.31 410.39 L18.37 410.39
|
||||
L18.37 410.93 ZM17.25 410.93 L18.19 410.93 L18.19 410.39 L17.25 410.39 L17.25 410.93 ZM10.31 410.93
|
||||
L11.25 410.93 L11.25 410.39 L10.31 410.39 L10.31 410.93 ZM9.19 410.93 L10.12 410.93 L10.12 410.39 L9.19
|
||||
410.39 L9.19 410.93 ZM8.06 410.93 L9 410.93 L9 410.39 L8.06 410.39 L8.06 410.93 ZM6.94 410.93 L7.87
|
||||
410.93 L7.87 410.39 L6.94 410.39 L6.94 410.93 ZM17.25 412.02 L18.19 412.02 L18.19 411.48 L17.25 411.48
|
||||
L17.25 412.02 Z" class="st11"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="shape40-67" transform="translate(315.375,-99.375)">
|
||||
<title>Sheet.40</title>
|
||||
<desc>CVDU</desc>
|
||||
<rect x="0" y="396.75" width="44.9182" height="18" class="st6"/>
|
||||
<text x="12.84" y="408.15" class="st7">CVDU</text> </g>
|
||||
<g id="shape41-70" transform="translate(360.293,-108.375)">
|
||||
<title>Sheet.41</title>
|
||||
<path d="M0 414.75 L26.27 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape47-75" transform="translate(315.375,-63.375)">
|
||||
<title>Sheet.47</title>
|
||||
<desc>UPD7220</desc>
|
||||
<rect x="0" y="396.75" width="44.9182" height="18" class="st6"/>
|
||||
<text x="7.09" y="408.15" class="st7">UPD7220</text> </g>
|
||||
<g id="shape54-78" transform="translate(315.375,-27.375)">
|
||||
<title>Sheet.54</title>
|
||||
<desc>N8</desc>
|
||||
<rect x="0" y="396.75" width="44.9182" height="18" class="st6"/>
|
||||
<text x="17.8" y="408.15" class="st7">N8</text> </g>
|
||||
<g id="shape56-81" transform="translate(54.375,-333.375)">
|
||||
<title>Sheet.56</title>
|
||||
<desc>CIOXXX</desc>
|
||||
<rect x="0" y="401.25" width="45" height="13.5" class="st12"/>
|
||||
<text x="10" y="410.4" class="st7">CIOXXX</text> </g>
|
||||
<g id="shape57-84" transform="translate(54.375,-117.375)">
|
||||
<title>Sheet.57</title>
|
||||
<desc>VDAXXX</desc>
|
||||
<rect x="0" y="401.25" width="45" height="13.5" class="st12"/>
|
||||
<text x="8.58" y="410.4" class="st7">VDAXXX</text> </g>
|
||||
<g id="shape58-87" transform="translate(-378.375,414.375) rotate(-90)">
|
||||
<title>Sheet.58</title>
|
||||
<desc>Operating System / Utilities</desc>
|
||||
<rect x="0" y="378.75" width="360" height="36" class="st1"/>
|
||||
<text x="122.42" y="399.75" class="st2">Operating System / Utilities</text> </g>
|
||||
<g id="shape59-90" transform="translate(108.375,-135.375)">
|
||||
<title>Sheet.59</title>
|
||||
<desc>Others...</desc>
|
||||
<path d="M0 414.75 L54 414.75 L54 396.75 L0 396.75 L0 414.75 Z" class="st13"/>
|
||||
<text x="8.91" y="408.75" class="st2">Others...</text> </g>
|
||||
<g id="shape60-93" transform="translate(162.211,-144.375)">
|
||||
<title>Sheet.60</title>
|
||||
<path d="M0 414.75 L17.35 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape61-98" transform="translate(36.375,-211.875)">
|
||||
<title>Sheet.61</title>
|
||||
<path d="M0 414.75 L62.19 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape62-103" transform="translate(54.375,-211.875)">
|
||||
<title>Sheet.62</title>
|
||||
<desc>EMUXXX</desc>
|
||||
<rect x="0" y="401.25" width="45" height="13.5" class="st12"/>
|
||||
<text x="7.83" y="410.4" class="st7">EMUXXX</text> </g>
|
||||
<g id="shape15-106" transform="translate(36.375,-117.375)">
|
||||
<title>Sheet.15</title>
|
||||
<path d="M0 414.75 L143.19 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="group16-111" transform="translate(396.375,-58.875)">
|
||||
<title>Terminal.16</title>
|
||||
<g id="shape42-112" transform="translate(-391.186,414.75) rotate(-90)">
|
||||
<title>Sheet.42</title>
|
||||
<path d="M0 414.75 L27 414.75 L27 409.08 L0 409.08 L0 414.75 ZM26.25 403.93 L23.44 399.37 L3.53 399.37 L0.75 403.93
|
||||
L26.25 403.93 ZM23.44 399.37 L23.44 391.19 L3.53 391.19 L3.53 399.37 L23.44 399.37 ZM26.25 407.7 L26.25
|
||||
403.93 L0.75 403.93 L0.75 407.7 L26.25 407.7 ZM24.83 407.7 A1223.48 394.162 90 0 1 2.17 407.7 L24.83
|
||||
407.7 Z" class="st8"/>
|
||||
</g>
|
||||
<g id="shape43-114" transform="translate(-395.768,392.25) rotate(-90)">
|
||||
<title>Sheet.43</title>
|
||||
<rect x="0" y="414.641" width="0.75" height="0.109091" class="st9"/>
|
||||
</g>
|
||||
<g id="shape44-116" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.44</title>
|
||||
<path d="M1.69 410.93 L2.63 410.93 L2.63 410.39 L1.69 410.39 L1.69 410.93 ZM2.81 410.93 L3.75 410.93 L3.75 410.39
|
||||
L2.81 410.39 L2.81 410.93 ZM3.94 410.93 L4.87 410.93 L4.87 410.39 L3.94 410.39 L3.94 410.93 ZM5.06 410.93
|
||||
L6 410.93 L6 410.39 L5.06 410.39 L5.06 410.93 ZM12.28 410.93 L13.22 410.93 L13.22 410.39 L12.28 410.39
|
||||
L12.28 410.93 ZM13.41 410.93 L14.34 410.93 L14.34 410.39 L13.41 410.39 L13.41 410.93 ZM14.53 410.93
|
||||
L15.47 410.93 L15.47 410.39 L14.53 410.39 L14.53 410.93 ZM15.66 410.93 L16.59 410.93 L16.59 410.39 L15.66
|
||||
410.39 L15.66 410.93 ZM0 412.02 L1.5 412.02 L1.5 411.48 L0 411.48 L0 412.02 ZM1.69 412.02 L2.63 412.02
|
||||
L2.63 411.48 L1.69 411.48 L1.69 412.02 ZM2.81 412.02 L3.75 412.02 L3.75 411.48 L2.81 411.48 L2.81 412.02
|
||||
ZM3.94 412.02 L4.87 412.02 L4.87 411.48 L3.94 411.48 L3.94 412.02 ZM5.06 412.02 L6 412.02 L6 411.48
|
||||
L5.06 411.48 L5.06 412.02 ZM6.19 412.02 L7.12 412.02 L7.12 411.48 L6.19 411.48 L6.19 412.02 ZM7.31 412.02
|
||||
L8.25 412.02 L8.25 411.48 L7.31 411.48 L7.31 412.02 ZM8.44 412.02 L9.37 412.02 L9.37 411.48 L8.44 411.48
|
||||
L8.44 412.02 ZM9.56 412.02 L10.5 412.02 L10.5 411.48 L9.56 411.48 L9.56 412.02 ZM10.69 412.02 L11.62
|
||||
412.02 L11.62 411.48 L10.69 411.48 L10.69 412.02 ZM11.81 412.02 L12.75 412.02 L12.75 411.48 L11.81 411.48
|
||||
L11.81 412.02 ZM12.94 412.02 L13.87 412.02 L13.87 411.48 L12.94 411.48 L12.94 412.02 ZM14.06 412.02
|
||||
L15 412.02 L15 411.48 L14.06 411.48 L14.06 412.02 ZM1.69 412.7 L2.63 412.7 L2.63 412.16 L1.69 412.16
|
||||
L1.69 412.7 ZM2.81 412.7 L3.75 412.7 L3.75 412.16 L2.81 412.16 L2.81 412.7 ZM3.94 412.7 L4.87 412.7
|
||||
L4.87 412.16 L3.94 412.16 L3.94 412.7 ZM5.06 412.7 L6 412.7 L6 412.16 L5.06 412.16 L5.06 412.7 ZM6.19
|
||||
412.7 L7.12 412.7 L7.12 412.16 L6.19 412.16 L6.19 412.7 ZM7.31 412.7 L8.25 412.7 L8.25 412.16 L7.31
|
||||
412.16 L7.31 412.7 ZM8.44 412.7 L9.37 412.7 L9.37 412.16 L8.44 412.16 L8.44 412.7 ZM9.56 412.7 L10.5
|
||||
412.7 L10.5 412.16 L9.56 412.16 L9.56 412.7 ZM10.69 412.7 L11.62 412.7 L11.62 412.16 L10.69 412.16 L10.69
|
||||
412.7 ZM11.81 412.7 L12.75 412.7 L12.75 412.16 L11.81 412.16 L11.81 412.7 ZM12.94 412.7 L13.87 412.7
|
||||
L13.87 412.16 L12.94 412.16 L12.94 412.7 ZM14.06 412.7 L15 412.7 L15 412.16 L14.06 412.16 L14.06 412.7
|
||||
ZM1.69 413.39 L2.63 413.39 L2.63 412.84 L1.69 412.84 L1.69 413.39 ZM2.81 413.39 L3.75 413.39 L3.75 412.84
|
||||
L2.81 412.84 L2.81 413.39 ZM3.94 413.39 L4.87 413.39 L4.87 412.84 L3.94 412.84 L3.94 413.39 ZM5.06 413.39
|
||||
L6 413.39 L6 412.84 L5.06 412.84 L5.06 413.39 ZM6.19 413.39 L7.12 413.39 L7.12 412.84 L6.19 412.84 L6.19
|
||||
413.39 ZM7.31 413.39 L8.25 413.39 L8.25 412.84 L7.31 412.84 L7.31 413.39 ZM8.44 413.39 L9.37 413.39
|
||||
L9.37 412.84 L8.44 412.84 L8.44 413.39 ZM9.56 413.39 L10.5 413.39 L10.5 412.84 L9.56 412.84 L9.56 413.39
|
||||
ZM10.69 413.39 L11.62 413.39 L11.62 412.84 L10.69 412.84 L10.69 413.39 ZM11.81 413.39 L12.75 413.39
|
||||
L12.75 412.84 L11.81 412.84 L11.81 413.39 ZM12.94 413.39 L13.87 413.39 L13.87 412.84 L12.94 412.84 L12.94
|
||||
413.39 ZM14.06 413.39 L15 413.39 L15 412.84 L14.06 412.84 L14.06 413.39 ZM1.69 414.07 L2.63 414.07 L2.63
|
||||
413.52 L1.69 413.52 L1.69 414.07 ZM2.81 414.07 L3.75 414.07 L3.75 413.52 L2.81 413.52 L2.81 414.07 ZM3.94
|
||||
414.07 L4.87 414.07 L4.87 413.52 L3.94 413.52 L3.94 414.07 ZM5.06 414.07 L6 414.07 L6 413.52 L5.06 413.52
|
||||
L5.06 414.07 ZM6.19 414.07 L7.12 414.07 L7.12 413.52 L6.19 413.52 L6.19 414.07 ZM7.31 414.07 L8.25 414.07
|
||||
L8.25 413.52 L7.31 413.52 L7.31 414.07 ZM8.44 414.07 L9.37 414.07 L9.37 413.52 L8.44 413.52 L8.44 414.07
|
||||
ZM9.56 414.07 L10.5 414.07 L10.5 413.52 L9.56 413.52 L9.56 414.07 ZM10.69 414.07 L11.62 414.07 L11.62
|
||||
413.52 L10.69 413.52 L10.69 414.07 ZM11.81 414.07 L12.75 414.07 L12.75 413.52 L11.81 413.52 L11.81 414.07
|
||||
ZM12.94 414.07 L13.87 414.07 L13.87 413.52 L12.94 413.52 L12.94 414.07 ZM3.94 414.75 L11.62 414.75 L11.62
|
||||
414.2 L3.94 414.2 L3.94 414.75 ZM21 414.75 L23.25 414.75 L23.25 414.2 L21 414.2 L21 414.75 ZM23.44 414.75
|
||||
L24.37 414.75 L24.37 414.2 L23.44 414.2 L23.44 414.75 ZM23.44 414.07 L24.37 414.07 L24.37 413.52 L23.44
|
||||
413.52 L23.44 414.07 ZM22.22 414.07 L23.16 414.07 L23.16 413.52 L22.22 413.52 L22.22 414.07 ZM21 414.07
|
||||
L21.94 414.07 L21.94 413.52 L21 413.52 L21 414.07 ZM21 413.39 L21.94 413.39 L21.94 412.84 L21 412.84
|
||||
L21 413.39 ZM21 412.7 L21.94 412.7 L21.94 412.16 L21 412.16 L21 412.7 ZM22.22 412.7 L23.16 412.7 L23.16
|
||||
412.16 L22.22 412.16 L22.22 412.7 ZM23.44 412.7 L24.37 412.7 L24.37 412.16 L23.44 412.16 L23.44 412.7
|
||||
ZM23.44 413.39 L24.37 413.39 L24.37 412.84 L23.44 412.84 L23.44 413.39 ZM22.22 413.39 L23.16 413.39
|
||||
L23.16 412.84 L22.22 412.84 L22.22 413.39 Z" class="st10"/>
|
||||
</g>
|
||||
<g id="shape45-118" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.45</title>
|
||||
<path d="M0 410.93 L0.94 410.93 L0.94 410.39 L0 410.39 L0 410.93 ZM0 412.7 L1.5 412.7 L1.5 412.16 L0 412.16 L0 412.7
|
||||
ZM0 413.39 L1.5 413.39 L1.5 412.84 L0 412.84 L0 413.39 ZM0 414.07 L1.5 414.07 L1.5 413.52 L0 413.52
|
||||
L0 414.07 ZM0 414.75 L1.5 414.75 L1.5 414.2 L0 414.2 L0 414.75 ZM1.69 414.75 L2.63 414.75 L2.63 414.2
|
||||
L1.69 414.2 L1.69 414.75 ZM2.81 414.75 L3.75 414.75 L3.75 414.2 L2.81 414.2 L2.81 414.75 ZM11.81 414.75
|
||||
L12.75 414.75 L12.75 414.2 L11.81 414.2 L11.81 414.75 ZM12.94 414.75 L13.87 414.75 L13.87 414.2 L12.94
|
||||
414.2 L12.94 414.75 ZM14.06 414.75 L15 414.75 L15 414.2 L14.06 414.2 L14.06 414.75 ZM15.19 414.75 L16.69
|
||||
414.75 L16.69 414.2 L15.19 414.2 L15.19 414.75 ZM17.25 414.75 L18.19 414.75 L18.19 414.2 L17.25 414.2
|
||||
L17.25 414.75 ZM18.37 414.75 L19.31 414.75 L19.31 414.2 L18.37 414.2 L18.37 414.75 ZM19.5 414.75 L20.44
|
||||
414.75 L20.44 414.2 L19.5 414.2 L19.5 414.75 ZM24.66 414.75 L25.59 414.75 L25.59 413.55 L24.66 413.55
|
||||
L24.66 414.75 ZM24.66 413.44 L25.59 413.44 L25.59 412.16 L24.66 412.16 L24.66 413.44 ZM24.66 412.02
|
||||
L25.59 412.02 L25.59 411.48 L24.66 411.48 L24.66 412.02 ZM23.44 412.02 L24.37 412.02 L24.37 411.48 L23.44
|
||||
411.48 L23.44 412.02 ZM22.22 412.02 L23.16 412.02 L23.16 411.48 L22.22 411.48 L22.22 412.02 ZM21 412.02
|
||||
L21.94 412.02 L21.94 411.48 L21 411.48 L21 412.02 ZM19.5 412.02 L20.44 412.02 L20.44 411.48 L19.5 411.48
|
||||
L19.5 412.02 ZM19.5 412.7 L20.44 412.7 L20.44 412.16 L19.5 412.16 L19.5 412.7 ZM18.37 414.07 L19.31
|
||||
414.07 L19.31 413.52 L18.37 413.52 L18.37 414.07 ZM14.06 414.06 L16.69 414.06 L16.69 413.51 L14.06 413.51
|
||||
L14.06 414.06 ZM15.19 413.37 L16.69 413.37 L16.69 412.17 L15.19 412.17 L15.19 413.37 ZM17.25 412.7 L18.19
|
||||
412.7 L18.19 412.16 L17.25 412.16 L17.25 412.7 ZM18.37 412.7 L19.31 412.7 L19.31 412.16 L18.37 412.16
|
||||
L18.37 412.7 ZM18.37 412.02 L19.31 412.02 L19.31 411.48 L18.37 411.48 L18.37 412.02 ZM15.19 412.02 L16.69
|
||||
412.02 L16.69 411.48 L15.19 411.48 L15.19 412.02 ZM24.19 410.6 L24.94 410.6 L24.94 410.5 L24.19 410.5
|
||||
L24.19 410.6 ZM23.06 410.6 L23.81 410.6 L23.81 410.5 L23.06 410.5 L23.06 410.6 ZM19.5 410.93 L20.44
|
||||
410.93 L20.44 410.39 L19.5 410.39 L19.5 410.93 ZM18.37 410.93 L19.31 410.93 L19.31 410.39 L18.37 410.39
|
||||
L18.37 410.93 ZM17.25 410.93 L18.19 410.93 L18.19 410.39 L17.25 410.39 L17.25 410.93 ZM10.31 410.93
|
||||
L11.25 410.93 L11.25 410.39 L10.31 410.39 L10.31 410.93 ZM9.19 410.93 L10.12 410.93 L10.12 410.39 L9.19
|
||||
410.39 L9.19 410.93 ZM8.06 410.93 L9 410.93 L9 410.39 L8.06 410.39 L8.06 410.93 ZM6.94 410.93 L7.87
|
||||
410.93 L7.87 410.39 L6.94 410.39 L6.94 410.93 ZM17.25 412.02 L18.19 412.02 L18.19 411.48 L17.25 411.48
|
||||
L17.25 412.02 Z" class="st11"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="shape46-120" transform="translate(360.375,-72.375)">
|
||||
<title>Sheet.46</title>
|
||||
<path d="M0 414.75 L26.19 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="group48-125" transform="translate(396.436,-22.875)">
|
||||
<title>Terminal.48</title>
|
||||
<g id="shape49-126" transform="translate(-391.186,414.75) rotate(-90)">
|
||||
<title>Sheet.49</title>
|
||||
<path d="M0 414.75 L27 414.75 L27 409.08 L0 409.08 L0 414.75 ZM26.25 403.93 L23.44 399.37 L3.53 399.37 L0.75 403.93
|
||||
L26.25 403.93 ZM23.44 399.37 L23.44 391.19 L3.53 391.19 L3.53 399.37 L23.44 399.37 ZM26.25 407.7 L26.25
|
||||
403.93 L0.75 403.93 L0.75 407.7 L26.25 407.7 ZM24.83 407.7 A1223.48 394.162 90 0 1 2.17 407.7 L24.83
|
||||
407.7 Z" class="st8"/>
|
||||
</g>
|
||||
<g id="shape50-128" transform="translate(-395.768,392.25) rotate(-90)">
|
||||
<title>Sheet.50</title>
|
||||
<rect x="0" y="414.641" width="0.75" height="0.109091" class="st9"/>
|
||||
</g>
|
||||
<g id="shape51-130" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.51</title>
|
||||
<path d="M1.69 410.93 L2.63 410.93 L2.63 410.39 L1.69 410.39 L1.69 410.93 ZM2.81 410.93 L3.75 410.93 L3.75 410.39
|
||||
L2.81 410.39 L2.81 410.93 ZM3.94 410.93 L4.87 410.93 L4.87 410.39 L3.94 410.39 L3.94 410.93 ZM5.06 410.93
|
||||
L6 410.93 L6 410.39 L5.06 410.39 L5.06 410.93 ZM12.28 410.93 L13.22 410.93 L13.22 410.39 L12.28 410.39
|
||||
L12.28 410.93 ZM13.41 410.93 L14.34 410.93 L14.34 410.39 L13.41 410.39 L13.41 410.93 ZM14.53 410.93
|
||||
L15.47 410.93 L15.47 410.39 L14.53 410.39 L14.53 410.93 ZM15.66 410.93 L16.59 410.93 L16.59 410.39 L15.66
|
||||
410.39 L15.66 410.93 ZM0 412.02 L1.5 412.02 L1.5 411.48 L0 411.48 L0 412.02 ZM1.69 412.02 L2.63 412.02
|
||||
L2.63 411.48 L1.69 411.48 L1.69 412.02 ZM2.81 412.02 L3.75 412.02 L3.75 411.48 L2.81 411.48 L2.81 412.02
|
||||
ZM3.94 412.02 L4.87 412.02 L4.87 411.48 L3.94 411.48 L3.94 412.02 ZM5.06 412.02 L6 412.02 L6 411.48
|
||||
L5.06 411.48 L5.06 412.02 ZM6.19 412.02 L7.12 412.02 L7.12 411.48 L6.19 411.48 L6.19 412.02 ZM7.31 412.02
|
||||
L8.25 412.02 L8.25 411.48 L7.31 411.48 L7.31 412.02 ZM8.44 412.02 L9.37 412.02 L9.37 411.48 L8.44 411.48
|
||||
L8.44 412.02 ZM9.56 412.02 L10.5 412.02 L10.5 411.48 L9.56 411.48 L9.56 412.02 ZM10.69 412.02 L11.62
|
||||
412.02 L11.62 411.48 L10.69 411.48 L10.69 412.02 ZM11.81 412.02 L12.75 412.02 L12.75 411.48 L11.81 411.48
|
||||
L11.81 412.02 ZM12.94 412.02 L13.87 412.02 L13.87 411.48 L12.94 411.48 L12.94 412.02 ZM14.06 412.02
|
||||
L15 412.02 L15 411.48 L14.06 411.48 L14.06 412.02 ZM1.69 412.7 L2.63 412.7 L2.63 412.16 L1.69 412.16
|
||||
L1.69 412.7 ZM2.81 412.7 L3.75 412.7 L3.75 412.16 L2.81 412.16 L2.81 412.7 ZM3.94 412.7 L4.87 412.7
|
||||
L4.87 412.16 L3.94 412.16 L3.94 412.7 ZM5.06 412.7 L6 412.7 L6 412.16 L5.06 412.16 L5.06 412.7 ZM6.19
|
||||
412.7 L7.12 412.7 L7.12 412.16 L6.19 412.16 L6.19 412.7 ZM7.31 412.7 L8.25 412.7 L8.25 412.16 L7.31
|
||||
412.16 L7.31 412.7 ZM8.44 412.7 L9.37 412.7 L9.37 412.16 L8.44 412.16 L8.44 412.7 ZM9.56 412.7 L10.5
|
||||
412.7 L10.5 412.16 L9.56 412.16 L9.56 412.7 ZM10.69 412.7 L11.62 412.7 L11.62 412.16 L10.69 412.16 L10.69
|
||||
412.7 ZM11.81 412.7 L12.75 412.7 L12.75 412.16 L11.81 412.16 L11.81 412.7 ZM12.94 412.7 L13.87 412.7
|
||||
L13.87 412.16 L12.94 412.16 L12.94 412.7 ZM14.06 412.7 L15 412.7 L15 412.16 L14.06 412.16 L14.06 412.7
|
||||
ZM1.69 413.39 L2.63 413.39 L2.63 412.84 L1.69 412.84 L1.69 413.39 ZM2.81 413.39 L3.75 413.39 L3.75 412.84
|
||||
L2.81 412.84 L2.81 413.39 ZM3.94 413.39 L4.87 413.39 L4.87 412.84 L3.94 412.84 L3.94 413.39 ZM5.06 413.39
|
||||
L6 413.39 L6 412.84 L5.06 412.84 L5.06 413.39 ZM6.19 413.39 L7.12 413.39 L7.12 412.84 L6.19 412.84 L6.19
|
||||
413.39 ZM7.31 413.39 L8.25 413.39 L8.25 412.84 L7.31 412.84 L7.31 413.39 ZM8.44 413.39 L9.37 413.39
|
||||
L9.37 412.84 L8.44 412.84 L8.44 413.39 ZM9.56 413.39 L10.5 413.39 L10.5 412.84 L9.56 412.84 L9.56 413.39
|
||||
ZM10.69 413.39 L11.62 413.39 L11.62 412.84 L10.69 412.84 L10.69 413.39 ZM11.81 413.39 L12.75 413.39
|
||||
L12.75 412.84 L11.81 412.84 L11.81 413.39 ZM12.94 413.39 L13.87 413.39 L13.87 412.84 L12.94 412.84 L12.94
|
||||
413.39 ZM14.06 413.39 L15 413.39 L15 412.84 L14.06 412.84 L14.06 413.39 ZM1.69 414.07 L2.63 414.07 L2.63
|
||||
413.52 L1.69 413.52 L1.69 414.07 ZM2.81 414.07 L3.75 414.07 L3.75 413.52 L2.81 413.52 L2.81 414.07 ZM3.94
|
||||
414.07 L4.87 414.07 L4.87 413.52 L3.94 413.52 L3.94 414.07 ZM5.06 414.07 L6 414.07 L6 413.52 L5.06 413.52
|
||||
L5.06 414.07 ZM6.19 414.07 L7.12 414.07 L7.12 413.52 L6.19 413.52 L6.19 414.07 ZM7.31 414.07 L8.25 414.07
|
||||
L8.25 413.52 L7.31 413.52 L7.31 414.07 ZM8.44 414.07 L9.37 414.07 L9.37 413.52 L8.44 413.52 L8.44 414.07
|
||||
ZM9.56 414.07 L10.5 414.07 L10.5 413.52 L9.56 413.52 L9.56 414.07 ZM10.69 414.07 L11.62 414.07 L11.62
|
||||
413.52 L10.69 413.52 L10.69 414.07 ZM11.81 414.07 L12.75 414.07 L12.75 413.52 L11.81 413.52 L11.81 414.07
|
||||
ZM12.94 414.07 L13.87 414.07 L13.87 413.52 L12.94 413.52 L12.94 414.07 ZM3.94 414.75 L11.62 414.75 L11.62
|
||||
414.2 L3.94 414.2 L3.94 414.75 ZM21 414.75 L23.25 414.75 L23.25 414.2 L21 414.2 L21 414.75 ZM23.44 414.75
|
||||
L24.37 414.75 L24.37 414.2 L23.44 414.2 L23.44 414.75 ZM23.44 414.07 L24.37 414.07 L24.37 413.52 L23.44
|
||||
413.52 L23.44 414.07 ZM22.22 414.07 L23.16 414.07 L23.16 413.52 L22.22 413.52 L22.22 414.07 ZM21 414.07
|
||||
L21.94 414.07 L21.94 413.52 L21 413.52 L21 414.07 ZM21 413.39 L21.94 413.39 L21.94 412.84 L21 412.84
|
||||
L21 413.39 ZM21 412.7 L21.94 412.7 L21.94 412.16 L21 412.16 L21 412.7 ZM22.22 412.7 L23.16 412.7 L23.16
|
||||
412.16 L22.22 412.16 L22.22 412.7 ZM23.44 412.7 L24.37 412.7 L24.37 412.16 L23.44 412.16 L23.44 412.7
|
||||
ZM23.44 413.39 L24.37 413.39 L24.37 412.84 L23.44 412.84 L23.44 413.39 ZM22.22 413.39 L23.16 413.39
|
||||
L23.16 412.84 L22.22 412.84 L22.22 413.39 Z" class="st10"/>
|
||||
</g>
|
||||
<g id="shape52-132" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.52</title>
|
||||
<path d="M0 410.93 L0.94 410.93 L0.94 410.39 L0 410.39 L0 410.93 ZM0 412.7 L1.5 412.7 L1.5 412.16 L0 412.16 L0 412.7
|
||||
ZM0 413.39 L1.5 413.39 L1.5 412.84 L0 412.84 L0 413.39 ZM0 414.07 L1.5 414.07 L1.5 413.52 L0 413.52
|
||||
L0 414.07 ZM0 414.75 L1.5 414.75 L1.5 414.2 L0 414.2 L0 414.75 ZM1.69 414.75 L2.63 414.75 L2.63 414.2
|
||||
L1.69 414.2 L1.69 414.75 ZM2.81 414.75 L3.75 414.75 L3.75 414.2 L2.81 414.2 L2.81 414.75 ZM11.81 414.75
|
||||
L12.75 414.75 L12.75 414.2 L11.81 414.2 L11.81 414.75 ZM12.94 414.75 L13.87 414.75 L13.87 414.2 L12.94
|
||||
414.2 L12.94 414.75 ZM14.06 414.75 L15 414.75 L15 414.2 L14.06 414.2 L14.06 414.75 ZM15.19 414.75 L16.69
|
||||
414.75 L16.69 414.2 L15.19 414.2 L15.19 414.75 ZM17.25 414.75 L18.19 414.75 L18.19 414.2 L17.25 414.2
|
||||
L17.25 414.75 ZM18.37 414.75 L19.31 414.75 L19.31 414.2 L18.37 414.2 L18.37 414.75 ZM19.5 414.75 L20.44
|
||||
414.75 L20.44 414.2 L19.5 414.2 L19.5 414.75 ZM24.66 414.75 L25.59 414.75 L25.59 413.55 L24.66 413.55
|
||||
L24.66 414.75 ZM24.66 413.44 L25.59 413.44 L25.59 412.16 L24.66 412.16 L24.66 413.44 ZM24.66 412.02
|
||||
L25.59 412.02 L25.59 411.48 L24.66 411.48 L24.66 412.02 ZM23.44 412.02 L24.37 412.02 L24.37 411.48 L23.44
|
||||
411.48 L23.44 412.02 ZM22.22 412.02 L23.16 412.02 L23.16 411.48 L22.22 411.48 L22.22 412.02 ZM21 412.02
|
||||
L21.94 412.02 L21.94 411.48 L21 411.48 L21 412.02 ZM19.5 412.02 L20.44 412.02 L20.44 411.48 L19.5 411.48
|
||||
L19.5 412.02 ZM19.5 412.7 L20.44 412.7 L20.44 412.16 L19.5 412.16 L19.5 412.7 ZM18.37 414.07 L19.31
|
||||
414.07 L19.31 413.52 L18.37 413.52 L18.37 414.07 ZM14.06 414.06 L16.69 414.06 L16.69 413.51 L14.06 413.51
|
||||
L14.06 414.06 ZM15.19 413.37 L16.69 413.37 L16.69 412.17 L15.19 412.17 L15.19 413.37 ZM17.25 412.7 L18.19
|
||||
412.7 L18.19 412.16 L17.25 412.16 L17.25 412.7 ZM18.37 412.7 L19.31 412.7 L19.31 412.16 L18.37 412.16
|
||||
L18.37 412.7 ZM18.37 412.02 L19.31 412.02 L19.31 411.48 L18.37 411.48 L18.37 412.02 ZM15.19 412.02 L16.69
|
||||
412.02 L16.69 411.48 L15.19 411.48 L15.19 412.02 ZM24.19 410.6 L24.94 410.6 L24.94 410.5 L24.19 410.5
|
||||
L24.19 410.6 ZM23.06 410.6 L23.81 410.6 L23.81 410.5 L23.06 410.5 L23.06 410.6 ZM19.5 410.93 L20.44
|
||||
410.93 L20.44 410.39 L19.5 410.39 L19.5 410.93 ZM18.37 410.93 L19.31 410.93 L19.31 410.39 L18.37 410.39
|
||||
L18.37 410.93 ZM17.25 410.93 L18.19 410.93 L18.19 410.39 L17.25 410.39 L17.25 410.93 ZM10.31 410.93
|
||||
L11.25 410.93 L11.25 410.39 L10.31 410.39 L10.31 410.93 ZM9.19 410.93 L10.12 410.93 L10.12 410.39 L9.19
|
||||
410.39 L9.19 410.93 ZM8.06 410.93 L9 410.93 L9 410.39 L8.06 410.39 L8.06 410.93 ZM6.94 410.93 L7.87
|
||||
410.93 L7.87 410.39 L6.94 410.39 L6.94 410.93 ZM17.25 412.02 L18.19 412.02 L18.19 411.48 L17.25 411.48
|
||||
L17.25 412.02 Z" class="st11"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="shape53-134" transform="translate(360.293,-36.375)">
|
||||
<title>Sheet.53</title>
|
||||
<path d="M0 414.75 L26.27 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="group22-139" transform="translate(396.375,-310.875)">
|
||||
<title>Terminal.22</title>
|
||||
<g id="shape23-140" transform="translate(-391.186,414.75) rotate(-90)">
|
||||
<title>Sheet.23</title>
|
||||
<path d="M0 414.75 L27 414.75 L27 409.08 L0 409.08 L0 414.75 ZM26.25 403.93 L23.44 399.37 L3.53 399.37 L0.75 403.93
|
||||
L26.25 403.93 ZM23.44 399.37 L23.44 391.19 L3.53 391.19 L3.53 399.37 L23.44 399.37 ZM26.25 407.7 L26.25
|
||||
403.93 L0.75 403.93 L0.75 407.7 L26.25 407.7 ZM24.83 407.7 A1223.48 394.162 90 0 1 2.17 407.7 L24.83
|
||||
407.7 Z" class="st8"/>
|
||||
</g>
|
||||
<g id="shape24-142" transform="translate(-395.768,392.25) rotate(-90)">
|
||||
<title>Sheet.24</title>
|
||||
<rect x="0" y="414.641" width="0.75" height="0.109091" class="st9"/>
|
||||
</g>
|
||||
<g id="shape25-144" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.25</title>
|
||||
<path d="M1.69 410.93 L2.63 410.93 L2.63 410.39 L1.69 410.39 L1.69 410.93 ZM2.81 410.93 L3.75 410.93 L3.75 410.39
|
||||
L2.81 410.39 L2.81 410.93 ZM3.94 410.93 L4.87 410.93 L4.87 410.39 L3.94 410.39 L3.94 410.93 ZM5.06 410.93
|
||||
L6 410.93 L6 410.39 L5.06 410.39 L5.06 410.93 ZM12.28 410.93 L13.22 410.93 L13.22 410.39 L12.28 410.39
|
||||
L12.28 410.93 ZM13.41 410.93 L14.34 410.93 L14.34 410.39 L13.41 410.39 L13.41 410.93 ZM14.53 410.93
|
||||
L15.47 410.93 L15.47 410.39 L14.53 410.39 L14.53 410.93 ZM15.66 410.93 L16.59 410.93 L16.59 410.39 L15.66
|
||||
410.39 L15.66 410.93 ZM0 412.02 L1.5 412.02 L1.5 411.48 L0 411.48 L0 412.02 ZM1.69 412.02 L2.63 412.02
|
||||
L2.63 411.48 L1.69 411.48 L1.69 412.02 ZM2.81 412.02 L3.75 412.02 L3.75 411.48 L2.81 411.48 L2.81 412.02
|
||||
ZM3.94 412.02 L4.87 412.02 L4.87 411.48 L3.94 411.48 L3.94 412.02 ZM5.06 412.02 L6 412.02 L6 411.48
|
||||
L5.06 411.48 L5.06 412.02 ZM6.19 412.02 L7.12 412.02 L7.12 411.48 L6.19 411.48 L6.19 412.02 ZM7.31 412.02
|
||||
L8.25 412.02 L8.25 411.48 L7.31 411.48 L7.31 412.02 ZM8.44 412.02 L9.37 412.02 L9.37 411.48 L8.44 411.48
|
||||
L8.44 412.02 ZM9.56 412.02 L10.5 412.02 L10.5 411.48 L9.56 411.48 L9.56 412.02 ZM10.69 412.02 L11.62
|
||||
412.02 L11.62 411.48 L10.69 411.48 L10.69 412.02 ZM11.81 412.02 L12.75 412.02 L12.75 411.48 L11.81 411.48
|
||||
L11.81 412.02 ZM12.94 412.02 L13.87 412.02 L13.87 411.48 L12.94 411.48 L12.94 412.02 ZM14.06 412.02
|
||||
L15 412.02 L15 411.48 L14.06 411.48 L14.06 412.02 ZM1.69 412.7 L2.63 412.7 L2.63 412.16 L1.69 412.16
|
||||
L1.69 412.7 ZM2.81 412.7 L3.75 412.7 L3.75 412.16 L2.81 412.16 L2.81 412.7 ZM3.94 412.7 L4.87 412.7
|
||||
L4.87 412.16 L3.94 412.16 L3.94 412.7 ZM5.06 412.7 L6 412.7 L6 412.16 L5.06 412.16 L5.06 412.7 ZM6.19
|
||||
412.7 L7.12 412.7 L7.12 412.16 L6.19 412.16 L6.19 412.7 ZM7.31 412.7 L8.25 412.7 L8.25 412.16 L7.31
|
||||
412.16 L7.31 412.7 ZM8.44 412.7 L9.37 412.7 L9.37 412.16 L8.44 412.16 L8.44 412.7 ZM9.56 412.7 L10.5
|
||||
412.7 L10.5 412.16 L9.56 412.16 L9.56 412.7 ZM10.69 412.7 L11.62 412.7 L11.62 412.16 L10.69 412.16 L10.69
|
||||
412.7 ZM11.81 412.7 L12.75 412.7 L12.75 412.16 L11.81 412.16 L11.81 412.7 ZM12.94 412.7 L13.87 412.7
|
||||
L13.87 412.16 L12.94 412.16 L12.94 412.7 ZM14.06 412.7 L15 412.7 L15 412.16 L14.06 412.16 L14.06 412.7
|
||||
ZM1.69 413.39 L2.63 413.39 L2.63 412.84 L1.69 412.84 L1.69 413.39 ZM2.81 413.39 L3.75 413.39 L3.75 412.84
|
||||
L2.81 412.84 L2.81 413.39 ZM3.94 413.39 L4.87 413.39 L4.87 412.84 L3.94 412.84 L3.94 413.39 ZM5.06 413.39
|
||||
L6 413.39 L6 412.84 L5.06 412.84 L5.06 413.39 ZM6.19 413.39 L7.12 413.39 L7.12 412.84 L6.19 412.84 L6.19
|
||||
413.39 ZM7.31 413.39 L8.25 413.39 L8.25 412.84 L7.31 412.84 L7.31 413.39 ZM8.44 413.39 L9.37 413.39
|
||||
L9.37 412.84 L8.44 412.84 L8.44 413.39 ZM9.56 413.39 L10.5 413.39 L10.5 412.84 L9.56 412.84 L9.56 413.39
|
||||
ZM10.69 413.39 L11.62 413.39 L11.62 412.84 L10.69 412.84 L10.69 413.39 ZM11.81 413.39 L12.75 413.39
|
||||
L12.75 412.84 L11.81 412.84 L11.81 413.39 ZM12.94 413.39 L13.87 413.39 L13.87 412.84 L12.94 412.84 L12.94
|
||||
413.39 ZM14.06 413.39 L15 413.39 L15 412.84 L14.06 412.84 L14.06 413.39 ZM1.69 414.07 L2.63 414.07 L2.63
|
||||
413.52 L1.69 413.52 L1.69 414.07 ZM2.81 414.07 L3.75 414.07 L3.75 413.52 L2.81 413.52 L2.81 414.07 ZM3.94
|
||||
414.07 L4.87 414.07 L4.87 413.52 L3.94 413.52 L3.94 414.07 ZM5.06 414.07 L6 414.07 L6 413.52 L5.06 413.52
|
||||
L5.06 414.07 ZM6.19 414.07 L7.12 414.07 L7.12 413.52 L6.19 413.52 L6.19 414.07 ZM7.31 414.07 L8.25 414.07
|
||||
L8.25 413.52 L7.31 413.52 L7.31 414.07 ZM8.44 414.07 L9.37 414.07 L9.37 413.52 L8.44 413.52 L8.44 414.07
|
||||
ZM9.56 414.07 L10.5 414.07 L10.5 413.52 L9.56 413.52 L9.56 414.07 ZM10.69 414.07 L11.62 414.07 L11.62
|
||||
413.52 L10.69 413.52 L10.69 414.07 ZM11.81 414.07 L12.75 414.07 L12.75 413.52 L11.81 413.52 L11.81 414.07
|
||||
ZM12.94 414.07 L13.87 414.07 L13.87 413.52 L12.94 413.52 L12.94 414.07 ZM3.94 414.75 L11.62 414.75 L11.62
|
||||
414.2 L3.94 414.2 L3.94 414.75 ZM21 414.75 L23.25 414.75 L23.25 414.2 L21 414.2 L21 414.75 ZM23.44 414.75
|
||||
L24.37 414.75 L24.37 414.2 L23.44 414.2 L23.44 414.75 ZM23.44 414.07 L24.37 414.07 L24.37 413.52 L23.44
|
||||
413.52 L23.44 414.07 ZM22.22 414.07 L23.16 414.07 L23.16 413.52 L22.22 413.52 L22.22 414.07 ZM21 414.07
|
||||
L21.94 414.07 L21.94 413.52 L21 413.52 L21 414.07 ZM21 413.39 L21.94 413.39 L21.94 412.84 L21 412.84
|
||||
L21 413.39 ZM21 412.7 L21.94 412.7 L21.94 412.16 L21 412.16 L21 412.7 ZM22.22 412.7 L23.16 412.7 L23.16
|
||||
412.16 L22.22 412.16 L22.22 412.7 ZM23.44 412.7 L24.37 412.7 L24.37 412.16 L23.44 412.16 L23.44 412.7
|
||||
ZM23.44 413.39 L24.37 413.39 L24.37 412.84 L23.44 412.84 L23.44 413.39 ZM22.22 413.39 L23.16 413.39
|
||||
L23.16 412.84 L22.22 412.84 L22.22 413.39 Z" class="st10"/>
|
||||
</g>
|
||||
<g id="shape26-146" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.26</title>
|
||||
<path d="M0 410.93 L0.94 410.93 L0.94 410.39 L0 410.39 L0 410.93 ZM0 412.7 L1.5 412.7 L1.5 412.16 L0 412.16 L0 412.7
|
||||
ZM0 413.39 L1.5 413.39 L1.5 412.84 L0 412.84 L0 413.39 ZM0 414.07 L1.5 414.07 L1.5 413.52 L0 413.52
|
||||
L0 414.07 ZM0 414.75 L1.5 414.75 L1.5 414.2 L0 414.2 L0 414.75 ZM1.69 414.75 L2.63 414.75 L2.63 414.2
|
||||
L1.69 414.2 L1.69 414.75 ZM2.81 414.75 L3.75 414.75 L3.75 414.2 L2.81 414.2 L2.81 414.75 ZM11.81 414.75
|
||||
L12.75 414.75 L12.75 414.2 L11.81 414.2 L11.81 414.75 ZM12.94 414.75 L13.87 414.75 L13.87 414.2 L12.94
|
||||
414.2 L12.94 414.75 ZM14.06 414.75 L15 414.75 L15 414.2 L14.06 414.2 L14.06 414.75 ZM15.19 414.75 L16.69
|
||||
414.75 L16.69 414.2 L15.19 414.2 L15.19 414.75 ZM17.25 414.75 L18.19 414.75 L18.19 414.2 L17.25 414.2
|
||||
L17.25 414.75 ZM18.37 414.75 L19.31 414.75 L19.31 414.2 L18.37 414.2 L18.37 414.75 ZM19.5 414.75 L20.44
|
||||
414.75 L20.44 414.2 L19.5 414.2 L19.5 414.75 ZM24.66 414.75 L25.59 414.75 L25.59 413.55 L24.66 413.55
|
||||
L24.66 414.75 ZM24.66 413.44 L25.59 413.44 L25.59 412.16 L24.66 412.16 L24.66 413.44 ZM24.66 412.02
|
||||
L25.59 412.02 L25.59 411.48 L24.66 411.48 L24.66 412.02 ZM23.44 412.02 L24.37 412.02 L24.37 411.48 L23.44
|
||||
411.48 L23.44 412.02 ZM22.22 412.02 L23.16 412.02 L23.16 411.48 L22.22 411.48 L22.22 412.02 ZM21 412.02
|
||||
L21.94 412.02 L21.94 411.48 L21 411.48 L21 412.02 ZM19.5 412.02 L20.44 412.02 L20.44 411.48 L19.5 411.48
|
||||
L19.5 412.02 ZM19.5 412.7 L20.44 412.7 L20.44 412.16 L19.5 412.16 L19.5 412.7 ZM18.37 414.07 L19.31
|
||||
414.07 L19.31 413.52 L18.37 413.52 L18.37 414.07 ZM14.06 414.06 L16.69 414.06 L16.69 413.51 L14.06 413.51
|
||||
L14.06 414.06 ZM15.19 413.37 L16.69 413.37 L16.69 412.17 L15.19 412.17 L15.19 413.37 ZM17.25 412.7 L18.19
|
||||
412.7 L18.19 412.16 L17.25 412.16 L17.25 412.7 ZM18.37 412.7 L19.31 412.7 L19.31 412.16 L18.37 412.16
|
||||
L18.37 412.7 ZM18.37 412.02 L19.31 412.02 L19.31 411.48 L18.37 411.48 L18.37 412.02 ZM15.19 412.02 L16.69
|
||||
412.02 L16.69 411.48 L15.19 411.48 L15.19 412.02 ZM24.19 410.6 L24.94 410.6 L24.94 410.5 L24.19 410.5
|
||||
L24.19 410.6 ZM23.06 410.6 L23.81 410.6 L23.81 410.5 L23.06 410.5 L23.06 410.6 ZM19.5 410.93 L20.44
|
||||
410.93 L20.44 410.39 L19.5 410.39 L19.5 410.93 ZM18.37 410.93 L19.31 410.93 L19.31 410.39 L18.37 410.39
|
||||
L18.37 410.93 ZM17.25 410.93 L18.19 410.93 L18.19 410.39 L17.25 410.39 L17.25 410.93 ZM10.31 410.93
|
||||
L11.25 410.93 L11.25 410.39 L10.31 410.39 L10.31 410.93 ZM9.19 410.93 L10.12 410.93 L10.12 410.39 L9.19
|
||||
410.39 L9.19 410.93 ZM8.06 410.93 L9 410.93 L9 410.39 L8.06 410.39 L8.06 410.93 ZM6.94 410.93 L7.87
|
||||
410.93 L7.87 410.39 L6.94 410.39 L6.94 410.93 ZM17.25 412.02 L18.19 412.02 L18.19 411.48 L17.25 411.48
|
||||
L17.25 412.02 Z" class="st11"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="shape28-148" transform="translate(360.293,-324.375)">
|
||||
<title>Sheet.28</title>
|
||||
<path d="M0 414.75 L26.27 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="group29-153" transform="translate(396.375,-256.875)">
|
||||
<title>Terminal.29</title>
|
||||
<g id="shape30-154" transform="translate(-391.186,414.75) rotate(-90)">
|
||||
<title>Sheet.30</title>
|
||||
<path d="M0 414.75 L27 414.75 L27 409.08 L0 409.08 L0 414.75 ZM26.25 403.93 L23.44 399.37 L3.53 399.37 L0.75 403.93
|
||||
L26.25 403.93 ZM23.44 399.37 L23.44 391.19 L3.53 391.19 L3.53 399.37 L23.44 399.37 ZM26.25 407.7 L26.25
|
||||
403.93 L0.75 403.93 L0.75 407.7 L26.25 407.7 ZM24.83 407.7 A1223.48 394.162 90 0 1 2.17 407.7 L24.83
|
||||
407.7 Z" class="st8"/>
|
||||
</g>
|
||||
<g id="shape31-156" transform="translate(-395.768,392.25) rotate(-90)">
|
||||
<title>Sheet.31</title>
|
||||
<rect x="0" y="414.641" width="0.75" height="0.109091" class="st9"/>
|
||||
</g>
|
||||
<g id="shape32-158" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.32</title>
|
||||
<path d="M1.69 410.93 L2.63 410.93 L2.63 410.39 L1.69 410.39 L1.69 410.93 ZM2.81 410.93 L3.75 410.93 L3.75 410.39
|
||||
L2.81 410.39 L2.81 410.93 ZM3.94 410.93 L4.87 410.93 L4.87 410.39 L3.94 410.39 L3.94 410.93 ZM5.06 410.93
|
||||
L6 410.93 L6 410.39 L5.06 410.39 L5.06 410.93 ZM12.28 410.93 L13.22 410.93 L13.22 410.39 L12.28 410.39
|
||||
L12.28 410.93 ZM13.41 410.93 L14.34 410.93 L14.34 410.39 L13.41 410.39 L13.41 410.93 ZM14.53 410.93
|
||||
L15.47 410.93 L15.47 410.39 L14.53 410.39 L14.53 410.93 ZM15.66 410.93 L16.59 410.93 L16.59 410.39 L15.66
|
||||
410.39 L15.66 410.93 ZM0 412.02 L1.5 412.02 L1.5 411.48 L0 411.48 L0 412.02 ZM1.69 412.02 L2.63 412.02
|
||||
L2.63 411.48 L1.69 411.48 L1.69 412.02 ZM2.81 412.02 L3.75 412.02 L3.75 411.48 L2.81 411.48 L2.81 412.02
|
||||
ZM3.94 412.02 L4.87 412.02 L4.87 411.48 L3.94 411.48 L3.94 412.02 ZM5.06 412.02 L6 412.02 L6 411.48
|
||||
L5.06 411.48 L5.06 412.02 ZM6.19 412.02 L7.12 412.02 L7.12 411.48 L6.19 411.48 L6.19 412.02 ZM7.31 412.02
|
||||
L8.25 412.02 L8.25 411.48 L7.31 411.48 L7.31 412.02 ZM8.44 412.02 L9.37 412.02 L9.37 411.48 L8.44 411.48
|
||||
L8.44 412.02 ZM9.56 412.02 L10.5 412.02 L10.5 411.48 L9.56 411.48 L9.56 412.02 ZM10.69 412.02 L11.62
|
||||
412.02 L11.62 411.48 L10.69 411.48 L10.69 412.02 ZM11.81 412.02 L12.75 412.02 L12.75 411.48 L11.81 411.48
|
||||
L11.81 412.02 ZM12.94 412.02 L13.87 412.02 L13.87 411.48 L12.94 411.48 L12.94 412.02 ZM14.06 412.02
|
||||
L15 412.02 L15 411.48 L14.06 411.48 L14.06 412.02 ZM1.69 412.7 L2.63 412.7 L2.63 412.16 L1.69 412.16
|
||||
L1.69 412.7 ZM2.81 412.7 L3.75 412.7 L3.75 412.16 L2.81 412.16 L2.81 412.7 ZM3.94 412.7 L4.87 412.7
|
||||
L4.87 412.16 L3.94 412.16 L3.94 412.7 ZM5.06 412.7 L6 412.7 L6 412.16 L5.06 412.16 L5.06 412.7 ZM6.19
|
||||
412.7 L7.12 412.7 L7.12 412.16 L6.19 412.16 L6.19 412.7 ZM7.31 412.7 L8.25 412.7 L8.25 412.16 L7.31
|
||||
412.16 L7.31 412.7 ZM8.44 412.7 L9.37 412.7 L9.37 412.16 L8.44 412.16 L8.44 412.7 ZM9.56 412.7 L10.5
|
||||
412.7 L10.5 412.16 L9.56 412.16 L9.56 412.7 ZM10.69 412.7 L11.62 412.7 L11.62 412.16 L10.69 412.16 L10.69
|
||||
412.7 ZM11.81 412.7 L12.75 412.7 L12.75 412.16 L11.81 412.16 L11.81 412.7 ZM12.94 412.7 L13.87 412.7
|
||||
L13.87 412.16 L12.94 412.16 L12.94 412.7 ZM14.06 412.7 L15 412.7 L15 412.16 L14.06 412.16 L14.06 412.7
|
||||
ZM1.69 413.39 L2.63 413.39 L2.63 412.84 L1.69 412.84 L1.69 413.39 ZM2.81 413.39 L3.75 413.39 L3.75 412.84
|
||||
L2.81 412.84 L2.81 413.39 ZM3.94 413.39 L4.87 413.39 L4.87 412.84 L3.94 412.84 L3.94 413.39 ZM5.06 413.39
|
||||
L6 413.39 L6 412.84 L5.06 412.84 L5.06 413.39 ZM6.19 413.39 L7.12 413.39 L7.12 412.84 L6.19 412.84 L6.19
|
||||
413.39 ZM7.31 413.39 L8.25 413.39 L8.25 412.84 L7.31 412.84 L7.31 413.39 ZM8.44 413.39 L9.37 413.39
|
||||
L9.37 412.84 L8.44 412.84 L8.44 413.39 ZM9.56 413.39 L10.5 413.39 L10.5 412.84 L9.56 412.84 L9.56 413.39
|
||||
ZM10.69 413.39 L11.62 413.39 L11.62 412.84 L10.69 412.84 L10.69 413.39 ZM11.81 413.39 L12.75 413.39
|
||||
L12.75 412.84 L11.81 412.84 L11.81 413.39 ZM12.94 413.39 L13.87 413.39 L13.87 412.84 L12.94 412.84 L12.94
|
||||
413.39 ZM14.06 413.39 L15 413.39 L15 412.84 L14.06 412.84 L14.06 413.39 ZM1.69 414.07 L2.63 414.07 L2.63
|
||||
413.52 L1.69 413.52 L1.69 414.07 ZM2.81 414.07 L3.75 414.07 L3.75 413.52 L2.81 413.52 L2.81 414.07 ZM3.94
|
||||
414.07 L4.87 414.07 L4.87 413.52 L3.94 413.52 L3.94 414.07 ZM5.06 414.07 L6 414.07 L6 413.52 L5.06 413.52
|
||||
L5.06 414.07 ZM6.19 414.07 L7.12 414.07 L7.12 413.52 L6.19 413.52 L6.19 414.07 ZM7.31 414.07 L8.25 414.07
|
||||
L8.25 413.52 L7.31 413.52 L7.31 414.07 ZM8.44 414.07 L9.37 414.07 L9.37 413.52 L8.44 413.52 L8.44 414.07
|
||||
ZM9.56 414.07 L10.5 414.07 L10.5 413.52 L9.56 413.52 L9.56 414.07 ZM10.69 414.07 L11.62 414.07 L11.62
|
||||
413.52 L10.69 413.52 L10.69 414.07 ZM11.81 414.07 L12.75 414.07 L12.75 413.52 L11.81 413.52 L11.81 414.07
|
||||
ZM12.94 414.07 L13.87 414.07 L13.87 413.52 L12.94 413.52 L12.94 414.07 ZM3.94 414.75 L11.62 414.75 L11.62
|
||||
414.2 L3.94 414.2 L3.94 414.75 ZM21 414.75 L23.25 414.75 L23.25 414.2 L21 414.2 L21 414.75 ZM23.44 414.75
|
||||
L24.37 414.75 L24.37 414.2 L23.44 414.2 L23.44 414.75 ZM23.44 414.07 L24.37 414.07 L24.37 413.52 L23.44
|
||||
413.52 L23.44 414.07 ZM22.22 414.07 L23.16 414.07 L23.16 413.52 L22.22 413.52 L22.22 414.07 ZM21 414.07
|
||||
L21.94 414.07 L21.94 413.52 L21 413.52 L21 414.07 ZM21 413.39 L21.94 413.39 L21.94 412.84 L21 412.84
|
||||
L21 413.39 ZM21 412.7 L21.94 412.7 L21.94 412.16 L21 412.16 L21 412.7 ZM22.22 412.7 L23.16 412.7 L23.16
|
||||
412.16 L22.22 412.16 L22.22 412.7 ZM23.44 412.7 L24.37 412.7 L24.37 412.16 L23.44 412.16 L23.44 412.7
|
||||
ZM23.44 413.39 L24.37 413.39 L24.37 412.84 L23.44 412.84 L23.44 413.39 ZM22.22 413.39 L23.16 413.39
|
||||
L23.16 412.84 L22.22 412.84 L22.22 413.39 Z" class="st10"/>
|
||||
</g>
|
||||
<g id="shape33-160" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.33</title>
|
||||
<path d="M0 410.93 L0.94 410.93 L0.94 410.39 L0 410.39 L0 410.93 ZM0 412.7 L1.5 412.7 L1.5 412.16 L0 412.16 L0 412.7
|
||||
ZM0 413.39 L1.5 413.39 L1.5 412.84 L0 412.84 L0 413.39 ZM0 414.07 L1.5 414.07 L1.5 413.52 L0 413.52
|
||||
L0 414.07 ZM0 414.75 L1.5 414.75 L1.5 414.2 L0 414.2 L0 414.75 ZM1.69 414.75 L2.63 414.75 L2.63 414.2
|
||||
L1.69 414.2 L1.69 414.75 ZM2.81 414.75 L3.75 414.75 L3.75 414.2 L2.81 414.2 L2.81 414.75 ZM11.81 414.75
|
||||
L12.75 414.75 L12.75 414.2 L11.81 414.2 L11.81 414.75 ZM12.94 414.75 L13.87 414.75 L13.87 414.2 L12.94
|
||||
414.2 L12.94 414.75 ZM14.06 414.75 L15 414.75 L15 414.2 L14.06 414.2 L14.06 414.75 ZM15.19 414.75 L16.69
|
||||
414.75 L16.69 414.2 L15.19 414.2 L15.19 414.75 ZM17.25 414.75 L18.19 414.75 L18.19 414.2 L17.25 414.2
|
||||
L17.25 414.75 ZM18.37 414.75 L19.31 414.75 L19.31 414.2 L18.37 414.2 L18.37 414.75 ZM19.5 414.75 L20.44
|
||||
414.75 L20.44 414.2 L19.5 414.2 L19.5 414.75 ZM24.66 414.75 L25.59 414.75 L25.59 413.55 L24.66 413.55
|
||||
L24.66 414.75 ZM24.66 413.44 L25.59 413.44 L25.59 412.16 L24.66 412.16 L24.66 413.44 ZM24.66 412.02
|
||||
L25.59 412.02 L25.59 411.48 L24.66 411.48 L24.66 412.02 ZM23.44 412.02 L24.37 412.02 L24.37 411.48 L23.44
|
||||
411.48 L23.44 412.02 ZM22.22 412.02 L23.16 412.02 L23.16 411.48 L22.22 411.48 L22.22 412.02 ZM21 412.02
|
||||
L21.94 412.02 L21.94 411.48 L21 411.48 L21 412.02 ZM19.5 412.02 L20.44 412.02 L20.44 411.48 L19.5 411.48
|
||||
L19.5 412.02 ZM19.5 412.7 L20.44 412.7 L20.44 412.16 L19.5 412.16 L19.5 412.7 ZM18.37 414.07 L19.31
|
||||
414.07 L19.31 413.52 L18.37 413.52 L18.37 414.07 ZM14.06 414.06 L16.69 414.06 L16.69 413.51 L14.06 413.51
|
||||
L14.06 414.06 ZM15.19 413.37 L16.69 413.37 L16.69 412.17 L15.19 412.17 L15.19 413.37 ZM17.25 412.7 L18.19
|
||||
412.7 L18.19 412.16 L17.25 412.16 L17.25 412.7 ZM18.37 412.7 L19.31 412.7 L19.31 412.16 L18.37 412.16
|
||||
L18.37 412.7 ZM18.37 412.02 L19.31 412.02 L19.31 411.48 L18.37 411.48 L18.37 412.02 ZM15.19 412.02 L16.69
|
||||
412.02 L16.69 411.48 L15.19 411.48 L15.19 412.02 ZM24.19 410.6 L24.94 410.6 L24.94 410.5 L24.19 410.5
|
||||
L24.19 410.6 ZM23.06 410.6 L23.81 410.6 L23.81 410.5 L23.06 410.5 L23.06 410.6 ZM19.5 410.93 L20.44
|
||||
410.93 L20.44 410.39 L19.5 410.39 L19.5 410.93 ZM18.37 410.93 L19.31 410.93 L19.31 410.39 L18.37 410.39
|
||||
L18.37 410.93 ZM17.25 410.93 L18.19 410.93 L18.19 410.39 L17.25 410.39 L17.25 410.93 ZM10.31 410.93
|
||||
L11.25 410.93 L11.25 410.39 L10.31 410.39 L10.31 410.93 ZM9.19 410.93 L10.12 410.93 L10.12 410.39 L9.19
|
||||
410.39 L9.19 410.93 ZM8.06 410.93 L9 410.93 L9 410.39 L8.06 410.39 L8.06 410.93 ZM6.94 410.93 L7.87
|
||||
410.93 L7.87 410.39 L6.94 410.39 L6.94 410.93 ZM17.25 412.02 L18.19 412.02 L18.19 411.48 L17.25 411.48
|
||||
L17.25 412.02 Z" class="st11"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="shape35-162" transform="translate(359.23,-270.375)">
|
||||
<title>Sheet.35</title>
|
||||
<path d="M0 414.75 L27.34 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape55-167" transform="translate(360.375,-324.375)">
|
||||
<title>Sheet.55</title>
|
||||
<desc>RS-232</desc>
|
||||
<rect x="0" y="405.75" width="27" height="9" class="st12"/>
|
||||
<text x="4.91" y="412.05" class="st14">RS-232</text> </g>
|
||||
<g id="shape63-170" transform="translate(359.311,-270.375)">
|
||||
<title>Sheet.63</title>
|
||||
<desc>RS-232</desc>
|
||||
<rect x="0" y="405.75" width="27" height="9" class="st12"/>
|
||||
<text x="4.91" y="412.05" class="st14">RS-232</text> </g>
|
||||
<g id="shape64-173" transform="translate(360.375,-108.375)">
|
||||
<title>Sheet.64</title>
|
||||
<desc>VGA</desc>
|
||||
<rect x="0" y="405.75" width="27" height="9" class="st12"/>
|
||||
<text x="8" y="412.05" class="st14">VGA</text> </g>
|
||||
<g id="shape65-176" transform="translate(360.375,-72.375)">
|
||||
<title>Sheet.65</title>
|
||||
<desc>VGA</desc>
|
||||
<rect x="0" y="405.75" width="27" height="9" class="st12"/>
|
||||
<text x="8" y="412.05" class="st14">VGA</text> </g>
|
||||
<g id="shape66-179" transform="translate(360.375,-36.375)">
|
||||
<title>Sheet.66</title>
|
||||
<desc>NTSC</desc>
|
||||
<rect x="0" y="405.75" width="27" height="9" class="st12"/>
|
||||
<text x="7.03" y="412.05" class="st14">NTSC</text> </g>
|
||||
<g id="shape67-182" transform="translate(108.375,-297.375)">
|
||||
<title>Sheet.67</title>
|
||||
<desc>UART</desc>
|
||||
<rect x="0" y="396.75" width="54" height="18" class="st1"/>
|
||||
<text x="15.42" y="408.75" class="st2">UART</text> </g>
|
||||
<g id="shape68-185" transform="translate(108.375,-279.375)">
|
||||
<title>Sheet.68</title>
|
||||
<desc>ASCI</desc>
|
||||
<rect x="0" y="396.75" width="54" height="18" class="st1"/>
|
||||
<text x="17.63" y="408.75" class="st2">ASCI</text> </g>
|
||||
<g id="shape69-188" transform="translate(108.375,-261.375)">
|
||||
<title>Sheet.69</title>
|
||||
<desc>VDU</desc>
|
||||
<rect x="0" y="396.75" width="54" height="18" class="st1"/>
|
||||
<text x="17.63" y="408.75" class="st2">VDU</text> </g>
|
||||
<g id="shape74-191" transform="translate(189.375,-81.375)">
|
||||
<title>Sheet.74</title>
|
||||
<desc>SY6545</desc>
|
||||
<rect x="0" y="396.75" width="54" height="18" class="st1"/>
|
||||
<text x="11.9" y="408.75" class="st2">SY6545</text> </g>
|
||||
<g id="shape75-194" transform="translate(189.375,-63.375)">
|
||||
<title>Sheet.75</title>
|
||||
<desc>MC8563</desc>
|
||||
<rect x="0" y="396.75" width="54" height="18" class="st1"/>
|
||||
<text x="9.85" y="408.75" class="st2">MC8563</text> </g>
|
||||
<g id="shape76-197" transform="translate(189.375,-45.375)">
|
||||
<title>Sheet.76</title>
|
||||
<desc>uPD7220</desc>
|
||||
<rect x="0" y="396.75" width="54" height="18" class="st1"/>
|
||||
<text x="8.37" y="408.75" class="st2">uPD7220</text> </g>
|
||||
<g id="shape79-200" transform="translate(0.375,-396.375)">
|
||||
<title>Sheet.79</title>
|
||||
<desc>Character / Emulation / Video Services</desc>
|
||||
<rect x="0" y="396.75" width="432" height="18" class="st1"/>
|
||||
<text x="103.64" y="409.95" class="st15">Character / Emulation / Video Services</text> </g>
|
||||
<g id="shape82-203" transform="translate(54.375,-360.375)">
|
||||
<title>Sheet.82</title>
|
||||
<desc>HBIOS</desc>
|
||||
<rect x="0" y="396.75" width="225" height="18" class="st12"/>
|
||||
<text x="99.47" y="408.75" class="st2">HBIOS</text> </g>
|
||||
<g id="shape83-206" transform="translate(297.375,-360.375)">
|
||||
<title>Sheet.83</title>
|
||||
<desc>HARDWARE</desc>
|
||||
<rect x="0" y="396.75" width="135" height="18" class="st12"/>
|
||||
<text x="42.53" y="408.75" class="st2">HARDWARE</text> </g>
|
||||
<g id="shape84-209" transform="translate(189.375,-27.375)">
|
||||
<title>Sheet.84</title>
|
||||
<desc>TMS9918</desc>
|
||||
<rect x="0" y="396.75" width="54" height="18" class="st1"/>
|
||||
<text x="7.65" y="408.75" class="st2">TMS9918</text> </g>
|
||||
<g id="group87-212" transform="translate(395.311,-130.875)">
|
||||
<title>Terminal.87</title>
|
||||
<g id="shape88-213" transform="translate(-391.186,414.75) rotate(-90)">
|
||||
<title>Sheet.88</title>
|
||||
<path d="M0 414.75 L27 414.75 L27 409.08 L0 409.08 L0 414.75 ZM26.25 403.93 L23.44 399.37 L3.53 399.37 L0.75 403.93
|
||||
L26.25 403.93 ZM23.44 399.37 L23.44 391.19 L3.53 391.19 L3.53 399.37 L23.44 399.37 ZM26.25 407.7 L26.25
|
||||
403.93 L0.75 403.93 L0.75 407.7 L26.25 407.7 ZM24.83 407.7 A1223.48 394.162 90 0 1 2.17 407.7 L24.83
|
||||
407.7 Z" class="st8"/>
|
||||
</g>
|
||||
<g id="shape89-215" transform="translate(-395.768,392.25) rotate(-90)">
|
||||
<title>Sheet.89</title>
|
||||
<rect x="0" y="414.641" width="0.75" height="0.109091" class="st9"/>
|
||||
</g>
|
||||
<g id="shape90-217" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.90</title>
|
||||
<path d="M1.69 410.93 L2.63 410.93 L2.63 410.39 L1.69 410.39 L1.69 410.93 ZM2.81 410.93 L3.75 410.93 L3.75 410.39
|
||||
L2.81 410.39 L2.81 410.93 ZM3.94 410.93 L4.87 410.93 L4.87 410.39 L3.94 410.39 L3.94 410.93 ZM5.06 410.93
|
||||
L6 410.93 L6 410.39 L5.06 410.39 L5.06 410.93 ZM12.28 410.93 L13.22 410.93 L13.22 410.39 L12.28 410.39
|
||||
L12.28 410.93 ZM13.41 410.93 L14.34 410.93 L14.34 410.39 L13.41 410.39 L13.41 410.93 ZM14.53 410.93
|
||||
L15.47 410.93 L15.47 410.39 L14.53 410.39 L14.53 410.93 ZM15.66 410.93 L16.59 410.93 L16.59 410.39 L15.66
|
||||
410.39 L15.66 410.93 ZM0 412.02 L1.5 412.02 L1.5 411.48 L0 411.48 L0 412.02 ZM1.69 412.02 L2.63 412.02
|
||||
L2.63 411.48 L1.69 411.48 L1.69 412.02 ZM2.81 412.02 L3.75 412.02 L3.75 411.48 L2.81 411.48 L2.81 412.02
|
||||
ZM3.94 412.02 L4.87 412.02 L4.87 411.48 L3.94 411.48 L3.94 412.02 ZM5.06 412.02 L6 412.02 L6 411.48
|
||||
L5.06 411.48 L5.06 412.02 ZM6.19 412.02 L7.12 412.02 L7.12 411.48 L6.19 411.48 L6.19 412.02 ZM7.31 412.02
|
||||
L8.25 412.02 L8.25 411.48 L7.31 411.48 L7.31 412.02 ZM8.44 412.02 L9.37 412.02 L9.37 411.48 L8.44 411.48
|
||||
L8.44 412.02 ZM9.56 412.02 L10.5 412.02 L10.5 411.48 L9.56 411.48 L9.56 412.02 ZM10.69 412.02 L11.62
|
||||
412.02 L11.62 411.48 L10.69 411.48 L10.69 412.02 ZM11.81 412.02 L12.75 412.02 L12.75 411.48 L11.81 411.48
|
||||
L11.81 412.02 ZM12.94 412.02 L13.87 412.02 L13.87 411.48 L12.94 411.48 L12.94 412.02 ZM14.06 412.02
|
||||
L15 412.02 L15 411.48 L14.06 411.48 L14.06 412.02 ZM1.69 412.7 L2.63 412.7 L2.63 412.16 L1.69 412.16
|
||||
L1.69 412.7 ZM2.81 412.7 L3.75 412.7 L3.75 412.16 L2.81 412.16 L2.81 412.7 ZM3.94 412.7 L4.87 412.7
|
||||
L4.87 412.16 L3.94 412.16 L3.94 412.7 ZM5.06 412.7 L6 412.7 L6 412.16 L5.06 412.16 L5.06 412.7 ZM6.19
|
||||
412.7 L7.12 412.7 L7.12 412.16 L6.19 412.16 L6.19 412.7 ZM7.31 412.7 L8.25 412.7 L8.25 412.16 L7.31
|
||||
412.16 L7.31 412.7 ZM8.44 412.7 L9.37 412.7 L9.37 412.16 L8.44 412.16 L8.44 412.7 ZM9.56 412.7 L10.5
|
||||
412.7 L10.5 412.16 L9.56 412.16 L9.56 412.7 ZM10.69 412.7 L11.62 412.7 L11.62 412.16 L10.69 412.16 L10.69
|
||||
412.7 ZM11.81 412.7 L12.75 412.7 L12.75 412.16 L11.81 412.16 L11.81 412.7 ZM12.94 412.7 L13.87 412.7
|
||||
L13.87 412.16 L12.94 412.16 L12.94 412.7 ZM14.06 412.7 L15 412.7 L15 412.16 L14.06 412.16 L14.06 412.7
|
||||
ZM1.69 413.39 L2.63 413.39 L2.63 412.84 L1.69 412.84 L1.69 413.39 ZM2.81 413.39 L3.75 413.39 L3.75 412.84
|
||||
L2.81 412.84 L2.81 413.39 ZM3.94 413.39 L4.87 413.39 L4.87 412.84 L3.94 412.84 L3.94 413.39 ZM5.06 413.39
|
||||
L6 413.39 L6 412.84 L5.06 412.84 L5.06 413.39 ZM6.19 413.39 L7.12 413.39 L7.12 412.84 L6.19 412.84 L6.19
|
||||
413.39 ZM7.31 413.39 L8.25 413.39 L8.25 412.84 L7.31 412.84 L7.31 413.39 ZM8.44 413.39 L9.37 413.39
|
||||
L9.37 412.84 L8.44 412.84 L8.44 413.39 ZM9.56 413.39 L10.5 413.39 L10.5 412.84 L9.56 412.84 L9.56 413.39
|
||||
ZM10.69 413.39 L11.62 413.39 L11.62 412.84 L10.69 412.84 L10.69 413.39 ZM11.81 413.39 L12.75 413.39
|
||||
L12.75 412.84 L11.81 412.84 L11.81 413.39 ZM12.94 413.39 L13.87 413.39 L13.87 412.84 L12.94 412.84 L12.94
|
||||
413.39 ZM14.06 413.39 L15 413.39 L15 412.84 L14.06 412.84 L14.06 413.39 ZM1.69 414.07 L2.63 414.07 L2.63
|
||||
413.52 L1.69 413.52 L1.69 414.07 ZM2.81 414.07 L3.75 414.07 L3.75 413.52 L2.81 413.52 L2.81 414.07 ZM3.94
|
||||
414.07 L4.87 414.07 L4.87 413.52 L3.94 413.52 L3.94 414.07 ZM5.06 414.07 L6 414.07 L6 413.52 L5.06 413.52
|
||||
L5.06 414.07 ZM6.19 414.07 L7.12 414.07 L7.12 413.52 L6.19 413.52 L6.19 414.07 ZM7.31 414.07 L8.25 414.07
|
||||
L8.25 413.52 L7.31 413.52 L7.31 414.07 ZM8.44 414.07 L9.37 414.07 L9.37 413.52 L8.44 413.52 L8.44 414.07
|
||||
ZM9.56 414.07 L10.5 414.07 L10.5 413.52 L9.56 413.52 L9.56 414.07 ZM10.69 414.07 L11.62 414.07 L11.62
|
||||
413.52 L10.69 413.52 L10.69 414.07 ZM11.81 414.07 L12.75 414.07 L12.75 413.52 L11.81 413.52 L11.81 414.07
|
||||
ZM12.94 414.07 L13.87 414.07 L13.87 413.52 L12.94 413.52 L12.94 414.07 ZM3.94 414.75 L11.62 414.75 L11.62
|
||||
414.2 L3.94 414.2 L3.94 414.75 ZM21 414.75 L23.25 414.75 L23.25 414.2 L21 414.2 L21 414.75 ZM23.44 414.75
|
||||
L24.37 414.75 L24.37 414.2 L23.44 414.2 L23.44 414.75 ZM23.44 414.07 L24.37 414.07 L24.37 413.52 L23.44
|
||||
413.52 L23.44 414.07 ZM22.22 414.07 L23.16 414.07 L23.16 413.52 L22.22 413.52 L22.22 414.07 ZM21 414.07
|
||||
L21.94 414.07 L21.94 413.52 L21 413.52 L21 414.07 ZM21 413.39 L21.94 413.39 L21.94 412.84 L21 412.84
|
||||
L21 413.39 ZM21 412.7 L21.94 412.7 L21.94 412.16 L21 412.16 L21 412.7 ZM22.22 412.7 L23.16 412.7 L23.16
|
||||
412.16 L22.22 412.16 L22.22 412.7 ZM23.44 412.7 L24.37 412.7 L24.37 412.16 L23.44 412.16 L23.44 412.7
|
||||
ZM23.44 413.39 L24.37 413.39 L24.37 412.84 L23.44 412.84 L23.44 413.39 ZM22.22 413.39 L23.16 413.39
|
||||
L23.16 412.84 L22.22 412.84 L22.22 413.39 Z" class="st10"/>
|
||||
</g>
|
||||
<g id="shape91-219" transform="translate(-391.623,414.188) rotate(-90)">
|
||||
<title>Sheet.91</title>
|
||||
<path d="M0 410.93 L0.94 410.93 L0.94 410.39 L0 410.39 L0 410.93 ZM0 412.7 L1.5 412.7 L1.5 412.16 L0 412.16 L0 412.7
|
||||
ZM0 413.39 L1.5 413.39 L1.5 412.84 L0 412.84 L0 413.39 ZM0 414.07 L1.5 414.07 L1.5 413.52 L0 413.52
|
||||
L0 414.07 ZM0 414.75 L1.5 414.75 L1.5 414.2 L0 414.2 L0 414.75 ZM1.69 414.75 L2.63 414.75 L2.63 414.2
|
||||
L1.69 414.2 L1.69 414.75 ZM2.81 414.75 L3.75 414.75 L3.75 414.2 L2.81 414.2 L2.81 414.75 ZM11.81 414.75
|
||||
L12.75 414.75 L12.75 414.2 L11.81 414.2 L11.81 414.75 ZM12.94 414.75 L13.87 414.75 L13.87 414.2 L12.94
|
||||
414.2 L12.94 414.75 ZM14.06 414.75 L15 414.75 L15 414.2 L14.06 414.2 L14.06 414.75 ZM15.19 414.75 L16.69
|
||||
414.75 L16.69 414.2 L15.19 414.2 L15.19 414.75 ZM17.25 414.75 L18.19 414.75 L18.19 414.2 L17.25 414.2
|
||||
L17.25 414.75 ZM18.37 414.75 L19.31 414.75 L19.31 414.2 L18.37 414.2 L18.37 414.75 ZM19.5 414.75 L20.44
|
||||
414.75 L20.44 414.2 L19.5 414.2 L19.5 414.75 ZM24.66 414.75 L25.59 414.75 L25.59 413.55 L24.66 413.55
|
||||
L24.66 414.75 ZM24.66 413.44 L25.59 413.44 L25.59 412.16 L24.66 412.16 L24.66 413.44 ZM24.66 412.02
|
||||
L25.59 412.02 L25.59 411.48 L24.66 411.48 L24.66 412.02 ZM23.44 412.02 L24.37 412.02 L24.37 411.48 L23.44
|
||||
411.48 L23.44 412.02 ZM22.22 412.02 L23.16 412.02 L23.16 411.48 L22.22 411.48 L22.22 412.02 ZM21 412.02
|
||||
L21.94 412.02 L21.94 411.48 L21 411.48 L21 412.02 ZM19.5 412.02 L20.44 412.02 L20.44 411.48 L19.5 411.48
|
||||
L19.5 412.02 ZM19.5 412.7 L20.44 412.7 L20.44 412.16 L19.5 412.16 L19.5 412.7 ZM18.37 414.07 L19.31
|
||||
414.07 L19.31 413.52 L18.37 413.52 L18.37 414.07 ZM14.06 414.06 L16.69 414.06 L16.69 413.51 L14.06 413.51
|
||||
L14.06 414.06 ZM15.19 413.37 L16.69 413.37 L16.69 412.17 L15.19 412.17 L15.19 413.37 ZM17.25 412.7 L18.19
|
||||
412.7 L18.19 412.16 L17.25 412.16 L17.25 412.7 ZM18.37 412.7 L19.31 412.7 L19.31 412.16 L18.37 412.16
|
||||
L18.37 412.7 ZM18.37 412.02 L19.31 412.02 L19.31 411.48 L18.37 411.48 L18.37 412.02 ZM15.19 412.02 L16.69
|
||||
412.02 L16.69 411.48 L15.19 411.48 L15.19 412.02 ZM24.19 410.6 L24.94 410.6 L24.94 410.5 L24.19 410.5
|
||||
L24.19 410.6 ZM23.06 410.6 L23.81 410.6 L23.81 410.5 L23.06 410.5 L23.06 410.6 ZM19.5 410.93 L20.44
|
||||
410.93 L20.44 410.39 L19.5 410.39 L19.5 410.93 ZM18.37 410.93 L19.31 410.93 L19.31 410.39 L18.37 410.39
|
||||
L18.37 410.93 ZM17.25 410.93 L18.19 410.93 L18.19 410.39 L17.25 410.39 L17.25 410.93 ZM10.31 410.93
|
||||
L11.25 410.93 L11.25 410.39 L10.31 410.39 L10.31 410.93 ZM9.19 410.93 L10.12 410.93 L10.12 410.39 L9.19
|
||||
410.39 L9.19 410.93 ZM8.06 410.93 L9 410.93 L9 410.39 L8.06 410.39 L8.06 410.93 ZM6.94 410.93 L7.87
|
||||
410.93 L7.87 410.39 L6.94 410.39 L6.94 410.93 ZM17.25 412.02 L18.19 412.02 L18.19 411.48 L17.25 411.48
|
||||
L17.25 412.02 Z" class="st11"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="shape92-221" transform="translate(314.311,-135.375)">
|
||||
<title>Sheet.92</title>
|
||||
<desc>VDU</desc>
|
||||
<rect x="0" y="396.75" width="44.9182" height="18" class="st6"/>
|
||||
<text x="14.96" y="408.15" class="st7">VDU</text> </g>
|
||||
<g id="shape93-224" transform="translate(359.23,-144.375)">
|
||||
<title>Sheet.93</title>
|
||||
<path d="M0 414.75 L26.27 414.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape94-229" transform="translate(359.311,-144.375)">
|
||||
<title>Sheet.94</title>
|
||||
<desc>NTSC</desc>
|
||||
<rect x="0" y="405.75" width="27" height="9" class="st12"/>
|
||||
<text x="7.03" y="412.05" class="st14">NTSC</text> </g>
|
||||
<g id="shape96-232" transform="translate(243.375,-90.375)">
|
||||
<title>Sheet.96</title>
|
||||
<path d="M0 414.75 L4.05 414.75 A4.05 4.05 -180 0 0 8.1 410.7 L8.1 365.25 A4.5 4.5 0 0 1 12.6 360.75 L61.13 360.75"
|
||||
class="st4"/>
|
||||
</g>
|
||||
<g id="shape7-237" transform="translate(243.375,-72.375)">
|
||||
<title>Sheet.7</title>
|
||||
<path d="M0 414.75 L13.5 414.75 A4.5 4.5 -180 0 0 18 410.25 L18 383.25 A4.5 4.5 0 0 1 22.5 378.75 L62.19 378.75"
|
||||
class="st4"/>
|
||||
</g>
|
||||
<g id="shape17-242" transform="translate(243.375,-54.375)">
|
||||
<title>Sheet.17</title>
|
||||
<path d="M0 414.75 L22.5 414.75 A4.5 4.5 -180 0 0 27 410.25 L27 401.25 A4.5 4.5 0 0 1 31.5 396.75 L62.19 396.75"
|
||||
class="st4"/>
|
||||
</g>
|
||||
<g id="shape3-247" transform="translate(162.375,-306.375)">
|
||||
<title>Sheet.3</title>
|
||||
<path d="M0 414.75 L31.5 414.75 A4.5 4.5 -180 0 0 36 410.25 L36 401.25 A4.5 4.5 0 0 1 40.5 396.75 L143.19 396.75"
|
||||
class="st4"/>
|
||||
</g>
|
||||
<g id="shape4-252" transform="translate(162.375,-270.375)">
|
||||
<title>Sheet.4</title>
|
||||
<path d="M0 396.75 L31.5 396.75 A4.5 4.5 0 0 1 36 401.25 L36 410.25 A4.5 4.5 -180 0 0 40.5 414.75 L142.13 414.75"
|
||||
class="st4"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.0 KiB |
@@ -1,15 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by Microsoft Visio, SVG Export WBW.svg Page-1 -->
|
||||
<!-- Generated by Microsoft Visio, SVG Export Logo.svg Page-1 -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
|
||||
xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="8.5in" height="11in" viewBox="0 0 612 792"
|
||||
xml:space="preserve" color-interpolation-filters="sRGB" class="st3">
|
||||
<v:documentProperties v:langID="1033" v:viewMarkup="false">
|
||||
<v:userDefs>
|
||||
<v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
|
||||
</v:userDefs>
|
||||
</v:documentProperties>
|
||||
|
||||
width="3.76042in" height="1.26042in" viewBox="0 0 270.75 90.75" xml:space="preserve" color-interpolation-filters="sRGB"
|
||||
class="st3">
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.st1 {fill:#4bacc6;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0;stroke-width:0.75}
|
||||
@@ -18,52 +12,51 @@
|
||||
]]>
|
||||
</style>
|
||||
|
||||
<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
|
||||
<g>
|
||||
<title>Page-1</title>
|
||||
<v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="19" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
|
||||
<g id="shape34-1" v:mID="34" v:groupContext="shape" transform="translate(18,-684)">
|
||||
<g id="shape34-1" transform="translate(0.375,-0.375)">
|
||||
<title>Sheet.34</title>
|
||||
<rect x="0" y="702" width="18" height="90" rx="9" ry="9" class="st1"/>
|
||||
<rect x="0" y="0.75" width="18" height="90" rx="9" ry="9" class="st1"/>
|
||||
</g>
|
||||
<g id="shape35-3" v:mID="35" v:groupContext="shape" transform="translate(54,-684)">
|
||||
<g id="shape35-3" transform="translate(36.375,-0.375)">
|
||||
<title>Sheet.35</title>
|
||||
<rect x="0" y="738" width="18" height="54" rx="9" ry="9" class="st1"/>
|
||||
<rect x="0" y="36.75" width="18" height="54" rx="9" ry="9" class="st1"/>
|
||||
</g>
|
||||
<g id="shape36-5" v:mID="36" v:groupContext="shape" transform="translate(90,-684)">
|
||||
<g id="shape36-5" transform="translate(72.375,-0.375)">
|
||||
<title>Sheet.36</title>
|
||||
<rect x="0" y="702" width="18" height="90" rx="9" ry="9" class="st1"/>
|
||||
<rect x="0" y="0.75" width="18" height="90" rx="9" ry="9" class="st1"/>
|
||||
</g>
|
||||
<g id="shape38-7" v:mID="38" v:groupContext="shape" transform="translate(234,-684)">
|
||||
<g id="shape38-7" transform="translate(216.375,-0.375)">
|
||||
<title>Sheet.38</title>
|
||||
<rect x="0" y="738" width="18" height="54" rx="9" ry="9" class="st1"/>
|
||||
<rect x="0" y="36.75" width="18" height="54" rx="9" ry="9" class="st1"/>
|
||||
</g>
|
||||
<g id="shape39-9" v:mID="39" v:groupContext="shape" transform="translate(270,-684)">
|
||||
<g id="shape39-9" transform="translate(252.375,-0.375)">
|
||||
<title>Sheet.39</title>
|
||||
<rect x="0" y="702" width="18" height="90" rx="9" ry="9" class="st1"/>
|
||||
<rect x="0" y="0.75" width="18" height="90" rx="9" ry="9" class="st1"/>
|
||||
</g>
|
||||
<g id="shape44-11" v:mID="44" v:groupContext="shape" transform="translate(198,-684)">
|
||||
<g id="shape44-11" transform="translate(180.375,-0.375)">
|
||||
<title>Sheet.44</title>
|
||||
<rect x="0" y="702" width="18" height="90" rx="9" ry="9" class="st1"/>
|
||||
<rect x="0" y="0.75" width="18" height="90" rx="9" ry="9" class="st1"/>
|
||||
</g>
|
||||
<g id="shape48-13" v:mID="48" v:groupContext="shape" transform="translate(126,-756)">
|
||||
<g id="shape48-13" transform="translate(108.375,-72.375)">
|
||||
<title>Sheet.48</title>
|
||||
<rect x="0" y="774" width="36" height="18" rx="9" ry="9" class="st1"/>
|
||||
<rect x="0" y="72.75" width="36" height="18" rx="9" ry="9" class="st1"/>
|
||||
</g>
|
||||
<g id="shape49-15" v:mID="49" v:groupContext="shape" transform="translate(126,-720)">
|
||||
<g id="shape49-15" transform="translate(108.375,-36.375)">
|
||||
<title>Sheet.49</title>
|
||||
<rect x="0" y="774" width="36" height="18" rx="9" ry="9" class="st1"/>
|
||||
<rect x="0" y="72.75" width="36" height="18" rx="9" ry="9" class="st1"/>
|
||||
</g>
|
||||
<g id="shape50-17" v:mID="50" v:groupContext="shape" transform="translate(126,-684)">
|
||||
<g id="shape50-17" transform="translate(108.375,-0.375)">
|
||||
<title>Sheet.50</title>
|
||||
<rect x="0" y="774" width="36" height="18" rx="9" ry="9" class="st1"/>
|
||||
<rect x="0" y="72.75" width="36" height="18" rx="9" ry="9" class="st1"/>
|
||||
</g>
|
||||
<g id="shape52-19" v:mID="52" v:groupContext="shape" transform="translate(153,-729)">
|
||||
<g id="shape52-19" transform="translate(135.375,-45.375)">
|
||||
<title>Sheet.52</title>
|
||||
<path d="M-0 756 A18 18 0 0 1 18 774 A18 18 0 0 1 -0 792" class="st2"/>
|
||||
<path d="M-0 54.75 A18 18 0 0 1 18 72.75 A18 18 0 0 1 -0 90.75" class="st2"/>
|
||||
</g>
|
||||
<g id="shape53-22" v:mID="53" v:groupContext="shape" transform="translate(153,-693)">
|
||||
<g id="shape53-22" transform="translate(135.375,-9.375)">
|
||||
<title>Sheet.53</title>
|
||||
<path d="M-0 756 A18 18 0 0 1 18 774 A18 18 0 0 1 -0 792" class="st2"/>
|
||||
<path d="M-0 54.75 A18 18 0 0 1 18 72.75 A18 18 0 0 1 -0 90.75" class="st2"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 14 KiB |
369
Source/Doc/Graphics/Panel.svg
Normal file
@@ -0,0 +1,369 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by Microsoft Visio, SVG Export Panel.svg Page-1 -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
|
||||
width="4.51042in" height="2.51042in" viewBox="0 0 324.75 180.75" xml:space="preserve" color-interpolation-filters="sRGB"
|
||||
class="st11">
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.st1 {fill:#ff0000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st2 {fill:#7f7f7f;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st3 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st4 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
|
||||
.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st6 {fill:#000000;font-family:Calibri;font-size:1.00001em}
|
||||
.st7 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st8 {fill:#000000;font-family:Calibri;font-size:0.666664em}
|
||||
.st9 {fill:#000000;font-family:Calibri;font-size:0.499992em}
|
||||
.st10 {fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st11 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
|
||||
]]>
|
||||
</style>
|
||||
|
||||
<g>
|
||||
<title>Page-1</title>
|
||||
<g id="shape1-1" transform="translate(27.375,-117.375)">
|
||||
<title>Sheet.1</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st1"/>
|
||||
</g>
|
||||
<g id="shape2-3" transform="translate(99.375,-27.375)">
|
||||
<title>Sheet.2</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st2"/>
|
||||
</g>
|
||||
<g id="shape3-5" transform="translate(106.125,-18.375)">
|
||||
<title>Sheet.3</title>
|
||||
<rect x="0" y="160.5" width="4.5" height="20.25" rx="2.25" ry="2.25" class="st3"/>
|
||||
</g>
|
||||
<g id="shape8-7" transform="translate(63.375,-117.375)">
|
||||
<title>Sheet.8</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st1"/>
|
||||
</g>
|
||||
<g id="shape9-9" transform="translate(99.375,-117.375)">
|
||||
<title>Sheet.9</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st1"/>
|
||||
</g>
|
||||
<g id="shape10-11" transform="translate(135.375,-117.375)">
|
||||
<title>Sheet.10</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st1"/>
|
||||
</g>
|
||||
<g id="shape11-13" transform="translate(171.375,-117.375)">
|
||||
<title>Sheet.11</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st1"/>
|
||||
</g>
|
||||
<g id="shape12-15" transform="translate(207.375,-117.375)">
|
||||
<title>Sheet.12</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st1"/>
|
||||
</g>
|
||||
<g id="shape13-17" transform="translate(243.375,-117.375)">
|
||||
<title>Sheet.13</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st1"/>
|
||||
</g>
|
||||
<g id="shape14-19" transform="translate(279.375,-117.375)">
|
||||
<title>Sheet.14</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st1"/>
|
||||
</g>
|
||||
<g id="shape18-21" transform="translate(27.375,-27.375)">
|
||||
<title>Sheet.18</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st2"/>
|
||||
</g>
|
||||
<g id="shape19-23" transform="translate(34.125,-18.375)">
|
||||
<title>Sheet.19</title>
|
||||
<rect x="0" y="160.5" width="4.5" height="20.25" rx="2.25" ry="2.25" class="st3"/>
|
||||
</g>
|
||||
<g id="shape20-25" transform="translate(63.375,-27.375)">
|
||||
<title>Sheet.20</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st2"/>
|
||||
</g>
|
||||
<g id="shape21-27" transform="translate(70.125,-18.375)">
|
||||
<title>Sheet.21</title>
|
||||
<rect x="0" y="160.5" width="4.5" height="20.25" rx="2.25" ry="2.25" class="st3"/>
|
||||
</g>
|
||||
<g id="shape22-29" transform="translate(135.375,-27.375)">
|
||||
<title>Sheet.22</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st2"/>
|
||||
</g>
|
||||
<g id="shape23-31" transform="translate(142.125,-18.375)">
|
||||
<title>Sheet.23</title>
|
||||
<rect x="0" y="160.5" width="4.5" height="20.25" rx="2.25" ry="2.25" class="st3"/>
|
||||
</g>
|
||||
<g id="shape24-33" transform="translate(171.375,-27.375)">
|
||||
<title>Sheet.24</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st2"/>
|
||||
</g>
|
||||
<g id="shape25-35" transform="translate(178.125,-18.375)">
|
||||
<title>Sheet.25</title>
|
||||
<rect x="0" y="160.5" width="4.5" height="20.25" rx="2.25" ry="2.25" class="st3"/>
|
||||
</g>
|
||||
<g id="shape26-37" transform="translate(207.375,-27.375)">
|
||||
<title>Sheet.26</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st2"/>
|
||||
</g>
|
||||
<g id="shape27-39" transform="translate(214.125,-18.375)">
|
||||
<title>Sheet.27</title>
|
||||
<rect x="0" y="160.5" width="4.5" height="20.25" rx="2.25" ry="2.25" class="st3"/>
|
||||
</g>
|
||||
<g id="shape28-41" transform="translate(243.375,-27.375)">
|
||||
<title>Sheet.28</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st2"/>
|
||||
</g>
|
||||
<g id="shape29-43" transform="translate(250.125,-18.375)">
|
||||
<title>Sheet.29</title>
|
||||
<rect x="0" y="160.5" width="4.5" height="20.25" rx="2.25" ry="2.25" class="st3"/>
|
||||
</g>
|
||||
<g id="shape30-45" transform="translate(279.375,-27.375)">
|
||||
<title>Sheet.30</title>
|
||||
<ellipse cx="9" cy="171.75" rx="9" ry="9.00001" class="st2"/>
|
||||
</g>
|
||||
<g id="shape31-47" transform="translate(286.125,-18.375)">
|
||||
<title>Sheet.31</title>
|
||||
<rect x="0" y="160.5" width="4.5" height="20.25" rx="2.25" ry="2.25" class="st3"/>
|
||||
</g>
|
||||
<g id="shape32-49" transform="translate(18.375,-153.375)">
|
||||
<title>Sheet.32</title>
|
||||
<path d="M0 180.75 L144 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape33-52" transform="translate(199.125,18.375) rotate(90)">
|
||||
<title>Sheet.33</title>
|
||||
<path d="M0 180.75 L18 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape34-55" transform="translate(343.125,18.375) rotate(90)">
|
||||
<title>Sheet.34</title>
|
||||
<path d="M0 180.75 L18 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape35-58" transform="translate(27.375,-135.375)">
|
||||
<title>Sheet.35</title>
|
||||
<desc>8</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">8</text> </g>
|
||||
<g id="shape36-61" transform="translate(63.375,-135.375)">
|
||||
<title>Sheet.36</title>
|
||||
<desc>4</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">4</text> </g>
|
||||
<g id="shape37-64" transform="translate(99.375,-135.375)">
|
||||
<title>Sheet.37</title>
|
||||
<desc>2</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">2</text> </g>
|
||||
<g id="shape38-67" transform="translate(135.375,-135.375)">
|
||||
<title>Sheet.38</title>
|
||||
<desc>1</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">1</text> </g>
|
||||
<g id="shape39-70" transform="translate(18.375,-153.375)">
|
||||
<title>Sheet.39</title>
|
||||
<desc>High</desc>
|
||||
<rect x="0" y="162.75" width="144" height="18" class="st5"/>
|
||||
<text x="60.91" y="175.35" class="st6">High</text> </g>
|
||||
<g id="shape40-73" transform="translate(162.375,-153.375)">
|
||||
<title>Sheet.40</title>
|
||||
<path d="M0 180.75 L144 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape41-76" transform="translate(343.125,18.375) rotate(90)">
|
||||
<title>Sheet.41</title>
|
||||
<path d="M0 180.75 L18 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape42-79" transform="translate(487.125,18.375) rotate(90)">
|
||||
<title>Sheet.42</title>
|
||||
<path d="M0 180.75 L18 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape43-82" transform="translate(171.375,-135.375)">
|
||||
<title>Sheet.43</title>
|
||||
<desc>8</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">8</text> </g>
|
||||
<g id="shape44-85" transform="translate(207.375,-135.375)">
|
||||
<title>Sheet.44</title>
|
||||
<desc>4</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">4</text> </g>
|
||||
<g id="shape45-88" transform="translate(243.375,-135.375)">
|
||||
<title>Sheet.45</title>
|
||||
<desc>2</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">2</text> </g>
|
||||
<g id="shape46-91" transform="translate(279.375,-135.375)">
|
||||
<title>Sheet.46</title>
|
||||
<desc>1</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">1</text> </g>
|
||||
<g id="shape47-94" transform="translate(162.375,-153.375)">
|
||||
<title>Sheet.47</title>
|
||||
<desc>Low</desc>
|
||||
<rect x="0" y="162.75" width="144" height="18" class="st5"/>
|
||||
<text x="62.02" y="175.35" class="st6">Low</text> </g>
|
||||
<g id="shape48-97" transform="translate(27.375,-99.3749)">
|
||||
<title>Sheet.48</title>
|
||||
<desc>7</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">7</text> </g>
|
||||
<g id="shape49-100" transform="translate(63.375,-99.3749)">
|
||||
<title>Sheet.49</title>
|
||||
<desc>6</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">6</text> </g>
|
||||
<g id="shape50-103" transform="translate(99.375,-99.375)">
|
||||
<title>Sheet.50</title>
|
||||
<desc>5</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">5</text> </g>
|
||||
<g id="shape52-106" transform="translate(135.375,-99.375)">
|
||||
<title>Sheet.52</title>
|
||||
<desc>4</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">4</text> </g>
|
||||
<g id="shape53-109" transform="translate(171.375,-99.375)">
|
||||
<title>Sheet.53</title>
|
||||
<desc>3</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">3</text> </g>
|
||||
<g id="shape54-112" transform="translate(207.375,-99.375)">
|
||||
<title>Sheet.54</title>
|
||||
<desc>2</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">2</text> </g>
|
||||
<g id="shape55-115" transform="translate(243.375,-99.375)">
|
||||
<title>Sheet.55</title>
|
||||
<desc>1</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">1</text> </g>
|
||||
<g id="shape56-118" transform="translate(279.375,-99.375)">
|
||||
<title>Sheet.56</title>
|
||||
<desc>0</desc>
|
||||
<rect x="0" y="162.75" width="18" height="18" class="st5"/>
|
||||
<text x="5.96" y="175.35" class="st6">0</text> </g>
|
||||
<g id="shape57-121" transform="translate(94.875,-58.875)">
|
||||
<title>Sheet.57</title>
|
||||
<path d="M0 180.75 L27 180.75" class="st7"/>
|
||||
</g>
|
||||
<g id="shape58-124" transform="translate(90.375,-58.875)">
|
||||
<title>Sheet.58</title>
|
||||
<desc>Auto</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="10.13" y="178.65" class="st8">Auto</text> </g>
|
||||
<g id="shape59-127" transform="translate(90.375,-49.875)">
|
||||
<title>Sheet.59</title>
|
||||
<desc>Menu</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="8.39" y="178.65" class="st8">Menu</text> </g>
|
||||
<g id="shape61-130" transform="translate(22.875,-58.875)">
|
||||
<title>Sheet.61</title>
|
||||
<path d="M0 180.75 L27 180.75" class="st7"/>
|
||||
</g>
|
||||
<g id="shape62-133" transform="translate(18.375,-58.875)">
|
||||
<title>Sheet.62</title>
|
||||
<desc>CRT</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="11.75" y="178.65" class="st8">CRT</text> </g>
|
||||
<g id="shape63-136" transform="translate(18.375,-49.875)">
|
||||
<title>Sheet.63</title>
|
||||
<desc>Serial</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="9.03" y="178.65" class="st8">Serial</text> </g>
|
||||
<g id="shape64-139" transform="translate(58.875,-58.875)">
|
||||
<title>Sheet.64</title>
|
||||
<path d="M0 180.75 L27 180.75" class="st7"/>
|
||||
</g>
|
||||
<g id="shape65-142" transform="translate(54.375,-58.875)">
|
||||
<title>Sheet.65</title>
|
||||
<desc>Sec</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="12.48" y="178.65" class="st8">Sec</text> </g>
|
||||
<g id="shape66-145" transform="translate(54.375,-49.875)">
|
||||
<title>Sheet.66</title>
|
||||
<desc>Pri</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="13.62" y="178.65" class="st8">Pri</text> </g>
|
||||
<g id="shape67-148" transform="translate(130.875,-58.875)">
|
||||
<title>Sheet.67</title>
|
||||
<path d="M0 180.75 L27 180.75" class="st7"/>
|
||||
</g>
|
||||
<g id="shape68-151" transform="translate(126.375,-58.875)">
|
||||
<title>Sheet.68</title>
|
||||
<desc>Disk</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="11.24" y="178.65" class="st8">Disk</text> </g>
|
||||
<g id="shape69-154" transform="translate(126.375,-49.875)">
|
||||
<title>Sheet.69</title>
|
||||
<desc>ROM</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="9.76" y="178.65" class="st8">ROM</text> </g>
|
||||
<g id="shape70-157" transform="translate(166.875,-58.875)">
|
||||
<title>Sheet.70</title>
|
||||
<path d="M0 180.75 L27 180.75" class="st7"/>
|
||||
</g>
|
||||
<g id="shape71-160" transform="translate(162.375,-58.875)">
|
||||
<title>Sheet.71</title>
|
||||
<desc>Floppy</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="7.12" y="178.65" class="st8">Floppy</text> </g>
|
||||
<g id="shape72-163" transform="translate(162.375,-49.875)">
|
||||
<title>Sheet.72</title>
|
||||
<desc>Hard</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="10.1" y="178.65" class="st8">Hard</text> </g>
|
||||
<g id="shape73-166" transform="translate(202.875,-58.875)">
|
||||
<title>Sheet.73</title>
|
||||
<path d="M0 180.75 L99 180.75" class="st7"/>
|
||||
</g>
|
||||
<g id="shape74-169" transform="translate(198.375,-49.875)">
|
||||
<title>Sheet.74</title>
|
||||
<desc>4</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="15.97" y="178.65" class="st8">4</text> </g>
|
||||
<g id="shape75-172" transform="translate(234.375,-49.875)">
|
||||
<title>Sheet.75</title>
|
||||
<desc>2</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="15.97" y="178.65" class="st8">2</text> </g>
|
||||
<g id="shape76-175" transform="translate(270.375,-49.875)">
|
||||
<title>Sheet.76</title>
|
||||
<desc>1</desc>
|
||||
<rect x="0" y="171.75" width="36" height="9.00001" class="st5"/>
|
||||
<text x="15.97" y="178.65" class="st8">1</text> </g>
|
||||
<g id="shape78-178" transform="translate(198.375,-58.875)">
|
||||
<title>Sheet.78</title>
|
||||
<desc>ROM App / Boot Slice</desc>
|
||||
<rect x="0" y="171.75" width="108" height="9.00001" class="st5"/>
|
||||
<text x="18.99" y="178.65" class="st8">ROM App / Boot Slice</text> </g>
|
||||
<g id="shape79-181" transform="translate(18.375,-0.375)">
|
||||
<title>Sheet.79</title>
|
||||
<desc>ROM Apps: 0=Monitor 1=BASIC 2=Forth 3=Game 4=CP/M 2.2 5=Z-Sys...</desc>
|
||||
<rect x="0" y="171.75" width="288" height="9" class="st5"/>
|
||||
<text x="19.9" y="178.05" class="st9">ROM Apps: 0=Monitor 1=BASIC 2=Forth 3=Game 4=CP/M 2.2 5=Z-System 6=Net Boot 7=User</text> </g>
|
||||
<g id="shape80-184" transform="translate(0.375,-0.375)">
|
||||
<title>Sheet.80</title>
|
||||
<rect x="0" y="0.750005" width="324" height="180" class="st10"/>
|
||||
</g>
|
||||
<g id="shape81-186" transform="translate(18.375,-72.375)">
|
||||
<title>Sheet.81</title>
|
||||
<path d="M0 180.75 L144 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape82-189" transform="translate(199.125,99.375) rotate(90)">
|
||||
<title>Sheet.82</title>
|
||||
<path d="M0 180.75 L18 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape84-192" transform="translate(18.375,-72.375)">
|
||||
<title>Sheet.84</title>
|
||||
<desc>Console</desc>
|
||||
<rect x="0" y="162.75" width="72" height="18" class="st5"/>
|
||||
<text x="16.61" y="175.35" class="st6">Console</text> </g>
|
||||
<g id="shape85-195" transform="translate(162.375,-72.375)">
|
||||
<title>Sheet.85</title>
|
||||
<path d="M0 180.75 L144 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape86-198" transform="translate(271.125,99.375) rotate(90)">
|
||||
<title>Sheet.86</title>
|
||||
<path d="M0 180.75 L18 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape87-201" transform="translate(487.125,99.375) rotate(90)">
|
||||
<title>Sheet.87</title>
|
||||
<path d="M0 180.75 L18 180.75" class="st4"/>
|
||||
</g>
|
||||
<g id="shape88-204" transform="translate(90.375,-72.375)">
|
||||
<title>Sheet.88</title>
|
||||
<desc>Boot</desc>
|
||||
<rect x="0" y="162.75" width="216" height="18" class="st5"/>
|
||||
<text x="96.4" y="175.35" class="st6">Boot</text> </g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
BIN
Source/Doc/Graphics/hd1k.pdf
Normal file
BIN
Source/Doc/Graphics/hd1k.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
1088
Source/Doc/Graphics/hd1k.svg
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
Source/Doc/Graphics/hd512.pdf
Normal file
BIN
Source/Doc/Graphics/hd512.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
236
Source/Doc/Graphics/hd512.svg
Normal file
@@ -0,0 +1,236 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by Microsoft Visio, SVG Export hd512.svg Page-1 -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
|
||||
width="6.51389in" height="3.90694in" viewBox="0 0 469 281.3" xml:space="preserve" color-interpolation-filters="sRGB"
|
||||
class="st16">
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.st1 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
|
||||
.st2 {fill:#000000;font-family:Calibri;font-size:1.5em}
|
||||
.st3 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
|
||||
.st4 {fill:#000000;font-family:Calibri;font-size:0.666664em}
|
||||
.st5 {fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
|
||||
.st6 {fill:#d8d8d8;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
|
||||
.st7 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st8 {marker-start:url(#mrkr4-40);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
|
||||
.st9 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.08695652173913}
|
||||
.st10 {fill:#000000;font-family:Calibri;font-size:0.499992em}
|
||||
.st11 {marker-end:url(#mrkr4-58);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
|
||||
.st12 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
|
||||
.st13 {marker-end:url(#mrkr9-69);marker-start:url(#mrkr4-40);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
|
||||
.st14 {marker-end:url(#mrkr4-114);stroke:#000000;stroke-dasharray:1.75,1.25;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
|
||||
.st15 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.090252707581227}
|
||||
.st16 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
|
||||
]]>
|
||||
</style>
|
||||
|
||||
<defs id="Markers">
|
||||
<g id="lend4">
|
||||
<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
|
||||
</g>
|
||||
<marker id="mrkr4-40" class="st9" refX="21.5" orient="auto" markerUnits="strokeWidth" overflow="visible">
|
||||
<use xlink:href="#lend4" transform="scale(11.5) "/>
|
||||
</marker>
|
||||
<marker id="mrkr4-58" class="st9" refX="-23" orient="auto" markerUnits="strokeWidth" overflow="visible">
|
||||
<use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/>
|
||||
</marker>
|
||||
<g id="lend9">
|
||||
<path d="M 1 -1 L -1 1 " style="stroke-linecap:round;stroke-linejoin:round;fill:none"/>
|
||||
</g>
|
||||
<marker id="mrkr9-69" class="st9" orient="auto" markerUnits="strokeWidth" overflow="visible">
|
||||
<use xlink:href="#lend9" transform="scale(-11.5,-11.5) "/>
|
||||
</marker>
|
||||
<marker id="mrkr4-114" class="st15" refX="-22.16" orient="auto" markerUnits="strokeWidth" overflow="visible">
|
||||
<use xlink:href="#lend4" transform="scale(-11.08,-11.08) "/>
|
||||
</marker>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Page-1</title>
|
||||
<g id="shape69-1" transform="translate(0.5,-252)">
|
||||
<title>Sheet.69</title>
|
||||
<desc>RomWBW Hard Disk Anatomy (Classic / hd512)</desc>
|
||||
<rect x="0" y="252.5" width="468" height="28.8" class="st1"/>
|
||||
<text x="61.63" y="272.3" class="st2">RomWBW Hard Disk Anatomy (Classic / hd512)</text> </g>
|
||||
<g id="shape259-4" transform="translate(50.9,-151.2)">
|
||||
<title>Sheet.259</title>
|
||||
<desc>0</desc>
|
||||
<rect x="0" y="266.9" width="14.4" height="14.4" class="st3"/>
|
||||
<text x="5.17" y="276.5" class="st4">0</text> </g>
|
||||
<g id="shape260-7" transform="translate(65.3,-151.2)">
|
||||
<title>Sheet.260</title>
|
||||
<desc>1</desc>
|
||||
<rect x="0" y="266.9" width="14.4" height="14.4" class="st3"/>
|
||||
<text x="5.17" y="276.5" class="st4">1</text> </g>
|
||||
<g id="shape261-10" transform="translate(79.7,-151.2)">
|
||||
<title>Sheet.261</title>
|
||||
<desc>2</desc>
|
||||
<rect x="0" y="266.9" width="14.4" height="14.4" class="st3"/>
|
||||
<text x="5.17" y="276.5" class="st4">2</text> </g>
|
||||
<g id="shape262-13" transform="translate(94.1,-151.2)">
|
||||
<title>Sheet.262</title>
|
||||
<desc>3</desc>
|
||||
<rect x="0" y="266.9" width="14.4" height="14.4" class="st3"/>
|
||||
<text x="5.17" y="276.5" class="st4">3</text> </g>
|
||||
<g id="shape263-16" transform="translate(108.5,-151.2)">
|
||||
<title>Sheet.263</title>
|
||||
<desc>. . .</desc>
|
||||
<rect x="0" y="266.9" width="72" height="14.4" class="st3"/>
|
||||
<text x="27.54" y="276.5" class="st4">. . .</text> </g>
|
||||
<g id="shape264-19" transform="translate(180.5,-151.2)">
|
||||
<title>Sheet.264</title>
|
||||
<desc>N</desc>
|
||||
<rect x="0" y="266.9" width="14.4" height="14.4" class="st3"/>
|
||||
<text x="4.62" y="276.5" class="st4">N</text> </g>
|
||||
<g id="shape265-22" transform="translate(50.9,-151.2)">
|
||||
<title>Sheet.265</title>
|
||||
<rect x="0" y="266.9" width="144" height="14.4" class="st5"/>
|
||||
</g>
|
||||
<g id="shape266-24" transform="translate(50.9,-122.4)">
|
||||
<title>Sheet.266</title>
|
||||
<desc>RomWBW Hard Disk (IDE/ATA/ATAPI/CF/SD/USB)</desc>
|
||||
<rect x="0" y="266.9" width="360" height="14.4" class="st6"/>
|
||||
<text x="99.2" y="276.5" class="st4">RomWBW Hard Disk (IDE/ATA/ATAPI/CF/SD/USB)</text> </g>
|
||||
<g id="shape267-27" transform="translate(230.9,-136.8)">
|
||||
<title>Sheet.267</title>
|
||||
<desc>FAT Partition</desc>
|
||||
<rect x="0" y="266.9" width="165.6" height="14.4" class="st1"/>
|
||||
<text x="61.69" y="276.5" class="st4">FAT Partition</text> </g>
|
||||
<g id="shape268-30" transform="translate(101.3,-43.2)">
|
||||
<title>Sheet.268</title>
|
||||
<desc>Sector 0</desc>
|
||||
<rect x="0" y="266.9" width="72" height="14.4" class="st7"/>
|
||||
<text x="22.71" y="276.5" class="st4">Sector 0</text> </g>
|
||||
<g id="shape269-33" transform="translate(158.9,-57.6)">
|
||||
<title>Sheet.269</title>
|
||||
<rect x="0" y="266.9" width="14.4" height="14.4" class="st3"/>
|
||||
</g>
|
||||
<g id="shape270-35" transform="translate(50.9,-64.8)">
|
||||
<title>Sheet.270</title>
|
||||
<path d="M0 228.86 L0 229.22 L0 276.8 A4.5 4.5 -180 0 0 4.5 281.3 L46.08 281.3" class="st8"/>
|
||||
</g>
|
||||
<g id="shape271-41" transform="translate(209.3,-43.2)">
|
||||
<title>Sheet.271</title>
|
||||
<desc>Type 06</desc>
|
||||
<rect x="0" y="274.1" width="43.2" height="7.2" class="st3"/>
|
||||
<text x="11.99" y="279.5" class="st10">Type 06</text> </g>
|
||||
<g id="shape272-44" transform="translate(209.3,-36)">
|
||||
<title>Sheet.272</title>
|
||||
<rect x="0" y="274.1" width="43.2" height="7.2" class="st3"/>
|
||||
</g>
|
||||
<g id="shape273-46" transform="translate(209.3,-28.8)">
|
||||
<title>Sheet.273</title>
|
||||
<rect x="0" y="274.1" width="43.2" height="7.2" class="st3"/>
|
||||
</g>
|
||||
<g id="shape274-48" transform="translate(209.3,-21.6)">
|
||||
<title>Sheet.274</title>
|
||||
<rect x="0" y="274.1" width="43.2" height="7.2" class="st3"/>
|
||||
</g>
|
||||
<g id="shape275-50" transform="translate(202.1,-7.19997)">
|
||||
<title>Sheet.275</title>
|
||||
<desc>Partition Table</desc>
|
||||
<rect x="0" y="266.9" width="57.6" height="14.4" class="st7"/>
|
||||
<text x="4.92" y="276.5" class="st4">Partition Table</text> </g>
|
||||
<g id="shape276-53" transform="translate(339.4,65.2999) rotate(90)">
|
||||
<title>Sheet.276</title>
|
||||
<path d="M0 98.42 L0 258.8 A22.5 22.5 -180 0 0 22.5 281.3 L44.88 281.3" class="st11"/>
|
||||
</g>
|
||||
<g id="shape277-59" transform="translate(-71.9999,259.7) rotate(-90)">
|
||||
<title>Bracket.132</title>
|
||||
<path d="M0 281.3 A5.43323 5.43323 0 0 1 4.8 276.5 L9.6 276.5 A5.43323 5.43323 -180 0 0 14.4 271.7 A5.43323 5.43323 -180
|
||||
0 0 19.2 276.5 L24 276.5 A5.43323 5.43323 0 0 1 28.8 281.3" class="st12"/>
|
||||
</g>
|
||||
<g id="shape278-62" transform="translate(252.5,-180)">
|
||||
<title>Sheet.278</title>
|
||||
<path d="M0 272.06 L0 272.42 L0 274.1 A7.19998 7.19998 -180 0 0 7.2 281.3 L28.8 281.3" class="st13"/>
|
||||
</g>
|
||||
<g id="shape279-70" transform="translate(284.9,-172.8)">
|
||||
<title>Sheet.279</title>
|
||||
<desc>CP/M System Area (128 KB)</desc>
|
||||
<rect x="0" y="266.9" width="111.6" height="14.4" class="st7"/>
|
||||
<text x="1" y="276.5" class="st4">CP/M System Area (128 KB)</text> </g>
|
||||
<g id="shape280-73" transform="translate(353.8,65.2999) rotate(90)">
|
||||
<title>Sheet.280</title>
|
||||
<path d="M0 112.82 L0 258.8 A22.5 22.5 -180 0 0 22.5 281.3 L44.88 281.3" class="st11"/>
|
||||
</g>
|
||||
<g id="shape281-78" transform="translate(368.2,65.2999) rotate(90)">
|
||||
<title>Sheet.281</title>
|
||||
<path d="M0 127.22 L0 258.8 A22.5 22.5 -180 0 0 22.5 281.3 L44.88 281.3" class="st11"/>
|
||||
</g>
|
||||
<g id="shape282-83" transform="translate(382.6,65.2999) rotate(90)">
|
||||
<title>Sheet.282</title>
|
||||
<path d="M0 141.62 L0 258.8 A22.5 22.5 -180 0 0 22.5 281.3 L44.88 281.3" class="st11"/>
|
||||
</g>
|
||||
<g id="shape283-88" transform="translate(469,65.2999) rotate(90)">
|
||||
<title>Sheet.283</title>
|
||||
<path d="M0 228.02 L0 258.8 A22.5 22.5 -180 0 0 22.5 281.3 L44.88 281.3" class="st11"/>
|
||||
</g>
|
||||
<g id="shape284-93" transform="translate(158.9,-68.3999)">
|
||||
<title>Sheet.284</title>
|
||||
<rect x="0" y="277.7" width="14.4" height="3.6" class="st3"/>
|
||||
</g>
|
||||
<g id="shape285-95" transform="translate(158.9,-64.7999)">
|
||||
<title>Sheet.285</title>
|
||||
<rect x="0" y="277.7" width="14.4" height="3.6" class="st3"/>
|
||||
</g>
|
||||
<g id="shape286-97" transform="translate(158.9,-61.1999)">
|
||||
<title>Sheet.286</title>
|
||||
<rect x="0" y="277.7" width="14.4" height="3.6" class="st3"/>
|
||||
</g>
|
||||
<g id="shape287-99" transform="translate(158.9,-57.5999)">
|
||||
<title>Sheet.287</title>
|
||||
<rect x="0" y="277.7" width="14.4" height="3.6" class="st3"/>
|
||||
</g>
|
||||
<g id="shape288-101" transform="translate(166.1,-57.6)">
|
||||
<title>Stack pointer.179</title>
|
||||
<path d="M33.6 302.9 L5.4 302.9 A5.39999 5.39999 0 0 1 0 297.5 L0 292.1 L0 286.82" class="st11"/>
|
||||
</g>
|
||||
<g id="shape289-106" transform="translate(50.9,-136.8)">
|
||||
<title>Sheet.289</title>
|
||||
<desc>RomWBW Data (8,320 KB * N)</desc>
|
||||
<rect x="0" y="266.9" width="144" height="14.4" class="st1"/>
|
||||
<text x="22.71" y="276.5" class="st4">RomWBW Data (8,320 KB * N)</text> </g>
|
||||
<g id="shape293-109" transform="translate(252.5,-46.8)">
|
||||
<title>Dynamic connector.207</title>
|
||||
<path d="M0 281.3 L17.1 281.3 A4.5 4.5 -180 0 0 21.6 276.8 L21.6 231.8 A4.5 4.5 -180 0 0 17.1 227.3 L-17.1 227.3 A4.5
|
||||
4.5 0 0 1 -21.6 222.8 L-21.6 211.24" class="st14"/>
|
||||
</g>
|
||||
<g id="shape294-115" transform="translate(101.3,-57.6)">
|
||||
<title>Sheet.294</title>
|
||||
<desc>MBR</desc>
|
||||
<rect x="0" y="266.9" width="72" height="14.4" class="st5"/>
|
||||
<text x="28.23" y="276.5" class="st4">MBR</text> </g>
|
||||
<g id="shape295-118" transform="translate(209.156,-21.5999)">
|
||||
<title>Sheet.295</title>
|
||||
<rect x="0" y="252.5" width="43.344" height="28.8" class="st5"/>
|
||||
</g>
|
||||
<g id="shape296-120" transform="translate(245.3,-208.8)">
|
||||
<title>Sheet.296</title>
|
||||
<desc>Slice (8,320 KB)</desc>
|
||||
<rect x="0" y="266.9" width="151.2" height="14.4" class="st5"/>
|
||||
<text x="50.65" y="276.5" class="st4">Slice (8,320 KB)</text> </g>
|
||||
<g id="shape298-123" transform="translate(245.3,-194.4)">
|
||||
<title>Sheet.298</title>
|
||||
<rect x="0" y="266.9" width="14.4" height="14.4" class="st3"/>
|
||||
</g>
|
||||
<g id="shape299-125" transform="translate(245.3,-194.4)">
|
||||
<title>Sheet.299</title>
|
||||
<desc>CP/M File System (8 MB)</desc>
|
||||
<rect x="0" y="266.9" width="151.2" height="14.4" class="st7"/>
|
||||
<text x="35.37" y="276.5" class="st4">CP/M File System (8 MB)</text> </g>
|
||||
<g id="shape300-128" transform="translate(245.3,-194.4)">
|
||||
<title>Sheet.300</title>
|
||||
<rect x="0" y="266.9" width="151.2" height="14.4" class="st5"/>
|
||||
</g>
|
||||
<g id="shape301-130" transform="translate(-180,223.7) rotate(-90)">
|
||||
<title>Bracket.301</title>
|
||||
<path d="M-0 281.3 A2.41217 2.41217 0 0 1 2.13 279.17 L5.07 279.17 A2.41217 2.41217 -180 0 0 7.2 277.04 A2.41217 2.41217
|
||||
-180 0 0 9.33 279.17 L12.27 279.17 A2.41217 2.41217 0 0 1 14.4 281.3" class="st12"/>
|
||||
</g>
|
||||
<g id="shape302-133" transform="translate(-35.9999,72.5) rotate(-90)">
|
||||
<title>Bracket.302</title>
|
||||
<path d="M-0 281.3 A2.41217 2.41217 0 0 1 2.13 279.17 L5.07 279.17 A2.41217 2.41217 -180 0 0 7.2 277.04 A2.41217 2.41217
|
||||
-180 0 0 9.33 279.17 L12.27 279.17 A2.41217 2.41217 0 0 1 14.4 281.3" class="st12"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -1,13 +1,19 @@
|
||||
#
|
||||
# NOTE: gpp, Pandoc, and Latex (MiKTeX or TexLive) must be installed
|
||||
# NOTE: gpp, Pandoc, LuaLatex (MiKTeX or TexLive), and Roboto Font must be installed
|
||||
# and available on commandline for this build to work!!!
|
||||
# Typically "sudo apt install gpp pandoc texlive-latex-extra texlive-luatex texlive-fonts-extra fonts-roboto"
|
||||
#
|
||||
# On MacOS:
|
||||
# brew install gpp pandoc texlive
|
||||
# brew install --cask font-roboto
|
||||
#
|
||||
# On Ubuntu Linux:
|
||||
# apt install gpp pandoc texlive texlive-luatex texlive-fonts-extra
|
||||
#
|
||||
OBJECTS = ReadMe.gfm ReadMe.txt UserGuide.pdf SystemGuide.pdf Applications.pdf Catalog.pdf Errata.pdf
|
||||
# DEST = ../../Doc
|
||||
TOOLS = ../../Tools
|
||||
OTHERS = *.tmp
|
||||
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
all :: deploy
|
||||
@@ -37,4 +43,4 @@ deploy :
|
||||
cp SystemGuide.pdf "../../Doc/RomWBW System Guide.pdf"
|
||||
cp Applications.pdf "../../Doc/RomWBW Applications.pdf"
|
||||
cp Catalog.pdf "../../Doc/RomWBW Disk Catalog.pdf"
|
||||
cp Errata.pdf "../../Doc/RomWBW Errata.pdf"
|
||||
cp Errata.pdf "../../Doc/RomWBW Errata.pdf"
|
||||
|
||||
@@ -176,8 +176,8 @@ please let me know if I missed you!
|
||||
|
||||
* Tasty Basic is a product of Dimitri Theulings.
|
||||
|
||||
* Dean Netherton contributed the sound driver interface and
|
||||
the SN76489 sound driver.
|
||||
* Dean Netherton contributed eZ80 CPU support, the sound driver
|
||||
interface, and the SN76489 sound driver.
|
||||
|
||||
* The RomWBW Disk Catalog document was produced by Mykl Orders.
|
||||
|
||||
@@ -187,7 +187,10 @@ please let me know if I missed you!
|
||||
compendium.
|
||||
|
||||
* Martin R has provided substantial help reviewing and improving the
|
||||
User Guide.
|
||||
User Guide and Applications documents.
|
||||
|
||||
* Mark Pruden has also contributed a great deal of content to the
|
||||
User Guide as well as the COPYSL utility.
|
||||
|
||||
* Jacques Pelletier has contributed the DS1501 RTC driver code.
|
||||
|
||||
|
||||
BIN
Source/Doc/RomWBW Disk Layouts.xlsx
Normal file
@@ -126,6 +126,7 @@ execution.
|
||||
|
||||
{ width=100% }
|
||||
|
||||
|
||||
## Bank Id
|
||||
|
||||
RomWBW utilizes a specific assignment of memory banks for dedicated
|
||||
@@ -262,6 +263,137 @@ Common Bank:
|
||||
It is a fixed mapping that is never changed in normal RomWBW operation
|
||||
hence the name "Common".
|
||||
|
||||
# Disk Layout
|
||||
|
||||
RomWBW supports two hard disk layouts: the Classic layout used by
|
||||
RomWBW with 512 directory entries per slice and a Modern layout with
|
||||
1024 directory entries per slice. These layouts are referred to as
|
||||
hd512 and hd1k respectively.
|
||||
|
||||
WARNING: You **can not** mix the two hard disk layouts on one hard
|
||||
disk device. You can use different layouts on different hard disk
|
||||
devices in a single system though.
|
||||
|
||||
RomWBW determines which of the hard disk layouts to use for a given
|
||||
hard disk device based on whether there is a RomWBW hard disk
|
||||
partition on the disk containing the slices. If there is no RomWBW
|
||||
partition, then RomWBW will assume the 512 directory entry format for
|
||||
all slices and will assume the slices start at the first sector of
|
||||
the hard disk. If there is a RomWBW partition on the hard disk
|
||||
device, then RomWBW will assume the 1024 directory entry format for
|
||||
all slices and will assume the slices are located in the defined
|
||||
partition.
|
||||
|
||||
RomWBW supports up to 256 CP/M slices (0-255). Under hd512, the slices
|
||||
begin at the start of the hard disk. Under hd1k, the slices reside
|
||||
within partition type 0x2E.
|
||||
|
||||
RomWBW accesses all hard disks using Logical Block Addressing (pure
|
||||
sector offset). When necessary, RomWBW simulates the following disk
|
||||
geometry for operating systems:
|
||||
|
||||
- Sector = 512 Bytes
|
||||
- Track = 16 Sectors (8KB per Track)
|
||||
- Cylinder = 16 Tracks (256 Sectors per Cylinder, 128KB per Cylinder)
|
||||
|
||||
If one is used, the FAT Partition must not overlap the CP/M slices.
|
||||
The FAT partition does not need to start immediately after the CP/M
|
||||
slices nor does it need to extend to the end of the hard disk. Its
|
||||
location and size are entirely determined by its corresponding
|
||||
partition table entry.
|
||||
|
||||
Drive letters in CP/M are ASSIGNed to the numbered slices as desired.
|
||||
At boot, RomWBW automatically assigns up to 8 slices to drive letters
|
||||
starting with the first available drive letter (typically C:).
|
||||
|
||||
Microsoft Windows will assign a single drive letter to the FAT partition
|
||||
when the CF/SD Card is inserted. The drive letter assigned has no
|
||||
relationship to the CP/M drive letters assigned to CP/M slices.
|
||||
|
||||
In general, Windows, MacOS, or Linux know nothing about the CP/M slices
|
||||
and CP/M knows nothing about the FAT partition. However, the FAT
|
||||
application can be run under CP/M to access the FAT partition
|
||||
programmatically.
|
||||
|
||||
A CP/M slice is (re)initialized using the CP/M command CLRDIR. A CP/M
|
||||
slice can be made bootable by copying system image to the System Area
|
||||
using SYSCOPY.
|
||||
|
||||
The FAT partition can be created from CP/M using the FDISK80 application.
|
||||
|
||||
The FAT partition can be initialized using the FAT application from CP/M
|
||||
using the command `FAT FORMAT n:` where n is the RomWBW disk unit
|
||||
number containing the FAT partition to be formatted.
|
||||
|
||||
## Modern Disk Layout (hd1k)
|
||||
|
||||

|
||||
|
||||
The CP/M filesystem on a Modern disk will accommodate 1,024 directory
|
||||
entries.
|
||||
|
||||
The CP/M slices reside entirely within a hard disk partition of type
|
||||
0x2E. The number of slices is determined by the number of slices that
|
||||
fit within the partition spaces allocated up to the maximum of 256.
|
||||
|
||||
## Classic Disk Layout (hd512)
|
||||
|
||||

|
||||
|
||||
The CP/M filesystem on a Classic disk will accommodate 512 directory
|
||||
entries.
|
||||
|
||||
The CP/M slices reside on the hard disk starting at the first sector
|
||||
of the hard disk. The number of CP/M slices is not explicitly recorded
|
||||
anywhere on the hard disk. It is up to the system user to know how
|
||||
many slices are being used based on the size of the hard disk media
|
||||
and/or the start of a FAT partition.
|
||||
|
||||
A partition table may exist within the first sector of the first
|
||||
slice. For Classic disks, the partition table defines only the
|
||||
location and size of the FAT partition. The Partition Table does
|
||||
not control the location or number of CP/M slices in any way.
|
||||
|
||||
The Partition Table resides in a sector that is shared with the System
|
||||
Area of CP/M Slice 0. However, the RomWBW implementation of CP/M takes
|
||||
steps to avoid changing or corrupting the Partition Table area.
|
||||
|
||||
The FAT partition can be created from CP/M using the FDISK80
|
||||
application. The user is responsible for ensuring that the start of the
|
||||
FAT partition does not overlap with the area they intend to use for
|
||||
CP/M slices. FDISK80 has a Reserve option to assist with this.
|
||||
|
||||
## Mapping to Media ID
|
||||
|
||||
HBIOS has a definition of "Media ID", which defines the type and physical
|
||||
properties of disk media provided by an underlying storage device. For a
|
||||
complete list of Media ID's please see the following section
|
||||
|
||||
[Disk Input/Output (DIO)]
|
||||
|
||||
There are two important Media ID's relating to Hard Disk Layouts:
|
||||
|
||||
| **Media** | **ID** | **Format / Meaning** |
|
||||
|------------|-------:|-------------------------------------------------------------|
|
||||
| MID_HD | 4 | Classic Disk Layout (hd512) *--and--* HBIOS Hard Disk Drive |
|
||||
| MID_HDNEW | 10 | Modern Disk Layout (hd1k) |
|
||||
|
||||
HBIOS typically does not understand the format of data on a device,
|
||||
instead just treating all hard disks as raw sectors. `MID_HD` is the typical
|
||||
Media ID used by HBIOS to describe high capaity hard disk media
|
||||
|
||||
When the Modern Disk Layout was added, the `MID_HDNEW`, was added to
|
||||
differentiate (at the oerating system level) between the Classic and Modern layouts.
|
||||
|
||||
However HBIOS itself typically does NOT make this distinction, since the use
|
||||
of these two formats is determined by the operating system based on the
|
||||
partition table on the media.
|
||||
There are two important HBIOS functions that deal with Media ID.
|
||||
|
||||
* [Function 0x18 -- Disk Media (DIOMEDIA)]
|
||||
|
||||
* [Function 0xE0 -- Calculate Slice (EXTSLICE)]
|
||||
|
||||
# System Boot Process
|
||||
|
||||
A multi-phase boot strategy is employed. This is necessary because at
|
||||
@@ -529,23 +661,24 @@ All character units are assigned a Device Type ID which indicates
|
||||
the specific hardware device driver that handles the unit. The table
|
||||
below enumerates these values.
|
||||
|
||||
| **Device Type** | **ID** | **Description** | **Driver** |
|
||||
|-----------------|-------:|------------------------------------------|------------|
|
||||
| CIODEV_UART | 0x00 | 16C550 Family Serial Interface | uart.asm |
|
||||
| CIODEV_ASCI | 0x01 | Z180 Built-in Serial Ports | asci.asm |
|
||||
| CIODEV_TERM | 0x02 | Terminal | ansi.asm |
|
||||
| CIODEV_PRPCON | 0x03 | PropIO Serial Console Interface | prp.asm |
|
||||
| CIODEV_PPPCON | 0x04 | ParPortProp Serial Console Interface | ppp.asm |
|
||||
| CIODEV_SIO | 0x05 | Zilog Serial Port Interface | sio.asm |
|
||||
| CIODEV_ACIA | 0x06 | MC68B50 Asynchronous Interface | acia.asm |
|
||||
| CIODEV_PIO | 0x07 | Zilog Parallel Interface Controller | pio.asm |
|
||||
| CIODEV_UF | 0x08 | FT232H-based ECB USB FIFO | uf.asm |
|
||||
| CIODEV_DUART | 0x09 | SCC2681 Family Dual UART | duart.asm |
|
||||
| CIODEV_Z2U | 0x0A | Zilog Z280 Built-in Serial Ports | z2u.asm |
|
||||
| CIODEV_LPT | 0x0B | Parallel I/O Controller | lpt.asm |
|
||||
| CIODEV_ESPCON | 0x0B | ESP32 VGA Console | esp.asm |
|
||||
| CIODEV_ESPSER | 0x0B | ESP32 Serial Port | esp.asm |
|
||||
| CIODEV_SCON | 0x0B | S100 Console | scon.asm |
|
||||
| **Device Type** | **ID** | **Description** | **Driver** |
|
||||
|-----------------|-------:|------------------------------------------|--------------|
|
||||
| CIODEV_UART | 0x00 | 16C550 Family Serial Interface | uart.asm |
|
||||
| CIODEV_ASCI | 0x01 | Z180 Built-in Serial Ports | asci.asm |
|
||||
| CIODEV_TERM | 0x02 | Terminal | ansi.asm |
|
||||
| CIODEV_PRPCON | 0x03 | PropIO Serial Console Interface | prp.asm |
|
||||
| CIODEV_PPPCON | 0x04 | ParPortProp Serial Console Interface | ppp.asm |
|
||||
| CIODEV_SIO | 0x05 | Zilog Serial Port Interface | sio.asm |
|
||||
| CIODEV_ACIA | 0x06 | MC68B50 Asynchronous Interface | acia.asm |
|
||||
| CIODEV_PIO | 0x07 | Zilog Parallel Interface Controller | pio.asm |
|
||||
| CIODEV_UF | 0x08 | FT232H-based ECB USB FIFO | uf.asm |
|
||||
| CIODEV_DUART | 0x09 | SCC2681 Family Dual UART | duart.asm |
|
||||
| CIODEV_Z2U | 0x0A | Zilog Z280 Built-in Serial Ports | z2u.asm |
|
||||
| CIODEV_LPT | 0x0B | Parallel I/O Controller | lpt.asm |
|
||||
| CIODEV_ESPCON | 0x0B | ESP32 VGA Console | esp.asm |
|
||||
| CIODEV_ESPSER | 0x0B | ESP32 Serial Port | esp.asm |
|
||||
| CIODEV_SCON | 0x0B | S100 Console | scon.asm |
|
||||
| CIODEV_EZ80UART | 0x11 | eZ80 Built-in UART0 Interface | ez80uart.asm |
|
||||
|
||||
Character devices can usually be configured with line characteristics
|
||||
such as speed, framing, etc. A word value (16 bit) is used to describe
|
||||
@@ -738,20 +871,24 @@ more of the defined media types.
|
||||
| MID_MDROM | 1 | ROM Drive |
|
||||
| MID_MDRAM | 2 | RAM Drive |
|
||||
| MID_RF | 3 | RAM Floppy (LBA) |
|
||||
| MID_HD512 | 4 | Hard Disk (LBA) w/ 512 directory entries |
|
||||
| MID_HD | 4 | Hard Disk (LBA) w/ 512 directory entries |
|
||||
| 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_HD1K | 10 | Hard Disk (LBA) w/ 1024 directory entries |
|
||||
| MID_HDNEW | 10 | Hard Disk (LBA) w/ 1024 directory entries |
|
||||
|
||||
**NOTE**: HBIOS typically does not actually differentiate between MID_HD and
|
||||
MID_HDNEW, it will generally only use MID_HD.
|
||||
See the section [Mapping to Media ID] for information on this.
|
||||
|
||||
HBIOS supports both Cylinder/Head/Sector (CHS) and Logical Block
|
||||
Addresses (CHS) when locating a sector for I/O (see DIOSEEK function).
|
||||
For devices that are natively CHS (e.g., floppy disk), the HBIOS driver
|
||||
can convert LBA values to CHS values according to the geometry of the
|
||||
current media. For devices that are natively LBA (e.g., hard disk), the
|
||||
HBIOS driver simulates CHS using a fictitious geometry provided by the
|
||||
HBIOS driver simulates CHS using a fictitious geometry provided by the
|
||||
driver (typically 16 sectors per track and 16 heads per cylinder).
|
||||
|
||||
### Function 0x10 -- Disk Status (DIOSTATUS)
|
||||
@@ -964,6 +1101,13 @@ Report the Media ID (E) for the for media in the specified Disk Unit
|
||||
will be performed. The Status (A) is a standard HBIOS result code. If
|
||||
there is no media in device, function will return an error status.
|
||||
|
||||
**NOTE**: This function will always return MID_HD for hard disk
|
||||
devices. See the section [Mapping to Media ID] for information on this.
|
||||
To determine if an HD1K formatted partition exists on the hard disk
|
||||
please see the following function.
|
||||
|
||||
[Function 0xE0 -- Calculate Slice (EXTSLICE)]
|
||||
|
||||
### Function 0x19 -- Disk Define Media (DIODEFMED)
|
||||
|
||||
| **Entry Parameters** | **Returned Values** |
|
||||
@@ -997,7 +1141,7 @@ DIOMEDIA function to force this if desired.
|
||||
| **Entry Parameters** | **Returned Values** |
|
||||
|----------------------------------------|----------------------------------------|
|
||||
| B: 0x1B | A: Status |
|
||||
| C: Disk Unit | D: Heads |
|
||||
| C: Disk Unit | D: Heads / LBA |
|
||||
| | E: Sectors |
|
||||
| | HL: Cylinder Count |
|
||||
| | BC: Block Size |
|
||||
@@ -1007,7 +1151,11 @@ device uses LBA mode addressing natively, then the drivers simulated
|
||||
geometry will be returned. The Status (A) is a standard HBIOS result
|
||||
code. If the media is unknown, an error will be returned.
|
||||
|
||||
Heads (D) refers to the number of heads per cylinder. Sectors (E)
|
||||
LBA capability is indicated by D:7. When set, the device is capable
|
||||
of LBA addressing. Refer to [Function 0x12 -- Disk Seek (DIOSEEK)]
|
||||
for more information on specifying LBA vs. CHS addresses.
|
||||
|
||||
Heads (D:6-0) refers to the number of heads per cylinder. Sectors (E)
|
||||
refers to the number of sectors per track. Cylinder Count (HL) is the
|
||||
total number of cylinders addressable for the media. Block Size (BC)
|
||||
is the number of bytes in one sector.
|
||||
@@ -1024,14 +1172,15 @@ more than one at a time. The RTC unit is assigned a Device Type ID
|
||||
which indicates the specific hardware device driver that handles the
|
||||
unit. The table below enumerates these values.
|
||||
|
||||
| **Device Type** | **ID** | **Description** | **Driver** |
|
||||
|-----------------|-------:|------------------------------------------|------------|
|
||||
| RTCDEV_DS | 0x00 | Maxim DS1302 Real-Time Clock w/ NVRAM | dsrtc.asm |
|
||||
| RTCDEV_BQ | 0x01 | BQ4845P Real Time Clock | bqrtc.asm |
|
||||
| RTCDEV_SIMH | 0x02 | SIMH Simulator Real-Time Clock | simrtc.asm |
|
||||
| RTCDEV_INT | 0x03 | Interrupt-based Real Time Clock | intrtc.asm |
|
||||
| RTCDEV_DS7 | 0x04 | Maxim DS1307 PCF I2C RTC w/ NVRAM | ds7rtc.asm |
|
||||
| RTCDEV_RP5 | 0x05 | Ricoh RPC01A Real-Time Clock w/ NVRAM | rp5rtc.asm |
|
||||
| **Device Type** | **ID** | **Description** | **Driver** |
|
||||
|-----------------|-------:|------------------------------------------|-------------|
|
||||
| RTCDEV_DS | 0x00 | Maxim DS1302 Real-Time Clock w/ NVRAM | dsrtc.asm |
|
||||
| RTCDEV_BQ | 0x01 | BQ4845P Real Time Clock | bqrtc.asm |
|
||||
| RTCDEV_SIMH | 0x02 | SIMH Simulator Real-Time Clock | simrtc.asm |
|
||||
| RTCDEV_INT | 0x03 | Interrupt-based Real Time Clock | intrtc.asm |
|
||||
| RTCDEV_DS7 | 0x04 | Maxim DS1307 PCF I2C RTC w/ NVRAM | ds7rtc.asm |
|
||||
| RTCDEV_RP5 | 0x05 | Ricoh RPC01A Real-Time Clock w/ NVRAM | rp5rtc.asm |
|
||||
| RTCDEV_EZ80 | 0x07 | eZ80 on-chip RTC | ez80rtc.asm |
|
||||
|
||||
The time functions to get and set the time (RTCGTM and RTCSTM) require a
|
||||
6 byte date/time buffer in the following format. Each byte is BCD
|
||||
@@ -1160,35 +1309,22 @@ used.
|
||||
|
||||
## Display Keypad (DSKY)
|
||||
|
||||
The Display Keypad functions provide read/write access to a segment
|
||||
style display and associated hex keypad.
|
||||
The Display Keypad functions provide access to a segment or LCD
|
||||
style display and associated optional keypad
|
||||
|
||||
HBIOS only supports a single DSKY device since there is no reason to have
|
||||
more than one at a time. The DSKY unit is assigned a Device Type ID
|
||||
which indicates the specific hardware device driver that handles the
|
||||
unit. The table below enumerates these values.
|
||||
HBIOS only supports a single DSKY device since there is no reason to
|
||||
have more than one at a time. If the system contains multiple DSKY
|
||||
devices, only the first device discovered will be used. The DSKY unit
|
||||
is assigned a Device Type ID which indicates the specific hardware
|
||||
device driver that handles the unit. The table below enumerates these
|
||||
values.
|
||||
|
||||
| **Device Type** | **ID** | **Description** | **Driver** |
|
||||
|-----------------|-------:|------------------------------------------|------------|
|
||||
| DSKYDEV_ICM | 0x01 | Original ICM7218 based DSKY | icm.asm |
|
||||
| DSKYDEV_PKD | 0x02 | Next Gen Intel P8279 based DSKY | pkd.asm |
|
||||
|
||||
When segment display function encodes the display data in a byte per
|
||||
character format. Currently, all segment displays are exactly
|
||||
8 charadcters and this is assumed in API calls. The encoding of each
|
||||
byte is as shown below:
|
||||
|
||||
```
|
||||
+---01---+
|
||||
| |
|
||||
20 02
|
||||
| |
|
||||
+---40---+
|
||||
| |
|
||||
10 04
|
||||
| |
|
||||
+---08---+ 80
|
||||
```
|
||||
| **Device Type** | **ID** | **Description** | **Driver** |
|
||||
|--------------------|-------:|---------------------------------------|------------|
|
||||
| DSKYDEV_ICM | 0x01 | Original ICM7218 based DSKY | icm.asm |
|
||||
| DSKYDEV_PKD | 0x02 | Next Gen Intel P8279 based DSKY | pkd.asm |
|
||||
| DSKYDEV_GM7303 | 0x03 | GM7303 LCD Display + Keypad | gm7303.asm |
|
||||
| DSKYDEV_LCD | 0x04 | HD44780-based LCD Display | lcd.asm |
|
||||
|
||||
The keypad keys are identified by the following key ids. Not all
|
||||
keypads will contain all keys.
|
||||
@@ -1274,10 +1410,21 @@ The Status (A) is a standard HBIOS result code.
|
||||
| HL: Buffer Address | |
|
||||
|
||||
Display the segment-encoded values on the segment display. The encoding
|
||||
is defined at the start of this section. The entire displa is updated
|
||||
and it is assumed that an 8 character buffer will be pointed to by HL.
|
||||
The buffer must reside in high memory.
|
||||
The Status (A) is a standard HBIOS result code.
|
||||
uses a small alphabet as defined below. The actual representation of a
|
||||
character is determined by the driver. The entire display is updated
|
||||
and it is assumed that an 8 character buffer will be pointed to by HL.
|
||||
The buffer must reside in high memory. The Status (A) is a standard
|
||||
HBIOS result code.
|
||||
|
||||
| | | | |
|
||||
|---------------|---------------|---------------|---------------|
|
||||
| 0x00: '0' | 0x01: '1' | 0x02: '2' | 0x03: '3' |
|
||||
| 0x04: '4' | 0x05: '5' | 0x06: '6' | 0x07: '7' |
|
||||
| 0x08: '8' | 0x09: '9' | 0x0A: 'A' | 0x0B: 'B' |
|
||||
| 0x0C: 'C' | 0x0D: 'D' | 0x0E: 'E' | 0x0F: 'F' |
|
||||
| 0x10: ' ' | 0x11: '-' | 0x12: '.' | 0x13: 'p' |
|
||||
| 0x14: 'o' | 0x15: 'r' | 0x16: 't' | 0x17: 'A' |
|
||||
| 0x18: 'd' | 0x19: 'r' | 0x1A: 'G' | |
|
||||
|
||||
### Function 0x35 -- DSKY Keypad LEDs (DSKYKEYLEDS)
|
||||
|
||||
@@ -1290,9 +1437,8 @@ Light the LEDs for the keypad keys according to the
|
||||
bitmap contained in the buffer pointed to by HL. The buffer
|
||||
must be located in high memory and is assumed to be 8 bytes.
|
||||
|
||||
At this time, the bitmap is specific to the PKD hardware.
|
||||
This function is ignored by the ICM hardware.
|
||||
The Status (A) is a standard HBIOS result code.
|
||||
At this time, the bitmap is specific to the PKD hardware and will be
|
||||
ignored by all other hardware.
|
||||
|
||||
### Function 0x36 -- DSKY Status LED (DSKYSTATLED)
|
||||
|
||||
@@ -1306,8 +1452,8 @@ Set or clear the status LED specified in D. The state of
|
||||
the LED is contained in E. If E=0, the LED will be turned
|
||||
off. If E=1, the LED will be turned on.
|
||||
|
||||
This function is specific to the PKD hardware. It will be ignored
|
||||
by the ICM hardware.
|
||||
This function is specific to the PKD hardware and will be ignored
|
||||
by all other hardware.
|
||||
The Status (A) is a standard HBIOS result code.
|
||||
|
||||
### Function 0x37 -- DSKY Beep (DSKYBEEP)
|
||||
@@ -1348,6 +1494,29 @@ servicing the specified unit. Both of these values are considered
|
||||
driver specific. Refer to the associated hardware driver for the values
|
||||
used.
|
||||
|
||||
### Function 0x39 -- DSKY Device (DSKYMESSAGE)
|
||||
|
||||
| **Entry Parameters** | **Returned Values** |
|
||||
|----------------------------------------|----------------------------------------|
|
||||
| B: 0x39 | A: Status |
|
||||
| C: Message ID | |
|
||||
|
||||
Instructs the display to show a textual representation of the associated
|
||||
message on the display. The IDs are defined in std.asm.
|
||||
|
||||
### Function 0x3A -- DSKY Device (DSKYEVENT)
|
||||
|
||||
| **Entry Parameters** | **Returned Values** |
|
||||
|----------------------------------------|----------------------------------------|
|
||||
| B: 0x3A | A: Status |
|
||||
| C: Event ID | |
|
||||
|
||||
Instructs the display to update itself in response to an internal
|
||||
HBIOS state change. At this time the the events are:
|
||||
|
||||
0: CPU Speed Change \
|
||||
1: Disk Activity
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## Video Display Adapter (VDA)
|
||||
@@ -2051,6 +2220,51 @@ approximately B5.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## Extension (EXT)
|
||||
|
||||
Helper (extension) functions that are not a core part of a BIOS.
|
||||
|
||||
### Function 0xE0 -- Calculate Slice (EXTSLICE)
|
||||
|
||||
| **Entry Parameters** | **Returned Values** |
|
||||
|----------------------------------------|----------------------------------------|
|
||||
| B: 0xE0 | A: Status |
|
||||
| D: Disk Unit | B: Device Attributes |
|
||||
| E: Slice | C: Media ID |
|
||||
| | DEHL: Sector Address |
|
||||
|
||||
Report the Media ID (C), and Device Attributes (B) for the for media in the
|
||||
specified Disk Unit (D), and for hard disks the absolute Sector offset to the
|
||||
start of the Slice (E). The Status (A) is a standard HBIOS result code.
|
||||
|
||||
This function extends upon [Function 0x18 -- Disk Media (DIOMEDIA)] for hard
|
||||
disk media by scanning for a partition to determine if the disk uses HD512
|
||||
or HD1K, correctly reporting MID_HD or MID_HDNEW respectively.
|
||||
See the folowing for some background [Mapping to Media ID]
|
||||
|
||||
It will also return the sector number of the first sector in the
|
||||
slice if the slice number is valid. If the slice number is invalid
|
||||
(it wont fix on the media) an error will be returned.
|
||||
|
||||
The slice calculation is performed by considering the partition start
|
||||
(if it exists), the size of a slice for the given format type, and ensuring
|
||||
that the slice fits within the media or partition size, taking into
|
||||
consideration other partitions that may exist.
|
||||
|
||||
The Device Attributes (B) are the same as defined in
|
||||
[Function 0x17 -- Disk Device (DIODEVICE)]
|
||||
|
||||
If the Unit specified is not a hard disk the Media ID will be returned and
|
||||
the slice parameter ignored. If there is no media in device, or the slice
|
||||
number is invaid (Parameter Out Of Range) the function will return an error status.
|
||||
|
||||
**NOTE:
|
||||
This function was placed in HBIOS to be shared between the diffeent CP/M
|
||||
varients supported by RomWBW. It is not strictly a BIOS function,
|
||||
and may be moved in future.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## System (SYS)
|
||||
|
||||
### Function 0xF0 -- System Reset (SYSRESET)
|
||||
@@ -2095,7 +2309,7 @@ The Version (DE)number is encoded as BCD where the 4 digits are:
|
||||
|
||||
[Major Version][Minor Version][Patch Level][Build Number]
|
||||
|
||||
So, for example, a Version (L) number of 0x3102 would indicate
|
||||
So, for example, a Version (DE) number of 0x3102 would indicate
|
||||
version 3.1.0, build 2.
|
||||
|
||||
The hardware Platform (L) is identified as follows:
|
||||
@@ -2119,6 +2333,7 @@ The hardware Platform (L) is identified as follows:
|
||||
| PLT_Z80RETRO |15 | Z80 RETRO COMPUTER |
|
||||
| PLT_S100 |16 | S100 COMPUTERS Z180 |
|
||||
| PLT_DUO |17 | DUODYNE Z80 SYSTEM |
|
||||
| PLT_RCEZ80 |24 | RCBUS W/ eZ80 |
|
||||
|
||||
### Function 0xF2 -- System Set Bank (SYSSETBNK)
|
||||
|
||||
@@ -2409,6 +2624,9 @@ a double-word binary value. The frequency of the system timer in Hertz
|
||||
is returned in Frequency (C). The returned Status (A) is a standard HBIOS
|
||||
result code.
|
||||
|
||||
The tick count is a 32 bit binary value. It will rollover to zero
|
||||
if the maximum value for a 32 bit number is reached.
|
||||
|
||||
Note that not all hardware configuration have a system timer. You
|
||||
can determine if a timer exists by calling this function repeatedly
|
||||
to see if it is incrementing.
|
||||
@@ -3067,7 +3285,7 @@ The following section outlines the read only data referenced by the
|
||||
| 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. 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 |
|
||||
|
||||
@@ -5,17 +5,20 @@ set TOOLS=../../Tools
|
||||
|
||||
set PATH=%TOOLS%\srecord;%PATH%
|
||||
|
||||
if exist ..\..\Binary\FZ80_std.rom call :build_fz80
|
||||
for %%f in (..\..\Binary\FZ80_*.rom) do call :build %%~nf
|
||||
|
||||
goto :eof
|
||||
|
||||
:build_fz80
|
||||
:build
|
||||
echo.
|
||||
echo Creating %1 disk image...
|
||||
echo.
|
||||
|
||||
srec_cat -generate 0x0 0x100000 --constant 0x00 -o temp.dat -binary
|
||||
srec_cat temp.dat -binary -exclude 0x1B8 0x200 fz80_ptbl.bin -binary -offset 0x1B8 -o temp.dat -binary
|
||||
srec_cat temp.dat -binary -exclude 0x80000 0xE0000 ..\..\Binary\FZ80_std.rom -binary -offset 0x80000 -o temp.dat -binary
|
||||
move temp.dat ..\..\Binary\hd1k_fz80_prefix.dat
|
||||
srec_cat temp.dat -binary -exclude 0x80000 0xE0000 ..\..\Binary\%1.rom -binary -offset 0x80000 -o temp.dat -binary
|
||||
move temp.dat ..\..\Binary\%1_hd1k_prefix.dat
|
||||
|
||||
copy /b ..\..\Binary\hd1k_fz80_prefix.dat + ..\..\Binary\hd1k_cpm22.img + ..\..\Binary\hd1k_zsdos.img + ..\..\Binary\hd1k_nzcom.img + ..\..\Binary\hd1k_cpm3.img + ..\..\Binary\hd1k_zpm3.img + ..\..\Binary\hd1k_ws4.img ..\..\Binary\hd1k_fz80_combo.img || exit /b
|
||||
copy /b ..\..\Binary\%1_hd1k_prefix.dat + ..\..\Binary\hd1k_cpm22.img + ..\..\Binary\hd1k_zsdos.img + ..\..\Binary\hd1k_nzcom.img + ..\..\Binary\hd1k_cpm3.img + ..\..\Binary\hd1k_zpm3.img + ..\..\Binary\hd1k_ws4.img ..\..\Binary\%1_hd1k_combo.img || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
HD1KFZ80PREFIX = hd1k_fz80_prefix.dat
|
||||
HD1KFZ80COMBOIMG = hd1k_fz80_combo.img
|
||||
FZ80ROM = ../../Binary/FZ80_std.rom
|
||||
HD1KIMGS = ../../Binary/hd1k_cpm22.img ../../Binary/hd1k_zsdos.img ../../Binary/hd1k_nzcom.img \
|
||||
../../Binary/hd1k_cpm3.img ../../Binary/hd1k_zpm3.img ../../Binary/hd1k_ws4.img
|
||||
|
||||
OBJECTS := $(HD1KFZ80PREFIX) $(HD1KFZ80COMBOIMG)
|
||||
|
||||
DEST=../../Binary
|
||||
|
||||
HD1KIMGS = $(DEST)/hd1k_cpm22.img $(DEST)/hd1k_zsdos.img $(DEST)/hd1k_nzcom.img \
|
||||
$(DEST)/hd1k_cpm3.img $(DEST)/hd1k_zpm3.img $(DEST)/hd1k_ws4.img
|
||||
|
||||
ROMS := $(wildcard $(DEST)/FZ80_*.rom)
|
||||
ROMS := $(patsubst $(DEST)/%.rom,%,$(ROMS))
|
||||
|
||||
OBJECTS := $(patsubst %,%_hd1k_prefix.dat,$(ROMS))
|
||||
OBJECTS += $(patsubst %,%_hd1k_combo.img,$(ROMS))
|
||||
|
||||
TOOLS = ../../Tools
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
DIFFPATH = $(DIFFTO)/Binary
|
||||
|
||||
$(HD1KFZ80PREFIX):
|
||||
%_hd1k_prefix.dat: $(DEST)/%.rom
|
||||
srec_cat -generate 0x0 0x100000 --constant 0x00 -o temp.dat -binary
|
||||
srec_cat temp.dat -binary -exclude 0x1B8 0x200 fz80_ptbl.bin -binary -offset 0x1B8 -o temp.dat -binary
|
||||
srec_cat temp.dat -binary -exclude 0x80000 0xE0000 $(FZ80ROM) -binary -offset 0x80000 -o temp.dat -binary
|
||||
srec_cat temp.dat -binary -exclude 0x80000 0xE0000 $< -binary -offset 0x80000 -o temp.dat -binary
|
||||
mv temp.dat $@
|
||||
|
||||
$(HD1KFZ80COMBOIMG): $(HD1KFZ80PREFIX) $(HD1KIMGS)
|
||||
%_hd1k_combo.img: %_hd1k_prefix.dat $(HD1KIMGS)
|
||||
cat $^ > $@
|
||||
|
||||
@@ -204,38 +204,36 @@ goto :eof
|
||||
:dist
|
||||
|
||||
call Build SBC std || exit /b
|
||||
call Build SBC simh || exit /b
|
||||
call Build SBC simh_std || exit /b
|
||||
call Build MBC std || exit /b
|
||||
call Build ZETA std || exit /b
|
||||
call Build ZETA2 std || exit /b
|
||||
call Build N8 std || exit /b
|
||||
call Build MK4 std || exit /b
|
||||
call Build RCZ80 std || exit /b
|
||||
call Build RCZ80 kio || exit /b
|
||||
call Build RCZ80 easy || exit /b
|
||||
call Build RCZ80 tiny || exit /b
|
||||
call Build RCZ80 skz || exit /b
|
||||
:: call Build RCZ80 mt || exit /b
|
||||
:: call Build RCZ80 duart || exit /b
|
||||
call Build RCZ80 zrc || exit /b
|
||||
call Build RCZ80 zrc_ram || exit /b
|
||||
call Build RCZ80 zrc512 || exit /b
|
||||
call Build RCZ180 ext || exit /b
|
||||
call Build RCZ180 nat || exit /b
|
||||
call Build RCZ180 z1rcc || exit /b
|
||||
call Build RCZ280 ext || exit /b
|
||||
call Build RCZ280 nat || exit /b
|
||||
call Build RCZ280 zz80mb || exit /b
|
||||
call Build RCZ280 zzrcc || exit /b
|
||||
call Build RCZ280 zzrcc_ram || exit /b
|
||||
call Build SCZ180 sc126 || exit /b
|
||||
call Build SCZ180 sc130 || exit /b
|
||||
call Build SCZ180 sc131 || exit /b
|
||||
call Build SCZ180 sc140 || exit /b
|
||||
call Build SCZ180 sc503 || exit /b
|
||||
call Build SCZ180 sc700 || exit /b
|
||||
call Build RCZ80 kio_std || exit /b
|
||||
call Build RCZ80 easy_std || exit /b
|
||||
call Build RCZ80 tiny_std || exit /b
|
||||
call Build RCZ80 skz_std || exit /b
|
||||
call Build RCZ80 zrc_std || exit /b
|
||||
call Build RCZ80 zrc_ram_std || exit /b
|
||||
call Build RCZ80 zrc512_std || exit /b
|
||||
call Build RCZ180 ext_std || exit /b
|
||||
call Build RCZ180 nat_std || exit /b
|
||||
call Build RCZ180 z1rcc_std || exit /b
|
||||
call Build RCZ280 ext_std || exit /b
|
||||
call Build RCZ280 nat_std || exit /b
|
||||
call Build RCZ280 zz80mb_std || exit /b
|
||||
call Build RCZ280 zzrcc_std || exit /b
|
||||
call Build RCZ280 zzrcc_ram_std || exit /b
|
||||
call Build SCZ180 sc126_std || exit /b
|
||||
call Build SCZ180 sc130_std || exit /b
|
||||
call Build SCZ180 sc131_std || exit /b
|
||||
call Build SCZ180 sc140_std || exit /b
|
||||
call Build SCZ180 sc503_std || exit /b
|
||||
call Build SCZ180 sc700_std || exit /b
|
||||
call Build GMZ180 std || exit /b
|
||||
call Build DYNO std || exit /b
|
||||
call Build UNA std || exit /b
|
||||
call Build RPH std || exit /b
|
||||
call Build Z80RETRO std || exit /b
|
||||
call Build S100 std || exit /b
|
||||
@@ -245,5 +243,6 @@ call Build EPITX std || exit /b
|
||||
:: call Build MON std || exit /b
|
||||
call Build NABU std || exit /b
|
||||
call Build FZ80 std || exit /b
|
||||
call Build UNA std || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -27,8 +27,8 @@ $ErrorAction = 'Stop'
|
||||
# UNA BIOS is simply imbedded, it is not built here.
|
||||
#
|
||||
|
||||
$PlatformListZ80 = "SBC", "MBC", "ZETA", "ZETA2", "RCZ80", "Z80RETRO", "DUO", "UNA", "HEATH", "MON", "NABU", "FZ80"
|
||||
$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO", "RPH", "S100", "EPITX"
|
||||
$PlatformListZ80 = "SBC", "MBC", "ZETA", "ZETA2", "RCZ80", "Z80RETRO", "DUO", "UNA", "HEATH", "MON", "NABU", "FZ80", "RCEZ80"
|
||||
$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO", "RPH", "S100", "EPITX", "GMZ180"
|
||||
$PlatformListZ280 = "RCZ280"
|
||||
|
||||
#
|
||||
|
||||
@@ -11,48 +11,47 @@ export CPUFAM
|
||||
|
||||
if [ "${ROM_PLATFORM}" == "dist" ] ; then
|
||||
echo "!!!DISTRIBUTION BUILD!!!"
|
||||
ROM_PLATFORM="DYNO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="MK4"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="N8"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="ext"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="nat"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="z1rcc"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="ext"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="nat"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="zz80mb"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="zzrcc"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="zzrcc_ram"; bash Build.sh
|
||||
# ROM_PLATFORM="RCZ80"; ROM_CONFIG="mt"; bash Build.sh
|
||||
# ROM_PLATFORM="RCZ80"; ROM_CONFIG="duart"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="kio"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="easy"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="tiny"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="skz"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc_ram"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc512"; bash Build.sh
|
||||
ROM_PLATFORM="RPH"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SBC"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SBC"; ROM_CONFIG="simh"; bash Build.sh
|
||||
ROM_PLATFORM="SBC"; ROM_CONFIG="simh_std"; bash Build.sh
|
||||
ROM_PLATFORM="MBC"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="DUO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc126"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc130"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc131"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc140"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc503"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc700"; bash Build.sh
|
||||
ROM_PLATFORM="S100"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="UNA"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="Z80RETRO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="ZETA"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="ZETA2"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="N8"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="MK4"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="kio_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="easy_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="tiny_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="skz_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc_ram_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc512_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="ext_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="nat_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="z1rcc_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="ext_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="nat_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="zz80mb_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="zzrcc_std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="zzrcc_ram_std"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc126_std"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc130_std"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc131_std"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc140_std"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc503_std"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc700_std"; bash Build.sh
|
||||
ROM_PLATFORM="GMZ180"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="DYNO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="RPH"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="Z80RETRO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="S100"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="DUO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="HEATH"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="EPITX"; ROM_CONFIG="std"; bash Build.sh
|
||||
# ROM_PLATFORM="MON"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="NABU"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="FZ80"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="UNA"; ROM_CONFIG="std"; bash Build.sh
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,51 +1,66 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; DUODYNE STANDARD CONFIGURATION
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR DUODYNE
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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.
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
|
||||
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
|
||||
;
|
||||
; 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.
|
||||
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
|
||||
;
|
||||
; 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!
|
||||
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
|
||||
; |
|
||||
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
|
||||
; |
|
||||
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
|
||||
; |
|
||||
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
|
||||
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
|
||||
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
|
||||
; OVERRIDE THESE SETTINGS AS DESIRED.
|
||||
;
|
||||
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
|
||||
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
|
||||
; MODIFIED.
|
||||
;
|
||||
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
|
||||
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
|
||||
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
|
||||
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
|
||||
;
|
||||
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
|
||||
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
|
||||
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
|
||||
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
|
||||
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
|
||||
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_duo.asm"
|
||||
;
|
||||
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
;
|
||||
DMAENABLE .SET TRUE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
#INCLUDE "cfg_DUO.asm"
|
||||
;
|
||||
BATCOND .SET TRUE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
;
|
||||
ROMSIZE .SET 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
;
|
||||
PCFENABLE .SET TRUE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
;
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
MDFFENABLE .SET FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
;
|
||||
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
ESPENABLE .SET FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
ESPENABLE .SET FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
DMAENABLE .SET TRUE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
|
||||
@@ -1,37 +1,57 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; DYNO STANDARD CONFIGURATION
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR DYNO
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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.
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
|
||||
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
|
||||
;
|
||||
; 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.
|
||||
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
|
||||
;
|
||||
; 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!
|
||||
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
|
||||
; |
|
||||
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
|
||||
; |
|
||||
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
|
||||
; |
|
||||
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
|
||||
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
|
||||
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
|
||||
; OVERRIDE THESE SETTINGS AS DESIRED.
|
||||
;
|
||||
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
|
||||
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
|
||||
; MODIFIED.
|
||||
;
|
||||
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
|
||||
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
|
||||
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
|
||||
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
|
||||
;
|
||||
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
|
||||
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
|
||||
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
|
||||
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
|
||||
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
|
||||
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_dyno.asm"
|
||||
#INCLUDE "cfg_DYNO.asm"
|
||||
;
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
;
|
||||
|
||||
@@ -1,34 +1,52 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; Z180 Mini ITX STANDARD CONFIGURATION
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR Z180 MINI ITX
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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.
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
|
||||
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
|
||||
;
|
||||
; 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.
|
||||
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
|
||||
;
|
||||
; 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!
|
||||
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
|
||||
; |
|
||||
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
|
||||
; |
|
||||
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
|
||||
; |
|
||||
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
|
||||
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
|
||||
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
|
||||
; OVERRIDE THESE SETTINGS AS DESIRED.
|
||||
;
|
||||
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
|
||||
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
|
||||
; MODIFIED.
|
||||
;
|
||||
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
|
||||
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
|
||||
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
|
||||
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
|
||||
;
|
||||
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
|
||||
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
|
||||
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
|
||||
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
|
||||
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
|
||||
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "Z180 MiniITX"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_epitx.asm"
|
||||
;
|
||||
CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
#INCLUDE "cfg_EPITX.asm"
|
||||
;
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
;
|
||||
@@ -36,9 +54,8 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
;
|
||||
LEDENABLE .SET FALSE ; ENABLE STATUS LED (SINGLE LED)
|
||||
LEDENABLE .SET FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
@@ -50,10 +67,8 @@ SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
FDMODE .SET FDMODE_EPFDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3]
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_EPFDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
;
|
||||
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
;
|
||||
@@ -62,3 +77,4 @@ PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM
|
||||
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
;
|
||||
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
|
||||
@@ -1,30 +1,50 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; S100 FPGZ Z80 STANDARD CONFIGURATION
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR S100 FPGA Z80
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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.
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
|
||||
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
|
||||
;
|
||||
; 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.
|
||||
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
|
||||
;
|
||||
; 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!
|
||||
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
|
||||
; |
|
||||
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
|
||||
; |
|
||||
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
|
||||
; |
|
||||
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
|
||||
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
|
||||
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
|
||||
; OVERRIDE THESE SETTINGS AS DESIRED.
|
||||
;
|
||||
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
|
||||
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
|
||||
; MODIFIED.
|
||||
;
|
||||
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
|
||||
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
|
||||
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
|
||||
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
|
||||
;
|
||||
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
|
||||
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
|
||||
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
|
||||
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
|
||||
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
|
||||
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_fz80.asm"
|
||||
#INCLUDE "cfg_FZ80.asm"
|
||||
;
|
||||
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
|
||||
90
Source/HBIOS/Config/GMZ180_std.asm
Normal file
@@ -0,0 +1,90 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR GENESIS STD Z180
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
|
||||
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
|
||||
;
|
||||
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
|
||||
;
|
||||
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
|
||||
; |
|
||||
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
|
||||
; |
|
||||
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
|
||||
; |
|
||||
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
|
||||
;
|
||||
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
|
||||
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
|
||||
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
|
||||
; OVERRIDE THESE SETTINGS AS DESIRED.
|
||||
;
|
||||
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
|
||||
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
|
||||
; MODIFIED.
|
||||
;
|
||||
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
|
||||
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
|
||||
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
|
||||
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
|
||||
;
|
||||
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
|
||||
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
|
||||
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
|
||||
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
|
||||
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
|
||||
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "GM STD BUS Z180", " [", CONFIG, "]"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#INCLUDE "cfg_GMZ180.asm"
|
||||
;
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
;
|
||||
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .SET $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
LEDENABLE .SET FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU]
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
;
|
||||
FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_GM ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
;
|
||||
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
|
||||
@@ -1,69 +1,47 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; HEATH H8 Z80 STANDARD CONFIGURATION
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR HEATH H8 Z80
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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.
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
|
||||
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
|
||||
;
|
||||
; 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.
|
||||
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
|
||||
;
|
||||
; 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!
|
||||
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
|
||||
; |
|
||||
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
|
||||
; |
|
||||
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
|
||||
; |
|
||||
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
|
||||
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
|
||||
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
|
||||
; OVERRIDE THESE SETTINGS AS DESIRED.
|
||||
;
|
||||
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
|
||||
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
|
||||
; MODIFIED.
|
||||
;
|
||||
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
|
||||
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
|
||||
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
|
||||
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
|
||||
;
|
||||
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
|
||||
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
|
||||
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
|
||||
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
|
||||
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
|
||||
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_heath.asm"
|
||||
;
|
||||
CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
DSKYENABLE .SET TRUE ; ENABLES DSKY FUNCTIONALITY
|
||||
H8PENABLE .SET TRUE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|PIO|USR]
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT SC ONLY
|
||||
IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
|
||||
;
|
||||
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
#INCLUDE "cfg_HEATH.asm"
|
||||
|
||||
@@ -1,59 +1,75 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; MBC CONFIGURATION
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR NHYODYNE
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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.
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
|
||||
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
|
||||
;
|
||||
; 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.
|
||||
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
|
||||
;
|
||||
; 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!
|
||||
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
|
||||
; |
|
||||
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
|
||||
; |
|
||||
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
|
||||
; |
|
||||
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
|
||||
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
|
||||
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
|
||||
; OVERRIDE THESE SETTINGS AS DESIRED.
|
||||
;
|
||||
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
|
||||
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
|
||||
; MODIFIED.
|
||||
;
|
||||
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
|
||||
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
|
||||
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
|
||||
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
|
||||
;
|
||||
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
|
||||
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
|
||||
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
|
||||
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
|
||||
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
|
||||
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_mbc.asm"
|
||||
;
|
||||
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
INTMODE .SET 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
;
|
||||
DMAENABLE .SET FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
#INCLUDE "cfg_MBC.asm"
|
||||
;
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
CPUSPDDEF .SET SPD_LOW ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
;
|
||||
ROMSIZE .SET 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
;
|
||||
MDFFENABLE .SET FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
ROMSIZE .SET 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
;
|
||||
DSKYENABLE .SET TRUE ; ENABLES DSKY FUNCTIONALITY
|
||||
ICMENABLE .SET FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
PKDENABLE .SET TRUE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
;
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
;
|
||||
ESPENABLE .SET TRUE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
LPTENABLE .SET TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
CVDUMON .SET CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
MDFFENABLE .SET FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
;
|
||||
ESPENABLE .SET TRUE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
DMAENABLE .SET FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
|
||||
@@ -1,54 +1,74 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; MARK IV STANDARD CONFIGURATION
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR MARK IV
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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.
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
|
||||
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
|
||||
;
|
||||
; 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.
|
||||
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
|
||||
;
|
||||
; 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!
|
||||
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
|
||||
; |
|
||||
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
|
||||
; |
|
||||
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
|
||||
; |
|
||||
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
|
||||
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
|
||||
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
|
||||
; OVERRIDE THESE SETTINGS AS DESIRED.
|
||||
;
|
||||
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
|
||||
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
|
||||
; MODIFIED.
|
||||
;
|
||||
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
|
||||
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
|
||||
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
|
||||
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
|
||||
;
|
||||
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
|
||||
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
|
||||
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
|
||||
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
|
||||
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
|
||||
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_mk4.asm"
|
||||
#INCLUDE "cfg_MK4.asm"
|
||||
;
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
;
|
||||
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET TRUE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
VGAENABLE .SET TRUE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_DIDE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
FDMODE .SET FDMODE_DIDE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_MK4 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC]
|
||||
SDMODE .SET SDMODE_MK4 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
|
||||
;
|
||||
PRPENABLE .SET TRUE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
|
||||
@@ -1,30 +1,50 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; MONSPUTER Z80 STANDARD CONFIGURATION
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR MONSPUTER Z80
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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.
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
|
||||
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
|
||||
;
|
||||
; 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.
|
||||
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
|
||||
;
|
||||
; 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!
|
||||
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
|
||||
; |
|
||||
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
|
||||
; |
|
||||
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
|
||||
; |
|
||||
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
|
||||
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
|
||||
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
|
||||
; OVERRIDE THESE SETTINGS AS DESIRED.
|
||||
;
|
||||
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
|
||||
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
|
||||
; MODIFIED.
|
||||
;
|
||||
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
|
||||
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
|
||||
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
|
||||
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
|
||||
;
|
||||
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
|
||||
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
|
||||
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
|
||||
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
|
||||
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
|
||||
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_mon.asm"
|
||||
#INCLUDE "cfg_MON.asm"
|
||||
;
|
||||
CPUOSC .SET 4000000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
|
||||