News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - KingMike

Pages: 1 ... 35 36 37 38 39 [40] 41 42 43 44 45 ... 145
ROM Hacking Discussion / Re: Saiyuuki World translation (failed)
« on: November 14, 2015, 08:43:13 pm »
It's weird because it's actually compressed.

Gaming Discussion / Re: Cloud is going to be in Smash Bros. For real.
« on: November 14, 2015, 04:12:49 pm »
I wonder if Cloud was the winner of the Smash Bros. fan-voted fighter poll.

Gaming Discussion / "pSX emulator" no music
« on: November 14, 2015, 04:10:29 pm »
Tried to play "In the Hunt" using an ISO I ripped myself, using CloneCD, from a real CD.
Game plays, but no music (I assume it's CD audio).
That was using the built-in ISO handler. I tried Daemon Tools Lite, psx didn't like the virtual CD drive.
I tried using the actual CD, game still runs without music.

Checked the game on PS3, and even ePSXe plays with music from the actual CD, so I am I missing something?

No, the ear-biting was at least five years later. ('96 maybe?)
It was something else he did but I don't remember.

Personal Projects / Re: Final Fantasy 7 - Retranslation Project (PSX)
« on: November 09, 2015, 10:02:15 am »
does it really matter when she dies anyways
Like all of us at some point. Our names must not be important. :P

Personal Projects / Re: Final Fantasy 7 - Retranslation Project (PSX)
« on: November 06, 2015, 10:49:57 am »
:D because Gemini is Italian, I think.

Seems hotlinking that image isn't permitted.

Okay, now let's break it down how you find the answer.

That $0210 area is suspicious. Especially if you look at the first 4 sprite entries (that is, the first 16 bytes at that spot)
Notice that for sprite 1 ($0214-0217), the Y ($0214) is the same as sprite 0 ($0210) and the X ($0217) is +8 (right one tile) from sprite 0 ($0213), Sprite 2 will be +8 in the Y ($0218) and +0 in the X ($021B), sprite 3 will be +8 in the Y ($021C) and X ($021F).

So now open the debugger menu and click Breakpoint. You want a WRITE on the CPU. CPU address $0210. You know it's going to write the value 0x57 from that. So reset the game and get to the title screen. (click Run when the debugger window opens to skip other writes) As it's about to load the title screen, notice when it tries to write the value 0x57.
Code: [Select]
0F:FC94:B1 C4     LDA ($C4),Y @ $96CD = #$00
 0F:FC96:18        CLC
 0F:FC97:65 CA     ADC $00CA = #$4F
>0F:FC99:9D 00 02  STA $0200,X @ $0210 = #$F0
STA means it's trying to STore A to $0210 (the @ $0210 part), and A is 0x57. So it's probably the right value.
That LDA above is reading from $96CD. That is a ROM area, so we can figure out what ROM address that maps to.
I think you can just open FCEUX's hex editor, scroll to $96CD and click "Go to here in ROM" or something. Else look at the data and do a hex search for data in the ROM. Either way it comes to $2B6DD.
Looking at the data it's 00. Interesting data but not a 0x57, so that means RAM address $00CA is probably something we should look for. (because it's reading from the table at $2B6DD, adding the value at $CA)

So, let's reset the game and set a new breakpoint for WRITE on $00CA.

Code: [Select]
0F:FC35:A5 CA     LDA $00CA = #$00
 0F:FC37:30 0C     BMI $FC45
 0F:FC39:79 03 03  ADC $0303,Y @ $03E3 = #$4F
>0F:FC3C:85 CA     STA $00CA = #$00
Adding from address $03E3. That's a RAM address.
Needs another breakpoint.

Code: [Select]
0A:9E89:A9 00     LDA #$00
 0A:9E8B:8D E1 03  STA $03E1 = #$00
 0A:9E8E:8D E4 03  STA $03E4 = #$00
 0A:9E91:8D E5 03  STA $03E5 = #$00
 0A:9E94:A9 50     LDA #$50
 0A:9E96:8D E2 03  STA $03E2 = #$50
 0A:9E99:A9 4F     LDA #$4F
>0A:9E9B:8D E3 03  STA $03E3 = #$4F
LDA #$ means it's reading an IMMEDIATE, or in this case hard-coded value. So we just need to find this code in the ROM and change the #$50 (X) and #$4F (Y).
We come to $29EAA for the #$4F, so that #$50 is going to be at $29EA5.

Though as it turns out, Mother displays a static frame of the earth in the tilemap, behind the spinning globe sprite.
So you'll have a tilemap to find and edit (if you haven't already) or you'll have two earths.

I recall EarthBound had some hacking protection on the title screen (the cause of the infamous "piracy" screen), but I'm assuming you know that already. :)

ROM Hacking Discussion / Re: Help With BS F-Zero for SNES
« on: November 04, 2015, 11:55:33 am »
BS F-Zero (1) is a Soundlink game, but I don't think BSFZ2 is.

Soundlink = it was meant to be played at a specific time alongside live streamed audio.

This should probably be in Gaming Discussion.

Newcomer's Board / Re: Kaijuu Monogatari patching issues
« on: November 04, 2015, 10:46:09 am »
The last version of the patched ROM has the file hashes
CRC32: A9CB0E80
MD5: 7FCC957C61C980D833F31816698F5B8D
SHA-1: B290A917F54399C125EB5A98E83FEB4C24D9EC55

(FCEUX display it as ROM CRC32:  0xe81dd8f6
 ROM MD5:  0xea6fdb0d000affbe4c6752d8ca56d407 )

