Running PUT9000 under NEXTOR

Page 2/3
1 | | 3

By msd

Paragon (1371)

msd's picture

10-09-2018, 13:05

iirc put9000 already failed on my system long before nextor was there.

By erikmaas

Resident (61)

erikmaas's picture

10-09-2018, 13:21

Maybe at the introduction of MSX-DOS 2.40?

To be honest, I would not be surprised if I have not used this tool for the last 20 years.

By msd

Paragon (1371)

msd's picture

10-09-2018, 15:10

Quote:

To be honest, I would not be surprised if I have not used this tool for the last 20 years.

Not ? What have you been doing all those years? Tongue

By erikmaas

Resident (61)

erikmaas's picture

10-09-2018, 23:18

I have checked the source.

Current procedure is to determine the page where the MSX-DOS is running by using the value from 0xf2d0. Then it tries to find the routine used by MSX-DOS to print the characters. For MSX-DOS 2.20, 2.30 and 2.31 it the routine is at 0x4a71. If the routine is not found, it will print an error message telling it needs to patch MSX-DOS in a nonstandard way and help is required. (Just noticed my phone number had a wrong digit Eek! )

Put9000 installs a driver in an allocated memory page in the primary mapper.

And then the tricky part, the printing routine is patched to call a routine that is copied into the 'free' space inside the page where MSX-DOS is located. That latter routine calls the Put9000 routines.

It is quite understandable that MSX-DOS 2.4x and NEXTOR are different and that the free space has gone.
I will try to find some time this week to see if I there is an easy way to get it working again. It would be nicer if the kernel would allow to put in some printing hooks.

As for putting the sources in Bitbucket. My latest versions were written with Compass. I think I rather convert them back to GEN80 and put a little batch file next to it. Or use some cross-compiling.

By NYYRIKKI

Enlighted (5199)

NYYRIKKI's picture

11-09-2018, 14:54

erikmaas wrote:

It would be nicer if the kernel would allow to put in some printing hooks.

Hmm... I just wonder what is wrong with H.CHPU (#FDA4) ?

By erikmaas

Resident (61)

erikmaas's picture

11-09-2018, 17:24

I am not sure why I did not use that hook back then. Maybe I wanted to speed up things by preventing MSX-DOS to do interslot calls to the BIOS...

Since hooks are 5 bytes, it is not enough to do a call to a slot/page/address location.
So maybe I was struggling to allocate memory from the TPA. Back then I did not know how to prevent going to BASIC and back to MSX-DOS as I did with my serial drivers. To be honest, I still don't know how do this.

Anyway, I will try to get it working again.

By msd

Paragon (1371)

msd's picture

11-09-2018, 17:51

Making ram free in the tpa area is easy. You need to reload msxdos2.sys and set some address . I’ve this info documented somewhere. Msxdos2.sys is a ‘com’ itself . I can be executed from address 100h Big smile

By erikmaas

Resident (61)

erikmaas's picture

11-09-2018, 20:05

So then I would need to determine to load either msxdos2.sys or nextor.sys?

By msd

Paragon (1371)

msd's picture

11-09-2018, 21:19

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

Page 2/3
1 | | 3
My MSX profile