Z80-MBC2 Build Notes

From Land Boards Wiki
Jump to navigation Jump to search

Z80-MBC2 P586-720PX.jpg

Parts

  • 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 MCP23017 for GPIO
  • ebay - bare PCB $8
    • Arrived in a couple of days
  • Kit for sale

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

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

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

J7-GPIO.jpg

J7-GPIO.PNG

DB25RIBBONADAPTER-P445-720px.jpg

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

SD Card (R240620)

  • Selected CP/M 2.20
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

Space - 16 Drives, 8MB / drive

F>a:stat
A: R/W, Space: 7908k
B: R/W, Space: 8068k
C: R/W, Space: 7664k
D: R/W, Space: 8004k
E: R/W, Space: 7896k
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