Commit Graph

256 Commits

Author SHA1 Message Date
Wayne Warthen
f1382b75ec Config File Fixes
I had accidentally set CRTACT to TRUE in a few standard configs inadvertently.
2023-02-25 12:56:44 -08:00
Wayne Warthen
5e42066874 Release Candidate for v3.2 2023-02-23 17:24:07 -08:00
Wayne Warthen
52a41663eb Regen Doc, Bump Version 2023-02-21 14:01:03 -08:00
Wayne Warthen
816234f0fa More Cleanup 2023-02-17 18:07:44 -08:00
Wayne Warthen
bd664c3a1f More Cleanup 2023-02-16 13:59:15 -08:00
Wayne Warthen
2f3fb51884 More Cleanup
- Tweaks to SURVEY and PORTSWP to improve port detection accuracy and handle Z280 better
- Recover a **lot** of wasted space in dbgmon using a few built-in utility routines instead of entire util.asm
- Improve the (D)evice command in romldr to use the HBIOS routine which is much more complete and saves space
2023-02-15 19:31:05 -08:00
Wayne Warthen
7d19d3e403 More Cleanup 2023-02-13 19:32:43 -08:00
Wayne Warthen
c157d52c1d More Cleanup
This check-in includes some refactoring of the configuration files.
2023-02-12 19:26:23 -08:00
Wayne Warthen
cd161067db Update CF Card Detection
In the IDE and PPIDE drivers, a CF Card is differentiated from a Hard Disk using the first word of the result of the IDENTIFY DEVICE command.  The value 0x045A was recently added because it was seen from a CF<->SD Card adapter.  However, the value has now been seen from a spinning hard disk.  Since the value is ambiguous and not defined in the CF Card specs, I am removing it from the list of CF Card signatures.

Credit to Mark Elkin for identifying this and helping me track it down.
2023-01-21 14:56:12 -08:00
Wayne Warthen
4d9c93734f Support Serial Keyboard with Video Displays
Added configuration setting VDAEMU_SERKBD which can be used to specify any serial unit # to be used as the keyboard for the video terminal.  Default value is $FF which means to use the default hardware keyboard.  All other values mean that terminal input is to come from corresponding serial unit #.

Also a couple more tweaks to the p-System boot volume.
2023-01-18 14:29:19 -08:00
Wayne Warthen
71a8b2b177 Finalize p-System Implementation
- Implemented Extended BIOS functions
- p-System slices moved into partition
2023-01-16 15:41:21 -08:00
Wayne Warthen
979e763739 Introducing p-System IV.0 for RomWBW
A full implementation of UCSD p-System IV.0 for RomWBW.  Derived from the official Z80 Adaptable p-System.

My first real programming was on this system.  So many memories...
2023-01-13 16:58:52 -08:00
Wayne Warthen
16475fe408 Audio Driver Cleanup
Resolved some consistency issues between the AY-3-8910 and SN76489 audio drivers.
2023-01-09 16:08:42 -08:00
Wayne Warthen
d2e1e5be4b Enable WAIT Signal for 9958 Video
Credit to Alan Cox.  This seems to allow a 9958 video chip to run with a Z180 without added wait states.
2023-01-08 18:41:49 -08:00
Wayne Warthen
2271c086b5 Minor IDE/CF/SD Disk Handling Updates
As suggested by Laszlo Szolnoki, I have added an additional CF Card signature to the IDE and PPIDE drivers.  He also pointed out a deficiency in the disk size printing which has been addressed.
2023-01-04 16:24:31 -08:00
Wayne Warthen
2b4631195a Misc Updates Based on Input from Eluan Miranda
I got a very nice email from Eluan Miranda.  He pointed out a few inconsistencies in the video and audio driver configurations.  I made a few adjustments to clean things up.
2023-01-01 15:26:42 -08:00
Wayne Warthen
d5f0699fc3 Regen Docs and Bump Version 2023-01-01 11:06:39 -08:00
Wayne Warthen
2dd9edd8ca Regenerate Docs and Bump Version 2022-12-29 10:14:02 -08:00
Wayne Warthen
1681e159bd CP/NET update from Douglas Miller
Minor rev, but includes a fix for CPNBOOT.
2022-12-14 15:55:11 -08:00
Wayne Warthen
73b0a3d941 User Defined SD Interface
Integrated code from Lanea to allow for an easy way to define a custom SD Card interface.  CSMODE_USR is not yet complete or tested!
2022-12-10 16:58:37 -08:00
Wayne Warthen
aceef15481 Support DS1501 RTC
jpelletier provided a DS1501 RTC driver.  This commit integrates the driver into HBIOS.
2022-07-24 16:46:59 -07:00
Wayne Warthen
f0def03d0e ZCPR-D&J Fixes
Lars Nelson found a couple issues with ZCPR-D&J and provided an update:

- Buffer overflow
- Failure of default drive/user
2022-07-24 15:10:28 -07:00
Wayne Warthen
27935123cf Minor Tweaks to Build Process 2022-07-12 16:35:24 -07:00
Wayne Warthen
94c32c9fd0 Mostly Build Improvements
- ROMSIZE is now a configuration variable instead of a command line parameter.
- Added CP/M license information based on new email from Bryan Sparks.
2022-07-09 14:00:53 -07:00
Wayne Warthen
3b0951f6d5 MFPIC I/O Base Update
- Update MFPIC related I/O ports from $4x to $1x.  The default base address was changed to avoid conflicting with the default I/O range of $40-$7F on ECB Z180 boards.
2022-07-08 13:51:30 -07:00
Wayne Warthen
9a503696c8 Improve CF Card Identification
Added additional CF Card signatures.  Credit to
Laszlo Szolnoki.
2022-07-02 19:25:06 -07:00
Wayne Warthen
11ea0c8c27 Add Speaker Beep
Added a generic routine in HBIOS to play a beep sound on the first available sound device.  Implemented the beep in the ANSI and TTY terminal emulators.
2022-06-27 15:35:54 -07:00
Wayne Warthen
b82ff327cf CBIOS Fixes for UNA
Development in the dev branch on CBIOS had broken basic UNA functionality.  These fixes seem to correct the problems.  A full regression test of UNA has **not** yet been performed.
2022-06-26 16:54:46 -07:00
Wayne Warthen
44b17ccc3a Improve Centronics Compatibility
- Renamed Centronics driver from "CEN" to "LPT" based on input that LPT is the more recognized name for IBM compatible Centronics interfaces.
- Modified LPT hardware detection to be more generic (no longer depends on MBC-specific hardware implementation).
- Fix to CPU speed display for SBC v2 (004 and above) speed selection mechanism.
2022-06-26 14:25:32 -07:00
Wayne Warthen
b2e1294452 Correct AY38910 Off By 1 Octave Issue
I think this update corrects a long-standing issue in which the AY38910 driver played notes off by one octave.
2022-06-20 20:07:06 -07:00
Wayne Warthen
d39f0201f4 Bootable QP/M Disk
- Put a preconfigured image of QP/M on the system tracks of the QP/M disk images.
- Minor adjustment to dbgmon.asm for compatibility with UNA.
2022-06-17 10:25:48 -07:00
Wayne Warthen
a62f5805ca Add BOOT_DELAY Configuration Variable
Some systems use terminal devices (Raspberry Pi, etc.) that take a few seconds to be ready to display console text.  The BOOT_DELAY setting can be used to introduce an arbitrary delay (in seconds) in the boot process just prior to text output.  This can be used to avoid missing some of the boot messages.
2022-06-09 15:36:36 -07:00
Wayne Warthen
982906757e Support QP/M TIMDAT Routine
QP/M is a CP/M 2.2 replacement for BDOS/CCP.  However, it adds it's own concept of date/time stamping.  Support for the QP/M date/time routine has been added.  You can configure QP/M to find the vector at address 0x0010.

