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

Mega Duck support? #168

Closed
emkultra64 opened this issue Jun 5, 2021 · 5 comments
Closed

Mega Duck support? #168

emkultra64 opened this issue Jun 5, 2021 · 5 comments

Comments

@emkultra64
Copy link

Not exactly trivial to implement but I've been hearing that the Mega Duck is identical hardware-wise to a Game Boy with the exception of some data address lines having been moved, making game cartridges and ROM data nominally incompatible. The similarities are such that LIJI32 was able to make a highly accurate branch of SameBoy compatible with Mega Duck games in a very short space of time: https://github.com/LIJI32/SameBoy/tree/SameDuck

A very goofy request I'm sure, but it might make a fun rainy day project.

@birdybro
Copy link
Member

They aren't identical hardware wise either. It would take significantly more effort than it is worth to add a switch in the OSD to change how that data address lines work. It would be more appropriate for someone to develop a new core by forking this core. Maybe this is an opportunity for you to learn how? :)

Mega Duck Game Boy Color
CPU MOS version of the Z80 (embedded in the main VLSI ) Similar to the Z80, manufactured by Sharp with some bit manipulation
Clock Speed 4.194304 MHz 8 MHz
RAM 16 KB in two 8K chips (Goldstar GM76C88LFW) 32 kilobytes of system RAM, 16 kilobytes of video RAM

@emkultra64
Copy link
Author

emkultra64 commented Dec 20, 2021

They aren't identical hardware wise either. It would take significantly more effort than it is worth to add a switch in the OSD to change how that data address lines work. It would be more appropriate for someone to develop a new core by forking this core. Maybe this is an opportunity for you to learn how? :)
Mega Duck Game Boy Color
CPU MOS version of the Z80 (embedded in the main VLSI ) Similar to the Z80, manufactured by Sharp with some bit manipulation
Clock Speed 4.194304 MHz 8 MHz
RAM 16 KB in two 8K chips (Goldstar GM76C88LFW) 32 kilobytes of system RAM, 16 kilobytes of video RAM

Ahh, that definitely looks pretty different, yeah. I guess I didn't consider differences to the CGB model and the fact that the core is reimplementing GBC hardware. My mistake.

From what I've read about and heard about, it's the original DMG model that the MegaDuck shares so much in common with. It has the exact same CPU clock speed, the 16 KB RAM in two chips (one for video RAM and the other for work RAM) and the similarities are so dead-on there that it's suspected to be made from stolen hardware documents/HDL code. According to Lior Halphon (the developer of SameBoy) the only differences to the DMG are lack of boot ROM and aforementioned shuffled registers. Still, "more effort than it's worth" is a totally reasonable assessment of this sort of thing.

I appreciate the acknowledgement of this suggestion. Closing.

@birdybro
Copy link
Member

@Em-K-IronFist this is added now. You can try the latest unstable build here:

Gameboy_unstable_20220417_0897aa.zip

@emkultra64
Copy link
Author

@birdybro this is the most unexpected and wonderful surprise I've seen in ages! Thank you!

@birdybro
Copy link
Member

Thank @Kitrinx she made it happen :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants