Hi all
I got hold of a Microbox II (6809 single board computer)
a while ago and I'm slowly working on getting it working.
I need copies of the articles on this design, which appeared
in ETI from December 1985 to April 1986 -- I already have
the December and March issues but would like to get hold of
the other three.
So, who has old ETI's stashed somewhere? And facilities to
scan, ideally?
I also need a WD1770 Floppy controller and the only source
I know of is a BBC Model B. I have three BBCs in the container
somewhere, but I don't know whether they're the right thing,
and even if they were, I'd have to think long and hard before
stripping one.
And I need a WD2123 UART. These things are scare but I'm sure
someone has a few stashed somewhere :-)
W
>From: "Allison" <ajp166 at bellatlantic.net>
>
>>
>>Subject: Re: Floppy controller questions
>> From: Philip Pemberton <philpem at dsl.pipex.com>
>> Date: Wed, 24 Aug 2005 00:46:29 +0100
>> To: cctalk at classiccmp.org
>>
>>In message <m1E7h9n-000IyXC at p850ug1>
>> ard at p850ug1.demon.co.uk (Tony Duell) wrote:
>>
>>> Also be aware that many HD-capcable 5.25" drives turn at 360 rpm all the
>>> time. Which means the data rate if you put a DD (or for that matter an
>>> SD) disk in them is 6/5 times what you'd get with that disk in a DD drive
>>> (which turns at 300 rpm). You may well need to provide a suitable clock
>>> for 300 kbps, for example.
>>
>>Ick. Time to find a 24MHz crystal oscillator :-/
>>Divide by 3 gives 8MHz, div24 for 1MHz, div48 for 500kHz, div96 for 250kHz.
>>And none of those are powers of two. Yay. I think I'll just stick to 8MHz and
>>1M/500k write clocks.
>
>Unless you use a drive that spins faster then the 500khz rate is fine.
>
>>I still need to deal with the "only 16uS to grab a byte of data" issue.
>>That's going to be a major pain when the CPU is running at 2MHz... Thankfully
>>IDE/ATA is fairly speed independent.
>>I suppose I could use interrupt mode, and hijack the INT (or maybe the NMI)
>>vector whenever the FDD is being accessed.
>
>Yep, remember the worst case for "fast is 13us! I'd plan for that.
>Also the slow rates will give you nominal 32us (27us worst case).
>
>>Isn't learning fun?
---snip---
Hi
One thing to consider is that you can unroll the loop and just
fetch or write data and increment the pointer. Even on an
8080, this is reasonably fast. If you know the speed of the
processor and the speed of the controller, you don't have to
check the data ready bit every time. You just need to do it
often enough to resync things. Another trick, if you are
using a loop, is that you can make the loop partially unrolled.
You only modify the counter once every few data read or writes.
You do, say, 4 bytes at a time. Any odd amounts needed can
be unrolled.
Using any one of these tricks will get you in the range.
On a PC, the main issue is that you need to shut down all
interrupts and be aware of refresh if it uses memory cycles.
On a processor that I was playing with, I found that the
processor was too fast for the FDC chip. It was only
running a 4 MHz instruction speed.
Dwight
>
>Subject: Re: Floppy controller questions
> From: Dave Dunfield <dave04a at dunfield.com>
> Date: Wed, 24 Aug 2005 10:09:02 -0400
> To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at classiccmp.org>
>
>
>Now that I know the 765 better - makes perfect sense. This is a good example
>of the problems I had with the NEC documention when I originally wrote the 6809
>driver (mid 80's - my first experience with the 765). There are very few
>references to polled transfers. Under "READ DATA", the datasheet says:
>
>"After completion of the read operation from the current sector, the Sector Number
>is incremented by one and the data from the next sector is read and output on the
>data bus. This continued read function is called a Multi-Sector Read Operation. The
>Read Data command may be terminated by the receipt of a Terminal Count signal. ..."
Well I have a copy of the original jinglish manuals from my days as product
engineer. After youve worked with a potload of the japanese/english translations
your own English becomes polluted. Your then speak missing small bits in sentence.
Sorry to those japanese speakers but, I was there and suffered.
Anywho, there were other cultural things that made etting answers to ambigious
or thinly worded explanations difficult. Often I'd end up in the lab testing
"just to see what was the case.".
As it turns out many engineers managed by inference to sort it out or by
simply hacking (try and see) methodology and the Compupro DISK1 (and 1A)
while DMA didn't use TC. Instead the driver programmed N and EOT to the
sector desired.
FYI: Another trick. Externall it's possible to tell DMA or other logic
if the transfer will be read or write without using a IO port. The
Write_enable (pin25) line to the drive can also be used to condition the
IO direction. Compupro used this for their DMA hardware for set read from
or write to memory. I'd figured this out when talking to RCA about 1802
hich has a DMA read and DMA write line. Using the WE line to conditionally
gate one or the other made doing 1802 floppy DMA less complex.
I may add that working with 765 you find thses and other things out. If
you work with 179X or 177X there are a similar set of "things you learn"
that allow you to exploit the device.
Allison
I found what I believe to be an NCR Decision Mate V computer. 1 5.25
floppy drive and 1 hard drive.
no docs, no keyboard, no disks.
Does anyone have info on this computer and any idea how to get a
keyboard for it?
thanks!
-Bob
--
bbrown at harpercollege.edu #### #### Bob Brown - KB9LFR
Harper Community College ## ## ## Systems Administrator
Palatine IL USA #### #### Saved by grace
>>I did polled drivers on the 09 and it worked well. One thing I did find was
>>that I had to connect a select to the TC pin so that I could pulse it to end
>>a transfer - I did not find a way to cleanly end a transfer in polled mode
>>without TC. I can give you the 6809 driver code as well if you want it.
>
>There is a way to stop the transfer with out TC. When programming the FDC
>command bytes for single sector transfer simply put that sector in as N and
>also as EOT. Since the FDC stops reading at EOT it will stop after one sector.
Now that I know the 765 better - makes perfect sense. This is a good example
of the problems I had with the NEC documention when I originally wrote the 6809
driver (mid 80's - my first experience with the 765). There are very few
references to polled transfers. Under "READ DATA", the datasheet says:
"After completion of the read operation from the current sector, the Sector Number
is incremented by one and the data from the next sector is read and output on the
data bus. This continued read function is called a Multi-Sector Read Operation. The
Read Data command may be terminated by the receipt of a Terminal Count signal. ..."
Write Data has a similar statement. There is no mention whatever of the EOT parameter.
The use of TC is the only means described under the READ DATA and WRITE DATA commands
to terminate the transfer.
There only mention of EOT is a definition in a different section, which reads:
"EOT stands for the final Sector number on a Cylinder. During Read or Write operation
FDC will stop data transfer after a sector is equal to EOT".
I interpreted this as "this should always have the highest sector number on the
cylinder" and was used only to guarantee that multi-sector reads stop at the end
of the track (which I thought would be an error condition). So I tried what the
docs indicated, hit TC and it worked.
When I did the 765 drivers in ImageDisk, they use DMA, and TC is generated automaticlly
by the DMA controller - I remember thinking "ah .. how nice - this is how they really
intended the system to work" - It always bothered me that I needed an extra select to
use it in polled mode. Thanks - this cleans up another little bit of the picture.
Regards,
Dave
--
dave04a (at) Dave Dunfield
dunfield (dot) Firmware development services & tools: www.dunfield.com
com Collector of vintage computing equipment:
http://www.parse.com/~ddunfield/museum/index.html
>
>Subject: Re: Floppy controller questions
> From: Dave Dunfield <dave04a at dunfield.com>
> Date: Tue, 23 Aug 2005 22:22:53 -0400
> To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at classiccmp.org>
>
>>That's what I wanted. I don't have any 8" drives, so adding support for them
>>is pointless. Ideally, I want a board that has a 6502-type interface on one
>>side and a 34-pin IDC connector on the other, with support for most common FM
>>and MFM 3.5" and 5.25" formats.
>
>>I managed to get DMA-mode transfers working, but never managed to get polled-
>>mode or interrupt-mode transfers working. Guess I'll have to learn fast when
>>I start writing code to drive the FDC...
>
>I did polled drivers on the 09 and it worked well. One thing I did find was
>that I had to connect a select to the TC pin so that I could pulse it to end
>a transfer - I did not find a way to cleanly end a transfer in polled mode
>without TC. I can give you the 6809 driver code as well if you want it.
There is a way to stop the transfer with out TC. When programming the FDC
command bytes for single sector transfer simply put that sector in as N and
also as EOT. Since the FDC stops reading at EOT it will stop after one sector.
Allison
>Time to google for a Disk1A manual (and hope that it includes schematics)...
I have the Disk1A manual on my site - and it does include schematics.
Click on the "S100" header to S-100 machines, which will take you to a list of
S-100 cards - the Disk1A (photo and manual) is there.
Regards,
Dave
--
dave04a (at) Dave Dunfield
dunfield (dot) Firmware development services & tools: www.dunfield.com
com Collector of vintage computing equipment:
http://www.parse.com/~ddunfield/museum/index.html
>
>Subject: Re: Floppy controller questions
> From: Philip Pemberton <philpem at dsl.pipex.com>
> Date: Wed, 24 Aug 2005 00:46:29 +0100
> To: cctalk at classiccmp.org
>
>In message <m1E7h9n-000IyXC at p850ug1>
> ard at p850ug1.demon.co.uk (Tony Duell) wrote:
>
>> Also be aware that many HD-capcable 5.25" drives turn at 360 rpm all the
>> time. Which means the data rate if you put a DD (or for that matter an
>> SD) disk in them is 6/5 times what you'd get with that disk in a DD drive
>> (which turns at 300 rpm). You may well need to provide a suitable clock
>> for 300 kbps, for example.
>
>Ick. Time to find a 24MHz crystal oscillator :-/
>Divide by 3 gives 8MHz, div24 for 1MHz, div48 for 500kHz, div96 for 250kHz.
>And none of those are powers of two. Yay. I think I'll just stick to 8MHz and
>1M/500k write clocks.
Unless you use a drive that spins faster then the 500khz rate is fine.
>I still need to deal with the "only 16uS to grab a byte of data" issue.
>That's going to be a major pain when the CPU is running at 2MHz... Thankfully
>IDE/ATA is fairly speed independent.
>I suppose I could use interrupt mode, and hijack the INT (or maybe the NMI)
>vector whenever the FDD is being accessed.
Yep, remember the worst case for "fast is 13us! I'd plan for that.
Also the slow rates will give you nominal 32us (27us worst case).
>Isn't learning fun?
Beats boredom by miles. ;)
>> data separators. And I've seen a board of logic (the original IBM
>> controller, for example). But I've never seen a real 765 linked to an
>
>I really should try and get a copy of the IBM PC Technical Reference manuals
>at some point.
Oh the PC implmentations are generally the worst as a reference, they
really represent a stripped to bare minimum specific for PC encironment.
With just a bit more effort you can do something far more flexible than
that.
Or a S100 board like the Compupro Disk1A.
I've done this at enough times to loose count on S100, multibus, ISA8 and 16
Z80 raw cpu bus (single board), 8085 single board, 8088 single board and
even with an 8749. The Floppy side is largely done for you of you look at
the app nots, existing board manuals and that one site some had a pointer to.
>
>> Unless you are using the original Sony 3.5" drives, which turn at 600
>> rpm, and thus use twice the data rate you might expect, 5.25" drives and
>> 3.5? drives use the same data rates for the same modes.
>
>All new-ish PC-type floppy drives here. I don't think I've got any of the
>original Sony drives - most of mine are MFD920s, with one or two MFD520s (I
>prefer the 520s - they're jumperable for DS0 and ideal for RiscPCs). Some of
>the Citizen drives that Acorn used are pretty well made, too - I've never
>seen one that didn't work properly. Well, except for the one that some oik
>(not me) shoved a mini-CD into.
The MFD520 and 920 is good and for 5.25 I really like the teac FD55GFR
as that will do most 40 and 80 track reads including 1.2m. If you intend
to write honest 360k formats with 5.25" drives a FD55B is a good choice.
There are other 5.25 drive that would make goood equivelents to both teacs.
>> HD disks (1.2Mbyte, 1.44Mbyte respectively) in their approriate drives
>> use the same data rates as 8". SD and DD disks are half of those rates
>> _apart from the 360rpm issue I mentioned above).
>
>Easy way to solve the 360rpm issue: Find the SPEED_SEL pin on the motor
>controller, lift the pin then wire it to the edge connector.
Yes, saves pain.
>> FWIW, 3" are the same as those too (there never was a HD 3" disk AFAIK).
>
>Heh. Amstrad 3" "indestructable" floppies. Those bring back some memories...
>Mostly dealing with disintegrating drive belts.
Only a problem if your doing them too. ;)
Allison
Today a lady called the store, asking if she could drop off an "older
Macintosh computer," and when she showed up, what she had was an Apple //c
w/PS, 9" (I'm guessing green phosphor) monochrome monitor, a Panasonic
KXP1091 printer, and a Hotlink //c Printer Interface.
It seems to have all (appropriate) cables available, but no software. It
looks to be in very good shape - the case is not very yellowed at all for
it's age, and no glaring scratches or anything. Very clean system.
I can test the computer and monitor at least, as long as test == "Wow - it
lights up!" -- if it's got a ROM-based DOS, I could see if it can format a
floppy (I do have some DSDD 5.25" disks handy) if someone let's me know the
commands... if it needs a system disk, tho, I don't have one, and the best
I could do is "Wow - it lights up!" ;-)
I don't have a problem parting out the system if someone needs something in
particular.
I can provide pictures if y'all are willing to wait to tomorrow (if it
matters) I'm guesssssing it's a bog-standard //c, tho. I can also provide
serial numbers, if that's a big deal.
Buyer to pay for shipping and any packing materials that I have to buy to
make it go away - I already own packing peanuts & bubblewrap, but if I
gotta buy a box or two, *you* gotta buy a box or two... ;-)
Priorities will go to:
1) whoever wants the monitor with the system - I can't throw them away
anymore, and I don't want a 9" Apple monitor kicking around with no machine
to hook it two, and...
2) whoever best describes (IMHO) why you *deserve* such a fine piece of
computing history. ;-)
Laterz,
Roger "Merch" Merchberger
--
Roger "Merch" Merchberger -- SysAdmin, Iceberg Computers
_??_ zmerch at 30below.com
(?||?) If at first you don't succeed, nuclear warhead
_)(_ disarmament should *not* be your first career choice.