Search found 346 matches

by LameGuy64
January 21st, 2019, 11:32 am
Forum: Programming/CPU
Topic: Optimization question floating point
Replies: 6
Views: 1430

Re: Optimization question floating point

I don't recommend making extensive use of floating point math on the PS1 as FPU emulation is just very slow on the already slow R3000 so fixed point integer math is recommended. Try using ratan2(), SquareRoot0(), csin() and ccos() and convert your arithmetic to fixed point integer math. Using 12-bit...
by LameGuy64
January 17th, 2019, 11:44 am
Forum: Work Logs / Projects
Topic: [CANCELLED] Marilyn Fan-game Project Thread
Replies: 56
Views: 57655

Re: [CANCELLED] Marilyn Fan-game Project Thread

Its been a very long time since I've last compiled this game. I think its because the batch file is looking for Dosbox to execute BUILDCD as I used to work on this game in Windows 7 64-bit. Try commenting out the dos_emulator variable at line 19 in run_emu.bat. That should make the batch file run bu...
by LameGuy64
January 12th, 2019, 11:16 am
Forum: Graphics/GPU
Topic: What's the better for PS1-3D?
Replies: 3
Views: 907

Re: What's the better for PS1-3D?

Quads still have some uses even though they still appear as a pair of affine textured triangles when drawn. Namely in optimization as you only have to compute 4 vertices for quads whereas an equivalent comprised of triangles will have 6 vertices to compute. Quads also take up less packet space than ...
by LameGuy64
January 11th, 2019, 11:49 am
Forum: Graphics/GPU
Topic: [Question] Can i create TIM with multiple CLUT's?
Replies: 10
Views: 1670

Re: [Question] Can i create TIM with multiple CLUT's?

Should be doable with this kind of struct: typedef struct { unsigned short r:5; unsigned short g:5; unsigned short b:5; unsigned short i:1; // Mask bit used for transparencies } PIX16; Make an array out of it with 16 elements for a 16 color CLUT or 256 for a 256 color CLUT and then upload them to VR...
by LameGuy64
January 10th, 2019, 7:49 pm
Forum: Graphics/GPU
Topic: [Question] Can i create TIM with multiple CLUT's?
Replies: 10
Views: 1670

Re: [Question] Can i create TIM with multiple CLUT's?

I was meaning to say having a TIM containing a bunch of CLUTs as a 16-bit texture image. A CLUT is really just a 1 pixel high 16-bit texture that is no different to a 16-bit texture image. Technically a 16-bit TIM can contain a CLUT but its not really necessary to have a CLUT in one. Multiple CLUTs ...
by LameGuy64
January 8th, 2019, 3:25 pm
Forum: Graphics/GPU
Topic: [Question] Can i create TIM with multiple CLUT's?
Replies: 10
Views: 1670

Re: [Question] Can i create TIM with multiple CLUT's?

You store the CLUTs as a regular 16-bit TIM file (ie. a TIM containing 8 CLUTs would be 256x8 for 8-bit CLUTs or 16x8 for 4-bit CLUTs) and then use its image coordinates on setClut. To select the other CLUTs simply increment the y coordinate from the coordinates where your TIM of CLUTs is positioned...
by LameGuy64
January 8th, 2019, 10:55 am
Forum: Graphics/GPU
Topic: [Question] Can i create TIM with multiple CLUT's?
Replies: 10
Views: 1670

Re: [Question] Can i create TIM with multiple CLUT's?

So far there aren't any tools that support placing multiple CLUTs inside a single TIM. You could however create a 16-bit TIM containing multiple CLUT rows as a workaround.
by LameGuy64
December 22nd, 2018, 7:11 pm
Forum: General Chat / Messaging
Topic: .SYM files inside PS1 exe?
Replies: 4
Views: 1926

Re: .SYM files inside PS1 exe?

Well, CodeWarrior also does not appear to store any symbol data inside of a PS-EXE either. Its possible those symbol strings you've found are just strings in some libraries used for debug messages. CodeWarrior would actually produce an ELF file (named as a .pse file) but it does not appear to contai...
by LameGuy64
December 20th, 2018, 11:58 am
Forum: Members Downloads
Topic: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)
Replies: 29
Views: 5685

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

The undefined values in the lower 2 bytes of tpri->code[0] are texture page coordinates which varies depending on the arguments specified on setTpagePri and the 4th byte being 0xe1 is the primitive code for setting a texture page which is also set by setTpagePri. I suppose you're unfamiliar with GPU...
by LameGuy64
December 18th, 2018, 12:59 am
Forum: Members Downloads
Topic: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)
Replies: 29
Views: 5685

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

nextpri points to a primitive buffer (in this case a fixed sized global array), usually to a spot where the next primitive should be written to. setTPagePri sets tpri->tag to 0x01000000 and tpri->code[0] to 0xe100xxxx. Reason I wanted to OR 0x200 in it is to set a bit that enables dithering but at o...
by LameGuy64
December 17th, 2018, 12:06 pm
Forum: Members Downloads
Topic: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)
Replies: 29
Views: 5685

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

