My Gigatron! It very almost works! (Help!)

A place to eternalise your Gigatron build photos. From box to BASIC.
Forum rules
Use this forum to show off your build photos. For build issues, please consult the directions in the sticky post on top instead.
Post Reply
Aaron J Climas
Posts: 2
Joined: 19 Nov 2020, 10:57

My Gigatron! It very almost works! (Help!)

Post by Aaron J Climas » 19 Nov 2020, 11:17

Hi there all!

I ordered some PCBs made up of the gigatron a couple of months ago, basically as soon as I could. Then ordered all the various ICs. The only components I had issues getting was the actual crystal itself. I ended up using a 6.4mhz crystal, because I couldn't for the life of me find a 6.25mhz. This may cause me problems, but I could find 6 and 6.4 and a big old nothing down the middle.

I soldered it together and got the basics working in no time, however had to wait until last night to get the ROM programmed, I tried building a EEPROM programmer with an arduino, but couldn't get it working for an IC this big, I tried with the TommyProm and failed. But I went out to a Makerspace and they helped me out.

And I plugged it in, and it worked. First time. The screen popped on and yeah. can't not tell you how much of a surprise that was.
125792592_10157514901642190_550493917429728672_o.jpg
125792592_10157514901642190_550493917429728672_o.jpg (273.63 KiB) Viewed 261 times
So I went home and realise I'd forgotten to program the ATtiny for the p/2 keyboard. So grabbed an Uno and programmed it using this https://ecetechprojects.wordpress.com/2 ... d-avrdude/ tutorial.

And basically the keyboard lit up, and nothing happens. However if you push a bunch of buttons at random snake will start playing. And if you push a bunch more buttons then you can cycle through the different modes. But that's it.

I've checked over with a multimetre form the keyboard to the AtTiny to make sure the connections are there, as well as from the Tiny to the Shift Register and those connections seem good, I've reflowed them just in case.

I also checked the keyboard out in my PC and it works fine, I also connected it to a pair of shift registers and the data is flowing out of it as it should.

I found another chap here who was having an identical sounding issue. He was having issues with the Fuses. I don't really understand them, but tried to make the same change that he made, and that doesn't' seem to have made a difference. The next step is to go back to the Makerspace and go over the Tiny with an oscilloscope ( I don't have one or know how to use one!) and make sure the signals are poodling out of it fine.

I thought I'd put a screengrab here showing what I put on the Tiny just in case someone here could spot something I've done wrong. I'm 99% sure it's a software error rather than an issue with the hardware
stuff.jpg
stuff.jpg (264.79 KiB) Viewed 261 times
The other thought I had is I could knock up a quick controller on a breadboard to make sure the issue is with the keyboard/ tiny, but I can't work out what the circuit diagram is of the Famacon controller, there seems to be a few about.

Thanks for the help, this project was so good. The guys at the Makerspace were so impressed by the board layout as well as the manual.

All the best,
Aaron

Sugarplum
Posts: 11
Joined: 30 Sep 2020, 22:19

Re: My Gigatron! It very almost works! (Help!)

Post by Sugarplum » 19 Nov 2020, 12:34

I would try attaching a Famicon controller and seeing if it works as expected. If not, then you might want to check the wiring around the port and the resistors on the Gigatron side. But if that does work fine, then it could be your Pluggy or your keyboard.

You might find some assistance by looking at the Gigatron schematics.

https://cdn.hackaday.io/files/207818890 ... -03-20.pdf

I am not familiar with the programmer, but looking at your screens, there could be an issue with programming the AtTiny.
Last edited by Sugarplum on 19 Nov 2020, 17:23, edited 1 time in total.

at67
Posts: 205
Joined: 14 May 2018, 08:29

Re: My Gigatron! It very almost works! (Help!)

Post by at67 » 19 Nov 2020, 12:46

Congratulations on getting your Gigatron up and running!

Check out this thread:
viewtopic.php?f=4&t=257

Aaron J Climas
Posts: 2
Joined: 19 Nov 2020, 10:57

Re: My Gigatron! It very almost works! (Help!)

Post by Aaron J Climas » 19 Nov 2020, 22:06

Thanks! I've not got a Famicon controller, I'm in Australia and have never come across one, I assume They are basically a shift register with a button, but I've not found much more info.

The thread is actually the one I used to try and solve the problem I was having, thanks. ❤❤

at67
Posts: 205
Joined: 14 May 2018, 08:29

Re: My Gigatron! It very almost works! (Help!)

Post by at67 » 20 Nov 2020, 00:05

The controller's basic functionality can be represented by the following:

nes-controller-arduino.png
nes-controller-arduino.png (55.02 KiB) Viewed 221 times
WattSekunde has a good explanation of how it works and interfaces to the Gigatron here:
viewtopic.php?f=4&t=39#p227

