BatteryCheck DevBlog - Playstation 1 progress...

I did not have any hardware PlayStation 1 until just 3-4 weeks ago! Now I have 5 of them! :D Three "phat's" and two PSOne's. Why five consoles???? Well...I first bought a regular Phat for the serial and parallel ports they have that make homebrew development A LOT easier! Then I wanted to add a PSOne to my collection because it's so damn cute and small! :rofl2: To keep the story short....while looking for a PSOne I found a seller that sold 2 phats and two PSOne's for an amazing price! I could not resist that! :D

Before I can do ANY homebrew development work on the PS1 I needed to setup my DEV environment to be able to compile any code at all. That took me a good few days to figure out what was wrong....and with the guidance on Discord from spicyjpeg (thanks dude :yay:) I got it to compile...the MIPS cross-compilers and the PSn00bSDK with examples!

And then yesterday I started diving into the examples, documentation and the libpsn00b sourcecode to get an idea of how things work. My overal impression is that it's different but familiar...it's most similar in a way to how the PSP does things. Which I guess makes sense since they are both Sony PlayStation devices, hahahah. It took me some getting used to 'cmake' while I am used to just 'make' for years now! It's literately completely different even though the idea is the same....you tell 'make/cmake' where your compilers and libraries are, what options to use and where your own source code is. in a nutshell! But seeing the examples, understanding the different compilation method and doing it myself are very different things! :D

While there were MANY steps involved....yesterday I finally made progress in the process of creating my own PlayStation 1 homebrew! I compiled the "template" example and modified it a bit to get the the following result:
1686648547567.png


Yes, it's a simple "Hello World" example with a twist! It also sets a background color and moves a square around the screen. I changed the background to an almost black/grey and the resized the rectangle to be smaller and changed it's color to "andorian blue". Like the blue skin color of andorians...and from my avatar picture. :D

Small steps...but my modification does run in the PCSX-Redux emulator (it has an AMAZING CRT shader!!!!). I wanted to test on hardware but at 23:50 late at night I thought it was enough! Also with 33 Celsius it was already hard enough to be sitting at my desk all that time with three little fan's blowing some air around at me!

The next big step would be to actually load some batteryCheck graphics! But there are a couple of limitations to overcome first. Beyond having free spare time to work on it I need to get the graphics into the right format and for testing embed that into the EXE so I don't require a CD image for now. The other limitation is that a texture has a max size of 256x256 pixels! If that sounds familiar...that's because the PSP and NDS/DSi have the exact same limitation and I have been rambling about it A LOT. :P:rofl2:
Not a big issue for most of the spites but it is a challenge for the menu screen and splash screens. They are 640x480 and I need to think of a way to display them correctly. One single image at 16 bits colors (1A5R5G5B) is already 614kb....out of just 1MB of VRAM! If I use 8bpp with a CLUT (Color LookUp Table) then it would only be 307kb :D.....but I will STILL need to divide the 640x480 pixel image into 256x256 chunks to show it! Or...resize it! either on hardware at runtime or in the conversion process.

Either way....with some luck I will have the menu screen showing on the real hardware! I am 99% sure how to do it for a quick proof-of-concept and maybe even how to include the other splash screens. It won't be efficient and the EXE is going to be close to the 2MB max!! The only downside of that is that it's REALLY slow to upload that over a slow serial cable into the PS1 hardware....but at least no wasted CD's.

Thanks for reading :D

Comments

You should definitely invest in a ODE for your DEV playstation, so you can just drop in ISO files on an SD card, and go.
 
  • Like
Reactions: Archerite
You should definitely invest in a ODE for your DEV playstation, so you can just drop in ISO files on an SD card, and go.
I would really like an ODE...but they are quite picky on the hardware revision they are co patible with! Plus a waiting list and/or out of stock in most places.
I have seen a few alternative projects that are being worked on...but as far as I know there is no finished product from those yet!

The prices all seem te be close to 90 euro's, except PSIO, and that's fine. The GCLoader costs the same for the same features bassically.

The serial port is fine for small EXE uploads and testing. I want to prepare a CD-R with as much of the data files and audio tracks as possible. And in 'ready to use' formats for the PSX so I don't need to waste RAM or VRAM on them. The music should be 'easy' as those will be CD audio tracks for simplicity! :D

I have searched for a memory card SD slot adapter, like MX4SIO on the PS2....but I think it's not there (yet).
 
  • Like
Reactions: KleinesSinchen
You should definitely invest in a ODE for your DEV playstation, so you can just drop in ISO files on an SD card, and go.
Way too expensive, way too little compatibility (hardware revisions), way too complex installation.
No (yet) worth it on PS1 in my opinion.

The serial port is fine for small EXE uploads and testing. I want to prepare a CD-R with as much of the data files and audio tracks as possible. And in 'ready to use' formats for the PSX so I don't need to waste RAM or VRAM on them. The music should be 'easy' as those will be CD audio tracks for simplicity! :D
That is -- in principle -- the correct way to go. Keep in mind that the PS1 would - by default - not allow accessing normal data on CDs without successful SCEx authentication from the inserted CD. CDDA is the only thing that works without.
Yes, I know, pretty much every console has a modchip. Just mentioning it.
 
  • Like
Reactions: Archerite
Way too expensive, way too little compatibility (hardware revisions), way too complex installation.
No (yet) worth it on PS1 in my opinion.
I agree it's expensive but I have not really looked into the exact features of either ODE I found. All I know is they can both load Cd images of an SD card and show some kind of "limited" interface to select a game. I do find it cool that I beleive XStation can communicate with MemCardPro to auto select a memory card image for the selected game. It's not required...but it's nice.

The requirement for very specific hardware revisions is a really big limitation! Shouldn't all the hardware and stuff be the same architecture, chips and design's? I get that pins might be in a different location...but then figure out where they are and design a new PCB for that revision. Or...maybe it's not that simple. I don't know.
That is -- in principle -- the correct way to go. Keep in mind that the PS1 would - by default - not allow accessing normal data on CDs without successful SCEx authentication from the inserted CD. CDDA is the only thing that works without.
Yes, I know, pretty much every console has a modchip. Just mentioning it.
Do you mean that even with a modchip the disc needs to be signed or something? I know the tool that generates the image had some note saying this is not included for obvious reasons. I did not really look into it yet. Out of my five consoles I know for sure that 4 of the can boot CD-R's. The fifth does not have an optical drive so I can't test it. What I do want to look at for those is what revision mainboard is in there. Just to see if they are "XStation compatible" in case I go crazy and buy one anyway.

As for the serial link speed I did see an option to at least set it to 2X or 3X the speed I tested at before...so that will be a huge help in waiting for the uploads to go through it! I do know it's faster that: compile > take out SD card -> put into PC reader -> copy the files -> eject -> put back -> turn on console! I have had to do this with the DS, DSi and GameCube while I was testing on those systems....and it got old REALLY quickly. This is what make me go from GameCube to Wii in less than 2-3 weeks!
 
  • Like
Reactions: KleinesSinchen
Nah, just the SCEx signal. CD drive gets unlocked after receiving a SCEx signal – and this is the case with a modchip. Just mentioned it for the sake of completeness.
Ohh...good!:rofl: I was worried I could not just burn the disc with my data and music and have it readable after you said that! Thought I had mist an important detail! :rofl2::rofl2:

RE: ODDE, I believe someone was working on a Pi Pico based ODDE for PS1..
That correct, but it's still in development and it seems to have similar limitations on hardware revisions it supports.
====
As a short update on the PS1 port progress...I had very little time actually! But I have read the examples and source of the SDK in more detail. And I have an idea of how to make things work.

One issue is that the common TIM image format is quite old and I am trying to figure out how to convert the graphics in this format. On the PSX.Dev discord I was advised not to use TIM at all! But then I need to know how to get the pixel data and CLUT into VRAM!

I 'think' I know how but I had no time to try it out yet! To be continued! :D
 
  • Like
Reactions: DinohScene

Blog entry information

Author
Archerite
Views
430
Comments
7
Last update

More entries in Personal Blogs

More entries from Archerite

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    @BigOnYa, doesn't fit in his bedroom he's American
    +1
  • BigOnYa @ BigOnYa:
    I hate ordering stuff online if I can go buy it somewhere close to me, and everywhere anymore will give you a discount only if you order it online, bs. Should be a discount if I go pick it up, not order online.
  • K3Nv2 @ K3Nv2:
    I love it for most things most stores you just shows the receipt online and they scan it
    +1
  • K3Nv2 @ K3Nv2:
    Makes it easy for incompetent restaurant staff that don't know how to hear an order
  • BigOnYa @ BigOnYa:
    Mostly for big purchases, I want it in my hands before I pay. Like a tv, I trust picking it up myself, before I'd trust it being sent thru mail/delivery. (Broken screen, etc) But yea if I can order online, then pickup at store is ok, but not all places offer that.
  • cearp @ cearp:
    > Like a tv, I trust picking it up myself, before I'd trust it being sent thru mail/delivery. (Broken screen, etc)

    Thing is, if you break it driving back to your house, it's your fault. But if the delivery driver damages it, it's not your fault.
    +1
  • K3Nv2 @ K3Nv2:
    Most people that haul big tvs have empty trucks or know enough not to set it face down
  • BigOnYa @ BigOnYa:
    Then I gotta send it back and wait another week or two. I have a pickup truck, with a extended cab, so no prob for me.
  • K3Nv2 @ K3Nv2:
    Most manufacturers pack it well enough where they aren't that dumb to let it happen
  • BigOnYa @ BigOnYa:
    They building a new Microcenter store near by me, is kinda scary. That's my favorite place, I'm like a kid in a candy store there.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, what's a microcenter?
  • K3Nv2 @ K3Nv2:
    Cool I'll make you ship me stuff
    +1
  • K3Nv2 @ K3Nv2:
    Microcenter sells high quality microwaves
  • BigOnYa @ BigOnYa:
    Computer store basically, but they sell everything, like game systems, tvs , 3d printers, etc
    +1
  • K3Nv2 @ K3Nv2:
    I've seen i9/mobo deals for like 400
  • BigOnYa @ BigOnYa:
    Yea been itching to build a new pc, mine is like 3-4 years old, ancient in pc tech time. Still using a sata SSD even.
  • K3Nv2 @ K3Nv2:
    That's still high tech to ancientboi
    +2
  • BigOnYa @ BigOnYa:
    Kinda cool, I can buy a second Xbox for guests, and download all my purchased digital games to it, and play on both xboxs same time. Didn't know they allowed that. 2 xboxs per Xbox account.
  • AncientBoi @ AncientBoi:
    :rofl2: A toaster is "High Tech" to me
    +1
  • K3Nv2 @ K3Nv2:
    No we told you to stop taking baths with them
    +1
  • BigOnYa @ BigOnYa:
    Is crazy to think, you used to be able to build a decent PC for $300-400. Those days are way gone.
  • K3Nv2 @ K3Nv2:
    $600 gets you a decent one
    +1
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, too expensive
  • K3Nv2 @ K3Nv2:
    Uremums expensive
    K3Nv2 @ K3Nv2: Uremums expensive