summaryrefslogtreecommitdiff
path: root/sys/arch/amiga/dev/grf_clreg.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/amiga/dev/grf_clreg.h')
-rw-r--r--sys/arch/amiga/dev/grf_clreg.h117
1 files changed, 67 insertions, 50 deletions
diff --git a/sys/arch/amiga/dev/grf_clreg.h b/sys/arch/amiga/dev/grf_clreg.h
index a55a0c74fa6..c024cf1503f 100644
--- a/sys/arch/amiga/dev/grf_clreg.h
+++ b/sys/arch/amiga/dev/grf_clreg.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: grf_clreg.h,v 1.3 1996/05/02 06:43:45 niklas Exp $ */
-/* $NetBSD: grf_clreg.h,v 1.3 1996/04/21 21:11:13 veego Exp $ */
+/* $OpenBSD: grf_clreg.h,v 1.4 1996/05/29 10:14:59 niklas Exp $ */
+/* $NetBSD: grf_clreg.h,v 1.4 1996/05/19 21:05:23 veego Exp $ */
/*
* Copyright (c) 1995 Ezra Story
@@ -166,6 +166,7 @@ struct grfcltext_mode {
#define GCT_ID_BLT_MODE 0x30
#define GCT_ID_BLT_STAT_START 0x31
#define GCT_ID_BLT_ROP 0x32
+#define GCT_ID_RESERVED 0x33
#define GCT_ID_TRP_COL_LOW 0x34 /* transparent color */
#define GCT_ID_TRP_COL_HIGH 0x35
#define GCT_ID_TRP_MASK_LOW 0x38
@@ -246,6 +247,8 @@ struct grfcltext_mode {
#define CRT_ID_LACE_END 0x19
#define CRT_ID_LACE_CNTL 0x1A
#define CRT_ID_EXT_DISP_CNTL 0x1B
+#define CRT_ID_SYNC_ADJ_GENLOCK 0x1C
+#define CRT_ID_OVERLAY_EXT_CTRL_REG 0x1D
#define CRT_ID_GD_LATCH_RBACK 0x22
@@ -297,58 +300,72 @@ struct grfcltext_mode {
* inline functions.
*/
static inline void RegWakeup(volatile void *ba) {
- extern int cltype;
-
- switch (cltype) {
- case SPECTRUM:
- vgaw(ba, PASS_ADDRESS_W, 0x1f);
- break;
- case PICASSO:
- vgaw(ba, PASS_ADDRESS_W, 0xff);
- break;
- case PICCOLO:
- vgaw(ba, PASS_ADDRESS_W, vgar(ba, PASS_ADDRESS) | 0x10);
- break;
- }
- delay(200000);
+ extern int cltype;
+ extern int cl_sd64;
+
+ switch (cltype) {
+ case SPECTRUM:
+ vgaw(ba, PASS_ADDRESS_W, 0x1f);
+ break;
+ case PICASSO:
+ vgaw(ba, PASS_ADDRESS_W, 0xff);
+ break;
+ case PICCOLO:
+ if (cl_sd64 == 1)
+ vgaw(ba, PASS_ADDRESS_W, 0x1f);
+ else
+ vgaw(ba, PASS_ADDRESS_W, vgar(ba, PASS_ADDRESS) | 0x10);
+ break;
+ }
+ delay(200000);
}
+
static inline void RegOnpass(volatile void *ba) {
- extern int cltype;
- extern unsigned char pass_toggle;
-
- switch (cltype) {
- case SPECTRUM:
- vgaw(ba, PASS_ADDRESS_W, 0x4f);
- break;
- case PICASSO:
- vgaw(ba, PASS_ADDRESS_WP, 0x01);
- break;
- case PICCOLO:
- vgaw(ba, PASS_ADDRESS_W, vgar(ba, PASS_ADDRESS) & 0xdf);
- break;
- }
- pass_toggle = 1;
- delay(200000);
+ extern int cltype;
+ extern int cl_sd64;
+ extern unsigned char pass_toggle;
+
+ switch (cltype) {
+ case SPECTRUM:
+ vgaw(ba, PASS_ADDRESS_W, 0x4f);
+ break;
+ case PICASSO:
+ vgaw(ba, PASS_ADDRESS_WP, 0x01);
+ break;
+ case PICCOLO:
+ if (cl_sd64 == 1)
+ vgaw(ba, PASS_ADDRESS_W, 0x4f);
+ else
+ vgaw(ba, PASS_ADDRESS_W, vgar(ba, PASS_ADDRESS) & 0xdf);
+ break;
+ }
+ pass_toggle = 1;
+ delay(200000);
}
+
static inline void RegOffpass(volatile void *ba) {
- extern int cltype;
- extern unsigned char pass_toggle;
-
- switch (cltype) {
- case SPECTRUM:
- vgaw(ba, PASS_ADDRESS_W, 0x6f);
- break;
- case PICASSO:
- vgaw(ba, PASS_ADDRESS_W, 0xff);
- delay(200000);
- vgaw(ba, PASS_ADDRESS_W, 0xff);
- break;
- case PICCOLO:
- vgaw(ba, PASS_ADDRESS_W, vgar(ba, PASS_ADDRESS) | 0x20);
- break;
- }
- pass_toggle = 0;
- delay(200000);
+ extern int cltype;
+ extern int cl_sd64;
+ extern unsigned char pass_toggle;
+
+ switch (cltype) {
+ case SPECTRUM:
+ vgaw(ba, PASS_ADDRESS_W, 0x6f);
+ break;
+ case PICASSO:
+ vgaw(ba, PASS_ADDRESS_W, 0xff);
+ delay(200000);
+ vgaw(ba, PASS_ADDRESS_W, 0xff);
+ break;
+ case PICCOLO:
+ if (cl_sd64 == 1)
+ vgaw(ba, PASS_ADDRESS_W, 0x6f);
+ else
+ vgaw(ba, PASS_ADDRESS_W, vgar(ba, PASS_ADDRESS) | 0x20);
+ break;
+ }
+ pass_toggle = 0;
+ delay(200000);
}
static inline unsigned char RAttr(volatile void * ba, short idx) {