1 2
14 15 16
20 21
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
If you want more SotN memory corruption madness, here's sockfolder corrupting the music by memory mapping it to his inventory: http://www.reddit.com/r/speedrun/comments/1vmzyl/sockfolder_remixes_symphony_of_the_night_music/ (I will update the links if, for example, sockfolder makes highlights)
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 9/21/2011
Posts: 49
Location: San Antonio, TX
Love this stuff! Looks like the game is pretty much an open book now...
--Graywords
Joined: 10/30/2011
Posts: 146
Location: Auckland, New Zealand
It's like seeing the matrix, this is just too awesome!
Joined: 1/26/2009
Posts: 558
Location: Canada - Québec
That's some pretty cool stuff. Any idea how Sockfolder managed to setup his debugger with psxjin?
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
sockfolder presents: Use memory corruption to get bat and gravity boot relics and then wrong warp to inverted library to finish the game fast http://www.twitch.tv/sockfolder/c/3580272 Next step is 'wrong warp to shaft', followed by 'wrong warp to credits'
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 10/30/2011
Posts: 146
Location: Auckland, New Zealand
High Potion will always bring my memory back to this whenever I see it on other places
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
Run! Hide! Sockfolder is coming up with a fast total control method on his twitch channel right now. http://www.twitch.tv/sockfolder
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
Total control confirmed. Program counter flowed into the inventory. Next step is a payload.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Patashu wrote:
Total control confirmed. Program counter flowed into the inventory. Next step is a payload.
**Apu's son's voice** How I have been waiting for this day! I'm thinking we need to outshine the recent SMW Total Control since it's the PSX we're playing with... A Castlevania themed pinball game could be fun, but implementing it would probably be a nightmare.
Zarmakuizz
He/Him
Joined: 10/12/2013
Posts: 279
Location: France
SMB or burst.
Joined: 7/2/2007
Posts: 3960
Implement NES-era Simon Belmont as an extra character, put Dracula at the top of the castle (replacing Richter), and trigger the credits when Dracula is killed.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Sir_VG
He/Him
Player (40)
Joined: 10/9/2004
Posts: 1914
Location: Floating Tower
Derakon wrote:
Implement NES-era Simon Belmont as an extra character, put Dracula at the top of the castle (replacing Richter), and trigger the credits when Dracula is killed.
That may be too much to do. I'd settle for either having Richter fight Dracula (which while you can glitch in on early Japanese copies was never intended to be done) or make Ralph a playable character. Either way make the fight against Dracula happen, either on Normal castle (in the throne room) or the inverted castle (normal spot).
Taking over the world, one game at a time. Currently TASing: Nothing
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
So, if you're confident with MIPS/PS1 dev, you should probably contact sockfolder and offer your services. Just saying. He's at you know what step~
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Active player (251)
Joined: 1/26/2014
Posts: 14
So I've done quite a bit of work on this glitch, and this seems like the best place to share my knowledge of how the glitch works. As some background, the inventory is stored in the following order: first the quantity for each weapon, then the quantity for each armor, then the order in inventory for all your weapons (you always 'have' all weapons in your inventory, just with quantity 0), then the order for your armor. Then there are fields like your stats, timer, familiar level, then several pointers. Also, an equipped weapon doesn't count towards your quantity (as is clear by the fact that equipping something you only have one of removes the text from your inventory). The glitch starts with save corruption, the point of which is to get you sorting menu to have at least 1 extra S.Sword sort, but usually entirely S.Sword. I will assume you get all 11 S.Swords in the sort menu. Also, I will say you own an item if you have at least 1 of it. The sorting program works as follows: 0) Start from the start of the inventory. 1) For each type listed in the sort menu, put all owned items of the type in order next in the inventory. 2) After that, put all unowned items in their original order. 3) If there are left over spaces, fill in the spaces with item value equip to the index in the inventory (like slot 168 gets item 168). So when you start with 1 Short Sword, it multiples to 11, then 121, then filling your inventory when you use the sort command. Unowned spaces towards the bottom get erased first when doing this, so occasionally you want to move these spaces to the top. Also, if you have alot of non-sword swords, you can restore some high values to your inventory after you've destroyed it by doing a sort without a short sword in your inventory. Once your inventory is missing some values, you can start swap overflowing shenanigans. This exploits how the game behaves when you get a new item (an item with quantity 0. It is allowed to be in your hand). This can be from buying it, unequipping it, or picking it up. The intended behavior is that it swaps the item up from its current location to the first empty slot (recall all items are in inventory from the beginning). The function is: You are getting item X. 1) From the beginning of the inventory, search for the first slot containing an unowned item. If you find slot with value X, stop. Let Y be the value of the empty slot. Store X in that slot. 2) Continue searching for the first slot containing value X. Store Y in this location. (Note these values are bytes). The problem is this searches even past the inventory bounds if it doesn't find X. It will swap using the first empty slot, even if that slot is in the armor area of inventory or beyond (note: by empty, I mean you have none of that WEAPON, even if you have an armor in that slot). Typically, this is used by choosing a byte in memory you want to modify, and dropping an item with that value (X). You set the value of the first empty slot to whatever you want to store in that byte. Then the swap puts the desired byte in that location (if that is the first byte with value X). If you put a value above 89 in the armors, you get a glitched armor where the quantity is equal to the weapon value is a slot in your inventory. This is because directly after armor quantities in inventory are your weapon item values. For example, equipping armor #92 reduces the item value in slot 3 of your weapons by 1. Using this, you can control pretty precisely the items in your inventory (at least for values 1-168). For item values above 99, you can chain equip glitch armor to quickly reduce the value down to up to 99. For other values, unequipping glitch armor works so this method doesn't work anymore. Instead, you have to equip the glitch armor, swap another slot with the weapon 'glitch slot', unequip it, then swap it back and reequip the glitch armor. By repeating this process, you can slowly reduce the item value of a slot (while increasing the item value of a different slot). However, you cannot increase an item value beyond 99. There is a pointer with initial value 0x80138460 that I refer to as the Music Pointer just after the main inventory stuff. By changing its value, you can change almost any spot in memory, though a bit uncontrollably. If you reload the shop music, it will change a large block, which is useful if you point it to data, but will cause crashes if changing code. However, there is often a smaller change when you change the pointer, even if the song doesn't get reloaded. It seems to be effected by the byte 0x90 from the pointer location, but I don't really understand it. By setting the pointer to 0x800F52B0, you change an instruction that causes the PC to jump to a spot just after the inventory, from which you can jump into the inventory using some swap overflow shenanigans. However, there is hopefully (maybe probably) some superior value that will get control directly into the inventory, from which total control can be obtained.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
If you put a value above 89 in the armors, you get a glitched armor where the quantity is equal to the weapon value is a slot in your inventory. Using this, you can control pretty precisely the items in your inventory (at least for values 1-168).
Can you explain this a bit more? (Feel free to just edit the post to make it more clear)
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 7/2/2007
Posts: 3960
This is fascinating stuff. Good luck, sockfolder!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Skilled player (1095)
Joined: 9/15/2013
Posts: 116
I tried making a movie that at least got to where the corruption starts, but I just couldn't bring myself to finish it. Any% really burned me out as it is, so I was kinda hoping that the clamoring for a glitched TAS could wait for a while but I suppose I was proven wrong. I just have so little interest in both this category and probably just continuing to TAS SotN as a whole at the moment that even if I did finish it it probably wouldn't be nearly as good as it could be. Basically, it would pretty much be a miracle if I got this done any time soon, and I really don't care anymore if someone else did the inputs for this. I don't think that this should obsolete either the clear file TAS or the 19 minute TAS, but in the end it really isn't my decision I guess. I could make my whole argument about how swap overflow completely ruins TASing this game by cutting out literally all of the interesting parts of the run and replacing it with menus to the point that it doesn't even play the game anymore, but I know that absolutely nobody would care to agree. Also, if anyone else feels like arguing against my views on the save corruption matter, don't.
Joined: 7/2/2007
Posts: 3960
I don't think you have to worry about "losing" the current TASes. Symphony of the Night is one of those games that really lends itself to TASing. I mean, for Super Metroid we have 100%, any%, and any% without using the X-Ray scope glitch, and we used to have realtime and in-game-time runs separately published. I can absolutely believe that any corruption/total-control run would be published alongside the existing TASes instead of obsoleting them.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Skilled player (1095)
Joined: 9/15/2013
Posts: 116
Derakon wrote:
I don't think you have to worry about "losing" the current TASes. Symphony of the Night is one of those games that really lends itself to TASing. I mean, for Super Metroid we have 100%, any%, and any% without using the X-Ray scope glitch, and we used to have realtime and in-game-time runs separately published. I can absolutely believe that any corruption/total-control run would be published alongside the existing TASes instead of obsoleting them.
You see, this is what I initially thought. I guess I've already gotten into enough arguments against people who seem to think differently that I've lost heart, or something. Like, SMW has the exact same situation going on too, but even when I try to use examples like that nobody seems to really care. I guess the disconnect I have is that the save corruption route is so ridiculously boring. It's literally just the same boring beginning parts of the game, followed by a couple minutes of menus and then you're done. At least SMW has action going on onscreen during the nonsense. That's obviously just my own personal opinion, as the fastest TAS of course deserves some sort of place here on the site, but I still feel it a point worth bringing up. I'm not saying this is why nobody should TAS this route, I'm saying this is why I do not want to TAS it myself. Of course, spending half a year on a TAS and having people almost immediately ask why I didn't use a trick that wasn't discovered until I was close to done is a good way to turn me off from said trick, but again, it's just a personal thing I have. And it's funny that you mention that SotN lends itself to TASing like that. I would agree, and I used to wonder why absolutely nobody had any interest in doing so unlike all the Metroid TASes and such. After finishing SotN, I came to the conclusion that there are probably a number of people that have tried to privately, but soon gave up when they realized that it was just going to be 13 and a half minutes of RNG, route planning, and subpixel hell, compounded by constant issues brought on by having to deal with a crap emulator. I really don't blame arukAdo for going AFK from this game so long.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
I feel like a similar situation occurs in pokemon gold. The new 'coin case arbitrary execution route' saves tens of minutes but is very boring. So who is motivated to TAS that? (also, RIP the really cool 20 minute chrono trigger glitched TAS)
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Banned User
Joined: 1/26/2014
Posts: 49
Location: United States
I agree, when Total Control is found on a game I am very excited, but also filled with a little bit of sadness because it can just about negate all other existing glitches previously found... and with a game like Castlevania SOTN that has so many glitches, and has so many people that have put so many hours into finding them and TAS/Live Speed Running them it makes it worse. LOL ... but then I remind my self Total Control is usually found because people love the game so much, and in a way is the ultimate compliment and just the natural order of glitching a beloved game to its furthest extent... and luckily for Castlevania SOTN we still have Saturn and PSP to try and gain Total Control.
Joined: 4/13/2009
Posts: 431
Total Control does lend way to (possibly) reprogramming a game, though, which can be awfully cool (e.g. programming pong and snake in super mario world).
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
(For those who don't know, Save corruption is not known to be possible on PSP, Saturn or XBLA atm, which means no SOS/Total Control on those versions for now)
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Banned User
Joined: 1/26/2014
Posts: 49
Location: United States
True... the save glitch dose not work as of now on Saturn/PSP/XBLA, so if we ever went for Total Control on these, we would most likely need a different but probably still similar method... We at Castlevania MSN are actually getting close to a similar method on Saturn... it stems from a glitch known as SMS (Super Matrix Stats Glitch) Which currently lets us glitch out stats and glitch weapon and equipment placement in the inventory. I founded the glitch with the help from veterans to the site. After watching sockfolder's work on the PSX Total Control progress I am feeling very strongly we can find a way to glitch the weapons sorter using this SMS glitch, then sockfolder could likely do Total Control the same way on Saturn, or another one of you guys who is awesome at coding ;) The glitch happens when you shift off the map using the infinite S4R/S1R glitch, these videos show the potential and progress after that... http://www.youtube.com/watch?v=nfBPC9EPivE http://www.youtube.com/watch?v=aSA6zFlPrlg Here is the forum with information from the beginning of the development of the glitch for those who are interested http://castlevania.msnboard.net/t571-super-matrix-stats-glitch-sms-glitch
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
Wow, very cool looking glitch! Perhaps you should try using a memory editor in saturn emulator to artificially make SOS possible to do, to see if it works the same as in PS1, and also look and see what stats and pointers are immediately after the inventory in saturn (for instance, is there an equivalent to the music pointer? I imagine the music works differently, but how much differently?) and if you can do anything cool with it, that should make you more motivated to find a way to set up SOS ;)
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
1 2
14 15 16
20 21