mirror of
https://github.com/MoleskiCoder/EightBit.git
synced 2025-08-09 00:25:10 +00:00
More consistency updates between i8080 and Z80.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
This commit is contained in:
@@ -36,6 +36,8 @@ namespace EightBit {
|
|||||||
virtual register16_t& DE() override;
|
virtual register16_t& DE() override;
|
||||||
virtual register16_t& HL() override;
|
virtual register16_t& HL() override;
|
||||||
|
|
||||||
|
virtual void reset() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_interruptEnable = false;
|
bool m_interruptEnable = false;
|
||||||
bool m_intLine = false;
|
bool m_intLine = false;
|
||||||
|
@@ -25,6 +25,12 @@ EightBit::register16_t& EightBit::Intel8080::HL() {
|
|||||||
return hl;
|
return hl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EightBit::Intel8080::reset() {
|
||||||
|
IntelProcessor::reset();
|
||||||
|
INT() = false;
|
||||||
|
di();
|
||||||
|
}
|
||||||
|
|
||||||
void EightBit::Intel8080::di() {
|
void EightBit::Intel8080::di() {
|
||||||
m_interruptEnable = false;
|
m_interruptEnable = false;
|
||||||
}
|
}
|
||||||
|
@@ -28,6 +28,7 @@ void EightBit::Z80::reset() {
|
|||||||
|
|
||||||
IntelProcessor::reset();
|
IntelProcessor::reset();
|
||||||
|
|
||||||
|
INT() = NMI() = false;
|
||||||
di();
|
di();
|
||||||
IM() = 0;
|
IM() = 0;
|
||||||
|
|
||||||
@@ -662,9 +663,8 @@ int EightBit::Z80::step() {
|
|||||||
if (IFF1()) {
|
if (IFF1()) {
|
||||||
di();
|
di();
|
||||||
switch (IM()) {
|
switch (IM()) {
|
||||||
case 0:
|
case 0: // i8080 equivalent
|
||||||
return execute(BUS().DATA());
|
return execute(BUS().DATA());
|
||||||
break;
|
|
||||||
case 1:
|
case 1:
|
||||||
restart(7 << 3);
|
restart(7 << 3);
|
||||||
addCycles(13);
|
addCycles(13);
|
||||||
|
Reference in New Issue
Block a user