PSNee further development
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?
Have you tested this?
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.
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.
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 :/
It's not a recommendation for one or the other. Just means I've got to look at this chip's configuration now :/
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?
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?
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
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
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.
http://www.atmel.com/images/atmel-2586- ... asheet.pdf
The bit and the pin numbers are the same.
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.
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.
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
}
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
}
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.
Soo.. Probably toggling the pull up resistor? I don't know :p
Use the cheat sheet / my suggestion.
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
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
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.
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.
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.
So is there any diagram for a european psone? Thanks in advance
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?
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?
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?
Nah, the PSX subcode format is similar to SPI. That's why I called it SPI data / clock in the comment.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?
It has nothing to do with the Atmel MCU SPI.
⸮⸮⸮``⸮⸮⸮
⸮⸮⸮``⸮⸮⸮
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
⸮⸮⸮``⸮⸮⸮
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
-
- Curious PSXDEV User
- Posts: 27
- Joined: Jun 06, 2017
You do not have the required permissions to view the files attached to this post.
maybe "Serial.begin (1000000);" is too high of a value for the software serial. Did you try a lower value?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
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.
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.
Who is online
Users browsing this forum: No registered users and 3 guests