/* * 6569.h - VIC-Emulation * * Copyright (C) 1994-1996 by Christian Bauer */ #ifndef M6569_H #define M6569_H #include // VIC-Register-Dump typedef struct { UBYTE m0x; // Sprite-Koordinaten UBYTE m0y; UBYTE m1x; UBYTE m1y; UBYTE m2x; UBYTE m2y; UBYTE m3x; UBYTE m3y; UBYTE m4x; UBYTE m4y; UBYTE m5x; UBYTE m5y; UBYTE m6x; UBYTE m6y; UBYTE m7x; UBYTE m7y; UBYTE mx8; UBYTE ctrl1; // Steuerregister UBYTE raster; UBYTE lpx; UBYTE lpy; UBYTE me; UBYTE ctrl2; UBYTE mye; UBYTE vbase; UBYTE irq_flag; UBYTE irq_mask; UBYTE mdp; UBYTE mmc; UBYTE mxe; UBYTE mm; UBYTE md; UBYTE ec; // Farbregister UBYTE b0c; UBYTE b1c; UBYTE b2c; UBYTE b3c; UBYTE mm0; UBYTE mm1; UBYTE m0c; UBYTE m1c; UBYTE m2c; UBYTE m3c; UBYTE m4c; UBYTE m5c; UBYTE m6c; UBYTE m7c; // Zusätzliche Register: UBYTE pad0; UWORD irq_raster; // IRQ-Rasterzeile UWORD vc; // Video Counter UWORD vcbase; // Video Counter Base UBYTE rc; // Row Counter UBYTE spr_dma; // 8 Flags: Sprite-DMA aktiv? UBYTE mc[8]; // MOB Data Counter BOOL idle_state; // Idle-Zustand? BOOL bad_line; // Bad-Line-Zustand? BOOL bad_line_enable; // Bad Lines erlaubt? UWORD bank_base; // Basisadresse der VIC-Bank UWORD matrix_base; // Videomatrix-Basisadresse UWORD char_base; // Zeichengenerator-Basisadresse UWORD bitmap_base; // Bitmap-Basisadresse UWORD sprite_base[8]; // Sprite-Basisadressen } VICDump; // Exportierte Funktionen extern void GetVICDump(VICDump *dump); #endif