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-04-25 00:00:00
Ok, the problem is apparently caused by the amount of space allocated by the program for the CLUTs in VRAM that's too small. Right now, the program provides CLUT addresses that are separated by 0x200 bytes while they should be separated by 0x800 bytes in theory. Then, what happens is that the colors in a CLUT that's nearer from the beginning are getting corrupted by a subsequent CLUT transfer.

I'm still not sure where might lie the source of this problem, so I'll keep investigating on this tomorrow.

Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-04-23 00:00:00
Did some more work to try to get the colors to display correctly today. The CLUT handling seems to be alright since we can see the elements with the right colors during one frame. So I've been trying to figure out why they're being screwed the frames after, but I didn't find anything yet...

Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-04-22 00:00:00
Played with the texturing stuff, but didn't fix everything. The menus seem to be a bit better now, but they might be broken to accomodate something else, so it's hard to tell if it's the right solution. The problem lies on the way I read the color information from the CLUT stored in the GS memory.


Screenshot #000106 Screenshot #000107 Screenshot #000108


I'll keep working on that tomorrow.

Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-04-21 00:00:00
Fixed a bug with QMFC2 and QMTC2. This fixed the jerky movement of the sprites in the title screen.

Implemented instructions VFTOI0, VFTOI4, PADDSW, ADD and ABS.S.


Screenshot #000102 Screenshot #000103
Screenshot #000104 Screenshot #000105


We only see the field in the first scene for a second, but we can see it "correctly" in subsequent scenes though. It might be invisible because the colors aren't quite right, so I think I'll be working on this now. The game continues to work even after this, but I didn't bother taking screen shots since it didn't look any better.

Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-04-20 00:00:00
Made a thread's context to be cleared to zero when a thread is created. That was causing some problems when the movie decoder thread was being switched into.

Found some patches to apply to abort movie playing automatically. This allows us to get to the main title screen:


Screenshot #000100 Screenshot #000101


We can get the main menu if we press the start button, and we can make the title screen disappear when selecting the "New Game" option, but it's not going any further. We can also go in the options menu and change the stuff around. Tomorrow, I'll try to fix things up to be able to see the intro sequence, and then I'll start making things look better.

Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-04-19 00:00:00
The game is now able to process the pad button bits correctly. So, we're able to control the little cursor in that first menu and choose to go ahead without a memory card (even though it feels a bit jerky).

I added support for the DIRECT VIF code in the VIF module.

It's now trying to play the first movie, but it stays stuck in some function trying to disable the interrupts.

Tomorrow, I'll try to find a way to skip movie playing, because I'd rather work on making the game able to get to the playing modes first and come back to the movies afterwards.

Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-04-18 00:00:00
I tried to make the PADMAN module to work with this game, but nothing yet. I'll be doing some more debugging tomorrow to be able to make it work.

Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-04-17 00:00:00
Added missing instructions PEXTLH, PEXT5, VSUB, VMR32, VSQRT, VADDq, VNOP, VDIV, VMOVE, PEXTLW, PEXTUW, QMFC2 and QMTC2.

Fixed a little problem that was occuring with the direct frame buffer upload handler.

Changed the texture caching mechanism to take in consideration the texture format to prevent it from returning false positives.

I played around with the PSMT4 texture format converter, but I couldn't find a definitive solution to all the bad colors. This is the best I could do today:


Screenshot #000099


Some elements show right (the cane cursor and the frame of the message box below), but others seem to be using the wrong CLUT. For example, if I force the inside part of the message box to use the same CLUT as the frame, it'll display correctly.

I think I'll go on ahead and make the controller work so it'll be able to go further. Maybe I'll find more interesting examples of how it's supposed to work in reality.

Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-04-16 00:00:00
Added support for GS image transfers where the destination format is PSMT4HH and added support for this texture format to the GS handler. This fixed the text:


Screenshot #000097


The frames and other graphics were still not looking right though... After inspecting the stdout log, I found out that it seemed to have trouble reading a file off the DVD. I did some tracing in the debugger and saw that the program was using an unsupported CDVDFSV sector reading command and added it in the CDVDFSV module emulation. Then, it started uploading some more textures but this time using the PSMT4HL format. I changed the code to add support for this other format and the rest of the graphics were now visible:


Screenshot #000098


The colors are still screwed up though, and some unhandled instructions showed up. I'll also need to tweak the texture caching mechanism to take more than only the pointer to the texture buffer as a key. I'll work on these changes tomorrow.

Make 'Iris no Atelier: Eternal Mana' work.
Posted on 2006-04-15 00:00:00
I chose this game for this new development because it mainly uses 2D stuff. It also uses some 3D parts (battles and the world map) but they aren't very elaborated, so it shouldn't be too harsh on the VU stuff.

First, since this is a new version, I changed some stuff about how the iterators of the CList class in the Framework work and changed the names of the CSlot and CSlotHandler classes to CEvent and CEventHandler.

I fixed a problem with the misinterpretation of the slashes side in the CDVDFSV IOP module which was making the game not finding a file on the DVD and hanging there till it would find it.

I then added support for REGLIST mode in the GIF module and added the processing of two new packing formats in the PACKED mode.

Surprisingly, with only these changes, the game is able to boot and display the memory card verification screens. But unfortunately, the game seems to use a 4-bits texture format to display its contents... I made some quick hacks to be able to see what it's displaying and here's what it gives:


Screenshot #000096


It's kinda screwy, but it's a start. To fix the screen, I'll first need to add support for the PSMT4HH pixel format in the image transfer handler. Then, I'll need to add support for this texture format in the GS handler. Fortunately, it doesn't seem abuse texture uploading, so these screens should be able to run at a decent speed with the texture caching.

<< Older Log Entries Newer Log Entries >>