[P] MECB 68008 CPU Card
[P] MECB 68008 CPU Card
I've started planning for a Motorola 68008 CPU Card for MECB.
The 68008 is the 8/32-bit version of the MC68000 processor.
It was most notably used in the Sinclair QL computer.
Internally, the 68008 is a full 68000 processor, but with an 8-bit external data bus interface (hence 8/32-bit).
At it's launch in 1982, the 68008 was intended to enable designers to leverage existing 8-bit hardware designs and 8-bit wide memory, to enable a lower cost of entry to the new 68000 world.
This makes the 68008 a perfect candidate for our Minimalist design intentions. In fact, it probably represents the high-end of CPU candidates for our Minimalist Europe Card bus.
A 68008 CPU card would enable us to experiment with 68000 coding. Ideally, it would also be compatible with our existing 8-bit MECB peripheral cards.
To this end, my current thinking is to make a 68008 CPU card that implements the full addressable 1MB of fast memory, on-board, allowing full "no wait-state" processor speed. The MECB bus then being used exclusively for the legacy 8-bit peripheral support interface of the 68008.
The only downside of this approach will be to rule out using the later 68000 family peripherals. But, in the interests of having a powerful 68000 CPU to play with, whilst keeping with the Minimalist philosophy of MECB, I think this approach is the best fit for the MECB project.
Currently in early planning stage.
The 68008 is the 8/32-bit version of the MC68000 processor.
It was most notably used in the Sinclair QL computer.
Internally, the 68008 is a full 68000 processor, but with an 8-bit external data bus interface (hence 8/32-bit).
At it's launch in 1982, the 68008 was intended to enable designers to leverage existing 8-bit hardware designs and 8-bit wide memory, to enable a lower cost of entry to the new 68000 world.
This makes the 68008 a perfect candidate for our Minimalist design intentions. In fact, it probably represents the high-end of CPU candidates for our Minimalist Europe Card bus.
A 68008 CPU card would enable us to experiment with 68000 coding. Ideally, it would also be compatible with our existing 8-bit MECB peripheral cards.
To this end, my current thinking is to make a 68008 CPU card that implements the full addressable 1MB of fast memory, on-board, allowing full "no wait-state" processor speed. The MECB bus then being used exclusively for the legacy 8-bit peripheral support interface of the 68008.
The only downside of this approach will be to rule out using the later 68000 family peripherals. But, in the interests of having a powerful 68000 CPU to play with, whilst keeping with the Minimalist philosophy of MECB, I think this approach is the best fit for the MECB project.
Currently in early planning stage.
- bugeyedcreepy
- Posts: 72
- Joined: Sun Nov 19, 2023 10:21 am
Re: [P] MECB 68008 CPU Card
....!!
ohh, yeah...
ohh, yeah...
Re: [P] MECB 68008 CPU Card
Back in the old days after learning the basics on my Ohio C1P machines I then moved up to Sinclair QLs where the learning started all over again. Apart from the poor hardware (especially the microdrives) and slow software (68008) they had a really good and well documented multi-tasking operating system (QDOS). My QLs were pimped out with 3.5" disk drives and EPROM programmer add-ons and several software ROMs. I used to use the QL for designing custom sundials for any location and orientation. I maintained my colleagues QL for his office needs. I wonder if QDOS could be made to work on an MECB?
One of the additional boards I made was an Inmos link interface, this talked to an Transputer M212 hard disk controller with an old 5MB full height disk drive. The software was kludged up floppy-disk driver. The QL with the hard disk became a file-server talking down the twisted pair network interface to some of my other QLs. I sold most of the system to a fellow enthusiast back in around 1990 when I had moved over to PCs. I never had the same affection for them though but I did some device driver hacking and an ISA breadboard telephone interface with ADC back when Borland C was popular. I still have the card, maybee see if that still works one day ...
One of the additional boards I made was an Inmos link interface, this talked to an Transputer M212 hard disk controller with an old 5MB full height disk drive. The software was kludged up floppy-disk driver. The QL with the hard disk became a file-server talking down the twisted pair network interface to some of my other QLs. I sold most of the system to a fellow enthusiast back in around 1990 when I had moved over to PCs. I never had the same affection for them though but I did some device driver hacking and an ISA breadboard telephone interface with ADC back when Borland C was popular. I still have the card, maybee see if that still works one day ...
Re: [P] MECB 68008 CPU Card
I had a small stash of PLCC 68008's that I've never been able to test out (they are very hard to play with without some kind of adapter) so I played a bit with KiCAD and made a very rudimentary tester. It makes use of the very excellent 8-bit LED thing
The GAL is complete overkill but I wanted to make use of the same device that I might actually use in an actual processor board (so testing that as well). I just got the boards back this morning so gave it a quick whirl:
https://youtu.be/Tjp9Q34umVw
I made a couple of very silly mistakes i.e. without even checking I assumed the 8-bit LED thing was in a standard DIP package but it is, of course, wider - duh! So I kept one side plugged in and manually hooked up the power to the opposite side with bodge wires. I also had the wrong spacing for the capacitors so I had to squish the legs a bit (that was the one thing I thought I did check - ah well). Anyway, it seems at least the first of the 68008's I tested seems to work fine as a 22-bit counter
Hopefully I can get it to do something more interesting in future.
https://youtu.be/Tjp9Q34umVw
I made a couple of very silly mistakes i.e. without even checking I assumed the 8-bit LED thing was in a standard DIP package but it is, of course, wider - duh! So I kept one side plugged in and manually hooked up the power to the opposite side with bodge wires. I also had the wrong spacing for the capacitors so I had to squish the legs a bit (that was the one thing I thought I did check - ah well). Anyway, it seems at least the first of the 68008's I tested seems to work fine as a 22-bit counter
Re: [P] MECB 68008 CPU Card
Pretty excited to finally get something working with the MECB I/O using a 68008. It's a really basic board with 512K RAM and 512 K ROM. I managed to get the Motorola Tutor monitor running on it via the MECB Motorola I/O card (so far the only card I've tested).
Unfortunately I made several silly errors when drawing up the schematic (not realising that some of the bus signals were active low so I had my read and write signals in the wrong active state). Managed to work it all out in the end (my dog in the background is about as exhausted as I was trying to work out why things weren't working) - just needed a couple of trace cuts and bodge wires for this revision 0.1 board. Next step is to add enhanced basic and then perhaps add some graphics extensions to it to support the MECB 9958 card. Still want to do a little bit more testing to see if I can upload programs easily via the monitor (and save having to pull the ROM in and out ... though once I have enough software there it should be possible to reprogram parts of the ROM to add functionality - something more to test). Anyway, just elated to have got to this point.
Unfortunately I made several silly errors when drawing up the schematic (not realising that some of the bus signals were active low so I had my read and write signals in the wrong active state). Managed to work it all out in the end (my dog in the background is about as exhausted as I was trying to work out why things weren't working) - just needed a couple of trace cuts and bodge wires for this revision 0.1 board. Next step is to add enhanced basic and then perhaps add some graphics extensions to it to support the MECB 9958 card. Still want to do a little bit more testing to see if I can upload programs easily via the monitor (and save having to pull the ROM in and out ... though once I have enough software there it should be possible to reprogram parts of the ROM to add functionality - something more to test). Anyway, just elated to have got to this point.
Re: [P] MECB 68008 CPU Card
OK, now with enhanced BASIC as well:
Not the fastest kid on the block ... 133 seconds to run the Sieve of Eratosthenes. Although, looking back to the historical BYTE article, it looks like it beat the pants off pretty much all of the interpreters at the time.
Not the fastest kid on the block ... 133 seconds to run the Sieve of Eratosthenes. Although, looking back to the historical BYTE article, it looks like it beat the pants off pretty much all of the interpreters at the time.
-
PaulShipley
- Posts: 10
- Joined: Sun Oct 20, 2024 8:16 pm
Re: [P] MECB 68008 CPU Card
That's great! Looking forward to hearing more. Thanks 
Re: [P] MECB 68008 CPU Card
I managed to test the timer on the Motorola card and that works OK via the 68008 card but I'm having a right ol' time trying to get it to talk to the 9958 video card (replaced the 68008 card with the 6809 and it works fine). What's really odd is that the video device seems to get selected at time even when I'm not communicating with it - so I suspect that is interfering with the device in cases where I am communicating with it. I suspect some cross wires somewhere or perhaps a short but it is so strange that the memory and ROM seem to be working fine - it feels like it must be some really subtle issue. I double-checked the IO selection and I'm pretty sure it shouldn't overlap with anything. I ran out of time to test any more today but I was thinking to write a simple program that reads through the memory map (avoiding or specifically targeting the video device) - perhaps I can see if there are certain addresses that are causing trouble. I don't have a logic analyser so it is a bit tricky to debug problems like this.
Last edited by epaell on Mon Nov 03, 2025 3:42 am, edited 1 time in total.
Re: [P] MECB 68008 CPU Card
Finally success with the VDP!
Strangely, while I followed the Motorola guideline circuitry for dealing with "6800"-like devices this seemed to result in a phantom read pulse at the end of each I/O request that messed with the VDP. I ended up removing the second flip-flop of the recommended circuit and that seemed to make it work fine. I also had to fix a few minor bugs in the VDP handling routines but finally at a point where things seem to be working - at least for text mode.
Strangely, while I followed the Motorola guideline circuitry for dealing with "6800"-like devices this seemed to result in a phantom read pulse at the end of each I/O request that messed with the VDP. I ended up removing the second flip-flop of the recommended circuit and that seemed to make it work fine. I also had to fix a few minor bugs in the VDP handling routines but finally at a point where things seem to be working - at least for text mode.
Re: [P] MECB 68008 CPU Card
Some further progress with testing the 68008 board with the 9958 graphics board. I've been playing with the VDP-based line drawing functionality i.e. where the VDP itself draws the line rather than getting the CPU to do all the grunt work. This works quite nicely and has the benefit of being (almost) graphic mode independent i.e. you can change between graphics modes and not have to worry about how pixels are arranged in memory. It also allows logic operations to be included as part of the drawing e.g. overwrite, eor, etc. The documentation on how to implement this was a bit confusing but managed to work it out in the end after a bit of trial and error (more error than trial). In this example I draw lines to fill the display but using an eor (exclusive-or) logic function so it results in a pretty pattern. I run through this twice so the second iteration, whilst still drawing, ends up completely erasing what was done by the first iteration.
https://youtu.be/FRjNUHUXa7U
The VDP also provides the ability to shift 2D chunks of VRAM data from one location to another. It's quite an impressive device for its time - almost GPU-like functionality.
https://youtu.be/FRjNUHUXa7U
The VDP also provides the ability to shift 2D chunks of VRAM data from one location to another. It's quite an impressive device for its time - almost GPU-like functionality.