Designing a new Atom main board

emulators, hardware and classic software for atom + system machines
Post Reply
User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Designing a new Atom main board

Post by roland » Wed Feb 26, 2014 6:52 pm

I have been thinking quite a while to build a new Atom main board and using gals for decoding stuff, 62256 for memory, a Godil for audio and video, a connector for atommc and the usual stuff like the 6502, 6522 and 8255.

But I still need the Atom keyboard, so I have to remove this from my Atom. This is a kind of the first step as I cannot build an Atom without a keyboard. Who has some useful tips or is it just a matter of brute force?
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
oss003
Posts: 3300
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: Designing a new Atom main board

Post by oss003 » Wed Feb 26, 2014 8:09 pm

Hi Roland,

I think this is a great idea and I must say it also past my mind a few times ... :wink:

The keys in an issue 5 mainboard are all seperate keys and you can relative easy remove them. Removing the keys from an issue 1..4 mainboard is a little more complex because all keys are pressed in a plastic frame. So I would suggest to take an issue 5 mainboard.

This can become a very interesting project =D>

Greetings
Kees

User avatar
hoglet
Posts: 9290
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Designing a new Atom main board

Post by hoglet » Wed Feb 26, 2014 8:32 pm

Are you thinking of putting this in a standard Atom case?

I wonder if it would be possible to make a complete new main board with the same positioning of keys, sacrifice an electron for key switches, and then borrow the key tops from an original Atom.

That seems better than destroying an original Atom, like Kees did here: :shock:
http://members.casema.nl/hhaydn/elan/atom_kees.html

Another option might be to remove all the chips, then design a new main board that would plug into the 8255 socket.

Have you considered the FPGA options? You can do a lot with a GODIL. You could make a complete Atom in a GODIL40_XC3S500E, and probably run it at 16MHz (my AtomFPGA will easily run at 8HMz). I think external RAM and ROM is good idea, and also an original SID for nostalgic reasons. :lol:

Dave

User avatar
daveejhitchins
Posts: 5754
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Designing a new Atom main board

Post by daveejhitchins » Wed Feb 26, 2014 9:06 pm

:evil: :twisted: Grrrrrrr!
hoglet wrote:sacrifice an electron for key switches
:evil: :twisted:

:lol:

Dave H :D

User avatar
danielj
Posts: 8241
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: Designing a new Atom main board

Post by danielj » Wed Feb 26, 2014 9:14 pm

You can buy brand new keyswitches of the elk-type without having to de-solder anything :)

http://www.grisk.com/pushbutton/kbm-lp.html

d.

User avatar
hoglet
Posts: 9290
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Designing a new Atom main board

Post by hoglet » Wed Feb 26, 2014 9:28 pm

daveejhitchins wrote::evil: :twisted: Grrrrrrr!
hoglet wrote:sacrifice an electron for key switches
:evil: :twisted:
Didn't think it would take long..... :lol:

User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Designing a new Atom main board

Post by roland » Wed Feb 26, 2014 10:29 pm

I'm willing to use my own Atom for the keys as my main board is worn out and has had too many mods to be stable. So no Electrons will have to be sacrificed. That's the good news.

I think it is doable to position the keys on a new board that fits into the original case. I have a brand new Atom main board without components so I can measure and compare the new one and the original.

There are more people telling me about the fpga possibilities and I really believe it can give more opportunities than a real Atom. The godil atom vga proves this. But my problem is that I don't know anything about programming a fpga so I completely loose my control over the Atom. I lost control over the pc and my mac but I really want to keep my Atom in my hands.

The idea of designing a new board that fits into the 8255 (and perhaps also in the 6522 and 6502) socket might be worth to look at how it will fit into the Atom case, however then I still need the video section on the Atom main board. And that area is the most unstable in my Atom. Fitting he godil on an extended board won't fit in the Atom case.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
hoglet
Posts: 9290
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Designing a new Atom main board

Post by hoglet » Wed Feb 26, 2014 10:49 pm

Roland,

I understand your point with FPGAs and loosing control.

There is a half-way house which is a CPLD, like the Xilinx XC9500 series, which are 5V I/O compatible and come in a PLCC package for which you can get a DIL socket.

Phill used one of these for all the decoding on the RAM ROM board, and hist design might be a good starting point. And you already own a compatible programmer.

