Simple Atom Clone Build Anywhere?

discussion of games, software, hardware & emulators relating to the Acorn Atom and Acorn System machines.
Post Reply
User avatar
vincbr900
Posts: 7
Joined: Wed Aug 14, 2019 4:37 am
Location: San Diego, CA, USA
Contact:

Simple Atom Clone Build Anywhere?

Post by vincbr900 » Wed Aug 14, 2019 9:49 pm

Hi everyone, first post, so be gentle!

I have a hankering to build a simple integer BASIC Atom clone toy, in the spirit of Grant Searle's verboard Jupiter Ace or Tynemouth Software's Minstrel ZX80 Clone. I would like to keep the design somewhat period, so no ICs newer than 1985.

I looked at the 202,000/C schematic and to make it simpler, conceptually it looks like we could:
  • Eliminate the bus drivers on the edge connector
  • Eliminate the printer port and VIA
  • Replace the dual 2114 SRAM banks with a pair of 6264 SRAMs and simplify the address decoding
  • Implement Component Video Colour output as per Hoglet's Transistor video driver
This leaves the 6502, pair of 2732 Eproms, 6847, 8255, 7445/74ls154 decoder and glue logic.

Then it dawned on me that in the past 40 years, someone might have done this before, especially integrating things like the video fix which I am still wrestling with. I found
http://www.mtxworld.dk/memorum/viewtopic.php?f=18&t=373

But this actually seems more complicated, so wondered if anyone knew other builds more on the lean side - even better if there was a final schematic?

Thanks, Vincent
Last edited by vincbr900 on Thu Aug 15, 2019 9:09 pm, edited 2 times in total.

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

Re: Simple Atom Clone Build Anywhere?

Post by hoglet » Thu Aug 15, 2019 6:21 am

Welcome to the forums!

I don't believe this has been done, and it's an great idea.

This is the nearest I'm aware of:
- Acorn Atom on Eurocard

Also take a look at Roland's "New Atom" projects, but these make use of modern chips. See:
- Designing a new Atom main board
- Building Rolands new Atom design...
- Atom 2k18 ?

A couple of thoughts....

- Use a single 27128 EPROM (mapped C000-FFFF)
- Include a PL8 connector so you can add an external AtoMMC
- Consider replacing some of the random logic with a 16V8 or 22V10 PLD
- Conside including a noise killer (basically an additional 74LS573)
- Making an authentic keyboard is a challenge - see my efforts at here

Dave
Last edited by hoglet on Thu Aug 15, 2019 6:22 am, edited 1 time in total.

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

Re: Simple Atom Clone Build Anywhere?

Post by danielj » Thu Aug 15, 2019 6:45 am

I'm sure Prime (Phill) made something once?

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

Re: Simple Atom Clone Build Anywhere?

Post by hoglet » Thu Aug 15, 2019 6:53 am

danielj wrote:
Thu Aug 15, 2019 6:45 am
I'm sure Prime (Phill) made something once?
Indeed he did, see Atom clone progress.

It uses a Xilinx CPLD, which I guess is more modern that old-school.

Dave
Last edited by hoglet on Thu Aug 15, 2019 6:53 am, edited 1 time in total.

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

Re: Simple Atom Clone Build Anywhere?

Post by roland » Thu Aug 15, 2019 7:31 am

Hi Vincent,

What is your main purpose of this simple Atom clone? Do you have a special application for it or will it just be more generic use like playing games?

I'd advise you to include the VIA anyway because many programs use the timers.

Welcome to this forum, enjoy your visits here. And maybe it's just a coincidence but you have the same avatar as Elminster :)

Greetings from the south of the Netherlands,
Roland
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
vincbr900
Posts: 7
Joined: Wed Aug 14, 2019 4:37 am
Location: San Diego, CA, USA
Contact:

Re: Simple Atom Clone Build Anywhere?

Post by vincbr900 » Thu Aug 15, 2019 5:45 pm

Hi everyone, thanks for the thoughts.

The motivation is just something nice to build and occasionally play with - It will not be used in anger. The rationale for pre-1985 parts is that this is what I might have been able to do at the time if I was both smart enough and motivated.

