mirror of
https://github.com/wavemotion-dave/NINTV-DS.git
synced 2025-06-18 13:55:33 -04:00
Version 4.7e with fixes for save/restore state on a few games including any games with latched backtabs (Stampede, Masters of the Universe)
This commit is contained in:
parent
35e6fa69f4
commit
8a96f907c4
2
Makefile
2
Makefile
@ -14,7 +14,7 @@ include $(DEVKITARM)/ds_rules
|
||||
|
||||
export TARGET := NINTV-DS
|
||||
export TOPDIR := $(CURDIR)
|
||||
export VERSION := 4.7d
|
||||
export VERSION := 4.7e
|
||||
|
||||
ICON := -b $(CURDIR)/logo.bmp "NINTV-DS $(VERSION);wavemotion-dave;https://github.com/wavemotion-dave/NINTV-DS"
|
||||
|
||||
|
BIN
NINTV-DS.nds
BIN
NINTV-DS.nds
Binary file not shown.
@ -114,6 +114,7 @@ V4.8 : ??-????-2024 by wavemotion-dave
|
||||
* Added new keyclick enable option in Configuration (page 2) that produces the typical Intellivision keyclick when you press the 12-button keypad (on the DS lower screen).
|
||||
* Added a new level of sound quality 'Ultimate'. The default for the DSi and above is still 'High' as 'Ultimate' consumes significant CPU time but you can enable it on a per-game basis for some of the more simple games (e.g. Astrosmash, Beauty and the Beast, AD&D Tarmin, etc)
|
||||
* DS-Lite now enables Intellivoice on World Series Major League Baseball - sound quality is a bit rough on the older handheld but very playalbe.
|
||||
* Fixed save/restore state including when backtab latched is TRUE (Stampede, Masters of the Universe)
|
||||
* Other minor tweaks and cleanup as time permitted.
|
||||
|
||||
V4.7 : 19-Jan-2024 by wavemotion-dave
|
||||
|
@ -1259,6 +1259,7 @@ void AY38900::setState(AY38900State *state)
|
||||
mobs[i].setState(&state->mobs[i]);
|
||||
}
|
||||
|
||||
// Force the screen to redraw
|
||||
this->colorModeChanged = TRUE;
|
||||
this->colorStackChanged = TRUE;
|
||||
}
|
||||
|
@ -92,25 +92,20 @@ ITCM_CODE void BackTabRAM::markCleanLatched()
|
||||
// -----------------------------------------------------------------------------------
|
||||
void BackTabRAM::getState(BackTabRAMState *state)
|
||||
{
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) state->image[i] = (myConfig.bLatched ? bt_imageLatched[i] : bt_image[i]);
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) state->dirtyBytes[i] = (myConfig.bLatched ? dirtyBytes[i] : dirtyBytesLatched[i]);
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) state->image[i] = bt_image[i];
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) state->dirtyBytes[i] = dirtyBytes[i];
|
||||
|
||||
state->dirtyRAM = dirtyRAM;
|
||||
state->colorAdvanceBitsDirty = colorAdvanceBitsDirty;
|
||||
}
|
||||
|
||||
void BackTabRAM::setState(BackTabRAMState *state)
|
||||
{
|
||||
if (myConfig.bLatched)
|
||||
{
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) bt_imageLatched[i] = state->image[i];
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) dirtyBytesLatched[i] = state->dirtyBytes[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) bt_image[i] = state->image[i];
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) dirtyBytes[i] = state->dirtyBytes[i];
|
||||
}
|
||||
dirtyRAM = state->dirtyRAM;
|
||||
colorAdvanceBitsDirty = state->colorAdvanceBitsDirty;
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) bt_image[i] = bt_imageLatched[i] = state->image[i];
|
||||
for (int i=0; i<BACKTAB_SIZE; i++) dirtyBytes[i] = dirtyBytesLatched[i] = state->dirtyBytes[i];
|
||||
|
||||
// Just force the redraw...
|
||||
dirtyRAM = TRUE;
|
||||
colorAdvanceBitsDirty = TRUE;
|
||||
}
|
||||
|
||||
|
@ -59,7 +59,7 @@ void JLP::tick_one_second(void)
|
||||
UINT16 JLP::peek(UINT16 location)
|
||||
{
|
||||
if (location == 0x9FFE) {return (UINT16)random();}
|
||||
return jlp_ram[(location&readAddressMask) - this->location];
|
||||
return jlp_ram[location&0x1FFF];
|
||||
}
|
||||
|
||||
UINT32 JLP::crc16(UINT16 data, UINT16 crc)
|
||||
@ -204,9 +204,9 @@ void JLP::poke(UINT16 location, UINT16 value)
|
||||
|
||||
if ((location >= 0x8040))
|
||||
{
|
||||
jlp_ram[(location&writeAddressMask)-this->location] = value;
|
||||
jlp_ram[location & 0x1FFF] = value;
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Check for mult/div writes */
|
||||
/* $9F8(0,1): s16($9F80) x s16($9F81) -> s32($9F8F:$9F8E) */
|
||||
|
@ -203,7 +203,7 @@ void MOB::setState(MOBState *state)
|
||||
cardNumber = state->cardNumber;
|
||||
collisionRegister = state->collisionRegister;
|
||||
isGrom = state->isGrom;
|
||||
isGrom = state->isVisible;
|
||||
isVisible = state->isVisible;
|
||||
doubleWidth = state->doubleWidth;
|
||||
doubleYResolution = state->doubleYResolution;
|
||||
doubleHeight = state->doubleHeight;
|
||||
|
Loading…
Reference in New Issue
Block a user