source: buchla-68k/include/vsdd.h@ 4b63bf3

Last change on this file since 4b63bf3 was 8c8b4e5, checked in by Thomas Lopatic <thomas@…>, 7 years ago

More volatile hardware accesses.

  • Property mode set to 100644
File size: 2.1 KB
RevLine 
[f40a309]1/*
2 =============================================================================
3 vsdd.h -- header for Matra-Harris 82716 VSDD video display functions
4 Version 10 -- 1987-05-27 -- D.N. Lynx Crowe
5 (c) Copyright 1987 -- D.N. Lynx Crowe
6 =============================================================================
7*/
8
[f7428b1]9#pragma once
[5fa506d]10
[f7428b1]11#include "stdint.h"
12
13#define VSDD ((uint16_t *)0x200000)
[f40a309]14
[09d1345]15#define V_CHITE 12u /* Character height */
[f40a309]16
17/* object descriptor flags */
18
[09d1345]19#define V_CBS 0x0800u /* 0 = Bit Map, 1 = Character */
20#define V_RES0 0x0000u /* Resolution 0: char 16, bit - */
21#define V_RES1 0x0200u /* Resolution 1: char 6, bit - */
22#define V_RES2 0x0400u /* Resolution 2: char 8, bit 2 */
23#define V_RES3 0x0600u /* Resolution 3: char 12, bit 4 */
24#define V_CRS 0x0100u /* Conceal/Reveal Select */
25
26#define V_PSE 0x0080u /* Proportional space enable */
27#define V_FAD 0x0040u /* Full attributes select */
28#define V_OBL 0x0020u /* Object blink */
29#define V_BLA 0x0010u /* Object blank */
30
31#define V_HCR 0x0008u /* High color resolution */
32#define V_TDE 0x0004u /* Transparency detect enable */
33#define V_DCS0 0x0000u /* Default color select 0 */
34#define V_DCS1 0x0001u /* Default color select 1 */
35#define V_DCS2 0x0002u /* Default color select 2 */
36#define V_DCS3 0x0003u /* Default color select 3 */
[f40a309]37
38/* Preset flags for bitmap and character objects */
39
[09d1345]40#define V_BTYPE 0u
[f40a309]41#define V_CTYPE (V_CBS | V_RES2 | ((V_CHITE - 1) << 12))
42
43/* character attribute flags */
44
[09d1345]45#define C_ALTCS 0x8000u
46#define C_TFGND 0x4000u
47#define C_TBGND 0x2000u
48#define C_WIDE 0x1000u
[f40a309]49
[09d1345]50#define C_MASK 0x0800u
51#define C_INVRT 0x0400u
52#define C_BLINK 0x0200u
53#define C_ULINE 0x0100u
[f40a309]54
55struct octent { /* Object control table entry */
56
[6a37d5b]57 int16_t ysize, /* Height of object in pixels */
[f40a309]58 xsize; /* Width of object in pixels */
59
[7258c6a]60 int16_t objx, /* Object x location */
[f40a309]61 objy; /* Object y location */
62
[8c8b4e5]63 volatile uint16_t *obase; /* Base of object data */
[f40a309]64
[7258c6a]65 int8_t opri, /* Current object priority */
[f40a309]66 obank; /* Object bank 0..3 */
67
[7258c6a]68 uint16_t odtw0, /* Object descriptor table word 0 */
[f40a309]69 odtw1; /* Object descriptor table word 1 */
70};
Note: See TracBrowser for help on using the repository browser.