PS2 Julian's various PS2 projects (Worklog)

Sent patches for implementing BDM interface support for atad.
This is a stepping stone for 4096 sector size support...

---

I plan to add a vmc variant to mcman, and make mcman portable to POSIX platforms and 64 bit.
This will allow easier fuzz testing of mcman, to find issues like invalid memory accesses and infinite loops (like the one I found while implementing external flash rom support which is caused when memory card has ECC support disabled).
Also, this is a stepping stone towards re-implementing libmc2, which basically moves the majority of the memory card filesystem processing to the EE.
 
This is probably what might be needed for a moonlight streaming client on PS2...

H.264 code could be pulled from Simple Media System. I'm not actually sure about the performance characteristics of H.265...

Opus code can be pulled from libopus...
 
I think SMS does not support h.264 (MPEG4v10 "AVC") but only h.263 MPEG4v3/DivX/Xvid, although I think that the PS2 could handle h.264 in SD, especially when the hardware is being properly used...
 
Hmm... I have some free time for a week.

Up next:
* debugging tools

Other stuff:
* arcade modules
* UDPBD cleanup
* SYSMEM and LOADCORE
* mcman portability

Planned (but not a priority):
* OpenGLES 1.1 implementation using GS
* OpenAL implementation using SPU2
* Lightrec port
* GLTF 2.0 scene renderer using OpenGLES 1.1 port
* libosd RE
* sd2psx memcard folders
 
After helping various people with various stuff, I realize that there are fundamental issues that need to be resolved.

Basically, make a new design such that it is:
* Easy to maintain and contribute (even for React webdevs! Or people that put their question in Google)
* Easy to debug (no need to rely fragile printf setups, use gdb/deci2 remote protocol on real hardware and pcsx2...)
* Easy to test (remote command line, remote power (optionally using ir blaster or optocoupler))
* Code, documentation, API, and knowledge reuse (don't need to constantly NIH everything, use the libraries everyone else is using, allow the solutions posted on e.g. StackOverflow to work just fine)
* Documentation improvements for the stuff that can't be reused for some reason

Work on this will probably start when I am finished with university
 
I got UDPBDv2 cleaned up and working in my environment. Related code has been pushed.

Some tidbits:
* 512 byte and 256 byte size transfers are corrupted (some parts repeat, and the rest is just 0s)
* OPL ingame debug also loads its own SMAP modules. You probably don't want this if you are debugging over PIF.
* Make sure the UDPBD server is only running on one interface (either of Thunderbolt or Wi-Fi). Running on multiple simultaneous interfaces on the same network causes problems.
* If you get errors like "dev9: Invalid tuples at offset 0x50000ffc." or "dev9: MANFID 0x00f15300 not found.", try slamming the dev9 interface board a few times.
 
Moved a lot of my current projects to a new system running Ubuntu 22.04, from my old macOS 10.14 system.

This should make it easier to work on stuff using newer tools, in a more reproducible environment, and also allow me to access it remotely.
 
One primary reason I have for automatically testing is the following:

Easier to run one command and get results than asking many people to test for you and get non standardized results in many non standardized formats.
Also, the mental overhead of the former is lower than the latter
 
I got UDPBDv2 cleaned up and working in my environment. Related code has been pushed.

Some tidbits:
* 512 byte and 256 byte size transfers are corrupted (some parts repeat, and the rest is just 0s)
* OPL ingame debug also loads its own SMAP modules. You probably don't want this if you are debugging over PIF.
* Make sure the UDPBD server is only running on one interface (either of Thunderbolt or Wi-Fi). Running on multiple simultaneous interfaces on the same network causes problems.
* If you get errors like "dev9: Invalid tuples at offset 0x50000ffc." or "dev9: MANFID 0x00f15300 not found.", try slamming the dev9 interface board a few times.

Does that mean UDPBD can support playing online?
 
Never looked at that.

Is that on the roadmap?


Also if I wanted to start developing for the PS2 and start contributing.

What skills would I need and how would you recommend I get started?

I have a degree in compsci but it's been over a decade since I've done anything with hardware or C#.
 

Similar threads

Back
Top