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...

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...

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...

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...

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...

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...

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...

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...

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...

Well, the only compiler related bug I've encountered was having a while() statement that waits for a specific hardware register to change with no code in it would sometimes produce an indefinite loop (branch instruction jumping to itself) but that was fixed by putting some dummy logic into said whil...

I never had any issues working with code compiled using GCC 7.2.0 on the PS1 so I don't exactly know what you're talking about. The compiler's register usage adheres to the R3000 specification and I've had no issue interacting with hardware registers (though it might be because I do such operations ...

These are intended to be used with open source libraries. I haven't bothered compiling any of the existing ones with these builds of the GNU toolchain since I write my own libraries instead (yeah, I'm that hardcore) as the existing ones don't really fit my standards very well but I occasionally use ...

Just added downloads of the toolchain compiled for various hosts including linux-arm (Raspberry Pi). I also added a download of the libgcc library since it is apparently mandatory for things like int64 emulation and for whatever reason it will never compile under Windows.

You can find the pinout right here: http://hitmen.c02.at/html/psx_siocable.html I built my own link cable by using the same wiring as a standard null modem cable but adjusted to go in line with the PlayStation's serial pinout. Handshake lines must be wired accordingly in case of games that use hands...

, "PlayStation", , , "DUALSHOCK", "Net Yaroze" and "PSone" are registered trademarks of Sony Computer Entertainment Inc. .
This page is for informational use only. The user of this software, assumes full responsbility ensuring its use in accordance with local and federal laws.
The software and hardware on this site is provided "as-is", without any express, implied warranty or guarantees.