![]() |
![]() |
![]() |
![]() |
![]() |
What is Play! ? |
Play! is a PlayStation2 emulator for Windows, macOS, UNIX, Android, iOS & web browser platforms. For more information about this project please visit the "About" section of this site. |
Compatibility Status |
Fetching compatibility status...
|
Development Log |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-11 00:00:00 |
Problem #1 was caused by some confusion on my behalf that was caused by inconsistant patching to fix Problem #4. So, it wasn't really a problem and it's fine.
Problem #3 might be caused by some MPEG decoding problems. I checked on the stdout output and the game reports some errors while playing the movie. I've started doing some tracing to see what's wrong, but I haven't completed my research yet. I've also added the DMVector VLC table because it was required at one point. I'll keep working on this tomorrow. |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-10 00:00:00 |
Ok, making the movie playing work normally is a bit more troublesome than I thought. I can make it display almost correctly with some things commented out in the source code but if I leave everything as it should be, nothing shows up.
Here's a summary of the problems I'm having right now: 1. The textures used to display the frames are using the decal function, which doesn't seem to work very well for some reason. 2. The frame buffer is cleared just after rendering the frame. 3. A lot of frames are skipped by the game. 4. The texture dimension given for each primitive is 1024x1024 while in reality only the upper-left 640x16 part contains the fragment of frame to render. I don't think this is illegal to do on the real PS2, but it causes problems with the emulator since we end up uploading ~30x 1024x1024 textures during one frame. Problem #1 shouldn't be too hard to fix. Problems #2 and #3 might be related. Problem #4 is fixable with a patch, but patches aren't very appealing. I'll see what I can do for #1, #2 and #3 tomorrow. |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-09 00:00:00 |
I made some changes to the way interrupts are handled to accomodate the way this game does its video playback. I hacked some things around so I could be able to see what's being decoded and here's some preliminary screen shots:
I'll try to make that look better tomorrow. |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-08 00:00:00 |
Completed the necessary MPEG tables required for this first frame.
The game uses some interrupt handler on DMA channel 3 to manage the color space conversion command status. The required emulation to support this isn't quite complete yet, but I should be able to have something working tomorrow. |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-06 00:00:00 |
The other texture mixups are kinda minor, so I'll take note of it and come back to it later.
I started working on making the movie playback work... It seems to use MPEG tables I haven't implemented yet, so I'll have to work on adding them first. I hope to have that done by tomorrow. |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-05 00:00:00 |
I changed the texture caching mechanism to take in consideration the TEXCLUT register in the cache "keying". This fixed most of the other problems I was having with textures having wrong colors, textures being displayed incorrectly, etc.
I also upped the texture cache capacity from 20 to 50... This made a lot of difference, and the game is fast almost everywhere now. There's still one small texture bug I'd like to try fixing, and then, I'll be able to move into making the movie playback work. |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-04 00:00:00 |
Apparently, the nearest texture sampling mode doesn't work very well on my new video card and that's why some artifacts were visible on that last screen shot. I added an option to force the use of the linear sampling mode and the menu items look a bit better when enabled.
I also fixed some stuff with the texture coordinates clamping mode. There's still some more texture problems to fix, and I'll be working on them tomorrow. |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-03 00:00:00 |
Implemented instructions RINIT, RGET, ADDAbc, ERCPR and ADDq in the VU core.
I don't really see any difference from what it was before implementing the instructions, but here's the result: The latest microprogram also does some pipeline abuse, so I think a bit of rethinking of how the VU micro mode emulation work is going to be in order. Not right now though, since the micro mode isn't heavily used. I think I'll concentrate on something else for now. As you can see in that screen shot, there's a lot of texture corruption going on in the game UI elements, so I'll be working on fixing that tomorrow. |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-02 00:00:00 |
Implemented missing instructions MOVE, MR32, ERLENG and MFP. I'll try to have all remaining missing instructions implemented tomorrow. |
Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-06-01 00:00:00 |
Added support for fog in the GS handler.
The fog might be a little bit too strong, but it's kinda hard to evaluate. It seems to work well otherwise. I implemented instruction VITOF0 in the VU coprocessor code. I didn't think about it last night, but the VU1 is also used in some other places too. It is used to render the test tubes that appear at various places and it should be used to render the "cards" when creating new items. The microcode used to render the test tubes seems to be completely different from the one used for rendering the world map, but it seem to work well without any changes to the emulation code. But there's some unimplemented instructions in there though, so I'll need to check what needs to be completed tomorrow. |
<< Older Log Entries | Newer Log Entries >> |