Page 1 of 3

[DOWNLOAD] PSXSERIAL

Posted: July 17th, 2013, 10:38 pm
by Shadow

[center]PSXSERIAL - Version 1.4[/center]
115200 BAUD HARDCODED AND READY TO RUN
Special thanks goes out to Jihad of HITMEN, Type 79, Shendo and Dax.
PSXSERIAL is based off of the .NET version of Jihad/HITMEN SEND.EXE with permission from Shendo.

This tool is a lite replacement to SIOCONS and works with Windows 64-bit systems.
I have designed it to feel and look more like Sony's development environment.
Use these tools with your FTDI, and don't use HITMEN's old loader (SEND.EXE) anymore.

If you don't know how to build the hardware and wire the cable, the PSXSERIAL hardware will hopefully be for sale soon in the PSXDEV.NET store. If you know how to wire it, the FTDI only requires TX, RX and GND. Nothing else. TX goes to TX, and RX goes to RX respectively (because in my case the FTDI inverts the transmit lines).

Instructions on how to use the tools and software are included within the ZIP and are also noted below.
If you need any help, wish to report a glitch, bug, problem or want to send advice to improve PSXSERIAL, please let me know by replying below with your message :mrgreen:

Return to PSXSERIAL Assembler Jumps: http://www.psxdev.net/forum/viewtopic.php?f=41&t=373

Reported Bugs in V1.0
You can only upload PS-EXE's that are up to 1.6MB in file size.
If you try to upload more that that, the PSX will simply crash with a black screen.
I should mention that while polygons are being used for the black boxes around the text, the coloured bars are not.
This will be improved in Version 1.1 as polygons will be used instead of a TIM for the background.


Reported Bugs in V1.1
FAIL. You couldn't upload anything at all with this version :shock:
I added to the compiler -O3 for the third level of optimisation, and this caused it to stop working.


Reported Bugs in V1.2
Any received data triggers the screen to go blank.
I will look into this and try to push V1.3 out.


Reported Bugs in V1.3
If you return back using '__asm__("j 0x801ECD94");', it still says "RECEIVING DATA FROM PC" on the screen instead of "STANDING BY...". No big deal or anything. It still works fine, but it can be misleading for some.
The Net Yaroze DTL-S3050 cable does not work with this version, nor any previous versions.


Reported Bugs in V1.4
If you return back using '__asm__("j 0x801ECD94");', it still says "RECEIVING DATA FROM PC" on the screen instead of "STANDING BY...". No big deal or anything. It still works fine, but it can be misleading for some.

NOTE: Ensure you overwrite any old software with the newer versions.
EG: The PlayStation CD-ROM PS-EXE of PSXSERIAL.EXE V1.1 is not compatible with the Win32 EXE of PSXSERIAL.EXE V1.0, and vice versa.

Latest:
Download PSXSERIAL V1.4

Old:
Download PSXSERIAL V1.0
Download PSXSERIAL V1.1
Download PSXSERIAL V1.2
Download PSXSERIAL V1.3

Code: Select all

==================================================
 PC PSXSERIAL.EXE Version 1.2
 PlayStation SERIAL.EXE Version 1.3
 Copyright (C) 2013-2016 PSXDEV.net
--------------------------------------------------
 Thanks: Jihad of HITMEN, Shendo, Type 79 and Dax

 http://psxdev.net/
==================================================

==================================================
Instructions:
--------------------------------------------------
Burn 'PSXSERIAL.ISO' to a CD-ROM and boot it on
your PlayStation 1 (swap trick or modchip).

Once loaded, you should see coloured bars with the
title and version number, website and a date code
followed by the text 'STANDING BY...'. The
PlayStation is now ready for communication with
your PC.

Next, place your desired PS-EXE to be uploaded in
the same directory as 'PSXSERIAL.EXE'

Now run 'PSXSERIAL.EXE' on your PC using a command
prompt window. It would be a good idea to copy and
paste a command console to this folder for easier
use during development.

Now type "PSXSERIAL.EXE MAIN.EXE COM1" to upload
the file 'MAIN.EXE' over 'COM1' to your
PlayStation 1. This example string will only work
if your PS-EXE is called 'MAIN.EXE' and your
PlayStation is connected to Communications Port 1
(COM1).
==================================================

==================================================
Notes
--------------------------------------------------
The date code swaps the order accordingly with
your PlayStation 1 region, so it is different for
others.

EG: Japan = 20130717
EG: Europe = 07172013

Future versions will check the PlayStation BIOS
for the region for more accuracy.
==================================================

==================================================
Help
--------------------------------------------------
If you need any help, or wish to report a glitch,
bug, problem or want to send advice to improve
PSXSERIAL, please contact us at
[[email protected]].
==================================================
Image

Re: [DOWNLOAD] PSXSERIAL

Posted: July 30th, 2013, 12:59 am
by Type 79
Usefull for background?

Code: Select all

#include <sys/types.h>
#include <libetc.h>
#include <libgte.h>
#include <libgpu.h>
#include <libgs.h>

#define DISPLAY_MODE  MODE_NTSC
#define SCREEN_WIDTH	320
#define SCREEN_HEIGHT	240
#define ORDERING_TABLE_LENGTH 5
#define MAX_NO_PACKETS  3000

GsOT OT[2];
GsOT_TAG  OrderingTable[2][1<<ORDERING_TABLE_LENGTH];
PACKET GPUOutputPacket[2][(MAX_NO_PACKETS * 24)];

unsigned char currentBuffer;

GsBOXF		myBox[8];

void initSystem(void);
void display(void);
void initBoxes(void);
void drawBoxes(void);

int main()
{
    initSystem();
    initBoxes();

    while(1)
    {
        drawBoxes();
        display();
    }
}

void initBoxes(void)
{
    int i;

    myBox[0].w=SCREEN_WIDTH/8;
    myBox[0].h=SCREEN_HEIGHT;
    myBox[0].x=0;
    myBox[0].y=0;

    for(i=1; i<8; i++)
    {
        myBox[i]=myBox[0];
        myBox[i].x=i*myBox[0].w;
    }

    myBox[0].r=myBox[0].g=myBox[0].b=255;
    myBox[1].r=myBox[1].g=255; myBox[1].b=0;
    myBox[2].r=0; myBox[2].g=myBox[2].b=255;
    myBox[3].g=255; myBox[3].r=myBox[3].b=0;
    myBox[4].r=myBox[4].b=255; myBox[4].g=0;
    myBox[5].r=255; myBox[5].g=myBox[5].b=0;
    myBox[6].r=myBox[6].g=0; myBox[6].b=255;
    myBox[7].r=myBox[7].g=myBox[7].b=0;
}

void drawBoxes(void)
{
    int i;

    for(i=0; i<8; i++)
    {
        GsSortBoxFill(&myBox[i],&OT[currentBuffer],1);
    }
}

void initSystem(void)
{
    SetVideoMode(DISPLAY_MODE);
    GsInitGraph(SCREEN_WIDTH, SCREEN_HEIGHT,GsNONINTER|GsOFSGPU,0,0);
    GsDefDispBuff(0,0,0,SCREEN_HEIGHT);

    OT[0].length = ORDERING_TABLE_LENGTH;
    OT[1].length = ORDERING_TABLE_LENGTH;
    OT[0].org=OrderingTable[0];
    OT[1].org=OrderingTable[1];

    GsClearOt(0,0,&OT[0]);
    GsClearOt(0,0,&OT[1]);

    currentBuffer=GsGetActiveBuff();
    GsSetWorkBase((PACKET*)GPUOutputPacket[currentBuffer]);
}

void display(void)
{
    DrawSync(0);
    VSync(0);
    GsSwapDispBuff();
    GsSortClear(0,0,255,&OT[currentBuffer]);
    GsDrawOt(&OT[currentBuffer]);
    currentBuffer=GsGetActiveBuff();
    GsSetWorkBase((PACKET*)GPUOutputPacket[currentBuffer]);
    GsClearOt(0, 0, &OT[currentBuffer]);
}
colorboxes.psx

Re: [DOWNLOAD] PSXSERIAL

Posted: July 31st, 2013, 3:57 pm
by Shadow
Very useful :D
I will update the code soon and make it V1.1.
Thank you :)

Re: [DOWNLOAD] PSXSERIAL

Posted: August 3rd, 2013, 7:44 pm
by Shadow
Okay. I have updated it to version 1.1.
PS-EXE size difference is 140KB (198KB for v1.0 and 58KB for v1.1).
The load address has also been changed to allow bigger PS-EXE's to be uploaded.

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 12:49 pm
by mrhaboobi
Just wondering why you are replacing sicons? ( well i mean the CD side of things? ). whats wrong with the old PSX boot disk? ( or different ).

Would love a GUI version of the tool, and the ability to batch script multiple files etc..

Tell me more about your new cable, im specifically interested in PSONE compatibility.

Have you considered something like this in the PSONE side

UB232R

http://www.ftdichip.com/Support/Documen ... UB232R.pdf

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 2:11 pm
by Shadow
Well you can load our SERIAL.EXE (PS-EXE) into an Action Replay' EEPROM for example, and boot up into development mode a lot quicker than it is to actually wait for the disc to boot up. The currently released cracked Yaroze boot disc is also incorrectly mastered, and takes even longer to boot up because I believe that the PSX is waiting for read timeouts to occur to skip over until it can get an error correction done on a track that works.

I was planning to have a feature that would let you upload to a chosen address. Though, it is easier to just include the files needed in your PS-EXE using includes.
It is better to avoid a big PS-EXE so that you can fit more of the uploaded PS-EXE into RAM before running out.
This is why the coloured bars idea works the best and a GUI wont do well.

The PSXSERIAL adaptor is nothing more than an FTDI. You just need TX, RX and GND.
The hardware will be made for people who are not good with soldering and don't know what they need to do.

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 7:07 pm
by danhans42
I prefer SIOCONS myself. You dont need to reboot the console everytime you upload code. It also provides debugging facilities and scripting.

The Yaroze boot disc is easily fixed back up with the scene tools already available and boots up very very quickly, although you dont need to reboot it.

Alternatively, you can use COMBINE if you want to use the Yaroze SDK with any other tool. You just need to copy LIBPS.EXE from the Yaroze boot disc and you are good to go.

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 8:24 pm
by mrhaboobi
danhans42 wrote:I prefer SIOCONS myself. You dont need to reboot the console everytime you upload code. It also provides debugging facilities and scripting.

The Yaroze boot disc is easily fixed back up with the scene tools already available and boots up very very quickly, although you dont need to reboot it.

Alternatively, you can use COMBINE if you want to use the Yaroze SDK with any other tool. You just need to copy LIBPS.EXE from the Yaroze boot disc and you are good to go.
yup I tend to agree. my version of the disk is fixed and boots instantly.. But id be keen to see this new loader progressed and ui added to allow you to select files etc ..

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 8:33 pm
by Shendo
I unfortunately never got SIOCONS working properly because it needs handshaking lines also (in addition to tx/rx).

However, because of LIBPS.EXE taking space in memory your EXEs cannot be larger then 500 KB,
with PSXSERIAL limit is about 1.8 MB.

You don't have to reset the console either, you can just jump back to the loader via __asm__("j 0x801EA678");
There is also benefit of using it on x64 bit Windows, now that we got a new build of send.exe :D

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 8:53 pm
by danhans42
Yeah, the x64 limitation is a bit of a bind, I have to run the compiler and SIOCONS under DOSBOX. There is source code available for SIOCONS, a port for newer builds of linux and windows would be very very handy.

Is the source for the playstation side of HITSERIAL available?

Dan

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 9:15 pm
by Shadow
I have got the source to HITSERIAL. Jihad said I could release it with his permission :)
I will do it soon and link it here (and send you a PM Dan). Shendo's version is a lot more simplistic though to use.

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 9:20 pm
by danhans42
Great stuff,

Simple functions such as printf redirection is th eonly thing that really keeps me using siocons.

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 10:33 pm
by Shadow
The printf command works once you have AddSIO() enabled.
You just need TX, RX and GND connected to your PC and a terminal running to see your debugging text.
No need for SIOCONS to do that :)

Re: [DOWNLOAD] PSXSERIAL

Posted: August 5th, 2013, 10:55 pm
by danhans42
Cool Ill give it a try, I use printf, getchar etc with hardware experimenting as it makes life easier.

Re: [DOWNLOAD] PSXSERIAL

Posted: August 6th, 2013, 7:42 am
by mrhaboobi
danhans42 wrote:Cool Ill give it a try, I use printf, getchar etc with hardware experimenting as it makes life easier.
Danhans, any idea of this would have worked for your mod?

http://www.ftdichip.com/Support/Documen ... UB232R.pdf


Also Shadow what would be great is some tutorials on getting different configurations of envirnoments set up. either using your tool, or Hitserial or sicons etc.

Im a little confused as to why CTS and RTS are not needed? i thought they were required..

Re: [DOWNLOAD] PSXSERIAL

Posted: August 6th, 2013, 5:17 pm
by Shadow
We don't need CTS and RTS because we're not handshaking. Just transmitting the data and receiving the data 'as it is', so there is still room for data corruption to occur.

Re: [DOWNLOAD] PSXSERIAL

Posted: August 6th, 2013, 7:39 pm
by danhans42
mrhaboobi wrote:
danhans42 wrote:Cool Ill give it a try, I use printf, getchar etc with hardware experimenting as it makes life easier.
Danhans, any idea of this would have worked for your mod?

http://www.ftdichip.com/Support/Documen ... UB232R.pdf


Also Shadow what would be great is some tutorials on getting different configurations of envirnoments set up. either using your tool, or Hitserial or sicons etc.

Im a little confused as to why CTS and RTS are not needed? i thought they were required..
Hi, no that one wont work.

To use SIOCONS you need a USB module that provides 3.3v inputs/outputs but it needs to have CTS, RTS, DTR and DSR. That module is missing the DSR and DTR pins and is 5v

Re: [DOWNLOAD] PSXSERIAL

Posted: August 7th, 2013, 1:29 pm
by mrhaboobi
So whats funny is dans says we need CTS and RTS but shadow you said we dont.. is that just because of sicons?

Re: [DOWNLOAD] PSXSERIAL

Posted: August 7th, 2013, 5:18 pm
by Shadow
You just need to wire TX, RX and GND. That's all you need for HITMENS SEND.EXE, SHENDOS SEND.EXE and PSXDEVS PSXSERIAL.EXE.

For SIOCONS, you need TX, RX, CTS, RTS, DTR, DSR and GND. Handshaking is performed with SIOCONS, and it is a pain to get working correctly on modern machines. I did get it working in the end with two MAX232's and inverter based off of Robins serial cable, but it wasn't practical. That's why we made it just use TX, RX and GND, while Shendo reverse engineered the protocol to replicate it. Jihad then gave me the source code for their SEND.EXE which I have released here on the forums using his permission.

Re: [DOWNLOAD] PSXSERIAL

Posted: August 7th, 2013, 6:30 pm
by mrhaboobi
I havefound some other options for boards

http://www.ebay.com.au/itm/FT232-USB-UA ... 3a7c2e66f1

http://www.ebay.com.au/itm/FT232RL-USB- ... 19df72e557

http://www.ebay.com.au/itm/USB-RS232-TT ... 2a27d509df

I prefer the mini usb, so will look into getting one of these, they all seem to expose all ports.

Could you tell me a bit more about the handshaking issue? Dans used a 74hc244 to filter the crap, would this be needed with the above modules aswell. I was keen on sicons as its what im used to with an older set up. The rewritten sends might be good enough, are they able to be used with the debugger etc that if one offer with sicons, sicons has a lot of different options which would be good to see emulated with a newer system that uses TF, RX and GND only..