From 7f41367ce01fbecaec6eb5f173152a59fe55e669 Mon Sep 17 00:00:00 2001 From: Astatin Date: Fri, 13 Sep 2024 21:19:32 +0900 Subject: Fix `C` condition on JP and CALL --- gbasm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gbasm b/gbasm index 2b01a3e..78b7715 100755 --- a/gbasm +++ b/gbasm @@ -127,7 +127,8 @@ instructions = [ { "opcode": "JP", "params": [ { "type": ["16b"], "format": lambda args, _: [0b11000011, args[0] & 0xff, args[0] >> 8] }, { "type": ["HL"], "format": lambda args, _: [0b11101001] }, - { "type": ["cc", "16b"], "format": lambda args, _: [0b11000010 | (args[0] << 3), args[1] & 0xff, args[1] >> 8] } + { "type": ["cc", "16b"], "format": lambda args, _: [0b11000010 | (args[0] << 3), args[1] & 0xff, args[1] >> 8] }, + { "type": ["C", "16b"], "format": lambda args, _: [0b11000010 | (3 << 3), args[1] & 0xff, args[1] >> 8] } ]}, { "opcode": "JR", "params": [ { "type": ["8b"], "format": lambda args, _: [0b00011000, args[0]] }, @@ -139,11 +140,13 @@ instructions = [ ]}, { "opcode": "CALL", "params": [ { "type": ["16b"], "format": lambda args, _: [0b11001101, args[0] & 0xff, args[0] >> 8] }, - { "type": ["cc", "16b"], "format": lambda args, _: [0b11000100 | (args[0] << 3), args[1] & 0xff, args[1] >> 8] } + { "type": ["cc", "16b"], "format": lambda args, _: [0b11000100 | (args[0] << 3), args[1] & 0xff, args[1] >> 8] }, + { "type": ["C", "16b"], "format": lambda args, _: [0b11000100 | (3 << 3), args[1] & 0xff, args[1] >> 8] } ]}, { "opcode": "RET", "params": [ { "type": [], "format": lambda args, _: [0b11001001] }, { "type": ["cc"], "format": lambda args, _: [0b11000000 | (args[0] << 3)] }, + { "type": ["C"], "format": lambda args, _: [0b11000000 | (3 << 3)] } ]}, { "opcode": "RETI", "params": [ { "type": [], "format": lambda args, _: [0b11011001] }, -- cgit v1.2.3-70-g09d2