Enumerations and math structures for Suzy
This commit is contained in:
committed by
Alex Thissen
parent
3553975b02
commit
7150fdf4b9
177
include/lynx.h
177
include/lynx.h
@@ -31,27 +31,15 @@
|
||||
/* */
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
#ifndef _LYNX_H
|
||||
#define _LYNX_H
|
||||
|
||||
|
||||
|
||||
/* Check for errors */
|
||||
#if !defined(__LYNX__)
|
||||
# error This module may only be used when compiling for the Lynx game console!
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Data */
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
/* Color defines */
|
||||
/* Color definitions */
|
||||
#define COLOR_TRANSPARENT 0x00
|
||||
#define COLOR_BLACK 0x01
|
||||
#define COLOR_RED 0x02
|
||||
@@ -88,6 +76,56 @@
|
||||
#define TGI_COLOR_LIGHTBLUE COLOR_LIGHTBLUE
|
||||
#define TGI_COLOR_WHITE COLOR_WHITE
|
||||
|
||||
/* No support for dynamically loadable drivers */
|
||||
#define DYN_DRV 0
|
||||
|
||||
// Addresses of static drivers
|
||||
extern void lynx_stdjoy_joy[]; // Referred to by joy_static_stddrv[]
|
||||
extern void lynx_comlynx_ser[]; // Referred to by ser_static_stddrv[]
|
||||
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
|
||||
|
||||
// Cartridge access
|
||||
void __fastcall__ lynx_load (int file_number); // Load a file into RAM using a zero-based index
|
||||
void __fastcall__ lynx_exec (int file_number); // Load a file into ram and execute it
|
||||
|
||||
// EEPROM access
|
||||
unsigned __fastcall__ lynx_eeprom_read (unsigned char cell); // Read a 16 bit word from the given address
|
||||
unsigned __fastcall__ lynx_eeprom_write (unsigned char cell, unsigned val); // Write the word at the given address
|
||||
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))
|
||||
#define tgi_setframerate(rate) tgi_ioctl(3, (void*)(rate))
|
||||
#define tgi_busy() tgi_ioctl(4, (void*)0)
|
||||
#define tgi_updatedisplay() tgi_ioctl(4, (void*)1)
|
||||
#define tgi_setcollisiondetection(active) tgi_ioctl(5, (void*)(active))
|
||||
|
||||
/* Hardware definitions */
|
||||
#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 (*(volatile struct __suzy*)0xFC00)
|
||||
|
||||
/* Masks for joy_read */
|
||||
#define JOY_UP_MASK 0x80
|
||||
#define JOY_DOWN_MASK 0x40
|
||||
@@ -102,118 +140,5 @@
|
||||
#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[]; /* Referred to by ser_static_stddrv[] */
|
||||
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 */
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Accessing the cart */
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
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. */
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Accessing the EEPROM */
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
unsigned __fastcall__ lynx_eeprom_read (unsigned char cell);
|
||||
/* Read a 16 bit word from the given address */
|
||||
|
||||
unsigned __fastcall__ lynx_eeprom_write (unsigned char cell, unsigned val);
|
||||
/* Write the word at the given address */
|
||||
|
||||
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))
|
||||
#define tgi_setframerate(rate) tgi_ioctl(3, (void*)(rate))
|
||||
#define tgi_busy() tgi_ioctl(4, (void*)0)
|
||||
#define tgi_updatedisplay() tgi_ioctl(4, (void*)1)
|
||||
#define tgi_setcollisiondetection(active) tgi_ioctl(5, (void*)(active))
|
||||
|
||||
/* 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
|
||||
|
||||
Reference in New Issue
Block a user