View this page "AtomMMC2 - The PL8 version"

73 views
Skip to first unread message

Sir Morris

unread,
Jun 18, 2009, 3:25:52 PM6/18/09
to BeeBeeEmEmSee
I've never had a member of the group before, Keith! Your name has
cropped up quite a few times in my atom searches, pleased to see you
on board. This is just supposed to be a collection point for random
tidbits, who knows one day there might be something good ;) Perhaps we
could get a discussion thread going..!

Click on http://groups.google.com/group/bbmmc/web/atommmc2---the-pl8-version?hl=en
- or copy & paste it into your browser's address bar if that doesn't
work.

Keith

unread,
Jun 20, 2009, 7:13:38 PM6/20/09
to BeeBeeEmEmSee
Nice to see someone exploring MMC for the Atom. I see that bit-banging
the bytes out is a major chore for the 6502. I noticed this when
adding a serial DAC to my Atom in FPGA. Even machine code was not fast
enough to play audio samples at CD rates (44100 Hz = 22 microseconds/
sample). So I created a small VHDL shift register module to clock the
bits out automatically, and joined this to the sound generator
modules.

Are you aware that the 6522 has a shift register, and if so are you
using it? If not, is there a good reason? I would read your code but
my time is scarce. I'll have a quick look at the 6522 data sheet and
see what pins are involved.

Keith

unread,
Jun 20, 2009, 9:38:17 PM6/20/09
to BeeBeeEmEmSee
Okay, after a look at your 6522 based source code here:

http://arduinonut.blogspot.com/2009/06/acorn-atom-rev.html

I can see that you were clocking out every bit, toggling the clock
line by software.

To use the 6522 shift register, you need pins CB1 and CB2 as clock and
data respectively.

These are both available on the Atom IC1, PL6/7 pins 12 and 11.

Check out http://www.westerndesigncenter.com/wdc/documentation/w65c22s.pdf
page 20-25.

CB2 can be input or output as required, but the SPI interface has
separate pins (MOSI and MISO).
Thus you cannot use it for both pins at the same time.

The circuit here: http://members.lycos.co.uk/mmbeeb/ uses CB2 for data
input and PB0 for data output.
If the MMC does not shift bits in and out at the same time, then
presumably one could add circuitry to switch direction as required.

Anyway, I believe using the 6522's SR would reduce the ten-fold speed
gap between the 6522 and PIC solutions, perhaps to the point where the
PIC does not merit being there.

Charlie Robson

unread,
Jun 21, 2009, 9:10:14 AM6/21/09
to bb...@googlegroups.com
Hi Keith,

nice to hear from you.

I knew about the SR even as I was hacking the bitbanged board together. I
was curious about using it but its clocking arrangement isn't compatible
with SPI mode 0, hence Martin M's arrangement. I'm familiar with MMBeeb, I
build them for people to make a little component money. His SPI code does
indeed rely on the fact that you can get away with single duplex. MMC in SPI
mode doesn't support multi-block transfers, where you send stop commands
during data reception, as far as I can see from the literature. I've been
known to be wrong though ;) Often :)

The PIC interface was born out of the fact that I want to make I/Fs for a
couple of friends who don't have the 6522 expansion in their Atoms (!).
Rather than source the socketry and chips, one of which now is completely
unavailable for a reasonable price, I thought I'd like to do something with
PL8. I started off with some decoding and an ls299 but then read a thread on
stairway to hell about someone interfacing a PIC in the BBC's speech
socket... It sounded fun :) Plus I will be adding extra functionality by
reading the state of the address lines when accepting data, I was thinking
of having the PIC decode PS2 mouse signals, handling serial comms and of
course the MMC transfers. So the PIC isn't the 1st attempt, rather a result
of all my work to date. I'm just starting out with these chips'n'things so
I'm feeling my way as I go.

Thanks for the links, there's some new stuff there for me.

/Charlie

Keith

unread,
Jun 22, 2009, 10:02:33 AM6/22/09
to BeeBeeEmEmSee
How much are 65C22 chips these days? I got mine for about $6 each from
Mike Naberezny at 6502.org.
Let's assume that is about £6 now the UK economy is up the creek
without a paddle. Or canoe.

The PIC16F77-I/P is £4.05 from RS
http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=4671432
So that is competitively priced.

I was thinking of implementing the SPI/MMC/SD interface in VHDL which
is fine for my FPGA Atom but not for real Atoms.
However, this could be put in a small CPLD.

The XC9536XL-7PCG44C is £2.22 from RS
http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=6260668

So that would be even more cost effective.

One might even use spare logic and pins for other jobs, like a PATA
interface glue logic.

Keith

unread,
Jun 22, 2009, 12:06:56 PM6/22/09
to BeeBeeEmEmSee
I see that others have already gone down the CPLD route:

http://web.inter.nl.net/users/J.Kortink/home/hardware/gommc/index.htm

The EPM3064ALC44-10 is £3.61 from RS
http://uk.rs-online.com/web/search/searchBrowseAction.html?method=searchProducts&searchTerm=545-8858

The FM1808-70 is £7.40 from RS
http://uk.rs-online.com/web/search/searchBrowseAction.html?method=searchProducts&searchTerm=FM1808-70-SG

The UKP isn't as bad w.r.t. the USD as I thought - so a $6 65C22 would
be £3.75.

The GoMMC is €75/$104/£63 so not dirt cheap but a bargain considering
the work to design it.

Sir Morris

unread,
Jun 25, 2009, 7:03:40 AM6/25/09
to BeeBeeEmEmSee
I've just about managed to get my head around micro controllers -
FPGA, CPLD and all the other programmable logic devices are a way
ahead of me right now :)

My main problem at the moment is that the Atom I use for development
is getting too much physical attention. It's becoming unreliable
mechanically and I'm afraid to carry on much more :(

Keith

unread,
Jun 26, 2009, 10:54:22 AM6/26/09
to BeeBeeEmEmSee
Programmable logic allows you to say exactly what you want the
hardware to do.
This avoids the headache of getting an off-the-shelf component (e.g.
6522/PIC) to do it.

In what way is your Atom unreliable?

I found the keyboard was the worst bit, the scanning was not often
enough so it missed some keys, and the cheap spring contacts in the
keyboard tend to oxidise over time. The oxide could be worn off by
enough key presses.

A better solution is to fit a USB comms module, mod the getchar/
putchar routines and simply talk to it through a PC terminal window.
That will save you a lot of re-typing and speed up your work a lot.

The other problem was the numerous socket contacts that oxidise over
time.
My Atari 800 only had no sockets, and it works fine.
It should not be too hard to replace all the 2114 chips with a couple
of modern SRAM chips.

I could give your Atom a serious upgrade for you. :->

How far away are you?

Sir Morris

unread,
Jun 26, 2009, 12:32:36 PM6/26/09
to BeeBeeEmEmSee

> In what way is your Atom unreliable?

How shall I count the ways :)

Well:

My 'best' Atom:
* has trouble restarting - I get a regular block pattern on screen.
break doesn't reset the thing. Once started it's pretty reliable
though.

My 'work' Atom:
* adding or deleting lines to a program corrupts memory
* random hangs and glitches
* occasional broken display

> A better solution is to fit a USB comms module, mod the getchar/
> putchar routines and simply talk to it through a PC terminal window.
> That will save you a lot of re-typing and speed up your work a lot.

I want to keep the machines unmodified. All the mods that I make plug
in or on. I don't mind soldering to legs of common ttl chips but
that's as far as it goes.

> The other problem was the numerous socket contacts that oxidise over
> time.

Yes, I've never seen such cheap sockets.

> It should not be too hard to replace all the 2114 chips with a couple
> of modern SRAM chips.

I've replaced the video ram with a 6264 on a daughterboard, documented
on arduinonut.

> I could give your Atom a serious upgrade for you. :->

A serious mending and I'd be interested ;)

> How far away are you?

I'm in the _other_ university town :)

/C

Keith

unread,
Jun 26, 2009, 10:54:12 PM6/26/09
to BeeBeeEmEmSee
Try replacing all the electrolytic caps for a start (especially the
one in the reset circuit). They age faster than any other component as
they dry out over time.

> I want to keep the machines unmodified.

I understand the sentiment. A workmate collects old radios and some
people hide new caps inside old shells, but he says they are not the
original items.

I had no qualms about modding mine when I first got it, so I don't
have any now.
As an engineer, half the fun is in tinkering and hot-rodding stuff.

I'm not the kind of guy who never takes toys out of their original
packaging, to preserve their collectors item value.

You will have to accept some modifications if you want a machine that
works.
There are several options.

a. Remove all (or most) of the sockets and solder the chips directly
to the PCB.
This gives the most reliability. It is still possible to replace
faulty chips by snipping the legs and unsoldering a detached leg at a
time.

b. Replace all sockets with turned-pin sockets. Much better than the
cheap tin spring sockets.
Downside is the cost can add up as there are many socket contacts.

c. Add a small daughter board that allows you to switch between using
the motherboard chips, and alternative chips on the daughter board.

d: Make a simple Atom clone that is sufficiently accurate to develop
the Atom peripheral hardware and software.
This would allow you to keep your real Atoms intact as museum pieces.
You might need to borrow a 6847 from them, but that is easily put back
in your real Atom.


> I've replaced the video ram with a 6264 on a daughter board,

I replaced my main RAM with a DRAM pack of my own design.
This made it much more reliable.

> A serious mending and I'd be interested ;)

You live near enough that postage is less than the cost of buying a
replacement Atom.

I'll have a think about option d. This may be the cheapest option.

KC

unread,
Jun 27, 2009, 2:05:04 PM6/27/09
to BeeBeeEmEmSee
Charlie,

I did also have some reliability problems with my old Atom.
I bought a new empty motherboard and installed all components myself.
The IC-sockets where the ones with turned pins and not with a spring.
Only the needed components were installed.

The main RAM #0000 - #7FFF was replaced by a 32kB x 8 RAM chip..
This way you don't have to install the address decoder IC's.

The Video RAM was replaced with the board as in your description and
soldered on the mainboard.
Also here you don't have to install the address decoder IC's.
A no-snow board was installed and works fine. This also has the
advantage that the processor runs at 1.79 mHz.

I mounted a small rack connected to PL7 to add the expansion boards
like a diskcontroller, 80 column card, mouse interface and I2C
interface.
On PL6 I mounted a board with 3 PC ISA connectors and an address
decoder which maps the PC I/O addresses #000 - #7FF to the Atom
addresses #B400 - #B7FF.
(Compatible with the emulator of Wouter Ras)

It was a stable system until I went experimenting with my
hardwarepointer interface, a board installed on the 6847 socket.
I should have replaced the 6847 socket with a decent connector
(thicker pins like the ones of a flatcable connector) because it
caused a lot of trouble with the turned pins socket.
An other possibility was to solder the board onto the main board but
it was an experimental board.

At the moment my problems are the hardwarepointer interface but will
replace the 6847 socket with a more reliable one for thicker and
langer pins.
Another problem is my diskcontroller board. Running at 1.79 mHz causes
errors. At 1 mHz I can load and save files but not format a disk.
I don't know the problem yet and that's why I am working on the SDROM.
This one works the same as the MMC ROM and can store 1023 diskimages
on a 128 mB SD-card.

Conclusion: All works fine until you go experimenting, but what's the
fun with an original Atom without experimenting!!
After a while experimenting you shoeuld reorganize your Atom and
upgrade the working things with a reliable solution.

Kees

Keith

unread,
Jun 27, 2009, 9:37:31 PM6/27/09
to BeeBeeEmEmSee
Kees van Oss? Fancy seeing you here! :-)

I agree with you suggestion to replace the main RAM.
This is more beneficial than replacing the video RAM.
If the video RAM fails, you might get a stuck character or screen.
If the main RAM fails, your programs crash.

One 32K RAM chip = 28 contacts. Socket = 71p:
http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=0813187

Twelve 1Kx4 bit chips = 12 x 18 pins = 216 contacts
Sockets = 58 p * 12 = 696p:
http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=0813143

Difference = 625p

So using a single 8-bit RAM socket saves enough money to buy a 32K RAM
chip for 132p:
http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=0538148

But I have dozens of these lying around with nothing to do...

I'd recommend running the 6502 at 1.79... MHz because it allows you to
use a single RAM chip and a single timing crystal, and gets no-snow as
a bonus. I'm sure Acorn would have done so if 6502 chips running at
that speed were as cheap as they are now. It messes up the tape timing
but who uses tapes these days?

> I don't know the problem yet and that's why I am working on the SDROM.
> This one works the same as the MMC ROM and can store 1023 disk images
> on a 128 MB SD-card.

Aha, another person working on the memory card front.

> what's the fun with an original Atom without experimenting!!

Agreed.
The original keyboard is just too poor quality.
And if the hardware is unreliable, then it stops being a useful object
and becomes a waste of space and time.

The hardware and software were designed to be modifiable.
You can re-vector the character I/O to routines that use a PS/2
keyboard or a USB module.

Once you have a USB link, you can copy and paste programs off the net.

This makes the memory card interface less useful, since the filing
system software takes more time than reading characters from the USB
module.




KC

unread,
Jun 28, 2009, 2:55:49 PM6/28/09
to BeeBeeEmEmSee
Hi Keith,

that's right, I am Kees van Oss. Long time no see. Are you still
using your Atom?

> > I don't know the problem yet and that's why I am working on the SDROM.
> > This one works the same as the MMC ROM and can store 1023 disk images
> > on a 128 MB SD-card.
>
> Aha, another person working on the memory card front.

I made a mistake in my last reply. My SDROM is based on the MMBEEB
ROM, I use the same commands for diskhandling.
On the SD-card are 1023 images of original Atom DOS disks with a
capacity of 100 kB.
The DOS is compatible with the original Acorn DOS and with extra
commands you can choose which diskimage is in drive 0-3
You can see a small preview on my site: http://home.hetnet.nl/~k.van.oss/download/sdrom.avi
This movie is taken a while ago and now most DOS commands are working.

I also found information on the net about an other MMC SPI-interface
for a 6522.
Have a look at André Fachat's site: http://www.6502.org/users/andre/csa/spi/index.html

I also programmed a sprite engine and the result can be seen on:
http://home.hetnet.nl/~k.van.oss/download/sprite-demo.avi
http://home.hetnet.nl/~k.van.oss/download/bal-demo.avi
My goal is to write a new game for the Atom with nice graphics and a
good sprite engine.
It is on my wishlist, but this list is already very long!

Kees

KC

unread,
Jun 29, 2009, 3:56:38 AM6/29/09
to BeeBeeEmEmSee
I found some information about a 65xx compatible SPI interface with a
Xilinx XC9572.
Have a look at: http://sbc.rictor.org/io/SPI.html
You can even download the source files in the download section.

Kees

Sir Morris

unread,
Jun 29, 2009, 3:39:54 PM6/29/09
to BeeBeeEmEmSee
I like the idea of starting with a clean board. Now all I have to do
is find one :) I'd *love* an issue 5 machine.

Keith - If I was to run my Atom at 1.79mhz would that mean all games
which don't tie their loops to the vsync would suddenly become
unplayable? Not that many of them are actually playable to start
with ;)

Are you both aware that all the firmware for my mmc doodlings is
complete? It's just getting usability tweaks at the moment. Other than
that it's fully developed. I'd like the ability to use disk images
though, as I have quite a few. I've written code to dump the programs
from them but it's not quite the same. Kees - are you writing your
firmware in C or asm?

KC

unread,
Jun 29, 2009, 4:09:34 PM6/29/09
to BeeBeeEmEmSee


On Jun 29, 9:39 pm, Sir Morris <charlie_rob...@hotmail.com> wrote:
> I like the idea of starting with a clean board. Now all I have to do
> is find one :) I'd *love* an issue 5 machine.

Could be a problem nowadays.

> Keith - If I was to run my Atom at 1.79mhz would that mean all games
> which don't tie their loops to the vsync would suddenly become
> unplayable? Not that many of them are actually playable to start
> with ;)

My Atom is running at 1.79 mHz and all games are running ok.

>
> Are you both aware that all the firmware for my mmc doodlings is
> complete? It's just getting usability tweaks at the moment. Other than
> that it's fully developed. I'd like the ability to use disk images
> though, as I have quite a few. I've written code to dump the programs
> from them but it's not quite the same. Kees - are you writing your
> firmware in C or asm?

My sources are written in assembler.

Kees

Charlie Robson

unread,
Jun 29, 2009, 5:23:20 PM6/29/09
to bb...@googlegroups.com
> My Atom is running at 1.79 mHz and all games are running ok.

faster or just the same??

Keith

unread,
Jun 29, 2009, 9:22:15 PM6/29/09
to BeeBeeEmEmSee
Well, you _do_ have a clean board - under all the age-related crud.

PCB tracks don't wear out!

Sockets do corrode and electrolytics dry out.

Bite the bullet! Remove them, fit new electrolytics and either fit
turned-pin sockets or even better just solder chips directly to the
board.

