diff options
| author | entrpntr <entrpntr@gmail.com> | 2020-05-12 02:07:07 -0400 |
|---|---|---|
| committer | entrpntr <entrpntr@gmail.com> | 2020-05-12 02:12:58 -0400 |
| commit | dac57cee381b68350ef50317619334892c140945 (patch) | |
| tree | 76c184011e3b9797b1e4c6495d7d4104448ef8ef /data | |
| parent | f2d087165f870dbf55794064dedff4116596258d (diff) | |
Cleanup of color.asm and scgb_layouts.asm.
Diffstat (limited to 'data')
| -rw-r--r-- | data/maps/environment_colors.asm | 35 | ||||
| -rw-r--r-- | data/maps/sgb_roof_pal_inds.asm | 31 | ||||
| -rw-r--r-- | data/sgb_ctrl_packets.asm | 133 |
3 files changed, 199 insertions, 0 deletions
diff --git a/data/maps/environment_colors.asm b/data/maps/environment_colors.asm new file mode 100644 index 00000000..3497b2b9 --- /dev/null +++ b/data/maps/environment_colors.asm @@ -0,0 +1,35 @@ +EnvironmentColorsPointers: +; entries correspond to environment constants (see constants/map_data_constants.asm) + dw .OutdoorColors ; unused + dw .OutdoorColors ; TOWN + dw .OutdoorColors ; ROUTE + dw .IndoorColors ; INDOOR + dw .DungeonColors ; CAVE + dw .Env5Colors ; ENVIRONMENT_5 + dw .IndoorColors ; GATE + dw .DungeonColors ; DUNGEON + +; Valid indices: $00 - $29 (see gfx/tilesets/bg_tiles.pal) +.OutdoorColors: + db $00, $01, $02, $28, $04, $05, $06, $07 ; morn + db $08, $09, $0a, $28, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $29, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark + +.IndoorColors: + db $20, $21, $22, $23, $24, $25, $26, $07 ; morn + db $20, $21, $22, $23, $24, $25, $26, $07 ; day + db $10, $11, $12, $13, $14, $15, $16, $07 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $07 ; dark + +.DungeonColors: + db $00, $01, $02, $03, $04, $05, $06, $07 ; morn + db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $13, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark + +.Env5Colors: + db $00, $01, $02, $03, $04, $05, $06, $07 ; morn + db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $13, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark diff --git a/data/maps/sgb_roof_pal_inds.asm b/data/maps/sgb_roof_pal_inds.asm new file mode 100644 index 00000000..a2620e19 --- /dev/null +++ b/data/maps/sgb_roof_pal_inds.asm @@ -0,0 +1,31 @@ +; Crystal does not support SGB, so this is unused. + +MapGroupRoofSGBPalInds: +; entries correspond to map groups + db PREDEFPAL_ROUTES + db PREDEFPAL_OLIVINE + db PREDEFPAL_MAHOGANY + db PREDEFPAL_DUNGEONS + db PREDEFPAL_ECRUTEAK + db PREDEFPAL_BLACKTHORN + db PREDEFPAL_CINNABAR + db PREDEFPAL_CERULEAN + db PREDEFPAL_AZALEA + db PREDEFPAL_LAKE_OF_RAGE + db PREDEFPAL_VIOLET + db PREDEFPAL_GOLDENROD + db PREDEFPAL_VERMILION + db PREDEFPAL_PALLET + db PREDEFPAL_PEWTER + db PREDEFPAL_VERMILION + db PREDEFPAL_INDIGO + db PREDEFPAL_FUCHSIA + db PREDEFPAL_LAVENDER + db PREDEFPAL_SILVER_CAVE + db PREDEFPAL_FUCHSIA + db PREDEFPAL_CELADON + db PREDEFPAL_CIANWOOD + db PREDEFPAL_VIRIDIAN + db PREDEFPAL_NEW_BARK + db PREDEFPAL_SAFFRON + db PREDEFPAL_CHERRYGROVE diff --git a/data/sgb_ctrl_packets.asm b/data/sgb_ctrl_packets.asm new file mode 100644 index 00000000..b3c2b040 --- /dev/null +++ b/data/sgb_ctrl_packets.asm @@ -0,0 +1,133 @@ +; macros taken from pokered's data/sgb_packets.asm +; names taken from pandocs +; http://gbdev.gg8.se/wiki/articles/SGB_Functions#SGB_Palette_Commands + +sgb_pal_trn: MACRO + db (SGB_PAL_TRN << 3) + 1 + ds 15 +ENDM + +sgb_mlt_req: MACRO + db (SGB_MLT_REG << 3) + 1 + db \1 - 1 + ds 14 +ENDM + +sgb_chr_trn: MACRO + db (SGB_CHR_TRN << 3) + 1 + db \1 + (\2 << 1) + ds 14 +ENDM + +sgb_pct_trn: MACRO + db (SGB_PCT_TRN << 3) + 1 + ds 15 +ENDM + +sgb_mask_en: MACRO + db (SGB_MASK_EN << 3) + 1 + db \1 + ds 14 +ENDM + +sgb_data_snd: MACRO + db (SGB_DATA_SND << 3) + 1 + dw \1 ; address + db \2 ; bank + db \3 ; length (1-11) +ENDM + +; Crystal does not support SGB, so this is unused. + +PalTrnPacket: sgb_pal_trn +MltReq1Packet: sgb_mlt_req 1 +MltReq2Packet: sgb_mlt_req 2 +ChrTrnPacket: sgb_chr_trn 0, 0 +PctTrnPacket: sgb_pct_trn + +MaskEnFreezePacket: sgb_mask_en 1 +MaskEnCancelPacket: sgb_mask_en 0 + +; These are packets containing SNES code. +; This set of packets is found in several Japanese SGB-compatible titles. +; It appears to be part of NCL's SGB devkit. + +DataSndPacket1: + sgb_data_snd $085d, $0, 11 + db $8c ; cpx #$8c (2) + db $d0, $f4 ; bne -$0c + db $60 ; rts + ds 7 + +DataSndPacket2: + sgb_data_snd $0852, $0, 11 + db $a9, $e7 ; lda #$e7 + db $9f, $01, $c0, $7e ; sta $7ec001, x + db $e8 ; inx + db $e8 ; inx + db $e8 ; inx + db $e8 ; inx + db $e0 ; cpx #$8c (1) + +DataSndPacket3: + sgb_data_snd $0847, $0, 11 + db $c4 ; cmp #$c4 (2) + db $d0, $16 ; bne +$16 + db $a5 ; lda dp + db $cb ; wai + db $c9, $05 ; cmp #$05 + db $d0, $10 ; bne +$10 + db $a2, $28 ; ldx #$28 + +DataSndPacket4: + sgb_data_snd $083c, $0, 11 + db $f0, $12 ; beq +$12 + db $a5 ; lda dp + db $c9, $c9 ; cmp #$c9 + db $c8 ; iny + db $d0, $1c ; bne +$1c + db $a5 ; lda dp + db $ca ; dex + db $c9 ; cmp #$c4 (1) + +DataSndPacket5: + sgb_data_snd $0831, $0, 11 + dbw $0c, $caa5 ; tsb $caa5 + db $c9, $7e ; cmp #$7e + db $d0, $06 ; bne +$06 + db $a5 ; lda dp + db $cb ; wai + db $c9, $7e ; cmp #$7e + +DataSndPacket6: + sgb_data_snd $0826, $0, 11 + db $39 ; bne +$39 (2) + dbw $cd, $0c48 ; cmp $0c48 + db $d0, $34 ; bne +$34 + db $a5 ; lda dp + db $c9, $c9 ; cmp #$c9 + db $80, $d0 ; bra -$30 + +DataSndPacket7: + sgb_data_snd $081b, $0, 11 + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + ; $0820: + db $a9, $01 ; lda #01 + dbw $cd, $0c4f ; cmp $c4f + db $d0 ; bne +$39 (1) + +DataSndPacket8: + sgb_data_snd $0810, $0, 11 + dbw $4c, $0820 ; jmp $0820 + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $ea ; nop + db $60 ; rts + db $ea ; nop + db $ea ; nop |
