notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sms wip: initial graphics support
[picodrive.git]
/
pico
/
pico_int.h
diff --git
a/pico/pico_int.h
b/pico/pico_int.h
index
d3b64a8
..
6aea7de
100644
(file)
--- a/
pico/pico_int.h
+++ b/
pico/pico_int.h
@@
-272,10
+272,14
@@
struct PicoMisc
struct Pico
\r
{
\r
unsigned char ram[0x10000]; // 0x00000 scratch ram
\r
struct Pico
\r
{
\r
unsigned char ram[0x10000]; // 0x00000 scratch ram
\r
- unsigned short vram[0x8000]; // 0x10000
\r
+ union { // vram is byteswapped for easier reads when drawing
\r
+ unsigned short vram[0x8000]; // 0x10000
\r
+ unsigned char vramb[0x4000]; // VRAM in SMS mode
\r
+ };
\r
unsigned char zram[0x2000]; // 0x20000 Z80 ram
\r
unsigned char ioports[0x10];
\r
unsigned char zram[0x2000]; // 0x20000 Z80 ram
\r
unsigned char ioports[0x10];
\r
- unsigned int pad[0x3c]; // unused
\r
+ unsigned char sms_io_ctl;
\r
+ unsigned char pad[0xef]; // unused
\r
unsigned short cram[0x40]; // 0x22100
\r
unsigned short vsram[0x40]; // 0x22180
\r
\r
unsigned short cram[0x40]; // 0x22100
\r
unsigned short vsram[0x40]; // 0x22180
\r
\r
@@
-411,6
+415,7
@@
int CM_compareRun(int cyc, int is_sub);
// draw.c
\r
PICO_INTERNAL void PicoFrameStart(void);
\r
void PicoDrawSync(int to, int blank_last_line);
\r
// draw.c
\r
PICO_INTERNAL void PicoFrameStart(void);
\r
void PicoDrawSync(int to, int blank_last_line);
\r
+void BackFill(int reg7, int sh);
\r
extern int DrawScanline;
\r
#define MAX_LINE_SPRITES 29
\r
extern unsigned char HighLnSpr[240][3 + MAX_LINE_SPRITES];
\r
extern int DrawScanline;
\r
#define MAX_LINE_SPRITES 29
\r
extern unsigned char HighLnSpr[240][3 + MAX_LINE_SPRITES];
\r
@@
-418,6
+423,11
@@
extern unsigned char HighLnSpr[240][3 + MAX_LINE_SPRITES];
// draw2.c
\r
PICO_INTERNAL void PicoFrameFull();
\r
\r
// draw2.c
\r
PICO_INTERNAL void PicoFrameFull();
\r
\r
+// mode4.c
\r
+void PicoFrameStartMode4(void);
\r
+void PicoLineMode4(int line);
\r
+void PicoDoHighPal555M4(void);
\r
+
\r
// memory.c
\r
PICO_INTERNAL void PicoInitPc(unsigned int pc);
\r
PICO_INTERNAL unsigned int PicoCheckPc(unsigned int pc);
\r
// memory.c
\r
PICO_INTERNAL void PicoInitPc(unsigned int pc);
\r
PICO_INTERNAL unsigned int PicoCheckPc(unsigned int pc);
\r
@@
-549,8
+559,15
@@
PICO_INTERNAL void PsndReset(void);
PICO_INTERNAL void PsndDoDAC(int line_to);
\r
PICO_INTERNAL void PsndClear(void);
\r
PICO_INTERNAL void PsndGetSamples(int y);
\r
PICO_INTERNAL void PsndDoDAC(int line_to);
\r
PICO_INTERNAL void PsndClear(void);
\r
PICO_INTERNAL void PsndGetSamples(int y);
\r
+PICO_INTERNAL void PsndGetSamplesMS(void);
\r
extern int PsndDacLine;
\r
\r
extern int PsndDacLine;
\r
\r
+// sms.c
\r
+void PicoPowerMS(void);
\r
+void PicoResetMS(void);
\r
+void PicoMemSetupMS(void);
\r
+void PicoFrameMS(void);
\r
+
\r
// emulation event logging
\r
#ifndef EL_LOGMASK
\r
#define EL_LOGMASK 0
\r
// emulation event logging
\r
#ifndef EL_LOGMASK
\r
#define EL_LOGMASK 0
\r
@@
-596,7
+613,7
@@
extern void lprintf(const char *fmt, ...);
#define cdprintf(x...)
\r
#endif
\r
\r
#define cdprintf(x...)
\r
#endif
\r
\r
-#if defined(__GNUC__) &&
!defined(ARM)
\r
+#if defined(__GNUC__) &&
__GNUC__ >= 4 && __GNUC_MINOR__ >= 3
\r
#define MEMH_FUNC __attribute__((aligned(4)))
\r
#else
\r
#define MEMH_FUNC
\r
#define MEMH_FUNC __attribute__((aligned(4)))
\r
#else
\r
#define MEMH_FUNC
\r