;
; Graphics bank assignments for 240p test suite
; Copyright 2018 Damian Yerrick
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License along
; with this program; if not, write to the Free Software Foundation, Inc.,
; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
;
include "src/gb.inc"

; Help ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

section "helptiles_gfx1",ROMX
helptiles:: incbin "obj/gb/helptiles.2bpp16.pb16"
def sizeof_helptiles equ 672
export sizeof_helptiles
helptiles_gbc:: incbin "obj/gb/helptiles-gbc.2bpp16.pb16"
def sizeof_helptiles_gbc equ 960
export sizeof_helptiles_gbc
helptiles_end::

; section "helptiles_gfx0", ROMX
helpblink_chr::
  incbin "obj/gb/helpblink.2bpp"  ; copied to VRAM $88C6


; Super Game Boy border ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

section "sgbborder_gfx0", ROM0
sgbborder::
  incbin "obj/gb/sgbborder.border"
.end:

; Stills ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

section "convergence_gfx1",ROMX
convergence_chr::
  incbin "obj/gb/convergence.2bpp.pb16"
def sizeof_convergence_chr equ 80
export sizeof_convergence_chr

section "grayramp_gfx1",ROMX, align[2]
grayramp_sgb_chr::
  incbin "obj/gb/grayramp-sgb.2bpp", 0, 36
grayramp_chr::
  incbin "obj/gb/grayramp.2bpp"
grayramp_bottomhalfmap::
  db 0,18,19,16,15,20,13,12,21,10,9,22,7,6,23,4,3,24,1,0
grayramp_chr_gbc::
  db %01111111  ; tile 1
  db %00000111
  db %11111111
  db %00111111  ; tile 2
  dw `11222223
  db %11111111
  db %00111111  ; tile 3
  dw `33330000
  db %11111111
  db %00111111  ; tile 4: full
  dw `33333333
  db %11111111
  db %11111111  ; tile 5: full
  db %11111111

section "sharpness_gfx1",ROMX

sharpness_brick_tile::
  dw 16  ; length
  dw `11222222
  dw `22112222
  dw `22221122
  dw `32222311
  dw `11322231
  dw `22112331
  dw `22221131
  dw `22222211

section "cpsgrid_gfx0",ROM0
cps_grid_chr::
  incbin "obj/gb/cps_grid.2bpp.pb16"
def sizeof_cps_grid_chr equ 128
export sizeof_cps_grid_chr

; Manual lag test ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

section "megaton_gfx0",ROM0
megatontiles_chr:: incbin "obj/gb/megatontiles.2bpp16.pb16"
def sizeof_megaton_tiles equ 320
export sizeof_megaton_tiles

; Shadow sprite ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

section "shadowsprite_gfx1",ROMX
portrait_pal::
  drgb $FFFFFF
  drgb $FFAA66
  drgb $7777EE
  drgb $552211
shadow_reticle_chr::
  incbin "obj/gb/shadow_reticle.2bpp.pb16"
def sizeof_shadow_reticle_chr equ 16*4*4
export sizeof_shadow_reticle_chr
hepsie_chr::
  incbin "obj/gb/hepsie.2bpp.pb16"
def sizeof_hepsie_chr equ 16*3*4
export sizeof_hepsie_chr

;section "shadowsprite_gfx0",ROM0
hepsie_palette_gbc::
  drgb $000000
  drgb $00FF00  ; skirt
  drgb $FFFF00
  drgb $FFFFFF
  drgb $000000
  drgb $FF00DD  ; cape
  drgb $FFAA55
hepsie_palette_gbc_end::

; Scroll test ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

section "scrolltest_gfx0",ROM0
hillzone_nam::
  incbin "obj/gb/greenhillzone.nam.pb16"
kikitiles_chr::
  dw kikitiles_chr_end-kikitiles_chr-2
  incbin "obj/gb/kikitiles.2bpp"
kikitiles_chr_end:
section "scrolltest_gfx1",ROMX
kikimap::
  incbin "obj/gb/kikimap.chr1.pb16"

; Backlight zone ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

section "backlight_gfx1",ROMX
backlight_chr::
  incbin "obj/gb/backlightzone.2bpp.pb16"

; Lame boy demo ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Tiles also used by overscan and motion blur

section "lameboy_gfx1",ROMX
bggfx_chr::
  incbin "obj/gb/bggfx.2bpp.pb16"

; GBC exclusive tests ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

section "smptebars_gfx0",ROM0
smptetiles_chr::
  incbin "obj/gb/smptetiles.2bpp.pb16"

section "pluge_shark_gfx1",ROMX
pluge_shark_chr::
  incbin "obj/gb/pluge_shark_4color.2bpp.pb16"
