Enable MSU streaming music for Alttp
Page 11 of 21
Page 11 of 21 • 1 ... 7 ... 10, 11, 12 ... 16 ... 21
Re: Enable MSU streaming music for Alttp
Mh, ghosting patch... It works great with bsnes .65 and 68. But not 75. I think its an input problem like you press start button too long when confirming the slot. Will check this on Monday
Conn- Since : 2013-06-30
Re: Enable MSU streaming music for Alttp
Eh, doesn't matter to me any more - emuandco was right! I changed the SD card to a faster one, and all my woes disappeared. I am SUPER-STOKED about this now. I can't even begin to explain it. I just started laughing uncontrollably when I watched the intro video on my SD2SNES.
TheRetromancer- Since : 2014-10-18
Re: Enable MSU streaming music for Alttp
Ohem, all saveslots? Need to fix the bsnes .75 though
Conn- Since : 2013-06-30
Re: Enable MSU streaming music for Alttp
I have noticed a slightly buggy behaviour - in order for the game to play the video, I have to create the save file, name it, and then reset the game, and start that save file again. In simpler terms, it does not play in the same game instance that it was created.
And yes, it works on all saveslots.
And yes, it works on all saveslots.
TheRetromancer- Since : 2014-10-18
Re: Enable MSU streaming music for Alttp
Ok I check this all when I'm back on my computer.
So the only reason why it didn't work first was your slow sd?
So the only reason why it didn't work first was your slow sd?
Conn- Since : 2013-06-30
Re: Enable MSU streaming music for Alttp
What worked? The starting new slot without needing to reset? Strange
Conn- Since : 2013-06-30
Re: Enable MSU streaming music for Alttp
A further update: I have since found that seemingly the only way to 'bypass' the video is to select a blank spot, enter a name, and immediately thereafter, select it without moving the cursor up or down. Even moving the cursor away and then back will cause it to play when that file is selected. I will, of course, test this further.
*wryly* Seems to be something of a thing with me - I find strange bugs that nobody else can reproduce.
Even using the new SD2SNES firmware reset codes 'enables' the playback.
It's a minor problem anyway, and likely to be more to do with some strange errata of my system (I've modded/repaired/augmented the thing to kingdom come and back), so I wouldn't worry about it overmuch.
*wryly* Seems to be something of a thing with me - I find strange bugs that nobody else can reproduce.
Even using the new SD2SNES firmware reset codes 'enables' the playback.
It's a minor problem anyway, and likely to be more to do with some strange errata of my system (I've modded/repaired/augmented the thing to kingdom come and back), so I wouldn't worry about it overmuch.
Last edited by TheRetromancer on Sat 25 Oct 2014 - 18:15; edited 1 time in total
TheRetromancer- Since : 2014-10-18
Re: Enable MSU streaming music for Alttp
Yes, several times. Main save was Nr 1 and I started a new on Nr 2. I was able to simply retest it that way by just switching off the SNES. MSU ROMs can only be saved if you hop back to the sd2snes menu.
Re: Enable MSU streaming music for Alttp
Okay, I have updated my Opening Intro archive - the video fills more of the screen and isn't quite so squashed as it was before. There's still a pretty hefty border which I would love to get rid of, but somehow am unable...but it's still an improvement. The audio has been slightly modified to sync with the lip movements more accurately as well.
TheRetromancer- Since : 2014-10-18
Re: Enable MSU streaming music for Alttp
OK, seems like the video can be 240x160@15fps, or 224x144@20fps. We chose the smaller one ^^ Did you change it in the new one?
It seems like the whole video is synched by video signal. So 15/20 fps might cause your lips problem...
NTSC non-interlace = 21477272/(1364*262-4) = 60.0991482hz
NTSC interlace = 21477272/(1364*525)*2 = 59.9840022 / 2 = 29.9920011hz
PAL non-interlace = 21281370/(1364*312) = 50.0069789hz
PAL interlace = 21281370/(1364*625)*2 = 49.9269677 / 2 = 24.9634839hz
NTSC standard video = 60 / 1.001 = 59.9400599 / 2 = 29.97003
PAL standard video = 50hz / 2 = 25hz
It seems like the whole video is synched by video signal. So 15/20 fps might cause your lips problem...
NTSC non-interlace = 21477272/(1364*262-4) = 60.0991482hz
NTSC interlace = 21477272/(1364*525)*2 = 59.9840022 / 2 = 29.9920011hz
PAL non-interlace = 21281370/(1364*312) = 50.0069789hz
PAL interlace = 21281370/(1364*625)*2 = 49.9269677 / 2 = 24.9634839hz
NTSC standard video = 60 / 1.001 = 59.9400599 / 2 = 29.97003
PAL standard video = 50hz / 2 = 25hz
Re: Enable MSU streaming music for Alttp
224x144 @29.97fps actually 224x144 is the only resolution my player can handle. It's also quite crude as it was only meant as a proof of concept. e.g. it will not adapt to 50/60Hz automatically. At 50Hz it will just play slower with the audio running away. Maybe with a different storage scheme bigger video frames would be possible at the expense of some image quality (think Super Road Blaster).
Anyway that clip is the perfect introduction to the story and fits so beautifully before the playable part. Running this on the SNES made me tear up a little :')
Anyway that clip is the perfect introduction to the story and fits so beautifully before the playable part. Running this on the SNES made me tear up a little :')
ikari_01- Hardhat Beetle
- Since : 2014-10-20
Re: Enable MSU streaming music for Alttp
Haha, I'm actually a little embarrassed by such kind words from you, ikari_01. I'm actually gearing up to record an actual demo video of this right now. My ultimate goal is to get people interested in the MSU-1 and expanding the number of people who want to revitalize old games with its capability.
TheRetromancer- Since : 2014-10-18
Re: Enable MSU streaming music for Alttp
Small correction from my side...
240x160 is PAL
224x144 is NTSC
Nice to see that I am not alone with that dream :-D
240x160 is PAL
224x144 is NTSC
Nice to see that I am not alone with that dream :-D
Re: Enable MSU streaming music for Alttp
Demo video uploaded. Apologies for the quiet audio - I got rid of my studio microphones last year (I wasn't recording like I used to), so I had to use the crappy built-in-mic on my digital camera.
https://www.youtube.com/watch?v=F5QJyn5dpjg&list=UUaQ2hYPDOC89H1kuIeEd24w
https://www.youtube.com/watch?v=F5QJyn5dpjg&list=UUaQ2hYPDOC89H1kuIeEd24w
TheRetromancer- Since : 2014-10-18
Re: Enable MSU streaming music for Alttp
Yeah, I suggested that something with the joypad input might be wrong. That's the first thing I'll look into since rh is more accurate
To explain it further I think bsnes until v.68 has the zsnes system which autmatcally resets the joypad register when on autofire. Somehow rh and probably bsnes .75 take the button press from name entry with it to the video, stopping it before it even began.
Easy to fix, expect a new patch tomorrow.
Thanks for your player ikari. Was an odysee to port it but probably worth the effort.
To explain it further I think bsnes until v.68 has the zsnes system which autmatcally resets the joypad register when on autofire. Somehow rh and probably bsnes .75 take the button press from name entry with it to the video, stopping it before it even began.
Easy to fix, expect a new patch tomorrow.
Thanks for your player ikari. Was an odysee to port it but probably worth the effort.
Conn- Since : 2013-06-30
Re: Enable MSU streaming music for Alttp
These aren't hard limits. MSU1 does not specify a video format, it simply transfers data from mass storage to SNES. The format I happened to define for my example video player always uses 224x144. d4s's format for Super Road Blaster is 256x192 or something. The only real limits are VRAM and DMA bandwidth during blanking - the smaller the video (vertically) the more scanlines you can use for transferring data. It's up to the creativity and effort of the programmer what size and quality are possible.emuandco wrote:Small correction from my side...
240x160 is PAL
224x144 is NTSC
ikari_01- Hardhat Beetle
- Since : 2014-10-20
Re: Enable MSU streaming music for Alttp
Can somebody make a bug list? I was a bit confused with all the post. Please with clear description
Conn- Since : 2013-06-30
Re: Enable MSU streaming music for Alttp
I think that the 'skipping video' on New Game bug is the only one I know of, as the black flicker on audio playback is really more of an optimization thing - improve it if you can, of course, but it's a more than acceptable tradeoff as it stands for the audio.
If it really is caused by input (holding a button press too long when starting a new game), a simple input-disable delay for the first, oh, I don't know, five seconds or so of playback should fix it.
Aren't we limited by the output of the SNES itself? To my understanding, the best video quality the console can output is 240p through RGB (which any self-respecting retro enthusiast will use).
If it really is caused by input (holding a button press too long when starting a new game), a simple input-disable delay for the first, oh, I don't know, five seconds or so of playback should fix it.
ikari_01 wrote:These aren't hard limits. MSU1 does not specify a video format, it simply transfers data from mass storage to SNES. The format I happened to define for my example video player always uses 224x144. d4s's format for Super Road Blaster is 256x192 or something. The only real limits are VRAM and DMA bandwidth during blanking - the smaller the video (vertically) the more scanlines you can use for transferring data. It's up to the creativity and effort of the programmer what size and quality are possible.emuandco wrote:Small correction from my side...
240x160 is PAL
224x144 is NTSC
Aren't we limited by the output of the SNES itself? To my understanding, the best video quality the console can output is 240p through RGB (which any self-respecting retro enthusiast will use).
TheRetromancer- Since : 2014-10-18
Re: Enable MSU streaming music for Alttp
SNES can do more ^^
224 (NTSC) / 239 (PAL) lines in Progressive-Mode, 448 / 478 Zeilen in Interlaced-Mode. 256 Pixel per Line in Default-Mode, 512 in „High-Res“ Mode.
224 (NTSC) / 239 (PAL) lines in Progressive-Mode, 448 / 478 Zeilen in Interlaced-Mode. 256 Pixel per Line in Default-Mode, 512 in „High-Res“ Mode.
Re: Enable MSU streaming music for Alttp
But 512 so-called "High-Res" is interlaced...and that comes with its own set of problems.
* Interessiert * 'Zeilen'? Sind Sie Deutsche, dann? Ich spreche deutsch passabel; sehr cool!
* Interessiert * 'Zeilen'? Sind Sie Deutsche, dann? Ich spreche deutsch passabel; sehr cool!
TheRetromancer- Since : 2014-10-18
Re: Enable MSU streaming music for Alttp
Ich komme übrigens auch aus Deutschland
512 hires mode comes in interlaced and non-interlaced flavors. sd2snes uses 512x224 for the menu.
In other news I have a flicker free MSU Zelda Going to post the changes shortly.
512 hires mode comes in interlaced and non-interlaced flavors. sd2snes uses 512x224 for the menu.
In other news I have a flicker free MSU Zelda Going to post the changes shortly.
ikari_01- Hardhat Beetle
- Since : 2014-10-20
Re: Enable MSU streaming music for Alttp
OK, here goes.
First, this is my interpretation of memory locations, I hope I got them (about) right:
I introduce a new flag at $013F that indicates a pending audio track request to the MSU1. This location looked free to me but it might have to be relocated.
In the existing MSU routine I made the following changes:
I created a new subroutine at $22/E8C0 (hopefully doesn't collide with existing hacks, can easily be relocated otherwise) that handles the busy flag and PLAY commands:
This routine is supposed to get called alongside the MSU routine every NMI. It checks the busy flag every frame but doesn't loop until it is cleared. That way there is very little impact on CPU time. $E880 and $E970 are existing subroutines.
Finally the stub that calls the MSU subroutines in the NMI service routine needs to be modified to call the new code:
And that's it. These patches were made based on msu1_sd2snesfix_try10.ips so I hope not too much has moved around since then Anyway it should be easy to adapt. Also I hope it doesn't break anything!
First, this is my interpretation of memory locations, I hope I got them (about) right:
- Code:
$0129: currently playing MSU track (used for track change detection)
$012C: track request from zelda sound engine hooks
$0130: backup of currently playing MSU track (apparently never read)
$0133: track no. passed through to SPC ($F1 = mute - when MSU1 used)
I introduce a new flag at $013F that indicates a pending audio track request to the MSU1. This location looked free to me but it might have to be relocated.
In the existing MSU routine I made the following changes:
- Code:
$22/E910 ISR MSU playback handler / SPC bypass
==============================================
<<<<<<<<<<<<<< EXISTING CODE
$22/E9BB AD 33 01 LDA $0133
$22/E9BE D0 03 BNE $03
$22/E9C0 AD 2C 01 LDA $012C
$22/E9C3 8D 04 20 STA $2004
$22/E9C6 8D 29 01 STA $0129
$22/E9C9 9C 05 20 STZ $2005
$22/E9CC 9C 2C 01 STZ $012C
>>>>>>>>>>>>>> FROM HERE ON, OVERWRITE EXISTING CODE WITH THE FOLLOWING:
>$22/E9CF A9 01 LDA #$01
>$22/E9D1 8D 3F 01 STA $013F ; use $013F as "MSU1 busy pending" flag
>$22/E9D4 AD 00 20 LDA $2000
>$22/E9D7 80 04 BRA $04 [$E9DD]
>$22/E9D9 EA NOP
>$22/E9DA EA NOP
>$22/E9DB EA NOP
>$22/E9DC EA NOP
<<<<<<<<<<<<<< RESUME EXISTING CODE
$22/E9DD F0 01 BEQ $01
$22/E9E0 A9 F1 LDA #$F1
$22/E9E2 8D 40 21 STA $2140
$22/E9E5 8D 33 01 STA $0133
$22/E9E8 60 RTS
I created a new subroutine at $22/E8C0 (hopefully doesn't collide with existing hacks, can easily be relocated otherwise) that handles the busy flag and PLAY commands:
- Code:
$22/E8C0 ISR async busy wait
============================
LDA $013F ; did we just request a track?
BEQ end ; if not, do nothing
BIT $2000 ; MSU1 busy?
BVS end ; then check again next frame
STZ $013F ; clear pending flag
LDA $0130
JSR $E880 ; "calculate" loop flag
STA $2007 ; play
JSR $E970 ; handle MSU error (SPC fallback)
end:
RTS
This routine is supposed to get called alongside the MSU routine every NMI. It checks the busy flag every frame but doesn't loop until it is cleared. That way there is very little impact on CPU time. $E880 and $E970 are existing subroutines.
Finally the stub that calls the MSU subroutines in the NMI service routine needs to be modified to call the new code:
- Code:
$22/E900 ISR extension stub
===========================
LDA $4210
JSR $E910
JSR $E8C0 ; NEW
LDA $012C
RTL
And that's it. These patches were made based on msu1_sd2snesfix_try10.ips so I hope not too much has moved around since then Anyway it should be easy to adapt. Also I hope it doesn't break anything!
Last edited by ikari_01 on Sun 26 Oct 2014 - 13:16; edited 3 times in total
ikari_01- Hardhat Beetle
- Since : 2014-10-20
Re: Enable MSU streaming music for Alttp
Nice work. Now lets see when Conn is back. Btw, TheRetromancer, I sent him the DKC2 MSU-1 tryout made by SeruKun aka LuigiBlood via PM.
Page 11 of 21 • 1 ... 7 ... 10, 11, 12 ... 16 ... 21
Similar topics
» Super Mario Kart
» Street Fighter 2 MSU1
» Changing sound and music samples in ALTTP
» NEW Custom ALttP Music + Letterbomb's Z3 Romhacks Update!!
» Request: Mesen Zelda 2 music hack (music)
» Street Fighter 2 MSU1
» Changing sound and music samples in ALTTP
» NEW Custom ALttP Music + Letterbomb's Z3 Romhacks Update!!
» Request: Mesen Zelda 2 music hack (music)
Page 11 of 21
Permissions in this forum:
You cannot reply to topics in this forum