* * PROJECT STATUS (19/06/2021) * *

HW:

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

SW:

  • Released all the SW related files (see the FILES section);
  • Updated IOS S310121-R130421 and SD-S310121-R130421-v1.zip (see the FILES section);;
  • Added the complete collection of the 4 Manuals of CP/M-68K (see the FILES section);
  • Updated IOS S310121-R150421 and SD-S310121-R150421-v1.zip (see the FILES section);
  • Added the SW/FW for the Arduino Uno PIC programmer, including the "ICSP Shield" board (see the paragraph: FLASHING THE FIRMWARE WITH AN ARDUINO UNO AS PROGRAMMER);
  • Updated SD-S310121-R150421-v2.zip (see the FILES section);
  • Released a working experimental doker image for a gcc cross-compiler toolchain (See the paragraph: SLOAD: HOW SETUP A "DOCKERIZED" GCC + NEWLIB CROSS-COMPILING AUTOMATED TOOLCHAIN (LINUX));
  • Updated IOS S310121-R250521 and SD-S310121-R250521-v1.zip (see the FILES section);
  • Added the 68000 IDE installation files and the custom cstart.asm file for the 68k-MBC (128/512/1024KB versions. See the FILES section);
  • Updated SD-S310121-R250521-v2.zip (see the FILES section);

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...
Read more »