Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
builderpages:plasmo:zrcc:zrcc1 [2020/05/06 09:03]
plasmo
builderpages:plasmo:zrcc:zrcc1 [2023/01/26 21:47] (current)
plasmo
Line 1: Line 1:
-====== ZRCC, Z80+RAM+CPLD+CF disk, Rev 1 ======+====== ZRCC, Z80+RAM+CPLD+CF disk, Rev 1.x ======
  
 ===== Introduction ===== ===== Introduction =====
  
-ZRCC [[:builderpages:plasmo:zrcc:zrcc1_1|rev1.1]] is electrically the same as rev1, but without the engineering changes+This page describes [[:builderpages:plasmo:zrcc|ZRCC rev 1.0]]
  
-I like the idea of a low-cost Z80 running CP/M with minimum component count, but I don't like Z80 having to share the spot light with a processor many times its performance. So instead of using a powerful modern microcontroller as the I/O processor, I used a CPLD instead. The CPLD is Altera EPM7064S which is compatible with Atmel ATF1504. The CPLD's logic fabric can emulate a small ROM, 64 bytes, a simple serial port, and glue logic functions. The small ROM is enough to load program from the compact flash disk into RAM and execute. In case the compact flash is new and un-initialized, the ROM can also read in program from the serial port to initialize the new CF disk and load it with boot program. Beside the internal ROM, the CPLD also implemented a simple serial receiver and bit-bang serial transmitter. The serial receiver is just glorified shift register with fixed baud rate and protocol, 115200-N-8-1. The remaining CPLD is glue logic.+This is link to ZRCC [[:builderpages:plasmo:zrcc:zrcc1_1|rev1.1]] which is electrically the same as rev1.0, but without the engineering changes. 
 + 
 +This is link to ZRCC [[:builderpages:plasmo:zrcc:zrcc1_2|rev1.2]] which replaced the 55nS 128K RAM with CY7C109 128K RAM in SOJ package. 
 + 
 +This is link to ZRCC [[:builderpages:plasmo:zrcc:zrcc1_3|rev 1.3]] which replaced the 55nS 128K RAM with 25 nS RAM and change the IDE44 interface to accept disk-on-module. Rev1.3 explores overclocking Z80 to 33MHz. 
 + 
 +I like the idea of a low-cost Z80 running CP/M with minimum component count, but I don't like Z80 having to share the spot light with a processor many times its performance. So instead of using a powerful modern microcontroller as the I/O processor, I used a CPLD instead. The CPLD is Altera EPM7064S which is compatible with Atmel ATF1504. The CPLD's logic fabric can emulate a small ROM, 64 bytes, a simple serial port, and glue logic functions. The small ROM is enough to load program from the compact flash disk into RAM and execute. In case the compact flash is new and un-initialized, the ROM can also read in program from the serial port to initialize the new CF disk and load it with boot program. Beside the internal ROM, the CPLD also implemented a simple serial receiver and bit-bang serial transmitter. The serial receiver is just shift register with fixed baud rate and protocol, 115200-N-8-1. The remaining CPLD is glue logic.
  
 [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=c8b26c&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/zrcc/zrcc1/dsc_56980428.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/zrcc/zrcc1/dsc_56980428.jpg?direct&600x271|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_zrcc_zrcc1_dsc_56980428.jpg}}]] [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=c8b26c&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/zrcc/zrcc1/dsc_56980428.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/zrcc/zrcc1/dsc_56980428.jpg?direct&600x271|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_zrcc_zrcc1_dsc_56980428.jpg}}]]
Line 35: Line 41:
 Gerber {{:builderpages:plasmo:zrcc:zrcc1:zrcc_singlepcb_rev1.zip|photoplots}}  <- Please note this board design contains errors that require an engineering change. This file is included for archival purpose, use {{:builderpages:plasmo:zrcc:zrcc1:zrcc_rev1.1_gerber_single.zip|rev 1.1 photoplots}}  instead. Gerber {{:builderpages:plasmo:zrcc:zrcc1:zrcc_singlepcb_rev1.zip|photoplots}}  <- Please note this board design contains errors that require an engineering change. This file is included for archival purpose, use {{:builderpages:plasmo:zrcc:zrcc1:zrcc_rev1.1_gerber_single.zip|rev 1.1 photoplots}}  instead.
  
-[[:builderpages:plasmo:zrcc:zrcc1:zrcc_ec|Engineering change]] to correct design error noted above.+[[:builderpages:plasmo:zrcc:zrcc1:zrcc_ec|Engineering change]] to correct rev1 pc board design errors as noted above.
  
 {{:builderpages:plasmo:zrcc:zrcc1:zrcc1_bom.pdf|Bill of Materials}} {{:builderpages:plasmo:zrcc:zrcc1:zrcc1_bom.pdf|Bill of Materials}}
  
-{{:builderpages:plasmo:zrcc:zrcc1:zrcc1_cpld.zip|CPLD equations}}+{{:builderpages:plasmo:zrcc:zrcc1:zrcc_cpld_rev1_pcb_released.zip|CPLD equations}}
  
 [[:builderpages:plasmo:zrcc:zrcc1:mem_map_zrcc1|Memory map]] [[:builderpages:plasmo:zrcc:zrcc1:mem_map_zrcc1|Memory map]]
Line 45: Line 51:
 ==== Software ==== ==== Software ====
  
-{{:builderpages:plasmo:zrcc:zrcc1:zrccserialloader_rev01.zip|ZRCC Serial bootstrap loader}}. Enable serial bootstrap and load this file first (note: enable binary file load for this file only). This is a 256-byte hex file loader that loads a hex file to memory at 0xB400 and jump into 0xB400 when loading is completed. Note, this first step can be tricky. Here is [[:https:www.retrobrewcomputers.org:doku.php?id=builderpages:plasmo:zrcc:zrcc1:cf_installation#additional_instruction_for_enabling_serial_bootstrap_mode|additional instruction]] on how to enable serial bootstrap mode.+{{:builderpages:plasmo:zrcc:zrcc1:zrccserialloader_rev01.zip|ZRCC Serial bootstrap loader}}. Enable serial bootstrap and load this file first (note: enable binary file load for this file only). This is a 256-byte hex file loader that loads a hex file to memory at 0xB400 and jump into 0xB400 when loading is completed. Note, this first step can be tricky. Here is [[:builderpages:plasmo:zrcc:zrcc1:cf_installation|additional instruction]] on how to enable serial bootstrap mode.
  
 {{:builderpages:plasmo:zrcc:zrcc1:zrccmonitor_rev03.zip|ZRCC monitor, rev0.3}}. Load this file with the serial bootstrap loader {{:builderpages:plasmo:zrcc:zrcc1:zrccmonitor_rev03.zip|ZRCC monitor, rev0.3}}. Load this file with the serial bootstrap loader
Line 51: Line 57:
 {{:builderpages:plasmo:zrcc:zrcc1:cfbootloader.zip|CFBootLoader}}. This boot loader is stored in master boot record of a CF disk. When in CF bootstrap mode, ZRCC reads in this program located in master boot record to location 0xB000 and jump into it. The CF bootloader, in turn, loads 3K bytes worth of data located in track 0, sector 0xF0 to 0xF6 of a CF disk into 0xB400 and jump into 0xB400. Beside the CFBootLoader program itself, this file contains two installation programs. Located at 0xB200 is the installation program for CFBootloader. At ZRCC monitor prompt, type 'gb200' will install CFBootLoader in the master boot record. Located at 0xB300 is the installation program for ZRCC Monitor. Type 'gb300' will install the current monitor into track 0, sector 0xF8-0xFD of the CF disk. {{:builderpages:plasmo:zrcc:zrcc1:cfbootloader.zip|CFBootLoader}}. This boot loader is stored in master boot record of a CF disk. When in CF bootstrap mode, ZRCC reads in this program located in master boot record to location 0xB000 and jump into it. The CF bootloader, in turn, loads 3K bytes worth of data located in track 0, sector 0xF0 to 0xF6 of a CF disk into 0xB400 and jump into 0xB400. Beside the CFBootLoader program itself, this file contains two installation programs. Located at 0xB200 is the installation program for CFBootloader. At ZRCC monitor prompt, type 'gb200' will install CFBootLoader in the master boot record. Located at 0xB300 is the installation program for ZRCC Monitor. Type 'gb300' will install the current monitor into track 0, sector 0xF8-0xFD of the CF disk.
  
-{{:builderpages:plasmo:zrcc:zrcc1:scmonitor_startrek.hex|SCMonitor+StarTrek}}. This is Steve Cousin's SCMonitor ported to ZRCC. As an extra bonus, it includes the StarTrek program in BASIC. To install SCMonitor+StarTrek, send scmonitor_startrek.hex to ZRCC and type 'c1' to install it in track 0 of CF disk. Once it is installed, type 'b1' to load and run SCMonitor. To run Startrek in BASIC, type 'wbasic', then 'run'. Have fun! [[https://www.youtube.com/watch?v=CbfR3bzuxMc|Youtube video]] of running Startrek in ZRCC using a TeraTerm macro file. This is the {{:builderpages:plasmo:zrcc:zrcc1:startrek_teraterm_macro.zip|TeraTerm macro}}  program+{{:builderpages:plasmo:zrcc:zrcc1:scmonitor_startrek.hex|SCMonitor+StarTrek}}. This is Steve Cousin's SCMonitor ported to ZRCC. This is [[https://smallcomputercentral.wordpress.com/|Steve Cousin's homepage]]. As an extra bonus, it includes the StarTrek program in BASIC. To install SCMonitor+StarTrek, send scmonitor_startrek.hex to ZRCC and type 'c1' to install it in track 0 of CF disk. Once it is installed, type 'b1' to load and run SCMonitor. To run Startrek in BASIC, type 'wbasic', then 'run'. Have fun! [[https://www.youtube.com/watch?v=CbfR3bzuxMc|Youtube video]] of running Startrek in ZRCC using a TeraTerm macro file. This is the {{:builderpages:plasmo:zrcc:zrcc1:startrek_teraterm_macro.zip|TeraTerm macro}}  program
  
 {{:builderpages:plasmo:zrcc:zrcc1:cpm22all.hex|CP/M2.2 BIOS/CCP/BDOS}}. This is CP/M2.2 BIOS/CCP/BDOS all in a file. To install it, send cpm22all.hex to ZRCC and type 'c2' to install it in track 0 of CF disk. Once it is installed, type 'b2' to load and run CP/M2.2 {{:builderpages:plasmo:zrcc:zrcc1:cpm22all.hex|CP/M2.2 BIOS/CCP/BDOS}}. This is CP/M2.2 BIOS/CCP/BDOS all in a file. To install it, send cpm22all.hex to ZRCC and type 'c2' to install it in track 0 of CF disk. Once it is installed, type 'b2' to load and run CP/M2.2
Line 64: Line 70:
  
 {{:builderpages:plasmo:zrcc:zrcc1:cpm3all.zip|CPM3ALL}}. This is the CP/M 3 distribution files. Use unarj.com to decompress it. {{:builderpages:plasmo:zrcc:zrcc1:cpm3all.zip|CPM3ALL}}. This is the CP/M 3 distribution files. Use unarj.com to decompress it.
 +
 +CPM3 {{:builderpages:plasmo:zrcc:zrcc1:z80sbc64_cpm3.zip|banked BIOS}}  source code, assembled with zmac
  
 Installation macro for ZRCC CF disk. {{:builderpages:plasmo:zrcc:zrcc1:zrcc_install_all.zip|This zipped file}}  contains all the files installed in a released ZRCC disk. The installation macro runs in TeraTerm and expects all files in directory c:\teraterm\zrcc Run the macro once ZRCC is in serial bootstrap mode. Installation macro for ZRCC CF disk. {{:builderpages:plasmo:zrcc:zrcc1:zrcc_install_all.zip|This zipped file}}  contains all the files installed in a released ZRCC disk. The installation macro runs in TeraTerm and expects all files in directory c:\teraterm\zrcc Run the macro once ZRCC is in serial bootstrap mode.
 +
 +{{:builderpages:plasmo:zrcc:zrcc1:zrcc_cf_installed.zip|Image of CF}}  installed using the above TeraTerm macro file.  Unzip the file and use disk copy tool like Win32DiskImager to copy the image to CF disk 64MB or larger
  
 ===== Manuals ===== ===== Manuals =====
  
 [[:builderpages:plasmo:zrcc:zrcc1:getting_started_zrcc1|Getting started]] with ZRCC [[:builderpages:plasmo:zrcc:zrcc1:getting_started_zrcc1|Getting started]] with ZRCC
 +
 +[[:builderpages:plasmo:zrcc:zrcc1:zrcc_user_manual|ZRCC Monitor]] User manual
  
 [[:builderpages:plasmo:zrcc:zrcc1:zrcc1_assembly_guide|Pictorial Assembly Guide]] for ZRCC, rev 1 [[:builderpages:plasmo:zrcc:zrcc1:zrcc1_assembly_guide|Pictorial Assembly Guide]] for ZRCC, rev 1
  
 [[:builderpages:plasmo:zrcc:zrcc1:cf_installation|Installing a new CF disk]]. Only need to do this once. The CF disk effectively serve as the system EPROM. This installation process loads the CF disk. [[:builderpages:plasmo:zrcc:zrcc1:cf_installation|Installing a new CF disk]]. Only need to do this once. The CF disk effectively serve as the system EPROM. This installation process loads the CF disk.
 +
 +[[:builderpages:plasmo:zrcc:zrcc1:cfmap|CF Layout map]]. This document shows where various software are stored on the compact flash disk.
  
 [[https://youtu.be/eARz73N0KL0|Video]] of installing a new CF disk using a TeraTerm macro. [[https://youtu.be/eARz73N0KL0|Video]] of installing a new CF disk using a TeraTerm macro.
builderpages/plasmo/zrcc/zrcc1.1588770202.txt.gz · Last modified: 2020/05/06 09:03 by plasmo
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0