Oh, so they're actually part of the optimizations? I didn't know it is that clever omitting variables that are never used elsewhere and turning very small functions into in-line code :oops:. somefunc() simply sets a global variable: void somefunc(int value) { global_var = value; } I decided to do an...
by LameGuy64
December 17th, 2018, 11:34 am
Forum: Members Downloads
Topic: LITELOAD - Yet another PS1 serial loader
Replies: 13
Views: 3526

Re: LITELOAD - Yet another PS1 serial loader

Why not use a simple bidirectional communications protocol where data is requested by the guest application on demand? It can be done through SioFS but the problem with that is the debugger always takes the received bytes first and therefore cannot be used with my debugger. I have thought of implem...
by LameGuy64
December 16th, 2018, 11:46 pm
Forum: Members Downloads
Topic: MinGW32 compiled GCC 7.2.0 Toolchain (mipsel-unknown-elf)
Replies: 29
Views: 5685

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

I've been experiencing some really annoying bugs with GCC 7.2.0 as of late, most notably when optimizations are specified. The most significant bug I've encountered is if you compile the following: void myfunc() { ival = 0; somefunc( ival ); do { ival++; ival = ival * 2; somefunc( ival ); somefunc( ...
by LameGuy64
December 14th, 2018, 1:46 pm
Forum: General Chat / Messaging
Topic: .SYM files inside PS1 exe?
Replies: 4
Views: 1926

Re: .SYM files inside PS1 exe?

That's interesting, with the standard Programmer's Tool SDK the symbol data is usually generated to a separate file with a .sym file extension and symbols are typically not stored inside of a PS-EXE. It might be a PS-EXE created using CodeWarrior which uses its own compiler (MIPSPRO) and from what I...
by LameGuy64
December 14th, 2018, 12:42 pm
Forum: Members Downloads
Topic: LITELOAD - Yet another PS1 serial loader
Replies: 13
Views: 3526

Re: LITELOAD - Yet another PS1 serial loader

mcomms is pretty much LITELOAD's equivalent to catflap, even borrows some command line parameters from that. mcomms up texture1.tim 0x80100000 mcomms up texture2.tim 0x80110000 mcomms run program.exe You may want to set MC_DEVICE=<serial port> environment variable so you don't have to specify serial...
by LameGuy64
December 13th, 2018, 12:28 pm
Forum: Members Downloads
Topic: PSn00b Debugger - Homebrew debugger for retail consoles
Replies: 8
Views: 2188

Re: PSn00b Debugger - Homebrew debugger for retail consoles

Well, there are actually some new motherboards as recent as Socket 1151 and AM4 still being made with parallel ports on it usually as a pin header that you can connect the same DB25 connectors from an old AT machine to. My i5 4590 rig for example has such a header and I can actually use my Xplorer o...
by LameGuy64
December 13th, 2018, 11:50 am
Forum: Members Downloads
Topic: LITELOAD - Yet another PS1 serial loader
Replies: 13
Views: 3526

Re: LITELOAD - Yet another PS1 serial loader

PS-EXE size varies depending on what libs and how much data you include into your program. I typically get around around 50-60KB in small programs that use libgpu alone but you'd likely get around 90-120KB if you use libgs on top of it for example hence why I'd recommend using libgpu alone over libg...
by LameGuy64
December 12th, 2018, 2:15 pm
Forum: Members Downloads
Topic: PSn00b Debugger - Homebrew debugger for retail consoles
Replies: 8
Views: 2188

PSn00b Debugger - Homebrew debugger for retail consoles

This is a PlayStation debugger I made entirely from scratch, debugging programs on real hardware is no longer exclusive to official development hardware with PSn00b Debugger as it works on retail units with a modchip and a serial cable of some sort preferably one that uses a 3.3v USB TTL serial adap...
by LameGuy64
December 11th, 2018, 6:35 pm
Forum: Members Downloads
Topic: LITELOAD - Yet another PS1 serial loader
Replies: 13
Views: 3526

Re: LITELOAD - Yet another PS1 serial loader

Just released version 1.1 which adds support for kernel patches intended for PSn00b Debugger. The protocol has also been updated so a newer version of mcomms (0.82 and onwards) is required.
by LameGuy64
December 11th, 2018, 5:51 pm
Forum: Psy-Q SDK
Topic: how to control the parallel port in/out from xplorer or action replay ?
Replies: 1
Views: 777

Re: how to control the parallel port in/out from xplorer or action replay ?

http://problemkaputt.de/psx-spx.htm#cheatdevicesxplorermemoryandiomap Hardware registers starting at 0x1f060000 and onwards are relevant to the Xplorer's parallel port interface. Its a tricky interface to make use of especially when sending data out to the PC since there are only 4 outputs to the PC...