From d3eaacbe8ace2cc77e73fd213920b399d3048ec1 Mon Sep 17 00:00:00 2001 From: Selim Mustafaev Date: Mon, 25 Sep 2023 17:16:25 +0300 Subject: [PATCH] Changing palette container --- main.cpp | 2 +- src/Ppu.cpp | 83 ++++++++++++----------------------------------------- src/Ppu.h | 3 +- 3 files changed, 21 insertions(+), 67 deletions(-) diff --git a/main.cpp b/main.cpp index d9b5d25..991fdab 100644 --- a/main.cpp +++ b/main.cpp @@ -22,7 +22,7 @@ int main() { }); device.connect(std::make_shared()); //device.insertCartridge("/home/selim/Downloads/dk.nes"); - device.insertCartridge("/Users/selim/Documents/smb.nes"); + device.insertCartridge("/Users/20910606/Documents/smb.nes"); //device.insertCartridge("C:\\Users\\selim\\Documents\\nestest.nes"); auto frameStart = std::chrono::steady_clock::now(); diff --git a/src/Ppu.cpp b/src/Ppu.cpp index 9f0b96a..231fc49 100644 --- a/src/Ppu.cpp +++ b/src/Ppu.cpp @@ -12,73 +12,26 @@ namespace nes { _nameTable = std::make_unique(1024); _nameTable2 = std::make_unique(1024); _paletteTable = std::make_unique(32); - _palette = std::make_unique(64); _oam = std::make_unique(this); - _palette[0x00] = Pixel(84, 84, 84); - _palette[0x01] = Pixel(0, 30, 116); - _palette[0x02] = Pixel(8, 16, 144); - _palette[0x03] = Pixel(48, 0, 136); - _palette[0x04] = Pixel(68, 0, 100); - _palette[0x05] = Pixel(92, 0, 48); - _palette[0x06] = Pixel(84, 4, 0); - _palette[0x07] = Pixel(60, 24, 0); - _palette[0x08] = Pixel(32, 42, 0); - _palette[0x09] = Pixel(8, 58, 0); - _palette[0x0A] = Pixel(0, 64, 0); - _palette[0x0B] = Pixel(0, 60, 0); - _palette[0x0C] = Pixel(0, 50, 60); - _palette[0x0D] = Pixel(0, 0, 0); - _palette[0x0E] = Pixel(0, 0, 0); - _palette[0x0F] = Pixel(0, 0, 0); - _palette[0x10] = Pixel(152, 150, 152); - _palette[0x11] = Pixel(8, 76, 196); - _palette[0x12] = Pixel(48, 50, 236); - _palette[0x13] = Pixel(92, 30, 228); - _palette[0x14] = Pixel(136, 20, 176); - _palette[0x15] = Pixel(160, 20, 100); - _palette[0x16] = Pixel(152, 34, 32); - _palette[0x17] = Pixel(120, 60, 0); - _palette[0x18] = Pixel(84, 90, 0); - _palette[0x19] = Pixel(40, 114, 0); - _palette[0x1A] = Pixel(8, 124, 0); - _palette[0x1B] = Pixel(0, 118, 40); - _palette[0x1C] = Pixel(0, 102, 120); - _palette[0x1D] = Pixel(0, 0, 0); - _palette[0x1E] = Pixel(0, 0, 0); - _palette[0x1F] = Pixel(0, 0, 0); - _palette[0x20] = Pixel(236, 238, 236); - _palette[0x21] = Pixel(76, 154, 236); - _palette[0x22] = Pixel(120, 124, 236); - _palette[0x23] = Pixel(176, 98, 236); - _palette[0x24] = Pixel(228, 84, 236); - _palette[0x25] = Pixel(236, 88, 180); - _palette[0x26] = Pixel(236, 106, 100); - _palette[0x27] = Pixel(212, 136, 32); - _palette[0x28] = Pixel(160, 170, 0); - _palette[0x29] = Pixel(116, 196, 0); - _palette[0x2A] = Pixel(76, 208, 32); - _palette[0x2B] = Pixel(56, 204, 108); - _palette[0x2C] = Pixel(56, 180, 204); - _palette[0x2D] = Pixel(60, 60, 60); - _palette[0x2E] = Pixel(0, 0, 0); - _palette[0x2F] = Pixel(0, 0, 0); - _palette[0x30] = Pixel(236, 238, 236); - _palette[0x31] = Pixel(168, 204, 236); - _palette[0x32] = Pixel(188, 188, 236); - _palette[0x33] = Pixel(212, 178, 236); - _palette[0x34] = Pixel(236, 174, 236); - _palette[0x35] = Pixel(236, 174, 212); - _palette[0x36] = Pixel(236, 180, 176); - _palette[0x37] = Pixel(228, 196, 144); - _palette[0x38] = Pixel(204, 210, 120); - _palette[0x39] = Pixel(180, 222, 120); - _palette[0x3A] = Pixel(168, 226, 144); - _palette[0x3B] = Pixel(152, 226, 180); - _palette[0x3C] = Pixel(160, 214, 228); - _palette[0x3D] = Pixel(160, 162, 160); - _palette[0x3E] = Pixel(0, 0, 0); - _palette[0x3F] = Pixel(0, 0, 0); + _palette = { + {84, 84, 84}, {0, 30, 116}, {8, 16, 144}, {48, 0, 136}, + {68, 0, 100}, {92, 0, 48}, {84, 4, 0}, {60, 24, 0}, + {32, 42, 0}, {8, 58, 0}, {0, 64, 0}, {0, 60, 0}, + {0, 50, 60}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, + {152, 150, 152}, {8, 76, 196}, {48, 50, 236}, {92, 30, 228}, + {136, 20, 176}, {160, 20, 100}, {152, 34, 32}, {120, 60, 0}, + {84, 90, 0}, {40, 114, 0}, {8, 124, 0}, {0, 118, 40}, + {0, 102, 120}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, + {236, 238, 236}, {76, 154, 236}, {120, 124, 236}, {176, 98, 236}, + {228, 84, 236}, {236, 88, 180}, {236, 106, 100}, {212, 136, 32}, + {160, 170, 0}, {116, 196, 0}, {76, 208, 32}, {56, 204, 108}, + {56, 180, 204}, {60, 60, 60}, {0, 0, 0}, {0, 0, 0}, + {236, 238, 236}, {168, 204, 236}, {188, 188, 236}, {212, 178, 236}, + {236, 174, 236}, {236, 174, 212}, {236, 180, 176}, {228, 196, 144}, + {204, 210, 120}, {180, 222, 120}, {168, 226, 144}, {152, 226, 180}, + {160, 214, 228}, {160, 162, 160}, {0, 0, 0}, {0, 0, 0} + }; } bool Ppu::tick() { diff --git a/src/Ppu.h b/src/Ppu.h index a709c17..0a3a073 100644 --- a/src/Ppu.h +++ b/src/Ppu.h @@ -12,6 +12,7 @@ #include #include #include +#include namespace nes { @@ -142,7 +143,7 @@ namespace nes { private: std::unique_ptr _nameTable; std::unique_ptr _nameTable2; - std::unique_ptr _palette; + std::vector _palette; std::unique_ptr _paletteTable; std::unique_ptr _oam;