For example, the XC9572 or the XC95128. You would be able to implement all the glue logic in a single device.

This would also be a good way to start learning VHDL, and because the device is very similar to a GAL (just much bigger) I think you would find it very familiar.

Dave

Prime
Posts: 2864
Joined: Mon Jun 01, 2009 12:52 am
Contact:

Re: Designing a new Atom main board

Post by Prime » Thu Feb 27, 2014 1:00 am

hoglet wrote:Roland,

I understand your point with FPGAs and loosing control.
To my mind putting everything in a single big FPGA is cheating :) it effectivly just becomes a programming exercise :)
There is a half-way house which is a CPLD, like the Xilinx XC9500 series, which are 5V I/O compatible and come in a PLCC package for which you can get a DIL socket.
Well strictly only the first release of the RAMROM used a XC95xx series, the second version used a XC9536XL, which are a3.3V part, but with 5.0V tolerant I/O. So they will stand you feeding a 5V input in and will work correctly but an output will only ever be driven to 3.3V. This generally didn't seem to be a problem for the RAMROM design. I actually designed the board with pullups on the data bus but in then end found I didn't need them which is why they where not fitted.
Phill used one of these for all the decoding on the RAM ROM board, and hist design might be a good starting point. And you already own a compatible programmer.
Sure, shout if you want the schematics and Xilinx Verilog files. I'll have to put the Schematics / programming files online for the AtomClone too, which I built before I managed to get an Atom off ebay. There should be some pictures on the forum if you do a search.
For example, the XC9572 or the XC95128. You would be able to implement all the glue logic in a single device.

This would also be a good way to start learning VHDL, and because the device is very similar to a GAL (just much bigger) I think you would find it very familiar.
Well the XC95xx series are strictly at EOL now so will be harder to get hold of, the XC95xxXL are still available though only the two smallest members are available as PLCC, which are easy to solder, the rest are in 100+ pin flatpacks, doable but you need a steady hand and good magnification :)

The Xilinx CPLDs are programmable in Verilog, VHDL, by schematic entry or by a combination of any of them. (They may also be programable in ABEL too).

Personally I think I'd start with something that effectively combined the RAMROM, the Colour board and the AtoMMC onto a single board using things like 32K SRAMS instead of the 2114s and a LS/HC245s instead of the virtually unobtainable buffer chips that Acorn used.

I believe that the 6502, 6522, and 8255 are still made using the modern ones you'd also be able to clock the Atom faster than 2MHz...e.g. the Clone can be jumpered for 1,2 or 4MHz, and I have for a small period of time run it at 10MHz :)

Cheers.

Phill.

User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Designing a new Atom main board

Post by roland » Thu Feb 27, 2014 8:03 am

Hmmm ... maybe the CPLD is worth a try. Especially after reading this:
The Xilinx CPLDs are programmable in Verilog, VHDL, by schematic entry or by a combination of any of them.


I will definitely keep this in my mind.


Two addition questions for Hoglet:

1. How does the GODIL know that it is addressed when ICs 27-29 are bypassed with wire links? It has no chip select and only 13 address lines. IMHO it will always respond - how on earth can this work? What did I miss?

2. When the vga lines are routed to the PL4 connector, you have to bypass three level shifters on the GODIL. But in a new main board design there is plenty of room, so is there a way to make this modification outsite of the GODIL? I'm thinking of a small level reducing circuit, maybe a potentiometer will do? I can replace PL4 by a VGA socket and have also plenty of room for the second green bit to produce orange.

And then a few questions for all readers of this post:
If you are also interested in building such an Atom (if we ever make it to the production phase) just let it us know. I will avoid using some exotic components that are very rare or have LOL prices.

And if you are interested, should the printer port and the cassette interface be available or not. I don't use both of them in real life so for me I can drop them and use the space for the AtoMMC slot and PS/2 mouse connection. Both interfaces can later be added for short-period use by building and interface card that goes on PL6.

I know I have several other Atom projects to do, such as getting my combi-card working with Branquar, writing a decent WRCH80 routine for the GODIL, UPURS/Uplink etc. But developing software without decent hardware is horrible :?
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
hoglet
Posts: 9290
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Designing a new Atom main board

Post by hoglet » Thu Feb 27, 2014 8:25 am

Hi Roland,
roland wrote: Two addition questions for Hoglet:

1. How does the GODIL know that it is addressed when ICs 27-29 are bypassed with wire links? It has no chip select and only 13 address lines. IMHO it will always respond - how on earth can this work? What did I miss?
It uses pin 12 of the 6847 (MS) and nBCxx (wire) as chip selects.
roland wrote: 2. When the vga lines are routed to the PL4 connector, you have to bypass three level shifters on the GODIL. But in a new main board design there is plenty of room, so is there a way to make this modification outsite of the GODIL? I'm thinking of a small level reducing circuit, maybe a potentiometer will do? I can replace PL4 by a VGA socket and have also plenty of room for the second green bit to produce orange.
There are a couple of options that come to mind:
1) Continue to use the test connector on the GODIL for VGA, as these do not need bypassing.
2) Use other pins, and add an external buffer (e.g. a 74LS244) before combining the bits with resistors. You could actually have a go at prototyping this on your real Atom to check the quality.

What's your thinking about preserving the current 6847 pinout (i.e. would you want using a real 6847 instead of an expensive GODIL to be an option?)

Also, if you are making a new board I would add some links to free up pins 31,32 and 34 for other uses when a GODIL is fitted.
roland wrote:And then a few questions for all readers of this post:
If you are also interested in building such an Atom (if we ever make it to the production phase) just let it us know. I will avoid using some exotic components that are very rare or have LOL prices.

And if you are interested, should the printer port and the cassette interface be available or not. I don't use both of them in real life so for me I can drop them and use the space for the AtoMMC slot and PS/2 mouse connection. Both interfaces can later be added for short-period use by building and interface card that goes on PL6.

I know I have several other Atom projects to do, such as getting my combi-card working with Branquar, writing a decent WRCH80 routine for the GODIL, UPURS/Uplink etc. But developing software without decent hardware is horrible :?
I would be interested!!

I don't think you will be pushed for space, once you drop all the RAM sockets and most of the discrete TTL chips.

I use the cassette port regularly, but have never used the printer port.

Adding a Beeb style user port might allow some interesting possibilities.

Dave

User avatar
hoglet
Posts: 9290
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Designing a new Atom main board

Post by hoglet » Thu Feb 27, 2014 8:28 am

Also, Re: existing projects, how far did you get with the UPURS cable, as this is also something I was interested in using? I want to write a GODIL demo, which I can't do in Atomulator, and this would be a real help.

Dave

User avatar
hoglet
Posts: 9290
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Designing a new Atom main board

Post by hoglet » Thu Feb 27, 2014 8:33 am

What about this for the discrete logic ($15)
http://dangerousprototypes.com/2014/01/ ... n-stock-5/
XC9572XL1-W600.jpg
There are quite a few similar modules around.

Dave

User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Designing a new Atom main board

Post by roland » Thu Feb 27, 2014 8:41 am

Thanks Dave,

Wtih the addressing of the GODIL I actually meant the video memory. I didn't make that clear in my question.

I'm really planning to use a GODIL and not a real 6847 for the reason that a GODIL has soo much more to offer. So if it's easier to program a new version of the GODIL with different pin-out, this is your chance :) Using the test connector is still possible, but when it is routed through the socket it takes less wires between the GODIL and the main board which is a big advantage in my opinion.

The cassette interface will be preserved but with different pin-out. There are three lines needed for the tape I/O, the remaining four can be used for the mouse. We just need a small adapter cable to split it. We once made a better tape interface for the Atom, it could be worth to implement that as well since most tapes won't become better during the years.

And I will try to pick up the UPURS link soon...
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
hoglet
Posts: 9290
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Designing a new Atom main board

Post by hoglet » Thu Feb 27, 2014 8:48 am

roland wrote:Thanks Dave,
Wtih the addressing of the GODIL I actually meant the video memory. I didn't make that clear in my question.
Hmm, I think the answer is still the same. :D

For the video memory, it uses pin 12 of the 6847 (MS) which is driven by the signal nVDG which is also used to enable the IC27-29 buffers. I'm using this as a chip select to indicate 8000-9FFF is being selected.

Dave
Last edited by hoglet on Thu Feb 27, 2014 9:05 am, edited 1 time in total.

User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Designing a new Atom main board

Post by roland » Thu Feb 27, 2014 9:03 am

