Gamecom: Major improvements, most games are running to some extent.

This commit is contained in:
Robbbert 2016-05-18 15:41:32 +10:00
parent b9780957b6
commit f79a3c849a
2 changed files with 32 additions and 24 deletions

View File

@ -80,7 +80,7 @@
break; \ break; \
case 0x40: \ case 0x40: \
s2 = mem_readword( sm8500_b2w[r1 & 0x07] ); \ s2 = mem_readword( sm8500_b2w[r1 & 0x07] ); \
mem_writeword( sm8500_b2w[r1 & 0x07], s2 + 1 ); \ mem_writeword( sm8500_b2w[r1 & 0x07], s2 + 2 ); \
break; \ break; \
case 0x80: \ case 0x80: \
s2 = mem_readword( m_PC ); m_PC += 2; \ s2 = mem_readword( m_PC ); m_PC += 2; \
@ -89,8 +89,8 @@
} \ } \
break; \ break; \
case 0xC0: \ case 0xC0: \
s2 = mem_readword( sm8500_b2w[ r1 & 0x07] ); \ s2 = mem_readword( sm8500_b2w[ r1 & 0x07])-2; \
mem_writeword( sm8500_b2w[r1 & 0x07], s2 - 1 ); \ mem_writeword( sm8500_b2w[r1 & 0x07], s2 ); \
break; \ break; \
} \ } \
r2 = r1; \ r2 = r1; \
@ -945,6 +945,7 @@ case 0x31: /* ADD r,@rr / ADD r,(rr)+ / ADD r,@ww / ADD r,ww(rr) / ADD r,-(rr)
case 0x32: /* SUB r,@rr / SUB r,(rr)+ / SUB r,@ww / SUB r,ww(rr) / SUB r,-(rr) - 8,13,11,15,13 cycles - Flags affected: CZSV1H-- */ case 0x32: /* SUB r,@rr / SUB r,(rr)+ / SUB r,@ww / SUB r,ww(rr) / SUB r,-(rr) - 8,13,11,15,13 cycles - Flags affected: CZSV1H-- */
ARG_rmw; ARG_rmw;
OP_SUB8( mem_readbyte( r1 ), mem_readbyte( s2 ) ); OP_SUB8( mem_readbyte( r1 ), mem_readbyte( s2 ) );
mem_writebyte( r1, res & 0xFF );
switch( r2 & 0xC0 ) { switch( r2 & 0xC0 ) {
case 0x00: mycycles += 8; break; case 0x00: mycycles += 8; break;
case 0x40: mycycles += 13; break; case 0x40: mycycles += 13; break;
@ -1272,12 +1273,19 @@ case 0x59: /* Invalid - 2? cycles - Flags affected: --------? */
mycycles += 2; mycycles += 2;
break; break;
case 0x5A: /* unk5A - 7,8,12,9,8 cycles */ case 0x5A: /* unk5A - 7,8,12,9,8 cycles */
logerror( "%04X: unk%02x\n", m_PC-1,op ); /* NOTE: This unknown command is used in the calculator, and in a number of carts.
/* NOTE: This unknown command is used in the calculator as a compare instruction It appears to compare the contents of the register number contained in the first
at 0x493A and 0x4941, we set the flags on the 3rd byte, although its real parameter, against a literal in the second parameter.
function remains a mystery */ Example:
mov r02, 88
unk 5a 02 06 (compare contents of memory 88, to literal 06)
The calculator uses this instruction at 0x493A and 0x4941. Defender II (in Williams
Arcade Classics) uses it at 6DC9. */
ARG_iR; ARG_iR;
OP_CMP8( 0, r1 ); s2 = mem_readbyte(r2);
logerror( "%04X: unk%02x (cmp r%02X->(%02X)->%02X to %02X)\n",
m_PC-3,op,r2,s2,mem_readbyte(s2),r1 );
OP_CMP8( mem_readbyte(s2), r1 );
mycycles += 7; mycycles += 7;
break; break;
case 0x5B: /* unk5B - 6,7,11,8,7 cycles */ case 0x5B: /* unk5B - 6,7,11,8,7 cycles */

View File

@ -2,28 +2,28 @@
// copyright-holders:Wilbert Pol, Robbbert // copyright-holders:Wilbert Pol, Robbbert
/*************************************************************************** /***************************************************************************
Driver file to handle emulation of the Tiger Game.com by Driver file to handle emulation of the Tiger Game.com by Wilbert Pol.
Wilbert Pol Various improvements by Robbbert.
Todo: Todo:
- Fix cpu and system problems that prevent the games from working. - Fix cpu and system problems that prevent the games from working fully.
- RS232 port
- Sound ports 1,2,3 (DAC sound partially works)
- CPU speed can be adjusted by the games.
Game Status: Game Status:
- The DAC sound partially works, sound from ports 1,2,3 not done
- Inbuilt ROM and PDA functions all work - Inbuilt ROM and PDA functions all work
- On the screen where the cart goes into the slot there is video flicker - On the screen where the cart goes into the slot, there are vertical bands of randomness
- Due to an irritating message, the NVRAM is commented out in the machine config - Due to an irritating message, the NVRAM is commented out in the machine config
- Most of the cart games have severe video issues such as flickering and nonsense gfx - All carts appear to work except:
- Lights Out works - - Henry: crash just after "HENRY" button clicked
- Centipede works - - Lost World: freeze just after entering Stage 2 (the nest)
- Wheel of Fortune 1 & 2 are working. - - Sonic Jam: player's character can fall out of a dip in the path and die.
- Frogger works, but it is difficult to capture the female frog or the insect. - Not sure about some carts:
- Quiz Wiz works, but the end-of-round score doesn't show - - Resident Evil 2: can't fight enemies?
- Jeopardy, playable with bad gfx - - Duke Nukem: can't leave the room?
- Tiger Web Link & Internet, they look ok, obviously aren't going to connect to anything - Most carts have some flicker, but some are terrible (Monopoly, MK Trilogy, Fighters Megamix, Jeopardy)
- Williams Arcade Classics, Robotron works, the rest are no use. - Weblink and Internet are of no use as there is nothing to connect to.
- Monopoly is starting to show promise. It's playable but the video is terrible.
- The remaining carts are not functional to any useful degree.
***************************************************************************/ ***************************************************************************/