Fix the set_joyp API
This commit is contained in:
parent
c802361800
commit
31609319de
@ -753,7 +753,11 @@ static void write_high_memory(GB_gameboy_t *gb, uint16_t addr, uint8_t value)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
case GB_IO_JOYP:
|
case GB_IO_JOYP:
|
||||||
if ((gb->io_registers[GB_IO_JOYP] & 0x30) != (value & 0x30)) {
|
if (gb->joyp_write_callback) {
|
||||||
|
gb->joyp_write_callback(gb, value);
|
||||||
|
GB_update_joyp(gb);
|
||||||
|
}
|
||||||
|
else if ((gb->io_registers[GB_IO_JOYP] & 0x30) != (value & 0x30)) {
|
||||||
GB_sgb_write(gb, value);
|
GB_sgb_write(gb, value);
|
||||||
gb->io_registers[GB_IO_JOYP] = value & 0xF0;
|
gb->io_registers[GB_IO_JOYP] = value & 0xF0;
|
||||||
GB_update_joyp(gb);
|
GB_update_joyp(gb);
|
||||||
|
@ -386,10 +386,6 @@ static void command_ready(GB_gameboy_t *gb)
|
|||||||
|
|
||||||
void GB_sgb_write(GB_gameboy_t *gb, uint8_t value)
|
void GB_sgb_write(GB_gameboy_t *gb, uint8_t value)
|
||||||
{
|
{
|
||||||
if (gb->joyp_write_callback) {
|
|
||||||
gb->joyp_write_callback(gb, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!GB_is_sgb(gb)) return;
|
if (!GB_is_sgb(gb)) return;
|
||||||
if (!GB_is_hle_sgb(gb)) {
|
if (!GB_is_hle_sgb(gb)) {
|
||||||
/* Notify via callback */
|
/* Notify via callback */
|
||||||
|
Loading…
Reference in New Issue
Block a user