Send it to me and I'll do it for you! :-)

Yes, it makes chips slightly harder to replace if they go bad but that
seldom happens.

Even if it does happen once a decade or so, the extra time replacing a
chip is nothing compared with the time wasted from a decade of
unreliability.

I worked for a company that used to use spring-leaf sockets for every
chip.
They eventually realised that most of their tech support problems were
due to socket contacts.
And that most TTL chips were nearly as cheap as the sockets.
So they changed to soldering most chips directly to the board and
using turned-pin sockets for chips that were expensive (like 68020
CPUs) or fitted by the user (EPROM and RAM).

> > Keith - If I was to run my Atom at 1.79 MHz would that mean all games
> > which don't tie their loops to the VSYNC would suddenly become
> > unplayable?

Well, everything will run 79% faster.
The CPU runs game code as fast as any other code.

Basically, software delay loops are generally regarded as bad
programming practice, because they cause exactly the kind of reasons
you mention.

If you have a game that becomes unplayable, then it is just badly
written code.

In practice, computer animation requires some intelligence.

You need to synchronise image generation with image display.

There is no point generating image frames faster than the frame
display rate.
Nobody will see them.

There is no point generating image frames slower than the frame
display rate - that will result in 'torn' frames that are partially
complete. Even Microsoft haven't got this into their heads yet - when
I click on a window and shake it about, I often see a lot of un-re-
drawn windows until the re-drawing software catches up.

The Atom had much less processing power, so could not afford to waste
it on partial screen updates.
Kees said his game ran okay, so chances are that yours will.

Maybe you can just use your old 1 MHz Atoms for the few badly written
games that give you a problem.

> > Are you both aware that all the firmware for my MMC doodlings is
> > complete? It's just getting usability tweaks at the moment.
> > Other than that it's fully developed.
> > I'd like the ability to use disk images though, as I have quite a few.
> > I've written code to dump the programs from them but it's not quite the same.

In well designed code I would expect to see the hardware-specific code
in its own module so that people only have to mod that module for
different hardware e.g. changing from a bit-bashed SPI port to a
hardware assisted SPI port.

KC

unread,
Jun 30, 2009, 2:53:46 AM6/30/09
to BeeBeeEmEmSee
> Kees said his game ran okay, so chances are that yours will.
>
> Maybe you can just use your old 1 MHz Atoms for the few badly written
> games that give you a problem.

Games are running 79% faster but if they become to fast, just switch
back to 1 mHz.
You have to synchronize the processor with the 1.79 mHz because
otherwise you will still get snow.
There is an article on the Atom Review CD in Atom News called 1.8 mHz
autoswitch from Peter Ehrlich which explains the theory.

> > > Are you both aware that all the firmware for my MMC doodlings is
> > > complete? It's just getting usability tweaks at the moment.
> > > Other than that it's fully developed.
> > > I'd like the ability to use disk images though, as I have quite a few.
> > > I've written code to dump the programs from them but it's not quite the same.
>
> In well designed code I would expect to see the hardware-specific code
> in its own module so that people only have to mod that module for
> different hardware e.g. changing from a bit-bashed SPI port to a
> hardware assisted SPI port.

I must say that all the timers also run 79% faster. I experienced that
with writing timing critical routines for infrared and RC5 code using
the timers in the 6522.
The solution was to check the processor speed, by writing values in
memory between 2 vsync signals.
You can check how many values are written which is a value for the
processor speed. Now you can load the right timer values (value times
1 or times 1,79)

A friend of mine did run his Atom at 2 mHz, which is no problem with a
65C02, but still had the no-snow problem.

Kees

Charlie Robson

unread,
Jun 30, 2009, 5:23:26 AM6/30/09
to bb...@googlegroups.com
>Well, you _do_ have a clean board - under all the age-related crud.

Heh yes, you're right :) I wonder if some of the problems are caused by
cracked tracks. Temperature inflicted expansion and contraction from the
years in the loft?

>Bite the bullet! Remove them, fit new electrolytics and either fit
>turned-pin sockets or even better just solder chips directly

Hmm. That's definitely worth considering. New caps. Like I said before - the
sockets in my Atom are rubbish. You can remove the chips with your
fingertips. That's not good...

>Send it to me and I'll do it for you! :-)

Hehe I might have an iss.5 coming (oh please, please!) that requires some
major TLC - would you still be interested??!

> Maybe you can just use your old 1 MHz Atoms for the few badly written
> games that give you a problem.

I realised the moment I posted that question just how stupid it was :)
Mostly it would just be a question of waiting at the right time.. Should be
pretty easy to hack them if I was bothered. Mainly I'm not, I like tinkering
and seeing the programs running. I never actually _play_ them.

>There is an article on the Atom Review CD in Atom News called 1.8 mHz
>autoswitch from Peter Ehrlich which explains the theory.

I have the CD - I bought a copy from Henk. There's some great stuff on
there. I think I need to learn Dutch though, the online translators aren't
that meaningful in most cases :)

> In well designed code I would expect to see the hardware-specific code
> in its own module so that people only have to mod that module for
> different hardware e.g. changing from a bit-bashed SPI port to a
> hardware assisted SPI port.

Indeed, my firmware took about 30 seconds to convert for my new interface.
The hardware dependent code was separated and has a clean interface. Luckily
for sd/mmc you only need card initialisation and byte transfer functions.
The new firmware detects which interface is available, defaulting to the
fastest :) You can switch manually, naturally.

I've been a professional programmer since 1989, working in games and
multimedia. It's only in the last 5 years that I've 'grown up' and work in a
proper industry ;)

>The solution was to check the processor speed, by writing values in
>memory between 2 vsync signals.

That's a nice solution.

OK so I'm being sold on 1.79mhz no-snow, all-sram mod. What needs doing,
step by step?

-C


Charlie Robson

unread,
Jun 30, 2009, 10:36:02 AM6/30/09
to bb...@googlegroups.com
Keith - do you have mmc capability yet?
Kees - what about you?

I'd like to come up with a standard for 'drivers' (being too strong a word
but it fits) for the devices. That way I can use your firmware with my
boards, and vice versa.

-C

KC

unread,
Jun 30, 2009, 10:49:22 AM6/30/09
to BeeBeeEmEmSee
> Keith - do you have mmc capability yet?
> Kees - what about you?

No, not yet but I only have 3 hardware dependend routines:

SD_INIT, initialize the SD-card
SD_SECTOR_R, Read sector (LB) A,X,Y (HB) in sectorbuffer
SD_SECTOR_W, Write sector (LB) A,X,Y (HB) in sectorbuffer

> I'd like to come up with a standard for 'drivers' (being too strong a word
> but it fits) for the devices. That way I can use your firmware with my
> boards, and vice versa.

Go ahead, I will change my SD routines if necessary.

Kees

Keith

unread,
Jun 30, 2009, 12:07:11 PM6/30/09
to BeeBeeEmEmSee
I have no MMC/SD card capability - I don't need it because I simply
cut and paste BASIC text through the USB port.

I could transfer binary files the same way if I had code to download
Intel hex files - I expect there is such code somewhere on the web.
That would also avoid all the many different file formats for many
different machines.

I have had next to no spare time to extend my 6502/FPGA project for
3.5 years now.

However, if/when I do, I would like to add support for SPI, MMC and
the two existing Atom memory paging schemes.

I'd also like to design an Atom with modern RAM chips, so that Atom
enthusiasts like yourselves can transplant their 6502/8255/6847 chips
and get a reliable thing to use. You have to leave behind the keyboard
(it sucks) and the printer port (parallel printers long obsolete). You
won't need all your old memory expansion boards because I can put huge
amounts on the new board. How much would you like? I have plenty of
RAM moules from old PCs, between 1 and 512 megabytes. I can add
sockets for sound chips like the AY-3-8910. How about a 6502 second
processor?

Give me a list of things you'd like, in order of priority.

KC

unread,
Jun 30, 2009, 1:53:02 PM6/30/09
to BeeBeeEmEmSee
> Give me a list of things you'd like, in order of priority.

Don't forget an ISA bus with MEM support. This way you can use 8-bit
PC-cards.
My ISA bus only supports I/O and I have a working modem, parallel/
serial card and a network card.
When the ISA bus supports MEM then you can add memory cards, graphic
cards, IDE controller or a soundblaster.
Maybe a USB or MMC card can be added.

You only have to write a driver to access the card.

Isn't it nice to have all PC cards as slaves of the Atom!
Let the Atom rule!!

Kees

Keith

