MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues. 2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)

User:Computerdoc: Difference between revisions

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
Line 94: Line 94:
*I have designed, built and tested a Coco 3 compatible 512KB Memory Upgrade Board as shown below.
*I have designed, built and tested a Coco 3 compatible 512KB Memory Upgrade Board as shown below.
[[File:Kip's_512KB_Memory_Upgrade_mounted_in_a_Coco_3.jpg|1000px]]
[[File:Kip's_512KB_Memory_Upgrade_mounted_in_a_Coco_3.jpg|1000px]]
*Here is a closer view of the PCB.
[[File:Closer_view_of_Kip's_512KB_Memory_Upgrade_in_a_Coco_3.jpg|1000px]]


=='''Kipper - A New 6809 Based Computer'''==
=='''Kipper - A New 6809 Based Computer'''==

Revision as of 07:14, 1 March 2014

WELCOME
Looking for CoCo help? If you are trying to do something with your old Color Computer, read this quick reference. Want to contribute to this wiki? Be sure to read this first. This CoCo wiki project was started on October 29, 2004. --OS-9 Al

See Recent Changes. | About this site. | Join the E-Mail List or Facebook Group. | Contact me with updates/questions.

This page was last updated on 03/1/2014. Total Pages: 744. Total Files: 994.


Home / User List - Computerdoc


Introduction

  • First and foremost, I would like to express my gratitude and appreciation to Allen Huffman for extending an invitation to me to host my personal web page on his Cocopedia web server.
  • I invite you to check back periodically as I document my experiments with my Coco 3 setup and my 6809/6309 microprocessor computer projects.

Computer Repair Service Available in Manning, SC

  • First, the business aspects of my life.
  • I'm a Computer Consultant and also offer computer repair for Manning, Sumter, Florence, Charleston and Columbia in South Carolina. You can contact me with your specific needs at my email address by referring to the Contact section of this web page.

EPROM Burning Service Available

  • I am now setup to burn many different devices including Color Computer compatible 8K x 8 and 16K x 8 EPROMs. I also can burn many other sizes as well. Please email me with specific details and requirements.

Contact Information

  • You can email me at
c o m p u t e r d o c at s c dot r r dot c o m

for further information. Just remove the spaces and replace the words 'at' and 'dot' with the appropriate punctuation marks to arrive at a usable email address. The weird spacing and words is to try to prevent bots from automatically getting my email address of course.

d r w h o 7 7 7 7

and also on Yahoo Messenger as

d r w h o 7 7 7 7

and of course you can call me on the phone. If you wish to call me, please send me an email requesting the needed information.

  • Thank you.
  • Now that the business part of my life is out of the way, LET'S HAVE SOME FUN!

My Adventures with Eagle - The Schematic Entry and PCB Design Program

July 13, 2013

  • Although it has been quite awhile since I have updated this web page, I have been very busy learning how to design and have fabricated printed circuit boards (PCBs). At first I chose KiCAD for this purpose and although it is a very interesting program for this purpose, I did not like the fact that autorouting was not built in to the program. After placing the parts on the PCB layout, the user has to go to an external web page to do the autorouting. After asking around on the Coco List and a longtime best friend, I have decided to change to Eagle and learn it instead. I have been practicing entering schematics for a number of projects which I will eventually talk about here on this web page, but suffice it to say that I have gained a basic understanding of how Eagle works. I now understand why so many people on the Coco List and elsewhere on the internet are so keen on using this fine software package.
  • At this point I'm using the free version of Eagle so all my projects will have to fit on a PCB about 4" x 4" in size.
  • All my projects will use through hole ICs to make it easier for people new to soldering to assemble the project kits.
  • In the beginning the projects were very small and as I gained experience with Eagle, they grew in size. The first projects I played with were projects other people had created like:
    • A Slot Extender for the Color Computer - I actually had this one made.
    • A Simple 8-Bit Video Graphics Card with 64KB of static ram and a CPLD for all the logic.
    • A 512KB Ram Card using two 30-pin SIMM memory modules with 256 cycle refresh
    • A Multi-DOS Pak using a 1MB memory chip fully addressable using software
    • An 8 Slot Multi-Pak Interface
    • A Megavore that uses an Atmel XMega chip
    • A PS/2 Mouse Interface

which if you ask me is a nice list of projects to start learning from. As I gained experience, I started playing with a few very small projects like:

    • A DB9 RS-232 Connector to Pin Header Adapter suitable for breadboarding
    • A 40-Pin Header to Coco Slot Receptical Adapter - mates with the Slot Extender above to allow any Coco Cartridge Pak to connect to the Color Computer's internal slot so the entire PCB can be seen and tested. I plan to use this during all the testing of my Coco Slot compatible projects.
    • An IDC 40-Pin Connector to 40 Pin Breadboard Adapter - I'll be using this one to connect my breadboarded prototyped projects to the Coco to make sure the circuit works before having a PCB fabricated.
    • A Color Composite Video Output Interface - an implementation of Marty Goodman's Composite Video Monitor Circuit.

just to name a few. I have started several projects for the Coco which will remain a mystery for now until they are completed.

Implementing Grant Searle's 6-Chip 6809 Single Board Computer (SBC), 32KB Ram, Serial I/O at $A000

  • Now I have finally gained enough experience to seriously consider entering the schematic for Grant Searle's 6-Chip 6809 Computer and design a PCB to turn my prototype into a real 68B09 single board computer with 32KBs of ram and a serial port at $A000. I have added a few minor modifications to the original design. I included RESET and HALT pushbuttons as well as LEDs for RESET and HALT for easy start and restart of the computer. I also added two more LEDs for the BA and BS outputs of the 6809 to more easily tell what the 6809 processor is doing.
  • Then I created several variations of Grant's 6-chip computer.

Grant Searle's 6-Chip 6809 Single Board Computer (SBC), 40KB Ram, Serial I/O at $A000

  • The first obvious change was adding more memory to the basic project. There is a hole in the memory map from $8000 to $9FFF which is between the current ram in the system and the serial port at $A000, so I designed my first real computer circuit add-on by adding 8KBs of ram using a 32KB static ram chip. This was pretty simple for me as I had been reading a bunch of IC Datasheets by this time.

Grant Searle's 6-Chip 6809 Single Board Computer (SBC), 48KB Ram, Serial I/O at $D000

  • The next update was to move the Serial I/O port from $A000 to $D000. Since the Basic code starts at $DB00, this was as high as I wished to go up to now. Then I added 8KBs more of ram to the system to raise the total ram up to 48KB of contiguous memory for the 6809 Extended Basic Interpreter in this cool little project. Since the 27128 Eprom starts at $C000 I'll have to devise a circuit to prevent the ram from being accessed when the serial I/O port or the eprom is being accessed which won't be hard. Just a little logic and it will be good to go.

Grant Searle's 6-Chip 6809 Single Board Computer (SBC), 55.5KBKB Ram, Serial I/O at $FF00

  • Next I wanted to make this computer compatible with the Coco, so to begin with I raised the Serial I/O port to $FF00 and opened up $FF00 to $FFEF for I/O and prevented the Eprom from being accessed.

Grant Searle's 6-Chip 6809 Single Board Computer (SBC), 56KB Ram, Serial I/O at $E000

  • It was suggested by some friends on the Coco List to run Flex9 on this little gem, so I changed the serial I/O port to $E000 so as to be compatible with Flex9.
  • At this point I rested my brain for a little bit and thought about all I had done with my little computer.

Coco 1 & 2 Color Composite/Component Video Monitor Driver with Sound

  • As you might have noticed below in the Coco Sections, I have not included a Coco 2 in my Computer Data Center yet. The reason is none of my Coco 2s have a Composite Video Monitor Driver board in them. Wanting to be able to run a Coco 2 in my Color Computer Data Center I decided to build me a PCB to do just that, give my Coco 2 a composite video output.
  • After much searching and having found several versions of several solutions, I finally picked Marty H. Goodman's Color Monitor Driver design and decided to build it. When I was entering this design into Eagle, I remembered some other designs that I had downloaded off the internet for a Component Video Design, a design with a Color Composite output and a Monochrome driver output along with a sound output. I decided to make a combined version that turned out quite well if I do say do myself. It has three video amplifiers using Marty's design so the user can hook up to the MC1372 chip inside the RF CAN to obtain a Color Composite feed as well as a Luminance, Cr and Cb feeds for Component Video. A mono sound circuit is also included.
  • I sent the PCB design to be fabricated and when the three prototype PCBs have been completed and I have received them I will populate one of the boards soon and post a video of this board in action to YouTube and send a link to it to the Coco List. I will also include the link here. I'll keep you posted with continuing updates for this project.

My Korean Coco 2B Internal Eprom Adapter

  • I have been working on a PCB design to get HDB-DOS running internally inside a Korean Coco 2B. When I receive the PCBs back from the fabricators, I'll populate one of the PCBs and install it into my Korean Coco 2B. Why the Korean Coco 2B you ask. Well I'm glad you asked that question.
  • A while back a member of the Coco list mentioned that he was booting Extended Color Basic from cassette. He asked for an Eprom to be burnt with CB 1.3 and ECB 1.1 for him. I asked him would he like anything else added to his Coco. He asked me if I had any ideas. Well, actually I did have one, so I said yes. Would he like to be able to boot straight into HDB-DOS without any cartridge. He said yes he would, so I put together an Eprom image with Color Basic(CB) 1.3, Extended Color Basic(ECB) 1.1 and HDB-DOS 1.3 with Drivewire 3 for a Coco 2, burnt all this into a 27256 Eprom and sent it to him. I emailed him the installation instructions thinking I had covered all the bases. Since I had gained so much help from others on the Coco List, I was excited to be able to finally help someone else.
  • In designing and typing up the instructions for the eprom installation, I had overlooked something. Some of you may have already figured this out. I had not considered the !CTS signal needed by the HDB-DOS part of the Eprom in order to run correctly which was made painfully obvious to me when I received an email stating that the Coco 2B did not boot even though the A14 address line pin 27 of the Eprom was tied to A14 pin 22 of the 6809 CPU. When they disconnected the A14 line on pin 27 and installed the Eprom with all the pins inserted into the socket where the original 27128 Eprom had been, that did not work either.
  • Well, I immediately started researching the cause of this dilemma and realized I had not included the !CTS Cartridge ROM signal in with the Chip Enable signal of the socket. Plugging the 27256 Eprom straight into the socket didn't work either because the A14 signal on pin 27 of the 27256 was a !PGM signal on the 27128 which was connected to 5V! The A14 address line pin 27 needs to be connected to ground to boot into Extended Color Basic 1.1. Knowing I would need to include another IC into the mix, I decided to design a PCB that would make running HDB-DOS in the same Eprom as CB 1.3 and ECB 1.1 possible. I think I have come up with a design that will do just that.
  • I am waiting for the PCBs to arrive so I can test out my design. Hopefully I have done my homework correctly and I will have a Korean Coco 2B running HDB-DOS without a cartridge. Thinking on the possibilities of such a setup, I would be able to use just a serial cable and connect up to a Drivewire 4 Server running on a PC without any external cartridges. Why is this so cool? I'd be able to reduce the amount of hardware I would need if I ever needed to carry my Coco to a meeting. All I would need is the Coco 2B, the serial cable, the monitor and a laptop running Drivewire 4. No cartridges nor multipaks would be necessary! This would reduce the amount of needed equipment to carry to a color computer club meeting or a Coco convention should someone wish to demonstrate his latest version of a Coco game or most recent version of the latest and greatest NitrOS-9 utility. Now That Is Cool! I'll keep you guys posted with continuing updates as they happen on this exciting project.

October 24, 2013

  • After waiting for back ordered parts to arrive from Newark and long waits for some more parts to arrive from China, I have finally fully assembled the Internal HDB-DOS Eprom Upgrade PCB for its first test. I hooked it up with the 27256 16KB Eprom installed with the Color Basic 1.3, Extended Basic 1.1 and the HDB-DOS DW3 Coco 2 machine code programmed within. I powered up the Coco 2B and I got ... Zip, Nada, Nothing! All I saw was the now all too familiar orange bands and green @ signs bands on the screen, so I knew the video circuitry was functional. The MC6809EP microprocessor did not boot which means something is wrong with the MPU reading the machine code out of the eprom.
  • I thought for a bit and decided to use the Color Basic 1.3 & Extended Basic 1.1 machine code which resides in the original 27128 eprom in the next test that I had taken out of the Korean Coco 2B in order to conduct this first test. I figured since this code is proven functional, I can eliminate the possibility of an incorrectly programmed eprom from the mix of things happening or more appropriately not happening in the first test.
  • So I pulled both ICs out of the PCB and installed a jumper in the 14 pin socket to allow the chip select signal to pass through the 14 pin socket to the 27128 Eprom IC. Then I connected the blue A14 wire to +5V since on the 27128 eprom pin 27 is the programming pin which uses active low logic. This keeps the eprom out of the programming mode. The orange Cartridge Select wire is not connected to anything since I’m not testing HDB-DOS yet. In this configuration the Korean Coco 2B booted up and I was greeted with the familiar

EXTENDED COLOR BASIC 1.1

COPYRIGHT © 1982 BY TANDY

UNDER LICENSE FROM MICROSOFT

boot message! Success has finally been achieved! A basic test of the functionality of most of the PCB is complete. Now I need to program this same code into a 27256 chip and reconfigure the PCB so the 6809 MPU chip will correctly boot the ECB 1.1 machine code again. Once that is successful, then I can progress on towards including the HDB-DOS code into the upper portion of the 27256 eprom chip and reconfigure the PCB one more time.

  • So, what have I accomplished so far? All the data lines (D0 – D7) and 13 of the address lines (A0 – A13) function correctly on the PCB as well as the original Chip select line which is just about the entire PCB. All that’s left to test basically is to reintroduce the Quad AND gate IC back into the mix and get it functioning. Here is a link to a photo showing the Internal HDB-DOS Eprom Upgrade PCB in its first successful test configuration. Yes the PCB does finally exist!

  • It is beginning to look like a real Korean Coco 2B upgrade now. Notice the single hook clip on the wire! This upgrade will not need any soldering to install so just about everyone will be able to install it. That is my goal anyway. Keep on believing! It Will become a reality. More news coming as it happens!

512KB Memory Upgrade PCB for the Coco 3

March 1, 2014

  • After a long absence updating this page and have endured pneumonia for at least 6 weeks, I'm now ready to continue updating my Wiki page.
  • I have designed, built and tested a Coco 3 compatible 512KB Memory Upgrade Board as shown below.

  • Here is a closer view of the PCB.

Kipper - A New 6809 Based Computer

Goals and Basic Specification

  • There are several goals I wanted to accomplish with the creation of this computer project.
    • Since I have been having a lot of fun learning Eagle and the prototyping of two 6809 based computer projects, I thought it will be interesting to create an expandable 6809/6309 based computer that anyone could build.
    • It will be extremely expandable with new features added by plugging in cards into a dynamically expandable bus system. Each card will actually make up part of the motherboard as there will be no real motherboard in the system. This will be accomplished by plugging the newly built card into the last card in the computer system to dynamically extend the Kipper bus - one card at a time.
    • It has to be configurable to such an extent that it will be able to run Flex9, the SWTPC version of OS-9 Level I and customized versions of Color Computer 2 Color Basic and Extended Basic ROM images together into one combined BASIC rom image called 6809 Extended Basic. I hope to eventually be able to run NitrOS-9 and HDB-DOS - a kind of do everything computer.
    • The Hardware will be built using the latest in Through-Hole Integrated Circuit Technology where possible and the chips of yesteryear where necessary. I can foresee a different version using CPLDs and FPGAs eventually, but as I'm not setup to do that type of development that will have to come later.
    • All cards will follow a modular type design where all the cards plug directly into each other and are approximately 4" x 4" in size.
    • Initially the software will consist of an EPROM based system with disk based operating systems following later on.
    • The first card the user builds must be a complete single board computer in itself so the user can start doing something right way with the completion of just one card.
    • The 6809 or 6309 will be the CPUs of choice in this design.
    • Multiple processors will eventually be supported.
    • And last but not least, the whole process must be fun to do and fairly easy to build - one card at a time.

Birth of an Idea

  • I do a lot of brainstorming in the form of letters to a friend and it was during one of these letters that I came up with the idea of creating a modular computer with a tiny motherboard at first with room for maybe 4 cards. Remember the 4" x 4" PCB limit? Well I eventually decided to create a complete, modular computer where each card is part of the motherboard so a separate motherboard will not be necessary. This way, the computer could be as large or as small as the user wants.
  • After trying to come up with a name for this computer I finally settled on calling this new computer Kipper. I wanted to add some new features to this computer that the Coco Cartridge Slot definition does not allow, so I created the Kipper Bus. The Specifications consist of a 22-bit Address bus, an 8-bit Data Bus, 12 Signals make up the Control Bus, 2 pins for VCC and 2 pins for GND. All Total 46 pins for the specification. Later on I added an "I/O Enabled" pin and one spare pin which brings the total pin count to 48.
  • Next I updated the original version of Grant Searle's 6-Chip 6809 Computer with 32KBs of Ram and a Serial I/O Port at $A000 with this new Kipper Bus connector.

The Kipper Computer Design Starts To Take Shape

  • Now I sit back and write another letter to my friend and silent brainstorming buddy to formulate what form Kipper is going to take.
  • All the cards will be somewhere around the 4" x 4" size. The final dimensions to be determined. I ended up with 14 different card ideas initially of which five are CPU cards using various versions of Grant's 6-Chip 6809 SBC that I prototyped early on.
  • Next in line will be a Buffer Card which will go between the CPU card and all the rest of the cards in the computer system.
  • After that will be a configurable I/O Bus Driver Card so the I/O Bus can be custom configured for either SWTPC I/O at $E000 or Coco I/O at $FF00.
  • Next comes all the other cards in no particular order which are:
    • A USB Port
    • An IDE Interface
    • A Simple 8-Bit Video Graphics Controller Card
    • A Serial Port Card
    • A Parallel Port Card
    • A 63C09 CPU Card
    • A Floppy Controller Card (Maybe)
    • An LED Diagnostic Display Card (Remember the LEDs on my Breadboard Prototype of Grant Searle's 6-Chip 6809 SBC?)
    • A Synchronous Data Port
    • A Memory Management Unit capable of Supporting 128KB of Ram. Up to 8 can be put in the system. This version uses the 6829 MMU chip.
    • A Coco 3 version of a set of MMU cards possibly needing a secondary MMU Connector that supports from 512KB to 2MB of static ram.
    • A 6847T1 Based Video Graphics Controller.
    • Configurable CPU cards which would allow for and support up to 5 microprocessors for a true multiprocessor computer system.

July 26, 2013

  • I have been very busy expanding the idea list for Kipper compatible expansion cards. The list really grew.
  • After doing a lot of thinking and more letter writing, having extended the wish list of Kipper compatible cards further, I have now completed the initial development of a number of cards already.
  • Now the list reads thusly.
    • CPU Cards
      • All initial schematic entry and PCB layout completed
      • Grant Searle's 6-Chip SBC adapted to the Kipper Bus.
        • A version with 32KB of RAM and I/O in the form of a Serial Port at $A000
        • Another version with 48KB of RAM and Serial I/O at $D000
        • And yet another version with 55.5KB of RAM and Serial I/O at $DA00
        • And last but not least a version with 55.5KB of RAM and Serial I/O at $FF00
      • Any Card can use either a 68B09 or a 63C09 microprocessor.
      • Whenever any I/O card is accessed the CPU cards will use the I/O Enabled signal to automatically deactivate all RAM and EPROM on the CPU card.
    • Buffer Card
      • All initial schematic entry and PCB layout completed
      • Goes between the CPU and all other cards in the system.
      • All signals from the CPU to the rest of the computer system are buffered.
    • I/O Bus Driver Card
      • All initial schematic entry and PCB layout completed
      • Decodes the upper byte of the 64KB address space leaving the lower byte to be decoded by each I/O card.
      • Gives the system potentially full compatibility with either the SWTPC Memory Map layout or the Color Computer Memory Layout or a custom layout of the user's own choosing.
      • The I/O Enabled pin on the Kipper Bus is driven active low whenever the I/O Bus Driver card is accessed.
    • LED Diagnostic Display Card
      • All initial schematic entry and PCB layout completed
      • Every signal leaving and entering the 6x09 microprocessor is displayed on an LED.
      • Rectangular LEDs will be used
        • Red for the Address Bus
        • Green for the Data Bus
        • Yellow for the Control Bus
          • The Control Bus consists of all other signals which control the entire computer system.
        • The Address and Data Busses are implemented in groups of 4 LEDs at a time.
    • IDE Interface Card
      • All initial schematic entry and PCB layout completed
      • Implemented to interface any two IDE compatible devices
        • Including but not limited to IDE Hard Drives and Compact Flash cards
    • Slave USB Port Card
      • All initial schematic entry and PCB layout completed
      • All Simon6809 CPU cards have one slave USB port included
    • Simple 8-Bit Video Graphics Controller
      • To be modified to run on the Kipper Bus
    • Floppy Drive Controller
      • No final design is decided on yet.
      • May not even make this card. Who knows?
    • 2 Serial Ports card
      • All initial schematic entry and PCB layout completed
      • Initially I was going to make a single Serial Port card, but after seeing how much room was left and the fact that the SWTPC computer had a dual Serial Port I/O card, I ended up designing and laying out a 2 Serial Port version.
      • If only one serial port is needed, then the second serial port does not need to be populated.
    • 2 Parallel Ports Card
      • All initial schematic entry and PCB layout completed
      • Again, I was going to make a single parallel port card, but after reviewing my SWTPC files, and seeing that the parallel port card had two parallel ports, I decided to create a 2 Parallel Port card using the SWTPC version as a starting point.
    • Synchronous Data Port Card
    • Memory Management Unit (MMU)
      • Coco style with 512KB to 8MB of RAM
        • All initial schematic entry and PCB layout completed
        • Can have just 512KB of RAM on one card, no expansion capability
        • Or consist of a Coco MMU driver card and a 2MB Memory card with up to 4 memory cards in the system
      • SWTPC style with up to 1MB of RAM
      • 6829 style with 128KB of RAM per card and up to 8 cards for a total of 1MB of RAM
    • 6847T1 based Video Graphics Controller to enable use of standard Coco ROM images
    • ATX PC compatible Power Supply Adapter card to give this computer system life
    • Simon6809 adapted to the Kipper Bus
      • All initial schematic entry and PCB layout completed
      • Has a Slave USB Port instead of a Serial port for I/O
      • Implement various versions similar in RAM capacity and I/O addressing as all my versions of Grant's design
      • One more variation with 56KB of RAM and Serial I/O at $E000 and EPROM at $F000
    • Both Grant's design and the Simon6809 CPU card designs have been updated with a configurable 256B I/O address space movable anywhere in the Memory Map. The defined block of RAM expands and contracts below the I/O Address Block as well as the EPROM address block which exists above the I/O block. The user dynamically chooses how much EPROM space is needed by setting the beginning address for the 256B block of I/O addresses and RAM fills the rest of the memory map.
      • All initial schematic entry and PCB layout completed
    • Whenever a card on the I/O bus is accessed, the I/O Enabled pin on the Kipper Bus goes active low so all cards on the Kipper Bus will know I/O is taking place and can thus deactivate all RAM and EPROM at those addresses.
    • Sound Card
      • Will utilize a General Instruments AY-3-8910 Chip.
      • Will contain a little amp for head phones or maybe a small speaker.
  • Well, development of my 8-bit 6x09 based dream computer continues. I will be working on this project for awhile.
  • If you wish to make any positive comments or participate in the development of the Kipper Computer, please feel free to send me an email with the name "Kipper" somewhere in the subject line using the Contact Information above.
  • PCBs will become available for anyone interested. Just remember that I receive a lot of email, so please be patient. I will get back with you as soon as possible. Thank you for reading.

Ideas For The New Kipper Single Board Computer Begin To Take Shape

December 5, 2013

  • In an email to a friend of mine I detailed the events leading up to the ideas for the development of the Kipper Single Board Computer or Kipper SBC. After finishing that email and realizing how long the narrative was detailing the events that lead up to the decision to create my own combined Kipper SBC, I decided to share the that entire narrative here with minor adjustments, corrections and additions as needed. This will also be an overview of the design goals and features desired in this first version of the Kipper SBC. So here goes... Let's have some fun!
  • I’m designing this first Kipper SBC on the fly as I have never created an 8-bit computer before. I never really sat down and wrote up any goals nor specification documents for this Kipper SBC in the very beginning. I started thinking about the old Smoke-Signal Broadcasting 6800 based computer I had studied on in College in Charlotte, NC which also reminded me of the SWTPC 6800 and 6809 based computers. I wanted to build a computer like those computers, so I began the long process of scouring the internet for simple 6809 based computers to get my ‘feet’ wet.
  • I had never designed a PCB before much less and entire computer, so I first used KiCAD and shortly after switched to Eagle. First I found the 6-chip 6809 computer, then I found the SiMon6809 computer. I used those two designs to begin learning KiCAD so I could see what it was like to create a PCB layout. I did not like how some elements of KiCAD functioned, so early on I switched to Eagle Free version while I was still learning the schematic entry and PCB layout process. I faithfully entered the schematic for each 6809 computer design. I wanted to build both of them, but costs were prohibitive for a hobby with virtually no budget. I liked both designs and since I could not decide which one I wanted to build on a real PCB, I combined both designs into one micro-massive 6x09 based SBC.
  • I say 6x09 because I started with the idea of using the MC68B09P 40-pin DIP version of the 6809 chip from Motorola. Throughout my adventures searching for 6809 designs, I had found out about the 6309 microprocessor from Hitachi called the HD63C09P, so I decided to study the 6309 extensively to make sure it was pin for pin compatible with the 6809 like I had heard. Sure enough, the 6309 is a plug-in replacement for the 6809, so I have included the 6309 as a possible microprocessor option for the Kipper SBC ever since.
  • The Kipper SBC is based on both Grant Searle’s 6-Chip 6809 Computer and Erturk Kocalar’s SiMon6809 single board computer.
  • The 128KB of ram is a last minute addition. More on that later. I had finished updating the schematic with the 128KBs of ram idea immediately before sending you the second set of pdf files containing all the latest updates to the schematic and PCB layout.
  • I have laid out the schematic from left to right with the MPU being the first chip on the left with its immediate support circuitry. Then I drew the four AND gates needed to address and connect the 32KB of sram and 16KB of eprom as well as the 6850 to the processor. Next I added the 27128 16KB eprom, the 32KBs of sram and the MC68B50P ACIA into the mix. I then added the MAX232 circuitry and the Serial I/O connector. That was it for my very first computer schematic. I had exactly duplicated the 6-chip computer in Eagle Free.
  • The next computer schematic I drew was SiMon6809. I drew the SiMon6809 schematic as close to the original layout as possible like I had done for the 6-chip computer.
  • After each of those two schematic designs were entered into Eagle, I began laying out each PCB. With Eagle Free I had very limited space to work with on the PCB, so each computer was all I could squeeze into a 4” by 4” size PCB. There was no room for improvements even though I wanted to make some. I had seen the 6x0x 3-board Mezzanine PCB set and wanted to lay out a PCB like those, but I needed to upgrade Eagle before I could attempt that.
  • After upgrading Eagle Free to Eagle Professional, I decided to revisit those two designs. I had been rolling around in my head how I was going to go about physically laying out the PCBs, how they would be organized, and what form the chassis would take. I have always wanted to build an Altair 8800B or an SWTPC 6809 computer with 1MB of ram. I have even seen a SWTPC 6809 computer on ebay for over $3,000 once you include shipping.
  • Back in my twenties, I took a class on 6800 assembly language programming. I was really good at it. I would always include little extras in each assembly language program assignment. I was approached by the teacher after finishing that class because he felt I should take the whole course. He had recognized my talent. If I had an inkling of an idea how good I was, I probably would have stayed. I would not find out how good my talents were with computers and programming until much later in life. Job responsibilities prevented me from going further with my education, so I reluctantly left that college.
  • Anyway, what I’m trying to say is that experience plus much reading through computer magazines of the day eventually lead to my idea for a real card cage style computer, but the physical dimensions of the PCB are not finalized yet. After upgrading to Eagle Pro, I could now make up to a 100mm x 160mm PCB instead of a 100mm x 100mm PCB. That gave me more space on the PCB to work with. Cool! A Bigger SBC.
  • I really don’t know what the size of the PCB should be. Last night I discovered I could put an IC outside the 100mm x 160mm maximum dimensions of Eagle Pro, so it may be even bigger than 100mm x 160mm then I had previously thought.
  • After having thoroughly familiarized myself with the 6-chip computer design and the SiMon6809 computer design, my main thought was to first and foremost move the I/O address space to a different location in the Memory Map.
  • In the 6-Chip 6809 computer, the serial port was at $A000-$A001 but actually occupied $A000 - $BFFF due to incomplete address decoding because of the design goals. The ram was at $0000-$7FFF, nothing at $8000-$9FFF, and the eprom was at $C000-$FFFF. Since the 6809 Extended Basic Interpreter is about 9KB, a 16KB eprom was needed.
    • 6-Chip 6809 Computer Memory Map
    • $0000-$7FFF 32KB SRam
    • $8000-$9FFF Unused
    • $A000-$BFFF USB Slave Port
    • $C000-$FFFF 16KB Eprom
  • In the Simon6809 design, the USB port was at $D000, but occupied $D000-$DFFF again due to inadequate address bus decoding because of the design goals. The ram was from $0000-$7FFF, a second 8KB eprom is at $8000-$9FFF, $A000-$CFFF is unused, and the first 8KB eprom was at $E000-$FFFF. I did not like the two eproms being split up nor did I like the USB port at $D000 either. The I/O was still too far into the address space of the memory map.
  • So you see the two designs have similar memory maps. I did not like where the serial port and the USB port were addressed in the respective memory maps, so I decided to move all I/O in my computer to the end of the 64KB address space just like the Coco 3 which is located at $FF00-$FFEF – 240 bytes. Initially I put 32KBs of ram at $0000-$7FFF and 32KBs of eprom at $8000-$FEFF with the I/O and interrupt address vectors filling up the last 256bytes of memory map space. The Memory Map looks like this thus far.
    • Kipper SBC Memory Map – Initial Design Idea
    • $0000-$7FFF RAM
    • $8000-$FEFF EPROM
    • $FF00-$FFEF I/O
    • $FFF0-$FFFF Interrupt Vectors
  • I was thinking of putting the Serial I/O port at $FF00 since the Coco keyboard is addressed at $FF00-$FF03 via a PIA, so at first I just decoded $FF00-$FFFF then logically subtracted the address space for the vectors. I then ended up with $FF00-$FFEF for the I/O address space. Then I thought, it would be nice to have that USB port from SiMon6809, so I included decoding for up to eight devices so now the Memory Map looked like this.
    • Kipper SBC Memory Map – First Modification
    • $0000-$7FFF RAM
    • $8000-$FEFF EPROM
    • $FF00-$FF0F Device 0 – Serial I/O Port
    • $FF10-$FF1F Device 1 – USB Port
    • $FF20-$FF2F Device 2 – Unused
    • $FF30-$FF3F Device 3 – Unused
    • $FF40-$FF4F Device 4 – Unused
    • $FF50-$FF5F Device 5 – Unused
    • $FF60-$FF6F Device 6 – Unused
    • $FF70-$FF7F Device 7 – Unused
    • $FF80-$FFEF Undefined
    • $FFF0-$FFFF Interrupt Vectors
  • Then I thought, how about a second serial port for a printer and use a serial to parallel converter cable to actually drive my laser printer, so I added a second serial port and split up Device 0 into four more devices. The first Serial Port is Device 0_0 at address $FF00-$FF03 and the second Serial Port is Device 0_1 located immediately following the first one at $FF04-$FF07 with Devices 0_2 & 0_3 unused, so now the Memory Map looks like this.
    • Kipper SBC Memory Map – Second Modification
    • $0000-$7FFF RAM
    • $8000-$FEFF EPROM
    • $FF00-$FF03 Device 0_0 – Serial I/O Port
    • $FF04-$FF07 Device 0_1 – Serial I/O Port
    • $FF08-$FF0B Device 0_2 – Unused
    • $FF0C-$FF0F Device 0_3 – Unused
    • $FF10-$FF1F Device 1 – USB Port
    • $FF20-$FF2F Device 2 – Unused
    • $FF30-$FF3F Device 3 – Unused
    • $FF40-$FF4F Device 4 – Unused
    • $FF50-$FF5F Device 5 – Unused
    • $FF60-$FF6F Device 6 – Unused
    • $FF70-$FF7F Device 7 – Unused
    • $FF80-$FFEF Undefined
    • $FFF0-$FFFF Interrupt Vectors
  • I figure as I need to add more devices, I’ll continue to further subdivide the I/O memory map to accommodate whatever gets added in the future. This is the Memory Map for the Kipper SBC as it currently stands. Last night, after thinking about the OS-9 Source Code for the SWTPC version of OS-9 that was recently discovered, I decided to add a circuit to switch out the 32KBs of eprom and put 32KBs of sram in its place. I came up with a 1-bit Memory Map Register to perform this function. When Bit 0 is a logical 0, the eprom resides at $8000-$FEFF, but when bit 0 is a logical 1, then sram resides from $8000-$FEFF.
  • I had no more ram in the design at that point, so I removed the 32KB ram chip and replaced it with an MT5C1008 128KB sram chip. I picked that chip because I have some on hand. Now I had a new problem – how was I going to get at that extra sram, so I added a 1-bit Ram Register. I originally called it the Memory Map Unit Register or MMU Register, but that didn’t seem the most appropriate, so I renamed the MMU Register to the RAM Register instead. First, I added the Ram Register so it is addressed at $FF70. To give me a place to make the eprom/sram switch, I put the Memory Map Register at address $FF71. Now the entire Memory Map looks like this for the Kipper SBC.
    • Kipper SBC Memory Map – Third Modification
    • $0000-$7FFF RAM
    • $8000-$FEFF EPROM or SRAM
    • $FF00-$FF03 Device 0_0 – Serial I/O Port
    • $FF04-$FF07 Device 0_1 – Serial I/O Port
    • $FF08-$FF0B Device 0_2 – Unused
    • $FF0C-$FF0F Device 0_3 – Unused
    • $FF10-$FF1F Device 1 – USB Port
    • $FF20-$FF2F Device 2 – Unused
    • $FF30-$FF3F Device 3 – Unused
    • $FF40-$FF4F Device 4 – Unused
    • $FF50-$FF5F Device 5 – Unused
    • $FF60-$FF6F Device 6 – Unused
    • $FF70 Device 7_0 – Ram Register
    • $FF71 Device 7_1 – Memory Map Register
    • $FF72 Device 7_2 - Unused
    • $FF73 Device 7_3 - Unused
    • $FF74-$FF7F Remainder of Device 7 - Unused
    • $FF80-$FFEF Undefined
    • $FFF0-$FFFF Interrupt Vectors
  • Actually, I’m glad you asked me to write you the details for this Kipper SBC, because I have discovered an error in my thought processes. I believe the last 16 bytes of the eprom are not showing up at $FFF0-$FFFF. I need to check that. The 6x09 mpu would never be able to retrieve its reset address vector at $FFFE-$FFFF. Oops. That is a show-stopper for sure.
  • To fix the interrupt address vectors in eprom not showing up in the memory map, I’m going to limit the I/O address space to $FF00-$FF7F to simplify the hardware change for the interrupt vector situation. This is probably a good thing, because I may need this space for a more capable MMU later. We’ll have to wait and see how that idea forms. Now the memory map looks like this.
    • Kipper SBC Memory Map – Third Modification
    • $0000-$7FFF RAM
    • $8000-$FEFF EPROM or SRAM
    • $FF00-$FF03 Device 0_0 – Serial I/O Port
    • $FF04-$FF07 Device 0_1 – Serial I/O Port
    • $FF08-$FF0B Device 0_2 – Unused
    • $FF0C-$FF0F Device 0_3 – Unused
    • $FF10-$FF1F Device 1 – USB Port
    • $FF20-$FF2F Device 2 – Unused
    • $FF30-$FF3F Device 3 – Unused
    • $FF40-$FF4F Device 4 – Unused
    • $FF50-$FF5F Device 5 – Unused
    • $FF60-$FF6F Device 6 – Unused
    • $FF70 Device 7_0 – Ram Register
    • $FF71 Device 7_1 – Memory Map Register
    • $FF72 Device 7_2 - Unused
    • $FF73 Device 7_3 - Unused
    • $FF74-$FF7F Remainder of Device 7 - Unused
    • $FF80-$FFFF Eprom or SRAM – Includes Interrupt Address Vectors
  • So the contents of the eprom at $FF00-$FF7F will never be seen as that is where all the hardware for communication with the outside world will be. Now our powerful 6x09 mpu will properly fetch the reset interrupt vector and begin execution of the code in eprom.
  • I have not printed out the current version of the schematic yet, so I’ll do that first. I’m up to three letter size sheets of paper for the “poor man’s large format printer” to print my schematic on.  :) It won’t take much to deactivate the I/O and to activate the eprom at $FFF0-$FFFF.
  • Now to get that printout of the schematic and go over it with you, so you can better catch any mistakes I have made, caused or otherwise neglected to fix or even saw. :)
  • I was reviewing the schematic printout and saw a simple solution to reducing the I/O Address space from $FF00-$FFEF to $FF00-$FF7F by changing the gate input on pin 1 on the 74LS688 from ground to address line A7, so I went ahead and made that change. I’m also moving things around so the pages look a lot better when printed from Eagle. Many ICs are split in half across page borders. That really didn’t stop me before, but now that I’m sharing everything on this project with you, I feel these changes need to be made, so give me a day or so to finish moving things around, then I’ll send you another email with the detailed schematic description.
  • Well, I got the rearrangement of the schematic completed, so I attached the latest version of the schematic and PCB layout pdf documents to this email. I need to get some sleep, so I will write up the explanation of the schematic in detail after I wake up later today, but I’ll briefly go over the major sections now. The schematic is now a lot more spread out and easier to follow. From Eagle, I printed out the schematic with a scale factor of 1 and I ended up with these results.
  • The 6x09 MPU with its support circuitry is on page 1.
  • The Memory Map Register, address decoding logic for the eprom and sram chips, the Ram Register, the Device 7 sub-decoding logic into devices 7_0 to 7_1, the 27256 32KB eprom, and the 128KB sram is on page 2.
  • The left side of page 3 shows address bus decoding logic for all devices 0_0 – 7. The top left side of page 3 contains the sub-decoding logic for dividing the address space for device 0 into devices 0_0 to 0_3. The next IC down on the left shows the address decoding logic for all primary device address spaces in blocks of 16 bytes each. The last chip on the left side of the page provides the address decoding logic for the $FF00-$FF7F I/O address space. The right side of page 3 shows the Baud Rate Frequency Generator circuitry. The 16 outputs of MC14411 Baud Rate Generator is split between two MC68B50P ACIA Serial I/O chips which are shown on the fourth page. There are 16 possible jumper choices for the baud rate for each Serial I/O Port which are independently selectable.
  • The four and last page shows the two Serial I/O Ports and the USB prototype module from FTDI.
  • Thus endeth my brief overview of the Kipper SBC. I hope you have enjoyed reading my progress thus far on the development of the Kipper SBC. I've learned a lot and have so much more yet to discover and learn. Take care my friends. Until Next Time, this is Computer Doc signing off. Starfleet Out! Qaplah!

The New Combined Kipper CPU Card

January 1, 2014

In The Beginning

  • Let's turn the time machine back to about 2011. I had been looking for work for about three years. One day I decided in addition to that, I would go back and explore my computer roots. Now let's really turn the time machine way back to about 1982.
  • In the early 1980s, my first computer was a TRS-80 Color Computer 1. It had 16K of RAM on an F version motherboard that I later upgraded to 64K. I did everything I could to find out information about that little machine. The internet certainly did not exist back then. It fascinated me and held my attention for hours on end. The only printer I had at the time was an ASR-33 Teletype with paper tape reader and punch. I don't remember whether I started out with Color Basic 1.0 or Extended Basic 1.0, but either way my primary storage medium was cassette based only. Boy, that cassette machine was a challenge to work with!  :)
  • Later on I eventually upgraded to a Color Computer II. The keyboard layout on this machine was the same as before but it was a lot nicer and it came with 64K of RAM! Somewhere along the way I started using 5.25" floppy drives and started experimenting with OS-9 LI v01.00.00 or 01 and for the first time I felt like I could really do something special with this machine.
  • Spinning the clock forward a little ways sees me purchasing my first Color Computer 3. Whether the label was TRS-80 or Tandy, I don't remember. All I knew is it had 128K of RAM! Now I really had a great and mighty computer in my collection. Also, at some point in time I eventually installed a Seagate Model Number ST-225 20MB MFM hard drive running OS-9 LII v02.00.01 on a Color Computer 3 with 128K of RAM with a Winchester 8-bit hard drive controller card from Burke and Burke.
  • Then the IBM PC revolution began and my computer interests migrated to building an 80286 based PC and I left the Color Computers behind forever, or so I thought.
  • I have always wanted to build a 6809 microprocessor based computer of some sort for the express purpose of learning microprocessor interfacing with the best and my favorite microprocessor of all time. I never had the opportunity nor the resources to build a SouthWest Technical Products Company computer back in the late 1970s as I was still in school until my graduation on June 4, 1978. All through school, however, I drooled over all the computer magazines and computer programming books I could find.
  • After high school graduation, I went to work with a close friend of mine who used a Motorola Exorciser running an MDOS operating system. It booted up into a monitor program called ExBug. To boot MDOS, the user first entered a one letter command with some sort of parameter and off it went booting MDOS off of an 8" floppy disk drive. Those drives were huge! The system had two drives and an 8-bit MC6800 Microprocessor ran the whole thing.
  • Ok, now we are up to about 2011 when I make my decision to build a 6809 microprocessor based computer. I start scouring the internet looking for people who had built any type of 6809 computer or just even had written papers on the subject. Eventually I collected several notebooks full of documentation about several dinky 6809 computer systems.
  • Although I had been reading Motorola Data Books for decades, I had actually never built anything. It all always seemed a bit out of my reach. Well, I finally found a very simple 6809 microprocessor based computer that only used 6 chips and you could program it in Basic! Amazingly enough, it turned out it ran a copy of Extended Color Basic from Radio Shack's old Color Computer line that I had used all those years ago. All the graphics routines were removed since the only way to talk to it was to use some type of ASCII CRT terminal or terminal program running on a PC.

The Start of Prototyping 6809 Based Computer Projects

The Little 6802 Computer That Would Never Be Born

  • At some point after I graduated from a Cisco course in 2010 I decided to revisit a 6802 based computer project I had started back in my senior year in college that was to be my senior class project. I had been studying on Heathkit's ET-3400 MC6800 Microprocessor training course that year and wanted to build my own little 6800 single board computer. I asked a close friend of mine if he had any thoughts on this subject which he did. He had enough chips laying around to build an MC6802 based computer using an engineering sample of the MC6846 Rom, I/O, & Timer (RIOT) chip which had a little 2KB Monitor called MikBug masked programmed into the rom portion of the chip. The schematic diagram I used to partially wirewrap a prototyping circuit card has since been misplaced or just plain lost, but I had gotten much of the circuit wirewrapped.
  • I soon began to realize that I would not have enough time to finish the project before my days at the college would come to a close, so instead of completing that little computer, I built a Transformerless Microphone Preamplifier for my senior project. My buddy made a printed circuit board for it, so I didn't have to wirewrap it. It looked pretty good and actually worked!  :) I packed up my little 6802 computer project and put it into storage.
  • Now let's move forward through time to the second half of 2010 where we find me looking through all my boxes in storage for my little 6802 computer that had never gotten completed. I searched through box after box looking for that little rascal and began to find various parts of it. I found the prototyping card, a bag of Dual-n-Line (DIP) sockets, and two little plastic boxes of chips in anti-static foam. What I did not find was the schematic for the circuit that had already been partially finished. Finding all these parts and circuit card for the 6802 computer slowly brought my college memories back to the forefront of my mind.
  • This was the current state of that project when I found it in my storage boxes that day when I was rummaging through my stuff looking for that little computer. I investigated solderless breadboarding methods on the internet to figure out from whom to buy a solderless breadboard panel to use to attempt to revive this computer project. The panel shown in the section below talking about the SiMon6809 computer is the panel I first started with to build my 6802 based computer.
  • Since there was no schematic found with the parts, I began looking on the internet for the schematic I thought I would have used. I figured my buddy probably had gotten the schematic from a Motorola Application Note, so I scoured the internet to try to find such an App. Note. I eventually put together what I thought I would have used for a schematic for this project, but since none of the sockets on the wirewrap card were never labeled, I could not use it as a guide to what I had done. I therefore started building the 6802 again from scratch.
  • The antistatic foam was sticking to every single pin of each chip, so I had to take a pocket knife and start scraping all that black foam off of each and every pin on every chip. I can tell you this took quite a while. It had been 31 years since I had first been given those chips!  :) I finally settled on a layout on the breadboard for the chips, so I started mounting them one at a time as I finished cleaning the chips. Finally I was done and began wiring up my little computer. I used telephone wire since I had a bunch of it to interconnect the chips.
  • I followed the schematic carefully making sure I was always on the correct pin. It took months for me to build this little computer since I had to reread all those chips' datasheets and timing charts all over again. I finally got the whole thing wired up. Figuring everything was correct I starting looking for a power source for the positive five volts required to power this computer.

My Version of Grant Searle's 6-Chip 6809 Computer

  • Narrative about my experience designing and building my version of Grant Searle's 6-Chip 6809 Computer. The link to his web site is http://searle.hostei.com/grant/6809/Simple6809.html
  • I decided to use Grant's 6-chip 6809 Computer as the basis for my very first 6809 microprocessor based experimental computer. It took me several weeks studying all the datasheets before I felt confident to wire up the 6-chip computer. Initially, I built my 6-chip computer exactly like Grant's, then I added another 8K of RAM using a second 32KB cache RAM chip from an old PC motherboard. When I fired it up for the first time, it passed the smoke time with flying colors, i.e. no smoke! It did not however communicate with my Hyperterminal program I was running on my laptop. I contacted my close friend and mentor and asked him several things about RS-232 communications and he told me that that was one of the hardest parts of a microprocessor circuit to get right. Well, I finally got it to work and I was basically programming in Extended Basic. In fact Grant Searle named his version of Radio Shacks Basic "6809 Extended Basic". I was ecstatic and beside myself with joy! It was Alive! I had done it! I had built my very own 6809 microprocessor based single board computer.
  • I didn't take me long before I wanted to add an additional function to my computer. Back to scouring the Internet I go looking for ideas. I finally decided on adding an MC6821 Peripheral Interface Adapter along with an AY-3-8910 Programmable Sound Generator. I wanted to hear my computer. one problem lead to another problem and I finally had to scrap that idea and figure out why my RS-232 port was not working any more. After investigating for awhile, I finally put it down to think. I had been peeking and poking using the Basic interpreter to try to communication with the PIA and the PSG chips, but to no avail. I put my computer down for awhile and fix some more PC desk tops and laptops for some customers for a little while. There weren't that many.

April 9, 2013

  • This is my version of Grant Searle's 6-Chip 6809 with some added extras.
  • The MC68B09P Microprocessor chip is bottom in left-most column. Above the 6809 is an AS7C256-15PC 8K x 8 bit (32KB) static ram (sram) chip addressed from $0000 to $7FFF.
  • Above the sram is a 27128 eprom programmed with Grant Searle's 6809 Extended Basic. The 6809 Extended Basic is basically Radio Shack's (Tandy's) Extended Color Basic with all the graphics commands removed.
  • The top chip in the first column is a DM74LS00N Quad 2-Input NAND Gate chip which is used as part of the address decoding logic. This is the only 74LSxx logic chip Grant used in his design.
  • In order to add an additional 8KB of sram additional logic is required, so moving over to the second column of chips, the top chip is an SN74LS32N Quad 2-Input Positive OR Gates.
  • The second chip is an SW7404N Hex Inverter chip.
  • The third chip is a W24257AK-15 8K x 8 bit (32KB) Static Ram chip of which only 8KB is used as the memory map does not allow anymore ram. The extra address lines are grounded.
  • The next item down is 7 header pins used to connect to an RS-232 cable.
  • The next chip is a MAX232N Dual EIA-232 Drivers and Receivers chip to convert the serial TTL signal levels from/to the MC6850 ACIA chip to RS-232 signal level standards.
  • The bottom chip in the second column is an MC6850 Asynchronous Communications Interface Adapter to enable the 6809 to communicate with the outside world via an RS-232 interface cable. The MC6850 chip is addressed at $A000 to $BFFF. The Address decoding logic is incomplete. This is necessary to reduce the chip count in Grant Searle's original design to keep it at just 6 chips total. I thought it was a fantastic design for first time builders to use. My kudos go to Grant Searle for an excellent job well done.
  • The first chip in the third column is a 74LS00PC Quad 2-Input NAND gate chip. The three additional logic chips I added to Grants design to enable me to add the additional 8KB of static ram.
  • At this point my project was complete with 40KB of Static ram.
  • After initially testing my project without the extra 8KB of sram, I wanted to finish filling up the memory map as there was an 8KB hole at $8000 to $9FFF. This hole in the memory map was hollering out to me for more ram, so I added it. It was to be my very first logic circuit design. I designed the logic required to add some static ram at $8000 to $9FFF.
  • When I tested my design, it worked correctly the first time. Now I have a total contiguous static ram memory from $0000 to $9FFF.
  • The rest of the third column has the logic chips necessary to drive the 32 LEDs so I can see what is happening in real time on the sixteen address bus lines, the eight data bus lines and the eight control lines.
  • The second chip in the third column is an SN74LS244N Octal Buffers and Line Drivers with 3-State outputs chip driving eight red LEDs which show the current state of address lines A15 to A8.
  • The third chip down is another SN74LS244N Octal Buffers and Line Drivers with 3-State outputs chip driving eight yellow LEDs which show the current state of address lines A7 to A0.
  • The fourth chip down on the third column is an SN74LS245N Bi-directional Octal Bus Transceivers with 3-State outputs chip driving eight green LEDs showing the current state of the eight Data bus lines.
  • The fifth and last chip in this design has another SN74LS244N Octal Buffers and Line Drivers with 3-State outputs chip driving four green LEDS and four yellow LEDS showing the current state of eight control lines.
  • The first pushbutton is the Reset pushbutton used to reset the 6809 microprocessor.
  • The second pushbutton is the Halt pushbutton used to halt the 6809 microprocessor.
  • I ran into some problems with 6809 microprocessor not powering up correctly. I never saw Buggy's initial message displayed right after the power-on reset cycle of the 6809 microprocessor completed. I installed a halt pushbutton so I could halt the 6809 and hold it in the halted state while I pressed and released the reset pushbutton, then I released the halt pushbutton to bring the 6809 microprocessor from an initial known state which the reset interrupt vector in the monitor program in eprom provides.

July 26th, 2013

  • Way back when I initially put together this project and got it running successfully, I started playing around with the addressing of the 68B50 ACIA which implements TTL levels for the RS-232 protocol. Well, something went wrong and communication ceased.
  • Well, I have now figured out that I had changed the addressing of the second 32KB RAM chip as well preventing the system to function correctly.
  • In addition, since I have been studying all the various Data sheets and seeing how others have implemented logic circuits, I have figured out how to implement 8KB of the 32KB static ram chip with only one logic chip instead of three.
  • More study is needed, but I am confident that I will be able to conquer the problem created back in April - May time frame.

My Version of Erturk Kocalar's SiMon6809 Computer

  • Narrative about my experience designing and building my version of Erturk Kocalar's SiMon6809. The link to his web site is http://www.8bitforce.com/simon6809/.
  • I surf and surf the internet sometimes out of sheer boredom and what do I find, but Erturk Kocalar's SiMon6809 single board computer. I think on this awhile studying the monitor program that runs on it when I see that the monitor program allows the user to enter assembler code straight into memory! No hex bytes to fool with! I loved this. I read on and it even lists the memory back to the user as in an assembler listing! Well, this is just too cool. Wouldn't have all the computer engineers from the 1970s and 1980s loved to have had a monitor like this one and running on my favorite microprocessor too!
  • That does it! I have to build this 8-bit 6809 based computer also! Over the next few nights I finally decide on a chip layout on my solderless breadboard and press in all the chips. In one night I end up wiring almost the entire computer. After all it is only 9 chips plus a USB prototype module. My first 6809 computer had 14 chips and 32 LEDs on just about every signal in that computer. I had added the 32 LEDs so I could see if the computer was doing anything. The 6809 microprocessor was functioning just fine. I just could not see anything in HyperTerminal.
  • I had to take care of another customer's laptop so I had to put down my SiMon6809 computer for a few days. During this time, I get an offer from a friend, Allen Huffman to host a personal web page on his server. Thank you Allen.
  • It is now April 6, 2013, its 11:43 pm and I'm plugging away entering my 6809 single board computer experiments' experiences on a brand new web page! Isn't life great!
  • I finally have a picture for my version of Erturk's SiMon6809 computer and here it is.

  • My version of Erturk Kocalar's SiMon6809 computer mounted on another solderless breadboard.
  • An interesting note about this particular breadboard. I had originally built an MC6802 Microprocessor & MC6846 Rom, I/O & Timer chip based computer with MikBug programmed into the MC6846's rom, but the chips had been sitting in black antistatic foam for so long (since about the 1980-1981 time frame) that it stuck to the pins so badly that even scraping with a fairly good-sized pocket knife blade could not get it all off the pins. I was sadden by the fact that I could not complete this project, so I put it away for awhile thinking I would get back to it some day.
  • Well, some day has arrived, but instead of completing my 6802 based computer with a monitor program, I scrapped the entire design put together with telephone wire in favor of a 6809 based computer with a monitor in rom using proper 22 gauge hookup wire instead of the 28 gauge telephone wire. The telephone wire did not stay in the breadboard holes very well anyway.
  • Now back to describing this breadboard layout.
  • I decided this time to start in the top left corner to mount the MC68B09P microprocessor chip instead of the bottom left corner of the breadboard.
  • The second chip is a 27128 16KB eprom programmed with Erturk's monitor program that somehow got called Buggy 1.0. I'd like to hear the story about how the name Buggy came to be. I bet it is an interesting one. There is a long story about the monitor program itself. Erturk actually did not create it. He just modified it to work with the USB FT245R USB chip. In his design, he uses the chip itself, but since I was prototyping my design on breadboard, I needed the chip in a through hole design. I look for a through hole version on FTDI's web site and came across the USB Prototype module which takes the FT245R surface mounted design and puts in onto a little PCB barely the size of a 24 pin chip suitable for breadboarding. Thank you FTDI for this module.
  • The third chip in this column is an MT5C1008-35 128KB Static Ram chip configured as 64KB. I'm not yet including any type of Memory Management unit, so I grounded address line A16, thus I have 64KB and not 128KB. Ah, but you say there is not room for the eprom? This is where I start blazing new trails in my young computer electronics designing portion of my life. This is where my design starts to stray from Erturk's Design.
  • I am using three SN74LS138N 3-line to 8-line decoder/demultiplexor chips in an address decoding scheme to give me a plethora of addressing choices to put the future additions and features not yet conceived of and yet to be designed for this project.
  • The second column first item is a pushbutton for the reset line to reset the 6809 microprocessor.
  • The second item is the first of three SN74LS138N 3-line to 8-line decoder/demultiplexor chips to decode the top 4 address lines A15 to A12 to give me eight possible choices. Each output decodes a 4KB area. They are of course, $8xxx, $9xxx, $Axxx, $Bxxx, $Cxxx, $Dxxx, $Exxx, $Fxxx. I pick the $Dxxx output line and feed it into the next SN74LS138N 3-line to 8-line decoder chip.
  • The third item is another SN74LS138N 3-line to 8-line decoder/demultiplexor chip configured to further decode address lines A11 to A8 down to again another eight possible choices. With the output of $Dxxx from the previous SN74LS138N chip, the eight possible choices are $D8xx, $D9xx, $DAxx, $DBxx, $DCxx, $DDxx, $DExx, $DFxx. The $DFxx output is fed into the DM74154N 4-line to 16-line decoder chip.
  • The fourth item in the second column is the third SN74LS138N 3-line to 8-line decoder/demultiplexor chip to decode address lines A15 to A13 to arrive at yet another eight choices this time to be used for the Eprom chip. These choices are $0000 to $1FFF, $2000 to $3FFF, $4000 to $5FFF, $6000 to $7FFF, $8000 to $9FFF, $A000 to $BFFF, $C000 to $DFFF, and finally $E000 to $FFFF. The $E000 to $FFFF output is feed to the Chip Enable pin of the 27128 16KB Eprom chip. It is also inverted and fed to the chip enable pin of the static ram chip. They way, the eprom or the sram are accessed exclusive of each other. The two are never enabled at the same time.
  • The Fifth item is an SN74LS139AN 2-Line to 4-Line decoder/demultiplexor chip to provide the read and write signals to the UM245R USB Prototype module at the proper address.
  • The sixth and last item in the second column is a second SN74LS139AN 2-Line to 4-Line decoder/demultiplexor chip to provide the proper read and write signals to the 128KB Static Ram chip and the 27128 16KB Eprom chip.
  • The Third column at the very top is a DM74154N 4-Line to 16-line decoder chip to decode the addess lines A7 to A4 to arrive at the third and final stage of the I/O block addressing. The final sixteen choices are $DF0x, $DF1x, $DF2x, $DF3x, $DF4x, $DF5x, $DF6x, $DF7x, $DF8x, $DF9x, $DFAx, $DFBx, $DFCx, $DFDx, $DFEx, and $DFFx. The $DF0x output line is fed to the first SN74LS139AN chip to address the UM245R USB module at $DF00 to $DF0F. I have narrowed a 4KB block of addresses down to sixteen addresses.
  • The second chip in the third column is a Dallas DS1287 Real Time Clock chip so my 6809 computer will know what time it is. It is not connected up and won't be until the original design is tested and fully functional. Then I will add this chip into the memory map and start playing with it.
  • And last but certainly not least is the UM245R USB Prototyping Module from FTDI and was if I remember correctly about $25. It's a little expensive, but then I did not have to design and build it. This saves me a lot of time. This chip is addressed at $DF00 to $DF0F. I'll have to check the program and documents on the module to be sure, but it takes up only one memory location, so in sixteen bytes I can have, well, 16 USB ports if I so choose. Of course, at this point what would I do with sixteen USB ports. This is a slave USB port, and we would need some master USB ports if I am going to plug up some USB devices to my 6809 computer. I don't know yet how many memory locations one of those modules takes up, so I will leave the rest of these bytes undefined and unimplemented which means the UM245R module will appear sixteen times in the memory map instead of 4096 times or 4K as is in Erturk's original design. Again, Erturk did minimal address decoding to reduce chip count in his SiMon6809 computer to keep it small.
  • The USB prototype module in this design is addressed at $DF0x and the FT245R chip in Erturk's original design of SiMon6809 is addressed at $Dxxx. Again this is done to reduce chip count in Erturk's design, but I wanted to further decode the addressing down much further. I wanted to lay the ground work for moving the address decoding for the block of I/O for all communications devices and chips eventually to the $FFxx range. Since you are reading the Cocopedia.com web site, I bet you can guess want I'm leading up to, but for those that are still learning, I won't spoil the surprise yet.
  • It's April 9, 2013 and this completes the initial description of my version of Erturk Kocalar's SiMon6809 computer that I've built thus far. I have many plans for this 6809 computer, so stay tuned for further updates to this web page.
  • Remember in the beginning I told you I was not able to build an SWTPC 6800 or 6809 computer back in the 1970s and 1980s nor was I able to build an Altair 8800 or IMSAI, and I wanted to experience the thrill of building my own 6809 computer from scratch using proven designs and methods to reduce drastically the trial and errors stage of design. Of course my changes to the original designs will have to be tested. For example, I changed the address location for the USB port. In Erturk's original design, it was located at $D000 in the assembler code for the monitor program. In my project, I set it at $DF00, so I will need to reassemble the monitor program with the new USB port address which is really no problem. I could have left it at $D000 with it replicated 4096 times in the memory map, but I wanted a more versatile design, so I won't be seeing my USB port at $D000, but at #DF00.
  • Stay tuned for further updates. :) This is going to get interesting as I get the basics out of the way and start seeing this thing come to life!

My Color Computer Collection

My Coco 3 Setup

April 4, 2013

  • Fired up my new Coco 3 for the first time and gazed upon the standard Extended Color Basic copyright message. There it was in living color, my Coco 3 is alive!

April 5, 2013

  • After having burnt an eprom with the "HDB-DOS v1.4 DW4 Coco 3" rom image a few weeks back, I install it into my Disto Super Controller. Once I had closed up the super controller, I inserted the cartridge into the Coco 3's cartridge slot and powered up the Coco 3. Behold, my eyes peered on the screen to see the Disk Extended Color Basic copyright message and below it was displayed the HDB-DOS V1.4 DW4 COCO 3 message and the OK prompt appeared with the famous flashing color cycling curser. I did not get any floppy drives out of storage yet, so my test ended here.

April 6, 2013

  • The next day saw me looking through all my computer stuff in storage for 3.5" floppy drives. I found a number of them with selectable device select jumpers, so I started a stack of them. I ended up with eight 3.5" drives with changeable drive select jumpers. I took three of them into the house and commenced to connecting up two of the drives.
  • I Connected up two 3.5" floppy drives to the Disto Super Controller and formatted a 720KB floppy disk and a 1.44MB floppy disk with the Double-density/High density hole covered up to make the floppy drive think it is a 720KB floppy. Both types of floppies formatted perfectly. I wrote a very simple basic program to read all memory locations from $8000 to $FFFF and display them as characters on the screen. I then saved the program to one of my freshly formatted floppies and typed the command NEW. Now that the basic program is not in memory anymore, I read the program off the floppy and load it into the computer's RAM memory. Then I ran the program and all the bytes stored in the eprom were being displayed as text and graphic characters. It worked perfectly!

April 7, 2013

  • I booted VCC on an old Windows XP desktop mini-tower computer with the special fdrawcmd.sys driver installed to enable the system to create coco compatible floppies. I loaded "NitrOS-9 6309 l2 v3.2.9 coco3 80 trk" image into virtual drive 0. I entered the infamous DOS command to boot into NitrOS-9. The white screen appeared and garbage characters filled the screen. I said, "What?". It took me a while to realize my coco 3 is still using an MC68B09EP microprocessor chip. Ah ha! I needed the 6809 boot image. I had been using the 6309 version of the boot image for so long in VCC, that I had completely forgotten that my real coco was still running the original Motorola microprocessor.

April 8, 2013

  • I go back to my desktop computer, boot up VCC again this time using the "NitrOS-9 6809 l2 v3.2.9 coco3 80 trk" image in virtual drive 0. I DMODEd drive /d1 changing the cylinders from 35 tracks to 80 tracks with the command "dmode /d1 cyl=50". The cylinder parameter is in hexadecimal - $50 = 80 decimal.
  • Then I issue the "format /d1" command, check the floppy disk parameters to make sure they are what I need and answer "Y"(es) to the "Ready" prompt and away it goes formatting a real 3.5" 720KB floppy using a virtual Coco 3. Thanks guys for creating VCC. I love it.
  • Once the floppy is formatted, I issue the "backup /d0 /d1" command to backup the NitrOS-9 virtual disk image I booted VCC with to arrive at a real bootable NitrOS-9 floppy disk to use in my real Coco 3.
  • Now I go back to my real Coco 3 setup in the living room and I inserted the 6809 version of the NitrOS-9 boot disk into the coco 3's floppy drive, enter the DOS command and behold, NitrOS-9 started booting!  :) I love it! My favorite disk operating system is finally booting on my real Coco 3!

  • As you can see, the composite video output of the Coco 3 in my setup makes the NitrOS-9 screens almost completely unreadable. Except for the fact that I already know what is on the screen from seeing it in VCC, I would have no idea what is there.
  • So I issue a shell command to create a new window hoping I can see little better what the text on the screen actually is with the command "shell i=/W7&".

  • Now it is time to test some more 3.5" floppy drives.
  • The procedure I use to test a floppy drive is to boot NitrOS-9 and change the cylinders on drive /d1 to $50 and format a floppy disk. If the format is a success, then I backup my boot disk from /d0 to /d1. Then I remove all disks and power cycle the computer. I put the newly made boot disk into drive /d0 and see if NitrOS-9 boots successfully. If the boot finishes with flying colors, I call the floppy drive good.
  • Using this procedure, I end up with three good 3.5" floppy drives out of the original eight floppy drives I found with changeable drive select jumpers. During the testing, however, I found a couple of Chinon Model FZ-357 floppy drives with 14 jumper pins giving 9 possible jumper settings that when set to be drive 2 and one at a time are accessed, Drive 0 also is accessed at the same time. They however run fine when set to be drive one. So although I have the cabling to run three 3.5" floppy drives, I effectively can only run two.
  • Now here's the kicker. Back in the day I ended up buying several floppy disk controllers. They are, in no particular order, the Disto Super Controller, a Hard Disk Specialist Color Computer Comtroller, a J&M Systems Floppy disk Controller, and the Burke & Burke XT Interface adapter with a Winchester 8-bit ISA card running an MFM 20MB hard drive.
  • Now, except for the Hard drive controller for obvious reasons, all the others will drive up to three floppy drives. Well, and this is the interesting part, I was able to get one of them to drive two DSDD 40Trk 5.25" floppy drives and two DSDD 80Trk 5.25" floppy drives. You ask how did I do that? If I remember correctly, in the documentation for the Disto Super Controller, Tony brought out all the signals being controlled correctly somehow making the controller able to support four DSDD drives. I going from 30+ year old memory here, so I'll need to find that documentation to verify this, but I strongly remember this being true. I have an old DEC Dual Full Height 5.25" floppy drive case I had bought from a HAM FEST decades ago with two full height flopyy drives in it that I pulled out and replaced with two 40 track DSDD half height floppy drives and two 80 track DSHD half height floppy drives so I could take advantage of this very feature. At one time in my twenties, I had four half height 5.25" floppy drives running on my Coco 2. Now to figure out how I did it and do it again. There will definitely be more to come on this later.

April 9, 2013 caption

  • This is my Coco 3 testing setup in the living room to first get everything going.

April 20, 2013

  • As mentioned in the beginning of my Coco 2 Setup section below, I have found out that my Disto Super Controller and my SuperIDE can NOT co-exist together due to address $FF50 being implemented by both controllers. However, since the SuperIDE Interface can hold up to four Disk ROM images in flash, I will eventually be flashing a couple of my favorite Disk rom images to the SuperIDE as soon I can get my Coco 3 MultiPak Interface to work again with my Coco 3 128K machine. Of Course I will be putting the HDB-DOS v1.4 DW4 Coco 3 rom image in the first of the four 16KB banks of flash memory.
  • An updated picture of my Coco 3 setup will be forth coming as soon as I make room for a more permanent living space for my Coco 3 computer and all its accessories.  :)

April 25, 2013

  • Well it's one day before the CoCoFEST and unfortunately I will not make it this year. I understand a number of folks won't be making it for one reason or another. I do have some interesting news about my coco 3 setup though. I have finally conquered the SuperIDE Interface and have setup my Coco 3 in a more permanent living space. I cleaned off one of my computer desks by moving my Cisco networking equipment to a shelf underneath the desktop to make room for my Coco 3. I have setup the Coco 3 with a MultiPak Interface. Slot 3 has the SuperIDE controller with a 256MB Compact Flash Card and a 4GB IDE Hard Drive. The three 3.5" floppy drives I used during my initial testing phase are also connected to a Hard Drive Specialist floppy drive controller which lives in Slot 4.
  • I modified the AUTOEXEC.BAS file on virtual drive 0 of the HDB-DOS block to include a command that does something that I can't remember at the moment, but as soon as I get home, I will update this line with the change I made.  :) Man, that just slipped my mind!
  • The Compact Flash card has a 127MB NitrOS-9 partition and a 256 virtual 35trk SSDD floppy drive HDB-DOS partition. As far as the 4GB HD is concerned, I'm playing with having multiple HDB-DOS partitions. I had a rough start until I realized that the HDB-DOS 1.1D LBA rom image loaded in the flash memory of the SuperIDE controller had a hard drive offset in the image at addresses $D938-$D93A of $052DDC. Evidently the first partition is a NitrOS-9 partition and then an HDB-DOS partition follows after.
  • I have employed Robert Gault's AUTOEXEC.BAS listing in his pdf document entitled "Using Large Hard Drives" for navigating the multiple partitions I want. Since this was already put together when I bought it, I needed to modify the AUTOEXEC.BAS file to handle the offset in the rom image. I added a little logic to handle the fact that the logical LSN0 of the first HDB-DOS partition was actually LBA sector 339420, the $052DDC offset mentioned earlier. Once that was completely debugged, and working correctly, it was pretty much smooth sailing from there.
  • I checked to make sure that the logic for calculating the current block number was used correctly to set the first LSN of each HDB-DOS partition. Once I was reasonably sure that it could move between different HDB-DOS partition blocks, I formatted the virtual drive 0 on block 1 and saved my customized AUTOEXEC.BAS file. This is actually the second HDB-DOS partition block since the AUTOEXEC.BAS file starts numbering them from zero. I had already formatted all 256 virtual floppy drives of block 0 last night. I then saved another copy on drive 0 of block 0 too. At this point I'm using the standard 35 tracks per disk, 18 sectors per track, single-sided double-density, 256 bytes per sector definition for the 256 virtual floppy drives in those blocks.
  • I was able to navigate safely back and forth between partition blocks 0 and 1. Then I moved to block 2, formatted 256 more virtual floppy drives and saved another copy of the AUTOEXEC.BAT file to drive 0 thus giving me 3 defined blocks so far numbered 0, 1 and 2.
  • I was pleased to found out that the HDB-DOS DOS command not only looks for a bootable NitrOS-9 floppy disk image in the current drive, but if it does not find one will load and execute the AUTOEXEC.BAS file if any is found. That program is a nice little creation Robert! Thank you for creating it so we all have a template to work from as an example.
  • First it displays a title, then my modification which displays the Logical LSN0 for the first partition, then displays how many drives maximum the hard drive will hold for a 4GB drive, and the beginning and ending virtual floppy drive numbers for this block. I plan to add several more options to the program for example one to auto name newly formatted drives with the actual drive number. Another to automatically format a range of drives maybe. That one could be real dangerous as it would not be used very often and would obviously wipe out all data in that block. Maybe I'll just stick to writing that one manually as I need it. There will probably be others as I think of them to make life a little easier handling multiple partition blocks of 256 virtual floppy drives.
  • Wow! 768 virtual floppies! I'm not sure at this point if I have that many 5.25" floppies in storage including the 40 trk and 80 trk OS9 formats, the 40 trk ADOS formats, the 80trk CDOS formats and what ever format JDOS used and of course the CHIP BBS 0 rom image too. I didn't just use 35 track floppy disks. As I said before, I always like to adapt things for my own needs.  :) I most definitely did a lot of adapting last night. I'm not sure yet how I'm going to handle all those other formats on my hard drive, maybe separate Compact Flash cards. Hum... More thinking to do. How does having 40trk DSDD and 80trk DSDD definitions for the floppy drives in HDB-DOS partition blocks strike you?  :)
  • Now to scour up some 80trk DSDD 5.25 floppy drives and get them online. I'm not sure if I have any more 40 trk DSDD drives at this point. I wrote down all the model numbers of the 5.25" floppy drives I own and looked them up on the internet. I found out that they all are 1.2MB drives which means that they are 80 trk DSQD (QD for Quad-Density) floppy drives. I need to find at least one 40 trk DSDD floppy drive and at least one blank 5.25" floppy for testing and ultimately read all my old 35trk SSDD floppies and backing them up onto my 768 virtual floppy drives. Whew! Stay tuned.

My Coco 2 Setup

April 20, 2013

  • It has been 11 days since I have had time to update my web page. I have found out that there is a shared address $FF50 that both my Disto Super Controller and my SuperIDE Interface implement, much to my dismay, so they can not co-exist together. Therefore I am repurposing my Disto Super Controller for one of my Coco 2 64K computers.
  • I have just assembled a Coco 2 version of the HDB-DOS v1.4 DW4 code and burnt the resulting binary file into an AM2764A EPROM and installed it in the first socket of my Disto Super Controller. The second socket has an ADOS eprom in it with two double sided 40 track floppy drives and one double sided 80 track floppy drive defined. The third socket has a CDOS 4.0eprom installed and the fourth socket has a CHIP BBS 0 DOS V1.0 eprom with 80 Track drives defined. As I experiment again with the four DOS eprom images in this Disto Super Controller, I will give further detail on the drive configuration. Hopefully, I will figure out which one can communicate with four floppy drives.
  • As of yet, I can not get a fourth physical 3.5" floppy drive to respond on my Coco 3, so this will be an interesting experiment as I relearn what I did all those years ago to get four floppy drives to run on a coco 1, 2, or 3. Hum...
  • Initially I will be using a VCR connected to a Composite Video Monitor for my Coco 2 with just the RF output. After I finish my Color Composite Video output board on my first Coco 2 64KB computer, I will switch it out with my original Coco 2 with just the RF output and connect it directly to my color composite video monitor. Then I will keep the VCR in my setup for testing my other Coco 1 and 2 computers as needed.
  • A picture of my Coco 2 setup is forth coming as soon as I create a permanent space for it.

April 21, 2013

  • As it turns out, the HDB-DOS v1.4 DW4 Coco 2 eprom image I created did not work. I went and got a more recent version of the source files and reassembled HDB-DOS. Like before most but not all loadable binary and rom files were created though the one I needed was created.
  • I erased my AM2764A eprom and reburnt the new HDB-DOS v1.4 DW4 Coco 2 rom image file into my AM2764A eprom. I installed the eprom back into my Disto Super Controller and plugged it into my Coco 1 64K computer since it has both Color and Monochrome Composite Video Outputs as well as a mono audio output.
  • When I booted the computer I was greeted with the same power-on messages as before, but unlike before I now successfully accessed a Disk Extended Color Basic floppy disk, loaded a Basic program from the floppy and ran it. I was looking at a memory dump of $FF00 - $FFFF! Success!
  • I had successfully assembled my own working copy of HDB-DOS v1.4 DW4 Coco2 rom image, burnt it into an eprom, installed the eprom into my favorite floppy disk controller, booted my Coco 1 64KB computer and successfully accessed a 3.5" floppy drive! Of course I will test it with a Coco 1 version of NitrOS-9, but the outlook is good thus far. More exciting things to come.  :)

My Combined Coco 3 & Coco 1 Computer Data Center!

April 27, 2013

  • I now have officially created a permanent home for my Coco 3 and my Coco 1 computers in my newly created Computer Data Center reserved for the Radio Shack & Tandy line of Color Computers. How is that for a long introduction.  :)
  • On the left side of the picture is a CM-8 Analog RGB Monitor connected to my Coco 3 into which the Coco 3 compatible MultiPak Interface is plugged into its cartridge port/slot.
    • The first slot is empty for now.
    • The second slot has a Disto Super Controller installed which is connected to one 5.25" 40 Trk DSDD Floppy drive. The card edge connector on the second floppy drive is positioned differently so it cannot be connected to the floppy drive interface cable at this time.
    • The third slot has a SuperIDE Hard Disk Drive Controller installed with a 256MB Compact Flash card in the side slot and a 4GB IDE Hard Disk Drive connected to the IDE compatible connector mounted in the end of the SuperIDE controller.
    • In the fourth slot is installed a Hard Drive Specialist Floppy Drive Controller which is connected to three 3.5" Floppy Disk Drives.
  • Immediately above the controllers in the MultiPak Interface are the three 3.5" floppy disk drives on the shelf above with the 4GB hard disk drive laying on top of the floppy disk drives. The ATX Power supply is powering all three 3.5" floppy drives and the 4GB hard disk drive.
  • On the right side of the computer data center desk is a modified Coco 1 with a J&M Floppy Disk Drive Controller installed in the cartridge port/slot.
    • No floppy drives are connected to this controller at this time due to the fact that all my PC floppy disk drive cables have a little piece of plastic blocking the opening so it cannot be plugged into the J&M controller. The card edge connector in the controller does not have a slot cut into the PCB between contact fingers 3&4 and 5&6. The card edge connector on the PC floppy drive cable does have a piece of plastic in that location of the connecter making connection between the two parts impossible.
  • On the shelf above the Coco 1 is a Radio Shack Dual floppy drive case with two 40 TRK DSDD floppy drives in it. Because the card edge connector is positioned differently in the second floppy drive than the first floppy drive, it cannot be connected to the floppy drive interface cable.
  • To the right off the floppy drives is a Color Composite Video Monitor in which is plugged the color composite video output of the Coco 1. The Coco 1 you say?!? In a word, Yes! The Coco 1 has installed a custom Color & Monochrome Composite Video Output Card with a Sound output as well mounted within. Actually it is mounted right on top of the top metal clip top of the shielded RF output unit. The bottom of the PCB is covered with black electrical tape and mounted with a double stick thick foam pad to the top of the RF can.
  • Running in the J&M Controller is C-DOS v2.3. In my Disto controller in the third socket is installed an eprom with C-DOS v2.4. I have no documentation for C-DOS, so if one of you out there in the Coco Community have a copy of the manual for C-DOS and wouldn't mind scanning and emailing me a copy, I would be extremely grateful. Thank you in advance.
  • I have modified the Autoexec.bas file in virtual drive 0 of the HDB-DOS partition Block of the compact flash card to include a Menu asking the user to select which set of floppy drives to activate. Answering "1" will activate the set of three 3.5" floppy drives and answering 2 will activate the set of 40 TRK DSDD floppy drives. Just as soon as I find a second 40 TRK DSDD floppy drive with the card edge contacts in the right position so as to be connectable to the floppy drive interface cable, I will be running two drives.

