Skip to content

Add DocBoy emulator.#26

Merged
avivace merged 15 commits intogbdev:mainfrom
Docheinstein:add-docboy
Mar 22, 2026
Merged

Add DocBoy emulator.#26
avivace merged 15 commits intogbdev:mainfrom
Docheinstein:add-docboy

Conversation

@Docheinstein
Copy link
Contributor

@Docheinstein Docheinstein commented Apr 16, 2024

Changes introduced by this PR:

As a consequence, this PR also update usages of Windows commands and Python packages that are not supported yet by the GitHub actions.

Commits:

  • b5f23e5: Add DocBoy emulator.
  • 868c6ea: Replace Extract-7Zip with Expand-7ZipArchive.
  • 50436ed: Replace distutils.dir_util.copy_tree with shutil.copytree.
  • 7c3fc90: Run ax6 roms on DMG.
  • 8a74c6f: Explicitly set DocBoy scaling factor to 1.

Closes #24.
Closes #25.

The Extract-7Zip command is not supported anymore by GitHub actions.
It has been replaced with the Expand-7ZipArchive.

Source: actions/runner-images#9361 (comment)
The distutils package has been removed with Python 3.12 (that is the
Python version run by the GitHub actions at the moment).
We were using it for distutils.dir_util.copy_tree, which has been
replaced with shutil.copytree.

Source: https://docs.python.org/3.11/whatsnew/3.10.html#distutils-deprecated
ax6's RTC tests do not actually need CGB; DMG is fully capable of run
these roms. Therefore, the CGB requirement has been removed and
the screenshots of such roms have been updated with the DMG's one.
@Docheinstein
Copy link
Contributor Author

Docheinstein commented May 18, 2024

I guess the workflow failed because I don't have the permissions/I am not a contributor??

Screenshot from 2024-05-18 14-33-50

By the way, feel free to tell me if there's something of this PR I could improve or change.

@vulcandth
Copy link
Contributor

I'm going to work on this in a bit once I get the other emulators updated.

Copy link
Member

@avivace avivace left a comment

Choose a reason for hiding this comment

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

The changes related to DocBoy seem ok to me but:

  • ax6 test roms results are updated (?)
  • there are some unrelated changes in the ares emulator and in the main pipeline

Start-Service audio*
Invoke-WebRequest https://github.com/duncanthrax/scream/releases/download/3.6/Scream3.6.zip -OutFile C:\Scream3.6.zip
Extract-7Zip -Path C:\Scream3.6.zip -DestinationPath C:\Scream
Expand-7ZipArchive -Path C:\Scream3.6.zip -DestinationPath C:\Scream
Copy link
Member

Choose a reason for hiding this comment

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

unrelated change?

import PIL.Image
import PIL.ImageOps
from distutils.dir_util import copy_tree
from shutil import copytree
Copy link
Member

Choose a reason for hiding this comment

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

unrelated change?

Copy link
Contributor Author

@Docheinstein Docheinstein Mar 21, 2026

Choose a reason for hiding this comment

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

At the time of my PR this was making the pipeline fail, as distutils has been removed starting from Python 3.12 release note.

I'll revert this and the other changes, as they have already been fixed in the main branch.


if not os.path.exists("emu/ares/ares.exe"):
copy_tree(os.path.join("emu/ares", os.listdir("emu/ares")[0]), "emu/ares")
copytree(os.path.join("emu/ares", os.listdir("emu/ares")[0]), "emu/ares")
Copy link
Member

Choose a reason for hiding this comment

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

unrelated change?

@Docheinstein
Copy link
Contributor Author

Hi everyone.

I've just noticed that the original repo has been moved and has been updated recently, great.

I've noticed that there a few conflicts now: I'll update my branch so that we can make the merge smoother.

Furthermore, now DocBoy also CGB in addition to DMG, so I'll consider add it as well.

testroms/ax6.py Outdated
Comment on lines +5 to +7
Test("ax6/rtc3test-1.gb", runtime=9.5, model=CGB),
Test("ax6/rtc3test-2.gb", runtime=7.5, model=CGB),
Test("ax6/rtc3test-3.gb", runtime=20.0, model=CGB),
Test("ax6/rtc3test-1.gb", runtime=9.5),
Test("ax6/rtc3test-2.gb", runtime=7.5),
Test("ax6/rtc3test-3.gb", runtime=20.0),
Copy link
Contributor

Choose a reason for hiding this comment

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

Please revert the ax6 test changes for now. This will be changed, but not in this PR. Thanks!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure. Done!

@vulcandth vulcandth changed the title Add DocBoy emulator. Run ax6 roms on DMG too. Add DocBoy emulator. Mar 21, 2026
@vulcandth vulcandth added the new-emulator An emulator to be added label Mar 21, 2026
Copy link
Contributor

@vulcandth vulcandth left a comment

Choose a reason for hiding this comment

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

This looks good, but we need to add the emulator into the CI as well. I can take care of this and push an update to this PR myself.

Furthermore, I have change I am making to fix #65 and #66 and I'd like to wait to merge this until after that PR is created/merged.

@Rangi42 Rangi42 removed their request for review March 21, 2026 14:24
@avivace
Copy link
Member

avivace commented Mar 21, 2026

This looks good, but we need to add the emulator into the CI as well. I can take care of this and push an update to this PR myself.

Furthermore, I have change I am making to fix #65 and #66 and I'd like to wait to merge this until after that PR is created/merged.

Can we merge without the CI part at the moment? That shouldn't need any other fix, right? Then we can work on the CI part after those other things you mentioned are fixed.

@vulcandth
Copy link
Contributor

vulcandth commented Mar 21, 2026

This needs a CI workflow like the other emulators.

See the GitHub CI workflow files

@Docheinstein
Copy link
Contributor Author

This needs a CI workflow like the other emulators.

See the GitHub CI workflow files

All right, didn't know about the CI files, I'll add it later then.

@avivace
Copy link
Member

avivace commented Mar 21, 2026

This needs a CI workflow like the other emulators.

See the GitHub CI workflow files

I know, but merging what we have won't hurt (we simply won't have the results just yet in the gh-pages branch) and CI can be added later - I just don't want to have this blocked nor blocking if there's not a real reason for it.

@vulcandth
Copy link
Contributor

This needs a CI workflow like the other emulators.

See the GitHub CI workflow files

I know, but merging what we have won't hurt (we simply won't have the results just yet in the gh-pages branch) and CI can be added later - I just don't want to have this blocked nor blocking if there's not a real reason for it.

The main blocker was that other PR that just got merged because I expected a merge conflict.

My full intent was to fix the merge conflict here and add the CI myself then merge this PR after. Next on my to-do list. But I'm about to see a movie with the wife now so it would be after.

If you would like to fix the merge conflict and merge without the CI that is fine. I'll add the CI later. No worries. 😊

@Rangi42
Copy link
Contributor

Rangi42 commented Mar 21, 2026

Although also, it's not really "blocking" anything to leave this open, since whether or not it gets merged as-is, Vulcandth's next intended task is to add CI for it. Unless somebody else's intended tasks need this merged first too, and they don't need CI to work for it.

@Docheinstein
Copy link
Contributor Author

In the latest commits I've solved the conflicts with upstream, added the ci-docboy.yml to the workflows and added support for DocBoy in CGB as well. Let me know if that's fine.

@avivace avivace merged commit 38ab949 into gbdev:main Mar 22, 2026
1 check passed
@Docheinstein Docheinstein deleted the add-docboy branch March 22, 2026 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-emulator An emulator to be added

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ax6 roms don't actually need CGB Add DocBoy

4 participants