• Stars
    star
    121
  • Rank 293,924 (Top 6 %)
  • Language
    C
  • Created almost 8 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Install games in HDLoader format to APA-formatted hard drive

hdl_dump and hdl_dumb

Contents

  • Intro
  • Networking server
  • Compilation
  • Configuration and list file location
  • Configuration
  • New features

Intro

The latest version, as well as documentation, can be found on the new official repository, https://github.com/ps2homebrew/hdl-dump/

Me reads [email protected] and psx-scene forums every now and then.(c)

Easy guide for installing games can be found here http://web.archive.org/web/20120720230755/http://openps2loader.info/hdldump/howto.html

Networking server

Update: Currently, OPL built-in NBD server is the preferred option.

Deprecated: A UDP-based network server is available, based on the SMAP driver released by @sp193 http://ichiba.geocities.jp/ysai187/PS2/smap.htm. It is called hdl_svr_093.elf and is now part of the hdl_dump sources.

Note: You might need to punch a hole in your firewall for incoming UDP from port 12345.

Compilation

First of all, you have to update your PS2SDK.

Finally: You can run the shell script in the project folder: mkrel.sh. It will compile both GUI and CLI versions for Windows.

  • Linux: Build and copy executable into a directory of your choice.

      make RELEASE=yes
    

    Advanced Linux build commands:

      make XC=win          # for Windows cross-compilation using mingw32
      make -C gui          # for WineLib compilation (currently not working)
      make -C gui XC=win   # for GUI cross-compilation using mingw32
    
  • Mac OS X or FreeBSD: You'll need to have GNU make installed, then

      gmake RELEASE=yes IIN_OPTICAL_MMAP=no
    

    or

      make RELEASE=yes IIN_OPTICAL_MMAP=no
    
  • Windows: You need to have MINGW32 installed; then use

      make RELEASE=yes
      make -C gui RELEASE=yes
    

    to compile command-line or GUI version.

Configuration and list file location

You can place these files in the folder where is installed hdl_dump for making it portable.

  • Windows:

    %APPDATA%\hdl_dump.conf %APPDATA%\hdl_dump.list

  • Linux, Mac OS X and FreeBSD: (~ is your home dir)

    ~/.hdl_dump.conf ~/.hdl_dump.list

Configuration

  • disc_database_file -- full path to your disc compatibility database file;

New features

All new stuff can be used from HDD OSD, BB Navigator, or XMB from PSX DVR.

ZSO support

hdl-dump supports zso compressed files. For using ZSO, you must keep original ISO (or cue/bin) files in the same folder and with the same name as ZSO compressed file. You should select original ISO (or cue/bin) and hdl-dump will check zso existence on installation. If ZSO file exists, it will install ZSO, if it does not exist it will install original ISO. Unfortunately, you need to keep original file for program to work.

inject_dvd, inject_cd, install or copy_hdd.

This command will install games onto the hard disk.

Warning: Be careful with copy_hdd - every HDLoader game will be given the same icon.

Optionally, you can place boot.elf (which is actually miniopl.elf) in the folder where hdl_dump is launched from. You can also optionally include list.ico (*.ico from memory card) and icon.sys (*.sys from memory card), or you can write your own icon.sys file.

If you don't include an *.ico, the HDLoader logo is used. If you don't include *.sys, the default HDLoader icon settings are used..

Note: following options aren't supported by PSX1 (PSX DESR 1st generation).

boot.elf, boot.kelf - PS2 executable file in signed or unsigned form. OPL-Launcher is a preferable option. Injection address - 0x111000. Size limit - 2,026,464 bytes (thanks to kHn)

inject_mbr

hdl_dump inject_mbr /dev/sdb MBR.KELF

When you use this command and place the hard drive into your PlayStation 2 phat, it will launch the injected MBR.KELF. This option can be used as an entry point for PS2.

All HDD data will remain intact.

MBR.KELF injection address - 0x00404000 (for compatibility with PlayStation BB Navigator)

MBR.KELF size should be a maximum of 883200 bytes and have a valid header.

modify_header

This command injects header attributes into an existing partition.

hdl_dump.exe modify_header 192.168.0.10 PP.TEST

It can inject these files:

  • system.cnf
  • icon.sys
  • list.ico
  • del.ico
  • boot.kelf
  • boot.elf
  • boot.kirx

Any one can be skipped. It first tries to inject boot.kelf, then if not found it will try to inject boot.elf.

Now icon.sys can be in any of 2 formats: Memory Card format or HDD format.

