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:tinyz280 [2018/02/06 08:21]
plasmo
builderpages:plasmo:tinyz280 [2018/03/23 22:50] (current)
plasmo
Line 37: Line 37:
 [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=b12016&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/tinyz280/dsc_33230125_f.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/tinyz280/dsc_33230125_f.jpg?direct&600x611|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tinyz280_dsc_33230125_f.jpg}}]] [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=b12016&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/tinyz280/dsc_33230125_f.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/tinyz280/dsc_33230125_f.jpg?direct&600x611|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tinyz280_dsc_33230125_f.jpg}}]]
  
-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 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 here. This is the programming file.+The Altera EPM7128 design for UART bootstrap is {{:builderpages:plasmo:tinyz280:tinyzram.pdf|here}}. This is the {{: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 two 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:
  
 +  - It clears memory from 0x100 to 0xFFFF to zero.
   - It expects Intel hex file and save it to memory specified by the load address. It will check every record and print a period (.) if the checksum matches or question mark (?) if the checksum does not match. It will output 'U' for unrecognized record format and 'X' for end of record.   - It expects Intel hex file and save it to memory specified by the load address. It will check every record and print a period (.) if the checksum matches or question mark (?) if the checksum does not match. It will output 'U' for unrecognized record format and 'X' for end of record.
   - It recognizes the 'G' command and transfers the control to the 4-byte address follow the 'G' command. Please note: the 4-byte address is not echo back on the terminal, only the 'G' followed by a blank is displayed.   - It recognizes the 'G' command and transfers the control to the 4-byte address follow the 'G' command. Please note: the 4-byte address is not echo back on the terminal, only the 'G' followed by a blank is displayed.
Line 49: Line 50:
  
 <code> <code>
-TinyLoad +TinyLoad 1 
-When done type G xxxx+G xxxx when done
 </code> </code>
  
Line 59: Line 60:
 Glitchmon hex load file is {{:builderpages:plasmo:tinyz280:glitchmon_hex_loadfile.zip|here}}. Glitchmon source is {{:builderpages:plasmo:tinyz280:glitchmonhcs_asm.zip|here}}. Glitchmon hex load file is {{:builderpages:plasmo:tinyz280:glitchmon_hex_loadfile.zip|here}}. Glitchmon source is {{: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|http://cpm.z80.de/download/cpm2-asm.zip]]
  
 cpm22all hex load file is {{:builderpages:plasmo:tinyz280:cpm22all_hex_loadfile.zip|here}}. cpm22all source is {{:builderpages:plasmo:tinyz280:cpm22all_asm.zip|here}}. cpm22all hex load file is {{:builderpages:plasmo:tinyz280:cpm22all_hex_loadfile.zip|here}}. cpm22all source is {{:builderpages:plasmo:tinyz280:cpm22all_asm.zip|here}}.
Line 65: Line 66:
 ==== Step 2, CF Bootstrap ==== ==== Step 2, CF Bootstrap ====
  
-Blahblahblah+(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{{:builderpages:plasmo:tinyz280:tinyzramcf.pdf|schematic}}  and the {{: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 releasedthe 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 whichin turn, load data from sector 2 and 3 and execute. Here is the{{:builderpages:plasmo:tinyz280:cfmonldr.zip|cold}}  {{: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 ====
  
-more blah, blah+Blah, blah, blah 
 + 
 +==== Final Step, Putting it all together ==== 
 + 
 +After the various steps of incremental development, this is the [[:builderpages:plasmo:tinyz280:final_step|end product]].
  
  
builderpages/plasmo/tinyz280.1517923307.txt.gz · Last modified: 2018/02/06 08:21 by plasmo
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0