ShendoXT / memcarduino

Arduino PlayStation 1 Memory Card reader
GNU General Public License v3.0
248 stars 38 forks source link

lgt8fx nano style support? #28

Open orabeidm opened 1 year ago

orabeidm commented 1 year ago

photo_2022-11-20_14-26-21 photo_2022-11-20_14-26-27

https://user-images.githubusercontent.com/60073650/202899466-0a7df87c-01af-427a-a3c5-bbaef4691043.mp4

ShendoXT commented 1 year ago

Looking at the video it looks like you haven't actually written compiled sketch to the device. It says missing bootloader at one point. Try writing a simple hello app which sends something to serial port and verify that it's working properly.

orabeidm commented 1 year ago

when I record a blink or something like that, everything works. this is strange ... I assembled my copy on another version where I applied 5 volts to the contacts everywhere. but it is interesting what is not so specific with this)

ShendoXT commented 1 year ago

The way MemcardRex verifies Memcarduino is that it sends GETID (hex 0xA) which should get "MCDINO" ASCII response over serial. After that it asks for firmware version (0xA1). You can fake this simple exchange with a skeleton sketch and it will still verify as genuine Memcarduino. So something in serial communication is not working properly if you don't get anything.

You need to have a working serial connection at 38400 baud.

orabeidm commented 1 year ago

image It seems to be so ... I don’t know how else to check. I probably need more detailed instructions

ShendoXT commented 1 year ago

No, that's not what I meant.

Write this simple sketch and verify with serial monitor that it's all working correctly. You should get "Hello World!" printed each second in the monitor.

void setup() { Serial.begin(38400); }

void loop() { Serial.println("Hello World!"); delay(1000); }

orabeidm commented 1 year ago

I'm sorry, but I don't know what a serial monitor is, how it looks and works.

ShendoXT commented 1 year ago

https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-serial-monitor

orabeidm commented 1 year ago

image

orabeidm commented 1 year ago

https://github.com/dbuezas/lgt8fx/issues/21

this should help

ShendoXT commented 1 year ago

Try this simple skeleton sketch, see if it gets detected as Memcarduino with MemcardRex.

void setup() {
  Serial.begin(38400);
}

void loop() {
   if(Serial.available() > 0){
    switch(Serial.read()){
      default:
        Serial.write(0xE0);
        break;

      case 0xA0:
        Serial.write("MCDINO");
        break;

      case 0xA1:
        Serial.write(0x99);
        break;
      }
    }
}
orabeidm commented 1 year ago

image

ShendoXT commented 1 year ago

I'm sorry but this looks like it's hardware quirk of some some sort. Maybe bootloader takes more than 2 seconds to run the application in which case detection timeouts.

If you can burn the sketch using ISP without bootloader to start directly or find a way to shorten bootloader wait time.