Z80 in 3 Chips

From Land Boards Wiki
Jump to navigation Jump to search

Features

Z80 P865-cropped-720px.jpg

  • Z80
    • 12.5 MHz operation
  • 512KB SRAM
  • PSoC5LP
    • Z80_PSoC Datasheet - generated from PSoC Creator
    • PSoC5 LP emulates standard Z80 peripheral chips
      • Serial port with USB
    • Memory Management Unit (MMU)
      • Controls 512KB SRAM
    • Loader moves EPROM code to SRAM
    • Controls CPU reset
  • Optional MCP23017 16-bit port expander
    • I2C Addresses 0x24
  • Optional Front Panel
    • I2C Addresses 0x20-0x23
  • SPI interface for SDHC card

Stackup (top to bottom)

Z80 PSOC P936-CROPPED-720PX.jpg

Connectors

H1 - I2C Interface

  • Connects to Front Panel Card via I2C

Conn H1.PNG

H2 - ISP Download

  • Connects to PSoC programmer

Conn H2.PNG

H3- Serial Port or SPI (SD Card)

Conn H3.PNG

H4 - I/O

Conn H4.PNG

J1 - USB B

  • 5V card Power
  • USB to Serial comm port

J2, J3 - I/O Ports

  • J3 connects to JOYPAD on GPA connector

Conn J2 J3.PNG

J4 - Audio Out

  • DAC is the Analog function generator in the PSoC

Conn J4.PNG

J5 - Z80 Signals

  • Useful for monitoring the CPU lines

Conn J5.PNG

Software

  • Hardware/Software options are set in the PSoC "Hardware_Config.h" file

Front Panel

EightBitFrontPanel720px.JPG

  • Card waits on USB connection
  • Run PuTTY
  • Message
Z80_PSoC - Running Front Panel
Press SW25 to exit and run Z80
Press SW26 to run Monitor/Test Code
  • Card boots into Front Panel Control
  • SRAM can be examined/changed in SRAM from the Front Panel
  • Options to run Z80 or PSoC Monitor
    • SW32 (Upper right) = Increment address, read
    • SW31 = Store data, increment address, read data
    • SW30 = Load Address, read memory
    • SW29 = TBD
    • SW28 = TBD
    • SW27 = TBD
    • SW26 = Run Monitor
    • SW25 (Upper Left) = Run Z80

Z80_PSoC Monitor

Land Boards, LLC - Z80_PSoC monitor
I - Initialize SD Card
B - Blink LED
F - Read Front Panel
Rxxxxxxxx - Read sector xxxxxxxx from the SD Card
N - Read next sector from the SD Card
W - Write to the SD Card at 2GB - 1 sector
X - eXit Monitor and run Z80
? - Print this menu
  • Type to check the SD card
R4000
  • Result:

Z80 PSoC Monitor D Command.PNG

Multiboot Multicomp (MULTIBOOT_CPM)

  • CP/M Multiboot - Runs MultiComp 512KB SRAM version
  • Insert "M/CPM 512KB" SD card
  • Insert USB B cable
  • Run PuTTY
    • 115,200 baud
  • Card will power up and cycle through all the LEDs on the Front Panel
  • Press SW25 (upper left button) on Front Panel For 8 Bit Computers to run Multiboot software
  • PuTTY will display
Press [SPACE] to activate console
  • Press SPACE
  • Press H for help menu
>
  Available Commands:

  :ccxxxxiibbbbbb       Load Intel-Hex file record
  Rxxxx         Run from address xxxx
  Sddd          System boot
  Iddd          Init: Format directory
  Pddd[,xxxx]   PutSys: write system image[,loadaddress]
                (No address: re-use last loadaddress)
  Gddd[,xxxx]   GetSys: load system track

  Dxxxx[,yyyy]  Dump memory from xxxx [,to yyyy]
                D (no address) shows next block
  Cxxxx         Change/show memory at xxxx
                CR advances "," quits

  ddd is a decimal volume number,
  xxxx, yyyy is a hexadecimal address.
  Leading zeros may be omitted.
  ESC or ^C aborts.

Mount Primary Volume

Mount Additional Volumes

  • Mount additional drives using mount command
    • mount d vol
      • Ex: mount b: 9 will mount ZCPR3 Utilities A-O as drive b:
      • Can (re-)mount different volume to same drive with same command
  • Additional Volumes

Z80 BASIC Ver 4.7b

Running Grants Code scaled.png

Reference Designs

Hackaday Page

Videos

Assembly Sheet