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:cb030 [2020/01/15 00:27]
plasmo
builderpages:plasmo:cb030 [2020/01/19 23:11] (current)
plasmo
Line 1: Line 1:
-====== CB030, a 68030 Single Board Computer for Hobbyists ​======+====== CB030 Development Blog ======
  
 ===== Introduction ===== ===== Introduction =====
 +
 +This is development blog of CB030. This is the [[:​builderpages:​plasmo:​cb030spec|CB030 homepage]].
  
 CB030 will have a 25MHz 68030 (because I have lots of them), 16 Meg DRAM initially but 64/128 Meg final, 512K boot flash, compact flash mass storage, dual serial ports, and an I/O expansion port on a 4" x 4" pc board. CB030 will have a 25MHz 68030 (because I have lots of them), 16 Meg DRAM initially but 64/128 Meg final, 512K boot flash, compact flash mass storage, dual serial ports, and an I/O expansion port on a 4" x 4" pc board.
Line 8: Line 10:
  
   * Stage 1, SMT CPLD is assembled and programmed to perform basic diagnostic   * Stage 1, SMT CPLD is assembled and programmed to perform basic diagnostic
-  * Stage 2, 68030 and DRAM are added; CPLD has a "​serial bootstrap"​ feature where program can be loaded through the CPLD-based serial port to test the memory and CPU functionalities +  * <del>Stage 2, 68030 and DRAM are added; CPLD has a "​serial bootstrap"​ feature where program can be loaded through the CPLD-based serial port to test the memory and CPU functionalities</​del>​ 
-  * Stage 3, boot flash is added; the bootstrap program is loaded through the serial bootstrap feature to program the boot flash. Afterward the normal bootstrap mode is enabled to boot off the flash memory. The ability to switch between serial bootstrap and flash bootstrap will be retained so future updates of bootstrap flash will always have the serial bootstrap as backup in case of update failure. This also save the end users from having to have a EPROM programmer.+  * <del>Stage 3, boot flash is added; the bootstrap program is loaded through the serial bootstrap feature to program the boot flash. Afterward the normal bootstrap mode is enabled to boot off the flash memory. The ability to switch between serial bootstrap and flash bootstrap will be retained so future updates of bootstrap flash will always have the serial bootstrap as backup in case of update failure. This also save the end users from having to have a EPROM programmer.</​del> ​ <– **Note**, the staged assembly is deleted because CPLD does not have sufficient I/O pins.
   * Stage 4, Serial ports and compact flash interface are added. CP/M68K is the initial OS, but hopefully a more powerful OS can be developed later on.   * Stage 4, Serial ports and compact flash interface are added. CP/M68K is the initial OS, but hopefully a more powerful OS can be developed later on.
  
 The staged assembly features allow CB030 to be build by most hobbyists except stage 1. A shop or an individual (such as myself) can assemble the CPLD, program and test it, then sell the board with programmed CPLD at a nominal fee, say $15 or so. The buyers can procure the remaining components and complete the assembly, stage by stage. Of course a complete kit can be provided or even a fully assembled/​tested board, but many (most?) people probably like to assemble their own. The staged assembly features allow CB030 to be build by most hobbyists except stage 1. A shop or an individual (such as myself) can assemble the CPLD, program and test it, then sell the board with programmed CPLD at a nominal fee, say $15 or so. The buyers can procure the remaining components and complete the assembly, stage by stage. Of course a complete kit can be provided or even a fully assembled/​tested board, but many (most?) people probably like to assemble their own.
 +
 +[[https://​www.retrobrewcomputers.org/​lib/​exe/​fetch.php?​tok=094e97&​media=https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​cb030_r0_annotated_f.jpg|{{https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​cb030_r0_annotated_f.jpg?​direct&​600x444|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tiny030_cb030_cb030_r0_annotated_f.jpg}}]]
  
 ===== Status ===== ===== Status =====
  
-{{https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​tiny030_to_cb030.jpg?​direct&​400}}+[[https://​www.retrobrewcomputers.org/​lib/​exe/​fetch.php?​tok=53ef9f&​media=https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​tiny030_to_cb030_f.jpg|{{https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​tiny030_to_cb030_f.jpg?​direct&​400x261|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tiny030_cb030_tiny030_to_cb030_f.jpg}}]]
  
 1/4/20 Preliminary {{:​builderpages:​plasmo:​tiny030:​cb030:​cb030_scm_preliminary.pdf|schematic}} ​ generated. Need to do exploratory layout to assign CPLD pins optimally. 1/4/20 Preliminary {{:​builderpages:​plasmo:​tiny030:​cb030:​cb030_scm_preliminary.pdf|schematic}} ​ generated. Need to do exploratory layout to assign CPLD pins optimally.
Line 41: Line 45:
  
 [[https://​www.retrobrewcomputers.org/​lib/​exe/​fetch.php?​tok=2baf48&​media=https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​dsc_55740114.jpg|{{https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​dsc_55740114.jpg?​direct&​400x273|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tiny030_cb030_dsc_55740114.jpg}}]] [[https://​www.retrobrewcomputers.org/​lib/​exe/​fetch.php?​tok=2baf48&​media=https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​dsc_55740114.jpg|{{https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​dsc_55740114.jpg?​direct&​400x273|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tiny030_cb030_dsc_55740114.jpg}}]]
 +
 +1/15/20
 +
 +Porting EhBasic to CB030 and run the ASCII benchmark in 24 seconds. I still need to turn on the data cache and enable the cache burst fill. I also need to reduce the wait states for accessing the DRAM so the benchmark number should improve significantly.
 +
 +[[https://​www.retrobrewcomputers.org/​lib/​exe/​fetch.php?​tok=f1d6df&​media=https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​ehbasic_cb030_24sec.jpg|{{https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​ehbasic_cb030_24sec.jpg?​direct&​400x496|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tiny030_cb030_ehbasic_cb030_24sec.jpg}}]]
 +
 +1/17/20
 +
 +CP/M68K is running on CB030! The EPROM has enough space to put a few critical CP/M files so I can format the DOM disk and transfer files from PC to DOM disk. This way I can KERMIT the entire CP/M68K distribution files into the DOM disk. I compiled the ASCII Mandelbrot program with the BASIC compiler and execute it.
 +
 +[[https://​www.retrobrewcomputers.org/​lib/​exe/​fetch.php?​tok=ff970b&​media=https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​cb030_cpm_asciiart.jpg|{{https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​cb030_cpm_asciiart.jpg?​direct&​400x581|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_tiny030_cb030_cb030_cpm_asciiart.jpg}}]]
 +
 +1/19/20
 +
 +Up to now the DRAM has a wait state of 2. I'm looking at the timing closely and decided that with 60nS DRAM and 24MHz 68030, I can run it 0 wait state, just barely. So that's what I did. Now the EhBasic benchmark takes 18 seconds and the same benchmark running in CP/M68K takes 51 seconds. The difference is due to the efficiency of the EhBasic and that fact instruction cache is turned when EhBasic is running. Now I can really tell the difference in speed!
 +
 +Built up 2nd CB030 to make sure I wasn't just lucky with the first built. ​ Yep, the 2nd one works just like the first one.
 +
 +{{https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​plasmo/​tiny030/​cb030/​dsc_55780118.jpg?​direct&​400x396}}
  
  
builderpages/plasmo/cb030.1579066059.txt.gz · Last modified: 2020/01/15 00:27 by plasmo
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0