Compiling RUNIX (PSXLinux)

Miscellaneous and un-categorized content regarding the PlayStation 1
User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » November 24th, 2017, 3:52 pm

Shadow wrote:Let me know what commands to run so I can check the buildchain versions for you.
gcc -v

What I'm trying to ask is, did you use build tools from download page PSXLinux-cross-tools-i586.tar.gz (linux 32bit)?
I got it kinda working with the kernel.. but I couldn't get it compiling

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 24th, 2017, 3:53 pm

Oh, you just want the GCC version.

Image

Yeah, I followed their instructions and installed their toolchain.
You do not have the required permissions to view the files attached to this post.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » November 24th, 2017, 5:17 pm

That's the not compiler from the download
The PSXLinux-cross-tools-i586.tar.gz download has this:

$ mipsel-linux-gcc -v
Using builtin specs.
gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release)


PSXLinux-kernel-2.4.x-beta1 has no .config preconfigured
PSXLinux-kernel-2.4.x-alpha2 does:
Could you share your configured .config ?

PSXLinux-kernel-2.4.x-beta1.tar.gz errors

Code: Select all

#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_MIPS=y
CONFIG_UCLINUX=y
CONFIG_UID16=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# Machine selection
#
CONFIG_PLAYSTATION=y
CONFIG_PSX_PIO_EXTENSION=y
# CONFIG_MCA is not set
# CONFIG_SBUS is not set
# CONFIG_ISA is not set
# CONFIG_EISA is not set
# CONFIG_PCI is not set
# CONFIG_I8259 is not set

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
# CONFIG_KMOD is not set

#
# CPU selection
#
CONFIG_CPU_R3000=y
# CONFIG_CPU_R6000 is not set
# CONFIG_CPU_R4300 is not set
# CONFIG_CPU_R4X00 is not set
# CONFIG_CPU_R5000 is not set
# CONFIG_CPU_R5432 is not set
# CONFIG_CPU_RM7000 is not set
# CONFIG_CPU_NEVADA is not set
# CONFIG_CPU_R8000 is not set
# CONFIG_CPU_R10000 is not set
# CONFIG_CPU_MIPS32 is not set
# CONFIG_CPU_ADVANCED is not set

#
# General setup
#
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_MIPS_FPU_EMULATOR=y
# CONFIG_SYSVIPC is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
# CONFIG_KCORE_ELF is not set
CONFIG_KCORE_AOUT=y
CONFIG_BINFMT_FLAT=y
# CONFIG_BINFMT_FLAT_SEPARATELY is not set
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_NET is not set

#
# Parallel port support
#
# CONFIG_PARPORT is not set
# CONFIG_PCMCIA is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_BLK_DEV_BLKMEM is not set
CONFIG_PSX_MEM_CARD=y
CONFIG_PSX_LARGE_CARD=y

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_BLK_DEV_LVM is not set
# CONFIG_LVM_PROC_FS is not set

#
# ATA/IDE/MFM/RLL support
#
# CONFIG_IDE is not set
# CONFIG_BLK_DEV_IDE_MODES is not set
# CONFIG_BLK_DEV_HD is not set

#
# ISDN subsystem
#

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# PlayStation Character devices
#
CONFIG_RTC=y

#
# File systems
#
# CONFIG_QUOTA is not set
CONFIG_AUTOFS_FS=y
CONFIG_AUTOFS4_FS=y
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_RAMFS is not set
CONFIG_ISO9660_FS=y
# CONFIG_JOLIET is not set
# CONFIG_MINIX_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
# CONFIG_DEVPTS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_SYSV_FS_WRITE is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_SMB_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_SMB_NLS is not set
# CONFIG_NLS is not set

#
# Console drivers
#
CONFIG_GPUPSX_CONSOLE=y
CONFIG_PC_KEYB=y
CONFIG_VT=y
# CONFIG_VT_CONSOLE_HIRES is not set
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL_PSX=y
CONFIG_SERIAL_PSX_CONSOLE=y
VT_SINGLE_DRIVER=y

#
# Sound
#
# CONFIG_SOUND is not set

#
# USB support
#
# CONFIG_USB is not set

#
# Input core support
#
# CONFIG_INPUT is not set

