Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
builderpages:plasmo:tinyz280 [2025/05/16 01:45] – Revision from 2025-05-16 builderpages:plasmo:tinyz280 [2026/06/15 13:14] (current) – external edit 127.0.0.1
Line 1: Line 1:
 /* Imported from Wayback Machine /* Imported from Wayback Machine
-   Original URL : https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:tinyz280 +   Original URL : https://retrobrewcomputers.org/doku.php?id=builderpages:plasmo:tinyz280 
-   Snapshot date: 2025-05-16+   Snapshot date: 2025-10-15
    Generator    : wayback-archiver    Generator    : wayback-archiver
 */ */
Line 15: Line 15:
 ===== Design Concept ===== ===== Design Concept =====
  
-[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyz280_scm.pdf|Schematic]] of TinyZ280. There are 4 different ways to boot up the Z280:+[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyz280_scm.pdf|Schematic]] of TinyZ280. There are 4 different ways to boot up the Z280:
  
 UART bootstrap. This method is based on Z280's UART bootstrap feature where nWAIT signal is asserted and the value 0x40 is presented on the data bus AD[7:0] when nRESET signal is negated. This will cause Z280 to enter its UART bootstrap mode where it will configure DMA channel 0 to transfer 256 bytes of data from UART to memory location 0-0xFF. Once 256 bytes of data are received, it will release the reset to Z280 CPU and program execution will start at location 0. The serial baud rate is determined by the clock to counter channel 1 divided by 16. The parity is set to odd. The current serial configuration is 57600, odd parity, 8 data bits, 1 stop. This configuration requires either SIMM DRAM or two 128Kx8 RAM in U3 and U4 UART bootstrap. This method is based on Z280's UART bootstrap feature where nWAIT signal is asserted and the value 0x40 is presented on the data bus AD[7:0] when nRESET signal is negated. This will cause Z280 to enter its UART bootstrap mode where it will configure DMA channel 0 to transfer 256 bytes of data from UART to memory location 0-0xFF. Once 256 bytes of data are received, it will release the reset to Z280 CPU and program execution will start at location 0. The serial baud rate is determined by the clock to counter channel 1 divided by 16. The parity is set to odd. The current serial configuration is 57600, odd parity, 8 data bits, 1 stop. This configuration requires either SIMM DRAM or two 128Kx8 RAM in U3 and U4
Line 39: Line 39:
 [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=2aef2d&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/tinyz280/dsc_33210127.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/tinyz280/dsc_33210127.jpg?500x530|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tinyz280_dsc_33210127.jpg}}]] [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=2aef2d&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/tinyz280/dsc_33210127.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/tinyz280/dsc_33210127.jpg?500x530|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tinyz280_dsc_33210127.jpg}}]]
  
-PC board design files are [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyz280_r0.zip|here]]. The pc board is 100mm x 100mm, 1.2mm thick. It was manufactured by Seeed Studio.+PC board design files are [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyz280_r0.zip|here]]. The pc board is 100mm x 100mm, 1.2mm thick. It was manufactured by Seeed Studio.
  
 Construction notes is [[builderpages:plasmo:tinyz280:tinyz280_construction|here]]. Construction notes is [[builderpages:plasmo:tinyz280:tinyz280_construction|here]].
Line 49: Line 49:
 The picture above shows what need to be populated to support the UART bootstrap configuration. The serial port is set to 57600 baud, odd parity, 8 data bit, 1 stop. The operating guide for UART Bootstrap configuration is [[builderpages:plasmo:tinyz280:uart_bootstrap_operation|here]]. The picture above shows what need to be populated to support the UART bootstrap configuration. The serial port is set to 57600 baud, odd parity, 8 data bit, 1 stop. The operating guide for UART Bootstrap configuration is [[builderpages:plasmo:tinyz280:uart_bootstrap_operation|here]].
  
-The Altera EPM7128 design for UART bootstrap is [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyzram.pdf|here]]. This is the [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyzram_program_file.zip|programming file]].+The Altera EPM7128 design for UART bootstrap is [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyzram.pdf|here]]. This is the [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyzram_program_file.zip|programming file]].
  
 When reset button is pressed or when initially powered up, the board expects a 256-byte serial binary data stream. After 256 bytes of data is received, Z280 will start program execution at location 0. TinyLoad is the 256-byte boot program; it has three functions: When reset button is pressed or when initially powered up, the board expects a 256-byte serial binary data stream. After 256 bytes of data is received, Z280 will start program execution at location 0. TinyLoad is the 256-byte boot program; it has three functions:
