diff --git a/CHANGES b/CHANGES index 52a2b56f4..cd50be6d3 100644 --- a/CHANGES +++ b/CHANGES @@ -17,6 +17,7 @@ Features: - ELF support Bugfixes: - GB Audio: Make audio unsigned with bias (fixes mgba.io/i/749) + - Python: Fix importing .gb or .gba before .core Misc: - GBA Timer: Use global cycles for timers - GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722) diff --git a/src/platform/python/mgba/core.py b/src/platform/python/mgba/core.py index 9deb4000b..6f9897439 100644 --- a/src/platform/python/mgba/core.py +++ b/src/platform/python/mgba/core.py @@ -91,6 +91,12 @@ class CoreCallbacks(object): cb() class Core(object): + if hasattr(lib, 'PLATFORM_GBA'): + PLATFORM_GBA = lib.PLATFORM_GBA + + if hasattr(lib, 'PLATFORM_GB'): + PLATFORM_GB = lib.PLATFORM_GB + def __init__(self, native): self._core = native self._wasReset = False @@ -117,8 +123,10 @@ class Core(object): @classmethod def _detect(cls, core): if hasattr(cls, 'PLATFORM_GBA') and core.platform(core) == cls.PLATFORM_GBA: + from .gba import GBA return GBA(core) if hasattr(cls, 'PLATFORM_GB') and core.platform(core) == cls.PLATFORM_GB: + from .gb import GB return GB(core) return Core(core) @@ -253,12 +261,3 @@ class IRunner(object): def isPaused(self): raise NotImplementedError - -if hasattr(lib, 'PLATFORM_GBA'): - from .gba import GBA - Core.PLATFORM_GBA = lib.PLATFORM_GBA - -if hasattr(lib, 'PLATFORM_GB'): - from .gb import GB - from .lr35902 import LR35902Core - Core.PLATFORM_GB = lib.PLATFORM_GB