- Afegim el tap i el savestate de Alien 8 per a provar

- Provant el berserk mode
- Medint els t-states de altra forma
- iff1, iff2 i im afegits al array de registres de la cpu
- [NEW] getRegs() del modul z80
- [NEW] loadstate() i savestate() al modul z80debug
- [NEW] "load arxiu" i "save arxiu" en consola per a carregar i guardar savestates
- [ONGOING] "tape load arxiu" i "tape play" per a canviar de cinta i playarla
- Buffer de audio més gran. Ara el buffer es circular. Continuem intentant desfer-se del jittering
This commit is contained in:
2024-12-02 15:32:09 +01:00
parent 4a9b13126b
commit 18406d4332
9 changed files with 95 additions and 33 deletions

13
z80.cpp
View File

@@ -34,7 +34,7 @@ namespace z80
#define cP 6
#define cM 7
uint8_t regs[28];
uint8_t regs[31];
uint8_t *_rF = &regs[0];
uint8_t *_rA = &regs[1];
@@ -82,7 +82,11 @@ namespace z80
uint8_t *_rZ = (uint8_t*)&regs[26];
uint8_t *_rW = (uint8_t*)&regs[27];
uint8_t iff1, iff2, im;
uint8_t *_rIFF1 = &regs[28];
uint8_t *_rIFF2 = &regs[29];
uint8_t *_rIM = &regs[30];
//uint8_t iff1, iff2, im;
bool exit_from_halt = false;
#define rA (*_rA)
@@ -129,6 +133,10 @@ namespace z80
#define rPC (*_rPC)
#define iff1 (*_rIFF1)
#define iff2 (*_rIFF2)
#define im (*_rIM)
#define EX(a,b) {auto temp=a;a=b;b=temp;}
uint8_t READ_MEM_8(const uint16_t addr)
@@ -2685,6 +2693,7 @@ namespace z80
}
uint8_t *getMem() { return memory; }
uint8_t *getRegs() { return regs; }
uint16_t getAF(const bool alt) { return alt?rAF2:rAF; }
uint16_t getBC(const bool alt) { return alt?rBC2:rBC; }