Releases: Konamiman/Nextor
v2.1.2
Changes in this release
-
Small fixes in
printf.c
andcrt0_msxdos_advanced
for the C programs (#135). -
The MegaFlashROM SCC+ SD ROMs now restores the saved screen setting at boot time in MSX2 and higher(#132).
-
The
_DOSVER
function now keeps register C unchanged in MSX-DOS 1 mode (#128). -
Renamed the
SunriseIDE.emulators.ROM
file toSunriseIDE.blueMSX.ROM
(#129). -
Fixed a bug in
MAPDRV
and a bug in the MegaFlashROM SCC+ SD driver regarding theDEV_STATUS
routine (#119). -
Added support for recognizing partition type code 15 ("extended LBA") as "extended partition" in the kernel and in
MAPDRV.COM
, also FDISK will now create extended partitions with partition type code 15, and a command line tool is provided to fix existing partitions (#121). -
Fixed the DSKIO driver error check in MSX-DOS 1, page 1 transfers (#134).
Changed files
The following files have been changed from v2.1.1:
- All the kernel ROM files.
- MAPDRV.COM
- EPTCFT.COM (added)
You can get the files that haven't changed from the previous releases:
- NEXTOR.SYS from v2.1.1 beta 1
- The command line tools and mknexrom.exe from v2.1.0
v2.1.1
Changes in this release
-
Fixed a bug that caused FDISK to crash on Korean MSX computers (#106).
-
Fixed a bug in slot management during EXTBIO handling that caused COMMAND2.COM to crash when two Nextor kernels and a RAM mapper were present with a certain combination of slot/subslot (#103).
- This fix was contributed by @uniabis, many thanks!
-
Fix wrongly implemented interrupt handling in MSX-DOS 1 mode that resulted in the interrupt handler for MSX-DOS kernels to not run in some cases, causing e.g. disk drive motors to never stop (#107).
-
Added a new flavour to the Sunrise IDE ROMs family: "Master device only" (the files having
.MasterOnly.
as part of their names). This will be useful for owners of the Carnivore2 and similar devices that handle one single IDE device (#105).
Changed files
The following files have been changed from v2.1.1 beta 2:
- All the kernel ROM files.
You can get the files that haven't changed from the previous releases:
- NEXTOR.SYS from v2.1.1 beta 1
- The command line tools and mknexrom.exe from v2.1.0
v2.1.1 beta 2
Changes in this release
-
Changed the mechanism to access mounted files from file-based to sector-based. This implies that a disk image file now needs to be stored across consecutive disk clusters in order to be mountable to a drive. (#93)
- This also adds a new BASIC error code: "Invalid cluster sequence", with code 82.
-
Fixed incorrect setting of UD_ACLU when freeing a FAT chain, this caused computer crashes after files having small initial cluster numbers were created and deleted after files with higher cluster numbers had been accessed (#96).
-
Added a new
CALL SYSTEM2
command in BASIC. This one works the same way asCALL SYSTEM
, but it will always loadMSXDOS2.SYS
, even whenNEXTOR.SYS
is available. (#97) -
Added a new
KILLDSKIO
environment variable. If it exists with a value ofon
, 512 extra free bytes will be available in BASIC, at the expense of disabling theDSKI$
andDSKO$
commands. (#98)
Changed files
The following files have been changed from v2.1.1 alpha 2:
- All the kernel ROM files.
v2.1.1 beta 1
Changes in this release
-
Fix: the DE register pair was corrupted by extended BIOS handling code, now it's going to be always preserved, even if a driver corrupts it in its own EXTBIO hook handling code. (#88)
-
Fix: the
_GPART
function call was returning incorrect information in registersIX
andIY
when called via the 0005h entry point (it worked fine when using the F37Dh entry point). The fix is in NEXTOR.SYS. (#89, but the issue was originally reported by vipoo in #84). -
There's a new kernel ROM file:
Nextor-2.1.1-beta1.OCM.ROM
. This one is for the 1chipMSX and compatible devices such as the SX|2. The driver is basically the same as the one for the MegaFlashROM SCC+ SD, but with the DiskROM related code removed. (#91)
Changed files
The following files have been changed from v2.1.1 alpha 2:
- All the kernel ROM files.
- NEXTOR.SYS
v2.1.1 alpha 2
Changes in this release
The improvement of the cluster chain allocation process performance (v2.1.1 alpha 1) introduced a critical bug that sometimes caused severe problems (weird errors, computer crashes, even data corruption) when writing data to disk. This release fixes that bug.
See the fix pull request for the technical details.
Changed files
The following files have been changed from v2.1.1 alpha 1:
- All the kernel ROM files.
Note
The same as v2.1.1 alpha 1: This release makes significant changes in the way data is written to filesystems. It's recommended to make a backup of your data before trying this release, or to try it with test data.
v2.1.1 alpha 1
Changes in this release
Writing to a FAT16 partition that is almost full is now much faster thanks to the new per-drive caching of the last cluster number allocated.
FAT16 filesystems created with FDISK on previous versions of Nextor has a cluster count in the boot sector that is higher than the actual size of the filesystem, due to a bug in the routine that calculates the cluster count in FDISK. This is fixed in this version.
Changed files
The following files have been changed from v2.1.0:
- All the kernel ROM files.
Note
This release makes significant changes in the way data is written to filesystems. It's recommended to make a backup of your data before trying this release, or to try it with test data.
v2.1.0
NOTES
-
The
.SunriseIDE.ROM
version won't recognize the master device on emulators. Use it with real hardware for better compatibility, use.SunriseIDE.emulators.ROM
version with emulators.- If you use a Carnivore2 controller you may need to use one or the other depending on which card do you use - see #60 for context.
-
If you are a driver developer please take note of the BREAKING CHANGE included in the changelog.
Update - 2020-08-05
The kernel with the driver for Flahsjacks has been updated, it has now the driver v1.7.1.
Changes and new features
NOTE: The changes listed are relative to v2.1.0 beta 2.
For users
-
Added a new tool, CONCLUS.COM, that uses the new
_GETCLUS
function to tell if stored across consecutive sectors in the disk. -
New version of the EMUFILE.COM tool, it uses the new
_GETCLUS
function to check if the disk image files are stored across consecutive sectors in the disk. -
The EMUFILE.COM tool now accepts a directory as the parameter for the SET command:
EMUFILE SET \DSKS\GAME
is equivalent toEMUFILE SET \DSKS\GAME\GAME.EMU
if\DSKS\GAME
is a directory. -
Added a new boot key: pressing
N
at boot time disables all the Nextor kernels present. -
NEXBOOT.COM tool updated to allow emulating the
N
key at boot time. -
NEXTOR.SYS steps up to v2.11, to support the new
_GETCLUS
function call.
For developers
-
Added a new function call to get information about a cluster in a FAT12 or FAT16 volume (#35).
-
Added UNAPI RAM Helper compatible mapper support routines for accessing mapped RAM by specifying both a segment number and a slot number (#34).
-
A new flag returned by LUN_INFO allows to instruct Nextor to ignore devices when searching devices for automatic device to drive mapping (#54).
-
Default DPB gets a fixed address of 7BAAh in banks 0 and 3, so it can be customized reliably.
-
PROMPT
routine made available to drivers at address 41E8h (#42). -
All the tools written in C compile again (#36).
-
BREAKING CHANGE for application developers: the
ALL_BK
andFRE_BK
routines aren't available anymore.
Bug fixes
-
Fix: disk errors for old MSX-DOS 1 file functions in BASIC crash the computer (#59).
-
Fix: files can't have 3 or 4 in their names in DOS 1 mode (#55).
-
Fix: after booting directly to BASIC by pressing 3, CALL SYSTEM doesn't work.
-
Fix: the DOS 1 variables "data buffer changed" and "redirect console output to printer" were not zeroed when switching to DOS 1 mode at boot time.
-
Fix: can't change volume name when there are long filename entries in the root directory (#57).
-
Fix: absolute sector read/write functions not working properly when a file is mounted to a drive (#43).
-
Fix: bad sector buffer management when writing to a mounted file causing data corruption on the mounted file (#58).
-
Fix: drive parameters not updated on first access to a drive after a media change if the driver provides drive mapping via DRV_CONFIG, causing bad data read (#45).
-
Fix: using bad address of emulation work area in disk emulation mode causes boot errors in some games.
Changed files
The following files have been changed from v2.1.0 beta 2:
-
All the kernel ROM files.
-
NEXTOR.SYS
, version bumped to v2.11, it supports the new_GETCLUS
function call. -
EMUFILE.COM
-
NEXBOOT.COM
-
CONCLUS.COM
(new tool)
Note that CONCLUS.COM
and the updated EMUFILE.COM
require NEXTOR.SYS v2.11.
v2.1.0 RC 1
Changelog:
-
Added UNAPI RAM Helper compatible mapper support routines for accessing mapped RAM by specifying both a segment number and a slot number.
-
Added a new function call to get information about a cluster in a FAT12 or FAT16 volume.
- Also: added a new tool, CONCLUS, that uses that function to tell if stored across consecutive sectors in the disk.
- Also: new version of the EMUFILE tool that checks if the disk image files are stored across consecutive sectors in the disk.
-
The EMUFILE tool now accepts a directory as the parameter for the SET command:
EMUFILE SET \DSKS\GAME
is equivalent toEMUFILE SET \DSKS\GAME\GAME.EMU
if\DSKS\GAME
is a directory. -
BREAKING CHANGE for application developers: the ALL_BK and FRE_BK routines aren't available anymore.
NEXTOR.SYS steps up to v2.11, to support the new _GETCLUS function call.
v2.1.0 beta 2
v2.1.0 beta 2
NOTES:
-
The
.SunriseIDE.ROM
version won't recognize the master device on emulators. Use it with real hardware for better compatibility, use.SunriseIDE.emulators.ROM
version with emulators. -
The old
EMUFILE.COM
tool doesn't work with the new emulation modes introduced in this version. Make sure to use the newer version, included intools.zip
in this release. -
If you are a driver developer please take note of the BREAKING CHANGE at the end of the changelog below.
Changelog:
-
Nextor will now try to load MSXDOS2.SYS if NEXTOR.SYS is not found in the boot drive.
-
The method for selecting partitions for automatic mapping has changed from requiring a NEXTOR.DAT file in the root directory to having the "active" flag set in the partition table.
-
Now the first 9 partitions of a device will be scanned during the automatic mapping procedure, this includes extended partitions.
-
FDISK allows to change the "active" flag of new and existing partitions.
-
FDISK now always creates extended partitions, even if 4 or less partitions are defined.
-
FDISK now creates FAT16 partitions with a partition type code of 14 (FAT16 LBA) instead of 6 (FAT16 CHS).
-
The numeric keyboard can now be used both when booting and when changing disks in disk emulation mode.
-
Russian keyboard is now properly recognized (numeric keys only).
-
Introduced the boot key inverters.
-
Introduced the one-time boot keys.
-
Introduced the NEXBOOT.COM tool to set the RAM based one-time boot keys.
-
Introduced the RAM based one-time disk emulation mode.
-
The method to enter the old disk emulation mode (now named "persistent") has changed from requiring a NEXT_DSK.DAT file in the root directory to storing a pointer to the emulation data file in the partition table of the device.
-
Pressing the 0 key at boot time will delete the pointer to the emulation data file in the partition table, thus permanently disabling the emulation mode - no need to manually do anything else.
-
When Nextor is waiting for a disk key press after having pressed GRAPH in disk emulation mode, now you can press GRAPH again to cancel the disk change.
-
The first Nextor kernel to boot now clears the screen before invoking the driver initialization.
-
ARG is no longer used as temporary work area by the Nextor kernel, this should improve the compatibility of games in disk emulation mode.
-
Fix: drive was remapped in case of error (even if it was retried successfully).
-
Fix: boot sector checksum calculation had a bug that caused "Wrong disk" errors.
-
Fix: #1 pressing CTRL+STOP while Nextor was trying to load NEXTOR.SYS hanged the computer.
-
Fix: #23 computer hanged when booting with one single drive letter (e.g. when using single-device controller in a computer without internal disk drive).
-
Fix: #29 wrong stack management hangedd the computer when a file handle was read or written to a number of times.
-
Fix: computer crashing when more than one Nextor kernel was present as soon as the extended BIOS hook was called (for example, when loading COMMAND2.COM).
-
Fix: there was Nextor kernel code in the 1K free area in pages 0 and 3, so putting anything here caused problems, e.g. DOS 1 mode didn't work.
-
_GPART now returns the status byte of the partition, and allows to retrieve the device sector number that holds the partition table entry instead of information about the partition.
-
BREAKING CHANGE for driver developers: the address of CODE_ADD, used by the CALLB0 routine, has changed to F1D0h (it was F84Ch).
v2.1.0-beta1
-
All the changes and fixes of v2.0.5 beta 1, including the addition of the license file and the Markdown documentation.
-
Change in boot keys: now the key to request one single drive per driver is the 5 key, and CTRL is simply passed to MSX-DOS kernels as when booting with MSX-DOS.
-
Added the "User is requesting reduced drive count" flag to the input of the DRV_INIT routine and the DRV_CONFIG routine.
-
MegaFlashROM SCC+ SD kernel is now offered in two variants, for 1 slot devices and for 2 slots devices; the difference is the number of drives allocated at boot time.