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

cpu/xa: CPU core work for fearless/superkds - adds sound, promotes to working #12617

Merged
merged 2 commits into from
Jul 26, 2024

Conversation

mamehaze
Copy link
Contributor

@mamehaze mamehaze commented Jul 25, 2024

(squashed version of the PR, as requested)

this adds basic execution to XA core. It emulates enough of the XA to give fearless and superkds working sound.

some considerations

  • only the exact forms of the opcodes used so far have been implemented
  • no optimizations have been done, use of const, inline use, templates etc. are planned for a future update; code is still primed for debugging and development
  • overall structure, code style are not 100% final (see above) and will be adjusted as the CPU is better understood
  • peripherals, interrupts etc. are not yet fully implemented, nor is anything outside of the page zero mode used here due to lack of test cases

Machines Promoted to WORKING

Super Kids (S019CN) [David Haywood, XingXing]
Fearless Pinocchio (V101US) [David Haywood, XingXing, Peter Wilhelmsen, rtw]

@rb6502
Copy link
Contributor

rb6502 commented Jul 26, 2024

This is generally pretty good. I have one request: search-and-replace to get rid of XA_EXECUTE_PARAMS and XA_EXECUTE_CALL_PARAMS. It's unnecessary obfuscation and it's a lot more typing than just "u8 op" and "op". I can accept the disassembler versions where there's a ton of boilerplate parameters going everywhere, but in the execution it's just making it worse for no gain.

@mamehaze
Copy link
Contributor Author

This is generally pretty good. I have one request: search-and-replace to get rid of XA_EXECUTE_PARAMS and XA_EXECUTE_CALL_PARAMS. It's unnecessary obfuscation and it's a lot more typing than just "u8 op" and "op". I can accept the disassembler versions where there's a ton of boilerplate parameters going everywhere, but in the execution it's just making it worse for no gain.

done

@rb6502 rb6502 changed the title XA work for fearless/superkds - adds sound, promotes to working cpu/xa: CPU core work for fearless/superkds - adds sound, promotes to working Jul 26, 2024
@rb6502 rb6502 merged commit a1b2974 into mamedev:master Jul 26, 2024
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.

2 participants