Jump to content

Open Club  ·  76 members

StellaRT
IGNORED

Community-Built Unnamed 1970's Video Game Console-Compatible System (WIP)


Recommended Posts

4 hours ago, Kroko said:

I am missing decoupling capacitors in your design. Did you forget them, or was this a decision you made ? Its pretty standard to have at least a few decoupling capacitors close to the CPLD ...
From datasheet: "As the number of I/O pins and the capacitive load on the pins increase, more decoupling capacitance is required. As many as possible 0.1- mF power-supply decoupling capacitors should be connected to the VCC and GND pins or the VCC and GND planes. These capacitors should be located as close as possible to the MAX II device. Each VCCINT/GNDINT and VCCIO/GNDIO pair should be decoupled with a 0.1-mF capacitor."

I haven't found these caps in the PiStorm design, but I think it is a good idea to add them.

 

I remember I actually had trouble with missing decoupling capacitors with the XC95108 and only got it 100% stable after adding them and even setting the "slew" attribute of the pins to "SLOW". So if you still have the possibility to add them I would do it.

Edit: Any chance you could share your KiCad files here ?

Edited by Kroko
12 hours ago, Kroko said:

Could we have jumpers to decide
- if D_DIR to the 74LVC245 is coming from the Pi or some IO of the MAX-II ?

I thought of this too, but the emulator on the Pi is the only one that can decide if it is a read from the cartridge or if it is data for the cartridge to read/peek. This is clear (for the Pi/emulator) at the beginning of a "cycle", so there is no need to control the DIR on the 74LVC245 with the MAX-II

 

12 hours ago, Kroko said:

- if NOE line of the 74LVC245 is connected to ground or a MAX-II IO line ?

👍 this could be handy for "switching off" the cartridge.

 

18 hours ago, Kroko said:

Edit: Any chance you could share your KiCad files here ?

I want to make some changes this weekend. But even then it will be in an early WIP test-board state most likely not working.

1 hour ago, Al_Nafuur said:

I thought of this too, but the emulator on the Pi is the only one that can decide if it is a read from the cartridge or if it is data for the cartridge to read/peek. This is clear (for the Pi/emulator) at the beginning of a "cycle", so there is no need to control the DIR on the 74LVC245 with the MAX-II

I was uncertain if the CPLD might want to influence the exact timing of that signal and thought it might be handy to give the CPLD full control over the cartridge pins and not share it between CPLD and Pi. But maybe its also fine without it.
 

1 hour ago, Al_Nafuur said:

👍 this could be handy for "switching off" the cartridge.

If it is always connected to ground it will always drive its outputs on one end (dependent on DIR which is only stable after Pi has powered up). Either it drives data lines on the cartridge side (which is fine as long as you can guarantee that we can never see an address on the cartridge bus that makes the cart output its data as well) or it drives the lines on the CPLD side, which is also fine as long as we can make sure that the CPLD is not driving these lines at the same time. (And we don't know exactly what DIR looks like since its coming from Pi). We might be fine without it, but having the NOE connected to a GPIO probably with a pullup would probably be a safe way to make sure the datalines are not driven if we don't want that.

  • Like 1

So the cartridge supply voltage is 5V and if the cartridge works fine, then we never see 5V at the address lines (obviously because these are all inputs). But what if someone plugs in a faulty cartridge ? We might see 5V on the address lines in that case, dependent on what kind of issue the cartridge has, right ? Do we care that this might destroy our CPLD ? Maybe another driver for the address lines is too much effort, but something to think about ...

  • Like 1
12 minutes ago, Kroko said:

So the cartridge supply voltage is 5V and if the cartridge works fine, then we never see 5V at the address lines (obviously because these are all inputs). But what if someone plugs in a faulty cartridge ? We might see 5V on the address lines in that case, dependent on what kind of issue the cartridge has, right ? Do we care that this might destroy our CPLD ? Maybe another driver for the address lines is too much effort, but something to think about ...

No cartridge should ever drive the address lines not with 3.3V and not with 5V, so we might add 12 diodes to the lines. But I'll not add them to the current test board.

 

 

3 minutes ago, Al_Nafuur said:

No cartridge should ever drive the address lines not with 3.3V and not with 5V, so we might add 12 diodes to the lines. But I'll not add them to the current test board.

Thats true for a "working" cartridge. My point was that a defective cartridge is not predictable and may output any voltage available to the chip on any pin. We certainly do not need it for the current test board, though ...

  • Like 1
4 hours ago, Kroko said:

Thats true for a "working" cartridge. My point was that a defective cartridge is not predictable and may output any voltage available to the chip on any pin. We certainly do not need it for the current test board, though ...

I was aware that you wanted the protection of the CPLD only for faulty cartridges.

 

But I am honestly more concerned about the 5V on the joystick ports. Switching to 3.3V there shouldn't effect the functionality of the joysticks and maybe even the paddles, but some devices (e.g. AtariVox, Quadtari, CompuMate) might need the 5V

  • Like 1

A lot of work for just a test board. Freerouting took 5 hours of "optimization", but some connections were still missing. Took me 2 hours of manual "repairs" already and still 17 missing!

 

image.thumb.png.85e60739f9248801ab65fc088f354879.png

  • Like 3
On 8/21/2024 at 9:07 PM, Kroko said:

Edit: Any chance you could share your KiCad files here ?

KiCAD folder (early WIP!)

aRTA26.zip

 

 

The AtariJr lib is from @chregu's repository here:

https://github.com/chregu82/Atari2600Board

unfortunately he never made a replacement PCB for the 2600.

 

 

10 minutes ago, Kroko said:

Have you been able to do something about the 5V from Joystick port seen on a not 5V tolerant CPLD input ? Do you have 3.3V on the port now ?

Yes I have added a jumper to select 5V/3.3V on the joystick ports

  • Like 1
26 minutes ago, Kroko said:

How does a jumper make sense here ? I think we must not see 5V at the CPLD or it gets destroyed ?

I was recently thinking about what if instead of a standard 5V supply with 10% tolerance (max 5.5V) we had a 4.5V supply with a much lower tolerance (2%)?

 

The Max-II I/Os are 4.6V tolerant and most cartridges should work with 4.5 volts too. Maybe we could get rid of the 74LVC245 with this trick too. 🤷‍♂️

 

We only would need a voltage regulator circuit to get the Pi's 5V supply to 4.5V on our board.

 

  • Like 1
6 minutes ago, Kroko said:

4.6 V is Abosolute Maximum Rating. For 100% duty cycle they do not reccommend more than 4V. Do you think most carts will work with 4V ?
image.thumb.png.64aa24225c9d224b97d9774fc603621c.png

The voltage is melting faster than the glaciers.

😞

When I had the idea, I thought to remember max 5.0V for the I/Os.

 

I have no idea how many cartridges will work below 4.4V. Maybe we keep the 5V for the cartridge and use 4.xV on the joystick ports?

 

 

  • Recently Browsing   0 members

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