unread,
Jun 30, 2009, 6:04:56 PM6/30/09
to BeeBeeEmEmSee
Hmm, ISA is as obsolete as the LPT port, but ISA lives on in the form
of the PC104 cards for embedded control systems.

You can buy PC104 bus cards but they are not cheap because the market
is way smaller than the desktop PC market.

I doubt if anyone makes ISA bus cards any more,

> Don't forget an ISA bus with MEM support.

> My ISA bus only supports I/O and I have a working modem, parallel/
> serial card and a network card.

> When the ISA bus supports MEM then you can add
> memory cards,

I can fit more memory in a a single chip socket than would fill an ISA
memory space.

> graphic cards,

If you are thinking of memory-mapped peripherals like a VGA card, the
6502 runs at a crawl doing monochrome graphics on a 256x192 screen. It
will take ages to do anything with a VGA screen.

> IDE controller

I suspect you could get every program ever written for the Atom into a
4G memory card, so what are you going to put into a 120G IDE drive? I
suppose you could store music. Would the 6502 be able to transfer data
fast enough? If not then I need to devise some DMA hardware. I think
I'm going to have to do that anyway, to play sampled audio.

> soundblaster.

Again, I think most people would struggle to find one these days.

I have an AY38910 and POKEY in my project VHDL.
I wonder how hard it would be to make a soundblaster clone?


> Isn't it nice to have all PC cards as slaves of the Atom!

The problem is that even the half length ISA cards are rather big.

I'd prefer to implement as much as possible in FPGA to keep the size
down.

The kind of 'wish list' I was thinking was things like colour LCD,
DMA, hardware multiplier, SPI, MP3 player, running the lot off a
mobile phone size Li-Ion battery pack, infra red controller for your
living room gadgets, genlock to external video for text overlay, more
colours per pixel, ethernet link, Bluetooth, digital radio, GPS, 3-D
accelerometer...

> Let the Atom rule!!

It is not going to take over the world but it has merits as a computer
you can build from bits you can buy today (though the 6847 might take
some work). It would be a educational project for students to learn
the rudiments of computer systems, cheap enough to risk tinkering
with, and sophisticated enough to do useful jobs. For example, it can
draw real-time graphs of a greenhouse temperature or a science lesson
experiment. Jobs where a 2x16 character LCD just isn't adequate, but a
PC-based solution is too expensive.

KC

unread,
Jul 1, 2009, 4:43:56 AM7/1/09
to BeeBeeEmEmSee
> I doubt if anyone makes ISA bus cards any more,

Ok, but I have a box full of cards taken out of old PC's so why not
use them insteed of let them collect dust.

> If you are thinking of memory-mapped peripherals like a VGA card, the
> 6502 runs at a crawl doing monochrome graphics on a 256x192 screen. It
> will take ages to do anything with a VGA screen.

The Atom has to do all pixel calculations itself, but a VGA card does
have a kind of API doesn't it?

> I suspect you could get every program ever written for the Atom into a
> 4G memory card, so what are you going to put into a 120G IDE drive? I
> suppose you could store music. Would the 6502 be able to transfer data
> fast enough? If not then I need to devise some DMA hardware. I think
> I'm going to have to do that anyway, to play sampled audio.

You are right, so lets add software and write some programs!!

> > Isn't it nice to have all PC cards as slaves of the Atom!
>
> The problem is that even the half length ISA cards are rather big.

You need a rack or something like that to mount the cards.
That takes a lot of space.
Maybe creating a Atom laptop is an idea. There's are some C64 guys who
did this.
Look at http://benheck.com/04-05-2009/commodore-64-original-hardware-laptop

> It is not going to take over the world but it has merits as a computer
> you can build from bits you can buy today (though the 6847 might take
> some work). It would be a educational project for students to learn
> the rudiments of computer systems, cheap enough to risk tinkering
> with, and sophisticated enough to do useful jobs. For example, it can
> draw real-time graphs of a greenhouse temperature or a science lesson
> experiment. Jobs where a 2x16 character LCD just isn't adequate, but a
> PC-based solution is too expensive.

Ok, lets stay with both feeds on the floor.

I had a look at the BBC micro archives and saw that there is an
upcoming event called Acorn World 2009.
After looking at the floor layout I saw reserved space for the AtoMMC
and AtoClone.
Are you and Charlie going to this event?

Kees

Charlie Robson

unread,
Jul 1, 2009, 5:00:15 AM7/1/09
to bb...@googlegroups.com
I'm going :)

It's a sub-section of 'retro reunited' - a gaming event held in the north of
England. The AtoClone is the work of Phill Harvey-Smith, a chap I met at the
last event which was the Retro Computer Museum Open Day.

As for mad expansions, I'm enjoying watching this but I'm going to remain
relatively 'pure'; any add-ons are going to have to be totally
non-destructive and suitable for bolting on to (nearly) any Atom that comes
my way. Hence the unsatisfactory but generic VIA mmc solution, and the PL8
version for unexpanded Atoms.

Having said that, if I can get the Iss.5 I have my mind on then it will be a
perfect candidate for stripping back to the metal...

/C

Keith

unread,
Jul 1, 2009, 7:10:54 PM7/1/09
to BeeBeeEmEmSee
PCs still have the shabbiest, cheapest enclosure design I know.
Even the smallest cases are way bigger than I need.

> Ok, but I have a box full of cards taken out of old PC's so why not
> use them instead of let them collect dust.

Because not most people have thrown away their ISA bus cards, they
can't be bought any more, there may not be documentation for the
particular cards people have, and so on.

For example, I have an ATI All-in-Wonder VGA card with TV tuner.
Can I run the drivers (without a PC)? No.
Can I write new drivers without technical docs? No.
Can I write get technical docs from ATI? No.
Can the 6502 run fast enough to run a driver? No.
Will using the old boards be quick or cheap? No.

It may be fun tinkering with your own junk box, but if you want to
design something that other people can replicate then you need a bill
of materials with items that other people can buy from Digikey, RS,
Maplin, etc. I can't say "go get brand X 512K ISA memory card". I can
say "go buy any 512K RAM chip faster than 70ns from any distributor".
The latter is easily found and cheap.

I realised this long ago and just pulled the generic chips from my
stock of old PC boards.
One PC memory board of 64 x 32Kx8bit RAM chips can provide a 'measly'
2MByte of RAM to a PC, but plenty of RAM to 64 small computer
projects. I remember when a 32K SRAM cost 40 UKP, which was a lot of
money in 1984. I reckon 133 UKP in today's money. Today I can buy them
for around 1.33 UKP.

You try telling that to the kids of today, and they won't believe
you...

> The Atom has to do all pixel calculations itself,
> but a VGA card does have a kind of API doesn't it?

They have their own ROM with tables of pointers to routines, but then
you'd have to get the 6502 running a virtual 8088. How slow do you
think that will be?

> You are right, so lets add software and write some programs!!

Have you got any applications in mind?

> Maybe creating a Atom laptop is an idea.
> There are some C64 guys who did this.

Hmm. Making your own case might be okay for a one-off trick but a lot
of work to replicate.
People setting it to work in embedded jobs won't want a fancy case,
just a cheap plastic box to insulate it.

> upcoming event called Acorn World 2009.
> After looking at the floor layout I saw reserved space for the AtoMMC
> and AtoClone.

I had not heard of it. It is a long way to go, and not buy/sell
anything.

I'd like to see what this AtoClone is.
I hope my Atom clone has not been outdone.
Is there a web page about it?
Google hasn't helped, due to certain companies making cars of the same
name.

Charlie, you can have the original unaltered machine or one that works
- reliably.

Its your call. Choose now.

If you make it work, then arguably it becomes more like the original.

If you have two machines, you can keep one unmodified in a glass
museum case to covet, and repair and upgrade the other.

Put it this way, if your wife's kidney failed, would you accept her
having a transplant so you have a useful functioning wife back, or
would you grumble that she isn't made of original parts?

I've got fillings in my teeth. Having a working set of teeth is better
than letting them rot into useless stumps.

If it ever becomes possible to transplant my soul into a new body when
I'm old, I'm up for that too!

By the same token, I don't care that my FPGA Atom has absolutely no
original parts.
It behaves exactly like an atom, only much better.
Good enough for me!
The logic description describes the essence of the Atom.

All computers start as a mental idea of how they are going to work.
The actual components are just the physical implementation.







Keith

unread,
Jul 1, 2009, 8:06:20 PM7/1/09
to BeeBeeEmEmSee
One might consider a reverse Turing Test.

If it is indistinguishable from an Atom computer from the point of
view of the user and the 6502 and the Atom firmware, then for
practical uses it is near enough the real thing.

