(nw) gamecom : fixed video read another way

This commit is contained in:
Robbbert 2018-11-15 22:15:07 +11:00
parent b35fbf98dd
commit e4c33b8d66
2 changed files with 3 additions and 7 deletions

View File

@ -1034,11 +1034,6 @@ case 0x3A: /* MOVW rr,@rr / MOV rr,(rr)+ / MOV rr,@ww / MOV rr,ww(rr) / MOV rr,
switch( r2 & 0xC0 ) {
case 0x00: mycycles += 11; break;
case 0x40: mycycles += 16;
// lostwrld expects reads from videoram to return 0. It is unknown if this should happen just in this case,
// or all the time, or in some other special circumstance.
if ((s2 >= 0xc000) && (s2 <= 0xdfff))
mem_writeword( r1, 0 );
break;
case 0x80: mycycles += ( ( r2 & 0x07 ) ? 18 : 14 ); break;
case 0xC0: mycycles += 16; break;
}

View File

@ -24,7 +24,8 @@ Todo:
Game Status:
- Inbuilt ROM and PDA functions all work
- Due to an irritating message, the NVRAM is commented out in the machine config
- All carts appear to work.
- All carts appear to work, from my limited testing.
-- indy500 skips some speech just before the trial race starts.
***************************************************************************/
@ -52,7 +53,7 @@ void gamecom_state::gamecom_mem_map(address_map &map)
map(0x4000, 0x5FFF).bankr("bank2"); /* External ROM/Flash. Controlled by MMU2 */
map(0x6000, 0x7FFF).bankr("bank3"); /* External ROM/Flash. Controlled by MMU3 */
map(0x8000, 0x9FFF).bankr("bank4"); /* External ROM/Flash. Controlled by MMU4 */
map(0xA000, 0xDFFF).ram().share("videoram"); /* VRAM */
map(0xA000, 0xDFFF).writeonly().share("videoram").nopr(); /* VRAM - writeonly, returns 0 on read, as expected by lostwrld */
map(0xE000, 0xFFFF).ram().share("nvram"); /* Extended I/O, Extended RAM */
}