diff --git a/pyboy/core/cartridge/base_mbc.pxd b/pyboy/core/cartridge/base_mbc.pxd index db1254c10..4ed1d3cf8 100644 --- a/pyboy/core/cartridge/base_mbc.pxd +++ b/pyboy/core/cartridge/base_mbc.pxd @@ -3,7 +3,7 @@ # GitHub: https://github.com/Baekalfen/PyBoy # -from libc.stdint cimport uint8_t, uint16_t, uint32_t +from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t from pyboy.core.cartridge.rtc cimport RTC from pyboy.logging.logging cimport Logger @@ -29,7 +29,7 @@ cdef class BaseMBC: cdef uint16_t rambank_selected cdef uint16_t rombank_selected cdef uint8_t[:] rombank_view - cdef uint8_t[:] rambank_view + cdef uint8_t[:] rambank_view cdef bint cgb cdef void save_state(self, IntIOInterface) noexcept @@ -39,9 +39,9 @@ cdef class BaseMBC: cdef void init_rambanks(self, uint8_t) noexcept cdef str getgamename(self, uint8_t[:,:]) noexcept - cdef uint8_t getitem(self, uint16_t) noexcept nogil - cdef void setitem(self, uint16_t, uint8_t) noexcept nogil + cdef uint8_t getitem(self, uint64_t) noexcept nogil + cdef void setitem(self, uint64_t, uint8_t) noexcept nogil cdef void overrideitem(self, int, uint16_t, uint8_t) noexcept nogil cdef class ROMOnly(BaseMBC): - cdef void setitem(self, uint16_t, uint8_t) noexcept nogil + cdef void setitem(self, uint64_t, uint8_t) noexcept nogil diff --git a/pyboy/core/cartridge/mbc1.pxd b/pyboy/core/cartridge/mbc1.pxd index f4b54e372..a039ac859 100644 --- a/pyboy/core/cartridge/mbc1.pxd +++ b/pyboy/core/cartridge/mbc1.pxd @@ -3,16 +3,14 @@ # GitHub: https://github.com/Baekalfen/PyBoy # -from libc.stdint cimport uint8_t, uint16_t - from pyboy.logging.logging cimport Logger - +from libc.stdint cimport uint8_t, uint16_t, uint64_t from .base_mbc cimport BaseMBC cdef Logger logger cdef class MBC1(BaseMBC): - cdef void setitem(self, uint16_t, uint8_t) noexcept nogil + cdef void setitem(self, uint64_t, uint8_t) noexcept nogil cdef uint8_t bank_select_register1 cdef uint8_t bank_select_register2 diff --git a/pyboy/core/cartridge/mbc2.pxd b/pyboy/core/cartridge/mbc2.pxd index 2006f7454..2bfc2945b 100644 --- a/pyboy/core/cartridge/mbc2.pxd +++ b/pyboy/core/cartridge/mbc2.pxd @@ -3,14 +3,12 @@ # GitHub: https://github.com/Baekalfen/PyBoy # -from libc.stdint cimport uint8_t, uint16_t - from pyboy.logging.logging cimport Logger - +from libc.stdint cimport uint8_t, uint16_t, uint64_t from .base_mbc cimport BaseMBC cdef Logger logger cdef class MBC2(BaseMBC): - cdef void setitem(self, uint16_t, uint8_t) noexcept nogil + cdef void setitem(self, uint64_t, uint8_t) noexcept nogil diff --git a/pyboy/core/cartridge/mbc3.pxd b/pyboy/core/cartridge/mbc3.pxd index a0469da3d..a68ca7699 100644 --- a/pyboy/core/cartridge/mbc3.pxd +++ b/pyboy/core/cartridge/mbc3.pxd @@ -3,14 +3,13 @@ # GitHub: https://github.com/Baekalfen/PyBoy # -from libc.stdint cimport uint8_t, uint16_t - from pyboy.logging.logging cimport Logger +from libc.stdint cimport uint8_t, uint16_t, uint64_t from .base_mbc cimport BaseMBC cdef Logger logger cdef class MBC3(BaseMBC): - cdef void setitem(self, uint16_t, uint8_t) noexcept nogil + cdef void setitem(self, uint64_t, uint8_t) noexcept nogil diff --git a/pyboy/core/cartridge/mbc5.pxd b/pyboy/core/cartridge/mbc5.pxd index 1adcdd904..03eb964fe 100644 --- a/pyboy/core/cartridge/mbc5.pxd +++ b/pyboy/core/cartridge/mbc5.pxd @@ -3,14 +3,14 @@ # GitHub: https://github.com/Baekalfen/PyBoy # -from libc.stdint cimport uint8_t, uint16_t from pyboy.logging.logging cimport Logger +from libc.stdint cimport uint8_t, uint16_t, uint64_t from .base_mbc cimport BaseMBC cdef Logger logger cdef class MBC5(BaseMBC): - cdef void setitem(self, uint16_t, uint8_t) noexcept nogil + cdef void setitem(self, uint64_t, uint8_t) noexcept nogil diff --git a/pyboy/core/mb.pxd b/pyboy/core/mb.pxd index 0b176b4d3..df96d080e 100644 --- a/pyboy/core/mb.pxd +++ b/pyboy/core/mb.pxd @@ -71,8 +71,8 @@ cdef class Motherboard: @cython.locals(pc=cython.int, bank=cython.int) cdef bint breakpoint_reached(self) noexcept with gil - cdef uint8_t getitem(self, uint16_t) noexcept nogil - cdef void setitem(self, uint16_t, uint8_t) noexcept nogil + cdef uint8_t getitem(self, uint64_t) noexcept nogil + cdef void setitem(self, uint64_t, uint8_t) noexcept nogil @cython.locals(offset=cython.int, dst=cython.int, n=cython.int) cdef void transfer_DMA(self, uint8_t) noexcept nogil diff --git a/pyboy/core/opcodes.pxd b/pyboy/core/opcodes.pxd index aacc77a08..6ff060d1f 100644 --- a/pyboy/core/opcodes.pxd +++ b/pyboy/core/opcodes.pxd @@ -3,22 +3,19 @@ # DO NOT MODIFY THIS FILE. # CHANGES TO THE CODE SHOULD BE MADE IN 'opcodes_gen.py'. +from . cimport cpu cimport cython from libc.stdint cimport uint8_t, uint16_t, uint32_t from pyboy.logging.logging cimport Logger - -from . cimport cpu - - cdef Logger logger cdef uint16_t FLAGC, FLAGH, FLAGN, FLAGZ cdef uint8_t[512] OPCODE_LENGTHS -@cython.locals(v=uint16_t, a=uint16_t, b=uint16_t, pc=uint16_t, oplen=uint8_t) -cdef int execute_opcode(cpu.CPU, uint16_t) noexcept nogil -cdef uint8_t no_opcode(cpu.CPU) noexcept nogil +@cython.locals(v=cython.int, a=cython.int, b=cython.int, pc=cython.ushort) +cdef int execute_opcode(cpu.CPU, uint64_t) noexcept nogil +cdef uint8_t no_opcode(cpu.CPU) noexcept nogil @cython.locals(v=int, flag=uint8_t, t=int) cdef uint8_t NOP_00(cpu.CPU) noexcept nogil # 00 NOP @cython.locals(v=int, flag=uint8_t, t=int) diff --git a/pyboy/core/opcodes.py b/pyboy/core/opcodes.py index 1762144ff..0d97c9b95 100644 --- a/pyboy/core/opcodes.py +++ b/pyboy/core/opcodes.py @@ -2166,7 +2166,7 @@ def JP_CA(cpu, v): # CA JP Z,a16 def PREFIX_CB(cpu): # CB PREFIX CB - logger.critical("CB cannot be called!") + logger.critical('CB cannot be called!') cpu.PC += 1 cpu.PC &= 0xFFFF return 4 diff --git a/pyboy/core/opcodes_gen.py b/pyboy/core/opcodes_gen.py index 90566067f..84beab668 100644 --- a/pyboy/core/opcodes_gen.py +++ b/pyboy/core/opcodes_gen.py @@ -39,7 +39,7 @@ cdef uint16_t FLAGC, FLAGH, FLAGN, FLAGZ cdef uint8_t[512] OPCODE_LENGTHS @cython.locals(v=cython.int, a=cython.int, b=cython.int, pc=cython.ushort) -cdef int execute_opcode(cpu.CPU, uint16_t) noexcept nogil +cdef int execute_opcode(cpu.CPU, uint64_t) noexcept nogil cdef uint8_t no_opcode(cpu.CPU) noexcept nogil """