NOP MOD Player v2.0

Page 9/12
2 | 3 | 4 | 5 | 6 | 7 | 8 | | 10 | 11 | 12

By knm1983

Hero (566)

knm1983's picture

23-04-2020, 16:25

no no, is randomly , later reset i can load same music mod and load ok refer to the freezes loading

By SjaaQ

Champion (266)

SjaaQ's picture

23-04-2020, 19:35

@knm1983 could you try out Build: 1843 with R800-RAM mode?

Also when it freezes when loading could you specify what the border color is at that point?

By SjaaQ

Champion (266)

SjaaQ's picture

23-04-2020, 19:39

OpenMSX does not return any of the LD/BUSY flags, as far as I can see.

By Manuel

Ascended (18724)

Manuel's picture

23-04-2020, 21:28

SjaaQ wrote:

OpenMSX does not return any of the LD/BUSY flags, as far as I can see.

As far as I can see, they are implemented:

byte MSXMoonSound::readYMF278Status(EmuTime::param time) const
{
	byte result = 0;
	if (time < ymf278BusyTime) result |= 0x01;
	if (time < ymf278LoadTime) result |= 0x02;
	return result;
}

However:

			if ((3 <= opl4latch) && (opl4latch <= 6)) {
				// This time is so small that on a MSX you can
				// never see BUSY=1. So I also couldn't test
				// whether this timing applies to registers 3-6
				// (like for write) or only to register 6. I
				// also couldn't test how the other registers
				// behave.
				// TODO Should we comment out this code? It
				// doesn't have any measurable effect on MSX.
				ymf278BusyTime = time + MEM_READ_DELAY;
			}

Also:

// Required delay between register select and register read/write.
constexpr auto FM_REG_SELECT_DELAY = MasterClock::duration(56);
// Required delay after register write.
constexpr auto FM_REG_WRITE_DELAY  = MasterClock::duration(56);
// Datasheet doesn't mention any delay for reads from the FM registers. In fact
// it says reads from FM registers are not possible while tests on a real
// YMF278 show they do work (value of the NEW2 bit doesn't matter).

// Required delay between register select and register read/write.
constexpr auto WAVE_REG_SELECT_DELAY = MasterClock::duration(88);
// Required delay after register write.
constexpr auto WAVE_REG_WRITE_DELAY  = MasterClock::duration(88);
// Datasheet doesn't mention any delay for register reads (except for reads
// from register 6, see below). I also couldn't measure any delay on a real
// YMF278.

// Required delay after memory read.
constexpr auto MEM_READ_DELAY  = MasterClock::duration(38);
// Required delay after memory write (instead of register write delay).
constexpr auto MEM_WRITE_DELAY = MasterClock::duration(28);

// Required delay after instrument load.
// We pick 10000 cycles, this is approximately 300us (the number given in the
// datasheet). The exact number of cycles is unknown. But I did some (very
// rough) tests on real HW, and this number is not too bad (slightly too high
// but within 2%-4% of real value, needs more detailed tests).
constexpr auto LOAD_DELAY = MasterClock::duration(10000);

So, looks like openMSX is fully aware, at least.

By knm1983

Hero (566)

knm1983's picture

23-04-2020, 22:45

Hello SjaaQ, when music loading the border color is red in both modes Z80 and R800 Dram.
In Z80 when already finished a gray flash apear in border, in R800 It is too fast but it seems that it is also gray color
In R800 Dram mode music sound it still fails, in Z80 work ok Smile

By Grauw

Ascended (10564)

Grauw's picture

24-04-2020, 02:05

Manuel wrote:

So, looks like openMSX is fully aware, at least.

To be more specific, openMSX updates the status register BUSY and LD flags, however there is no emulation of the register corruption issues when you access it too quickly.

By knm1983

Hero (566)

knm1983's picture

24-04-2020, 11:50

Hello again SjaaQ.
I have uploaded two new MP3s in the drive directory with the SPACEDEB music, it seems that some note of the music sounds strange in position 4 to 7 of channel 4.

I have recorded the MP3s only with channel 4 so you can appreciate the difference in note.

I am not referring to the difference in effect of the instrument between the two versions, I am referring to the different note that sounds like out of tune.

https://drive.google.com/open?id=1ldir1Hog4R-pJcKfNFBHgOCAvI...

By SjaaQ

Champion (266)

SjaaQ's picture

24-04-2020, 13:26

knm1983 wrote:

Hello SjaaQ, when music loading the border color is red in both modes Z80 and R800 Dram.
In Z80 when already finished a gray flash apear in border, in R800 It is too fast but it seems that it is also gray color
In R800 Dram mode music sound it still fails, in Z80 work ok Smile

I only need to know the color when it freezes.

By SjaaQ

Champion (266)

SjaaQ's picture

24-04-2020, 13:44

Manuel wrote:

... long story...

When testing I never saw any flag raised. In blueMSX, I saw this flag raised like expected.

To make a long story short, Turbo-R users should disable R800 mode until I get the chance to test on real hardware.Which is probably never going to happen. There is no way for me to troubleshoot the issue at this point.

By knm1983

Hero (566)

knm1983's picture

24-04-2020, 14:09

Well, after loading 59 Mod musics at number 60 the screen freezes.
The border color is red and then after the reset I have loaded the same music again working perfectly.
Now I am following the load of the playlist.

Page 9/12
2 | 3 | 4 | 5 | 6 | 7 | 8 | | 10 | 11 | 12