參考資訊:
https://bgb.bircd.org/
https://github.com/gbdev/rgbds
https://github.com/sinamas/gambatte
https://github.com/lancekindle/DMGreport
Game Boy支援4種色階並且有3個調色盤(1個Background、2個Object)可以使用,顏色的色階則是由CHR像素資料控制,色階對應的顏色則可以由調色盤控制

main.s
BGP equ $ff47
OBP0 equ $ff48
OBP1 equ $ff49
LCDC equ $ff40
LCDCF_OBJ8 equ %00000000
LCDCF_OBJON equ %00000010
LCDCF_ON equ %10000000
IE equ $ffff
IEF_VBLANK equ %00000001
STAT equ $ff41
STATF_BUSY equ %00000010
section "vblank", rom0[$0040]
reti
section "lcdc", rom0[$0048]
reti
section "timer", rom0[$0050]
reti
section "serial", rom0[$0058]
reti
section "joypad", rom0[$0060]
reti
section "entry", rom0[$0100]
nop
jp _start
section "header", rom0[$0104]
db $ce, $ed, $66, $66, $cc, $0d, $00, $0b, $03, $73, $00, $83, $00, $0c, $00, $0d
db $00, $08, $11, $1f, $88, $89, $00, $0e, $dc, $cc, $6e, $e6, $dd, $dd, $d9, $99
db $bb, $bb, $67, $63, $6e, $0e, $ec, $cc, $dd, $dc, $99, $9f, $bb, $b9, $33, $3e
db "0123456789abcde"
db 0
db 0, 0
db 0
db 0
db 0
db 0
db 1
db $33
db 0
db 0
dw 0
_start:
di
ld sp, $ffff
ld a, IEF_VBLANK
ld [IE], a
ei
halt
halt
ld a, [LCDC]
and ~LCDCF_ON
ld [LCDC], a
ld d, 32
ld bc, tile
ld hl, $8000
copy_tile:
ld a, [bc]
ld [hl+], a
inc bc
dec d
jr nz, copy_tile
ld hl, $9800
ld [hl], 1
ld a, %11100100
ld [BGP], a
ld a, [LCDC]
or LCDCF_ON
ld [LCDC], a
jp @
tile:
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %00000000
db %11111111
db %00000000
db %11111111
db %00000000
db %00000000
db %11111111
db %00000000
db %11111111
db %11111111
db %11111111
db %11111111
db %11111111
每個像素的色階由tile設定,因此,顯示一個8x8 Pixels,需要16 Bytes(1個Pixel由2個bits控制),色階對應的顏色則由BGP(Background)、OBP0(Object)、OBP1(Object)設定
完成