July 26th, 2013

  • I was just reviewing my entire web page and realized I didn't finish sharing about the update to the autoexec.bas program on my Coco 3.
  • Below is a picture of the Boot Screen as the Autoexec.bas program now stands.

  • In an effort to be fully compatible with ALL of my old Coco floppies in various formats of which there are many, I have added two 80trk floppy drives to the mix.
  • Now my MultiPak Interface for the Coco 3 is Full!

  • Each 5.25" drive's motor turns on and it's LED lights up properly when I try to access the drives one at a time, but they still can not read any Coco disks. Shoot! I have to go to my old PCs and see if any of those old 5.25" floppy drives still work. I'll let you all know how this challenge gets resolved.
  • This is a picture of my 80 track floppy drives.

  • And this is my whole setup as it now stands.

  • No Coco 2s in the mix yet. As soon as I populate my Composite Video/Component Video Monitor Driver PCB, I'll be testing one of my Coco 2s as well. I can hardly wait.
  • What I need now is a bunch of RAM in my Coco 3, a serial cable and off I go into the Wild Blue yonder of Drivewiring! The PC is already setup ready to go and sits on the floor underneath my Coco Data Center!
  • Below the Coco 1, underneath the desk, on a shelf is my Cisco Network. On the Upper left of the stack is a Printer Spooler with a parallel port that is connected to my Canon Laser Printer.
  • To the right of the white printer spooler is a Cisco PIX 506E Firewall Appliance which protects the entire computer network from viruses.
  • Underneath both devices is a Cisco 3500XL 48 Port Ethernet Switch with Power On Ethernet capability with Virtual LAN features.
  • Below the Cisco switch are two Cisco Content servers with 80GB for storage. Perfect for serving an FTP site on each server. I'd like to put a web site on them if possible.
  • Well that about does it for now. If you want further details about anything on this web page just send me an email.


Floppy Drive Woes

October 4, 2013

  • Inspiration struck two nights ago and I finally figured out why my 40 track DSDD and 80 track DSHD drives did not work. Well, they were not what I thought they were. Actually they are 1.2MB 80 track DSHD drives! How could I have missed that one! Ugh! I did find two 360K drives in my collection and fully tested them on my Workbench PC and they passed all tests with flying colors! I installed them in my vertical brick and tested them on my Coco 3 setup in my Data Center and they worked great under HDB-DOS! I can now read all those old 35 track and 40 track SSDD and DSDD floppies in storage. I literally have hundreds, maybe even thousands! That my friends in NOT an exaggeration!
  • I also found two 180K 40 Track SSDD drives as well. When I was testing those on my workbench PC, I had not found out what they were yet, so I was stabbing in the dark with the DOS format command parameters. After I returned to the house, while talking with a fellow Coco buddy on Skype he figured out that they were 180K drives which means they are not 35 track drives as I thought, but 40 track SSDD drives! I had forgotten why flippy floppies were ever born. Duh, to use both sides of the floppies in a single sided drive. Well, I need to go take care of a computer customer, so I'll stop for now. I'll be taking a few more pictures of these two dual drive bricks as well. Take care my friends.

October 24, 2013

  • I have now fully tested the two 40 track DSDD 360KB floppy drives on my Coco 3 as well as the two 40 track SSDD floppy drives. I'm happy to report that all four drives function correctly!
  • I had been messing with floppy cables and connectors and managed to mess up my original floppy cable kludge setup, so I ended up ordering a ribbon cable connector crimper so I now I can make all the ribbon cables I need. I made a floppy cable for three 3.5" 1.44MB floppy drives, another floppy cable to fit inside the horizontal brick to connect to the two 40 track SSDD 180KB floppy drives, and a third cable to connect to the two 40 track DSDD 360KB floppy drives. The three 3.5" drives are connected to a floppy controller in Slot 4 of the MPI. The two 360KB drives are connected to a floppy controller in slot 2 and the two 180KB drives are connected to a floppy controller in slot 1.
  • Now I can specify which floppy controller and associated floppy drives I wish to use with my basic program menu that boots off the Compact Flash card of the SuperIDE controller in Slot 3 on power up. Remember the one I described earlier? I'm getting sleepy and my eyes are very tired, so I will sign off for now and complete this narrative shortly. Take care my friends and stay turned for more excited news on this and other activities with my Coco Date Center!

