Search found 22 matches

by Sblorgz
February 3rd, 2019, 11:42 pm
Forum: Examples (Psy-Q)
Topic: 3D FPS Example
Replies: 41
Views: 23735

Re: 3D FPS Example

The official way to do that is to fill the holes with degenerated triangles (i.e. rendered as textured lines).
by Sblorgz
January 21st, 2019, 7:19 am
Forum: Programming/CPU
Topic: Optimization question floating point
Replies: 6
Views: 2877

Re: Optimization question floating point

Take advantage of fixed point math (float operations are horribly slow) and use SquareRoot0 for magnitude and catan instead of atan2 for direction.
by Sblorgz
December 15th, 2018, 6:19 pm
Forum: Psy-Q SDK
Topic: PSY-Q library format?
Replies: 2
Views: 2944

Re: PSY-Q library format?

Sorry to necropost but only now I noticed this. armips has support to link both objects and libraries used in PSY-Q. You can extract code and symbols for an lnk to elf conversion.
by Sblorgz
December 13th, 2018, 1:12 pm
Forum: Members Downloads
Topic: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)
Replies: 29
Views: 9769

Re: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)

It's likely a missing volatile declaration or some macro using a type cast. Doubt GCC got that broken with standard variable types on MIPS, but if volatile is already there it's certainly not a good thing.
by Sblorgz
December 13th, 2018, 8:29 am
Forum: Members Downloads
Topic: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)
Replies: 29
Views: 9769

Re: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)

I suppose the reason why I don't run into such compiler related issues is because I write all low level stuff in my libraries entirely in assembly which is how its supposed to be done when dealing with hardware registers. Problem is PSY-Q libraries are mostly written in C, only a very restricted am...
by Sblorgz
December 10th, 2018, 6:20 am
Forum: Members Downloads
Topic: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)
Replies: 29
Views: 9769

Re: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)

I mean intentionally weird code like the following taken from libspu: // spu time waster void _spu_Fw1ts() { int v[2]; v[1] = 13; v[0] = 0; goto stuff; while (1) { v[1] += v[1] * 12; v[0]++; __asm__ volatile ("nop"); __asm__ volatile ("nop"); __asm__ volatile ("nop"); stuff: if (v[0] >= 60) break; }...
by Sblorgz
December 9th, 2018, 2:28 am
Forum: Members Downloads
Topic: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)
Replies: 29
Views: 9769

Re: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)

If you did write any low level libraries then you should probably already know what kind of screw ups modern GCC can do to PSX i-cache (code reorder specifically, which can be awful) and with hardware register access (i.e. unwanted default optimization to operations like spu stagger for wait loops)....
by Sblorgz
December 8th, 2018, 11:52 pm
Forum: Members Downloads
Topic: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)
Replies: 29
Views: 9769

Re: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)

Does this even work with Psy-Q natively or with converted libs? Because otherwise you're in for a can of warms with those system calls and open source libraries to port correctly.
by Sblorgz
August 18th, 2018, 8:40 am
Forum: General Chat / Messaging
Topic: BIOS header information
Replies: 1
Views: 1405

Re: BIOS header information

The BIOS doesn't have a header, the first byte of it is the entry point. All id strings contained inside the data are retrieved via system calls and can not always be found in the same spot.
by Sblorgz
June 29th, 2018, 4:25 am
Forum: General Chat / Messaging
Topic: hoping to start psxdev as a hobby
Replies: 12
Views: 4443

Re: hoping to start psxdev as a hobby

So does PSYQ if you configure it and use a recent make. You can even compile PSXSDK with the official toolchain if you change a few things around.
by Sblorgz
June 27th, 2018, 2:13 am
Forum: Graphics/GPU
Topic: Question about transition
Replies: 18
Views: 5600

Re: Question about transition

Sure, send a pastebin link, it's easier to read.
by Sblorgz
June 27th, 2018, 1:09 am
Forum: Graphics/GPU
Topic: Question about transition
Replies: 18
Views: 5600

Re: Question about transition

You can't mix libgpu and libgs unless you know exactly what the latter does internally. With that said, I think you are missing quite a few initialization points for libgs internals, like OTag definitions for size and ot starting pointers. Functions such as GsClearOt require a GsOT structure for myO...
by Sblorgz
June 26th, 2018, 10:57 pm
Forum: Graphics/GPU
Topic: Question about transition
Replies: 18
Views: 5600

Re: Question about transition

You have a call to ClearOTagR() that isn't necessary because it's already in GsClearOt(). Also do not update both TILE primitives' RGB channels, only redefine those for the current buffer TILE or otherwise you will get glitches with colors jumping around.
by Sblorgz
June 26th, 2018, 2:21 pm
Forum: Graphics/GPU
Topic: Question about transition
Replies: 18
Views: 5600

Re: Question about transition

Try a better solution like a loop to initialize those primitives: // after declaration for(i = 0; i < 2; i++) { setTile(&tile[i]); setDrawMode(&dr_prim[i], 0, 0, getTPage(0, 2, 0, 0), 0); setSemiTrans(&tile[i], 1); setRGB0(&tile[i], 128, 128, 128); setXY0(&tile[i], 0, 0); setWH (&tile[i], SCREENXRES...
by Sblorgz
June 25th, 2018, 6:19 pm
Forum: Graphics/GPU
Topic: Question about transition
Replies: 18
Views: 5600

Re: Question about transition

You're still doing it incorrectly, you need something like this: // declaration TILE t[2]; DR_MODE m[2]; [...] // inside draw loop AddPrim((u_long *)&myOT[ActiveBuffer][0], &t[ActiveBuffer]); AddPrim((u_long *)&myOT[ActiveBuffer][0], &m[ActiveBuffer]); Also don't bother with MargePrim(), it's pretty...
by Sblorgz
June 23rd, 2018, 2:04 am
Forum: Graphics/GPU
Topic: Question about transition
Replies: 18
Views: 5600

Re: Question about transition

You still have only one primitive for each type, you need two per frame: they have to be different or otherwise DMA will commit suicide. Also you aren't setting any blending mode in DR_MODE.
by Sblorgz
June 20th, 2018, 3:01 am
Forum: Research
Topic: Does anyone have any info about the early PSX 'OS' SDK?
Replies: 5
Views: 3651

Re: Does anyone have any info about the early PSX 'OS' SDK?

Unfortunately we don't have any rips of extremely old PSYQ versions, just the libs with only Japanese documentation (something like 3.4 iirc). Having access to older sdk disks would definitively help in figuring out some dates there.
by Sblorgz
June 10th, 2018, 2:12 am
Forum: Psy-Q SDK
Topic: Compiling C++ code with PsyQ/Programmer's Tool SDK
Replies: 1
Views: 2146

Re: Compiling C++ code with PsyQ/Programmer's Tool SDK

Simply check which features were supported in GCC 2.8.1 and you will know what PSQY-Q's toolchain supports, since it's a modified GCC with custom linkable objects and overlay support through linker maps.
by Sblorgz
May 27th, 2018, 2:02 am
Forum: Graphics/GPU
Topic: Question about transition
Replies: 18
Views: 5600

Re: Question about transition

That's because you need two primitives, one per draw environment. Also, you need to set the transparency flag on TILEs otherwise blending won't trigger.
by Sblorgz
May 24th, 2018, 6:41 am
Forum: Graphics/GPU
Topic: Question about transition
Replies: 18
Views: 5600

Re: Question about transition

You would use a TILE + DMODE primitive that covers the whole screen, create the DMODE as subtractive color, then change the TILE RGB to change fade transition. RGB = 255 means the mask will make the screen fully black, RGB = 0 makes the screen visible again.