#
# Kernel hacking
#
CONFIG_CROSSCOMPILE=y
# CONFIG_MIPS_FPE_MODULE is not set
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_MIPS_UNCACHED is not set


in kernel

Code: Select all

mipsel-linux-gcc -I /home/xp/00-PSX/PSXLinux/include/asm/gcc -D__KERNEL__ -I/home/xp/00-PSX/PSXLinux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -DNO_MM -DNO_FPU -G 0 -mno-abicalls -fno-pic -mcpu=r3000 -mips1 -pipe    -DEXPORT_SYMTAB -c ksyms.c
ksyms.c:115: `find_vma' undeclared here (not in a function)
ksyms.c:115: initializer element for `__ksymtab_find_vma.value' is not constant
ksyms.c:465: `setup_arg_pages' undeclared here (not in a function)
ksyms.c:465: initializer element for `__ksymtab_setup_arg_pages.value' is not constant
ksyms.c:466: `copy_strings_kernel' undeclared here (not in a function)
ksyms.c:466: initializer element for `__ksymtab_copy_strings_kernel.value' is not constant
/home/xp/00-PSX/PSXLinux/Rules.make:273: recipe for target 'ksyms.o' failed
make[2]: *** [ksyms.o] Error 1
make[2]: Leaving directory '/home/xp/00-PSX/PSXLinux/kernel'
/home/xp/00-PSX/PSXLinux/Rules.make:38: recipe for target 'first_rule' failed
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory '/home/xp/00-PSX/PSXLinux/kernel'
Makefile:305: recipe for target '_dir_kernel' failed
make: *** [_dir_kernel] Error 2


Commented the ksyms.o requirement in Makefile
Continues to video and more errrors

Code: Select all

