mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Compare commits
759 Commits
v3.2.1-dev
...
v3.5.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f81e089d63 | ||
|
|
acc32dc819 | ||
|
|
ca29e429e7 | ||
|
|
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 | ||
|
|
add41fdb69 | ||
|
|
457aa44832 | ||
|
|
141c79ef90 | ||
|
|
7e2b2b8f40 | ||
|
|
e68cbded97 | ||
|
|
7d5dc565f3 | ||
|
|
b3bab80342 | ||
|
|
9898309f29 | ||
|
|
55d8c6ce7d | ||
|
|
cd70a62d67 | ||
|
|
307b8bb11b | ||
|
|
fd59d2e4f8 | ||
|
|
e021735876 | ||
|
|
91debe53c4 | ||
|
|
8e0af1720a | ||
|
|
83d26a4faf | ||
|
|
0eb0855948 | ||
|
|
37e682adc7 | ||
|
|
c2f7a75cdd | ||
|
|
39232f00f1 | ||
|
|
890dd1cd5e | ||
|
|
888706149d | ||
|
|
209f457120 | ||
|
|
945d5fc2d2 | ||
|
|
a078820745 | ||
|
|
21df9d8797 | ||
|
|
cd23863226 | ||
|
|
22b10c8ac8 | ||
|
|
4b80f36fd0 | ||
|
|
026fa3d0d7 | ||
|
|
3999039102 | ||
|
|
53198e066c | ||
|
|
3318b12667 | ||
|
|
df2ab201a2 | ||
|
|
20aa3a7d65 | ||
|
|
e757591fb3 | ||
|
|
44ceaa3e71 | ||
|
|
37a7574f1f | ||
|
|
ba8cd05cb7 | ||
|
|
cdc2b3964d | ||
|
|
21b2eee7ab | ||
|
|
bc68674ce2 | ||
|
|
37b3b96e49 | ||
|
|
aeb579d6ad | ||
|
|
229bf119d4 | ||
|
|
cb7ba38f76 | ||
|
|
b80d395266 | ||
|
|
fff0959f96 | ||
|
|
b781f16add | ||
|
|
273e61bc94 | ||
|
|
9bc4f26f6e | ||
|
|
ce9778e189 | ||
|
|
44d890be59 | ||
|
|
e1e485501c | ||
|
|
a31119bd5d | ||
|
|
6b00f5c992 | ||
|
|
20bdb78084 | ||
|
|
4ac7c1213a | ||
|
|
d834742337 | ||
|
|
baf0cd7788 | ||
|
|
572309d03c | ||
|
|
d9e009864b | ||
|
|
46cc57e5fc | ||
|
|
7e2b054fc1 | ||
|
|
d358c8bc1c | ||
|
|
2bc807edc8 | ||
|
|
57364bb581 | ||
|
|
a92aebddd7 | ||
|
|
8b63b32580 | ||
|
|
76cb52eb14 | ||
|
|
48ab169c60 | ||
|
|
0f4d16400f | ||
|
|
329a0f4d7f | ||
|
|
058a67dd40 | ||
|
|
40f2a9f35a | ||
|
|
3eea703d02 | ||
|
|
74daa4d3c5 | ||
|
|
0539b25046 | ||
|
|
a7e767d0b7 | ||
|
|
78a765147e | ||
|
|
1cb5f0b3b4 | ||
|
|
a34afaa11e | ||
|
|
e8d79bdf0a | ||
|
|
e5232c6696 | ||
|
|
70fcb2cbee | ||
|
|
dab2408166 | ||
|
|
d02c734478 | ||
|
|
c4cc800040 | ||
|
|
f82b4c9bc7 | ||
|
|
1db620d2d7 | ||
|
|
3b2c5b57ad | ||
|
|
81da5af7ae | ||
|
|
69ab236d53 | ||
|
|
e7ed6ed27c | ||
|
|
5ea5003d01 | ||
|
|
7c41ef6fc9 | ||
|
|
7497e233d2 | ||
|
|
157af16d32 | ||
|
|
e0414bca05 | ||
|
|
2a6a3f36c2 | ||
|
|
337374c9e9 | ||
|
|
4946b313e1 | ||
|
|
a6505fbbb1 | ||
|
|
dd93a178fa | ||
|
|
a4fdebea2b | ||
|
|
3f63c92fd5 | ||
|
|
c8794d2b9c | ||
|
|
bf2d0b8196 | ||
|
|
e41cd6d8d2 | ||
|
|
47120dcf8c | ||
|
|
67d23dc540 | ||
|
|
99d5c50556 | ||
|
|
438df9a80b | ||
|
|
8c4a3d2b3d | ||
|
|
585c892a54 | ||
|
|
7b5f1f3884 | ||
|
|
49025dca44 | ||
|
|
2d8c37307d | ||
|
|
d294fb6d09 | ||
|
|
1649b6093b | ||
|
|
d50593a70e | ||
|
|
874cc450ba | ||
|
|
918ed66967 | ||
|
|
7fe0312359 | ||
|
|
842a79ae5d | ||
|
|
34d25cb906 | ||
|
|
b8af62d7de | ||
|
|
b28c3b7978 | ||
|
|
bf9a8400de | ||
|
|
c3c541d150 | ||
|
|
cecd13fba9 | ||
|
|
7ce7bda43e | ||
|
|
bb5161dcb0 | ||
|
|
285853e65d | ||
|
|
ab1e9ccab8 | ||
|
|
33cbdd2040 | ||
|
|
792e76b069 | ||
|
|
d572a7ca32 | ||
|
|
c4f78bb3ae | ||
|
|
77ba29c73f | ||
|
|
1a24fcb61b | ||
|
|
9dbceb4a15 | ||
|
|
c2721d1572 | ||
|
|
b7a26bb274 | ||
|
|
6ecf8f9920 | ||
|
|
c1d7a41c82 | ||
|
|
c622e43c14 | ||
|
|
119e2d5421 | ||
|
|
b574768e2b | ||
|
|
2aa3bc2018 | ||
|
|
627e012f3f | ||
|
|
4d39bf93ba | ||
|
|
d2f7830b9e | ||
|
|
30db4c7fe9 | ||
|
|
b020fc3901 | ||
|
|
3f102e0151 | ||
|
|
e18014a8a7 | ||
|
|
074f2cfdb2 | ||
|
|
91f5b36fbc | ||
|
|
9ad7798713 | ||
|
|
807999928e | ||
|
|
0b1bbf3d2b | ||
|
|
d93e639e4b | ||
|
|
b633c309f4 | ||
|
|
a00cf821c7 | ||
|
|
d13ea96f35 | ||
|
|
8e4bb575f1 | ||
|
|
ee8cdfa4b8 | ||
|
|
6f7d1447ea | ||
|
|
3e6120e0fa | ||
|
|
61565bffd7 | ||
|
|
0bac6f32ea | ||
|
|
462545bfe7 | ||
|
|
cc4ad0d4b9 | ||
|
|
458b04404e | ||
|
|
4143cfa4cf | ||
|
|
438e59a05e | ||
|
|
7385d07b9a | ||
|
|
5bea1f400e | ||
|
|
1a9701e51d | ||
|
|
23e0b82112 | ||
|
|
b4b5ef19fc | ||
|
|
4dd46c3df6 | ||
|
|
17e3a95768 | ||
|
|
3529cdaa2f | ||
|
|
556b7074ae | ||
|
|
952489eac4 | ||
|
|
8f326fb081 | ||
|
|
2925ab3d42 | ||
|
|
cdb9f9b40a | ||
|
|
def84eded9 | ||
|
|
d89e055f18 | ||
|
|
62f9330de8 | ||
|
|
374ed7ab97 | ||
|
|
c7bee46f60 | ||
|
|
e9b9782ede | ||
|
|
af00df9182 | ||
|
|
e286a428bf | ||
|
|
f2fc049f07 | ||
|
|
d8a485a5fb | ||
|
|
ed53030de2 | ||
|
|
4b88986de8 | ||
|
|
3df34b4ce0 | ||
|
|
f230fb22da | ||
|
|
2225847212 | ||
|
|
edbe7d0781 | ||
|
|
1d3438fb29 | ||
|
|
a5de77438b | ||
|
|
b841705023 | ||
|
|
72cdbdd4ad | ||
|
|
b8ef50fad5 | ||
|
|
c7d22892c1 | ||
|
|
8b3deb057f | ||
|
|
df42cf544e | ||
|
|
55a41ec0a3 | ||
|
|
4417f871e5 | ||
|
|
1c10f734bd | ||
|
|
214182b514 | ||
|
|
08942fb944 | ||
|
|
5dc724785b | ||
|
|
ce17be9ba6 | ||
|
|
badca621ba | ||
|
|
291cdd2c03 | ||
|
|
888d9879c9 | ||
|
|
39446d5e4f | ||
|
|
af8385fba8 | ||
|
|
10ff97b6c6 | ||
|
|
7e9191f3ef | ||
|
|
a67b1ecd0a | ||
|
|
4012ee7775 | ||
|
|
150ca6b50c | ||
|
|
6af84e9ad8 | ||
|
|
6bcad122cd | ||
|
|
003481410f | ||
|
|
9a1c3f7929 | ||
|
|
ef536750ea | ||
|
|
347a15a3b6 | ||
|
|
1e5b38c251 | ||
|
|
29f93fb153 | ||
|
|
b0975745df | ||
|
|
163460856a | ||
|
|
3ce9246904 | ||
|
|
1a021e02b9 | ||
|
|
f2d304ef0d | ||
|
|
cbfbca8d92 | ||
|
|
b175808a92 | ||
|
|
3e86e79133 | ||
|
|
3247e67ed4 | ||
|
|
bbc84f0c2d | ||
|
|
872d51e9b6 | ||
|
|
b41f189a4c | ||
|
|
25fb2bd59e | ||
|
|
76867b8351 | ||
|
|
43745f8c90 | ||
|
|
ed4daf06a4 | ||
|
|
14cc41c3c4 | ||
|
|
0598d921bc | ||
|
|
93dcfe9610 | ||
|
|
d98547dea3 | ||
|
|
a157d9ba13 | ||
|
|
85783148be | ||
|
|
7bd930bc76 | ||
|
|
c1fa7b420a | ||
|
|
9072bc6d70 | ||
|
|
480dbe4f4c | ||
|
|
26fad23c3a | ||
|
|
883dab7e97 | ||
|
|
d3f5643791 | ||
|
|
5299d24379 | ||
|
|
a229db96a6 | ||
|
|
092e44c62e | ||
|
|
722bce819b | ||
|
|
2d470a2a90 | ||
|
|
b6700dfa4c | ||
|
|
cfc76d0659 | ||
|
|
7fce3277a0 | ||
|
|
2219e4c82d | ||
|
|
68e841e62c | ||
|
|
bb70c36b36 | ||
|
|
c391fd6d56 | ||
|
|
e69caf5059 | ||
|
|
8b7e71049b | ||
|
|
50e190c755 | ||
|
|
d0eccf026b | ||
|
|
39f796ce22 | ||
|
|
5610e79db4 | ||
|
|
e782b78b16 | ||
|
|
c0d3969244 | ||
|
|
c62af3df33 | ||
|
|
6d736996fd | ||
|
|
8bc801d0a4 | ||
|
|
2c6b7f7fb1 | ||
|
|
c3503f56d1 | ||
|
|
d4c87996f0 | ||
|
|
9f5b3a8b1c | ||
|
|
d06e1e2a5c | ||
|
|
22a0c52af3 | ||
|
|
85aa7e89c2 | ||
|
|
59d04f2446 | ||
|
|
9cc52e30d6 | ||
|
|
e1a4e815dc | ||
|
|
3c340d1ab9 | ||
|
|
138248fafc | ||
|
|
834eefb0bb | ||
|
|
7835eb5deb | ||
|
|
d1a5c66147 | ||
|
|
b184ccfb78 | ||
|
|
4776b32cd3 | ||
|
|
2bc5333f2b | ||
|
|
a5575456e2 | ||
|
|
bdb8dc020b | ||
|
|
faaba69554 | ||
|
|
0395bba4f5 | ||
|
|
14ac7a917b | ||
|
|
7a209d4053 | ||
|
|
7e5b140c2f | ||
|
|
1f1952fb19 | ||
|
|
229bdaa308 | ||
|
|
5c0894b8c1 | ||
|
|
9cefcfb0bc | ||
|
|
5d34a5c5d5 | ||
|
|
f8c800e527 | ||
|
|
b90e4d932a | ||
|
|
5457a7e7fd | ||
|
|
8f5cc510ee | ||
|
|
0475f5e853 | ||
|
|
5b7dee0689 | ||
|
|
6532f61747 | ||
|
|
4bdae4eccb | ||
|
|
efb9840b86 | ||
|
|
308a11cb32 | ||
|
|
3a7421de33 | ||
|
|
21a58397b6 | ||
|
|
9ae61806dc | ||
|
|
87ac6f07f8 | ||
|
|
1cd5313259 | ||
|
|
04c1ff04ac | ||
|
|
0e1a0afa2c | ||
|
|
5227bb68b5 | ||
|
|
fb68941768 | ||
|
|
8747ec8d02 | ||
|
|
abd939625f | ||
|
|
69716abb25 | ||
|
|
1f526d440a | ||
|
|
84374c86e6 | ||
|
|
45ea46b105 | ||
|
|
1333d6a491 | ||
|
|
b7e865dbf1 | ||
|
|
1c411f5552 | ||
|
|
364e48a5d3 | ||
|
|
63cb89dcfc | ||
|
|
6e316b46f0 | ||
|
|
3f23396536 | ||
|
|
c628ba10f2 | ||
|
|
9358299f14 | ||
|
|
d445c4a015 | ||
|
|
e32002545b | ||
|
|
7ac88efac1 | ||
|
|
9f71fe05aa | ||
|
|
ad3c533145 | ||
|
|
e43a939f54 | ||
|
|
e5b7409f44 | ||
|
|
9100f199b1 | ||
|
|
bcc50a31a9 | ||
|
|
c891ba2bad | ||
|
|
2f9e77ca13 | ||
|
|
f346209c82 | ||
|
|
0742fb6188 | ||
|
|
94239866a5 | ||
|
|
2681b84a20 | ||
|
|
b5437c56e9 | ||
|
|
f640630a06 | ||
|
|
53e201bd28 | ||
|
|
51d962aeab | ||
|
|
5f36cf9a12 | ||
|
|
d812066f2e | ||
|
|
d8b7f88dad |
11
.github/pull_request_template.md
vendored
Normal file
11
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<!--
|
||||
BEFORE YOU CREATE A PULL REQUEST:
|
||||
|
||||
- Please base all pull requests against the master branch
|
||||
- Include a clear description of your change
|
||||
- Reference related Issue(s) (e.g., "Resolves Issue #123")
|
||||
|
||||
Thank you for contributing to RomWBW! I will review your pull request as soon as possible.
|
||||
|
||||
DELETE EVERYTHING IN THIS COMMENT BLOCK AND REPLACE WITH YOUR COMMENTS
|
||||
-->
|
||||
12
.github/workflows/commit.yml
vendored
12
.github/workflows/commit.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3.3.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
|
||||
- name: Get Commit Ref
|
||||
run: |
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
run: |
|
||||
export TZ='America/Los_Angeles'
|
||||
sudo apt-get install srecord
|
||||
make dist
|
||||
make distlog
|
||||
rm -rf .git*
|
||||
|
||||
- name: List Output
|
||||
@@ -36,7 +36,7 @@ jobs:
|
||||
find -type f -exec md5sum '{}' \;
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3.1.1
|
||||
uses: actions/upload-artifact@v4.3.0
|
||||
with:
|
||||
name: RomWBW-${{env.COMMIT_REF}}-Linux
|
||||
path: .
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3.3.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
|
||||
- name: Get Commit Ref
|
||||
run: |
|
||||
@@ -58,7 +58,7 @@ jobs:
|
||||
run: |
|
||||
export TZ='America/Los_Angeles'
|
||||
brew install srecord
|
||||
make dist
|
||||
make distlog
|
||||
rm -rf .git*
|
||||
|
||||
- name: List Output
|
||||
@@ -68,7 +68,7 @@ jobs:
|
||||
find . -type f -exec md5 -r -- '{}' +;
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3.1.1
|
||||
uses: actions/upload-artifact@v4.3.0
|
||||
with:
|
||||
name: RomWBW-${{env.COMMIT_REF}}-MacOS
|
||||
path: .
|
||||
|
||||
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@@ -12,14 +12,14 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3.3.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
export TZ='America/Los_Angeles'
|
||||
sudo apt-get install libncurses-dev
|
||||
sudo apt-get install srecord
|
||||
make dist
|
||||
make distlog
|
||||
rm -rf .git*
|
||||
|
||||
- name: Create Package Archive
|
||||
@@ -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
|
||||
|
||||
151
.gitignore
vendored
151
.gitignore
vendored
@@ -20,7 +20,7 @@
|
||||
|
||||
Binary/**/*.mym
|
||||
Binary/**/*.pt3
|
||||
!Binary/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
|
||||
@@ -85,6 +86,7 @@ Tools/unix/zx/zx
|
||||
!Source/BPBIOS/*.lib
|
||||
!Source/BPBIOS/Z34RCP11/cledinst.com
|
||||
!Source/BPBIOS/Z34RCP11/cledsave.com
|
||||
!Source/CPNET/**
|
||||
!Source/Fonts/*
|
||||
!Source/Images/**
|
||||
!Source/RomDsk/**
|
||||
@@ -95,8 +97,11 @@ Tools/unix/zx/zx
|
||||
!Source/ZPM3/*.[Cc][Oo][Mm]
|
||||
!Source/ZSDOS/*.[Cc][Oo][Mm]
|
||||
!Source/ZRC/*.bin
|
||||
!Source/ZZRC/*.bin
|
||||
!Source/ZZRC/*.hex
|
||||
!Source/ZRC512/*.bin
|
||||
!Source/EZ512/*.bin
|
||||
!Source/Z1RCC/*.bin
|
||||
!Source/ZZRCC/*.bin
|
||||
!Source/FZ80/*.bin
|
||||
!Tools/cpm/**
|
||||
!Tools/unix/zx/*
|
||||
!Tools/zx/*
|
||||
@@ -107,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"
|
||||
}
|
||||
@@ -8,5 +8,7 @@ if exist *.hlp del *.hlp
|
||||
if exist Tunes\*.pt? del Tunes\*.pt?
|
||||
if exist Tunes\*.mym del Tunes\*.mym
|
||||
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
|
||||
|
||||
@@ -8,4 +8,4 @@ all::
|
||||
mkdir -p Tunes
|
||||
|
||||
clean::
|
||||
@rm -f *.bin *.com *.img *.rom *.pdf *.log *.eeprom *.ovr *.hlp *.doc *.COM *.BIN Tunes/*.mym Tunes/*.pt? Tunes/*.vgm
|
||||
@rm -f *.bin *.com *.img *.rom *.pdf *.log *.eeprom *.ovr *.hlp *.doc *.COM *.BIN Tunes/*.mym Tunes/*.pt? Tunes/*.vgm bbcbasic.txt
|
||||
|
||||
44
Binary/Apps/Test/inttest.doc
Normal file
44
Binary/Apps/Test/inttest.doc
Normal file
@@ -0,0 +1,44 @@
|
||||
INTTEST
|
||||
=======
|
||||
|
||||
RomWBW includes an API allowing applications to "hook" interrupts.
|
||||
The `INTTEST` utility allows you to test this functionality.
|
||||
|
||||
|
||||
** Syntax **
|
||||
|
||||
`INTTEST`
|
||||
|
||||
|
||||
** Usage **
|
||||
|
||||
`INTTEST` is an interactive application. At startup, it will display
|
||||
a list of the interrupt vector slots in your system along with the
|
||||
current vector address for each of them.
|
||||
|
||||
It then prompts you to enter the slot number (in hex) of a vector to
|
||||
hook. After entering this, the application will watch the hooked
|
||||
vector and countdown from 0xFF to 0x00 as interrupts are noted.
|
||||
|
||||
When the counter reaches 0x00, the interrupt is unhooked and the
|
||||
application terminates. The application can also be terminated by
|
||||
pressing <esc>.
|
||||
|
||||
|
||||
** Notes **
|
||||
|
||||
If your system is running without interrupts active, the application
|
||||
will terminate immediately.
|
||||
|
||||
All slots have vectors even if the corresponding interrupt is not
|
||||
doing anything. In this case, the vector is pointing to the "bad
|
||||
interrupt" handler.
|
||||
|
||||
If you hook a vector that is not receiving any interrupts, the
|
||||
down-counter will not do anything.
|
||||
|
||||
|
||||
** Etymology* *
|
||||
|
||||
The `INTTEST` command is an original product and the source code is
|
||||
provided in the RomWBW distribution.
|
||||
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
|
||||
@@ -6,12 +6,5 @@
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory contains the CP/M 3 client tools for CP/NET. These
|
||||
tools work only with the MT011 RCBus module.
|
||||
|
||||
All of these files come from Douglas Miller. Please refer to
|
||||
https://github.com/durgadas311/cpnet-z80 for more information and
|
||||
the latest source code.
|
||||
|
||||
In general, to use CP/NET on RomWBW, it is intended that you will
|
||||
copy all of these files into your user 0 directory.
|
||||
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.
|
||||
4
Binary/CPNET/Clean.cmd
Normal file
4
Binary/CPNET/Clean.cmd
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.lbr del *.lbr
|
||||
7
Binary/CPNET/Makefile
Normal file
7
Binary/CPNET/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
TOOLS = ../../Tools
|
||||
MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.lbr)
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
clean::
|
||||
@rm -f *.lbr
|
||||
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.
38
Binary/CPNET/ReadMe.txt
Normal file
38
Binary/CPNET/ReadMe.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
***********************************************************************
|
||||
*** ***
|
||||
*** R o m W B W ***
|
||||
*** ***
|
||||
*** Z80/Z180 System Software ***
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory contains the CP/NET client packages. Please refer to
|
||||
the RomWBW User Guide for instructions on installing these packages.
|
||||
Either the MT011 RCBus module or the Duodyne Disk I/O board is required.
|
||||
|
||||
All of these files come from Douglas Miller. Please refer to
|
||||
https://github.com/durgadas311/cpnet-z80 for more information, complete
|
||||
documentation and the latest source code. Refer to the RomWBW
|
||||
User Guide for basic installation and usage instructions under RomWBW.
|
||||
|
||||
| File | CP/NET Version | OS | Hardware |
|
||||
+--------------+----------------+----------+-----------------------+
|
||||
| CPN12MT.LBR | CP/NET 1.2 | CP/M 2.2 | RCBus w/ MT011 |
|
||||
| CPN3MT.LBR | CP/NET 3 | CP/M 3 | RCBus w/ MT011 |
|
||||
| CPN12DUO.LBR | CP/NET 1.2 | CP/M 2.2 | Duodyne w/ Disk I/O |
|
||||
| CPN3DUO.LBR | CP/NET 3 | CP/M 3 | Duodyne w/ Disk I/O |
|
||||
|
||||
In general, to use CP/NET on RomWBW, it is intended that you will
|
||||
extract the appropriate set of files into your default directory in
|
||||
user area 0. Refer to the RomWBW User Guide for more information.
|
||||
|
||||
The libraries include enhanced help files appropriate for the version
|
||||
of CP/NET. Rename the desired topic collection to HELP.HLP on the
|
||||
target system.
|
||||
|
||||
CPM2NET.HLP CP/M 2.2 basic system with CP/NET 1.2
|
||||
CPNET12.HLP CP/NET 1.2 help only
|
||||
CPM3NET.HLP CP/M 3 basic system with CP/NET 3
|
||||
CPNET3.HLP CP/NET 3 help only
|
||||
|
||||
-- WBW 7:14 AM 2/11/2024
|
||||
@@ -12,5 +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
|
||||
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,41 +6,41 @@
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
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 the
|
||||
RomList.txt file in this directory.
|
||||
Documentation of the pre-built ROM Images is contained in
|
||||
"RomWBW User Guide.pdf" in the Doc directory.
|
||||
|
||||
ROM Firmware Update Images (<plt>_<cfg>.upd)
|
||||
-------------------------------------
|
||||
@@ -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,37 +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
|
||||
DiskList.txt file in this directory.
|
||||
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.
|
||||
42
CONTRIBUTING.md
Normal file
42
CONTRIBUTING.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Contributing to RomWBW
|
||||
|
||||
> **WARNING**: The `dev` branch of RomWBW has been deprecated as of v3.4. All Pull Requests should now target the `master` branch.
|
||||
|
||||
Contributions of all kinds to RomWBW are welcomed and greatly appreciated.
|
||||
|
||||
- Reporting bug(s) and suggesting new feature(s)
|
||||
- Discussing the current state of the code
|
||||
- Submitting a fixes and enhancements
|
||||
|
||||
## RomWBW GitHub Repository
|
||||
|
||||
The [RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW) is the primary location for developing, supporting, and distributing RomWBW. Although input is gladly accepted from almost any channel, the GitHub Repository is preferred.
|
||||
|
||||
- Use **Issues** to report bugs, request enhancements, or ask usage questions.
|
||||
- Use **Discussions** to interact with others
|
||||
- Use **Pull Requests** to submit content (code, documentation, etc.)
|
||||
|
||||
## Submitting Content
|
||||
|
||||
This RomWBW Project uses the standard [GitHub Flow](https://docs.github.com/en/get-started/quickstart/github-flow). Submission of content changes (including code) are ideally done via Pull Requests.
|
||||
|
||||
- Submitters are advised to contact [Wayne Warthen](mailto:wwarthen@gmail.com) or start a GitHub Discussion prior to starting any significant work. This is simply to ensure that submissions are consistent
|
||||
with the overall goals and intentions of RomWBW.
|
||||
- All submissions should be based on the `master` branch. To create your submission, fork the RomWBW repository and create your branch from `master`. Make (and test) your changes in your personal fork.
|
||||
- Please update relevant documentation and the `ChangeLog` found in the `Doc` folder.
|
||||
- You are encouraged to comment your submissions to ensure your work is properly attributed.
|
||||
- When ready, submit a Pull Request to merge your forked branch into the RomWBW master branch.
|
||||
|
||||
## Coding Style
|
||||
|
||||
Due to the nature of the project, you will find a variety of coding styles. When making changes to existing code, please try to be consistent with the existing coding style. You may not like the current style, but no one likes mixed styles
|
||||
in one file/module.
|
||||
|
||||
Be careful with white space. RomWBW is primarily assembly langauge code. The use of tab stops at every 8 characters is pretty standard for assembler. If you use something else, then your code will look odd when viewed by others.
|
||||
|
||||
In most cases, the use of `<cr><lf>` line endings is preferred. This is standard for the operating systems of the era that RomWBW provides. Also note that CP/M text files should end with a ctrl-Z (0x1A). This is not magically added by the
|
||||
tools that generate the disk images.
|
||||
|
||||
## License
|
||||
|
||||
RomWBW is licensed under GPLv3. When you submit code changes, your submissions are understood to be under the same [GPLv3 License](https://www.gnu.org/licenses/gpl-3.0.html) that covers the project.
|
||||
70
Doc/CPM/ReadMe.txt
Normal file
70
Doc/CPM/ReadMe.txt
Normal file
@@ -0,0 +1,70 @@
|
||||
***********************************************************************
|
||||
*** ***
|
||||
*** R o m W B W ***
|
||||
*** ***
|
||||
*** Z80/Z180 System Software ***
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory ("Doc/CPM") is part of the RomWBW System Software
|
||||
distribution archive. It contains documentation for the CP/M and
|
||||
CP/M work-alike operating system components of the system.
|
||||
|
||||
|
||||
CPM Manual ("CPM Manual.pdf")
|
||||
-----------------------------
|
||||
|
||||
The original DRI CP/M 2.x Operating System Manual. This should be
|
||||
considered the primary reference for system operation. The section
|
||||
on CP/M 2 Alteration can be ignored since this work has already been
|
||||
completed as part of the RomWBW distribution.
|
||||
|
||||
|
||||
CPM3 Command Summary ("CPM3 Command Summary.pdf")
|
||||
CPM3 Programmer's Guide ("CPM3 Programmers Guide.pdf")
|
||||
CPM3 System Guide ("CPM3 System Guide.pdf")
|
||||
CPM3 User's Guide ("CPM3 Users Guide.pdf")
|
||||
------------------------------------------------------
|
||||
|
||||
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, Z3PLUS, and replace ZCPR3.3 Documentation
|
||||
------------------------------------------------
|
||||
|
||||
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")
|
||||
QP/M 2.7 Interface Guide ("qdos27.pdf")
|
||||
QP/M 2.7 Features and Facilities ("qcp27.pdf")
|
||||
--------------------------------------------
|
||||
|
||||
Official documentation set for QP/M 2.7 from original QP/M distribution.
|
||||
|
||||
|
||||
ZCPR Manual ("ZCPR Manual.pdf")
|
||||
-------------------------------
|
||||
|
||||
ZCPR is the command proccessor portion of Z-System. This is the
|
||||
manual for ZCPR 1.x as included in RomWBW. The installation
|
||||
instructions can be ignored since that work has already been
|
||||
completed as part of the RomWBW distribution.
|
||||
|
||||
ZCPR D&J Manual ("ZCPR-DJ.doc")
|
||||
-------------------------------
|
||||
|
||||
ZCPR D&J User Manual. This manual supplements the ZCPR Manual.
|
||||
|
||||
|
||||
ZSDOS Manual ("ZSDOS Manual.pdf")
|
||||
---------------------------------
|
||||
|
||||
ZSDOS is the DOS portion of Z-System. This is the manual for ZSDOS
|
||||
1.x as included in RomWBW. The installation instructions can be
|
||||
ignored since that work has already been completed as part of the
|
||||
RomWBW distribution.
|
||||
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.
@@ -1,9 +1,133 @@
|
||||
Version 3.5
|
||||
-----------
|
||||
- M?F: Fix for hours display in HBRTC application
|
||||
- M?F: Fix for assembly error in DS1501RTC driver
|
||||
- WBW: Add VT-100 graphics char selection to Propeller firmware
|
||||
- WBW: Allow all lines of VGA display to be used on Propeller firmware
|
||||
- WBW: Allow front panel LED/Switch bits to be inverted in config
|
||||
- WBW: Add API to expose application banks available
|
||||
- WBW: Added console takeover at boot loader prompt
|
||||
- L?N: Fixed Propeller font vertical line character to align properly
|
||||
- L?S: EF9345 video display controller driver
|
||||
- WBW: Added Cowgol disk image based on the work of Ladislau Szilagyi
|
||||
- WBW: Added support for CP/NET on Duodyne Disk I/O
|
||||
- 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
|
||||
- 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)
|
||||
- M?R: Update Timer app to display output in decimal
|
||||
- WBW: Preliminary support for S100 FPGA Z80 platform
|
||||
- WBW: Added simple serial (SSER) driver
|
||||
- WBW: Added preliminary support for S100 FPGA Z80 SD Cards
|
||||
- M?R: Consolidated ROM Applications document into the Applications document
|
||||
- M?R: Reviewed and substantially improved the Applications document
|
||||
- WBW: Added support for DS1305 RTC on S100 FPGA Z80
|
||||
- WBW: Added support for Les Bird's RCBus Graphics/Sound/Joystick module
|
||||
- WBW: Added support for Les Bird's Dual 16C550 UART module
|
||||
- WBW: Refactor UART driver for more flexible configuration
|
||||
- M?R: Added hour/minute/second display to timer app
|
||||
- WBW: Substantial customization of NZ-COM disk image
|
||||
- WBW: Refactor build post-processing (ZRC, ZZRCC, etc.)
|
||||
- MAP: Improved section Real Time Clock in User Guide document
|
||||
- WBW: Support for Hitachi HD44780-based LCD display
|
||||
- DRJ: Added support for Genesis STD Bus Z180 platform
|
||||
- MAP: Improved section Disk Management in User Guide document
|
||||
- WBW: Add CPU speed selection for HEATH platform to HBIOS
|
||||
- WBW: Add Warm/Cold reboot options to CPUSPD utility
|
||||
- D?N: Added support for eZ80 CPU
|
||||
- MAP: Contributed COPYSL utility 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
|
||||
-----------
|
||||
NOTE: Changes require HBIOS/CBIOS/Apps sync, version bump to 3.4 to ensure integrity
|
||||
- WBW: Device type number moved from upper nibble to full byte
|
||||
- A?C: Support for EP ITX-Mini Z180 Platform
|
||||
- M?R: Significant improvement in User Guide document
|
||||
- J?P: Preliminary support for Monsputer (MON)
|
||||
- JLC: Standardize TMS driver memory map for compatibility
|
||||
- WBW: Improved IDE device detection
|
||||
- WBW: Fixed decompression when run on Z280
|
||||
- K?B: WDATE generic HBIOS date/time utility
|
||||
- WBW: Create new DSKY framework with simple driver style interface
|
||||
- JBL: Added ColecoVision config in TMS driver
|
||||
- WBW: Added support for interrupt mode 1 on Z180
|
||||
- WBW: Added S100 platform
|
||||
- WBW: Added Duodyne platform
|
||||
- WBW: Incorporated John Monahan's S100 Monitor in S100 platform build
|
||||
- WBW: Support ESP32 on Duodyne
|
||||
- M?C: Fixed port specification when using XM.COM send transfers
|
||||
- PMS: Support for Duodyne DMA
|
||||
- WBW: Added Serial ROM (SROM.COM) utility
|
||||
- WBW: Support S100 Propeller Console
|
||||
- SCC: Added support for SC700
|
||||
- WBW: Added Heath H8 platform
|
||||
- D?J: Enhanced build to run on Raspberry Pi 4
|
||||
- WBW: Complete overhaul of ROMless boot operation
|
||||
- WBW: Prevent access to slices outside of partition
|
||||
- T?P: Contributed the HTALK utility
|
||||
- WBW: CTS stall detection
|
||||
- W?S: Updated FLASH utility to v1.3.7
|
||||
- L?N: Updated UNARC to new OS universal version
|
||||
- B?C: Added support for Z1RCC
|
||||
- M?R: User Guide enhancements and corrections
|
||||
- D?H: Added support for specification of secondary console
|
||||
- WBW: Added platform for Monsputer
|
||||
- WBW: Added FAT.COM to standard ROM Disk (removed RMAC.COM & LINK.COM)
|
||||
|
||||
Version 3.3
|
||||
-----------
|
||||
NOTE: v3.3 was never released
|
||||
- WBW: Support Front Panel switches
|
||||
- A?C: Preliminary support for Z80-Retro
|
||||
- A?C: Support for SD PIO
|
||||
- A?C: Support for Z80-Retro SD interface
|
||||
- WBW: Support per-drive floppy configuration
|
||||
- WBW: Support for Bill Shen's VGARC
|
||||
- WBW: Support for MG014 Parallel Port module + printer
|
||||
- WBW: Support for IMM Zip Drive on PPI interface (much inspiration from Alan Cox)
|
||||
- WBW: Support for PPA Zip Drive on PPI interface (much inspiration from Alan Cox)
|
||||
- WBW: Support for SyQuest SparQ Drive on PPI interface (much inspiration from Alan Cox)
|
||||
- WBW: Support for ATAPI Disk Drives (not CD-ROMs) on IDE and PPIDE interfaces
|
||||
- R?P: Added new disk images: Aztec C, MS BASIC Compiler, MS Fortran, Games, HiTech-C, Turbo Pascal, SLR Z80ASM
|
||||
- JBL: Added RCZ80 configuration for ColecoVision
|
||||
- WBW: Support for Z180 running interrupt mode 1
|
||||
- WBW: Preliminary support for S100 Computers Z180
|
||||
- WBW: Preliminary support for Dan Werner's ESP32 MBC Module
|
||||
- WBW: Early support for Duodyne base system (CPU/UART/ROM/RAM/RTC/SPK)
|
||||
- M?C: Fixed XM to allow specifying HBIOS port for send operations
|
||||
- WBW: Fix S100 Z180 LED operation (credit to Jay Cotton for finding this issue)
|
||||
- WBW: QPM system image is now combined with current CBIOS during build
|
||||
- WBW: Added framework for Heath platform
|
||||
- WBW: Support for USB Disks via CH375/CH376
|
||||
- D?J: Support for Raspberry Pi build process
|
||||
|
||||
Version 3.2.1
|
||||
-------------
|
||||
- M?P: Fixed Zeta 2 FDD and CPUSPD config settings
|
||||
- WBW: Fixed SURVEY.COM (again)
|
||||
- DDW: Updates to DOS/65 binaries in disk images
|
||||
- PMS: Updates to VGMPLAY including support for YM2151
|
||||
- WBW: Fix for quark delay adjustment being trashed
|
||||
|
||||
Version 3.2
|
||||
-----------
|
||||
@@ -600,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.
|
||||
|
||||
BIN
Doc/Contrib/AY-3-8910 Registers.xlsx
Normal file
BIN
Doc/Contrib/AY-3-8910 Registers.xlsx
Normal file
Binary file not shown.
@@ -4,7 +4,7 @@ ZSDOS Adaptation Notes for RomWBW
|
||||
Wayne Warthen
|
||||
wwarthen@gmail.com
|
||||
|
||||
This file is a log of the work done to adapt the ZSDOS distribution to the N8VEM platforms under RomWBW. I strongly recommend reviewing the zsdos.pdf file in the Doc directory.
|
||||
This file is a log of the work done to adapt the ZSDOS distribution to the N8VEM platforms under RomWBW. I strongly recommend reviewing the zsdos.pdf file in the Doc/CPM directory.
|
||||
|
||||
The starting point was the general public release of ZSDOS that is generally available. The first line of the README file is "ZSDOS-GP. General Public Release of the ZSDOS 1.x Operating System."
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -52,4 +52,4 @@ Usage Notes
|
||||
|
||||
6. After using PUTDS to initialize a directory for ZDS date stamping, I am finding that it is necessary to run RELOG before the stamping routines will actually start working.
|
||||
|
||||
7. Generic CP/M PIP and ZSDOS path searching do not play well together if you use PIP to copy to or from a directory in the ZSDOS search path. Best to use COPY from the ZSDOS distribution.
|
||||
7. Generic CP/M PIP and ZSDOS path searching do not play well together if you use PIP to copy to or from a directory in the ZSDOS search path. Best to use COPY from the ZSDOS distribution.
|
||||
|
||||
Binary file not shown.
BIN
Doc/Language/Aztec_C_1.06_User_Manual_Mar84.pdf
Normal file
BIN
Doc/Language/Aztec_C_1.06_User_Manual_Mar84.pdf
Normal file
Binary file not shown.
11351
Doc/Language/HI-TECH Z80 C Compiler Manual.txt
Normal file
11351
Doc/Language/HI-TECH Z80 C Compiler Manual.txt
Normal file
File diff suppressed because it is too large
Load Diff
4090
Doc/Language/Microsoft_FORTRAN-80_Users_Manual_1977.pdf
Normal file
4090
Doc/Language/Microsoft_FORTRAN-80_Users_Manual_1977.pdf
Normal file
File diff suppressed because one or more lines are too long
62
Doc/Language/ReadMe.txt
Normal file
62
Doc/Language/ReadMe.txt
Normal file
@@ -0,0 +1,62 @@
|
||||
***********************************************************************
|
||||
*** ***
|
||||
*** R o m W B W ***
|
||||
*** ***
|
||||
*** Z80/Z180 System Software ***
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory ("Doc/Language") is part of the RomWBW System Software
|
||||
distribution archive. It contains documentation for Programming
|
||||
Languages provided with the system.
|
||||
|
||||
|
||||
Aztec C Compiler User Manual (Aztec_C_1.06_User_Manual_Mar84.pdf)
|
||||
-----------------------------------------------------------------
|
||||
|
||||
Official user manual for the Aztec C Compiler included in the aztecc disk image.
|
||||
|
||||
|
||||
Borland TurboPascal User Manual (Turbo_Pascal_Version_3.0_Reference_Manual_1986.pdf)
|
||||
------------------------------------------------------------------------------------
|
||||
|
||||
Official user manual Borland TurboPascal included in the pascal disk image.
|
||||
|
||||
|
||||
Cowgol Lanaguage (Cowgol Language.pdf)
|
||||
--------------------------------------
|
||||
|
||||
Documentation for Cowgol Language included in the cowgol disk image
|
||||
|
||||
|
||||
HI-TECH C Compiler User Manual (HI-TECH Z80 C Compiler Manual.txt)
|
||||
------------------------------------------------------------------
|
||||
|
||||
Official user manual for the HI-TECH C Compiler included in the
|
||||
hitechc disk image.
|
||||
|
||||
|
||||
Microsoft Basic-80 Reference Manual v5.0 (Microsoft Basic-80 Reference Manual v5.0.pdf)
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
Official manual for Microsoft BASIC as included in RomWBW.
|
||||
|
||||
|
||||
Microsoft FORTRAN-80 User Manual (Microsoft_FORTRAN-80_Users_Manual_1977.pdf)
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Official user manual for Microsoft's FORTRAN-80 compiler included in the fortran
|
||||
disk image.
|
||||
|
||||
|
||||
Z80 Assembler User Manual (z80asm (SLR Systems).pdf)
|
||||
----------------------------------------------------
|
||||
|
||||
Official user manual for the Z80 Macro Assembler by SLR Systems
|
||||
included in the z80asm disk image.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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.
49495
Doc/Language/Turbo_Pascal_Version_3.0_Reference_Manual_1986.pdf
Normal file
49495
Doc/Language/Turbo_Pascal_Version_3.0_Reference_Manual_1986.pdf
Normal file
File diff suppressed because one or more lines are too long
BIN
Doc/Language/Z80DIS User Manual (1985).pdf
Normal file
BIN
Doc/Language/Z80DIS User Manual (1985).pdf
Normal file
Binary file not shown.
BIN
Doc/Language/z80asm (SLR Systems).pdf
Normal file
BIN
Doc/Language/z80asm (SLR Systems).pdf
Normal file
Binary file not shown.
@@ -6,10 +6,22 @@
|
||||
*** ***
|
||||
***********************************************************************
|
||||
|
||||
This directory ("Doc") is part of the RomWBW System Software
|
||||
distribution archive. It contains documentation for components of
|
||||
This directory ("Doc") is part of the RomWBW System Software
|
||||
distribution archive. It contains documentation for components of
|
||||
the system.
|
||||
|
||||
CPM (Directory)
|
||||
---------------
|
||||
|
||||
Documentation specific to CP/M, including all versions and derivatives.
|
||||
|
||||
|
||||
Language (Directory)
|
||||
--------------------
|
||||
|
||||
Documentation specific to programming languages, provided with the system
|
||||
|
||||
|
||||
ChangeLog.txt
|
||||
-------------
|
||||
|
||||
@@ -19,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
|
||||
@@ -31,25 +43,6 @@ and utilities are detailed in the Applications and
|
||||
ROM Applications documents.
|
||||
|
||||
|
||||
CPM Manual ("CPM Manual.pdf")
|
||||
-----------------------------
|
||||
|
||||
The original DRI CP/M 2.x Operating System Manual. This should be
|
||||
considered the primary reference for system operation. The section
|
||||
on CP/M 2 Alteration can be ignored since this work has already been
|
||||
completed as part of the RomWBW distribution.
|
||||
|
||||
|
||||
CPM3 Command Summary ("CPM3 Command Summary.pdf")
|
||||
CPM3 Programmer's Guide ("CPM3 Programmers Guide.pdf")
|
||||
CPM3 System Guide ("CPM3 System Guide.pdf")
|
||||
CPM3 User's Guide ("CPM3 Users Guide.pdf")
|
||||
------------------------------------------------------
|
||||
|
||||
The original DRI CP/M 3.0 Operating System Documentation Set. This
|
||||
should be considered the primary reference for CP/M 3 system operation.
|
||||
|
||||
|
||||
DDTZ Manual ("DDTZ.doc")
|
||||
------------------------
|
||||
|
||||
@@ -59,7 +52,7 @@ Manual for the DDTZ v2.7 debug tool included on the ROM drive.
|
||||
FDisk Manual ("FDisk Manual.pdf")
|
||||
---------------------------------
|
||||
|
||||
The operational manual for John Coffman's hard disk partitioning
|
||||
The operational manual for John Coffman's hard disk partitioning
|
||||
program. This program is included in RomWBW as FDISK80.
|
||||
|
||||
|
||||
@@ -69,48 +62,6 @@ Hard Disk Anatomy ("Hard Disk Anatomy.pdf")
|
||||
Diagram of a CP/M & MS-DOS (FAT) hybrid hard disk layout.
|
||||
|
||||
|
||||
NZCOM User's Manual ("NZCOM Users Manual.pdf")
|
||||
----------------------------------------------
|
||||
|
||||
NZCOM operating system operation manual.
|
||||
|
||||
|
||||
ZCPR Manual ("ZCPR Manual.pdf")
|
||||
-------------------------------
|
||||
|
||||
ZCPR is the command proccessor portion of Z-System. This is the
|
||||
manual for ZCPR 1.x as included in RomWBW. The installation
|
||||
instructions can be ignored since that work has already been
|
||||
completed as part of the RomWBW distribution.
|
||||
|
||||
ZCPR D&J Manual ("ZCPR-DJ.doc")
|
||||
-------------------------------
|
||||
|
||||
ZCPR D&J User Manual. This manual supplements the ZCPR Manual.
|
||||
|
||||
|
||||
ZSDOS Manual ("ZSDOS Manual.pdf")
|
||||
---------------------------------
|
||||
|
||||
ZSDOS is the DOS portion of Z-System. This is the manual for ZSDOS
|
||||
1.x as included in RomWBW. The installation instructions can be
|
||||
ignored since that work has already been completed as part of the
|
||||
RomWBW distribution.
|
||||
|
||||
Microsoft Basic-80 Reference Manual v5.0 (Microsoft Basic-80 Reference Manual v5.0.pdf)
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
Official manual for Microsoft BASIC as included in RomWBW.
|
||||
|
||||
|
||||
QP/M 2.7 Installation Guide and Supplements ("qpm27.pdf")
|
||||
QP/M 2.7 Interface Guide ("qdos27.pdf")
|
||||
QP/M 2.7 Features and Facilities ("qcp27.pdf")
|
||||
--------------------------------------------
|
||||
|
||||
Official documentation set for QP/M 2.7 from original QP/M distribution.
|
||||
|
||||
|
||||
SIO+CTC Baud Rate Options (SIO+CTC Baud Rate Options.pdf)
|
||||
---------------------------------------------------------
|
||||
|
||||
@@ -133,4 +84,4 @@ UCSD p-System Users Manual ("UCSD p-System Users Manual.pdf")
|
||||
Official user manual for p-System operating system included with
|
||||
RomWBW.
|
||||
|
||||
--WBW 5:18 PM 3/16/2023
|
||||
--WBW 5:18 PM 6/14/2023
|
||||
|
||||
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.
Binary file not shown.
@@ -1,144 +0,0 @@
|
||||
SIMH (X)
|
||||
----
|
||||
- Test UART driver
|
||||
- Test HDSK driver
|
||||
|
||||
Zeta 1 (X)
|
||||
------
|
||||
- Test UART driver
|
||||
- Test PPP detection (startup w/ and w/o PPP)
|
||||
- Test boot to CRT
|
||||
- Test PPPSD driver
|
||||
- Test PPPCON driver (video & kbd)
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
|
||||
Zeta 2 (X)
|
||||
------
|
||||
- Test UART driver
|
||||
- Test PPP detection (startup w/ and w/o PPP)
|
||||
- Test boot to CRT
|
||||
- Test PPPSD driver
|
||||
- Test PPPCON driver (video & kbd)
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
|
||||
RCBus (X)
|
||||
------
|
||||
- Test SIO driver (Serial Module)
|
||||
- Test ACIA driver (Dual Serial Module)
|
||||
- Test IDE driver (Compact Flash Module)
|
||||
- Test PPIDE driver (IDE Module)
|
||||
- Test FD driver (SMC and WDC)
|
||||
- Test FDU app (SMC and WDC)
|
||||
|
||||
N8-2312 (X)
|
||||
-------
|
||||
- Test ASCI driver
|
||||
- Test SD driver (CSIO mode)
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test TMS driver (video & kbd)
|
||||
|
||||
N8-2511 (X)
|
||||
-------
|
||||
- Test ASCI driver
|
||||
- Test SD driver (Juha mode)
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test TMS driver (video & kbd)
|
||||
|
||||
SBC (X)
|
||||
---
|
||||
- Test UART driver
|
||||
- Test PPIDE driver
|
||||
- Test PPISD driver
|
||||
- Test PRP detection
|
||||
- Test boot to CRT console
|
||||
|
||||
MK4 (X)
|
||||
---
|
||||
- Test ASCI driver
|
||||
- Test IDE driver
|
||||
- Test SD driver
|
||||
- Test PRP detection
|
||||
|
||||
RAMF (X)
|
||||
----
|
||||
- Test RAMF driver
|
||||
|
||||
PRP (X)
|
||||
---
|
||||
- Test PRPSD driver
|
||||
- Test PRPCON driver (video & kbd)
|
||||
|
||||
SCG (X)
|
||||
---
|
||||
- Test TMS driver (video)
|
||||
|
||||
VDU (X)
|
||||
---
|
||||
- Test CVDU driver (video & kbd)
|
||||
|
||||
CVDU (X)
|
||||
----
|
||||
- Test CVDU driver (video & kbd)
|
||||
|
||||
VGA (X)
|
||||
---
|
||||
- Test VGA driver (video & kbd)
|
||||
|
||||
DIO (X)
|
||||
---
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test IDE driver
|
||||
|
||||
DIO3 (X)
|
||||
----
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test PPIDE driver
|
||||
|
||||
DIDE (X)
|
||||
----
|
||||
- Test FD driver
|
||||
- Test FDU app
|
||||
- Test IDE driver
|
||||
|
||||
DSD (X)
|
||||
---
|
||||
- Test SD driver
|
||||
|
||||
4UART (X)
|
||||
-----
|
||||
- Test UART driver
|
||||
|
||||
|
||||
UNA (X)
|
||||
---
|
||||
- General Startup
|
||||
- Boot from disk functionality
|
||||
- Image loading
|
||||
- Monitor
|
||||
- XM app
|
||||
- ASSIGN app
|
||||
- MODE app
|
||||
- SYSCOPY app
|
||||
- OSLDR app
|
||||
- FDU app
|
||||
- FDISK80 app
|
||||
|
||||
GENERAL (X)
|
||||
-------
|
||||
- Boot to ROM
|
||||
- Boot to Disk
|
||||
- Boot to Monitor
|
||||
- XM app
|
||||
- XM port auto-detect
|
||||
- ASSIGN app
|
||||
- MODE app
|
||||
- SYSCOPY app
|
||||
- FDU app
|
||||
- FDISK80 app
|
||||
- TUNE app
|
||||
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
|
||||
18
Makefile
18
Makefile
@@ -1,5 +1,14 @@
|
||||
all:
|
||||
.PHONY: tools source clean clobber diff dist
|
||||
|
||||
.ONESHELL:
|
||||
.SHELLFLAGS = -cex
|
||||
|
||||
all: tools source
|
||||
|
||||
tools:
|
||||
$(MAKE) --directory Tools
|
||||
|
||||
source:
|
||||
$(MAKE) --directory Source
|
||||
|
||||
clean:
|
||||
@@ -14,6 +23,9 @@ diff:
|
||||
$(MAKE) --directory Source diff
|
||||
|
||||
dist:
|
||||
$(MAKE) ROM_PLATFORM=dist 2>&1 | tee make.log
|
||||
$(MAKE) --directory Source clean
|
||||
$(MAKE) ROM_PLATFORM=dist
|
||||
$(MAKE) --directory Tools clean
|
||||
$(MAKE) --directory Source clean
|
||||
|
||||
distlog:
|
||||
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.
|
||||
347
ReadMe.md
347
ReadMe.md
@@ -1,60 +1,70 @@
|
||||
|
||||
|
||||
**RomWBW ReadMe** \
|
||||
Version 3.2.1 \
|
||||
|
||||
|
||||
|
||||
|
||||
**RomWBW Introduction** \
|
||||
Version 3.5 \
|
||||
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
|
||||
27 Mar 2023
|
||||
04 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)
|
||||
- [RC2014](https://rc2014.co.uk),
|
||||
(<https://www.retrobrewcomputers.org>)
|
||||
- [RC2014](https://rc2014.co.uk) (<https://rc2014.co.uk>),
|
||||
[RC2014-Z80](https://groups.google.com/g/rc2014-z80)
|
||||
- [retro-comp](https://groups.google.com/forum/#!forum/retro-comp)
|
||||
(<https://groups.google.com/g/rc2014-z80>)
|
||||
- [Retro Computing](https://groups.google.com/g/retro-comp)
|
||||
(<https://groups.google.com/g/retro-comp>)
|
||||
- [Small Computer Central](https://smallcomputercentral.com/)
|
||||
(<https://smallcomputercentral.com/>)
|
||||
|
||||
General features include:
|
||||
A complete list of the currently supported platforms is found in [RomWBW
|
||||
Hardware](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Hardware.pdf)
|
||||
.
|
||||
|
||||
# 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, CF, and SD
|
||||
- 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
|
||||
- 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) 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.
|
||||
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 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
|
||||
@@ -63,36 +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
|
||||
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) 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.
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
# Installation & Operation
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
@@ -102,24 +155,80 @@ functionality.
|
||||
|
||||
Complete instructions for installation and operation of RomWBW are found
|
||||
in the [RomWBW User
|
||||
Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf).
|
||||
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/dev/Doc/RomWBW%20User%20Guide.pdf)
|
||||
- [RomWBW System
|
||||
Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20System%20Guide.pdf)
|
||||
- [RomWBW
|
||||
Applications](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20Applications.pdf)
|
||||
- [RomWBW ROM
|
||||
Applications](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20ROM%20Applications.pdf)
|
||||
- [RomWBW
|
||||
Errata](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20Errata.pdf)
|
||||
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%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
|
||||
|
||||
# Acknowledgments
|
||||
- [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)
|
||||
is a reference for the ROM-hosted and OS-hosted applications created
|
||||
or customized to enhance the operation of RomWBW.
|
||||
|
||||
- [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
|
||||
@@ -178,15 +287,99 @@ 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.
|
||||
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
- 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 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.
|
||||
|
||||
- Jose Collado has contributed enhancements to the TMS driver including
|
||||
compatibility with standard TMS register configuration.
|
||||
|
||||
- Kevin Boone has contributed a generic HBIOS date/time utility (WDATE).
|
||||
|
||||
- Matt Carroll has contributed a fix to XM.COM that corrects the port
|
||||
specification when doing a send.
|
||||
|
||||
- Dean Jenkins enhanced the build process to accommodate the Raspberry
|
||||
Pi 4.
|
||||
|
||||
- Tom Plano has contributed a new utility (HTALK) to allow talking
|
||||
directly to HBIOS COM ports.
|
||||
|
||||
- Lars Nelson has contributed several generic utilities such as a
|
||||
universal (OS agnostic) UNARC application.
|
||||
|
||||
- Dylan Hall added support for specifying a secondary console.
|
||||
|
||||
- Bill Shen has contributed boot loaders for several of his systems.
|
||||
|
||||
- Laszlo Szolnoki has contributed an EF9345 video display controller
|
||||
driver.
|
||||
|
||||
- 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](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
|
||||
@@ -226,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>.
|
||||
|
||||
425
ReadMe.txt
425
ReadMe.txt
@@ -1,6 +1,9 @@
|
||||
RomWBW ReadMe
|
||||
RomWBW Introduction
|
||||
Wayne Warthen (wwarthen@gmail.com)
|
||||
27 Mar 2023
|
||||
04 Apr 2025
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -9,51 +12,57 @@ 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
|
||||
- RC2014, RC2014-Z80
|
||||
- retro-comp
|
||||
- Small Computer Central
|
||||
A wide variety of platforms are supported including those produced by
|
||||
these developer communities:
|
||||
|
||||
General features include:
|
||||
- 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/)
|
||||
|
||||
- Banked memory services for several banking designs
|
||||
- Disk drivers for RAM, ROM, Floppy, IDE, CF, and SD
|
||||
- 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
|
||||
A complete list of the currently supported platforms is found in RomWBW
|
||||
Hardware .
|
||||
|
||||
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.
|
||||
Additionally, mass storage devices (IDE Disk, CF Card, SD Card) 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.
|
||||
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 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
|
||||
@@ -62,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
|
||||
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
|
||||
@@ -74,28 +96,67 @@ slices or on stand-alone media. This makes exchanging files with modern
|
||||
OSes such as Windows, MacOS, and Linux very easy.
|
||||
|
||||
|
||||
ROM Distribution
|
||||
|
||||
ACQUIRING ROMWBW
|
||||
The RomWBW Repository (https://github.com/wwarthen/RomWBW) on GitHub is
|
||||
the official distribution location for all project source and
|
||||
documentation.
|
||||
|
||||
RomWBW is distributed as both source code and pre-built ROM and disk
|
||||
images.
|
||||
|
||||
The RomWBW Repository 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 of the repository. On
|
||||
this page, you will normally see a Development Snapshot as well as
|
||||
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. 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.
|
||||
|
||||
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
|
||||
@@ -104,94 +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 ROM 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.
|
||||
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
- 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 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.
|
||||
|
||||
- Jose Collado has contributed enhancements to the TMS driver including
|
||||
compatibility with standard TMS register configuration.
|
||||
|
||||
- Kevin Boone has contributed a generic HBIOS date/time utility (WDATE).
|
||||
|
||||
- Matt Carroll has contributed a fix to XM.COM that corrects the port
|
||||
specification when doing a send.
|
||||
|
||||
- Dean Jenkins enhanced the build process to accommodate the Raspberry
|
||||
Pi 4.
|
||||
|
||||
- Tom Plano has contributed a new utility (HTALK) to allow talking
|
||||
directly to HBIOS COM ports.
|
||||
|
||||
- Lars Nelson has contributed several generic utilities such as a
|
||||
universal (OS agnostic) UNARC application.
|
||||
|
||||
- Dylan Hall added support for specifying a secondary console.
|
||||
|
||||
- Bill Shen has contributed boot loaders for several of his systems.
|
||||
|
||||
- Laszlo Szolnoki has contributed an EF9345 video display controller
|
||||
driver.
|
||||
|
||||
- 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
|
||||
@@ -231,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.
|
||||
|
||||
23
Source/Apps/BBCBASIC/Build.cmd
Normal file
23
Source/Apps/BBCBASIC/Build.cmd
Normal file
@@ -0,0 +1,23 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
set TOOLS=..\..\..\Tools
|
||||
|
||||
set PATH=%TOOLS%\zxcc;%PATH%
|
||||
|
||||
set CPMDIR80=%TOOLS%/cpm/
|
||||
|
||||
zxcc z80asm -dist/FM
|
||||
zxcc z80asm -main/FM
|
||||
zxcc z80asm -exec/FM
|
||||
zxcc z80asm -eval/FM
|
||||
zxcc z80asm -asmb/FM
|
||||
zxcc z80asm -cmos/FM
|
||||
zxcc z80asm -math/FM
|
||||
zxcc z80asm -hook/FM
|
||||
zxcc z80asm -data/FM
|
||||
|
||||
zxcc slrnk -/v,/a:0100,dist,main,exec,eval,asmb,math,hook,cmos,/p:4B00,data,bbcbasic/n,/e
|
||||
|
||||
copy /Y bbcbasic.com ..\..\..\Binary\Apps\ || exit /b
|
||||
copy /Y bbcbasic.txt ..\..\..\Binary\Apps\ || exit /b
|
||||
9
Source/Apps/BBCBASIC/Clean.cmd
Normal file
9
Source/Apps/BBCBASIC/Clean.cmd
Normal file
@@ -0,0 +1,9 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.com del *.com
|
||||
if exist *.lst del *.lst
|
||||
if exist *.hex del *.hex
|
||||
if exist *.prn del *.prn
|
||||
if exist *.rel del *.rel
|
||||
if exist *.sym del *.sym
|
||||
11
Source/Apps/BBCBASIC/Makefile
Normal file
11
Source/Apps/BBCBASIC/Makefile
Normal file
@@ -0,0 +1,11 @@
|
||||
OBJECTS = bbcbasic.com
|
||||
DOCS = bbcbasic.txt
|
||||
DEST = ../../../Binary/Apps
|
||||
DOCDEST = ../../../Binary/Apps
|
||||
TOOLS = ../../../Tools
|
||||
OTHERS = *.rel
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
bbcbasic.com: dist.rel main.rel exec.rel eval.rel asmb.rel cmos.rel math.rel hook.rel data.rel
|
||||
$(ZXCC) SLRNK -/V,/A:0100,DIST,MAIN,EXEC,EVAL,ASMB,MATH,HOOK,CMOS,/P:4B00,DATA,BBCBASIC/N,/E
|
||||
1010
Source/Apps/BBCBASIC/asmb.z80
Normal file
1010
Source/Apps/BBCBASIC/asmb.z80
Normal file
File diff suppressed because it is too large
Load Diff
468
Source/Apps/BBCBASIC/bbcbasic.txt
Normal file
468
Source/Apps/BBCBASIC/bbcbasic.txt
Normal file
@@ -0,0 +1,468 @@
|
||||
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. Complete
|
||||
documentation for the BBC BASIC (Z80) is found online at
|
||||
https://www.bbcbasic.co.uk/bbcbasic/mancpm/index.html.
|
||||
|
||||
-- WBW 4:21 PM 2/17/2025
|
||||
|
||||
|
||||
|
||||
|
||||
BBC BASIC (Z80)
|
||||
|
||||
Generic CP/M Version 3.00
|
||||
|
||||
(C) Copyright R.T.Russell 1982-1999
|
||||
|
||||
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,
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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.
|
||||
The other processor registers are initialised as follows:
|
||||
|
||||
A is initialised to the least significant byte of A%
|
||||
B is initialised to the least significant byte of B%
|
||||
C is initialised to the least significant byte of C%
|
||||
D is initialised to the least significant byte of D%
|
||||
E is initialised to the least significant byte of E%
|
||||
F is initialised to the least significant byte of F%
|
||||
H is initialised to the least significant byte of H%
|
||||
L is initialised to the least significant byte of L%
|
||||
|
||||
The parameter types are:
|
||||
|
||||
Code No. Parameter Type Example
|
||||
0 Byte (8 bits) ?A%
|
||||
4 Word (32 bits) !A% or A%
|
||||
5 Real (40 bits) A
|
||||
128 Fixed string $A%
|
||||
129 Movable string A$
|
||||
|
||||
On entry to the subroutine the parameter table contains the following
|
||||
values:
|
||||
|
||||
Number of parameters 1 byte (at IX)
|
||||
|
||||
Parameter type 1 byte (at IX+1)
|
||||
Parameter address 2 bytes (at IX+2, IX+3, LSB first)
|
||||
|
||||
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
|
||||
and the start address of the string (LSB first) in that order.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
the value +5 can be stored as:
|
||||
|
||||
05 00 00 00 00 Integer 5
|
||||
00 00 00 20 82 (0.5 + 0.125) * 2^3
|
||||
|
||||
COLOUR (COLOR)
|
||||
This statement is not implemented.
|
||||
|
||||
DRAW
|
||||
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
|
||||
line.
|
||||
|
||||
EDIT 230
|
||||
EDIT 200,230
|
||||
|
||||
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
|
||||
Move the cursor one character position to the right
|
||||
Move the cursor to the start of the line
|
||||
Move the cursor to the end of the line
|
||||
Insert a space at the current cursor position
|
||||
Delete the character at the current cursor position
|
||||
Backspace and delete the character to the left of the cursor
|
||||
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,
|
||||
^I, ^K, ^J, ^A, ^E, DEL (&7F), ^L and ^X.
|
||||
|
||||
To exit EDIT mode and replace the edited line, type RETURN (ENTER).
|
||||
|
||||
To abort the edit and leave the line unchanged, type ESCape.
|
||||
|
||||
ENVELOPE
|
||||
This statement is not implemented.
|
||||
|
||||
GET
|
||||
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
|
||||
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
|
||||
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
|
||||
return (&0D).
|
||||
|
||||
MODE
|
||||
This statement is not implemented.
|
||||
|
||||
MOVE
|
||||
This statement is not implemented.
|
||||
|
||||
PLOT
|
||||
This statement is not implemented.
|
||||
|
||||
POINT
|
||||
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
|
||||
return (&0D).
|
||||
|
||||
PUT
|
||||
A statement to output data to a processor port. Full 16-bit addressing
|
||||
is available.
|
||||
|
||||
PUT A%,N% : REM Output N% to port A%
|
||||
|
||||
SOUND
|
||||
This statement is not implemented.
|
||||
|
||||
TIME
|
||||
This pseudo-variable is not implemented in the distribution version, but
|
||||
can be supported by means of the customisation patch. See BBCDIST.MAC.
|
||||
|
||||
USR
|
||||
As with CALL, the processor's registers are initialised as follows:
|
||||
|
||||
A is initialised to the least significant byte of A%
|
||||
B is initialised to the least significant byte of B%
|
||||
C is initialised to the least significant byte of C%
|
||||
D is initialised to the least significant byte of D%
|
||||
E is initialised to the least significant byte of E%
|
||||
F is initialised to the least significant byte of F%
|
||||
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'
|
||||
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
|
||||
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)
|
||||
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 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
|
||||
statement (OSCLI "BYE").
|
||||
|
||||
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
|
||||
Returns control to the operating system (CP/M).
|
||||
|
||||
*CPM
|
||||
Same as *BYE.
|
||||
|
||||
*. [filespec]
|
||||
*DIR [filespec]
|
||||
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:
|
||||
*.*.* List all files on the current disk
|
||||
|
||||
*DRIVE d:
|
||||
Select drive d as the default drive for subsequent disk operations.
|
||||
|
||||
*ERA filespec
|
||||
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,
|
||||
restores the normal action of the ESCape key.
|
||||
|
||||
*EXEC filespec
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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)
|
||||
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.
|
||||
If the extension is omitted, .BBC is assumed.
|
||||
|
||||
*TYPE filespec
|
||||
Type the specified file to the screen. If the extension is omitted, .BBC
|
||||
is assumed.
|
||||
|
||||
*| comment
|
||||
This is a comment line. Anything following the | is ignored.
|
||||
|
||||
|
||||
6. ERROR MESSAGES AND CODES
|
||||
|
||||
Untrappable:
|
||||
|
||||
No room RENUMBER space
|
||||
Silly LINE space
|
||||
Sorry Bad program
|
||||
|
||||
Trappable - BASIC:
|
||||
|
||||
1 Out of range 24 Exp range
|
||||
2 25
|
||||
3 26 No such variable
|
||||
4 Mistake 27 Missing )
|
||||
5 Missing , 28 Bad HEX
|
||||
6 Type mismatch 29 No such FN/PROC
|
||||
7 No FN 30 Bad call
|
||||
8 31 Arguments
|
||||
9 Missing " 32 No FOR
|
||||
10 Bad DIM 33 Can't match FOR
|
||||
11 DIM space 34 FOR variable
|
||||
12 Not LOCAL 35
|
||||
13 No PROC 36 No TO
|
||||
14 Array 37
|
||||
15 Subscript 38 No GOSUB
|
||||
16 Syntax error 39 ON syntax
|
||||
17 Escape 40 ON range
|
||||
18 Division by zero 41 No such line
|
||||
19 String too long 42 Out of DATA
|
||||
20 Too big 43 No REPEAT
|
||||
21 -ve root 44
|
||||
22 Log range 45 Missing #
|
||||
23 Accuracy lost
|
||||
|
||||
Trappable - OS:
|
||||
|
||||
190 Directory full 214 File not found
|
||||
192 Too many open files 222 Channel
|
||||
196 File exists 253 Bad string
|
||||
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, January 2025:
|
||||
|
||||
1. BASIC V statements
|
||||
|
||||
1.1 WHILE...ENDWHILE
|
||||
1.2 Multi-line IF...THEN...ELSE...ENDIF
|
||||
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.7 ERROR err, message$
|
||||
1.8 RESTORE +n
|
||||
1.9 SWAP var1,var2
|
||||
1.10 BPUT #file,string$[;]
|
||||
1.11 QUIT
|
||||
|
||||
2. BASIC V functions
|
||||
|
||||
2.1 DIM(array()[,sub])
|
||||
2.2 END (pointer to free space)
|
||||
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
|
||||
|
||||
3. BASIC V whole array operations
|
||||
|
||||
3.1 Pass a whole array to a FN/PROC
|
||||
3.2 Pass a whole array to CALL
|
||||
3.3 Whole array assignment
|
||||
3.4 Whole array arithmetic *
|
||||
3.5 Array dot-product operator
|
||||
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) +
|
||||
|
||||
* 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.
|
||||
|
||||
+ 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$() = ""
|
||||
|
||||
4. Miscellaneous BASIC V features
|
||||
|
||||
4.1 Bit-shifts <<, >>, >>>
|
||||
4.2 Floating-point indirection (|)
|
||||
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 (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.
|
||||
|
||||
1501
Source/Apps/BBCBASIC/cmos.z80
Normal file
1501
Source/Apps/BBCBASIC/cmos.z80
Normal file
File diff suppressed because it is too large
Load Diff
69
Source/Apps/BBCBASIC/data.z80
Normal file
69
Source/Apps/BBCBASIC/data.z80
Normal file
@@ -0,0 +1,69 @@
|
||||
TITLE BBC BASIC (C) R.T.RUSSELL 1981-2024
|
||||
NAME ('DATA')
|
||||
;
|
||||
;RAM MODULE FOR BBC BASIC INTERPRETER
|
||||
;FOR USE WITH VERSION 5.0 OF BBC BASIC
|
||||
;(C) COPYRIGHT R.T.RUSSELL 1981-2024
|
||||
;
|
||||
GLOBAL ACCS
|
||||
GLOBAL BUFFER
|
||||
GLOBAL ONERSP
|
||||
GLOBAL LIBASE
|
||||
GLOBAL PAGE
|
||||
GLOBAL LOMEM
|
||||
GLOBAL FREE
|
||||
GLOBAL HIMEM
|
||||
GLOBAL RANDOM
|
||||
GLOBAL COUNT
|
||||
GLOBAL WIDTH
|
||||
GLOBAL ERL
|
||||
GLOBAL ERR
|
||||
GLOBAL ERRTRP
|
||||
GLOBAL ERRTXT
|
||||
GLOBAL TRACEN
|
||||
GLOBAL AUTONO
|
||||
GLOBAL INCREM
|
||||
GLOBAL LISTON
|
||||
GLOBAL DATPTR
|
||||
GLOBAL FNPTR
|
||||
GLOBAL PROPTR
|
||||
GLOBAL STAVAR
|
||||
GLOBAL OC
|
||||
GLOBAL PC
|
||||
GLOBAL DYNVAR
|
||||
GLOBAL CURLIN
|
||||
GLOBAL USER
|
||||
;
|
||||
;n.b. ACCS, BUFFER & STAVAR must be on page boundaries.
|
||||
;
|
||||
ACCS: DEFS 256 ;STRING ACCUMULATOR
|
||||
BUFFER: DEFS 256 ;STRING INPUT BUFFER
|
||||
STAVAR: DEFS 27*4 ;STATIC VARIABLES
|
||||
OC EQU STAVAR+15*4 ;CODE ORIGIN (O%)
|
||||
PC EQU STAVAR+16*4 ;PROGRAM COUNTER (P%)
|
||||
DYNVAR: DEFS 54*2 ;DYN. VARIABLE POINTERS
|
||||
FNPTR: DEFS 2 ;DYN. FUNCTION POINTER
|
||||
PROPTR: DEFS 2 ;DYN. PROCEDURE POINTER
|
||||
;
|
||||
PAGE: DEFS 2 ;START OF USER PROGRAM
|
||||
LOMEM: DEFS 2 ;START OF DYN. STORAGE
|
||||
FREE: DEFS 2 ;FIRST FREE-SPACE BYTE
|
||||
HIMEM: DEFS 2 ;FIRST BYTE ABOVE STACK
|
||||
LIBASE: DEFS 2 ;START OF FIRST LIBRARY
|
||||
;
|
||||
TRACEN: DEFS 2 ;TRACE FLAG AND NUMBER
|
||||
AUTONO: DEFS 2 ;AUTO FLAG AND NUMBER
|
||||
ERRTRP: DEFS 2 ;ON ERROR STMT POINTER \
|
||||
ONERSP: DEFS 2 ;ON ERROR LOCAL STKPTR /
|
||||
ERRTXT: DEFS 2 ;ERROR MESSAGE POINTER
|
||||
DATPTR: DEFS 2 ;DATA POINTER
|
||||
ERL: DEFS 2 ;LINE NO OF LAST ERROR
|
||||
CURLIN: DEFS 2 ;POINTER TO CURRENT LINE
|
||||
RANDOM: DEFS 5 ;RANDOM NUMBER
|
||||
COUNT: DEFS 1 ;PRINT POSITION
|
||||
WIDTH: DEFS 1 ;PRINT WIDTH
|
||||
ERR: DEFS 1 ;ERROR NUMBER
|
||||
LISTON: DEFS 1 ;LISTO & OPT FLAG
|
||||
INCREM: DEFS 1 ;AUTO INCREMENT
|
||||
;
|
||||
USER: END
|
||||
241
Source/Apps/BBCBASIC/dist.z80
Normal file
241
Source/Apps/BBCBASIC/dist.z80
Normal file
@@ -0,0 +1,241 @@
|
||||
TITLE BBCDIST.Z80 (C) R.T.RUSSELL 1982-2024
|
||||
NAME ('DIST3')
|
||||
;
|
||||
;BBC BASIC (Z80) - CP/M VERSION 2.20 & 3.00
|
||||
;(C) COPYRIGHT R.T.RUSSELL, 1982-2024.
|
||||
;ALL RIGHTS RESERVED.
|
||||
;
|
||||
;THIS PROGRAM ALLOWS THE USER TO ADAPT BBC BASIC TO THE
|
||||
;PARTICULAR CHARACTERISTICS OF HIS SYSTEM HARDWARE ETC.
|
||||
;
|
||||
;THE PROGRAM RESIDES AT 100H FOR EASE OF LOADING.
|
||||
;*** IT MUST NOT EXCEED 256 BYTES IN TOTAL LENGTH ***
|
||||
;
|
||||
;PLEASE NOTE THAT A Z80 PROCESSOR AND CP/M VERSION 2.2
|
||||
;OR LATER ARE REQUIRED.
|
||||
;
|
||||
;R.T.RUSSELL, 11-03-1984, 03-05-1989, 12-05-2024
|
||||
;
|
||||
CPM EQU 5
|
||||
COLD EQU 200H
|
||||
;
|
||||
CR EQU 0DH
|
||||
LF EQU 0AH
|
||||
ESC EQU 1BH
|
||||
;
|
||||
GLOBAL CLRSCN
|
||||
GLOBAL PUTCSR
|
||||
GLOBAL GETCSR
|
||||
GLOBAL PUTIME
|
||||
GLOBAL GETIME
|
||||
GLOBAL GETKEY
|
||||
GLOBAL BYE
|
||||
GLOBAL BEGIN
|
||||
; GLOBAL BDOS
|
||||
;
|
||||
; EXTRN PRTDEC16
|
||||
;
|
||||
;ASEG
|
||||
;ORG 100H
|
||||
;
|
||||
;JUMP TABLE - BASIC makes calls to hardware-dependent
|
||||
;features via this table:
|
||||
;
|
||||
BEGIN: JP INIT
|
||||
CLRSCN: JP CLS ;CLEAR SCREEN
|
||||
PUTCSR: JP PCSR ;SET CURSOR POSN.
|
||||
GETCSR: JP GCSR ;READ CURSOR POSN.
|
||||
PUTIME: JP PTIME ;SET ELAPSED TIME
|
||||
GETIME: JP GTIME ;READ ELAPSED TIME
|
||||
GETKEY: JP INKEY ;READ KEY (TIME LIMIT)
|
||||
BYE: JP REBOOT ;RETURN TO CP/M
|
||||
;
|
||||
;BDOS - Save the IX and IY registers and before performing a
|
||||
; CP/M function call.
|
||||
;
|
||||
BDOS: PUSH IX
|
||||
PUSH IY
|
||||
CALL CPM
|
||||
POP IY
|
||||
POP IX
|
||||
RET
|
||||
;
|
||||
;INIT - Perform hardware initialisation (if any).
|
||||
;
|
||||
INIT: LD HL,40H ;CPM/HBIOS MARKER LOC
|
||||
LD A,'W'
|
||||
CP (HL)
|
||||
JR NZ,FAIL
|
||||
INC HL
|
||||
LD A,NOT 'W'
|
||||
CP (HL)
|
||||
JR NZ,FAIL
|
||||
JP COLD
|
||||
FAIL: LD DE,NOTHB
|
||||
LD C,9
|
||||
CALL BDOS
|
||||
RST 0
|
||||
;
|
||||
NOTHB: DEFB 'CP/M w/ HBIOS required$'
|
||||
;
|
||||
;REBOOT - Switch off interrupts and return to CP/M
|
||||
;
|
||||
REBOOT: RST 0
|
||||
;
|
||||
;GTIME - Read elapsed-time clock.
|
||||
; Outputs: DEHL = elapsed time (centiseconds)
|
||||
; Destroys: A,D,E,H,L,F
|
||||
;
|
||||
GTIME: JR TICKS
|
||||
;
|
||||
;PTIME - Load elapsed-time clock.
|
||||
; Inputs: DEHL = time to load (centiseconds)
|
||||
; Destroys: A,D,E,H,L,F
|
||||
;
|
||||
PTIME:
|
||||
LD BC,0F9D0H
|
||||
SRL D
|
||||
RR E
|
||||
RR H
|
||||
RR L
|
||||
RST 08
|
||||
RET
|
||||
;
|
||||
; Get OS elapsed-time clock
|
||||
; Outputs: DEHL = time (centiseconds)
|
||||
; Destroys: A,B,C,D,E,H,L,F
|
||||
;
|
||||
TICKS: LD BC,0F8D0H
|
||||
RST 08
|
||||
SLA L
|
||||
RL H
|
||||
RL E
|
||||
RL D
|
||||
RET
|
||||
;
|
||||
;INKEY - Sample keyboard with specified wait.
|
||||
; Inputs: HL = Time to wait (centiseconds)
|
||||
; Outputs: Carry reset indicates time-out.
|
||||
; If carry set, A = character typed.
|
||||
; Destroys: A,D,E,H,L,F
|
||||
;
|
||||
INKEY: PUSH BC
|
||||
PUSH HL
|
||||
CALL TICKS
|
||||
POP DE
|
||||
ADD HL,DE
|
||||
WAIT: PUSH HL
|
||||
LD C,6
|
||||
LD E,0FFH
|
||||
CALL BDOS
|
||||
POP HL
|
||||
OR A
|
||||
SCF
|
||||
JR NZ,INKEY1
|
||||
PUSH HL
|
||||
CALL TICKS
|
||||
POP DE
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
JR C,WAIT
|
||||
INKEY1: POP BC
|
||||
RET
|
||||
;
|
||||
;CLS - Clear screen.
|
||||
; (Customise to suit your VDU)
|
||||
; Destroys: A,D,E,H,L,F
|
||||
;
|
||||
CLS:
|
||||
LD DE,CLSSTR
|
||||
LD C,9
|
||||
JP BDOS
|
||||
;
|
||||
CLSSTR: DEFB ESC,'[H',ESC,'[2J$'
|
||||
;
|
||||
;PCSR - Move cursor to specified position.
|
||||
; Inputs: DE = horizontal position (LHS=0)
|
||||
; HL = vertical position (TOP=0)
|
||||
; Destroys: A,D,E,H,L,F
|
||||
;
|
||||
PCSR: LD B,L ; vertical = line (row)
|
||||
CALL CONV ; normalized and convert to decimal
|
||||
LD (LIN),HL ; and store into string
|
||||
LD B,E ; horizontal = column
|
||||
CALL CONV ; normalized and convert to decimal
|
||||
LD (COL),HL ; and store into string
|
||||
LD C,9 ; output string command
|
||||
LD DE,CURS ; start of string
|
||||
JP BDOS ; output string to terminal
|
||||
;
|
||||
; VT100 sequence for cursor positioning
|
||||
CURS: DEFB 27, '['
|
||||
LIN: DEFW 0 ; high byte, low byte for decimal line
|
||||
DEFB ';'
|
||||
COL: DEFW 0 ; high byte, low byte for decimal column
|
||||
DEFB 'H$'
|
||||
;
|
||||
; convert binary B (0 <= B < 99, not checked) into B+1 in decimal.
|
||||
; L = upper byte, H = lower byte. ready for LD (...), HL
|
||||
; destroys A, B, L, H
|
||||
; optimized for space over time
|
||||
;
|
||||
CONV: INC B ; normalize, home in VT100 is (1,1)
|
||||
LD A,'0' ; A is counter for low byte of result
|
||||
LD L,A ; L is counter for high byte of result
|
||||
CONVLP: INC A ; now B times increment AL in decimal
|
||||
CP '9'+1 ; low byte overflow?
|
||||
JR NZ,CONT ; no, continue incrementing
|
||||
LD A,'0' ; reset low byte
|
||||
INC L ; and increment high byte
|
||||
CONT: DJNZ CONVLP ; B times
|
||||
LD H,A ; put low byte into right place
|
||||
RET
|
||||
;
|
||||
;GCSR - Return cursor coordinates.
|
||||
; Outputs: DE = X coordinate (POS)
|
||||
; HL = Y coordinate (VPOS)
|
||||
; Destroys: A,D,E,H,L,F
|
||||
;
|
||||
GCSR: LD DE,0
|
||||
LD HL,0
|
||||
RET
|
||||
;
|
||||
;COUT - Output a character to the console
|
||||
; Inputs: A = character
|
||||
; Destroys: A,F
|
||||
;
|
||||
COUT: PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD E,A
|
||||
LD C,2
|
||||
CALL BDOS
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
RET
|
||||
;
|
||||
;IF $ GT 1F0H
|
||||
IF $-BEGIN GT 0F0H
|
||||
ERROR 'INSUFFICIENT SPACE'
|
||||
ENDIF
|
||||
;
|
||||
;ORG 1F0H
|
||||
DEFS 0F0H - ($ - BEGIN)
|
||||
;
|
||||
OFFLO: DEFW 0 ;TIME OFFSET LO
|
||||
OFFHI: DEFW 0 ;TIME OFFSET HI
|
||||
DEFB 80 ;WIDTH
|
||||
DEFB 'G' AND 1FH ;CURSOR UP
|
||||
DEFB 'O' AND 1FH ;CURSOR DOWN
|
||||
DEFB 'F' AND 1FH ;START OF LINE
|
||||
DEFB 'N' AND 1FH ;END OF LINE
|
||||
DEFB 'X' AND 1FH ;DELETE TO END OF LINE
|
||||
DEFB 08H ;BACKSPACE & DELETE
|
||||
DEFB 'U' AND 1FH ;DEL TO START OF LINE
|
||||
DEFB 'J' AND 1FH ;CURSOR LEFT
|
||||
DEFB 'L' AND 1FH ;CURSOR RIGHT
|
||||
DEFB 'R' AND 1FH ;DELETE CHARACTER
|
||||
DEFB 'Q' AND 1FH ;INS/OVR TOGGLE
|
||||
;
|
||||
FIN: END
|
||||
2591
Source/Apps/BBCBASIC/eval.z80
Normal file
2591
Source/Apps/BBCBASIC/eval.z80
Normal file
File diff suppressed because it is too large
Load Diff
3294
Source/Apps/BBCBASIC/exec.z80
Normal file
3294
Source/Apps/BBCBASIC/exec.z80
Normal file
File diff suppressed because it is too large
Load Diff
68
Source/Apps/BBCBASIC/hook.z80
Normal file
68
Source/Apps/BBCBASIC/hook.z80
Normal file
@@ -0,0 +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 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.
|
||||
2236
Source/Apps/BBCBASIC/main.z80
Normal file
2236
Source/Apps/BBCBASIC/main.z80
Normal file
File diff suppressed because it is too large
Load Diff
2252
Source/Apps/BBCBASIC/math.z80
Normal file
2252
Source/Apps/BBCBASIC/math.z80
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,50 +1,39 @@
|
||||
@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/
|
||||
|
||||
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
|
||||
|
||||
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,20 +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
|
||||
goto :eof
|
||||
|
||||
:clean
|
||||
pushd %1 && call Clean || exit /b & popd
|
||||
goto :eof
|
||||
|
||||
158
Source/Apps/FAT/ReadMe.md
Normal file
158
Source/Apps/FAT/ReadMe.md
Normal file
@@ -0,0 +1,158 @@
|
||||
# RomWBW HBIOS CP/M FAT Utility ("FAT.COM")
|
||||
|
||||
Author: Wayne Warthen \
|
||||
Updated: 6-May-2024
|
||||
|
||||
This application allows copying files between CP/M filesystems and FAT
|
||||
filesystems (DOS, Windows, Mac, Linux, etc.). The application runs on
|
||||
RomWBW hosted CP/M (and compatible) operating systems. The application
|
||||
also has limited file management capabilities on FAT filesystems
|
||||
including directory listing, renaming, deleting, and sub-directory
|
||||
creation.
|
||||
|
||||
### Usage:
|
||||
|
||||
```
|
||||
FAT DIR <path>
|
||||
FAT COPY <src> <dst>
|
||||
FAT REN <from> <to>
|
||||
FAT DEL <path>[<file>|<dir>]
|
||||
FAT MD <path>
|
||||
FAT FORMAT <drv>
|
||||
```
|
||||
|
||||
CP/M filespec: \<d\>:FILENAME.EXT (\<d\> is CP/M drive letter A-P) \
|
||||
FAT filespec: \<u\>:/DIR/FILENAME.EXT (\<u\> is disk unit #)
|
||||
|
||||
### Notes:
|
||||
|
||||
- Partitioned or non-partitioned media is handled automatically.
|
||||
A floppy drive is a good example of a non-partitioned FAT
|
||||
filesystem and will be recognized. Larger media will typically
|
||||
have a partition table which will be recognized by the
|
||||
application to find the FAT filesystem.
|
||||
|
||||
- Although RomWBW-style CP/M media does not know anything about
|
||||
partition tables, it is entirely possible to have media that
|
||||
has both CP/M and FAT file systems on it. This is accomplished
|
||||
by creating a FAT filesystem on the media that starts on a track
|
||||
beyond the last track used by CP/M. Each CP/M slice can occupy
|
||||
up to 8MB. So, make sure to start your FAT partition beyond
|
||||
(slice count) * 9MB.
|
||||
|
||||
- The application infers whether you are attempting to reference
|
||||
a FAT or CP/M filesystem via the drive specifier (char before ':').
|
||||
A numeric drive character specifies the HBIOS disk unit number
|
||||
for FAT access. An alpha (A-P) character indicates a CP/M
|
||||
file system access targeting the specified drive letter. If there
|
||||
is no drive character specified, the current CP/M filesystem and
|
||||
current CP/M drive is assumed. For example:
|
||||
|
||||
`2:README.TXT` refers to FAT file README.TXT on disk unit #2 \
|
||||
`C:README.TXT` refers to CP/M file README.TXT on CP/M drive C: \
|
||||
`README.TXT` refers to CP/M file README.TXT on current CP/M drive
|
||||
|
||||
- FAT files with SYS, HIDDEN, or R/O attributes are not given
|
||||
any special treatment. Such files are found and processed
|
||||
like any other file. However, any attempt to write to a
|
||||
read-only file will fail and the application will abort.
|
||||
|
||||
- It is not currently possible to reference CP/M user areas other
|
||||
than the current user. To copy files to alternate user areas,
|
||||
you must switch to the desired user number first or use an
|
||||
additional step to copy the file to the desired user area.
|
||||
|
||||
- Accessing FAT filesystems on a floppy requires the use of
|
||||
RomWBW HBIOS v2.9.1-pre.13 or greater.
|
||||
|
||||
- Only the first 8 RomWBW disk units (0-7) can be referenced.
|
||||
|
||||
- Files written are not verified.
|
||||
|
||||
- Wildcard matching in FAT filesystems is a bit unusual as
|
||||
implemented by FatFs. See FatFs documentation.
|
||||
|
||||
- The `FAT FORMAT` command will not perform a physical format on
|
||||
floppy disks. You must use FDU to do this prior to using
|
||||
`FAT FORMAT`.
|
||||
|
||||
- Formatting (`FAT FORMAT`) of floppies does not work well. The
|
||||
underlying FatFs library uses some non-standard fields. The
|
||||
resulting floppy may or may not be useable on other systems. It is
|
||||
best to format a FAT floppy on a Windows or DOS system. You should
|
||||
have no problems copying files to/from such a floppy using `FAT`.
|
||||
|
||||
### Known Issues
|
||||
|
||||
- CP/M (and workalike) OSes have significant restrictions on filename
|
||||
characters. The FAT application will block any attempt to create a
|
||||
file on the CP/M filesystem containing any of these prohibited
|
||||
characters:
|
||||
|
||||
| `< > . , ; : ? * [ ] |/ \`
|
||||
|
||||
The operation will be aborted with "`Error: Invalid Path Name`" if such
|
||||
a filename character is encountered.
|
||||
|
||||
Since MS-DOS does allow some of these characters, you can have
|
||||
issues when copying files from MS-DOS to CP/M if the MS-DOS filenames
|
||||
use these characters. Unfortunately, FAT is not yet smart enough to
|
||||
substitute illegal characters with legal ones. So, you will need to
|
||||
clean the filenames before trying to copy them to CP/M.
|
||||
|
||||
- The FAT application does try to detect the scenario where you are
|
||||
copying a file to itself. However, this detection is not perfect and
|
||||
can corrupt a file if it occurs. Be careful to avoid this.
|
||||
|
||||
### License:
|
||||
|
||||
GNU GPLv3 (see file LICENSE.txt)
|
||||
|
||||
### Build Notes:
|
||||
|
||||
- Source is maintained on GitHub at <https://github.com/wwarthen/FAT>.
|
||||
|
||||
- Application is based on FatFs. FatFs source is included. See
|
||||
<http://elm-chan.org/fsw/ff/>.
|
||||
|
||||
- SDCC compiler v4.3 or greater is required to build. New calling
|
||||
conventions introduced in v4.3 are assumed.
|
||||
|
||||
- See Build.cmd for sample build script under Windows. References
|
||||
to SDCC must be updated for your environment.
|
||||
|
||||
- Note that ff.c (core FatFs code) generates quite a few compiler
|
||||
warnings (all appear to be benign).
|
||||
|
||||
### To Do:
|
||||
|
||||
- Allow ^C to abort any operation in progress.
|
||||
|
||||
- Allow referencing more than the first 8 RomWBW disk units.
|
||||
|
||||
- Handle wildcards in destination, e.g.:
|
||||
|
||||
`FAT REN 2:/*.TXT 2:/*.BAK`
|
||||
|
||||
- Do something intelligent with R/O and SYS file attributes
|
||||
|
||||
- Support UNA
|
||||
|
||||
### History:
|
||||
|
||||
| Date | Version | Notes |
|
||||
|------------:|-------- |-------------------------------------------------------------|
|
||||
| 2-May-2019 | v0.9 | (beta) initial release |
|
||||
| 7-May-2019 | v0.9.1 | (beta) added REN and DEL |
|
||||
| 8-May-2019 | v0.9.2 | (beta) handle file collisions w/ user prompt |
|
||||
| 8-Oct-2019 | v0.9.3 | (beta) fixed incorrect filename buffer size (MAX_FN) |
|
||||
| 10-Oct-2019 | v0.9.4 | (beta) upgraded to FatFs R0.13c |
|
||||
| 10-Oct-2019 | v0.9.5 | (beta) added MD (make directory) |
|
||||
| 10-Oct-2019 | v0.9.6 | (beta) added FORMAT |
|
||||
| 11-Oct-2019 | v0.9.7 | (beta) fix FORMAT to use existing partition table entries |
|
||||
| | | add attributes to directory listing |
|
||||
| 12-Apr-2021 | v0.9.8 | (beta) support CP/NET drives |
|
||||
| 12-Oct-2023 | v0.9.9 | (beta) handle updated HBIOS Disk Device call |
|
||||
| 6-Jan-2024 | v1.0.0 | updated to latest FsFat (v0.15) |
|
||||
| | | updated to latest SDCC (v4.3) |
|
||||
| 6-May-2024 | v1.1.0 | improve floppy format boot record |
|
||||
@@ -1,104 +0,0 @@
|
||||
RomWBW HBIOS CP/M FAT Utility ("FAT.COM")
|
||||
|
||||
Author: Wayne Warthen
|
||||
Updated: 12-Apr-2021
|
||||
|
||||
Application to manipulate and exchange files with a FAT (DOS)
|
||||
filesystem. Runs on any HBIOS hosted CP/M implementation.
|
||||
|
||||
USAGE:
|
||||
FAT DIR <path>
|
||||
FAT COPY <src> <dst>
|
||||
FAT REN <from> <to>
|
||||
FAT DEL <path>[<file>|<dir>]
|
||||
FAT MD <path>
|
||||
FAT FORMAT <drv>
|
||||
|
||||
CP/M filespec: <d>:FILENAME.EXT (<d> is CP/M drive letter A-P)
|
||||
FAT filespec: <u>:/DIR/FILENAME.EXT (<u> is disk unit #)
|
||||
|
||||
LICENSE:
|
||||
GNU GPLv3 (see file LICENSE.txt)
|
||||
|
||||
NOTES:
|
||||
- Partitioned or non-partitioned media is handled automatically.
|
||||
A floppy drive is a good example of a non-partitioned FAT
|
||||
filesystem and will be recognized. Larger media will typically
|
||||
have a partition table which will be recognized by the
|
||||
application to find the FAT filesystem.
|
||||
|
||||
- Although RomWBW-style CP/M media does not know anything about
|
||||
partition tables, it is entirely possible to have media that
|
||||
has both CP/M and FAT file systems on it. This is accomplished
|
||||
by creating a FAT filesystem on the media that starts on a track
|
||||
beyond the last track used by CP/M. Each CP/M slice on a
|
||||
media will occupy a little over 8MB. So, make sure to start
|
||||
your FAT partition beyond (slice count) * 8MB.
|
||||
|
||||
- The application infers whether you are attempting to reference
|
||||
a FAT or CP/M filesystem via the drive specifier (char before ':').
|
||||
A numeric drive character specifies the HBIOS disk unit number
|
||||
for FAT access. An alpha (A-P) character indicates a CP/M
|
||||
file system access targeting the specified drive letter. If there
|
||||
is no drive character specified, the current CP/M filesystem and
|
||||
current CP/M drive is assumed. For example:
|
||||
|
||||
"2:README.TXT" refers to FAT file README.TXT on disk unit #2
|
||||
"C:README.TXT" refers to CP/M file README.TXT on CP/M drive C
|
||||
"README.TXT" refers to CP/M file README.TXT on current CP/M drive
|
||||
|
||||
- FAT files with SYS, HIDDEN, or R/O only attributes are not given
|
||||
any special treatment. Such files are found and processed
|
||||
like any other file. However, any attempt to write to a
|
||||
read-only file will fail and the application will abort.
|
||||
|
||||
- It is not currently possible to reference CP/M user areas other
|
||||
than the current user. To copy files to alternate user areas,
|
||||
you must switch to the desired user number first or use an
|
||||
additional step to copy the file to the desired user area.
|
||||
|
||||
- Accessing FAT filesystems on a floppy requires the use of
|
||||
RomWBW HBIOS v2.9.1-pre.13 or greater.
|
||||
|
||||
- Files written are not verified.
|
||||
|
||||
- Wildcard matching in FAT filesystems is a bit unusual as
|
||||
implemented by FatFs. See FatFs documentation.
|
||||
|
||||
BUILD NOTES:
|
||||
- Source is maintained on GitHub at https://github.com/wwarthen/FAT
|
||||
|
||||
- Application is based on FatFs. FatFs source is included.
|
||||
|
||||
- SDCC compiler is required to build (v4.0.0 known working).
|
||||
|
||||
- ZX CP/M emulator is required to build (from RomWBW distribution).
|
||||
|
||||
- See Build.cmd for sample build script under Windows. References
|
||||
to SDCC and ZX must be updated for your environment.
|
||||
|
||||
- Note that ff.c (core FatFs code) generates quite a few compiler
|
||||
warnings (all appear to be benign).
|
||||
|
||||
TO DO:
|
||||
- Allow ^C to abort any operation in progress.
|
||||
|
||||
- Handle wildcards in destination, e.g.:
|
||||
"FAT REN 2:/*.TXT 2:/*.BAK"
|
||||
|
||||
- Do something intelligent with R/O and SYS files on FAT
|
||||
|
||||
- Support UNA
|
||||
|
||||
HISTORY:
|
||||
2-May-2019: v0.9 (beta) initial release
|
||||
7-May-2019: v0.9.1 (beta) added REN and DEL
|
||||
8-May-2019: v0.9.2 (beta) handle file collisions w/ user prompt
|
||||
8-Oct-2019: v0.9.3 (beta) fixed incorrect filename buffer size (MAX_FN)
|
||||
10-Oct-2019: v0.9.4 (beta) upgraded to FatFs R0.13c
|
||||
10-Oct-2019: v0.9.5 (beta) added MD (make directory)
|
||||
10-Oct-2019: v0.9.6 (beta) added FORMAT
|
||||
11-Oct-2019: v0.9.7 (beta) fix FORMAT to use existing partition table entries
|
||||
add attributes to directory listing
|
||||
12-Apr-2021: v0.9.8 (beta) support CP/NET drives
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user