![]() |
![]() |
![]() |
![]() |
![]() |
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-21 00:00:00 |
Started working on the DSxxV fixing task. This is actually an excuse to rewrite the implementation of these instructions, so it might take some days to complete. It'll give me some time to think about the buffer flipping problem. |
Fix previously working programs
Posted on 2006-08-19 00:00:00 |
Started checking about how to detect the "moment of back buffer flipping", but I don't really know where to start. Some demos don't use double buffering at all, so there must be a way to keep the default flipping moment which is at each vblank.
I think I'll try to use some kind of state machine to decide of which moment to use, but I'm not quite sure if it'll be efficient. I'll start implementing this idea next. |
Fix previously working programs
Posted on 2006-08-17 00:00:00 |
I seemed to be able to tweak the threading stuff enough to make all 3 games work. So, I don't think there's any need to touch that anymore.
Next thing I wanna do is to have some kind of automatic screen buffer flipping moment detection, since the scheme used in the 3 games are different. It'll also have to work with demos. |
Fix previously working programs
Posted on 2006-08-15 00:00:00 |
I was able to make the new thread scheduling system to work with Ys I & II. Now, all that remains is to make it work correctly with Castlevania. |
Fix previously working programs
Posted on 2006-08-13 00:00:00 |
Scrapped the old status bar and replaced it with the standard one that comes in Windows. (task)
I still haven't thought of an idea for the thread stuff. I'll keep thinking about it and hope to come up with a solution soon. |
Fix previously working programs
Posted on 2006-08-11 00:00:00 |
I checked why the current thread system wouldn't work with Ys I & II and I remembered that this game was kinda picky about them : if a sub-thread doesn't complete its work before the main thread is woken up, it'll simply get deleted and the game will stay in a state of uselessness... So, maybe a thread shouldn't ever get the control back if there's a higher priority thread still running...
Seems like I'll have to think this over again. |
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. |
<< Older Log Entries | Newer Log Entries >> |