|
PVcollib
1.5.0
A devkit for ColecoVision
|
contains the basic definitions for controlling the video hardware. More...
#include <coleco/coltypes.h>Go to the source code of this file.
Macros | |
| #define | vdp_blocknmi() { __asm__("\tpush hl\n\tld hl,#_no_nmi\n\tset 0,(hl)\n\tpop hl"); } |
| set no_nmi flag to avoid nmi | |
| #define | vdp_releasenmi() { __asm__("\tpush hl\n\tld hl,#_no_nmi\n\tbit 7,(hl)\n\tjp z,.+6\n\tcall _nmi_direct\n\tres 0,(hl)\n\tpop hl"); } |
| reset no_nmi flag to allow nmi | |
Functions | |
| void | vdp_dan2vram (void *dandata, unsigned offset) |
| Put data in VRAM with some DAN1 compressed data. More... | |
| void | vdp_disablenmi (void) |
| Disable NMI interruption. | |
| void | vdp_disablescr (void) |
| Disallows VDP to work and NMI to occur. | |
| void | vdp_disablevdp (void) |
| Disallows VDP to work (so screen is not active) | |
| void | vdp_duplicatevram (void) |
| Put 1st area of pattern vram to the 2nd and 3rd one. | |
| void | vdp_enablenmi (void) |
| Enable NMI interruption. More... | |
| void | vdp_enablescr (void) |
| Allows VDP to work and NMI to be catch. | |
| void | vdp_enablevdp (void) |
| Allows VDP to work (so screen is now active) | |
| void | vdp_fillvram (u16 offset, u8 value, u16 count) |
| Change VRAM with a specific value. More... | |
| void | vdp_getarea (void *table, u8 x, u8 y, u8 width, u8 height) |
| Get an area of chars from screen. More... | |
| u8 | vdp_getchar (u8 x, u8 y) |
| Get a single char from screen. More... | |
| void | vdp_ple2vram (void *pledata, unsigned offset) |
| Put data in VRAM with some Pletter compressed data. More... | |
| void | vdp_putarea (void *table, u8 x, u8 y, u8 width, u8 height) |
| Put an area of chars to screen. More... | |
| void | vdp_putchar (u8 x, u8 y, char value) |
| Put a single char on screen. More... | |
| void | vdp_putstring (u8 x, u8 y, char *text) |
| Put a string on screen at coordinates x,y. More... | |
| void | vdp_putvram (unsigned offset, void *data, unsigned count) |
| Fill the VRAM with some non compressed data. More... | |
| void | vdp_putvram_repeat (unsigned offset, void *table, u8 count, u8 times) |
| Repeat n times an area of chars to screen. More... | |
| void * | vdp_rle2vram (void *rledata, unsigned offset) |
| Fill the VRAM with some RLE compressed data. More... | |
| void | vdp_setcharex (u8 first, u8 count, unsigned offset, u8 flags) |
| Put some chars of default font. More... | |
| void | vdp_setdefaultchar (u8 flags) |
| Put default font. More... | |
| void | vdp_setmode1txt (void) |
| Activate mode 1 in text mode Activate Mode 1 of TMS in text mode, 16K of VRAM, sprites 16x16 1 VRAM (duplicated each for 8 lines) that can be populate CHRGEN is located at $0000, COLTAB is located at $2000 | |
| void | vdp_setmode2bmp (void) |
| Activate mode 2 in bitmap mode Activate Mode 2 of TMS in bitmap mode, 16K of VRAM, sprites 16x16 1 VRAM area (complete screen of 24 lines) that can be populate | |
| void | vdp_setmode2txt (void) |
| Activate mode 2 in text mode Activate Mode 2 of TMS in text mode, 16K of VRAM, sprites 16x16 3 VRAM areas (each for 8 lines) that can be populate | |
| void | vdp_setreg (u8 reg, u8 val) |
| Set a value to a TMS9918 register. More... | |
| void | vdp_waitvblank (u16 numtime) |
| Waits for a vertical blank interrupt a number of time. More... | |
contains the basic definitions for controlling the video hardware.
This unit provides generic features related to video management.
Here is the list of features:
| void vdp_dan2vram | ( | void * | dandata, |
| unsigned | offset | ||
| ) |
Put data in VRAM with some DAN1 compressed data.
| dandata | address of data to use |
| offset | address in VRAM of 1st data to fill |
| void vdp_enablenmi | ( | void | ) |
Enable NMI interruption.
| void vdp_fillvram | ( | u16 | offset, |
| u8 | value, | ||
| u16 | count | ||
| ) |
Change VRAM with a specific value.
| offset | address in VRAM |
| value | value to set |
| count | number of time we set value |
| void vdp_getarea | ( | void * | table, |
| u8 | x, | ||
| u8 | y, | ||
| u8 | width, | ||
| u8 | height | ||
| ) |
Get an area of chars from screen.
| table | area in ram to save chars |
| x | column of the chars |
| y | line of the chars |
| width | length of x chars to get |
| height | length of y chars to get |
| u8 vdp_getchar | ( | u8 | x, |
| u8 | y | ||
| ) |
Get a single char from screen.
| x | column of the char |
| y | line of the char |
| void vdp_ple2vram | ( | void * | pledata, |
| unsigned | offset | ||
| ) |
Put data in VRAM with some Pletter compressed data.
| pledata | address of data to use |
| offset | address in VRAM of 1st data to fill |
| void vdp_putarea | ( | void * | table, |
| u8 | x, | ||
| u8 | y, | ||
| u8 | width, | ||
| u8 | height | ||
| ) |
Put an area of chars to screen.
| table | area in ram to load chars |
| x | column of the chars |
| y | line of the chars |
| width | length of x chars to put |
| height | length of y chars to put |
| void vdp_putchar | ( | u8 | x, |
| u8 | y, | ||
| char | value | ||
| ) |
Put a single char on screen.
| x | colum to print |
| y | line to print |
| value | ascii value of char to print |
| void vdp_putstring | ( | u8 | x, |
| u8 | y, | ||
| char * | text | ||
| ) |
Put a string on screen at coordinates x,y.
| x | column x |
| y | line y |
| text | text to display |
| void vdp_putvram | ( | unsigned | offset, |
| void * | data, | ||
| unsigned | count | ||
| ) |
Fill the VRAM with some non compressed data.
Get from VRAM to a RAM pointer with some non compressed data.
| offset | address in VRAM of 1st data to fill |
| data | address of data to use |
| count | number of data |
| offset | address in VRAM of 1st data to get |
| data | address of RAM to use |
| count | number of data |
| void vdp_putvram_repeat | ( | unsigned | offset, |
| void * | table, | ||
| u8 | count, | ||
| u8 | times | ||
| ) |
Repeat n times an area of chars to screen.
| offset | address in VRAM |
| table | area in ram to load chars |
| count | number of chars to repeat |
| times | number of time we set chars |
| void * vdp_rle2vram | ( | void * | rledata, |
| unsigned | offset | ||
| ) |
Fill the VRAM with some RLE compressed data.
| rledata | address of data to use |
| offset | address in VRAM of 1st data to fill |
| void vdp_setcharex | ( | u8 | first, |
| u8 | count, | ||
| unsigned | offset, | ||
| u8 | flags | ||
| ) |
Put some chars of default font.
| first | 1st char to put |
| count | number of chars |
| offset | address location in video memory for the chararter patterns |
| flags | type of font FNTNORMAL for the normal font FNTITALIC for the italic font FNTBOLD for the bold font FNTBOLD_ITALIC fot both italic and bold font |
| void vdp_setdefaultchar | ( | u8 | flags | ) |
Put default font.
| flags | character format FNTNORMAL for the normal font FNTITALIC for the italic font FNTBOLD for the bold font FNTBOLD_ITALIC fot both italic and bold font |
| void vdp_setreg | ( | u8 | reg, |
| u8 | val | ||
| ) |
Set a value to a TMS9918 register.
| reg | register number |
| val | value to assign |
| void vdp_waitvblank | ( | u16 | numtime | ) |
Waits for a vertical blank interrupt a number of time.
| numtime | number of vblank to wait |
1.8.13