Author Topic: PCBs for 6800 / 6801 / 6802 / 6808  (Read 10646 times)

0 Members and 1 Guest are viewing this topic.

Offline saipan59Topic starter

  • Contributor
  • Posts: 37
  • Country: us
PCBs for 6800 / 6801 / 6802 / 6808
« on: February 04, 2024, 04:36:33 am »
I hadn't made a non-trivial PCB in a few years, so just recently made these.
There are 3 boards:

1) An MC6800 MPU, with up to 8KB of PROM, 2KB of RAM, and an MC6875 clock generator. Also supports the 6802 and 6808 variants (runs directly from a crystal, no 6875 needed). Includes a 6821 for parallel I/O. Has headers for bus I/O expansion. The 6802 has 128b of internal RAM, so the external RAM chip is optional with that one. In the picture (attached), the upper-left is configured for 6800, the upper-right is for 6802.

2) An MC6801 or 6803 MPU. Other features much like board 1).  The 6801/03 has some I/O pins built-in, so a minimal version doesn't require the 6821. External RAM is also optional. Lower-left in the picture.

3) A "shield" to use with the other 2 boards. It supports a 6850 UART, and a bunch of space to build other circuits. It has the same header layout as 1) and 2), so it can be "stacked" on top if female headers are mounted on the bottom.

All major features are working. The 6800 requires 3 etch cuts, 2 missing pullups, and 3 wire-adds to fix a couple of boo-boos. I messed up a bit because I had never actually built anything for the original 6800.
The 6801 board just needs 2 missing pullups on IRQ and NMI.
The crystals are mounted on the bottom, because they might interfere with the 'shield'.

Not sure what I will actually do with these boards...
Did the layout in the free version of Eagle, boards made by PCBway.com .

I originally wanted to make a single board to do both 1) and 2). But Eagle (free) is limited to 12.4 square inches and 2 layers, and I couldn't quite make the layout work, so instead I made 2 versions of the board, and everything was easy.
I know that others have done similar boards, of course, but I had a lot of fun working on them.

Pete
 
The following users thanked this post: oPossum, Circlotron, metertech58761

Offline Phil_G

  • Regular Contributor
  • *
  • Posts: 71
  • Country: gb
  • G4PHL
Re: PCBs for 6800 / 6801 / 6802 / 6808
« Reply #1 on: February 04, 2024, 12:56:02 pm »
Would a really simple monitor be of any interest?  uses a 4x4 pad and two TIL311's, plugs into the 6821.
Has display memory, modify, fill, Goto, Serial Load S19, relative jump offset calculator and a SWI breakpoint handler.
Includes a primitive tic-tac-toe demo.
See 6800 page of https://philg.uk
Skip to 3 minutes:  https://youtu.be/j6D_KIOQbsI?si=YIKug6LLud67eAEF&t=181
Just a friendly offer, it is usable though it might be too simplistic for your needs :)
Cheers
Phil

« Last Edit: February 04, 2024, 01:15:29 pm by Phil_G »
 

Offline saipan59Topic starter

  • Contributor
  • Posts: 37
  • Country: us
Re: PCBs for 6800 / 6801 / 6802 / 6808
« Reply #2 on: February 04, 2024, 05:32:17 pm »
Thanks Phil!
That monitor looks great! But for me, implementing something myself is where most of the "fun" is. I have a hex keypad and various displays that I'm thinking about...

Meanwhile, attached are my schematics, in case anyone is interested. Includes fixes for known bugs.

Pete
 

Online Andy Chee

  • Frequent Contributor
  • **
  • Posts: 781
  • Country: au
Re: PCBs for 6800 / 6801 / 6802 / 6808
« Reply #3 on: February 05, 2024, 04:12:45 am »
I've been looking for something useful to do with the 6803's I have in my junkbox.  Unfortunately I don't have a functional 6821 lying around, so need to make something up with discrete logic.
 
The following users thanked this post: saipan59

Offline saipan59Topic starter

  • Contributor
  • Posts: 37
  • Country: us
Re: PCBs for 6800 / 6801 / 6802 / 6808
« Reply #4 on: March 02, 2024, 04:39:50 pm »
Building something using the boards I recently made.
A 6803 MPU (with RAM and EEPROM), with two 'shields' stacked on top.
The middle shield has an MC6850 UART, and will soon have an MC6840 timer added.
The top shield has a 9-digit LED display, multiplexed by the software, driven by a CD4511 and 74LS145, plus a transistor to do the decimal point.

In the picture, the display is actually showing "8765.43210" .
The dongle with the ZIF socket is currently being used for the EEPROM, so that I can quickly swap the chip without separating the shield boards.

After adding the MC6840, I think I'll make a basic frequency counter. [I really don't "need" a counter, because I already have five different HP counters... ;-) ].

Pete
 
The following users thanked this post: RoGeorge

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6470
  • Country: ro
Re: PCBs for 6800 / 6801 / 6802 / 6808
« Reply #5 on: March 02, 2024, 05:41:00 pm »
Nice PCBs!  :-+

Just bumped today into the scrapbox with an MC6803L in it.  The MCU fabrication date is 1982.  :)
Never worked with 6800, I was using Z80 back then.

This 6803 was probably used before (not sure), and the datasheet says it has ROM.  Assuming the ROM was already written, can an MC6803L still be made to boot from an external memory?

Asking just out of curiosity, don't have any project for a 6803.


Later edit:
========
Found the answer in the datasheet, no ROM for 6803, L means ceramic, and the mode can be configured by the levels of pins P20..21 during the rising edge of \$\mathsf{\overline{RESET}}\$.

And I have some static RAM chips, too.  Hope to resist the urge of putting them all together.  ;D
« Last Edit: March 02, 2024, 06:11:08 pm by RoGeorge »
 

Offline saipan59Topic starter

  • Contributor
  • Posts: 37
  • Country: us
Re: PCBs for 6800 / 6801 / 6802 / 6808
« Reply #6 on: March 02, 2024, 07:21:07 pm »
>Never worked with 6800, I was using Z80 back then.

The original 6800 is a bit of a pain, because it requires a 2-phase clock. The 6802 fixes that, and also adds 128b of RAM. The 6808 is a 6802 that has "bad RAM", so they disabled it, and it becomes a 6800 with a single-phase clock.

>[6801 or 6803] and the mode can be configured by the levels of pins P20..21

Yep. I typically use "mode 2" (MUXed addr/data, large address space, 12 bits of GPIO).
I also have some 6801 (with mask ROM, but disabled by Mode 2), and 68701 which has a UV-erase EPROM, making a very practical "single chip" solution.

Attached is my code for checking out the LED display from the previous post. The 6803's internal Timer is used to periodically update the display. All the work is in the interrupt routine, so the "main loop" does nothing...

Pete
 

Offline saipan59Topic starter

  • Contributor
  • Posts: 37
  • Country: us
Re: PCBs for 6800 / 6801 / 6802 / 6808
« Reply #7 on: March 11, 2024, 01:34:28 am »
Just FYI, attached is my latest code for the 6803 board, with two 'shields' stacked on top.
The extra stuff on the shields includes:
- A 9-digit LED display, MUXed by a 74LS145 and CD4511, plus a transistor for the decimal point.
- Four buttons. Pushing any of them causes an IRQ using a 74LS09.
- An MC6840 timer.

The functionality in the code includes:
- A simple frequency counter, using one of the timers in the 6840. With a 1-second gate time, it is accurate to +/-1 in the 5th digit.
- A simple 'signal generator', using the 2nd and 3rd timers in the 6840 to divide the 1 MHz clock in various ways. The freq range is 250 KHz to one cycle every 65 seconds.

The hardware also has a 6850 UART, but I haven't done anything with that yet.

Pete

 

Offline sarahMCML

  • Regular Contributor
  • *
  • Posts: 75
  • Country: gb
Re: PCBs for 6800 / 6801 / 6802 / 6808
« Reply #8 on: March 31, 2024, 05:16:32 pm »
Only indirectly related to hardware, but many years ago I wrote and burned myself a BBC Micro BASIC ROM wherein the built-in assembler assembles 680x code instead of 6502. Couldn't manage to get the 6809 in though, unfortunately. There was just enough space to get it all in, if I recall!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf