UniROM 8.0.K - GDB Debugging, install/backup to/from memory card, homebrew from memcard, etc

Downloadable items posted by PSXDEV members are within this forum.
Post Reply
User avatar
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

UniROM 8.0.K - GDB Debugging, install/backup to/from memory card, homebrew from memcard, etc

Post by sickle » April 27th, 2015, 6:09 am

Image

Been a long time coming, but here's the first tentative release of Unirom 8!

It comes as a BootDisc (green) and ROM (blue) combo.
Both have the import player, serial tools, hex editor, flappy credits, ROM flashing, etc.
Additionally the ROM has the nocash unlock and Caetla SxS support.

It's been entirely rewritten in C, so most of it's fresh.
Let me know if you spot any glaring issues.

Release page on Github (Download here)
https://github.com/JonathanDotCel/uniro ... 1/releases

The readme, also on github.
https://github.com/JonathanDotCel/uniro ... re_for_ps1

Source will be uploaded as I find time!

Please enjoy, take care, and wash your hands.
~sickle.

04_05_2020:
8.0.2b Released - see page 20 or github or readme.md for details!



----Version 6-7b notes----
► Show Spoiler



---- Older Notes ----
► Show Spoiler
You do not have the required permissions to view the files attached to this post.
Last edited by sickle on September 11th, 2022, 8:28 am, edited 23 times in total.

User avatar
Greg
Verified
Serious PSXDEV User
Serious PSXDEV User
Posts: 101
Joined: Sep 09, 2013
PlayStation Model: SCPH-7501
Location: Port-au-Prince, HAITI

Post by Greg » April 27th, 2015, 10:53 am

Awesome! :clap
1 x SCPH-7501, 2 x SCPH-7001, 2 x SCPH-5501
1 x Pro Action Replay with "Dual Rom Mod", ROM 1: Caetla, ROM 2: UNIROM
1 x Xplorer V2 with Caetla
1 x GameShark V2.1
1 x GameShark Pro V3.0
1 x CommLinkUSB
1 x XLinkUSB

User avatar
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » May 31st, 2015, 1:55 pm

May 31st - Release 0.2

Type 79
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 61
Joined: Sep 18, 2012
Location: Finland

Post by Type 79 » June 28th, 2015, 1:49 am

This is great :clap

hethemlrijk
What is PSXDEV?
What is PSXDEV?
Posts: 3
Joined: Jun 29, 2015

Post by hethemlrijk » June 29th, 2015, 9:01 pm

Amazing work, is it possible to modify and make a caetla + secret unlock only that would fit into the 128kb flash?

User avatar
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » July 11th, 2015, 4:07 pm

hethemlrijk wrote:Amazing work, is it possible to modify and make a caetla + secret unlock only that would fit into the 128kb flash?
Yes! It's planned to be bundled with the next UniROM release (saves me hassle of maintaining separate things), but I wanted to tidy up UniROM's boot sequence a little and have both roms share the same code chunk so yeah, there will be a 128k caetla one soon enough =)

hethemlrijk
What is PSXDEV?
What is PSXDEV?
Posts: 3
Joined: Jun 29, 2015

Post by hethemlrijk » July 13th, 2015, 8:17 am

Great news!

I look forward to it. I will have to do some extra mods to my PSX ready for it such as dual oscillator mod :)

User avatar
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » July 18th, 2015, 10:15 am

Heheh, I've only got the modchip switch so far but that sounds pretty cool... never realised it was possible.
Probably won't be done this weekend - it's kinda time consuming but I don't want it to drag on too long either... so uhm.. soon!

Aergan
Curious PSXDEV User
Curious PSXDEV User
Posts: 23
Joined: Jul 26, 2015
Motto: Not today.
PlayStation Model: SCPH-7502b
Location: Staffordshire, UK
Contact:

Post by Aergan » July 26th, 2015, 2:13 am

Many thanks for this, it's breathed new life into my PlayStation & Xplorer FX Pro. :)

Via PSX Serial, I now have an easy route into my memory cards from modern OSes without the need to find my hardware with parallel I/O.

Eagerly awaiting future releases/improvements.

User avatar
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » August 1st, 2015, 3:38 am

Aergan:
If I had the time, would it be a good thing to have the ROM boot straight into PSXSerial when it detects comms?

Been toying with the idea of modifying XFlash similarly rather than continuing to implement upload features natively.

Aergan
Curious PSXDEV User
Curious PSXDEV User
Posts: 23
Joined: Jul 26, 2015
Motto: Not today.
PlayStation Model: SCPH-7502b
Location: Staffordshire, UK
Contact:

Post by Aergan » August 1st, 2015, 11:59 pm

sicklebrick wrote:Aergan:
If I had the time, would it be a good thing to have the ROM boot straight into PSXSerial when it detects comms?

Been toying with the idea of modifying XFlash similarly rather than continuing to implement upload features natively.
Personally, I would love to have an option for Shendo's PS1CardLink (thus cutting out a few steps).

If you've got the time I sure don't mind testing any improvements. :)

Do you have any tips or options for getting action replay code packs registered? Currently I'm getting the black screen which I assume is down to no default pack installed or it's that silly version that attempts to load of a memory card.

User avatar
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » August 2nd, 2015, 3:42 am

Hmm, I see what you mean, yeah - that program and/or something to launch .exe's off a memcard would be pretty handy.

I'm kinda weary of stuffing too much more into the base ROM, but I was thinking of allowing the user to just append a .EXE at the end of the rom (little batch file should do it), then when you attempt to launch, the rom checks the first few bytes beyond it's own end.. if it detects the PSX .EXE header it continues, if not it just shows a messagebox "no plugin installed".

Tbh I think that would be the better and more future-proof option to allow customization... thoughts?

example:
-rename cardlinkto plugin.exe
-run addplugin.bat
-read instructions? lol
-generates unirom_and_plugin.rom
-"plugin" item on unirom now runs this .exe?

Edit:
Also, not sure what you mean about getting action replay code packs registered... you mean like the plaintext cheat code lists that you can upload to the card? Remember Caetla can't flash the rom on certain card types (unsupported flash mem chip)... could that be an issue?

danhans42
BANNED
BANNED
Posts: 330
Joined: Nov 28, 2012

Post by danhans42 » August 2nd, 2015, 7:13 am

I upgraded my Xplorer to UniROM and just wanted to say what a cracking piece of work it is!


Last time I used cheats with Caetla I a 99% sure they are stored on a memory card. The plaintext stuff is converted using one of the caetla tools which you upload to the memorycard.

User avatar
Shendo
Verified
C Programming Expert
C Programming Expert
Posts: 250
Joined: Mar 21, 2012
I am a: Programmer
Motto: Never settle
PlayStation Model: SCPH-7502
Discord: ShendoXT
Location: Croatia, EU

Post by Shendo » August 2nd, 2015, 9:17 am

sicklebrick wrote:Hmm, I see what you mean, yeah - that program and/or something to launch .exe's off a memcard would be pretty handy.
You can use MCLaunch for that but there is a 112 KB size limit so it's not suitable for everything.
Dev console: SCPH-7502, FreePSXBoot, CH340 serial cable.

User avatar
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » August 2nd, 2015, 3:45 pm

danhans42 wrote: Last time I used cheats with Caetla I a 99% sure they are stored on a memory card. The plaintext stuff is converted using one of the caetla tools which you upload to the memorycard.
Heh, cheers man, but it really it's just a menu and lots of other peoples' work!
I totally forgot that Caetla stored cheats on the card though, that makes way more sense.

Shendo/Aergan -
Given that there's about 12kb left free on the standalone version (I always want this to fit on 128kb cards) and 24kb on the caetla version (228kb) I guess PS1CardLink is out of the question as a "core" program, but I could possibly put MCLaunch in there (as it compresses to ~17kb).

Wouldn't leave a lot of space for future code, but it's always an option if you're cool with it Shendo?
(I'd prefer to include the entire zip and a link to your thread too, just to make things easier on future people)

Standalone on 128kb cart = mostly full
Combined on 128kb cart = doesn't fit

Standalone on XPlorer = 128kb free
Combined on Xplorer= mostly full

Standalone on Xplorer FX = 256kb free
Combined on XplorerFX = 128kb free

This is why I was considering the plugin option, you'd just name PS1CardLink to plugin.exe, run "add_plugin.bat" or whatever, and upload "unirom_caetla_plus_plugin.rom"

That way you could have XLink,PSXSerial,PS1CardLink and MCLauncher all on the one cart, which seems pretty awesome actually =)

danhans42
BANNED
BANNED
Posts: 330
Joined: Nov 28, 2012

Post by danhans42 » August 2nd, 2015, 9:29 pm

Caetla has an inbuilt facility to launch EXEs from the memorycard too. Not sure if its as good as what Shendo coded but it always worked well for me

Aergan
Curious PSXDEV User
Curious PSXDEV User
Posts: 23
Joined: Jul 26, 2015
Motto: Not today.
PlayStation Model: SCPH-7502b
Location: Staffordshire, UK
Contact:

Post by Aergan » August 3rd, 2015, 2:00 am

sicklebrick wrote:This is why I was considering the plugin option, you'd just name PS1CardLink to plugin.exe, run "add_plugin.bat" or whatever, and upload "unirom_caetla_plus_plugin.rom"

That way you could have XLink,PSXSerial,PS1CardLink and MCLauncher all on the one cart, which seems pretty awesome actually =)
That would be pretty awesome actually. At the moment i'm mostly using Windows and a script to launch PSX Serial to upload PS1CardLink when UniROM is placed into PSXSerial mode. It works well but it would be nicer to have a more native / faster to access option if possible.

I have two Xplorer FX carts; one FX "original" on the default 4.52 PAL ROM and the other FX "Professional" using UniROM 0.2. As far as I'm aware they are both the larger storage versions (and include VMS).

Are there any options for memory address searching/editing via UniROM/Caetla Xplorer ?

Many years ago I used to have an AR clone (translucent case, blue PCB) that was running a Caetla ROM and it didn't require the codes to be stored on the memory card. I had a friend with a different knock-off cart (white case, green PCB) that did require one and I don't believe we ever got it to work properly after he lost the card.

All the tools to manage Caetla AR/GS codes seem to rely on a communications card rather than the Xplorer parallel I/O?

User avatar
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » August 3rd, 2015, 5:56 am

danhans42 wrote:Caetla has an inbuilt facility to launch EXEs from the memorycard too. Not sure if its as good as what Shendo coded but it always worked well for me
Hahah, thanks - in all the time I've used Caetla, I never realised that!

It's awesome and all, but I think one of the hurdles for entry for people wanting to have a go at coding for the PSX is the complexity of it all. 10-15 years ago it was likely easier 'cause you'd have a parallel port or ISA slot for the comms card, but now I see a lot of people asking questions then giving up 'cause it's pretty tricky to find a single source of all the tools and hardware to get up and going quickly (i.e. before losing interest). So I'm really intent on having a standalone 128k version of UniROM that's as usable as possible - i.e. comes with its own recovery disk, can be reflashed by itsself, and offers both serial/parallel comms.
I get the feeling it'd be easier for someone with an old generic 128k cart to get something built with Unirom+PSXSerial than to build a Freewing and flash Caetla or other kinda card replacement.
(especially with a lot of those 128k carts having disabled/removed DB25 connectors)

For those reasons really, I think it'd be pretty nice to include MCLaunch if Shendo was up for the idea - there's only a few KB left and you can do a fair amount with the space on an MC!
Aergan wrote:
That would be pretty awesome actually. At the moment i'm mostly using Windows and a script to launch PSX Serial to upload PS1CardLink when UniROM is placed into PSXSerial mode. It works well but it would be nicer to have a more native / faster to access option if possible...
This is something I've really been wanting to look into actually...
Somehow, the Xplorer carts all let you do live in-game cheat engine style searches while the game was running, and I've not gotten to the bottom of this yet (or how the cheats are actually applied!). My best guess for the moment is they install a memory hook on a function that's prettymuch guaranteed to be called (GPU wait/update?) and then resume normal execution?

It seems you're working on something that's pretty cheat heavy right now, so I could suggest switching over to an actual Xplorer rom if you're able to use the parallel port. You could use xlink ( http://www.psxdev.net/forum/viewtopic.php?f=60&t=746 ) for the searching/testing, X-Killer http://www.psxdev.net/forum/viewtopic.php?f=60&t=392 ) for flashing, uploading and dumping and stuff (X-kIller works with XPlorer rom and XFlash software alike), and there are tools to upload your cheats from a plain text file.

I really do want to look into that, but for the time being 0.3 is focused on adding the plugin idea, fixing the fastboot a little and general cleanup of the source - then maybe remove some of the MyAR routines in favour of just triggering XFlash, and seeing if it's possible to launch PSXSerial without interfering.

Aergan
Curious PSXDEV User
Curious PSXDEV User
Posts: 23
Joined: Jul 26, 2015
Motto: Not today.
PlayStation Model: SCPH-7502b
Location: Staffordshire, UK
Contact:

Post by Aergan » August 3rd, 2015, 8:17 pm

sicklebrick wrote: This is something I've really been wanting to look into actually...
Somehow, the Xplorer carts all let you do live in-game cheat engine style searches while the game was running, and I've not gotten to the bottom of this yet (or how the cheats are actually applied!). My best guess for the moment is they install a memory hook on a function that's prettymuch guaranteed to be called (GPU wait/update?) and then resume normal execution?

It seems you're working on something that's pretty cheat heavy right now, so I could suggest switching over to an actual Xplorer rom if you're able to use the parallel port. You could use xlink ( http://www.psxdev.net/forum/viewtopic.php?f=60&t=746 ) for the searching/testing, X-Killer http://www.psxdev.net/forum/viewtopic.php?f=60&t=392 ) for flashing, uploading and dumping and stuff (X-kIller works with XPlorer rom and XFlash software alike), and there are tools to upload your cheats from a plain text file.

I really do want to look into that, but for the time being 0.3 is focused on adding the plugin idea, fixing the fastboot a little and general cleanup of the source - then maybe remove some of the MyAR routines in favour of just triggering XFlash, and seeing if it's possible to launch PSXSerial without interfering.
I've got X-Killer and X-Link 95, X-Link DOS but that involves switching to the other cart (non-UniROM). I was wondering if there's any options for Caetla for similar functionality? or if it's more or less Xplorer only territory (for now).

I have a lot of codes I was working on that I never got a chance to finish that I would like to get back into one day. To get that working in a stable way, I'm having to load VMWare Player + WinME under Linux but I can get X-Killer working natively under Wine and X-Link DOS under DOSEmu (just about, crashes out on write access).

Either way, I've got a fairly decent method of managing memory cards and uploading PSX EXE's which I am very grateful for! :)

User avatar
sickle
Verified
C Programming Expert
C Programming Expert
Posts: 257
Joined: Jul 17, 2013
I am a: Chocolate-fueled pug fetish robot.
Location: Scotland

Post by sickle » August 4th, 2015, 4:10 am

Aww jeez... off the top of my head, XLink (PC) works with XFlash + Xplorer Rom, but it doesn't work the other way around ( XLink won't talk to the XFlash CD).
I don't *think* caetla has so many of the in-game features, like cheat searching and all that, you could possibly do it via catflap or XFlash (PC) by resetting the console and dumping the mem out before it's overwritten?

I remember there being similar GameShark code finders, but I dunno how compatible they are with an Xplorer running Caetla. For one, Caetla uses a different way to pulse/ack bytes over the parallel port even on Xplorer cart... but y'know, it could be incompatible in terms of both the protocol and the send/acknowledge routines.

Have you tried to see if it's possible to pause, dump memory and dump the VRAM under caetla with catflap while a game is running? If so you could knock up your own GUI to do the business in C# -it's ridiculously easy to get the comms up and running with the catflap source sitting next to you (just pay close attention to Send vs Send8). If it was to work, then I guess, just like XPlorer you'd have to start the game with cheats enabled or somethng?

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests