| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| builderpages:plasmo:zrcc:zrcc1 [2020/08/06 16:32] – Initial import from Wayback Machine | builderpages:plasmo:zrcc:zrcc1 [2026/06/15 13:18] (current) – external edit 127.0.0.1 |
|---|
| /* Imported from Wayback Machine | /* Imported from Wayback Machine |
| Original URL : https://retrobrewcomputers.org/doku.php?id=builderpages:plasmo:zrcc:zrcc1 | Original URL : https://retrobrewcomputers.org/doku.php?id=builderpages:plasmo:zrcc:zrcc1 |
| Snapshot date: 2020-08-06 | Snapshot date: 2025-02-09 |
| Generator : wayback-archiver | Generator : wayback-archiver |
| */ | */ |
| |
| ====== 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]] |
| | |
| | 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 a shift register with fixed baud rate and protocol, 115200-N-8-1. The remaining CPLD is glue logic. | 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 a shift register with fixed baud rate and protocol, 115200-N-8-1. The remaining CPLD is glue logic. |
| [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:zrcc:zrcc1:zrcc1_bom.pdf|Bill of Materials]] | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:zrcc:zrcc1:zrcc1_bom.pdf|Bill of Materials]] |
| |
| [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:zrcc:zrcc1:zrcc1_cpld.zip|CPLD equations]] | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=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]] |
| ==== Software ==== | ==== Software ==== |
| |
| [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=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|additional instruction]] on how to enable serial bootstrap mode. | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=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. |
| |
| [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:zrcc:zrcc1:zrccmonitor_rev03.zip|ZRCC monitor, rev0.3]]. Load this file with the serial bootstrap loader | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:zrcc:zrcc1:zrccmonitor_rev03.zip|ZRCC monitor, rev0.3]]. Load this file with the serial bootstrap loader |
| |
| [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:zrcc:zrcc1:cpm3all.zip|CPM3ALL]]. This is the CP/M 3 distribution files. Use unarj.com to decompress it. | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:zrcc:zrcc1:cpm3all.zip|CPM3ALL]]. This is the CP/M 3 distribution files. Use unarj.com to decompress it. |
| | |
| | CPM3 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:zrcc:zrcc1:z80sbc64_cpm3.zip|banked BIOS]] source code, assembled with zmac |
| |
| Installation macro for ZRCC CF disk. [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=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. [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=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. |
| | |
| | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=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: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. |