Various PS2 projects

Discussion in 'General PS2 Discussion' started by uyjulian, Oct 11, 2018.

  1. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    HELP WANTED:
    If you have knowledge in these areas, please post here or send me an e-mail!
    GCC MMI for R5900 (require knowledge of internal workings of GCC codegen)
    IOP module reverse engineering (require knowledge of MIPS)

    Here are various PS2-related projects which I am doing, which probably aren't big enough to warrant their own thread. If they get big enough or reach a certain state, I might open specific threads for them.

    These are arranged in priority order. However, each item is worked off and on, and I am also doing non-PS2 related projects which are not on the list below.

    Some work has been done, but nothing big:
    KirikiriZ port to PS2
    APA/PFS FUSE implementation (Access files on your PS2-formatted HDD using your native file system browser)
    Various PS2SDK cleanup (spacing, doxygen documentation)

    On hiatus:
    Open source UI library based on OSDSYS assets
    OSDSYS asset extraction and insertion (Assets like the fonts, browser icons, sounds, and textures can be created from scratch)
    Open source OSDSYS implementation based on HDDOSD (A full reimplementation of the menu that you see when you turn on your PS2; includes an implementation of the "hacked OSD" menu from FMCB and the HDD menu and settings)
    PS2 IOP reimplementation (Open source modules; the majority of the code that makes up the "PS2 BIOS", PS2 ROM, or IOPRP images.)

    Planning stage (no code has been written):
    TOOL as a service (Remote access to a PS2 TOOL using ssh including video streaming, dsnet access, and up-to-date ps2toolchain)
    dsnet through IEEE1394 interface
    SPC700 (SFC) using SPU2 (Speed improvements for SNES emulator)
    Other sequenced music using SPU2 (Take a look at various sequenced music supported in Cog)
    Mechacon fuzzing (Possible firmware dump, and bypassing the disc type check without any modchip?)
    OSDSYS/DVD Player/IOP release 1.3.4 fuzzing (Possible exploit for ROM versions 230 and up?)
    PPC-IOP (re)compilation/toolchain (Speed up processes and use more RAM on newer Slimline models)
     
    Last edited: Aug 25, 2019
    T.A.U, dekkit, Anonamous and 8 others like this.
  2. 8,991
    9,150
    1,172
    STLcardsWS

    STLcardsWS Administrator

    Joined:
    Sep 18, 2014
    Messages:
    8,991
    Likes Received:
    9,150
    Trophy Points:
    1,172
    Nice post, always good to share your idea's, never know someone else may be planning some of the same stuff or may be intrested and be the fuel to some great things.. :) What the scene is all about. !!!! Honestly wish we seen more post like this.
     
    Kier_1234657 and Zazenora like this.
  3. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    Running the gsKit hires sample on PS2 Tool
    [​IMG]
    Now, I just need to find a way to switch video mode to component so that I can capture it with my capture card...

    I might recompile most of the open-source components in Red Hat Linux 5.2 or Red Hat Linux 6.2 with GCC 8, depending on if I can get the build system up and running, and if I receive a copy of the disk image based on Red Hat Linux 6.2.
     
    jolek and Tupakaveli like this.
  4. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    I added quite a bit more information to the OP.
     
  5. 136
    35
    57
    Incorruptable

    Incorruptable Member

    Joined:
    May 22, 2018
    Messages:
    136
    Likes Received:
    35
    Trophy Points:
    57
    Location:
    Ireland
    I wont pretend i understand what most of your original post is describing, because i don't, but it all sounds like more great tools for PS2 owners.

    I love my PS2, i was literally only playing it over the weekend and cleaned it out and up again.
     
  6. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    I have the entire next week off, and after 4 weeks after that week, I have 2 weeks off.

    I've been brainstorming; now I'm going to actually implement stuff.

    Check my repos for activity!
     
  7. 709
    1,253
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    709
    Likes Received:
    1,253
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    But, you are supposed to use the TOOL from across the network. Not with SSH though, but with the dsnet tools. There's generally no need to log into the TOOL itself.
     
  8. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    I was thinking about hooking a computer running dsnet-compatible tools with capture card and ethernet adapter to the TOOL for purposes like remote development and continuous integration. It's nice to relax on my couch while programming and testing PS2 homebrew software.
     
  9. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    I did some work on reversing dsnet tools. Everything compiles, but crashes (probably because I need to fix the pointer size)
    Progress is currently stopped because I'm having intermittent issues with my laptop. Sometimes, it hangs when I move it around. It works again when I apply pressure to it.

    I'll have to get that fixed.
     
  10. 2,253
    2,172
    372
    Berion

    Berion Developer

    Joined:
    Feb 3, 2015
    Messages:
    2,253
    Likes Received:
    2,172
    Trophy Points:
    372
    Gender:
    Male
    Location:
    rom0:/
    Hi, any progress on "fuse-pfs" (or something like this)? ^^"
     
    RivalK93 likes this.
  11. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    I started writing boilerplate code. Nothing is working yet
     
    Berion likes this.
  12. 1,063
    549
    222
    TnA

    TnA Senior Member

    Joined:
    Jul 1, 2018
    Messages:
    1,063
    Likes Received:
    549
    Trophy Points:
    222
    Gender:
    Male
    Location:
    Germany --> Saxony
    I had a similar issue which in my case was caused by an old SSD (We call it Schrödinger's SSD now... It solely works if you do not look at it.). It couldn't hold power or so... It could be something else of course, but I thought it is worth mentioning (it).
     
    Last edited: Nov 27, 2018
  13. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    I'm back!

    Figured out why my laptop was having problems
    It would randomly hang on disk access, and randomly fail to find the internal disk on startup
    showing the "insert disk" screen
    and it would randomly start working again if I pushed the bottom where the disk cable was
    [​IMG]

    I replaced the disk/sleep LED/IR sensor cable, and everything is good again!
     
  14. 1,063
    549
    222
    TnA

    TnA Senior Member

    Joined:
    Jul 1, 2018
    Messages:
    1,063
    Likes Received:
    549
    Trophy Points:
    222
    Gender:
    Male
    Location:
    Germany --> Saxony
    Oh great! So it wasn't directly related to the internal HDD, but to something close to it and 'powering down' or 'loosing connection'... My reply wasn't too far off, lol! :D
     
  15. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    I just finished implementing stubs in ps2iop.

    I won't bother to reimplement the following since they are already in ps2sdk:
    • SIO2MAN
    • PADMAN
    • MCMAN
    • MCSERV
    The following may be implemented in other sources:
    • SECRMAN
    • UDNL
    • CDVDFSV
    • CDVDMAN
    Also, I noticed some errors in mcman and padman headers, so I'll roll fixes for those into my cleanup7 branch of ps2sdk.
     
    TnA, Algol and jolek like this.
  16. 1,063
    549
    222
    TnA

    TnA Senior Member

    Joined:
    Jul 1, 2018
    Messages:
    1,063
    Likes Received:
    549
    Trophy Points:
    222
    Gender:
    Male
    Location:
    Germany --> Saxony
    A SECRMAN-Module possibly can be found in the FMCB-Installer's source. ;)

    Not sure about UDNL, but I think there was something.

    CDVDFSV and CDVDMAN had been worked on by romz a decade ago. There should be some open source counterparts (with proper DVD-DL-Handling).
     
  17. 709
    1,253
    222
    sp193

    sp193 Developer

    Joined:
    Oct 13, 2014
    Messages:
    709
    Likes Received:
    1,253
    Trophy Points:
    222
    Location:
    Singapore
    Home Page:
    UDNL can be obtained from FMCBInstaller. The source code allows for 2 types to be built: one similar to the one from ROM, as well as the type for DVD player updates (with only support for the embedded image). Tthe bugs from the Sony UDNL module were fixed.

    EELOAD can be obtained from the code I released on assemblergames. The EELOAD programs from the system driver update (for FMCB etc) were based on the one from the boot ROM and works similar. The one from the MBR is also similar, except that it uses a different boot address (0x00084000).

    EESYNC can be obtained from OPL. The only difference between it and the official module, is that it would not allocate space based on the SECRMAN module installed. Until today, I do not know why the official module does that because that space is seemingly never referenced elsewhere.
    The EESYNC module from DNAS images also have a secret memory wipe.

    Is it not possible to absorb the existing code from FPS2BIOS? Even if the licensing is not clear, it was created for PCSX2, wasn't it?

    I do not know if you know this, but you must be clear about your goal. There were many SDK releases over the years, but the newer modules might not be compatible with the earlier releases. All PS2 boot ROMs contain the same basic modules, for forward and backward compatibility. Those board-specific modules can be ignored.
    Sony also kept the bugged syscalls unpatched through their runtime patches, to ensure that older games that used the bugged syscalls will not be affected. So it might be good to ensure that old bugs still exist if the affected function was used by games.

    It is psuedo code, not compilable.
     
    Last edited: Dec 15, 2018
  18. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    Looks like Shuji from assemblergames got hands on a performance analyzer. Take a look here: https://assemblergames.com/threads/shujis-collection.66555/#post-982050

    Looks like it has an ethernet card attached, but I can't really read the model number to determine if it is a 1Gbit card.
    Also, looks like the AIF board is gone, and the IDE port is integrated into the PS2 mainboard.

    It would be nice to hook up an ethernet card with modern speed and features to my PS2 TOOL.

    Progress on dsnet and IOP 3.1.0 software reimplementation is going slowly.
    Also, I've decided to split the Makefile changes and other changes for ps2sdk. The makefile changes are formatted like how automake is formatted.

    I've been wanting to work on my APA/PFS FUSE implementation, but I haven't touched it in the last three weeks.
     
    jolek likes this.
  19. 53
    12
    37
    Anonamous

    Anonamous Member

    Joined:
    Aug 26, 2018
    Messages:
    53
    Likes Received:
    12
    Trophy Points:
    37
    Occupation:
    Electrical Engineering Student
    Not sure what you used but to do so but I got dsnetm compiled after using retdec to decompile it in roughly 10 minutes. Not that it actually runs but it's a start. I got fed up with being unable to run an i386 binary in wlinux wsl. (I can but I have to deal with errors everytime dpkg tries to configure qemu-user-static)

    edit: compiling qemu myself fixed that right up. Only annoying thing is I can only have build-essentials:i386 OR build-essentials:amd64 installed at one time.
     
    Last edited: Jan 1, 2019
  20. 148
    251
    122
    uyjulian

    uyjulian Developer

    Joined:
    May 27, 2017
    Messages:
    148
    Likes Received:
    251
    Trophy Points:
    122
    Gender:
    Male
    I was thinking of extracting the function signatures (which I've done) then using IDA to decompile.
    Retdec doesn't provide an easy way to insert function signatures.
     

Share This Page