notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
based on hw tests busreq is affected by reset. Remove old hack too
[picodrive.git]
/
pico
/
pico_int.h
diff --git
a/pico/pico_int.h
b/pico/pico_int.h
index
45955ad
..
b5f4a95
100644
(file)
--- a/
pico/pico_int.h
+++ b/
pico/pico_int.h
@@
-186,6
+186,7
@@
extern struct DrZ80 drZ80;
#define z80_int() drZ80.Z80_IRQ = 1
\r
\r
#define z80_cyclesLeft drZ80.cycles
\r
#define z80_int() drZ80.Z80_IRQ = 1
\r
\r
#define z80_cyclesLeft drZ80.cycles
\r
+#define z80_pc() (drZ80.Z80PC - drZ80.Z80PC_BASE)
\r
\r
#elif defined(_USE_CZ80)
\r
#include "../cpu/cz80/cz80.h"
\r
\r
#elif defined(_USE_CZ80)
\r
#include "../cpu/cz80/cz80.h"
\r
@@
-195,6
+196,7
@@
extern struct DrZ80 drZ80;
#define z80_int() Cz80_Set_IRQ(&CZ80, 0, HOLD_LINE)
\r
\r
#define z80_cyclesLeft (CZ80.ICount - CZ80.ExtraCycles)
\r
#define z80_int() Cz80_Set_IRQ(&CZ80, 0, HOLD_LINE)
\r
\r
#define z80_cyclesLeft (CZ80.ICount - CZ80.ExtraCycles)
\r
+#define z80_pc() Cz80_Get_Reg(&CZ80, CZ80_PC)
\r
\r
#else
\r
\r
\r
#else
\r
\r
@@
-272,10
+274,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
+417,8
@@
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
+void FinalizeLineRGB555(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
+426,12
@@
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
+void PicoDrawSetColorFormatMode4(int which);
\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,12
+563,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
// sms.c
\r
void PicoPowerMS(void);
\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
void PicoMemSetupMS(void);
\r
void PicoFrameMS(void);
\r
+void PicoFrameDrawOnlyMS(void);
\r
\r
// emulation event logging
\r
#ifndef EL_LOGMASK
\r
\r
// emulation event logging
\r
#ifndef EL_LOGMASK
\r