The Microdrives behave slightly differently than either normal spinning drives or CF Cards. This update removes the "short" timeout that is used in the IDE/PPIDE drivers which caused timeout issues for the Microdrives.
The short timeout was originally used to workaround excessive wait/stall during boot of some media. I don't think it is necessary any more because of additional intelligence in the initialization routines.
- Unique I/O configuration for Les Bird's Graphics/Sound/Joystick Module has been removed because the module now conforms to generic MSX port conventions.
- Will Sowerbutts provided an updated flash4 v1.3.9
- Modified HBIOS to be more proactive about disabling interrupts on systems with interrupts disabled to avoid issues with applications that turn them on.
- Updated NABU default configuration to run under interrupt mode 2.
Co-Authored-By: Will Sowerbutts <will@sowerbutts.com>
- Add Z280 interrupt mode 3 to INTTEST app
- Make application boot handle restart by using HBIOS restart in place
- Resolve multiple issues with HBIOS restart in place
- Add a hack to TUNE application to avoid corrupting PSG R7 which is used by and critical to NABU.
- NABU default baud rate to 38400 to get file transfers working without flow control.
- NABU default to console on video instead of UART.
- Implement Interrupt Mode 2 (Mode 1 is still default)
- Implement interrupt driven keyboard support
- Improve UART keyboard driver to support interrupt driven flow control
- Additional HBIOS reorganization - no functional changes (in theory)
- Upgrade to v1.3.8 of FLASH4 from Will Sowerbutts
- Upgrade to FAT v1.1 based on input from Peter (@z80micro-mc)
Co-Authored-By: Will Sowerbutts <will@sowerbutts.com>
Update CLRDIR with minor update from the author Max Scane to emphasize the need to type a capital Y to proceed. Thanks and credit to Max Scane for this application.
Adds CLRDIR to the Applications document.
- 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.
-
- Translate NABU special keys to standard RomWBW values to allow things like arrow keys to emit proper escape sequences within ANSI emulation.
- Add a simple, single byte buffer to avoid keyboard status returning a key is ready when it is only a special character that has no translation.
- Modified TMS driver to always imbed an uncompressed font. This is because I have found no reasonable way to decompress a font while an OS is still active without mangling some of the OSes RAM.
- This change avoids clearing the screen every time an OS reset occurs. A non-destructive VDC reset is now performed that leaves the screen contents and cursor position unchanged.
- If an application overwrites the video RAM, then the screen may contain garbage upon return to OS. However, the console will still be functional and the user can just press enter a few times to clear the screen.
- When an OS performs a reset operation, the HBIOS hook has been extended to automatically reset the video hardware of the CRT device (if it exists).
- This should go a long way toward fixing corrupt video after an application is run that reprograms the video hardware.
- An OS reset may or may not be performed when an application exits depending on the behavior of the application. So, if an application exits without initiating a reset, then the video will not be reset. Most applications that muck with the video chip directly will perform the reset at exit, so this is not normally an issue.
- If the OS encounters an error (such as drive not ready when doing a DIR), the error message may be erased by this new behavior depending on the specific scenario.
- The TMS reset function was missing a call to re-initialize the CRT registers. This has been added.
- The SN76489 powers up in a dreadful state where it is emitting loud noise until initialized. Added a PREINIT entry point to initialize the registers earlier. Still not great, but a lot better.