Skip to content

Commit 528de05

Browse files
authored
Merge branch 'master' into system-2x6-support
2 parents 07e2d77 + 53dcc8f commit 528de05

File tree

17 files changed

+365
-184
lines changed

17 files changed

+365
-184
lines changed

.github/workflows/compile.yml

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,15 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
eth: ["ETH=0", "ETH=1"]
18-
bdmstuff: ["EXFAT=1", "EXFAT=1 MX4SIO=1"] #"EXFAT=0",
19-
#ds34: ["DS34=0", "DS34=1"]
20-
coh: ["COH=1", "COH=1 ACUART=1"] #"COH=0",
18+
bdmstuff: ["EXFAT=0", "EXFAT=1", "EXFAT=1 MX4SIO=1"]
19+
ds34: ["DS34=0", "DS34=1"]
20+
mmce: ["MMCE=0", "MMCE=1"]
21+
coh: ["COH=0", "COH=1"]
2122
exclude:
2223
- bdmstuff: "EXFAT=1 MX4SIO=1"
2324
coh: "COH=1"
25+
- bdmstuff: "EXFAT=1 MX4SIO=1"
26+
mmce: "MMCE=1"
2427
runs-on: ubuntu-latest
2528
container: ps2dev/ps2dev:v1.0
2629
steps:
@@ -36,12 +39,13 @@ jobs:
3639
3740
- name: Compile wLaunchELF
3841
run: |
39-
make rebuild SIO_DEBUG=1 ${{ matrix.coh }} ${{ matrix.eth }} ${{ matrix.bdmstuff }} ${{ matrix.ds34 }} ${{ matrix.xfrom }} ${{ github.event.inputs.make_args }}
42+
make rebuild ${{ matrix.eth }} ${{ matrix.mmce }} ${{ matrix.bdmstuff }} ${{ matrix.ds34 }} ${{ matrix.xfrom }} ${{ matrix.coh }} ${{ github.event.inputs.make_args }}
43+
4044
4145
- name: Upload variants artifact ELF
42-
uses: actions/upload-artifact@v3
46+
uses: actions/upload-artifact@v4
4347
with:
44-
name: WLE
48+
name: "WLE-${{ matrix.eth }}-${{ matrix.mmce }}-${{ matrix.bdmstuff }}-${{ matrix.ds34 }}-${{ matrix.xfrom }}"
4549
path: |
4650
BOOT*.ELF
4751
@@ -59,6 +63,10 @@ jobs:
5963
6064
- name: Download all artifacts
6165
uses: actions/download-artifact@v4
66+
with:
67+
path: WLE/
68+
pattern: "WLE-*"
69+
merge-multiple: true
6270

6371
- name: list
6472
run: |
@@ -75,6 +83,15 @@ jobs:
7583
files: |
7684
WLE/*.ELF
7785
86+
- name: notify on discord
87+
if: github.ref == 'refs/heads/master'
88+
uses: tsickert/discord-webhook@v5.3.0
89+
with:
90+
webhook-url: ${{ secrets.DISCORD_FEED }}
91+
content: |
92+
## wLaunchELF 4.43x_isr has been updated!
93+
### [Download Page](https://israpps.github.io/projects/wlaunchelf-isr)
94+
7895
- name: Create release
7996
if: github.ref == 'refs/heads/master'
8097
uses: marvinpinto/action-automatic-releases@latest

Makefile

Lines changed: 57 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#.SILENT:
22

33
# ---{ BUILD CONFIGURATION }--- #
4-
SIO_DEBUG ?= 0
4+
MMCE ?= 0
55
DS34 ?= 0
66
SMB ?= 0
77
TMANIP ?= 1
@@ -12,18 +12,16 @@ IOP_RESET ?= 1
1212
XFROM ?= 0
1313
UDPTTY ?= 0
1414
MX4SIO ?= 0
15-
TTY2SIOR ?= 0
15+
SIO2MAN ?= 0
16+
PPC_UART ?= 0
17+
SIO_DEBUG ?= 0
1618
DEBUG ?= 0
1719
COH ?= 0
18-
19-
# 0: on-board version, 1: homebrew version
20-
SIO2MAN ?= 0
21-
MCMAN ?= 1
22-
CDVDFSV ?= 1
20+
LCDVD ?= LEGACY#or LATEST
2321
# ----------------------------- #
2422
.SILENT:
2523

26-
BIN_NAME = $(HAS_EXFAT)$(HAS_DS34)$(HAS_ETH)$(HAS_SMB)$(HAS_DVRP)$(HAS_XFROM)$(HAS_MX4SIO)$(HAS_COH)$(HAS_EESIO)$(HAS_UDPTTY)$(HAS_ACUART)$(HAS_IOP_RESET)
24+
BIN_NAME = $(HAS_COH)$(HAS_EXFAT)$(HAS_DS34)$(HAS_ETH)$(HAS_MX4SIO)$(HAS_MMCE)$(HAS_SMB)$(HAS_DVRP)$(HAS_XFROM)$(HAS_EESIO)$(HAS_UDPTTY)$(HAS_PPCTTY)$(HAS_IOP_RESET)
2725
ifeq ($(DEBUG), 0)
2826
EE_BIN = UNC-BOOT$(BIN_NAME).ELF
2927
EE_BIN_PKD = BOOT$(BIN_NAME).ELF
@@ -38,10 +36,10 @@ EE_OBJS = main.o config.o elf.o draw.o loader_elf.o filer.o \
3836
hdd.o hdl_rpc.o hdl_info_irx.o editor.o timer.o jpgviewer.o icon.o lang.o \
3937
font_uLE.o makeicon.o chkesr.o allowdvdv_irx.o
4038

41-
EE_INCS := -I$(PS2DEV)/gsKit/include -I$(PS2SDK)/ports/include -Iiop/oldlibs/libcdvd/ee -Iinclude
39+
EE_INCS := -I$(PS2DEV)/gsKit/include -I$(PS2SDK)/ports/include -Iinclude
4240

4341
EE_LDFLAGS := -L$(PS2DEV)/gsKit/lib -L$(PS2SDK)/ports/lib -Liop/oldlibs/libcdvd/lib -s
44-
EE_LIBS = -lgskit -ldmakit -ljpeg -lmc -lhdd -lcdvdfs -lkbd -lmf \
42+
EE_LIBS = -lgskit -ldmakit -ljpeg -lmc -lhdd -lkbd -lmf \
4543
-lcdvd -lc -lfileXio -lpatches -lpoweroff -ldebug
4644
EE_CFLAGS := -mgpopt -G10240 -G0 -DNEWLIB_PORT_AWARE -D_EE
4745

@@ -73,6 +71,17 @@ ifeq ($(COH), 1)
7371
endif
7472
endif
7573

74+
ifeq ($(LCDVD),LEGACY)
75+
$(info -- Building with legacy libcdvd)
76+
EE_CFLAGS += -DLIBCDVD_LEGACY
77+
CDVD_SOURCE = iop/cdvd.irx
78+
EE_INCS += -Iiop/oldlibs/libcdvd/ee
79+
EE_LIBS += -lcdvdfs
80+
else
81+
EE_CFLAGS += -DLIBCDVD_LATEST
82+
CDVD_SOURCE = iop/__precompiled/cdfs.irx
83+
endif
84+
7685
ifeq ($(XFROM),1)
7786
HAS_XFROM = -XFROM
7887
EE_CFLAGS += -DXFROM
@@ -92,6 +101,13 @@ ifeq ($(DVRP),1)
92101
HAS_DVRP = -DVRP
93102
endif
94103

104+
ifeq ($(MMCE),1)
105+
EE_OBJS += mmceman_irx.o
106+
EE_CFLAGS += -DMMCE
107+
HAS_MMCE = -MMCE
108+
SIO2MAN = 1
109+
endif
110+
95111
ifeq ($(MX4SIO),1)
96112
ifneq ($(EXFAT),1)
97113
$(error MX4SIO Requested on build without BDM)
@@ -136,11 +152,13 @@ ifeq ($(SIO_DEBUG),1)
136152
HAS_EESIO = -SIO_DEBUG
137153
endif
138154

139-
ifeq ($(TTY2SIOR),1)
140-
EE_LIBS += -lsior
141-
EE_CFLAGS += -DTTY2SIOR
142-
HAS_TTY2SIOR = -TTY2SIOR
143-
EE_OBJS += tty2sior_irx.o
155+
ifeq ($(PPC_UART),1)
156+
EE_CFLAGS += -DPOWERPC_UART
157+
HAS_PPCTTY = -PPCTTY
158+
EE_OBJS += ppctty.o
159+
ifeq ($(UDPTTY),1)
160+
$(error Both PPCTTY and UDPTTY enabled simultaneously)
161+
endif
144162
endif
145163

146164
ifeq ($(IOP_RESET),0)
@@ -188,15 +206,33 @@ else
188206
EE_CFLAGS += -DCUSTOM_COLORS
189207
endif
190208

209+
ifeq ($(IOPTRAP),1)
210+
EE_OBJS += ioptrap_irx.o
211+
EE_CFLAGS += -DIOPTRAP
212+
endif
213+
191214

192215
EE_OBJS_DIR = obj/
193216
EE_ASM_DIR = asm/
194217
EE_SRC_DIR = src/
195218
EE_OBJS := $(EE_OBJS:%=$(EE_OBJS_DIR)%) # remap all EE_OBJ to obj subdir
196219

197-
.PHONY: all run reset clean rebuild isoclean iso
220+
all: githash.h $(EE_BIN_PKD)
198221

199-
all: githash.h iop/cdvd.irx $(EE_BIN_PKD)
222+
info:
223+
$(info available build options:)
224+
$(info EXFAT enable BDM and EXFAT support for it)
225+
$(info ETH include network features?)
226+
$(info DS34 include PS3/PS4 controller support)
227+
$(info MX4SIO support for SDCard connected to memory card slot 2)
228+
$(info MMCE support for direct SDCard access on SD2PSX or memcardpro2)
229+
$(info ----------)
230+
$(info IOPTRAP load exception handler module to IOP)
231+
$(info UDPTTY transfer stdout to UDP broadcast)
232+
$(info PPC_UART transfer stdout to DECKARD UART)
233+
$(info SIO_DEBUG transfer EE stdout to EE UART)
234+
235+
.PHONY: all run reset clean rebuild isoclean iso
200236

201237
$(EE_BIN_PKD): $(EE_BIN)
202238
ps2-packer $< $@
@@ -241,14 +277,14 @@ clean:
241277

242278
rebuild: clean all
243279

244-
info:
280+
info2:
245281
$(info -------- wLaunchELF 4.43x_isr --------)
246282
$(info EE_BIN = $(EE_BIN))
247283
$(info EE_BIN_PKD = $(EE_BIN_PKD))
248284
$(info TMANIP=$(TMANIP), SIO_DEBUG=$(SIO_DEBUG), DS34=$(DS34), ETH=$(ETH))
249-
$(info EXFAT=$(EXFAT), XFROM=$(XFROM), UDPTTY=$(UDPTTY), MX4SIO=$(MX4SIO) COH=$(COH))
250-
$(info SIO2MAN=$(SIO2MAN), MCMAN=$(MCMAN))
251-
$(info IOP_RESET=$(IOP_RESET))
285+
$(info EXFAT=$(EXFAT), XFROM=$(XFROM), UDPTTY=$(UDPTTY), MX4SIO=$(MX4SIO))
286+
$(info MMCE=$(MMCE), COH=$(COH), IOP_RESET=$(IOP_RESET))
287+
252288

253289
#special recipe for compiling and dumping obj to subfolder
254290
$(EE_OBJS_DIR)%.o: $(EE_SRC_DIR)%.c | $(EE_OBJS_DIR)

README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5e07db76c668493d888a7f9b97d79821)](https://app.codacy.com/gh/israpps/wLaunchELF_ISR?utm_source=github.com&utm_medium=referral&utm_content=israpps/wLaunchELF_ISR&utm_campaign=Badge_Grade_Settings)
33
[![Automated-Build](https://github.com/israpps/wLaunchELF_ISR/actions/workflows/compile.yml/badge.svg)](https://github.com/israpps/wLaunchELF_ISR/actions/workflows/compile.yml)
44

5-
[![Static Badge](https://img.shields.io/github/downloads/israpps/wLaunchELF_ISR/total?style=for-the-badge&logo=protondrive&logoColor=00CCFF&label=DOWNLOAD&labelColor=000000)](https://israpps.github.io/20210113_wLaunchELF_isr/#download)
5+
[![Static Badge](https://img.shields.io/github/downloads/israpps/wLaunchELF_ISR/total?style=for-the-badge&logo=protondrive&logoColor=00CCFF&label=DOWNLOAD&labelColor=000000)](https://israpps.github.io/projects/wlaunchelf-isr)
66

77
_this uLaunchELF mod was my first PS2 project._
88

@@ -18,18 +18,19 @@ It features:
1818
1919
### Explanation of download filenames
2020

21-
> release filename change according to the enabled features:
21+
> release filename change according to the enabled features, you may find the following words separated by `-` identifying with features that build has.
22+
> you may also check this inside `MISC/BuildInfo` in case you have to rename the binary
2223
2324
- `BOOT`: Base filename, means nothing
2425
- `UNC`: Executable is Uncompressed
25-
- `SIO_DEBUG`: Supports printing debug information via the EmotionEngine serial port (useless unless your PS2 has serial port attached)
26-
- `NO_NETWORK`: Network features are disabled and network IRX drivers stripped away, with the purpose of making a smaller wLaunchELF for users who don't use network
27-
- `XFROM`: Support for accessing the [PSX-DESR](https://upload.wikimedia.org/wikipedia/commons/f/fa/Console_psx.jpg) internal flash memory
26+
- `COH`: Special version for PS2 `COH-H` Models (Namco System 246/256 specifically)
27+
- `NO_NETWORK`: Network features are disabled and network IRX drivers stripped away, with the purpose of making app smaller
28+
- `XFROM`: Support for accessing the [PSX-DESR](https://upload.wikimedia.org/wikipedia/commons/f/fa/Console_psx.jpg) internal flash memory.
2829
- `EXFAT`: Support for accessing EXFAT filesystems from BDM devices (USB & MX4SIO)
29-
- `DS34`: Support for use of PlayStation 3 and PlayStation 4 controllers
30-
- `MX4SIO`: Support for browsing the contents of SD Cards connected via mx4sio
30+
- `DS34`: Support for PlayStation 3 and PlayStation 4 controllers over USB
31+
- `MX4SIO`: Support for browsing the contents of SD Cards connected via [mx4sio](https://www.google.com/search?q=mx4sio)
32+
- `MMCE`: Support for browsing the contents of the SDCard connected to MemcardPro2 or SD2PSX and their variants (make sure firmware of device is new enough to support the protocol)
3133

32-
> to see the enabled features on an already downloaded version of this mod, please go to `Filebrowser > MISC/ > BuildInfo`
3334

3435
# **original readme**
3536
wLaunchELF, formerly known as uLaunchELF, also known as wLE or uLE (abbreviated), is an open source file manager and executable launcher for the Playstation 2 console based off of the original LaunchELF. It contains many different features, including a text editor, hard drive manager, as well as network support, and much more.

embed.make

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ $(EE_ASM_DIR)mcserv_irx.s: $(MCSERV_SOURCE) | $(EE_ASM_DIR)
2727

2828
$(EE_ASM_DIR)sio2man.s: $(SIO2MAN_SOURCE) | $(EE_ASM_DIR)
2929
$(BIN2S) $< $@ sio2man_irx
30-
3130

3231
$(EE_ASM_DIR)mx4sio_bd.s: iop/__precompiled/mx4sio_bd.irx | $(EE_ASM_DIR)
3332
$(BIN2S) $< $@ mx4sio_bd_irx
33+
34+
$(EE_ASM_DIR)mmceman_irx.s: iop/__precompiled/mmceman.irx | $(EE_ASM_DIR)
35+
$(BIN2S) $< $@ mmceman_irx
3436
#---{ USB }---#
3537

3638
$(EE_ASM_DIR)usbd_irx.s: $(PS2SDK)/iop/irx/usbd.irx | $(EE_ASM_DIR)
@@ -55,8 +57,12 @@ endif
5557
iop/cdvd.irx: iop/oldlibs/libcdvd
5658
$(MAKE) -C $<
5759

58-
$(EE_ASM_DIR)cdvd_irx.s: iop/cdvd.irx | $(EE_ASM_DIR)
60+
$(EE_ASM_DIR)cdvd_irx.s: $(CDVD_SOURCE) | $(EE_ASM_DIR)
5961
$(BIN2S) $< $@ cdvd_irx
62+
$(MAKE) -C iop/oldlibs/libcdvd
63+
64+
$(EE_ASM_DIR)ioptrap_irx.s: $(PS2SDK)/iop/irx/ioptrap.irx | $(EE_ASM_DIR)
65+
$(BIN2S) $< $@ ioptrap_irx
6066

6167
$(EE_ASM_DIR)poweroff_irx.s: $(PS2SDK)/iop/irx/poweroff.irx | $(EE_ASM_DIR)
6268
$(BIN2S) $< $@ poweroff_irx
@@ -171,11 +177,8 @@ $(EE_ASM_DIR)ps2kbd_irx.s: $(PS2SDK)/iop/irx/ps2kbd.irx | $(EE_ASM_DIR)
171177
$(EE_ASM_DIR)sior_irx.s: $(PS2SDK)/iop/irx/sior.irx | $(EE_ASM_DIR)
172178
$(BIN2S) $< $@ sior_irx
173179

174-
$(EE_ASM_DIR)acuart_tty_irx.s: iop/__precompiled/acuart_tty.irx | $(EE_ASM_DIR)
175-
$(BIN2S) $< $@ acuart_tty_irx
176-
177-
$(EE_ASM_DIR)accore_irx.s: iop/__precompiled/accore.irx | $(EE_ASM_DIR)
178-
$(BIN2S) $< $@ accore_irx
180+
$(EE_ASM_DIR)ppctty.s:iop/__precompiled/ppctty.irx | $(EE_ASM_DIR)
181+
$(BIN2S) $< $@ ppctty_irx
179182

180183
iop/AllowDVDV.irx: iop/AllowDVDV
181184
$(MAKE) -C $<

include/cdvd_macro.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#ifndef __CDVD_COMPAT_MACRO
2+
#define __CDVD_COMPAT_MACRO
3+
4+
#ifdef LIBCDVD_LEGACY
5+
#define LCDVD_FLUSHCACHE() CDVD_FlushCache()
6+
#define LCDVD_INIT() CDVD_Init()
7+
#define LCDVD_STOP() CDVD_Stop()
8+
#define LCDVD_DISKREADY(x) CDVD_DiskReady(x)
9+
#else
10+
#define LCDVD_FLUSHCACHE() // TO-DO / IMPLEMENT ME
11+
#define LCDVD_INIT() // does not exist on sdk libcdvd
12+
#define LCDVD_STOP() sceCdStop()
13+
#define LCDVD_DISKREADY(x) sceCdDiskReady(x)
14+
#endif
15+
#endif

include/launchelf.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,20 +45,21 @@
4545
#include <floatlib.h>
4646
#include <usbhdfsd-common.h>
4747
#include "hdl_rpc.h"
48+
#include "cdvd_macro.h"
4849
#include "iop/ds34usb/ee/libds34usb.h"
4950
#include "iop/ds34bt/ee/libds34bt.h"
5051

5152
#include <sio.h>
5253
#include <sior_rpc.h>
5354

54-
#ifdef SIO_DEBUG
55+
#ifdef SIO_DEBUG //EE SIO will be printed separated. no need for diferentiation
5556
#define DPRINTF(format, args...) \
5657
sio_printf(format, ##args)
57-
#elif defined(TTY2SIOR) || defined(COMMON_PRINTF) || defined(UDPTTY)
58+
#elif defined(POWERPC_UART) || defined(COMMON_PRINTF) || defined(UDPTTY) //printf has to travel to IOP, add color escape to make up the diff
5859
#define DPRINTF(format, args...) \
5960
printf("\033[1;94;40m"format"\033[m", ##args)
6061
#else
61-
#define DPRINTF(format, args...) // strip away printf from consumer builds
62+
#define DPRINTF(format, args...)// strip away printf from consumer builds
6263
#endif
6364

6465
#define TRUE 1
@@ -186,6 +187,7 @@ typedef struct
186187
int Popup_Opaque;
187188
int Init_Delay;
188189
int usbkbd_used;
190+
int reboot_iop_elf_load;
189191
int Show_Titles;
190192
int PathPad_Lock;
191193
int JpgView_Timer;
@@ -213,6 +215,10 @@ extern int GUI_active; // Skin and Main Skin switch
213215
extern int cdmode; //Last detected disc type
214216
extern u8 console_is_PSX;
215217

218+
#ifdef MX4SIO
219+
extern u8 mx4sio_driver_running;
220+
#endif
221+
216222
void load_vmc_fs(void);
217223
#ifdef ETH
218224
void load_ps2host(void);

0 commit comments

Comments
 (0)