Jump to content
IGNORED

PIA TTL: Falling Edge Detection Issue (800XL PAL)


Recommended Posts

I am getting ready to launch the Atari 8bit cable for my 8bit-Hub (see: http://8bit-unity.com/?page_id=551)

 

The system connects to Joy Port 2, using PIA for I/O. Rapid toggling of the first pin (falling edge TTL) is required to trigger interrupts on the Arduino.
I have carried out testing with Filippo on various systems, and found the following:

 

  - NTSC 800 (1 unit): OK
  - PAL 800 (1 unit): OK
  - PAL 600XL (1 unit): OK
  - PAL 800XL (4 units, some modded with U1MB, Sophia2...): ALL NOT OK!
  - NTSC 1200 XL (1 unit): OK
  - PAL 130 XE (2 units): OK

As you can see above, the PAL 800 XL is the only model giving an issue with TTL edge detection.
I wonder if there is anything different with the chips used in 800XL PAL region???

Edited by 8bit-Dude
  • Like 1
Link to comment
Share on other sites

Thanks for referring this thread ClausB, some very interesting information in there.

I am going to try and play with switching frequency, to see if that improves the situation. Maybe not enough time is allocated for the 5V signal to rise back to the point where it can trigger a falling edge again...

Link to comment
Share on other sites

it pulls down fast but does not rise fast, you can try to add a slight pull up to help or you can detect the lows or you you can let the Atari pump low and invert the signal or give a longer recharge time as you describe by spreading out the time ie frequency... but it may be best to pick two so to speak

Link to comment
Share on other sites

After some further investigation, it turns out that the issue is with the Joystick Trigger (used as Acknow flag).

Switching the Joystick state from low to high seems to take an eternity on the 800XL.

I am going to experiment with inverting the default state (low instead of high).

Link to comment
Share on other sites

1 hour ago, Rybags said:

You can use latches on TRIG though the main purpose is for 1->0 transitions (button pressed)

 

AFAIK, that's what the Arduino does in Digital Output mode.

 

I set the state to HIGH / LOW, which should cause the Trigger to transition betwen 1 / 0.

 

This works fine on 800, 600XL, 130XE, but on the 800XL it takes such as long time that a ldx #255 counter decrements all the way to 0 before the trigger transitions from 1 to 0. It is as if the Atari is fighting against being pulled down on that line...

 

Edited by 8bit-Dude
Link to comment
Share on other sites

Yes, but they can be subject to the normal array of resistors, caps, inductors or whatever crap Atari saw as flavour of the month at the time.

Also you have some TRIGs potentially shared as a lightpen input to Antic which might affect behaviour as well.

 

Then you have the FGTIA (French) which has to free up pins to do the SECAM output so TRIGs on it are read in serially (per scanline?) and no idea if latches work at all.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...