* * PROJECT STATUS (10/05/2021) * *

HW:

  • Released all the HW related files (see the FILES section);

SW:

  • Released all the SW related files (see the FILES section);
  • Updated S310121-R130421 IOS and SD-S310121-R130421-v1.zip;
  • Added the complete collection of the 4 Manuals of CP/M-68K (see the FILES section);
  • Updated S310121-R150421 IOS and SD-S310121-R150421-v1.zip;
  • Added the SW/FW for the Arduino Uno PIC programmer, including the "ICSP Shield" board (see the FILES section);
  • Updated SD-S310121-R150421-v2.zip.

DOCS:

  • Task in progress...



* * THE PROTOTYPE * *

In the first phase of the design I've used a prototype on a breadboard to check the basic "concepts".

I've used as "companion" MCU a PIC18F47Q10 on a custom board (PicOne) I previously made and that it is directly pluggable on breadboards, and with onboard microSD card and USB-serial adapter.:

To make the firmware for the PIC18F47Q10 I've used MPLAB X IDE with the MCC plugin.

Here a short video with an automated assembler toolchain using Easy68K as assembler and sLoad, a custom SW utility to load from the serial port and execute a Motorola S-record formatted executable:


To allow a real automated toolchain an auto-reset circuit on the breadboard takes the DTR signal from the serial-USB adapter and uses it to reset the MCU (like in the Arduino Uno board), so it is possible reset the breadboard from a batch file running in the PC using a macro of Tera Term.


* * WHY A PIC? * *

Those have followed the previous Z80-MBC2 and V20-MBC boards will note that I haven’t used here an Atmega MCU. Using an Atmega MCU allows to use the friendly Arduino IDE and many ways to flash the MCU, so this is an enabling factor.

Unfortunately Atmega MCU GPIO ports are not TTL compatible, and this limitation was solved in the previous boards using a CMOS CPU that under given conditions can accomplish the digital levels of the Atmega MCU.

But here the 68008 CPU isn’t available in CMOS technology at all, so an Atmega MCU cannot be used.

So I’ve done some searches to find an alternative MCU having three main constraints: must have TTL compatible GPIOs (I mean strictly "guaranteed" TTL compatible), must be a TH part and cheap too.

The only part I’ve found was a PIC18F47Q10 MCU, and I must say that it accomplish the previous constrains very well. More, it is a modern MCU with lot of interesting features and more flash and RAM memory than the previous Atmega32 MCU.

Of course nothing comes free, and the choice of a PIC18F47Q10 brings some complexities. The first is the need for an appropriate HW programmer to perform the flashing (however I've found a way to use a common Arduino Uno board as PIC programmer. See the paragraph "FLASHING THE FIRMWARE WITH AN ARDUINO UNO AS PROGRAMMER" below). The second is the constraint to use a proprietary IDE (MPLAB X) to write or modify the source that is more complex to use than the Arduino IDE (but I must say a lot more powerful…).

Those wanting make modifications to the firmware will have to install the MPLAB X IDE and learn to use it. MPLAB X is a professional tool, and with a lot of “power” comes a lot of complexity too… I hope this won’t be a problem, and after all learn to use a professional tool like MPLAB X IDE is always a good thing.


* * HARDWARE OVERVIEW * *

Here the 68k-MBC hardware main specs:

  • 68008 CPU running at 8MHz;
  • multi-boot capability;
  • two main HW configuration options: Lite or Full. Lite HW configuration option allows to build a minimal 3 ICs 68008 system;
  • RAM can be configured as 128/512/1024KB (1024KB supported on the Full HW configuration option only);
  • optional RTC and microSD (HD emulation) modules (the same used in the Z80-MBC2);
  • optional 16x GPIO port;
  • I2C expansion port;
  • 2 serial ports (Serial Port 2 supported on the Full HW configuration option only) ;
  • on board RS232 drivers for both the two serial ports (Full HW configuration option only);
  • serial-USB adapter support on the...
Read more »