BizHawk/yabause/src/m68kcore.c

168 lines
3.4 KiB
C

/* Copyright 2007 Guillaume Duhamel
This file is part of Yabause.
Yabause is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
Yabause is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Yabause; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "m68kcore.h"
#include "m68kc68k.h"
#include "memory.h"
extern u8 * SoundRam;
M68K_struct * M68K = NULL;
extern M68K_struct * M68KCoreList[];
int M68KInit(int coreid) {
int i;
M68K = &M68KDummy;
// Go through core list and find the id
for (i = 0; M68KCoreList[i] != NULL; i++)
{
if (M68KCoreList[i]->id == coreid)
{
// Set to current core
M68K = M68KCoreList[i];
break;
}
}
return 0;
}
static int M68KDummyInit(void) {
return 0;
}
static void M68KDummyDeInit(void) {
}
static void M68KDummyReset(void) {
}
static s32 FASTCALL M68KDummyExec(UNUSED s32 cycle) {
T2WriteWord(SoundRam, 0x700, 0);
T2WriteWord(SoundRam, 0x710, 0);
T2WriteWord(SoundRam, 0x720, 0);
T2WriteWord(SoundRam, 0x730, 0);
T2WriteWord(SoundRam, 0x740, 0);
T2WriteWord(SoundRam, 0x750, 0);
T2WriteWord(SoundRam, 0x760, 0);
T2WriteWord(SoundRam, 0x770, 0);
T2WriteWord(SoundRam, 0x790, 0);
T2WriteWord(SoundRam, 0x792, 0);
return 0;
}
static void M68KDummySync(void) {
}
static u32 M68KDummyGetDReg(UNUSED u32 num) {
return 0;
}
static u32 M68KDummyGetAReg(UNUSED u32 num) {
return 0;
}
static u32 M68KDummyGetPC(void) {
return 0;
}
static u32 M68KDummyGetSR(void) {
return 0;
}
static u32 M68KDummyGetUSP(void) {
return 0;
}
static u32 M68KDummyGetMSP(void) {
return 0;
}
static void M68KDummySetDReg(UNUSED u32 num, UNUSED u32 val) {
}
static void M68KDummySetAReg(UNUSED u32 num, UNUSED u32 val) {
}
static void M68KDummySetPC(UNUSED u32 val) {
}
static void M68KDummySetSR(UNUSED u32 val) {
}
static void M68KDummySetUSP(UNUSED u32 val) {
}
static void M68KDummySetMSP(UNUSED u32 val) {
}
static void M68KDummySetFetch(UNUSED u32 low_adr, UNUSED u32 high_adr, UNUSED pointer fetch_adr) {
}
static void FASTCALL M68KDummySetIRQ(UNUSED s32 level) {
}
static void FASTCALL M68KDummyWriteNotify(u32 address, u32 size) {
}
static void M68KDummySetReadB(UNUSED M68K_READ *Func) {
}
static void M68KDummySetReadW(UNUSED M68K_READ *Func) {
}
static void M68KDummySetWriteB(UNUSED M68K_WRITE *Func) {
}
static void M68KDummySetWriteW(UNUSED M68K_WRITE *Func) {
}
M68K_struct M68KDummy = {
0,
"Dummy 68k Interface",
M68KDummyInit,
M68KDummyDeInit,
M68KDummyReset,
M68KDummyExec,
M68KDummySync,
M68KDummyGetDReg,
M68KDummyGetAReg,
M68KDummyGetPC,
M68KDummyGetSR,
M68KDummyGetUSP,
M68KDummyGetMSP,
M68KDummySetDReg,
M68KDummySetAReg,
M68KDummySetPC,
M68KDummySetSR,
M68KDummySetUSP,
M68KDummySetMSP,
M68KDummySetFetch,
M68KDummySetIRQ,
M68KDummyWriteNotify,
M68KDummySetReadB,
M68KDummySetReadW,
M68KDummySetWriteB,
M68KDummySetWriteW
};