From 53b35e7c592364663d1cd614efc0db1899c09ed4 Mon Sep 17 00:00:00 2001 From: 0kmg <9137159+0kmg@users.noreply.github.com> Date: Thu, 28 Oct 2021 02:55:17 -0800 Subject: bus/nes: Simplify 8K banking with existing parameterized function. (#8765) * bus/nes: Simplify 8K banking with existing parameterized function. * remove some useless semicolons --- src/devices/bus/nes/nes_slot.cpp | 40 ++-------------------------------------- src/devices/bus/nes/nes_slot.h | 40 ++++++++++++++++++++-------------------- 2 files changed, 22 insertions(+), 58 deletions(-) diff --git a/src/devices/bus/nes/nes_slot.cpp b/src/devices/bus/nes/nes_slot.cpp index ec839fb1e7b..19098e80479 100644 --- a/src/devices/bus/nes/nes_slot.cpp +++ b/src/devices/bus/nes/nes_slot.cpp @@ -336,48 +336,12 @@ void device_nes_cart_interface::prg16_cdef(int bank) update_prg_banks(2, 3); } -void device_nes_cart_interface::prg8_89(int bank) -{ - /* assumes that bank references an 8k chunk */ - bank = prg_8k_bank_num(bank); - - m_prg_bank[0] = bank; - update_prg_banks(0, 0); -} - -void device_nes_cart_interface::prg8_ab(int bank) -{ - /* assumes that bank references an 8k chunk */ - bank = prg_8k_bank_num(bank); - - m_prg_bank[1] = bank; - update_prg_banks(1, 1); -} - -void device_nes_cart_interface::prg8_cd(int bank) -{ - /* assumes that bank references an 8k chunk */ - bank = prg_8k_bank_num(bank); - - m_prg_bank[2] = bank; - update_prg_banks(2, 2); -} - -void device_nes_cart_interface::prg8_ef(int bank) -{ - /* assumes that bank references an 8k chunk */ - bank = prg_8k_bank_num(bank); - - m_prg_bank[3] = bank; - update_prg_banks(3, 3); -} - -/* We also define an additional helper to map 8k PRG-ROM to one of the banks (passed as parameter) */ +// We define a parameterized helper to map 8k PRG-ROM to one of the banks void device_nes_cart_interface::prg8_x(int start, int bank) { assert(start < 4); - /* assumes that bank references an 8k chunk */ + // assumes that bank references an 8k chunk bank = prg_8k_bank_num(bank); m_prg_bank[start] = bank; diff --git a/src/devices/bus/nes/nes_slot.h b/src/devices/bus/nes/nes_slot.h index 68492e89d80..9c01f4f126b 100644 --- a/src/devices/bus/nes/nes_slot.h +++ b/src/devices/bus/nes/nes_slot.h @@ -324,11 +324,11 @@ public: void prg32(int bank); void prg16_89ab(int bank); void prg16_cdef(int bank); - void prg8_89(int bank); - void prg8_ab(int bank); - void prg8_cd(int bank); - void prg8_ef(int bank); void prg8_x(int start, int bank); + void prg8_89(int bank) { prg8_x(0, bank); } + void prg8_ab(int bank) { prg8_x(1, bank); } + void prg8_cd(int bank) { prg8_x(2, bank); } + void prg8_ef(int bank) { prg8_x(3, bank); } // CHR @@ -347,22 +347,22 @@ public: // CHR helpers void chr8(int bank, int source); void chr4_x(int start, int bank, int source); - void chr4_0(int bank, int source){ chr4_x(0, bank, source); }; - void chr4_4(int bank, int source){ chr4_x(4, bank, source); }; + void chr4_0(int bank, int source) { chr4_x(0, bank, source); } + void chr4_4(int bank, int source) { chr4_x(4, bank, source); } void chr2_x(int start, int bank, int source); - void chr2_0(int bank, int source) { chr2_x(0, bank, source); }; - void chr2_2(int bank, int source) { chr2_x(2, bank, source); }; - void chr2_4(int bank, int source) { chr2_x(4, bank, source); }; - void chr2_6(int bank, int source) { chr2_x(6, bank, source); }; + void chr2_0(int bank, int source) { chr2_x(0, bank, source); } + void chr2_2(int bank, int source) { chr2_x(2, bank, source); } + void chr2_4(int bank, int source) { chr2_x(4, bank, source); } + void chr2_6(int bank, int source) { chr2_x(6, bank, source); } void chr1_x(int start, int bank, int source); - void chr1_0(int bank, int source) { chr1_x(0, bank, source); }; - void chr1_1(int bank, int source) { chr1_x(1, bank, source); }; - void chr1_2(int bank, int source) { chr1_x(2, bank, source); }; - void chr1_3(int bank, int source) { chr1_x(3, bank, source); }; - void chr1_4(int bank, int source) { chr1_x(4, bank, source); }; - void chr1_5(int bank, int source) { chr1_x(5, bank, source); }; - void chr1_6(int bank, int source) { chr1_x(6, bank, source); }; - void chr1_7(int bank, int source) { chr1_x(7, bank, source); }; + void chr1_0(int bank, int source) { chr1_x(0, bank, source); } + void chr1_1(int bank, int source) { chr1_x(1, bank, source); } + void chr1_2(int bank, int source) { chr1_x(2, bank, source); } + void chr1_3(int bank, int source) { chr1_x(3, bank, source); } + void chr1_4(int bank, int source) { chr1_x(4, bank, source); } + void chr1_5(int bank, int source) { chr1_x(5, bank, source); } + void chr1_6(int bank, int source) { chr1_x(6, bank, source); } + void chr1_7(int bank, int source) { chr1_x(7, bank, source); } // NameTable & Mirroring @@ -428,7 +428,7 @@ public: // hack until disk system is made modern! virtual void disk_flip_side() { if (m_cart) m_cart->disk_flip_side(); } - int get_pcb_id() { return m_pcb_id; }; + int get_pcb_id() { return m_pcb_id; } void pcb_start(uint8_t *ciram_ptr); void pcb_reset(); @@ -436,7 +436,7 @@ public: // temporarily here int m_crc_hack; - int get_crc_hack() { return m_crc_hack; }; + int get_crc_hack() { return m_crc_hack; } void set_must_be_loaded(bool _must_be_loaded) { m_must_be_loaded = _must_be_loaded; } -- cgit v1.2.3