del.ico injection address: 0x041000 (If del.ico is used list.ico maximum size 260,096 bytes)

boot.elf (or boot.kelf) injection address - 0x111000

boot.elf size limit - 2,026,464 bytes (thanks to kHn)

boot.kelf size limit - 3,076,096 bytes (if boot.kirx not used)

boot.kelf size limit - 2,031,616 bytes (if boot.kirx is used)

boot.kirx injection address - 0x301000

boot.kirx size limit - 1,044,480 bytes

Hiding Games

You can hide games so that they are not visible in the HDD Browser by using the -hide switch with the install, inject_cd, inject_dvd, or modify commands. A hidden game can be made visible again using the -unhide switch with the modify command. This is a necessary option for installing the games on PSX1 (1st DESR generation).

Others

If you want to know more about these files (and their restrictions), you have to study the official SONY ps2sdk document called hdd_rule_3.0.2.pdf

There are also some undocumented features like this:

  • If you want to inject boot.kelf (or boot.elf), you have to change BOOT2 in system.cnf.

      BOOT2 = PATINFO
    

    If you need to erase boot.elf from the PATINFO you have to place zero-sized boot.kelf or elf in program folder. _Note: PSX1 (DESR 1st generation) doesn't support the PATINFO parameter.

  • If you want to launch KELF from the PFS partition you have to change BOOT2 in system.cnf

      BOOT2 = pfs:/EXECUTE.KELF
    

    where EXECUTE.KELF - is the path to KELF that is placed into the partition. Changedable.

  • If you want to inject kirx into the partition you have to add a line into system.cnf

      IOPRP = PATINFO
    

    Don't ask about kirx - I don't know where that is used. _Note: PSX1 (DESR 1st generation) doesn't support the IOPRP parameter.

  • If you don't want to boot from HDD OSD you have to add such a line into system.cnf

      BOOT2 = NOBOOT
    

Happy gaming.

More Repositories

1

Open-PS2-Loader

Game and app loader for Sony PlayStation 2
C
2,084
star
2

wLaunchELF

ELF loader and File browser for Sony PlayStation 2
C
514
star
3

pfsshell

Browse and edit PFS filesystems on APA-formatted hard drive
C
99
star
4

PMAP

C
40
star
5

PS2Ident

PS2Ident is an identification tool that allows dumps of a PlayStation 2 console's ROM chips and MECHACON NVRAM to be made. It will also gather data from the console
C
37
star
6

opentuna-installer

OpenTuna installer
C
34
star
7

Fceumm-PS2

FCEUmm-PS2
C
32
star
8

pgen

PGEN is an old Sega Genesis/Megadrive emulator for the PS2 based on Generator source code.
C
26
star
9

SMS

Multimedia player for Sony PlayStation 2
C
24
star
10

OPL-Launcher

C
22
star
11

HDLGameInstaller

The HDLoader game installer
C
17
star
12

opentuna-payload

C
15
star
13

HDDChecker

HDDChecker is a basic disk diagnostic tool meant for testing the health of your PlayStation 2 console's Harddisk Drive unit.
C
9
star
14

Open-PS2-Loader-lang

8
star
15

Open-PS2-Loader-Compatibility-list

A GitHub pages compatibility list for OPL
Shell
8
star
16

LuaPlayer

C++
6
star
17

opentuna-RLE

Kotlin
4
star
18

Open-PS2-Loader-User-Guide

Open PS2 Loader User Guide
Python
4
star
19

OSD-Initialization-Libraries

C
3
star
20

LbFn

C
3
star
21

dreamgl

C
3
star
22

PS1VModeNeg

It is a tool that selects the correct video mode for your imported PlayStation game
C
3
star
23

ps2-unpacker

C
3
star
24

ps2homebrew

Dockerfile
3
star
25

quake1_ps2

C
2
star
26

TGE

C
2
star
27

usb_mass

C
2
star
28

ps2homebrew.github.io

Website for PS2 Homebrew Projects
HTML
2
star
29

myPS2

C
1
star
30

.github

1
star
31

gslib

C++
1
star
32

altimit

C++
1
star
33

ps2img

C
1
star
34

wxVU

C++
1
star
35

ps2ftpd

FTP server for Sony PlayStation 2
C
1
star
36

ps2dev_forwarder

The repository for catching and forwarding dispatch events from ps2dev organization
1
star
37

ps2debug

C
1
star
38

pksh

C
1
star
39

sioshell

C
1
star