Nextor is a disk operating system for MSX computers. It is built on top of the source code of MSX-DOS 2.31, released in 1991.
If you are already familiar with Nextor 2 you may want to take a look at what's new in Nextor 3. If you are new to Nextor the getting started guide will be useful for you.
The source code of Nextor is published with permission from the MSX Licensing Corporation under certain terms. Please take a moment to read the license terms for details.
Please visit the releases section for binaries.
As of Nextor 3.0 this repository no longer contains Nextor drivers for specific hardware. Drivers that were part of the repository in Nextor 2 now live in their own separate repositories; other drivers are distributed by their developers in whatever way they choose. See the known drivers document for the list of available drivers and where to get each of them.
Note that additionally to the master branch there are v2.0 and v2.1 branches that hold the code and documentation for the legacy versions of Nextor (and the Nextor 2 version of the hardware-specific drivers).
-
source: The source code of Nextor itself.
-
kernel: The kernel ROM, includes the FDISK tool.
-
nextor_sys: The
NEXTOR.SYSfile. -
tools: The new command line tools created for Nextor.
-
drivers: The standalone ROM driver and an example RAM driver.
-
command:
COMMAND2.COMand the command line tools that were originally supplied with MSX-DOS. These aren't currently included in the build pipeline.
-
-
sdk: Z80 assembler and C include files, helper routines and driver templates, intended to be used when developing Nextor drivers and Nextor-aware tools.
-
buildtools: The source code of
mknexrom, a tool that generates a full Nextor ROM from the kernel base and a driver. -
docs: Documentation for both users and developers.
-
docker: The infrastructure to create the Nextor development Docker image.
For instructions on how to build Nextor using the Nextor development Docker image, see README.md in the Docker directory.
Nextor requires Linux to be built. It should work on macOS too, but that hasn't been tested. If you are on Windows 10 or 11 you can use WSL.
To build Nextor you'll need:
make. On Debian/Ubuntu-ish systems you can justapt-get install make.- The Nestor80 tools. Go to the releases section and download the appropriate variant of the latest version for the assembler (N80), the linker (LK80) and the library manager (LB80).
- SDCC v4.2 or newer, for FDISK and the command line tools written in C. On Debian/Ubuntu-ish systems you can just
apt-get install sdcc. objcopyfrom the binutils package. On Debian/Ubuntu-ish systems you can justapt-get install binutils.mknexromto generate the ROM files with the drivers. You have it in the releases section, but you can also build it from the source in thebuildtools/sourcesdirectory.mformatandmcopyfrom the mtools package, only if you want to build the tools disk image. On Debian/Ubuntu-ish systems you can justapt-get install mtools.zip, only if you want to build the tools zip archive. On Debian/Ubuntu-ish systems you can justapt-get install zip.
Except for those obtained via apt, you'll need to place these tools at a suitable location to be able to use them, e.g. /usr/bin.
There are a number of makefiles that will take care of building the different components of Nextor. Once the tools are in place you can just cd to the appropriate directory and run make:
source/kernel: builds the kernel base file (the input formknexromto produce complete kernel ROMs) and copies it to thebin/kernel-basedirectory. Runningmake everythingbuilds all six variant combinations (default,INVERT_SHIFTandINVERT_CTRL, each with and withoutNO_UNDOC_CPU_INSTRUCTIONS); see the comments at the beginning of the makefile for the details.source/nextor_sys: buildsNEXTOR.SYSand copies it to thebin/toolsdirectory.source/tools: builds the command line tools written in assembler and copies them to thebin/toolsdirectory.source/tools/C: builds the command line tools written in C and copies them to thebin/toolsdirectory.source/drivers: builds the standalone Nextor ROM (a full usable ROM containing the Nextor kernel and a dummy driver that doesn't handle any hardware) in their ASCII8 and ASCII16 variants; the generated files go to thebin/driversdirectory. It also allows building an example RAM-loadable driver.
Additionally, make tools-disk in source/tools packs NEXTOR.SYS (plus its Japanese-messages variant, renamed to NEXTORJ.SYS) and all the command line tools present in the bin/tools directory, together with a README.TXT file and any files listed in the EXTRA_FILES variable, into bin/tools/nextor.dsk, a 360K FAT12 disk image; if COMMAND2.COM is included, the disk boots straight to the DOS prompt on a computer with a Nextor kernel ROM. The image gets the same MSX-DOS 2 style boot sector that the built-in FORMAT command creates, so it can also be booted in MSX-DOS 1 mode. This requires the mformat and mcopy tools, and expects everything to be already built. Files not built by this repository are added only through the EXTRA_FILES variable — most notably COMMAND2.COM, needed for the disk to be bootable, without which the image is created with a warning (e.g. use EXTRA_FILES=COMMAND2.COM,MSXDOS.SYS,COMMAND.COM for a disk that also boots to the DOS prompt in MSX-DOS 1 mode); relative paths are resolved against the current directory, the one you run make from. See the tools-disk target in the makefile for the details.
Similarly, make tools-zip in source/tools packs just the command line tools (no NEXTOR.SYS, no COMMAND2.COM) into the bin/tools/tools.zip archive; this one requires the zip tool.
The source makefile offers a tools-all target that builds NEXTOR.SYS and all the tools, then creates both the disk image and the zip archive, all in one go.
There's also an "umbrella" makefile in source that just invokes all the others in sequence, so it builds pretty much everything. It supports make clean too, and a tools-disk target that builds NEXTOR.SYS and all the tools before creating the disk image.