PSNee further development

General information to do with the PlayStation 1 Hardware. Including modchips, pinouts, rare or obscure development equipment, etc.
kostasnan53
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: Mar 03, 2019

Post by kostasnan53 » March 3rd, 2019, 10:23 pm

hello,can I use teensy++ 2.0 for that project? I have also a Arduino uno to program the teensy without the bootloader I guess,if I cannot flash the teensy directly,thank you

edit1:
is this pins ok for the teensy++ 2.0? thank you

#if defined(APPLY_PSONE_PAL_BIOS_PATCH)
#define BIOS_A18 4 // connect to PSOne BIOS A18 (pin 31 on that chip)
#define BIOS_D2 5 // connect to PSOne BIOS D2 (pin 15 on that chip)
#endif
#define sqck 20 // connect to PSX HC-05 SQCK pin
#define subq 21 // connect to PSX HC-05 SUBQ pin
#define data 22 // connect to point 6 in old modchip diagrams
#define gate_wfck 23 // connect to point 5 in old modchip diagrams
// MCU I/O definitions
#define SUBQPORT PINB // MCU port for the 2 SUBQ sampling inputs
#define SQCKBIT 0 // PD6 "SQCK" < Mechacon pin 26 (PU-7 and early PU-8 Mechacons: pin 41)
#define SUBQBIT 1 // PD7 "SUBQ" < Mechacon pin 24 (PU-7 and early PU-8 Mechacons: pin 39)
#define GATEWFCKPORT PINB // MCU port for the gate input (used for WFCK)
#define DATAPORT PORTB // MCU port for the gate input (used for WFCK)
#define GATEWFCKBIT 3 // PB1
#define DATABIT 2 // PB0
#if defined(APPLY_PSONE_PAL_BIOS_PATCH)
#define BIOSPATCHPORTIN PIND
#define BIOSPATCHPORTOUT PORTD
#define BIOSPATCHDDR DDRD
#define BIOS_A18_BIT 4
#define BIOS_D2_BIT 5
pinout4b.png
pinout4a.png
You do not have the required permissions to view the files attached to this post.

Nnetcz
What is PSXDEV?
What is PSXDEV?
Posts: 3
Joined: Mar 09, 2019

Post by Nnetcz » March 9th, 2019, 10:54 pm

Hello, Im sorry for asking but i trying install Arduino Nano V3 clone with 168p chip. PS is 90002 with PU23. And my injection will end like this.

MCU frequency: 16000000 Hz
Waiting for SQCK..
highs: 2360 lows: 2364
pu22mode: 1

Then nothing. Where can be problem?

superg
Active PSXDEV User
Active PSXDEV User
Posts: 48
Joined: Sep 22, 2018

Post by superg » March 10th, 2019, 1:39 am

kostasnan53 wrote: March 3rd, 2019, 10:23 pm hello,can I use teensy++ 2.0 for that project? I have also a Arduino uno to program the teensy without the bootloader I guess,if I cannot flash the teensy directly,thank you

edit1:
is this pins ok for the teensy++ 2.0? thank you

#if defined(APPLY_PSONE_PAL_BIOS_PATCH)
#define BIOS_A18 4 // connect to PSOne BIOS A18 (pin 31 on that chip)
#define BIOS_D2 5 // connect to PSOne BIOS D2 (pin 15 on that chip)
#endif
#define sqck 20 // connect to PSX HC-05 SQCK pin
#define subq 21 // connect to PSX HC-05 SUBQ pin
#define data 22 // connect to point 6 in old modchip diagrams
#define gate_wfck 23 // connect to point 5 in old modchip diagrams
// MCU I/O definitions
#define SUBQPORT PINB // MCU port for the 2 SUBQ sampling inputs
#define SQCKBIT 0 // PD6 "SQCK" < Mechacon pin 26 (PU-7 and early PU-8 Mechacons: pin 41)
#define SUBQBIT 1 // PD7 "SUBQ" < Mechacon pin 24 (PU-7 and early PU-8 Mechacons: pin 39)
#define GATEWFCKPORT PINB // MCU port for the gate input (used for WFCK)
#define DATAPORT PORTB // MCU port for the gate input (used for WFCK)
#define GATEWFCKBIT 3 // PB1
#define DATABIT 2 // PB0
#if defined(APPLY_PSONE_PAL_BIOS_PATCH)
#define BIOSPATCHPORTIN PIND
#define BIOSPATCHPORTOUT PORTD
#define BIOSPATCHDDR DDRD
#define BIOS_A18_BIT 4
#define BIOS_D2_BIT 5

pinout4b.png
pinout4a.png
You have to try if that works, I don't think anybody used teensy board for psnee. As long as the controller ports allow for such an I/O configuration and fuse bits are correct it might work. I don't remember what specs Teensy has, last time I tried it it was for PS3 jailbreak a decade ago, make sure you're able to get 8MHz clock as otherwise timing might be a bit off. Good luck with that.
Nnetcz wrote: March 9th, 2019, 10:54 pm Hello, Im sorry for asking but i trying install Arduino Nano V3 clone with 168p chip. PS is 90002 with PU23. And my injection will end like this.

MCU frequency: 16000000 Hz
Waiting for SQCK..
highs: 2360 lows: 2364
pu22mode: 1

Then nothing. Where can be problem?
What are your fuse settings?

Nnetcz
What is PSXDEV?
What is PSXDEV?
Posts: 3
Joined: Mar 09, 2019

Post by Nnetcz » March 10th, 2019, 4:08 am

Have no idea, i cant read Fuses by Arduino IDE.

MB i see problem, I must flash PSNee to Arduino by other Arduino and using SPI?
EDIT: Nope thath doesnt help.. allday trying and no succes :(
Last edited by Nnetcz on March 10th, 2019, 6:18 am, edited 1 time in total.

kostasnan53
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: Mar 03, 2019

Post by kostasnan53 » March 10th, 2019, 5:39 am

I solder it ,original games boots ok,but when try copied games,black screen without Sony logo

superg
Active PSXDEV User
Active PSXDEV User
Posts: 48
Joined: Sep 22, 2018

Post by superg » March 10th, 2019, 6:41 am

Nnetcz wrote: March 10th, 2019, 4:08 am Have no idea, i cant read Fuses by Arduino IDE.

MB i see problem, I must flash PSNee to Arduino by other Arduino and using SPI?
EDIT: Nope thath doesnt help.. allday trying and no succes :(
Basically you should disable bootloader and use 8/16MHz clock (maybe BOD bits but it works without it). Arduino is not user friendly when it comes to fuse settings, I had to change Arduino configuration files by hand.
kostasnan53 wrote: March 10th, 2019, 5:39 am I solder it ,original games boots ok,but when try copied games,black screen without Sony logo
So it doesn't reach the code which is reading SubQ packets, double check SQCK and SUBQ connection, make sure you defined proper I/O ports.
When SubQ reading is fine, your debug will get dumps, this is an indication that modchip is analyzing the packets.

Nnetcz
What is PSXDEV?
What is PSXDEV?
Posts: 3
Joined: Mar 09, 2019

Post by Nnetcz » March 10th, 2019, 7:04 am

Thank for answers. Bud it seems like my problem is in burned cds... I just get one original cd and even swap trick dont work :( Im using CD-R and bur it with Alkohol 120% using Playstation settings. Sony CD-R.. :D OMG

Edit: I give more power to laser and its working now. I get somewhere, im reading data from cd, i can see data string but i cant see injection.

Edit2: Solved, burned on older PC with speed 10x (lowest posible) and its reading! Thx, for this mod chip.

Nextria
Curious PSXDEV User
Curious PSXDEV User
Posts: 17
Joined: Mar 10, 2019

Post by Nextria » March 16th, 2019, 8:30 pm

Hello

I have a problem programming the Pro mini, for some reason with Arduino IDE it fails to program the chip.
Does any one have a similar problem, I can program the Arduino Nano without a problem.

I modded my PSX and PS one with it and it works perfectly.

superg
Active PSXDEV User
Active PSXDEV User
Posts: 48
Joined: Sep 22, 2018

Post by superg » March 16th, 2019, 11:30 pm

Nextria wrote: March 16th, 2019, 8:30 pm Hello

I have a problem programming the Pro mini, for some reason with Arduino IDE it fails to program the chip.
Does any one have a similar problem, I can program the Arduino Nano without a problem.

I modded my PSX and PS one with it and it works perfectly.
I also had a problem with my both Pro Mini's from Microcenter. The solution was to reduce serial speed, it's somewhere in Arduino hardware configuration file. I actually ended up creating a separate configuration for my Pro Mini as you can also set fuse bits there [<arduino installation location>/arduino/hardware/arduino/avr/boards.txt]:

Code: Select all

## Arduino Pro Mini Micro Center (5V, 16 MHz) w/ ATmega328P
## --------------------------------------------------
pro.menu.cpu.16MHzatmega328mc=ATmega328PMC (5V, 16 MHz, No Bootloader)

pro.menu.cpu.16MHzatmega328mc.upload.maximum_size=30720
pro.menu.cpu.16MHzatmega328mc.upload.maximum_data_size=2048
pro.menu.cpu.16MHzatmega328mc.upload.speed=19200

pro.menu.cpu.16MHzatmega328mc.bootloader.low_fuses=0xFF
pro.menu.cpu.16MHzatmega328mc.bootloader.high_fuses=0xDB
pro.menu.cpu.16MHzatmega328mc.bootloader.extended_fuses=0xFD
pro.menu.cpu.16MHzatmega328mc.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

pro.menu.cpu.16MHzatmega328mc.build.mcu=atmega328p
pro.menu.cpu.16MHzatmega328mc.build.f_cpu=16000000L

## Arduino Pro Mini Micro Center (5V, 8 MHz) w/ ATmega328P
## --------------------------------------------------
pro.menu.cpu.8MHzatmega328mc=ATmega328PMC (5V, 8 MHz Internal RC, No Bootloader)

pro.menu.cpu.8MHzatmega328mc.upload.maximum_size=30720
pro.menu.cpu.8MHzatmega328mc.upload.maximum_data_size=2048
pro.menu.cpu.8MHzatmega328mc.upload.speed=19200

pro.menu.cpu.8MHzatmega328mc.bootloader.low_fuses=0xF2
pro.menu.cpu.8MHzatmega328mc.bootloader.high_fuses=0xDB
pro.menu.cpu.8MHzatmega328mc.bootloader.extended_fuses=0xFD
pro.menu.cpu.8MHzatmega328mc.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

pro.menu.cpu.8MHzatmega328mc.build.mcu=atmega328p
pro.menu.cpu.8MHzatmega328mc.build.f_cpu=8000000L

Nextria
Curious PSXDEV User
Curious PSXDEV User
Posts: 17
Joined: Mar 10, 2019

Post by Nextria » March 17th, 2019, 12:34 am

I've been trying for two weeks now without success, as soon as I ask it here I find out how to program them.
What I did is connect the ground on the UNO to the Reset on the UNO. as soon as they say there uploading
I have to hit the reset on the Pro mini.

Than it program's I modded one of the PSX's (this was is a PU-20) I have with the chip and it works great.

Any way thanks for the quick replay I will try this next time.


superg wrote: March 16th, 2019, 11:30 pm
Nextria wrote: March 16th, 2019, 8:30 pm Hello

I have a problem programming the Pro mini, for some reason with Arduino IDE it fails to program the chip.
Does any one have a similar problem, I can program the Arduino Nano without a problem.

I modded my PSX and PS one with it and it works perfectly.
I also had a problem with my both Pro Mini's from Microcenter. The solution was to reduce serial speed, it's somewhere in Arduino hardware configuration file. I actually ended up creating a separate configuration for my Pro Mini as you can also set fuse bits there [<arduino installation location>/arduino/hardware/arduino/avr/boards.txt]:

Code: Select all

## Arduino Pro Mini Micro Center (5V, 16 MHz) w/ ATmega328P
## --------------------------------------------------
pro.menu.cpu.16MHzatmega328mc=ATmega328PMC (5V, 16 MHz, No Bootloader)

pro.menu.cpu.16MHzatmega328mc.upload.maximum_size=30720
pro.menu.cpu.16MHzatmega328mc.upload.maximum_data_size=2048
pro.menu.cpu.16MHzatmega328mc.upload.speed=19200

pro.menu.cpu.16MHzatmega328mc.bootloader.low_fuses=0xFF
pro.menu.cpu.16MHzatmega328mc.bootloader.high_fuses=0xDB
pro.menu.cpu.16MHzatmega328mc.bootloader.extended_fuses=0xFD
pro.menu.cpu.16MHzatmega328mc.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

pro.menu.cpu.16MHzatmega328mc.build.mcu=atmega328p
pro.menu.cpu.16MHzatmega328mc.build.f_cpu=16000000L

## Arduino Pro Mini Micro Center (5V, 8 MHz) w/ ATmega328P
## --------------------------------------------------
pro.menu.cpu.8MHzatmega328mc=ATmega328PMC (5V, 8 MHz Internal RC, No Bootloader)

pro.menu.cpu.8MHzatmega328mc.upload.maximum_size=30720
pro.menu.cpu.8MHzatmega328mc.upload.maximum_data_size=2048
pro.menu.cpu.8MHzatmega328mc.upload.speed=19200

pro.menu.cpu.8MHzatmega328mc.bootloader.low_fuses=0xF2
pro.menu.cpu.8MHzatmega328mc.bootloader.high_fuses=0xDB
pro.menu.cpu.8MHzatmega328mc.bootloader.extended_fuses=0xFD
pro.menu.cpu.8MHzatmega328mc.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

pro.menu.cpu.8MHzatmega328mc.build.mcu=atmega328p
pro.menu.cpu.8MHzatmega328mc.build.f_cpu=8000000L

superg
Active PSXDEV User
Active PSXDEV User
Posts: 48
Joined: Sep 22, 2018

Post by superg » March 17th, 2019, 1:00 am

Nextria wrote: March 17th, 2019, 12:34 am I've been trying for two weeks now without success, as soon as I ask it here I find out how to program them.
What I did is connect the ground on the UNO to the Reset on the UNO. as soon as they say there uploading
I have to hit the reset on the Pro mini.
That is overkill, ArduinoISP sketch sets the reset automatically, all you need to do is to connect UNO pin 10 to reset pin of the target (your Pro Mini), in case you haven't see this: https://www.arduino.cc/en/Tutorial/ArduinoISP

Nextria
Curious PSXDEV User
Curious PSXDEV User
Posts: 17
Joined: Mar 10, 2019

Post by Nextria » March 18th, 2019, 4:50 pm

I know it's a overkill but for some reason this is the only way it will program without any problem.
If I connect it like you say I get only error's

superg wrote: March 17th, 2019, 1:00 am
Nextria wrote: March 17th, 2019, 12:34 am I've been trying for two weeks now without success, as soon as I ask it here I find out how to program them.
What I did is connect the ground on the UNO to the Reset on the UNO. as soon as they say there uploading
I have to hit the reset on the Pro mini.
That is overkill, ArduinoISP sketch sets the reset automatically, all you need to do is to connect UNO pin 10 to reset pin of the target (your Pro Mini), in case you haven't see this: https://www.arduino.cc/en/Tutorial/ArduinoISP

rama3
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 510
Joined: Apr 16, 2017

Post by rama3 » March 27th, 2019, 6:18 am

superg:
Do you have an updated code base for your version?
Using your current git master branch just complains about errors in NTSC_fix(), even though I disabled the function per #define.

Just in case you don't have time, I can take over from here, but I'll have to make assumptions :p

superg
Active PSXDEV User
Active PSXDEV User
Posts: 48
Joined: Sep 22, 2018

Post by superg » March 27th, 2019, 12:09 pm

rama3 wrote: March 27th, 2019, 6:18 am superg:
Do you have an updated code base for your version?
Using your current git master branch just complains about errors in NTSC_fix(), even though I disabled the function per #define.

Just in case you don't have time, I can take over from here, but I'll have to make assumptions :p
Interesting, the latest stuff is uploaded: https://github.com/superg/PsNee
What kind of errors do you get?
It's compiling on my machine but the code is kind of work in progress as I wanted to implement fuse checks and flexible configuration settings (universal region firmware or customized settings for specific PSX model).

rama3
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 510
Joined: Apr 16, 2017

Post by rama3 » March 28th, 2019, 2:40 am

The problem might be from Arduino, so don't worry too much.
I get errors regarding the usage of pins in that function, which means the compiler is looking at it when it should not.
Surrounding NTSC_fix() with "#ifdef APPLY_PSONE_PAL_BIOS_PATCH" fixes the issue.

Applying this fix produced a working binary that I could use on one of your PCBs.
The board works nicely in a 7502 console :)

superg
Active PSXDEV User
Active PSXDEV User
Posts: 48
Joined: Sep 22, 2018

Post by superg » March 28th, 2019, 4:58 am

rama3 wrote: March 28th, 2019, 2:40 am The problem might be from Arduino, so don't worry too much.
I get errors regarding the usage of pins in that function, which means the compiler is looking at it when it should not.
Surrounding NTSC_fix() with "#ifdef APPLY_PSONE_PAL_BIOS_PATCH" fixes the issue.

Applying this fix produced a working binary that I could use on one of your PCBs.
The board works nicely in a 7502 console :)
Oh ok, that's good then.

postal2201
Curious PSXDEV User
Curious PSXDEV User
Posts: 19
Joined: Jan 26, 2018

Post by postal2201 » April 14th, 2019, 3:55 am

Hi guys! :)

PSNee V7 turned out great firmware, but still not ideal ;)

I described a little, my vision of the new version - PSNee V8
PSNeeV8_concept.jpg
• Automatic selection of the region at the first start. (At the first launch, the chip determines after which sequence the SCEx console loads the disk, then the region code is stored in the EEPROM and read at subsequent starts. With three unsuccessful starts, the multi region is turned on).

• Automatic detection of the need to use NTSC BIOS Patch. (By impulse on A18. If not for t = ?, then no patching is required. Store the value in the EEPROM?).

• Refusal from Arduino.h (Refusal to use resource-intensive Arduino functions (digitalwrite, pinmode, e.t.c.). C ++ only.

• Optimization of the code for the possibility of working with low-frequency crystal oscillator 4.43 and 3.58 (for using the chip in the ColorFix mode).

• #define for automatic (default) or manual settings (region, NTSC BIOS patch).


Write what you think about it. What else should be added?
We can unite our efforts if you have time and desire to do it.

P.S. Sorry for my bad english :?
You do not have the required permissions to view the files attached to this post.

Nextria
Curious PSXDEV User
Curious PSXDEV User
Posts: 17
Joined: Mar 10, 2019

Post by Nextria » April 14th, 2019, 6:50 pm

Thanks for the update, I have a question tho,
I have a pal pu-18. Dan the chip is working fine.

I just get a black and white picture on ntsc games.
After doing the googlie I found a mod, lifting pin 157 of the you and
Soldering a wire of the via to ground.

I did this but still have the same black and white screen.
Does anyone have an idea how to fix this without the need for another scart cable ?
Last edited by Nextria on April 15th, 2019, 3:09 am, edited 1 time in total.

rama3
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 510
Joined: Apr 16, 2017

Post by rama3 » April 15th, 2019, 12:34 am

postal2201:
Some ideas are good, just need to implement them :p
- The oscillator mod won't fit onto ATtiny: No pins left.
- Automatic region detect sounds doable. Not sure how reliable it'll be in practice, but doable.
- Removing Arduino functions: Why? They're nice and useful. Using Arduino is, imho, positive for the project.

Nextria:
You need a color mod to get color for your early PSX board. If you use a 700x series or later PSX, you won't need one.

Nextria
Curious PSXDEV User
Curious PSXDEV User
Posts: 17
Joined: Mar 10, 2019

Post by Nextria » April 15th, 2019, 3:11 am

Hey rama3,

Do you have a link to the guide for this.
Like I said I try lifting pin 157 and grounding it but it did
Not work :)


rama3 wrote: April 15th, 2019, 12:34 am postal2201:
Some ideas are good, just need to implement them :p
- The oscillator mod won't fit onto ATtiny: No pins left.
- Automatic region detect sounds doable. Not sure how reliable it'll be in practice, but doable.
- Removing Arduino functions: Why? They're nice and useful. Using Arduino is, imho, positive for the project.

Nextria:
You need a color mod to get color for your early PSX board. If you use a 700x series or later PSX, you won't need one.

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests