diff --git a/examples/python/bench.py b/examples/python/bench.py index e722f6264a275281428b180e6881bc99f671b24c..c40e596babcce8d68d2dcea3c29e332535fe7a81 100644 --- a/examples/python/bench.py +++ b/examples/python/bench.py @@ -1,13 +1,16 @@ from time import time from boytacean import GameBoy, CPU_FREQ +from os.path import dirname, realpath, join + +CURRENT_DIR = dirname(realpath(__file__)) +ROM_PATH = join(CURRENT_DIR, "../../res/roms/demo/pocket.gb") CLOCK_COUNT = 100000000 gb = GameBoy(apu_enabled=False, serial_enabled=False) -gb.load_rom("../../res/roms/demo/pocket.gb") +gb.load_rom(ROM_PATH) start = time() cycles = gb.clocks(CLOCK_COUNT) total = time() - start print(f"Time taken: {total:.2f} seconds") print(f"Speedup: {cycles / (CPU_FREQ * total):.2f}x") -gb.save_image("pocket.png") diff --git a/examples/python/pocket.py b/examples/python/pocket.py index e9e96d3362a7fbe23ddfa8576226e6aa5427ed80..8d8cf6bc937e4d01b2c8ccf3107fa18a2d16a8ad 100644 --- a/examples/python/pocket.py +++ b/examples/python/pocket.py @@ -1,10 +1,14 @@ from time import time from boytacean import GameBoy, VISUAL_FREQ +from os.path import dirname, realpath, join + +CURRENT_DIR = dirname(realpath(__file__)) +ROM_PATH = join(CURRENT_DIR, "../../res/roms/demo/pocket.gb") FRAME_COUNT = 12000 gb = GameBoy(apu_enabled=False, serial_enabled=False) -gb.load_rom("../../res/roms/demo/pocket.gb") +gb.load_rom(ROM_PATH) start = time() for _ in range(FRAME_COUNT): gb.next_frame() diff --git a/examples/python/pocket_pyboy.py b/examples/python/pocket_pyboy.py index 8ee4d8d40d9451898fa08b533feb980b63bfd994..aad4a24da9177635869705c4970a3cf1b7eb37b0 100644 --- a/examples/python/pocket_pyboy.py +++ b/examples/python/pocket_pyboy.py @@ -1,9 +1,14 @@ from time import time -from pyboy import PyBoy, VISUAL_FREQ +from pyboy import PyBoy +from os.path import dirname, realpath, join + +CURRENT_DIR = dirname(realpath(__file__)) +ROM_PATH = join(CURRENT_DIR, "../../res/roms/demo/pocket.gb") FRAME_COUNT = 12000 +VISUAL_FREQ = 59.7275 -with PyBoy("../../res/roms/demo/pocket.gb", disable_renderer=True) as pyboy: +with PyBoy(ROM_PATH, disable_renderer=True) as pyboy: pyboy.set_emulation_speed(0) print(pyboy.cartridge_title()) start = time() @@ -12,4 +17,6 @@ with PyBoy("../../res/roms/demo/pocket.gb", disable_renderer=True) as pyboy: total = time() - start print(f"Time taken: {total:.2f} seconds") print(f"Speedup: {FRAME_COUNT / total / VISUAL_FREQ:.2f}x") - pyboy.screen_image().save("pocket_pyboy.png") + image = pyboy.screen_image() + if image: + image.save("pocket_pyboy.png") diff --git a/src/python/boytacean/gb.py b/src/python/boytacean/gb.py index fd43147ac21a688698b67d8cbaf3a2c5f737d10a..9329e40175dc6d505b1ec363e76e360ca5f07516 100644 --- a/src/python/boytacean/gb.py +++ b/src/python/boytacean/gb.py @@ -97,7 +97,7 @@ This is a [Game Boy](https://en.wikipedia.org/wiki/Game_Boy) emulator built usin def save_image(self, filename: str, format: str = "png"): image = self.image() - image.save(f"{filename}.{format.lower()}", format=format) + image.save(filename, format=format) def video( self,