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 "Castlevania: Yami no Juin" playable.
Posted on 2006-09-15 00:00:00
Humm, the game also seems to call a function of an unimplemented IOP sound module periodically while the "Now Loading..." screen is showing. It's the same function call that required a patch to make the game able to boot, so the problem might be the same here. I'll be working on making this function return something significant to get rid of this patch and to hopefully make the game able to go further.

Make "Castlevania: Yami no Juin" playable.
Posted on 2006-09-13 00:00:00
The goal of this development is to make Castlevania playable on the emulator. That means we'll probably have to deal with a lot of VIF/VU1 stuff. A rewrite of the VU1 engine will probably be required.

But right now, the game won't go past the "Now Loading..." screen after we start a new game or after we load an already existing game. I don't know exactly what's the problem, but it's probably related to some mis-synchronization between the DVD reading thread and the other threads. That's what I'll have to fix next.

I added support for the PSMCT16S texture format in the OpenGL GS Handler : it was used in the menus, but I never took the time to add support for them.

I also want to complete this task in the context of this development.

Fix previously working programs
Posted on 2006-09-11 00:00:00
There seem to be some problems with the special rules I added to prevent MPEG data starvation while working on Ys I & II. These rules shouldn't have existed in the first place and they are there because I didn't design the implementation of the IPU correctly. So, a rethinking is in order, but I think I'll leave that for the development after the next one, and make "Castlevania : CoD" able to render its movies properly at the same time.

So, this is pretty much as far as I can go for now. Next development coming up is making "Castlevania : CoD" playable.

Fix previously working programs
Posted on 2006-09-07 00:00:00
Completed the implementation of the IDEC command and it seems to work alright (no bit stream errors), but I'm getting the hanging problem now with the state that's supposed to be able to go over it... I'll try to see what's going on and hope to come up with a fix soon.

Fix previously working programs
Posted on 2006-09-05 00:00:00
Started working on the implementation of the IDEC command. I'm not really sure it'll fix the hanging problem, because it's possible to bypass it by saving the state just before the scene in which the problem occurs and reloading this state in a new instance of the emulator.

Hopefully, I'll be able to use the implementation of the BDEC and CSC commands to implement IDEC. I should be done by the next time I'll be posting here.

Fix previously working programs
Posted on 2006-09-03 00:00:00
Added a "force flipping on V-Sync" flag in the OpenGL renderer to make some demos that don't use double buffering display something (Quake, 1987 and maybe more).

Fixed the displaying of direct frame buffer image transfers (used in Quake and ps2tut_02a).

The soccer player in the third scene of "Slave of the VU" won't appear because it's suffering of the "tiny Z values" problem that also appears in "Cubemastah". We can fix these two games easily with a patch in the source code, but enabling this patch breaks "Atelier Iris". I don't really know how to fix that right now, so I'll leave it as a task to complete later on.

All that's left now is to find an appropriate fix to that part in "Atelier Iris" that issues an IDEC IPU command and waits for its completion.

Fix previously working programs
Posted on 2006-08-30 00:00:00
Quake and Slave of the VU seem to be sending too much data through the GIF when uploading some textures and that's what was causing the problems. So, I made some changes that'll make any excess data to be ignored.

Fixed a small bug in the implementation of the FILEIO module that caused the VM thread to be destroyed when reading a file beyond EOF (an event that generated an exception that was unhandled). With this fixed, Space Invaders works properly again.

I readded support for the V4-5 VIF compression mode that's used in the 3rd scene in Slave of the VU. The scene itself still isn't working properly, so I'll be working on making it work like it was before.

Fix previously working programs
Posted on 2006-08-28 00:00:00
Completed the changes in PADMAN so it can adapt itself to which version is requested.

Unfortunately, there's some more things I need to fix before I can really call this development complete:

- Some programs, like Quake and Slave of the VU, seem to be causing some problems when uploading image data to the GS.
- Slave of the VU is a bit screwed up, but this is probably because I commented out the implementation of the VIF V4-5 decompressor.
- Atelier Iris will crash during the intro sequence. This is due to the use of an unsupported IPU command which I'll have to implement.
- Add this "force flipping at v-sync" flag for the OpenGL GS handler.

That's pretty much some of the major bugs I can think about for the moment. So, I'll be working on fixing these next.

Fix previously working programs
Posted on 2006-08-26 00:00:00
Found the right place to call the function that flips the buffers : each time something is written to DISPFBx the buffers are flipped. This method works with the 3 games and it even seems to work with the demos that use double buffering. We'll need to add an option to force the flipping of the buffers every v-sync though, because some demos don't display anything at all with this new method.

Also fixed the crashing problem in Atelier Iris. Nothing of the threading stuff was touched... A small memory bound enforcement in the GS memory address handlers did the trick.

Fixed a bug with the threading stuff that was causing some demos not to start properly.

The last thing I want to do is to make the PADMAN IOP module able to select which pad data structure to use depending on the version of the module requested. I've started working on it, and I hope to have it done tomorrow.

Fix previously working programs
Posted on 2006-08-24 00:00:00
Completed the DSxxV fixing task.

I found out about a little bug with Atelier Iris, probably related to the new thread scheduler code, that makes the game crash during the movie playing phase. That'll mean I'll have to do some more tweaks to make it work properly.

But first, I really want to complete the flipping moment detection thing, so I'll be working on that next.

<< Older Log Entries Newer Log Entries >>