KC

unread,
Jul 2, 2009, 3:01:12 AM7/2/09
to BeeBeeEmEmSee
In my opinion there are 2 things:

1. Design hard- and software that can be used by many people
2. Design your own hard- and software just to discover how things work

I was a member of the Dutch Atom Club for 20 years and this has always
been a point.
People designed hardware like memory boards, ROM switch boards, 80
column board, MDCR board, Atom-in-PC board which were professionally
manufactured and distributed by the club.
On the other hand people were experimenting with all kind of other
techniques and hardware like a modem, a multi-paged video display,
using a plotter, a SP0256 speech synthesizer, etc

In the 80's and early 90's there was a market for common hardware and
it paid of to manufacture the boards professsionally in reasonable
amounts.
After the 90's the Atom Club got smaller and smaller and only the die-
hards stayed.

For me, I like experimenting and figuring out how hardware and
techniques work. So my creations are not made for a lot of people but
only for me understanding the hard- and software.
The fun for me with most projects was figuring out how it works and
trying to get it work in stead of what's the use of it.
I have a lot of projects stored somewhere which are not used anymore
like a light-pen to point something on the monitor, an SP0256 speech
synthesizer, an I2C interface with phone card-reader and several
displays, an infrared receiver, etc
I like it and publish my findings on the net for other people to read
or use. If you want to design something for common use, maybe 5-10
people are interested and that is an optimistic guess.
Let's be honest, who wants to buy or use an Atom nowadays. My kids
toys have more memory installed are processing things a lot faster.
Most people who have an Atom did expand that in many ways so there
must be made some modifications to use new hardware.
People who are watching Atomic activities do this for nostalgic
reasons.

Do not misunderstand me, I like all activities on the Atomic front and
are very pleased that other Atom fans like me exists.
I also encourage people to buy or use an Atom. The more people, the
more fun!!

> I'd like to see what this AtoClone is.
> I hope my Atom clone has not been outdone.
> Is there a web page about it?
> Google hasn't helped, due to certain companies making cars of the same
> name.

Does Phill have a site??

Keith

unread,
Jul 2, 2009, 12:08:38 PM7/2/09
to BeeBeeEmEmSee
There is a show called Scrapheap Challenge, where the game is to make
something marvellous from the bits in a scrapyard. The same game can
be played by oneself with one's own personal scrap box.

A variation of the game is to allow any component one can easily buy,
so that others can replicate one's result.




> Let's be honest, who wants to buy or use an Atom nowadays.

A real one is bulky, unreliable, needs around 3A @ 5V, and has very
little memory.

A reliable replica the size of a beer mat with loads of memory and
taking much less power, that is a useful thing that people could want.

> My kids
> toys have more memory installed are processing things a lot faster.

True but they are not easily hacked into doing anything else.
A mobile phone might be more powerful but few would risk soldering
their expensive iPhone into things.
Plus the enormous effort reverse engineering it. The manufacturers do
not publish technical manuals. They are full of SM BGA chips that are
impractical to tinker with.

> Most people who have an Atom did expand that in many ways so there
> must be made some modifications to use new hardware.
> People who are watching Atomic activities do this for nostalgic
> reasons.

True but a replica Atom is a lot more sophisticated than say a BASIC
Stamp, and a lot of people buy those for their applications.

Say you are a teacher and you want to show how some measurement varies
over time.
You could get a PC, some USB ADC boards, a Microsoft Windows Compiler,
learn to write a Windows program, etc. Or you could get a beermat Atom
plotting a graph in a few minutes. It should be cheap enough to lend
to kids to do a simple homework computer project at home.

Sir Morris

unread,
Jul 3, 2009, 12:18:37 PM7/3/09
to BeeBeeEmEmSee
@Kees - I love your outlook!

@ Keith:

>If you make it work, then arguably it becomes more like the original.

Very very good point.

>If you have two machines, you can keep one unmodified in a glass
>museum case to covet, and repair and upgrade the other.

You're winning me over. I don't need showroom fresh, just something
that looks like an atom and works like an atom.

>Put it this way, if your wife's kidney failed, would you accept her
>having a transplant so you have a useful functioning wife back, or
>would you grumble that she isn't made of original parts?

LOLOLOL

>The actual components are just the physical implementation.

True. On reflection I occupy a middle ground. I want a reliable,
upgraded Atom that I can tinker with. In its original case. Iss.5
preferably, the one with the nice keyboard. I don't care that it can't
keep up with my typing as I port stuff over using mmc. 1 ram chip
would be great, 1.79mhz would be appreciated. I don't want tape
support - the few tapes I have are now unreadable.

I won't go as far as fpga or USB, these are too far advanced for my
beginner-ish skills :) I need to be able to 'own' the mods.

So let's start with the preposition that I have an atom which isn't
working. The aim it to get it to a nice reliable working state with a
few enhancements.

Where to start? I'm fairly handy with an Iron as you can see from my
work shown on arduinonut. That said I'm slightly nervous of
desoldering anything as I don't want to lift any tracks..

/C

Sir Morris

unread,
Jul 3, 2009, 12:19:11 PM7/3/09
to BeeBeeEmEmSee
I've invited Phill over - the AtoClone chap. Hopefully he'll drop by
at some point.

/C

Keith

unread,
Jul 3, 2009, 7:47:36 PM7/3/09
to BeeBeeEmEmSee
> You're winning me over.

Finally...

Aesop has a fable that illustrates my point:
http://www.aesops-fables.org.uk/aesop-fable-the-miser-and-his-gold.htm

A thing only has value if it is used.

Otherwise you might well slaver over a photograph of it.

The silicon chips have next to no value on their own.
The case is cheap plastic.
The PCB is the same fibreglass other PCBs are made of.
The sockets are the same as today's sockets, only with decades of
corrosion.

It is not a unique thing like the Mona Lisa.
Nor even rare like a Gutenberg Bible.
The true value is in the content, not the physical media.
There is absolutely no worthwhile benefit to owning a bible/Torah/
Koran written by Jesus/Abraham/Mohammed himself, if you can't/don't
understand the fundamental principles of good behaviour to your fellow
human. Even I can see that as an atheist (thank God!).

> I don't need showroom fresh, just something
> that looks like an atom and works like an atom.

You already have two with the 'looks' and none that work.

Working unreliably hardly counts as working IMO.

Get one working and compromise on the looks.

> >Put it this way, if your wife's kidney failed, would you accept her
> >having a transplant so you have a useful functioning wife back, or
> >would you grumble that she isn't made of original parts?
>
> LOLOLOL

She'd probably welcome a bit of chest enhancement into the bargain.

> True. On reflection I occupy a middle ground.

There is an old Sicilian saying that was recently made up.
"He who sits on the fence, gets splinters up his ass!"

> I don't care that it can't keep up with my typing as I port stuff over using MMC.

Running thousands of bytes of SPI/MMC/FAT code is far less 'original'
than reading/writing single characters to a USB module. The USB
modules look as simple as a readable 8-bit latch.

> 1 RAM chip would be great
> 1.79 MHz would be appreciated.
> I don't want tape support
> the few tapes I have are now unreadable.

You might want it for reading tapes that are readable, so you can
convert them to web-storable files.

> I won't go as far as fpga or USB, these are too far advanced for my
> beginner-ish skills :)
> I need to be able to 'own' the mods.

You don't 'need', you just 'want', and the machine doesn't care either
way so why should you?

> So let's start with the preposition that I have an atom which isn't
> working. The aim it to get it to a nice reliable working state with a
> few enhancements.
>
> Where to start? I'm fairly handy with an iron as you can see from my
> work shown on arduinonut.

> I'm slightly nervous of desoldering anything as I don't want to lift any tracks..

If so then you are not really that handy.

Tracks lift when they are heated too much or for too long.
These occur when not using temperature-controlled irons, overpowered
or underpowered.
A feeble iron has to be applied a long time until everything
surrounding the joint is heated.

If I ever lift a bit of track I simply repair the connection with a
bit of copper wire.
The circuit is fixed, neatly, the computer's happy, I'm happy.

Even manufacturers like Acorn had to add a bit of wire before shipping
some products, to fix hardware bugs.

Prime

unread,
Jul 4, 2009, 12:57:30 PM7/4/09
to BeeBeeEmEmSee


On Jul 3, 5:19 pm, Sir Morris <charlie_rob...@hotmail.com> wrote:
> I've invited Phill over - the AtoClone chap. Hopefully he'll drop by
> at some point.

And that's now....

Btw I think someone must have miscopied at some point, I tend to refer
to my clone as AtomClone,
somehow the m got dropped and then copy and paste repeated :)

