Commit Graph

61 Commits

Author SHA1 Message Date
Wayne Warthen
8510158aa0 Minor Pre Int Strategy Change
Use a global flag to indicate if interrupts have been enabled during the boot process.  Drivers that operate in the pre-interrupt phase can use this to manage interrupt disable bracketing.

This allows restoring the location of interrupt enable in the boot process to it's proper location.
2025-06-07 12:34:38 -07:00
Wayne Warthen
7654a6b2ed Minor Doc Sync 2025-02-22 15:10:32 -08:00
Phillip Stevens
5806522402 UART manage /DTR along with /RTS
The RC2014 Single and Dual UART Modules do not have the /RTS line connected. The /DTR line is used to signal flow control.

This PR simply adds active management of the /DTR.
The current UART initialisation process already does configuration, but not active management.
2025-02-19 10:09:07 +11:00
Wayne Warthen
ebe1504d75 UNARCU Fix & More Release Work
- UNARC updated to UNARCU11 which fixes an edge case where the user number was being incorrectly changed.  See #496.  Thanks and credit to Lars Nelson for this.
2025-02-06 17:02:06 -08:00
Wayne Warthen
374c0675f1 Config and Release Notes Updates
- More config file cleanup
- Per Issue #498, added VDAEMU_SERKBD default change in Release Notes
2025-01-30 10:42:15 -08:00
Wayne Warthen
888706149d Improve Application Start Mode
- If the new AUX bank happens to be the same as the old HBIOS bank, an application start would fail.  Relocated the copy to avoid this.
2024-07-22 16:40:53 -07:00
Wayne Warthen
21df9d8797 Missing Files 2024-07-20 17:27:59 -07:00
Wayne Warthen
cd23863226 Refactor UART Mode Settings
- Replaced hard-coded mode settings with per-chip configuration settings.
2024-07-20 15:20:05 -07:00
Wayne Warthen
3999039102 Support for Les Bird's Dual 16C550 UART Module 2024-07-19 17:31:53 -07:00
Wayne Warthen
e0414bca05 NABU Stuff
- Implement Interrupt Mode 2 (Mode 1 is still default)
- Implement interrupt driven keyboard support
- Improve UART keyboard driver to support interrupt driven flow control
2024-05-10 11:13:34 -07:00
Wayne Warthen
3f63c92fd5 HBIOS Cleaning
- Rearranged HBIOS code to improve colocation of related code.
- Implemented macros to improve control over assembly diagnostic output.
- Improved handling of diagnostic LEDs.
- Improved application boot bank management.
- Implemented application boot for Z280 systems.
- Moved Z280_BNKSEL into proxy.
-
2024-04-30 14:18:59 -07:00
Wayne Warthen
67d23dc540 Tweaks to NABU Support
- Include NABU in pre-built ROMs
- AY sound driver works (but poorly)
2024-04-16 17:03:30 -07:00
Les Bird
438df9a80b NABU Personal Computer integration - nabu.asm and nabukb.asm contain code to support the NABU hardware. 2024-04-15 20:21:09 -06:00
b1ackmai1er
7fe0312359 Align assembly outout with data structure 2024-03-24 17:53:42 +08:00
b1ackmai1er
842a79ae5d Correct the logical sequence of the Duo Dual UART ports
Make the first UART port detected be Channel A $78-$7F : CHSEL=1. ( logic 0 on the CHSEL selects the UART channel B while a logic 1 selects UART channel A. )
2024-03-24 15:36:32 +08:00
b1ackmai1er
34d25cb906 Recovery button support for Duo 2024-03-24 12:19:58 +08:00
Wayne Warthen
2925ab3d42 Miscellaneous
- Update PR template for new branching under v3.4
- Tweak Makefile.inc for slightly improved performance
- Improve UART driver messaging when bad CTS signal is detected
2023-12-28 12:50:04 -08:00
Wayne Warthen
72cdbdd4ad Documentation Updates Inspired by Martin R
- Implemented a crude mechanism to output config settings during a build which can be imported into the User Guide appendix.
2023-11-29 18:54:51 -08:00
Wayne Warthen
08942fb944 Support Duodyne SelfHost UART 2023-11-20 17:01:53 -08:00
Wayne Warthen
cbfbca8d92 Support New Duodyne Boards
- Added support for Duodyne Multi-IO board
- Added support for Duodyne Zilog-IO board
- Added SUPCTS equate in hbios.asm to allow selectively adding code to suppress use of CTS during HBIOS boot
- Added reference in User Guide to Bruce Hall's Assembly Language Programming document
2023-10-15 17:53:35 -07:00
Wayne Warthen
872d51e9b6 Detect CTS Stall
- Detect CTS at startup to ensure it is asserted.  If not, disable hardware flow control to avoid stalling the console at boot.  Only for UART driver because this is the only place it is currently relevant.
2023-10-10 14:09:21 -07:00
Wayne Warthen
d06e1e2a5c Initial DUO Interrupt Handling 2023-08-20 15:03:34 -07:00
Wayne Warthen
a5575456e2 Initial Support for Duodyne 2023-07-24 19:24:49 -07:00
Wayne Warthen
6e34de0e02 Cosmetic
Minor cosmetic changes in source.
2023-03-25 12:05:57 -07:00
b1ackmai1er
93a1eade2a Update uart.asm
Make sure when UART4 is disabled, that the driver does not access the UART4 I/O ports.
2023-03-14 19:21:08 +08:00
b1ackmai1er
c76cb6737e revert debug_drv 2022-12-01 19:47:03 +08:00
b1ackmai1er
6d1a9f5b7c Driver debug standardization 2022-11-26 16:03:09 +08: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
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
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
b1ackmai1er
1db11ca924 Update uart.asm 2021-10-10 13:56:13 +08:00
Wayne Warthen
017704172b UART Driver
- Fixed issue recently introduced that kept AFC from being enabled for '650 and '850 chips.
- Increase receive interrupt threshold to 8 which improves interrupt handler efficiency under stress.  Credit to Andrew Lynch.
2021-09-26 13:24:54 -07:00
Wayne Warthen
097777c043 Finalize UART Interrupt Receive 2021-09-14 13:29:20 -07:00
Wayne Warthen
aaae6c5446 Fix UART Driver
- Breakage in UART detection routine corrected.
2021-09-12 13:52:56 -07:00
Wayne Warthen
14b005d64e UART Driver Interrupt Driven Receive
- The UART driver has been enhanced to allow use of interrupt driven receive buffer and RTS flow control.  It will only be used if enabled and the chip detected has no auto-flow control capability.
2021-09-11 14:01:40 -07:00
b1ackmai1er
57380905f6 Update uart.asm 2021-07-24 14:18:29 +08:00
Wayne Warthen
b3ec557ab9 CIO DEVICE API update
- Updates DEVICE call for all CIO devices to return unit mode and I/O base address
- Improved experimental XModem (XMX.COM) that uses direct hardware I/O for UART and USB-FIFO devices
2020-05-26 15:33:31 -07:00
Wayne Warthen
1b0d5c3670 Miscellaneous
- Generate listing file in Forth build
- Realign EPDSER ports for new silkscreen
2020-05-22 13:44:08 -07:00
Wayne Warthen
180b7fddec Update uart.asm
Fixed some stuff in 16C2552 support
- Concurrent write was being enabled unintentionally
- Swapped the EPDSER UART base ports to match the boards annotations
2020-05-22 09:58:04 -07:00
Wayne Warthen
f4daaa91a4 Add RC2014 UART, Improve SD protocol fix
- RC2014 and related platforms will autodetect a UART at 0xA0 and 0xA8
- Ensure that CS fully brackets all SD I/O
2020-04-09 11:49:09 -07:00
Wayne Warthen
dfd70b8d63 Cleanup
Removed hack from Images Makefile.  Fixed use of DEFSERCFG in various places.
2020-03-13 10:45:33 -07:00
b1ackmai1er
b75153d263 ECB Cassette and Recovery Mode change
Create an equate for changing baud rate through custom config rather than the driver.  Add recovermode mode option to use Ring indicator line.
2020-01-28 18:09:30 +08:00
Wayne Warthen
1c42ea0a7c Bug Fixes 2019-08-18 18:28:18 -07:00
Wayne Warthen
09044d1959 Add SC126 Platform 2019-08-11 18:39:03 -07:00
Wayne Warthen
0b661442c5 SIO & ACIA Driver Updates 2019-08-04 17:51:29 -07:00
Wayne Warthen
e3805d4138 Minor Cleanup 2019-04-22 16:03:02 -07:00
Wayne Warthen
231239f43f Finalize v2.9.0 Prerelease 0
- New function dispatching logic
- Refactored interrupt management
2018-01-16 16:30:37 -08:00
Wayne Warthen
51a33aaf0b SIO Driver Interrupt Based Receive 2017-11-07 18:21:11 -08:00
Wayne Warthen
a5bb6a2b7e Preliminary RC2014 Support 2017-11-05 18:12:02 -08:00
Wayne Warthen
a57736ef2b Minor cleanup 2016-06-01 21:20:59 -07:00