The Nextor Work-In-Progress topic

Page 7/8
1 | 2 | 3 | 4 | 5 | 6 | | 8

By edoz

Prophet (2400)

edoz's picture

14-05-2014, 16:53

konamiman wrote:

To follow up comments in the Nextor 2.0.3 release newspost:

edoz wrote:

Just performance problem on the sunrise (...) It seems when I write to the disk this takes a lot of time

Only with the Sunrise IDE interface? You are not experiencing the same problem with your Megaflash devices?

Could you provide me some more information? Please tell me:

- The capacity of the device where you are writing the file
- How much free space does it have
- The size of the file being copied
- How much time does it take the file write operation

Grauw wrote:

I think the speed is influenced by the cluster count, not the cluster size.

Indeed. The calculation time will be the same for 512M, 1G, 2G and 4G partitions, since all of them have a little less than 64K clusters.

I see this only on the sunrise IDE!
I have just one FAT16 partition 3815M on ID 1 (4GB CF Card), it takes about 9 seconds to copy the autoexec.bat file to autoexec.bak (small file)

By konamiman

Paragon (1157)

konamiman's picture

14-05-2014, 17:02

edoz wrote:

I see this only on the sunrise IDE!
I have just one FAT16 partition 3815M on ID 1 (4GB CF Card), it takes about 9 seconds to copy the autoexec.bat file to autoexec.bak (small file)

How much free space is in the card?

And just one more silly question... have you partitioned the card with Nextor? Or are you using the factory formatting?

By edoz

Prophet (2400)

edoz's picture

14-05-2014, 17:13

I did the format with nextor (and a bit smaller then the full size because of the bug) If I boot SymbOS it running normal on the same interface/CF .. but then there is a different driver active of course. (not nextor)

13736696 K free it's saying if I disable ralloc on drive a:

By konamiman

Paragon (1157)

konamiman's picture

14-05-2014, 17:18

edoz wrote:

13736696 K free it's saying if I disable ralloc on drive a:

13736696KB = 13GB. Something is wrong here.

By edoz

Prophet (2400)

edoz's picture

14-05-2014, 20:26

Sorry. I checked again its 1373568K .. I thing I looked wrong.

By konamiman

Paragon (1157)

konamiman's picture

15-05-2014, 15:38

So copying an about 1K big file to a partition of about 4G that has about 1.3G free takes about 9 seconds, right? And is this Z80 or R800?

Can someone perform a test with these figures on a Megaflash SD?

By edoz

Prophet (2400)

edoz's picture

15-05-2014, 15:49

konamiman wrote:

So copying an about 1K big file to a partition of about 4G that has about 1.3G free takes about 9 seconds, right? And is this Z80 or R800?

Can someone perform a test with these figures on a Megaflash SD?

Yes correct. This is on a z80 (7 MHz) I have the same files on my MegaflashSD, also a 4gb card but then it's running fast.

By edoz

Prophet (2400)

edoz's picture

30-08-2014, 14:37

Does anyone else tried to run nextor on the sunrise IDE with one big fat16 partition ?

By konamiman

Paragon (1157)

konamiman's picture

10-10-2014, 15:01

Hi all! It's been a while but I am now working on Nextor 2.0.4. I would like to follow up the comment by sd_snatcher in the Nextor 2.0.3 release newspost:

Quote:

I'm sad to tell you this, but unfortunately the workaround for the bogus values in the ExpertTurbo/3 ROMs broke the support for the Kanji driver. It now freezes whenever I try to activate it.

First of all, I apologize for not having replied to that comment in four months, but the fact is that I really missed it! (Yes, I can be that absent-minded sometimes). But there are good news, I have been working on this and I've found a couple of interesting facts.

To start with, the bug was not introduced in v2.0.3 and has nothing to do with the patch for the Brazilian computers. This bug was present from the very first version of Nextor... and in fact it was already present in the original source code that I received!

The problem is in the way the Kanji ROM handles the timer interrupt hook. When the kanji mode is activated, the existing content of the hook is stored in RAM (in the work area for slot 0) and is replaced by a inter-slot call to the kanji ROM. This code does its stuff and calls the old hook... in a rather strange way. If the first byte of the old hook is C9h (RET), nothing is done. Otherwise, the code assumes that the first byte is F7h (RST 30h), then assumes that the second byte is a slot number and the next two bytes form an address. Within this information, an interslot call is performed.

So why is that a problem? Well, as soon as the hook contains something other than a RET or a RST 30h, for example a CALL to some code in page 3, a crash is ensured. I had experienced that already in the past, when I tried to send a tweet in japanese (InterNestor Lite does indeed patch the timer interrupt hook with a CALL instruction).

Ok, so what happens with the Nextor kernel? Turns out that the original MSX-DOS 2 kernel places a RST 30h instruction in the timer interrupt hook... but the "MSX-DOS 2.50" code that I received places ¿guess what? Exactly, a CALL instruction to a piece of code in page 3 that just does the interslot call. ¿And why is this done? A comment in the code says just "support MegaSCSI". Oh my.

So the bug is solved by just restoring the original behavior, that is, patching the timer interrupt hook with an interslot call. And now comes the bonus part:

I liked the suggestion of sd_snatcher to allow choosing between English or Japanese error messages in kanji mode with an environment variable. This will be implemented in Nextor 2.0.4 and will be also the solution for the Brazilian computers problem, since the change made in v2.0.3 (populating KANJTABLE only on japanese computers) will be undone.

And that's it. With this and a couple more of bug corrections, Nextor 2.0.4 is on its way. Stay tuned! :-)

By Prodatron

Paragon (1801)

Prodatron's picture

10-10-2014, 18:44

Good news about the progress! Smile I am always impressed about your work!

Page 7/8
1 | 2 | 3 | 4 | 5 | 6 | | 8