Skip to content

Commit 6ecd074

Browse files
committed
v2.1 beta 2
- 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). - BREAKING CHANGE: The address of CODE_ADD, used by the CALLB0 routine, has changed to F1D0h (it was F84Ch). - 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.
1 parent f510e43 commit 6ecd074

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+7158
-3811
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
syntax: glob
22

33
.vs/
4+
.vscode/
45
bin/**
56
*.sym
67
*.SYM

docs/DRIVER.ASM

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; Dummy disk driver for Nextor 2.0
1+
; Dummy disk driver for Nextor 2.1
22
; By Konamiman, 8/2018
33
;
44
; This code can be used as the basis for developing
@@ -21,7 +21,7 @@ DRV_START:
2121
;This is a 2 byte buffer to store the address of code to be executed.
2222
;It is used by some of the kernel page 0 routines.
2323

24-
CODE_ADD: equ 0F84Ch
24+
CODE_ADD: equ 0F1D0h
2525

2626

2727
;-----------------------------------------------------------------------------

docs/Nextor 2.1 Driver Development Guide.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,9 @@
102102

103103
[5. Change history](#5-change-history)
104104

105-
[5.1. v2.1.0 beta 1](#51-v210-beta-1)
105+
[5.1. v2.1.0 beta 2](#51-v210-beta-2)
106+
107+
[5.2. v2.1.0 beta 1](#52-v210-beta-1)
106108

107109

108110
## 1. Introduction
@@ -428,7 +430,7 @@ Input: Address of code to invoke in (CODE_ADD).
428430
Output: AF, BC, DE, HL, IX, IY returned from the called routine.
429431
```
430432

431-
Note: the address of CODE_ADD is F84Ch.
433+
Note: the address of CODE_ADD is F1D0h.
432434

433435
#### 4.2.4. CALBNK (4042h)
434436

@@ -611,13 +613,13 @@ Please note also the following:
611613
612614
#### 4.4.4. DRV_BASSTAT (4139h)
613615
614-
This is the entry for the BASIC extended statements ("CALLs") handler. It works the same way as the standard handlers (see _MSX2 Technical Handbook_, chapter 2, for details), except that if the handled statements have parameters, the MSX BIOS routine CALBAS (needed to invoke the MSX BASIC interpreter helper routines) can't be used directly; instead, it must be invoked via the CALLB0 entry in kernel page 0.
616+
This is the entry for the BASIC extended statements ("CALLs") handler. It works the same way as the standard handlers (see [MSX2 Technical Handbook, chapter 2](https://github.com/Konamiman/MSX2-Technical-Handbook/blob/master/md/Chapter2.md), for details), except that if the handled statements have parameters, the MSX BIOS routine CALBAS (needed to invoke the MSX BASIC interpreter helper routines) can't be used directly; instead, it must be invoked via [the CALLB0 entry](#423-callb0-403fh) in kernel page 0.
615617
616618
If the driver does not handle BASIC extended statements, it must simply set the carry flag and return.
617619
618620
#### 4.4.5. DRV_BASDEV (413Ch)
619621
620-
This is the entry for the BASIC extended devices handler. It works the same way as the standard handlers (see _MSX2 Technical Handbook_, chapter 2, for details), but see the note on DRV_BASSTAT about CALBAS.
622+
This is the entry for the BASIC extended devices handler. It works the same way as the standard handlers (see [MSX2 Technical Handbook, chapter 2](https://github.com/Konamiman/MSX2-Technical-Handbook/blob/master/md/Chapter2.md), for details), but see the note about CALBAS on [DRV_BASSTAT](#444-drv_basstat-4139h).
621623
622624
If the driver does not handle BASIC extended devices, it must simply set the carry flag and return.
623625
@@ -1018,6 +1020,12 @@ This section contains the change history for the different versions of Nextor. O
10181020
10191021
This list contains the changes for the 2.1 branch only. For the change history of the 2.0 branch see the _[Nextor 2.0 Driver Development Guide](../../../blob/v2.0/docs/Nextor%202.0%20Driver%20Development%20Guide.md#5-change-history)_ document.
10201022
1021-
### 5.1. v2.1 beta 1
1023+
### 5.1. v2.1.0 beta 2
1024+
1025+
- **BREAKING CHANGE:** The address of CODE_ADD, used by [the CALLB0 routine](#423-callb0-403fh), has changed to F1D0h (it was F84Ch).
1026+
1027+
- 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.
1028+
1029+
### 5.2. v2.1.0 beta 1
10221030
10231031
Added the "User is requesting reduced drive count" flag to the input of [the DRV_INIT routine](#443-drv_init-4136h) and [the DRV_CONFIG routine](#448-drv_config-4151h).

docs/Nextor 2.1 Getting Started Guide.md

Lines changed: 62 additions & 44 deletions
Large diffs are not rendered by default.

docs/Nextor 2.1 Programmers Reference.md

Lines changed: 133 additions & 17 deletions
Large diffs are not rendered by default.

docs/Nextor 2.1 User Manual.md

Lines changed: 174 additions & 37 deletions
Large diffs are not rendered by default.

docs/img/gsg/DirAAndDirB.png

18.3 KB
Loading
16.2 KB
Loading
2.81 KB
Loading
20.7 KB
Loading

0 commit comments

Comments
 (0)