int divide_init( void ) { int error, i; divide_idechn0 = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); divide_idechn1 = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT, 0 ); ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT, 0 ); if( settings_current.divide_master_file ) { error = libspectrum_ide_insert( divide_idechn0, LIBSPECTRUM_IDE_MASTER, settings_current.divide_master_file ); if( error ) return error; ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_MASTER_EJECT, 1 ); } if( settings_current.divide_slave_file ) { error = libspectrum_ide_insert( divide_idechn0, LIBSPECTRUM_IDE_SLAVE, settings_current.divide_slave_file ); if( error ) return error; ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_DIVIDE_SLAVE_EJECT, 1 ); } module_register( ÷_module_info ); for( i = 0; i < 2; i++ ) divide_memory_map_romcs[i].bank = MEMORY_BANK_ROMCS; if( periph_register_paging_events( event_type_string, &page_event, &unpage_event ) ) return 1; return 0; }
static int zxcf_init( void *context ) { int error, i; last_memctl = 0x00; zxcf_idechn = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_ZXCF_EJECT, 0 ); if( settings_current.zxcf_pri_file ) { error = libspectrum_ide_insert( zxcf_idechn, LIBSPECTRUM_IDE_MASTER, settings_current.zxcf_pri_file ); if( error ) return error; ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_ZXCF_EJECT, 1 ); } module_register( &zxcf_module_info ); zxcf_memory_source = memory_source_register( "ZXCF" ); for( i = 0; i < MEMORY_PAGES_IN_16K; i++ ) zxcf_memory_map_romcs[i].source = zxcf_memory_source; periph_register( PERIPH_TYPE_ZXCF, &zxcf_periph ); periph_register_paging_events( event_type_string, &page_event, &unpage_event ); return 0; }
int zxcf_init( void ) { int error; last_memctl = 0x00; zxcf_idechn = libspectrum_ide_alloc( LIBSPECTRUM_IDE_DATA16 ); ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_ZXCF_EJECT, 0 ); if( settings_current.zxcf_pri_file ) { error = libspectrum_ide_insert( zxcf_idechn, LIBSPECTRUM_IDE_MASTER, settings_current.zxcf_pri_file ); if( error ) return error; ui_menu_activate( UI_MENU_ITEM_MEDIA_IDE_ZXCF_EJECT, 1 ); } module_register( &zxcf_module_info ); if( periph_register_paging_events( event_type_string, &page_event, &unpage_event ) ) return 1; return 0; }
static int spectranet_init( void *context ) { module_register( &spectranet_module_info ); spectranet_source = memory_source_register( "Spectranet" ); periph_register( PERIPH_TYPE_SPECTRANET, &spectranet_periph ); periph_register_paging_events( event_type_string, &page_event, &unpage_event ); w5100 = nic_w5100_alloc(); flash_rom = flash_am29f010_alloc(); return 0; }
static int didaktik80_init( void *context ) { int i; fdd_t *d; didaktik_fdc = wd_fdc_alloc_fdc( WD2797, 0, WD_FLAG_DRQ | WD_FLAG_RDY ); for( i = 0; i < DIDAKTIK80_NUM_DRIVES; i++ ) { d = &didaktik_drives[ i ]; fdd_init( d, FDD_SHUGART, NULL, 0 ); /* drive geometry 'autodetect' */ d->disk.flag = DISK_FLAG_NONE; } didaktik_fdc->current_drive = &didaktik_drives[ 0 ]; fdd_select( &didaktik_drives[ 0 ], 1 ); didaktik_fdc->extra_signal = 1; didaktik_fdc->dden = 1; didaktik_fdc->set_intrq = didaktik_set_intrq; didaktik_fdc->reset_intrq = NULL; didaktik_fdc->set_datarq = didaktik_set_datarq; didaktik_fdc->reset_datarq = NULL; module_register( &didaktik_module_info ); didaktik_rom_memory_source = memory_source_register( "Didaktik 80 ROM" ); didaktik_ram_memory_source = memory_source_register( "Didaktik 80 RAM" ); for( i = 0; i < MEMORY_PAGES_IN_14K; i++ ) didaktik_memory_map_romcs_rom[i].source = didaktik_rom_memory_source; for( i = 0; i < MEMORY_PAGES_IN_2K; i++ ) didaktik_memory_map_romcs_ram[i].source = didaktik_ram_memory_source; periph_register( PERIPH_TYPE_DIDAKTIK80, &didaktik_periph ); for( i = 0; i < DIDAKTIK80_NUM_DRIVES; i++ ) { didaktik_ui_drives[ i ].fdd = &didaktik_drives[ i ]; ui_media_drive_register( &didaktik_ui_drives[ i ] ); } periph_register_paging_events( event_type_string, &page_event, &unpage_event ); return 0; }
static int speccyboot_init( void *context ) { int i; nic = nic_enc28j60_alloc(); module_register( &speccyboot_module_info ); speccyboot_memory_source = memory_source_register( "SpeccyBoot" ); for( i = 0; i < MEMORY_PAGES_IN_8K; i++ ) speccyboot_memory_map_romcs[i].source = speccyboot_memory_source; periph_register( PERIPH_TYPE_SPECCYBOOT, &speccyboot_periph ); periph_register_paging_events( event_type_string, &page_event, &unpage_event ); return 0; }