|
@@ -374,3 +374,89 @@ struct MATRIX
|
|
|
{
|
|
|
u_short source;
|
|
|
u_short destination;
|
|
|
+ u_char external_frequency_divider;
|
|
|
+ u_char internal_frequency_divider;
|
|
|
+};
|
|
|
+#define falcon_matrix (*(volatile struct MATRIX *)MATRIX_BASE)
|
|
|
+
|
|
|
+#define CODEC_BASE (0xffff8936)
|
|
|
+struct CODEC
|
|
|
+{
|
|
|
+ u_char tracks;
|
|
|
+ u_char input_source;
|
|
|
+#define CODEC_SOURCE_ADC 1
|
|
|
+#define CODEC_SOURCE_MATRIX 2
|
|
|
+ u_char adc_source;
|
|
|
+#define ADC_SOURCE_RIGHT_PSG 1
|
|
|
+#define ADC_SOURCE_LEFT_PSG 2
|
|
|
+ u_char gain;
|
|
|
+#define CODEC_GAIN_RIGHT 0x0f
|
|
|
+#define CODEC_GAIN_LEFT 0xf0
|
|
|
+ u_char attenuation;
|
|
|
+#define CODEC_ATTENUATION_RIGHT 0x0f
|
|
|
+#define CODEC_ATTENUATION_LEFT 0xf0
|
|
|
+ u_char unused1;
|
|
|
+ u_char status;
|
|
|
+#define CODEC_OVERFLOW_RIGHT 1
|
|
|
+#define CODEC_OVERFLOW_LEFT 2
|
|
|
+ u_char unused2, unused3, unused4, unused5;
|
|
|
+ u_char gpio_directions;
|
|
|
+#define CODEC_GPIO_IN 0
|
|
|
+#define CODEC_GPIO_OUT 1
|
|
|
+ u_char unused6;
|
|
|
+ u_char gpio_data;
|
|
|
+};
|
|
|
+#define falcon_codec (*(volatile struct CODEC *)CODEC_BASE)
|
|
|
+
|
|
|
+/*
|
|
|
+** Falcon Blitter
|
|
|
+*/
|
|
|
+
|
|
|
+#define BLT_BAS (0xffff8a00)
|
|
|
+
|
|
|
+struct BLITTER
|
|
|
+ {
|
|
|
+ u_short halftone[16];
|
|
|
+ u_short src_x_inc;
|
|
|
+ u_short src_y_inc;
|
|
|
+ u_long src_address;
|
|
|
+ u_short endmask1;
|
|
|
+ u_short endmask2;
|
|
|
+ u_short endmask3;
|
|
|
+ u_short dst_x_inc;
|
|
|
+ u_short dst_y_inc;
|
|
|
+ u_long dst_address;
|
|
|
+ u_short wd_per_line;
|
|
|
+ u_short ln_per_bb;
|
|
|
+ u_short hlf_op_reg;
|
|
|
+ u_short log_op_reg;
|
|
|
+ u_short lin_nm_reg;
|
|
|
+ u_short skew_reg;
|
|
|
+ };
|
|
|
+# define blitter ((*(volatile struct BLITTER *)BLT_BAS))
|
|
|
+
|
|
|
+
|
|
|
+/*
|
|
|
+** SCC Z8530
|
|
|
+ */
|
|
|
+
|
|
|
+#define SCC_BAS (0xffff8c81)
|
|
|
+struct SCC
|
|
|
+ {
|
|
|
+ u_char cha_a_ctrl;
|
|
|
+ u_char char_dummy1;
|
|
|
+ u_char cha_a_data;
|
|
|
+ u_char char_dummy2;
|
|
|
+ u_char cha_b_ctrl;
|
|
|
+ u_char char_dummy3;
|
|
|
+ u_char cha_b_data;
|
|
|
+ };
|
|
|
+# define atari_scc ((*(volatile struct SCC*)SCC_BAS))
|
|
|
+
|
|
|
+/* The ESCC (Z85230) in an Atari ST. The channels are reversed! */
|
|
|
+# define st_escc ((*(volatile struct SCC*)0xfffffa31))
|
|
|
+# define st_escc_dsr ((*(volatile char *)0xfffffa39))
|
|
|
+
|
|
|
+/* TT SCC DMA Controller (same chip as SCSI DMA) */
|
|
|
+
|
|
|
+#define TT_SCC_DMA_BAS (0xffff8c00)
|