| |||
Views: 88,482,678 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-25-24 05:26 PM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 1 guest | 1 bot |
Main - ROM Hacking - Things that make you think "WHY???" | New thread | New reply |
Xkeeper |
| ||
Level: 105 Posts: 770/2846 EXP: 12027544 Next: 234716 Since: 02-19-07 Last post: 6059 days Last view: 2796 days |
Posted by BioSo if the X is n, don't self destruct and use the other one.Posted by Xkeeper It just seems like more wasted processing power. ____________________ I dealt with it. |
Kawa |
| ||
CHIKKN NI A BAAZZKIT!!! 80's Cheerilee is best pony Level: 138 Posts: 89/5344 EXP: 30943074 Next: 719907 Since: 02-20-07 From: The Netherlands Last post: 4497 days Last view: 2632 days |
Why not self-destruct - if not smoke? ____________________ Wife make lunch - Shampoo Opera - give it a spin Spare some of your free time? <GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered Kawa rocks — byuu |
Techokami |
| ||
Red Paragoomba Level: 18 Posts: 11/50 EXP: 28006 Next: 1891 Since: 02-19-07 From: HoleNet! Last post: 6084 days Last view: 5321 days |
Xkeeper |
| ||
Level: 105 Posts: 847/2846 EXP: 12027544 Next: 234716 Since: 02-19-07 Last post: 6059 days Last view: 2796 days |
Are you sure? I've watched the S1 TAS(es), and the bonus values always seem to equal what they hit. ____________________ I dealt with it. |
Techokami |
| |||
Red Paragoomba Level: 18 Posts: 13/50 EXP: 28006 Next: 1891 Since: 02-19-07 From: HoleNet! Last post: 6084 days Last view: 5321 days |
|
UnsurpassedDarkness |
| |||
Goomba Level: 13 Posts: 1/25 EXP: 9884 Next: 383 Since: 03-14-07 From: Kentucky Last post: 6050 days Last view: 5857 days |
|
Raccoon Sam |
| ||
Cobrat Level: 56 Posts: 102/672 EXP: 1379946 Next: 18230 Since: 02-19-07 From: Hi Last post: 3467 days Last view: 2698 days |
Yyeaahh... But what I meant is that the glitch effect is still the same: ____________________ |
The Kins |
| ||
Paratroopa Level: 28 Posts: 46/140 EXP: 131223 Next: 115 Since: 02-19-07 From: AUSSIELAND Last post: 5912 days Last view: 5912 days |
Not exactly emulation-related, but WTF enough to fit in-topic.
In the unpatched version of Sims 2 Nightlife, if a certain NPC, either through coincidence or fun with debug mode is embraced by a vampire, the game will get confused... and overwrite vital parts of the data file that contains all the game's objects. I have no idea why the game even has such capability, let alone why letting a certain character get bitten causes it to happen. |
HyperHacker |
| ||
... Level: 73 Posts: 8/1220 EXP: 3366589 Next: 119279 Since: 03-25-07 From: no Last post: 6090 days Last view: 6074 days |
-Just about everything in Pokémon R/B. What the fuck is with the internal orders of things? The Pokémon list is ordered seemingly at random with garbage scattered all through it! Why are some numbers hex and others (your money) binary-coded Decimal (eg 123456 = 0x123456)?
-Mario Kart 64's wastefulness. Sky colours are a pair of 16-bit (why?) RGB values. Every frame, the game reads them from memory and draws the sky. But to do this: It takes the location the sky colour table is at, does a bit of multiplying to find the first red value, and reads it. It then does the same math AGAIN to read the green and blue values, as opposed to adding 2 to the address. Finally, after reading all 12 bytes... it repeats the procedure for no reason at all! -More wastefulness: A few polygons in the game use alpha translucency. The polygon data structure has a 4-byte colour block (red, green, blue, alpha). But the alpha byte is always zero, and some completely different method is used to set the alpha. Also, there are 20 tracks in total, but track IDs are 16-bit! -Space Station: Silicon Valley. Was this game tested at all? Did they even run it once before compiling it and sending it off for manufacturing? So many bugs... There's tiny fragments of source code and developer comments in RAM too. Posted by TweakerNo, Nintendo uses the word "hack" often in their source code. Don't ask how I know this.Posted by The Kins Posted by UnsurpassedDarknessHe can, but only if Mario is small. What's up with that? |
Higsby |
| ||
Pokey Level: 57 Posts: 230/681 EXP: 1407735 Next: 78193 Since: 02-19-07 From: Canada Last post: 6118 days Last view: 5913 days |
Posted by HyperHacker I'm guessing because in the origional SMW doors were never placed in outdoor levels so they found no need to fix it. |
BMF54123 |
| ||
Buzzy Beetle Level: 44 Posts: 139/375 EXP: 575268 Next: 36017 Since: 02-19-07 From: [citation needed] Last post: 6085 days Last view: 6085 days |
Posted by HyperHackerPosted by UnsurpassedDarknessHe can, but only if Mario is small. What's up with that? I'm guessing the game checks the position of Mario's head when determining whether or not he can enter a door, and it's simply too high up when he's powered-up and riding Yoshi. The same thing happens with the small door when he's not riding Yoshi (only small Mario can enter). ____________________ [citation needed] |
Shiryu |
| ||
Bloober Level: 47 Posts: 112/437 EXP: 723646 Next: 42557 Since: 02-19-07 Last post: 6119 days Last view: 5991 days |
Posted by BMF54123Posted by HyperHackerPosted by UnsurpassedDarknessHe can, but only if Mario is small. What's up with that? this would make sense, becouse if you put 2 doors together you can also enter while riding yoshi. ____________________ Generated a 991044 foot, 10.4-inch twiggy catgirl with orange hair, who weighs 315,239,939,065.9 pounds and has soft A-cup breasts, and it only took 0.00031 seconds. |
Kawa |
| ||
CHIKKN NI A BAAZZKIT!!! 80's Cheerilee is best pony Level: 138 Posts: 137/5344 EXP: 30943074 Next: 719907 Since: 02-20-07 From: The Netherlands Last post: 4497 days Last view: 2632 days |
Posted by HyperHackerWas SSSV made by Nintendo? Do I win a cookie? ____________________ Wife make lunch - Shampoo Opera - give it a spin Spare some of your free time? <GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered Kawa rocks — byuu |
Xkeeper |
| ||
Level: 105 Posts: 1029/2846 EXP: 12027544 Next: 234716 Since: 02-19-07 Last post: 6059 days Last view: 2796 days |
Link's Awakening's map is auto-generated based on doors in rooms (well, sort of). Rooms are marked off on a mmap first, and the connections are drawn based on "doors" (the half-tile ones that appear between two 16x16 blocks)
This makes sense, except that if you want to have an open, non-door screen boundary, you have to cover up the door by another tile. Oops. (Usually, it's what removes the "room template" wall anyway, so it works out in the end) ____________________ I dealt with it. |
Koitenshin -∞ |
| ||
Happy Hour! Level: 81 Posts: 7/1556 EXP: 4849028 Next: 143821 Since: 03-25-07 Last post: 2675 days Last view: 2673 days |
Here you go. On WTF game topics, here's Secret of Mana. One thing that made me wtf is how they linked certain treasure chests to events and didn't disable it in the final game. The only thing it would be useful for IMO is breaking the game heavily. (otherwise known as debugging) But you can sequence break the game so bad you can jump right to the ending. XD ____________________ What FF7: Advent Children Character Are You? |
HyperHacker |
| ||
... Level: 73 Posts: 48/1220 EXP: 3366589 Next: 119279 Since: 03-25-07 From: no Last post: 6090 days Last view: 6074 days |
Posted by Kyoufu KawaIt was made by DMA, which from what I hear, renamed to Rockstar. Surprise? It was for the N64 though.Posted by HyperHackerWas SSSV made by Nintendo? Do I win a cookie? |
Dwedit |
| ||
Red Paratroopa Level: 30 Posts: 20/162 EXP: 163131 Next: 2738 Since: 03-07-07 From: Chicago Last post: 3518 days Last view: 1612 days |
Going back to the spirit of the original thread...
A while ago I disassembled a chunk of code from Dragon Warrior 3. The code is responsible for checking which tiles are underneath the four allies, testing if the tile number is flagged as a swamp or barrier tile, and calling the routine to deal damage to the player. Normally it works fine, but it is possible to get this code to fail in a spectacular way. This happens to be a huge memory corruption bug targeted at the area around your stats. The way it works is that it iterates over each party member, looks at the tile under the player (which happens to be nicely stored somewhere), and tests if that tile number has the relevant tile-flags set. Because there may be a dead party member, and dead party members go to the back of the walking formation, it keeps a small table to see who's still alive. For example, if the second party member was dead, and the other 3 were alive, the table would contain [0,2,3]. The game also keeps track of the number of living party members, and uses that number to terminate the loop, so it wouldn't check a fourth member if there were only 3 living members. The code is structured pretty much like this:
There's an item in DW3 called the Dream Ruby. Normally you just collect it, then take it to the elf queen, and get the Wake-up Powder. But if you use the Dream Ruby as an item, it paralyzes the character who uses it. This paralysis is slightly bugged: It doesn't check if the entire party is paralyzed or dead after you use it. Then there are situations in the game where a member of your party must split from the rest, especially the "fortune telling" house in Assaram. Usually the lead character of the party splits from the group, leaving the allies behind. But if the lead party member is paralyzed or dead, the next character splits ahead instead. Now the kicker: if the lead party member is dead, and the rest of the party is either dead or paralyzed, you will control the leading dead party separate from the other allies. So now we have a party of one dead member. Here's the swamp-tile-checking routine's fatal flaw: It increments the character number, then tests if it EQUALS the number of living party members or not. So we have character #1, and there are 0 living party members. Now we have a loop overflowing past the limit, until it repeats 256 times. Suddenly, it's reading way out of bounds for the tile_under_player table and living_party table. Now it reads some random bytes from the zero page and interprets them as tiles underneath the player, then picks another random value from the zero page as the player to deal damage to. So what happens when it deals 2 damage to a player number out of bounds? The players stats are stored in an interleaved-like format. Player 1's HP is followed by Player 2's HP, then Player 3's HP and so-on. When it deals 2 damage to a player number greater than 3, it will modify some other stat. For example it will decrease a player's MAX HP by 2, or maybe their strength, or even their Name or Inventory contents. If the 16-bit value at the random address goes down to zero, it is set to a minimum of zero, and a message is displayed indicating that the player has died. Now, it will do this many many times each step you take. It's looking through the entire zero page for any numbers which happen to be a swamp tile number after ANDing with $1F. Then it's taking a corresponding byte as a character number, and decreasing some random stat by 2. Then it's going to display that a character has died about 10 times each step you take. All because the programmer never bothered to properly use a less than operator instead of a not equals operator (BVC vs BNE instruction). I made a video demonstrating the bug on Youtube. http://www.youtube.com/watch?v=38bEtt6Bxv8 The video shows some item being replaced with the Final Key. Also the max HP of some character goes down to zero. ____________________ |
theclaw |
| ||
Panser Level: 42 Posts: 1/348 EXP: 512825 Next: 8537 Since: 03-26-07 Last post: 4160 days Last view: 2111 days |
Hello everyone. I was just lurking around. Decided I may as well register having been on these boards a long time anyway.
One 'WTF' thing I saw is how Pokemon Red/Blue/Gold/Silver/Ruby/Sapphire were all exactly doubled in ROM size in every non-Japanese cartridge. Notice that only these specific versions were doubled during translation, none of the 'extra' ones like Yellow for example. Another discovery I'd made is that the original Japanese release of Pokemon Green has no wild encounters whatsoever on the Cinnabar or Seafoam coasts. A miniscule difference in technical terms, but very significant to players. Oh, and here is something few people know the full story about. Controller rumble was entirely removed from all games in Mega Man Anniversary Collection and Mega Man X Collection which had it on the PSone. Including all in-game references to said feature. Several, if not every, game in the Complete Works series had it. As well as Mega Man X5 and Mega Man X6 on PSone. Also, the incredible PC conversion of Mega Man X8 is the only Mega Man game on that platform to feature rumble. ____________________ |
Kles |
| ||
Level: 75 Posts: 768/1301 EXP: 3717217 Next: 109687 Since: 02-19-07 From: Canada |
Why is IIDX so hard? Argh! |
HyperHacker |
| ||
... Level: 73 Posts: 66/1220 EXP: 3366589 Next: 119279 Since: 03-25-07 From: no Last post: 6090 days Last view: 6074 days |
theclaw, that reminds me of the PSX port of Chrono Trigger.
1) It high-level emulates a SNES ROM. (I suppose this was easier than porting a game that was probably written entirely in Assembly.) But rather than use the English ROM for the English version, they use the Japanese ROM and hack all text code to load English strings and fonts from external files. 2) The manual indicates that the programmers were too lazy to change any dialogue. There is a table that says like "If the game tells you to press Y, press Square". But they eventually did change it, because in the game, it actually shows the PSX buttons instead of the SNES ones. |
Main - ROM Hacking - Things that make you think "WHY???" | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 82, rows: 122/122, time: 0.020 seconds. |