make[2]: Entering directory '/home/xp/00-PSX/PSXLinux/drivers/video'
make all_targets
make[3]: Entering directory '/home/xp/00-PSX/PSXLinux/drivers/video'
mipsel-linux-gcc -I /home/xp/00-PSX/PSXLinux/include/asm/gcc -D__KERNEL__ -I/home/xp/00-PSX/PSXLinux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -DNO_MM -DNO_FPU -G 0 -mno-abicalls -fno-pic -mcpu=r3000 -mips1 -pipe    -c -o psxcon.o psxcon.c
psxcon.c:444: `psxvga_redraw_bmove' undeclared here (not in a function)
psxcon.c:444: initializer element for `__ksymtab_psxvga_redraw_bmove.value' is not constant
psxcon.c:445: `psxvga_redraw_clear' undeclared here (not in a function)
psxcon.c:445: initializer element for `__ksymtab_psxvga_redraw_clear.value' is not constant
psxcon.c:446: `psxvga_dummy' undeclared here (not in a function)
psxcon.c:446: initializer element for `__ksymtab_psxvga_dummy.value' is not constant
psxcon.c:426: warning: `psxvga_dummy_op' defined but not used
/home/xp/00-PSX/PSXLinux/Rules.make:57: recipe for target 'psxcon.o' failed
make[3]: *** [psxcon.o] Error 1
make[3]: Leaving directory '/home/xp/00-PSX/PSXLinux/drivers/video'
/home/xp/00-PSX/PSXLinux/Rules.make:38: recipe for target 'first_rule' failed
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory '/home/xp/00-PSX/PSXLinux/drivers/video'
/home/xp/00-PSX/PSXLinux/Rules.make:145: recipe for target '_subdir_video' failed
make[1]: *** [_subdir_video] Error 2
make[1]: Leaving directory '/home/xp/00-PSX/PSXLinux/drivers'
Makefile:305: recipe for target '_dir_drivers' failed
make: *** [_dir_drivers] Error 2

Last edited by gwald on November 24th, 2017, 7:24 pm, edited 1 time in total.

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » November 24th, 2017, 7:21 pm

PSXLinux-kernel-2.4.x-alpha2.tar.gz compiles fine, no probs

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 24th, 2017, 8:02 pm

Where was the 'config' file located? I can't remember where the right one that I made was saved. There are so many files in this project and it's been a few weeks since I've touched it.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

likeabaus
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 133
Joined: Jul 27, 2016

Post by likeabaus » November 26th, 2017, 1:26 am

This Sunday, I will attempt to build a memcardduino using my arduino uno. If successful, I'll play around with creating a rootfs for the memory card. I don't currently have a working psx atm tho, so I'll have to upload it for others to try out....

User avatar
CodeAsm
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 69
Joined: Jan 13, 2012
I am a: Programmer, Student
Location: The Netherlands
Contact:

Post by CodeAsm » November 26th, 2017, 4:14 am

I bougth that usb controller IC of some seller earlier this year for this very project. its not hard but can be expensive to get. Im sure there are more controllers today that would do the same job maybe better too.

I havent figured out the way to format a memorycard yet (I mean, the format the EXT2 filesystem is stored) I did find the magic bytes and tried to play arround with those to make a program that could write to a file and check what happens. I fail with File I/O under linux but I might try again this or next month. Yeah, if this gets further, Im also gonna needa memcardduino ;).

Simply a rootfs with maybe just a shell program will do fine. first just a rootfs ;) also, I havent been able to find time to compile my own, but a .config is kinda awesome to have that is proven to work without all these hardware addons. Im working in a VM now, to be sure wich versions of things I use.
Development Console: SCPH-102, unkown clone Modchip, PAL , FTDI board build into the case (microUSB) for Serial I/O.
Development Computer: GNU/Linux, Arch x86_64 Linux 4.20.3, i7-3632QM [8x3.2GHz], 11,8GiB, 1366x768 GeForce GT 630M (Optimus tech), lots of gig of storage

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » November 26th, 2017, 6:12 pm

The build tools MUST be install in /usr/local.... etc, I just renamed my original local and extracted it in /
Create the two symbolic links in /usr/local/include/ to PSXlinux/include folders asm & linux as per the instructions.
I got it compiling PSXLinux-kernel-2.4.x-alpha2.tar.gz, it has it's own .config so just reload it after mrproper by: make menuconfig

the file PSXLinux/arch/mipsnommu/boot/Makefile builds and converts it to ecoff (change vmlinux to just linux will automatically do it) ,
I tried :
Shadow wrote:I compiled and used "elf2ecoff.c" under the "arch\mipsnommu\boot" directory. Under Windows, I then used EXEFIXUP.EXE to make the PS-EXE a multiple of 2048 bytes, and booted the kernel image (PS-EXE) from PSIO, but anything would work (CD-ROM, PSXSERIAL, PSEXE.COM or CATFLAP, etc).
So, I can get linux and linux.ecoff but cant seem to get a working ps1.exe
After using elf2ecoff (w/o -a), I've tried
ECO2EXE (w/o) (without it doesnt create PS-X EXE header and exefixup wont work)
mkboot (from arch\mipsnommu\boot) (w/o) (don't know what this does, but didnt help)
Then EXEFIXUP

Any ideas?

FYI:
PSXLinux-kernel-2.4.x-beta1 is the newest
alpha2 second newest
beta1 has linux/drivers/char/serial_psx.c (19th of oct 2001 )
alpha2 doesnt
You do not have the required permissions to view the files attached to this post.

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 26th, 2017, 7:15 pm

Yeah, my build tools are installed under '/usr/local' as well.

Well first you convert the 'linux' file that was generated by the compiler by using: 'elf2ecoff linux linux.ecoff'.
Then run 'eco2exe linux.image.ecoff'.
Finally, 'exefixup linux.exe'.

Okay, looks like the 'config' file is called 'defconfig' and it's located in '/arch/mipsnommu/'. I've attached my config file for you. I hope it's the right one!

Hmm. BETA is always newer than ALPHA, so you probably have a newer version than what I used.
You do not have the required permissions to view the files attached to this post.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

likeabaus
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 133
Joined: Jul 27, 2016

Post by likeabaus » November 26th, 2017, 10:22 pm

So a change of plans. My future brother in law was waiting for a part to come in for his TV and it came in earlier than expected (arrived yesterday). So it looks like I'll be installing that after work today instead (the tv is in pieces on our living room floor so the sooner we can get it out of there the better lol)

User avatar
CodeAsm
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 69
Joined: Jan 13, 2012
I am a: Programmer, Student
Location: The Netherlands
Contact:

Post by CodeAsm » November 28th, 2017, 3:05 am

@Gwald, how big is your linux ecoff file after running the convert(elf2ecoff) tool and how big is the Executable when it is "converted" into a PS-EXE? I seem to run into the same old problem again I had earlier, it goes from arround 1.1Mb, 730Kb (stripped) eld to 716Kb as a ecoff, then the Eco2EXE makes it 2Kb. near empty, just the file magic and some section location?

Either I should build it in a true 32bit envirement or im using the tools incorrectly. Beta1 seems to compile fine towards a linux elf file, using a sligtly modifed config from Alpha.
Im also toying arround with the

Code: Select all

make dep
command before the final make. Building linux kernels for Arch and LFS is easy compared to this :P

The kernel that came with the Alpha2 tarball was stripped, I tried that aswell

Code: Select all

mipsel-linux-strip linux
but no luck with this, arround the same size after converting and PS-EXE still 2Kb (I asume the Elf2ecoff does its own stripping).

I have not tried adding a initrd yet to the kernels, maybe thats a mistake. Hope we can all figure out how to atleast compile the kernel consistently.

EDIT: looks like im using Version 0.01 of eco2exe from Andrew Kieschnick, is that the only one or are you guys using another? its source is availeble and for Linux it states to find the unaltered version. under linux we could probably write that exefix programm aswell, no more windows (unless thats nstill needed to send the Exe over to the PS1)
Development Console: SCPH-102, unkown clone Modchip, PAL , FTDI board build into the case (microUSB) for Serial I/O.
Development Computer: GNU/Linux, Arch x86_64 Linux 4.20.3, i7-3632QM [8x3.2GHz], 11,8GiB, 1366x768 GeForce GT 630M (Optimus tech), lots of gig of storage

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » November 28th, 2017, 8:16 am

Good points, I didn't think to run strip.
I think i'm using the same version of eco2exe.
I'll check my linux size in about 12hours and provide more details

Okay, so I've made some changes to the Makefile in PSXLinux/arch/mipsnommu/boot
The issue is it's looking for file vmlinux in the build root (PSXLinux/) but it's just linux
I also changed it to keep all the different binary files, they are attached, you can compare the binary to the Makefile, to see how it was created.
I'm not 100% which to eco2exe, exefixup etc, it should be vmlinux.ecoff, but I tried all of them but none seem to work.
I've been testing via no$psx, rename them to psx.exe for it to work.
You do not have the required permissions to view the files attached to this post.

User avatar
CodeAsm
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 69
Joined: Jan 13, 2012
I am a: Programmer, Student
Location: The Netherlands
Contact:

Post by CodeAsm » November 29th, 2017, 6:32 am

Tried other things, dint work. Thanks Gwald for your Makefile modifications, they are nice, and I was thinking about making a script that would do the configuration and making automaticly, but thats probably best for when I actualy get a working PS-EXE.

http://www.psxdev.net/forum/viewtopic.php?f=67&t=917 is yours, and you use another eco2exe there, seems like you even have the source for Hitmens version? is that public somewhere?

I tried debugging the 0.01 Andrew Kieschnick version, but I dont understand the ecoff header structure just yet (me and GDB arent acquainted enough, could probably better use another debugger)
hitmens version writes a byte more just at location 0x30 but just as the other, 2Kb of empty PS-EXE. Our Elf2ecoff might be a diferent ecoff fileformat then Yaroze's buildtools output? looks like header tables are misaligned or something.

@shadow what version of linux did you use? Kernel, and what type of install is it? x86 or 64bits? (distro might help too, but not required). Kinda wonder wich eco2exe you used aswell, but my guess is that the eco2exe isnt our problem. (atleast I hope not). when doing kernel compilation, the original kernel (linux or vmlinux, in elf forrmat) the .config and the .ecoff file might be cool to look at and compare if your able to compile it again and it runs.

So far ive only been "succesfull" with compiling the kernel on my Arch box, wich is 64bits, but the PS-EXE is the small useless version, so not succesfull in the end. Alpha and Beta same results. (a 32bit debian install dint had the right linux headers or something, spend too much time getting anything out). 64bit OS might be introducing complications to our build by using the wrong tool to convert something, maybe entries in the ecoff file are wrong, or the endianess is swapped by a tool thanks to this. crosscompiling isnt easy and when target cpu AND bitness changes, based on years old tools on a very recent system... I think this might be it, just get an (sligthly) older os, and maybe upgrade the mipsel toolset later to modern when we get those kernels converted correctly.

The enclosed config should be too general and probably useless till we can convert to those PS-EXE correctly
You do not have the required permissions to view the files attached to this post.
Development Console: SCPH-102, unkown clone Modchip, PAL , FTDI board build into the case (microUSB) for Serial I/O.
Development Computer: GNU/Linux, Arch x86_64 Linux 4.20.3, i7-3632QM [8x3.2GHz], 11,8GiB, 1366x768 GeForce GT 630M (Optimus tech), lots of gig of storage

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 29th, 2017, 7:05 am

I used the ECO2EXE source in the PSXLinux project and compiled it with GCC.
The machine I used was Debian under VMWare as a 32-bit system on an Intel Q6700 processor.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » November 29th, 2017, 7:59 am

I'll upload the original sources of yarexe later.
I did run my kernal build outputs through yarexe, I'm guessing, vmlinux.ecoff was the "closest" to working but it failed at checking the exe RAM address, failed.

But, the quickest way would be if shadow could zip up his PSXLinux folder with the win tools used to create the psxlinux.exe file and upload it somewhere :?:

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 29th, 2017, 9:44 am

But my folder is exactly the same as the one you guys have. That would be pointless. I can upload the ECO2EXE program I compiled though if you'd like.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » November 30th, 2017, 8:02 am

yarexe original files attached
You do not have the required permissions to view the files attached to this post.

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » December 9th, 2017, 6:24 pm


LopoTRI
What is PSXDEV?
What is PSXDEV?
Posts: 4
Joined: Nov 08, 2014

Post by LopoTRI » May 10th, 2018, 10:52 am

Shadow wrote: October 24th, 2017, 9:37 pm I compiled and used "elf2ecoff.c" under the "arch\mipsnommu\boot" directory. Under Windows, I then used EXEFIXUP.EXE to make the PS-EXE a multiple of 2048 bytes, and booted the kernel image (PS-EXE) from PSIO, but anything would work (CD-ROM, PSXSERIAL, PSEXE.COM or CATFLAP, etc).
Hello, can you tell me what vm and what i have to install, so i can manage to compile elf2ecoff?
After a couple days i now have succesfull build linux.elf, but if i want to compile elf2ecoff error occours.
I then tried with dsl, there it compiles without error, but if i write in command line:

# elf2ecoff linux linux.ecoff

comes error, command not found...

I have the linux elf and elf2ecoff in /PSXLinux

User avatar
CodeAsm
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 69
Joined: Jan 13, 2012
I am a: Programmer, Student
Location: The Netherlands
Contact:

Post by CodeAsm » December 25th, 2019, 10:34 pm

Thanks to greasemonkey and arie and their awesome fromage (minecraft "clone") and their tools I got a elf2psexe that I can use.

compiling the linux kernel using the crosstools and then converting the elf linux kernel using https://github.com/ChenThread/candyk/tr ... rc/elf2psx (modify it to skip the text section check) and you have a .exe atleast no$psx accepts. Im happy I finaly found a way to do this because I can finaly do some exploring how to write new drivers or support the memorycard.

If you format a card to contain these first bytes, the kernel thinks it has the right card, just need to figure out how to get an actualy expected filesystem/initrd on there.
Off Topic
34 12 00 00 00 00 01 00 00 00 01 00 00 00 00 01
When I get a basic filesystem working, ill post a full memory unit image and kernel (altho thats now easy to make anyway).

normal ps1 formated cards have 4D43 at the beginning, 1234 (little endian, stored as 3412) is the signature the Linux kernel looks for, the other bytes set the single or multiple cards setting, size and serial number. the total size is kinda weird, but maybe when we know how to format the card, the total size would make more sense (something with blocksizes and blocks per BU.)

I enabled some debug prints while testing memory unit contents. this is further then I ever got
Screenshot from 2019-12-25 12-39-41.png
You do not have the required permissions to view the files attached to this post.
Development Console: SCPH-102, unkown clone Modchip, PAL , FTDI board build into the case (microUSB) for Serial I/O.
Development Computer: GNU/Linux, Arch x86_64 Linux 4.20.3, i7-3632QM [8x3.2GHz], 11,8GiB, 1366x768 GeForce GT 630M (Optimus tech), lots of gig of storage

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests