Page 9 of 29

Re: PSNee further development

Posted: July 4th, 2017, 11:54 pm
by rama3
Hm, that is a very different gate connection point. I measured on a test board and the usual gate connection goes to a different pin.
Have you tested this?

Re: PSNee further development

Posted: July 5th, 2017, 3:01 am
by damopinn
I found that pin here http://modchip.aeug.org/install/508-pu18-stealth.html.

my ps1 works OK. If you recommend a different pin I can try that too.

I found the pins from different sources. I wanted to bring it all together.

Re: PSNee further development

Posted: July 5th, 2017, 6:26 am
by rama3
Point 5 here is what I most often see: http://www.fatcat.co.nz/psx/install/550 ... m3pu18.jpg

It's not a recommendation for one or the other. Just means I've got to look at this chip's configuration now :/

Re: PSNee further development

Posted: July 7th, 2017, 12:35 am
by damopinn
I tried to port the code to my attiny85 but it didn't work.
I added a new define

#define ATTINY

#ifdef ATTINY
// board pins
#define sqck 3 // connect to PSX HC-05 SQCK pin
#define subq 4 // connect to PSX HC-05 SUBQ pin
#define data 2 // connect to point 6 in old modchip diagrams
#define gate_wfck 0 // connect to point 5 in old modchip diagrams
// MCU input / output
#define SUBQPORT PINB // Atmel MCU port for the 2 SUBQ sampling inputs
#define SQCKBIT 3 // ATmega PD6 "SQCK" Mechacon pin 26 (PU-7 and early PU-8 Mechacons: pin 41)
#define SUBQBIT 4 // ATmega PD7 "SUBQ" Mechacon pin 24 (PU-7 and early PU-8 Mechacons: pin 39)
#define GATEWFCKPORT PINB // Atmel MCU port for the gate input (used for WFCK)
#define DATAPORT PORTB // Atmel MCU port for the gate input (used for WFCK)
#define GATEWFCKBIT 0 // ATmega PB1
#define DATABIT 2 // ATmega PB0
#endif

I suppose it's not going to be that easy. I ordered a serial thing there are 2 pins left for debugging. It has a strange behaviour that the disc carries on spinning when I open the door. any ideas?

Re: PSNee further development

Posted: July 7th, 2017, 2:40 am
by rama3
You need to assign all the right bits to the port. Use this cheat sheet:
https://s-media-cache-ak0.pinimg.com/or ... b7f145.png
Now look at the Pin you choose for sqck for example: 3
What bit is pin 3 on PORT B? Right, it's 4.
Confusing, I know :p

#define subq 4 << according to cheat sheet, this is ground

Re: PSNee further development

Posted: July 7th, 2017, 2:45 am
by damopinn
I looked at the datasheet on page 64

http://www.atmel.com/images/atmel-2586- ... asheet.pdf

The bit and the pin numbers are the same.

Re: PSNee further development

Posted: July 7th, 2017, 2:46 am
by rama3
The "bits" are the number after the port. Pin 1 is PB5. So you connect your wire to chip pin 1 but the port bit the code works with is 5.

Suggestion:
// board pins
#define sqck 1
#define subq 2
#define data 3
#define gate_wfck 5
// MCU input / output
#define SUBQPORT PINB
#define SQCKBIT 5
#define SUBQBIT 3
#define GATEWFCKPORT PINB
#define DATAPORT PORTB
#define GATEWFCKBIT 0
#define DATABIT 4

Make sure you comment out the old #define ARDUINO_UNO_BOARD (or smth) as well.
Also, check the compiler messages on what the sketech consumes.
ATtiny have very little RAM and my code isn't optimized for low RAM use.
With these MCU's, you can just run out of available RAM and it will silently fail working.

Re: PSNee further development

Posted: July 7th, 2017, 3:47 am
by damopinn
i tried this blink program with led on chip pin 6 or pinb1, it works as expected,
i'm using https://github.com/SpenceKonde/ATTinyCore, i suppose that could make a diffrence
it's a coincidence that the pins and bits are the same, i know with a pro mini pin 8 = PB0
As you can see I use pin 1 to set up output and bit 1 to flash the light.

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(1, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
bitWrite (PINB,1,1);
delay(100); // wait for a second
bitWrite(PINB,1,0);
delay(100); // wait for a second
}

Re: PSNee further development

Posted: July 7th, 2017, 4:01 am
by rama3
You are writing to PINB, which is only for configuring pins set to input.
Soo.. Probably toggling the pull up resistor? I don't know :p

