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

Fix previously working programs
Posted on 2006-08-09 00:00:00
Completed the testing of the PEXTLH instruction implementation for the MMX platform task. Also implemented a missing function required for the execution of the PCEQW instruction on MMX CPUs.

I made a first try tweaking the thread scheduling stuff, but Ys I & II and Castlevania don't seem to like the changes. The new system forces a reselection of the thread to execute at each v-blank and allows the execution of all threads whatever thier priorities are. So, some threads that weren't touched before are now executed and this might be what is causing the incompatibility. I'll keep working on that tomorrow.

Fix previously working programs
Posted on 2006-08-08 00:00:00
Finished the exception handling logic fixing task.

I think what I have to do know is rework on the thread scheduling stuff. The thread election should be done at set intervals and not only when some selected system calls are called. I'm not really certain of the concept yet, so I'll keep thinking about it and try to come up with something tomorrow.

Fix previously working programs
Posted on 2006-08-07 00:00:00
The "SetVSyncFlag" system call implementation seems to be what was causing the problems with Ys I & II hanging just before starting playing the DigiCube movie. I changed the implementation of this system call for Castlevania to return 0x2000 instead of 0 but Ys was waiting for this 13th bit to be cleared before proceeding. I think this bit represents whether we're on the odd or even field, so I made this value the same as the one kept in the GS handler. It seems to be enough to make Ys go further without breaking Castlevania.

Ys is still a bit screwy though : the MPEG decoding stuff doesn't work really great and the screen always moves up and down even though the interlaced compensation thing is supposed to be working. I'll have to work on these tomorrow.

As for Atelier Iris, it still hangs at the same place, but it can randomly go through the place it hangs and continue normally with the game. If it goes through, the game works as it was working before.

If it's random, then the thread scheduler might be in cause because it randomly selects a ready thread, which isn't a good thing. So, that'll have to be reworked too.

Here's some things I'd also like to finish in the context of this development : this, this, this and this.

Fix previously working programs
Posted on 2006-08-06 00:00:00
The goal of this development is to get all games/most demos I've been working on previously to work properly again. I'll start by working on the games then I'll try to do the same with some of the broken demos.

I've made the current Castlevania stuff work under the MMX target. I've also fixed some things in the MCSERV IOP module implementation that were making the emulator crash when running 'Atelier Iris'.

The texture swizzling stuff for the PSMT8 texture format wasn't completed and was making the screen in 'Ys 1 & 2 Eternal Story' screwy. So I fixed the swizzling routines for this texture format and made this game display correctly again.

Right now, 'Atelier Iris' and 'Ys 1 & 2 Eternal Story' won't go past thier memory card loading status screens. I haven't investigated the problem deeply yet, but it might be related to the thread scheduling stuff. I'll be working on fixing that tomorrow.

Castlevania : Yami no Juin - Improve the speed and add memory card support
Posted on 2006-07-29 00:00:00
Implemented methods Open, Read and Close. The save file can be successfully read from the disk now.


Screenshot #000149


This screenshot shows the save loading screen. The names are in english even though it's the japanese version that's running, because the game seems to change the language of the game according to the data coming from the memory card (the save data used was from the american version).

This is all for this development. The next one is probably going to deal with fixing the other supported games/demos so everything can work together. Then after, we'll be working on getting the actual content of the game to work.

Castlevania : Yami no Juin - Improve the speed and add memory card support
Posted on 2006-07-28 00:00:00
Fixed the GetDir method so that the game likes it. Now, we're getting a request for opening the save file in read mode. I'll try to have the Open, Read and Close methods done tomorrow.

Castlevania : Yami no Juin - Improve the speed and add memory card support
Posted on 2006-07-27 00:00:00
Implemented the basic idea behind the GetDir function, but the game doesn't seem to like it yet. I'll keep working on that tomorrow.

Castlevania : Yami no Juin - Improve the speed and add memory card support
Posted on 2006-07-26 00:00:00
Seems like I was able to find the right memory card type number to make the program send more interesting commands to the MCSERV IOP module. It's sending "GetDir" right now, so I'll be working on implementing this command tomorrow.

Castlevania : Yami no Juin - Improve the speed and add memory card support
Posted on 2006-07-25 00:00:00
Fixed a small bug in the code generator.

I've started working on adding memory card support... The detection of the card doesn't work yet, but I'm planning to have it done tomorrow. After making that work, the rest shouldn't be too problematic.

Castlevania : Yami no Juin - Improve the speed and add memory card support
Posted on 2006-07-24 00:00:00
Completed the first version of the memory card manager.

Tomorrow, I'm going to start working on adding support for memory card reading in the emulator.

<< Older Log Entries Newer Log Entries >>