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 - Myria kitty

Pages: [1] 2
1
When I looked at FF5, its assembly code looked very, very strange.  I believe that it's actually a statically-recompiled version of the original ROM's 65816 code.  The instructions looked like they were doing very roundabout things to accomplish their task, which is what I would expect from such code.

Static recompilation means that they had a program analyze the 65816 opcodes and convert them to either C or MIPS code.  The R3000 CPU in the PSX wasn't powerful enough to do straightforward interpretive emulation of the 65816.  They had to do something special to get it fast enough, and it appears that static compilation was their solution.

Another big reason that I believe that the games use static recompilation is that they work exactly the same way as the originals.  FF4 and FF5 still have the same bugs - have Lydia cast Dejon after Calcabrina in the dwarven castle, and it'll work just like on SNES.  FF6 had some bugs fixed, but not all.  The US FF6 PSX was actually derived from the Japanese PSX version rather than by recompiling the US SNES version; for example, the mosaic bug in the Skills menu was fixed in US SNES but is still broken in both the Japanese and US PSX versions.  No idea about Chrono Trigger.

The GBA versions, in contrast, are rewrites of the game engine.  They do not have the same bugs at all, *except* when they involve script bugs - the script code is mostly identical to the SNES originals, interpreted by the new engine.  For example, the bug in FF5 where you can see a scene in world 2 where Galuf speaks even after he dies.

This is in contrast to the GBA re-releases by Capcom, who apparently used static recompilation there as well.  Note how Rockman & Forte, Zelda - Triforce of the Gods, Breath of Fire and Breath of Fire 2 are exactly the same.  (Unlike Zelda 3, Super Mario World wasn't ported by Capcom, and it is not the same engine.)

2
Archive / Re: LGP Tools on Vista
« on: 2008-02-12 03:12:58 »
Well obviously it didn't work out, since i'm already the administrator of this computer, i can't even check the "Run as the administrator" so no good, thanks anyway :-)


Anything else to try? :O
Did you disable UAC or something?  The default in Vista is that Administrators must do something special to run a program as Administrator - simply logging in as Administrator isn't enough.  Right click a file and select "Run as Administrator".

3
Archive / Re: LGP Tools on Vista
« on: 2008-02-11 03:44:28 »
Try running the install program as Administrator?  I don't have Vista at home, but that's what I would try.

4
Q-Gears / Re: Working on Field models.
« on: 2008-02-04 00:11:46 »
When you make these changes do you commit them to Subversion?

5
Gameplay / Final Fantasy VI - Definitive
« on: 2008-02-03 19:11:01 »
There's one problem though, I don't know how to create an IPS patch.
http://www.zophar.net/utilities/patchutil.html

I don't like new games so much for some reason.  I can never get into them.  I guess because I grew up with the Nintendos, and the Playstation.  And I like retro things.
I feel the same way about most new games these days.  Madden N+1 and FPS #12593 just don't do it for me at all.  Only something cute and very original can override my avoidance of such games, like Portal.

I tend to stick to new games that are very retro in nature, like the DS Castlevania games and Rockman ZX.  I love 2-D Castleroid games.

6
Gameplay / Final Fantasy VI - Definitive
« on: 2008-02-03 05:54:47 »
The GBA version ISN'T Perfect. The music quality is crap and the colors are way to bright, plus It's still censored.
But how much is still censored?  I mean, even in the US FF5 GBA, Butz was obviously looking for porn in Surgate Library.  Did FF6's "Book of Secrets" change back to its...true form?

7
I guess this sounds like a wrapper for FF7 exe, sounds promising.
Any chance of choosing between MP3 or PSF?
Anychance something like this could come out for FF8?

"a wrapper for FF7 exe" is a pretty good description of it.

MP3 would be somewhat different from PSF.  My wrapper currently is hardcoded for PSF support, because I make some patches to Highly Experimental.  For example, I hack Highly Experimental's reading of Winamp's plugin.ini so that I can force songs to loop forever regardless of what the user selected in Winamp.  Currently, my code doesn't track the state of the PSF player - if I wanted MP3, I'd need to watch it so that I can trigger a loop when the song ended.

My goal was to preserve the optimum quality FF7 experience, not customize it.  PSF playback restores the sound to as Uematsu intended.  I'd eventually consider the high-resolution patch, the better model patch, and the Advent Children status portrait patch, because those improve quality without changing the gameplay, story or style.  Bugfixes would also be acceptable, even if the PSX version had them broken (W-Item as a simple example).

This is all predicated upon me having the time and motivation to continue - currently I'm rather burned out.  DirectShow and DirectX are daunting tasks.

As for FF8 PC, I don't have the game or know any technical details about it.

8
Gameplay / Final Fantasy VI - Definitive
« on: 2008-02-01 07:41:38 »
If the American version is your base, can you revert the title screen? =)