P.S. Some of the Famicon/NES controllers have extra A and B auto repeat/fire buttons that the above circuit doesn't take into account; the auto repeat/fire functionality is not strictly needed for the Gigatron.

jbailey
Posts: 27
Joined: 20 Nov 2018, 08:54

Re: My Gigatron! It very almost works! (Help!)

Post by jbailey » 21 Nov 2020, 10:54

When programming the Pluggy McPlugface's Tiny85, which version of the firmware did you use? When I programmed mine, I found that "BabelFish.ATtiny85_v1.bin" worked well the non-V1 version didn't. Also be sure to set the programmable fuses when programming this chip to the following values:
  • fuses_lo = 0x00e2
  • fuses_hi = 0x00df
  • lock_byte = 0x00ff
You can use the diode test mode on a multi-meter to check for a bad solder joint. Check from each pin on the 74HC595 (make sure to test from a part of the lead not covered by any solder, or the "chip" side of a socket, if you had used one) to the other components leads where the signal goes to. This way you know the signal is going where it should, this could also be done on Pluggy McPlugFace too. You will find detailed schematic on page 50, 51, 55 of the assembly and user manual which will aid the effort.

Also the creators made an excel document that details what the expected voltage drop is for each point in the circuit from ground. This helped me with one of my builds. I was able to find a short hidden under a trace on of the the ALU chips , this short was impossible to visual inspect. However armed with this I was able to find and fix it. https://gigatron.io/wp-content/uploads/ ... oting.xlsx. You may have an single open, short, or a intermittent connection causing this erratic issue.

in my testing the voltage drops did not exactly match the Excel sheet but were in the neighborhood, and the variance was fairly consistent.

Items to check for (but you may need to slightly widen the search):

Power on VCC and ground at the 74HC595 (U39), it should be near +5 volts.
74HC595's (U39) BUS0-7 to the 74HCT161 (U3) BUS 0-3 and 74HCT161 (U4) BUS 4-7
75HC595's (U39) H to the 74HCT161 (U3) H
75HC595's (U39) TE to the 74HCT139 (U11) TE
75HC595's (U39) pin 11 & 12 to the HSYNC (R17) (one side of the resistor should have no voltage drop)
75HC595's (U39) Pin 14 to the R19 resistor

Another thing to check is voltage you are getting at the VCC (pin-8) and Ground (pin-4) on the Tiny85. You want to get as close to 5 volts at the Tiny85 as you can, some usb cables and keyboard use cheap (thin) wiring which causes a voltage drop. I had a few keyboards that didn't work on the pluggy due to the quality of the keyboard (the cable of the keyboard had a .3 voltage drop!).

The others suggestion of sourcing or build a Famicon controller, is a good one. This way to can help confirm the shift register (the input chip a 74HC595), is working well.

Best Wishes...
Last edited by jbailey on 21 Nov 2020, 20:15, edited 1 time in total.

klf
Posts: 10
Joined: 10 Jan 2019, 22:48

Re: My Gigatron! It very almost works! (Help!)

Post by klf » 21 Nov 2020, 17:35

Instead of feeding the shift register you could also add a parallel input to your Gigatron. Use a 74HCT574 or 374 octal flipflop and connect its outputs to BUS0..7. Clock (pin 11) goes to SER_LATCH (/VSYNC). Cut the /IE signal where it enters U39/74HCT595 at pin 13 and insert a three-pin jumper here. This allows /IE to be connectet to the '595 pin 13 (select serial input) or to the added '574 pin 1 (select parallel input). Connect pullup resistors (4k7 or 10k) from each '574 input and from '595 pin 13 and '574 pin 1 to VCC. These provide a high level as default for all inputs and makes sure that the non-selected /IE input is inactive.

Now you have eight input pins where you can connect eight pushbuttons to ground.
IMG_7419.JPG
IMG_7419.JPG (252.31 KiB) Viewed 171 times
Sure this addon will disturb the beauty of the Gigatron PCB :roll: . However, I have built mine on perfboard with components I had been lying around, so it was possible to include the parallel input from the beginning.

bmwtcu
Posts: 23
Joined: 01 Nov 2018, 12:02

Re: My Gigatron! It very almost works! (Help!)

Post by bmwtcu » 21 Nov 2020, 22:28

Marcel had originally designed the Gigatron to support a 74LS244 which would be a drop in replacement for the 74HC595 IC to do the same thing being proposed above. The software doesn't even have to be modified to support sampling the 8 (parallel) push-buttons as long as you adhere to the same order of buttons. viewtopic.php?f=4&t=202&p=1078#p1078

I myself just used a 74LS165 and an inverter to build the equivalent of the NES controller schematic at67 posted. It's pretty easy if you already have the parts on hand.
Gigatron.jpeg
Gigatron.jpeg (216.69 KiB) Viewed 152 times

Post Reply