Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to use ELF toolchain for IOP #521

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

uyjulian
Copy link
Member

No description provided.

@fjtrujy
Copy link
Member

fjtrujy commented Feb 4, 2024

Nice stuff @uyjulian .
Could you at least explain what's doing the srxfixup tool? or the steps it follows to make it IRX compatible?
Is the linkfile we are using now more standard?

@rickgaiser
Copy link
Member

Has this been tested with applications like OPL, RetroArch or uLE?

@uyjulian uyjulian force-pushed the srxfixup_u branch 2 times, most recently from 4da3f21 to 05b3505 Compare February 6, 2024 05:07
@uyjulian
Copy link
Member Author

uyjulian commented Feb 6, 2024

Could you at least explain what's doing the srxfixup tool? or the steps it follows to make it IRX compatible?

More information has been added to srxfixup readme

Is the linkfile we are using now more standard?

Yes.

Has this been tested with applications like OPL, RetroArch or uLE?

wLE, with this, can launch itself.
OPL has similar functionality as it did before.
I didn't try RA.

@uyjulian uyjulian marked this pull request as draft February 10, 2024 04:12
@fjtrujy
Copy link
Member

fjtrujy commented Mar 23, 2024

Any update with the existing issues?

@uyjulian
Copy link
Member Author

Not yet. It is planned (after dealing with other issues first that may potentially fix issues here)

@uyjulian uyjulian force-pushed the srxfixup_u branch 4 times, most recently from 52e424d to e63f475 Compare October 6, 2024 01:28
@fjtrujy
Copy link
Member

fjtrujy commented Oct 8, 2024

I have seen updates in this branch, is now this working fine?

@uyjulian
Copy link
Member Author

uyjulian commented Oct 8, 2024

I haven't had the opportunity to test RA yet.

@fjtrujy
Copy link
Member

fjtrujy commented Oct 8, 2024

I haven't had the opportunity to test RA yet.

But have you made changes I should try, or do you think they are useless?

@uyjulian
Copy link
Member Author

uyjulian commented Oct 8, 2024

I did make a change that affects output, but the rest of the changes are just rebasing and crash fixes. So you can try

@fjtrujy
Copy link
Member

fjtrujy commented Nov 13, 2024

I have been testing it and so far it works great!
Is true that each IRX binary is somehow bigger. Not sure if it is because binary contains something not needed, or it is because ELF is more optimized ...
Here you have sizes:

FILENAME SIZE OLD SIZE NEW
IEEE1394_bd.irx 10876 10879
IEEE1394_bd_mini.irx 6960 6941
IEEE1394_disk.irx 34968 35008
acata.irx 11236 11263
acatad.irx 4984 4974
accdvd.irx 30584 30605
accdvde.irx 6428 6461
accore.irx 6128 6131
acdev.irx 1640 1638
acdev9.irx 2128 2122
acflash.irx 4632 4679
acfpgald.irx 2500 2479
acjv.irx 1556 1565
acjvld.irx 2072 2039
acmem.irx 2120 2121
acmeme.irx 5424 5457
acram.irx 4780 4789
acrtc.irx 1872 1847
acsram.irx 1448 1445
actimer.irx 2832 2841
acuart.irx 6016 6013
acuart_tty.irx 6688 6684
adddrv.irx 1456 1435
addrom2.irx 1460 1435
ahx.irx 25928 25897
aifatad.irx 9692 9706
aifdev9.irx 13392 13374
alloc.irx 4120 4122
ata_bd.irx 12572 12570
audsrv.irx 21248 21308
bdm.irx 9056 9173
bdmfs_fatfs.irx 39000 39044
bdmfs_vfat.irx 30260 30299
cdfs.irx 12184 12166
clearspu.irx 2980 2951
devfs.irx 10992 10910
dmacman.irx 7552 7550
dvr.irx 8144 8131
dvrav.irx 7544 7539
dvrdrv.irx 14172 14186
dvrdv.irx 3416 3395
dvrfile.irx 14932 14911
dvripl.irx 3428 3403
dvrmisc.irx 7796 7787
eesync-nano.irx 1140 1134
eesync.irx 1364 1350
eromdrv.irx 3508 3491
excepman.irx 2996 2958
extflash.irx 4376 4370
fakehost.irx 3268 3294
fileXio.irx 6604 6595
fileXio_verbose.irx 9068 9059
fileio.irx 5312 5287
flash.irx 12 12
freemtap.irx 11 11
freepad.irx 10 10
freesd.irx 9 9
freesio2.irx 11 11
fsck.irx 36240 36363
fssk.irx 39408 39569
hdck.irx 19016 19034
hdproatad.irx 8864 8834
hdsk.irx 23028 23375
heaplib.irx 2996 2978
iLinkman.irx 14116 14140
intrman.irx 7204 7194
intrmanp.irx 6396 6394
ioman.irx 5796 5770
iomanX.irx 9708 12489
iop_sbusdbg.irx 3796 3781
iopdebug.irx 4476 4469
iopmgr.irx 7384 7546
ioptrap.irx 4640 4641
libsd.irx 16856 16922
loadcore.irx 9040 9034
loadfile.irx 8664 8642
mcman-old.irx 77160 77209
mcman.irx 77296 77337
mcserv-old.irx 8280 8278
mcserv.irx 9024 9018
modload.irx 17060 17126
mtapman.irx 8760 8769
mx4sio_bd.irx 15380 15414
mx4sio_bd_mini.irx 14180 14222
netman.irx 11000 10996
padman-old.irx 40320 40415
padman.irx 40928 41043
poweroff.irx 3900 3890
ppctty.irx 2564 2550
ps2atad.irx 11620 11630
ps2cam.irx 12596 12583
ps2dev9.irx 12048 12050
ps2fs-osd.irx 47352 47544
ps2fs-xosd.irx 48760 48968
ps2fs.irx 47208 47376
ps2hdd-bdm.irx 27244 27279
ps2hdd-gpt.irx 26996 27031
ps2hdd-iomanx.irx 27068 27099
ps2hdd-osd.irx 26900 26947
ps2hdd-xosd.irx 28092 28179
ps2hdd.irx 26812 26867
ps2http.irx 4972 4947
ps2ip-nm.irx 104044 104350
ps2ip.irx 102460 102774
ps2ips.irx 5336 5299
ps2kbd.irx 16200 16183
ps2mouse.irx 9252 9235
ps2netfs.irx 12692 12721
ps2snd.irx 12064 12062
reboot.irx 2176 2143
rmman.irx 5156 5146
rmman2.irx 3960 3950
rmmanx.irx 3936 3926
rmtapman.irx 8760 8769
romdrv.irx 3804 3802
rpadman.irx 40928 41043
rsio2man.irx 6028 6041
rspu2drv.irx 103556 106218
sbus.irx 6008 6050
sbusintr.irx 2276 2266
secrman.irx 12956 12987
secrman_arcade.irx 14304 14315
secrsif.irx 4332 4326
sifcmd.irx 10000 10029
sifinit.irx 1300 1283
sifman.irx 5292 5290
siftoo.irx 1864 1861
sio2log.irx 8132 8133
sio2man-old.irx 4756 4769
sio2man.irx 5652 5673
sior.irx 7184 7161
smap-modular-netman.irx 16308 16335
smap-modular-none.irx 14108 14131
smap-none.irx 13336 13375
smap-ps2ip.irx 16304 16339
smap.irx 15476 15515
smbman.irx 37812 37883
spduart.irx 16544 16542
ssbusc.irx 2104 2090
stdio.irx 3008 3010
subfile.irx 2780 2763
sysclib-full.irx 42496 43210
sysclib-nano.irx 10156 10615
sysclib.irx 14212 14627
sysmem.irx 5424 5415
threadman.irx 38172 38316
timemani.irx 11 11
timemanp.irx 12 12
timrman.irx 5788 5790
timrmanp.irx 5364 5354
udnl-t300.irx 7964 7939
udnl.irx 6484 6443
udptty.irx 3636 3618
usbd.irx 28848 29017
usbd_mini.irx 28848 29017
usbhdfsd.irx 41820 41891
usbmass_bd.irx 12596 12603
usbmass_bd_mini.irx 7920 7917
vblank.irx 3684 3674
vmcman.irx 70220 70293
xesdrv.irx 5300 5291
xfromman.irx 67172 67245

iop/Rules.make Outdated Show resolved Hide resolved
@israpps
Copy link
Contributor

israpps commented Nov 13, 2024

Maybe compile the IOP skeleton sample with both toolchains and diff on hex editor?

@uyjulian
Copy link
Member Author

uyjulian commented Nov 14, 2024

Size issue has been resolved by removing sections that were removed originally.

Module Old New
acatad.irx 4984 4741
acata.irx 11236 10973
accdvde.irx 6428 6209
accdvd.irx 30584 30277
accore.irx 6128 5841
acdev9.irx 2128 1889
acdev.irx 1640 1405
acflash.irx 4632 4389
acfpgald.irx 2500 2265
acjv.irx 1556 1313
acjvld.irx 2072 1825
acmeme.irx 5424 5205
acmem.irx 2120 1869
acram.irx 4780 4537
acrtc.irx 1872 1633
acsram.irx 1448 1193
actimer.irx 2832 2589
acuart.irx 6016 5761
acuart_tty.irx 6688 6413
adddrv.irx 1456 1221
addrom2.irx 1460 1221
ahx.irx 25928 25645
aifatad.irx 9692 9473
aifdev9.irx 13392 13141
alloc.irx 4120 3889
ata_bd.irx 12572 12337
audsrv.irx 21248 20961
bdmfs_fatfs.irx 39000 38697
bdmfs_vfat.irx 30260 30009
bdm.irx 9056 8845
cdfs.irx 12184 11933
clearspu.irx 2980 2737
devfs.irx 10920 10677
dmacman.irx 7552 7317
dvrav.irx 7544 7325
dvrdrv.irx 14172 13953
dvrdv.irx 3416 3181
dvrfile.irx 14932 14697
dvripl.irx 3428 3189
dvr.irx 8144 7917
dvrmisc.irx 7796 7573
eesync.irx 1364 1117
eesync-nano.irx 1140 901
eromdrv.irx 3508 3277
excepman.irx 2996 2725
extflash.irx 4376 4137
fakehost.irx 3268 3061
fileio.irx 5312 5073
fileXio.irx 6604 6381
fileXio_verbose.irx 9068 8845
fsck.irx 36240 35921
fssk.irx 39408 39089
hdck.irx 19016 18725
hdproatad.irx 8864 8601
hdsk.irx 23028 23009
heaplib.irx 2996 2745
IEEE1394_bd.irx 10876 10589
IEEE1394_bd_mini.irx 6960 6689
IEEE1394_disk.irx 34968 34661
iLinkman.irx 14116 13793
imgdrv.irx 1348 1117
intrman.irx 7204 6961
intrmanp.irx 6396 6161
ioman.irx 5796 5537
iomanX.irx 12528 12237
iopdebug.irx 4476 4217
iopmgr.irx 7384 7237
iop_sbusdbg.irx 3796 3529
ioptrap.irx 4640 4389
libsd.irx 16856 16613
loadcore.irx 9040 8801
loadfile.irx 8664 8409
mcman.irx 77296 77009
mcman-old.irx 77160 76881
mcserv.irx 9024 8785
mcserv-old.irx 8280 8045
modload.irx 17060 16893
mtapman.irx 8760 8517
mx4sio_bd.irx 15380 15105
mx4sio_bd_mini.irx 14180 13913
netman.irx 11000 10725
padman.irx 40928 40677
padman-old.irx 40320 40049
poweroff.irx 3900 3657
ppctty.irx 2564 2317
ps2atad.irx 11620 11397
ps2cam.irx 12596 12369
ps2dev9.irx 12048 11817
ps2fs.irx 47208 46877
ps2fs-osd.irx 47352 47045
ps2fs-xosd.irx 48760 48469
ps2hdd-bdm.irx 27244 26913
ps2hdd-gpt.irx 26980 26665
ps2hdd-iomanx.irx 27052 26733
ps2hdd.irx 26812 26501
ps2hdd-osd.irx 26900 26581
ps2hdd-xosd.irx 28076 27813
ps2http.irx 4972 4733
ps2ip.irx 102460 101933
ps2ip-nm.irx 104044 103509
ps2ips.irx 5336 5085
ps2kbd.irx 16200 15969
ps2mouse.irx 9252 9021
ps2netfs.irx 12692 12469
ps2snd.irx 12064 11829
reboot.irx 2176 1929
rmman2.irx 3960 3717
rmman.irx 5156 4913
rmmanx.irx 3936 3693
rmtapman.irx 8760 8517
romdrv.irx 3804 3569
rpadman.irx 40928 40677
rsio2man.irx 6028 5789
rspu2drv.irx 103556 102185
sbusintr.irx 2276 2033
sbus.irx 6008 5741
secrman_arcade.irx 14304 14025
secrman.irx 12956 12697
secrsif.irx 4332 4093
sifcmd.irx 10000 9777
sifinit.irx 1300 1069
sifman.irx 5292 5057
siftoo.irx 1864 1609
sio2log.irx 8132 7881
sio2man.irx 5652 5421
sio2man-old.irx 4756 4517
sior.irx 7184 6909
smap.irx 15476 15225
smap-modular-netman.irx 16308 16045
smap-modular-none.irx 14108 13841
smap-none.irx 13336 13085
smap-ps2ip.irx 16304 16049
smbman.irx 37812 37517
spduart.irx 16544 16309
ssbusc.irx 2104 1857
stdio.irx 3008 2777
subfile.irx 2780 2549
sysclib-full.irx 42496 41989
sysclib.irx 14212 13729
sysclib-nano.irx 10156 9641
sysmem.irx 5424 5201
threadman.irx 38172 37969
timrman.irx 5788 5557
timrmanp.irx 5364 5121
udnl.irx 6484 6229
udnl-t300.irx 7964 7725
udptty.irx 3636 3385
usbd.irx 28848 28537
usbd_mini.irx 28848 28537
usbhdfsd.irx 41820 41525
usbmass_bd.irx 12596 12313
usbmass_bd_mini.irx 7920 7665
vblank.irx 3684 3441
vmcman.irx 70220 69965
xesdrv.irx 5300 5077
xfromman.irx 67172 66917

Once I test again with wLE and OPL, I'll unmark draft

@uyjulian
Copy link
Member Author

wLE can load itself.
OPL is currently broken ("Loading config" hang on load from USB). I plan to debug this further.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants