PT3 + AYFX player

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

By JohnHassink

Ambassador (5605)

JohnHassink's picture

11-06-2008, 14:51

You're right ARTRAG, but I'd like to add that you should never use NLMSX to test sound:

* Fm-Pac emulation is highly inaccurate
* It %#&$ up MML
* It %#&$ up OPL4
* It %#&$ up base frequencies of PSG

By jltursan

Prophet (2619)

jltursan's picture

11-06-2008, 16:40

* Fm-Pac emulation is highly inaccurate
* It %#&$ up MML
* It %#&$ up OPL4
* It %#&$ up base frequencies of PSG

Well, at least SCC seems that it's not %#&$ up Big smile

Agreed with ARTRAG, the best practice is testing with several emus and always ending with a real machine.

This one keeps to my mind a nasty bug that was bothering me until the end. None of the emulators show the same behaviour and run fine the game; but running over MSX1 machines, a weird sprite flickering and corruption ruined it. Once I finally found the bug, it turned out being a illegal VDP register (VDP#9 IIRC) writing on MSX1 machines (only legal on MSX2). Seems pretty innocent; but it totally scrambles the display on real MSX1 machines Crazy

By dvik

Prophet (2200)

dvik's picture

11-06-2008, 18:32

Yeah its pretty much required to test on real msx if you want to be sure your program works as intended. I had a nice bug last week, where my game polls the VBLANK status bit for synchronization because I wanted to run the game with interrupts disabled. On emus this worked great (tested on 10 or so emus Wink but on real MSX there is an unfortunate race condition so that if you read SR at the same time the flags are chnaged, the flags are cleared, but not returned to you when you read the register.

I knew by experience that this was a problem with the sprite collision and 5th sprite flags, but it appears to be the same on the vblank flag as well.

By jltursan

Prophet (2619)

jltursan's picture

11-06-2008, 18:55

on real MSX there is an unfortunate race condition so that if you read SR at the same time the flags are chnaged, the flags are cleared, but not returned to you when you read the register

Tongue Can I ask you what was the solution (if any was found)?, seems a tricky problem...

By dvik

Prophet (2200)

dvik's picture

11-06-2008, 19:41

Unfortunately there isn't much todo. What we did was to change our original code:

halt:
        in      a,(VDP_READ_STATUS)
        and     0x80
        jp      z,halt

to

halt:
        ld      a,48
halt_loop:
        dec     a
        jp      nz,halt_loop
        in      a,(VDP_READ_STATUS)
        and     0x80
        jp      z,halt

i.e. adding about 3 scanlines worth of delay between each status register read. This reduces the chance for the flag to be read and cleared improperly but it doesn't take the problem away. I think the only real solution is to drop this idea and use interrupts instead.

By ARTRAG

Enlighted (6846)

ARTRAG's picture

11-07-2008, 19:30

Is Vortex Tracker II dead ?!
The site of the developer has put offline the files!!
http://bulba.at.kz/vortex_e.htm

Where can the program be found?
:-?

By jltursan

Prophet (2619)

jltursan's picture

11-07-2008, 19:35

Try again, the site & files work for me...

By geijoenr

Champion (314)

geijoenr's picture

15-05-2020, 11:12

Hi,
has anybody had any success with this combination of music and sfx player?

I am observing the sfx get distorted depending on the effect itself and/or the music being played. I am not sure if this is a limitation or a bug.

By Manel46

Hero (647)

Manel46's picture

18-05-2020, 18:02

By ericb59

Paragon (1079)

ericb59's picture

18-05-2020, 19:17

Hello,

For the upcoming Fusion-C v1.3 I integrated The AYFX player ( you talked about : https://github.com/theNestruo/msx-msxlib/tree/master/libext)
with the PT3 player ASM Routine.

Both works well together.
But I noticed a problem, when there is no PT3 music playing, and I play FX sounds, some of them do not cut at their end. So there is a awful sound continuously playing. This does not happen on all FX sounds. I tried to find an answer, but without success.

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