A short description of the AtomClone for those that wanted it :-

The clone consists of 3 boards as follows :

CPU: This board has the 65x02, 8255, 128K flashrom, 32K static ram and
a small 9572PC44 CPLD.
The CPU board is capable of being used with either an original 6502 or
a newer WD65C02, the clock
oscilator module is socketed and changeable, and can run the whole
system at 12MHz if you are
using the correct components, WD65c02, WD65c22, NEC D71055, the latter
is an 8255 compatible
chip that will run at greater than 4MHz.

Video & I/O: This board has the 6522, 6847 plus video output
transistors, a 32K ram (wired as 8K) ,
a 9572PC84 PLCC which manages the interface between the video RAM bus
and the CPU bus,
handles the latching for the integrated ROMbox, by switching the upper
address lines on the
CPU board ROM.

Keyboard & Tape: This board has an AVR microcontroler and a Zarlink
crosspoint switch, this is
used to connect to a standard PS/2 keyboard and converts the PS/2
scancodes into keypresses
on the crosspoint, which the standard Atom 8255/7445 then is able to
read, in this way no modifications
are required to the Atom rom. This board also has the analog circuitry
for the cassette interface.
I could also see this board maybe hosting the PIC based MMC interface
that Charlie is developing,
though if done in the correct way I may be able to use the already
existing AVR chip to perform a
similar function, as I have enough spare I/O lines, and could use a
couple of LS latches to interface
to the 6502.

Anyways hello all, just a little status update.

I've just finished asembling testing (and repairing) the V1.2 Video/IO
board so now the AtomClone,
will (mostly) fit in the Eurocard case that I have, and has integrated
bitbanged MMC interface.
Still to do is maybe a slight re-design of the Keyboard/Tape board,

There's a picture of the almost current version on the STH forums
here :-

http://www.stairwaytohell.com/sthforums/viewtopic.php?f=3&t=2371

Cheers.

Phill.

Keith

unread,
Jul 4, 2009, 2:07:06 PM7/4/09
to BeeBeeEmEmSee
Sounds good.

Essentially
- all the old 40-pin chips,
- all the small memory chips mopped into two big ones,
- all the small logic chips mopped into modest CPLD chips.

That is good, it means it is complementary to my FPGA project
rather than a replication.

The CPLD approach sets the challenge of designing with fewer
resources.

I have some 8K RAM chips for video memory if anyone wants them.

> Zarlink crosspoint switch,

Are those easy/cheap to get?

I saw a generic PS/2 to virtual matrix converter that used dual-port
RAM.
That might be equally uncommon but could be implemented with ordinary
RAM (two 2114s?) and some LS157 chips to multiplex the address lines.


> I could also see this board maybe hosting the PIC based MMC interface
> that Charlie is developing,
> though if done in the correct way I may be able to use the already
> existing AVR chip to perform a
> similar function, as I have enough spare I/O lines, and could use a
> couple of LS latches to interface
> to the 6502.

Yes, I think it makes sense to have the micro-controller do the MMC
and PS/2 work.
And any other odd jobs not done by the Atom already.

I suspect the microcontroller could do a lot more of the MMC work and
faster.
The AVR and PIC probably have lots of existing MMC/SD code written for
them, far than the 6502.

> http://www.stairwaytohell.com/sthforums/viewtopic.php?f=3&t=2371

I could not find a link to an image there.

Phill Harvey-Smith

unread,
Jul 4, 2009, 2:31:01 PM7/4/09
to bb...@googlegroups.com
Keith wrote:
> Sounds good.
>
> Essentially
> - all the old 40-pin chips,
> - all the small memory chips mopped into two big ones,
> - all the small logic chips mopped into modest CPLD chips.
>
> That is good, it means it is complementary to my FPGA project
> rather than a replication.

Indeed, my initial reason for starting the AtomClone was that I didn't
have an Atom, and they didn't come up very often on ebay, and where
expensive & hard to win when they did. I wanted to produce something
that was a copy that would be as close to the original as possible,
however minimizing component count is always good.

> The CPLD approach sets the challenge of designing with fewer
> resources.
>
> I have some 8K RAM chips for video memory if anyone wants them.

:) Well I have a truck load of 16K 32K and some 64K and 128K static ram
chips rescued from old 386/486/pentium boards :)

>> Zarlink crosspoint switch,
>
> Are those easy/cheap to get?

Not too hard, I got mine here :-

http://www.futurlec.com/ICSFZarlink.shtml

The one I used was an MT8816AE, originally bought them to make a PS/2 to
Dragon/CoCo keyboard interface, but also usefull for other retro
computers that expect a matrix.

> I saw a generic PS/2 to virtual matrix converter that used dual-port
> RAM.
> That might be equally uncommon but could be implemented with ordinary
> RAM (two 2114s?) and some LS157 chips to multiplex the address lines.

You could I suppose, or even a single 6116 1Kx8 + mux, but the MT8816 is
only $4.50, that's a couple of quid in Łs.....

>> I could also see this board maybe hosting the PIC based MMC interface
>> that Charlie is developing,
>> though if done in the correct way I may be able to use the already
>> existing AVR chip to perform a
>> similar function, as I have enough spare I/O lines, and could use a
>> couple of LS latches to interface
>> to the 6502.
>
> Yes, I think it makes sense to have the micro-controller do the MMC
> and PS/2 work.
> And any other odd jobs not done by the Atom already.

Indeed and as Charlie's code is well enough written it should be easy
enough to adapt to this setup, I could probably also make it use the
same I/O locations which would probably mean very little re-write needed.

> I suspect the microcontroller could do a lot more of the MMC work and
> faster.
> The AVR and PIC probably have lots of existing MMC/SD code written for
> them, far than the 6502.

Yes indeed, something I keep thinking about implementing for the Dragon,
but would be aplicable to a load of micros of that era, would be an AVR
that uses one of the FAT libraries to read and write image files but
present them to the host as if it where reading from disk, as I believe
MMBeeb does. The advantage of doing it this way is that the AVR can deal
with block sise differences etc, and could be used to overcome
restrictions like having to use special unfragmented files etc, which
would make the whole thing much more easily used.

>> http://www.stairwaytohell.com/sthforums/viewtopic.php?f=3&t=2371
>
> I could not find a link to an image there.

Odd, the image is at the bottom of the first post, displays
automatically when I click on the link.....

Cheers.

Phill.

--
Phill Harvey-Smith, Programmer, Hardware hacker, and general eccentric !

"You can twist perceptions, but reality won't budge" -- Rush.

KC

unread,
Jul 4, 2009, 4:08:58 PM7/4/09
to BeeBeeEmEmSee
Hi Phill,

nice that you joined this discussion group.
I had a look at your picture of the Atomclone system and it looks
great!

I have a question for all members: Is it possible in Basic or C to
write/read a sector from a SD-card?

The reason for asking is the way I programmed my SDROM. It can access
1023 disk images, of original Atom DOS disks with a capacity of 100kB,
on a SD-card, fully compatible with Atom DOS, but I read/write
directly to or from sectors on a SD-card. The SD-card is not FAT
compatible and can only be used in an Atom with the SDROM. In my
opinion this is not a problem because you can use more than 1 SD-
cards. The hardware will be 'Charlie' compatible so without any
problem you can use the AtoMMC rom.

Copying images to the SD-card can easily be done with an Atom with DOS
controller, but when you do not have a disk controller installed you
need a PC with a special program to read-write SD-card sectors. To get
a disk image will not be a problem because most emulators use disk
image files. The PC-program has to read the disk image file and save
it to the SD-card.
Can this be done?

Kees

KC

unread,
Jul 4, 2009, 4:17:29 PM7/4/09
to BeeBeeEmEmSee
If you have some tapes with software, just connect your tape recorder
to your PC and record the tape as a wav file.

Wouter RAS has a tool called AtomTape to convert wav-files into
program files with a header.

You can use the standard COS commands to load a file in the Mess
emulator and a wav file is played instead of starting your tape
recorder.

Kees

Phill Harvey-Smith

unread,
Jul 4, 2009, 4:54:38 PM7/4/09
to bb...@googlegroups.com
KC wrote:
> Hi Phill,
>
> nice that you joined this discussion group.
> I had a look at your picture of the Atomclone system and it looks
> great!

Cheers, though the board is a bit scrappy, and home made looking close
up, but then it works, perhaps I'm too much of a perfectionist :)

> I have a question for all members: Is it possible in Basic or C to
> write/read a sector from a SD-card?

[Snip!]

