Discussion:
6809 SBC in development
(too old to reply)
lynchaj
2009-02-27 02:10:44 UTC
Permalink
Hi All! I am building a 6809 SBC for the N8VEM system. It will be on
an ECB board in an ECB backplane. It will use the N8VEM system as its
IO processor. All the information for hardware, software, and other
design material will be free and publicly posted as part of the N8VEM
home brew computing project.

If you are interested and would like to build your own along with me
please contact me or reply to this message.

The 6809 SBC is a "host processor" design. It will have 64K of SRAM,
initially, and 2K of EEPROM and 2K of IO space. For IO it will have a
6821 PIA which will communicate with an 8255 peripheral on the ECB.
The N8VEM SBC (Z80, CP/M) will run an application that checks the 8255
for communication with the 6809 and serve its IO needs. It will be a
kind of hetrogeneous multiprocessor along with the Z80 which will work
in parallel.

The design is quite simple and leverages the investment already done
on the N8VEM system. Since the N8VEM system already has a serial,
parallel, RTC, IDE, FDC, an ECB backplane, and other types of IO all
of those resources will be available to the 6809 as soon as the
application is written. I understand this is probably not a
traditional stand alone 6809 SBC however I would like to implement it
without starting over completely to get the 6809 to work with all the
N8VEM IO devices. Its rather like the 6809 coprocessor for the BBC
computer a few years back.

My plan is to eventually rehost FLEX to the 6809. After I get the ECB
prototype SBC working and sufficiently robust, I would like to get
some manufactured PCBs so other 6809 hobbyists can also join in the
fun and build their own.

Thanks and have a nice day!

Andrew Lynch
g***@foni.net
2009-02-27 07:38:45 UTC
Permalink
Quoth lynchaj <***@yahoo.com>:
[...]
Post by lynchaj
If you are interested and would like to build your own along with me
please contact me or reply to this message.
[...]

That sounds a lot like what I had in mind for extending one of my
own ECB-based systems. I have no experience with FLEX, though, but
OS/9 could also be ported. Eventually I'd like to build one board
for each kind of CPU I have lying around (6502, 68000, 8088).

Thanks for sharing
Jens
--
You can't out-sarcasm reality.
Bill Gunshannon
2009-02-27 13:26:37 UTC
Permalink
Post by g***@foni.net
[...]
Post by lynchaj
If you are interested and would like to build your own along with me
please contact me or reply to this message.
[...]
That sounds a lot like what I had in mind for extending one of my
own ECB-based systems. I have no experience with FLEX, though, but
OS/9 could also be ported. Eventually I'd like to build one board
for each kind of CPU I have lying around (6502, 68000, 8088).
Hmmm.... Where can I find out more info on this system? In particular
how-to and how hard it is to target other (and probably more obscure)
processor types? As an example, I would be thinking of things like
PDP-11, VAX, IBM-1401, Univac-1100, Prime 50-Series and even IBM-360.

Got a lot of things on the agenda for retirement and just keep adding
to the list!! :-)

bill
--
Bill Gunshannon | de-moc-ra-cy (di mok' ra see) n. Three wolves
***@cs.scranton.edu | and a sheep voting on what's for dinner.
University of Scranton |
Scranton, Pennsylvania | #include <std.disclaimer.h>
g***@foni.net
2009-02-27 15:16:24 UTC
Permalink
Post by Bill Gunshannon
Hmmm.... Where can I find out more info on this system? In particular
how-to and how hard it is to target other (and probably more obscure)
processor types? As an example, I would be thinking of things like
PDP-11, VAX, IBM-1401, Univac-1100, Prime 50-Series and even IBM-360.
The N8VEM project is here: http://n8vem-sbc.pbwiki.com/

This particular idea of an SBC with another CPU turns the host CPU
into slave mode to handle all I/O, just like the TRS-80 Model 16
did when switching from the Z80 to the 68000. I've been sketching
ideas about how to transfer data/commands/status information
between the CPUs, but since my main ECB-system hasn't been quite
functional for some time I haven't worked on that particular
project for a while (read: years).
Post by Bill Gunshannon
Got a lot of things on the agenda for retirement and just keep adding
to the list!! :-)
That sounds oddly familiar, even though I've got at least another two
decades until retirement ;-)

Jens
--
You can't out-sarcasm reality.
lynchaj
2009-02-27 23:01:44 UTC
Permalink
Hmmm....   Where can I find out more info on this system?  In particular
how-to and how hard it is to target other (and probably more obscure)
processor types?  As an example, I would be thinking of things like
PDP-11, VAX, IBM-1401, Univac-1100, Prime 50-Series and even IBM-360.
The N8VEM project is here:http://n8vem-sbc.pbwiki.com/
This particular idea of an SBC with another CPU turns the host CPU
into slave mode to handle all I/O, just like the TRS-80 Model 16
did when switching from the Z80 to the 68000. I've been sketching
ideas about how to transfer data/commands/status information
between the CPUs, but since my main ECB-system hasn't been quite
functional for some time I haven't worked on that particular
project for a while (read: years).
Got a lot of things on the agenda for retirement and just keep adding
to the list!!  :-)
That sounds oddly familiar, even though I've got at least another two
decades until retirement ;-)
Jens
--
You can't out-sarcasm reality.
Hi! Thanks! The N8VEM home brew computing project is really just a
simple Z80 CP/M based system using an ECB backplane. This is my first
experiment with making a host processor. The 6809 host processor
board is actually a lot like the TRS-80 model 16 as Jens said.
Essentially the Z80 SBC keeps running in the background and handles
all the IO for the system and polls the 6809 to service its IO
requests. The goal is to keep the 6809 system as simple as possible
which keeps part count low and has a nice side effect of making a
relatively clean memory map.

Tonight I will be wire wrapping some more on the 6809. If anyone
would like to join in making their own 6809 SBC you are free to join
and I'd welcome any other 6809 home brew computer hobbyists. We can
stay here or you are also invited to join the N8VEM mailing list/wiki
as posted earlier.

I'll post the schematic if anyone would like to see it on the N8VEM
wiki in the m6809 folder. Once I get the 64KB SRAM working my plan is
to upgrade the SBC to a 512KB page switched SRAM similar to the N8VEM
SBC.

Thanks and have a nice day!

Andrew Lynch
Ira Baxter
2009-02-28 00:46:07 UTC
Permalink
Hmmm.... Where can I find out more info on this system? In particular
how-to and how hard it is to target other (and probably more obscure)
processor types? As an example, I would be thinking of things like
PDP-11, VAX, IBM-1401, Univac-1100, Prime 50-Series and even IBM-360.
The N8VEM project is here:http://n8vem-sbc.pbwiki.com/
This particular idea of an SBC with another CPU turns the host CPU
into slave mode to handle all I/O,
Hi. I used to design 8 bit OS and tools (SDOS, SDBasic as Software
Dynamics)
for 6800/6809 machines.
The instruction sets on these guys is so simple that you should be able to
code
a C simulator in a few thousand lines at most, that likely outperforms the
original
chip. I'm just curious as to what your purpose in building hardware is.

-- IDB
lynchaj
2009-02-28 02:51:16 UTC
Permalink
Hmmm.... Where can I find out more info on this system? In particular
how-to and how hard it is to target other (and probably more obscure)
processor types? As an example, I would be thinking of things like
PDP-11, VAX, IBM-1401, Univac-1100, Prime 50-Series and even IBM-360.
The N8VEM project is here:http://n8vem-sbc.pbwiki.com/
This particular idea of an SBC with another CPU turns the host CPU
into slave mode to handle all I/O,
Hi.  I used to design 8 bit OS and tools (SDOS, SDBasic as Software
Dynamics)
for 6800/6809 machines.
The instruction sets on these guys is so simple that you should be able to
code
a C simulator in a few thousand lines at most, that likely outperforms the
original
chip.     I'm just curious as to what your purpose in building hardware is.
-- IDB
Hi! Mostly I just like working with the hardware and building SBCs.
I have so much fun with the N8VEM system with the SBC and ECB
peripherals that it seems like a natural extension to include the 6809
as well. I have always liked the 6809 as it seems to be the apex of
the Motorola 8 bit CPUs although some of the microcontrollers have
built on it quite a bit.

Yes, were I interested I could probably code the whole thing up in C
but that rather defeats the purpose. I enjoy making and using real
hardware. Real hardware is much more fun and if you want to run
legacy OSs nothing beats the real thing. For example, you could run
the NorthStar Horizon simulator and it would run rings around a real
one but it would never have the same classic feel or be nearly as
enjoyable as the real thing. There are some aspects of real hardware
that simulations will never capture. Like the hard sector floppy
controller timing or the wood grain case.

Actually, speaking of real hardware, if anyone has experience in
interfacing a 6821 PIA to an i8255 PPI I certainly would appreciate
hearing from you. My plan is to use one of the parallel channels of
each for input and the other for output between the N8VEM and the
6809. Obviously, hooking up the parallel data lines is obvious but
what and how to connect the strobe lines is TBD. If anyone would like
to build one of these along with me, I'd appreciate the company as
well. It is fun to build prototypes.

Tonight I verified the i8255 interface is working and am now wire
wrapping the 6809 side sockets. I uploaded a schematic to the N8VEM
wiki in the m6809 folder if anyone wants to review it. I'd like to
discuss the design with some experienced 6809 designers especially
those with FLEX experience to ensure the hardware will support a
rebost.

Thanks and have a nice day!

Andrew Lynch
g***@foni.net
2009-02-28 09:37:23 UTC
Permalink
Post by lynchaj
Actually, speaking of real hardware, if anyone has experience in
interfacing a 6821 PIA to an i8255 PPI I certainly would appreciate
hearing from you. My plan is to use one of the parallel channels of
each for input and the other for output between the N8VEM and the
6809. Obviously, hooking up the parallel data lines is obvious but
what and how to connect the strobe lines is TBD. If anyone would like
to build one of these along with me, I'd appreciate the company as
well. It is fun to build prototypes.
I've designed a similar circuit around TTL-latches, delaying the -WR
line through a few leftover inverters. That got me a printer port with
a properly times -Strobe line.

To get this design to talk to another SBC the -Strobe sets the Busy
flag via half an LS74, which also acts as a "Data pending" signal for
the second SBC, which uses the -RD line from the data LS244 to reset
the Busy/Pending LS74.

Obviously the second half of the LS74 can be used for the other
direction. The Busy/Pending signals would also make nice status LEDs.

Jens
--
You can't out-sarcasm reality.
Dennis Boone
2009-03-01 04:50:53 UTC
Permalink
Post by lynchaj
Hi All! I am building a 6809 SBC for the N8VEM system. It will be on
an ECB board in an ECB backplane. It will use the N8VEM system as its
IO processor. All the information for hardware, software, and other
design material will be free and publicly posted as part of the N8VEM
home brew computing project.
This is interesting. Lately I've been fascinated with the 6800 family,
especially the 6809/6309, brought on by trying to understand the code
in an old radio programmer. Now you're doing an SBC, and Vince Briel
is considering doing one.

Are you using a 6809, or a 6809E?

De
lynchaj
2009-03-01 13:35:00 UTC
Permalink
 > Hi All!  I am building a 6809 SBC for the N8VEM system.  It will be on
 > an ECB board in an ECB backplane.  It will use the N8VEM system as its
 > IO processor.  All the information for hardware, software, and other
 > design material will be free and publicly posted as part of the N8VEM
 > home brew computing project.
This is interesting.  Lately I've been fascinated with the 6800 family,
especially the 6809/6309, brought on by trying to understand the code
in an old radio programmer.  Now you're doing an SBC, and Vince Briel
is considering doing one.
Are you using a 6809, or a 6809E?
De
Hi Dennis! Thanks! I am using a 6809 since it has the internal clock
generator circuit. I considered using a 6809E for a while but it
requires some extra chips. The 6809E is more somewhat more powerful
and easier to get though.

Thanks and have a nice day!

Andrew Lynch
james
2009-03-09 13:51:42 UTC
Permalink
On Sun, 1 Mar 2009 05:35:00 -0800 (PST), lynchaj <***@yahoo.com>
wrote:

|On Feb 28, 11:50 pm, ***@ihatespam.msu.edu (Dennis Boone) wrote:
|>  > Hi All!  I am building a 6809 SBC for the N8VEM system.  It will be on
|>  > an ECB board in an ECB backplane.  It will use the N8VEM system as its
|>  > IO processor.  All the information for hardware, software, and other
|>  > design material will be free and publicly posted as part of the N8VEM
|>  > home brew computing project.
|>
|> This is interesting.  Lately I've been fascinated with the 6800 family,
|> especially the 6809/6309, brought on by trying to understand the code
|> in an old radio programmer.  Now you're doing an SBC, and Vince Briel
|> is considering doing one.
|>
|> Are you using a 6809, or a 6809E?
|>
|> De
|
|Hi Dennis! Thanks! I am using a 6809 since it has the internal clock
|generator circuit. I considered using a 6809E for a while but it
|requires some extra chips. The 6809E is more somewhat more powerful
|and easier to get though.
|
|Thanks and have a nice day!
|
|Andrew Lynch
|===============


MC6809 and MC6809E have the same instruction set. The MC6809 has a
built in limited DMA interface that can allow a peripheral to access
memory for upto 32 machine cycles.

There are some minor hardware differences but essentially they are the
same processor.

Hitachi made the HD6809/HD5809E processors that are HMOS chips that
are completely identical to the Motorola parts. They also made a CMOS
version HD6309/HD6309E chips that have extra registers and an
increased instruction set.


james
Dave Dunfield
2009-03-01 12:51:35 UTC
Permalink
Post by lynchaj
Hi All! I am building a 6809 SBC for the N8VEM system. It will be on
an ECB board in an ECB backplane. It will use the N8VEM system as its
IO processor. All the information for hardware, software, and other
design material will be free and publicly posted as part of the N8VEM
home brew computing project.
Hey Andrew,

Glad to see you are still producing projects - the 6809 is probably my
favorite 8-bit architecture, so it's always good to see it being kept
alive.

I've for a ton of 6809 code which might be useful to you, including a couple
of pretty decent monitors (simple hardware-debug monitor which uses NO
RAM - no even for a stack, and a fairly nice software debug monitor with
lots of goodies).

This board sounds like it would be a good candidate for my CUBIX OS.
I've added a "Information on CUBIX" link to my 6809 homebuilt page at:

www.classiccmp.org/dunfield/d6809/index.htm

Please check it out and see what you think.
Post by lynchaj
The instruction sets on these guys is so simple that you should be able to
code a C simulator in a few thousand lines at most, that likely outperforms
the original chip.
I've posted a PC based simulator for my 6809 homebult at the page
mentioned above, and yes it's much faster than the original machine.
Not the same however ... nothing beats the satisfaction you'll get from
building a working physical/tangible computer system with your own
hands.


Dave

--
dave09@ Low-cost firmware development tools: www.dunfield.com
dunfield. Classic computer collection: www.classiccmp.org/dunfield
com
lynchaj
2009-03-01 19:44:09 UTC
Permalink
Post by Dave Dunfield
Hi All!  I am building a 6809 SBC for the N8VEM system.  It will be on
an ECB board in an ECB backplane.  It will use the N8VEM system as its
IO processor.  All the information for hardware, software, and other
design material will be free and publicly posted as part of the N8VEM
home brew computing project.
Hey Andrew,
Glad to see you are still producing projects - the 6809 is probably my
favorite 8-bit architecture, so it's always good to see it being kept
alive.
Hi Dave! Thanks! I have always liked the 6809 too. Its a really
neat CPU and probably the best of the line of the Motorola 8 bit
processors.
Post by Dave Dunfield
I've for a ton of 6809 code which might be useful to you, including a couple
of pretty decent monitors (simple hardware-debug monitor which uses NO
RAM - no even for a stack, and a fairly nice software debug monitor with
lots of goodies).
Thanks! That's great! I'll bet those will be useful!
Post by Dave Dunfield
This board sounds like it would be a good candidate for my CUBIX OS.
   www.classiccmp.org/dunfield/d6809/index.htm
