mirror of https://github.com/mgba-emu/mgba.git
GB MBC: Fix MBC1 RAM enable bit selection
This commit is contained in:
parent
96f1838faa
commit
c487b0cf43
1
CHANGES
1
CHANGES
|
@ -6,6 +6,7 @@ Emulation fixes:
|
||||||
- ARM: Fix ALU reading PC after shifting
|
- ARM: Fix ALU reading PC after shifting
|
||||||
- ARM: Fix STR storing PC after address calculation
|
- ARM: Fix STR storing PC after address calculation
|
||||||
- GB MBC: Fix MBC1 mode changing behavior
|
- GB MBC: Fix MBC1 mode changing behavior
|
||||||
|
- GB MBC: Fix MBC1 RAM enable bit selection
|
||||||
- GB Video: Fix state after skipping BIOS (fixes mgba.io/i/1715 and mgba.io/i/1716)
|
- GB Video: Fix state after skipping BIOS (fixes mgba.io/i/1715 and mgba.io/i/1716)
|
||||||
- GBA: Fix timing advancing too quickly in rare cases
|
- GBA: Fix timing advancing too quickly in rare cases
|
||||||
- GBA BIOS: Implement dummy sound driver calls
|
- GBA BIOS: Implement dummy sound driver calls
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
[testinfo]
|
|
||||||
fail=1
|
|
Binary file not shown.
|
@ -1,84 +0,0 @@
|
||||||
; this file was created with wlalink by ville helin <vhelin@iki.fi>.
|
|
||||||
; 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
|
|
Binary file not shown.
After Width: | Height: | Size: 528 B |
|
@ -1,2 +1,2 @@
|
||||||
[testinfo]
|
[testinfo]
|
||||||
fail=1
|
skip=360
|
||||||
|
|
|
@ -442,7 +442,7 @@ void _GBMBC1(struct GB* gb, uint16_t address, uint8_t value) {
|
||||||
int bank = value & 0x1F;
|
int bank = value & 0x1F;
|
||||||
switch (address >> 13) {
|
switch (address >> 13) {
|
||||||
case 0x0:
|
case 0x0:
|
||||||
switch (value) {
|
switch (value & 0xF) {
|
||||||
case 0:
|
case 0:
|
||||||
memory->sramAccess = false;
|
memory->sramAccess = false;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue