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 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-12-04 00:00:00
Been working on the new configuration system. I needed to make some changes to the XML engine, so it took a bit longer than expected. Should be done tomorrow.

Make 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-12-03 00:00:00
I investigated the white square size problem and I was able to find out how the coordinates of this box were calculated:

X1 = (VideoSizeX / 3) + 224
Y1 = (VideoSizeY / 3) + 90

X2 = VideoSizeX - 56
Y2 = VideoSizeY - 23

This demo sets VideoSizeX to 640 and VideoSizeY to 224. This gives us (437, 164) for the upper left corner and (584, 201) for the lower right corner.

Once we multiply the Y coordinates by two to accomodate the viewport to screen transformation, we get the correct coordinates of this rectangle as seen on the screen shot.

The values used for VideoSizeX and VideoSizeY in the code are the right ones and they are set when the GS is initialized. So, I have no idea what's wrong...

This problem might be related to the font problem. I've checked this one again and I've checked the source code to this demo's framework and it really gives the width of the font texture in the TEX0 register instead of the width of the texture buffer size.

I'll ponder about it and see if I can find a solution for those. I'll start working on the new configuration system for now.

Make 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-12-02 00:00:00
Fixed the problem with the black areas where the text should be. The texture function used for all the textures in this demo is DECAL and that wasn't supported. Supporting this function made the text areas work correctly.

Also made the Z coordinate converter to take in consideration the bit depth of the Z-buffer. This demo uses a 16-bits Z buffer, so the Z values fed to the GS are scaled accordingly in the [-1, 1] range.

With these little fixes, most of the demo shows up properly.


Screenshot #000055 Screenshot #000056 Screenshot #000057
Screenshot #000058 Screenshot #000059 Screenshot #000060


There's a little problem with the sub-area in the "scripting rocks!" scene, which should be bigger, that I'll try to fix tomorrow.

Make 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-12-01 00:00:00
Fixed the problem with the textures. They were broken because I was decoding them using a RGBA 5551 format instead of a ARGB 1555 format.


Screenshot #000054


All the textures used in this part of the demo have thier buffer width set to 640 in contrast to those used in the loading sequence which use a width of 512.

I've been looking into the black text area problem in some scenes. First, I added the required blending function that's used for these areas, which is a simple color addition formulae. Now there's a little problem with the RGB components for each of the vertices that come from RGBAQ register which makes them all equal to 0. That's why they are appearing as a black rectangle with no texture in them.

There's also a problem with the depth buffering that I'll have to investigate later.

Make 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-11-30 00:00:00
Made some changes to the log window class.

Fixed a problem with LQC2 and SQC2 that was causing the X and Y coordinates of the vertices fed to the GS to be equal.

If we disable depth testing and alpha testing, it's possible to see some graphical output from the demo.


Screenshot #000051 Screenshot #000052 Screenshot #000053


The textures are kinda screwed up. I'll be looking into the problem tomorrow.

Make 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-11-29 00:00:00
Converted all the register view panels to the new panel type that allows scrolling.

Implemented LQC2, SQC2, VMADD, VMADDA (broadcast), VMULA (broadcast).

Fixed a little bug in the FPU reflection tables.

There's no more invalid instructions now, but there's nothing showing. The vertices given to the GS have the same X and Y coordinates. I'll investigate on this problem tomorrow.

Make 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-11-28 00:00:00
Created a pane for the VU registers in the debugger. It took some time because I had to made it scrollable since there's a lot of information to display. I'll probably make the current panes like this one too tomorrow.

Make 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-11-26 00:00:00
Fixed some minor stuff with the LOADFILE IOP module. I still don't know what the function 0xFF is for, but it's called just after the client structure has been bound with the module. It probably just an initialization routine.

I implemented the disassembly of the missing VU instructions. The instructions to be implemented are LQC2, SQC2, VMULA, VMADDA and VMADD. It'll take a bit longer than I expected at first, but I should have them done by the next time.

Implemented instruction ADDI.

Make 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-11-25 00:00:00
Fixed the GS image transfer routine to take the pixel format in consideration. Also supported 16 bpp texture loading. But there seem to be a little problem with the texture buffer width provided by the demo. Because the image was transfered with a destination buffer width of 640, the texture buffer width given in the TEX0 register should also be 640, but it is set at 512 for some reason. I have absolutely no clues why this is happening, but I'll wait till I get more textures input from the demo to go more in depth into this problem. For now, the buffer width is hardcoded to 640.

This made the little status text appear:


Screenshot #000050


I cleaned up the disassembly stuff in the FPU class to be conform to the new reflection engine and I implemented the SQRT.S instruction.

The demo seems to be able to load itself properly now. There's a little thing with it calling the 0xFF function of the LOADFILE IOP module at the end of the loading phase that has something to do with the initialisation of the Amiga Module player.

The main part of the demo isn't showing up though. There seem to be some VU instructions missing that prevents it from going further. Nothing too hardcore and I should be able to complete them tomorrow.

Make 'Lobotomia by No Recess/CONDENSE' work.
Posted on 2005-11-24 00:00:00
Added instructions DSRA, DSLLV. There's a little optimisation I thought of when working on DSRA. Instead of checking for the shift amount each time in the generated code, the check could be done by the compiler.

Fixed a little bug with JALR when the target address register was RA.

Tomorrow, I'd like to get the loading status text to work. It doesn't work right now because it uses 16 bpp textures.

<< Older Log Entries Newer Log Entries >>