aotta / RTO-Cart

Redesigned T-Cart - Multicart for Mattel Intellivision based on Teensy 4.1
25 stars 7 forks source link

Workaround reset issue #3

Closed JaneDoe649 closed 9 months ago

JaneDoe649 commented 1 year ago

Hello aotta,

Thank you for your work on this project. As with many, resetting the console via the cartridge works poorly. Browsing through 5-11under's posts on the Atariage forum, I found a software solution that works for me and requires no hardware modification.

Rather than setting buffer 245 to high impedance, I switch it to input to let the reset circuit capacitor charge.

Here are the changes.

New macros are defined:

#define resetLow() digitalWriteFast(DIR2_PIN,HIGH); pinMode(RST_PIN,OUTPUT); digitalWriteFast(RST_PIN,LOW); // A->B, TEENSY to INTV BUS ; RST Output set to 0 #define resetHigh() pinMode(RST_PIN,INPUT); digitalWriteFast(DIR2_PIN,LOW); // RST is INPUT; B->A, INTV BUS to TEENSY

Lines 615 and 618:

pinMode(RST_PIN,OUTPUT); digitalWriteFast(RST_PIN,LOW); //???????????

are replaced by this single line:

resetHigh();

reset function is replaced by 5-11under's adapted function :



void resetCart() {
  //digitalWriteFast(RST_PIN,HIGH);
  resetHigh();
  digitalWriteFast(Status_PIN,HIGH);
  delay(30);  // was 20 for Model II; 30 works for both

  //digitalWriteFast(RST_PIN,LOW);
  resetLow();
  delay(3);  // was 2 for Model II; 3 works for both
  while (digitalReadFast(MSYNC_PIN)==1) {};

  delay(1);  // was 1 for Model II
  //digitalWriteFast(RST_PIN,HIGH);
  resetHigh();
  digitalWriteFast(Status_PIN,LOW);
}
aotta commented 1 year ago

Really interesting, I'm pretty sure it's not an hw issue but both my intellivision I have new caps and reset each time with no issue, so i can't make any further test. And, i don't have an Inty II to try. Since, if I'm not wrong, you tested your patch with both kind of console, your workaround is a good candidate for committing original code. I'll ask to some friends with poor reset to give a try to your code, but of course feedback from anyone are welcome!

JaneDoe649 commented 1 year ago

I was only able to test it on an Intellivision 1 with its original capacitor.

References to model II in the function come from tests carried out by 5-11under, which inspired me.

https://forums.atariage.com/topic/346024-intellivision-rto-multicart-new-multicart/page/5/

Tissemon commented 1 year ago

Thanks for this fix, but unfortunately it didn't work for me. I've got a fully recapped PAL INTV1 where the RTO only starts after I press reset (I've even tested with multiple different RTO-carts). With this fix it sometimes boots to the RTO-logo, but most of the time I have to press reset to get it. After I select a game I always have to press reset. Let me know if you've got any other idea - I'm happy to test any software-solution to this "problem".

EDIT: I tried my cart again without my 3d-printed case and then it worked! So in my case it seems that I have an issue with my connector, and not the RTO-cart.