Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Aug 10, 2016 9:15:02 GMT -5
It comes from an initialization state issue, i need to check that it does not occurs on real hardware. The weird think is that even on Fusion it does not always happen ? I think i can easily fix it sending a initial stop play command in the xgm_init method but still i need to check that.
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Aug 8, 2016 13:57:30 GMT -5
I tested with Fusion and it work (sometime i need to press START to make music playing though). Do you use the last version of BEX ? No error during compilation ?
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Aug 6, 2016 14:40:49 GMT -5
Looking forward the implementation in SBS :-) To be honest the XGM player I made use a not really straightforward method (basically parsing the XGM file and emulating YM/PSG) to get the live YM and PSG status but at least you can do a simple player displaying elapsed time now very easily ;-) There is also the possibility to read out current channel level directly from the YM chip (method is explained on Spritesmind) but that would only on real hardware.
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Aug 6, 2016 10:04:19 GMT -5
Yeah, one of the biggest difference is that you need now to use the vint event so it handles music timing. In fact you can do it in your main loop, after the blank wait but that means that if your game doesn't run at 60 FPS then your music will slowdown. It's why it's better to handle it through the vint event ;-) I can change the vint label so people can directly take the code for second basic :-)
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Aug 5, 2016 18:04:20 GMT -5
I've updated the XGM driver wrapper to the last version of the XGM driver (which has not be yet released in official SGDK ^^). It mainly add a new setTempo(..) method (by default aligned on system speed) so you don't need anymore to have NTSC and PAL version of track. Also you have a getElapsedTime() method to know elapsed played time (useful mainly for player). Others changes are more related to internal implementation (now it uses the 68000 vint event to sync music and no more Z80 vint which was causing troubles on some clone systems). I've updated the first post to relate the changes. Please report any problems ! Have fun
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Jul 26, 2016 4:02:20 GMT -5
Hey,
Sorry i fixed the link for the BEX wrapper. To be honest i don't know why the URL changed, something weird with Dropbox (maybe because i had to reinstall it on my computer). I will indeed update the wrapper for BEX so it will support the last version of the XGM driver, i can't give any date yet as there is some work needed for that but i will let you know here of course =)
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Apr 28, 2016 3:49:04 GMT -5
Hey, Stef. My buddy Leander has reached me about a bug he has found in your PCM player, in the function ... Otherwise there's problems - depending on where the function finally falls in the compiled binary, you get a continuous background noise as the pointer is not pointing where it should. Thanks for pointing it ! I fixed it in the test.bex wrapper I don't know what BEX is doing when dealing with 6 buttons joypad, maybe it's retaining the Z80 for too much time, something that can affect the PCM playback quality. Otherwise, about the 4 samples limit, well XGM driver allow you to play up to 4 samples *at same time* but of course you can have many different samples in ROM
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Aug 28, 2015 18:57:45 GMT -5
Question, is possible to use different rates? other than 14khz for PCM 14khz is too much for some samples, and is just a waste of rom Thanks! Unfortunately no, that s a limitation of the XGM driver. Samples must be at 14Khz; i know it eats more rom space but i really wanted nice PM quality (8Khz is not enough for some instrument)
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Jul 3, 2015 17:39:43 GMT -5
Hi Vetea, I know it comes late but i just updated my XGM driver if you want to have a try If you are happy with the current version you use maybe you should not bother but the last version should improve PCM playback on real hardware when you have many sprite transfer occurring during VBlank.
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Jul 3, 2015 17:35:09 GMT -5
I just updated my driver and the wrapper for Basic, just check the dropbox folder in the first post Actually the problem was in the wrapper but i made some changes to improve a bit the wrapper (some methods now use parameters when possible). Also i updated the XGM driver to its last version, this one should improve the 68000 BUS contention issue so PCM playback quality should be preserved even during heavy DMA (as soon you keep them inside VBlank period only).
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on May 1, 2015 10:18:57 GMT -5
From my tests, you can actually write in 68000 RAM from Z80 but definitely read operation does not work (and that is a pity, it would have been really helpful !).
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Apr 4, 2015 16:51:10 GMT -5
I modified the test.bex code so now it correctly waits for Z80 bus acknowledgment, just to be safe whatever is the hardware used
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Apr 2, 2015 3:03:51 GMT -5
I'm just discovering these messages. Is there something wrong in the load driver method ? I have to admit that i wrote all the code here specifically for BEX as SGDK use C code for that part, so it might have some bugs left. I tested on real hardware before sending code of course, but it can behaves differently depending the hardware revision and in my case i only tested on a japanese MD1.
Now i'm thinking about it, the big difference with C code is that i indeed do wait for busack before accessing Z80 memory, something i don't do here. I read somewhere the Z80 busreq is generally very fast but it seems it can be slower than expected and so it's better to test for the bus acknowledgment. I should modify the code for that.
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Mar 25, 2015 5:19:35 GMT -5
Glad to hear that Currently the new xgmtool is available directly in the github repository, not yet in the SGDK zip archive.
|
|
Stef
Moldy Popcorn
Posts: 34
|
Post by Stef on Mar 24, 2015 16:33:24 GMT -5
|
|