mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Compare commits
426 Commits
v3.5.0-dev
...
v3.5.0-rc.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
39afeda279 | ||
|
|
23c5f7b8c0 | ||
|
|
91c7349026 | ||
|
|
80995f5264 | ||
|
|
56c9edb547 | ||
|
|
af21691d4e | ||
|
|
3a228e3c1f | ||
|
|
d299a9009f | ||
|
|
667aeeb24d | ||
|
|
067560ae74 | ||
|
|
ef0656f162 | ||
|
|
a8a5a85c5c | ||
|
|
4dcd00089e | ||
|
|
f4caf244af | ||
|
|
a91deeb347 | ||
|
|
3804c69428 | ||
|
|
1b45d32af2 | ||
|
|
83e3b8f24f | ||
|
|
29f6fea4aa | ||
|
|
bf61350280 | ||
|
|
ecf2cdfba2 | ||
|
|
9fc2c6129b | ||
|
|
8f80f2f9cd | ||
|
|
81d81952d3 | ||
|
|
ed532cb51b | ||
|
|
a46e05258c | ||
|
|
a35dbefeda | ||
|
|
74f4149034 | ||
|
|
34cc40f459 | ||
|
|
6f5aa06fb3 | ||
|
|
b28e308bfd | ||
|
|
3d23cea071 | ||
|
|
f7b8efd964 | ||
|
|
3c7e3d7586 | ||
|
|
f359f5fb61 | ||
|
|
50deb280b5 | ||
|
|
7654a6b2ed | ||
|
|
dd9e7d6532 | ||
|
|
37ebfefea3 | ||
|
|
6d8ecbb49a | ||
|
|
dfb005ae9e | ||
|
|
5806522402 | ||
|
|
930bcce7da | ||
|
|
ad7d7638d3 | ||
|
|
da05245b4a | ||
|
|
9469aaf333 | ||
|
|
363218b0eb | ||
|
|
1de5458ad7 | ||
|
|
3c0e4a195e | ||
|
|
30866ccbae | ||
|
|
858d680371 | ||
|
|
252e9077e6 | ||
|
|
6c06413dfe | ||
|
|
a8ee0ca19b | ||
|
|
5a48cc5b42 | ||
|
|
ae9b9f9c14 | ||
|
|
874f1b999e | ||
|
|
64611e1df4 | ||
|
|
ebe1504d75 | ||
|
|
6dc4be24e1 | ||
|
|
257fa5407b | ||
|
|
b8fbe0094c | ||
|
|
9c815a6b4c | ||
|
|
2d854510e3 | ||
|
|
374c0675f1 | ||
|
|
766a65bed0 | ||
|
|
7ecd0aa574 | ||
|
|
c5280b3ebd | ||
|
|
8756937946 | ||
|
|
de94085558 | ||
|
|
7d1cbe0f70 | ||
|
|
8e189b4a4a | ||
|
|
c1866d7091 | ||
|
|
eca0370c65 | ||
|
|
ee7c28c119 | ||
|
|
1ae6274e45 | ||
|
|
0adef71f6a | ||
|
|
d4195b2908 | ||
|
|
33603ed826 | ||
|
|
1279daa2fc | ||
|
|
ab4f43c6bb | ||
|
|
e4bbeece09 | ||
|
|
997c3fbcde | ||
|
|
14c8eddcbd | ||
|
|
81d99a76fc | ||
|
|
4555bdec11 | ||
|
|
9103304399 | ||
|
|
1ab10410a8 | ||
|
|
8a16b851ad | ||
|
|
a27f2479af | ||
|
|
f50ae14f9e | ||
|
|
b02aecb45d | ||
|
|
4e716c6b74 | ||
|
|
63460a982b | ||
|
|
c6d5d41933 | ||
|
|
5544275e0d | ||
|
|
f976ede2d1 | ||
|
|
751cc62a81 | ||
|
|
77b98260e9 | ||
|
|
986acd481b | ||
|
|
f8f46c630a | ||
|
|
4df6f00ed9 | ||
|
|
6647b09cf7 | ||
|
|
f36a90afae | ||
|
|
3c3ae4c6ab | ||
|
|
4110c67db4 | ||
|
|
4ac6a7d706 | ||
|
|
1b7ef20ad1 | ||
|
|
913a9caa87 | ||
|
|
58444fb213 | ||
|
|
7917f0a5ad | ||
|
|
8d8868e5d5 | ||
|
|
a6b3b980f2 | ||
|
|
d5c331076c | ||
|
|
bb4a64c35d | ||
|
|
757f0b08ff | ||
|
|
5bb168eb6e | ||
|
|
cee3f8af78 | ||
|
|
70cc884014 | ||
|
|
e4475b5e99 | ||
|
|
2e216d6bf5 | ||
|
|
e428e7ff8e | ||
|
|
083715e097 | ||
|
|
b0bb87ba0a | ||
|
|
83cd133c66 | ||
|
|
327a21ee10 | ||
|
|
0d645cec30 | ||
|
|
82d28e143b | ||
|
|
c0b48a007c | ||
|
|
60b143fe01 | ||
|
|
be618e07a6 | ||
|
|
893da14d50 | ||
|
|
83ef709a71 | ||
|
|
5f54db2d60 | ||
|
|
33e6fdadd7 | ||
|
|
fe947248bd | ||
|
|
b7c9a3b821 | ||
|
|
fa8df65b50 | ||
|
|
26a87a16a8 | ||
|
|
66bc219b32 | ||
|
|
0ad7431528 | ||
|
|
e433eb4962 | ||
|
|
b5b9098429 | ||
|
|
49ff4e4bc0 | ||
|
|
59a7b6c42d | ||
|
|
f9ed5651e6 | ||
|
|
efb9ac21f0 | ||
|
|
a8f2aa71cc | ||
|
|
043600595f | ||
|
|
c106b75261 | ||
|
|
55336ac010 | ||
|
|
778231dc80 | ||
|
|
61d9555dc0 | ||
|
|
4b963c3ab4 | ||
|
|
2788fa4fdf | ||
|
|
1468cecfad | ||
|
|
8f75441317 | ||
|
|
007e8a372a | ||
|
|
7606abb8f3 | ||
|
|
e3192bfbe6 | ||
|
|
9d7adbec63 | ||
|
|
2d1811dcb4 | ||
|
|
cfa86a9f2a | ||
|
|
7a663e2a3c | ||
|
|
1a73a9614b | ||
|
|
660bb20bba | ||
|
|
f03dcf7193 | ||
|
|
64dbf4ff35 | ||
|
|
edd0e58031 | ||
|
|
887311827a | ||
|
|
ce98947d07 | ||
|
|
5d92341189 | ||
|
|
2a501566d7 | ||
|
|
56a1e86788 | ||
|
|
9c51d56c6a | ||
|
|
736e4e276c | ||
|
|
14486c0276 | ||
|
|
6edb7bb0c7 | ||
|
|
dbde08cc74 | ||
|
|
f61d96bf93 | ||
|
|
b032694e01 | ||
|
|
6c96afcb5a | ||
|
|
73a7338140 | ||
|
|
925b2870eb | ||
|
|
65413e50d1 | ||
|
|
a0ae357d9b | ||
|
|
e6b2cf7f55 | ||
|
|
b0bafb70e4 | ||
|
|
2fccb9dac7 | ||
|
|
7f07af1b62 | ||
|
|
02895a7d84 | ||
|
|
9713ca445c | ||
|
|
f6ef90fe14 | ||
|
|
7a87dd6805 | ||
|
|
5e0f9b3e89 | ||
|
|
c60d46d773 | ||
|
|
72527366cb | ||
|
|
de426b9833 | ||
|
|
c7923bbcff | ||
|
|
29b2bec1e7 | ||
|
|
e97c0d7288 | ||
|
|
68d88be975 | ||
|
|
cecb72f20d | ||
|
|
d7225f40cd | ||
|
|
99bf1799a6 | ||
|
|
3470b9a656 | ||
|
|
803d1b2d4a | ||
|
|
a410e81689 | ||
|
|
8b299428b3 | ||
|
|
76567d1e53 | ||
|
|
0683b0f483 | ||
|
|
b802915067 | ||
|
|
497fa3cdf3 | ||
|
|
5ddde9cee2 | ||
|
|
e946116cc8 | ||
|
|
e7fb74b73f | ||
|
|
683121ace2 | ||
|
|
a3a3b20ded | ||
|
|
ba25ff879a | ||
|
|
93f1964052 | ||
|
|
33df7fab30 | ||
|
|
65fa595602 | ||
|
|
355902fe25 | ||
|
|
19d1547606 | ||
|
|
582b73cee0 | ||
|
|
063a15c338 | ||
|
|
830195cd42 | ||
|
|
1fe47c4100 | ||
|
|
0c7dfa0ae7 | ||
|
|
0113852f7b | ||
|
|
dde7a46b87 | ||
|
|
22290294ef | ||
|
|
3f5a3683f7 | ||
|
|
dbbfd5dfcc | ||
|
|
55fa39730a | ||
|
|
610c0f7856 | ||
|
|
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 | ||
|
|
141c79ef90 | ||
|
|
7d5dc565f3 | ||
|
|
b3bab80342 | ||
|
|
9898309f29 | ||
|
|
55d8c6ce7d | ||
|
|
0eb0855948 | ||
|
|
37e682adc7 | ||
|
|
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 | ||
|
|
81da5af7ae | ||
|
|
7b5f1f3884 |
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -31,6 +31,8 @@ jobs:
|
||||
echo "Tag: ${{github.ref_name}}"
|
||||
if grep -q "dev" <<< "${{github.ref_name}}"; then
|
||||
TITLE="RomWBW Development Snapshot"
|
||||
elif grep -q "beta" <<< "${{github.ref_name}}"; then
|
||||
TITLE="RomWBW Beta Release"
|
||||
elif grep -q "pre" <<< "${{github.ref_name}}"; then
|
||||
TITLE="RomWBW Prerelease"
|
||||
elif grep -q "rc" <<< "${{github.ref_name}}"; then
|
||||
|
||||
144
.gitignore
vendored
144
.gitignore
vendored
@@ -20,7 +20,7 @@
|
||||
|
||||
Binary/**/*.mym
|
||||
Binary/**/*.pt3
|
||||
!Binary/CPNET/NetBoot/cpnos-wbw.sys
|
||||
!Binary/CPNET/NetBoot/*/cpnos.sys
|
||||
|
||||
Source/**/eeprom
|
||||
Source/Apps/Assign.com
|
||||
@@ -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
|
||||
@@ -97,6 +98,7 @@ Tools/unix/zx/zx
|
||||
!Source/ZSDOS/*.[Cc][Oo][Mm]
|
||||
!Source/ZRC/*.bin
|
||||
!Source/ZRC512/*.bin
|
||||
!Source/EZ512/*.bin
|
||||
!Source/Z1RCC/*.bin
|
||||
!Source/ZZRCC/*.bin
|
||||
!Source/FZ80/*.bin
|
||||
@@ -110,4 +112,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
4
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"files.trimTrailingWhitespace": false,
|
||||
"files.eol": "\r\n"
|
||||
}
|
||||
@@ -11,3 +11,4 @@ if exist Tunes\*.vgm del Tunes\*.vgm
|
||||
if exist bbcbasic.txt del bbcbasic.txt
|
||||
|
||||
pushd Test && call Clean || exit /b 1 & popd
|
||||
pushd ZDE && call Clean || exit /b 1 & popd
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
TOOLS = ../../Tools
|
||||
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.com)
|
||||
SUBDIRS = Test
|
||||
SUBDIRS = Test ZDE
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
|
||||
4
Binary/Apps/ZDE/Clean.cmd
Normal file
4
Binary/Apps/ZDE/Clean.cmd
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.com del *.com
|
||||
6
Binary/Apps/ZDE/Makefile
Normal file
6
Binary/Apps/ZDE/Makefile
Normal file
@@ -0,0 +1,6 @@
|
||||
TOOLS = ../../../Tools
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
clean::
|
||||
@rm -f *.com
|
||||
10
Binary/Apps/ZDE/ReadMe.txt
Normal file
10
Binary/Apps/ZDE/ReadMe.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
***********************************************************************
|
||||
*** ***
|
||||
*** R o m W B W ***
|
||||
*** ***
|
||||
*** Z80/Z180 System Software ***
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory contains the ZDE executable binaries. They are
|
||||
in their original, unconfigured state.
|
||||
4
Binary/CPM22/Clean.cmd
Normal file
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
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
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.
|
||||
BIN
Binary/CPNET/NetBoot/DUO/cpnos.sys
Normal file
BIN
Binary/CPNET/NetBoot/DUO/cpnos.sys
Normal file
Binary file not shown.
BIN
Binary/CPNET/NetBoot/DUO/snios.spr
Normal file
BIN
Binary/CPNET/NetBoot/DUO/snios.spr
Normal file
Binary file not shown.
BIN
Binary/CPNET/NetBoot/MT/ccp.spr
Normal file
BIN
Binary/CPNET/NetBoot/MT/ccp.spr
Normal file
Binary file not shown.
BIN
Binary/CPNET/NetBoot/MT/ndos.spr
Normal file
BIN
Binary/CPNET/NetBoot/MT/ndos.spr
Normal file
Binary file not shown.
@@ -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
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
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
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
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
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
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.
|
||||
@@ -30,10 +30,13 @@ The original DRI CP/M 3.0 Operating System Documentation Set. This
|
||||
should be considered the primary reference for CP/M 3 system operation.
|
||||
|
||||
|
||||
NZCOM User's Manual ("NZCOM Users Manual.pdf")
|
||||
----------------------------------------------
|
||||
NZCOM, Z3PLUS, and replace ZCPR3.3 Documentation
|
||||
------------------------------------------------
|
||||
|
||||
NZCOM operating system operation manual.
|
||||
NZCOM operating system operation manual. ("NZCOM Users Manual.pdf")
|
||||
Z3PLUS operating system operation manual. ("Z3PLUS Users Manual.pdf")
|
||||
Z-System User Guide ("Z-System User Guide.pdf")
|
||||
ZCPR3.3 Users Guide ("ZCPR3.3 Users Guide.pdf")
|
||||
|
||||
|
||||
QP/M 2.7 Installation Guide and Supplements ("qpm27.pdf")
|
||||
|
||||
BIN
Doc/CPM/Z-System Users Guide.pdf
Normal file
BIN
Doc/CPM/Z-System Users Guide.pdf
Normal file
Binary file not shown.
6773
Doc/CPM/Z3PLUS Users Manual.pdf
Normal file
6773
Doc/CPM/Z3PLUS Users Manual.pdf
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Doc/CPM/ZCPR3.3 User Guide.pdf
Normal file
BIN
Doc/CPM/ZCPR3.3 User Guide.pdf
Normal file
Binary file not shown.
@@ -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)
|
||||
@@ -29,6 +29,33 @@ Version 3.5
|
||||
- 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 that allows disk slices to be copied
|
||||
- MAP: Added new HBIOS function EXT_SLICE, extended disk slice info
|
||||
- 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
|
||||
- MAP: Significant improvement in Disk Catalog document
|
||||
- MAP: Added Disk Image for the Z3PLUS (Z-System for CP/M-Plus) os.
|
||||
- H?H: Fix XModem 12.3 WRERR to put CAN char in proper register to send.
|
||||
- MAP: Added support for dynamic HBIOS config via (RTC) NVRAM
|
||||
- MAP: Added boot application to allow config of NVRAM options
|
||||
- MAP: Configuration of autoboot disk/app added to NVRAM config
|
||||
- WBW: Autoboot is now handled in separate prompt during RomWBW startup
|
||||
- MAP: Added additional tools (Linker/Disasembler) to the Z80ASM Disk Image
|
||||
- PMS: Support interrupt-driven PS2 Keyboard Interface
|
||||
- D?M: Added NetBoot support for Duodyne
|
||||
- WBW: Add options to TUNE/HBIOS to force detection of MSX and RC AY/YM standard PSG ports
|
||||
- MAP: Added /B=OPTIONS for automated drive assignment to ASSIGN.COM
|
||||
|
||||
Version 3.4
|
||||
-----------
|
||||
@@ -697,4 +724,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.
|
||||
|
||||
|
||||
Binary file not shown.
9860
Doc/Language/SLR180 (SLR Systems 1985).pdf
Executable file
9860
Doc/Language/SLR180 (SLR Systems 1985).pdf
Executable file
File diff suppressed because one or more lines are too long
BIN
Doc/Language/SLRNK (SLR Systems 1984).pdf
Normal file
BIN
Doc/Language/SLRNK (SLR Systems 1984).pdf
Normal file
Binary file not shown.
BIN
Doc/Language/The Cowgol Language.pdf
Normal file
BIN
Doc/Language/The Cowgol Language.pdf
Normal file
Binary file not shown.
BIN
Doc/Language/Z80DIS User Manual (1985).pdf
Normal file
BIN
Doc/Language/Z80DIS User Manual (1985).pdf
Normal file
Binary file not shown.
@@ -31,9 +31,9 @@ Log of changes in RomWBW by version.
|
||||
RomWBW User Guide ("RomWBW User Guide.pdf")
|
||||
RomWBW System Guide ("RomWBW System Guide.pdf")
|
||||
RomWBW Applications ("RomWBW Applications.pdf")
|
||||
RomWBW ROM Applications ("RomWBW ROM Applications.pdf")
|
||||
RomWBW Disk Catalog ("RomWBW Disk Catalog.pdf")
|
||||
RomWBW Errata ("RomWBW Errata.pdf")
|
||||
RomWBW Hardware ("RomWBW Hardware.pdf")
|
||||
|
||||
-------------------------------------------------------
|
||||
|
||||
Documentation set for RomWBW. The primary document is the
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Doc/RomWBW Hardware.pdf
Normal file
BIN
Doc/RomWBW Hardware.pdf
Normal file
Binary file not shown.
BIN
Doc/RomWBW Introduction.pdf
Normal file
BIN
Doc/RomWBW Introduction.pdf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
48
Dockerfile
Normal file
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
|
||||
2
Makefile
2
Makefile
@@ -28,4 +28,4 @@ dist:
|
||||
$(MAKE) --directory Source clean
|
||||
|
||||
distlog:
|
||||
$(MAKE) dist 2>&1 | tee make.log
|
||||
time -p $(MAKE) dist 2>&1 | tee make.log
|
||||
|
||||
96
RELEASE_NOTES.md
Normal file
96
RELEASE_NOTES.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# RomWBW Release Notes
|
||||
|
||||
This file contains information useful to those upgrading to a new
|
||||
release of RomWBW.
|
||||
|
||||
## All Versions
|
||||
|
||||
- **Please** review the "Upgrading" Section of the RomWBW User Guide.
|
||||
|
||||
- The RomWBW ROM and the RomWBW disk images are intended to be a
|
||||
matched set. After upgrading your ROM, it is important to update
|
||||
the OS boot tracks of your disks as well as the RomWBW-specific
|
||||
applications. This is discussed in the "Upgrading" section of the
|
||||
RomWBW User Guide.
|
||||
|
||||
## Version 3.5
|
||||
|
||||
### Upgrade Notes
|
||||
|
||||
- RomWBW is now more strict with respect to hard disk partition
|
||||
tables. If your hard disk media was created using any of the
|
||||
pre-built disk image files, this will **not** affect you. Otherwise,
|
||||
you may find you are unable to access slices beyond the first
|
||||
slice. If so, use `FDISK80` to reset the partition table on the
|
||||
disk. This will restore normal access to all slices. **Only** do
|
||||
this if you are having an issue.
|
||||
|
||||
- For those building custom ROMs that are overriding `DEFSERCFG`, note
|
||||
that this setting has been moved to a `#DEFINE` instead of an equate
|
||||
(`.SET` or `.EQU`). You will find this `#DEFINE` at the top of all
|
||||
standard config files. You will need to change your setting to a
|
||||
`#DEFINE` at the top of your config file and remove any `.SET` or
|
||||
`.EQU` lines for `DEFSERCFG`.
|
||||
|
||||
- Combining config settings `AUTOCON` and `VDAEMU_SERKBD` causes issues
|
||||
at the boot loader prompt. So, all config files have been changed to
|
||||
consistently enable `AUTOCON` and disable `VDAEMU_SERKBD` (`$FF`). If
|
||||
are want to use `VDAEMU_SERKBD`, you need to set it in your config
|
||||
file as well as disabling AUTOCON.
|
||||
|
||||
### New Features
|
||||
|
||||
- RC2014 Front Panel and LCD Screen support.
|
||||
|
||||
- Console "takeover" support at Boot Loader prompt by pressing the
|
||||
<space> key twice on an alternate console device.
|
||||
|
||||
- Cowgol disk image based on the work of Ladislau Szilagyi.
|
||||
|
||||
- TMS video is automatically reset after an OS warm boot which
|
||||
allows OS to recover from applications that reprogram the TMS
|
||||
video display controller.
|
||||
|
||||
- Implemented "application" RAM banks that can be discovered via
|
||||
the HBIOS API.
|
||||
|
||||
- Documentation improvements (Mark Pruden), including:
|
||||
|
||||
- Reorganization into multiple directories.
|
||||
- Improved Disk Management section in User Guide.
|
||||
- Overhaul of Disk Catalog.
|
||||
|
||||
- Disk image for Z3PLUS (Mark Pruden).
|
||||
|
||||
- `REBOOT` application added (Martin R). Also, reboot capability
|
||||
added to `CPUSPD` utility.
|
||||
|
||||
- `COPYSL` slice copy application (Mark Pruden).
|
||||
|
||||
- Improved disk slice management and protection (Mark Pruden).
|
||||
|
||||
- Initial NVRAM configuration support (Mark Pruden).
|
||||
|
||||
- Enhancements to ASSIGN command to automatically assign drives
|
||||
(Mark Pruden).
|
||||
|
||||
|
||||
### New Hardware Support
|
||||
|
||||
- NABU w/ RomWBW Option Board.
|
||||
|
||||
- EF9345 video display controller driver (Laszlo Szolnoki).
|
||||
|
||||
- Duodyne Disk I/O (CP/NET) and Media boards.
|
||||
|
||||
- PS/2 keyboard interface on RCBus systems.
|
||||
|
||||
- S100 FPGA-based Z80 including console, SD Cards, and RTC.
|
||||
|
||||
- Support for 16C550-family UART support on additional platforms.
|
||||
|
||||
- Genesis STD Bus Z180 platform (Doug Jackson).
|
||||
|
||||
- Support for Dinoboard eZ80 CPU board provided by Dean Netherton.
|
||||
|
||||
- Added interrupt support to PS/2 keyboard driver by Phil Summers.
|
||||
275
ReadMe.md
275
ReadMe.md
@@ -1,17 +1,22 @@
|
||||
|
||||
|
||||
**RomWBW ReadMe** \
|
||||
|
||||
|
||||
|
||||
|
||||
**RomWBW Introduction** \
|
||||
Version 3.5 \
|
||||
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
|
||||
01 Aug 2024
|
||||
03 Apr 2025
|
||||
|
||||
# Overview
|
||||
|
||||
RomWBW software provides a complete, commercial quality implementation
|
||||
of CP/M (and workalike) operating systems and applications for modern
|
||||
Z80/180/280 retro-computing hardware systems. A wide variety of
|
||||
platforms are supported including those produced by these developer
|
||||
communities:
|
||||
Z80/180/280 retro-computing hardware systems.
|
||||
|
||||
A wide variety of platforms are supported including those produced by
|
||||
these developer communities:
|
||||
|
||||
- [RetroBrew Computers](https://www.retrobrewcomputers.org)
|
||||
(<https://www.retrobrewcomputers.org>)
|
||||
@@ -23,10 +28,21 @@ communities:
|
||||
- [Small Computer Central](https://smallcomputercentral.com/)
|
||||
(<https://smallcomputercentral.com/>)
|
||||
|
||||
A complete list of the currently supported platforms is found in the
|
||||
\[Installation\] section.
|
||||
A complete list of the currently supported platforms is found in [RomWBW
|
||||
Hardware](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Hardware.pdf)
|
||||
.
|
||||
|
||||
General features include:
|
||||
# Description
|
||||
|
||||
## Primary Features
|
||||
|
||||
By design, RomWBW isolates all of the hardware specific functions in the
|
||||
ROM chip itself. The ROM provides a hardware abstraction layer such that
|
||||
all of the operating systems and applications on a disk will run on any
|
||||
RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB
|
||||
Card) and move it between systems transparently.
|
||||
|
||||
Supported hardware features of RomWBW include:
|
||||
|
||||
- Z80 Family CPUs including Z80, Z180, and Z280
|
||||
- Banked memory services for several banking designs
|
||||
@@ -36,34 +52,19 @@ General features include:
|
||||
- Video drivers including TMS9918, SY6545, MOS8563, HD6445
|
||||
- Keyboard (PS/2) drivers via VT8242 or PPI interfaces
|
||||
- Real time clock drivers including DS1302, BQ4845
|
||||
- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and
|
||||
FreeRTOS
|
||||
- Support for CP/NET networking using Wiznet, MT011 or Serial
|
||||
- Built-in VT-100 terminal emulation support
|
||||
|
||||
RomWBW is distributed as both source code and pre-built ROM and disk
|
||||
images. Some of the provided software can be launched directly from the
|
||||
ROM firmware itself:
|
||||
|
||||
- System Monitor
|
||||
- Operating Systems (CP/M 2.2, ZSDOS)
|
||||
- ROM BASIC (Nascom BASIC and Tasty BASIC)
|
||||
- ROM Forth
|
||||
|
||||
A dynamic disk drive letter assignment mechanism allows mapping
|
||||
operating system drive letters to any available disk media.
|
||||
Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.)
|
||||
support the use of multiple slices (up to 256 per device). Each slice
|
||||
contains a complete CP/M filesystem and can be mapped independently to
|
||||
any drive letter. This overcomes the inherent size limitations in legacy
|
||||
OSes and allows up to 2GB of accessible storage on a single device.
|
||||
OSes and allows up to 2GB of addressable storage on a single device,
|
||||
with up to 128MB accessible at any one time.
|
||||
|
||||
The pre-built ROM firmware images are generally suitable for most users.
|
||||
However, it is also very easy to modify and build custom ROM images that
|
||||
fully tailor the firmware to your specific preferences. All tools
|
||||
required to build custom ROM firmware under Windows are included – no
|
||||
need to install assemblers, etc. The firmware can also be built using
|
||||
Linux or MacOS after confirming a few standard tools have been
|
||||
installed.
|
||||
## Included Software
|
||||
|
||||
Multiple disk images are provided in the distribution. Most disk images
|
||||
contain a complete, bootable, ready-to-run implementation of a specific
|
||||
@@ -72,37 +73,79 @@ with a full operating system implementation. If you use this disk image,
|
||||
you can easily pick whichever operating system you want to boot without
|
||||
changing media.
|
||||
|
||||
By design, RomWBW isolates all of the hardware specific functions in the
|
||||
ROM chip itself. The ROM provides a hardware abstraction layer such that
|
||||
all of the operating systems and applications on a disk will run on any
|
||||
RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB
|
||||
Card) and move it between systems transparently.
|
||||
Some of the included software:
|
||||
|
||||
- Operating Systems (CP/M 2.2, ZSDOS, NZ-COM, CP/M 3, ZPM3, Z3PLUS, QPM
|
||||
)
|
||||
- Support for other operating systems, p-System, FreeRTOS, and FUZIX.
|
||||
- Programming Tools (Z80ASM, Turbo Pascal, Forth, Cowgol)
|
||||
- C Compiler’s including Aztec-C, and HI-TECH C
|
||||
- Microsoft Basic Compiler, and Microsoft Fortran
|
||||
- Some games such as Colossal Cave, Zork, etc
|
||||
- Wordstar Word processing software
|
||||
|
||||
Some of the provided software can be launched directly from the ROM
|
||||
firmware itself:
|
||||
|
||||
- System Monitor
|
||||
- Operating Systems (CP/M 2.2, ZSDOS)
|
||||
- ROM BASIC (Nascom BASIC and Tasty BASIC)
|
||||
- ROM Forth
|
||||
|
||||
A tool is provided that allows you to access a FAT-12/16/32 filesystem.
|
||||
The FAT filesystem may be coresident on the same disk media as RomWBW
|
||||
slices or on stand-alone media. This makes exchanging files with modern
|
||||
OSes such as Windows, MacOS, and Linux very easy.
|
||||
|
||||
# Acquiring RomWBW
|
||||
## ROM Distribution
|
||||
|
||||
The [RomWBW Repository](https://github.com/wwarthen/RomWBW)
|
||||
(<https://github.com/wwarthen/RomWBW>) on GitHub is the official
|
||||
distribution location for all project source and documentation. The
|
||||
fully-built distribution releases are available on the [RomWBW Releases
|
||||
Page](https://github.com/wwarthen/RomWBW/releases)
|
||||
(<https://github.com/wwarthen/RomWBW/releases>) of the repository. On
|
||||
this page, you will normally see a Development Snapshot as well as
|
||||
distribution location for all project source and documentation.
|
||||
|
||||
RomWBW is distributed as both source code and pre-built ROM and disk
|
||||
images.
|
||||
|
||||
The pre-built ROM images distributed with RomWBW are based on the
|
||||
default system configurations as determined by the hardware
|
||||
provider/designer. The pre-built ROM firmware images are generally
|
||||
suitable for most users.
|
||||
|
||||
The fully-built distribution releases are available on the [RomWBW
|
||||
Releases Page](https://github.com/wwarthen/RomWBW/releases)
|
||||
(<https://github.com/wwarthen/RomWBW/releases>) of the repository.
|
||||
|
||||
On this page, you will normally see a Development Snapshot as well as
|
||||
recent stable releases. Unless you have a specific reason, I suggest you
|
||||
stick to the most recent stable release. Expand the “Assets” drop-down
|
||||
for the release you want to download, then select the asset named
|
||||
RomWBW-vX.X.X-Package.zip. The Package asset includes all pre-built ROM
|
||||
and Disk images as well as full source code. The other assets contain
|
||||
only source code and do not have the pre-built ROM or disk images.
|
||||
stick to the most recent stable release.
|
||||
|
||||
All source code and distributions are maintained on GitHub. Code
|
||||
contributions are very welcome.
|
||||
The asset named RomWBW-vX.X.X-Package.zip includes all pre-built ROM and
|
||||
Disk images as well as full source code. The other assets contain only
|
||||
source code and do not have the pre-built ROM or disk images.
|
||||
|
||||
# Installation & Operation
|
||||
#### Distribution Directory Layout
|
||||
|
||||
The RomWBW distribution is a compressed zip archive file organized in a
|
||||
set of directories. Each of these directories has its own ReadMe.txt
|
||||
file describing the contents in detail. In summary, these directories
|
||||
are:
|
||||
|
||||
| **Directory** | **Description** |
|
||||
|----|----|
|
||||
| **Binary** | The final output files of the build process are placed here. Most importantly, the ROM images with the file names ending in “.rom” and disk images ending in .img. |
|
||||
| **Doc** | Contains various detailed documentation, both RomWBW specifically as well as the operating systems and applications. |
|
||||
| **Source** | Contains the source code files used to build the software and ROM images. |
|
||||
| **Tools** | Contains the programs that are used by the build process or that may be useful in setting up your system. |
|
||||
|
||||
#### Building from Source
|
||||
|
||||
It is also very easy to modify and build custom ROM images that fully
|
||||
tailor the firmware to your specific preferences. All tools required to
|
||||
build custom ROM firmware under Windows are included – no need to
|
||||
install assemblers, etc. The firmware can also be built using Linux or
|
||||
MacOS after confirming a few standard tools have been installed.
|
||||
|
||||
## Installation & Operation
|
||||
|
||||
In general, installation of RomWBW on your platform is very simple. You
|
||||
just need to program your ROM with the correct ROM image from the RomWBW
|
||||
@@ -113,21 +156,79 @@ functionality.
|
||||
Complete instructions for installation and operation of RomWBW are found
|
||||
in the [RomWBW User
|
||||
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf).
|
||||
It is also a good idea to review the [Release
|
||||
Notes](https://github.com/wwarthen/RomWBW/blob/master/RELEASE_NOTES.md)
|
||||
for helpful release-specific information.
|
||||
|
||||
## Documentation
|
||||
|
||||
Documentation for RomWBW includes:
|
||||
There are several documents that form the core of the RomWBW
|
||||
documentation:
|
||||
|
||||
- [RomWBW User
|
||||
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf)
|
||||
- [RomWBW System
|
||||
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20System%20Guide.pdf)
|
||||
is the main user guide for RomWBW, it covers the major topics of how
|
||||
to install, manage and use RomWBW, and includes additional guidance to
|
||||
the use of some of the operating systems supported by RomWBW
|
||||
|
||||
- [RomWBW
|
||||
Hardware](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Hardware.pdf)
|
||||
contains a description of all the hardware platforms, and devices
|
||||
supported by RomWBW.
|
||||
|
||||
- [RomWBW
|
||||
Applications](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Applications.pdf)
|
||||
- [RomWBW
|
||||
Errata](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Errata.pdf)
|
||||
is a reference for the ROM-hosted and OS-hosted applications created
|
||||
or customized to enhance the operation of RomWBW.
|
||||
|
||||
# Acknowledgments
|
||||
- [RomWBW Disk
|
||||
Catalog](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Disk%20Catalog.pdf)
|
||||
is a reference for the contents of the disk images provided with
|
||||
RomWBW, with a description of many of the files on each image
|
||||
|
||||
- [RomWBW System
|
||||
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20System%20Guide.pdf)
|
||||
discusses much of the internal design and construction of RomWBW. It
|
||||
includes a reference for the RomWBW HBIOS API functions.
|
||||
|
||||
Each of the operating systems and ROM applications included with RomWBW
|
||||
are sophisticated tools in their own right. It is not reasonable to
|
||||
fully document their usage. However, you will find complete manuals in
|
||||
PDF format in the Doc directory of the distribution. The intention of
|
||||
this documentation is to describe the operation of RomWBW and the ways
|
||||
in which it enhances the operation of the included applications and
|
||||
operating systems.
|
||||
|
||||
Since RomWBW is purely a software product for many different platforms,
|
||||
the documentation does **not** cover hardware construction,
|
||||
configuration, or troubleshooting – please see your hardware provider
|
||||
for this information.
|
||||
|
||||
# Support
|
||||
|
||||
## Getting Assistance
|
||||
|
||||
The best way to get assistance with RomWBW or any aspect of the
|
||||
RetroBrew Computers projects is via one of the community forums:
|
||||
|
||||
- [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/)
|
||||
- [RC2014 Google
|
||||
Group](https://groups.google.com/forum/#!forum/rc2014-z80)
|
||||
- [retro-comp Google
|
||||
Group](https://groups.google.com/forum/#!forum/retro-comp)
|
||||
|
||||
Submission of issues and bugs are welcome at the [RomWBW GitHub
|
||||
Repository](https://github.com/wwarthen/RomWBW).
|
||||
|
||||
Also feel free to email Wayne Warthen at <wwarthen@gmail.com>. I am
|
||||
happy to provide support adapting RomWBW to new or modified systems
|
||||
|
||||
# Contributions
|
||||
|
||||
All source code and distributions are maintained on GitHub.
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
I want to acknowledge that a great deal of the code and inspiration for
|
||||
RomWBW has been provided by or derived from the work of others in the
|
||||
@@ -186,8 +287,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 +297,16 @@ 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 made a wide variety of contributions including:
|
||||
|
||||
- significant content in the Disk Catalog and User Guide
|
||||
- creation of the Introduction and Hardware documents
|
||||
- Z3PLUS operating system disk image
|
||||
- COPYSL utility
|
||||
- a feature for RomWBW configuration by NVRAM
|
||||
- the /B bulk mode of disk assignment to the ASSIGN utility
|
||||
|
||||
- Jacques Pelletier has contributed the DS1501 RTC driver code.
|
||||
|
||||
@@ -229,10 +339,47 @@ let me know if I missed you!
|
||||
|
||||
- Les Bird has contributed support for the NABU w/ Option Board
|
||||
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
## Related Projects
|
||||
|
||||
Outside of the hardware platforms adapted to RomWBW, there are a variety
|
||||
of projects that either target RomWBW specifically or provide a
|
||||
RomWBW-specific variation. These efforts are greatly appreciated and are
|
||||
listed below. Please contact the author if there are any other such
|
||||
projects that are not listed.
|
||||
|
||||
#### Z88DK
|
||||
|
||||
Z88DK is a software powerful development kit for Z80 computers
|
||||
supporting both C and assembly language. This kit now provides specific
|
||||
library support for RomWBW HBIOS. The Z88DK project is hosted at
|
||||
<https://github.com/z88dk/z88dk>.
|
||||
|
||||
#### Paleo Editor
|
||||
|
||||
Steve Garcia has created a Windows-hosted IDE that is tailored to
|
||||
development of RomWBW. The project can be found at
|
||||
<https://github.com/alloidian/PaleoEditor>.
|
||||
|
||||
#### Z80 fig-FORTH
|
||||
|
||||
Dimitri Theulings’ implementation of fig-FORTH for the Z80 has a
|
||||
RomWBW-specific variant. The project is hosted at
|
||||
<https://github.com/dimitrit/figforth>.
|
||||
|
||||
#### Assembly Language Programming for the RC2014 Zed
|
||||
|
||||
Bruce Hall has written a very nice document that describes how to
|
||||
develop assembly language applications on RomWBW. It begins with the
|
||||
setup and configuration of a new RC2014 Zed system running RomWBW. It
|
||||
describes not only generic CP/M application development, but also RomWBW
|
||||
HBIOS programming and bare metal programming. The latest copy of this
|
||||
document is hosted at [http://w8bh.net/Assembly for
|
||||
RC2014Z.pdf](http://w8bh.net/Assembly%20for%20RC2014Z.pdf).
|
||||
|
||||
# Licensing
|
||||
|
||||
## License Terms
|
||||
|
||||
RomWBW is free software: you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation, either version 3 of the License, or (at your
|
||||
@@ -272,19 +419,3 @@ encouraged to submit their contributions via the RomWBW source code
|
||||
control system to ensure their contributions are clearly documented.
|
||||
|
||||
All contributions to RomWBW are subject to this license.
|
||||
|
||||
# Getting Assistance
|
||||
|
||||
The best way to get assistance with RomWBW or any aspect of the
|
||||
RetroBrew Computers projects is via one of the community forums:
|
||||
|
||||
- [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/)
|
||||
- [RC2014 Google
|
||||
Group](https://groups.google.com/forum/#!forum/rc2014-z80)
|
||||
- [retro-comp Google
|
||||
Group](https://groups.google.com/forum/#!forum/retro-comp)
|
||||
|
||||
Submission of issues and bugs are welcome at the [RomWBW GitHub
|
||||
Repository](https://github.com/wwarthen/RomWBW).
|
||||
|
||||
Also feel free to email Wayne Warthen at <wwarthen@gmail.com>.
|
||||
|
||||
435
ReadMe.txt
435
ReadMe.txt
@@ -1,6 +1,9 @@
|
||||
RomWBW ReadMe
|
||||
RomWBW Introduction
|
||||
Wayne Warthen (wwarthen@gmail.com)
|
||||
01 Aug 2024
|
||||
03 Apr 2025
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -9,41 +12,45 @@ OVERVIEW
|
||||
|
||||
RomWBW software provides a complete, commercial quality implementation
|
||||
of CP/M (and workalike) operating systems and applications for modern
|
||||
Z80/180/280 retro-computing hardware systems. A wide variety of
|
||||
platforms are supported including those produced by these developer
|
||||
communities:
|
||||
Z80/180/280 retro-computing hardware systems.
|
||||
|
||||
- RetroBrew Computers (https://www.retrobrewcomputers.org)
|
||||
- RC2014 (https://rc2014.co.uk),
|
||||
RC2014-Z80 (https://groups.google.com/g/rc2014-z80)
|
||||
- Retro Computing (https://groups.google.com/g/retro-comp)
|
||||
- Small Computer Central (https://smallcomputercentral.com/)
|
||||
A wide variety of platforms are supported including those produced by
|
||||
these developer communities:
|
||||
|
||||
A complete list of the currently supported platforms is found in the
|
||||
[Installation] section.
|
||||
- RetroBrew Computers (https://www.retrobrewcomputers.org)
|
||||
- RC2014 (https://rc2014.co.uk),
|
||||
RC2014-Z80 (https://groups.google.com/g/rc2014-z80)
|
||||
- Retro Computing (https://groups.google.com/g/retro-comp)
|
||||
- Small Computer Central (https://smallcomputercentral.com/)
|
||||
|
||||
General features include:
|
||||
A complete list of the currently supported platforms is found in RomWBW
|
||||
Hardware .
|
||||
|
||||
- Z80 Family CPUs including Z80, Z180, and Z280
|
||||
- Banked memory services for several banking designs
|
||||
- Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip,
|
||||
Iomega
|
||||
- Serial drivers including UART (16550-like), ASCI, ACIA, SIO
|
||||
- Video drivers including TMS9918, SY6545, MOS8563, HD6445
|
||||
- Keyboard (PS/2) drivers via VT8242 or PPI interfaces
|
||||
- Real time clock drivers including DS1302, BQ4845
|
||||
- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and
|
||||
FreeRTOS
|
||||
- Built-in VT-100 terminal emulation support
|
||||
|
||||
RomWBW is distributed as both source code and pre-built ROM and disk
|
||||
images. Some of the provided software can be launched directly from the
|
||||
ROM firmware itself:
|
||||
|
||||
- System Monitor
|
||||
- Operating Systems (CP/M 2.2, ZSDOS)
|
||||
- ROM BASIC (Nascom BASIC and Tasty BASIC)
|
||||
- ROM Forth
|
||||
DESCRIPTION
|
||||
|
||||
|
||||
Primary Features
|
||||
|
||||
By design, RomWBW isolates all of the hardware specific functions in the
|
||||
ROM chip itself. The ROM provides a hardware abstraction layer such that
|
||||
all of the operating systems and applications on a disk will run on any
|
||||
RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB
|
||||
Card) and move it between systems transparently.
|
||||
|
||||
Supported hardware features of RomWBW include:
|
||||
|
||||
- Z80 Family CPUs including Z80, Z180, and Z280
|
||||
- Banked memory services for several banking designs
|
||||
- Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip,
|
||||
Iomega
|
||||
- Serial drivers including UART (16550-like), ASCI, ACIA, SIO
|
||||
- Video drivers including TMS9918, SY6545, MOS8563, HD6445
|
||||
- Keyboard (PS/2) drivers via VT8242 or PPI interfaces
|
||||
- Real time clock drivers including DS1302, BQ4845
|
||||
- Support for CP/NET networking using Wiznet, MT011 or Serial
|
||||
- Built-in VT-100 terminal emulation support
|
||||
|
||||
A dynamic disk drive letter assignment mechanism allows mapping
|
||||
operating system drive letters to any available disk media.
|
||||
@@ -51,15 +58,11 @@ Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.)
|
||||
support the use of multiple slices (up to 256 per device). Each slice
|
||||
contains a complete CP/M filesystem and can be mapped independently to
|
||||
any drive letter. This overcomes the inherent size limitations in legacy
|
||||
OSes and allows up to 2GB of accessible storage on a single device.
|
||||
OSes and allows up to 2GB of addressable storage on a single device,
|
||||
with up to 128MB accessible at any one time.
|
||||
|
||||
The pre-built ROM firmware images are generally suitable for most users.
|
||||
However, it is also very easy to modify and build custom ROM images that
|
||||
fully tailor the firmware to your specific preferences. All tools
|
||||
required to build custom ROM firmware under Windows are included – no
|
||||
need to install assemblers, etc. The firmware can also be built using
|
||||
Linux or MacOS after confirming a few standard tools have been
|
||||
installed.
|
||||
|
||||
Included Software
|
||||
|
||||
Multiple disk images are provided in the distribution. Most disk images
|
||||
contain a complete, bootable, ready-to-run implementation of a specific
|
||||
@@ -68,11 +71,24 @@ with a full operating system implementation. If you use this disk image,
|
||||
you can easily pick whichever operating system you want to boot without
|
||||
changing media.
|
||||
|
||||
By design, RomWBW isolates all of the hardware specific functions in the
|
||||
ROM chip itself. The ROM provides a hardware abstraction layer such that
|
||||
all of the operating systems and applications on a disk will run on any
|
||||
RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB
|
||||
Card) and move it between systems transparently.
|
||||
Some of the included software:
|
||||
|
||||
- Operating Systems (CP/M 2.2, ZSDOS, NZ-COM, CP/M 3, ZPM3, Z3PLUS, QPM
|
||||
)
|
||||
- Support for other operating systems, p-System, FreeRTOS, and FUZIX.
|
||||
- Programming Tools (Z80ASM, Turbo Pascal, Forth, Cowgol)
|
||||
- C Compiler’s including Aztec-C, and HI-TECH C
|
||||
- Microsoft Basic Compiler, and Microsoft Fortran
|
||||
- Some games such as Colossal Cave, Zork, etc
|
||||
- Wordstar Word processing software
|
||||
|
||||
Some of the provided software can be launched directly from the ROM
|
||||
firmware itself:
|
||||
|
||||
- System Monitor
|
||||
- Operating Systems (CP/M 2.2, ZSDOS)
|
||||
- ROM BASIC (Nascom BASIC and Tasty BASIC)
|
||||
- ROM Forth
|
||||
|
||||
A tool is provided that allows you to access a FAT-12/16/32 filesystem.
|
||||
The FAT filesystem may be coresident on the same disk media as RomWBW
|
||||
@@ -80,30 +96,67 @@ slices or on stand-alone media. This makes exchanging files with modern
|
||||
OSes such as Windows, MacOS, and Linux very easy.
|
||||
|
||||
|
||||
|
||||
ACQUIRING ROMWBW
|
||||
|
||||
ROM Distribution
|
||||
|
||||
The RomWBW Repository (https://github.com/wwarthen/RomWBW) on GitHub is
|
||||
the official distribution location for all project source and
|
||||
documentation. The fully-built distribution releases are available on
|
||||
the RomWBW Releases Page (https://github.com/wwarthen/RomWBW/releases)
|
||||
of the repository. On this page, you will normally see a Development
|
||||
Snapshot as well as recent stable releases. Unless you have a specific
|
||||
reason, I suggest you stick to the most recent stable release. Expand
|
||||
the “Assets” drop-down for the release you want to download, then select
|
||||
the asset named RomWBW-vX.X.X-Package.zip. The Package asset includes
|
||||
all pre-built ROM and Disk images as well as full source code. The other
|
||||
assets contain only source code and do not have the pre-built ROM or
|
||||
disk images.
|
||||
documentation.
|
||||
|
||||
All source code and distributions are maintained on GitHub. Code
|
||||
contributions are very welcome.
|
||||
RomWBW is distributed as both source code and pre-built ROM and disk
|
||||
images.
|
||||
|
||||
The pre-built ROM images distributed with RomWBW are based on the
|
||||
default system configurations as determined by the hardware
|
||||
provider/designer. The pre-built ROM firmware images are generally
|
||||
suitable for most users.
|
||||
|
||||
The fully-built distribution releases are available on the RomWBW
|
||||
Releases Page (https://github.com/wwarthen/RomWBW/releases) of the
|
||||
repository.
|
||||
|
||||
On this page, you will normally see a Development Snapshot as well as
|
||||
recent stable releases. Unless you have a specific reason, I suggest you
|
||||
stick to the most recent stable release.
|
||||
|
||||
The asset named RomWBW-vX.X.X-Package.zip includes all pre-built ROM and
|
||||
Disk images as well as full source code. The other assets contain only
|
||||
source code and do not have the pre-built ROM or disk images.
|
||||
|
||||
Distribution Directory Layout
|
||||
|
||||
The RomWBW distribution is a compressed zip archive file organized in a
|
||||
set of directories. Each of these directories has its own ReadMe.txt
|
||||
file describing the contents in detail. In summary, these directories
|
||||
are:
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
DIRECTORY DESCRIPTION
|
||||
----------- -------------------------------------------------------------
|
||||
BINARY The final output files of the build process are placed here.
|
||||
Most importantly, the ROM images with the file names ending
|
||||
in “.rom” and disk images ending in .img.
|
||||
|
||||
DOC Contains various detailed documentation, both RomWBW
|
||||
specifically as well as the operating systems and
|
||||
applications.
|
||||
|
||||
SOURCE Contains the source code files used to build the software and
|
||||
ROM images.
|
||||
|
||||
TOOLS Contains the programs that are used by the build process or
|
||||
that may be useful in setting up your system.
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Building from Source
|
||||
|
||||
It is also very easy to modify and build custom ROM images that fully
|
||||
tailor the firmware to your specific preferences. All tools required to
|
||||
build custom ROM firmware under Windows are included – no need to
|
||||
install assemblers, etc. The firmware can also be built using Linux or
|
||||
MacOS after confirming a few standard tools have been installed.
|
||||
|
||||
|
||||
|
||||
INSTALLATION & OPERATION
|
||||
|
||||
Installation & Operation
|
||||
|
||||
In general, installation of RomWBW on your platform is very simple. You
|
||||
just need to program your ROM with the correct ROM image from the RomWBW
|
||||
@@ -112,132 +165,231 @@ drives (IDE disk, CF Card, SD Card, etc.) which then provides even more
|
||||
functionality.
|
||||
|
||||
Complete instructions for installation and operation of RomWBW are found
|
||||
in the RomWBW User Guide.
|
||||
in the RomWBW User Guide. It is also a good idea to review the Release
|
||||
Notes for helpful release-specific information.
|
||||
|
||||
|
||||
Documentation
|
||||
|
||||
Documentation for RomWBW includes:
|
||||
There are several documents that form the core of the RomWBW
|
||||
documentation:
|
||||
|
||||
- RomWBW User Guide
|
||||
- RomWBW System Guide
|
||||
- RomWBW Applications
|
||||
- RomWBW Errata
|
||||
- RomWBW User Guide is the main user guide for RomWBW, it covers the
|
||||
major topics of how to install, manage and use RomWBW, and includes
|
||||
additional guidance to the use of some of the operating systems
|
||||
supported by RomWBW
|
||||
|
||||
- RomWBW Hardware contains a description of all the hardware platforms,
|
||||
and devices supported by RomWBW.
|
||||
|
||||
- RomWBW Applications is a reference for the ROM-hosted and OS-hosted
|
||||
applications created or customized to enhance the operation of RomWBW.
|
||||
|
||||
- RomWBW Disk Catalog is a reference for the contents of the disk images
|
||||
provided with RomWBW, with a description of many of the files on each
|
||||
image
|
||||
|
||||
- RomWBW System Guide discusses much of the internal design and
|
||||
construction of RomWBW. It includes a reference for the RomWBW HBIOS
|
||||
API functions.
|
||||
|
||||
Each of the operating systems and ROM applications included with RomWBW
|
||||
are sophisticated tools in their own right. It is not reasonable to
|
||||
fully document their usage. However, you will find complete manuals in
|
||||
PDF format in the Doc directory of the distribution. The intention of
|
||||
this documentation is to describe the operation of RomWBW and the ways
|
||||
in which it enhances the operation of the included applications and
|
||||
operating systems.
|
||||
|
||||
Since RomWBW is purely a software product for many different platforms,
|
||||
the documentation does NOT cover hardware construction, configuration,
|
||||
or troubleshooting – please see your hardware provider for this
|
||||
information.
|
||||
|
||||
|
||||
|
||||
ACKNOWLEDGMENTS
|
||||
SUPPORT
|
||||
|
||||
|
||||
Getting Assistance
|
||||
|
||||
The best way to get assistance with RomWBW or any aspect of the
|
||||
RetroBrew Computers projects is via one of the community forums:
|
||||
|
||||
- RetroBrew Computers Forum
|
||||
- RC2014 Google Group
|
||||
- retro-comp Google Group
|
||||
|
||||
Submission of issues and bugs are welcome at the RomWBW GitHub
|
||||
Repository.
|
||||
|
||||
Also feel free to email Wayne Warthen at wwarthen@gmail.com. I am happy
|
||||
to provide support adapting RomWBW to new or modified systems
|
||||
|
||||
|
||||
|
||||
CONTRIBUTIONS
|
||||
|
||||
|
||||
All source code and distributions are maintained on GitHub.
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
|
||||
|
||||
Acknowledgments
|
||||
|
||||
I want to acknowledge that a great deal of the code and inspiration for
|
||||
RomWBW has been provided by or derived from the work of others in the
|
||||
RetroBrew Computers Community. I sincerely appreciate all of their
|
||||
contributions. The list below is probably missing many names – please
|
||||
let me know if I missed you!
|
||||
|
||||
- Andrew Lynch started it all when he created the N8VEM Z80 SBC which
|
||||
became the first platform RomWBW supported. Some of his original
|
||||
code can still be found in RomWBW.
|
||||
- Andrew Lynch started it all when he created the N8VEM Z80 SBC which
|
||||
became the first platform RomWBW supported. Some of his original code
|
||||
can still be found in RomWBW.
|
||||
|
||||
- Dan Werner wrote much of the code from which RomWBW was originally
|
||||
derived and he has always been a great source of knowledge and
|
||||
advice.
|
||||
- Dan Werner wrote much of the code from which RomWBW was originally
|
||||
derived and he has always been a great source of knowledge and advice.
|
||||
|
||||
- Douglas Goodall contributed code, time, testing, and advice in “the
|
||||
early days”. He created an entire suite of application programs to
|
||||
enhance the use of RomWBW. Unfortunately, they have become unusable
|
||||
due to internal changes within RomWBW. As of RomWBW 2.6, these
|
||||
applications are no longer provided.
|
||||
- Douglas Goodall contributed code, time, testing, and advice in “the
|
||||
early days”. He created an entire suite of application programs to
|
||||
enhance the use of RomWBW. Unfortunately, they have become unusable
|
||||
due to internal changes within RomWBW. As of RomWBW 2.6, these
|
||||
applications are no longer provided.
|
||||
|
||||
- Sergey Kiselev created several hardware platforms for RomWBW
|
||||
including the very popular Zeta.
|
||||
- Sergey Kiselev created several hardware platforms for RomWBW including
|
||||
the very popular Zeta.
|
||||
|
||||
- David Giles created support for the Z180 CSIO which is now included
|
||||
SD Card driver.
|
||||
- David Giles created support for the Z180 CSIO which is now included SD
|
||||
Card driver.
|
||||
|
||||
- Phil Summers contributed the Forth and BASIC adaptations in ROM, the
|
||||
AY-3-8910 sound driver, DMA support, and a long list of general code
|
||||
and documentation enhancements.
|
||||
- Phil Summers contributed the Forth and BASIC adaptations in ROM, the
|
||||
AY-3-8910 sound driver, DMA support, and a long list of general code
|
||||
and documentation enhancements.
|
||||
|
||||
- Ed Brindley contributed some of the code that supports the RCBus
|
||||
platform.
|
||||
- Ed Brindley contributed some of the code that supports the RCBus
|
||||
platform.
|
||||
|
||||
- Spencer Owen created the RC2014 series of hobbyist kit computers
|
||||
which has exponentially increased RomWBW usage. Some of his kits
|
||||
include RomWBW.
|
||||
- Spencer Owen created the RC2014 series of hobbyist kit computers which
|
||||
has exponentially increased RomWBW usage. Some of his kits include
|
||||
RomWBW.
|
||||
|
||||
- Stephen Cousins has likewise created a series of hobbyist kit
|
||||
computers at Small Computer Central and is distributing RomWBW with
|
||||
many of them.
|
||||
- Stephen Cousins has likewise created a series of hobbyist kit
|
||||
computers at Small Computer Central and is distributing RomWBW with
|
||||
many of them.
|
||||
|
||||
- Alan Cox has contributed some driver code and has provided a great
|
||||
deal of advice.
|
||||
- Alan Cox has contributed some driver code and has provided a great
|
||||
deal of advice.
|
||||
|
||||
- The CP/NET client files were developed by Douglas Miller.
|
||||
- The CP/NET client files were developed by Douglas Miller.
|
||||
|
||||
- Phillip Stevens contributed support for FreeRTOS.
|
||||
- Phillip Stevens contributed support for FreeRTOS.
|
||||
|
||||
- Curt Mayer contributed the original Linux / MacOS build process.
|
||||
- Curt Mayer contributed the original Linux / MacOS build process.
|
||||
|
||||
- UNA BIOS and FDISK80 are the products of John Coffman.
|
||||
- UNA BIOS and FDISK80 are the products of John Coffman.
|
||||
|
||||
- FLASH4 is a product of Will Sowerbutts.
|
||||
- FLASH4 is a product of Will Sowerbutts.
|
||||
|
||||
- CLRDIR is a product of Max Scane.
|
||||
- CLRDIR is a product of Max Scane.
|
||||
|
||||
- Tasty Basic is a product of Dimitri Theulings.
|
||||
- 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.
|
||||
- The RomWBW Disk Catalog document was produced by Mykl Orders.
|
||||
|
||||
- Rob Prouse has created many of the supplemental disk images
|
||||
including Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft
|
||||
BASIC Compiler, Microsoft Fortran Compiler, and a Games compendium.
|
||||
- Rob Prouse has created many of the supplemental disk images including
|
||||
Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft BASIC Compiler,
|
||||
Microsoft Fortran Compiler, and a Games compendium.
|
||||
|
||||
- Martin R has provided substantial help reviewing and improving the
|
||||
User Guide.
|
||||
- Martin R has provided substantial help reviewing and improving the
|
||||
User Guide and Applications documents.
|
||||
|
||||
- Jacques Pelletier has contributed the DS1501 RTC driver code.
|
||||
- Mark Pruden has made a wide variety of contributions including:
|
||||
|
||||
- Jose Collado has contributed enhancements to the TMS driver
|
||||
including compatibility with standard TMS register configuration.
|
||||
- significant content in the Disk Catalog and User Guide
|
||||
- creation of the Introduction and Hardware documents
|
||||
- Z3PLUS operating system disk image
|
||||
- COPYSL utility
|
||||
- a feature for RomWBW configuration by NVRAM
|
||||
- the /B bulk mode of disk assignment to the ASSIGN utility
|
||||
|
||||
- Kevin Boone has contributed a generic HBIOS date/time utility
|
||||
(WDATE).
|
||||
- Jacques Pelletier has contributed the DS1501 RTC driver code.
|
||||
|
||||
- Matt Carroll has contributed a fix to XM.COM that corrects the port
|
||||
specification when doing a send.
|
||||
- Jose Collado has contributed enhancements to the TMS driver including
|
||||
compatibility with standard TMS register configuration.
|
||||
|
||||
- Dean Jenkins enhanced the build process to accommodate the Raspberry
|
||||
Pi 4.
|
||||
- Kevin Boone has contributed a generic HBIOS date/time utility (WDATE).
|
||||
|
||||
- Tom Plano has contributed a new utility (HTALK) to allow talking
|
||||
directly to HBIOS COM ports.
|
||||
- Matt Carroll has contributed a fix to XM.COM that corrects the port
|
||||
specification when doing a send.
|
||||
|
||||
- Lars Nelson has contributed several generic utilities such as a
|
||||
universal (OS agnostic) UNARC application.
|
||||
- Dean Jenkins enhanced the build process to accommodate the Raspberry
|
||||
Pi 4.
|
||||
|
||||
- Dylan Hall added support for specifying a secondary console.
|
||||
- Tom Plano has contributed a new utility (HTALK) to allow talking
|
||||
directly to HBIOS COM ports.
|
||||
|
||||
- Bill Shen has contributed boot loaders for several of his systems.
|
||||
- Lars Nelson has contributed several generic utilities such as a
|
||||
universal (OS agnostic) UNARC application.
|
||||
|
||||
- Laszlo Szolnoki has contributed an EF9345 video display controller
|
||||
driver.
|
||||
- Dylan Hall added support for specifying a secondary console.
|
||||
|
||||
- Ladislau Szilagyi has contributed an enhanced version of CP/M Cowgol
|
||||
that leverages RomWBW memory banking.
|
||||
- Bill Shen has contributed boot loaders for several of his systems.
|
||||
|
||||
- Les Bird has contributed support for the NABU w/ Option Board
|
||||
- Laszlo Szolnoki has contributed an EF9345 video display controller
|
||||
driver.
|
||||
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
- Ladislau Szilagyi has contributed an enhanced version of CP/M Cowgol
|
||||
that leverages RomWBW memory banking.
|
||||
|
||||
- Les Bird has contributed support for the NABU w/ Option Board
|
||||
|
||||
|
||||
Related Projects
|
||||
|
||||
Outside of the hardware platforms adapted to RomWBW, there are a variety
|
||||
of projects that either target RomWBW specifically or provide a
|
||||
RomWBW-specific variation. These efforts are greatly appreciated and are
|
||||
listed below. Please contact the author if there are any other such
|
||||
projects that are not listed.
|
||||
|
||||
Z88DK
|
||||
|
||||
Z88DK is a software powerful development kit for Z80 computers
|
||||
supporting both C and assembly language. This kit now provides specific
|
||||
library support for RomWBW HBIOS. The Z88DK project is hosted at
|
||||
https://github.com/z88dk/z88dk.
|
||||
|
||||
Paleo Editor
|
||||
|
||||
Steve Garcia has created a Windows-hosted IDE that is tailored to
|
||||
development of RomWBW. The project can be found at
|
||||
https://github.com/alloidian/PaleoEditor.
|
||||
|
||||
Z80 fig-FORTH
|
||||
|
||||
Dimitri Theulings’ implementation of fig-FORTH for the Z80 has a
|
||||
RomWBW-specific variant. The project is hosted at
|
||||
https://github.com/dimitrit/figforth.
|
||||
|
||||
Assembly Language Programming for the RC2014 Zed
|
||||
|
||||
Bruce Hall has written a very nice document that describes how to
|
||||
develop assembly language applications on RomWBW. It begins with the
|
||||
setup and configuration of a new RC2014 Zed system running RomWBW. It
|
||||
describes not only generic CP/M application development, but also RomWBW
|
||||
HBIOS programming and bare metal programming. The latest copy of this
|
||||
document is hosted at http://w8bh.net/Assembly for RC2014Z.pdf.
|
||||
|
||||
|
||||
|
||||
LICENSING
|
||||
|
||||
|
||||
License Terms
|
||||
|
||||
RomWBW is free software: you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation, either version 3 of the License, or (at your
|
||||
@@ -277,20 +429,3 @@ encouraged to submit their contributions via the RomWBW source code
|
||||
control system to ensure their contributions are clearly documented.
|
||||
|
||||
All contributions to RomWBW are subject to this license.
|
||||
|
||||
|
||||
|
||||
GETTING ASSISTANCE
|
||||
|
||||
|
||||
The best way to get assistance with RomWBW or any aspect of the
|
||||
RetroBrew Computers projects is via one of the community forums:
|
||||
|
||||
- RetroBrew Computers Forum
|
||||
- RC2014 Google Group
|
||||
- retro-comp Google Group
|
||||
|
||||
Submission of issues and bugs are welcome at the RomWBW GitHub
|
||||
Repository.
|
||||
|
||||
Also feel free to email Wayne Warthen at wwarthen@gmail.com.
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
This is a RomWBW HBIOS adaptation of BBCBASIC v5.00. The
|
||||
cursor and screen management assumes the use of an ANSI/VT-100 terminal
|
||||
which is generally correct for RomWBW. Support for a hardware system
|
||||
timer is also implemented. If your system does not have a hardware
|
||||
timer, the TIME function will always return 0 and the timeout
|
||||
This is a RomWBW HBIOS adaptation of BBCBASIC v5.00 by R.T.Russell.
|
||||
This implementation was adapted from the source code found at
|
||||
https://github.com/rtrussell/BBCZ80.
|
||||
|
||||
The cursor and screen management assumes the use of an ANSI/VT-100
|
||||
terminal which is generally correct for RomWBW. Support for a hardware
|
||||
system timer is also implemented. If your system does not have a
|
||||
hardware timer, the TIME function will always return 0 and the timeout
|
||||
parameter of the INKEY(n) function will not be observed (will never
|
||||
timeout).
|
||||
|
||||
What follows is some basic information on BBCBASIC from the
|
||||
distribution. Note that it starts with the v3.00 information and
|
||||
later on provides information on the changes in v5.00.
|
||||
later on provides information on the changes in v5.00. Complete
|
||||
documentation for the BBC BASIC (Z80) is found online at
|
||||
https://www.bbcbasic.co.uk/bbcbasic/mancpm/index.html.
|
||||
|
||||
-- WBW 1:15 PM 5/30/2024
|
||||
-- WBW 4:21 PM 2/17/2025
|
||||
|
||||
|
||||
|
||||
@@ -23,55 +28,55 @@ later on provides information on the changes in v5.00.
|
||||
|
||||
1. INTRODUCTION
|
||||
|
||||
BBC BASIC (Z80) has been designed to be as compatible as possible with
|
||||
Version 4 of the 6502 BBC BASIC resident in the BBC Micro Master series.
|
||||
The language syntax is not always identical to that of the 6502 version,
|
||||
BBC BASIC (Z80) has been designed to be as compatible as possible with
|
||||
Version 4 of the 6502 BBC BASIC resident in the BBC Micro Master series.
|
||||
The language syntax is not always identical to that of the 6502 version,
|
||||
but in most cases the Z80 version is more tolerant.
|
||||
|
||||
BBC BASIC (Z80) is as machine independent as possible and, as supplied,
|
||||
it will run on any CP/M 2.2 (or later) system using a Z80 processor
|
||||
(checks are carried out to ensure that the processor is a Z80 and that
|
||||
the version of CP/M is at least 2.2). It is minimally configured for an
|
||||
BBC BASIC (Z80) is as machine independent as possible and, as supplied,
|
||||
it will run on any CP/M 2.2 (or later) system using a Z80 processor
|
||||
(checks are carried out to ensure that the processor is a Z80 and that
|
||||
the version of CP/M is at least 2.2). It is minimally configured for an
|
||||
ADM3a-compatible VDU.
|
||||
|
||||
Few CP/M systems offer colour graphics of the quality provided as
|
||||
standard on the BBC Microcomputer, and no software can provide colour
|
||||
high-resolution graphics from a monochrome character-orientated computer.
|
||||
However, many CP/M system users are interested in the advanced program
|
||||
structures available from BBC BASIC and, within the limitations of the
|
||||
host computer, BBC BASIC (Z80) provides the programming structures and
|
||||
Few CP/M systems offer colour graphics of the quality provided as
|
||||
standard on the BBC Microcomputer, and no software can provide colour
|
||||
high-resolution graphics from a monochrome character-orientated computer.
|
||||
However, many CP/M system users are interested in the advanced program
|
||||
structures available from BBC BASIC and, within the limitations of the
|
||||
host computer, BBC BASIC (Z80) provides the programming structures and
|
||||
the non-graphic commands and functions specified for BBC BASIC.
|
||||
|
||||
In order to make full use of the facilities available in BBC BASIC (Z80)
|
||||
it is necessary to install a small patch to adapt it to the capabilities
|
||||
of the host computer. The source code of the patch present in the
|
||||
In order to make full use of the facilities available in BBC BASIC (Z80)
|
||||
it is necessary to install a small patch to adapt it to the capabilities
|
||||
of the host computer. The source code of the patch present in the
|
||||
distribution version is supplied as BBCDIST.MAC.
|
||||
|
||||
This documentation should be read in conjunction with a standard BBC
|
||||
BASIC manual. Only those features which differ from the standard Acorn
|
||||
This documentation should be read in conjunction with a standard BBC
|
||||
BASIC manual. Only those features which differ from the standard Acorn
|
||||
versions are documented here.
|
||||
|
||||
|
||||
2. MEMORY UTILISATION
|
||||
|
||||
BBC BASIC (Z80) requires about 16 Kbytes of code space, resulting in a
|
||||
value of PAGE of about &3E00. The remainder of the user memory is
|
||||
available for BASIC programs, variables (heap) and stack. Depending on
|
||||
BBC BASIC (Z80) requires about 16 Kbytes of code space, resulting in a
|
||||
value of PAGE of about &3E00. The remainder of the user memory is
|
||||
available for BASIC programs, variables (heap) and stack. Depending on
|
||||
the system configuration, HIMEM can have a value up to &FE00.
|
||||
|
||||
|
||||
3. COMMANDS, STATEMENTS AND FUNCTIONS
|
||||
|
||||
The syntax of BASIC commands, statements and functions is in most cases
|
||||
identical to that of the BBC Micro version (BASIC 4). The few
|
||||
The syntax of BASIC commands, statements and functions is in most cases
|
||||
identical to that of the BBC Micro version (BASIC 4). The few
|
||||
differences are documented here:
|
||||
|
||||
ADVAL
|
||||
This function is not implemented.
|
||||
|
||||
CALL
|
||||
CALL sets up a table in RAM containing details of the parameters; the
|
||||
processor's IX register is set to the address of this parameter table.
|
||||
CALL sets up a table in RAM containing details of the parameters; the
|
||||
processor's IX register is set to the address of this parameter table.
|
||||
The other processor registers are initialised as follows:
|
||||
|
||||
A is initialised to the least significant byte of A%
|
||||
@@ -92,7 +97,7 @@ later on provides information on the changes in v5.00.
|
||||
128 Fixed string $A%
|
||||
129 Movable string A$
|
||||
|
||||
On entry to the subroutine the parameter table contains the following
|
||||
On entry to the subroutine the parameter table contains the following
|
||||
values:
|
||||
|
||||
Number of parameters 1 byte (at IX)
|
||||
@@ -103,29 +108,29 @@ later on provides information on the changes in v5.00.
|
||||
Parameter type ) repeated as often as necessary
|
||||
Parameter address )
|
||||
|
||||
Except in the case of a movable string (normal string variable), the
|
||||
parameter address given is the absolute address at which the item is
|
||||
stored. In the case of movable strings (type 129) it is the address of a
|
||||
4-byte parameter block containing the current length, the maximum length
|
||||
Except in the case of a movable string (normal string variable), the
|
||||
parameter address given is the absolute address at which the item is
|
||||
stored. In the case of movable strings (type 129) it is the address of a
|
||||
4-byte parameter block containing the current length, the maximum length
|
||||
and the start address of the string (LSB first) in that order.
|
||||
|
||||
Integer variables are stored in twos complement form with their least
|
||||
Integer variables are stored in twos complement form with their least
|
||||
significant byte first.
|
||||
|
||||
Fixed strings are stored as the characters of the string followed by a
|
||||
Fixed strings are stored as the characters of the string followed by a
|
||||
carriage return (&0D).
|
||||
|
||||
Floating point variables are stored in binary floating point format with
|
||||
their least significant byte first; the fifth byte is the exponent. The
|
||||
mantissa is stored as a binary fraction in sign and magnitude format.
|
||||
Bit 7 of the most significant byte is the sign bit and, for the purposes
|
||||
of calculating the magnitude of the number, this bit is assumed to be set
|
||||
to one. The exponent is stored as an integer in excess 127 format (to
|
||||
Floating point variables are stored in binary floating point format with
|
||||
their least significant byte first; the fifth byte is the exponent. The
|
||||
mantissa is stored as a binary fraction in sign and magnitude format.
|
||||
Bit 7 of the most significant byte is the sign bit and, for the purposes
|
||||
of calculating the magnitude of the number, this bit is assumed to be set
|
||||
to one. The exponent is stored as an integer in excess 127 format (to
|
||||
find the exponent subtract 127 from the value in the fifth byte).
|
||||
|
||||
If the exponent byte of a floating point number is zero, the number is an
|
||||
integer stored in integer format in the mantissa bytes. Thus an integer
|
||||
can be represented in two different ways in a real variable. For example
|
||||
If the exponent byte of a floating point number is zero, the number is an
|
||||
integer stored in integer format in the mantissa bytes. Thus an integer
|
||||
can be represented in two different ways in a real variable. For example
|
||||
the value +5 can be stored as:
|
||||
|
||||
05 00 00 00 00 Integer 5
|
||||
@@ -138,15 +143,15 @@ later on provides information on the changes in v5.00.
|
||||
This statement is not implemented.
|
||||
|
||||
EDIT
|
||||
A command to edit or concatenate and edit the specified program line(s).
|
||||
The specified lines (including their line numbers) are listed as a single
|
||||
line. By changing only the line number you can use EDIT to duplicate a
|
||||
A command to edit or concatenate and edit the specified program line(s).
|
||||
The specified lines (including their line numbers) are listed as a single
|
||||
line. By changing only the line number you can use EDIT to duplicate a
|
||||
line.
|
||||
|
||||
EDIT 230
|
||||
EDIT 200,230
|
||||
|
||||
The following control functions are active both in the EDIT mode and in
|
||||
The following control functions are active both in the EDIT mode and in
|
||||
the immediate entry mode (i.e. at the BASIC prompt):
|
||||
|
||||
Move the cursor one character position to the left
|
||||
@@ -159,8 +164,8 @@ later on provides information on the changes in v5.00.
|
||||
Delete all characters to the left of the cursor
|
||||
Delete all characters from the cursor to the end of the line
|
||||
|
||||
The choice of which keys activate these functions is made when BBC BASIC
|
||||
is configured for a particular system. The distribution version uses ^H,
|
||||
The choice of which keys activate these functions is made when BBC BASIC
|
||||
is configured for a particular system. The distribution version uses ^H,
|
||||
^I, ^K, ^J, ^A, ^E, DEL (&7F), ^L and ^X.
|
||||
|
||||
To exit EDIT mode and replace the edited line, type RETURN (ENTER).
|
||||
@@ -171,28 +176,28 @@ later on provides information on the changes in v5.00.
|
||||
This statement is not implemented.
|
||||
|
||||
GET
|
||||
This function waits for a character to be typed at the keyboard, and
|
||||
This function waits for a character to be typed at the keyboard, and
|
||||
returns the ASCII code.
|
||||
|
||||
GET can also be used to read data from a processor I/O port; full 16-bit
|
||||
GET can also be used to read data from a processor I/O port; full 16-bit
|
||||
port addressing is available:
|
||||
|
||||
N% = GET(X%) : REM input from port X%
|
||||
|
||||
INKEY
|
||||
This function waits for a specified maximum number of centiseconds for a
|
||||
character to be typed at the keyboard. If no character is typed in that
|
||||
time, the value -1 is returned. In the distribution version the delay is
|
||||
determined by a simple software timing loop, and may be very inaccurate.
|
||||
The customisation patch allows this to be adjusted to suit the system in
|
||||
This function waits for a specified maximum number of centiseconds for a
|
||||
character to be typed at the keyboard. If no character is typed in that
|
||||
time, the value -1 is returned. In the distribution version the delay is
|
||||
determined by a simple software timing loop, and may be very inaccurate.
|
||||
The customisation patch allows this to be adjusted to suit the system in
|
||||
use.
|
||||
|
||||
INPUT#
|
||||
The format of data files is different from that used by the BBC Micro, in
|
||||
part to improve compatibility with standard CP/M files. Numeric values
|
||||
are stored as five bytes in the format documented under CALL; if the
|
||||
fifth byte is zero the value is an integer. Strings are stored as the
|
||||
characters of the string (in the correct order!) followed by a carriage
|
||||
The format of data files is different from that used by the BBC Micro, in
|
||||
part to improve compatibility with standard CP/M files. Numeric values
|
||||
are stored as five bytes in the format documented under CALL; if the
|
||||
fifth byte is zero the value is an integer. Strings are stored as the
|
||||
characters of the string (in the correct order!) followed by a carriage
|
||||
return (&0D).
|
||||
|
||||
MODE
|
||||
@@ -208,15 +213,15 @@ later on provides information on the changes in v5.00.
|
||||
This function is not implemented.
|
||||
|
||||
PRINT#
|
||||
The format of data files is different from that used by the BBC Micro, in
|
||||
part to improve compatibility with standard CP/M files. Numeric values
|
||||
are stored as five bytes in the format documented under CALL; if the
|
||||
fifth byte is zero the value is an integer. Strings are stored as the
|
||||
characters of the string (in the correct order!) followed by a carriage
|
||||
The format of data files is different from that used by the BBC Micro, in
|
||||
part to improve compatibility with standard CP/M files. Numeric values
|
||||
are stored as five bytes in the format documented under CALL; if the
|
||||
fifth byte is zero the value is an integer. Strings are stored as the
|
||||
characters of the string (in the correct order!) followed by a carriage
|
||||
return (&0D).
|
||||
|
||||
PUT
|
||||
A statement to output data to a processor port. Full 16-bit addressing
|
||||
A statement to output data to a processor port. Full 16-bit addressing
|
||||
is available.
|
||||
|
||||
PUT A%,N% : REM Output N% to port A%
|
||||
@@ -225,7 +230,7 @@ later on provides information on the changes in v5.00.
|
||||
This statement is not implemented.
|
||||
|
||||
TIME
|
||||
This pseudo-variable is not implemented in the distribution version, but
|
||||
This pseudo-variable is not implemented in the distribution version, but
|
||||
can be supported by means of the customisation patch. See BBCDIST.MAC.
|
||||
|
||||
USR
|
||||
@@ -240,34 +245,34 @@ later on provides information on the changes in v5.00.
|
||||
H is initialised to the least significant byte of H%
|
||||
L is initialised to the least significant byte of L%
|
||||
|
||||
USR returns a 32-bit integer result composed of the processor's H, L, H'
|
||||
USR returns a 32-bit integer result composed of the processor's H, L, H'
|
||||
and L' registers, with H being the most significant.
|
||||
|
||||
|
||||
4. RESIDENT Z80 ASSEMBLER
|
||||
|
||||
The in-line assembler is accessed in exactly the same way as the 6502
|
||||
assembler in the BBC Micro version of BBC BASIC. That is, '[' enters
|
||||
The in-line assembler is accessed in exactly the same way as the 6502
|
||||
assembler in the BBC Micro version of BBC BASIC. That is, '[' enters
|
||||
assembler mode and ']' exits assembler mode.
|
||||
|
||||
All standard Zilog mnemonics are accepted: ADD, ADC and SBC must be
|
||||
followed by A or HL. For example, ADD A,C is accepted but ADD C is not.
|
||||
However, the brackets around the port number in IN and OUT are optional.
|
||||
Thus both OUT (5),A and OUT 5,A are accepted. The instruction IN F,(C)
|
||||
All standard Zilog mnemonics are accepted: ADD, ADC and SBC must be
|
||||
followed by A or HL. For example, ADD A,C is accepted but ADD C is not.
|
||||
However, the brackets around the port number in IN and OUT are optional.
|
||||
Thus both OUT (5),A and OUT 5,A are accepted. The instruction IN F,(C)
|
||||
is not accepted, but the equivalent code is produced from IN (HL),C
|
||||
|
||||
The pseudo-ops DEFB, DEFW and DEFM are included. DEFM works like EQUS in
|
||||
The pseudo-ops DEFB, DEFW and DEFM are included. DEFM works like EQUS in
|
||||
the 6502 version.
|
||||
|
||||
|
||||
5. OPERATING SYSTEM INTERFACE
|
||||
|
||||
The following resident Operating System ("star") commands are
|
||||
implemented. They may be accessed directly (e.g. *BYE) or via the OSCLI
|
||||
The following resident Operating System ("star") commands are
|
||||
implemented. They may be accessed directly (e.g. *BYE) or via the OSCLI
|
||||
statement (OSCLI "BYE").
|
||||
|
||||
Control characters, lower-case characters, DEL and quotation marks may be
|
||||
incorporated in filenames by using the 'escape' character '|'. However,
|
||||
Control characters, lower-case characters, DEL and quotation marks may be
|
||||
incorporated in filenames by using the 'escape' character '|'. However,
|
||||
there is no equivalent to the BBC Microcomputer's '|!' to set bit 7.
|
||||
|
||||
*BYE
|
||||
@@ -278,7 +283,7 @@ later on provides information on the changes in v5.00.
|
||||
|
||||
*. [filespec]
|
||||
*DIR [filespec]
|
||||
List the files which match the (optional) ambiguous filespec. If the
|
||||
List the files which match the (optional) ambiguous filespec. If the
|
||||
filespec is omitted, all .BBC files are listed:
|
||||
*DIR List all .BBC files on the disk
|
||||
*DIR B:*.* List all files on disk B:
|
||||
@@ -288,53 +293,53 @@ later on provides information on the changes in v5.00.
|
||||
Select drive d as the default drive for subsequent disk operations.
|
||||
|
||||
*ERA filespec
|
||||
Erase (delete) the specified disk file or files. The extension defaults
|
||||
Erase (delete) the specified disk file or files. The extension defaults
|
||||
to .BBC if omitted.
|
||||
|
||||
*ESC [ON|OFF]
|
||||
*ESC OFF disables the abort action of the ESCape key; after *ESC OFF the
|
||||
ESCape key simply returns the ASCII code ESC (27). *ESC ON, or *ESC,
|
||||
*ESC OFF disables the abort action of the ESCape key; after *ESC OFF the
|
||||
ESCape key simply returns the ASCII code ESC (27). *ESC ON, or *ESC,
|
||||
restores the normal action of the ESCape key.
|
||||
|
||||
*EXEC filespec
|
||||
Accept console input from the specified file instead of from the
|
||||
Accept console input from the specified file instead of from the
|
||||
keyboard. If the extension is omitted, .BBC is assumed.
|
||||
|
||||
*LOAD filespec aaaa
|
||||
Loads the specified file into memory at address aaaa. The load address
|
||||
Loads the specified file into memory at address aaaa. The load address
|
||||
must be specified. If the extension is omitted, .BBC is assumed.
|
||||
|
||||
*OPT [n]
|
||||
Select the destination for console output characters. The value n is in
|
||||
Select the destination for console output characters. The value n is in
|
||||
the range 0 to 2, as follows:
|
||||
|
||||
|
||||
0 Send characters to the console output
|
||||
1 Send characters to the auxiliary output
|
||||
2 Send characters to the printer (list) output
|
||||
|
||||
*REN newfile=oldfile
|
||||
*RENAME newfile=oldfile
|
||||
Renames 'oldfile' as 'newfile'. If the extension is omitted, .BBC is
|
||||
Renames 'oldfile' as 'newfile'. If the extension is omitted, .BBC is
|
||||
assumed.
|
||||
|
||||
*RESET
|
||||
Rest the disk system (CP/M function 13). This command does not close any
|
||||
files nor does it perform any other housekeeping function. You should
|
||||
Rest the disk system (CP/M function 13). This command does not close any
|
||||
files nor does it perform any other housekeeping function. You should
|
||||
use *RESET after you have changed a disk.
|
||||
|
||||
*SAVE filespec aaaa bbbb
|
||||
*SAVE filespec aaaa +llll
|
||||
This command saves a specified range of memory to disk. The address range
|
||||
is specified either as start (aaaa) and end+1 (bbbb) or as start (aaaa)
|
||||
This command saves a specified range of memory to disk. The address range
|
||||
is specified either as start (aaaa) and end+1 (bbbb) or as start (aaaa)
|
||||
and length (llll). If the extension is omitted, .BBC is assumed.
|
||||
|
||||
*SPOOL [filespec]
|
||||
Copy all subsequent console output to the specified file. If the filename
|
||||
is omitted, any current spool file is closed and spooling is terminated.
|
||||
Copy all subsequent console output to the specified file. If the filename
|
||||
is omitted, any current spool file is closed and spooling is terminated.
|
||||
If the extension is omitted, .BBC is assumed.
|
||||
|
||||
*TYPE filespec
|
||||
Type the specified file to the screen. If the extension is omitted, .BBC
|
||||
Type the specified file to the screen. If the extension is omitted, .BBC
|
||||
is assumed.
|
||||
|
||||
*| comment
|
||||
@@ -352,7 +357,7 @@ later on provides information on the changes in v5.00.
|
||||
Trappable - BASIC:
|
||||
|
||||
1 Out of range 24 Exp range
|
||||
2 25
|
||||
2 25
|
||||
3 26 No such variable
|
||||
4 Mistake 27 Missing )
|
||||
5 Missing , 28 Bad HEX
|
||||
@@ -383,9 +388,9 @@ later on provides information on the changes in v5.00.
|
||||
198 Disk full 254 Bad command
|
||||
200 Close error 255 CP/M error
|
||||
204 Bad name
|
||||
|
||||
|
||||
New features in BBC BASIC (Z80) version 5.00, May 2024:
|
||||
|
||||
New features in BBC BASIC (Z80) version 5.00, January 2025:
|
||||
|
||||
1. BASIC V statements
|
||||
|
||||
@@ -394,7 +399,7 @@ New features in BBC BASIC (Z80) version 5.00, May 2024:
|
||||
1.3 CASE...WHEN...OTHERWISE...ENDCASE
|
||||
1.4 LOCAL DATA / RESTORE DATA
|
||||
1.5 ON ERROR LOCAL / RESTORE ERROR
|
||||
1.6 DIM var LOCAL size
|
||||
1.6 DIM var LOCAL size
|
||||
1.7 ERROR err, message$
|
||||
1.8 RESTORE +n
|
||||
1.9 SWAP var1,var2
|
||||
@@ -408,10 +413,10 @@ New features in BBC BASIC (Z80) version 5.00, May 2024:
|
||||
2.3 REPORT$
|
||||
2.4 Binary constants
|
||||
2.5 LEFT$ & RIGHT$ with last parameter omitted
|
||||
2.6 MOD(array)
|
||||
2.7 SUM(array)
|
||||
2.8 SUMLEN(array)
|
||||
2.9 GET$#file
|
||||
2.6 MOD(array())
|
||||
2.7 SUM(array())
|
||||
2.8 SUMLEN(array())
|
||||
2.9 GET$#file
|
||||
|
||||
3. BASIC V whole array operations
|
||||
|
||||
@@ -423,9 +428,12 @@ New features in BBC BASIC (Z80) version 5.00, May 2024:
|
||||
3.6 Array initialisation lists
|
||||
3.7 Array compound assignment (+= etc.)
|
||||
3.8 Make a whole array LOCAL
|
||||
3.9 DIM a LOCAL array (on the stack) +
|
||||
3.9 DIM a LOCAL array (on the stack) +
|
||||
|
||||
* String array expressions are not currently supported, instead of using
|
||||
a$() = b$() + c$() use a$() = b$() : a$() += c$()
|
||||
The use of EVAL with whole-array expressions is not currently supported.
|
||||
|
||||
* String array expressions A$() = B$() + C$() are not currently supported.
|
||||
+ LOCAL string arrays should be initialised to their maximum needed length
|
||||
to eliminate the risk of a memory leak each time the PROC/FN is called:
|
||||
LOCAL a$() : DIM a$(size%) : a$() = STRING$(max%, "a") : a$() = ""
|
||||
@@ -434,22 +442,27 @@ New features in BBC BASIC (Z80) version 5.00, May 2024:
|
||||
|
||||
4.1 Bit-shifts <<, >>, >>>
|
||||
4.2 Floating-point indirection (|)
|
||||
4.3 RETURNed parameters from FN/PROC
|
||||
4.4 Compound assignment (+=, -=, *=, /= etc.)
|
||||
4.5 Assigning to a sub-string: LEFT$()=, MID$()= , RIGHT$()=
|
||||
4.6 Hooks for CIRCLE,ELLIPSE,FILL,LINE,MOUSE,ORIGIN,RECTANGLE,TINT,SYS,WAIT
|
||||
4.7 Hooks for WIDTH function, TINT function, MODE function
|
||||
4.3 Additional VDU delimiter '|'
|
||||
4.4 RETURNed parameters from FN/PROC
|
||||
4.5 Compound assignment (+=, -=, *=, /= etc.)
|
||||
4.6 Assigning to a sub-string: LEFT$()=, MID$()= , RIGHT$()=
|
||||
4.7 Hooks for CIRCLE, ELLIPSE, FILL, LINE, ORIGIN, RECTANGLE (graphics)
|
||||
4.8 Hooks for MOUSE, OFF, ON, SYS, TINT, WAIT (statements)
|
||||
4.9 Hooks for MODE function, TINT function, WIDTH function
|
||||
|
||||
5. Extensions to Acorn's BASIC V, compatible with BB4W, BBCSDL and BBCTTY
|
||||
|
||||
5.1 EXIT REPEAT / WHILE / FOR [var]
|
||||
5.2 Address-of operator ^
|
||||
5.3 Byte variables and arrays (& suffix)
|
||||
5.2 Address-of operator (^)
|
||||
5.3 Byte (unsigned 8-bit) variables and arrays (& suffix)
|
||||
5.4 'BY len' and 'TO term' qualifiers to GET$#file
|
||||
5.5 ELSE IF <condition> THEN; (trailing semicolon)
|
||||
5.6 == synonymous with = in comparisons
|
||||
5.7 DIM a global array inside a FN/PROC (use RETURN)
|
||||
5.8 DIM var LOCAL -1 returns the stack pointer, even outside a FN/PROC
|
||||
5.9 RESTORE LOCAL restores local variables without exiting the FN/PROC
|
||||
|
||||
Note: The token for PUT has changed from &CE in version 3 to &0E in version 5.
|
||||
If this token is present in existing programs it will list as ENDWHILE rather
|
||||
than PUT, and the programs will need to be modified to restore functionality.
|
||||
than PUT, and the programs will need to be modified to restore functionality.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,64 +1,68 @@
|
||||
NAME ('HOOK')
|
||||
;
|
||||
GLOBAL CLG
|
||||
GLOBAL COLOUR
|
||||
GLOBAL DRAW
|
||||
GLOBAL ENVEL
|
||||
GLOBAL GCOL
|
||||
GLOBAL MODE
|
||||
GLOBAL MOVE
|
||||
GLOBAL PLOT
|
||||
GLOBAL SOUND
|
||||
GLOBAL PUTIMS
|
||||
GLOBAL CIRCLE
|
||||
GLOBAL ELLIPSE
|
||||
GLOBAL FILL
|
||||
GLOBAL MOUSE
|
||||
GLOBAL ORIGIN
|
||||
GLOBAL RECTAN
|
||||
GLOBAL LINE
|
||||
GLOBAL TINT
|
||||
GLOBAL WAIT
|
||||
GLOBAL SYS
|
||||
;
|
||||
GLOBAL ADVAL
|
||||
GLOBAL POINT
|
||||
GLOBAL GETIMS
|
||||
GLOBAL TINTFN
|
||||
GLOBAL MODEFN
|
||||
GLOBAL WIDFN
|
||||
;
|
||||
EXTRN EXTERR
|
||||
;
|
||||
CLG:
|
||||
COLOUR:
|
||||
DRAW:
|
||||
ENVEL:
|
||||
GCOL:
|
||||
MODE:
|
||||
MOVE:
|
||||
PLOT:
|
||||
SOUND:
|
||||
ADVAL:
|
||||
POINT:
|
||||
GETIMS:
|
||||
PUTIMS:
|
||||
CIRCLE:
|
||||
ELLIPSE:
|
||||
FILL:
|
||||
MOUSE:
|
||||
ORIGIN:
|
||||
RECTAN:
|
||||
LINE:
|
||||
TINT:
|
||||
TINTFN:
|
||||
MODEFN:
|
||||
WIDFN:
|
||||
WAIT:
|
||||
SYS:
|
||||
XOR A
|
||||
CALL EXTERR
|
||||
DEFM 'Sorry'
|
||||
DEFB 0
|
||||
;
|
||||
END
|
||||
NAME ('HOOK')
|
||||
;
|
||||
GLOBAL CLG
|
||||
GLOBAL COLOUR
|
||||
GLOBAL DRAW
|
||||
GLOBAL ENVEL
|
||||
GLOBAL GCOL
|
||||
GLOBAL MODE
|
||||
GLOBAL MOVE
|
||||
GLOBAL PLOT
|
||||
GLOBAL SOUND
|
||||
GLOBAL PUTIMS
|
||||
GLOBAL CIRCLE
|
||||
GLOBAL ELLIPS
|
||||
GLOBAL FILL
|
||||
GLOBAL MOUSE
|
||||
GLOBAL ORIGIN
|
||||
GLOBAL RECTAN
|
||||
GLOBAL LINE
|
||||
GLOBAL TINT
|
||||
GLOBAL WAIT
|
||||
GLOBAL SYS
|
||||
GLOBAL CSRON
|
||||
GLOBAL CSROFF
|
||||
;
|
||||
GLOBAL ADVAL
|
||||
GLOBAL POINT
|
||||
GLOBAL GETIMS
|
||||
GLOBAL TINTFN
|
||||
GLOBAL MODEFN
|
||||
GLOBAL WIDFN
|
||||
;
|
||||
EXTRN EXTERR
|
||||
;
|
||||
CLG:
|
||||
COLOUR:
|
||||
DRAW:
|
||||
ENVEL:
|
||||
GCOL:
|
||||
MODE:
|
||||
MOVE:
|
||||
PLOT:
|
||||
SOUND:
|
||||
ADVAL:
|
||||
POINT:
|
||||
GETIMS:
|
||||
PUTIMS:
|
||||
CIRCLE:
|
||||
ELLIPS:
|
||||
FILL:
|
||||
MOUSE:
|
||||
ORIGIN:
|
||||
RECTAN:
|
||||
LINE:
|
||||
TINT:
|
||||
TINTFN:
|
||||
MODEFN:
|
||||
WIDFN:
|
||||
WAIT:
|
||||
SYS:
|
||||
CSRON:
|
||||
CSROFF:
|
||||
XOR A
|
||||
CALL EXTERR
|
||||
DEFM 'Sorry'
|
||||
DEFB 0
|
||||
;
|
||||
END
|
||||
|
||||
19
Source/Apps/BBCBASIC/licence.txt
Normal file
19
Source/Apps/BBCBASIC/licence.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
Copyright (c) 2024, Richard T. Russell, http://www.rtrussell.co.uk/
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -2,48 +2,38 @@
|
||||
setlocal
|
||||
|
||||
set TOOLS=..\..\Tools
|
||||
set APPBIN=..\..\Binary\Apps
|
||||
set PATH=%TOOLS%\tasm32;%TOOLS%\zxcc;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
set CPMDIR80=%TOOLS%/cpm/
|
||||
|
||||
call :asm syscopy || exit /b
|
||||
call :asm assign || exit /b
|
||||
call :asm format || exit /b
|
||||
call :asm talk || exit /b
|
||||
call :asm mode || exit /b
|
||||
call :asm rtc || exit /b
|
||||
call :asm timer || exit /b
|
||||
call :asm rtchb || exit /b
|
||||
|
||||
zxcc Z80ASM -SYSGEN/F || exit /b
|
||||
|
||||
pushd XM && call Build || exit /b & popd
|
||||
pushd FDU && call Build || exit /b & popd
|
||||
pushd Tune && call Build || exit /b & popd
|
||||
pushd FAT && call Build || exit /b & popd
|
||||
pushd Test && call Build || exit /b & popd
|
||||
pushd ZMP && call Build || exit /b & popd
|
||||
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 Survey && call Build || exit /b & popd
|
||||
pushd HTalk && call Build || exit /b & popd
|
||||
pushd BBCBASIC && call Build || exit /b & popd
|
||||
|
||||
copy *.com %APPBIN%\ || exit /b
|
||||
call :build syscopy || exit /b
|
||||
call :build assign || exit /b
|
||||
call :build format || exit /b
|
||||
call :build talk || exit /b
|
||||
call :build mode || exit /b
|
||||
call :build rtc || exit /b
|
||||
call :build timer || exit /b
|
||||
call :build sysgen || exit /b
|
||||
call :build XM || exit /b
|
||||
call :build FDU || exit /b
|
||||
call :build Tune || exit /b
|
||||
call :build FAT || exit /b
|
||||
call :build Test || exit /b
|
||||
call :build ZMP || exit /b
|
||||
call :build ZMD || exit /b
|
||||
call :build Dev || exit /b
|
||||
call :build VGM || exit /b
|
||||
call :build cpuspd || exit /b
|
||||
call :build reboot || exit /b
|
||||
call :build Survey || exit /b
|
||||
call :build HTalk || exit /b
|
||||
call :build BBCBASIC || exit /b
|
||||
call :build copysl || exit /b
|
||||
call :build ZDE || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
:asm
|
||||
echo.
|
||||
echo Building %1...
|
||||
tasm -t80 -g3 -fFF %1.asm %1.com %1.lst || exit /b
|
||||
goto :eof
|
||||
|
||||
:asm180
|
||||
echo.
|
||||
echo Building %1...
|
||||
tasm -t180 -g3 -fFF %1.asm %1.com %1.lst || exit /b
|
||||
:build
|
||||
echo Building %1
|
||||
pushd %1 && call Build || exit /b & popd
|
||||
goto :eof
|
||||
|
||||
@@ -1,22 +1,33 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.bin del *.bin
|
||||
if exist *.com del *.com
|
||||
if exist *.lst del *.lst
|
||||
if exist *.hex del *.hex
|
||||
if exist *.prn del *.prn
|
||||
call :clean syscopy || exit /b
|
||||
call :clean assign || exit /b
|
||||
call :clean format || exit /b
|
||||
call :clean talk || exit /b
|
||||
call :clean mode || exit /b
|
||||
call :clean rtc || exit /b
|
||||
call :clean timer || exit /b
|
||||
call :clean sysgen || exit /b
|
||||
call :clean XM || exit /b
|
||||
call :clean FDU || exit /b
|
||||
call :clean Tune || exit /b
|
||||
call :clean FAT || exit /b
|
||||
call :clean Test || exit /b
|
||||
call :clean ZMP || exit /b
|
||||
call :clean ZMD || exit /b
|
||||
call :clean Dev || exit /b
|
||||
call :clean VGM || exit /b
|
||||
call :clean cpuspd || exit /b
|
||||
call :clean reboot || exit /b
|
||||
call :clean Survey || exit /b
|
||||
call :clean HTalk || exit /b
|
||||
call :clean BBCBASIC || exit /b
|
||||
call :clean copysl || exit /b
|
||||
call :clean ZDE || exit /b
|
||||
|
||||
pushd XM && call Clean || exit /b 1 & popd
|
||||
pushd FDU && call Clean || exit /b 1 & popd
|
||||
pushd Tune && call Clean || exit /b 1 & popd
|
||||
pushd FAT && call Clean || exit /b 1 & popd
|
||||
pushd Test && call Clean || exit /b 1 & popd
|
||||
pushd ZMP && call Clean || exit /b 1 & popd
|
||||
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 Survey && call Clean || exit /b 1 & popd
|
||||
pushd HTalk && call Clean || exit /b 1 & popd
|
||||
pushd BBCBASIC && call Clean || exit /b 1 & popd
|
||||
goto :eof
|
||||
|
||||
:clean
|
||||
pushd %1 && call Clean || exit /b & popd
|
||||
goto :eof
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
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
|
||||
DEST = ../../Binary/Apps
|
||||
SUBDIRS = HTalk XM FDU FAT Tune Test ZMP ZMD Dev VGM cpuspd reboot Survey BBCBASIC copysl \
|
||||
sysgen syscopy assign format talk mode rtc timer ZDE
|
||||
TOOLS =../../Tools
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
USETASM = 1
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
set TOOLS=..\..\..\..\Tools
|
||||
|
||||
set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\zxcc;%PATH%
|
||||
|
||||
set CPMDIR80=%TOOLS%/cpm/
|
||||
|
||||
zxcc M80 -=2piotst/l || exit /b
|
||||
|
||||
@@ -1,41 +1,31 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
set TOOLS=../../../Tools
|
||||
set APPBIN=..\..\Binary\Apps
|
||||
|
||||
set TOOLS=..\..\..\Tools
|
||||
set PATH=%TOOLS%\tasm32;%TOOLS%\zxcc;%PATH%
|
||||
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
set CPMDIR80=%TOOLS%/cpm/
|
||||
|
||||
pushd DMAmon && call Build || exit /b & popd
|
||||
pushd tstdskng && call Build || exit /b & popd
|
||||
pushd inttest && call Build || exit /b & popd
|
||||
pushd ppidetst && call Build || exit /b & popd
|
||||
pushd ramtest && call Build || exit /b & popd
|
||||
pushd I2C && call Build || exit /b & popd
|
||||
pushd rzsz && call Build || exit /b & popd
|
||||
pushd vdctest && call Build || exit /b & popd
|
||||
pushd kbdtest && call Build || exit /b & popd
|
||||
pushd ps2info && call Build || exit /b & popd
|
||||
pushd 2piotst && call Build || exit /b & popd
|
||||
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
|
||||
call :build DMAmon || exit /b
|
||||
call :build tstdskng || exit /b
|
||||
call :build inttest || exit /b
|
||||
call :build ppidetst || exit /b
|
||||
call :build ramtest || exit /b
|
||||
call :build I2C || exit /b
|
||||
call :build rzsz || exit /b
|
||||
call :build vdctest || exit /b
|
||||
call :build kbdtest || exit /b
|
||||
call :build ps2info || exit /b
|
||||
call :build 2piotst || exit /b
|
||||
call :build piomon || exit /b
|
||||
call :build banktest || exit /b
|
||||
call :build portscan || exit /b
|
||||
call :build sound || exit /b
|
||||
call :build testh8p || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
:asm
|
||||
echo.
|
||||
echo Building %1...
|
||||
tasm -t80 -g3 -fFF %1.asm %1.com %1.lst || exit /b
|
||||
goto :eof
|
||||
|
||||
:asm180
|
||||
echo.
|
||||
echo Building %1...
|
||||
tasm -t180 -g3 -fFF %1.asm %1.com %1.lst || exit /b
|
||||
:build
|
||||
echo Building %1
|
||||
pushd %1 && 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
|
||||
|
||||
@@ -362,7 +362,7 @@ SPDDISP:LD DE,DMA_SPD_STR
|
||||
CALL PRTIDXDEA
|
||||
;
|
||||
call PRTSTRD
|
||||
.db "\n\rTransfer Mode: $" ; DIPLAY TRANSFER
|
||||
.db "\n\rTransfer Mode: $" ; DISPLAY TRANSFER
|
||||
LD a,(dmaxfer) ; MODE
|
||||
LD DE,DMA_XFRMODE
|
||||
CALL PRTIDXDEA
|
||||
|
||||
@@ -5,9 +5,9 @@ set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF i2cscan.asm i2cscan.com i2cscan.lst || exit /b
|
||||
tasm -t180 -g3 -fFF rtcds7.asm rtcds7.com rtcds7.lst || exit /b
|
||||
tasm -t180 -g3 -fFF i2clcd.asm i2clcd.com i2clcd.lst || exit /b
|
||||
tasm -t80 -g3 -fFF i2cscan.asm i2cscan.com i2cscan.lst || exit /b
|
||||
tasm -t80 -g3 -fFF rtcds7.asm rtcds7.com rtcds7.lst || exit /b
|
||||
tasm -t80 -g3 -fFF i2clcd.asm i2clcd.com i2clcd.lst || exit /b
|
||||
tasm -t80 -g3 -ff srom.asm srom.com srom.lst || exit /b
|
||||
|
||||
copy /Y i2c*.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
OBJECTS =
|
||||
SUBDIRS = DMAmon I2C inttest ppidetst ramtest tstdskng rzsz vdctest kbdtest ps2info 2piotst piomon banktest portscan sound
|
||||
DEST = ../../../Binary/Apps/Test
|
||||
# OBJECTS =
|
||||
SUBDIRS = DMAmon I2C inttest ppidetst ramtest tstdskng rzsz vdctest kbdtest ps2info 2piotst piomon banktest portscan sound testh8p
|
||||
# DEST = ../../../Binary/Apps/Test
|
||||
TOOLS =../../../Tools
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
@@ -5,7 +5,7 @@ set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF inttest.asm inttest.com inttest.lst || exit /b
|
||||
tasm -t80 -g3 -fFF inttest.asm inttest.com inttest.lst || exit /b
|
||||
|
||||
copy /Y inttest.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
copy /Y inttest.doc ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
|
||||
@@ -5,7 +5,7 @@ set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF kbdtest.asm kbdtest.com kbdtest.lst || exit /b
|
||||
tasm -t80 -g3 -fFF kbdtest.asm kbdtest.com kbdtest.lst || exit /b
|
||||
|
||||
copy /Y kbdtest.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@ set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF piomon.asm piomon.com piomon.lst || exit /b
|
||||
tasm -t80 -g3 -fFF piomon.asm piomon.com piomon.lst || exit /b
|
||||
|
||||
copy /Y piomon.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
|
||||
@@ -5,7 +5,7 @@ set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF ppidetst.asm ppidetst.com ppidetst.lst || exit /b
|
||||
tasm -t80 -g3 -fFF ppidetst.asm ppidetst.com ppidetst.lst || exit /b
|
||||
|
||||
copy /Y ppidetst.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@ set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF ps2info.asm ps2info.com ps2info.lst || exit /b
|
||||
tasm -t80 -g3 -fFF ps2info.asm ps2info.com ps2info.lst || exit /b
|
||||
|
||||
copy /Y ps2info.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
|
||||
@@ -2,7 +2,7 @@ OBJECTS = ramtest.com
|
||||
DEST = ../../../../Binary/Apps/Test
|
||||
DOCDEST = ../../../../Doc
|
||||
TOOLS = ../../../../Tools
|
||||
OTHERS = loader.bin dbgmon.bin
|
||||
OTHERS = *.bin
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
ramtest.com: loader.bin dbgmon.bin
|
||||
|
||||
10
Source/Apps/Test/testh8p/Build.cmd
Normal file
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
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
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
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
|
||||
@@ -5,7 +5,7 @@ set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF tstdskng.asm tstdskng.com tstdskng.lst || exit /b
|
||||
tasm -t80 -g3 -fFF tstdskng.asm tstdskng.com tstdskng.lst || exit /b
|
||||
|
||||
copy /Y tstdskng.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ set TOOLS=../../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF vdctest.asm vdctest.com vdctest.lst || exit /b
|
||||
tasm -t180 -g3 -fFF vdconly.asm vdconly.com vdconly.lst || exit /b
|
||||
tasm -t80 -g3 -fFF vdctest.asm vdctest.com vdctest.lst || exit /b
|
||||
tasm -t80 -g3 -fFF vdconly.asm vdconly.com vdconly.lst || exit /b
|
||||
|
||||
copy /Y vdctest.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
copy /Y vdconly.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
|
||||
@@ -5,9 +5,9 @@ set TOOLS=../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF -dWBW tune.asm tune.com tune.lst || exit /b
|
||||
tasm -t180 -g3 -fFF -dZX tune.asm tunezx.com tunezx.lst || exit /b
|
||||
tasm -t180 -g3 -fFF -dMSX tune.asm tunemsx.com tunemsx.lst || exit /b
|
||||
tasm -t80 -g3 -fFF -dWBW tune.asm tune.com tune.lst || exit /b
|
||||
tasm -t80 -g3 -fFF -dZX tune.asm tunezx.com tunezx.lst || exit /b
|
||||
tasm -t80 -g3 -fFF -dMSX tune.asm tunemsx.com tunemsx.lst || exit /b
|
||||
|
||||
copy /Y tune*.com ..\..\..\Binary\Apps\ || exit /b
|
||||
copy /Y Tunes\*.* ..\..\..\Binary\Apps\Tunes\ || exit /b
|
||||
@@ -23,6 +23,26 @@ CLI_HAVE_HBIOS_SWITCH1 ; NOT MATCHED --HBIOS
|
||||
LD (HBIOSMD), A
|
||||
RET
|
||||
|
||||
CLI_PORTS:
|
||||
LD HL, CLIARGS ; TEST FOR -MSX ON COMMAND LINE
|
||||
LD DE, OPT_MSX
|
||||
CALL STRINDEX
|
||||
JR NZ, CLI_PORTS1
|
||||
LD A,PORTS_MSX
|
||||
JR CLI_PORTS_Z
|
||||
CLI_PORTS1:
|
||||
LD HL, CLIARGS ; TEST FOR -RC ON COMMAND LINE
|
||||
LD DE, OPT_RC
|
||||
CALL STRINDEX
|
||||
JR NZ, CLI_PORTS2
|
||||
LD A,PORTS_RC
|
||||
JR CLI_PORTS_Z
|
||||
CLI_PORTS2:
|
||||
LD A,PORTS_AUTO ; USE AUTO PORT SELECTION
|
||||
CLI_PORTS_Z:
|
||||
LD (USEPORTS),A ; SAVE PORTS SELECTION
|
||||
RET
|
||||
|
||||
CLI_ABRT_UNSUPPFILTYP:
|
||||
PUSH AF
|
||||
ISHBIOS
|
||||
@@ -79,6 +99,8 @@ CLI_OCTAVE_ADJST5:
|
||||
LD (OCTAVEADJ), A
|
||||
RET
|
||||
|
||||
OPT_MSX .DB "-MSX", 0 ; USE MSX PORTS
|
||||
OPT_RC .DB "-RC", 0 ; USE RC PORTS
|
||||
HBIOSOPT: .DB "--HBIOS", 0
|
||||
DOWN1 .DB "-t1", 0 ; DOWN AN OCTAVE
|
||||
DOWN2 .DB "-t2", 0 ; DOWN TWO OCTAVE
|
||||
|
||||
@@ -51,6 +51,8 @@
|
||||
; 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
|
||||
; 2024-12-12 [WBW] Add options to force standard MSX or RC ports
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; ToDo:
|
||||
@@ -72,6 +74,10 @@ TYPPT2 .EQU 1 ; FILTYP value for PT2 sound file
|
||||
TYPPT3 .EQU 2 ; FILTYP value for PT3 sound file
|
||||
TYPMYM .EQU 3 ; FILTYP value for MYM sound file
|
||||
;
|
||||
PORTS_AUTO .EQU 0 ; AUTO select audio chip ports
|
||||
PORTS_MSX .EQU 1 ; force MSX audio chip ports
|
||||
PORTS_RC .EQU 2 ; force RCBUS audio chip ports
|
||||
;
|
||||
; HIGH SPEED CPU CONTROL
|
||||
;
|
||||
SBCV2004 .EQU 0 ; ENABLE SBC-V2-004 HALF CLOCK DIVIDER
|
||||
@@ -105,6 +111,7 @@ Id .EQU 1 ; 5) Insert official identificator
|
||||
PRTSTRDE(MSGBAN) ; Print to banner message
|
||||
|
||||
CALL CLI_ABRT_IF_OPT_FIRST
|
||||
CALL CLI_PORTS
|
||||
CALL CLI_HAVE_HBIOS_SWITCH
|
||||
CALL CLI_OCTAVE_ADJST
|
||||
JP CONTINUE
|
||||
@@ -124,6 +131,22 @@ CONTINUE:
|
||||
OR A
|
||||
JR NZ, TSTTIMER ; skip hardware check if using hbios
|
||||
|
||||
LD A, (USEPORTS) ; get ports option
|
||||
LD HL,MSXPORTS ; assume MSX
|
||||
CP PORTS_MSX ; use MSX?
|
||||
JR Z,FORCE
|
||||
LD HL,RCPORTS ; asssume RC
|
||||
CP PORTS_RC ; use RC?
|
||||
JR Z,FORCE
|
||||
JR AUTOSEL ; otherwise do auto select
|
||||
|
||||
FORCE:
|
||||
LD BC,CFGSIZ ; Size of one entry
|
||||
LD DE,CFG ; Active config structure
|
||||
LDIR ; Update active config structure
|
||||
JR MAT ; Continue
|
||||
|
||||
AUTOSEL:
|
||||
LD HL,CFGTBL ; Point to start of config table
|
||||
CFGSEL:
|
||||
LD A,$FF ; End of table marker
|
||||
@@ -636,12 +659,26 @@ 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
|
||||
;
|
||||
.DB $FF ; END OF TABLE MARKER
|
||||
;
|
||||
; The following are table entries (like above), but not part of auto
|
||||
; detection searching. They are selected byh command line options.
|
||||
;
|
||||
MSXPORTS:
|
||||
.DB $FF, $A0, $A1, $FF, $FF, $FF, $FF ; GENERIC MSX
|
||||
.DW HWSTR_MSX
|
||||
;
|
||||
RCPORTS:
|
||||
.DB $FF, $D8, $D0, $FF, $FF, $FF, $FF ; GENERIC RC
|
||||
.DW HWSTR_RC
|
||||
;
|
||||
CFG: ; ACTIVE CONFIG VALUES (FROM SELECTED CFGTBL ENTRY)
|
||||
PLT .DB 0 ; RomWBW HBIOS platform id
|
||||
PORTS:
|
||||
@@ -668,11 +705,13 @@ 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
|
||||
USEPORTS .DB 0 ; AUDIO CHIP PORT SELECTION MODE
|
||||
|
||||
MSGBAN .DB "Tune Player for RomWBW v3.12, 12-Dec-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
|
||||
.DB "Usage: TUNE <filename>.[PT2|PT3|MYM] [--hbios] [+tn|-tn]",0
|
||||
.DB "Usage: TUNE <filename>.[PT2|PT3|MYM] [-msx|-rc] [--hbios] [+tn|-tn]",0
|
||||
MSGBIO .DB "Incompatible BIOS or version, "
|
||||
.DB "HBIOS v", '0' + RMJ, ".", '0' + RMN, " required",0
|
||||
MSGPLT .DB "Hardware error, system not supported!",0
|
||||
@@ -695,6 +734,9 @@ 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
|
||||
HWSTR_MSX .DB "MSX Standard Ports (A0H/A1H)",0
|
||||
HWSTR_RC .DB "RCBus Standard Ports (D8H/D0H)",0
|
||||
|
||||
MSGUNSUP .db "MYM files not supported with HBIOS yet!\r\n", 0
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ set TOOLS=../../../Tools
|
||||
set PATH=%TOOLS%\tasm32;%PATH%
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
tasm -t180 -g3 -fFF -dWBW vgmplay.asm vgmplay.com vgmplay.lst || exit /b
|
||||
tasm -t180 -g3 -fFF -dWBW ymfmdemo.asm ymfmdemo.com ymfmdemo.lst || exit /b
|
||||
tasm -t80 -g3 -fFF -dWBW vgmplay.asm vgmplay.com vgmplay.lst || exit /b
|
||||
tasm -t80 -g3 -fFF -dWBW ymfmdemo.asm ymfmdemo.com ymfmdemo.lst || exit /b
|
||||
|
||||
copy /Y vgmplay.com ..\..\..\Binary\Apps\ || exit /b
|
||||
copy /Y Tunes\*.vgm ..\..\..\Binary\Apps\Tunes\ || exit /b
|
||||
|
||||
@@ -3478,7 +3478,17 @@ RSDMA: LXI D,TBUF ; Reset DMA address
|
||||
RET
|
||||
;
|
||||
WRERR: CALL RSDMA ; Reset DMA to normal
|
||||
MVI C,CAN ; Cancel
|
||||
; [WBW] BEGIN: Fixed to put CAN character in A instead of C because
|
||||
; SEND uses the A register. Also increased number of CAN characters
|
||||
; sent to 3. Credit to HubertH for finding this and providing the fix.
|
||||
; MVI C,CAN ; Cancel
|
||||
; [WBW] -----
|
||||
MVI A,CAN ; Cancel
|
||||
CALL SEND ; Sender
|
||||
MVI A,CAN ; Cancel
|
||||
CALL SEND ; Sender
|
||||
MVI A,CAN ; Cancel
|
||||
; [WBW] END
|
||||
CALL SEND ; Sender
|
||||
; [WBW] BEGIN: RCVSABT does not return, so file write error
|
||||
; message was never being displayed. Swapped things around
|
||||
|
||||
@@ -146,6 +146,13 @@ MINIT_UB1:
|
||||
LD A,E ; Put in A
|
||||
LD (CPUSPD),A ; Save it
|
||||
;
|
||||
LD A,(UNIT) ; get current unit specified
|
||||
CP 0FFH ; check for undefined
|
||||
JR NZ,MINIT_UB2 ; if already specified, go ahead
|
||||
XOR A ; default is unit 0
|
||||
LD (UNIT),A ; and save it
|
||||
;
|
||||
MINIT_UB2:
|
||||
JP UB_INIT ; UNA BIOS init
|
||||
;
|
||||
MINIT_RET:
|
||||
@@ -535,8 +542,10 @@ UB_SENDR:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0012H ; unit 0, func 12h (write char)
|
||||
LD E,A ; character to E
|
||||
LD A,(UNIT) ; unit
|
||||
LD B,A ; to B
|
||||
LD C,12H ; func 12h (write char)
|
||||
RST 08
|
||||
POP HL
|
||||
POP DE
|
||||
@@ -568,7 +577,9 @@ UB_MDIN:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0011H ; unit 0, func 12h (write char)
|
||||
LD A,(UNIT) ; unit
|
||||
LD B,A ; to B
|
||||
LD C,11H ; func 11h (read char)
|
||||
RST 08
|
||||
LD A,E ; byte received to A
|
||||
POP HL
|
||||
@@ -586,12 +597,14 @@ UB_RCVRDY:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0013H ; unit 0, func 13h (input stat)
|
||||
LD A,(UNIT) ; unit
|
||||
LD B,A ; to B
|
||||
LD C,13H ; func 13h (input stat)
|
||||
RST 08
|
||||
XOR A ; zero accum ; 4
|
||||
CP E ; CF means not zero ; 4
|
||||
CCF ; CF means zero ; 4
|
||||
RLA ; ZF means not zero ; 4
|
||||
LD A,E ; move char count to accum
|
||||
SUB 1 ; CF set IFF zero
|
||||
RL A ; CF to bit 0 of A
|
||||
AND 01H ; set Z flag as needed
|
||||
LD A,0 ; report no line errors
|
||||
POP HL
|
||||
POP DE
|
||||
@@ -606,12 +619,14 @@ UB_SNDRDY:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0014H ; unit 0, func 14h (output stat)
|
||||
LD A,(UNIT) ; unit
|
||||
LD B,A ; to B
|
||||
LD C,14H ; func 14h (output stat)
|
||||
RST 08
|
||||
XOR A ; zero accum ; 4
|
||||
CP E ; CF means not zero ; 4
|
||||
CCF ; CF means zero ; 4
|
||||
RLA ; ZF means not zero ; 4
|
||||
LD A,E ; char avail to send to accum
|
||||
SUB 1 ; CF set IFF zero
|
||||
RL A ; CF to bit 0 of A
|
||||
AND 01H ; set Z flag as needed
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
|
||||
35
Source/Apps/ZDE/Build.cmd
Normal file
35
Source/Apps/ZDE/Build.cmd
Normal file
@@ -0,0 +1,35 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
set TOOLS=../../../Tools
|
||||
|
||||
set PATH=%TOOLS%\tasm32;%TOOLS%\zxcc;%PATH%
|
||||
|
||||
set TASMTABS=%TOOLS%\tasm32
|
||||
|
||||
set CPMDIR80=%TOOLS%/cpm/
|
||||
|
||||
:: These variations of ZDE are built here as reference copies. They
|
||||
:: are not copied anywhere else during the build.
|
||||
:: The resulting .COM files are manually
|
||||
:: copied to /Source/Images/d_ws/u1 as needed.
|
||||
|
||||
zxcc ZMAC -ZDE16 -/P -/H || exit /b
|
||||
zxcc MLOAD25 ZDE16 || exit /b
|
||||
copy /Y zde16.com ..\..\..\Binary\Apps\ZDE\ || exit /b
|
||||
|
||||
zxcc ZMAC ZDE16A.PAT -/H || exit /b
|
||||
zxcc MLOAD25 ZDE16A=ZDE16.COM,ZDE16A.HEX || exit /b
|
||||
copy /Y zde16a.com ..\..\..\Binary\Apps\ZDE\ || exit /b
|
||||
|
||||
zxcc ZMAC -ZDE17 -/P -/H || exit /b
|
||||
zxcc MLOAD25 ZDE17 || exit /b
|
||||
copy /Y zde17.com ..\..\..\Binary\Apps\ZDE\ || exit /b
|
||||
|
||||
zxcc ZMAC -ZDE18 -/P -/H || exit /b
|
||||
zxcc MLOAD25 ZDE18 || exit /b
|
||||
copy /Y zde18.com ..\..\..\Binary\Apps\ZDE\ || exit /b
|
||||
|
||||
zxcc ZMAC -ZDE19 -/P -/H || exit /b
|
||||
zxcc MLOAD25 ZDE19 || exit /b
|
||||
copy /Y zde19.com ..\..\..\Binary\Apps\ZDE\ || exit /b
|
||||
9
Source/Apps/ZDE/Clean.cmd
Normal file
9
Source/Apps/ZDE/Clean.cmd
Normal file
@@ -0,0 +1,9 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.prn del *.prn
|
||||
if exist *.err del *.err
|
||||
if exist *.rel del *.rel
|
||||
if exist *.com del *.com
|
||||
if exist *.hex del *.hex
|
||||
if exist *.sym del *.sym
|
||||
15
Source/Apps/ZDE/Makefile
Normal file
15
Source/Apps/ZDE/Makefile
Normal file
@@ -0,0 +1,15 @@
|
||||
# These variations of ZDE are built here as reference copies. They
|
||||
# are not copied anywhere else during the build.
|
||||
# The resulting .COM files are manually
|
||||
# copied to /Source/Images/d_ws/u1 as needed.
|
||||
|
||||
OBJECTS = zde16.com zde16a.com zde17.com zde18.com zde19.com
|
||||
DEST = ../../../Binary/Apps/ZDE
|
||||
TOOLS = ../../../Tools
|
||||
OTHERS = *.hex
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
zde16a.com: zde16.com zde16a.pat
|
||||
$(ZXCC) ZMAC zde16a.pat -/H
|
||||
$(ZXCC) MLOAD25 zde16a=zde16.com,zde16a.hex || exit /b
|
||||
38
Source/Apps/ZDE/ReadMe.md
Normal file
38
Source/Apps/ZDE/ReadMe.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# ZDE 1.6 (Z-System Display Editor) reconstituted source - MECPARTS
|
||||
11/19/2020
|
||||
|
||||
Using the source code of [VDE 2.67]
|
||||
(http://www.classiccmp.org/cpmarchives/cpm/Software/WalnutCD/enterprs/cpm/utils/s/vde267sc.lbr)
|
||||
as a guide, I've reconstituted the source code for [ZDE 1.6](http://www.classiccmp.org/cpmarchives/cpm/Software/WalnutCD/cpm/editor/zde16.lbr).
|
||||
The resulting source code is available from the GitHub repository
|
||||
https://github.com/mecparts/zde.
|
||||
|
||||
The source has been assembled with:
|
||||
|
||||
* Al Hawley's ZMAC: assemble as is.
|
||||
* MicroSoft's M80: rename to ZDE16.MAC, un-comment the first two lines
|
||||
and assemble. Use RELHEX to create ZDE16.HEX.
|
||||
* ZASM (Cromemco's ASMB): Rename to ZDE16.Z80 and assemble. Use RELHEX
|
||||
to create ZDE16.HEX.
|
||||
|
||||
Use MLOAD to create ZDE16.COM.
|
||||
|
||||
There are still a couple of routines new to ZDE that I haven't figured
|
||||
out (yet). But most of them have been sussed out.
|
||||
|
||||
## ZDE 1.7 - MECPARTS 11/24/2020
|
||||
|
||||
I've fixed the "doesn't preserve timestamps for files larger than a
|
||||
single extent under ZSDOS" bug that was present in v1.6. The existing
|
||||
ZDENST16.COM program will work with the 1.7 to set the program up for
|
||||
your terminal and printer.
|
||||
|
||||
## ZDE 1.8 - Lars Nelson 12/3/2022
|
||||
|
||||
Added routine to save create time stamp under CP/M Plus since
|
||||
CP/M Plus, unlike ZSDOS, has no native ability to set time stamps.
|
||||
|
||||
## ZDE 1.9 - Peter Onion 03/27/2025
|
||||
|
||||
- Added support for ANSI PgUp, PgDn, Home, & End.
|
||||
- Support ANSI F1 key for menu/error escape.
|
||||
8111
Source/Apps/ZDE/zde16.z80
Normal file
8111
Source/Apps/ZDE/zde16.z80
Normal file
File diff suppressed because it is too large
Load Diff
102
Source/Apps/ZDE/zde16a.pat
Normal file
102
Source/Apps/ZDE/zde16a.pat
Normal file
@@ -0,0 +1,102 @@
|
||||
; This patch file modifies the officially-distributed .COM file
|
||||
; for ZDE Ver 1.6 (copyright by Carson Wilson) to:
|
||||
; - Correct a bug which did not preserve create times when
|
||||
; editing files > 1 extent.
|
||||
; - Use an apparently 'dead' byte in the configuration area as
|
||||
; a configuration flag to allow disabling the 'Auto-Indent'
|
||||
; feature which was always 'on' in ZDE1.6.
|
||||
;
|
||||
; With the second change, you may configure the 'Auto-Indent'
|
||||
; feature to be active (as distributed) or disabled (as this patch
|
||||
; is configured) by altering the DB at label 'AIDflt' in the
|
||||
; second part of this patch file below.
|
||||
;
|
||||
; Assemble this file to a .HEX file (example uses ZMAC) as:
|
||||
;
|
||||
; ZMAC ZDE16A.PAT /H
|
||||
;
|
||||
; then overlay the resulting ZDE16.HEX onto ZDE16.COM with MYLOAD
|
||||
; (or equivalent) as:
|
||||
;
|
||||
; MYLOAD ZDE.COM=ZDE.COM,ZDE16.HEX
|
||||
;
|
||||
; The resulting ZDE.COM will be identified as 'ZDE 1.6a' in the
|
||||
; text identification string near the beginning of the .COM file.
|
||||
;
|
||||
; Harold F. Bower, 18 July 2001.
|
||||
;
|
||||
; CP/M Standard Equates
|
||||
;
|
||||
BDOS EQU 0005H
|
||||
FCB EQU 005CH
|
||||
DMA EQU 0080H
|
||||
TPA EQU 0100H
|
||||
;
|
||||
SDMA EQU 26 ; CP/M Function to set DMA Address
|
||||
;
|
||||
; Needed locations within ZDE 1.6
|
||||
;
|
||||
Fill EQU TPA+0F8BH ; For Date Patch
|
||||
TimBuf EQU TPA+3B3FH ; " " "
|
||||
;
|
||||
VTFlg EQU TPA+3ADAH ; For Auto-Ins Patch
|
||||
HCRFlg EQU TPA+3AE3H ; " " " "
|
||||
LfMarg EQU TPA+3AFDH ; " " " "
|
||||
;
|
||||
; ----------- Begin Patch File -----------
|
||||
;
|
||||
; --- Fix Create Time Stamp Preservation Error ---
|
||||
|
||||
ORG TPA+0029H
|
||||
; was:
|
||||
DB 'a, (C)' ; DB ', Copr.'
|
||||
ORG TPA+2461H
|
||||
; was:
|
||||
LD (FCB+13),A ; CALL ClUsrF
|
||||
;
|
||||
ORG TPA+2F10H
|
||||
; was:
|
||||
LD B,4 ; CALL ClUsrF
|
||||
CALL ClUsrF ; LD DE,TimBuf
|
||||
LD DE,TimBuf ; LD C,SDMA
|
||||
CALL SetDMA ; CALL BDOS
|
||||
;
|
||||
ORG TPA+30AAH
|
||||
; was:
|
||||
LD DE,DMA ; LD C,SDMA
|
||||
SetDMA: LD C,SDMA ; LD DE,DMA
|
||||
;
|
||||
ORG TPA+30B4H
|
||||
; was:
|
||||
ClUsrF: XOR A ; XOR A
|
||||
EX DE,HL ; LD (FCB+13),A
|
||||
JP Fill ; RET
|
||||
;
|
||||
; --- Usurp Config Flag for Auto-Insert use, sense on startup ---
|
||||
;
|
||||
ORG TPA+0057H
|
||||
; was: 0FFH
|
||||
AIDflt: DB 00H ; Set Desired default (0=Off, FF=On)
|
||||
;
|
||||
ORG TPA+262AH
|
||||
; was:
|
||||
LD (LfMarg),HL ; LD HL,0101H
|
||||
XOR A ; LD (LfMarg),HL
|
||||
LD (VTFlg),A ; XOR A
|
||||
LD (HCRFlg),A ; LD (VTFlg),A
|
||||
NOP ; LD (HCRFlg),A
|
||||
LD A,(AIDflt) ; DEC A
|
||||
;
|
||||
ORG TPA+2711H
|
||||
; was:
|
||||
NOP ; LD A,(0157H) {Unknown Use}
|
||||
NOP ; OR A
|
||||
NOP ; JP Z,Error2
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
;
|
||||
;------------ End of Patch File ------------
|
||||
END
|
||||
|
||||
8111
Source/Apps/ZDE/zde17.z80
Normal file
8111
Source/Apps/ZDE/zde17.z80
Normal file
File diff suppressed because it is too large
Load Diff
8567
Source/Apps/ZDE/zde18.z80
Normal file
8567
Source/Apps/ZDE/zde18.z80
Normal file
File diff suppressed because it is too large
Load Diff
8598
Source/Apps/ZDE/zde19.z80
Normal file
8598
Source/Apps/ZDE/zde19.z80
Normal file
File diff suppressed because it is too large
Load Diff
@@ -180,6 +180,14 @@ MINIT_UB1:
|
||||
INC E ; Fix up for value truncation
|
||||
LD A,E ; Put in A
|
||||
LD (CPUSPD),A ; Save it
|
||||
;
|
||||
LD A,(UNIT) ; get current unit specified
|
||||
CP 0FFH ; check for undefined
|
||||
JR NZ,MINIT_UB2 ; if already specified, go ahead
|
||||
XOR A ; default is unit 0
|
||||
LD (UNIT),A ; and save it
|
||||
;
|
||||
MINIT_UB2:
|
||||
;
|
||||
JP UB_INIT ; UNA BIOS init
|
||||
;
|
||||
@@ -578,8 +586,10 @@ UB_SENDR:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0012H ; unit 0, func 12h (write char)
|
||||
LD E,A ; character to E
|
||||
LD A,(UNIT) ; unit
|
||||
LD B,A ; to B
|
||||
LD C,12H ; func 12h (write char)
|
||||
RST 08
|
||||
POP HL
|
||||
POP DE
|
||||
@@ -611,7 +621,9 @@ UB_MDIN:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0011H ; unit 0, func 12h (write char)
|
||||
LD A,(UNIT) ; unit
|
||||
LD B,A ; to B
|
||||
LD C,11H ; func 11h (read char)
|
||||
RST 08
|
||||
LD A,E ; byte received to A
|
||||
POP HL
|
||||
@@ -629,12 +641,14 @@ UB_RCVRDY:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0013H ; unit 0, func 13h (input stat)
|
||||
LD A,(UNIT) ; unit
|
||||
LD B,A ; to B
|
||||
LD C,13H ; func 13h (input stat)
|
||||
RST 08
|
||||
XOR A ; zero accum ; 4
|
||||
CP E ; CF means not zero ; 4
|
||||
CCF ; CF means zero ; 4
|
||||
RLA ; ZF means not zero ; 4
|
||||
LD A,E ; move char count to accum
|
||||
SUB 1 ; CF set IFF zero
|
||||
RL A ; CF to bit 0 of A
|
||||
AND 01H ; set Z flag as needed
|
||||
LD A,0 ; report no line errors
|
||||
POP HL
|
||||
POP DE
|
||||
@@ -649,12 +663,14 @@ UB_SNDRDY:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0014H ; unit 0, func 14h (output stat)
|
||||
LD A,(UNIT) ; unit
|
||||
LD B,A ; to B
|
||||
LD C,14H ; func 14h (output stat)
|
||||
RST 08
|
||||
XOR A ; zero accum ; 4
|
||||
CP E ; CF means not zero ; 4
|
||||
CCF ; CF means zero ; 4
|
||||
RLA ; ZF means not zero ; 4
|
||||
LD A,E ; char avail to send to accum
|
||||
SUB 1 ; CF set IFF zero
|
||||
RL A ; CF to bit 0 of A
|
||||
AND 01H ; set Z flag as needed
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
|
||||
10
Source/Apps/assign/Build.cmd
Normal file
10
Source/Apps/assign/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 assign.asm assign.com assign.lst || exit /b
|
||||
|
||||
copy /Y assign.com ..\..\..\Binary\Apps\ || exit /b
|
||||
6
Source/Apps/assign/Clean.cmd
Normal file
6
Source/Apps/assign/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/assign/Makefile
Normal file
7
Source/Apps/assign/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
OBJECTS = assign.com
|
||||
DEST = ../../../Binary/Apps
|
||||
TOOLS =../../../Tools
|
||||
|
||||
USETASM=1
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user