summaryrefslogtreecommitdiff
path: root/src/nes/cartridge.cc
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-01-18 19:35:42 +0100
committerHannes Schulze <haschu0103@outlook.de>2025-01-18 19:35:42 +0100
commit67672d06776e38b06f31f6599678767c60eed58a (patch)
tree4846c762815b887036b10a7aadd849dd8fdd4420 /src/nes/cartridge.cc
parentfe7243fdd14f6ef57033f9e70141aba970dba7ea (diff)
implement ppu io registers
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 };