Sekiban for Satellawave - I am so close but hit a bug.
Zeldix :: Zelda III Hacking :: Requests
Page 1 of 1
Sekiban for Satellawave - I am so close but hit a bug.
I've made a thread for this on the BS Zelda Homepage forum as well, but I figured I'd post this here in case it gets it a bit more attention.
If you're not familiar, Satellawave is LuigiBlood's tool to make emulated Satellaview servers with downloads and customized events - essentially, a key component of of the prospect of reviving the Satellaview as a service.
I've been experimenting with it for some time, mostly to report to LuigiBlood my findings. At some point we discussed PSRAM, and SNES9XPP XE's documentation, and he told me something interesting: XPP XE can read a file for Sekiban as "Fake PSRAM". Said "Fake PSRAM" file, incidentally, is currently generated from Con's patched Sekiban ROMs - that is, everything from the first expansion, where indoor locations were added.
As-is, the Sekiban ROM dumps do not "work" with Satellawave per se, because they need to read data from PSRAM that is absent and long-since unrecoverable. But I thought if I could transfer the "fake PSRAM" idea over from XPP XE to Satellawave I might be able to make something workable.
Wondering if I could use this logic in Satellawave, I took whatever I could fit from the "fake PSRAM" and made it into a file as a Satellawave download (a 512kb file consisting of the area where the indoor maps are), then see what happened when I did the download process as shown in the video.
On my first test, a base Sekiban ROM would show the indoor tiles,- but still crash after leaving the first room. A few tests later, I made this video after applying ast_sfc.ips to the ROM (and then fixing the checksum so I don't get an Error 09.)
I would like to hope I could figure out how to not need ast_sfc.ips in the future (since the eventual end-goal would probably be a "PSRAM" ROM that not only fully works with the base ROMs but, once Satellaview download documentation is improved, can download and boot up the base ROM like the original broadcast), but aw, well, it'll do for now.
There's quite a few things I'd like to do with this at some point, but for the time being I want to figure out what's going on with the bug where pots and chests (and probably other things) are invisible until interacted with.
Any help with this would be appreciated - and apologies if I sound unclear or such.
If you're not familiar, Satellawave is LuigiBlood's tool to make emulated Satellaview servers with downloads and customized events - essentially, a key component of of the prospect of reviving the Satellaview as a service.
I've been experimenting with it for some time, mostly to report to LuigiBlood my findings. At some point we discussed PSRAM, and SNES9XPP XE's documentation, and he told me something interesting: XPP XE can read a file for Sekiban as "Fake PSRAM". Said "Fake PSRAM" file, incidentally, is currently generated from Con's patched Sekiban ROMs - that is, everything from the first expansion, where indoor locations were added.
As-is, the Sekiban ROM dumps do not "work" with Satellawave per se, because they need to read data from PSRAM that is absent and long-since unrecoverable. But I thought if I could transfer the "fake PSRAM" idea over from XPP XE to Satellawave I might be able to make something workable.
Wondering if I could use this logic in Satellawave, I took whatever I could fit from the "fake PSRAM" and made it into a file as a Satellawave download (a 512kb file consisting of the area where the indoor maps are), then see what happened when I did the download process as shown in the video.
On my first test, a base Sekiban ROM would show the indoor tiles,- but still crash after leaving the first room. A few tests later, I made this video after applying ast_sfc.ips to the ROM (and then fixing the checksum so I don't get an Error 09.)
I would like to hope I could figure out how to not need ast_sfc.ips in the future (since the eventual end-goal would probably be a "PSRAM" ROM that not only fully works with the base ROMs but, once Satellaview download documentation is improved, can download and boot up the base ROM like the original broadcast), but aw, well, it'll do for now.
There's quite a few things I'd like to do with this at some point, but for the time being I want to figure out what's going on with the bug where pots and chests (and probably other things) are invisible until interacted with.
Any help with this would be appreciated - and apologies if I sound unclear or such.
KiddoCabbusses- Cucumber
- Since : 2015-08-20
Re: Sekiban for Satellawave - I am so close but hit a bug.
I'm sorry to tell you that I am out hacking this game. It took me 15 years, and my stomach wants to vomit thinking to ever touch this rom again
As for the rom working with the sfx patch, I assume it tries to talk to the apu via audio ports $2140-$2143 and does not get a ready command.
The pots being invisible should depend on your bg layer. I do not know how you managed the indoors appearing but maybe it sheds some light if you load your rom with Euclid's editor:
http://bszelda.zeldalegends.net/sekibanzips/ASTDE%20V0.9a%20bin.rar
It is possible that your indoors layers are drawn above the pots /chests and thus rendering them invisible. I briefly checked and in the prepatched official version pots/chests use the same bg layer. Maybe your indoors are on bg2 and pots on bg1 or so.
Your work looks indeed very promising! I cross my fingers that you succeed!
As for the rom working with the sfx patch, I assume it tries to talk to the apu via audio ports $2140-$2143 and does not get a ready command.
The pots being invisible should depend on your bg layer. I do not know how you managed the indoors appearing but maybe it sheds some light if you load your rom with Euclid's editor:
http://bszelda.zeldalegends.net/sekibanzips/ASTDE%20V0.9a%20bin.rar
It is possible that your indoors layers are drawn above the pots /chests and thus rendering them invisible. I briefly checked and in the prepatched official version pots/chests use the same bg layer. Maybe your indoors are on bg2 and pots on bg1 or so.
Your work looks indeed very promising! I cross my fingers that you succeed!
Conn- Since : 2013-06-30
Re: Sekiban for Satellawave - I am so close but hit a bug.
Conn wrote:The pots being invisible should depend on your bg layer. I do not know how you managed the indoors appearing but maybe it sheds some light if you load your rom with Euclid's editor:
http://bszelda.zeldalegends.net/sekibanzips/ASTDE%20V0.9a%20bin.rar
I don't know if opening the fake PSRAM would work on that but I'll see if that helps (EDIT: Oh, duh, I can just edit the ROM and then make the fake PSRAM from what afterward durhurhurhuruhur). As for how they appear, it's probably a psuedo-miracle of several circumstances, starting with the fact that the PSRAM area could be read like that at all, which even LuigiBlood didn't expect at first. And for the"fake PSRAM" generation to work that well from the onset the indoor locations would had to have been placed precisely where the ROM would have had to look for them in PSRAM to begin with.
I highly suspect it's possible to make a full-on "Fake PSRAM" that could get the game to play "correctly" without any patches at all - it may even be possible to set it up as a downloader application, although recreating the original cutscene would be way too ambitious for me.
EDIT: Alright, checking now. Current things I tried:
1) Changing pots and chests to BG2 - seems to do nothing.
2) Moving floors and whatever else EXCEPT pots and chests into BG2. Test result:
Slightly darker tiles floor tiles to denote that they're a bg layer below..
I guess that lets me know it seems to be reading the BG layers "as intended"...? One thing I do notice, at least, is that the invisible pots and chests, which I left on BG1, seem to show up as a lighter tile when I do this, which... yeah, I'm really confused. There's no other floor data there, no? It's almost like the engine is screwing with me here...
3) Selectively moving the floor below the pots and chests, which I just figured out how to do.
So now it's showing a darkened floor tile there... Just to double check, yeah, BG2 doesn't have anything, that's... supposed to kinda show nothing, no?
BONUS: Here's something that can happen if you screw up the PSRAM. In this example, I forgot I was using a headered ROM for a moment and...
EDIT 3: SOLVED
After several different configuration attempts, I tried setting pots and chests tiles with no floor underneath them on BG1 AND BG2, and FINALLY I got a result looking like what I wanted.
I was so excited about it I just started throwing the pots around.
Of course, now I gotta do this for every, single, indoor area.... oh jeez~
EDIT: Huh, uh oh...
I don't seem to have the tiles for this one. (EDIT: on second thought, if it's a chest that spawns, I might not need the tiles. I'm gonna need to test this. And I might also need to make sure I'm not accidentally forcing chests that are supposed to be invisible to be visible. Hrm...)
EDIT again: I also have become aware that there's probably some areas where I should not put in BG1 because then the lighting quirkiness would happen. Hrm....
MORE EDITING:
Good news: Looks like I figured something out
bad news: I broke something in the process. Gotta fix~
EDIT: Okay, I might have this. A few more tests....
EDIT ONCE MORE: The progress so far.
I have a feeling I should not put a pot tile on BG1 if it's meant for BG2, lol.
There's also some areas I missed, but otherwise, damn, I'm near "this is a releasable thing" territory here.
KiddoCabbusses- Cucumber
- Since : 2015-08-20
Re: Sekiban for Satellawave - I am so close but hit a bug.
Alright, I'm far enough along in this now that I am willing to share a file. This is episode 1's "fake PSRAM" indoors data.
http://bsx.superfamicom.org/wp-content/uploads/rom/Sekiban%20dai1wa%20Fake%20PSRAM%20v1.psram
Load it up on Satellawave with a Sekiban 1 ROM with ast_sfx.ips applied (and checksum fixed) and it should play just like the videos. If I did everything correctly, this should show all the indoor areas properly, but I would like some bugtesting in that regard.
I'm working on the others right now - it seems each successive episode gets more and more complicated in regards to tiles used. In fact, currently I'm having problems trying to locate the tiles I need for certain chests and stairs in episode 3, making me wonder if I should dare try just adding them myself, or if that's unsafe.
http://bsx.superfamicom.org/wp-content/uploads/rom/Sekiban%20dai1wa%20Fake%20PSRAM%20v1.psram
Load it up on Satellawave with a Sekiban 1 ROM with ast_sfx.ips applied (and checksum fixed) and it should play just like the videos. If I did everything correctly, this should show all the indoor areas properly, but I would like some bugtesting in that regard.
I'm working on the others right now - it seems each successive episode gets more and more complicated in regards to tiles used. In fact, currently I'm having problems trying to locate the tiles I need for certain chests and stairs in episode 3, making me wonder if I should dare try just adding them myself, or if that's unsafe.
KiddoCabbusses- Cucumber
- Since : 2015-08-20
Re: Sekiban for Satellawave - I am so close but hit a bug.
Okay, on that question I asked myself, it turned out the answer was no, but not for the reasons I expected;
This shot is taken from kukun kun's archival of the broadcast.
The tiles I thought were "wrong" for this?
Broadcast accurate.
\_(o_O)_/
And the stairs?
Again, the problem wasn't the tile data; it turns out there wasn't originally sand tiles down the BG2 area like how it currently is in the ROM hacks. If I use the BG2 floor tiles from the second floor, like is broadcast-accurate, I have all the tiles I need. So I'm gonna do that.
And now, I've just come to a baffling realization:
The only reason it'd make sense for that chest to be "wrong" on broadcast is if Nintendo/St.GIGA themselves were placing map tiles the same way I was and dealing with the same restrictions. O_O
EDIT: I also hit a bug regarding locked doors that become stairways disappearing when you re-enter the room and I think I know the fix for that but have trouble memorizing where all of them are, so I'm gonna have to sort through this a moment.
This shot is taken from kukun kun's archival of the broadcast.
The tiles I thought were "wrong" for this?
Broadcast accurate.
\_(o_O)_/
And the stairs?
Again, the problem wasn't the tile data; it turns out there wasn't originally sand tiles down the BG2 area like how it currently is in the ROM hacks. If I use the BG2 floor tiles from the second floor, like is broadcast-accurate, I have all the tiles I need. So I'm gonna do that.
And now, I've just come to a baffling realization:
The only reason it'd make sense for that chest to be "wrong" on broadcast is if Nintendo/St.GIGA themselves were placing map tiles the same way I was and dealing with the same restrictions. O_O
EDIT: I also hit a bug regarding locked doors that become stairways disappearing when you re-enter the room and I think I know the fix for that but have trouble memorizing where all of them are, so I'm gonna have to sort through this a moment.
KiddoCabbusses- Cucumber
- Since : 2015-08-20
Re: Sekiban for Satellawave - I am so close but hit a bug.
Alright, I think I'm at the "I could use some help finding further bugs" part now, so let me link a big chunk o' files;
http://bsx.superfamicom.org/wp-content/uploads/rom/ASTPSRAMProject.zip
so, in this batch are the:
1) Sekiban ROMs with both ast_sfx.ips applied and checksum fixed - I hope future versions of this will render this unnecessary but we got it here for a start.
2) the faux-PSRAM that currently has the indoor areas.
3) As a little bonus, some data for setting up a Fortune Teller House Event Plaza in Satellawave, since this was made for this to begin with. (It's positioned a bit lower than it should be, causing a layering bug on the far-bottom-right corner, but it's otherwise pretty neat.)
If you're already experienced with Satellawave, you may already know how to set these up. Otherwise, I'll make a video guide soon, but I'll try to write this down best I can here.
- Open up Satellawave, go to "Directory" and then hit "Create New Folder".
- On the New Folder you created, change "Purpose" to "Download". The other options are kinda configurable to your desires, but I'm going to assume you want to use the custom Event Plaza so you can download from the Fortune Teller House, so set type to "Building" and Building to "Event Plaza".
- Do this for EACH ROM file - click "Create File/Item". This will make a subfolder. Make sure the "File" option is there so you can set your ROM.
For the PSRAM files: Click "Browse." Since they are not named in the .bs format you will have to switch from "Broadcast Satellite SNES files" to "All Files" when searching them. Once it's selected, make sure Auto-start is "No" and Destination is "PSRAM". The other settings should be configurable to your likeing.
For the regular ROM files: Click "Browse" and select the ROM file. For the BS Zelda ROMs, Auto-start is "Yes" and Desination is "Memory Pack (Full)". The other options are configurable to your preference. After each one, click "File -> Save Repository" (set the name of your .xml file the first time this happens) so you don't need to start over.
- Click "File -> Save Repository" so you don't need to start over.
- Now, for the Event Plaza, go back to Directory and click "Create Event Plaza Expansion". Then go to "Expansion - Event Plaza" and click "Event Plaza Editor".
- Click "Import SuperFamiconv / Native Graphics". for "16-bit palette" load fortune.pal. For "8x8 Tile Graphics Data" load fortune.til. For "8x8 Superfamiconv Building Tile Map" load fortune.map. If this is all done correctly the building will appear in the editor.
- At this point you may want to edit the tiles so the building is moved upwards from it's current position, to prevent the layering glitch (optional)
- On editor mode, click "door" and click around to put some red shade on the building; this will mark the areas where the player can interact with the plaza to initiate the download. Technically this is supposed to be the actual door, but you can really put it on the floor underneath or even inside it if you think that's funny enough.
- For more optional polishing, go to "Collision Editor" and use that to define certain tiles of the plaza as being solid or ones you can go underneath.
- click "Export Building" to save the .xml of the event plaza specifically. Then click "Save & Quit" to leave the event plaza editor.
- Click "File - > Save Repository" so you don't need to start over.
- Prepare a new folder in your PC.
- Click "File - Export" and guide it to that folder, then click "Select Folder".
- You will get warnings about the PSRAM files not having headers. Just keep clicking "yes" until you eventally get "Export succeeded".
- You now have a folder of Satellaview file data for loading up the Sekiban ROMs. Your next steps will depend on your emulator, as SNES9X and higan currently have different methods and default directories for loading these. If you are a beginner, I suggest you grab SNES9X, make a "SatData" directory where it is located and move your Satellaview file data there. If you have not already set up a "BIOS" directory, do so, locate a BS-X ROM and put it in that directory as bs-x.bin. Then load the BIOs in SNES9X. If all was done corrently at this point, you should see the Fortune Teller Event Plaza to the left of your starting location. Go to where you defined it's door and press "A" while facing upwards to interact with it, then choose "Yes" to go to the download screen.
- For each episode, download the PSRAM file first. Select it. Press A a few times, and let the download progress. As of the current release you'll receive an errror every time you do this; for the time being, don't worry about it, the data is now in the PSRAM regardless. After you do this, download the main Sekiban episode ROM corresponding to that PSRAM file. If done correctly, when the game boots you will see the indoor tiles in the room you are in.
I'll check the thread regularly for any questions regarding this.
http://bsx.superfamicom.org/wp-content/uploads/rom/ASTPSRAMProject.zip
so, in this batch are the:
1) Sekiban ROMs with both ast_sfx.ips applied and checksum fixed - I hope future versions of this will render this unnecessary but we got it here for a start.
2) the faux-PSRAM that currently has the indoor areas.
3) As a little bonus, some data for setting up a Fortune Teller House Event Plaza in Satellawave, since this was made for this to begin with. (It's positioned a bit lower than it should be, causing a layering bug on the far-bottom-right corner, but it's otherwise pretty neat.)
If you're already experienced with Satellawave, you may already know how to set these up. Otherwise, I'll make a video guide soon, but I'll try to write this down best I can here.
- Open up Satellawave, go to "Directory" and then hit "Create New Folder".
- On the New Folder you created, change "Purpose" to "Download". The other options are kinda configurable to your desires, but I'm going to assume you want to use the custom Event Plaza so you can download from the Fortune Teller House, so set type to "Building" and Building to "Event Plaza".
- Do this for EACH ROM file - click "Create File/Item". This will make a subfolder. Make sure the "File" option is there so you can set your ROM.
For the PSRAM files: Click "Browse." Since they are not named in the .bs format you will have to switch from "Broadcast Satellite SNES files" to "All Files" when searching them. Once it's selected, make sure Auto-start is "No" and Destination is "PSRAM". The other settings should be configurable to your likeing.
For the regular ROM files: Click "Browse" and select the ROM file. For the BS Zelda ROMs, Auto-start is "Yes" and Desination is "Memory Pack (Full)". The other options are configurable to your preference. After each one, click "File -> Save Repository" (set the name of your .xml file the first time this happens) so you don't need to start over.
- Click "File -> Save Repository" so you don't need to start over.
- Now, for the Event Plaza, go back to Directory and click "Create Event Plaza Expansion". Then go to "Expansion - Event Plaza" and click "Event Plaza Editor".
- Click "Import SuperFamiconv / Native Graphics". for "16-bit palette" load fortune.pal. For "8x8 Tile Graphics Data" load fortune.til. For "8x8 Superfamiconv Building Tile Map" load fortune.map. If this is all done correctly the building will appear in the editor.
- At this point you may want to edit the tiles so the building is moved upwards from it's current position, to prevent the layering glitch (optional)
- On editor mode, click "door" and click around to put some red shade on the building; this will mark the areas where the player can interact with the plaza to initiate the download. Technically this is supposed to be the actual door, but you can really put it on the floor underneath or even inside it if you think that's funny enough.
- For more optional polishing, go to "Collision Editor" and use that to define certain tiles of the plaza as being solid or ones you can go underneath.
- click "Export Building" to save the .xml of the event plaza specifically. Then click "Save & Quit" to leave the event plaza editor.
- Click "File - > Save Repository" so you don't need to start over.
- Prepare a new folder in your PC.
- Click "File - Export" and guide it to that folder, then click "Select Folder".
- You will get warnings about the PSRAM files not having headers. Just keep clicking "yes" until you eventally get "Export succeeded".
- You now have a folder of Satellaview file data for loading up the Sekiban ROMs. Your next steps will depend on your emulator, as SNES9X and higan currently have different methods and default directories for loading these. If you are a beginner, I suggest you grab SNES9X, make a "SatData" directory where it is located and move your Satellaview file data there. If you have not already set up a "BIOS" directory, do so, locate a BS-X ROM and put it in that directory as bs-x.bin. Then load the BIOs in SNES9X. If all was done corrently at this point, you should see the Fortune Teller Event Plaza to the left of your starting location. Go to where you defined it's door and press "A" while facing upwards to interact with it, then choose "Yes" to go to the download screen.
- For each episode, download the PSRAM file first. Select it. Press A a few times, and let the download progress. As of the current release you'll receive an errror every time you do this; for the time being, don't worry about it, the data is now in the PSRAM regardless. After you do this, download the main Sekiban episode ROM corresponding to that PSRAM file. If done correctly, when the game boots you will see the indoor tiles in the room you are in.
I'll check the thread regularly for any questions regarding this.
KiddoCabbusses- Cucumber
- Since : 2015-08-20
Re: Sekiban for Satellawave - I am so close but hit a bug.
Awesome kiddo! I hope you find some testplayers on this forum.
If you want me to update the bszelda homepage once this is finished,, please send me detailed instructions how and where to my mail address (con.s@gmx.de)
If you want me to update the bszelda homepage once this is finished,, please send me detailed instructions how and where to my mail address (con.s@gmx.de)
Conn- Since : 2013-06-30
Zeldix :: Zelda III Hacking :: Requests
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum