mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
refactoring z80 if code for sms preparation
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@752 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
4010330cc0
commit
c8d1e9b662
10 changed files with 354 additions and 375 deletions
|
@ -219,7 +219,10 @@ void Cz80_Reset(cz80_struc *CPU)
|
|||
#if PICODRIVE_HACKS
|
||||
static inline unsigned char picodrive_read(unsigned short a)
|
||||
{
|
||||
return (a < 0x4000) ? Pico.zram[a&0x1fff] : z80_read(a);
|
||||
unsigned long v = z80_read_map[a >> Z80_MEM_SHIFT];
|
||||
if (v & 0x80000000)
|
||||
return ((z80_read_f *)(v << 1))(a);
|
||||
return *(unsigned char *)((v << 1) + a);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -73,8 +73,11 @@
|
|||
#define WRITE_MEM8(A, D) { \
|
||||
unsigned short a = A; \
|
||||
unsigned char d = D; \
|
||||
if (a < 0x4000) Pico.zram[a&0x1fff] = d; \
|
||||
else z80_write(a, d); \
|
||||
unsigned long v = z80_write_map[a >> Z80_MEM_SHIFT]; \
|
||||
if (v & 0x80000000) \
|
||||
((z80_write_f *)(v << 1))(a, d); \
|
||||
else \
|
||||
*(unsigned char *)((v << 1) + a) = d; \
|
||||
}
|
||||
#else
|
||||
#define WRITE_MEM8(A, D) CPU->Write_Byte(A, D);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue