|
|
| version 1.6, 2004/08/20 23:01:16 | version 1.7, 2008/06/02 20:07:32 |
|---|---|
| Line 1 | Line 1 |
| //---------------------------------------------------------------------------- | /* ----------------------------------------------------------------------- |
| // | * |
| // Z80C : Z80 Engine - GENERIC | * Z80C : Z80 Engine - GENERIC |
| // | * |
| // Copyright by Studio Milmake 1999-2000,2004 | * Copyright by Studio Milmake 1999-2000,2004 |
| // | * |
| //---------------------------------------------------------------------------- | *------------------------------------------------------------------------ */ |
| #include "compiler.h" | #include "compiler.h" |
| #include "z80core.h" | #include "z80core.h" |
| Line 116 void z80c_cb(void) { | Line 115 void z80c_cb(void) { |
| *reg = rolsft_proc[bit](*reg); | *reg = rolsft_proc[bit](*reg); |
| break; | break; |
| case 0x40: // bit | case 0x40: /* bit */ |
| R_Z80F &= C_FLAG; | R_Z80F &= C_FLAG; |
| if ((*reg) & (1 << bit)) { | if ((*reg) & (1 << bit)) { |
| if (bit != 7) { | if (bit != 7) { |
| Line 131 void z80c_cb(void) { | Line 130 void z80c_cb(void) { |
| } | } |
| break; | break; |
| case 0x80: // reset | case 0x80: /* reset */ |
| (*reg) &= ~(1 << bit); | (*reg) &= ~(1 << bit); |
| break; | break; |
| case 0xc0: // set | case 0xc0: /* set */ |
| (*reg) |= 1 << bit; | (*reg) |= 1 << bit; |
| break; | break; |
| } | } |
| Line 148 void z80c_cb(void) { | Line 147 void z80c_cb(void) { |
| xhl = rolsft_proc[bit](xhl); | xhl = rolsft_proc[bit](xhl); |
| break; | break; |
| case 0x40: // bit | case 0x40: /* bit */ |
| Z80_COUNT(12); | Z80_COUNT(12); |
| R_Z80F &= C_FLAG; | R_Z80F &= C_FLAG; |
| if (xhl & (1 << bit)) { | if (xhl & (1 << bit)) { |
| Line 164 void z80c_cb(void) { | Line 163 void z80c_cb(void) { |
| } | } |
| return; | return; |
| case 0x80: // reset | case 0x80: /* reset */ |
| Z80_COUNT(15); | Z80_COUNT(15); |
| xhl &= ~(1 << bit); | xhl &= ~(1 << bit); |
| break; | break; |
| case 0xc0: // set | case 0xc0: /* set */ |
| Z80_COUNT(15); | Z80_COUNT(15); |
| xhl |= 1 << bit; | xhl |= 1 << bit; |
| break; | break; |
| Line 196 void z80c_ixcb(void) { | Line 195 void z80c_ixcb(void) { |
| xi = rolsft_proc[bit](xi); | xi = rolsft_proc[bit](xi); |
| break; | break; |
| case 0x40: // bit | case 0x40: /* bit */ |
| Z80_COUNT(20); | Z80_COUNT(20); |
| R_Z80F &= C_FLAG; | R_Z80F &= C_FLAG; |
| if (xi & (1 << bit)) { | if (xi & (1 << bit)) { |
| Line 212 void z80c_ixcb(void) { | Line 211 void z80c_ixcb(void) { |
| } | } |
| return; | return; |
| case 0x80: // reset | case 0x80: /* reset */ |
| Z80_COUNT(23); | Z80_COUNT(23); |
| xi &= ~(1 << bit); | xi &= ~(1 << bit); |
| break; | break; |
| case 0xc0: // set | case 0xc0: /* set */ |
| Z80_COUNT(23); | Z80_COUNT(23); |
| xi |= 1 << bit; | xi |= 1 << bit; |
| break; | break; |
| Line 243 void z80c_iycb(void) { | Line 242 void z80c_iycb(void) { |
| xi = rolsft_proc[bit](xi); | xi = rolsft_proc[bit](xi); |
| break; | break; |
| case 0x40: // bit | case 0x40: /* bit */ |
| Z80_COUNT(20); | Z80_COUNT(20); |
| R_Z80F &= C_FLAG; | R_Z80F &= C_FLAG; |
| if (xi & (1 << bit)) { | if (xi & (1 << bit)) { |
| Line 259 void z80c_iycb(void) { | Line 258 void z80c_iycb(void) { |
| } | } |
| return; | return; |
| case 0x80: // reset | case 0x80: /* reset */ |
| Z80_COUNT(23); | Z80_COUNT(23); |
| xi &= ~(1 << bit); | xi &= ~(1 << bit); |
| break; | break; |
| case 0xc0: // set | case 0xc0: /* set */ |
| Z80_COUNT(23); | Z80_COUNT(23); |
| xi |= 1 << bit; | xi |= 1 << bit; |
| break; | break; |