> Copying images to the SD-card can easily be done with an Atom with DOS
> controller, but when you do not have a disk controller installed you
> need a PC with a special program to read-write SD-card sectors. To get
> a disk image will not be a problem because most emulators use disk
> image files. The PC-program has to read the disk image file and save
> it to the SD-card.
> Can this be done?

Yep should be able to be done, though how you go about it depends on
your operating system. I'll asume some form of NT based Windows for now
(NT/2K/XP etc). Basically you have to open a file to the device using
windows system calls and then you can just read and write blocks of 512
bytes from the disk. I've not done this in C, but have done it in
Delphi, but the principle should be much the same.

You can even use this method to make images of single density Atom/BBC
disks if your floppy controler supports that, however to do this you
will need fdrawcmd from : http://simonowen.com/fdrawcmd/

If your OS is Linux (or some other unixlike os), then you can just use
stdio to open /dev/whatever_your_card_is and then just use fread/fwrite.

Keith

unread,
Jul 4, 2009, 6:37:07 PM7/4/09
to BeeBeeEmEmSee
Yes, I reckon that a lot of the eBay trade in 'collectables' is just
swapping money for the right to store junk.
Especially if the item isn't working.

> > I have some 8K RAM chips for video memory if anyone wants them.
> I have a truck load of 16K 32K and some 64K and 128K static ram
> chips rescued from old 386/486/pentium boards :)

You too eh? I have about 4 PCs worth of them.

The high speed should be good for video applications.

> >> Zarlink crosspoint switch,
> the MT8816 is only $4.50, that's a couple of quid in £s.....

That's reasonable.

>> [micro doing more jobs]

Doing it for more old machines sounds a great idea, saving a lot of
software work.

I'd say that was the right approach for 'real' machines.

For my FPGA machine, I want to get as much in the one chip as possible
so putting an AVR in there is not economical of resources. That case
would justify putting the MMC code in the 6502 system. Still, if the
code is written in C that will make it easier to port. One can then
turn the speed-critical bits into 6502 assembly and/or add VHDL
hardware assistance (e.g. checksum calculations).

> Odd, the image is at the bottom of the first post, displays
> automatically when I click on the link.....

Maybe my Linux machine is to blame.
I'll see what Vista shows.


Keith

unread,
Jul 4, 2009, 6:37:16 PM7/4/09
to BeeBeeEmEmSee
Yes, I reckon that a lot of the eBay trade in 'collectables' is just
swapping money for the right to store junk.
Especially if the item isn't working.

> > I have some 8K RAM chips for video memory if anyone wants them.
> I have a truck load of 16K 32K and some 64K and 128K static ram
> chips rescued from old 386/486/pentium boards :)

You too eh? I have about 4 PCs worth of them.

The high speed should be good for video applications.

> >> Zarlink crosspoint switch,
> the MT8816 is only $4.50, that's a couple of quid in £s.....

That's reasonable.

>> [micro doing more jobs]

Doing it for more old machines sounds a great idea, saving a lot of
software work.

I'd say that was the right approach for 'real' machines.

For my FPGA machine, I want to get as much in the one chip as possible
so putting an AVR in there is not economical of resources. That case
would justify putting the MMC code in the 6502 system. Still, if the
code is written in C that will make it easier to port. One can then
turn the speed-critical bits into 6502 assembly and/or add VHDL
hardware assistance (e.g. checksum calculations).

> Odd, the image is at the bottom of the first post, displays
> automatically when I click on the link.....

Charlie Robson

unread,
Jul 4, 2009, 6:48:01 PM7/4/09
to BeeBeeEmEmSee

> I have a question for all members: Is it possible in Basic or C to
> write/read a sector from a SD-card?

Absolutely. My 1st sector was read from Atom basic. It's a very simple
protocol based on commands.


> Copying images to the SD-card can easily be done with an Atom with DOS
> controller, but when you do not have a disk controller installed you
> need a PC with a special program to read-write SD-card sectors. To get
> a disk image will not be a problem because most emulators use disk
> image files. The PC-program has to read the disk image file and save
> it to the SD-card.
> Can this be done?

Yes. I have written a program which dumps a card for use with an emulator.
Writing is simple too. Linux would be better than windows as the 'simple'
win32 api has sector 0 mapped to the 1st sector of the active partition. MMC
access gives you absolute sector 0. Simple enough to code around, though.

C

Keith

unread,
Jul 5, 2009, 9:42:04 AM7/5/09
to BeeBeeEmEmSee
The image appears under Vista, using Explorer or Firefox.
So it is something to do with Linux.

Anyway, now that I see it, I applaud it.

Where did you buy the 6847 chip?

Phill Harvey-Smith

unread,
Jul 6, 2009, 3:41:41 AM7/6/09
to bb...@googlegroups.com
Keith wrote:
> The image appears under Vista, using Explorer or Firefox.
> So it is something to do with Linux.

Humm odd, I'll check it on my Linux system later, but it should be ok,
it's justa jpg, what browser where you using on Linux ?

> Anyway, now that I see it, I applaud it.

Cheers. The latest version is a bit neater, as I now have a box for it :)

> Where did you buy the 6847 chip?

Well, I had a couple of spares as one of my other retro passions is
Dragons/CoCos, which also use the 6847, but I do remember getting some
spares from http://www.arcadecomponents.com (I think).

Charlie Robson

unread,
Jul 6, 2009, 4:08:10 AM7/6/09
to bb...@googlegroups.com
Ebay have some: item #220236576930

It's a US auction. The price seems a bit high, though how much are hens
teeth nowadays? I have some relatives coming over from the states next
month, which would save some postage & customs involvement.

A friend of mine bought a replacement from some fella in Bulgaria. I have
the envelope here if anyone can speak bulgarian and would like his phone
number..! I can probably get his seller ID.

I was wondering at the time whether a stockpile of these would be
worthwhile...

/C


Keith

unread,
Jul 6, 2009, 7:07:58 AM7/6/09
to BeeBeeEmEmSee
> it's justa jpg,
Yes, but one called up by some php or Java code I think.
View the page source.

> what browser where you using on Linux ?
Firefox

> The latest version is a bit neater, as I now have a box for it :)

Show us! :-)

> Well, I had a couple of spares as one of my other retro passions is
> Dragons/CoCos, which also use the 6847,

> http://www.arcadecomponents.com

Yes, I'd found Arcade Components through Google but this and a lot of
their items are "on back order" but I'd guess they just don't have any
and won't order any until they get some interest. It begs the question
"Where do they order them from?".

There are a lot of retro components I'd buy but all the interesting
ones are not in stock:
http://www.arcadecomponents.com/catalog/item/2243545/1687607.htm
(6847)
65C22,65C02,6809E,68B09E,POKEY,TIA, Sinclair ZX81 ULA.
In stock:
68B09, Apple 344-0041 IWM (Disk Controller), ANTIC, CTIA.

I don't know exact figures but I'd guess most of their hard to get
items are not in stock.
I can get the easy to get items elsewhere.

The 6847 supply is almost dry so it makes my work cloning the logic
worth while.
If I produce replacements, there are only about two significant
machines that used it (the Atom and the CoCo) so might as well clone
as much of them as practical. The Atom has been done, CoCo should not
be hard - mainly a change of CPU and firmware.


Keith

unread,
Jul 6, 2009, 7:08:09 AM7/6/09
to BeeBeeEmEmSee
> it's justa jpg,
Yes, but one called up by some php or Java code I think.
View the page source.

> what browser where you using on Linux ?
Firefox

> The latest version is a bit neater, as I now have a box for it :)

Show us! :-)

> Well, I had a couple of spares as one of my other retro passions is
> Dragons/CoCos, which also use the 6847,

Phill Harvey-Smith

unread,
Jul 6, 2009, 2:23:05 PM7/6/09
to bb...@googlegroups.com
Keith wrote:
>> what browser where you using on Linux ?
> Firefox

Humm works ok here on my gateway box SuSE 10.0, Firefox 2.0.10.0

>> The latest version is a bit neater, as I now have a box for it :)
>
> Show us! :-)

Ok try here :-

http://protein.bio.warwick.ac.uk/~phillhs/Atom/

First 3 are of the AtomClone, I have on order a box the same size but
higher which should allow me to get the keyboard PCB in too....

The last 2 are an internal RAM replacement (maxes out bottom ram to 32K,
but with a hole in $0A00-$0AFF incase you have a disk interface), the
flash ROM on there is banked into the $A000-$AFFF area by writing to
$BFFF, this emulates the ROMbox emulated by mess.

The above has cirtainly made my second Atom run a little better, it's
stable now, was completely flakey with the 2114s, if only it had a fully
working keyboard, it's an issue 4, and it looks like the plastic was
attacked with a soldering iron by a previous owner...

The Issue 5 is fine tho...and the keyboard is better :)

>> Well, I had a couple of spares as one of my other retro passions is
>> Dragons/CoCos, which also use the 6847,
>
>> http://www.arcadecomponents.com
>
> Yes, I'd found Arcade Components through Google but this and a lot of
> their items are "on back order" but I'd guess they just don't have any
> and won't order any until they get some interest. It begs the question
> "Where do they order them from?".
>
> There are a lot of retro components I'd buy but all the interesting
> ones are not in stock:
> http://www.arcadecomponents.com/catalog/item/2243545/1687607.htm
> (6847)
> 65C22,65C02,6809E,68B09E,POKEY,TIA, Sinclair ZX81 ULA.

You do know that you can get modern replacements for the 65C02 and 65C22
made by the western design centre ? I got mine from Coltec Ltd, just
email col...@aol.com and ask for a quote.....

Humm I think I had the last ZX81 ULAs.. to repair a couple of dead ones
I had :)

Jameco have some 6809E/68B09E :-

http://www.jameco.com/webapp/wcs/stores/servlet/ParametricSearchResultsView?langId=-1&storeId=10001&catalogId=10001&jameco_page=46&drill_parents=category_root%24%2410%24%241065&drill_children=10%24%241065%24%24106540&drill_displays=ICs%20%26%20Semiconductors%20%2F%20Microprocessors%20%2F%20Motorola%206800%20Series

I have bought from them in the past and they where ok to deal with...

> 68B09, Apple 344-0041 IWM (Disk Controller), ANTIC, CTIA.
>
> I don't know exact figures but I'd guess most of their hard to get
> items are not in stock.
> I can get the easy to get items elsewhere.

That would figure, I guess they're hard to get for everyone.

> The 6847 supply is almost dry so it makes my work cloning the logic
> worth while.
> If I produce replacements, there are only about two significant
> machines that used it (the Atom and the CoCo) so might as well clone
> as much of them as practical. The Atom has been done, CoCo should not
> be hard - mainly a change of CPU and firmware.

Yeah that should be doable I think someone on the CoCo mailing list has
done a CoCo3 in FPGA, now if there where a modern replacement for the
SAM and the GIME that would be really cool :)

Keith

unread,
Jul 6, 2009, 9:09:19 PM7/6/09
to BeeBeeEmEmSee
The case looks like mine.
I think the Eurocard -compatible extrusions are great.

> The last 2 are an internal RAM replacement

Nice. I would have had holes for a 0.6" pitch 32K RAM as well, but I
think one could get round that by pigy backing the Flash ROM.

> completely flakey with the 2114s

It's all those socket contacts.

> You do know that you can get modern replacements for the 65C02 and 65C22
> made by the western design centre ?

Yes, I got some chips from Mike Naberezny of 6502.org

> Yeah that should be doable I think someone on the CoCo mailing list has
> done a CoCo3 in FPGA,

Someone has got a 6809 in VHDL - is that in the design as well?

I try to strike a balance - FPGA chips big enough to support the VHDL
6809/68000 tend to be significantly more expensive than CPU chips one
can still buy.

> a modern replacement for the
> SAM and the GIME that would be really cool :)

I'll check it for feasibility.

Keith

unread,
Jul 6, 2009, 9:09:38 PM7/6/09
to BeeBeeEmEmSee
The case looks like mine.
I think the Eurocard -compatible extrusions are great.

> The last 2 are an internal RAM replacement

Nice. I would have had holes for a 0.6" pitch 32K RAM as well, but I
think one could get round that by pigy backing the Flash ROM.

> completely flakey with the 2114s

It's all those socket contacts.

> You do know that you can get modern replacements for the 65C02 and 65C22
> made by the western design centre ?

Yes, I got some chips from Mike Naberezny of 6502.org

> Yeah that should be doable I think someone on the CoCo mailing list has
> done a CoCo3 in FPGA,

Someone has got a 6809 in VHDL - is that in the design as well?

I try to strike a balance - FPGA chips big enough to support the VHDL
6809/68000 tend to be significantly more expensive than CPU chips one
can still buy.

> a modern replacement for the
> SAM and the GIME that would be really cool :)

af...@aurigae.demon.co.uk

unread,
Jul 7, 2009, 6:49:36 AM7/7/09
to bb...@googlegroups.com
Quoting Keith <keith.ho...@googlemail.com>:

>
> The case looks like mine.
> I think the Eurocard -compatible extrusions are great.

Indeed, cirtainly will make it more um 'transportable', and less prone
to having coffee spit on it :)

>> The last 2 are an internal RAM replacement
>
> Nice. I would have had holes for a 0.6" pitch 32K RAM as well, but I
> think one could get round that by pigy backing the Flash ROM.

That should be easily possible, to add holes for a 0.6, and if you do
it right you only need 3 rows of pins. However in this case I was
trying to keep the width of the board down to the width of a Eurocard,
so that I could get two onto a Eurocard, besides I have many more 0.3"
rams.... 0.6" would however allow me to use a FERAM...turn the machine
on, type old and restore the last in memory program.....

>> completely flakey with the 2114s
>
> It's all those socket contacts.

Almost cirtainly, the 2114s where prety loose, and I think the sockets
Acorn used where a bit crap :(

>> You do know that you can get modern replacements for the 65C02 and 65C22
>> made by the western design centre ?
>
> Yes, I got some chips from Mike Naberezny of 6502.org

Ahh ok.

>> Yeah that should be doable I think someone on the CoCo mailing list has
>> done a CoCo3 in FPGA,
>
> Someone has got a 6809 in VHDL - is that in the design as well?

I can't remember if it's VHDL or Verilog, but yes IIRC it's basically
the whole machine.

> I try to strike a balance - FPGA chips big enough to support the VHDL
> 6809/68000 tend to be significantly more expensive than CPU chips one
> can still buy.

Indeed, and harder to work with, as for the most part they are fine
pitch surface mount components.

>> a modern replacement for the
>> SAM and the GIME that would be really cool :)
>
> I'll check it for feasibility.

Cool, looking at the SAM data sheet I have often thought it shouldn't
be too hard to replicate in Verilog or VHDL, after all it's really
just an intelegent bunch of counters. The GIME of course is more
complex than that as it contains the functionality of both the SAM and
the VDG, plus some additional logic too.

Cheers.

Phill.


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

Keith

unread,
Jul 7, 2009, 10:17:39 AM7/7/09
to BeeBeeEmEmSee
Hmm, FERAM sounds great, but remember to add power-fail write
protection so the 6502 can't write garbage as its power fails. Same as
you would for CMOS RAM. You might also add the option of using CMOS
RAM and a small backup cell.

The SAM mostly replicates counters already in the 6847, so the only
extra thing you need is the DRAM circuitry. You don't need that if
using an SRAM, and a 32K SRAM occupies about the same space as two 64K
x 4-bit chips.
Message has been deleted

Sir Morris

unread,
Jul 13, 2009, 10:31:48 AM7/13/09
to BeeBeeEmEmSee
What's needed in order to do the most basic 1.67Mhz/nosnow/SRAM mod?

af...@aurigae.demon.co.uk

unread,
Jul 13, 2009, 11:08:24 AM7/13/09
to bb...@googlegroups.com
Quoting Sir Morris <charlie...@hotmail.com>:

>
> What's needed in order to do the most basic 1.67Mhz/nosnow/SRAM mod?

Yeah, I'm interested in doing the nosnow mod too, could add it to my
already existing SRAM/Rombox board.

I would guess that the nosnow, would involve sourcing the PHI clock
from a divided down video clock ?

KC

unread,
Jul 13, 2009, 4:21:17 PM7/13/09
to BeeBeeEmEmSee
Hi guys,

I have added a page with information about the 1.79 mHz No-Snow
circuit.

Greetings
Kees

Keith

unread,
Jul 13, 2009, 7:15:52 PM7/13/09
to BeeBeeEmEmSee
Essentially you run the 6502 from same timing chain as the 6847.

The 6847 reads memory at 3.58...MHz/2 = 1.77... MHz max, and you just
allow the the two chips access on opposite phases of the cycle. I
didn't have any problems with this in FPGA, and the main hurdle with a
real Atom was finding a 2 MHz rated 6502 but most chips are tested at
twice their rated speed so most 1 MHz 6502s could be overclocked.
Modern CMOS 6502s should be able to run at 7.19 MHz easily.
Reply all
Reply to author
Forward
0 new messages