Ah ... that's the small part I missed, VDG also goes to the 6847. But now, after more than 30 years I have found a small mistake on the Atom circuit diagram:
Schermafbeelding 2014-02-27 om 09.57.11 (2).png
The CPLD development boards look great and aren't that expensive. Which one should I take: the XC9572XL dev-board or CoolRunner-II development board. Both cost only $15.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

Prime
Posts: 2864
Joined: Mon Jun 01, 2009 12:52 am
Contact:

Re: Designing a new Atom main board

Post by Prime » Thu Feb 27, 2014 9:30 am

roland wrote:
Schermafbeelding 2014-02-27 om 09.57.11 (2).png
The CPLD development boards look great and aren't that expensive. Which one should I take: the XC9572XL dev-board or CoolRunner-II development board. Both cost only $15.
I'd personally go for the XC9572XL board, as the chips is 5V tolerant, the Coolrunner isn't which means you'd also need interface logic of some sort.

Whilst that board would be a good place to learn about programmable logic with, the bare XC9572XL chips is available for much less :

http://uk.farnell.com/xilinx/xc9572xl-1 ... dp/1193232

The advantage of using the PC44 chips is that the XC9536XL (less logic) is also available in this format with the same pinout, and is less than half the price. Which means that if you prototype with the 72 and find that your logic will fit in a 36, all you need to do is unplug one chip and plug in another.

Cheers.

Phil.

User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Designing a new Atom main board

Post by roland » Thu Feb 27, 2014 10:33 am

For that amount of money I can buy one and experiment with it until it literally burns. A course is much more expensive but less effective :lol:

I asked my local electronic shop what it will cost if they order one for me at Farnell, I can also order them myself, but the minimum order amount is a bit too high (about €50,00 IIRC).

Thanks for the tip. Using such a device will save some space on the board :)


Damn ... this topic is addictive and keeps me from my work ...
Last edited by roland on Thu Feb 27, 2014 12:53 pm, edited 1 time in total.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
oss003
Posts: 3300
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: Designing a new Atom main board

Post by oss003 » Thu Feb 27, 2014 12:40 pm

hoglet wrote:I think external RAM and ROM is good idea, and also an original SID for nostalgic reasons.
The big advantage of the GODIL SID is that you don't need +9V or +12V .... :)

Greetings
Kees

User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Designing a new Atom main board

Post by roland » Thu Feb 27, 2014 12:55 pm

If there's enough space left I will fill it up with solder pads so one can add some additional hardware inside the Atom :lol:
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Designing a new Atom main board

Post by roland » Thu Feb 27, 2014 5:02 pm

I have been doing some sketching with GIMP and I have a preliminary design, just to give an impression how it could be:
new-atom-pcb.png
Keep on dreaming :-)
I also want to integrate the AtoMMC2 interface by Sir Morris, unless he tells me that I am not allowed to for whatever reason.

The complete design will be open source and all stuff will be sold at cost price, shipping and taxes. But that should be clear to all :)
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Designing a new Atom main board

Post by roland » Thu Feb 27, 2014 6:46 pm

Just received the price information for the XILINX - XC9572XL-10PCG44C: only € 5.75 including taxes and to be picked up at the store. That's not very much money. Multiwizard is going to ask a friend of him what it will cost to make the first prototype pcb.

This is becoming a real community project =P~
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
hoglet
Posts: 9290
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Designing a new Atom main board

Post by hoglet » Thu Feb 27, 2014 7:36 pm

Roland,

Another thing you might want to consider is whether to include the logic to allow the memory map to be "flipped" into the layout used by the BBC Basic. This would I think be quite easy to do, assuming all the address decoding is done by the CPDL.

Earlier, I was imagining a design where the GODIL was an option, but there might be a more basic model that just included the 6847. But I've just realized that you would need to add 3 bus buffer chips and an 8K RAM. Maybe this decision could be delayed until you see how challenging the PCB layout is.

Any thoughts on power supply arrangements? There are some nice switching regulators around. I'd expect Mark or Mark would be able to make a recommendation here.

Dave

Prime
Posts: 2864
Joined: Mon Jun 01, 2009 12:52 am
Contact:

Re: Designing a new Atom main board

Post by Prime » Thu Feb 27, 2014 7:39 pm

Couple of questions.....