Responses to Specific suggestions
  • VIA - good point, I thought it was an option but I forgot it has timers so will prob need to include
  • PL8 for AtomMMC - I checked this out and looks like a must have so I can delete the cassette interface. However I cant find PL8 on the Schematic?
  • Bigger ROMs - Maybe, will need to look at the address decoding. However the 24 pin roms give it a more authentic look
  • GALS/PALS - I need to understand the glue logic more. I can see what to delete for the address decoders with one 6264 SRAM at 0000 and the other at 8000, but there seems to be a lot of LS139s and discrete gates. Would prefer not to but TBD - any 8 bit machine of the time has to have at least one LS138 :)
  • Anti-Snow - does anyone have link to a writeup of this mod? I only found snippets
Cheers, Vincent

User avatar
Multiwizard
Posts: 1589
Joined: Wed Jan 11, 2012 9:03 pm
Contact:

Re: Simple Atom Clone Build Anywhere?

Post by Multiwizard » Thu Aug 15, 2019 6:35 pm

Attachments
atom_circuit_diagram.gif
Last edited by Multiwizard on Thu Aug 15, 2019 6:39 pm, edited 1 time in total.

User avatar
BigEd
Posts: 2567
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Simple Atom Clone Build Anywhere?

Post by BigEd » Thu Aug 15, 2019 6:39 pm

vincbr900 wrote:
Thu Aug 15, 2019 5:45 pm

Anti-Snow - does anyone have link to a writeup of this mod? I only found snippets
Have a look at this thread for the original and a recent update:
Last edited by BigEd on Thu Aug 15, 2019 6:41 pm, edited 2 times in total.

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

Re: Simple Atom Clone Build Anywhere?

Post by hoglet » Thu Aug 15, 2019 7:29 pm

Here's what the Atom Technical Manual has to say about PL8:
PL8.PNG
Here's the full document:
ATMb.pdf
(650.98 KiB) Downloaded 8 times
Dave

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

Re: Simple Atom Clone Build Anywhere?

Post by roland » Thu Aug 15, 2019 8:55 pm

If you consider to use a GAL for glue logic you might have a look at this: http://acornatom.nl/hardware/atinpc/atomhw-nl.html#0003

That is my Atom-in-PC board; I developed this in 1993. It is a board that goes into an 8 bit slot of a XT or AT PC and the hardware behaves like an Atom. With a special (DOS) terminal program you could communicate with this board and run Atom programs on it. The PC was the I/O for this Atom. It has almost everything you need for a simple Atom clone. Only the 8255 for keyboard and 6847 for video are missing (*) but you can simply add them to this design.

(*) Video was emulated by generating an NMI on the Atom-in-PC board and the NMI read the address and data of the last write operation and send those to the terminal program. This program "converted" the data to the CGA screen. So yes, it runs Snapper and other clear4 games :D

Just have a look at the diagrams, the site is in Dutch but Google can probably translate it....
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
Multiwizard
Posts: 1589
Joined: Wed Jan 11, 2012 9:03 pm
Contact:

Re: Simple Atom Clone Build Anywhere?

Post by Multiwizard » Thu Aug 15, 2019 9:41 pm

roland wrote:
Thu Aug 15, 2019 8:55 pm
the site is in Dutch but Google can probably translate it....
https://translate.google.nl/?hl=nl#view ... l=nl&tl=en


Greetings, Wim... :-)

User avatar
vincbr900
Posts: 7
Joined: Wed Aug 14, 2019 4:37 am
Location: San Diego, CA, USA
Contact:

Re: Simple Atom Clone Build Anywhere?

Post by vincbr900 » Sat Aug 17, 2019 1:29 am

Thanks for the super useful links and replies.

For the noise killer, any thoughts on running the 6502 at half speed of the 6847 as per option 2 below
http://forum.6502.org/viewtopic.php?f=4&t=1909&start=17

Cheers, Vincent

User avatar
oss003
Posts: 3054
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: Simple Atom Clone Build Anywhere?

Post by oss003 » Sat Aug 17, 2019 9:49 am

There was an autosync, noisekiller board developed in the past. It switches the CPU clock to half the 6847 clock without hanging the Atom. It's a Dutch article: www.acornatom.nl/atom_nieuws/1986/nr1/19861020.htm

Phill included this schematic in his RAMROM board.

The schematics looks like this.

autosync.png

Greetings
Kees
Last edited by oss003 on Sat Aug 17, 2019 10:18 am, edited 5 times in total.

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

Re: Simple Atom Clone Build Anywhere?

Post by roland » Sat Aug 17, 2019 12:30 pm

This circuit makes your 6502 run @ 1,79MHz so you need a 6502A, but that won't be a problem. Just keep in mind that some programs (especially games) do not always rely on the video flyback for their timing and will also run faster. For some games this is not directly a disadvantage but some games might suffer from this, e.g. Snapper. Also programs that use the VIA timers will run faster unless you modify. You can always switch back to 1 MHz but then the noise will re-appear.

So it's not a bad solution but it might impact your programs.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
vincbr900
Posts: 7
Joined: Wed Aug 14, 2019 4:37 am
Location: San Diego, CA, USA
Contact:

Re: Simple Atom Clone Build Anywhere?

Post by vincbr900 » Sun Aug 18, 2019 7:42 pm

Great Feedback, thanks everyone.

I found a clearer schematic below
https://www.4corn.co.uk/archive/diagram ... mputer.jpg

I have a couple of questions on address decoding since I don't have a real Atom to compare
  • For the 8k System rom IC20, is this a concatenation of the 4k integer basic rom (starting at 0xC000) and 4k kernel rom (starting at 0xF000)? I think I can use a 68764/66 24pin EPROM for this
  • For the BASIC Text ram, there seems a gap between the end of page Zero rams IC51/52 (0x03FF), and IC10/11. The Tech manual says this expansion RAM is mapped from 0x2800 to 0x3BFF, and 0x0400 is reserved for Eurocards. Does the Atom detect RAM in this space as contiguous for BASIC all the way to 0x7FFF? I was hoping to just map an 8K SRAM from 0x0000, ending at 0x1FFF?
Thanks, Vincent

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

Re: Simple Atom Clone Build Anywhere?

Post by roland » Sun Aug 18, 2019 9:18 pm

vincbr900 wrote:
Sun Aug 18, 2019 7:42 pm
I have a couple of questions on address decoding since I don't have a real Atom to compare
  • For the 8k System rom IC20, is this a concatenation of the 4k integer basic rom (starting at 0xC000) and 4k kernel rom (starting at 0xF000)? I think I can use a 68764/66 24pin EPROM for this
IC20 is indeed a concatenation of the basic and kernel rom. We used to modify it BITD and burn it into a 2764 eprom - on our extended memory board or with some flying leads because this had 28 pins. Since you're making a new design you can use this 2764 as well. If you need a few ... I have several spares for you.
vincbr900 wrote:
Sun Aug 18, 2019 7:42 pm
[*]For the BASIC Text ram, there seems a gap between the end of page Zero rams IC51/52 (0x03FF), and IC10/11. The Tech manual says this expansion RAM is mapped from 0x2800 to 0x3BFF, and 0x0400 is reserved for Eurocards. Does the Atom detect RAM in this space as contiguous for BASIC all the way to 0x7FFF? I was hoping to just map an 8K SRAM from 0x0000, ending at 0x1FFF? [/list]
The Atom does not detect any ram except at #2900. It assumes there is always ram at #8000 - #83FF because this is also video ram. In the reset-routine it checks for ram at #2900. If it finds ram then it sets the text pointer (?#12) to #29 otherwise at #82. The end of memory as well as other ram is not detected. It simply crashes or hangs if you execute (machine) code from non-existent memory.

You can map 8K from 0x0000 to 0x1FFFF but you need to modify the kernel (reset routine) to set the text pointer to #04 for example. And yes, the space between #400 - #1000 was reserved for euro cards but the only euro cart that I have ever seen in that space is the disc (or disk :mrgreen: ) controller at #A00. There is also an 40 column video card for the Atom in that memory block but AFAIK nobody ever used it. It's the same video card as the System 5 (so have I been told). O ... and beware that the floating point rom and some utility roms use workspace from #2800 - #28FF.

My advise is to use a contagious block of 32k from #0000 - #7FFF with perhaps a gap from #A00 - #AFF although there are ways to move the FDC to #BC48 (in the I/O space). 32k is a must for running many modern games on the Atom.
Last edited by roland on Sun Aug 18, 2019 9:20 pm, edited 1 time in total.
256K + 6502 Inside
MAN WOMAN :shock:

Post Reply