Are you going to fix the Sketch bug yourself?  The American "1.1" ROM has this bug fixed already.

9
Gameplay / Final Fantasy VI - Definitive
« on: 2008-02-01 07:31:20 »
What version is your base version?  Japanese FF6 or American FF6?

Some more bugs:
- Darkness/blind doesn't actually do anything
- Empty party bug with Shadow: http://www.youtube.com/watch?v=LPDtoTMwAkY
- Skipping Celes bug: http://www.youtube.com/watch?v=HCkvo8Fmv0c
- If Locke isn't in your party during the opera scenario, the script freezes: http://www.youtube.com/watch?v=BkqBbVsQ61k

Japanese-only bugs:
- If you don't kill all the opera house rafter rats before fighting Orthros, then die to the rats when you come back in the World of Ruin, the owner will kick you out to the World of Balance. http://www.youtube.com/watch?v=1JVBgYSh3cQ
- In the Skills screen, if you press L or R while the mosaic effect is active because you selected a grayed option, the mosaic effect will get stuck until you leave the menu system.
- If there is an item in the 256th item slot, and you select Optimize in the Equip screen, and that character has no weapons that can be equipped using Optimize, the game will equip whatever item is in the 256th slot even if that doesn't make sense.  This bug is present in the American version, but they worked around it by hiding the 256th item slot.  (Copy the save file from the Japanese version to the American version to try it.)

10
what do you mean by the
 "Complete registry indirection.  FF7's registry read requests are manipulated."

When the game requests a registry key, instead of it going to the actual registry, it goes to a fake registry controlled by my program.

care posting an RS mirror for what you have done so far?

What's RS?

I could give it out, since I planned on GPL'ing it eventually anyway.  However, it's not configurable at all at the moment.  All the settings are hardcoded, and the program won't work unless you have the files in the same directory that I do.  If you really want it that state, I could give it.

There are two major stumbling blocks to the project at the moment:

- Reimplementing DirectShow well enough to be able to use libavcodec for the movies.  WINE and ReactOS don't implement enough of DirectShow, so I can't just copy their code.
- Translating DirectX 5 to DirectX 8, which is difficult because the COM interfaces have nothing in common.

