This patch improves G364 video card emulation (used in MIPS Magnum machine): - Use memory dirty tracking to not refresh whole screen each time - Use macros for debugging messages - Add support for hardware cursor - Handle Y-panning - Raise irq at each screen redraw - Support retrieving of some registers - Add load/save support The emulation has been tested in Linux 2.1 and Windows NT 3.5, in 640x480, 800x600, 1024x768 and 1280x1024 resolutions. Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6356 c046a42c-6fe2-441c-8c8c-71466251a162
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef HW_MIPS_H
 | 
						|
#define HW_MIPS_H
 | 
						|
/* Definitions for mips board emulation.  */
 | 
						|
 | 
						|
/* gt64xxx.c */
 | 
						|
PCIBus *pci_gt64120_init(qemu_irq *pic);
 | 
						|
 | 
						|
/* ds1225y.c */
 | 
						|
void *ds1225y_init(target_phys_addr_t mem_base, const char *filename);
 | 
						|
void ds1225y_set_protection(void *opaque, int protection);
 | 
						|
 | 
						|
/* g364fb.c */
 | 
						|
int g364fb_mm_init(uint8_t *vram, ram_addr_t vram_offset,
 | 
						|
                   int vram_size, target_phys_addr_t vram_base,
 | 
						|
                   target_phys_addr_t ctrl_base, int it_shift,
 | 
						|
                   qemu_irq irq);
 | 
						|
 | 
						|
/* mipsnet.c */
 | 
						|
void mipsnet_init(int base, qemu_irq irq, NICInfo *nd);
 | 
						|
 | 
						|
/* jazz_led.c */
 | 
						|
extern void jazz_led_init(target_phys_addr_t base);
 | 
						|
 | 
						|
/* mips_int.c */
 | 
						|
extern void cpu_mips_irq_init_cpu(CPUState *env);
 | 
						|
 | 
						|
/* mips_timer.c */
 | 
						|
extern void cpu_mips_clock_init(CPUState *);
 | 
						|
 | 
						|
/* rc4030.c */
 | 
						|
typedef struct rc4030DMAState *rc4030_dma;
 | 
						|
typedef void (*rc4030_dma_function)(void *dma, uint8_t *buf, int len);
 | 
						|
qemu_irq *rc4030_init(qemu_irq timer, qemu_irq jazz_bus,
 | 
						|
                      rc4030_dma **dmas,
 | 
						|
                      rc4030_dma_function *dma_read, rc4030_dma_function *dma_write);
 | 
						|
 | 
						|
#endif
 |