diff --git a/CHANGES b/CHANGES index 6c17edab8..470deede0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +0.8.3: (Future) +Emulation fixes: + - GB MBC: Fix MBC1 RAM enable bit selection + 0.8.2: (2020-06-14) Emulation fixes: - ARM: Fix timing on Thumb shift instructions diff --git a/cinema/gb/mooneye-gb/emulator-only/mbc1/bits_ram_en/test.gb b/cinema/gb/mooneye-gb/emulator-only/mbc1/bits_ram_en/test.gb deleted file mode 100644 index 6117c265b..000000000 Binary files a/cinema/gb/mooneye-gb/emulator-only/mbc1/bits_ram_en/test.gb and /dev/null differ diff --git a/cinema/gb/mooneye-gb/emulator-only/mbc1/bits_ram_en/test.sym b/cinema/gb/mooneye-gb/emulator-only/mbc1/bits_ram_en/test.sym deleted file mode 100644 index 3abf1f926..000000000 --- a/cinema/gb/mooneye-gb/emulator-only/mbc1/bits_ram_en/test.sym +++ /dev/null @@ -1,84 +0,0 @@ -; this file was created with wlalink by ville helin . -; wla symbolic information for "/home/vicki/Scratch/mooneye-gb/tests/build/emulator-only/mbc1/bits_ram_en.gb". - -[labels] -01:48c9 clear_vram -01:487a disable_lcd_safe -01:4880 disable_lcd_safe@wait_ly_0 -01:4898 memcmp -01:48dd memcpy -01:48e6 memset -01:48a6 print_hex4 -01:48d3 print_hex8 -01:48f6 print_inline_string -01:48b2 print_load_font -01:48be print_newline -01:48ef print_string -01:47f0 quit -01:4805 quit@cb_return -01:480a quit@wait_ly_1 -01:4810 quit@wait_ly_2 -01:4816 quit@wait_ly_3 -01:481c quit@wait_ly_4 -01:4826 quit@success -01:484d quit@failure -01:4862 quit@halt -01:4863 quit@halt_execution_0 -01:4866 reset_screen -01:4889 serial_send_byte -01:4000 font -00:0150 main -00:0164 test_round1 -00:018e test_round2 -00:01ae test_round2@expect_enabled -00:01b3 test_round2@expect_disabled -00:01cc test_round2@quit_inline_1 -00:01dd ram_data_enabled -00:01ed ram_data_disabled -00:01fd compare_ram_data -00:0206 fail_round1_disable -00:020d fail_round1_disable@quit_inline_2 -00:0240 fail_round1_enable -00:0247 fail_round1_enable@quit_inline_3 -00:0279 fail_round1_print_test_address -00:0286 fail_round2_disable -00:028d fail_round2_disable@quit_inline_4 -00:02ab fail_round2_expect -00:02b2 fail_round2_expect@quit_inline_5 -00:2000 ram_en_expectations -00:ff80 test_address -00:ff80 test_address_l -00:ff81 test_address_h -00:ff82 ram_en_value - -[definitions] -0000000a _sizeof_clear_vram -0000000f _sizeof_disable_lcd_safe -0000000e _sizeof_memcmp -00000009 _sizeof_memcpy -00000009 _sizeof_memset -0000000c _sizeof_print_hex4 -0000000a _sizeof_print_hex8 -00000006 _sizeof_print_inline_string -0000000c _sizeof_print_load_font -0000000b _sizeof_print_newline -00000007 _sizeof_print_string -00000076 _sizeof_quit -00000014 _sizeof_reset_screen -0000000f _sizeof_serial_send_byte -000007f0 _sizeof_font -00000002 _sizeof_test_address -00000001 _sizeof_test_address_l -00000001 _sizeof_test_address_h -00000001 _sizeof_ram_en_value -00000014 _sizeof_main -0000002a _sizeof_test_round1 -0000004f _sizeof_test_round2 -00000010 _sizeof_ram_data_enabled -00000010 _sizeof_ram_data_disabled -00000009 _sizeof_compare_ram_data -0000003a _sizeof_fail_round1_disable -00000039 _sizeof_fail_round1_enable -0000000d _sizeof_fail_round1_print_test_address -00000025 _sizeof_fail_round2_disable -00001d55 _sizeof_fail_round2_expect diff --git a/src/gb/mbc.c b/src/gb/mbc.c index be03f1511..059e7c0a2 100644 --- a/src/gb/mbc.c +++ b/src/gb/mbc.c @@ -425,7 +425,7 @@ void _GBMBC1(struct GB* gb, uint16_t address, uint8_t value) { int stride = 1 << memory->mbcState.mbc1.multicartStride; switch (address >> 13) { case 0x0: - switch (value) { + switch (value & 0xF) { case 0: memory->sramAccess = false; break;