summaryrefslogtreecommitdiff
path: root/data/sgb
diff options
context:
space:
mode:
Diffstat (limited to 'data/sgb')
-rw-r--r--data/sgb/blk_packets.inc73
-rw-r--r--data/sgb/ctrl_packets.inc128
-rw-r--r--data/sgb/pal_packets.inc57
-rw-r--r--data/sgb/super_palettes.inc63
4 files changed, 321 insertions, 0 deletions
diff --git a/data/sgb/blk_packets.inc b/data/sgb/blk_packets.inc
new file mode 100644
index 0000000..1ca8e34
--- /dev/null
+++ b/data/sgb/blk_packets.inc
@@ -0,0 +1,73 @@
+attr_blk: MACRO
+ db (SGB_ATTR_BLK << 3) + ((\1 * 6) / 16 + 1)
+ db \1
+ENDM
+
+attr_blk_data: MACRO
+ db \1 ; which regions are affected
+ db \2 + (\3 << 2) + (\4 << 4) ; palette for each region
+ db \5, \6, \7, \8 ; x1, y1, x2, y2
+ENDM
+
+BlkPacket_986c:
+ attr_blk 1
+ attr_blk_data %011, 0,0,0, 00,00, 19,17
+ ds 8
+
+BlkPacket_GSIntroJigglypuffPikachu:
+ attr_blk 1
+ attr_blk_data %111, 1,1,0, 00,10, 19,13
+ ds 8
+
+BlkPacket_Battle:
+ attr_blk 5
+ attr_blk_data %111, 2,2,0, 00,12, 19,17
+ attr_blk_data %011, 1,1,0, 01,00, 10,03
+ attr_blk_data %011, 0,0,0, 10,08, 19,10
+ attr_blk_data %011, 2,2,0, 00,04, 08,11
+ attr_blk_data %011, 3,3,0, 11,00, 19,07
+
+BlkPacket_StatsScreen:
+ attr_blk 1
+ attr_blk_data %111, 1,1,0, 00,01, 07,07
+ ds 8
+
+BlkPacket_MoveList:
+ attr_blk 1
+ attr_blk_data %111, 1,1,0, 11,01, 19,02
+ ds 8
+
+BlkPacket_Pokedex:
+ attr_blk 1
+ attr_blk_data %111, 1,1,0, 01,01, 08,08
+ ds 8
+
+BlkPacket_SlotMachine:
+ attr_blk 5
+ attr_blk_data %011, 1,1,0, 00,00, 19,11
+ attr_blk_data %011, 2,2,0, 00,04, 19,09
+ attr_blk_data %010, 3,3,0, 00,06, 19,07
+ attr_blk_data %011, 0,0,0, 04,04, 15,09
+ attr_blk_data %011, 0,0,0, 00,12, 19,17
+
+BlkPacket_98fc:
+ attr_blk 7
+ attr_blk_data %111, 0,0,1, 00,00, 02,12
+ attr_blk_data %010, 0,0,0, 12,00, 18,01
+ attr_blk_data %010, 0,0,0, 12,02, 18,03
+ attr_blk_data %010, 0,0,0, 12,04, 18,05
+ attr_blk_data %010, 0,0,0, 12,06, 18,07
+ attr_blk_data %010, 0,0,0, 12,08, 18,09
+ attr_blk_data %010, 0,0,0, 12,10, 18,11
+ ds 4
+
+BlkPacket_TrainerGear:
+ attr_blk 1
+ attr_blk_data %111, 0,0,1, 00,00, 19,02
+ ds 8
+
+BlkPacket_TitleScreen:
+ attr_blk 1
+ attr_blk_data %111, 0,0,1, 00,00, 19,05
+ ds 8
+
diff --git a/data/sgb/ctrl_packets.inc b/data/sgb/ctrl_packets.inc
new file mode 100644
index 0000000..b613e7d
--- /dev/null
+++ b/data/sgb/ctrl_packets.inc
@@ -0,0 +1,128 @@
+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
+
+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
+
diff --git a/data/sgb/pal_packets.inc b/data/sgb/pal_packets.inc
new file mode 100644
index 0000000..510cc04
--- /dev/null
+++ b/data/sgb/pal_packets.inc
@@ -0,0 +1,57 @@
+sgb_pal_set: MACRO
+ db (SGB_PAL_SET << 3) + 1
+ dw PAL_\1, PAL_\2, PAL_\3, PAL_\4
+ ds 7
+ENDM
+
+PalPacket_Poker:
+ sgb_pal_set POKER_1, POKER_2, POKER_3, POKER_4
+
+PalPacket_995c:
+ sgb_pal_set ROUTE, ROUTE, ROUTE, ROUTE
+
+PalPacket_GSIntroShellderLapras:
+ sgb_pal_set INTRO_WATER, ROUTE, ROUTE, ROUTE
+
+PalPacket_MagikarpIntro:
+ sgb_pal_set INTRO_LAPRAS, ROUTE, ROUTE, ROUTE
+
+PalPacket_GSIntroJigglypuffPikachu:
+ sgb_pal_set INTRO_FOREST, INTRO_JIGGLYPUFF_PIKACHU, ROUTE, ROUTE
+
+PalPacket_GSIntroBlastoise:
+ sgb_pal_set INTRO_BLASTOISE, ROUTE, ROUTE, ROUTE
+
+PalPacket_GSIntroVenusaur:
+ sgb_pal_set INTRO_VENUSAUR, ROUTE, ROUTE, ROUTE
+
+PalPacket_GSIntroCharizard:
+ sgb_pal_set INTRO_CHARIZARD, ROUTE, ROUTE, ROUTE
+
+PalPacket_PikachuMinigame:
+ sgb_pal_set INTRO_JIGGLYPUFF_PIKACHU, ROUTE, ROUTE, ROUTE
+
+PalPacket_PartyMenu:
+ sgb_pal_set SHINY_GRAYMON, GREEN_BAR, YELLOW_BAR, RED_BAR
+
+PalPacket_BattleGrayscale:
+ sgb_pal_set BLACK, BLACK, BLACK, BLACK
+
+PalPacket_TownMap:
+ sgb_pal_set TOWN_MAP, ROUTE, ROUTE, ROUTE
+
+PalPacket_Pokedex:
+ sgb_pal_set INTRO_CHARIZARD, ROUTE, ROUTE, ROUTE
+
+PalPacket_SlotMachine:
+ sgb_pal_set SLOTS_1, SLOTS_2, SLOTS_3, SLOTS_4
+
+PalPacket_TitleScreen:
+ sgb_pal_set LOGO_1, LOGO_2, MEWMON, PURPLEMON
+
+PalPacket_9a3c:
+ sgb_pal_set MEWMON, ROUTE, ROUTE, ROUTE
+
+PalPacket_GFIntro:
+ sgb_pal_set GAME_FREAK, ROUTE, ROUTE, ROUTE
+
diff --git a/data/sgb/super_palettes.inc b/data/sgb/super_palettes.inc
new file mode 100644
index 0000000..5dba6d8
--- /dev/null
+++ b/data/sgb/super_palettes.inc
@@ -0,0 +1,63 @@
+SuperPalettes::
+ RGB 28,28,28, 23,21,16, 15,20,20, 04,04,04 ; ROUTE
+ RGB 28,28,28, 25,24,29, 15,20,20, 04,04,04 ; TOWN_01
+ RGB 28,28,28, 11,31,03, 15,20,20, 04,04,04 ; TOWN_02
+ RGB 28,28,28, 18,18,18, 15,20,20, 04,04,04 ; TOWN_03
+ RGB 28,28,28, 16,21,30, 15,20,20, 04,04,04 ; TOWN_04
+ RGB 28,28,28, 25,19,31, 15,20,20, 04,04,04 ; TOWN_05
+ RGB 28,28,28, 31,20,00, 15,20,20, 04,04,04 ; TOWN_06
+ RGB 28,28,28, 12,28,22, 15,20,20, 04,04,04 ; TOWN_07
+ RGB 28,28,28, 31,17,21, 15,20,20, 04,04,04 ; TOWN_08
+ RGB 28,28,28, 26,10,06, 15,20,20, 04,04,04 ; TOWN_09
+ RGB 28,28,28, 18,14,31, 15,20,20, 04,04,04 ; TOWN_0A
+ RGB 28,28,28, 29,26,03, 15,20,20, 04,04,04 ; TOWN_0B
+ RGB 28,28,28, 21,14,09, 15,20,20, 04,04,04 ; TOWN_0C
+ RGB 28,28,28, 12,28,22, 15,20,20, 04,04,04 ; TOWN_0D
+ RGB 28,28,28, 07,07,07, 02,03,03, 04,04,04 ; BLACK
+ RGB 28,28,28, 30,22,17, 16,14,19, 04,04,04 ; MEWMON
+ RGB 28,28,28, 18,20,27, 11,15,23, 04,04,04 ; BLUEMON
+ RGB 28,28,28, 31,20,10, 26,10,06, 04,04,04 ; REDMON
+ RGB 28,28,28, 21,25,29, 14,19,25, 04,04,04 ; CYANMON
+ RGB 28,28,28, 27,22,24, 21,15,23, 04,04,04 ; PURPLEMON
+ RGB 28,28,28, 28,20,15, 21,14,09, 04,04,04 ; BROWNMON
+ RGB 28,28,28, 20,26,16, 09,20,11, 04,04,04 ; GREENMON
+ RGB 28,28,28, 30,22,24, 28,15,21, 04,04,04 ; PINKMON
+ RGB 28,28,28, 31,28,14, 26,20,00, 04,04,04 ; YELLOWMON
+ RGB 28,28,28, 26,21,22, 15,15,18, 04,04,04 ; GRAYMON
+ RGB 28,28,28, 23,19,13, 14,12,17, 04,04,04 ; SHINY_MEWMON
+ RGB 28,28,28, 16,18,21, 10,12,18, 04,04,04 ; SHINY_BLUEMON
+ RGB 28,28,28, 22,15,16, 17,02,05, 04,04,04 ; SHINY_REDMON
+ RGB 28,28,28, 15,20,20, 05,16,16, 04,04,04 ; SHINY_CYANMON
+ RGB 28,28,28, 23,15,19, 14,04,12, 04,04,04 ; SHINY_PURPLEMON
+ RGB 28,28,28, 20,17,18, 18,13,11, 04,04,04 ; SHINY_BROWNMON
+ RGB 28,28,28, 23,21,16, 12,12,10, 04,04,04 ; SHINY_GREENMON
+ RGB 28,28,28, 21,25,29, 30,22,24, 04,04,04 ; SHINY_PINKMON
+ RGB 28,28,28, 26,23,16, 29,14,09, 04,04,04 ; SHINY_YELLOWMON
+ RGB 28,28,28, 18,18,18, 10,10,10, 04,04,04 ; SHINY_GRAYMON
+ RGB 28,28,28, 30,26,15, 09,20,11, 04,04,04 ; GREEN_BAR
+ RGB 28,28,28, 30,26,15, 26,20,00, 04,04,04 ; YELLOW_BAR
+ RGB 28,28,28, 30,26,15, 26,10,06, 04,04,04 ; RED_BAR
+ RGB 28,28,28, 20,26,31, 17,23,10, 04,04,04 ; TOWN_MAP
+if DEF(GOLD)
+ RGB 28,28,28, 24,20,10, 21,00,04, 04,04,04 ; LOGO_1
+else
+ RGB 28,28,28, 18,18,18, 21,00,04, 04,04,04 ; LOGO_1
+endc
+ RGB 28,28,28, 31,20,10, 21,00,04, 04,04,04 ; LOGO_2
+ RGB 28,28,28, 30,26,16, 16,12,09, 04,04,04 ; GAME_FREAK
+ RGB 28,28,28, 15,28,26, 12,22,26, 03,16,14 ; INTRO_WATER
+ RGB 28,28,28, 15,28,26, 23,24,24, 04,04,04 ; INTRO_LAPRAS
+ RGB 31,31,24, 07,27,19, 26,20,10, 19,12,08 ; INTRO_FOREST
+ RGB 28,28,28, 31,28,14, 30,22,24, 04,04,04 ; INTRO_JIGGLYPUFF_PIKACHU
+ RGB 28,28,28, 16,18,21, 10,12,18, 04,04,04 ; INTRO_BLASTOISE
+ RGB 28,28,28, 23,21,16, 12,12,10, 04,04,04 ; INTRO_VENUSAUR
+ RGB 28,28,28, 31,20,10, 26,10,06, 04,04,04 ; INTRO_CHARIZARD
+ RGB 28,28,28, 26,21,22, 26,10,06, 04,04,04 ; SLOTS_1
+ RGB 28,28,28, 30,27,04, 24,20,11, 04,04,04 ; SLOTS_2
+ RGB 28,28,28, 27,15,21, 24,20,11, 04,04,04 ; SLOTS_3
+ RGB 28,28,28, 16,19,29, 24,20,11, 04,04,04 ; SLOTS_4
+ RGB 28,28,28, 30,22,24, 18,18,18, 16,10,07 ; POKER_1
+ RGB 28,28,28, 21,25,29, 18,18,18, 16,10,07 ; POKER_2
+ RGB 28,28,28, 20,26,16, 18,18,18, 16,10,07 ; POKER_3
+ RGB 28,28,28, 31,28,14, 18,18,18, 16,10,07 ; POKER_4
+ RGB 28,28,28, 18,18,18, 26,10,06, 04,04,04 ; RADIO