Difference between revisions of "Z80 in 3 Chips"

From Land Boards Wiki
Jump to navigation Jump to search
Line 163: Line 163:
  
 
* Type '''Snnn''' to select OS at multiboot (loads to A:)
 
* Type '''Snnn''' to select OS at multiboot (loads to A:)
** S1 - Dos+ 2.5  Copyright 1986 (c) by [http://web.archive.org/web/20080430103646/http://cbfalconer.home.att.net/download/index.htm C.B. Falconer], CCP+ Ver. 2.2  (CP/M 2.2 compatible)
+
** S1 - Dos+ 2.5  Copyright 1986 (c) by [http://web.archive.org/web/20080430103646/http://cbfalconer.home.att.net/download/index.htm C.B. Falconer], CCP+ Ver. 2.2  (CP/M 2.2 compatible) - wirks
** S2 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/CPM%202.2%20manual.pdf Z80 CP/M BIOS 2.20] (c) 1979 by Digital Research
+
** S2 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/CPM%202.2%20manual.pdf Z80 CP/M BIOS 2.20] (c) 1979 by Digital Research - works
** S3 - [http://www.cpm.z80.de/manuals/cpm3-usr.pdf CP/M Version 3.0] BIOS (2016/9/13)
+
** S3 - [http://www.cpm.z80.de/manuals/cpm3-usr.pdf CP/M Version 3.0] BIOS (2016/9/13) - partly boots/then stops
 
*** [http://www.cpm.z80.de/manuals/cpm3-sys.pdf CP/M Version 3.0 Operating System System Guide]
 
*** [http://www.cpm.z80.de/manuals/cpm3-sys.pdf CP/M Version 3.0 Operating System System Guide]
 
** S4 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/MPM_II_2.1_Release_Notes_1982.pdf MP/M II V2.1]
 
** S4 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/MPM_II_2.1_Release_Notes_1982.pdf MP/M II V2.1]

Revision as of 22:19, 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