Acorn Atom 6502 tracer

emulators, hardware and classic software for atom + system machines
Post Reply
bprosman
Posts: 418
Joined: Sun Mar 29, 2015 11:27 pm
Contact:

Acorn Atom 6502 tracer

Post by bprosman » Wed Apr 29, 2015 10:00 pm

As a preparation in bringing my Atom to live again I was looking into this article : http://www.acornatom.nl/atom_nieuws/199 ... 903008.htm
If I didn't search well enough on this board apologies but I'm still interested in this design (maybe a bit tweeked to more modern components than the 82S23 or maybe a CPLD for all). Unfortunately the article "suffered" quite a bit from scanning making the schematics hardly readable. A lot is recognizable but the important parts (clock switching etc) isn't.
Are there better copies available somewhere or is this design redone already in a more modern version ?

Kind regards, Bram

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

Re: Acorn Atom 6502 tracer

Post by roland » Thu May 07, 2015 10:18 pm

I can make a new hi res scan of this page.
Please make sure that you read all the tracer articles because he wrote several of them. It would be a pity if you build the wrong version.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

bprosman
Posts: 418
Joined: Sun Mar 29, 2015 11:27 pm
Contact:

Re: Acorn Atom 6502 tracer

Post by bprosman » Thu May 07, 2015 11:09 pm

Hi Roland,

That would be great !!!
Thanks, and yes I will read all articles.
And it might be obvious I only need (would like to have) a HiRes scan of the working version :wink:

Kind regards, Bram

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

Re: Acorn Atom 6502 tracer

Post by Multiwizard » Fri May 08, 2015 6:46 am

Hi Bram and Roland,

I have a scanner and almost all the Atom Nieuws editions at hand so it is easy for my if anyone would like a scan of a page... :D


Greetings, Wim... :-)
Attachments
120STEP.SCH.PNG

bprosman
Posts: 418
Joined: Sun Mar 29, 2015 11:27 pm
Contact:

Re: Acorn Atom 6502 tracer

Post by bprosman » Fri May 08, 2015 8:34 am

Thanks Wim :-)

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

Re: Acorn Atom 6502 tracer

Post by hoglet » Fri May 08, 2015 8:49 am

I'm struggling a bit to understand this circuit.

Could someone summarize where the external signals connect to?
- FI-0 6502
- SYNC
- alfa
- start 6502 (P6-D4)
- stop 6502 (P6-D5)
- disable sync
- address detected

Dave

bprosman
Posts: 418
Joined: Sun Mar 29, 2015 11:27 pm
Contact:

Re: Acorn Atom 6502 tracer

Post by bprosman » Fri May 08, 2015 8:57 am

Hi Dave,

There is more to it, it also has an address detection circuit, its a whole article explaining it unfortunately in Dutch :
http://www.acornatom.nl/atom_nieuws/199 ... 903006.htm

I'm going through it now, hope I can answer your questions later.

Kind regards, Bram

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

Re: Acorn Atom 6502 tracer

Post by hoglet » Sat May 09, 2015 7:40 am

Hi Guys,

On the subject of 6502 tracers, I just stumbled across this old Elector article from 1985:
Elektor6502Tracer.png
Here's the full PDF:
Elektor6502Tracer.zip
(533.06 KiB) Downloaded 74 times
This works by generating an NMI whenever an instruction is executed from RAM.

Dave

bprosman
Posts: 418
Joined: Sun Mar 29, 2015 11:27 pm
Contact:

Re: Acorn Atom 6502 tracer

Post by bprosman » Sat May 09, 2015 8:50 am

Hi Dave,

What I understand from the Dutch article is that you select an address, that goes into a comparator and the moment you have a "hit" (address detected)it "freezes" the processor by means of "stopping" the clock in a certain state (Fi-0 = Phi0 by the way) . This state has to be a defined one (you just cant stop the clock) otherwise it will cause the internal dynamic registers not to be refreshed again. This give you the opportunity to trace around in the hardware with an Atom in a "frozen" state.
Did you see the other pages with the address detector and display ?

Maybe Roland or Wim have more insight / experience on this one, or maybe the original author might be still available ?

Kind regards, Bram

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

Re: Acorn Atom 6502 tracer

Post by hoglet » Sat May 09, 2015 9:59 am

Thanks Bram, I hadn't noticed the rest of the article.

Here' a very rough translation using:
- http://www.i2ocr.com/free-online-dutch-ocr

Geldrop, 21-05-1990.

Best Atonisten,

First, I want everyone who AIJN hardware tracer
has to offer after gebouwd,mijn apology. When my
system worked, which I was using my tracer to the
talks got, I'm n1. assumed that the
tracer worked perfectly. Nothing is less true! I've viz.
ONBEUUST NOT the data-sheet specifications of the 6502
Processor account!

foot note of the data sheet

... What a k1uns can not even read what clear
his nose is written that thinks intelligence everywhere
to have ....

In the circuit ready-line synchronization with low-Fi2
made to ASYRCHROON by a flip-flop again high normal
and makes it MUST NOT !!!

The Ready line may be made ONLY if low or high
til a rising edge or have already high Is !!!! By damage
and shame I have come here itself behind. Real hardware
Atomers me here have been made aware. for them
However, this also applies to forgive is that solution.

I HAVE NL. A COMPLETELY NEW STEPPER ONTHIKKELD NOW THAT PERFECT
WORKS IN ZOUEL SYNC MODE {INSTRUCTION CYCLE FOR USE
CYCLE) AND IN FI MODE (CLOCKPULBE FOR CLOCK PULSE) l! 1 !!

It is now possible to ZOHEL the OPCODE alder also
Operand view. !!! This therefore means that you are not alone
to see what address will be jumped but now you see
RAT happening there.

The new stepper operates viz. On the principle of
CLOCK STRETCHING.

With this I want to thank John Feron and Henk Bastings

for their much needed support I have from them may devel-
catch. Without their critical remarks I was never out of
vizieuze circle come true iK.weken in've turned around.

On the following pages describe the new
hardware tracer including schedules for the avid builder's
among us.

1.1 Why a new stepper circuit?

Why I have developed a new tracer is very simple.

The last tracer was not able to at ANY time
start !!!! By synchronously to the ready-line high'm
You in no way able to determine whether
ACTUAL started the processor is that ONE start pulse,

that has been given.

furthermore I was NOT able to precisely follow the processor
(Clock-pulse for clock-pulse).

This, for me, very important trace option was
I do not 90 degrees decisive to the helm 180 degrees
to run and develop a WHOLE NEW stepper. By
the many phone calls and difficult conversations with friends and
acquaintances suddenly the cry CLOCK STRETCHING. Herewith
means that you have the clock that controls the processor a
slightly slows causing the slow peripherals
chance to do what his desires are. That small
bit slow, I have of course to the extreme
extended and now I have made a clock control which I
the clock is not a little bit slow but 27 hours !!!!

As can be read in the data sheets of the 6502 processor
it is not possible to the clock-pulse on a lower frequency
frequency convert than 850 KHz, because the internal

DYNAMIC registers of the processor lose their values.
(Have I tried and true.) This is because the clock
remains low for too long so that the data is lost.
But what happens when the clock is too long HIGH
held? According to scholarly books, and I am really,
clock-stretching should not exceed 2.1 usec. take due
refresch data in dynamic registers. I'm so cocky
to try out what will happen if you DO the clock high
KEEP ... !!!!! And see here the truck with the processor ....

the processor state STIL ... the data will NOT be lost in the
registers because after 27 hours I start the processor again

(What idiot try this too!) And yes big Atomists ..
the processor will simply continue with the work he 27 hours
had previously quit ...... (hip hip hoeraaaaaaa ....)

After I discovered this truck was then the turn of

me to make a circuit which was driving the clock FIO.
After a lot of coffee and sleepless nights I have this job again
soundcard and the result is given below.

2.0 Explanation operation IC-74120 dual clock synchronizer / driver

If intro I will give to first a little explanation how
clock-ic 74120 works. In Figures 2,4 and 5 are the
see time-diagrannen of the control signals M, S1, and S2
of the IC. The principle is very simple (how is it possible
after such a story) ....

2.1 Processor start

at the clock input (clk-in) 1 or 2 Mhz signal presence
provided that is produced by the 4-de1er (741s393). The
control-signa1en M,81 and S2 care must now WHOLE
SYNCHRONOUS with c1ock input (clk} in the OUTGOING c1ock-
tio signal (CLK out) is generated for the processor.
If H and 81 are low and 82 is high, the output will
clock-pulse (CLK out} the inverted clock-pulse are,
which is presented to the input clock input (C1K-in).
---> Processor running at 1 or 2 HHZ .....

2.2 Processor stop

is now signal S1 is made high, it will then on the downward
flank of C1K-in INTERN the outgoing clock-pulse HIGH be
and high REMAIN ----> stops the processor ........ we do
So now, using CLOCK STRETCHING. At present there

So ALL the time to measure the entire circuit by example.
System buses and address decoding .... etc.

2.3 Processor start and stop

is example after 27 hours S1 weather layer is come, then it will internally
whole thing will be diverted sync. As low 81
is made, at the first transition of C1K-in

the clk-in will be forwarded to each layout so that the output
going clock will start the processor ----> Processor
working again at full speed. IE, the processor can thus stop
pen and start by only ONE signal to the ic high 9?
coat hook. How can we offer this signal is not quite
of interest. You can do this just an expensive PC or just a very
sinpel cheap schakelaartjell Internally controlled everything.

Note !!!!

The only thing that should NOT offering is
control-signa1en 20 nanoseconds AFTER clk-in
high to low. This is sometimes done then it is
not guaranteed that each layout is controlled IMMEDIATELY
A clock-pulse or later!

2.4 Timing of S1, S2 and M signals

To comply with this specification I make sure the
clock-in signal is divided into multiple clock-pulses which
each of which have a delay to each other. This am

I then able to control the IC in the right way.

The control signals S1,S2 and M are first to
flip-flop controlled by the signals pass through late to the IC
74120, if clk-in this issue the command -> correctly
by time clocks. This will therefore prevent
asynchronous signals at the WRONG time the 74120
control. By choosing this construction is control of
the ic has become completely independent of the way the
ic is controlled. At any time, the signals can now
are offered. clk-in itself ensures that the signals
NOT WRONG passed. This seems cumbersome, and
difficult but it is exactly according to the data
sheet specification and therefore ERROR!

2.5 Processor in Sync mode

In previous chapters I have tried to explain

I have been able to start the processor,
stop and start again. On the stepper now completely
fully utilize I'm going to stop the processor

if this is going to commit an opcode tetch (start of a

NEW instruction! 1.

As already beked is a signal to the 74120

controlled so that the processor will stop / start. Because of the now
8YNC-to-use signal from the processor as a trigger, it is
So the processor stopped at the BEGINNING of his instruction! The
Processor committed so YOURSELF stili because the processor silent
state I now know what level is the sync signaa1. This
was the previous steppes NOT the case because you do not exactly
demands on the processor eigelíjk UELK time stops. The
sync signal is high on the nonent that the processor a
commits and fetch this signal continues throughout one full
clock-pulse of high fio! After this clock-pulse, the
sync signal low until there again and opcode fetch
performed. see figure below on operation sync signal.


If the processor is stopped, and thus the sync signal

is stable, we can disabelen by the signal
Processor unfreeze again. At the next
-opcode fetch the sync signal will go high again and the
processor stop automatically at the right time. we can
So let the processor SYNC MODE by a program
steppes. This sync mode will therefore be your ONLY address
and opcode gets to see, which is inconvenient in some cases,
could be.

2.6 Processor in STEP MODE

It is sometimes easy that you know EXACTLY what the
processor to carry out. Think fetching
Vector addresses from zero page if you do not know whether this one
are correct. By now in the step-by mode a program
bicycle you are also able to see what data is on
a given address is being written to be picked up.

If we processor in step-fashion set, we use

of a combination of two control signals which we to
send 74120.

First we set the processor just stop by S1 high
to make. NEXT !!! We make high signal M, which

the internal clock is locked. If we S1 back low
AFTER M high signal is created, the IC will then make
ensure that sync with clk-in at the exit

clk-out VOLLEGIGE A clock-pulse appears, then
clock-out again high CONTINUES! This then has the result that the
A clock-pulse processor just to get his teeth and
So the program, but a clock-pulse further handeld.
Is there an instruction for example. STA # 8000 {4} CLOCK pulses, then
we will this combination of signals including four times
should perform.

At - the first pulse will be picked up opcode # 8D,
second pulse is fetched operand # 00,
third pulse is fetched operand # 80,
fourth pulse is put on capacity battery # 8000

So you can see in the fourth pulse actually there on
address # 8000 is written but WHAT is
written. Of course now you also imagine that you
Alternatively, when read instruction see HER processor
reads and WHAT exactly!

2.7 Find Address

The new stepper circuit is now completely described and
explained. what we can not do is leave
stopping the processor at ANY HILL NICELY ADDRESS!

This is vital for a service-friendly
stepper. I hate to think you're getting through it
whole-operating systen must steppes if you only
want to watch program at address # 3000. to to these
ability to cope I have a circuit
designed to continuously look at the address or the address, which
is set in advance, appear on the bus. By 2
eight-bit comparators (74L8688) in cascade to switch'm throats
You are now able to detect one 16 bit address. If it

is set, then the two comparators will signal
afgeven.Dit signal we send to the 74120 allowing the
processor stops! Thus, the processor stops at the moment that he
at the address has arrived, what we have set. By DAN
to put the stepper in the STEP or 8YNC mode, we are in
THERE only able to steppes where we need.
The circuit I have now for over a year and still working
NEVER went wrong. The comparators can so quickly address
uitdecoderen result of which the processor still at the right
moment can be put quietly. The setting of the desired
address can be done with jumpers or switches. However, I have
chosen binary counters that offer the desired address
to the comparators. You'll be able to get much snellex'in
To change the address. It is also cheaper and have
less space on your print than when you switch
used. Need further also have the data bus
viewed it simply a matter of a comparator with it. The
sense or nonsense of this circuit I'm still not at the moment
sit. The circuit FIND ADDRESS I pretty with orcad
signed there and done for the avid builders among us.


3.0 Conclusion

Aton at the National Day in Bilt I have this whole story
demonstrate to all interested present there
were. Critical remarks were made when the
Why build these "ana1yser." There are en Logic
analyzers that work faster and more transparent than my intel empty
stepper. Also, are you using an analyzer real-time measurements
the performance of your system. Differences in the duration
circuitry gives you quickly from there. The mine stepper You
NOT real-time process and gives you so NOT all errors out!
This fits perfectly but that was NOT AT ALL MY
-TO! OELING! I !!

This stepper I designed to make measurements
to a static-processor system in which address and
data-signa1en stably stand on the bus. As a result you are in
to measure AFTER ALL HARDWARE !!!

This can NOT an expensive 1ogic-analyser.Deze

analyzer goes viz. that of your system completely

working properly. There are eg. hardware errors in your system like
incorrect working address decoders or incorrectly programmed
0.8 ROMs than such an expensive analyzer is all nonsense
go read what you have nothing.

My stepper therefore is NOT a replacement for
logic analyzer but a fun toy that just
may be something else!

If you have your system up and running with my stepper
received is still plenty of time off this expensive device
to pick up the cabinet and then to carry out real-time measurements.

All who wish to build this stepper I wish very much
success.

Comments and / or Improvement

gene on my latest stepper
are welcome.

Greetings Jan Swinkels
J. Carstenszweg 259
5665 TJ Geldrop
040-66 23 26

User avatar
richardtoohey
Posts: 3801
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Acorn Atom 6502 tracer

Post by richardtoohey » Sat May 09, 2015 10:23 am

hoglet wrote:a very rough translation
My eyes are bleeding! :lol:

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

Re: Acorn Atom 6502 tracer

Post by sirmorris » Sat May 09, 2015 11:03 am

I know it perhaps takes some of the fun out of it but am I the only one thinking <cough>CPLD<cough> :wink:

A freezer would be a really rather good toy.

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

Re: Acorn Atom 6502 tracer

Post by daveejhitchins » Sat May 09, 2015 11:26 am

sirmorris wrote:A freezer would be a really rather good toy.
And, it could be built in to this :wink: maybe . . . .

Dave H :D
Parts: UM6502CE, GAL22V10D, GAL16V8D, AS6C62256A, TC514400AZ, WD1772, R6522, TMS27C512, AT28C256
Products: ARA II, ARA III, ABR, ATI, AP6, MGC, AP5 . . .
For a price list, contact me at: Retro Hardware AT dave ej hitchins DOT plus DOT com

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

Re: Acorn Atom 6502 tracer

Post by oss003 » Sat May 09, 2015 11:54 am

Hi Dave,
hoglet wrote:Thanks Bram, I hadn't noticed the rest of the article.

Here' a very rough translation using:
- http://www.i2ocr.com/free-online-dutch-ocr
Hmmmm ... looks like the translation needs a critical view ... :wink:
I'll give it a try.

Greetings
Kees

PhilYoung
Posts: 204
Joined: Sun Jun 12, 2011 5:55 pm
Contact:

Re: Acorn Atom 6502 tracer

Post by PhilYoung » Sat May 09, 2015 12:48 pm

Hi,

Maybe something like this is what you're after. Seems to allow either single stepping (and display of address/data) or free running until a break address (settable) is reached.

http://www.baltissen.org/newhtm/debugger.htm

Cheers,

Phil Young

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

Re: Acorn Atom 6502 tracer

Post by oss003 » Sat May 09, 2015 8:25 pm

Hi guys,

hopefully this is a more readable version of the translated article of the 6502 Tracer.

Greetings
Kees
Attachments
6502 Tracer.zip
(339.25 KiB) Downloaded 54 times

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

Re: Acorn Atom 6502 tracer

Post by roland » Sat May 09, 2015 8:28 pm

Hi guys,

I know the creator of the tracer in person. I actually met him a few years ago at Cap Gemini where he is still working. BITD I have seen this tracer working. Swinkels made a little mistake when building / designing this tracer: he thought he was stopping the clock of a 6502 (dynamic registers) while in his Atom was a 65C02 (static registers).

And yes, you can stop a 65C02 for long periods of time. The static registers will keep their value. So he continued developing and finally got something working but I don't know exactly what he created in the end. I'll have to read the articles. AFAIK Swinkels is not a *. member.

And I know John Feron also build one of those steppers. I'll ask him if he still has it...

Greetings,
Roland
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

paulb
Posts: 811
Joined: Mon Jan 20, 2014 9:02 pm
Contact:

Re: Acorn Atom 6502 tracer

Post by paulb » Sat May 09, 2015 11:21 pm

roland wrote:I know the creator of the tracer in person. I actually met him a few years ago at Cap Gemini where he is still working. BITD I have seen this tracer working. Swinkels made a little mistake when building / designing this tracer: he thought he was stopping the clock of a 6502 (dynamic registers) while in his Atom was a 65C02 (static registers).

And yes, you can stop a 65C02 for long periods of time. The static registers will keep their value. So he continued developing and finally got something working but I don't know exactly what he created in the end. I'll have to read the articles. AFAIK Swinkels is not a *. member.

And I know John Feron also build one of those steppers. I'll ask him if he still has it...
Nice to know... and that you know 6502 "royalty"! Arise, Sir Roland! :lol:

I was especially interested in this because I mentioned using the RDY signal for the purposes of DMA, and then there was a little discussion about the registers not retaining their values, but I also think that there is sometimes some confusion about stopping or halting the CPU, together with the role of the clock, when RDY is something which is supposed to be used independently of the clock signal (as I understand it). Thus, the dynamic registers should remain intact because the clock is still active.

I still need to get round to properly playing with this kind of thing in order to get some definitive answers, though.

bprosman
Posts: 418
Joined: Sun Mar 29, 2015 11:27 pm
Contact:

Re: Acorn Atom 6502 tracer

Post by bprosman » Sun May 10, 2015 2:06 pm

Some more on single stepping/cycling here :

http://wilsonminesco.com/6502primer/ClkGen.html

Post Reply

Return to “acorn atom and acorn system series”