====== Upgrade Rev1 CB030 to 16-bit CF Interface ====== ===== Introduction ===== The rev 1 CB030 has 8-bit wide CF interface. It is possible to upgrade it to 16-bit wide interface by hooking up CF's high byte to 68030's D16-D23, and by shifting the address lines to A1-A3. The CPLD needs to be changed to account for 16-bit port; the CF driver will need to change to accommodate 16-bit wide port and different address map. [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=19a90d&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/dsc_56670409.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/dsc_56670409.jpg?direct&500x325|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_cb030_cb030_rev1_dsc_56670409.jpg}}]] [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=d32e39&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/dsc_56660409.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/dsc_56660409.jpg?direct&500x321|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_cb030_cb030_rev1_dsc_56660409.jpg}}]] ===== Engineering change procedures ===== ==== Add 8 data lines ==== Connecting CF's data 8 to data 15 to 68030's data 16 to data 24 through 100 ohm series terminating resistors [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=f7a616&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_data_mod_solder.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_data_mod_solder.jpg?direct&200x102|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_cb030_cb030_rev1_cf16_ec_cf16_data_mod_solder.jpg}}]] - Pins 4, 6, 8, 10, 12, 14, 16, 18 of CF adapter are removed by heating each pin with a solder gun until solder melt and pull out the pin with a tweezer. - cut out the plastic body of the 8 removed pin to create room for series terminating resistors - Install 8 1/10 watt 100 ohm resistors in place of the removed pins. These are series terminating resistors. - Connect pin 4 of CF adapter to pin 3 (68030 D[16]) of SIMM socket with a 30 gauge wirewrap wire. Connect the remaining 7 data lines as follow * pin 6 of CF adapter to pin 5 (68030 D[17]) of SIMM socket, * pin 8 of CF adapter to pin 7 (68030 D[18]) of SIMM socket, * pin 10 of CF adapter to pin 9 (68030 D[19]) of SIMM socket, * pin 12 of CF adapter to pin 21 (68030 D[20]) of SIMM socket, * pin 14 of CF adapter to pin 23 (68030 D[21]) of SIMM socket, * pin 16 of CF adapter to pin 25 (68030 D[22) of SIMM socket, * pin 18 of CF adapter to pin 27 (68030 D[23]) of SIMM socket. ==== Address lines modification ==== - Cut address lines A0, A1, A2 at location shown. (click the picture for detailed photo) [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=e25e30&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_addr_cut.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_addr_cut.jpg?direct&200x194|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_cb030_cb030_rev1_cf16_ec_cf16_addr_cut.jpg}}]] - Connect pin 35 of CF adapter (formerly address A0) to pin 11 of U2 (address A1) - Connect pin 33 of CF adapter (formerly address A1) to pin 10 of U2 (address A2) - Connect pin 36 of CF adapter (formerly address A2) to pin 9 of U2 (address A3). [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=26e88f&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_addr_add_comp.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_addr_add_comp.jpg?direct&200x194|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_cb030_cb030_rev1_cf16_ec_cf16_addr_add_comp.jpg}}]] [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=852a63&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_addr_mod_solder.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_addr_mod_solder.jpg?direct&200x74|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_cb030_cb030_rev1_cf16_ec_cf16_addr_mod_solder.jpg}}]] ==== Enable CF interrupt ==== [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=e3593f&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_irq_mod.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/cb030/cb030_rev1/cf16_ec/cf16_irq_mod.jpg?direct&200x194|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_cb030_cb030_rev1_cf16_ec_cf16_irq_mod.jpg}}]] - Connect pin 31 of CF adapter to middle pin of T7 - Install a 10K pull down resistor from the middle pin of T7 to ground CF interrupt priority is fixed at level 1, autovector. ==== CPLD Update ==== {{:builderpages:plasmo:cb030:cb030_rev1:cf16_ec:cb030_r1_cpld_16bitcf_enablecfirq_100hz.zip|Updated CPLD }} is required to enable CF interrupt and change CF port size to 16-bit wide. ==== CP/M68K BIOS Update ==== {{:builderpages:plasmo:cb030:cb030_rev1:cf16_ec:cbbios16_16-bit_cf_bios.zip|Updated CP/M68K BIOS}} is required to work with 16-bit wide CF interface ==== Updated EPROM image ==== This {{:builderpages:plasmo:cb030:cb030_rev1:cf16_ec:cb030bug_r0_5_cbbios16_ehbasic.zip|updated EPROM image}} contains rev 0.5 CB030bug, EhBasic, and CP/M68K BIOS/CCP/BDOS for 16-bit CF interface ==== Updated CF Memory Map ==== 0xFFFFE000 is CF data register, 16-bit 0xFFFFE002 is CF feature/error register, 8-bit 0xFFFFE004 is CF sector count register, 8-bit 0xFFFFE006 is CF sector register, 8-bit 0xFFFFE008 is CF track register, low byte, 8-bit 0xFFFFE00A is CF track register, high byte, 8-bit 0xFFFFE00C is CF head/drive register, 8-bit 0xFFFFE00E is CF status/command register, 8-bit CFdata equ $FFFFE000 * CF data register CFerr equ $FFFFE002 * CF error reg CFsectcnt equ $FFFFE004 * CF sector count reg CF07 equ $FFFFE006 * CF LA0-7 CF815 equ $FFFFE008 * CF LA8-15 CF1623 equ $FFFFE00A * CF LA16-23 CF2427 equ $FFFFE00C * CF LA24-27 CFstat equ $FFFFE00E * CF status/command reg ==== Updated schematic ==== This is the {{:builderpages:plasmo:cb030:cb030_rev1:cf16_ec:cb031ec.pdf|updated schematic}} reflecting all the above changes.