Running PUT9000 under NEXTOR

Page 3/3
1 | 2 |

By sd_snatcher

Prophet (2802)

sd_snatcher's picture

12-09-2018, 00:12

msd wrote:

Yes , this one complain i had by the name changes nestor introduced. But perhaps this name is stored somewhere

Humm. How did it decide between MSXDOS.SYS and MSXDOS2.SYS then? Can't be same heuristics just be expanded?

By msd

Paragon (1356)

msd's picture

12-09-2018, 12:14

That can be checked with dos version , well that can perhaps also be done with Nestor , but that does mean old software doesn’t work with never versions.

By sd_snatcher

Prophet (2802)

sd_snatcher's picture

12-09-2018, 14:16

I see your point. It's not an easy decision. ASCII themselves had to do it once, since MSX-DOS1 programs that do this also won't run on MSX-DOS2.

But, OTOH, it's the only way to allow a single disk to be booted with both versions of the operating system, thus covering machines that have either DiskROMs.

Maybe one elegant solution would be to rename MSX-DOS.SYS to MSX-DOS1.SYS, and create a new "MSX-DOS.SYS" whose task is to decide which .SYS file it will load based on the diskROM version available. This would solve the two backward compatibility problems (DOS1->DOS2 and DOS2->Nextor). I'll suggest that to Konamiman.

By erikmaas

Resident (57)

erikmaas's picture

13-09-2018, 00:49

For now I added patching for Nextor 2.1 alpha2 in the way it was done for the other DOS versions.
Here is the result put9000_13092018.zip
It might work.... or not...

You can find the code on Bitbucket (put9000)
I have created a project to cross compile on Ubuntu and added make targets to launch into openMSX with both MSX-DOS2.31 and NEXTOR.

I tried to use the CHPUT hook and to allocate TPA. But struggled too much with relocating the small piece of code to go from the CHPUT hook into an allocated page. I need to look at this again later.

By msd

Paragon (1356)

msd's picture

13-09-2018, 10:29

@erikmaas: I can send you complete code to reload msxdos2.sys.

By erikmaas

Resident (57)

erikmaas's picture

13-09-2018, 11:10

To reload MSX-DOS is not what I stuggled with. Writing some code that needs to be relocated is.
Nevertheless if you have something that is usable, I would be happy to use that.

While attempting to change the loader I did too many things at the same time:

  • Use H.CHPUT instead of the MSX-DOS patch
  • Add calls to ENASLT, since now it is clear I cannot assume RAM from the primary mapper is already there
  • Allocate space from TPA
  • Make the code that was fixed to 0x3f00 relocatable

This became quite a mess yesterday evening.
So, I will re-attempt with smaller steps.

By PlainSpooky

Resident (46)

PlainSpooky's picture

17-09-2018, 04:38

Oh! Nice!

By PlainSpooky

Resident (46)

PlainSpooky's picture

20-09-2018, 04:46

erikmaas wrote:

To reload MSX-DOS is not what I stuggled with....

The source code of jANSI is available on MSX Info pages and would be interesting take a look on it, perhaps it can contains some idea that can be used.

By erikmaas

Resident (57)

erikmaas's picture

20-09-2018, 08:40

jANSI is a Memman TSR if I remember correct. I found a few attempts in my archive to make put9000 a TSR as well. But I apparently was not satisfied with that back then. Likely this was performance related or I did not like Memman too much.

I will fix it, but I need to find some time.

Page 3/3
1 | 2 |
My MSX profile