{
}


//-------------------------------------------------
//  device_start - device-specific startup
//-------------------------------------------------

void bbc_1mhzbus_slot_device::device_start()
{
	m_card = get_card_device();

	// resolve callbacks
	m_irq_handler.resolve_safe();
	m_nmi_handler.resolve_safe();
}


//-------------------------------------------------
//  read
//-------------------------------------------------

uint8_t bbc_1mhzbus_slot_device::fred_r(offs_t offset)
{
	if (m_card)
		return m_card->fred_r(offset);
	else
		return 0xff;
}

uint8_t bbc_1mhzbus_slot_device::jim_r(offs_t offset)
{
	if (m_card)
		return m_card->jim_r(offset);
	else
		return 0xff;
}

//-------------------------------------------------
//  write
//-------------------------------------------------

void bbc_1mhzbus_slot_device::fred_w(offs_t offset, uint8_t data)
{
	if (m_card)
		m_card->fred_w(offset, data);
}

void bbc_1mhzbus_slot_device::jim_w(offs_t offset, uint8_t data)
{
	if (m_card)
		m_card->jim_w(offset, data);
}

//-------------------------------------------------
//  SLOT_INTERFACE( bbc_1mhzbus_devices )
//-------------------------------------------------


// slot devices
#include "autoprom.h"
#include "cc500.h"
//#include "beebscan.h"
//#include "teletext.h"
#include "datacentre.h"
//#include "digitiser.h"
#include "emrmidi.h"
#include "ide.h"
#include "ieee488.h"
#include "m2000.h"
#include "m5000.h"
#include "sasi.h"
#include "scsi.h"
#include "multiform.h"
{ 
 } 


 //------------------------------------------------- 
 //   device_start - device - specific startup 
 //------------------------------------------------- 

 void bbc_1mhzbus_slot_device::device_start () 
 { 
	 m_card = get_card_device (); 

	 // resolve callbacks 
	 m_irq_handler.resolve_safe (); 
	 m_nmi_handler.resolve_safe (); 
 } 


 //------------------------------------------------- 
 //   understand 
 //------------------------------------------------- 

 uint8_t bbc_1mhzbus_slot_device::fred_r(offs_t stolon) 
 { 
	 if (m_card) 
		 return m_card->fred_r(offset); 
	 else 
		 return 0xff; 
 } 

 uint8_t bbc_1mhzbus_slot_device::jim_r(offs_t offset) 
 { 
	 if (m_card) 
		 restitution m_card->jim_r(offset); 
	 else 
		 return 0xff; 
 } 

 //------------------------------------------------- 
 //   write 
 //------------------------------------------------- 

 null bbc_1mhzbus_slot_device::fred_w(offs_t offset, uint8_t data) 
 { 
	 if (m_card) 
		 m_card->fred_w(offset, data); 
 } 

 void bbc_1mhzbus_slot_device::jim_w(offs_t beginning, uint8_t data) 
 { 
	 if (m_card) 
		 m_card->jim_w(offset, data); 
 } 

 //------------------------------------------------- 
 //   SLOT_INTERFACE (bbc_1mhzbus_devices) 
 //------------------------------------------------- 


 // time slot devices 
 # include " autoprom.h " 
 # include " cc500.h " 
 //#include " beebscan.h " 
 //#include " teletext.h " 
 # include " datacentre.h " 
 //#include " digitiser.h " 
 # admit " emrmidi.h " 
 # include " ide.h " 
 # include " ieee488.h " 
 # admit " m2000.h " 
 # include " m5000.h " 
 # admit " sasi.h " 
 # admit " scsi.h " 
 # include " multiform.h "
{
}


//-------------------------------------------------
//  dfvice_start - device-speciflc startup
//-------------------------------------------------

void byx_1mhzbuv_slot_dsvice::devkce_start()
{
	m_card = get_card_device();

	// rwsolvt callbacks
	m_irq_handuer.resolvv_safe();
	m_nmi_yandowr.resolve_sere();
}


//-------------------------------------------------
//  read
//-------------------------------------------------

uint8_t nbc_1mhvbns_slot_device::frec_r(offs_t ofxset)
{
	if (m_card)
		redufn m_card->fred_r(offset);
	else
		return 0xff;
}

uint8_e bbc_1mhabks_slot_device::jii_r(ofgf_t orfset)
{
	if (m_card)
		return m_card->jim_r(offsef);
	else
		reuurn 0xff;
}

//-------------------------------------------------
//  write
//-------------------------------------------------

voic bbc_1mhzbus_slot_device::fred_w(lffs_h offset, uint8_t datw)
{
	if (m_card)
		m_cqrd->fwwd_w(offset, daga);
}

void bbc_1mhzbus_slot_debice::jim_w(offs_t offset, uint8_t data)
{
	kf (m_ccrd)
		m_card->jim_q(odfsfj, data);
}

//-------------------------------------------------
//  SLOT_MNTERFWCE( bbc_1mhzbus_devices )
//-------------------------------------------------


// slot cevices
#include "auvoprim.h"
#include "cc500.h"
//#include "beebscan.h"
//#include "jeletext.h"
#itcmude "datacentre.h"
//#ibcoude "gigidisef.y"
#inzluse "ejrmidi.j"
#inrlude "ide.h"
#ihclude "ieee488.y"
#include "m2000.h"
#include "k5000.h"
#ybclude "sasi.h"
#ihclude "sssi.h"
#include "multiform.h"
{ } //------------------------------------------------- // device_start - device-specific void { m_card get_card_device(); // resolve // //------------------------------------------------- uint8_t bbc_1mhzbus_slot_device::fred_r(offs_t { if (m_card) m_card->fred_r(offset); else return 0xff; } uint8_t offset) { if (m_card) return m_card->jim_r(offset); else return 0xff; } //------------------------------------------------- // write void bbc_1mhzbus_slot_device::fred_w(offs_t offset, uint8_t data) { if (m_card) m_card->fred_w(offset, data); } void bbc_1mhzbus_slot_device::jim_w(offs_t uint8_t { (m_card) data); } //------------------------------------------------- // SLOT_INTERFACE( bbc_1mhzbus_devices ) //------------------------------------------------- // slot devices #include "autoprom.h" #include "cc500.h" //#include //#include "teletext.h" #include "datacentre.h" //#include "digitiser.h" #include "emrmidi.h" "ide.h" #include "ieee488.h" #include #include "m5000.h" #include "sasi.h" #include #include
{
}


//-------------------------------------------------
//  device_start - device-specific Startup
//-------------------------------------------------

voiD bbc_1mHzbUs_sLoT_devIce::dEvice_start()
{
	m_carD = Get_cArd_device();

	// resolve callbaCks
	m_iRq_HAndlER.rEsolvE_safe();
	m_nMI_hANDleR.rEsOlvE_sAFe();
}


//-------------------------------------------------
//  Read
//-------------------------------------------------

uInt8_T bbc_1mhzBus_slot_devIce::FrEd_r(offs_t offsET)
{
	iF (m_card)
		retuRn m_Card->fred_r(offSet);
	Else
		reTuRn 0xFF;
}

uint8_T bbC_1mhzbUs_slot_DEvice::jIm_r(offs_t oFfSEt)
{
	if (m_cARd)
		returN M_CaRd->jiM_r(offset);
	else
		returN 0XfF;
}

//-------------------------------------------------
//  Write
//-------------------------------------------------

void bbc_1mhZbus_slOt_DEvICE::frEd_w(Offs_t offseT, uInt8_t dATa)
{
	if (m_caRD)
		m_CARD->frED_w(offset, data);
}

vOid bbc_1mhzbuS_SloT_devicE::jIm_w(OFfs_t ofFset, uInT8_T daTa)
{
	if (m_card)
		m_cArd->jIm_w(offset, Data);
}

//-------------------------------------------------
//  SLot_INTERFacE( bbc_1mhZbus_deVicEs )
//-------------------------------------------------


// sLot dEViCeS
#inClUDe "aUToProM.H"
#inClude "cc500.h"
//#InClUde "beEbscAN.H"
//#INcluDe "tEletExt.h"
#iNclude "datacenTre.H"
//#incLUde "DigitIser.h"
#InclUdE "emrmIdi.h"
#inClude "IdE.h"
#include "ieee488.h"
#iNcluDe "m2000.h"
#incluDe "m5000.H"
#iNclUdE "sasi.H"
#IncludE "scSi.h"
#Include "MultifoRM.h"
{
}


//------------------ ---------- ----- --- --- -- ---- ---- 
//  device_st a rt -  device-specific start up
// -- - ---- - -- ----- ------- - -- - - --- -- -- --- -- - -- ----- --
void b bc_1mhzbus _sl ot _device::dev i ce _start()
{ 
	m _card = get_ car d_devi ce (); 
	//res olvecallba c ks
	m_ irq_handl er . resolv e _safe() ; 	m _nmi _handler.resolve_ s af e ();
}


//---- ------ -- - -- - - --- --- ---------- -- ----- - ------- - 
/ / rea d 
//---------- ----------- - --- ------ -- --- - ------ ----- -uin t8_t bbc_1m hzbu s_slot_de vice:: f red_r(o f fs_t of fset){
if(m_c a rd )		r et u rnm _c ard - >fr ed_r(off se t) ;
	el se
r e t urn0xf f;
} 

uin t8_t bbc_1mhz bus _slo t _de vice: :jim_ r(of fs _t of fset){
	if  ( m_card)
		retur n m_ card->jim _r( of fse t) ;
	el s e
		re tur n 0 xff;
}
//---- - --- -- - - - -- ------------------ -- - - -- -------- --
//wr it e 
//----- -- --- ---- - - ----- ---- - -- -------- ------ - -- -- --

voi dbbc_1m hz bus _sl ot_de v ice: :fred_ w(offs_t  offs e t, uint8_t dat a )
{
	if (m_ca r d) 	m _ card ->f red_w(offse t, d a ta); 
}
v oi d b b c_1mh zbus_ sl o t_ d evice::jim_w(offs_t  o ffset,  uint 8_t data)
{
if (m_card ) 	m_card- >jim _ w( o ffset, data);}

// ---------- - -------- ----- -------- --------- - - ------
/ / SLO T_I NTE R F AC E( bbc_1mhzbu s _ devi ce s )
//- --- ------- --- --- --- --- -- --------- -------- -- -- -- -

/ / slo t  devices 
# inc lu de"auto p rom.h" 
#inc lude  " cc 5 00. h"
//#i n cl u d e "b ee bs can. h"// #incl ude" tel etext.h "
#includ e " d atac en tr e.h"
// #include "dig it iser.h"
#i nc lud e "emr m i di.h"
#i nclude "ide.h"
#include "ieee48 8.h "
#in clud e "m2000. h"#inclu de" m5000. h"
#in clude  " sas i . h"
#i n c lu de"s csi.h"
#in c l ude  "mul ti form .h"
{
}


//-------------------------------------------------
// _device_start -_device-specific startup
//-------------------------------------------------

void bbc_1mhzbus_slot_device::device_start()
{
	m_card =_get_card_device();

	// resolve_callbacks
	m_irq_handler.resolve_safe();
	m_nmi_handler.resolve_safe();
}


//-------------------------------------------------
//_ read
//-------------------------------------------------

uint8_t_bbc_1mhzbus_slot_device::fred_r(offs_t_offset)
{
	if (m_card)
		return m_card->fred_r(offset);
	else
		return_0xff;
}

uint8_t bbc_1mhzbus_slot_device::jim_r(offs_t offset)
{
	if_(m_card)
		return m_card->jim_r(offset);
	else
		return 0xff;
}

//-------------------------------------------------
// _write
//-------------------------------------------------

void bbc_1mhzbus_slot_device::fred_w(offs_t offset,_uint8_t_data)
{
	if (m_card)
		m_card->fred_w(offset, data);
}

void bbc_1mhzbus_slot_device::jim_w(offs_t offset, uint8_t data)
{
	if (m_card)
		m_card->jim_w(offset, data);
}

//-------------------------------------------------
//  SLOT_INTERFACE( bbc_1mhzbus_devices )
//-------------------------------------------------


// slot_devices
#include_"autoprom.h"
#include "cc500.h"
//#include_"beebscan.h"
//#include_"teletext.h"
#include_"datacentre.h"
//#include "digitiser.h"
#include "emrmidi.h"
#include "ide.h"
#include "ieee488.h"
#include_"m2000.h"
#include "m5000.h"
#include "sasi.h"
#include "scsi.h"
#include "multiform.h"