Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

Z80 Microprocessor w/ Floppy drive 1

Status
Not open for further replies.

tonymac

Electrical
Mar 24, 2003
7
0
0
US
I'm working on building a low-cost computer control system, and I need help on finding a floppy disk controller circuit that could be interfaced to the 8-bit data bus. I havent't been able to find any data on the drives themselves, either. If someone could point me in the right direction, that would be a gret help.
 
Replies continue below

Recommended for you

I don't think you can find an 8-bit floppy controller. They have all been 16-bit since the introduction of the PC.
Your only hope might be to find an old 8 inch floppy drive and cannibalize it.

But melone asks the "real" question, why a Z80?
 
The reason I'm using a z80 is because it's cheap. ($1.20)
I'm new to microprocessors, so I decided to start with a cheap one I could work with (8-bit data bus and 16-bit address). And because it's cheap, I'm not afraid to possibly screw it up.
 
As much as i know Lewish is not right here... I browsed old data sheets of uPD765 and WD37C65 floppy disk controllers that were used on AT and XT computers. And found that both of theese are z80 compatible (as datasheet states). Even 100 pin flat packs on pentium motherboards use 8 bits for floppy disk access.

So i think this project is quite realistic. You must seek data on PC/AT floppy disk controll circuits and probably you can almost copy thoose for z80. But software of course will be completely different.

 
I might be wrong, but didn't the old texas Instrument computers use a z80?....Yep, just looked at a board from one that I had in my parts boards pile. I think you might be able to find something there you could use.

Good luck!
 
Your PC floppy drive protocol was derived from the NEC D765 IC. Track down its specs, commands, and timing, and you have it all. It is an 8 bit controller. It transfers singularly, grouped, or burst, so no need for linear addressing. Head down to your local library and seek out the old Circuit Cellar issues. I know they interfaced the Z80 to floppy. They'll have the circuits along with code. But, when you consider that a 486DX66 motherboard can be had for a buck down at your local swap meet, why?. If your new to microprocessors, forget buying a mpu and trying to hardwire it. You get old quicker than you think. Pickup an old PC or XT motherboard(free) and a copy of Sam's circuit facts(copy at your library). You have a vast array of simple code available to get a handle on what's going on(internet). You can modify the boards, create piggy back boards for I/O, alter bios code to your liking, etc. And, you'll never worry about screwing them up , cause there's a hundred more out there waiting to be played with. Have fun.
 
Hi,

I suggest you reference very old IBM PCXT's technical manual.

Inside the manual, you can find the detail circuit of the floppy disk interface. You can reference it to build it for your own system.

Also, the bios source list also can help you to program your own interface.

 
Hey, Tonymac!

I'm looking to do the same thing. It seems there are more resources to connect an IDE hard disk to a Z80 than a floppy drive. If you find something truly useful, let me know!
 
With the cost of memory, why even use a drive. Just load it in from another system. Need to store data, use EE mem. Even 1.4M drives are becoming obsolete. For small microprocessor systems a audio cassette tape is more practical. I used to use cassettes on my old Z80 systems.
 
Hi Tonimac:
I have the impression that you are young and learning computers. Do you have a PC?

I wouldn't concentrate on 8 bit computer -- at the time you are ready, most computers will be 32 bit or even larger.
The prices are dropping fast, etc.

Get books about the PC, understand it very well, learn
assembly and C++ .



<nbucska@pcperipherals.com>
 
I still have my first computer, an old Z80 machine, running the CP/M operating system out of two floppy disks. It has a Multibus backplane, and a separate board just for the floppy disk controller.
The modern microprocessors are way too complicated for a single person to start learning anything about the electronics involved in these chips.
 
The bottom-of-the-range Motorola 68000 series processors were, and probably still are, a popular choice with the academic institutions as a teaching tool. That in itself indicates that they are a reasonably straightforward processor to learn on. They're also a bit more 'current' than the Z80.

I absolutely agree with FelixC that the modern processors are way to complex for someone starting out. I studied both the 68000 and the now rather elderly 6809. The 6809 was the first uP I had encountered at circuit board level, and it also provided my first experience with assembler code. I found it reasonably simple with the aid of a good book.


Good luck.


-----------------------------------

Start each new day with a smile.

Get it over with.

 
Hi guys-

Pardon me while I climb on the soapbox in defense of young
Skywalker's arguement of a Z80 microprocessor design.

I too am redoing a Z80 class system. There are some
compelling reasons to do so.

1. There are a certain range of problems that lend
themselves to the 8 bit microprocessor when memory intensive
applications do not lend themselves to a PIC, AVR
class of microcontrollers. In this range, including an
IBM class motherboard would be entirely silly. There are
single board computers available at about $500 bucks a
pop where you can load up a full blown linux system and
have at it. With a little bit of additional hardware you
can get "really tiny" linux systems starting at $110.00
that you can network a file system into and rock and roll.
BUT, again there are cases where even that is overkill.
I have a ball with the PICs, but when you have to have
a couple of K of ram, the designs get a little
ineffective.

2. The cost of the Z80 and assoicated memory is, as
mentioned, dirt cheap. You can whomp one up for about
$10.00 sans the cost of the sockets for your integrated
ICs. For that $10.00 you can get a processor, EPROM,
32K of RAM and a crystal oscillator.

3. These are through hole DIP devices. I do my own
circuit boards at home. Many of these older micros were
designed using two sided boards. Something that the
advanced hobby guy can do at home. Alternatively, one
can use one of the available PC houses that cater to
the hobby crowd and even have plated through holes. I
don't think that there are too many of use that want to
tackle a high density surface mount design without the
aid of a professional circuit board house, which can cost
hundreds of dollars. I am working on a 2 sided design for
a Z80 (wanted a 6502 but can't find them for sale any more
in any of the surplus houses, darn it).

4. These devices are SLOW. So we can have a little
leeway on the I/O designs (relatively speaking). We don't
have to have nanosecond tolerances on a 66MHz frontplane
logic. So, we can poke around with the older slower logic
and still get something working without haveing a 1GHz
scope on our bench.

5. Initialization of any "funny peripherals" is not
required, and you don't have to go through and figure out
what the silly BIOS is doing dinking around with Northbridge
and Southbridge chips, etc, etc. Got a couple of latches
and buffers? No problem. No initialization required.......

Now, I certainly would not go and try to do a floppy disk
interface. Please refer to my answer on the computer
engineering article on why that's not the best of ideas,
or reference the reply from automatic2 above.

I might suggest looking at a compact flash implementation
which seems to be a much eaiser interface. And you can
certainly find designs for them for the Z80 via google.
I did, but don't have the links handy.

As far a operating systems go, there's a whole other kettle
of fish. You know there are a whole bunch of applications
that don't need an operating system at all. And there
are several cross assemblers for the PC --> Z80 out there.
If you insist on an operating system, the two ideas that I
had but haven't followed through on.

1. Hack the CP/M driver to have buffered memory to implement
the 512 byte sectors remapped for the floppy format size.
This might include a double buffer write rather than disk
cashing (which CP/M doesn't do). These days you would
find that the IDE interface more than makes up for a
single write for the floppy. Alternatively, you could
just waste half the storage of the new device and not
look at the rest of it's sector. That too is feasable
as there is orders of magnitude more storage available
versus the 1.4 Meg or so of the floppy.

2. Research porting another operating system, like ConTiki
which seems to be very doable. Although designed primarily
for the 6502, most of the source is written in C, which
can be ported much more easily. I personnaly would look
real long and hard at that one. Fortunately, this line
of research is being sidetracked by a job right now.

My little Z80 system will have the chip, a crystal
oscillator on it, a little 74LS glue logic, an EPROM
(or EEPROM), and 32k worth of ram. No o/s, just the
appication. Again, I'm sorry to say that this line of
research has been sidetracked by me, but I'll get back
to it sometime soon.

Hope these words of encouragement helps!

Back off the soapbox.

Cheers,

Rich S.
 
The Z80 is a nice simple chip, but you might want to investigate one of the simple micro coltrollers in the motorola 68HC05 family. It's programming will be similar to the Z80, and you might find circuits for the Floppy controller there also.
 
Status
Not open for further replies.
Back
Top