naomi: fix reboot. clean up
fix reboot (and exiting service menu) by disabling legacy dimm board emulation clean up. typo in var name
This commit is contained in:
parent
48efdac9b4
commit
7d33816d25
|
@ -14,8 +14,6 @@
|
|||
#include "naomi_cart.h"
|
||||
#include "naomi_regs.h"
|
||||
|
||||
u32 naomi_updates;
|
||||
|
||||
//#define NAOMI_COMM
|
||||
|
||||
static const u32 BoardID=0x980055AA;
|
||||
|
@ -372,7 +370,6 @@ u32 reg_dimm_parameterl;
|
|||
u32 reg_dimm_parameterh;
|
||||
u32 reg_dimm_status = 0x11;
|
||||
|
||||
bool NaomiDataRead = false;
|
||||
static bool aw_ram_test_skipped = false;
|
||||
|
||||
void naomi_process(u32 command, u32 offsetl, u32 parameterl, u32 parameterh)
|
||||
|
@ -428,7 +425,6 @@ void Naomi_DmaStart(u32 addr, u32 data)
|
|||
return;
|
||||
}
|
||||
|
||||
NaomiDataRead = true;
|
||||
SB_GDST|=data&1;
|
||||
|
||||
if (SB_GDST==1)
|
||||
|
@ -544,7 +540,6 @@ void naomi_reg_Reset(bool hard)
|
|||
SB_GDST = 0;
|
||||
SB_GDEN = 0;
|
||||
|
||||
NaomiDataRead = false;
|
||||
aw_ram_test_skipped = false;
|
||||
GSerialBuffer = 0;
|
||||
BSerialBuffer = 0;
|
||||
|
|
|
@ -23,6 +23,3 @@ extern u32 reg_dimm_offsetl;
|
|||
extern u32 reg_dimm_parameterl;
|
||||
extern u32 reg_dimm_parameterh;
|
||||
extern u32 reg_dimm_status;
|
||||
|
||||
extern bool NaomiDataRead;
|
||||
extern u32 naomi_updates;
|
||||
|
|
|
@ -703,7 +703,7 @@ u32 NaomiCartridge::ReadMem(u32 address, u32 size)
|
|||
{
|
||||
case 0x3c: // 5f703c: DIMM COMMAND
|
||||
DEBUG_LOG(NAOMI, "DIMM COMMAND read<%d>", size);
|
||||
return reg_dimm_command | (NaomiDataRead ? 0 : -1); //pretend the board isn't there for the bios
|
||||
return 0xffff; //reg_dimm_command
|
||||
case 0x40: // 5f7040: DIMM OFFSETL
|
||||
DEBUG_LOG(NAOMI, "DIMM OFFSETL read<%d>", size);
|
||||
return reg_dimm_offsetl;
|
||||
|
@ -789,11 +789,11 @@ u32 NaomiCartridge::ReadMem(u32 address, u32 size)
|
|||
|
||||
case NAOMI_COMM2_STATUS0_addr & 255:
|
||||
DEBUG_LOG(NAOMI, "NAOMI_COMM2_STATUS0 read");
|
||||
return comm_offset_status0;
|
||||
return comm_status0;
|
||||
|
||||
case NAOMI_COMM2_STATUS1_addr & 255:
|
||||
DEBUG_LOG(NAOMI, "NAOMI_COMM2_STATUS1 read");
|
||||
return comm_offset_status1;
|
||||
return comm_status1;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
@ -836,7 +836,6 @@ void NaomiCartridge::WriteMem(u32 address, u32 data, u32 size)
|
|||
if (data&0x100)
|
||||
{
|
||||
asic_CancelInterrupt(holly_EXP_PCI);
|
||||
naomi_updates=100;
|
||||
}
|
||||
else if ((data&1)==0)
|
||||
{
|
||||
|
@ -936,13 +935,13 @@ void NaomiCartridge::WriteMem(u32 address, u32 data, u32 size)
|
|||
return;
|
||||
|
||||
case NAOMI_COMM2_STATUS0_addr & 255:
|
||||
comm_offset_status0 = (u16)data;
|
||||
DEBUG_LOG(NAOMI, "NAOMI_COMM2_STATUS0 set to %x", comm_offset_status0);
|
||||
comm_status0 = (u16)data;
|
||||
DEBUG_LOG(NAOMI, "NAOMI_COMM2_STATUS0 set to %x", comm_status0);
|
||||
return;
|
||||
|
||||
case NAOMI_COMM2_STATUS1_addr & 255:
|
||||
comm_offset_status1 = (u16)data;
|
||||
DEBUG_LOG(NAOMI, "NAOMI_COMM2_STATUS1 set to %x", comm_offset_status1);
|
||||
comm_status1 = (u16)data;
|
||||
DEBUG_LOG(NAOMI, "NAOMI_COMM2_STATUS1 set to %x", comm_status1);
|
||||
return;
|
||||
|
||||
default: break;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#ifndef NAOMI_CART_H
|
||||
#define NAOMI_CART_H
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include "types.h"
|
||||
|
@ -55,8 +54,8 @@ protected:
|
|||
// Naomi 840-0001E communication board
|
||||
u16 comm_ctrl = 0xC000;
|
||||
u16 comm_offset = 0;
|
||||
u16 comm_offset_status0 = 0;
|
||||
u16 comm_offset_status1 = 0;
|
||||
u16 comm_status0 = 0;
|
||||
u16 comm_status1 = 0;
|
||||
u16 m68k_ram[128 * 1024 / sizeof(u16)];
|
||||
u16 comm_ram[64 * 1024 / sizeof(u16)];
|
||||
};
|
||||
|
@ -125,5 +124,3 @@ struct InputDescriptors
|
|||
};
|
||||
|
||||
extern InputDescriptors *NaomiGameInputs;
|
||||
|
||||
#endif //NAOMI_CART_H
|
||||
|
|
|
@ -240,7 +240,6 @@ extern u32 reg_dimm_offsetl;
|
|||
extern u32 reg_dimm_parameterl;
|
||||
extern u32 reg_dimm_parameterh;
|
||||
extern u32 reg_dimm_status;
|
||||
extern bool NaomiDataRead;
|
||||
|
||||
bool rc_serialize(void *src, unsigned int src_size, void **dest, unsigned int *total_size)
|
||||
{
|
||||
|
@ -538,7 +537,7 @@ bool dc_serialize(void **data, unsigned int *total_size)
|
|||
REICAST_S(reg_dimm_parameterl);
|
||||
REICAST_S(reg_dimm_parameterh);
|
||||
REICAST_S(reg_dimm_status);
|
||||
REICAST_S(NaomiDataRead);
|
||||
REICAST_SKIP(1); // NaomiDataRead
|
||||
|
||||
REICAST_S(settings.dreamcast.broadcast);
|
||||
REICAST_S(settings.dreamcast.cable);
|
||||
|
@ -804,7 +803,7 @@ static bool dc_unserialize_libretro(void **data, unsigned int *total_size)
|
|||
REICAST_US(reg_dimm_parameterl);
|
||||
REICAST_US(reg_dimm_parameterh);
|
||||
REICAST_US(reg_dimm_status);
|
||||
REICAST_US(NaomiDataRead);
|
||||
REICAST_SKIP(1); // NaomiDataRead
|
||||
|
||||
REICAST_US(settings.dreamcast.broadcast);
|
||||
REICAST_US(settings.dreamcast.cable);
|
||||
|
@ -1145,7 +1144,7 @@ bool dc_unserialize(void **data, unsigned int *total_size)
|
|||
REICAST_US(reg_dimm_parameterl);
|
||||
REICAST_US(reg_dimm_parameterh);
|
||||
REICAST_US(reg_dimm_status);
|
||||
REICAST_US(NaomiDataRead);
|
||||
REICAST_SKIP(1); // NaomiDataRead
|
||||
|
||||
if (version < V5)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue