X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Flynx.h;h=4b0390a13223c846115ba9d32719f379fdf2f299;hb=2af76c7cffb08af3a6f7ca87c90132aa3e365f76;hp=6bb993284e5daed1744defc0080b35f29ba82134;hpb=771cb7eb760428144eecb57e4cc559d68285befc;p=cc65 diff --git a/include/lynx.h b/include/lynx.h index 6bb993284..4b0390a13 100644 --- a/include/lynx.h +++ b/include/lynx.h @@ -2,7 +2,7 @@ /* */ /* lynx.h */ /* */ -/* Lynx system specific definitions */ +/* Lynx system-specific definitions */ /* */ /* */ /* */ @@ -46,7 +46,7 @@ /*****************************************************************************/ -/* Data */ +/* Data */ /*****************************************************************************/ @@ -87,7 +87,64 @@ #define TGI_COLOR_LIGHTBLUE COLOR_LIGHTBLUE #define TGI_COLOR_WHITE COLOR_WHITE +/* Masks for joy_read */ +#define JOY_UP_MASK 0x80 +#define JOY_DOWN_MASK 0x40 +#define JOY_LEFT_MASK 0x20 +#define JOY_RIGHT_MASK 0x10 +#define JOY_BTN_1_MASK 0x01 +#define JOY_BTN_2_MASK 0x02 +#define JOY_BTN_A_MASK JOY_BTN_1_MASK +#define JOY_BTN_B_MASK JOY_BTN_2_MASK + +#define JOY_BTN_A(v) ((v) & JOY_BTN_A_MASK) +#define JOY_BTN_B(v) ((v) & JOY_BTN_B_MASK) + +/* 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 (void); +/* Initialize the sound driver */ + +void lynx_snd_pause (void); +/* Pause sound */ + +void lynx_snd_continue (void); +/* Continue sound after pause */ + +void __fastcall__ lynx_snd_play (unsigned char channel, unsigned char *music); +/* Play tune on channel */ + +void lynx_snd_stop (void); +/* Stop sound on all channels */ + +void __fastcall__ lynx_snd_stop_channel (unsigned char channel); +/* Stop sound on all channels */ + +unsigned char lynx_snd_active(void); +/* Show which channels are active */ @@ -142,58 +199,20 @@ unsigned __fastcall__ lynx_eewrite (unsigned cell, unsigned val); #define tgi_updatedisplay() tgi_ioctl(4, (void*)1) #define tgi_setcollisiondetection(active) tgi_ioctl(5, (void*)(active)) - - -/*****************************************************************************/ -/* Sprites */ -/*****************************************************************************/ - - - -#define SPRCTL0_1_bit_per_pixel 0 -#define SPRCTL0_2_bits_per_pixel 0x40 -#define SPRCTL0_3_bits_per_pixel 0x80 -#define SPRCTL0_4_bits_per_pixel 0xc0 -#define SPRCTL0_h_flip 0x20 -#define SPRCTL0_v_flip 0x10 -#define SPRCTL0_shadow 7 -#define SPRCTL0_xor_shadow 6 -#define SPRCTL0_non_collide 5 -#define SPRCTL0_normal 4 -#define SPRCTL0_boundary 3 -#define SPRCTL0_boundary_shadow 2 -#define SPRCTL0_background_no_coll 1 -#define SPRCTL0_background_shadow 0 - -#define SPRCTL1_literal 0x80 -#define SPRCTL1_hsize_vsize_strech_tilt 0x30 -#define SPRCTL1_hsize_vsize_strech 0x20 -#define SPRCTL1_hsize_vsize 0x10 -#define SPRCTL1_no_palette 0x08 -#define SPRCTL1_skip_sprite 0x04 -#define SPRCTL1_start_drawing_up 0x02 -#define SPRCTL1_start_drawing_left 0x01 - -#define SPRCOLL_dont_collide 0x20 -#define SPRCOLL_number_0_3 0x00 - - /* 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 +#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 - - -