Z80-MBC2 Build Notes

From Land Boards Wiki
Jump to navigation Jump to search

Z80-MBC2 P586-720PX.jpg

Parts

  • On card
    • Z80 CPU CMOS (Z84C00) 8Mhz or greater - I used 20 MHz
    • Atmega32A
    • TC551001-70 (128kB RAM)
    • I used AS6C1008-55PIN since it is available on Mouser and Digikey
    • 74HC00
  • I added the optional MCP23017 for GPIO
  • External cards
  • Bare Board on ebay - $8 shipping included
    • Arrived in a couple of days
  • Kit for sale
  • Enclosure

Reference Docs

Build Notes

DS3231 AT24C32 IIC Precision Real Time Clock RTC-cropped.jpg

Negatives

  • Ref des are not top-bottom or left-right
    • Struggled to find some of the resistors on the PCB
    • PDF Assembly drawing text is not searchable
  • Serial port marking correlated to the FTDI card end not referenced from card internal

Enclosure

Front View

Z80-MBC2 P1613-720px.jpg

Top View

Z80-MBC2 P1616-720px.jpg

Rear View

Z80-MBC2 P1623-720px.jpg

Side/Top View

Z80-MBC2 P1626-720px.jpg

Connectors

  • Triangle/arrow points to pin 1

J1 - I2C Expansion

J1-I2C.jpg

J1-I2C Expamsion.PNG

J2 - Serial

J2-Serial.jpg

J2-Serial.PNG

FTDI-P1746-CROPPED-720PX.jpg

J3 - ICSP

  • Connects to ISP connector on ATProgHead for programming using Arduino as ISP connector and 2x3 jumper

J3-ICSP.jpg

J3-ICSP.PNG

ATProgHead-X2-CCA-640-001.jpg

J4 - AUX PWR

J4-AUX PWR.jpg

J4-AUX PWR.PNG

J5 - RTC

J5-RTC.jpg

J5-RTC.PNG

DS3231 AT24C32 IIC Precision Real Time Clock RTC-cropped.jpg

J6 - SD Card

J6-SD.jpg

J6-SD-Card.PNG

SDCARDX49 P935 cropped-512px.jpg

J7 - GPIO

  • Demo software in Disk Set 1, Drive A:, File: gpeled.bas

J7-GPIO.jpg

J7-GPIO.PNG

DB-25 connector

  • Connect to DB25RIBBON card
    • Use female DB-25 since power is exposed

DB25RIBBONADAPTER-P445-720px.jpg

  • Wiring shown for male DB-25 connector

DB25 Adapter Schematic.PNG

DB-25 Female.gif

DB25 wiring.PNG

Z80-MBC2 to DB25RIBBON Card Wiring
Port J7 Pin DB-25F Pin P1 Pin Color Port J7 Pin DB-25F Pin P1 Pin
GND 20 1 25 Black GND 19 14 24
GPA0 18 2 23 Brown GPB0 3 15 22
GPA1 16 3 21 Orange GPB1 5 16 20
GPA2 14 4 19 Yellow GPB2 7 17 18
GPA3 12 5 17 Green GPB3 9 18 16
GPA4 10 6 15 Blue GPB4 11 19 14
GPA5 8 7 13 Violet GPB5 13 20 12
GPA6 6 8 11 Grey GPB6 15 21 10
GPA7 4 9 9 White GPB7 17 22 8
+5V 2 10 7 Red +5V 1 23 6

Programming THE ATMEGA32

  • IOS-LITE build (no SD card support)
  • Full build with SD card
  • Was able to use ATProgHead ICSP 2x3 cable running Arduino as ISP to burn bootloader but not program the code
  • Could not use any of my FTDI cards for serial programming since they have RTS/CTS but not DTR
    • Most programmer setups in Arduino work just fine with RTS since both are usually pulled, but not the MightyCore
    • This is speculation as to why but I am able to program Screwduino cards just fine
  • Used TL866ii to program ATMEGA32 fuses
    • The Fuse bits should be: High Byte 0xD6, Low Byte 0xAF, Lock Byte 0xCF.
    • Reference: Setting AVR Fuse Bits
    • If you use the programmer defaults it sets the clock to 1 MHz which gives a serial port rate of 600 baud (told me I needed to fix the fuses).

Z80-MBC2-TL866II.PNG

  • Found path in dump in Arduino IDE:
Arduino: 1.8.13 (Windows 10), Board: "ATmega32, Yes (UART0), EEPROM retained, Standard pinout, BOD 2.7V, LTO disabled, External 16 MHz"
Sketch uses 28642 bytes (88%) of program storage space. Maximum is 32256 bytes.
Global variables use 1213 bytes (59%) of dynamic memory, leaving 835 bytes for local variables. Maximum is 2048 bytes.
C:\Users\HPz420\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino18/bin/avrdude -CC:\Users\HPz420\AppData\Local\Arduino15\packages\MightyCore\hardware\avr\2.1.3/avrdude.conf -v -patmega32 -carduino -PCOM23 -b115200 -D -Uflash:w:C:\Users\HPz420\AppData\Local\Temp\arduino_build_883457/S220618_IOS-LITE-Z80-MBC2.ino.hex:i 

Software

Z80-MBC2 FigForth.PNG

Boot

Z80-MBC2 - A040618
IOS - I/O Subsystem - S220718-R240620

IOS: Z80 clock set at 8MHz
IOS: Found GPE Option
IOS: CP/M Autoexec is OFF

IOS: Select boot mode or system parameters:

 0: No change (3)
 1: Basic
 2: Forth
 3: Load OS from Disk Set 0 (CP/M 2.2)
 4: Autoboot
 5: iLoad
 6: Change Z80 clock speed (->4MHz)
 7: Toggle CP/M Autoexec (->ON)
 8: Change Disk Set 0 (CP/M 2.2)

Enter your choice >3  Ok
IOS: Current Disk Set 0 (CP/M 2.2)
IOS: Loading boot program (CPM22.BIN)... Done
IOS: Z80 is running from now



Z80-MBC2 CP/M 2.2 BIOS - S030818-R140319
CP/M 2.2 Copyright 1979 (c) by Digital Research

A>

SD Card (R240620)

  • Disk Set 0 (CP/M 2.2)
  • Disk Set 1 (QP/M 2.71)
  • Disk Set 2 (CP/M 3.0)
  • Disk Set 3 (UCSD Pascal)
  • Disk Set 4 (Collapse OS)

Disk Set 0 (CP/M 2.2)

F>a:stat
A: R/W, Space: 7908k - CP/M 2.2
B: R/W, Space: 8068k - Turbo Pascal Compiler v3.01A
C: R/W, Space: 7664k - HI-TECH Z80 CP/M C compiler V3.09
D: R/W, Space: 8004k - Microsoft Fortran-80 Compiler v.3.44
E: R/W, Space: 7896k - Microsoft Basic-80 Compiler v.5.30a
F: R/W, Space: 8176k
G: R/W, Space: 8176k
H: R/W, Space: 8176k
I: R/W, Space: 8176k
J: R/W, Space: 8176k
K: R/W, Space: 8176k
L: R/W, Space: 8176k
M: R/W, Space: 8176k
N: R/W, Space: 8176k
O: R/W, Space: 8176k
P: R/W, Space: 8176k

Z80-MBC2 CP/M 2.2 BIOS - S030818-R140319
CP/M 2.2 Copyright 1979 (c) by Digital Research

A>DIR
A: ASCIART  BAS : ASM      COM : AUTOEXEC SUB : AUTOEXEC TXT
A: D        COM : DDT      COM : DUMP     COM : ED       COM
A: GENHEX   COM : GPELED   BAS : GPIO     BAS : HELLO    ASM
A: HELLO    COM : LOAD     COM : MAC      COM : MBASIC   COM
A: MBASIC85 COM : PEG      COM : PIP      COM : RTC      BAS
A: STARTREK BAS : STAT     COM : SUBMIT   COM : TREKINST BAS
A: USERLED  BAS : XMODEM   CFG : XMODEM   COM : XSUB     COM
A: ZDE16    COM : ZDENST16 COM

B>DIR
B: TINST    COM : TURBO    COM : ART      TXT : TINST    DTA
B: TINST    MSG : TURBO    MSG : TURBO    OVR : TURBOMSG OVR
B: SA       PAS : README   TXT

C>DIR
C: $EXEC    COM : ASSERT   H   : C        COM : CGEN     COM
C: CONIO    H   : CPM      H   : CPP      COM : CREF     COM
C: CRTCPM   OBJ : CTYPE    H   : DEBUG    COM : DEHUFF   COM
C: EXEC     H   : FLOAT    H   : HITECH   H   : LIBC     LIB
C: LIBF     LIB : LIBR     COM : LIMITS   H   : LINK     COM
C: MATH     H   : OBJTOHEX COM : OPTIM    COM : OPTIONS
C: P1       COM : README   TXT : RRTCPM   OBJ : SETJMP   H
C: SIGNAL   H   : STAT     H   : STDARG   H   : STDDEF   H
C: STDIO    H   : STDLIB   H   : STRING   H   : SYS      H
C: TIME     H   : UNIXIO   H   : ZAS      COM

D>dir
D: CPMIO    MAC : CRCKLIST CRC : CREF80   COM : DSKDRV   MAC
D: DTBF     MAC : F80      COM : FCHAIN   MAC : FORLIB   REL
D: INIT     MAC : IOINIT   MAC : L80      COM : LIB      COM
D: LPTDRV   MAC : LUNTB    MAC : M80      COM : TTYDRV   MAC
D: README   TXT

E>dir
E: BASCOM   COM : BASCOM   HLP : BASCOM2  HLP : BASLIB   REL
E: BCLOAD       : BRUN     COM : CREF     COM : CREF80   COM
E: README   TXT : L80      COM : LIB80    COM : M80      COM
E: MBASIC   COM : OBSLIB   REL : RANTEST  ASC : RANTEST  BAS
E: RANTEST  COM : RANTEST  REL : SAMPLE   BAS : SAMPLE   COM
E: SAMPLE   REL

Disk Set 1 (QP/M 2.71)

IOS: Current Disk Set 1 (QP/M 2.71)
IOS: Loading boot program (QPMLDR.BIN)... Done
IOS: Z80 is running from now

Z80-MBC2 QP/M 2.71 Cold Loader - S160918
Loading... done

Z80-MBC2 QP/M 2.71 BIOS - S150918
QP/M 2.71 Copyright 1985 (c) by MICROCode Consulting

A>dir
AUTOEXEC.QSB : D       .COM : DHORIZ  .COM : HELLO   .QPM
QBACKUP .COM : QINSTALL.COM : QPATCH  .COM : QPIP    .COM
QPMCLK  .MAC : QPMCMDS .TXT : QPMUTILS.TXT : QSTAMP  .COM
QSTAMPV .COM : QSTAMPX .COM : QSTAT   .COM : QSUB    .COM
QSWEEP  .COM : AUTOEXEC.TXT : TDCNFG  .COM : ZDE16   .COM
ZDENST16.COM : SYSGENQ .COM : ASCIART .BAS : ASM     .COM
DDT     .COM : DUMP    .COM : GENHEX  .COM : GPELED  .BAS
GPIO    .BAS : HELLO   .ASM : HELLO   .COM : LOAD    .COM
MAC     .COM : MBASIC  .COM : PEG     .COM : RTC     .BAS
STARTREK.BAS : TREKINST.BAS : USERLED .BAS : MBASIC85.COM
SETDATE .QSB

A>b:
B>dir
TINST   .COM : TURBO   .COM : ART     .TXT : TINST   .DTA
TINST   .MSG : TURBO   .MSG : TURBO   .OVR : TURBOMSG.OVR
SA      .PAS : README  .TXT : D       .COM

C>dir
$EXEC   .COM : ASSERT  .H   : C       .COM : CGEN    .COM
CONIO   .H   : CPM     .H   : CPP     .COM : CREF    .COM
CRTCPM  .OBJ : CTYPE   .H   : DEBUG   .COM : DEHUFF  .COM
EXEC    .H   : FLOAT   .H   : HITECH  .H   : LIBC    .LIB
LIBF    .LIB : LIBR    .COM : LIMITS  .H   : LINK    .COM
MATH    .H   : OBJTOHEX.COM : OPTIM   .COM : OPTIONS .
P1      .COM : README  .TXT : RRTCPM  .OBJ : SETJMP  .H
SIGNAL  .H   : STAT    .H   : STDARG  .H   : STDDEF  .H
STDIO   .H   : STDLIB  .H   : STRING  .H   : SYS     .H
TIME    .H   : UNIXIO  .H   : ZAS     .COM : D       .COM

D>dir
CPMIO   .MAC : CRCKLIST.CRC : CREF80  .COM : DSKDRV  .MAC
DTBF    .MAC : F80     .COM : FCHAIN  .MAC : FORLIB  .REL
INIT    .MAC : IOINIT  .MAC : L80     .COM : LIB     .COM
LPTDRV  .MAC : LUNTB   .MAC : M80     .COM : TTYDRV  .MAC
README  .TXT : D       .COM

E>dir
BASCOM  .COM : BASCOM  .HLP : BASCOM2 .HLP : BASLIB  .REL
BCLOAD  .    : BRUN    .COM : CREF    .COM : CREF80  .COM
README  .TXT : L80     .COM : LIB80   .COM : M80     .COM
MBASIC  .COM : OBSLIB  .REL : RANTEST .ASC : RANTEST .BAS
RANTEST .COM : RANTEST .REL : SAMPLE  .BAS : SAMPLE  .COM
SAMPLE  .REL : D       .COM

Disk Set 2 (CP/M 3.0)

>Disk Set 2 (CP/M 3.0)

IOS: Current Disk Set 2 (CP/M 3.0)
IOS: Loading boot program (CPMLDR.COM)... Done
IOS: Z80 is running from now



Z80-MBC2 CPMLDR BIOS - S180918

CP/M V3.0 Loader
Copyright (C) 1982, Digital Research

 BNKBIOS3 SPR  F600  0600
 BNKBIOS3 SPR  5300  2D00
 RESBDOS3 SPR  F000  0600
 BNKBDOS3 SPR  2500  2E00

 60K TPA

Z80-MBC2 128KB (Banked) CP/M V3.0
Z80-MBC2 BIOS Modules: S200918, S210918-R170319, S220918-R180319, S290918,
 S170319

A>dir
A: ASCIART  BAS : AUTOEXEC COM : AUTOEXEC TXT : BDOS3    SPR : BNKBDOS3 SPR
A: CCP      COM : COPYSYS  COM : CPM3     SYS : CPM3-128 SYS : CPM3-64  SYS
A: CPMLDR   COM : CPMLDR   REL : CPM-Y2K  TXT : CRCK     COM : DATE     COM
A: DEVICE   COM : DIR      COM : DUMP     COM : ED       COM : ERASE    COM
A: GENCOM   COM : GENCPM   COM : GENHEX   COM : GET      COM : GPELED   BAS
A: GPIO     BAS : HELLO    ASM : HELLO    COM : HELP     COM : HELP     HLP
A: HEXCOM   COM : INITDIR  COM : LIB      COM : LINK     COM : LOAD     COM
A: MAC      COM : MBASIC   COM : MBASIC85 COM : PATCH    COM : PEG      COM
A: PIP      COM : PROFILE  SU  : PUT      COM : README   1ST : RENAME   COM
A: RESBDOS3 SPR : RMAC     COM : RTC      BAS : SAVE     COM : SET      COM
A: SETDEF   COM : SHOW     COM : SID      COM : STARTREK BAS : SUBMIT   COM
A: SYS128   SUB : SYS64    SUB : TREKINST BAS : TYPE     COM : USERLED  BAS
A: XMODEM   CFG : XMODEM   COM : XREF     COM : ZDE16    COM : ZDENST16 COM
A: ZSID     COM : CATCHUM  COM : CATCHUM  DAT : CATCONF  COM : GORILLA  COM
A: LADCONF  COM : LADDER   COM : LADDER   DAT

B>dir
B: ART      TXT : SA       PAS : TINST    COM : TINST    DTA : TINST    MSG
B: TURBO    COM : TURBO    MSG : TURBO    OVR : TURBOMSG OVR : USERLED  PAS

C>dir
C: $EXEC    COM : ASSERT   H   : C        COM : CGEN     COM : CONIO    H
C: CPM      H   : CPP      COM : CREF     COM : CRTCPM   OBJ : CTYPE    H
C: DEBUG    COM : DEHUFF   COM : EXEC     H   : FLOAT    H   : HITECH   H
C: LIBC     LIB : LIBF     LIB : LIBR     COM : LIMITS   H   : LINK     COM
C: MATH     H   : OBJTOHEX COM : OPTIM    COM : P1       COM : README   TXT
C: RRTCPM   OBJ : SETJMP   H   : SIGNAL   H   : STAT     H   : STDARG   H
C: STDDEF   H   : STDIO    H   : STDLIB   H   : STRING   H   : SYS      H
C: TIME     H   : UNIXIO   H   : ZAS      COM

D>dir
D: CPMIO    MAC : CRCKLIST CRC : CREF80   COM : DSKDRV   MAC : DTBF     MAC
D: F80      COM : FCHAIN   MAC : FORLIB   REL : INIT     MAC : IOINIT   MAC
D: L80      COM : LIB      COM : LPTDRV   MAC : LUNTB    MAC : M80      COM
D: README   TXT : TTYDRV   MAC

E>dir
E: INSTALL  COM : MAILMRGE OVR : MERGPRIN OVR : WIMSGS   OVR : WS       COM
E: WS       OVR : WSCHANGE COM : WSCHANGE OVR : WSCHHELP OVR : WSHELP   OVR
E: WSMSGS   OVR : WSOVLY1  OVR : WSPRINT  OVR : WSSHORT  OVR : WSU      COM

Videos