Commit Graph

233 Commits

Author SHA1 Message Date
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
Wayne Warthen
92399fe537 More CPUSPD Tweaks
I know I said I was done, but I found a few more things I decided to tweak.  Functionality is unchanged.
2022-02-02 17:08:55 -08:00
Wayne Warthen
b6aa769f12 Finalize CPUSPD
The CPUSPD app is now considered stable and fully supported.  I have added the application and the API's to the documentation.
2022-02-01 17:42:31 -08:00
Wayne Warthen
21a38aed6e CPU Speed Change API
- Moved the CPU speed changing mechanism into the HBIOS as an API call.
- Added support for CPU speed changing on Z180 platforms.
2022-01-26 18:10:18 -08:00
Wayne Warthen
48c5f4da9d Cleanups and CPUSPD App
- Added very preliminary CPUSPD app which works only on MBC and SBC
- HBIOS initialization code cleanup
- Prep work on RAM size detection
2022-01-25 16:35:59 -08:00
Wayne Warthen
85adb811bb Add CTC Hardware Detection 2022-01-22 17:15:07 -08:00
Wayne Warthen
79dc868e6e Support MBC CTCDART Board 2022-01-22 14:40:17 -08:00
Wayne Warthen
e698cd9a4a Keyboard Utilities
- Added KBDINFO which dumps low level info about keyboards.
- Updated KBDTEST and VDCTEST to put the keyboard controller into translation mode which is what these programs were intended to use.
2021-12-21 14:44:07 -08:00
Wayne Warthen
6ac68029e4 VDC Test Programs
- Add kbdtest, cvdtest, and cvdonly test programs.  They apply to MBC platform only.
- Display more boot info in CVDU and KBD drivers.
- Separate floppy and hard disk content definition files.
2021-12-14 16:02:23 -08:00
Wayne Warthen
e8ecdd0fac Support MBC VDC 2021-12-10 16:34:15 -08:00
Wayne Warthen
da71f225ca ZPM3 Fixes
- Fixes to ZPMLDR to make it functional with RomWBW.
- Incorporate fixes from the Jon Saxton disassembly in ZPM3 itself.
- Credit to Lars Nelson for finding the ZPM3 source (disassembly).
2021-12-08 17:04:03 -08:00
Wayne Warthen
ca67ee41c5 Fix CBIOS Bug
- Corrects the dynamic disk buffer allocation routine in CBIOS and ASSIGN.COM.  They had the DPB assignments inverted causing slightly wrong buffer allocations for RAM and ROM disks.

Credit to Andrew Lynch for discovering this issue.
2021-12-06 13:22:27 -08:00
Wayne Warthen
3b345f8525 Add Linux Disk Imaging Doc 2021-11-23 13:14:04 -08:00
Wayne Warthen
dd3dfff172 DMA Driver Speed Handling
- Updated DMA driver to leave system speed as it originally found it.
2021-11-17 14:01:26 -08:00
Wayne Warthen
891893c0e5 Fix DSD Driver
- Dual SD support in sd.asm was broken for two cards when the SC126 dual SD card support was added.  This should fix all scenarios.
2021-11-09 20:25:38 -08:00
Wayne Warthen
d5962681f1 UART Driver Update
- Some newer/multi-port UART chips now use MCR:3 to activate the interrupt pin(s), otherwise tri-state.  This update sets MCR:3 in all cases.
- Added UARTDUAL config variable that enables detection of a dual UART chip at 0x80 for MBC platform.
- Fixed a typo in TastyBasic Build script.
2021-11-03 15:28:59 -07:00
Wayne Warthen
b544384225 Sync Windows Build
- Latest changes to Linux/MacOS build needed to be added to Windows build to restore binary identical build results.
2021-11-01 20:25:33 -07:00
Wayne Warthen
6a69f3920f Build Tweaks
- Update TastyBasic to build correctly under MacOS.
- Updated build to integrate with RomWBW build system.
2021-10-31 12:26:46 -07:00
Wayne Warthen
6d115df490 TastyBasic Build Adjustments
- Minor changes to the build process in TastyBasic to ensure binary identical results across all platforms.
2021-10-30 20:32:09 -07:00
Wayne Warthen
322c083531 8242 Support for TMS Driver
- Added TMSMODE_RCKBD to support an 8242 keyboard combined with TMS video.
- Worked around a syntax issue from uz80as in rz.asm.
- Improved mechanism to handle forcing a UART detection for SIMH.
2021-10-29 11:11:05 -07:00
Wayne Warthen
2e6122025d RAM Disk Auto-Format Improvements
- Detect the situation where the RAM disk area is all zeroes and handle it properly as uninitialized.
2021-10-27 15:06:24 -07:00
Wayne Warthen
d9d95e76dc Regen Documentation 2021-10-22 15:50:55 -07:00
Wayne Warthen
149f84f64a More Work on Document Creation Process
- Replaced m4 with gpp
2021-10-21 20:18:02 -07:00
Wayne Warthen
faa9db9394 Regen Doc 2021-10-18 13:01:29 -07:00