Menu

#39 XMPlay STIMER trigger interval issue

N-A
pending
XMPlay (2)
5
2025-02-26
2024-10-26
No

XMPlay 6.0.3 plugin seems to ignore STIMER/$d209 updates faster than 50Hz. I've attached sap and xex file of test tune, which uses my custom driver and updates registers twice per VBL. Executable version plays correct but in SAP all registers seems to be updated at 100Hz with exception of STIMER.

2 Attachments

Discussion

  • Kamil Wolnikowski

    I've attached wrong SAP. Here's correct one, I do apologize ;)

     
  • Piotr Fusik

    Piotr Fusik - 2025-01-25
    • status: open --> accepted
    • assigned_to: Piotr Fusik
     
  • Piotr Fusik

    Piotr Fusik - 2025-01-25

    Is the issue unique to XMPlay or does it apply to all ASAP ports? (you can check https://asap.sourceforge.net/web.html in your browser)

    What makes you think that STIMER gets updated at a lower rate? I see no code that limits it. Also, are you aware that the value written to STIMER gets discarded?

    My best guess is that you rely on STIMER resetting the state of channel outputs and that is not yet emulated by ASAP.

     
  • Kamil Wolnikowski

    Yes, I know that STIMER does onetime trigger whenever I STA any value to this register. Which is actually a great advantage over similar reset procedures on other chips where I explicitly have to ON/OFF corresponding registers to reset oscillators. I know exactly what's the rate as I perform modulation, relying on aforementioned STIMER trigger and its frequency is strictly linked to how many times per VBL this register is triggered. This is how modulation should sound:

    https://youtu.be/IvV_9bvjYK8?t=28 demo which uses my tune, captured from Altirra where you can hear modulation/STIMER trigger happens twice as fast, compared to ASAP plugin (as song is updated twice per VBL). On real hardware it behaves identical and plays correct.

    If it makes the case any more clear, ZX Tune player for Android devices behaves identical and STIMER doesn't seem to be updated faster than 50hz.

     
  • Piotr Fusik

    Piotr Fusik - 2025-02-26
    • status: accepted --> pending
    • Group: 3.0.0_BETA --> N-A
     
  • Piotr Fusik

    Piotr Fusik - 2025-02-26

    I improved STIMER emulation. Please check in https://asap.sourceforge.net/web.html

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.