X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Flynx.h;h=e9c7029940237ee15b062e0f7457c60d1c27fad1;hb=aa7f7f107a36374f62647bf729b535f182ca3fef;hp=3708b41baae05518501a4fb23e8bb2d7a98a5fc7;hpb=36cf23680ce0318a97acf9d0c1635d37b89727f8;p=cc65 diff --git a/include/lynx.h b/include/lynx.h index 3708b41ba..e9c702994 100644 --- a/include/lynx.h +++ b/include/lynx.h @@ -46,40 +46,101 @@ /*****************************************************************************/ -/* Data */ +/* Data */ /*****************************************************************************/ -/* Color defines (default palette) */ +/* Color defines */ #define COLOR_BLACK 0x00 #define COLOR_RED 0x01 -#define COLOR_BLUE 0x02 -#define COLOR_GREEN 0x03 -#define COLOR_VIOLET 0x04 -#define COLOR_PURPLE COLOR_VIOLET -#define COLOR_CYAN 0x05 -#define COLOR_PEAGREEN 0x06 -#define COLOR_GREY 0x07 -#define COLOR_NAVYBLUE 0x08 -#define COLOR_LIGHTRED 0x09 -#define COLOR_LIGHTBLUE 0x0A -#define COLOR_LIGHTGREEN 0x0B -#define COLOR_LIGHTPURPLE 0x0C -#define COLOR_LIGHTCYAN 0x0D -#define COLOR_YELLOW 0x0E +#define COLOR_PINK 0x02 +#define COLOR_LIGHTGREY 0x03 +#define COLOR_GREY 0x04 +#define COLOR_DARKGREY 0x05 +#define COLOR_BROWN 0x06 +#define COLOR_PEACH 0x07 +#define COLOR_YELLOW 0x08 +#define COLOR_LIGHTGREEN 0x09 +#define COLOR_GREEN 0x0A +#define COLOR_DARKBROWN 0x0B +#define COLOR_VIOLET 0x0C +#define COLOR_BLUE 0x0D +#define COLOR_LIGHTBLUE 0x0E #define COLOR_WHITE 0x0F +/* TGI color defines (default palette) */ +#define TGI_COLOR_BLACK COLOR_BLACK +#define TGI_COLOR_RED COLOR_RED +#define TGI_COLOR_PINK COLOR_PINK +#define TGI_COLOR_LIGHTGREY COLOR_LIGHTGREY +#define TGI_COLOR_GREY COLOR_GREY +#define TGI_COLOR_DARKGREY COLOR_DARKGREY +#define TGI_COLOR_BROWN COLOR_BROWN +#define TGI_COLOR_PEACH COLOR_PEACH +#define TGI_COLOR_YELLOW COLOR_YELLOW +#define TGI_COLOR_LIGHTGREEN COLOR_LIGHTGREEN +#define TGI_COLOR_GREEN COLOR_GREEN +#define TGI_COLOR_DARKBROWN COLOR_DARKBROWN +#define TGI_COLOR_VIOLET COLOR_VIOLET +#define TGI_COLOR_BLUE COLOR_BLUE +#define TGI_COLOR_LIGHTBLUE COLOR_LIGHTBLUE +#define TGI_COLOR_WHITE COLOR_WHITE + +/* No support for dynamically loadable drivers */ +#define DYN_DRV 0 + +/*****************************************************************************/ +/* Variables */ +/*****************************************************************************/ + + + +/* The addresses of the static drivers */ +extern void lynx_stdjoy_joy[]; /* Referred to by joy_static_stddrv[] */ +extern void lynx_comlynx_ser[]; +extern void lynx_160_102_16_tgi[]; /* Referred to by tgi_static_stddrv[] */ + + + +/*****************************************************************************/ +/* Sound support */ +/*****************************************************************************/ + +void lynx_snd_init (); +/* Initialize the sound driver */ + +void lynx_snd_pause (); +/* Pause sound */ + +void lynx_snd_continue (); +/* Continue sound after pause */ + +void __fastcall__ lynx_snd_play (unsigned char channel, unsigned char *music); +/* Play tune on channel */ + +void lynx_snd_stop (); +/* Stop sound on all channels */ + +void __fastcall__ lynx_snd_stop_channel (unsigned char channel); +/* Stop sound on all channels */ + +unsigned char lynx_snd_active(); +/* Show which channels are active */ + /*****************************************************************************/ -/* Code */ +/* Accessing the cart */ /*****************************************************************************/ -void __fastcall__ lynx_change_framerate (unsigned char rate); -/* Change the framerate, in Hz. Recognized values are 50, 60 and 75. */ +void __fastcall__ lynx_load (int fileno); +/* Load a file into ram. The first entry is fileno=0. */ + +void __fastcall__ lynx_exec (int fileno); +/* Load a file into ram and execute it. */ @@ -98,11 +159,20 @@ unsigned __fastcall__ lynx_eeprom_write (unsigned char cell, unsigned val); void __fastcall__ lynx_eeprom_erase (unsigned char cell); /* Clear the word at the given address */ +unsigned __fastcall__ lynx_eeread (unsigned cell); +/* Read a 16 bit word from the given address 93C46 93C66 or 93C86*/ + +unsigned __fastcall__ lynx_eewrite (unsigned cell, unsigned val); +/* Write the word at the given address 93C46 93C66 or 93C86*/ + + /*****************************************************************************/ /* TGI extras */ /*****************************************************************************/ + + #define tgi_sprite(spr) tgi_ioctl(0, spr) #define tgi_flip() tgi_ioctl(1, (void*)0) #define tgi_setbgcolor(bgcol) tgi_ioctl(2, (void*)(bgcol)) @@ -111,8 +181,19 @@ void __fastcall__ lynx_eeprom_erase (unsigned char cell); #define tgi_updatedisplay() tgi_ioctl(4, (void*)1) #define tgi_setcollisiondetection(active) tgi_ioctl(5, (void*)(active)) -/* End of lynx.h */ -#endif +/* Define Hardware */ +#include <_mikey.h> +#define MIKEY (*(struct __mikey *)0xFD00) +#define _MIKEY_TIMERS (*(struct _mikey_all_timers *) 0xFD00) // mikey_timers[8] +#define _HBL_TIMER (*(struct _mikey_timer *) 0xFD00) // timer0 (HBL) +#define _VBL_TIMER (*(struct _mikey_timer *) 0xFD08) // timer2 (VBL) +#define _UART_TIMER (*(struct _mikey_timer *) 0xFD14) // timer4 (UART) +#define _VIDDMA (*(unsigned int *) 0xFD92) // dispctl/viddma +#include <_suzy.h> +#define SUZY (*(struct __suzy*)0xFC00) + +/* End of lynx.h */ +#endif