Well, TBDML.DLL and OPENSOURCEBDM.DLL have a different, but similar interfaces.
To make it so there are no changes to the debugger, I suppose you would have to make a new version
of OPENSOURCEBDM.DLL that talked to the TBDML instead.
As for the firrmware, download the source code for both fo thern, and see what it would take to merge the code.
_LibMain@12
_opensourcebdm_bdm_sts@4
_opensourcebdm_close@0
_opensourcebdm_dll_version@0
_opensourcebdm_get_last_sts@0
_opensourcebdm_get_speed@0
_opensourcebdm_get_version@0
_opensourcebdm_init@0
_opensourcebdm_mem_dlend@0
_opensourcebdm_mem_dlstart@0
_opensourcebdm_open@4
_opensourcebdm_read_bkpt@0
_opensourcebdm_read_block@12
_opensourcebdm_read_byte@4
_opensourcebdm_read_regs@4
_opensourcebdm_read_status@0
_opensourcebdm_set_speed@4
_opensourcebdm_set_target_type@4
_opensourcebdm_target_go@0
_opensourcebdm_target_halt@0
_opensourcebdm_target_readyfor_datald@0
_opensourcebdm_target_reset@4
_opensourcebdm_target_step@0
_opensourcebdm_target_sync@0
_opensourcebdm_write_bkpt@4
_opensourcebdm_write_block@12
_opensourcebdm_write_byte@8
_opensourcebdm_write_control@4
_opensourcebdm_write_reg_ccr@4
_opensourcebdm_write_reg_d@4
_opensourcebdm_write_reg_pc@4
_opensourcebdm_write_reg_sp@4
_opensourcebdm_write_reg_x@4
_LibMain@12
_tbdml_bdm_sts@4
_tbdml_close@0
_tbdml_dll_version@0
_tbdml_get_last_sts@0
_tbdml_get_speed@0
_tbdml_get_version@0
_tbdml_init@0
_tbdml_open@4
_tbdml_read_bd@4
_tbdml_read_block@12
_tbdml_read_byte@4
_tbdml_read_regs@4
_tbdml_read_word@4
_tbdml_set_speed@4
_tbdml_set_target_type@4
_tbdml_target_go@0
_tbdml_target_halt@0
_tbdml_target_reset@4
_tbdml_target_step@0
_tbdml_target_sync@0
_tbdml_write_bd@8
_tbdml_write_block@12
_tbdml_write_byte@8
_tbdml_write_reg_ccr@4
_tbdml_write_reg_d@4
_tbdml_write_reg_pc@4
_tbdml_write_reg_sp@4
_tbdml_write_reg_x@4
_tbdml_write_reg_y@4
_tbdml_write_word@8