11
General Discussion / Re: Square translation mistakes
« on: 2008-01-26 18:11:53 »
    • Cain -> Kain
    - isn't this close enough?
    Not when it's a reference to Bible mythology.  Consider "Abel's Lance" in GBA FF4.

    Quote
    • Midgarsorm -> Terrato
    - likely should be translated as Midgar's Worm or Serpent, space constraints. Terrato is earth-related.
    "Midgarsorm" is a mythological name.

    Quote
    • Melton -> Merton
    - close enough.
    Consider what the spell does...

    Quote
    • Enkidu -> Enkido (Excalibur II dialog)
    - Oddly off. Not the end of the world, is it?
    Mythological reference with an established spelling.

    Quote
    • Vinegar -> Ozzie
    • Soy Sauce -> Slash
    • Mayonnaise -> Flea
        - you really think characters named after condiments would have flown here?
    It wouldn't be the quirkiest thing in Chrono Trigger.

    Quote
    • Koopa Shell -> Noknok Shell (nokonoko = "Koopa Troopa")
    • Crystaller -> Culex
    - these two were probably both space constraints
    "Koopa" is 5 letters and "Noknok" is 6.  Nintendo itself has made this type of mistake, like with "Jugem's Cloud" and "Kuribo's Shoe".  Nintendo changing those names is another issue, but consistency is important or you miss references.

    "Crystaller" fits within the game's monster name limit.

    12
    Archive / Re: FF7 PSX in a single DVD
    « on: 2008-01-26 00:09:32 »
    Lemme know when you guys stop playing pretend ^_^

    A PSX CD -> DVD conversation isn't going to happen because the game assumes it's on a CD-ROM. The game does not look up files by file name. It looks up the data by location on the disk. If you move the location, the game is going to crash.
    I would actually put that very low on the list of problems =)  You could just put the disks as /2352 images on the DVD and translate read requests as desired.

    The real issue is simply this: there is not enough RAM on the R3000 side.  The IOP libraries are considerably bigger than the PS1 libraries.  Game over.

    The R5900 is not binary-compatible with the R3000 code due to an R5900 hardware bug, so you can't run it on there either.

    13
    Q-Gears / Re: Anyone want to write a PSX file extractor?
    « on: 2008-01-25 23:16:14 »
    I know CD-ROM pretty well if you need advice.  I also know how to do this on Windows NT.

    14
    Completely Unrelated / Re: Qhimm.com Foreign Counterpart?
    « on: 2008-01-25 05:08:43 »
    What we are doing is illegal in Japan. There are no "fair use" rights there, and the open dissection of copyrighted material could get you a visit by the police. I made a post on 2Channel in the Square section about Q-Gears once and got darn near assaulted and "sage-ed" off the BBS.
    There's a Japanese magazine called ゲームラボ (GameLab) that openly discusses things like piracy and cracking of video games.  They have cheat codes all the time, and also have things like ROM hacks.  It probably is on the way out, since with asymmetric cryptography, game hacking is basically impossible on the current console generation.

    In the US, such a magazine couldn't exist due to the certainty of a lawsuit.

    15
    Archive / Re: Mods for PSX
    « on: 2008-01-22 00:47:55 »
    The PSX has a very limited amount of memory.  The game is meticulous about where it loads things and how big they are, because there is little spare memory.  There are even limitations in how textures work, like that all textures for rendering a scene must fit "visually" within the 1024x512 video memory.

    16
    Scripting and Reverse Engineering / Re: FF7 missing PSFs
    « on: 2008-01-22 00:41:12 »
    I have the 904 psf too, but without a nointro to map it to in FF7Music how did you get it to work?

    I figure out which song is being played by hooking the game's play MIDI function rather than try to recognize the notes.  This has several advantages, like recognizing mogu.mid, which would be indistinguishable from the hiku.mid at the time FF7Music must decide.

    How is the music stored in FF7 PSX?  I can't tell whether it uses MIDI filenames since everything seems compressed.

    17
    Scripting and Reverse Engineering / Re: FF7 missing PSFs
    « on: 2008-01-21 19:00:54 »
    In the PSF set I have, nointro.mid maps to "904 Those Chosen By the Planet (Variation)".  The .mid and this .minipsf sound the same to me.  cephiros.mid maps to "305 Those Chosen By the Planet".

    18
    If I remember right, the GTE was one of the hardware units that Sony fully documented for developers and permitted direct access to.  They still provided libraries though.

    19
    Scripting and Reverse Engineering / What I'm working on
    « on: 2008-01-21 18:17:40 »
    Things that are already done:
    • Boot loader that loads FF7 with my DLL added.  Patches aren't applied to files directly.
    • Playing PSF files instead of the MIDI files.  Rather than have an external process monitoring the MIDI output, I take over the midi* API calls and translate them to a background thread with the Winamp plugin.  (I'd use the Foobar2000 version if I could figure out how.)  Since Windows never gets the MIDI data, there isn't an issue with it playing over the song.  I don't currently fake the consumption of data; if some part of FF7 relies upon reaching a particular point in MIDI playback I could have trouble.
    • Implement "reverse speakers" with PSF playback.  This is a hack - when in_psf.dll calls Out_Module::Write, I flip the samples.  There's probably a way to do this within in_psf.dll itself.
    • Complete registry indirection.  FF7's registry read requests are manipulated.
    • plugin.ini reading is also taken over to allow setting "play indefinitely" in in_psf.dll.
    • Fixing obvious bugs: Chocobo racing uninitialized pointer, redundant RegCloseKey, tm20dec.ax appcompat fix.

    Things I'd like to do:
    • File indirection.  The game would always be presented with "C:\FF7" as its directory, even if it is actually somewhere else.
    • Translate DirectX 5 to DirectX 8.
    • Detect when the hardware can't do P8 textures and translate accordingly.
    • Replace video playback entirely with libavcodec.  This has many advantages, such as avoiding dependence upon the current system configuration, and the upside-down movie bug.


    Much of this is probably redundant with some existing hacks out there.

    20
    Scripting and Reverse Engineering / FF7 missing PSFs
    « on: 2008-01-21 17:52:44 »
    I was making a new version of the list of .mid -> .psf mappings for what I was working on.  I noticed that four MIDI files don't map to any of the .psf files:

    cintro.mid - Similar to 305 Those Chosen by the Planet
    comical.mid - A song I've never heard before
    mogu.mid - Truncated version of 403 Highwind Takes to the Skies
    tb.mid - 201 FF VII Main Theme, but starts at a different point in the loop

    Anyone have PSFs of these songs?  Similarly, does anyone know how to decompress .psf files?  It might be a matter of simple editing to have the .psf files load these songs.

    mogu.mid and possibly tb.mid could be hacked out of the other files if absolutely necessary...

    21
    Troubleshooting / Re: Fixing FF7 sound in Vista!
    « on: 2008-01-20 18:36:21 »
    I don't know the author of FF7Music - I just mean that I'm writing something similar.  It's not based on the same codebase.

    What are those two MIDIs in the game?  If you have a save file that would make it convenient for me to play them in the game, I could take a look.  I'm working on song detection now as well.  My hack now redirects MIDI to PSF playback successfully, but doesn't know which song it should be playing.

    My hack isn't nearly as generic as FF7Music.  It's designed only for in_psf.dll.  I feel that my stuff has different goals in mind.

    22
    Troubleshooting / Re: Fixing FF7 sound in Vista!
    « on: 2008-01-20 16:43:17 »
    FF7's built-in music volume control doesn't work?  (This would be very odd, because it would imply that the midiOutSetVolume API call no longer has meaning on Vista.)

    I'm working on a reimplementation of certain hacks, FF7Music being one of them.  My version replaces the midi* API entirely inside the process; this is done without passing it to Windows so this MIDI playing won't be a problem.

    23
    What about the in-game volume option?

    24
    Completely Unrelated / Re: The end of emulation?
    « on: 2008-01-19 04:45:24 »
    Actually that's not a new idea. The XBOX emulator that got further (CBXC) tried to emulate the loader and the DirectX calls. Unfortunately, it looks like there were changes on every SDK version. I think they only got Turok working.
    It wasn't the different SDK versions that killed it - it was something known as "link-time code generation" in Visual C++.  DirectX library calls and such were getting literally inlined into game code because of it.  This makes the code different for every game, not just every SDK version.  The Xbox DirectX didn't use vtables for the IDirect3D8 etc. interfaces, they used direct calls, so this happened.

    Xbox 360's backward compatibility woes are likely due to the same problem.

    25
    Completely Unrelated / The end of emulation?
    « on: 2008-01-18 06:20:52 »
    I'm beginning to think that we've reached the end of console emulation, entirely for technical reasons.

    Computers are no longer getting faster; they are getting more parallel.  However, emulating a CPU must be done serially.  If ~4000 MHz is about as high as CPUs can possibly go, then how could we emulate the 3200 MHz G5 in the Xbox 360, when the emulating CPU must be several times faster?

    The PS2 can be emulated thanks to dual-core machines, but that's because the system is parallel to begin with.  The 360 is 3-way parallel, but if you can't emulate one CPU of it at full speed, what's the point?

    Pages: [1] 2