Jump to content
IGNORED

Web Pokey


mrk

Recommended Posts

23 minutes ago, ivop said:

Perhaps it hasn't been clear yet, but the main problem with RMT is its inherent timing, which is... ehm... wrong, and cannot be fixed without the RMT source code. Even if phaeron were to create a Pokey library for RMT based on Altirra, it would be all over the place, timing wise. So, a waste of time. We have to make do with apokeysnd during composition, even though its resampling is fixed and does not vary between NTSC and PAL.

hmm, still not clear ?... you're saying apokeysnd is the only DLL that can ever work with RMT ? not sure why another DLL couldn't cope with RMT's peculiarities...

 

maybe it's time to write a tracker in javascript then ?, something like https://www.stef.be/bassoontracker/

  • Like 3
Link to comment
Share on other sites

14 hours ago, rensoup said:

hmm, still not clear ?... you're saying apokeysnd is the only DLL that can ever work with RMT ? not sure why another DLL couldn't cope with RMT's peculiarities...

No DLL will ever work correctly, because RMT is faulty in its timing. I mean that apokeysnd is the best we have, and it's pointless to create a new DLL that is maybe 1% better than apokeysnd, but in combination with RMT it will still be wrong.

 

14 hours ago, rensoup said:

maybe it's time to write a tracker in javascript then ?, something like https://www.stef.be/bassoontracker/

Nice! :)

Link to comment
Share on other sites

On 9/19/2021 at 11:24 PM, VinsCool said:

Hmm something with the Poly5 (Distortion 2) emulation is off, things sound weird with it ?

After few hours of debugging it seems I've found bug ............ in RMT2LZSS converter :) cc: @rensoup
I'm attaching comparison of sap files created by RMT2LZSS and Altirra - as you see the only differences are Poly5 tunes on channel 3 (AUDF values are different):

rmt2lzss_vs_altirra.thumb.png.3e041245552345cb2629d12cbd68faea.png

@VinsCool please check out this altirra-dumped version: https://mrk.sed.pl/web-pokey/examples/sap-player/#https://atariage.com/forums/applications/core/interface/file/attachment.php?id=876522

 

Xenon_Final_altirra.sap

Edited by mrk
  • Like 3
Link to comment
Share on other sites

1 hour ago, mrk said:

After few hours of debugging it seems I've found bug ............ in RMT2LZSS converter :) cc: @rensoup

Out of curiosity, how were things converted for this example?

From what I could see, the values shown in the screenshot were intended for Distortion A, which makes me believe the conversion was done without the use custom tuning tables, since this tune was specifically designed around that :P 

For reference, this is my binary from RMT2LZSS and the .rmt project, that .rmt will only play correctly in the tracker using my patched version, however.

Xenon Final.rmt Xenon Final.xex

Edited by VinsCool
typo
  • Like 1
Link to comment
Share on other sites

1 hour ago, mrk said:

After few hours of debugging it seems I've found bug ............ in RMT2LZSS converter :) cc: @rensoup

Impossible ?

 

9 minutes ago, VinsCool said:

Out of curiosity, how were things converted for this example?

Bingo ?

 

I got worried for a bit! I tried outputting the xex from RMT 1.28 and got the SAPR from Altirra and it matched my output...

 

I only saved the beginning as SAPR but as you can see, it matches perfectly ?

xenonlocal.sap XENON.xex

  • Thanks 1
Link to comment
Share on other sites

1 minute ago, rensoup said:

Impossible ?

 

Bingo ?

 

I got worried for a bit! I tried outputting the xex from RMT 1.28 and got the SAPR from Altirra and it matched my output...

 

I only saved the beginning as SAPR but as you can see, it matches perfectly ?

xenonlocal.sap 2.4 kB · 1 download XENON.xex 5.6 kB · 1 download

Haha yep, that xex is indeed super mega off

Link to comment
Share on other sites

35 minutes ago, VinsCool said:

Haha yep, that xex is indeed super mega off

oh damn... I forgot... does it require custom instruments ? that means I uploaded the wrong SAPR initially ?

 

That's right... I forgot to change the RMT version in the options when converting it initially... it should have been "1.28 custom tables"

 

