First gigatron clone

Using, learning, programming and modding the Gigatron and anything related.
Forum rules
Be nice. No drama.
tocksin
Posts: 25
Joined: 22 Jun 2018, 14:12

First gigatron clone

Post by tocksin »

I don't mean to step on any toes, but I couldn't wait for a Gigatron with a built-in keyboard, so I'm making one myself. The Apple had tons of clones, so it makes sense the Gigatron should have one too. Mechanical keyboards is also a hobby of mine, so I wanted to combine the Gigatron with one. I used the open source GH60 keyboard layout and modified it slightly to use 63 keys so I could get 4 arrows keys in there. I'm using the Cherry MX key layout.

AND I figured why not put a few more upgrades in here as long as I'm making a new layout. I put a 128kB 55ns RAM in there with bank switching. I also put a cartridge slot in there which overrides the ROM to give it a C64/Atari style slot. And then I have an audio input so I could do a tape-style program storing/loading. I also added a ST X,D instruction to help with block copying. Everything is set up to be 100% reverse-compatible, so I can run the standard ROM. I'll have to modify it to support the new functions though.

It's 6 more logic chips for all these functions, and I felt like I needed to move to a 4-layer board. Sure I could route power and ground around, but that's just such a pain. Will it work? Probably not, but I'm going to order a set of 5 and debug it. I'll let you know how it goes.
The attachment 2018-09-14 15_21_31-GGTron.PrjPCB - Altium Designer (18.1.9).jpg is no longer available
2018-09-14 15_21_31-GGTron.PrjPCB - Altium Designer (18.1.9).jpg
2018-09-14 15_21_31-GGTron.PrjPCB - Altium Designer (18.1.9).jpg (89.81 KiB) Viewed 9772 times
Attachments
GGTron keyboard-layout.png
GGTron keyboard-layout.png (23.81 KiB) Viewed 9772 times
User avatar
marcelk
Posts: 488
Joined: 13 May 2018, 08:26

Re: First gigatron clone

Post by marcelk »

I want one :-)

Is this using HGM's proposal of an extended instruction set? The good thing about the Harvard architecture is that the translation is not a Turing-complete problem. The only thing that may give a bit of a headache is that there is

Code: Select all

st $dd,[$dd]
in several places in the existing ROMs. From the top of my head, one of those is really in the critical part of the sound generation: it resets the sample every four VGA lines. If you need help to find a way to rewrite this, without losing features, please let me know. (E.g. by opening an issue in GitHub). Worst-case you can make every scan line 201 cycles instead of 200. The reduced frame rate should work on practically all monitors.

BTW, could you elaborate on how the audio input circuit will go to digital levels?
tocksin
Posts: 25
Joined: 22 Jun 2018, 14:12

Re: First gigatron clone

Post by tocksin »

I took the store instructions which read and write to/from RAM, and replaced them since they were useless. I kept all the others. Instead those instructions now read from the AC register and then select X as the upper byte (when 0 is not selected). The only really useful one is ST X,D, but there is also ST X,X. The rest are repeats. So I look for when there is a ST instruction and /OE is selected. I override the /OE signal, and enable /AE instead. I also use that override signal to select X as the upper byte for the RAM.

For the audio I use an opamp to overdrive the signal up to the rail - almost acting as a comparator. I need to use a rail-to-rail opamp that works at single-rail low voltage, but that's not a problem. It isn't really a ADC - it assumes the signal coming in will be digital in nature. It's the same way the C64 does it. The only tricky part is the encoding, but that's all in software. http://wav-prg.sourceforge.net/tape.html
walter
Site Admin
Posts: 160
Joined: 13 May 2018, 08:00

Re: First gigatron clone

Post by walter »

Nice work, tocksin!

Yes - I want one too :-)
Obviously, we are already working on the PS/2 interface so that is an affordable way to attach a keyboard. But this PCB looks quite nice as it is!
tocksin
Posts: 25
Joined: 22 Jun 2018, 14:12

Re: First gigatron clone

Post by tocksin »

I made a quick cartridge example so I could make sure I didn't make any mistakes with the wiring. Turned out a lot bigger than I expected. I could probably make it smaller with surface mount chips...
2018-09-27 12_58_43-GGTcart.PrjPCB - Altium Designer (18.1.9).jpg
2018-09-27 12_58_43-GGTcart.PrjPCB - Altium Designer (18.1.9).jpg (30.46 KiB) Viewed 9656 times
tocksin
Posts: 25
Joined: 22 Jun 2018, 14:12

Re: First gigatron clone

Post by tocksin »

Boards are in! They look good on first inspection. Time to start building and testing. Thanks guys for the coupon!
IMG_2883.JPG
IMG_2883.JPG (901.57 KiB) Viewed 9526 times
walter
Site Admin
Posts: 160
Joined: 13 May 2018, 08:00

Re: First gigatron clone

Post by walter »

Nice! Hope it works. I see you also put our names on it 8-)

How does the audio IN work?
User avatar
marcelk
Posts: 488
Joined: 13 May 2018, 08:26

Re: First gigatron clone

Post by marcelk »

All thanks must go to PCBWay :-)
tocksin
Posts: 25
Joined: 22 Jun 2018, 14:12

Re: First gigatron clone

Post by tocksin »

The audio IN right now is a simple band-pass filter / amplifier. It's only for digital input from an audio source. It should ramp the output up to the point where the CMOS chip can read either a high or low. The software will need to read one bit at a time. It won't be fast, but I'm ok with that for now. The audio out has a maximum bandwidth of about 5kHz, so it's not going to need to read in faster than that.

I first need to write the software code to output a waveform that can be recorded on say a smartphone. Then I can build that hardware to see if reading it back in is going to work. Then I'll need to write the software to capture it automatically. I figure the easy storage media of the 70s/80s was the tape cassette, so it made sense to have the storage media of today - the smartphone - to be a good candidate for storage of the Gigatron. But I have a long road to figure it out and so little time to work on it. I only have at most 10 hours a week to work on this, so it's slow going for me.
User avatar
Trax
Posts: 3
Joined: 04 Nov 2018, 15:55

Re: First gigatron clone

Post by Trax »

tocksin wrote: 14 Sep 2018, 19:51The attachment 2018-09-14 15_21_31-GGTron.PrjPCB - Altium Designer (18.1.9).jpg is no longer available
Can the 2018-09-14 15_21_31-GGTron.PrjPCB be downloaded some ware else?
Post Reply