What's New
The following changes have been made in the current version of
ResiDOS (v2.25)
since the previous release (v2.08):
- Added new Channels package, v1.00.
- Added support for extended channel handling by packages.
- Added support for IM1 handling by packages.
- Added OPEN#, CLOSE# and POINT# commands.
- Added FN %PTR#() and FN %EXT#() functions.
- Added RESI_CHANNELSVC, RESI_STREAM_OPEN, RESI_STREAM_CLOSE,
RESI_STREAM_IN, RESI_STREAM_OUT, RESI_STREAM_PTR,
RESI_STREAM_SELECT and RESI_STREAM_LINEIN calls.
- Added RESI_COMMAND call.
- Added RESI_IM1SVC call.
- Added RESI_TEMPSVC call.
- Changed %INSTALL command to allow packages which provide
hook codes, NMI and channels that are already provided by another
package to be installed (they simply won't be activated for such
items). This matches the behaviour for BASIC commands, and is more
user-controllable.
- Implemented parameter-handling for package-defined functions.
- Added syn_par_numeric, syn_par_alphabetic, syn_par_alphanumeric
and syn_par_int32 items to the syntax checker.
- Fixed various bugs in the syntax checker (now removes embedded
numbers after each failed syntax entry, clears working areas after
each failed command evaluation, allows recovery from errors in
expression evaluation so that further syntax entries may be tried).
- Fixed bug where Syntax package would hang if user attempted to enter
or delete a line with a number > 9999.
- Respect any error handlers in RAM. This fixes "Hook code error"
bugs in apps that try to detect IF1 etc functionality.
- Fixed broken LOAD !/SAVE ! commands.
- Fixed bug in %REFORMAT command which led to a hang if attempting
to format a disabled or undetected unit.
- Fixed bug in %MAP command if provided with zero-length string.
- Fixed report system to generate any error which occurred when attempting
to obtain a package error message from a package.
- Fixed error returned by IDEDOS in DOS_OPEN call if file handle already
claimed by another filesystem.
- Fixed ResiDOS BASIC installer to avoid "Hook code error" if IF1/+D etc
interface is present.
- Fixed ATTR% and other colour commands to avoid producing an error if
no disk is present.
- Fixed AUTORUN behaviour with SE BASIC and GW (Gosh Wonderful) BASIC.
The following changes have been made in the current version of
ResiDOS (v2.08)
since the previous release (v2.07):
- Added port for standard divIDE with Velesoft's SRAM expansion
- Modified ZX-Badaloc version to support new FPGA implementation
- Modified %SPEED command to accept clock doubling bit
The following changes have been made in the current version of the TapeIO package (v1.03) since the previous release (v1.02):
- Disable interrupts during load/save traps to fix errors loading files including FRAMES variable.
- Fix calculation of stack extent when deciding whether to load slowly to avoid corrupting the stack.
- Enhanced TAPELIST listing to include data file array names, BASIC autorun line numbers and CODE start & length details.
The following changes have been made in the current version of the TapeIO package (v1.02) since the previous release (v1.01):
- Files including byte 65535 are no longer considered to overwrite the ROM, and so are loaded in fast mode.
The following changes have been made in the current version of
ResiDOS (v2.07)
since the previous release (v2.06):
- Fixed a long-standing +3DOS uninitialised variable bug, present since the original +3, which caused the filesize of files opened in headerless mode to be miscalculated. The most obvious manifestation of this bug was incorrect (too large) filesizes when files were copied from hard disk to any location.
- Added support for detecting attempted writes to write-protected disks (ATA protocol interfaces only). Other error conditions are also now returned as "unknown disk error" (previously they would eventually timeout as "drive not ready").
- Fixed configuration file writes to return errors, rather than silently ignore them. Added handling for such errors to commands which write to the configuration file (those which modify "permanent settings").
- Fixed bug in TapeIO package (now at v1.01) causing it to return any "drive not ready" errors as "1 NEXT without FOR".
The following changes have been made in the current version of
ResiDOS (v2.06)
since the previous release (v2.05):
- Added MB02+ port.
- Various fixes for ZXUSB (for ZXMatrix) port.
The following changes have been made in the current version of
ResiDOS (v2.05)
since the previous release (v2.01):
- Changed installer program to run from disk/card as well as tape.
- Allow slave drive to run even if no master present.
- Fixed occasional spurious drive identification due to randomness of floating bus.
- Added ZXCF+2 port.
- Added ZXUSB (for ZXMatrix) preliminary port (not yet finalised).
- Fixed IDE_SWAP_RESIZE, which previously failed unless the partition was exactly the same size as now required (rather than larger or equal to).
- Improved speed of IDE_SWAP_IN (ATA protocol interfaces only).
- Fixed long timeout for ZXATASP.
- Fixed uninitialised variable bug resulting in an "invalid filename" error following a reset after a copy command if card removed or CAPS SHIFT held down.
- Fixed %ZX command to reset 128K paging to defaults, ensuring that the correct ROM is paged in. Previously, this could be random, leading to restarts in 48K mode or even hangs.
- Fixed reinstall option in installer program. This was broken and caused a hang.
- Dual drive is now enabled by default on all interfaces.
The following changes have been made in the current version of
ResiDOS (v2.01)
since the previous release (v2.00):
- Added ZXMMC+ port.
- Incorporated FATfs package into installer, so that both IDEDOS and
FAT16 volumes are immediately available after installation.
- Updated FATfs to v1.01: fixes minor bugs in DOS_FLUSH and DOS_OPEN calls.
- Updated ZX80 & ZX81 packages to v1.01: snapshots now saved without +3DOS
headers.
- Added support for trapping LOAD and SAVE operations.
- Fixed bug in SNAPLOAD command, which prevented the next new ResiDOS
command after a snapshot load from being accepted.
- Fixed a long-standing +3DOS caching bug (also present in all versions of
the +3 and +3e; now also fixed for the +3e).
- Added new TapeIO package, supporting LOAD and SAVE from emulator .TAP
and .TZX files.
The following changes have been made in the current version of
ResiDOS (v2.00)
since the previous release (v1.92):
- Added ZX-Badaloc port.
- Added divIDE Plus port.
- Improved modular package system, allowing packages to provide new
commands, hook codes, nmi handlers, channels (not fully implemented),
and filesystems, as well as routines for machine-code applications.
- %INSTALL and %UNINSTALL commands can now handle packages as well
as Interface 2 and BASIC ROMs.
- %INSTALL can now install from an image in memory, as well as
directly from a file. This allows ROMs and packages to be loaded from
tape for installation.
- Added support for paths and directories, for filesystems that
allow them (*not* the built-in IDEDOS/+3DOS filesystem).
- Added directory-handling commands: %CD, %MD, %MKDIR, %RD, %RMDIR
and %PWD.
- Added new compatibility options to %SNAPLOAD: "+" (use screen instead
of stack workspace) and "-" (run with built-in Spectrum ROM).
- Added %SPEED command (only effective on ZX-Badaloc).
- Enhanced LOAD % CODE/SCREEN$ commands to allow loading of headerless
files (default address 32768 for CODE).
- Improved information provided by %ROMS and %DIR commands.
- Replaced IDEDOS-specific permanent settings system with a text-based
config file, residos.cfg, stored on the first found partition;
supports all the permanent settings previously available.
- Added permanent settings for the current path on each drive.
- Added automatic mapping of all found partitions to all available
drive letters at boot. Enabled by default, even if residos.cfg not found.
- Added %AUTOMAP command to allow automatic mapping feature to be
enabled or disabled.
- Split the TaskManager out into its own package, so that it is now
an optional module.
- Added FATfs package, allowing standard FAT16-formatted disks
to be used.
- Added ZX81 emulator package (for 128K Spectrums only), incorporating
Paul Farrow's ZX81 emulator, with added capabilities for loading and saving
to ResiDOS files.
- Added ZX80 emulator package (for 128K Spectrums only), incorporating
Paul Farrow's ZX80 emulator, with added capabilities for loading and saving
to ResiDOS files.
- Added TestPkg package to test out new package features and act as
an example for package writers.
- Added new logo from Sami Vehmaa for ZXCF interfaces.
- Fixed ResiDOS, Syntax and IDEDOS banks to update the FRAMES counter
on an interrupt, so that it is always correctly maintained.
- Fixed RESI_ALLOC and RESI_DEALLOC calls so that banks are marked with
the owner (a package or task ID) and may only be deallocated by that
owner.
- Fixed initialisation to only de-allocate temporary banks that were
allocated for the current task.
- Fixed spurious ResiDOS errors which occurred for IF1 hook codes.
- Fixed installer to be non-destructive of existing memory data.
- Fixed installer to allow for unconnected bank IDs; previously it assumed
earlier banks were mirrored to higher banks that weren't provided (needed
for ZXCFk).
- Fixed two missing error messages (rc_cmdphase and rc_dataphase).
- Fixed bug in IDE_DOS_MAPPING; the correct unit number wasn't being
returned in A.
- Fixed loading of large snapshots (most likely to be the uncompressed
.SNA format) where the register information could be overwritten by other
data.
- Added package-calling API, consisting of 8 standard calls.
- Added range of 32 package-definable error codes. RESI_REPORT now
takes additional parameter, specifying the package an error was produced
by.
- Enhanced +3DOS calls DOS_GET_POSITION, DOS_GET_EOF and DOS_SET_POSITION
to use 32-bit pointers (in DEHL) instead of 24-bit pointers.
- Enhanced +3DOS call DOS_FREE_SPACE to return 32-bit size in BCDE, as
well as the existing 16-bit size in HL (clamped to max 65535).
- Enhanced +3DOS call DOS_CATALOG to set the f8 attribute bit for
directories.
- Added internal API for packages providing filesystems.
- Added internal SYNTAX_ADDPKG and SYNTAX_REMOVEPKG calls for adding
and removing new commands provided by packages.
- Added RESI_LOGO, RESI_MESSAGE, RESI_NMISVC, RESI_BROADCASTEXP and
RESI_CONFIG calls to the ResiDOS package.
- Removed unused code dealing with physical devices from the IDEDOS bank.
- Removed "permanent" settings code from the IDEDOS bank; this is now
performed by the new config file system.
- Added a second cache buffer to the IDEDOS bank, for better performance.
- Removed support for the "old" commands syntax.
- Performed some internal space-saving optimisations in the ResiDOS bank.
The following changes have been made in the current version of
ResiDOS (v1.92)
since the previous release (v1.85):
- Added support for MMC/SD devices; in particular, ZX-MMC interface and ZX-Badaloc clone
- Task Manager now saves snapshots in the standard .Z80 file format
- %SNAPLOAD command changed to support snapshots in standard .SNA and .Z80 formats
- %SNAPLOAD can now load 128K snapshots as well as 48K snapshots
- Fixed restoration of R register in task manager and snapshot loader
- Improved speed of sustained hard disk reads
- Enhanced %PARTITIONS command to display detected geometry for each device
- Added optional third parameter to %REFORMAT command, limiting disk usage
to first N cylinders, and allowing disk sharing with PC partitioning
- Fixed detection of errors for some devices which set DRQ=1 even if there
is an error
- Fixed handling of partitions greater than 8MB in +3DOS (access previously
wrapped to below 8MB, due to 16-bit operations on record numbers)
- Fixed bug in IDE_INIT call which could cause incorrect initialisation of
some structures
Note that a new utility, ResiSnap is
now available to convert snapshots saved by earlier versions of ResiDOS into
standard .Z80 snapshot files.
The following changes have been made in the current version of
ResiDOS (v1.85) for ZXATASP
since the previous release (v1.84):
- Fixed ZXATASP installer bug where the Syntax package was accidentally
allocated one of the same banks as used for Task 0; therefore, after
using the Task Manager, the Syntax ROM would be corrupted and ResiDOS
needed to be re-installed.
The following changes have been made in the current version of
ResiDOS (v1.84)
since the previous release (v1.81):
- Added 128K (USR0) mode, used by default for better compatibility with 128K software.
- Added SPECTRUM command for locking 48K memory configuration.
- Added temporary banks facility for application usage, with new package calls RESI_ALLOC and RESI_DEALLOC.
- Added package calls RESI_FINDPKG, RESI_FINDBASIC and RESI_GETPAGER for hardware-independent usage of allocated and package banks.
- Fixed error messages referring to ROMs as "formats".
- Added support for disabling and re-enabling ResiDOS whilst keeping programs intact, using OUT commands. Works from 128K BASIC as well as 48K
BASIC.
- Fixed installer's error-checking on binary filesizes.
- Fixed bug where a crash would occur when BREAKing at a "scroll?" prompt in CAT and CP commands.
The following changes have been made in the current version of
ResiDOS (v1.81)
since the previous release (v1.80):
- Added break-trapping with ONBREAK command
- Added error-trapping with ONERR and REPORT commands, and
FN ERR(), FN ERL() and FN ERS() functions
- Fixed a bug where the error marker would sometimes not be
shown on a line with a syntax error
The following changes have been made in the current version of
ResiDOS (v1.80)
since the previous release (v1.63a):
- Added new syntax ROM.
- Added complete set of new easier-to-remember non-keyword commands.
- Added abbreviation recognition to syntax handler.
- Made % signs optional in all commands, so BASICs can fail built-in
commands (such as LOAD) allowing fall-back to ResiDOS commands.
- Added 128K RAMdisk commands emulation, using area 15 of drive M:
- Various minor bugfixes.
The following changes have been made in the current version of
ResiDOS (v1.63a)
since the previous release (v1.63):
- Bugfix to device selection logic.
The following changes have been made in the current version of
ResiDOS (v1.63)
since the previous release (v1.62):
- Bugfix: RUN command produced nonsense error messages if line did not exist. Error message given is now "Program Finished".
- Workaround: Headerless files were incorrectly read if opened with open action 1; this was due to a +3DOS bug if no cache buffers are available. Added 1 cache buffer.
- Made DD_SEL_FORMAT, DD_L_XDPB and DD_L_DPB calls always fail, to make room for cache buffer added.
- Workaround: Auto-detected drives with invalid parameters are now ignored.
- Slave drives are now disabled by default on ResiDOS installation.
The following changes have been made in the current version of
ResiDOS (v1.62)
since the previous release (v1.61):
- Bugfix: CAT % command showed incorrect sizes for some files in
long catalog listings.
The following changes have been made in the current version of
ResiDOS (v1.61)
since the previous release (v1.60):
- Bugfix: ResiDOS would crash on startup while trying to determine
if a boot file was present, if no formatted IDEDOS drive was available.
- Bugfix: Interrupts were not properly disabled when sizing the interface
RAM in the ResiDOS installer.
- Added tests to ensure CODE files (and snapshots) can no longer
be loaded if they would overwrite the ROM area (corrupting ResiDOS).
The following changes have been made in the current version of ResiDOS (v1.60)
since the previous release (v1.43):
- Removed support for old filesystem.
- Added IDEDOS drive listing and defaults information on boot.
- Added full support for slave drive.
- Changed FORMAT % commands to support slave drive and allow detection disabling.
- Added "FORMAT %" command to re-initialise IDEDOS at any time, allowing CompactFlash card switching.
- Added IDE_IDENTIFY and IDE_PARTITIONS calls to IDEDOS.
- Changed LOAD % command to allow user area to be changed with and independently of drive.
- Added INK/PAPER/BRIGHT/FLASH/ATTR % commands to set permanent colours.
- Added RUN % and RUN %"name" [ASN] command for boot file and autorunning.
- CAT % TAB now displays partition sizes in K or MB as appropriate.
- FORMAT % DATA/EXP now allows size to be specified in K for 256K+.
- CAT now displays drive and user area being catalogued.
- Added expanded BASIC program information back into CAT % EXP.
- Fixed bugs with corrupted memory when BREAKing into CAT commands.
- Snapshot saver now displays full message if any error occurs.
- Added LINE %"name",line command for changing BASIC program auto-run status.
- Added SAVE %...TO command for file copies (inc wildcards).
- Added MOVE %...TO command to rename files.
- Added MOVE %...TO command to rename partitions.
- Added MOVE %...ATTR command for changing attributes (allows wildcards).
Back to the ResiDOS home page