notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
32x: packed pixel mode (works over 68k)
[picodrive.git]
/
pico
/
pico_int.h
diff --git
a/pico/pico_int.h
b/pico/pico_int.h
index
85f2506
..
431c9a6
100644
(file)
--- a/
pico/pico_int.h
+++ b/
pico/pico_int.h
@@
-389,12
+389,32
@@
typedef struct
#define Pico_mcd ((mcd_state *)Pico.rom)
\r
\r
// 32X
\r
#define Pico_mcd ((mcd_state *)Pico.rom)
\r
\r
// 32X
\r
+#define P32XV_nPAL (1<<15)
\r
+#define P32XV_PRI (1<< 7)
\r
+#define P32XV_Mx (3<< 0)
\r
+
\r
+#define P32XV_VBLK (1<<15)
\r
+#define P32XV_HBLK (1<<14)
\r
+#define P32XV_PEN (1<<13)
\r
+#define P32XV_nFEN (1<< 1)
\r
+#define P32XV_FS (1<< 0)
\r
+
\r
struct Pico32x
\r
{
\r
unsigned short regs[0x20];
\r
unsigned short vdp_regs[0x10];
\r
unsigned char pending_fb;
\r
struct Pico32x
\r
{
\r
unsigned short regs[0x20];
\r
unsigned short vdp_regs[0x10];
\r
unsigned char pending_fb;
\r
- unsigned char pad[3];
\r
+ unsigned char dirty_pal;
\r
+ unsigned char pad[2];
\r
+};
\r
+
\r
+struct Pico32xMem
\r
+{
\r
+ unsigned char sdram[0x40000];
\r
+ unsigned short dram[2][0x20000/2]; // AKA fb
\r
+ unsigned char m68k_rom[0x10000]; // 0x100; using M68K_BANK_SIZE
\r
+ unsigned short pal[0x100];
\r
+ unsigned short pal_native[0x100]; // converted to native (for renderer)
\r
};
\r
\r
// area.c
\r
};
\r
\r
// area.c
\r
@@
-436,7
+456,7
@@
int CM_compareRun(int cyc, int is_sub);
PICO_INTERNAL void PicoFrameStart(void);
\r
void PicoDrawSync(int to, int blank_last_line);
\r
void BackFill(int reg7, int sh);
\r
PICO_INTERNAL void PicoFrameStart(void);
\r
void PicoDrawSync(int to, int blank_last_line);
\r
void BackFill(int reg7, int sh);
\r
-void FinalizeLineRGB555(int sh);
\r
+void FinalizeLineRGB555(int sh
, int line
);
\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
@@
-588,15
+608,22
@@
void PicoFrameDrawOnlyMS(void);
// 32x/32x.c
\r
extern struct Pico32x Pico32x;
\r
void Pico32xInit(void);
\r
// 32x/32x.c
\r
extern struct Pico32x Pico32x;
\r
void Pico32xInit(void);
\r
-void Pico
32xStartup
(void);
\r
+void Pico
Power32x
(void);
\r
void PicoReset32x(void);
\r
void PicoReset32x(void);
\r
+void Pico32xStartup(void);
\r
+void PicoFrame32x(void);
\r
\r
// 32x/memory.c
\r
\r
// 32x/memory.c
\r
+struct Pico32xMem *Pico32xMem;
\r
unsigned int PicoRead8_32x(unsigned int a);
\r
unsigned int PicoRead16_32x(unsigned int a);
\r
void PicoWrite8_32x(unsigned int a, unsigned int d);
\r
void PicoWrite16_32x(unsigned int a, unsigned int d);
\r
void PicoMemSetup32x(void);
\r
unsigned int PicoRead8_32x(unsigned int a);
\r
unsigned int PicoRead16_32x(unsigned int a);
\r
void PicoWrite8_32x(unsigned int a, unsigned int d);
\r
void PicoWrite16_32x(unsigned int a, unsigned int d);
\r
void PicoMemSetup32x(void);
\r
+void Pico32xSwapDRAM(int b);
\r
+
\r
+// 32x/draw.c
\r
+void FinalizeLine32xRGB555(int sh, int line);
\r
\r
/* avoid dependency on newer glibc */
\r
static __inline int isspace_(int c)
\r
\r
/* avoid dependency on newer glibc */
\r
static __inline int isspace_(int c)
\r