cdrom_Device isodrive;
void* _xbplug_MainDevice(int proc, void* data)
{
uint32 tmp;
void* xfisonew;
switch(proc)
{
case XBP_INIT:
isodrive.Init();
return (void*)true;
case XBP_RESET:
if(!data)
{
isodrive.Destroy();
isodrive.Init();
}
else if(((char*)data)[0])isodrive.InitISO((char*)data);
else isodrive.InitCD();
break;
case XBP_SET_COMMAND:
isodrive.SendCommand((unsigned char)data);
break;
case XBP_FIQ:
return (void*)isodrive.TestFIQ(); //фактически - возвращается булева переменная: 0 - нет прерывания, 1 - есть
case XBP_GET_DATA:
return (void*)isodrive.GetDataFifo();
case XBP_GET_STATUS:
return (void*)isodrive.GetStatusFifo();
case XBP_SET_POLL:
isodrive.SetPoll((unsigned int)data);
break;
case XBP_GET_POLL:
return (void*)isodrive.GetPoll();
case XBP_DESTROY:
isodrive.Destroy();
break;
case XBP_GET_SAVESIZE:
tmp=sizeof(cdrom_Device)+12;
return (void*)tmp;
case XBP_GET_SAVEDATA:
tmp=12;
((uint32*)data)[0]=0xfefefe01;
((uint32*)data)[1]=fs3do_SecPosition(isodrive.fisonew);
((uint32*)data)[2]=fs3do_SubPosition(isodrive.fisonew);
memcpy(&(((uint8*)data)[tmp]),&isodrive,sizeof(cdrom_Device));
break;
case XBP_SET_SAVEDATA:
if(((uint32*)data)[0]!=0xfefefe01)return NULL;
xfisonew=isodrive.fisonew;
memcpy(&isodrive,&(((uint8*)data)[12]),sizeof(cdrom_Device));
isodrive.fisonew=xfisonew;
fs3do_DirectSeek(xfisonew, ((uint32*)data)[1], ((uint32*)data)[2]);
return (void*)1;
};
return NULL;
}
1)так я и говорю у меня 3 шлейфа по несколько выводов + 2х2 питание на моторчики, а на схеме один разъем!!!
мож скинишь тогда распиновку exp-30-pin?
ну скинь пожалуйста, попробую помучать ,мож обманку какую придумаю:)
так мне надо сначало подключить сидюк а потом уже обманку придумывать.
да блин скинь в личку я никому не дам!так мне надо сначало подключить сидюк а потом уже обманку придумывать.
Не хочу красть у тебя бесценный опыт :)
не понял у меня exp 30 пинов а в патенте 25(стр. восемь) http://altmer.arts-union.ru/3DO/docs/Patents/WO09416382A1.tif
мне не лень, я просто к тому что приставка у меня одна , вдруг что сгорит ,не хотелось бы просто так ее убивать!