Use the cheat sheet / my suggestion.

Re: PSNee further development

Posted: July 7th, 2017, 4:22 am
by rama3
If you want to use serial, there's a super minimal implementation described here:
http://www.ernstc.dk/arduino/tinycom.html
TinyDebugSerial can only send messages but it's all you'll need. One pin required.

Oh, even better! Apparently TinyISP lets you program the ATtiny and have debug prints enabled with the same wiring.
https://github.com/Coding-Badly/TinyISP

Re: PSNee further development

Posted: July 7th, 2017, 7:50 am
by damopinn
I'll investigate more when my usb to serial thing arrives. At the moment i'm using an arduino as isp to program my attiny85. I changed my blink program to portb and it works the same, but when i change pinmode to pin6 the led is very dim. Any way i'll keep on investigating and learning while I wait.

Re: PSNee further development

Posted: July 7th, 2017, 8:13 am
by rama3
Right.
I've put the single ATtiny45 that I have onto a breadboard and gave it a quick test.
Had no luck but at least the environment is set up and I can upload code to it.
I also think we really need some serial comms to get this working.

Re: PSNee further development

Posted: July 7th, 2017, 5:54 pm
by pre10c
So is there any diagram for a european psone? Thanks in advance

Re: PSNee further development

Posted: July 7th, 2017, 6:42 pm
by damopinn
https://github.com/SpenceKonde/ATTinyCore has serial TX is AIN0, RX is AIN1 when it's on the pins can't be used for anything else. it explains it about half way down the page. Are you using the same library?

Re: PSNee further development

Posted: July 7th, 2017, 7:21 pm
by damopinn
I used my attiny85 with https://github.com/kalymos/PsNee/blob/master/PsNee.ino and it worked fine, commenting out the ntsc fix.
The pin numbers here are the not the same as the physical pins, they are the same as the PINB numbers, if you want to try it, it connects to different points on the ps1.

I was looking at the code and saw
pinMode(subq, INPUT); // PSX spi data in
pinMode(sqck, INPUT); // PSX spi clock in
Do we need to connect subq and sqck to the spi pins miso and mosi?

Re: PSNee further development

Posted: July 8th, 2017, 6:27 am
by rama3
I was looking at the code and saw
pinMode(subq, INPUT); // PSX spi data in
pinMode(sqck, INPUT); // PSX spi clock in
Do we need to connect subq and sqck to the spi pins miso and mosi?
Nah, the PSX subcode format is similar to SPI. That's why I called it SPI data / clock in the comment.
It has nothing to do with the Atmel MCU SPI.

Re: PSNee further development

Posted: July 8th, 2017, 8:05 am
by rama3
⸮⸮⸮``⸮⸮⸮
⸮⸮⸮``⸮⸮⸮
This is the best comms output I could produce. The pin assignment seems totally without rhyme or reason to me.
I got this from ATtiny pin 5, using "pin 3" in the IDE. No diagram matches this so yea, no clue. $1 Arduino boards work great! :p

Re: PSNee further development

Posted: July 8th, 2017, 8:11 pm
by kalymnos77
SCPH-102 PSXDEV PIN.jpg
An image for the wiring of the CSHP-102.
Image

Re: PSNee further development

Posted: July 8th, 2017, 8:21 pm
by damopinn
rama3 wrote:⸮⸮⸮``⸮⸮⸮
⸮⸮⸮``⸮⸮⸮
This is the best comms output I could produce. The pin assignment seems totally without rhyme or reason to me.
I got this from ATtiny pin 5, using "pin 3" in the IDE. No diagram matches this so yea, no clue. $1 Arduino boards work great! :p
maybe "Serial.begin (1000000);" is too high of a value for the software serial. Did you try a lower value?

Re: PSNee further development

Posted: July 8th, 2017, 8:42 pm
by rama3
Nice pic, kalymnos77.

I've tried different MCU clocks, obviously a simpler program, different serial libraries.
Now the MCU appears to be dead anyway, wrong device ID (0x0 or 0xFFFFF etc).

Adding to that, I really dislike these chips. The price is too high, the features lacking, RAM is a joke.
To get my code onto the 45, I had to remove 2 license strings and minimize letters used in my printfs.
Even then, 48 bytes remaining is just a joke.
But the real problem is price. Best I found was 11€ for a 10 pack from China.
I'd rather get 10 Arduino Mini for the same price, really.