notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
svp compiler: added first wait loop detection
[picodrive.git]
/
Pico
/
carthw
/
svp
/
ssp16.h
diff --git
a/Pico/carthw/svp/ssp16.h
b/Pico/carthw/svp/ssp16.h
index
ec363f0
..
f4a5746
100644
(file)
--- a/
Pico/carthw/svp/ssp16.h
+++ b/
Pico/carthw/svp/ssp16.h
@@
-26,32
+26,35
@@
typedef union
typedef struct
{
union {
typedef struct
{
union {
- unsigned short RAM[256*2]; // 2 internal RAM banks
+ unsigned short RAM[256*2]; //
000
2 internal RAM banks
struct {
unsigned short RAM0[256];
unsigned short RAM1[256];
};
};
struct {
unsigned short RAM0[256];
unsigned short RAM1[256];
};
};
- ssp_reg_t gr[16];
//
general registers
+ ssp_reg_t gr[16];
// 400
general registers
union {
union {
- unsigned char r[8];
//
BANK pointers
+ unsigned char r[8];
// 440
BANK pointers
struct {
unsigned char r0[4];
unsigned char r1[4];
};
};
struct {
unsigned char r0[4];
unsigned char r1[4];
};
};
- unsigned short stack[6];
- unsigned int pmac_read[6];
//
read modes/addrs for PM0-PM5
- unsigned int pmac_write[6];
//
write ...
+ unsigned short stack[6];
// 448
+ unsigned int pmac_read[6];
// 454
read modes/addrs for PM0-PM5
+ unsigned int pmac_write[6];
// 46c
write ...
//
#define SSP_PMC_HAVE_ADDR 0x0001 // address written to PMAC, waiting for mode
#define SSP_PMC_SET 0x0002 // PMAC is set
#define SSP_WAIT_PM0 0x2000 // bit1 in PM0
//
#define SSP_PMC_HAVE_ADDR 0x0001 // address written to PMAC, waiting for mode
#define SSP_PMC_SET 0x0002 // PMAC is set
#define SSP_WAIT_PM0 0x2000 // bit1 in PM0
- #define SSP_WAIT_30FE06 0x4000 // ssp tight loops on 30FE0
8
to become non-zero
- #define SSP_WAIT_30FE08 0x8000 // same for 30FE0
6
+ #define SSP_WAIT_30FE06 0x4000 // ssp tight loops on 30FE0
6
to become non-zero
+ #define SSP_WAIT_30FE08 0x8000 // same for 30FE0
8
#define SSP_WAIT_MASK 0xe000
#define SSP_WAIT_MASK 0xe000
- unsigned int emu_status;
- unsigned int pad[30];
+ unsigned int emu_status; // 484
+ unsigned int rom_ptr; // 488 recompiler convenience
+ unsigned int iram_ptr; // 48c
+ unsigned int dram_ptr; // 490
+ unsigned int pad[27];
} ssp1601_t;
} ssp1601_t;