[Coco] FW: My 6809 Computer is Working!

Paulo Lindoso paulo.lindoso at gmail.com
Thu Jul 26 08:36:55 EDT 2012


Absolutely!

These days i get happy just to spare 10 minutes to READ the list... ! (and
post an odd useless remark ;) )

Cheers
Em 26/07/2012 03:17, "Erturk Kocalar" <erturkk at kocalar.com> escreveu:

> Hi Kip,
>
> I envy you soo much.  You can find time to work on fun projects and keep
> us upto date.  Keep on going.
>
> It's depressing for me but I'm happy to read your adventures ;)
>
> Good luck,
> Erturk (Simon6809 and Simon6809 Turbo ;))
>
> Sent from my iPhone
>
> On Jul 25, 2012, at 6:59 PM, "Kip Koon" <computerdoc at sc.rr.com> wrote:
>
> > John,
> >
> >
> >
> > Thank you so much for your suggestions.  I was concerned about the ACIA
> > being so low in memory also made me think a about it before I built it.
> > Since I had never built an 8-bit 6809 computer from scratch before and
> this
> > one had been designed and built with a nongraphic version of Tandy's
> > Extended Color Basic in it that was the clincher.  I cut my post college
> > computer learning years on Tandy's Color Computers.  At one time I had a
> > Coco1, 2 and 3 with 4 floppy drives and a 20BM MFM hard drive too.  I
> > thoroughly enjoyed that computer.  So to make a long story short, I
> figured
> > I could alter the placement of the I/O later once I get my proverbial
> tooth
> > cut building Grant's 6-chip 6809 computer to the $FFxx region.
> >
> >
> >
> > In my next project I'll be building SiMon6809 which has a USB port
> placed at
> > $D000 which for me is still too low.  The link to Simon6809 appears
> below:
> >
> >
> >
> > http://www.8bitforce.com/simon6809/
> >
> >
> >
> > But after it is working , I'll be moving that USB port up to the $FFxx
> > region or maybe the $Exxx like SWTPC computers.  I'm not sure yet. Maybe
> > eventually I could create a dual memory map version.  That could be a
> very
> > interesting but complex learning experience.  I'd definitely create some
> > more wrinkles in my brain working on it. J I'm waiting on some supplies,
> so
> > it could be a little while.  In the meantime, I'll be brushing up on my
> > decoding logic as it applies to 8-bit microprocessor applications.  This
> is
> > so much fun.  The modern chips we have available make implementation so
> much
> > nicer.
> >
> >
> >
> > I have never used Flex9 or even 6800 Flex, so I never really considered
> it.
> > I'll have to look into it.  I'd like to upgrade the next version with a
> DMA
> > Floppy disk controller so I can run disk-based OSs Flex, OS-9 and
> NitrOS-9
> > and Uniflex.  I'm game for it all.  It will be like old times, but
> better.
> > Isn't dreaming FUN?!  Let me go for now.  I'll keep you all up to date as
> > things progress.
> >
> >
> >
> > Kip
> >
> >
> >
> > -----Original Message-----
> > From: coco-bounces at maltedmedia.com [mailto:coco-bounces at maltedmedia.com]
> On
> > Behalf Of John Kent
> > Sent: Tuesday, July 24, 2012 8:17 AM
> > To: CoCoList for Color Computer Enthusiasts
> > Subject: Re: [Coco] FW: My 6809 Computer is Working!
> >
> >
> >
> >
> >
> > Kip,
> >
> >
> >
> > You could add a floppy disk controller to it.
> >
> > I tend to follow the South West Technical Products Computer 6809 memory
> map
> > in my FPGA designs as it allows for more contiguous RAM.
> >
> > The SWTPc has RAM mapped from $0000 to $DFFF, giving 56K of RAM.
> >
> > $E000 - $EFFF is used for I/O. Typically I/O is mapped in 10 x 16 bytes
> > slots.
> >
> > They have 10 slots because they use a decade decoder (74LS42 ?)
> >
> > $F000 - $F7FF can be used for EPROM such as one of the OS9 boot ROMs.
> >
> > It can also be used for a DMA Floppy disk controller.
> >
> > $F800 - $FFFF is used for a Boot ROM, such as SBUG.
> >
> > It's also used for an OS9 boot ROM if you want to run OS9.
> >
> > Some of the SWTPC boards use a 16 byte write only register file mapped at
> > $FFF0 to $FFFF to map in up to 1MB of RAM in 4Kbyte blocks. The extra
> memory
> > can be used for running OS9 level 2 if you can get hold of it or UniFlex,
> > although that might need a DMA Floppy disk controller.
> >
> >
> >
> > The SWTPc memory map is more intended for running the Flex disk operating
> > system, so that things like BASIC and so on can be loaded off floppy disk
> > into memory.
> >
> > I'm not sure if it's possible to design a hybrid SWTPc that also supports
> > CoCo hardware as well.
> >
> >
> >
> > Kip, you'd be better off using $E000 for I/O rather than $A000 as that
> would
> > give you more continuous RAM.
> >
> > On the SWTPC Flex9 sits at $C000 - $DFFF where you have the ROMed Basic
> > interpreter. If you have that as RAM, you might be able to read the BASIC
> > ROM from an I/O location and copy it into RAM. You could have two
> >
> > 8 bit latches/ D flip flops (74LS374s)  at an I/O location somewhere that
> > you write the address to and read the contents of the ROM back and write
> it
> > into RAM.
> >
> >
> >
> > To run Flex9 you need a floppy disk controller (or an IDE drive) a 6850
> ACIA
> > at $E000-$E00F and that's about it. There is a lot for free Flex9
> software
> > out there.
> >
> >
> >
> > It's a bit off the topic for the CoCo list sorry. A CoCo 1 or 2 wouldn't
> be
> > too hard to build. the 32K SRAM chips out of a 486 cache have a 20 -
> 25nsec
> > access time, so you wouldn't need a SAM to interleave the CPU with the
> VDG
> > for video accesses.
> >
> >
> >
> > John.
> >
> >
> >
> > On 23/07/2012 11:26 AM, Juan Castro wrote:
> >
> >> Suggestion: external clock circuitry so the much more ubiquitous 6809E
> >
> >> can be used. (If the lack of MRDY won't screw up with your
> >
> >> multiprocessing
> >
> >> ideas.)
> >
> >>
> >
> >> Juan
> >
> >>
> >
> >> On Sun, Jul 22, 2012 at 2:24 AM, Kip Koon < <mailto:
> computerdoc at sc.rr.com>
> > computerdoc at sc.rr.com> wrote:
> >
> >>
> >
> >>> Hello Everybody,
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> I'd like to report that I finally got Grant's 6-chip 6809 computer
> > working!
> >
> >>> It is so wonderful to actually build your own computer from scratch
> >
> >>> and see your creation come to life and display "Hello World" which is
> >
> >>> actually the first program I typed in. J  It's kind of tradition
> >
> >>> anyway.  I've seen several small microprocessor projects on the
> >
> >>> internet being demoed with the standard "Hello World" message.  It
> >
> >>> was my first C++ program years ago anyway.
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> I built the first version of my 6809 computer exactly like Grant's
> >
> >>> 6-chip
> >
> >>> 6809 computer with exactly the same memory map as shown below. It has
> >
> >>> 32KB of ram at $0000 to $7FFF with the 16KB eprom at $C000 to $FFFF
> >
> >>> programmed with Grant's 6809 Extended Basic.  The Basic Interpreter
> >
> >>> actually starts at $DB00, so there is a lot of empty eprom space
> >
> >>> leftover for some type of monitor - 6.75KB I believe.
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> The initial memory map is as follows:
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> $0000
> >
> >>>
> >
> >>>    |          32KB RAM
> >
> >>>
> >
> >>> $7FFF
> >
> >>>
> >
> >>> $8000
> >
> >>>
> >
> >>>     |          8KB Unused
> >
> >>>
> >
> >>> $9FFF
> >
> >>>
> >
> >>> $A000
> >
> >>>
> >
> >>>     |          8KB I/O Space: MC68B50 ACIA chip is addressed at
> > $A000-$A001
> >
> >>> (Address Bus is not fully decoded.  The ACIA appears throughout the
> >
> >>> $A000-$BFFF address space.)
> >
> >>>
> >
> >>> $BFFF
> >
> >>>
> >
> >>> $C000
> >
> >>>
> >
> >>>     |          16KB EPROM programmed with 6809 Extended Basic beginning
> > at
> >
> >>> $DB00.
> >
> >>>
> >
> >>> $FFFF
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> Well the obvious next step is to extend the ram up to the indicated
> >
> >>> $9FFF limit in the design.  So I did!  I had a small supply of 32KB
> >
> >>> ram chips I had robbed from an old 486 motherboard not knowing at the
> >
> >>> time that they were 32KB ram chips.  Was I surprised when I looked
> >
> >>> them up on the internet.
> >
> >>> I used one for the initial 32KB of ram and added a second one at
> >
> >>> $8000 - $9FFF for another 8KB of ram.  Obviously I just used part of
> >
> >>> the second 32KB ram chip.  Later on, I plan to use more after I
> >
> >>> rearrange the I/O space.
> >
> >>> Now
> >
> >>> my little 6809 computer has 40KB of ram space located from
> >
> >>> $0000-$9FFF!  So the memory map is modified as follows:
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> $0000
> >
> >>>
> >
> >>>    |          40KB RAM
> >
> >>>
> >
> >>> $9FFF
> >
> >>>
> >
> >>> $A000
> >
> >>>
> >
> >>>     |          8KB I/O Space: MC68B50 ACIA chip is addressed at
> > $A000-$A001
> >
> >>> (Address Bus is not fully decoded.  The ACIA appears throughout the
> >
> >>> $A000-$BFFF address space.)
> >
> >>>
> >
> >>> $BFFF
> >
> >>>
> >
> >>> $C000
> >
> >>>
> >
> >>>     |          16KB EPROM programmed with 6809 Extended Basic beginning
> > at
> >
> >>> $DB00.
> >
> >>>
> >
> >>> $FFFF
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> Then I added an MC68B21 PIA chip decoded to $A004 - $A007 and
> >
> >>> connected an
> >
> >>> AY-3-8910 Programmable Sound Generator Chip to the two ports of the
> >
> >>> PIA chip.  I was having some problems with the initial testing of the
> >
> >>> PIA so I added two SN74LS244 Octal buffer chips each one connected to
> >
> >>> 8 LEDs one to each port of the PIA so I could see what the two PIA
> ports
> > were doing.
> >
> >>> Well, every time I pressed the reset push button, the LEDS changed!
> >
> >>> I hadn't even written any code what so ever nor did any exist in the
> >
> >>> eprom, so I knew something was wrong!  As you all might have guessed
> >
> >>> I had not fully decoded the PIA chip to just the $A000-$BFFF address
> >
> >>> range yet!  I had just decoded A3 - A0 address lines.  A15 - A4 were
> >
> >>> never used.  No wonder the PIA wouldn't work correctly!  I couldn't
> >
> >>> hardly believe I had made such a gross mistake.  Therefore, the PIA
> >
> >>> chip appeared everywhere in the 64KB address space.  The funny and
> >
> >>> most interesting part was, the 6809 Extended Basic still functioned
> >
> >>> perfectly!  WOW!  So now the memory map is updated thusly:
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> $0000
> >
> >>>
> >
> >>>    |          40KB RAM
> >
> >>>
> >
> >>> $9FFF
> >
> >>>
> >
> >>> $A000
> >
> >>>
> >
> >>>     |          8KB I/O Space: MC68B50 ACIA chip is addressed at
> > $A000-$A001
> >
> >>> (Address Bus is not fully decoded.  The ACIA appears throughout the
> >
> >>> $A000-$BFFF address space.)
> >
> >>>
> >
> >>> $BFFF                                    MC68B21 PIA chip is addressed
> at
> >
> >>> $A004-$A007 (Address bus is definitely NOT fully decoded, yet.  It
> >
> >>> appears everywhere.  Oops.)
> >
> >>>
> >
> >>> $C000
> >
> >>>
> >
> >>>     |          16KB EPROM programmed with 6809 Extended Basic beginning
> > at
> >
> >>> $DB00.
> >
> >>>
> >
> >>> $FFFF
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> Although I can use the 6809 Extended Basic, I have yet to see the
> >
> >>> power on boot up message.  I have to press reset a couple of times
> >
> >>> before I see the OK message prompt.  Can Anyone tell me why?  I think
> >
> >>> a capacitor is missing between the reset button and ground, and if so I
> > need a value for the cap.
> >
> >>> I've tried several resister values a 100uf and 0.1uf capacitor values
> >
> >>> but nothing has worked so far regarding power on reset working
> >
> >>> correctly.  The schematic for the initial version of Grant's 6-chip
> >
> >>> 6809 computer is attached as a .png file.  This is the schematic I
> > started my project with.
> >
> >>> I will eventually be adding my additions to a new version of the
> > schematic.
> >
> >>> I'm just not sure yet what I'll use to draw the schematic with.
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> I just received some more hook-up wire so I'll be fixing the
> >
> >>> addressing problem with the PIA.  After that, testing the PIA chip
> should
> > be easy.
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> My next addition which I am in the middle of adding to my 6809
> >
> >>> computer is a UM245R USB Prototype board from FTDI.  Since the FT245R
> >
> >>> chip is a ssop, they put it on a PCB with 24 legs so it will fit on a
> >
> >>> breadboard prototyping design layout just like a real 24-pin chip.  I
> >
> >>> love it!  As soon as it is hooked up, I will be programming an eprom
> >
> >>> with the Simon6809 monitor
> >
> >>> program.   Simon6809 communicates with the host PC through - you
> guessed
> > it
> >
> >>> - the USB port!  I can hardly wait to see that working!  You can
> >
> >>> google "Simon6809" for further information if you're interested.
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> That's all for now with the continuing saga of my Home Brewed 6809
> >
> >>> computer.
> >
> >>> My little baby is growing.  It's so exciting!  Take care everyone.
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> Kip
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>>
> >
> >>> --
> >
> >>> Coco mailing list
> >
> >>> <mailto:Coco at maltedmedia.com> Coco at maltedmedia.com
> >
> >>> <http://five.pairlist.net/mailman/listinfo/coco>
> > http://five.pairlist.net/mailman/listinfo/coco
> >
> >>>
> >
> >> --
> >
> >> Coco mailing list
> >
> >> <mailto:Coco at maltedmedia.com> Coco at maltedmedia.com
> >
> >> <http://five.pairlist.net/mailman/listinfo/coco>
> > http://five.pairlist.net/mailman/listinfo/coco
> >
> >>
> >
> >
> >
> > --
> >
> > <http://www.johnkent.com.au> http://www.johnkent.com.au
> >
> > <http://members.optusnet.com.au/jekent>
> > http://members.optusnet.com.au/jekent
> >
> >
> >
> >
> >
> >
> >
> > --
> >
> > Coco mailing list
> >
> > <mailto:Coco at maltedmedia.com> Coco at maltedmedia.com
> >
> > <http://five.pairlist.net/mailman/listinfo/coco>
> > http://five.pairlist.net/mailman/listinfo/coco
> >
> >
> >
> >
> > --
> > Coco mailing list
> > Coco at maltedmedia.com
> > http://five.pairlist.net/mailman/listinfo/coco
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>



More information about the Coco mailing list