Is there any reason for having separate RAM and ROM banks ? If you have CPLDs you can control the upper address lines of the RAM and ROM chips from the CPLD and use a single bigger chip....like the RAMROM does, which will save you board space.

I notice you have a connector labeled ps/2, is that for a mouse or keyboard ? if it's for a keyboard then what I would suggest is let the MMC microcontroller handle it, and between that and the 8255 / 74xx145 and the microcontroller have something like the MT8816 cross point switch, that is basically an array of electronically controlled switches connected in a matrix. That way the Atom would just see a key press as if it where a physical switch and would not need a custom driver written which would ensure compatibility with software that may cheat and read the keyboard directly....if it's anything like other platforms that will be most games :)

Cheers.

Phill.

Prime
Posts: 2864
Joined: Mon Jun 01, 2009 12:52 am
Contact:

Re: Designing a new Atom main board

Post by Prime » Thu Feb 27, 2014 7:41 pm

hoglet wrote:Roland,

Another thing you might want to consider is whether to include the logic to allow the memory map to be "flipped" into the layout used by the BBC Basic. This would I think be quite easy to do, assuming all the address decoding is done by the CPDL.
That is deffo doable, as I did that in the AtomClone, it's what one of the switches on the back of the case is for :)

Cheers.

Phill.

User avatar
sirmorris
Posts: 793
Joined: Wed Feb 11, 2009 12:18 pm
Location: oxfordshire uk
Contact:

Re: Designing a new Atom main board

Post by sirmorris » Thu Feb 27, 2014 10:47 pm

Feel free to integrate AtoMMC Roland. I will help in whatever way I can. Kees has all the latest schematics and code.

If you PM me your address I have a Xilinx XC95xx(xl) CPLD breakout board that Phill gave to me a long while ago now - I no longer need it and I will be happy to send it to you along with a couple of spare chips.

C

User avatar
roland
Posts: 3919
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Designing a new Atom main board

Post by roland » Thu Feb 27, 2014 11:13 pm

To give some answers to your questions:

I use four memory banks because I have plenty of 62256 and 27128/27256 in stock. I think many Atom users have some of them somewhere.

The PS/2 connector is for the Godil mouse interface, no plans for PS/2 keyboard support yet.

Switching between Atom and BBC basic memory map is a good idea, I prefer a switch in software or via a key press during a break. E.g. A+BREAK will start Atom mode and B+BREAK goes into BBC mode.

A word about the power supply, my Atom runs very nice on a very small USB power supply which delivers 5V and max 2A. It doesn't get hot, even not really warm. I intend to keep this as my power supply because the Atom will even consume less power when most of the TTL logic is replaced by a CPLD.

Thank you Charlie for your offer. I'll pm my address tomorrow.

I can use some help from people on short term. The project will be open (source) and so I cannot use Eagle for the PCB design. I have been playing with KiCad which will do the job. But some components are missing in the libraries and I couldn't find them real quickly on the Internet. So if someone can look for the 6502, 8255, 6847 (just for the Godil pin-out!) and later perhaps some other devices that would save me some time...
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
hoglet
Posts: 9290
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Designing a new Atom main board

Post by hoglet » Fri Feb 28, 2014 7:22 am

What are the restrictions on using Eagle for open source projects?

I have always used DipTrace for the small PCBs that I do, but I think there is are limits:
  • 500 pins/2 layers limit for the free Lite edition.
  • 1000 pins/4 layers limit for the $125 non-profit edition.
  • 1000 pins/6 layers limit for the $248 non-profit edition.
  • unlimited pins/layers for the $348 non-profit edition.
I don't believe there are board size limits.

Do you have an estimate of the total number of pins?

Dave

User avatar
oss003
Posts: 3300
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: Designing a new Atom main board

Post by oss003 » Fri Feb 28, 2014 7:48 am

The Eagle freeware version has a limitation of boardsize (100 x 80mm), 2 layers and 1 sheet.

Greetings
Kees

User avatar
daveejhitchins
Posts: 5754
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Designing a new Atom main board

Post by daveejhitchins » Fri Feb 28, 2014 7:56 am

oss003 wrote:The Eagle freeware version has a limitation of boardsize (100 x 80mm), 2 layers and 1 sheet.

Greetings
Kees
The 'Hobby' version of Eagle would suit and it's a reasonable price! €140.

Dave H :D

Post Reply

Return to “acorn atom and acorn system series”