New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
new skeleton - Evolution (Help needed to identify CPU type!) #11676
Conversation
src/devices/cpu/evolution/evo.cpp
Outdated
void evo_cpu_device::state_export(const device_state_entry &entry) | ||
{ | ||
switch (entry.index()) | ||
{ | ||
case EVO_PC: | ||
case STATE_GENPCBASE: | ||
m_debugger_temp = m_pc; | ||
break; | ||
} | ||
} | ||
|
||
void evo_cpu_device::state_import(const device_state_entry &entry) | ||
{ | ||
switch (entry.index()) | ||
{ | ||
case EVO_PC: | ||
case STATE_GENPCBASE: | ||
m_pc = (m_debugger_temp & 0xffffffff); | ||
break; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What’s the reason for not exporting m_pc
directly?
src/devices/cpu/evolution/evo.cpp
Outdated
while (m_icount > 0) | ||
{ | ||
debugger_instruction_hook(m_pc); | ||
m_pc++; | ||
m_icount--; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be worth at least skipping two words for the jump instructions that are known to be two words long? If you just want it to show disassembly and don’t care for execution at all, you can stub out the function with just m_icount = 0;
and nothing else.
src/devices/cpu/evolution/evo.h
Outdated
enum | ||
{ | ||
EVO_PC = STATE_GENPC | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you put this inside evo_cpu_device
to keep the constants out of the global namespace?
src/devices/cpu/evolution/evo.h
Outdated
virtual uint32_t execute_min_cycles() const noexcept override { return 5; } | ||
virtual uint32_t execute_max_cycles() const noexcept override { return 5; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is potentially going to do strange things when the loop in execute_run
has granularity of 1 while you’re returning 5 from execute_min_cycles
.
src/mame/mame.lst
Outdated
@source:skeleton/evolution_handheld.cpp | ||
evolhh | ||
|
||
@source:skeleton/eurocom2.cpp | ||
eurocom2 // |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please put the source files in alphabetical order (v comes after u).
#include "speaker.h" | ||
#include "screen.h" | ||
|
||
#include "cpu/evolution/evo.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please put headers from src/emu after headers from src/devices, and keep the headers from src/emu in alphabetical order.
new machines marked as NOT WORKING
Evolution Max [Team Europe, David Haywood]