/* Imported from Wayback Machine Original URL : https://retrobrewcomputers.org/doku.php?id=builderpages:plasmo:cb030:cb030_rev1:16-bit_cf_upgrade Snapshot date: 2025-02-14 Generator : wayback-archiver */ ==== Table of Contents ==== [[#upgrade_rev1_cb030_to_16-bit_cf_interface|Upgrade Rev1 CB030 to 16-bit CF Interface]] [[#introduction|Introduction]] [[#engineering_change_procedures|Engineering change procedures]] [[#add_8_data_lines|Add 8 data lines]] [[#address_lines_modification|Address lines modification]] [[#enable_cf_interrupt|Enable CF interrupt]] [[#cpld_update|CPLD Update]] [[#cp_m68k_bios_update|CP/M68K BIOS Update]] [[#updated_eprom_image|Updated EPROM image]] [[#updated_cf_memory_map|Updated CF Memory Map]] [[#updated_schematic|Updated schematic]] ====== 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://retrobrewcomputers.org/lib/exe/fetch.php?w=500&h=325&tok=9f3b44&media=https%3A%2F%2Fwww.retrobrewcomputers.org%2Flib%2Fplugins%2Fckgedit%2Ffckeditor%2Fuserfiles%2Fimage%2Fbuilderpages%2Fplasmo%2Fcb030%2Fcb030_rev1%2Fdsc_56670409.jpg?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://retrobrewcomputers.org/lib/exe/fetch.php?w=500&h=321&tok=525efa&media=https%3A%2F%2Fwww.retrobrewcomputers.org%2Flib%2Fplugins%2Fckgedit%2Ffckeditor%2Fuserfiles%2Fimage%2Fbuilderpages%2Fplasmo%2Fcb030%2Fcb030_rev1%2Fdsc_56660409.jpg?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://retrobrewcomputers.org/lib/exe/fetch.php?w=200&h=102&tok=650479&media=https%3A%2F%2Fwww.retrobrewcomputers.org%2Flib%2Fplugins%2Fckgedit%2Ffckeditor%2Fuserfiles%2Fimage%2Fbuilderpages%2Fplasmo%2Fcb030%2Fcb030_rev1%2Fcf16_ec%2Fcf16_data_mod_solder.jpg?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://retrobrewcomputers.org/lib/exe/fetch.php?w=200&h=194&tok=a99b37&media=https%3A%2F%2Fwww.retrobrewcomputers.org%2Flib%2Fplugins%2Fckgedit%2Ffckeditor%2Fuserfiles%2Fimage%2Fbuilderpages%2Fplasmo%2Fcb030%2Fcb030_rev1%2Fcf16_ec%2Fcf16_addr_cut.jpg?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://retrobrewcomputers.org/lib/exe/fetch.php?w=200&h=194&tok=066d11&media=https%3A%2F%2Fwww.retrobrewcomputers.org%2Flib%2Fplugins%2Fckgedit%2Ffckeditor%2Fuserfiles%2Fimage%2Fbuilderpages%2Fplasmo%2Fcb030%2Fcb030_rev1%2Fcf16_ec%2Fcf16_addr_add_comp.jpg?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://retrobrewcomputers.org/lib/exe/fetch.php?w=200&h=74&tok=8ea869&media=https%3A%2F%2Fwww.retrobrewcomputers.org%2Flib%2Fplugins%2Fckgedit%2Ffckeditor%2Fuserfiles%2Fimage%2Fbuilderpages%2Fplasmo%2Fcb030%2Fcb030_rev1%2Fcf16_ec%2Fcf16_addr_mod_solder.jpg?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://retrobrewcomputers.org/lib/exe/fetch.php?w=200&h=194&tok=cf0a34&media=https%3A%2F%2Fwww.retrobrewcomputers.org%2Flib%2Fplugins%2Fckgedit%2Ffckeditor%2Fuserfiles%2Fimage%2Fbuilderpages%2Fplasmo%2Fcb030%2Fcb030_rev1%2Fcf16_ec%2Fcf16_irq_mod.jpg?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 ==== [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=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 ==== [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=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 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=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 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:cb030:cb030_rev1:cf16_ec:cb031ec.pdf|updated schematic]] reflecting all the above changes.