Jasmin hardware bug

This is the right place to discuss on how to implement hardware vsync, adding a VIA or AY chipset, puting multiple roms, or how to design a new flash expansion card.
Godzil
Squad Leader
Posts: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Jasmin hardware bug

Post by Godzil »

I was looking at the Jasmin schematics to prepare the Cumulus Rev2 for supporting the Jasmin and I've noticed a really strange thing on that device, I don't understand why they've done that, but basically, on both Jasmin 1 and Jasmin 2 (they are in fact the same schematics) they have a gate that drive the 6502 A2 line...

If you look at the two know schematics here : http://www.teaser.fr/~amajorel/jasmin/

The first for the Jasmin 1: http://www.teaser.fr/~amajorel/jasmin/j ... 100dpi.png
The Jasmin2: http://www.teaser.fr/~amajorel/jasmin/j ... 100dpi.png part of U9 where the output connected to U14 input and... A2

What does that mean? Simple that that NOR gate will force A2 to be high or low, A2 is a mono directional bus, from the 6502 to the rest of the world, the 6502 always drive this line, so basically what that does is that it create a contention on the A2 line when the NAND gate try to pull A2 high and the 6502 low, or when the NAND try to pull low and the 6502 high.

It could have a lot of nasty effect like at worst killing the A2 output of the 6502, or the one on the NAND gate, depends on who pull the line low.

I don't have the hardware by hand to check if this part is true or not, and if they added a patch to prevent that, but that a really bad design.

Can someone that have a Jasmin 1 or 2 near him could check that the schematic and the hardware match?
User avatar
iss
Wing Commander
Posts: 1637
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Jasmin hardware bug

Post by iss »

Yes, at first glance it looks really confusing such connection to A2 line... but Jasmin works, so probably there is nothing wrong ;).
U9 (C9 in v.2) is 74LS38 - outputs are open collector and it's used as "wired-OR" with A2, which means we don't need fire extinguisher 8) .
The whole magic is that U9's output is normally '1' and doesn't affect A2, only when the button "BOOT" is pressed it becomes '0', but together with this /RES is '0' too (see U12-/Q, U3, U4, /RES) and 6502 is stopped - no problem for A2.
The main function of U9 is to set /ROMDIS to '0' after the button is released (or more precisely after the pulse generated from U12).

BTW, for another thing I don't have answer - (v.1 top left) A0,A1,A2,A3 are connected to the parts of 4096 which are unused instead to connect unused inputs to GND or VCC - strange but ok, the question is:
why A0,A1,A2 have capacitor 27pF but A3 - 120pF ? :shock:
Godzil
Squad Leader
Posts: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Re: Jasmin hardware bug

Post by Godzil »

iss wrote:Yes, at first glance it looks really confusing such connection to A2 line... but Jasmin works, so probably there is nothing wrong ;).
U9 (C9 in v.2) is 74LS38 - outputs are open collector and it's used as "wired-OR" with A2, which means we don't need fire extinguisher 8) .
The whole magic is that U9's output is normally '1' and doesn't affect A2, only when the button "BOOT" is pressed it becomes '0', but together with this /RES is '0' too (see U12-/Q, U3, U4, /RES) and 6502 is stopped - no problem for A2.
The main function of U9 is to set /ROMDIS to '0' after the button is released (or more precisely after the pulse generated from U12).

BTW, for another thing I don't have answer - (v.1 top left) A0,A1,A2,A3 are connected to the parts of 4096 which are unused instead to connect unused inputs to GND or VCC - strange but ok, the question is:
why A0,A1,A2 have capacitor 27pF but A3 - 120pF ? :shock:
Yes, but that still create a contention, even if it's for a short period. Being in reset or not the 6502 still drive the A bus, and what they've done is a real bad practice.
Hopefully it's an open collector, but that does not change the fact that at some point A2 is short to ground by U8.
And that's a big issue because someone may overlook that and replace it by a 74LS00 because int pin compatible, and using an open collector is not obious, and I would says that it's even an error for two signals: SIDE SELECT and /MO, I doubt that both signals are pull-up in the floppy drive, so when the logic is high for both of them, the signal is floating, really bad practice..
Post Reply