From d22e3f42a99ca29d5e623ee944bbe8809da327dc Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 21:54:44 -0600 Subject: [PATCH 01/21] remove frameskip and max frames --- nes_py/nes_env.py | 69 ++++++++++++----------------------------------- 1 file changed, 17 insertions(+), 52 deletions(-) diff --git a/nes_py/nes_env.py b/nes_py/nes_env.py index 78df429..135abd6 100644 --- a/nes_py/nes_env.py +++ b/nes_py/nes_env.py @@ -99,17 +99,12 @@ class NESEnv(gym.Env): # action space is a bitmap of button press values for the 8 NES buttons action_space = Discrete(256) - def __init__(self, rom_path, - frames_per_step=1, - max_episode_steps=float('inf') - ): + def __init__(self, rom_path): """ Create a new NES environment. Args: rom_path (str): the path to the ROM for the environment - frames_per_step (int): the number of frames between steps - max_episode_steps (int): number of steps before an episode ends Returns: None @@ -121,29 +116,14 @@ def __init__(self, rom_path, # ensure that rom_path points to an existing .nes file if not '.nes' in rom_path or not os.path.isfile(rom_path): raise ValueError('rom_path should point to a ".nes" file') + self._rom_path = rom_path + + # TODO: extract to separate file that checks other things in the header # make sure the magic characters are in the iNES file with open(rom_path, 'rb') as nes_file: magic = nes_file.read(4) if magic != MAGIC: raise ValueError('{} is not a valid ".nes" file'.format(rom_path)) - self._rom_path = rom_path - - # check the frame skip variable - if not isinstance(frames_per_step, int): - raise TypeError('frames_per_step must be of type: int') - if frames_per_step <= 0: - raise ValueError('frames_per_step must be > 0') - self._frames_per_step = frames_per_step - # adjust the FPS of the environment by the given frames_per_step value - self.metadata['video.frames_per_second'] /= frames_per_step - - # check the max episode steps - if not isinstance(max_episode_steps, (int, float)): - raise TypeError('max_episode_steps must be of type: int, float') - if max_episode_steps <= 0: - raise ValueError('max_episode_steps must be > 0') - self._max_episode_steps = max_episode_steps - self._steps = 0 # initialize the C++ object for running the environment self._env = _LIB.Initialize(self._rom_path) @@ -151,11 +131,12 @@ def __init__(self, rom_path, self.viewer = None # setup a placeholder for a pointer to a backup state self._has_backup = False - # setup the NumPy screen from the C++ vector - self.screen = None - self.ram = None + # setup a done flag self.done = True + # setup the NumPy buffers for the screen and RAM + self.screen = None self._setup_screen() + self.ram = None self._setup_ram() def _setup_screen(self): @@ -185,7 +166,6 @@ def _setup_ram(self): buffer_ = ctypes.cast(address, ctypes.POINTER(RAM_VECTOR)).contents # create a NumPy array from the buffer self.ram = np.frombuffer(buffer_, dtype='uint8') - # TODO: handle endian-ness of machine? def _frame_advance(self, action): """ @@ -221,8 +201,6 @@ def reset(self): state (np.ndarray): next frame as a result of the given action """ - # reset the steps counter - self._steps = 0 # call the before reset callback self._will_reset() # reset the emulator @@ -256,32 +234,19 @@ def step(self, action): - info (dict): contains auxiliary diagnostic information """ + # if the environment is done, raise an error if self.done: raise ValueError('cannot step in a done environment! call `reset`') - # setup the reward, done, and info for this step - reward = 0 - self.done = False - info = {} - # iterate over the frames to skip - for _ in range(self._frames_per_step): - # pass the action to the emulator as an unsigned byte - _LIB.Step(self._env, action) - # get the reward for this step - reward += self._get_reward() - # get the done flag for this step - self.done = self.done or self._get_done() - # get the info for this step - info = self._get_info() - # if done terminate the collection early - if self.done: - break + # pass the action to the emulator as an unsigned byte + _LIB.Step(self._env, action) + # get the reward for this step + reward = self._get_reward() + # get the done flag for this step + self.done = self._get_done() + # get the info for this step + info = self._get_info() # call the after step callback self._did_step(self.done) - # increment the steps counter - self._steps += 1 - # set the done flag to true if the steps are past the max - if self._steps >= self._max_episode_steps: - self.done = True # bound the reward in [min, max] if reward < self.reward_range[0]: reward = self.reward_range[0] From 1e1e885737071df37ab5e0d6558219af8023e8d7 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 21:57:53 -0600 Subject: [PATCH 02/21] arg types --- nes_py/nes_env.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nes_py/nes_env.py b/nes_py/nes_env.py index 135abd6..974b663 100644 --- a/nes_py/nes_env.py +++ b/nes_py/nes_env.py @@ -172,7 +172,7 @@ def _frame_advance(self, action): Advance a frame in the emulator with an action. Args: - action: the action to press on the joy-pad + action (byte): the action to press on the joy-pad Returns: None @@ -272,7 +272,7 @@ def _did_step(self, done): Handle any RAM hacking after a step occurs. Args: - done: whether the done flag is set to true + done (bool): whether the done flag is set to true Returns: None From 539d829862a67bcbc675bf5f667e033987aed567 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 22:41:43 -0600 Subject: [PATCH 03/21] add ROM class --- nes_py/_rom.py | 222 ++++++++++++ nes_py/tests/games/excitebike.nes | Bin 0 -> 24592 bytes nes_py/tests/games/super-mario-bros-1.nes | Bin 0 -> 40976 bytes nes_py/tests/games/super-mario-bros-2.nes | Bin 0 -> 262160 bytes nes_py/tests/games/super-mario-bros-3.nes | Bin 0 -> 393232 bytes .../games/super-mario-bros-lost-levels.nes | Bin 0 -> 40976 bytes nes_py/tests/games/the-legend-of-zelda.nes | Bin 0 -> 131088 bytes nes_py/tests/rom_file_abs_path.py | 25 ++ nes_py/tests/test_rom.py | 335 ++++++++++++++++++ 9 files changed, 582 insertions(+) create mode 100644 nes_py/_rom.py create mode 100755 nes_py/tests/games/excitebike.nes create mode 100644 nes_py/tests/games/super-mario-bros-1.nes create mode 100755 nes_py/tests/games/super-mario-bros-2.nes create mode 100755 nes_py/tests/games/super-mario-bros-3.nes create mode 100755 nes_py/tests/games/super-mario-bros-lost-levels.nes create mode 100644 nes_py/tests/games/the-legend-of-zelda.nes create mode 100644 nes_py/tests/rom_file_abs_path.py create mode 100644 nes_py/tests/test_rom.py diff --git a/nes_py/_rom.py b/nes_py/_rom.py new file mode 100644 index 0000000..f21bef1 --- /dev/null +++ b/nes_py/_rom.py @@ -0,0 +1,222 @@ +"""An abstraction of the NES Read-Only Memory (ROM). + +Notes: + - http://wiki.nesdev.com/w/index.php/INES +""" +import os + + +class ROM(object): + """An abstraction of the NES Read-Only Memory (ROM).""" + + # the magic bytes expected at the first four bytes of the header. + # It spells "NES" + _MAGIC = bytes([0x4E, 0x45, 0x53, 0x1A]) + + def __init__(self, rom_path: str) -> None: + """ + Initialize a new ROM. + + Args: + rom_path: the path to the ROM file + + Returns: + None + + """ + # make sure the rom path is a string + if not isinstance(rom_path, str): + raise TypeError('rom_path must be of type: str') + # make sure the rom path exists + if not os.path.exists(rom_path): + msg = 'rom_path points to non-existent file {}'.format(rom_path) + raise ValueError(msg) + # read the binary data in the .nes ROM file + with open(rom_path, 'rb') as nes_file: + self.raw_data = nes_file.read() + # ensure the first 4 bytes are 0x4E45531A (NES) + if self._magic != self._MAGIC: + raise ValueError('ROM missing magic number in header') + if self._zero_fill != 0: + raise ValueError("ROM header zero fill bytes are not zero") + + # + # MARK: Header + # + + @property + def header(self) -> bytes: + """Return the header of the ROM file.""" + return self.raw_data[:16] + + @property + def _magic(self) -> bytes: + """Return the magic bytes in the first 4 bytes.""" + return self.header[:4] + + @property + def prg_rom_size(self) -> int: + """Return the size of the PRG ROM in KB.""" + return 16 * self.header[4] + + @property + def chr_rom_size(self) -> int: + """Return the size of the CHR ROM in KB.""" + return 8 * self.header[5] + + @property + def flags_6(self) -> str: + """Return the flags at the 6th byte of the header.""" + return '{:08b}'.format(self.header[6]) + + @property + def flags_7(self) -> str: + """Return the flags at the 7th byte of the header.""" + return '{:08b}'.format(self.header[7]) + + @property + def prg_ram_size(self) -> int: + """Return the size of the PRG RAM in KB.""" + size = self.header[8] + # size becomes 8 when it's zero for compatibility + if size == 0: + size = 1 + + return 8 * size + + @property + def flags_9(self) -> str: + """Return the flags at the 9th byte of the header.""" + return '{:08b}'.format(self.header[9]) + + @property + def flags_10(self) -> str: + """ + Return the flags at the 10th byte of the header. + + Notes: + - these flags are not part of official specification. + - ignored in this emulator + + """ + return '{:08b}'.format(self.header[10]) + + @property + def _zero_fill(self) -> int: + """Return the zero fill bytes at the end of the header.""" + return int.from_bytes(self.header[11:], byteorder='big') + + # + # MARK: Header Flags + # + + @property + def mapper(self) -> int: + """Return the mapper number this ROM uses.""" + # the high nibble is in flags 7, the low nibble is in flags 6 + return int(self.flags_7[:4] + self.flags_6[:4], 2) + + @property + def is_ignore_mirroring(self) -> bool: + """Return a boolean determining if the ROM ignores mirroring.""" + return bool(int(self.flags_6[4])) + + @property + def has_trainer(self) -> bool: + """Return a boolean determining if the ROM has a trainer block.""" + return bool(int(self.flags_6[5])) + + @property + def has_battery_backed_ram(self) -> bool: + """Return a boolean determining if the ROM has a battery-backed RAM.""" + return bool(int(self.flags_6[6])) + + @property + def is_vertical_mirroring(self) -> bool: + """Return the mirroring mode this ROM uses.""" + return bool(int(self.flags_6[7])) + + @property + def has_play_choice_10(self) -> bool: + """ + Return whether this cartridge uses PlayChoice-10. + + Note: + - Play-Choice 10 uses different color palettes for a different PPU + - ignored in this emulator + + """ + return bool(int(self.flags_7[6])) + + @property + def has_vs_unisystem(self) -> bool: + """ + Return whether this cartridge has VS Uni-system. + + Note: + VS Uni-system is for ROMs that have a coin slot (Arcades). + - ignored in this emulator + + """ + return bool(int(self.flags_7[7])) + + @property + def is_pal(self) -> bool: + """Return the TV system this ROM supports.""" + return bool(int(self.flags_9[7])) + + # + # MARK: ROM + # + + @property + def trainer_rom_start(self) -> bytes: + """The inclusive starting index of the trainer ROM.""" + return 16 + + @property + def trainer_rom_stop(self) -> bytes: + """The exclusive stopping index of the trainer ROM.""" + if self.has_trainer: + return 16 + 512 + else: + return 16 + + @property + def trainer_rom(self) -> bytes: + """Return the trainer ROM of the ROM file.""" + return self.raw_data[self.trainer_rom_start:self.trainer_rom_stop] + + @property + def prg_rom_start(self) -> bytes: + """The inclusive starting index of the PRG ROM.""" + return self.trainer_rom_stop + + @property + def prg_rom_stop(self) -> bytes: + """The exclusive stopping index of the PRG ROM.""" + return self.prg_rom_start + self.prg_rom_size * 2**10 + + @property + def prg_rom(self) -> bytes: + """Return the PRG ROM of the ROM file.""" + return self.raw_data[self.prg_rom_start:self.prg_rom_stop] + + @property + def chr_rom_start(self) -> bytes: + """The inclusive starting index of the CHR ROM.""" + return self.prg_rom_stop + + @property + def chr_rom_stop(self) -> bytes: + """The exclusive stopping index of the CHR ROM.""" + return self.chr_rom_start + self.chr_rom_size * 2**10 + + @property + def chr_rom(self) -> bytes: + """Return the CHR ROM of the ROM file.""" + return self.raw_data[self.chr_rom_start:self.chr_rom_stop] + + +# explicitly define the outward facing API of this module +__all__ = [ROM.__name__] diff --git a/nes_py/tests/games/excitebike.nes b/nes_py/tests/games/excitebike.nes new file mode 100755 index 0000000000000000000000000000000000000000..fac67b7b03825bd6f6d3644ba5be0c4d2d49188e GIT binary patch literal 24592 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

&)JjLJ?B1u{j1(rj~@1%zIOTW2UpMc)@{D> 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 Kt=CjVHUB^5U=4Br literal 0 HcmV?d00001 diff --git a/nes_py/tests/games/super-mario-bros-lost-levels.nes b/nes_py/tests/games/super-mario-bros-lost-levels.nes new file mode 100755 index 0000000000000000000000000000000000000000..e69a88988753af63958ca4c5a890fdc51d19254a GIT binary patch literal 40976 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 literal 0 HcmV?d00001 diff --git a/nes_py/tests/games/the-legend-of-zelda.nes b/nes_py/tests/games/the-legend-of-zelda.nes new file mode 100644 index 0000000000000000000000000000000000000000..d66573d28f220f55bb2f98debca2d665bc3197df GIT binary patch literal 131088 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 U&woNuGc~k^K4WWLg8xDMZ=tq5Y5)KL literal 0 HcmV?d00001 diff --git a/nes_py/tests/rom_file_abs_path.py b/nes_py/tests/rom_file_abs_path.py new file mode 100644 index 0000000..ef491c1 --- /dev/null +++ b/nes_py/tests/rom_file_abs_path.py @@ -0,0 +1,25 @@ +"""A method to get absolute paths of game ROMs.""" +import os + + +def rom_file_abs_path(file_name: str) -> str: + """ + Return the absolute path to a ROM in the games directory. + + Args: + file_name: the name of the ROM in the games directory to fetch + + Returns: + the absolute path to the given ROM filename in the games directory + + """ + # the directory of this file + dir_path = os.path.dirname(os.path.realpath(__file__)) + # the absolute path to the given ROM file + game_path = '{}/games/{}'.format(dir_path, file_name) + + return game_path + + +# explicitly define the outward facing API of this module +__all__ = [rom_file_abs_path.__name__] diff --git a/nes_py/tests/test_rom.py b/nes_py/tests/test_rom.py new file mode 100644 index 0000000..a8bc694 --- /dev/null +++ b/nes_py/tests/test_rom.py @@ -0,0 +1,335 @@ +"""Test cases for the ROM. + +Information about ROMs if found here: +http://tuxnes.sourceforge.net/nesmapper.txt + +""" +from unittest import TestCase +from .rom_file_abs_path import rom_file_abs_path + + +class ShouldImportROM(TestCase): + def test(self): + try: + from .._rom import ROM + self.assertIsInstance(ROM, object) + except ImportError: + self.fail('failed to import ROM from nes_py.cartridge.rom') + + +class ShouldNotCreateInstanceOfROMWithoutPath(TestCase): + def test(self): + from .._rom import ROM + self.assertRaises(TypeError, ROM) + + +class ShouldNotCreateInstanceOfROMWithInvaldPath(TestCase): + def test(self): + from .._rom import ROM + self.assertRaises(TypeError, lambda: ROM(5)) + self.assertRaises(ValueError, lambda: ROM('not a path')) + + +class ShouldNotCreateInstanceOfROMWithInvaldROMFile(TestCase): + def test(self): + from .._rom import ROM + empty = rom_file_abs_path('empty.nes') + self.assertRaises(ValueError, lambda: ROM(empty)) + + +# +# MARK: ROM Headers +# + + +class ShouldReadROMHeaderTestCase(object): + """The general form of a test case to check the header of a ROM.""" + + # the name of the ROM to test the header of + rom_name = None + + # the amount of program memory in the ROM (KB) + prg_rom_size = None + + # the amount of character map memory in the ROM (KB) + chr_rom_size = None + + # the amount of program RAM in the ROM (KB) + prg_ram_size = None + + # the number of the mapper this ROM uses + mapper = None + + # whether to ignore the mirroring setting bit + is_ignore_mirroring = None + + # whether the ROM contains a trainer block + has_trainer = None + + # whether the cartridge of the ROM has a battery-backed RAM module + has_battery_backed_ram = None + + # the mirroring mode used by the ROM + is_vertical_mirroring = None + + # whether the ROM uses PlayChoice-10 (8KB of Hint Screen after CHR data) + has_play_choice_10 = None + + # whether the ROM uses VS Unisystem + has_vs_unisystem = None + + # the TV system the ROM is designed for + is_pal = None + + # the address the trainer ROM starts at + trainer_rom_start = None + + # the address the trainer ROM stops at + trainer_rom_stop = None + + # the address the PRG ROM starts at + prg_rom_start = None + + # the address the PRG ROM stops at + prg_rom_stop = None + + # the address the CHR ROM starts at + chr_rom_start = None + + # the address the CHR ROM stops at + chr_rom_stop = None + + def setUp(self): + """Perform setup before each test.""" + from .._rom import ROM + rom_path = rom_file_abs_path(self.rom_name) + self.rom = ROM(rom_path) + + def test_header_length(self): + """Check the length of the header.""" + self.assertEqual(16, len(self.rom.header)) + + def test_prg_rom_size(self): + """Check the PRG ROM size.""" + self.assertEqual(self.prg_rom_size, self.rom.prg_rom_size) + + def test_chr_rom_size(self): + """Check the CHR ROM size.""" + self.assertEqual(self.chr_rom_size, self.rom.chr_rom_size) + + def test_prg_ram_size(self): + """Check the PRG RAM size.""" + self.assertEqual(self.prg_ram_size, self.rom.prg_ram_size) + + def test_mapper(self): + """Check the mapper number.""" + self.assertEqual(self.mapper, self.rom.mapper) + + def test_is_ignore_mirroring(self): + """Check whether the ROM is ignoring the mirroring mode.""" + expected = self.is_ignore_mirroring + actual = self.rom.is_ignore_mirroring + self.assertEqual(expected, actual) + + def test_has_trainer(self): + """Check whether the ROM has a trainer block or not.""" + self.assertEqual(self.has_trainer, self.rom.has_trainer) + + def test_has_battery_backed_ram(self): + """Check whether the ROM has battery-backed RAM.""" + expected = self.has_battery_backed_ram + actual = self.rom.has_battery_backed_ram + self.assertEqual(expected, actual) + + def test_is_vertical_mirroring(self): + """Check the mirroring mode of the ROM.""" + self.assertEqual(self.is_vertical_mirroring, self.rom.is_vertical_mirroring) + + def test_has_play_choice_10(self): + """Check whether the ROM uses PlayChoice-10.""" + self.assertEqual(self.has_play_choice_10, self.rom.has_play_choice_10) + + def test_has_vs_unisystem(self): + """Check whether the ROM uses a VS Unisystem.""" + self.assertEqual(self.has_vs_unisystem, self.rom.has_vs_unisystem) + + def test_is_pal(self): + """Check which TV mode the ROM is designed for.""" + self.assertEqual(self.is_pal, self.rom.is_pal) + + def test_trainer_rom_start(self): + """Check the starting address of trainer ROM.""" + self.assertEqual(self.trainer_rom_start, self.rom.trainer_rom_start) + + def test_trainer_rom_stop(self): + """Check the stopping address of trainer ROM.""" + self.assertEqual(self.trainer_rom_stop, self.rom.trainer_rom_stop) + + def test_trainer_rom(self): + """Check the trainer ROM.""" + size = self.trainer_rom_stop - self.trainer_rom_start + self.assertEqual(size, len(self.rom.trainer_rom)) + + def test_prg_rom_start(self): + """Check the starting address of PRG ROM.""" + self.assertEqual(self.prg_rom_start, self.rom.prg_rom_start) + + def test_prg_rom_stop(self): + """Check the stopping address of PRG ROM.""" + self.assertEqual(self.prg_rom_stop, self.rom.prg_rom_stop) + + def test_prg_rom(self): + """Check the PRG ROM.""" + size = (self.prg_rom_stop - self.prg_rom_start) + self.assertEqual(size, len(self.rom.prg_rom)) + + def test_chr_rom_start(self): + """Check the starting address of CHR ROM.""" + self.assertEqual(self.chr_rom_start, self.rom.chr_rom_start) + + def test_chr_rom_stop(self): + """Check the stopping address of CHR ROM.""" + self.assertEqual(self.chr_rom_stop, self.rom.chr_rom_stop) + + def test_chr_rom(self): + """Check the CHR ROM.""" + size = (self.chr_rom_stop - self.chr_rom_start) + self.assertEqual(size, len(self.rom.chr_rom)) + + +class ShouldReadSuperMarioBros(ShouldReadROMHeaderTestCase, TestCase): + """Check the Super Mario Bros 1 ROM.""" + + rom_name = 'super-mario-bros-1.nes' + prg_rom_size = 32 + chr_rom_size = 8 + prg_ram_size = 8 + mapper = 0 + is_ignore_mirroring = False + has_trainer = False + has_battery_backed_ram = False + is_vertical_mirroring = True + has_play_choice_10 = False + has_vs_unisystem = False + is_pal = False + trainer_rom_start = 16 + trainer_rom_stop = 16 + prg_rom_start = 16 + prg_rom_stop = 16 + 32 * 2**10 + chr_rom_start = 16 + 32 * 2**10 + chr_rom_stop = (16 + 32 * 2**10) + (8 * 2**10) + + +class ShouldReadSMBLostLevels(ShouldReadROMHeaderTestCase, TestCase): + """Check the Super Mario Bros Lost Levels ROM.""" + + rom_name = 'super-mario-bros-lost-levels.nes' + prg_rom_size = 32 + chr_rom_size = 8 + prg_ram_size = 8 + mapper = 0 + is_ignore_mirroring = False + has_trainer = False + has_battery_backed_ram = False + is_vertical_mirroring = True + has_play_choice_10 = False + has_vs_unisystem = False + is_pal = False + trainer_rom_start = 16 + trainer_rom_stop = 16 + prg_rom_start = 16 + prg_rom_stop = 16 + 32 * 2**10 + chr_rom_start = 16 + 32 * 2**10 + chr_rom_stop = (16 + 32 * 2**10) + (8 * 2**10) + + +class ShouldReadSuperMarioBros2(ShouldReadROMHeaderTestCase, TestCase): + """Check the Super Mario Bros 2 ROM.""" + + rom_name = 'super-mario-bros-2.nes' + prg_rom_size = 128 + chr_rom_size = 128 + prg_ram_size = 8 + mapper = 4 + is_ignore_mirroring = False + has_trainer = False + has_battery_backed_ram = False + is_vertical_mirroring = False + has_play_choice_10 = False + has_vs_unisystem = False + is_pal = False + trainer_rom_start = 16 + trainer_rom_stop = 16 + prg_rom_start = 16 + prg_rom_stop = 16 + 128 * 2**10 + chr_rom_start = 16 + 128 * 2**10 + chr_rom_stop = (16 + 128 * 2**10) + (128 * 2**10) + + +class ShouldReadSuperMarioBros3(ShouldReadROMHeaderTestCase, TestCase): + """Check the Super Mario Bros 3 ROM.""" + + rom_name = 'super-mario-bros-3.nes' + prg_rom_size = 256 + chr_rom_size = 128 + prg_ram_size = 8 + mapper = 4 + is_ignore_mirroring = False + has_trainer = False + has_battery_backed_ram = False + is_vertical_mirroring = False + has_play_choice_10 = False + has_vs_unisystem = False + is_pal = False + trainer_rom_start = 16 + trainer_rom_stop = 16 + prg_rom_start = 16 + prg_rom_stop = 16 + 256 * 2**10 + chr_rom_start = 16 + 256 * 2**10 + chr_rom_stop = (16 + 256 * 2**10) + (128 * 2**10) + + +class ShouldReadExcitebike(ShouldReadROMHeaderTestCase, TestCase): + """Check the Excitebike ROM.""" + + rom_name = 'excitebike.nes' + prg_rom_size = 16 + chr_rom_size = 8 + prg_ram_size = 8 + mapper = 0 + is_ignore_mirroring = False + has_trainer = False + has_battery_backed_ram = False + is_vertical_mirroring = True + has_play_choice_10 = False + has_vs_unisystem = False + is_pal = False + trainer_rom_start = 16 + trainer_rom_stop = 16 + prg_rom_start = 16 + prg_rom_stop = 16 + 16 * 2**10 + chr_rom_start = 16 + 16 * 2**10 + chr_rom_stop = (16 + 16 * 2**10) + (8 * 2**10) + + +class ShouldReadLegendOfZelda(ShouldReadROMHeaderTestCase, TestCase): + """Check The Legend Of Zelda ROM.""" + + rom_name = 'the-legend-of-zelda.nes' + prg_rom_size = 128 + chr_rom_size = 0 + prg_ram_size = 8 + mapper = 1 + is_ignore_mirroring = False + has_trainer = False + has_battery_backed_ram = True + is_vertical_mirroring = False + has_play_choice_10 = False + has_vs_unisystem = False + is_pal = False + trainer_rom_start = 16 + trainer_rom_stop = 16 + prg_rom_start = 16 + prg_rom_stop = 16 + 128 * 2**10 + chr_rom_start = 16 + 128 * 2**10 + chr_rom_stop = (16 + 128 * 2**10) + 0 From fb6f6662f2701bc0e9a7f06404a18c5d074771b5 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 22:43:39 -0600 Subject: [PATCH 04/21] cleanup tests --- nes_py/tests/games/smb1.nes | Bin 40976 -> 0 bytes nes_py/tests/test_multiple_makes.py | 4 ++-- nes_py/tests/test_nes_env.py | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 nes_py/tests/games/smb1.nes diff --git a/nes_py/tests/games/smb1.nes b/nes_py/tests/games/smb1.nes deleted file mode 100644 index 878ef21b5976a87c2fc19e780381816cbc769a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40976 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 Date: Sat, 5 Jan 2019 22:44:05 -0600 Subject: [PATCH 05/21] move ROM checking to python and remove logging from cartridge --- nes_py/cpp/cartridge.cpp | 65 +++++----------------------------------- nes_py/nes_env.py | 38 ++++++++++++++--------- 2 files changed, 31 insertions(+), 72 deletions(-) diff --git a/nes_py/cpp/cartridge.cpp b/nes_py/cpp/cartridge.cpp index 2024e33..f64296d 100644 --- a/nes_py/cpp/cartridge.cpp +++ b/nes_py/cpp/cartridge.cpp @@ -11,79 +11,28 @@ #include bool Cartridge::loadFromFile(std::string path) { + // create a stream to load the ROM file std::ifstream romFile (path, std::ios_base::binary | std::ios_base::in); - if (!romFile) { - LOG(Error) << "Could not open ROM file from path: " << path << std::endl; - return false; - } - + // create a byte vector for the iNES header std::vector header; - LOG(Info) << "Reading ROM from path: " << path << std::endl; - - //Header header.resize(0x10); - if (!romFile.read(reinterpret_cast(&header[0]), 0x10)) { - LOG(Error) << "Reading iNES header failed." << std::endl; - return false; - } - if (std::string{&header[0], &header[4]} != "NES\x1A") { - LOG(Error) << "Not a valid iNES image. Magic number: " - << std::hex << header[0] << " " - << header[1] << " " << header[2] << " " << int(header[3]) << std::endl - << "Valid magic number : N E S 1a" << std::endl; - return false; - } - - LOG(Info) << "Reading header, it dictates: \n"; - - uint8_t banks = header[4]; - LOG(Info) << "16KB PRG-ROM Banks: " << +banks << std::endl; - if (!banks) { - LOG(Error) << "ROM has no PRG-ROM banks. Loading ROM failed." << std::endl; - return false; - } - - uint8_t vbanks = header[5]; - LOG(Info) << "8KB CHR-ROM Banks: " << +vbanks << std::endl; + romFile.read(reinterpret_cast(&header[0]), 0x10); m_nameTableMirroring = header[6] & 0xB; - LOG(Info) << "Name Table Mirroring: " << +m_nameTableMirroring << std::endl; - m_mapperNumber = ((header[6] >> 4) & 0xf) | (header[7] & 0xf0); - LOG(Info) << "Mapper #: " << +m_mapperNumber << std::endl; - m_extendedRAM = header[6] & 0x2; - LOG(Info) << "Extended (CPU) RAM: " << std::boolalpha << m_extendedRAM << std::endl; - - if (header[6] & 0x4) { - LOG(Error) << "Trainer is not supported." << std::endl; - return false; - } - - if ((header[0xA] & 0x3) == 0x2 || (header[0xA] & 0x1)) { - LOG(Error) << "PAL ROM not supported." << std::endl; - return false; - } - else - LOG(Info) << "ROM is NTSC compatible.\n"; //PRG-ROM 16KB banks + uint8_t banks = header[4]; m_PRG_ROM.resize(0x4000 * banks); - if (!romFile.read(reinterpret_cast(&m_PRG_ROM[0]), 0x4000 * banks)) { - LOG(Error) << "Reading PRG-ROM from image file failed." << std::endl; - return false; - } + romFile.read(reinterpret_cast(&m_PRG_ROM[0]), 0x4000 * banks); //CHR-ROM 8KB banks + uint8_t vbanks = header[5]; if (vbanks) { m_CHR_ROM.resize(0x2000 * vbanks); - if (!romFile.read(reinterpret_cast(&m_CHR_ROM[0]), 0x2000 * vbanks)) { - LOG(Error) << "Reading CHR-ROM from image file failed." << std::endl; - return false; - } + romFile.read(reinterpret_cast(&m_CHR_ROM[0]), 0x2000 * vbanks); } - else - LOG(Info) << "Cartridge with CHR-RAM." << std::endl; return true; } diff --git a/nes_py/nes_env.py b/nes_py/nes_env.py index 974b663..b629ced 100644 --- a/nes_py/nes_env.py +++ b/nes_py/nes_env.py @@ -8,6 +8,7 @@ from gym.spaces import Box from gym.spaces import Discrete import numpy as np +from ._rom import ROM # the path to the directory this file is in @@ -110,21 +111,30 @@ def __init__(self, rom_path): None """ - # ensure that rom_path is a string - if not isinstance(rom_path, str): - raise TypeError('rom_path should be of type: str') - # ensure that rom_path points to an existing .nes file - if not '.nes' in rom_path or not os.path.isfile(rom_path): - raise ValueError('rom_path should point to a ".nes" file') + # create a ROM file from the ROM path + rom = ROM(rom_path) + # check that there is PRG ROM + if rom.prg_rom_size == 0: + raise ValueError('ROM has no PRG-ROM banks.') + # ensure that there is no trainer + if rom.has_trainer: + raise ValueError('ROM has trainer. trainer is not supported.') + try: + _ = rom.prg_rom + except IndexError: + raise ValueError('failed to read PRG-ROM on ROM.') + try: + _ = rom.chr_rom + except IndexError: + raise ValueError('failed to read CHR-ROM on ROM.') + # check the TV system + if rom.is_pal: + raise ValueError('ROM is PAL. PAK is not supported.') + # check that the mapper is implemented + elif rom.mapper not in {0, 1, 2, 3}: + raise ValueError('ROM has an unsupported mapper: {}'.format(rom.mapper)) + # store the ROM path self._rom_path = rom_path - - # TODO: extract to separate file that checks other things in the header - # make sure the magic characters are in the iNES file - with open(rom_path, 'rb') as nes_file: - magic = nes_file.read(4) - if magic != MAGIC: - raise ValueError('{} is not a valid ".nes" file'.format(rom_path)) - # initialize the C++ object for running the environment self._env = _LIB.Initialize(self._rom_path) # setup a placeholder for a 'human' render mode viewer From 383ae3e3a86d30312843826a0bea32711c372dcf Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 22:47:51 -0600 Subject: [PATCH 06/21] remove type hints --- nes_py/_rom.py | 60 +++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/nes_py/_rom.py b/nes_py/_rom.py index f21bef1..63f1b4a 100644 --- a/nes_py/_rom.py +++ b/nes_py/_rom.py @@ -13,12 +13,12 @@ class ROM(object): # It spells "NES" _MAGIC = bytes([0x4E, 0x45, 0x53, 0x1A]) - def __init__(self, rom_path: str) -> None: + def __init__(self, rom_path) -> None: """ Initialize a new ROM. Args: - rom_path: the path to the ROM file + rom_path (str): the path to the ROM file Returns: None @@ -45,37 +45,37 @@ def __init__(self, rom_path: str) -> None: # @property - def header(self) -> bytes: - """Return the header of the ROM file.""" + def header(self): + """Return the header of the ROM file as bytes.""" return self.raw_data[:16] @property - def _magic(self) -> bytes: + def _magic(self): """Return the magic bytes in the first 4 bytes.""" return self.header[:4] @property - def prg_rom_size(self) -> int: + def prg_rom_size(self): """Return the size of the PRG ROM in KB.""" return 16 * self.header[4] @property - def chr_rom_size(self) -> int: + def chr_rom_size(self): """Return the size of the CHR ROM in KB.""" return 8 * self.header[5] @property - def flags_6(self) -> str: + def flags_6(self): """Return the flags at the 6th byte of the header.""" return '{:08b}'.format(self.header[6]) @property - def flags_7(self) -> str: + def flags_7(self): """Return the flags at the 7th byte of the header.""" return '{:08b}'.format(self.header[7]) @property - def prg_ram_size(self) -> int: + def prg_ram_size(self): """Return the size of the PRG RAM in KB.""" size = self.header[8] # size becomes 8 when it's zero for compatibility @@ -85,12 +85,12 @@ def prg_ram_size(self) -> int: return 8 * size @property - def flags_9(self) -> str: + def flags_9(self): """Return the flags at the 9th byte of the header.""" return '{:08b}'.format(self.header[9]) @property - def flags_10(self) -> str: + def flags_10(self): """ Return the flags at the 10th byte of the header. @@ -102,7 +102,7 @@ def flags_10(self) -> str: return '{:08b}'.format(self.header[10]) @property - def _zero_fill(self) -> int: + def _zero_fill(self): """Return the zero fill bytes at the end of the header.""" return int.from_bytes(self.header[11:], byteorder='big') @@ -111,33 +111,33 @@ def _zero_fill(self) -> int: # @property - def mapper(self) -> int: + def mapper(self): """Return the mapper number this ROM uses.""" # the high nibble is in flags 7, the low nibble is in flags 6 return int(self.flags_7[:4] + self.flags_6[:4], 2) @property - def is_ignore_mirroring(self) -> bool: + def is_ignore_mirroring(self): """Return a boolean determining if the ROM ignores mirroring.""" return bool(int(self.flags_6[4])) @property - def has_trainer(self) -> bool: + def has_trainer(self): """Return a boolean determining if the ROM has a trainer block.""" return bool(int(self.flags_6[5])) @property - def has_battery_backed_ram(self) -> bool: + def has_battery_backed_ram(self): """Return a boolean determining if the ROM has a battery-backed RAM.""" return bool(int(self.flags_6[6])) @property - def is_vertical_mirroring(self) -> bool: + def is_vertical_mirroring(self): """Return the mirroring mode this ROM uses.""" return bool(int(self.flags_6[7])) @property - def has_play_choice_10(self) -> bool: + def has_play_choice_10(self): """ Return whether this cartridge uses PlayChoice-10. @@ -149,7 +149,7 @@ def has_play_choice_10(self) -> bool: return bool(int(self.flags_7[6])) @property - def has_vs_unisystem(self) -> bool: + def has_vs_unisystem(self): """ Return whether this cartridge has VS Uni-system. @@ -161,7 +161,7 @@ def has_vs_unisystem(self) -> bool: return bool(int(self.flags_7[7])) @property - def is_pal(self) -> bool: + def is_pal(self): """Return the TV system this ROM supports.""" return bool(int(self.flags_9[7])) @@ -170,12 +170,12 @@ def is_pal(self) -> bool: # @property - def trainer_rom_start(self) -> bytes: + def trainer_rom_start(self): """The inclusive starting index of the trainer ROM.""" return 16 @property - def trainer_rom_stop(self) -> bytes: + def trainer_rom_stop(self): """The exclusive stopping index of the trainer ROM.""" if self.has_trainer: return 16 + 512 @@ -183,37 +183,37 @@ def trainer_rom_stop(self) -> bytes: return 16 @property - def trainer_rom(self) -> bytes: + def trainer_rom(self): """Return the trainer ROM of the ROM file.""" return self.raw_data[self.trainer_rom_start:self.trainer_rom_stop] @property - def prg_rom_start(self) -> bytes: + def prg_rom_start(self): """The inclusive starting index of the PRG ROM.""" return self.trainer_rom_stop @property - def prg_rom_stop(self) -> bytes: + def prg_rom_stop(self): """The exclusive stopping index of the PRG ROM.""" return self.prg_rom_start + self.prg_rom_size * 2**10 @property - def prg_rom(self) -> bytes: + def prg_rom(self): """Return the PRG ROM of the ROM file.""" return self.raw_data[self.prg_rom_start:self.prg_rom_stop] @property - def chr_rom_start(self) -> bytes: + def chr_rom_start(self): """The inclusive starting index of the CHR ROM.""" return self.prg_rom_stop @property - def chr_rom_stop(self) -> bytes: + def chr_rom_stop(self): """The exclusive stopping index of the CHR ROM.""" return self.chr_rom_start + self.chr_rom_size * 2**10 @property - def chr_rom(self) -> bytes: + def chr_rom(self): """Return the CHR ROM of the ROM file.""" return self.raw_data[self.chr_rom_start:self.chr_rom_stop] From 445f074ef438345322e232e752efe895e9ad3702 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 22:48:21 -0600 Subject: [PATCH 07/21] remove type hints --- nes_py/tests/rom_file_abs_path.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nes_py/tests/rom_file_abs_path.py b/nes_py/tests/rom_file_abs_path.py index ef491c1..d5a371b 100644 --- a/nes_py/tests/rom_file_abs_path.py +++ b/nes_py/tests/rom_file_abs_path.py @@ -2,14 +2,14 @@ import os -def rom_file_abs_path(file_name: str) -> str: +def rom_file_abs_path(file_name): """ Return the absolute path to a ROM in the games directory. Args: - file_name: the name of the ROM in the games directory to fetch + file_name (str): the name of the ROM in the games directory to fetch - Returns: + Returns (str): the absolute path to the given ROM filename in the games directory """ From 47f40558f465650099a18760cded1f807904576a Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 22:57:48 -0600 Subject: [PATCH 08/21] cleanup --- nes_py/tests/test_multiple_makes.py | 26 ++++++++++++++------------ nes_py/tests/test_nes_env.py | 24 +++++++----------------- 2 files changed, 21 insertions(+), 29 deletions(-) diff --git a/nes_py/tests/test_multiple_makes.py b/nes_py/tests/test_multiple_makes.py index 389b097..43a70ac 100755 --- a/nes_py/tests/test_multiple_makes.py +++ b/nes_py/tests/test_multiple_makes.py @@ -1,8 +1,8 @@ """Test that the multiprocessing package works with the env.""" -import os from multiprocessing import Process from threading import Thread from unittest import TestCase +from .rom_file_abs_path import rom_file_abs_path from ..nes_env import NESEnv @@ -18,23 +18,24 @@ def play(steps): """ # create an NES environment with Super Mario Bros. - path = os.path.join(os.path.dirname(__file__), 'games/super-mario-bros-1.nes') + path = rom_file_abs_path('super-mario-bros-1.nes') env = NESEnv(path) # step the environment for some arbitrary number of steps done = True - for step in range(steps): + for _ in range(steps): if done: - state = env.reset() + _ = env.reset() action = env.action_space.sample() - state, reward, done, info = env.step(action) + _, _, done, _ = env.step(action) # close the environment env.close() class ShouldMakeMultipleEnvironemntsParallel(object): + """An abstract test case to make environments in parallel.""" # the class to the parallel initializer (Thread, Process, etc.) - parallel_initializer = None + parallel_initializer = lambda target, args: None # the number of parallel executions num_execs = 4 @@ -43,7 +44,6 @@ class ShouldMakeMultipleEnvironemntsParallel(object): steps = 10 def test(self): - from ..nes_env import NESEnv procs = [None] * self.num_execs args = (self.steps, ) # spawn the parallel instances @@ -56,14 +56,17 @@ def test(self): class ProcessTest(ShouldMakeMultipleEnvironemntsParallel, TestCase): + """Test that processes (true multi-threading) work.""" parallel_initializer = Process class ThreadTest(ShouldMakeMultipleEnvironemntsParallel, TestCase): + """Test that threads (internal parallelism) work""" parallel_initializer = Thread class ShouldMakeMultipleEnvironmentsSingleThread(TestCase): + """Test making 4 environments in a single code stream.""" # the number of environments to spawn num_envs = 4 @@ -72,14 +75,13 @@ class ShouldMakeMultipleEnvironmentsSingleThread(TestCase): steps = 10 def test(self): - from ..nes_env import NESEnv - path = os.path.join(os.path.dirname(__file__), 'games/super-mario-bros-1.nes') + path = rom_file_abs_path('super-mario-bros-1.nes') envs = [NESEnv(path) for _ in range(self.num_envs)] dones = [True] * self.num_envs - for step in range(self.steps): + for _ in range(self.steps): for idx in range(self.num_envs): if dones[idx]: - state = envs[idx].reset() + _ = envs[idx].reset() action = envs[idx].action_space.sample() - state, reward, done, info = envs[idx].step(action) + _, _, _, _ = envs[idx].step(action) diff --git a/nes_py/tests/test_nes_env.py b/nes_py/tests/test_nes_env.py index f926dfa..b77260d 100644 --- a/nes_py/tests/test_nes_env.py +++ b/nes_py/tests/test_nes_env.py @@ -1,5 +1,6 @@ """Test cases for the NESEnv class.""" from unittest import TestCase +from .rom_file_abs_path import rom_file_abs_path class ShouldImportNESEnv(TestCase): @@ -18,9 +19,8 @@ def test(self): class ShouldRaiseValueErrorOnMissingNonexistentROMFile(TestCase): def test(self): - import os from ..nes_env import NESEnv - path = os.path.join(os.path.dirname(__file__), 'games/missing.nes') + path = rom_file_abs_path('missing.nes') self.assertRaises(ValueError, NESEnv, path) @@ -32,46 +32,36 @@ def test(self): class ShouldRaiseValueErrorOnNoniNES_ROMPath(TestCase): def test(self): - import os from ..nes_env import NESEnv - path = os.path.join(os.path.dirname(__file__), 'games/blank') - self.assertRaises(ValueError, NESEnv, path) + self.assertRaises(ValueError, NESEnv, rom_file_abs_path('blank')) class ShouldRaiseValueErrorOnInvalidiNES_ROMPath(TestCase): def test(self): - import os from ..nes_env import NESEnv - path = os.path.join(os.path.dirname(__file__), 'games/empty.nes') - self.assertRaises(ValueError, NESEnv, path) + self.assertRaises(ValueError, NESEnv, rom_file_abs_path('empty.nes')) class ShouldRaiseErrorOnStepBeforeReset(TestCase): def test(self): - import os from ..nes_env import NESEnv - path = os.path.join(os.path.dirname(__file__), 'games/super-mario-bros-1.nes') - env = NESEnv(path) + env = NESEnv(rom_file_abs_path('super-mario-bros-1.nes')) self.assertRaises(ValueError, env.step, 0) class ShouldCreateInstanceOfNESEnv(TestCase): def test(self): - import os from ..nes_env import NESEnv import gym - path = os.path.join(os.path.dirname(__file__), 'games/super-mario-bros-1.nes') - env = NESEnv(path) + env = NESEnv(rom_file_abs_path('super-mario-bros-1.nes')) self.assertIsInstance(env, gym.Env) env.close() def create_smb1_instance(): """Return a new SMB1 instance.""" - import os from ..nes_env import NESEnv - path = os.path.join(os.path.dirname(__file__), 'games/super-mario-bros-1.nes') - return NESEnv(path) + return NESEnv(rom_file_abs_path('super-mario-bros-1.nes')) class ShouldReadAndWriteMemory(TestCase): From fb08fb1b3abe21f29f0b625cc353cde3e62e7d7d Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 22:58:32 -0600 Subject: [PATCH 09/21] python2 compatibility --- nes_py/_rom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nes_py/_rom.py b/nes_py/_rom.py index 63f1b4a..610fb20 100644 --- a/nes_py/_rom.py +++ b/nes_py/_rom.py @@ -13,7 +13,7 @@ class ROM(object): # It spells "NES" _MAGIC = bytes([0x4E, 0x45, 0x53, 0x1A]) - def __init__(self, rom_path) -> None: + def __init__(self, rom_path): """ Initialize a new ROM. From 6e51e8bd94a8f5f1b7d7f554db3a51449b0a83a4 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 23:00:05 -0600 Subject: [PATCH 10/21] update errors --- nes_py/_rom.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nes_py/_rom.py b/nes_py/_rom.py index 610fb20..4b8cffb 100644 --- a/nes_py/_rom.py +++ b/nes_py/_rom.py @@ -26,19 +26,19 @@ def __init__(self, rom_path): """ # make sure the rom path is a string if not isinstance(rom_path, str): - raise TypeError('rom_path must be of type: str') + raise TypeError('rom_path must be of type: str.') # make sure the rom path exists if not os.path.exists(rom_path): - msg = 'rom_path points to non-existent file {}'.format(rom_path) + msg = 'rom_path points to non-existent file: {}.'.format(rom_path) raise ValueError(msg) # read the binary data in the .nes ROM file with open(rom_path, 'rb') as nes_file: self.raw_data = nes_file.read() # ensure the first 4 bytes are 0x4E45531A (NES) if self._magic != self._MAGIC: - raise ValueError('ROM missing magic number in header') + raise ValueError('ROM missing magic number in header.') if self._zero_fill != 0: - raise ValueError("ROM header zero fill bytes are not zero") + raise ValueError("ROM header zero fill bytes are not zero.") # # MARK: Header From f1cbb2a896aa785b97dcc6a4782835ea2194f074 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 23:05:44 -0600 Subject: [PATCH 11/21] remove cartridge.loadFile return type and revert assign_mapper to set_mapper --- nes_py/cpp/cartridge.cpp | 20 ++++++++------------ nes_py/cpp/emulator.cpp | 14 +++++--------- nes_py/cpp/include/cartridge.hpp | 2 +- nes_py/cpp/include/main_bus.hpp | 4 +--- nes_py/cpp/include/picture_bus.hpp | 4 +--- nes_py/cpp/main_bus.cpp | 2 +- nes_py/cpp/picture_bus.cpp | 2 +- 7 files changed, 18 insertions(+), 30 deletions(-) diff --git a/nes_py/cpp/cartridge.cpp b/nes_py/cpp/cartridge.cpp index f64296d..3e7faaf 100644 --- a/nes_py/cpp/cartridge.cpp +++ b/nes_py/cpp/cartridge.cpp @@ -10,29 +10,25 @@ #include #include -bool Cartridge::loadFromFile(std::string path) { +void Cartridge::loadFromFile(std::string path) { // create a stream to load the ROM file std::ifstream romFile (path, std::ios_base::binary | std::ios_base::in); // create a byte vector for the iNES header std::vector header; header.resize(0x10); romFile.read(reinterpret_cast(&header[0]), 0x10); - + // read internal data m_nameTableMirroring = header[6] & 0xB; m_mapperNumber = ((header[6] >> 4) & 0xf) | (header[7] & 0xf0); m_extendedRAM = header[6] & 0x2; - - //PRG-ROM 16KB banks + // read PRG-ROM 16KB banks uint8_t banks = header[4]; m_PRG_ROM.resize(0x4000 * banks); romFile.read(reinterpret_cast(&m_PRG_ROM[0]), 0x4000 * banks); - - //CHR-ROM 8KB banks + // read CHR-ROM 8KB banks uint8_t vbanks = header[5]; - if (vbanks) { - m_CHR_ROM.resize(0x2000 * vbanks); - romFile.read(reinterpret_cast(&m_CHR_ROM[0]), 0x2000 * vbanks); - } - - return true; + if (!vbanks) + return; + m_CHR_ROM.resize(0x2000 * vbanks); + romFile.read(reinterpret_cast(&m_CHR_ROM[0]), 0x2000 * vbanks); } diff --git a/nes_py/cpp/emulator.cpp b/nes_py/cpp/emulator.cpp index f4a7420..f2d5497 100644 --- a/nes_py/cpp/emulator.cpp +++ b/nes_py/cpp/emulator.cpp @@ -35,16 +35,12 @@ Emulator::Emulator(std::string path) : rom_path(path), cpu(), ppu() { } // set the interrupt callback for the PPU ppu.setInterruptCallback([&](){ cpu.interrupt(bus, CPU::NMI); }); - // load the ROM from disk and return if the operation fails - if (!cartridge.loadFromFile(rom_path)) - return; + // load the ROM from disk, expect that the Python code has validated it + cartridge.loadFromFile(rom_path); // create the mapper based on the mapper ID in the iNES header of the ROM - mapper = Mapper::create( - cartridge, - [&](){ picture_bus.update_mirroring(); } - ); - bus.assign_mapper(mapper); - picture_bus.assign_mapper(mapper); + mapper = Mapper::create(cartridge, [&](){ picture_bus.update_mirroring(); }); + bus.set_mapper(mapper); + picture_bus.set_mapper(mapper); } void Emulator::DMA(uint8_t page) { diff --git a/nes_py/cpp/include/cartridge.hpp b/nes_py/cpp/include/cartridge.hpp index 6ff4302..ea4f38d 100644 --- a/nes_py/cpp/include/cartridge.hpp +++ b/nes_py/cpp/include/cartridge.hpp @@ -34,7 +34,7 @@ class Cartridge { Cartridge() : m_nameTableMirroring(0), m_mapperNumber(0), m_extendedRAM(false) { }; /// Load a ROM file into the cartridge and build the corresponding mapper. - bool loadFromFile(std::string path); + void loadFromFile(std::string path); /// Return the ROM data. const std::vector& getROM() { return m_PRG_ROM; }; diff --git a/nes_py/cpp/include/main_bus.hpp b/nes_py/cpp/include/main_bus.hpp index 8384b21..49138f8 100644 --- a/nes_py/cpp/include/main_bus.hpp +++ b/nes_py/cpp/include/main_bus.hpp @@ -72,9 +72,7 @@ class MainBus { /// /// @param mapper the new mapper pointer for the bus to use /// - bool assign_mapper(Mapper* mapper); - - void set_mapper(Mapper *mapper) { m_mapper = mapper; }; + bool set_mapper(Mapper* mapper); /// Set a callback for when writes occur. bool set_write_callback(IORegisters reg, std::function callback); diff --git a/nes_py/cpp/include/picture_bus.hpp b/nes_py/cpp/include/picture_bus.hpp index c1e7687..a2a85d6 100644 --- a/nes_py/cpp/include/picture_bus.hpp +++ b/nes_py/cpp/include/picture_bus.hpp @@ -48,9 +48,7 @@ class PictureBus { /// /// @param mapper the new mapper pointer for the bus to use /// - bool assign_mapper(Mapper *mapper); - - void set_mapper(Mapper *mapper) { m_mapper = mapper; }; + bool set_mapper(Mapper *mapper); /// Read a color index from the palette. /// diff --git a/nes_py/cpp/main_bus.cpp b/nes_py/cpp/main_bus.cpp index 217fa48..226087c 100644 --- a/nes_py/cpp/main_bus.cpp +++ b/nes_py/cpp/main_bus.cpp @@ -105,7 +105,7 @@ const uint8_t* MainBus::get_page_pointer(uint8_t page) { return nullptr; } -bool MainBus::assign_mapper(Mapper* mapper) { +bool MainBus::set_mapper(Mapper* mapper) { m_mapper = mapper; if (!mapper) { diff --git a/nes_py/cpp/picture_bus.cpp b/nes_py/cpp/picture_bus.cpp index c225b54..136bf25 100644 --- a/nes_py/cpp/picture_bus.cpp +++ b/nes_py/cpp/picture_bus.cpp @@ -99,7 +99,7 @@ void PictureBus::update_mirroring() { } } -bool PictureBus::assign_mapper(Mapper *mapper) { +bool PictureBus::set_mapper(Mapper *mapper) { // if the mapper is a null pointer, raise an error if (!mapper) { LOG(Error) << "Mapper argument is nullptr" << std::endl; From 8e47a1e1fb2b13fad58aa8f09bf47ae531198de9 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 23:10:15 -0600 Subject: [PATCH 12/21] cleanup --- nes_py/_rom.py | 10 ++++++++-- nes_py/nes_env.py | 17 +++++++---------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/nes_py/_rom.py b/nes_py/_rom.py index 4b8cffb..b34dc6c 100644 --- a/nes_py/_rom.py +++ b/nes_py/_rom.py @@ -200,7 +200,10 @@ def prg_rom_stop(self): @property def prg_rom(self): """Return the PRG ROM of the ROM file.""" - return self.raw_data[self.prg_rom_start:self.prg_rom_stop] + try: + return self.raw_data[self.prg_rom_start:self.prg_rom_stop] + except IndexError: + raise ValueError('failed to read PRG-ROM on ROM.') @property def chr_rom_start(self): @@ -215,7 +218,10 @@ def chr_rom_stop(self): @property def chr_rom(self): """Return the CHR ROM of the ROM file.""" - return self.raw_data[self.chr_rom_start:self.chr_rom_stop] + try: + return self.raw_data[self.chr_rom_start:self.chr_rom_stop] + except IndexError: + raise ValueError('failed to read CHR-ROM on ROM.') # explicitly define the outward facing API of this module diff --git a/nes_py/nes_env.py b/nes_py/nes_env.py index b629ced..ea95507 100644 --- a/nes_py/nes_env.py +++ b/nes_py/nes_env.py @@ -119,20 +119,17 @@ def __init__(self, rom_path): # ensure that there is no trainer if rom.has_trainer: raise ValueError('ROM has trainer. trainer is not supported.') - try: - _ = rom.prg_rom - except IndexError: - raise ValueError('failed to read PRG-ROM on ROM.') - try: - _ = rom.chr_rom - except IndexError: - raise ValueError('failed to read CHR-ROM on ROM.') + # try to read the PRG ROM and raise a value error if it fails + _ = rom.prg_rom + # try to read the CHR ROM and raise a value error if it fails + _ = rom.chr_rom # check the TV system if rom.is_pal: - raise ValueError('ROM is PAL. PAK is not supported.') + raise ValueError('ROM is PAL. PAL is not supported.') # check that the mapper is implemented elif rom.mapper not in {0, 1, 2, 3}: - raise ValueError('ROM has an unsupported mapper: {}'.format(rom.mapper)) + msg = 'ROM has an unsupported mapper number {}.' + raise ValueError(msg.format(rom.mapper)) # store the ROM path self._rom_path = rom_path # initialize the C++ object for running the environment From cad5afa7be027ed87b508a9f9cb5fe3db04d2bd1 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sat, 5 Jan 2019 23:12:27 -0600 Subject: [PATCH 13/21] possible python2 support --- nes_py/_rom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nes_py/_rom.py b/nes_py/_rom.py index b34dc6c..b573678 100644 --- a/nes_py/_rom.py +++ b/nes_py/_rom.py @@ -11,7 +11,7 @@ class ROM(object): # the magic bytes expected at the first four bytes of the header. # It spells "NES" - _MAGIC = bytes([0x4E, 0x45, 0x53, 0x1A]) + _MAGIC = bytearray([0x4E, 0x45, 0x53, 0x1A]) def __init__(self, rom_path): """ From a18e4a22778014b84a7221b819bff1d828ae0270 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sun, 6 Jan 2019 00:02:08 -0600 Subject: [PATCH 14/21] fix for python2 support using NumPy --- nes_py/_rom.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nes_py/_rom.py b/nes_py/_rom.py index b573678..f25251e 100644 --- a/nes_py/_rom.py +++ b/nes_py/_rom.py @@ -4,6 +4,7 @@ - http://wiki.nesdev.com/w/index.php/INES """ import os +import numpy as np class ROM(object): @@ -11,7 +12,7 @@ class ROM(object): # the magic bytes expected at the first four bytes of the header. # It spells "NES" - _MAGIC = bytearray([0x4E, 0x45, 0x53, 0x1A]) + _MAGIC = np.array([0x4E, 0x45, 0x53, 0x1A]) def __init__(self, rom_path): """ @@ -34,8 +35,9 @@ def __init__(self, rom_path): # read the binary data in the .nes ROM file with open(rom_path, 'rb') as nes_file: self.raw_data = nes_file.read() + self.raw_data = np.fromfile(rom_path, dtype='uint8') # ensure the first 4 bytes are 0x4E45531A (NES) - if self._magic != self._MAGIC: + if not np.array_equal(self._magic, self._MAGIC): raise ValueError('ROM missing magic number in header.') if self._zero_fill != 0: raise ValueError("ROM header zero fill bytes are not zero.") @@ -104,7 +106,7 @@ def flags_10(self): @property def _zero_fill(self): """Return the zero fill bytes at the end of the header.""" - return int.from_bytes(self.header[11:], byteorder='big') + return self.header[11:].sum() # # MARK: Header Flags From 2ded9b14a35440fb326f01bc55b93cb96036f8df Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sun, 6 Jan 2019 00:02:22 -0600 Subject: [PATCH 15/21] cleanup --- nes_py/_rom.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/nes_py/_rom.py b/nes_py/_rom.py index f25251e..0de4468 100644 --- a/nes_py/_rom.py +++ b/nes_py/_rom.py @@ -33,8 +33,6 @@ def __init__(self, rom_path): msg = 'rom_path points to non-existent file: {}.'.format(rom_path) raise ValueError(msg) # read the binary data in the .nes ROM file - with open(rom_path, 'rb') as nes_file: - self.raw_data = nes_file.read() self.raw_data = np.fromfile(rom_path, dtype='uint8') # ensure the first 4 bytes are 0x4E45531A (NES) if not np.array_equal(self._magic, self._MAGIC): From 409af4d80e11333347f22a649548531c8c9dd574 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sun, 6 Jan 2019 00:11:56 -0600 Subject: [PATCH 16/21] implement frame skip environment --- nes_py/wrappers/__init__.py | 8 ++++- nes_py/wrappers/frame_skip_env.py | 60 +++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 nes_py/wrappers/frame_skip_env.py diff --git a/nes_py/wrappers/__init__.py b/nes_py/wrappers/__init__.py index 80fd087..e858d2d 100755 --- a/nes_py/wrappers/__init__.py +++ b/nes_py/wrappers/__init__.py @@ -1,8 +1,8 @@ """Wrappers for altering the functionality of the game.""" -import gym from .binary_to_discrete_space_env import BinarySpaceToDiscreteSpaceEnv from .clip_reward_env import ClipRewardEnv from .downsample_env import DownsampleEnv +from .frame_skip_env import FrameSkipEnv from .frame_stack_env import FrameStackEnv from .normalize_reward_env import NormalizeRewardEnv from .penalize_death_env import PenalizeDeathEnv @@ -10,6 +10,7 @@ def wrap(env, + frame_skip=4, cache_rewards=True, image_size=(84, 84), death_penalty=-15, @@ -22,6 +23,7 @@ def wrap(env, Args: env (gym.Env): the environment to wrap + frame_skip (int): the number of frames to skip between observations cache_rewards (bool): True to use a reward cache for raw rewards image_size (tuple): the size to down-sample images to death_penatly (float): the penalty for losing a life in a game @@ -33,6 +35,9 @@ def wrap(env, a gym environment configured for this experiment """ + # wrap the environment with a frame skipper + if frame_skip: + env = FrameSkipEnv(env, frame_skip) # wrap the environment with a reward cacher if cache_rewards: env = RewardCacheEnv(env) @@ -60,6 +65,7 @@ def wrap(env, BinarySpaceToDiscreteSpaceEnv.__name__, ClipRewardEnv.__name__, DownsampleEnv.__name__, + FrameSkipEnv.__name__, FrameStackEnv.__name__, NormalizeRewardEnv.__name__, PenalizeDeathEnv.__name__, diff --git a/nes_py/wrappers/frame_skip_env.py b/nes_py/wrappers/frame_skip_env.py new file mode 100644 index 0000000..b6597f0 --- /dev/null +++ b/nes_py/wrappers/frame_skip_env.py @@ -0,0 +1,60 @@ +"""A gym wrapper for skipping frames.""" +import gym + + +class FrameSkipEnv(gym.Wrapper): + """a wrapper that skips frames deterministically.""" + + def __init__(self, env, skip=4): + """ + Initialize a new death penalizing environment wrapper. + + Args: + env (gym.Env): the environment to wrap + skip (int): the number of frames to skip + + Returns: + None + + """ + super(FrameSkipEnv, self).__init__(env) + self._skip = skip + + def step(self, action): + """ + Take a step using the given action. + + Args: + action (any): the discrete action to perform + + Returns: + a tuple of: + - (numpy.ndarray) the state as a result of the action + - (float) the reward achieved by taking the action + - (bool) a flag denoting whether the episode has ended + - (dict) a dictionary of extra information + + """ + # create a placeholder for the total reward + total_reward = 0.0 + # set the done flag to false + done = False + # iterate over the number of frames to skip + for _ in range(self._skip): + # get the next state using the given action + state, reward, done, info = self.env.step(action) + # accumulate the total reward + total_reward += reward + # if the episode ended, break out of the look + if done: + break + + return state, total_reward, done, info + + def reset(self): + """Reset the emulator and return the initial state.""" + return self.env.reset() + + +# explicitly specify the external API of this module +__all__ = [FrameSkipEnv.__name__] From 12dc9935e53aca8331eea075b5ec7040f9cdc7f6 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sun, 6 Jan 2019 00:27:25 -0600 Subject: [PATCH 17/21] bump version to 5.0.0 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 746ec17..7c5c195 100644 --- a/setup.py +++ b/setup.py @@ -54,7 +54,7 @@ def build_extensions(self): setup( name='nes_py', - version='4.1.2', + version='5.0.0', description='An NES Emulator and OpenAI Gym interface', long_description=README, long_description_content_type='text/markdown', From a85ba4d7240f9278cc5f4c696b656bd4e1e4390e Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sun, 6 Jan 2019 00:28:18 -0600 Subject: [PATCH 18/21] cleanup --- setup.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/setup.py b/setup.py index 7c5c195..85fec04 100644 --- a/setup.py +++ b/setup.py @@ -1,24 +1,6 @@ """The setup script for installing and distributing the nes-py package.""" from glob import glob from setuptools import setup, find_packages, Extension -from setuptools.command.build_ext import build_ext - - -class BuildExt(build_ext): - """ - A build extension to omit the '-Wstrict-prototypes' flag. - - Reference: - https://stackoverflow.com/questions/8106258/cc1plus-warning-command-line-option-wstrict-prototypes-is-valid-for-ada-c-o - """ - - def build_extensions(self): - """Build the extensions.""" - try: - self.compiler.compiler_so.remove("-Wstrict-prototypes") - except (AttributeError, ValueError): - pass - build_ext.build_extensions(self) # read the contents from the README file @@ -95,5 +77,4 @@ def build_extensions(self): 'nes_py = nes_py._app.cli:main', ], }, - cmdclass={'build_ext': BuildExt}, ) From 1383f67cc5c583536b125d3704ba5a1c99febd00 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sun, 6 Jan 2019 00:32:37 -0600 Subject: [PATCH 19/21] remove unnecessary stuff; --- nes_py/_app/play_human.py | 12 +---- nes_py/_app/visualize/__init__.py | 1 - nes_py/_app/visualize/realtime_plot.py | 63 -------------------------- 3 files changed, 1 insertion(+), 75 deletions(-) delete mode 100755 nes_py/_app/visualize/__init__.py delete mode 100755 nes_py/_app/visualize/realtime_plot.py diff --git a/nes_py/_app/play_human.py b/nes_py/_app/play_human.py index 7741505..7d3963f 100644 --- a/nes_py/_app/play_human.py +++ b/nes_py/_app/play_human.py @@ -1,7 +1,6 @@ """A method to play gym environments using human IO inputs.""" import gym import pygame -from .visualize.realtime_plot import RealtimePlot def display_arr(screen, arr, video_size, transpose): @@ -29,7 +28,7 @@ def display_arr(screen, arr, video_size, transpose): screen.blit(pyg_img, (0, 0)) -def play(env, transpose=True, fps=30, callback=None, plot_reward=False, nop_=0): +def play(env, transpose=True, fps=30, callback=None, nop_=0): """Play the game using the keyboard as a human. Args: @@ -44,7 +43,6 @@ def play(env, transpose=True, fps=30, callback=None, plot_reward=False, nop_=0): - reward: reward from the action taken - done: a flag to determine if the episode is over - info: extra information from the environment - plot_reward (bool): whether to plot the reward output in realtime nop_ (any): the object to use as a null op action for the environment Returns: @@ -87,12 +85,6 @@ def play(env, transpose=True, fps=30, callback=None, plot_reward=False, nop_=0): pygame.display.set_caption('nes-py') # start a clock for limiting the frame rate to the given FPS clock = pygame.time.Clock() - # create a plot for outputting reward from the environment - if plot_reward: - plot = RealtimePlot() - # if plot reward is off, just set it to a dummy lambda - else: - plot = lambda x: None # start the main game loop while running: # reset if the environment is done @@ -105,8 +97,6 @@ def play(env, transpose=True, fps=30, callback=None, plot_reward=False, nop_=0): action = keys_to_action.get(tuple(sorted(pressed_keys)), nop_) prev_obs = obs obs, rew, env_done, info = env.step(action) - # pass the reward to the plot method - plot(rew) # pass the output data to the callback method if callback is not None: callback(prev_obs, obs, action, rew, env_done, info) diff --git a/nes_py/_app/visualize/__init__.py b/nes_py/_app/visualize/__init__.py deleted file mode 100755 index 0920e7e..0000000 --- a/nes_py/_app/visualize/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Modules for visualization.""" diff --git a/nes_py/_app/visualize/realtime_plot.py b/nes_py/_app/visualize/realtime_plot.py deleted file mode 100755 index f01d525..0000000 --- a/nes_py/_app/visualize/realtime_plot.py +++ /dev/null @@ -1,63 +0,0 @@ -"""An object to show a realtime plot of the value of a discrete line.""" -from matplotlib import pyplot as plt -from matplotlib.ticker import MaxNLocator - - -class RealtimePlot(object): - """A simple realtime plot to show the value of a discrete line.""" - - def __init__(self, figsize=(4, 4)): - """ - Initialize a new realtime plot. - - Args: - figsize (tuple): the size of the figure to draw - - Returns: - None - - """ - # setup caches for metrics - self.data = [] - # set the figsize of this callback - self.figsize = figsize - # create a figure - self.fig = plt.figure(figsize=self.figsize) - self.ax = self.fig.add_subplot(1, 1, 1) - plt.xlabel('Step') - plt.ylabel('Reward') - # force integer axis tick labels - plt.gca().xaxis.set_major_locator(MaxNLocator(integer=True)) - # adjust the layout - plt.tight_layout() - plt.show(block=False) - # create the line - self.line, = self.ax.plot(self.data) - - def __call__(self, datum): - """ - Update the plot with a new piece of datum. - - Args: - datum (float): the number to add to the plot - - Returns: - None - - """ - # append the datum to the list of data - self.data.append(datum) - # update the line's data - self.line.set_data(list(range(len((self.data)))), self.data) - # draw the canvas - self.fig.canvas.draw() - plt.tight_layout() - plt.show(block=False) - # recompute the ax.dataLim - self.ax.relim() - # update ax.viewLim using the new dataLim - self.ax.autoscale_view() - - -# explicitly define the outward facing API of this module -__all__ = [RealtimePlot.__name__] From 856d5a9883072d3a115494c5ef33da3925537805 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sun, 6 Jan 2019 00:43:40 -0600 Subject: [PATCH 20/21] cleanup app --- nes_py/_app/cli.py | 22 ++++++++------- nes_py/_app/play.py | 57 -------------------------------------- nes_py/_app/play_human.py | 36 ++++++++++++++---------- nes_py/_app/play_random.py | 34 +++++++++++++++++++++++ 4 files changed, 68 insertions(+), 81 deletions(-) delete mode 100644 nes_py/_app/play.py create mode 100644 nes_py/_app/play_random.py diff --git a/nes_py/_app/cli.py b/nes_py/_app/cli.py index 02d4564..762ea2d 100644 --- a/nes_py/_app/cli.py +++ b/nes_py/_app/cli.py @@ -1,16 +1,10 @@ """Command line interface to nes-py NES emulator.""" import argparse -from .play import play_human, play_random +from .play_human import play_human +from .play_random import play_random from ..nes_env import NESEnv -# The play modes for the system -_PLAY_MODES = { - 'human': play_human, - 'random': play_random -} - - def _get_args(): """Parse arguments from the command line and return them.""" parser = argparse.ArgumentParser(description=__doc__) @@ -27,7 +21,12 @@ def _get_args(): choices=['human', 'random'], help='The execution mode for the emulation.', ) - + # add the argument for the number of steps to take in random mode + parser.add_argument('--steps', '-s', + type=int, + default=500, + help='The number of random steps to take.', + ) return parser.parse_args() @@ -38,7 +37,10 @@ def main(): # create the environment env = NESEnv(args.rom) # play the environment with the given mode - _PLAY_MODES[args.mode](env) + if args.mode == 'human': + play_human(env) + else: + play_random(env, args.steps) # explicitly define the outward facing API of this module diff --git a/nes_py/_app/play.py b/nes_py/_app/play.py deleted file mode 100644 index 6fd1387..0000000 --- a/nes_py/_app/play.py +++ /dev/null @@ -1,57 +0,0 @@ -"""Methods for playing the game randomly, or as a human.""" -from tqdm import tqdm -from .play_human import play - - -def play_human(env): - """ - Play the environment using keyboard as a human. - - Args: - env (gym.Env): the initialized gym environment to play - - Returns: - None - - """ - # play the game and catch a potential keyboard interrupt - try: - play(env, fps=env.metadata['video.frames_per_second']) - except KeyboardInterrupt: - pass - # reset and close the environment - env.close() - - -def play_random(env): - """ - Play the environment making uniformly random decisions. - - Args: - env (gym.Env): the initialized gym environment to play - - Returns: - None - - """ - try: - done = True - progress = tqdm(range(500)) - for _ in progress: - if done: - _ = env.reset() - action = env.action_space.sample() - _, reward, done, _ = env.step(action) - progress.set_postfix(reward=reward) - env.render() - except KeyboardInterrupt: - pass - # close the environment - env.close() - - -# explicitly define the outward facing API of this module -__all__ = [ - play_human.__name__, - play_random.__name__, -] diff --git a/nes_py/_app/play_human.py b/nes_py/_app/play_human.py index 7d3963f..9cc9525 100644 --- a/nes_py/_app/play_human.py +++ b/nes_py/_app/play_human.py @@ -28,21 +28,13 @@ def display_arr(screen, arr, video_size, transpose): screen.blit(pyg_img, (0, 0)) -def play(env, transpose=True, fps=30, callback=None, nop_=0): +def play(env, transpose=True, fps=30, nop_=0): """Play the game using the keyboard as a human. Args: env (gym.Env): the environment to use for playing transpose (bool): whether to transpose frame before viewing them fps (int): number of steps of the environment to execute every second - callback (Callable): a callback to execute after every step. - It takes the following inputs: - - state: observation before performing action - - next_state: observation after performing action - - action: action that fired - - reward: reward from the action taken - - done: a flag to determine if the episode is over - - info: extra information from the environment nop_ (any): the object to use as a null op action for the environment Returns: @@ -95,11 +87,7 @@ def play(env, transpose=True, fps=30, callback=None, nop_=0): else: # unwrap the action based on pressed relevant keys action = keys_to_action.get(tuple(sorted(pressed_keys)), nop_) - prev_obs = obs obs, rew, env_done, info = env.step(action) - # pass the output data to the callback method - if callback is not None: - callback(prev_obs, obs, action, rew, env_done, info) # make sure the observation exists if obs is not None: # if the observation is just height and width (B&W) @@ -147,5 +135,25 @@ def play(env, transpose=True, fps=30, callback=None, nop_=0): pygame.quit() +def play_human(env): + """ + Play the environment using keyboard as a human. + + Args: + env (gym.Env): the initialized gym environment to play + + Returns: + None + + """ + # play the game and catch a potential keyboard interrupt + try: + play(env, fps=env.metadata['video.frames_per_second']) + except KeyboardInterrupt: + pass + # reset and close the environment + env.close() + + # explicitly define the outward facing API of the module -__all__ = [play.__name__] +__all__ = [play_human.__name__] diff --git a/nes_py/_app/play_random.py b/nes_py/_app/play_random.py new file mode 100644 index 0000000..d2fc4d8 --- /dev/null +++ b/nes_py/_app/play_random.py @@ -0,0 +1,34 @@ +"""Methods for playing the game randomly, or as a human.""" +from tqdm import tqdm + + +def play_random(env, steps): + """ + Play the environment making uniformly random decisions. + + Args: + env (gym.Env): the initialized gym environment to play + steps (int): the number of random steps to take + + Returns: + None + + """ + try: + done = True + progress = tqdm(range(steps)) + for _ in progress: + if done: + _ = env.reset() + action = env.action_space.sample() + _, reward, done, info = env.step(action) + progress.set_postfix(reward=reward, info=info) + env.render() + except KeyboardInterrupt: + pass + # close the environment + env.close() + + +# explicitly define the outward facing API of this module +__all__ = [play_random.__name__] From e2a8548b94bde63760aeb2832d7c70e1adbd5a72 Mon Sep 17 00:00:00 2001 From: Kautenja Date: Sun, 6 Jan 2019 00:45:49 -0600 Subject: [PATCH 21/21] make app public --- nes_py/{_app => app}/__init__.py | 0 nes_py/{_app => app}/cli.py | 0 nes_py/{_app => app}/play_human.py | 0 nes_py/{_app => app}/play_random.py | 0 setup.py | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) rename nes_py/{_app => app}/__init__.py (100%) rename nes_py/{_app => app}/cli.py (100%) rename nes_py/{_app => app}/play_human.py (100%) rename nes_py/{_app => app}/play_random.py (100%) diff --git a/nes_py/_app/__init__.py b/nes_py/app/__init__.py similarity index 100% rename from nes_py/_app/__init__.py rename to nes_py/app/__init__.py diff --git a/nes_py/_app/cli.py b/nes_py/app/cli.py similarity index 100% rename from nes_py/_app/cli.py rename to nes_py/app/cli.py diff --git a/nes_py/_app/play_human.py b/nes_py/app/play_human.py similarity index 100% rename from nes_py/_app/play_human.py rename to nes_py/app/play_human.py diff --git a/nes_py/_app/play_random.py b/nes_py/app/play_random.py similarity index 100% rename from nes_py/_app/play_random.py rename to nes_py/app/play_random.py diff --git a/setup.py b/setup.py index 85fec04..686988f 100644 --- a/setup.py +++ b/setup.py @@ -74,7 +74,7 @@ ], entry_points={ 'console_scripts': [ - 'nes_py = nes_py._app.cli:main', + 'nes_py = nes_py.app.cli:main', ], }, )