X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=pico%2Fpico_int.h;h=9841b183fc259d164cfd24b015ef065b34eb88b3;hb=2ec9bec58b89831cdead4cdec8f593c5b99d2715;hp=d3b64a820aa804b4f9a813b0e122edb80d7ee642;hpb=d8f51995c466282c7c93f3666b1bc54b827ec19e;p=picodrive.git diff --git a/pico/pico_int.h b/pico/pico_int.h index d3b64a8..9841b18 100644 --- a/pico/pico_int.h +++ b/pico/pico_int.h @@ -272,10 +272,14 @@ struct PicoMisc struct Pico { unsigned char ram[0x10000]; // 0x00000 scratch ram - unsigned short vram[0x8000]; // 0x10000 + union { + unsigned short vram[0x8000]; // 0x10000 + unsigned char vramb[0x4000]; // VRAM in SMS mode + }; unsigned char zram[0x2000]; // 0x20000 Z80 ram unsigned char ioports[0x10]; - unsigned int pad[0x3c]; // unused + unsigned char sms_io_ctl; + unsigned char pad[0xef]; // unused unsigned short cram[0x40]; // 0x22100 unsigned short vsram[0x40]; // 0x22180 @@ -549,8 +553,15 @@ PICO_INTERNAL void PsndReset(void); PICO_INTERNAL void PsndDoDAC(int line_to); PICO_INTERNAL void PsndClear(void); PICO_INTERNAL void PsndGetSamples(int y); +PICO_INTERNAL void PsndGetSamplesMS(void); extern int PsndDacLine; +// sms.c +void PicoPowerMS(void); +void PicoResetMS(void); +void PicoMemSetupMS(void); +void PicoFrameMS(void); + // emulation event logging #ifndef EL_LOGMASK #define EL_LOGMASK 0 @@ -596,7 +607,7 @@ extern void lprintf(const char *fmt, ...); #define cdprintf(x...) #endif -#if defined(__GNUC__) && !defined(ARM) +#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 3 #define MEMH_FUNC __attribute__((aligned(4))) #else #define MEMH_FUNC