Close
0%
0%

6303 CPU card for RC2014

A 6303 based processor card for the RC2014 bus

Similar projects worth following
This is a simple CPU board for the RC2014 system. It's designed to run with a clock/reset card, some kind of RAM and ROM (although you could in theory just run internal RAM with some simple mods), and some kind of storage. It uses the internal serial port which at RC2014 clock speeds with a 2MHz part gives you 115,200 baud.

The board implements an expanded mode 6303 set up and generates Z80 like signals from the CPU in order to drive the bus. A 74HC00 does the needed conversions to generate the \RD and \WR lines whilst a 74HC688 is used to generate \IORQ and \MREQ by mapping MMIO $FExx to the I/O space.

One 74HC573 demultiplexes the lower address and data lines. The second one is present as the recommended workaround for the fact that you can get big transients when the lower address lines switch to data, and buffers the upper address lines which if there are power problems or a lot of capacitance can otherwise wobble when driving a high capacitance load - like a backplane.

The spare port when running multiplexed is brought out on the top of the board for purposes yet undefined (it's an 8bit GPIO port so quite flexible). Port 2 is brought out for the TTL serial and the other port 2 pins are just strapped to get the desired boot mode.

Clocking is a bit different to the other boards I've made. The 6303 card expects a standard RC2014 clock/reset card because it runs at CLK/4 and generates that

There is a jumper to put the actual E clock on pin 39 (a user pin) but it's actually not very useful without RW. If I do a rework of the board I'll move it to pin 38 with RW on pin 39 and 680x peripherals would prefer to have both, and 6502 already uses pin 39 for RW.

6303.zip

Gerbers for rev2

Zip Archive - 119.70 kB - 04/06/2020 at 15:05

Download

x-kicad-pcb - 388.57 kB - 04/06/2020 at 15:04

Download

x-kicad-schematic - 21.17 kB - 04/06/2020 at 15:04

Download

lib - 12.25 kB - 04/06/2020 at 15:04

Download

x-kicad-project - 3.68 kB - 04/06/2020 at 15:04

Download

View all 8 files

  • 1 × 6303R or similar 40pin DIP 6303, not the later 48/64pin versions
  • 2 × 74HC573 8bit latch
  • 1 × 74HC00 Quad NAND
  • 1 × 74HC688 8bit comparator
  • 6 × 4K7 resistor

View all 9 components

  • Fuzix

    EtchedPixels07/08/2021 at 17:14 0 comments

    With the compiler now up to scratch the board is able to boot and run Fuzix.

  • 6803

    EtchedPixels05/08/2020 at 18:03 0 comments

    The 6303 is a descendent of the 6303 so the question of 6803 support naturally comes up. As far as I can tell the only difference of relevance is that the 6303R has Vcc on pin 21 and a standby signal on pin 21, whilst the 6803 has Vcc on pin 7 and Vstandby (for the iram) on pin 21.


    If I am reading the manuals right it should be sufficient to replace R4 with a wire link to run a 6803 processor. Once I have one to hand I will test.

  • Software Diversion

    EtchedPixels11/10/2019 at 01:11 0 comments

    The 6303 board is booting and able to load a bootblock off a CF adapter and run it correctly. At that point I got annoyed with the free 6803/6303 tools available and decided to take a slight diversion.


    I'm currently turning the core of cc65 into cc6303, as well as adding it to the Fuzix assembler (based off the freed up MWC one) and the linker I wrote. There may therefore be a delay before any more visible software progress happens on the board itself.

View all 3 project logs

Enjoy this project?

Share

Discussions

Keith wrote 04/12/2022 at 01:10 point

Do you have any planned firmware for this? Perhaps the Psion organiser with a 2x16 LCD, or Tandy MC-10 BASIC?

  Are you sure? yes | no

Dave's Dev Lab wrote 10/23/2019 at 01:24 point

@EtchedPixels - is the cpu board i should be targeting for my 8-bit VGA card dev?

  Are you sure? yes | no

EtchedPixels wrote 10/23/2019 at 20:57 point

In theory RC2014 stuff shouldn't be CPU dependent... in practice I guess the E clock behaviour of the 68xx/65xx makes it somewhat that way

  Are you sure? yes | no

Linux HA wrote 10/20/2019 at 18:36 point

Hi EtchedPixels, I have a copy of Peter Stark's HUMBUG for the MC10 (actually it looks like a 6800 version but that will work fine with the 6801/6301). I have the disassembly of the code.

Sorry sent a PM also (meant to do this).

  Are you sure? yes | no

EtchedPixels wrote 10/19/2019 at 12:13 point

Yep.. the 6800 had some brain dead omissions, the 6801/3 fixed most of them and the 6303 ran it all faster (it was pipelined) and also added some immediate bit operations and also an instruction to swap X and D (index and 16bit accumulator). It will run 6800 code except that if the 6800 code expects to be able to use RAM in 00-1F it breaks as that is where Motorola put the I/O. That was a screw up they didn't fix until the 68HC11 where they made the I/O space movable.

  Are you sure? yes | no

salec wrote 10/19/2019 at 15:25 point

But 6800 is a CPU, not a MCU. Motorola didn't have concept of I/O space in 8-bit CPUs. You could try to execute code from e.g. a periferal register even though it would be some gibberish. IIRC, 68hc11 we used didn't have remapable devices and eeproms, but perhaps some hc05s and hc(9)08s had, they really knocked themselves out with them, that was like Baroque and Rococo, luxury and a something for everyone.

  Are you sure? yes | no

EtchedPixels wrote 10/20/2019 at 18:28 point

The 6801 is an MCU as is the 6303 - both have built in I/O devices. Motorola stuck the I/O at direct page 0000-001F which means you can't run FLEX easily on a 6303. All the 68HC11's have remappable addresses for internal RAM and internal devices so they can run Flex as you can remap the internal I/O to somewhere less inconvenient. Likewise on the HC11 you can also boot from internal EPROM or EEPROM and then turn that off but not relocate it.

  Are you sure? yes | no

salec wrote 10/20/2019 at 19:32 point

I had to check 68hc11 data sheet, and you are right (and I was wrong) about remapping internal RAM and registers. I remembered that we had a fragmented memory map, but I guess that was because of the internal eeprom. 

  Are you sure? yes | no

Starhawk wrote 10/19/2019 at 01:48 point

This is nifty! The Hitachi 6303 was one of many spinoff/"enhanced" sort-of-6800-based processors from back in the day. AFAIK it will actually run 6800 code, but it has additional instructions that the 6800 doesn't have, amongst other interesting features.

I know of the 6303 from the PSION Organizer II series of handheld computers. Widely considered the first commercially successful PDA, it really was a whole lot more than that... not bad for a little box with a two-line 16 character display (OK, there was the LZ64 with a four-line display, but...), a thirty-six key "keyboard" (?) that wasn't even QWERTY, and not a lot of brains even for 1986... but hey it fit in a shirt pocket and ran basically forever on a 9-volt transistor radio battery... nice :D

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates