mirror of
https://github.com/RetroDECK/Supermodel.git
synced 2024-12-01 18:15:40 +00:00
port some changes from MAME/MESS
This commit is contained in:
parent
2df681f009
commit
03002d3f22
|
@ -2698,7 +2698,7 @@ int CZ80::Run(int numCycles)
|
||||||
break;
|
break;
|
||||||
case 0x71: /* OUT (C),0 */
|
case 0x71: /* OUT (C),0 */
|
||||||
cycles -= cycleTables[2][0x71];
|
cycles -= cycleTables[2][0x71];
|
||||||
OUTPUT(lreg(BC), 0);
|
OUTPUT(lreg(BC), lreg(0));
|
||||||
break;
|
break;
|
||||||
case 0x72: /* SBC HL,SP */
|
case 0x72: /* SBC HL,SP */
|
||||||
cycles -= cycleTables[2][0x72];
|
cycles -= cycleTables[2][0x72];
|
||||||
|
@ -2821,6 +2821,8 @@ int CZ80::Run(int numCycles)
|
||||||
cycles -= cycleTables[2][0xB0];
|
cycles -= cycleTables[2][0xB0];
|
||||||
acu = hreg(AF);
|
acu = hreg(AF);
|
||||||
BC &= 0xffff;
|
BC &= 0xffff;
|
||||||
|
if (BC == 0)
|
||||||
|
BC = 0x10000;
|
||||||
do {
|
do {
|
||||||
acu = GetBYTE_pp(HL);
|
acu = GetBYTE_pp(HL);
|
||||||
PutBYTE_pp(DE, acu);
|
PutBYTE_pp(DE, acu);
|
||||||
|
@ -2832,6 +2834,8 @@ int CZ80::Run(int numCycles)
|
||||||
cycles -= cycleTables[2][0xB1];
|
cycles -= cycleTables[2][0xB1];
|
||||||
acu = hreg(AF);
|
acu = hreg(AF);
|
||||||
BC &= 0xffff;
|
BC &= 0xffff;
|
||||||
|
if (BC == 0)
|
||||||
|
BC = 0x10000;
|
||||||
do {
|
do {
|
||||||
temp = GetBYTE_pp(HL);
|
temp = GetBYTE_pp(HL);
|
||||||
op = --BC != 0;
|
op = --BC != 0;
|
||||||
|
@ -2868,6 +2872,8 @@ int CZ80::Run(int numCycles)
|
||||||
case 0xB8: /* LDDR */
|
case 0xB8: /* LDDR */
|
||||||
cycles -= cycleTables[2][0xB8];
|
cycles -= cycleTables[2][0xB8];
|
||||||
BC &= 0xffff;
|
BC &= 0xffff;
|
||||||
|
if (BC == 0)
|
||||||
|
BC = 0x10000;
|
||||||
do {
|
do {
|
||||||
acu = GetBYTE_mm(HL);
|
acu = GetBYTE_mm(HL);
|
||||||
PutBYTE_mm(DE, acu);
|
PutBYTE_mm(DE, acu);
|
||||||
|
@ -2879,6 +2885,8 @@ int CZ80::Run(int numCycles)
|
||||||
cycles -= cycleTables[2][0xB9];
|
cycles -= cycleTables[2][0xB9];
|
||||||
acu = hreg(AF);
|
acu = hreg(AF);
|
||||||
BC &= 0xffff;
|
BC &= 0xffff;
|
||||||
|
if (BC == 0)
|
||||||
|
BC = 0x10000;
|
||||||
do {
|
do {
|
||||||
temp = GetBYTE_mm(HL);
|
temp = GetBYTE_mm(HL);
|
||||||
op = --BC != 0;
|
op = --BC != 0;
|
||||||
|
@ -3505,7 +3513,7 @@ int CZ80::Run(int numCycles)
|
||||||
break;
|
break;
|
||||||
case 0xCB: /* CB prefix */
|
case 0xCB: /* CB prefix */
|
||||||
adr = IY + (signed char) GetBYTE_pp(pc);
|
adr = IY + (signed char) GetBYTE_pp(pc);
|
||||||
adr = adr;
|
//adr = adr;
|
||||||
op = GetBYTE(pc);
|
op = GetBYTE(pc);
|
||||||
cycles -= cycleTables[4][op];
|
cycles -= cycleTables[4][op];
|
||||||
switch (op & 7) {
|
switch (op & 7) {
|
||||||
|
|
Loading…
Reference in a new issue