Yes! That's great! I've seen your CUBIX system and it is really
nice. The 6809 SBC I'm making is really a dual processor. I am
calling it a "host processor" as I am not sure of its actual name. In
short though the 6809 communicates through a 6821 via 8255 to a Z80
system doing almost all of the system IO. From the 6809 perspective,
it should be rather easy to implement IO since it is all based on the
6821. The rest of the detailed IO (serial, parallel, RTC, FDC, IDE,
etc) will have to be handled by the Z80 IO processor.
Post by Dave Dunfield
Please check it out and see what you think.
Will do! Thanks! I think a CUBIX port would be great! My prototype
build is going well but it hit a snag today. I had two 28C16 EEPROMs
set aside for this project but when I went to test them they are both
bad. :-( I've had them for quite a while but hadn't used these
particular chips before. I tested them in two different EPROM/EEPROM
programmers and they each fail differently. I'll probably substitute
plain 2716's until I can get some replacement 28C16s and those should
work, I hope.
Post by Dave Dunfield
The instruction sets on these guys is so simple that you should be able to
code a C simulator in a few thousand lines at most, that likely outperforms
the  original chip.
I've posted a PC based simulator for my 6809 homebult at the page
mentioned above, and yes it's much faster than the original machine.
Not the same however ... nothing beats the satisfaction you'll get from
building a working physical/tangible computer system with your own
hands.
Dave
Well said! Nothing beats real hardware. Thanks and have a nice day!

Andrew Lynch
Post by Dave Dunfield
--
dunfield.   Classic computer collection:  www.classiccmp.org/dunfield
com        
lynchaj
2009-03-02 02:40:42 UTC
Permalink
This post might be inappropriate. Click to display it.
lynchaj
2009-03-04 03:36:43 UTC
Permalink
Post by Dave Dunfield
Hi All!  I am building a 6809 SBC for the N8VEM system.  It will be on
an ECB board in an ECB backplane.  It will use the N8VEM system as its
IO processor.  All the information for hardware, software, and other
design material will be free and publicly posted as part of the N8VEM
home brew computing project.
Hey Andrew,
Glad to see you are still producing projects - the 6809 is probably my
favorite 8-bit architecture, so it's always good to see it being kept
alive.
Hi Dave!  Thanks!  I have always liked the 6809 too.  Its a really
neat CPU and probably the best of the line of the Motorola 8 bit
processors.
Post by Dave Dunfield
I've for a ton of 6809 code which might be useful to you, including a couple
of pretty decent monitors (simple hardware-debug monitor which uses NO
RAM - no even for a stack, and a fairly nice software debug monitor with
lots of goodies).
Thanks!  That's great!  I'll bet those will be useful!
Post by Dave Dunfield
This board sounds like it would be a good candidate for my CUBIX OS.
   www.classiccmp.org/dunfield/d6809/index.htm
Yes!  That's great!  I've seen your CUBIX system and it is really
nice.  The 6809 SBC I'm making is really a dual processor.  I am
calling it a "host processor" as I am not sure of its actual name.  In
short though the 6809 communicates through a 6821 via 8255 to a Z80
system doing almost all of the system IO.  From the 6809 perspective,
it should be rather easy to implement IO since it is all based on the
6821.  The rest of the detailed IO (serial, parallel, RTC, FDC, IDE,
etc) will have to be handled by the Z80 IO processor.
Post by Dave Dunfield
Please check it out and see what you think.
Will do!  Thanks!  I think a CUBIX port would be great!  My prototype
build is going well but it hit a snag today.  I had two 28C16 EEPROMs
set aside for this project but when I went to test them they are both
bad.  :-(  I've had them for quite a while but hadn't used these
particular chips before.  I tested them in two different EPROM/EEPROM
programmers and they each fail differently.  I'll probably substitute
plain 2716's until I can get some replacement 28C16s and those should
work, I hope.
Post by Dave Dunfield
The instruction sets on these guys is so simple that you should be able to
code a C simulator in a few thousand lines at most, that likely outperforms
the  original chip.
I've posted a PC based simulator for my 6809 homebult at the page
mentioned above, and yes it's much faster than the original machine.
Not the same however ... nothing beats the satisfaction you'll get from
building a working physical/tangible computer system with your own
hands.
Dave
Well said!  Nothing beats real hardware.  Thanks and have a nice day!
Andrew Lynch
Post by Dave Dunfield
--
dunfield.   Classic computer collection:  www.classiccmp.org/dunfield
com        - Hide quoted text -
- Show quoted text -
Hi!  Good news!  I was able to finish building the 6809 prototype this
evening and do the wring out against the schematic.  It works!
Yahoo!  If you would like to see some fuzzy pictures of the prototype
I uploaded them in the N8VEM wiki in the m6809 folder.
I am using a two 2716 EPROMs instead of the 28C16 EEPROMs I meant to
use since both of my 28C16s were bad.  The 2716s work but require the
Data IO 29B to program them.  Apparently they are so "old school" that
any of the recent EPROM programmers can't handle the required
programming voltages.  I think I dig around and see if I can't find
some 27C16s which might work.
The two programs I am running are extremely simple and its not even
all that apparent they are running right away.  With the oscilloscope
I can tell they are working or at least they are doing what I'd expect
them to be doing.
The first one is just the basic jump loop to see if the CPU is
responding to a reset.  The reset vector sends the CPU into a single
instruction program that jumps to back on itself endlessly.  It
doesn't do much but it tells you a lot in what it doesn't do.  It
helps check out the chip selects, data, and address lines to make sure
they are responding normally and no funny stuff where it shouldn't be.
The second program is a little more exciting as it is sends an
increasing sequence of bytes to the PIA output port A.  You can tell
its working because the chip selects on the ROM and PIA are
oscillating back and forth.  Also the PIA outputs have a decreasing
sequence of square waves.  PA0 is a square wave, PA1 is 50% PA0's
frequency, PA2 is 25%, etc.
So its been a good day.  The 6809 SBC is up and running.  What's next
is to attach the 8255 to the 6821 and start the communication between
the parallel IO chips.  The first part is easy which is to just hook
up the parallel data lines.  That should be OK.  Then the hard part is
to get the control lines connected and the programming on the 6809 and
Z80 to set up some handshaking.
Thanks and have a nice day!
Andrew Lynch- Hide quoted text -
- Show quoted text -
Hi! Quick update on the 6809 SBC project. The board is working and I
am trying to get the 6821 to 8255 interface working. I'm having mixed
results with it.

The good news is that I found some DS1220's around which are drop in
replacements for 28C16/2716 and are a lot easier to program. That's
nice.

The 6809 SBC is using the 6821 as its only peripheral. Port A of the
6821 is attached to port A of the 8255. Port B of the 6821 is
attached to the port B of the 8255. I have some handshaking lines
hooked up too but right now I am focusing on data transfer without the
handshaking to ensure the connections are valid.

With the 6821/8255, I can make the 6821 produce output on port A and
use the 8255 to read the value. No handshaking is involved yet. I
can program the 8255 to generate an output on the port B but don't
seem to be able to read it yet. I am experimenting and would like to
read a value on one port and repeat in on another as sort of a loop
back test.

Thanks and have a nice day!

Andrew Lynch

What I'd like to do is output a value on
lynchaj
2009-03-10 00:59:23 UTC
Permalink
Post by Dave Dunfield
Hi All!  I am building a 6809 SBC for the N8VEM system.  It will be on
an ECB board in an ECB backplane.  It will use the N8VEM system as its
IO processor.  All the information for hardware, software, and other
design material will be free and publicly posted as part of the N8VEM
home brew computing project.
Hey Andrew,
Glad to see you are still producing projects - the 6809 is probably my
favorite 8-bit architecture, so it's always good to see it being kept
alive.
Hi Dave!  Thanks!  I have always liked the 6809 too.  Its a really
neat CPU and probably the best of the line of the Motorola 8 bit
processors.
Post by Dave Dunfield
I've for a ton of 6809 code which might be useful to you, including a couple
of pretty decent monitors (simple hardware-debug monitor which uses NO
RAM - no even for a stack, and a fairly nice software debug monitor with
lots of goodies).
Thanks!  That's great!  I'll bet those will be useful!
Post by Dave Dunfield
This board sounds like it would be a good candidate for my CUBIX OS.
   www.classiccmp.org/dunfield/d6809/index.htm
Yes!  That's great!  I've seen your CUBIX system and it is really
nice.  The 6809 SBC I'm making is really a dual processor.  I am
calling it a "host processor" as I am not sure of its actual name.  In
short though the 6809 communicates through a 6821 via 8255 to a Z80
system doing almost all of the system IO.  From the 6809 perspective,
it should be rather easy to implement IO since it is all based on the
6821.  The rest of the detailed IO (serial, parallel, RTC, FDC, IDE,
etc) will have to be handled by the Z80 IO processor.
Post by Dave Dunfield
Please check it out and see what you think.
Will do!  Thanks!  I think a CUBIX port would be great!  My prototype
build is going well but it hit a snag today.  I had two 28C16 EEPROMs
set aside for this project but when I went to test them they are both
bad.  :-(  I've had them for quite a while but hadn't used these
particular chips before.  I tested them in two different EPROM/EEPROM
programmers and they each fail differently.  I'll probably substitute
plain 2716's until I can get some replacement 28C16s and those should
work, I hope.
Post by Dave Dunfield
The instruction sets on these guys is so simple that you should be able to
code a C simulator in a few thousand lines at most, that likely outperforms
the  original chip.
I've posted a PC based simulator for my 6809 homebult at the page
mentioned above, and yes it's much faster than the original machine.
Not the same however ... nothing beats the satisfaction you'll get from
building a working physical/tangible computer system with your own
hands.
Dave
Well said!  Nothing beats real hardware.  Thanks and have a nice day!
Andrew Lynch
Post by Dave Dunfield
--
dunfield.   Classic computer collection:  www.classiccmp.org/dunfield
com        - Hide quoted text -
- Show quoted text -
Hi!  Good news!  I was able to finish building the 6809 prototype this
evening and do the wring out against the schematic.  It works!
Yahoo!  If you would like to see some fuzzy pictures of the prototype
I uploaded them in the N8VEM wiki in the m6809 folder.
I am using a two 2716 EPROMs instead of the 28C16 EEPROMs I meant to
use since both of my 28C16s were bad.  The 2716s work but require the
Data IO 29B to program them.  Apparently they are so "old school" that
any of the recent EPROM programmers can't handle the required
programming voltages.  I think I dig around and see if I can't find
some 27C16s which might work.
The two programs I am running are extremely simple and its not even
all that apparent they are running right away.  With the oscilloscope
I can tell they are working or at least they are doing what I'd expect
them to be doing.
The first one is just the basic jump loop to see if the CPU is
responding to a reset.  The reset vector sends the CPU into a single
instruction program that jumps to back on itself endlessly.  It
doesn't do much but it tells you a lot in what it doesn't do.  It
helps check out the chip selects, data, and address lines to make sure
they are responding normally and no funny stuff where it shouldn't be.
The second program is a little more exciting as it is sends an
increasing sequence of bytes to the PIA output port A.  You can tell
its working because the chip selects on the ROM and PIA are
oscillating back and forth.  Also the PIA outputs have a decreasing
sequence of square waves.  PA0 is a square wave, PA1 is 50% PA0's
frequency, PA2 is 25%, etc.
So its been a good day.  The 6809 SBC is up and running.  What's next
is to attach the 8255 to the 6821 and start the communication between
the parallel IO chips.  The first part is easy which is to just hook
up the parallel data lines.  That should be OK.  Then the hard part is
to get the control lines connected and the programming on the 6809 and
Z80 to set up some handshaking.
Thanks and have a nice day!
Andrew Lynch- Hide quoted text -
- Show quoted text -
Hi!  Quick update on the 6809 SBC project.  The board is working and I
am trying to get the 6821 to 8255 interface working.  I'm having mixed
results with it.
The good news is that I found some DS1220's around which are drop in
replacements for 28C16/2716 and are a lot easier to program.  That's
nice.
The 6809 SBC is using the 6821 as its only peripheral.  Port A of the
6821 is attached to port A of the 8255.  Port B of the 6821 is
attached to the port B of the 8255.  I have some handshaking lines
hooked up too but right now I am focusing on data transfer without the
handshaking to ensure the connections are valid.
With the 6821/8255, I can make the 6821 produce output on port A and
use the 8255 to read the value.  No handshaking is involved yet.  I
can program the 8255 to generate an output on the port B but don't
seem to be able to read it yet.  I am experimenting and would like to
read a value on one port and repeat in on another as sort of a loop
back test.
Thanks and have a nice day!
Andrew Lynch
What I'd like to do is output a value on- Hide quoted text -
- Show quoted text -
Hi! Since yesterday I have found a major bug in all of my 6809 test
programs and fixed it. Now I can demonstrate 6821/8255
communication. The handshaking is not in place yet but even that
mostly works. This is good news!

Thanks and have a nice day!

Andrew Lynch
lynchaj
2009-03-11 01:54:56 UTC
Permalink
Post by lynchaj
Post by Dave Dunfield
Hi All!  I am building a 6809 SBC for the N8VEM system.  It will be on
an ECB board in an ECB backplane.  It will use the N8VEM system as its
IO processor.  All the information for hardware, software, and other
design material will be free and publicly posted as part of the N8VEM
home brew computing project.
Hey Andrew,
Glad to see you are still producing projects - the 6809 is probably my
favorite 8-bit architecture, so it's always good to see it being kept
alive.
Hi Dave!  Thanks!  I have always liked the 6809 too.  Its a really
neat CPU and probably the best of the line of the Motorola 8 bit
processors.
Post by Dave Dunfield
I've for a ton of 6809 code which might be useful to you, including a couple
of pretty decent monitors (simple hardware-debug monitor which uses NO
RAM - no even for a stack, and a fairly nice software debug monitor with
lots of goodies).
Thanks!  That's great!  I'll bet those will be useful!
Post by Dave Dunfield
This board sounds like it would be a good candidate for my CUBIX OS.
   www.classiccmp.org/dunfield/d6809/index.htm
Yes!  That's great!  I've seen your CUBIX system and it is really
nice.  The 6809 SBC I'm making is really a dual processor.  I am
calling it a "host processor" as I am not sure of its actual name.  In
short though the 6809 communicates through a 6821 via 8255 to a Z80
system doing almost all of the system IO.  From the 6809 perspective,
it should be rather easy to implement IO since it is all based on the
6821.  The rest of the detailed IO (serial, parallel, RTC, FDC, IDE,
etc) will have to be handled by the Z80 IO processor.
Post by Dave Dunfield
Please check it out and see what you think.
Will do!  Thanks!  I think a CUBIX port would be great!  My prototype
build is going well but it hit a snag today.  I had two 28C16 EEPROMs
set aside for this project but when I went to test them they are both
bad.  :-(  I've had them for quite a while but hadn't used these
particular chips before.  I tested them in two different EPROM/EEPROM
programmers and they each fail differently.  I'll probably substitute
plain 2716's until I can get some replacement 28C16s and those should
work, I hope.
Post by Dave Dunfield
The instruction sets on these guys is so simple that you should be able to
code a C simulator in a few thousand lines at most, that likely outperforms
the  original chip.
I've posted a PC based simulator for my 6809 homebult at the page
mentioned above, and yes it's much faster than the original machine.
Not the same however ... nothing beats the satisfaction you'll get from
building a working physical/tangible computer system with your own
hands.
Dave
Well said!  Nothing beats real hardware.  Thanks and have a nice day!
Andrew Lynch
Post by Dave Dunfield
--
dunfield.   Classic computer collection:  www.classiccmp.org/dunfield
com        - Hide quoted text -
- Show quoted text -
Hi!  Good news!  I was able to finish building the 6809 prototype this
evening and do the wring out against the schematic.  It works!
Yahoo!  If you would like to see some fuzzy pictures of the prototype
I uploaded them in the N8VEM wiki in the m6809 folder.
I am using a two 2716 EPROMs instead of the 28C16 EEPROMs I meant to
use since both of my 28C16s were bad.  The 2716s work but require the
Data IO 29B to program them.  Apparently they are so "old school" that
any of the recent EPROM programmers can't handle the required
programming voltages.  I think I dig around and see if I can't find
some 27C16s which might work.
The two programs I am running are extremely simple and its not even
all that apparent they are running right away.  With the oscilloscope
I can tell they are working or at least they are doing what I'd expect
them to be doing.
The first one is just the basic jump loop to see if the CPU is
responding to a reset.  The reset vector sends the CPU into a single
instruction program that jumps to back on itself endlessly.  It
doesn't do much but it tells you a lot in what it doesn't do.  It
helps check out the chip selects, data, and address lines to make sure
they are responding normally and no funny stuff where it shouldn't be.
The second program is a little more exciting as it is sends an
increasing sequence of bytes to the PIA output port A.  You can tell
its working because the chip selects on the ROM and PIA are
oscillating back and forth.  Also the PIA outputs have a decreasing
sequence of square waves.  PA0 is a square wave, PA1 is 50% PA0's
frequency, PA2 is 25%, etc.
So its been a good day.  The 6809 SBC is up and running.  What's next
is to attach the 8255 to the 6821 and start the communication between
the parallel IO chips.  The first part is easy which is to just hook
up the parallel data lines.  That should be OK.  Then the hard part is
to get the control lines connected and the programming on the 6809 and
Z80 to set up some handshaking.
Thanks and have a nice day!
Andrew Lynch- Hide quoted text -
- Show quoted text -
Hi!  Quick update on the 6809 SBC project.  The board is working and I
am trying to get the 6821 to 8255 interface working.  I'm having mixed
results with it.
The good news is that I found some DS1220's around which are drop in
replacements for 28C16/2716 and are a lot easier to program.  That's
nice.
The 6809 SBC is using the 6821 as its only peripheral.  Port A of the
6821 is attached to port A of the 8255.  Port B of the 6821 is
attached to the port B of the 8255.  I have some handshaking lines
hooked up too but right now I am focusing on data transfer without the
handshaking to ensure the connections are valid.
With the 6821/8255, I can make the 6821 produce output on port A and
use the 8255 to read the value.  No handshaking is involved yet.  I
can program the 8255 to generate an output on the port B but don't
seem to be able to read it yet.  I am experimenting and would like to
read a value on one port and repeat in on another as sort of a loop
back test.
Thanks and have a nice day!
Andrew Lynch
What I'd like to do is output a value on- Hide quoted text -
- Show quoted text -
Hi! Since yesterday I have found a major bug in all of my 6809 test
programs and fixed it.  Now I can demonstrate 6821/8255
communication.  The handshaking is not in place yet but even that
mostly works.  This is good news!
Thanks and have a nice day!
Andrew Lynch- Hide quoted text -
- Show quoted text -
Hi All! The N8VEM 6809 host processor testing is continuing. Tonight
I got the 6821/8255 handshaking to work, I think. I also wrote a
small Z80 program to act as a terminal. The program isn't much but it
lets me type on the N8VEM SBC console and it sends characters to the
6809 which loops them back. I can see the characters flowing back and
forth across the 8255 and 6821. The handshaking lines are twiddling
as you'd expect with pulses.

The next step is to break the 6809 loop back test program into
subroutines and start developing a simple ROM monitor program. If
anyone has a small but useful 6809 monitor with character in/out
subroutines please let me know. The whole thing has to fit in a 2K
ROM so it has to be small.

Thanks and have a nice day!

Andrew Lynch
Geo
2009-03-11 15:12:50 UTC
Permalink
On Tue, 10 Mar 2009 18:54:56 -0700 (PDT), lynchaj <***@yahoo.com> wrote:

<old stuff snipped>
Post by lynchaj
The next step is to break the 6809 loop back test program into
subroutines and start developing a simple ROM monitor program. If
anyone has a small but useful 6809 monitor with character in/out
subroutines please let me know. The whole thing has to fit in a 2K
ROM so it has to be small.
$f800 to $ffff is the standard location
look at the s-bug listing etc here:-
http://www.swtpc.com/mholley/MP_09/MP_09_Index.htm
--
Geo
lynchaj
2009-03-12 02:16:19 UTC
Permalink
This post might be inappropriate. Click to display it.
Bjarne Bäckström
2009-03-12 02:55:15 UTC
Permalink
I am not sure about the licencing on FLEX, CUBIX, or OS9 either so I need
to investigate it
On FLEX and third party software copyrights here:
<http://flexusergroup.com/flexusergroup/fug7.htm>
--
Geo
2009-03-12 14:16:32 UTC
Permalink
Post by lynchaj
I think what I am going to
do is start with the Motorola MIKBUG and study that debug monitor.
I'll use it as a guide to write my own debug monitor. Since it is a
Motorola reference document and if I am careful I should be able to
make my own fairly easily using the Motorola standard. I assume they
published it for that purpose; at least that's how I read the
datasheet.
That is how I started many years back.
Post by lynchaj
Are there any free/open source 6809 debug monitors?
Just use the S-bug one - it does everything you need and I used it for years -
maybe with some slight mods to suit my hardware.
Post by lynchaj
I am not sure about the licencing on FLEX
No problem with Flex and I suggest that might be a good path to follow when
creating the hardware to keep all the UART and PIA addresses consistent.
You will get lots of support and information in the FUG. Also check out the 68
Micro Journal magazine of the era.
Post by lynchaj
The 6809 host processor ROM, which is really a DS1220 NVSRAM right
now, is $F800-$FFFF and the IO page is $F000-$F7FF. The only thing in
the IO page is the PIA so of the 2048 possible addresses, only 4 are
used. I am thinking to add a RAM addressing latch so builders can use
the 512Kx8 SRAM parts and page in the lower 32K page.
Flex used a fast (TTL) address translation rom for 64k page addressing (with a
hole for IO and ROM).
--
Geo
lynchaj
2009-04-04 16:33:03 UTC
Permalink
Post by Geo
Post by lynchaj
I think what I am going to
do is start with the Motorola MIKBUG and study that debug monitor.
I'll use it as a guide to write my own debug monitor.  Since it is a
Motorola reference document and if I am careful I should be able to
make my own fairly easily using the Motorola standard.  I assume they
published it for that purpose; at least that's how I read the
datasheet.
That is how I started many years back.
[snip]
Post by Geo
--
Geo
Hi! Work continues on the N8VEM 6809 host processor project. I have
some non-hobby related issues which are impeding progress but so far
things are moving if rather slowly.

As of today, I have a modified version of the Motorola MINIBUG debug
monitor running. I have implemented all the commands and can now do
some basic debugging. The most important functions are the ability to
load arbitrary data and programs into RAM with the S19 loader
function, memory inspection, and the execute program command.

Thanks and have a nice day!

Andrew Lynch
lynchaj
2009-05-30 14:45:48 UTC
Permalink
Post by lynchaj
Post by Geo
Post by lynchaj
I think what I am going to
do is start with the Motorola MIKBUG and study that debug monitor.
I'll use it as a guide to write my own debug monitor.  Since it is a
Motorola reference document and if I am careful I should be able to
make my own fairly easily using the Motorola standard.  I assume they
published it for that purpose; at least that's how I read the
datasheet.
That is how I started many years back.
[snip]
Post by Geo
--
Geo
Hi!  Work continues on the N8VEM 6809 host processor project.  I have
some non-hobby related issues which are impeding progress but so far
things are moving if rather slowly.
As of today, I have a modified version of the Motorola MINIBUG debug
monitor running.  I have implemented all the commands and can now do
some basic debugging.  The most important functions are the ability to
load arbitrary data and programs into RAM with the S19 loader
function, memory inspection, and the execute program command.
Thanks and have a nice day!
Andrew Lynch
Hi All! I haven't forgotten about the N8VEM 6809 host processor
project although it has taken longer than I anticipated. The PCB is
basically ready now for manufacturing order. Please take a look at
the updated information on the N8VEM wiki. It would be great if some
6809 enthusiasts would join the N8VEM project and build one of these
systems so more 6809 software could be ported over. Then a fully open
system with current production would be available for the 6809
community.

As of now, all I have working is a crude port of the Motorola minibug
software and a corresponding terminal program for the N8VEM SBC. The
good news is that it allows loading and execution of arbitrary 6809
programs (s19 format) which should help in debugging. Someday I'd
like to get a full fledged OS ported over as well like FLEX, CUBIX, or
OS-9. I uploaded what software I have written to the wiki folder as
well as the schematic, PCB layout, etc.

http://n8vem-sbc.pbworks.com/browse/#view=ViewFolder&param=m6809

Please take a look at the design and let me know if you find any
problems, have questions or suggestions. Thanks and have a nice day!

Andrew Lynch
lynchaj
2009-06-13 15:12:04 UTC
Permalink
[snip]
Hi All!  I haven't forgotten about the N8VEM 6809 host processor
project although it has taken longer than I anticipated.  The PCB is
basically ready now for manufacturing order.  Please take a look at
the updated information on the N8VEM wiki.  It would be great if some
6809 enthusiasts would join the N8VEM project and build one of these
systems so more 6809 software could be ported over.  Then a fully open
system with current production would be available for the 6809
community.
As of now, all I have working is a crude port of the Motorola minibug
software and a corresponding terminal program for the N8VEM SBC.  The
good news is that it allows loading and execution of arbitrary 6809
programs (s19 format) which should help in debugging.  Someday I'd
like to get a full fledged OS ported over as well like FLEX, CUBIX, or
OS-9.  I uploaded what software I have written to the wiki folder as
well as the schematic, PCB layout, etc.
http://n8vem-sbc.pbworks.com/browse/#view=ViewFolder¶m=m6809
Please take a look at the design and let me know if you find any
problems, have questions or suggestions.  Thanks and have a nice day!
Andrew Lynch- Hide quoted text -
- Show quoted text -
Hi! The N8VEM 6809 host processor PCBs are available. Please contact
me by email if you would like one of the PCBs. They are $20 each plus
shipping as per all the N8VEM Eurocard ECB PCBs.

I am looking for some interested hobbyists for a porting of FLEX and/
or CUBIX to the N8VEM system. The board currently has a version of
the Motorola MiniBug running. Probably other monitor/debugging
programs could be ported too.

Lately, I've been busy making an N8VEM VDU board. I would like to
finish that before doing any other projects. The good news is the VDU
board generates video. I am presently adding a PS/2 keyboard
interface.

With any luck, we could have a completely open, free, and fully
published standalone Z80 and/or 6809 home brew system in the near
future. The Z80 would be the IO controller and could run CP/M
directly or concurrently with the 6809. The N8VEM project already has
the Z80 SBC, ECB backplane, ECB bus monitor, ECB prototyping board,
Disk IO board, Zilog Peripherals (timer, dual serial, four parallel),
and now the 6809 host processor. Once the VDU is done it will be
completely independent of the terminal/PC used to load & save
development information.

I have lots of other ideas in the works too. Of course, if anyone is
interested in making a native 6809 ECB board that would be great too.
Something based on the 6809E or 68HC11 or coldfire, etc would be
awesome.

Thanks and have a nice day!

Andrew Lynch

Loading...