Line 66: Line 66:
 </code> </code>
  
-TinyLoad binary is [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyload_binary.zip|here]]. TinyLoad source is [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyload_asm.zip|here]].+TinyLoad binary is [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyload_binary.zip|here]]. TinyLoad source is [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyload_asm.zip|here]].
  
 Glitchmon is a small monitor that display/modify memory, display/modify I/O port, and jump to specified address. It is derived from Glitchwork: https://github.com/chapmajs/glitchworks_monitor Glitchmon is a small monitor that display/modify memory, display/modify I/O port, and jump to specified address. It is derived from Glitchwork: https://github.com/chapmajs/glitchworks_monitor
  
-Glitchmon hex load file is [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:glitchmon_hex_loadfile.zip|here]]. Glitchmon source is [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:glitchmonhcs_asm.zip|here]].+Glitchmon hex load file is [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:glitchmon_hex_loadfile.zip|here]]. Glitchmon source is [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:glitchmonhcs_asm.zip|here]].
  
 cpm22all is CP/M ver 2.2 source in Z80 mnemonics. The CCP and BDOS are downloaded from cpm.z80.de: http://cpm.z80.de/download/cpm2-asm.zip cpm22all is CP/M ver 2.2 source in Z80 mnemonics. The CCP and BDOS are downloaded from cpm.z80.de: http://cpm.z80.de/download/cpm2-asm.zip
  
-cpm22all hex load file is [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:cpm22all_hex_loadfile.zip|here]]. cpm22all source is [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:cpm22all_asm.zip|here]].+cpm22all hex load file is [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:cpm22all_hex_loadfile.zip|here]]. cpm22all source is [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:cpm22all_asm.zip|here]].
  
 ==== Step 2, CF Bootstrap ==== ==== Step 2, CF Bootstrap ====
Line 80: Line 80:
 (2/11/18) CF Bootstrap is working. The pc board is modified to add a jumper that switch between UART bootstrap and CF bootstrap. The reset connection (T14 & T15) is cut and a new output signal from CPLD is now control the reset of the Z280. This is all the physical modifications required. There are significant more firmware and software changes: (2/11/18) CF Bootstrap is working. The pc board is modified to add a jumper that switch between UART bootstrap and CF bootstrap. The reset connection (T14 & T15) is cut and a new output signal from CPLD is now control the reset of the Z280. This is all the physical modifications required. There are significant more firmware and software changes:
  
-New CPLD with CF bootstrap state machine (CFinit) and modified memory map. Here is the[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyzramcf.pdf|schematic]] and the [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyzramcf_program_file.zip|programming file]]. The state machine design is rather convoluted. Here is the [[builderpages:plasmo:tinyz280:cfboot_operation|theory of operation]].+New CPLD with CF bootstrap state machine (CFinit) and modified memory map. Here is the[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyzramcf.pdf|schematic]] and the [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:tinyzramcf_program_file.zip|programming file]]. The state machine design is rather convoluted. Here is the [[builderpages:plasmo:tinyz280:cfboot_operation|theory of operation]].
  
-CF Bootstrap software is evolving. The current approach is a small (~128 byte) cold bootstrap code located in boot sector of a CF. Before Z280 reset is released, the CFinit state machine configured the CF to stream cold bootstrap code out to CF's 16-bit data port. After reset Z280 will execute the code stream which copy a small boot loader into 0x1000 and jump to it which, in turn, load data from sector 2 and 3 and execute. Here is the[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:cfmonldr.zip|cold]] [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:cfmonldr.zip|bootstrap code]]. Here is the utility program to copy cold bootstrap into boot sector. Another utility program to copy software into sector 2 & 3 of CF. The two utility programs will be combined later.+CF Bootstrap software is evolving. The current approach is a small (~128 byte) cold bootstrap code located in boot sector of a CF. Before Z280 reset is released, the CFinit state machine configured the CF to stream cold bootstrap code out to CF's 16-bit data port. After reset Z280 will execute the code stream which copy a small boot loader into 0x1000 and jump to it which, in turn, load data from sector 2 and 3 and execute. Here is the[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:cfmonldr.zip|cold]] [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:tinyz280:cfmonldr.zip|bootstrap code]]. Here is the utility program to copy cold bootstrap into boot sector. Another utility program to copy software into sector 2 & 3 of CF. The two utility programs will be combined later.
  
 ==== Step 3, CF Bootstrap with DRAM ==== ==== Step 3, CF Bootstrap with DRAM ====
builderpages/plasmo/tinyz280.1747359915.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0