|
@@ -52,3 +52,160 @@ extern unsigned long amiga_chipset;
|
|
#define CS_AGA (3)
|
|
#define CS_AGA (3)
|
|
|
|
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * Miscellaneous
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+extern unsigned long amiga_eclock; /* 700 kHz E Peripheral Clock */
|
|
|
|
+extern unsigned long amiga_colorclock; /* 3.5 MHz Color Clock */
|
|
|
|
+extern unsigned long amiga_chip_size; /* Chip RAM Size (bytes) */
|
|
|
|
+extern unsigned char amiga_vblank; /* VBLANK Frequency */
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#define AMIGAHW_DECLARE(name) unsigned name : 1
|
|
|
|
+#define AMIGAHW_SET(name) (amiga_hw_present.name = 1)
|
|
|
|
+#define AMIGAHW_PRESENT(name) (amiga_hw_present.name)
|
|
|
|
+
|
|
|
|
+struct amiga_hw_present {
|
|
|
|
+ /* video hardware */
|
|
|
|
+ AMIGAHW_DECLARE(AMI_VIDEO); /* Amiga Video */
|
|
|
|
+ AMIGAHW_DECLARE(AMI_BLITTER); /* Amiga Blitter */
|
|
|
|
+ AMIGAHW_DECLARE(AMBER_FF); /* Amber Flicker Fixer */
|
|
|
|
+ /* sound hardware */
|
|
|
|
+ AMIGAHW_DECLARE(AMI_AUDIO); /* Amiga Audio */
|
|
|
|
+ /* disk storage interfaces */
|
|
|
|
+ AMIGAHW_DECLARE(AMI_FLOPPY); /* Amiga Floppy */
|
|
|
|
+ AMIGAHW_DECLARE(A3000_SCSI); /* SCSI (wd33c93, A3000 alike) */
|
|
|
|
+ AMIGAHW_DECLARE(A4000_SCSI); /* SCSI (ncr53c710, A4000T alike) */
|
|
|
|
+ AMIGAHW_DECLARE(A1200_IDE); /* IDE (A1200 alike) */
|
|
|
|
+ AMIGAHW_DECLARE(A4000_IDE); /* IDE (A4000 alike) */
|
|
|
|
+ AMIGAHW_DECLARE(CD_ROM); /* CD ROM drive */
|
|
|
|
+ /* other I/O hardware */
|
|
|
|
+ AMIGAHW_DECLARE(AMI_KEYBOARD); /* Amiga Keyboard */
|
|
|
|
+ AMIGAHW_DECLARE(AMI_MOUSE); /* Amiga Mouse */
|
|
|
|
+ AMIGAHW_DECLARE(AMI_SERIAL); /* Amiga Serial */
|
|
|
|
+ AMIGAHW_DECLARE(AMI_PARALLEL); /* Amiga Parallel */
|
|
|
|
+ /* real time clocks */
|
|
|
|
+ AMIGAHW_DECLARE(A2000_CLK); /* Hardware Clock (A2000 alike) */
|
|
|
|
+ AMIGAHW_DECLARE(A3000_CLK); /* Hardware Clock (A3000 alike) */
|
|
|
|
+ /* supporting hardware */
|
|
|
|
+ AMIGAHW_DECLARE(CHIP_RAM); /* Chip RAM */
|
|
|
|
+ AMIGAHW_DECLARE(PAULA); /* Paula (8364) */
|
|
|
|
+ AMIGAHW_DECLARE(DENISE); /* Denise (8362) */
|
|
|
|
+ AMIGAHW_DECLARE(DENISE_HR); /* Denise (8373) */
|
|
|
|
+ AMIGAHW_DECLARE(LISA); /* Lisa (8375) */
|
|
|
|
+ AMIGAHW_DECLARE(AGNUS_PAL); /* Normal/Fat PAL Agnus (8367/8371) */
|
|
|
|
+ AMIGAHW_DECLARE(AGNUS_NTSC); /* Normal/Fat NTSC Agnus (8361/8370) */
|
|
|
|
+ AMIGAHW_DECLARE(AGNUS_HR_PAL); /* Fat Hires PAL Agnus (8372) */
|
|
|
|
+ AMIGAHW_DECLARE(AGNUS_HR_NTSC); /* Fat Hires NTSC Agnus (8372) */
|
|
|
|
+ AMIGAHW_DECLARE(ALICE_PAL); /* PAL Alice (8374) */
|
|
|
|
+ AMIGAHW_DECLARE(ALICE_NTSC); /* NTSC Alice (8374) */
|
|
|
|
+ AMIGAHW_DECLARE(MAGIC_REKICK); /* A3000 Magic Hard Rekick */
|
|
|
|
+ AMIGAHW_DECLARE(PCMCIA); /* PCMCIA Slot */
|
|
|
|
+ AMIGAHW_DECLARE(ZORRO); /* Zorro AutoConfig */
|
|
|
|
+ AMIGAHW_DECLARE(ZORRO3); /* Zorro III */
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+extern struct amiga_hw_present amiga_hw_present;
|
|
|
|
+
|
|
|
|
+struct CUSTOM {
|
|
|
|
+ unsigned short bltddat;
|
|
|
|
+ unsigned short dmaconr;
|
|
|
|
+ unsigned short vposr;
|
|
|
|
+ unsigned short vhposr;
|
|
|
|
+ unsigned short dskdatr;
|
|
|
|
+ unsigned short joy0dat;
|
|
|
|
+ unsigned short joy1dat;
|
|
|
|
+ unsigned short clxdat;
|
|
|
|
+ unsigned short adkconr;
|
|
|
|
+ unsigned short pot0dat;
|
|
|
|
+ unsigned short pot1dat;
|
|
|
|
+ unsigned short potgor;
|
|
|
|
+ unsigned short serdatr;
|
|
|
|
+ unsigned short dskbytr;
|
|
|
|
+ unsigned short intenar;
|
|
|
|
+ unsigned short intreqr;
|
|
|
|
+ unsigned char *dskptr;
|
|
|
|
+ unsigned short dsklen;
|
|
|
|
+ unsigned short dskdat;
|
|
|
|
+ unsigned short refptr;
|
|
|
|
+ unsigned short vposw;
|
|
|
|
+ unsigned short vhposw;
|
|
|
|
+ unsigned short copcon;
|
|
|
|
+ unsigned short serdat;
|
|
|
|
+ unsigned short serper;
|
|
|
|
+ unsigned short potgo;
|
|
|
|
+ unsigned short joytest;
|
|
|
|
+ unsigned short strequ;
|
|
|
|
+ unsigned short strvbl;
|
|
|
|
+ unsigned short strhor;
|
|
|
|
+ unsigned short strlong;
|
|
|
|
+ unsigned short bltcon0;
|
|
|
|
+ unsigned short bltcon1;
|
|
|
|
+ unsigned short bltafwm;
|
|
|
|
+ unsigned short bltalwm;
|
|
|
|
+ unsigned char *bltcpt;
|
|
|
|
+ unsigned char *bltbpt;
|
|
|
|
+ unsigned char *bltapt;
|
|
|
|
+ unsigned char *bltdpt;
|
|
|
|
+ unsigned short bltsize;
|
|
|
|
+ unsigned char pad2d;
|
|
|
|
+ unsigned char bltcon0l;
|
|
|
|
+ unsigned short bltsizv;
|
|
|
|
+ unsigned short bltsizh;
|
|
|
|
+ unsigned short bltcmod;
|
|
|
|
+ unsigned short bltbmod;
|
|
|
|
+ unsigned short bltamod;
|
|
|
|
+ unsigned short bltdmod;
|
|
|
|
+ unsigned short spare2[4];
|
|
|
|
+ unsigned short bltcdat;
|
|
|
|
+ unsigned short bltbdat;
|
|
|
|
+ unsigned short bltadat;
|
|
|
|
+ unsigned short spare3[3];
|
|
|
|
+ unsigned short deniseid;
|
|
|
|
+ unsigned short dsksync;
|
|
|
|
+ unsigned short *cop1lc;
|
|
|
|
+ unsigned short *cop2lc;
|
|
|
|
+ unsigned short copjmp1;
|
|
|
|
+ unsigned short copjmp2;
|
|
|
|
+ unsigned short copins;
|
|
|
|
+ unsigned short diwstrt;
|
|
|
|
+ unsigned short diwstop;
|
|
|
|
+ unsigned short ddfstrt;
|
|
|
|
+ unsigned short ddfstop;
|
|
|
|
+ unsigned short dmacon;
|
|
|
|
+ unsigned short clxcon;
|
|
|
|
+ unsigned short intena;
|
|
|
|
+ unsigned short intreq;
|
|
|
|
+ unsigned short adkcon;
|
|
|
|
+ struct {
|
|
|
|
+ unsigned short *audlc;
|
|
|
|
+ unsigned short audlen;
|
|
|
|
+ unsigned short audper;
|
|
|
|
+ unsigned short audvol;
|
|
|
|
+ unsigned short auddat;
|
|
|
|
+ unsigned short audspare[2];
|
|
|
|
+ } aud[4];
|
|
|
|
+ unsigned char *bplpt[8];
|
|
|
|
+ unsigned short bplcon0;
|
|
|
|
+ unsigned short bplcon1;
|
|
|
|
+ unsigned short bplcon2;
|
|
|
|
+ unsigned short bplcon3;
|
|
|
|
+ unsigned short bpl1mod;
|
|
|
|
+ unsigned short bpl2mod;
|
|
|
|
+ unsigned short bplcon4;
|
|
|
|
+ unsigned short clxcon2;
|
|
|
|
+ unsigned short bpldat[8];
|
|
|
|
+ unsigned char *sprpt[8];
|
|
|
|
+ struct {
|
|
|
|
+ unsigned short pos;
|
|
|
|
+ unsigned short ctl;
|
|
|
|
+ unsigned short dataa;
|
|
|
|
+ unsigned short datab;
|
|
|
|
+ } spr[8];
|
|
|
|
+ unsigned short color[32];
|
|
|
|
+ unsigned short htotal;
|
|
|
|
+ unsigned short hsstop;
|
|
|
|
+ unsigned short hbstrt;
|
|
|
|
+ unsigned short hbstop;
|
|
|
|
+ unsigned short vtotal;
|