next-cube.c: move static led variable to NeXTPC
The state of the led is stored in the SCR2 register which is part of the NeXTPC device. Note that this is a migration break for the NeXTPC device, but as nothing will currently boot then we simply bump the migration version for now. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Thomas Huth <huth@tuxfamily.org> Message-ID: <20231220131641.592826-7-mark.cave-ayland@ilande.co.uk> Signed-off-by: Thomas Huth <huth@tuxfamily.org>
This commit is contained in:
parent
c0dedcf4c1
commit
8220baa0cf
@ -92,6 +92,7 @@ struct NeXTPC {
|
|||||||
uint32_t scr2;
|
uint32_t scr2;
|
||||||
uint32_t int_mask;
|
uint32_t int_mask;
|
||||||
uint32_t int_status;
|
uint32_t int_status;
|
||||||
|
uint32_t led;
|
||||||
uint8_t scsi_csr_1;
|
uint8_t scsi_csr_1;
|
||||||
uint8_t scsi_csr_2;
|
uint8_t scsi_csr_2;
|
||||||
|
|
||||||
@ -123,7 +124,6 @@ static const uint8_t rtc_ram2[32] = {
|
|||||||
|
|
||||||
static void nextscr2_write(NeXTPC *s, uint32_t val, int size)
|
static void nextscr2_write(NeXTPC *s, uint32_t val, int size)
|
||||||
{
|
{
|
||||||
static int led;
|
|
||||||
static int phase;
|
static int phase;
|
||||||
static uint8_t old_scr2;
|
static uint8_t old_scr2;
|
||||||
uint8_t scr2_2;
|
uint8_t scr2_2;
|
||||||
@ -137,10 +137,10 @@ static void nextscr2_write(NeXTPC *s, uint32_t val, int size)
|
|||||||
|
|
||||||
if (val & 0x1) {
|
if (val & 0x1) {
|
||||||
DPRINTF("fault!\n");
|
DPRINTF("fault!\n");
|
||||||
led++;
|
s->led++;
|
||||||
if (led == 10) {
|
if (s->led == 10) {
|
||||||
DPRINTF("LED flashing, possible fault!\n");
|
DPRINTF("LED flashing, possible fault!\n");
|
||||||
led = 0;
|
s->led = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -926,13 +926,14 @@ static const VMStateDescription next_rtc_vmstate = {
|
|||||||
|
|
||||||
static const VMStateDescription next_pc_vmstate = {
|
static const VMStateDescription next_pc_vmstate = {
|
||||||
.name = "next-pc",
|
.name = "next-pc",
|
||||||
.version_id = 1,
|
.version_id = 2,
|
||||||
.minimum_version_id = 1,
|
.minimum_version_id = 2,
|
||||||
.fields = (VMStateField[]) {
|
.fields = (VMStateField[]) {
|
||||||
VMSTATE_UINT32(scr1, NeXTPC),
|
VMSTATE_UINT32(scr1, NeXTPC),
|
||||||
VMSTATE_UINT32(scr2, NeXTPC),
|
VMSTATE_UINT32(scr2, NeXTPC),
|
||||||
VMSTATE_UINT32(int_mask, NeXTPC),
|
VMSTATE_UINT32(int_mask, NeXTPC),
|
||||||
VMSTATE_UINT32(int_status, NeXTPC),
|
VMSTATE_UINT32(int_status, NeXTPC),
|
||||||
|
VMSTATE_UINT32(led, NeXTPC),
|
||||||
VMSTATE_UINT8(scsi_csr_1, NeXTPC),
|
VMSTATE_UINT8(scsi_csr_1, NeXTPC),
|
||||||
VMSTATE_UINT8(scsi_csr_2, NeXTPC),
|
VMSTATE_UINT8(scsi_csr_2, NeXTPC),
|
||||||
VMSTATE_STRUCT(rtc, NeXTPC, 0, next_rtc_vmstate, NextRtc),
|
VMSTATE_STRUCT(rtc, NeXTPC, 0, next_rtc_vmstate, NextRtc),
|
||||||
|
Loading…
Reference in New Issue
Block a user