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/xtensa.cpp, skeleton/hudson_poems.cpp: Added initial emulation for CPU core, and Poems hardware that utilizes it [David Haywood] #11824

Merged
merged 5 commits into from
Dec 10, 2023

Conversation

mamehaze
Copy link
Contributor

@mamehaze mamehaze commented Dec 8, 2023

xtensa.cpp

  • implemented an execution core with support for feature level required by hudson/konami PLAY-POEMS hardware
  • fixed a number of bugs in the disassembler

hudson_poems.cpp

  • got Marimba Tengoku to boot
  • reverse engineered many functions of the video hardware (4 tilemaps, sprites etc.) and created a preliminary implementation

@rb6502
Copy link
Contributor

rb6502 commented Dec 9, 2023

This looks pretty reasonable at a first run-through. Two general notes:

  1. Search-and-replace the few instances of full types in the xtensa stuff (uint32_t) for the short u8/u16/u32 forms the majority of the code's using.

  2. For pulling fields out of the opcode and not modifying them again (reg_s, reg_r, that kind of thing) make those variables const. Every little bit we can help the compiler is good, especially in CPU cores.

@mamehaze
Copy link
Contributor Author

mamehaze commented Dec 9, 2023

This looks pretty reasonable at a first run-through. Two general notes:

1. Search-and-replace the few instances of full types in the xtensa stuff (uint32_t) for the short u8/u16/u32 forms the majority of the code's using.

2. For pulling fields out of the opcode and not modifying them again (reg_s, reg_r, that kind of thing) make those variables const.  Every little bit we can help the compiler is good, especially in CPU cores.

done and done

Copy link
Member

@cuavas cuavas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This mostly looks fine. Just a few relatively easy things and it’ll be mergeable.

src/devices/cpu/xtensa/xtensa_tables.h Outdated Show resolved Hide resolved
src/devices/cpu/xtensa/xtensa.cpp Outdated Show resolved Hide resolved
src/mame/skeleton/hudson_poems.cpp Outdated Show resolved Hide resolved
src/mame/skeleton/hudson_poems.cpp Outdated Show resolved Hide resolved
@cuavas cuavas changed the title xtensa.cpp / hudson_poems.cpp - further develop core alongside reverse engineering of Poems hardware utilizing it [David Haywood] cpu/xtensa.cpp, skeleton/hudson_poems.cpp: Added initial emulation for CPU core, and Poems hardware that utilizes it [David Haywood] Dec 10, 2023
@rb6502 rb6502 merged commit 90c1511 into mamedev:master Dec 10, 2023
3 of 5 checks passed
Luigi30 pushed a commit to Luigi30/mame that referenced this pull request Dec 16, 2023
…r CPU core, and Poems hardware that utilizes it [David Haywood] (mamedev#11824)

* Xtensa work, alongside Poems hardware improvements to show the core is functional [David Haywood]
---------
Co-authored-by: David Haywood <hazemamewip@hotmail.com>
einstein95 pushed a commit to einstein95/mame that referenced this pull request Mar 2, 2024
…r CPU core, and Poems hardware that utilizes it [David Haywood] (mamedev#11824)

* Xtensa work, alongside Poems hardware improvements to show the core is functional [David Haywood]
---------
Co-authored-by: David Haywood <hazemamewip@hotmail.com>
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