mirror of https://github.com/xemu-project/xemu.git
nv2a: Simulate PCRTC_RASTER register
This commit is contained in:
parent
23096561a3
commit
0433c5e6bc
|
@ -319,6 +319,8 @@ static void nv2a_vga_gfx_update(void *opaque)
|
||||||
|
|
||||||
NV2AState *d = container_of(vga, NV2AState, vga);
|
NV2AState *d = container_of(vga, NV2AState, vga);
|
||||||
d->pcrtc.pending_interrupts |= NV_PCRTC_INTR_0_VBLANK;
|
d->pcrtc.pending_interrupts |= NV_PCRTC_INTR_0_VBLANK;
|
||||||
|
d->pcrtc.raster = 0;
|
||||||
|
|
||||||
nv2a_update_irq(d);
|
nv2a_update_irq(d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -398,6 +398,7 @@ typedef struct NV2AState {
|
||||||
uint32_t pending_interrupts;
|
uint32_t pending_interrupts;
|
||||||
uint32_t enabled_interrupts;
|
uint32_t enabled_interrupts;
|
||||||
hwaddr start;
|
hwaddr start;
|
||||||
|
uint32_t raster;
|
||||||
} pcrtc;
|
} pcrtc;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
|
|
@ -603,6 +603,7 @@
|
||||||
# define NV_PCRTC_INTR_EN_0_VBLANK (1 << 0)
|
# define NV_PCRTC_INTR_EN_0_VBLANK (1 << 0)
|
||||||
#define NV_PCRTC_START 0x00000800
|
#define NV_PCRTC_START 0x00000800
|
||||||
#define NV_PCRTC_CONFIG 0x00000804
|
#define NV_PCRTC_CONFIG 0x00000804
|
||||||
|
#define NV_PCRTC_RASTER 0x00000808
|
||||||
|
|
||||||
|
|
||||||
#define NV_PVIDEO_INTR 0x00000100
|
#define NV_PVIDEO_INTR 0x00000100
|
||||||
|
|
|
@ -36,6 +36,9 @@ uint64_t pcrtc_read(void *opaque, hwaddr addr, unsigned int size)
|
||||||
case NV_PCRTC_START:
|
case NV_PCRTC_START:
|
||||||
r = d->pcrtc.start;
|
r = d->pcrtc.start;
|
||||||
break;
|
break;
|
||||||
|
case NV_PCRTC_RASTER:
|
||||||
|
r = d->pcrtc.raster++;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue