Difference between revisions of "Z80 in 3 Chips"

From Land Boards Wiki
Jump to navigation Jump to search
Line 171: Line 171:
 
*** 57694 Bytes free
 
*** 57694 Bytes free
 
** S6 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/zsdos.pdf ZSDOS v1.1] (c) 1986-8 Harold F. Bower & Cameron W. Cotrill, ZCPR2 (c) 1982 by Richard Conn (CP/M 2.2 compatible)  
 
** S6 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/zsdos.pdf ZSDOS v1.1] (c) 1986-8 Harold F. Bower & Cameron W. Cotrill, ZCPR2 (c) 1982 by Richard Conn (CP/M 2.2 compatible)  
 +
*** Fails to fing clock but boots
 
** S7 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/zcpr3_the_manual.pdf ZCPR compatible system] for CP/M+ (CP/M 3.0) by Simeon Cran
 
** S7 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/zcpr3_the_manual.pdf ZCPR compatible system] for CP/M+ (CP/M 3.0) by Simeon Cran
 
** [https://www.retrobrewcomputers.org/doku.php?id=builderpages:rhkoolstar:sbc-2g-512 SBC-2G-512 on Retrobrewing site] - Original author
 
** [https://www.retrobrewcomputers.org/doku.php?id=builderpages:rhkoolstar:sbc-2g-512 SBC-2G-512 on Retrobrewing site] - Original author

Revision as of 22:23, 6 September 2022

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 boots into Front Panel Control
  • SRAM can be examined/changed in SRAM from the Front Panel
  • Options to run Z80 or PSoC Monitor
    • Upper right (SW32) = 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 = Run Z80

Z80_PSoC Monitor

Z80 PSoC Monitor.PNG

  • 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
  • Additional Volumes
    • Inspired by mc-2g-1024 original but modified
    • Sources from here
    • Mount using mount d vol
      • Ex: mount b: 9 will mount ZCPR3 Utilities A-O as drive b:
      • Can mount different drive with same command
    • Volume.008 - ?
    • Volume.009 - ZCPR3 Utilities A-O
    • Volume.010 - ZCPR3 Utilities P-Z
    • Volume.011 - Wordstar, DBase, SuperCal
    • Volume.012 - Games
    • Volume.013 - MuMath
    • Volume.014 - Documentation
    • Volume.015 - Languages (TurboPascal, Fortran, BBC BASIC)
    • Volume.016 - Languages (Algol, Aztec C, APL, PLI, FORTH)
    • Volume.017 - Languages (BDS Tiny C, Janis Ada15, MS COBOL, PILOT)
    • Volume.018-253 - User volumes

Z80 BASIC Ver 4.7b

Running Grants Code scaled.png

Reference Designs

Hackaday Page

Videos

Assembly Sheet