analog/v2-analog-rev1/vga/vgaout.h
David Kuder 0835003caa Build 0159
Progress on PCPI mode bug fixes. PCPI mode is now working again, but the config interface is still broken enough to prevent the use of the config utility while in this mode.. Sending the FORMAT command from the monitor rom returns the card to defaults.
Replace n with the slot number the card is installed in:

]CALL -151
*CnF0:46 4F 52 4D 41 54 00 00

Correction of mousetext / inverse / flashing handling on IIe
see https://github.com/V2RetroComputing/analog/issues/3

Monochrome mode & color palettes are now implemented.
$C0n1: Monochrome mode & palette
  $80: B&W
  $90: Inverse
  $A0: Amber
  $B0: Inverse Amber
  $C0: Green
  $D0: Inverse Green
  $E0: Commodore 64 Theme
  $F0: Use IIgs palette
$C0n2: Mirror of IIgs TBCOLOR register
$C0n3: Mirror of IIgs BORDER register
2023-03-02 11:09:48 -05:00

40 lines
883 B
C

#pragma once
#include <stdint.h>
#define VGA_WIDTH 640
#define VGA_HEIGHT 480
#define THEN_WAIT_VSYNC (2 << 9)
#define THEN_WAIT_HSYNC (3 << 9)
#define THEN_EXTEND_7 (4 << 9)
#define THEN_EXTEND_6 (5 << 9)
#define THEN_EXTEND_5 (6 << 9)
#define THEN_EXTEND_4 (7 << 9)
#define THEN_EXTEND_3 (8 << 9)
#define THEN_EXTEND_2 (9 << 9)
#define THEN_EXTEND_1 (10 << 9)
struct vga_scanline {
// number of 32-bit words in the data array
uint_fast16_t length;
// number of times to repeat the scanline
uint_fast16_t repeat_count;
volatile uint_fast8_t _flags;
uint32_t _sync;
uint32_t data[(VGA_WIDTH/2)+8];
};
void vga_prepare_frame();
struct vga_scanline *vga_prepare_scanline();
void vga_submit_scanline(struct vga_scanline *scanline);
void vga_stop();
void vga_dpms_sleep();
void vga_dpms_wake();