diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 921500b7..49122583 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,19 +25,37 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt install -y \ - sdcc binutils make curl cpm - - name: Install M80 + sudo apt install -y binutils make curl cpm + + curl -Lo sdcc.tar.bz2 https://sourceforge.net/projects/sdcc/files/sdcc-linux-amd64/4.2.0/sdcc-4.2.0-amd64-unknown-linux2.5.tar.bz2/download + mkdir sdcc + cd sdcc + tar xjf ../sdcc.tar.bz2 + sudo cp -r sdcc-4.2.0/* /usr/local/ + sdcc -v + - name: Install Nestor80 env: - VERSION: 1.1 + N80_VERSION: '1.1' + LK80_VERSION: '1.0' + LB80_VERSION: '1.0' run: | - curl -Lo m80.zip https://github.com/Konamiman/M80dotNet/releases/download/v${VERSION}/M80dotNet_${VERSION}_SelfContained_linux_x64.zip - unzip m80.zip - for NAME in M80 L80 LIB80; do - sudo install -v ${NAME} /usr/local/bin - rm ${NAME} - done - rm m80.zip + curl -Lo n80.zip https://github.com/Konamiman/Nestor80/releases/download/n80-v${N80_VERSION}/N80_${N80_VERSION}_SelfContained_linux-x64.zip + unzip n80.zip + sudo install -v N80 /usr/local/bin + rm N80 + rm n80.zip + + curl -Lo lk80.zip https://github.com/Konamiman/Nestor80/releases/download/lk80-v1.0/LK80_1.0_SelfContained_linux-x64.zip + unzip lk80.zip + sudo install -v LK80 /usr/local/bin + rm LK80 + rm lk80.zip + + curl -Lo lb80.zip https://github.com/Konamiman/Nestor80/releases/download/lb80-v${LB80_VERSION}/LB80_${LB80_VERSION}_SelfContained_linux-x64.zip + unzip lb80.zip + sudo install -v LB80 /usr/local/bin + rm LB80 + rm lb80.zip - name: Add buildtools run: | for NAME in buildtools/linux/*; do diff --git a/.gitignore b/.gitignore index 33460904..e90eb86e 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,6 @@ source/kernel/bank*/*.inc source/kernel/drivers/*.inc source/kernel/drivers/**/*.inc source/kernel/drivers/**/*.lst -!source/kernel/drivers/MegaFlashRomSD/*.bin source/kernel/drivers/**/*.rom source/kernel/drivers/**/*.ROM source/kernel/bank5/*.dat @@ -51,3 +50,5 @@ source/tools/data.mac NEXTOR.SYS NEXTORK.SYS nextor_base.dat +*.LST + diff --git a/README.md b/README.md index 1a8f931b..20ad2ac5 100644 --- a/README.md +++ b/README.md @@ -24,17 +24,14 @@ Note that there is no `master` branch, but branches for each major version of Ne ## How to build Nextor -The "official" environment for building Nextor is Linux. Legacy support for Windows is still offered but it's deprecated. Read on for the ugly details. +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](https://docs.microsoft.com/en-us/windows/wsl/install-win10). -### Linux - -To build Nextor on Linux you'll need: +To build Nextor you'll need: * `make`. On Debian/Ubuntu-ish systems you can just `apt-get install make`. -* The native MACRO80 tools provided by [the M80dotNet project](https://github.com/Konamiman/M80dotNet). Go to [the releases section](https://github.com/Konamiman/M80dotNet/releases) and download the appropriate variant of the latest version. -* [SDCC](http://sdcc.sourceforge.net/), for FDISK and the command line tools written in C. On Debian/Ubuntu-ish systems you can just `apt-get install sdcc`. +* [The Nestor80 tools](https://github.com/Konamiman/Nestor80). Go to [the releases section](https://github.com/Konamiman/Nestor80/releases) and download the appropriate variant of the latest version for the assembler (N80), the linker (LK80) and the library manager (LB80). +* [SDCC](http://sdcc.sourceforge.net/) **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`. * `objcopy` from [the binutils package](https://www.gnu.org/software/binutils/). On Debian/Ubuntu-ish systems you can just `apt-get install binutils`. -* `sjasm` v0.39 to assemble some of the drivers. You have it in the `buildtools/Linux` folder, but you can also build it from [the sources](https://github.com/Konamiman/Sjasm/tree/v0.39) (remember to switch to the `v0.39` branch). * `mknexrom` to generate the ROM files with the drivers. You have it in the `buildtools/Linux` folder, but you can also build it from the source in the `buildtools/sources` directory. 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`. @@ -49,16 +46,3 @@ There are five makefiles that will take care of building the different component You may want to take a look at [this now closed pull request from Dean Netherton](https://github.com/Konamiman/Nextor/pull/79) that contains a different attempt at writing makefiles for bulding Nextor. It even has some nice extra features like building FDD and HDD images with Nextor, and building the `mknexrom` tool itself. -## Windows - -If you use Windows 10 the recommended approach is to use the Linux tools and scripts with [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10). If you use an older Windows the recommended approach is to upgrade to Windows 10 (or to install Linux in a separate partition or disk, or in a virtual machine). - -However, if for some reason you are still using a non-WSL capable Windows, support for building Nextor is available as well; but note that it will probably be removed at some point in the future, as it's a maintenance burden (seriously, give Windows 10 and WSL a try, it's really worth it). - -To build Nextor on Windows you need: - -* The tools in the `buildtools/Windows` folder. These must be placed in some folder included in the `PATH` environment variable. -* [SDCC](http://sdcc.sourceforge.net/), for FDISK and the command line tools written in C. -* .NET Framework 2.0 or higher, for the `SymToEqus` tool. - -You'll find a number of `.bat` files available at the same locations of the Linux makefiles except for the one in `source` (see "Linux" section above). These are not "makefile-ish" and always build the whole set of kernels/tools. diff --git a/buildtools/linux/sjasm b/buildtools/linux/sjasm deleted file mode 100644 index 5570da51..00000000 Binary files a/buildtools/linux/sjasm and /dev/null differ diff --git a/buildtools/sources/SymToEqus.cs b/buildtools/sources/SymToEqus.cs deleted file mode 100644 index 39092d97..00000000 --- a/buildtools/sources/SymToEqus.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System; -using System.Text; -using System.IO; -using System.Text.RegularExpressions; - -namespace Konamiman.SymToEqus -{ - class Program - { - static int Main(string[] args) - { - Console.WriteLine("SymToEqus 1.0 - (c) 2008 by Nestor Soriano"); - - if(args.Length<2) { - Console.WriteLine( -@" -Usage: SymToEqus [