Seems to work on Nestopia for me. Used FCEUX 2.2.0 and it worked fine as well.
The only issues I've seen are not directly patch-related:
1. Saving may or may not be supported. Due to that Kaiju Monogatari uses the Namcot-106 internal RAM (normally used for expanded sound) as the battery-backup (as opposed to like Megami Tensei 2 which uses expanded sound as well a separate SRAM for saving.)
2. Due to what seems to be an original game bug, you must use Manual battle mode during the "tactical" battles before entering the last boss' dungeon or you won't be warped to the right place after you win.

Practically every NES game (at least that I've seen) uses a $100 byte page of RAM (often page $02xx) store sprite data.
Each sprite is 4 bytes: Y, tile#, attributes, X.

I would use FCEX tracer. First, go to the titlescreen and see if you can eyeball in RAM where the sprite is (assuming there's only a few sprites on screen. Any unused sprite should have a Y value (that would be addresses $0x00, $0x04, $0x08, etc.) >= E0 (because that's effective off the bottom of the screen, thus invisible).
Say you found the sprite was at address $0240 and the Y-coordinate was 0x50.

I never did figure out FCEUX conditional breakpoints. It'd probably speed it up, but I do it the slow way:
What I would do is use the Trace Logger to log to file while the game is loading the sprites, then I'd look for where $0240 first = 0x50 (I think the exact string in the trace dump to search would be like @ $0240 = #$50.
That would get the next time it reads after the address has already been set.
So following that point, I delete everything beyond in the text file.
I find the LAST point where $0240 is written to (using a STA command), and then trace backwards from that until reaching where it reads from (usually a LDA) a ROM address ($8000+) and figure out what that maps to.

If it's a SNES game, it is almost certainly using a tilemap. I don't know the exact size (I mean actual size, not the size with upscale or whatever "improvements" you have turned on), but the second might be doable if you wanted to rewrite large parts of the game code.
That last picture is almost certainly well beyond the resolution limits of the SNES.

(most games are 256x224 NTSC/256x239 PAL. The SNES supports doubling the resolution in either or both dimensions, but that is rarely used in actual gameplay. One very likely reason is that using the smaller resolution gives them some room in the video memory to draw graphics off-screen as the game scrolls, so they can appear nicely after scrolled onto the screen. Using a higher resolution (I think) will draw the entire video memory on the screen, not giving them room to draw off-screen screens and creating ugly scrolling glitches like what is common in NES games.)

Personal Projects / Re: Personal Projects' Additional Rules
« on: November 01, 2015, 11:59:39 pm »
Yes, it should be.

Does the Retron support patches for both header and headerless ROMs?

It looks like the SRW3 patch requires a header.

If not, you're going to have to make your own headerless IPS:
1 .Use a tool like SNESTool or TUSH or whatever to add a header to a COPY of the ROM
2. Apply the patch to a headered ROM.
3. Remove the header from the patched ROM.
4. Use your IPS program to create a new patch between the headerless ROMs (untranslated and translated)
5. Use that headerless patch

Programming / Re: Emu Accuracy analysis: FCEUX vs. NEStopia
« on: October 31, 2015, 01:25:27 am »
My guess is the name bsnes was changed when the emulator became a multi-system emulator and the name no longer seemed appropriate.
At first he added the first full support for the Super Game Boy (one emulator emulating the SNES and GB at once. Though last I tried it the GB core was still a work in progress, particularly sound. This allowed things like the SNES mode in the US/EU GB Space Invaders.) Then when cracking the ST018 expansion chip, it was discovered to have an ARM-based CPU, so with the help of a GBA hacker he added GBA support. He was also took the next logical step and and began work on DS emulation but dropped it once he realized the DS was too different to continue supporting it. Not sure how the NES got added in.

byuu was working on Far East of Eden Zero, so he renamed his emulator after the main character of that game. Maybe he had other reasons, though, I can't remember.

Are you sure the files you are trying to edit are actually ONLY text files?

Have you used a hex editor to compare the files before and after the change to make sure that one byte is the only difference?
(or better a file comparison tool, such as the DOS program (fc /b oldfile newfile, then the output should ideally display only one result for the one byte you changed in that example)

I still wouldn't use any text editor to directly edit any game files. Using a hex editor is better to ensure data isn't changed unexpectedly.

Programming / Re: Emu Accuracy analysis: FCEUX vs. NEStopia
« on: October 29, 2015, 10:47:32 am »
I couldn't reproduce the DKC error (using higan 094 accuracy).
Maybe it was just your ROM.
All snespurify is doing really is removing the header (if present) and changing the extension. Maybe deinterleaving but I suppose interleaving is technically a bad dump in the first place.

Are you asking for NPCs in a Contra game?!
That's not the "if it moves, it dies" action of the original. :P

Although with how Konami is doing these days, you could probably pitch that idea to them. ;D

Newcomer's Board / Re: Pac-Man NES hi-score saving hack attempt...
« on: October 28, 2015, 10:47:07 pm »
Also with these very small SRAM hacks (high score, and like that Ninja Gaiden hack that sounds like it just saves the level number), I wonder if they have any sort of check (such as a checksum) that the SRAM data is initialized and valid? (for only one or a few bytes, I'd recommend adding some dummy non-zero data around it to checksum so it shouldn't give a false positive)
I would not recommend assuming the emulator will initialize the SRAM to certain values (like 0).

Pages: 1 ... 35 36 37 38 39 [40] 41 42 43 44 45 ... 145