Maker Pro
Maker Pro

Blast from the past... Z80!

K

krw

So, all we do any more is connect boxes and hack code.

If you consider VHDL to be "code". I still see hardware when I'm
doing it. Treating VHDL as a programming language rather than more
of a markup language creates junk.
Depressing.

Actually, I rather like being in control of the whole shebang
(though I don't do code anymore).
 
T

Tim Williams

If you enjoy moving data from here to there and back.  I'm with
John.  Yuck.

Seems to be going okay for me, though it's annoying how everything
goes so damned slowly...

ld a,(counter) ; two microseconds
add b ; one microsecond
ld (counter),a ; two microseconds
; ...

And with only the accumulator to do any reasonable math (INC and DEC
at least are available on other registers), you're always loading
accumulator-memory and memory-accumulator stuff. It takes three
operations to add memory!

Now 8086 on the other hand,
add dx,[bp+si+06]
Ohh yeah baby...indirect offset addressing modes...droool...
Okay, so effective addressing calculations went snail slow on the 8086
too, it's stuffed full of microcode. The above EA calcuation is
supposed to take 12 clock cycles, and I don't even remember if those
are *clock* cycles (8MHz in the faster 8086, woo!) or bus cycles
(divide by 4 or so). Still, the individual operations are so much
more powerful. No wonder it was chosen for the very first "PC" (the
PC-XT, that is). The thing is a bear to wire up though, I don't think
I even have enough breadboard space to put one together, and that's
assuming I had the clock and bus controller chips, which I don't.
That's one thing the Z80 has, ease of use.

Tim
 
K

krw

So, that is no problem?
BBBBbbbbbooooooorrrrrrrriiiiiiiinnnnnnnngggggggg

It is up to the programmer how he handles data.

The point is that he has to handle it so much. A lot of crap to do
a little work.
 
PDP-11

ADD a, b

where a, b are memory or registers.

John

but it probably takes just as long, same operations are needed, two
loads an add and....
you just have to type less.

its small and simple vs. smart and big.

anyway for most cpus with a sane architecture theres little reason now
to program in assembler
exept for the stuff like getting the processor configured, getting in
and out of
interrupts,a highly optimized calculation or something very timing
critical C will just just fine

-Lasse
 
D

Dirk Bruere at NeoPax

Tim said:
I put together a Z80 microcomputer the other day. Real simple:
processor, clock oscillator, NVRAM holding program and data, pair of
74LS138s for memory and I/O decoding, and two 74LS273 latches for
output. And a forest of jumper wires. Right now I have it scrolling
a message across four matrixed digits of seven-segment display. Seven
segments make really ugly Latin characters though. :-(

Youtubification:

Tim

I really liked the 6809.
OTOH it's just a real shame that IBM chose the 8086 for the PC and not
the Z8000 (or 68000).

--
Dirk

http://www.transcendence.me.uk/ - Transcendence UK
http://www.theconsensus.org/ - A UK political party
http://www.onetribe.me.uk/wordpress/?cat=5 - Our podcasts on weird stuff
 
J

Jasen Betts

Sorry I do not get that.
Would you care to elaborate on 'moving data from here to there'?

I expect he means LDDR, LDIR etc.

I liked having plenty of registers,

I find it intersting that he has nothing bad to say about it.

bye.
 
J

Jasen Betts

Seems to be going okay for me, though it's annoying how everything
goes so damned slowly...

ld a,(counter) ; two microseconds
add b ; one microsecond
ld (counter),a ; two microseconds
; ...
And with only the accumulator to do any reasonable math

some 16 bit math (register add,sub,cmp) can be done on HL

(INC and DEC
at least are available on other registers), you're always loading
accumulator-memory and memory-accumulator stuff. It takes three
operations to add memory!
Now 8086 on the other hand,

is a 16 bit CPU, and not a fair comparison.
add dx,[bp+si+06]
Ohh yeah baby...indirect offset addressing modes...droool...

Z80 has that, not with two index registers though, and not in 16 bit
width.

add al, ( ix + 6 )
Okay, so effective addressing calculations went snail slow on the 8086
too, it's stuffed full of microcode. The above EA calcuation is
supposed to take 12 clock cycles, and I don't even remember if those

19 clock cycles on the Z80.
 
J

Jasen Betts

Hear, Hear! I also enjoyed working with the 6502. The 8051 isn't bad when
you get used to its foibles and learn how to use the timer. ;-)

But the first time I worked with the 68HC11 I fell in love with
its timer system. :)

yeah, it has nice simple timers.
 
H

HiggsField

I like the Z80 and 8051. They are very nice processors.
Is the CDP1802 available as a free core? Now there's a nasty
processor if there ever was one.


I refuse to design it in so the rest of you are safe.

For those who don't remember: I have a 100% hit rate on every CPLD or
other FPGA like part I design in going out of production. So as a
service to others I have decided never to design in a device like that
from a company that I wish to have remain in business.


Your nym should then be NooseFart.
 
A

Archimedes' Lever

Wow.

How did you decide which ICs you were going to socket and which you weren't?
Wow. All of those long wires had to pose a nightmare with crosstalk,
etc.

What are you , dial up?
 
K

krw

closer to 40%

Two loads, op, store. Ok, 75%. It was still a PITA. That's why I
liked the 8051. Besides the neat peripherals, there were so many
places to get data from without moves. The instruction set is kinky
though. Of course RISC pretty much solves the excessive load/store
issues and kinky instruction sets.
 
K

krw

I expect he means LDDR, LDIR etc.

I liked having plenty of registers,

I find it intersting that he has nothing bad to say about it.

I thought I did.
 
A

Archimedes' Lever

but it probably takes just as long, same operations are needed, two
loads an add and....
you just have to type less.

its small and simple vs. smart and big.

anyway for most cpus with a sane architecture theres little reason now
to program in assembler
exept for the stuff like getting the processor configured, getting in
and out of
interrupts,a highly optimized calculation or something very timing
critical C will just just fine

-Lasse


Not when you are trying to push toward wire speeds in packet handling
routines and processes.

Assembler still has its place.
 
  Not when you are trying to push  toward wire speeds in packet handling
routines and processes.

 Assembler still has its place.

that was kinda what I was trying to say. C for all the noncritical
stuff
and assembler for the few things that require the speed or control.

-Lasse
 
Two loads, op, store.  Ok, 75%.  It was still a PITA.  That's why I
liked the 8051.  Besides the neat peripherals, there were so many
places to get data from without moves.  The instruction set is kinky
though.  Of course RISC pretty much solves the excessive load/store
issues and kinky instruction sets.

RISC operates on registers, so anything to do with memory will
will have to be done with a load and/or a store

-Lasse
 
J

Jasen Betts

Two loads, op, store. Ok, 75%. It was still a PITA. That's why I
liked the 8051. Besides the neat peripherals, there were so many
places to get data from without moves. The instruction set is kinky
though.

what does 8051 have that Z80 doesn't
(I see twice as many register banks, but no 16bit arithmentic)
Of course RISC pretty much solves the excessive load/store
issues and kinky instruction sets.

huh? risc is all load/store.
 
J

Jasen Betts

It's actually better to wire things that way than in nice "neat" orderly rows
and columns of wires ("Manhattan" style)... you tend to just add a bit of
noise everywhere, rather than having some traces all in a row next to, e.g.,
clock line that get hammered.

At the frequencies and (more importantly) edges rates that the Z80 (and 8088
and 6502 and...) used, Jan's wiring style works fine. I've done boards up to
30MHz that way, and I've read that if you use a board with a ground plane,
that sort of rats nest wiring can work even up to 100MHz with wirewrapping.

his perfboard appears to have a groundplane.
 
Top