A sidenote on QP/M.  By default, it uses 2 bytes at address 0x0008 to store the current drive/user.  This will conflict with RomWBW's use of RST 08 for API function calls.  I recommend using address 0x000E when configuring QP/M for the location of the current drive/user.
2022-06-02 13:05:42 -07:00
Wayne Warthen
0e32dd58fa Update version files
- Missed the version files in prior check-in
2022-05-14 12:54:56 -07:00
Wayne Warthen
b98ee17e14 Plumbing for uPD7220 GDC Driver 2022-04-04 11:54:34 -07:00
Wayne Warthen
4a88e0bcae Improve Z180 Variant Handling
- There were several places that RomWBW was making incorrect assumptions about what the older Z180 CPUs could do.  These have been corrected.
2022-03-31 13:30:52 -07:00
Wayne Warthen
1e52a0b7f3 Add RPH Support to PS2INFO
- PS2INFO now provides a small startup menu to select either MBC or RHYOPHYRE (needs to be expanded to other platforms).
- Battery condition testing enabled by default in RHYOPHYRE.
- Z180 system timer enabled by default in RHYOPHYRE.
- Default ACR in RHYOPHYRE now turns on the status LED to indicate hardware is alive early in boot process.
2022-03-28 16:43:07 -07:00
Wayne Warthen
f6d0e7fea4 Initial RHYOPHYRE Support 2022-03-27 13:23:37 -07:00
Wayne Warthen
4f25cf1366 Miscellaneous
- Add hardware detect and initialization code to Centronics driver.
- Fix .gitignore to reflect subdirectory name changes under Tools/cpm/.
- Bump version number in TUNE to reflect Dan's changes.
- Detect Centronics hardware in MBC configuration by default.
2022-03-25 15:48:06 -07:00
Wayne Warthen
170ac7d9e8 Prep for Centronics Driver
- Added Centronics Driver shell
2022-03-25 11:15:36 -07:00
Wayne Warthen
0efd08539e Fix Interrupt Management in CBIOS Initialization
There was a path through CBIOS initialization where interrupts were left disabled.  This only became apparent in the new "romless" configuration.
2022-03-23 14:52:49 -07:00
Wayne Warthen
7549789248 Finalize ROM-Less Booting 2022-03-21 16:20:52 -07:00
Wayne Warthen
5d81574226 Preliminary Support for ROMless Booting 2022-03-20 19:53:32 -07:00
Wayne Warthen
9f3c9e180d Add PIO Driver
- Just a stub that detects and initializes the hardware.
2022-03-18 16:22:08 -07:00
Wayne Warthen
51d9bdb655 Minor ASSIGN Fixes, Add 2PIOTST
- Improved ASSIGN operation under CP/M 3 to better handle BIOS function invocations
- Added 2PIOTST for testing the DUALPIO MBC board
- Increased default RAM drive size for ZRC
2022-02-28 10:54:59 -08:00
Wayne Warthen
36b160f934 Minor Cosmetic Cleanup
Primarily fixed the Z280 config files to display the correct CPU speed in boot messages.
2022-02-18 16:36:14 -08:00
Wayne Warthen
bf965c2604 Minor Z280 Fixes
- Fixed the ROM VERIFY functionality on Z280.  It was indicating errors incorrectly.
- Revised the way that ZZRCC is built to remove a bunch of complexity that was causing issues.  An implication of this is that ZZRCC now treats the data loaded from the CF Card as a ROM disk instead of a RAM disk.
- Updated the assemblers to handle some more Z280 instructions used in HBIOS.
- When building ZZRCC, checks have been added to ensure the ROM image is exactly 256K.  The build defaults to 512K and that causes the ZZRCC disk image to be corrupted.  This will stop the build if the user fails to specify a 256K ROM size.
2022-02-17 11:34:31 -08:00
Wayne Warthen
e6b9d2dcfd Improve Z280 DMA Memory Copy
The Z280 interbank memory copy uses DMA and did not properly handle scenarios where the source or destination memory range crossed over the banked/common memory boundary.  It added a bunch of code, but it is fixed now.  This seems to be required by CP/M 3.
2022-02-15 15:20:33 -08:00
Wayne Warthen
214ed54584 Miscellaneous
- Fix build under Windows (credit to Dean Netherton for finding this).
- Fix ReadMe.md file format to remove superfluous junk at top.
- Improve RAM size detection (work in progress, not part of normal build).
2022-02-05 11:54:46 -08:00
Wayne Warthen
97aa0aae9f Bug Fix
Fixed a small issue in the boot management of the CPU speed for MBC and SBC platforms.
2022-02-02 17:39:36 -08:00