summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2011-08-24 15:13:39 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2011-08-24 15:13:39 +0000
commit2eec9774526d0aacb2b9ea5ed2219efb691315ac (patch)
tree84dbaebe815047d28c5447ce3b966744c46f7b12 /src
parent7e9d0900ac448446cef574e182256a0a9851f6c1 (diff)
Work-around for TMS32051 crash on Taito JC soft reset
Diffstat (limited to 'src')
-rw-r--r--src/emu/cpu/tms32051/tms32051.c17
-rw-r--r--src/mame/video/taitojc.c4
2 files changed, 10 insertions, 11 deletions
diff --git a/src/emu/cpu/tms32051/tms32051.c b/src/emu/cpu/tms32051/tms32051.c
index 96c5b925712..8be185a3ffe 100644
--- a/src/emu/cpu/tms32051/tms32051.c
+++ b/src/emu/cpu/tms32051/tms32051.c
@@ -241,20 +241,21 @@ static CPU_RESET( tms )
CHANGE_PC(cpustate, dst);
- for (i=0; i < length; i++)
+ /* TODO: if you soft reset on Taito JC it tries to do a 0x7802->0x9007 (0xff00) transfer. */
+ for (i=0; i < (length & 0x7ff); i++)
{
UINT16 data = DM_READ16(cpustate, src++);
PM_WRITE16(cpustate, dst++, data);
}
cpustate->st0.intm = 1;
- cpustate->st0.ov = 0;
+ cpustate->st0.ov = 0;
cpustate->st1.c = 1;
- cpustate->st1.cnf = 0;
- cpustate->st1.hm = 1;
- cpustate->st1.pm = 0;
- cpustate->st1.sxm = 1;
- cpustate->st1.xf = 1;
+ cpustate->st1.cnf = 0;
+ cpustate->st1.hm = 1;
+ cpustate->st1.pm = 0;
+ cpustate->st1.sxm = 1;
+ cpustate->st1.xf = 1;
cpustate->pmst.avis = 0;
cpustate->pmst.braf = 0;
cpustate->pmst.iptr = 0;
@@ -262,7 +263,7 @@ static CPU_RESET( tms )
cpustate->pmst.ovly = 0;
cpustate->pmst.ram = 0;
cpustate->pmst.trm = 0;
- cpustate->ifr = 0;
+ cpustate->ifr = 0;
cpustate->cbcr = 0;
cpustate->rptc = -1;
}
diff --git a/src/mame/video/taitojc.c b/src/mame/video/taitojc.c
index 2e83c035e41..08b4b1cb380 100644
--- a/src/mame/video/taitojc.c
+++ b/src/mame/video/taitojc.c
@@ -194,11 +194,9 @@ static void draw_object(running_machine &machine, bitmap_t *bitmap, const rectan
{
UINT16 *d = BITMAP_ADDR16(bitmap, j, 0);
- UINT8 pen = state->m_objlist[(address-0xff000)/4];
-
for (i=x1; i < x2; i++)
{
- d[i] = pen;
+ d[i] = 8; //TODO: black
//index++;
}