November 15, 2013

  • Though I have not found my 5.25" 720KB floppy drives in storage, I found three reasonably priced ones on ebay, so I can now round out my floppy drive setup with 2 - 5.25" 80 track DSDD 720KB floppy drives in my horizontal brick to replace the two 40 Track SSDD 180KB floppy drives that it currently holds. I will also be creating a 3 floppy drive mix for the express purpose of transferring software from older floppy media to newer floppy media in an effort to preserve the man years of software I have collected and created over the years. This floppy drive setup will consist of 1 - 3.5" 80 track DSDD 1.44MB, 1 - 5.25 40 track DSDD 360KB, & 1 - 5.25" 80 Track DSHD 720KB floppy drives. This way I will be able to transfer old software from the old 5.25" floppy media to newer 3.5" floppy media. As my Drivewire 4 server does not currently run on my desktop computer, I will have to employ an even older HP mini-tower Windows XP computer system to provide the Drivewire 4 File Server needed for my Coco 3 and Coco 1. Eventually I plan on creating virtual floppy images of all my old Coco software, but for the present, I will be picking choice selections of OS-9 disks to backup to 3.5" disks so I can retrieve the drivers I need to operate all my cool Disto cartridges on my Coco 3 and Coco 1.

Burning Eproms With My Color Burner

October 3, 2013

  • Many years ago when I was much younger I wanted to burn a customized version of ADOS for my Coco 1. Of course back then in the early to mid 1980's there was no internet to research anything on and the only resources available were books and magazines in local colleges and universities. I scoured all the computer books, magazines and journals I could find in search for an eprom burner which I could use on my Coco 1. Since that was the only computer I owned back then, I had to look for an eprom burner interface which run on my Coco 1 setup.
  • At that point in time my Coco 1 had a Multipak Interface and at least one floppy controller, maybe two. Chronologically speaking though I don't remember what else I might have owned. As I have been collecting Coco related parts once again all the memories about the good ole days of learning on and using my Cocos came flooding back to the forefront of my mind. I found something called the Color Burner in a magazine somewhere which was right down my alley! All I do remember is that I built my own interface to burn my own eproms for my Coco 1.
  • I was racking my brains trying to remember how I had setup my eprom burner, but all I could remember was creating some type of custom interface on one of the Color Computer Cartridge Prototype printed circuit boards (PCBs) that Radio Shack use to sell decades ago. That custom card plugged into my Multipak Interface with a ribbon cable connected to that card and running down to another card laying on the table where the eprom burning actually took place. I also remember having personality modules for different types of eproms made from 16 pin DIP headers that plugged into a 16 pin IC DIP socket on the Color Burner.
  • Recently a discussion started on the Coco Email List about the Green Mountain Micro Color Burner originally designed by Dennis Bathory-Kitsz who also administers 1the Coco Email List. This again sparked my interest in my little Color Burner that I had enjoyed using so many years ago, so I went looking for it again.
  • I had ran across it a year or so ago in the midst of looking for something else. You know how it happens that you can usually find everything in the world EXPECT what you are currently looking for. Well, that day I found a whole box of Coco related cartridges, disk controllers, etc. including a Burke and Burke MFM Hard Drive Controller which actually used an 8-BIT Winchester MFM Hard Drive Controller Card with an ISA bus from some old IBM PC/XT/AT computer. I seemed to find everything but that Color Burner. I ran across other boxes with more Coco related accessories as well. I continued to look everywhere again and again, but I could not remember the spot around my workbench where I had put the Color Burner for safe keeping. Finally I found my Color Burner after remembering I had pulled it out and set it aside so I could possibly use it later on. I was very happy to finally find my wonderful little Color Burner and took some pictures of it so you all can see what I use to burn eproms with. :) As it is very late and I'm going bug-eyed trying to see these little words on my laptop, I'm going to have to go to bed for now. I will be posting those pictures very soon. Stay tuned for more exciting adventures with my Cocos!

October 4, 2013

  • Well I'm sitting here in my favorite hangout in my "office" in Mickey D's going over my email. I took out my MicroSD memory card from my cell phone expecting to see some pictures of my Color Burner last night. I remember laying out the Color Burner on the table and arranging the cable, but they were not to be found. Hmmmm. This is very strange. I reckon I will have make time to take those pictures and post them here. Take care my friends.  :)

Biography

My professional biography will go here.

My Resume

  • A link to my resume will go here.
  • Professional inquiries may be sent to me using the Contact Information above.

Miscellaneous

  • All suggestions for 6809 and 6309 microprocessor based projects and Coco projects are welcome. Please keep them both positive and helpful.
  • Thank you for visiting my little corner of the Wonderful World of the Coco 1, 2, 3, the 6809 and 6309 microprocessors.
  • Starfleet out! End Transmission! Qaplah! Shalom! Keep Having Fun!

--Computerdoc (talk) 21:09, 6 April 2013 (CDT)The Computer Doc