summaryrefslogtreecommitdiff
path: root/src/nes/cartridge.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/nes/cartridge.cc')
-rw-r--r--src/nes/cartridge.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/nes/cartridge.cc b/src/nes/cartridge.cc
index d2d11b6..861dc13 100644
--- a/src/nes/cartridge.cc
+++ b/src/nes/cartridge.cc
@@ -12,6 +12,8 @@ namespace nes
auto cartridge::from_data(void const* data, std::size_t const length) -> cartridge
{
+ // See: https://www.nesdev.org/wiki/INES
+
auto const bytes = static_cast<std::uint8_t const*>(data);
auto res = cartridge{};
res.is_valid_ = true;
@@ -29,6 +31,9 @@ namespace nes
res.mapper_number_ =
(control_1 & 0b11110000) >> 4 |
(control_2 & 0b11110000) >> 0;
+ res.name_table_arrangement_ = (control_1 & 0b00000001) != 0
+ ? name_table_arrangement::vertical
+ : name_table_arrangement::horizontal;
// Load program data.
auto offset = std::size_t{ 16 };