analog/v2-analog-rev1/vga/render.h
David Kuder f7d4779880 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:

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

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

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:05:44 -05:00

62 lines
1.5 KiB
C

#pragma once
#include <stdint.h>
// Uncomment to enable test patter generator
#define RENDER_TEST_PATTERN
extern uint16_t lores_palette[16];
extern uint16_t text_fore, text_back, text_border;
extern uint8_t status_line[81];
extern void update_status_left(const char *str);
extern void update_status_right(const char *str);
extern void render_init();
extern void render_loop();
extern void render_testpattern();
extern void render_test_init();
extern void render_about_init();
extern void render_test_sleep();
extern void update_text_flasher();
extern void render_text();
extern void render_text40_line(bool p2, unsigned int line);
extern void render_text80_line(bool p2, unsigned int line);
extern void render_status_line();
extern void render_terminal();
extern void render_terminal_line(unsigned int line);
extern void render_border(uint count);
extern void render_lores();
extern void render_mixed_lores();
extern void render_hires();
extern void render_mixed_hires();
extern void render_dhgr();
extern void render_mixed_dhgr();
extern void render_dgr();
extern void render_mixed_dgr();
extern void render_shr();
extern volatile uint_fast32_t text_flasher_mask;
extern void flash_dowork();
extern void vga_init();
extern void vga_deinit();
#define _RGB333(r, g, b) ( \
(((((uint)(r) * 256 / 36) + 128) / 256) << 6) | \
(((((uint)(g) * 256 / 36) + 128) / 256) << 3) | \
((((uint)(b) * 256 / 36) + 128) / 256) \
)