This is what it should have been like (right @VinsCool ? )

 

https://mrk.sed.pl/web-pokey/examples/sap-player/#https://atariage.com/forums/applications/core/interface/file/attachment.php?id=876535

 

(I suppose there's still something wrong with that poly5 timbre in the web pokey)

 

Xenon Final.sapr Xenon Final.obx

Edited by rensoup
  • Like 1
Link to comment
Share on other sites

On 9/18/2021 at 12:29 PM, ascrnet said:

Great job thanks for sharing it, some time ago i wanted to make a music player for my wiki. i did it, but i didn't like very much the mp3 result. i tried to test your web pokey using the following form, but without results. ?

 

You can do that with ASAP (though no type R support), I have it working on my website (example here https://atari8bit.net/db/?g=Games&d=d&f=180) I haven't implemented playing of subsongs (yet) but it's doable. See here http://asap.sourceforge.net/web.html

 

Not wanting to derail this thread so no more on this but I hope it helps.

 

 

 

  • Like 1
Link to comment
Share on other sites

15 hours ago, VinsCool said:

Yup, that's more like it, the emulation of Poly5 tones is odd regardless of the frequencies used in the conversions :)

I've fixed one poly-5 related bug, any difference now? Additionally on the bottom of player page there is sample rate selector, it would be also great to test different settings (different downsampling rate / low pass filter parameters are used for each sampleRate and it also affects resulting sound) 

https://mrk.sed.pl/web-pokey/examples/sap-player/#https://atariage.com/forums/applications/core/interface/file/attachment.php?id=876535 

Edited by mrk
typo
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

1 hour ago, mrk said:

I've fixed one poly-5 related bug, any difference now? Additionally on the bottom of player page there is sample rate selector, it would be also great to test different settings (different downsampling rate / low pass filter parameters are used for each sampleRate and it also affects resulting sound) 

https://mrk.sed.pl/web-pokey/examples/sap-player/#https://atariage.com/forums/applications/core/interface/file/attachment.php?id=876535 

Sounds a lot better now! Much closer to what I expect from the Poly5 timbre :)

Link to comment
Share on other sites

34 minutes ago, VinsCool said:

Sounds a lot better now! Much closer to what I expect from the Poly5 timbre :)

Great! I think it generates now correct output at pokey clock frequency, I need to focus more on postprocessing phase now (output signal needs to be resampled from 1.77Mhz to destination frequency and doing it properly is not trivial task (for example low-pass filter needs to be applied)). But it seems it works quite well now - I've compared Altirra signal shape and my emulator output for few poly-5 tones and they are already very similar :)

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, mrk said:

Great! I think it generates now correct output at pokey clock frequency, I need to focus more on postprocessing phase now (output signal needs to be resampled from 1.77Mhz to destination frequency and doing it properly is not trivial task (for example low-pass filter needs to be applied)). But it seems it works quite well now - I've compared Altirra signal shape and my emulator output for few poly-5 tones and they are already very similar :)

it's super news! and once you're done with filters, there's just two tone mode ?

Link to comment
Share on other sites

5 minutes ago, mrk said:

playable url: POKEY stress test by @emkay :) 

It's only at 48kHz sounding correct. 

But I have to admit that I only know how it sounds on Altirra, which is meanwhile 99% timing correct but has some volume mixing issues. 

The timing seems a little off, as there a some short cancelling points that shouldn't appear.

 

 

 

Link to comment
Share on other sites

Great work! ?

 

SKCTL and STIMER are not supported by SAP-R, though :( We were thinking about creating a new SAP-R2 format (or SAP-Q if we were to stick to a single character), to capture more registers per frame. The existing STEREO and FASTPLAY tags should take care of either two pokeys per frame being captured, and the frame rate (multispeed).

Edited by ivop
  • Like 5
Link to comment
Share on other sites

38 minutes ago, emkay said:

It's only at 48kHz sounding correct. 

Thanks for feedback. So I definitely need to spend more time learning how to properly do downsampling (low-pass filters for other sample rates needs to be fixed probably).
For now I'll change default sampleRate to 48k

Edited by mrk
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...