You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(There doesn't appear to be any official documentation on this instruction set. Analogue, the company, apparently sponsored the addition of the ap target to GBDK, making it effectively a reference implementation.)
The main difference seems to be that the graphics interface uses a different bus address and uses bitmasks which are reversed as compared to the Game Boy. I'm inferring this from GBDK's source; when you replace the linker flag -msm83:gb with -msm83:ap, the platform-specific implementations are switched out, the differences between them being:
diffs
/gbdk-lib/libc/targets/sm83/{gb,ap}/crt0.s:
@@ -145,32 +145,26 @@ _set_interrupts::
;; Jump table for modes: 4 modes, 4 bytes each 16 bytes total
RET
;; GameBoy Header
.org 0x100
.header:
JR .code_start
;; Nintendo logo
.org 0x104
- .byte 0xCE,0xED,0x66,0x66- .byte 0xCC,0x0D,0x00,0x0B- .byte 0x03,0x73,0x00,0x83- .byte 0x00,0x0C,0x00,0x0D- .byte 0x00,0x08,0x11,0x1F- .byte 0x88,0x89,0x00,0x0E- .byte 0xDC,0xCC,0x6E,0xE6- .byte 0xDD,0xDD,0xD9,0x99- .byte 0xBB,0xBB,0x67,0x63- .byte 0x6E,0x0E,0xEC,0xCC- .byte 0xDD,0xDC,0x99,0x9F- .byte 0xBB,0xB9,0x33,0x3E+ .byte 0x01,0x10,0xCE,0xEF,0x00,0x00,0x44,0xAA+ .byte 0x00,0x74,0x00,0x18,0x11,0x95,0x00,0x34+ .byte 0x00,0x1A,0x00,0xD5,0x00,0x22,0x00,0x69+ .byte 0x6F,0xF6,0xF7,0x73,0x09,0x90,0xE1,0x10+ .byte 0x44,0x40,0x9A,0x90,0xD5,0xD0,0x44,0x30+ .byte 0xA9,0x21,0x5D,0x48,0x22,0xE0,0xF8,0x60
;; Title of the game
.org 0x134
.asciz "Title"
.org 0x144
.byte 0,0,0
;; Cartridge type is ROM only
.org 0x147
For those out-of-the-loop, the Pocket is a proprietary FPGA-based handheld. However, roms made for it (with GB Studio, or GBDK directly) are almost identical to GB roms:
sample diff
Diff from GB to AP variants of GB-Wordyl v1.0.3.
(There doesn't appear to be any official documentation on this instruction set. Analogue, the company, apparently sponsored the addition of the
ap
target to GBDK, making it effectively a reference implementation.)The main difference seems to be that the graphics interface uses a different bus address and uses bitmasks which are reversed as compared to the Game Boy. I'm inferring this from GBDK's source; when you replace the linker flag
-msm83:gb
with-msm83:ap
, the platform-specific implementations are switched out, the differences between them being:diffs
/gbdk-lib/libc/targets/sm83/{gb,ap}/crt0.s
:/gbdk-lib/libc/targets/sm83/{gb,ap}/global.s
:/gbdk-lib/libc/targets/sm83/{gb,ap}/sfr.s
:Presumably it's not enough to map the bytes of the rom, but would it be feasible to add a console variant?
The text was updated successfully, but these errors were encountered: