sparclite: correct wssr[0] reset state

This commit is contained in:
hap 2021-12-06 17:05:46 +01:00
parent 62b1247fa3
commit 4bb096d02a
3 changed files with 7 additions and 4 deletions

View File

@ -66,6 +66,8 @@ void saitekosa_sparc_device::device_reset()
set_ram_mask(ioport("RAM")->read() ? 22 : 20);
m_installed = true;
}
host_io_w(0, 0x1c00);
}

View File

@ -17,8 +17,6 @@
// - Extended-precision FPU support
// - Coprocessor support
// - Finish SPARClite peripherals
// - SPARClite m_wssr[0] should be 0x7ff40 at reset (32 wait cycles for CS0),
// but that is problematic for Saitek Renaissance + Sparc module
//
//================================================================
@ -675,9 +673,11 @@ void mb86930_device::device_reset()
m_ssctrl = 0x08;
m_spmr = 0;
m_spmr_mask = ~0ULL;
std::fill_n(&m_wssr[0], 3, 0);
m_last_masked_addr = 0ULL;
std::fill_n(&m_wssr[0], 3, 0);
m_wssr[0] = 0x1ffd << 6;
m_arsr[0] = (9 << 23);
m_amr[0] = (0x1f << 1);

View File

@ -23,7 +23,8 @@ so a chessboard display + 7seg info. It's on a small drawer that can be
pushed in to hide the chessboard display.
TODO:
- fart noise at boot if maestroa or sparc module is inserted
- fart noise at boot if maestroa module is inserted
- weird beep at boot if sparc module is inserted (related to above?)
- make it a subdriver of saitek_leonardo.cpp? or too many differences
- same TODO list as saitek_leonardo.cpp