Skip to content
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

Merged
merged 11 commits into from Nov 2, 2023

Conversation

mamehaze
Copy link
Contributor

@mamehaze mamehaze commented Oct 29, 2023

new machines marked as NOT WORKING

Evolution Max [Team Europe, David Haywood]

Comment on lines 39 to 59
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;
}
}
Copy link
Member

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?

Comment on lines 72 to 77
while (m_icount > 0)
{
debugger_instruction_hook(m_pc);
m_pc++;
m_icount--;
}
Copy link
Member

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.

Comment on lines 9 to 12
enum
{
EVO_PC = STATE_GENPC
};
Copy link
Member

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?

Comment on lines 23 to 24
virtual uint32_t execute_min_cycles() const noexcept override { return 5; }
virtual uint32_t execute_max_cycles() const noexcept override { return 5; }
Copy link
Member

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.

Comment on lines 41393 to 41397
@source:skeleton/evolution_handheld.cpp
evolhh

@source:skeleton/eurocom2.cpp
eurocom2 //
Copy link
Member

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).

Comment on lines 8 to 11
#include "speaker.h"
#include "screen.h"

#include "cpu/evolution/evo.h"
Copy link
Member

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.

@cuavas cuavas merged commit f2bd8d6 into mamedev:master Nov 2, 2023
0 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants