aboutsummaryrefslogtreecommitdiffstats
path: root/data/sgb
diff options
context:
space:
mode:
authordannye <33dannye@gmail.com>2020-11-04 00:06:44 -0600
committerdannye <33dannye@gmail.com>2020-11-04 00:06:44 -0600
commit5647ca687b92954dcf37a6ea6bfbc9a341c32de4 (patch)
treedde1937a1bfdb3a835f4155e1c2eb8f1aaf86f63 /data/sgb
parentMerge pull request #55 from Deokishisu/patch-1 (diff)
downloadpokeyellow-5647ca687b92954dcf37a6ea6bfbc9a341c32de4.tar.gz
pokeyellow-5647ca687b92954dcf37a6ea6bfbc9a341c32de4.tar.xz
pokeyellow-5647ca687b92954dcf37a6ea6bfbc9a341c32de4.zip
Sync with pokered
Diffstat (limited to 'data/sgb')
-rwxr-xr-xdata/sgb/sgb_border.asm87
-rwxr-xr-xdata/sgb/sgb_packets.asm244
-rwxr-xr-xdata/sgb/sgb_palettes.asm84
3 files changed, 415 insertions, 0 deletions
diff --git a/data/sgb/sgb_border.asm b/data/sgb/sgb_border.asm
new file mode 100755
index 00000000..9955acda
--- /dev/null
+++ b/data/sgb/sgb_border.asm
@@ -0,0 +1,87 @@
+BorderPalettes:
+ INCBIN "gfx/sgb/border.tilemap"
+
+ ds $100
+
+ RGB 24, 6, 6
+ RGB 31, 25, 9
+ RGB 25, 10, 10
+ RGB 0, 0, 0
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 18, 24, 18
+ RGB 25, 10, 10
+ RGB 15, 25, 15
+ RGB 0, 0, 0
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 18, 6, 31
+ RGB 31, 25, 9
+ RGB 15, 25, 15
+ RGB 0, 0, 0
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 12, 31, 6
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+ RGB 31, 31, 25
+
+SGBBorderGraphics:
+ INCBIN "gfx/sgb/border.2bpp"
diff --git a/data/sgb/sgb_packets.asm b/data/sgb/sgb_packets.asm
new file mode 100755
index 00000000..a0582416
--- /dev/null
+++ b/data/sgb/sgb_packets.asm
@@ -0,0 +1,244 @@
+ATTR_BLK: MACRO
+; This is a command macro.
+; Use ATTR_BLK_DATA for data sets.
+ db ($4 << 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
+
+PAL_SET: MACRO
+ db ($a << 3) + 1
+ dw \1, \2, \3, \4
+ ds 7, 0
+ENDM
+
+PAL_TRN: MACRO
+ db ($b << 3) + 1
+ ds 15, 0
+ENDM
+
+MLT_REQ: MACRO
+ db ($11 << 3) + 1
+ db \1 - 1
+ ds 14, 0
+ENDM
+
+CHR_TRN: MACRO
+ db ($13 << 3) + 1
+ db \1 + (\2 << 1)
+ ds 14, 0
+ENDM
+
+PCT_TRN: MACRO
+ db ($14 << 3) + 1
+ ds 15, 0
+ENDM
+
+MASK_EN: MACRO
+ db ($17 << 3) + 1
+ db \1
+ ds 14, 0
+ENDM
+
+DATA_SND: MACRO
+ db ($f << 3) + 1
+ dw \1 ; address
+ db \2 ; bank
+ db \3 ; length (1-11)
+ENDM
+
+
+BlkPacket_WholeScreen:
+ ATTR_BLK 1
+ ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,17
+ ds 8, 0
+
+BlkPacket_Battle:
+ ATTR_BLK 5
+ ATTR_BLK_DATA %111, 2,2,0, 00,12, 19,17 ; message box: pal 2
+ ATTR_BLK_DATA %011, 1,1,0, 01,00, 10,03 ; enemy HP bar: pal 1
+ ATTR_BLK_DATA %011, 0,0,0, 10,07, 19,10 ; player HP bar: pal 0
+ ATTR_BLK_DATA %011, 2,2,0, 00,04, 08,11 ; player mon: pal 2
+ ATTR_BLK_DATA %011, 3,3,0, 11,00, 19,06 ; enemy mon : pal 3
+
+BlkPacket_StatusScreen:
+ ATTR_BLK 1
+ ATTR_BLK_DATA %111, 1,1,0, 01,00, 07,06 ; mon: pal 1, HP bar: pal 0
+ ds 8, 0
+
+BlkPacket_Pokedex:
+ ATTR_BLK 1
+ ATTR_BLK_DATA %111, 1,1,0, 01,01, 08,08 ; mon: pal 1, everything else: pal 0
+ ds 8, 0
+
+BlkPacket_Slots:
+ ATTR_BLK 5
+ ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,11 ; "3" rows and top of screen: pal 1
+ ATTR_BLK_DATA %011, 2,2,0, 00,04, 19,09 ; "2" rows: pal 2
+ ATTR_BLK_DATA %010, 3,3,0, 00,06, 19,07 ; "1" row: pal 3
+ ATTR_BLK_DATA %011, 0,0,0, 04,04, 15,09 ; slot reels: pal 0
+ ATTR_BLK_DATA %011, 0,0,0, 00,12, 19,17 ; message box: pal 0
+
+BlkPacket_Titlescreen:
+ ATTR_BLK 3
+ ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,07
+ ATTR_BLK_DATA %011, 2,2,0, 00,08, 19,17
+ ATTR_BLK_DATA %010, 0,0,0, 09,08, 10,08
+ ds 12, 0
+
+BlkPacket_NidorinoIntro:
+ ATTR_BLK 3
+ ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,03 ; upper black bar: pal 1
+ ATTR_BLK_DATA %011, 0,0,0, 00,04, 19,13 ; letterbox: pal 0
+ ATTR_BLK_DATA %011, 1,1,0, 00,14, 19,17 ; lower black bar: pal 1
+ ds 12, 0
+
+BlkPacket_PartyMenu:
+ ATTR_BLK 7
+ ATTR_BLK_DATA %110, 0,0,1, 01,00, 02,12 ; mon sprites: pal 0, everything else: pal 1
+ ATTR_BLK_DATA %010, 0,0,0, 05,01, 11,01 ; HP bar 0: pal set dynamically
+ ATTR_BLK_DATA %010, 0,0,0, 05,03, 11,03 ; HP bar 1: pal set dynamically
+ ATTR_BLK_DATA %010, 0,0,0, 05,05, 11,05 ; HP bar 2: pal set dynamically
+ ATTR_BLK_DATA %010, 0,0,0, 05,07, 11,07 ; HP bar 3: pal set dynamically
+ ATTR_BLK_DATA %010, 0,0,0, 05,09, 11,09 ; HP bar 4: pal set dynamically
+ ATTR_BLK_DATA %010, 0,0,0, 05,11, 11,11 ; HP bar 5: pal set dynamically
+ ds 4, 0
+
+BlkPacket_TrainerCard:
+ ATTR_BLK 10
+ ATTR_BLK_DATA %010, 0,0,0, 03,12, 04,13
+ ATTR_BLK_DATA %010, 1,1,0, 07,12, 08,13
+ ATTR_BLK_DATA %010, 3,3,0, 11,12, 12,13
+ ATTR_BLK_DATA %010, 2,2,0, 16,11, 17,12
+ ATTR_BLK_DATA %010, 1,1,0, 14,13, 15,13
+ ATTR_BLK_DATA %010, 3,3,0, 16,13, 17,13
+ ATTR_BLK_DATA %010, 2,2,0, 03,15, 04,16
+ ATTR_BLK_DATA %010, 3,3,0, 07,15, 08,16
+ ATTR_BLK_DATA %010, 2,2,0, 11,15, 12,16
+ ATTR_BLK_DATA %010, 1,1,0, 15,15, 16,16
+ ds 2, 0
+
+BlkPacket_GameFreakIntro:
+ ATTR_BLK 3
+ ATTR_BLK_DATA %111, 1,1,0, 05,11, 07,13 ; falling stars (left): pal 1, GameFreak logo: pal 0
+ ATTR_BLK_DATA %010, 2,2,0, 08,11, 09,13 ; falling stars (middle): pal 2
+ ATTR_BLK_DATA %011, 3,3,0, 12,11, 14,13 ; falling stars (right): pal 3
+ ds 12, 0
+
+UnknownPacket_72751:
+ ATTR_BLK 1
+ ATTR_BLK_DATA %111, 1,1,0, 04,00, 15,05
+ ds 8
+
+
+PalPacket_Empty: PAL_SET 0, 0, 0, 0
+PalPacket_PartyMenu: PAL_SET PAL_MEWMON, PAL_GREENBAR, PAL_YELLOWBAR, PAL_REDBAR
+PalPacket_Black: PAL_SET PAL_BLACK, PAL_BLACK, PAL_BLACK, PAL_BLACK
+PalPacket_TownMap: PAL_SET PAL_TOWNMAP, 0, 0, 0
+PalPacket_Pokedex: PAL_SET PAL_BROWNMON, 0, 0, 0
+PalPacket_Slots: PAL_SET PAL_SLOTS1, PAL_SLOTS2, PAL_SLOTS3, PAL_SLOTS4
+PalPacket_Titlescreen: PAL_SET PAL_LOGO2, PAL_LOGO1, PAL_MEWMON, PAL_PURPLEMON
+PalPacket_TrainerCard: PAL_SET PAL_MEWMON, PAL_BADGE, PAL_REDMON, PAL_YELLOWMON
+PalPacket_Generic: PAL_SET PAL_MEWMON, 0, 0, 0
+PalPacket_NidorinoIntro: PAL_SET PAL_PURPLEMON, PAL_BLACK, 0, 0
+PalPacket_GameFreakIntro: PAL_SET PAL_GAMEFREAK, PAL_REDMON, PAL_VIRIDIAN, PAL_BLUEMON
+UnknownPalPacket_72811: PAL_SET PAL_25, PAL_25, PAL_25, PAL_25
+UnknownPalPacket_72821: PAL_SET PAL_25, PAL_27, PAL_25, PAL_25
+
+PalTrnPacket: PAL_TRN
+MltReq1Packet: MLT_REQ 1
+MltReq2Packet: MLT_REQ 2
+ChrTrnPacket: CHR_TRN 0, 0
+PctTrnPacket: PCT_TRN
+
+MaskEnFreezePacket: MASK_EN 1
+MaskEnCancelPacket: MASK_EN 0
+
+; These are DATA_SND 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.
+
+DataSnd_728a1:
+ DATA_SND $85d, $0, 11
+ db $8C ; cpx #$8c (2)
+ db $D0, $F4 ; bne -$0c
+ db $60 ; rts
+ ds 7, 0
+
+DataSnd_728b1:
+ DATA_SND $852, $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)
+
+DataSnd_728c1:
+ DATA_SND $847, $0, 11 ; 728c1 (1c:68c1)
+ 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
+
+DataSnd_728d1:
+ DATA_SND $83c, $0, 11 ; 728d1 (1c:68d1)
+ 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)
+
+DataSnd_728e1:
+ DATA_SND $831, $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
+
+DataSnd_728f1:
+ DATA_SND $826, $0, 11
+ db $39 ; bne +$39 (2)
+ dbw $CD, $C48 ; cmp $c48
+ db $D0, $34 ; bne +$34
+ db $A5 ; lda dp
+ db $C9, $C9 ; cmp #$c9
+ db $80, $D0 ; bra -$30
+
+DataSnd_72901:
+ DATA_SND $81b, $0, 11
+ db $EA ; nop
+ db $EA ; nop
+ db $EA ; nop
+ db $EA ; nop
+ db $EA ; nop
+ ; $820:
+ db $A9,$01 ; lda #01
+ dbw $CD,$C4F ; cmp $c4f
+ db $D0 ; bne +$39 (1)
+
+DataSnd_72911:
+ DATA_SND $810, $0, 11
+ dbw $4C, $820 ; jmp $820
+ 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/sgb_palettes.asm b/data/sgb/sgb_palettes.asm
new file mode 100755
index 00000000..5ddca002
--- /dev/null
+++ b/data/sgb/sgb_palettes.asm
@@ -0,0 +1,84 @@
+SuperPalettes:
+; entries correspond to PAL_* constants
+ RGB 31,31,30, 23,26,19, 23,27,31, 06,06,06 ; PAL_ROUTE
+ RGB 31,31,30, 28,27,31, 23,27,31, 06,06,06 ; PAL_PALLET
+ RGB 31,31,30, 26,31,21, 23,27,31, 06,06,06 ; PAL_VIRIDIAN
+ RGB 31,31,30, 23,23,22, 23,27,31, 06,06,06 ; PAL_PEWTER
+ RGB 31,31,30, 22,23,31, 23,27,31, 06,06,06 ; PAL_CERULEAN
+ RGB 31,31,30, 27,23,29, 23,27,31, 06,06,06 ; PAL_LAVENDER
+ RGB 31,31,30, 31,25,16, 23,27,31, 06,06,06 ; PAL_VERMILION
+ RGB 31,31,30, 22,31,22, 23,27,31, 06,06,06 ; PAL_CELADON
+ RGB 31,31,30, 31,26,26, 23,27,31, 06,06,06 ; PAL_FUCHSIA
+ RGB 31,31,30, 31,15,14, 23,27,31, 06,06,06 ; PAL_CINNABAR
+ RGB 31,31,30, 17,17,25, 23,27,31, 06,06,06 ; PAL_INDIGO
+ RGB 31,31,30, 31,31,19, 23,27,31, 06,06,06 ; PAL_SAFFRON
+ RGB 31,31,30, 20,26,31, 17,23,10, 03,02,02 ; PAL_TOWNMAP
+ RGB 31,31,30, 30,30,17, 21,00,04, 21,00,04 ; PAL_LOGO1
+ RGB 31,31,30, 30,30,17, 18,18,24, 07,07,16 ; PAL_LOGO2
+ RGB 31,31,30, 24,20,30, 11,20,30, 03,02,02 ; PAL_0F
+ RGB 31,31,30, 31,30,22, 27,16,16, 06,06,06 ; PAL_MEWMON
+ RGB 31,31,30, 21,22,31, 09,10,20, 06,06,06 ; PAL_BLUEMON
+ RGB 31,31,30, 31,24,11, 26,09,06, 06,06,06 ; PAL_REDMON
+ RGB 31,31,30, 26,28,31, 07,24,28, 06,06,06 ; PAL_CYANMON
+ RGB 31,31,30, 27,22,30, 22,15,23, 06,06,06 ; PAL_PURPLEMON
+ RGB 31,31,30, 26,23,18, 18,14,10, 06,06,06 ; PAL_BROWNMON
+ RGB 31,31,30, 24,28,18, 13,21,15, 06,06,06 ; PAL_GREENMON
+ RGB 31,31,30, 31,24,26, 31,18,21, 06,06,06 ; PAL_PINKMON
+ RGB 31,31,30, 31,31,19, 28,23,09, 06,06,06 ; PAL_YELLOWMON
+ RGB 31,31,30, 25,25,18, 16,16,14, 06,06,06 ; PAL_GREYMON
+ RGB 31,31,30, 27,22,30, 26,09,06, 06,06,06 ; PAL_SLOTS1
+ RGB 31,31,30, 31,23,26, 29,29,08, 06,06,06 ; PAL_SLOTS2
+ RGB 31,31,30, 23,31,20, 29,29,08, 06,06,06 ; PAL_SLOTS3
+ RGB 31,31,30, 23,29,31, 29,29,08, 06,06,06 ; PAL_SLOTS4
+ RGB 31,31,30, 06,06,06, 06,06,06, 06,06,06 ; PAL_BLACK
+ RGB 31,31,30, 31,31,19, 00,21,00, 06,06,06 ; PAL_GREENBAR
+ RGB 31,31,30, 31,31,19, 28,23,09, 06,06,06 ; PAL_YELLOWBAR
+ RGB 31,31,30, 31,31,19, 26,09,06, 06,06,06 ; PAL_REDBAR
+ RGB 31,31,30, 20,15,11, 22,21,20, 06,06,06 ; PAL_BADGE
+ RGB 31,31,30, 20,15,11, 22,21,20, 06,06,06 ; PAL_CAVE
+ RGB 31,31,30, 28,24,14, 20,20,11, 06,06,06 ; PAL_GAMEFREAK
+ RGB 31,31,30, 31,30,22, 23,27,31, 06,06,06 ; PAL_25
+ RGB 31,31,30, 28,23,09, 18,14,10, 06,06,06 ; PAL_26
+ RGB 31,31,30, 16,16,16, 31,25,09, 06,06,06 ; PAL_27
+
+GBCBasePalettes:
+ RGB 31,31,31, 16,31,04, 11,23,31, 03,03,03 ; PAL_ROUTE
+ RGB 31,31,31, 23,17,31, 11,23,31, 03,03,03 ; PAL_PALLET
+ RGB 31,31,31, 19,31,00, 11,23,31, 03,03,03 ; PAL_VIRIDIAN
+ RGB 31,31,31, 18,18,15, 11,23,31, 03,03,03 ; PAL_PEWTER
+ RGB 31,31,31, 05,08,31, 11,23,31, 03,03,03 ; PAL_CERULEAN
+ RGB 31,31,31, 25,04,31, 11,23,31, 03,03,03 ; PAL_LAVENDER
+ RGB 31,31,31, 31,19,00, 11,23,31, 03,03,03 ; PAL_VERMILION
+ RGB 31,31,31, 05,31,05, 11,23,31, 03,03,03 ; PAL_CELADON
+ RGB 31,31,31, 31,15,15, 11,23,31, 03,03,03 ; PAL_FUCHSIA
+ RGB 31,31,31, 31,08,08, 11,23,31, 03,03,03 ; PAL_CINNABAR
+ RGB 31,31,31, 11,08,31, 11,23,31, 03,03,03 ; PAL_INDIGO
+ RGB 31,31,31, 31,31,00, 11,23,31, 03,03,03 ; PAL_SAFFRON
+ RGB 31,31,31, 00,21,31, 10,28,00, 01,01,01 ; PAL_TOWNMAP
+ RGB 31,31,31, 31,31,00, 31,00,00, 31,00,00 ; PAL_LOGO1
+ RGB 31,31,31, 31,31,00, 07,07,25, 00,00,17 ; PAL_LOGO2
+ RGB 31,31,31, 13,01,31, 00,09,31, 01,01,01 ; PAL_0F
+ RGB 31,31,31, 31,31,00, 31,01,01, 03,03,03 ; PAL_MEWMON
+ RGB 31,31,31, 16,18,31, 00,01,25, 03,03,03 ; PAL_BLUEMON
+ RGB 31,31,31, 31,17,00, 31,00,00, 03,03,03 ; PAL_REDMON
+ RGB 31,31,31, 16,26,31, 00,17,31, 03,03,03 ; PAL_CYANMON
+ RGB 31,31,31, 25,15,31, 19,00,22, 03,03,03 ; PAL_PURPLEMON
+ RGB 31,31,31, 29,18,10, 17,09,05, 03,03,03 ; PAL_BROWNMON
+ RGB 31,31,31, 17,31,11, 01,22,06, 03,03,03 ; PAL_GREENMON
+ RGB 31,31,31, 31,15,18, 31,00,06, 03,03,03 ; PAL_PINKMON
+ RGB 31,31,31, 31,31,00, 28,14,00, 03,03,03 ; PAL_YELLOWMON
+ RGB 31,31,31, 20,23,10, 11,11,05, 03,03,03 ; PAL_GREYMON
+ RGB 31,31,31, 25,01,31, 31,00,00, 03,03,03 ; PAL_SLOTS1
+ RGB 31,31,31, 31,04,19, 31,31,00, 03,03,03 ; PAL_SLOTS2
+ RGB 31,31,31, 08,31,00, 31,31,00, 03,03,03 ; PAL_SLOTS3
+ RGB 31,31,31, 00,31,31, 31,31,00, 03,03,03 ; PAL_SLOTS4
+ RGB 31,31,31, 03,03,03, 03,03,03, 03,03,03 ; PAL_BLACK
+ RGB 31,31,31, 31,31,00, 00,31,00, 03,03,03 ; PAL_GREENBAR
+ RGB 31,31,31, 31,31,00, 31,18,00, 03,03,03 ; PAL_YELLOWBAR
+ RGB 31,31,31, 31,31,00, 31,00,00, 03,03,03 ; PAL_REDBAR
+ RGB 31,31,31, 23,08,00, 17,14,11, 03,03,03 ; PAL_BADGE
+ RGB 31,31,31, 23,08,00, 17,14,11, 03,03,03 ; PAL_CAVE
+ RGB 31,31,31, 31,19,00, 19,19,00, 03,03,03 ; PAL_GAMEFREAK
+ RGB 31,31,31, 31,31,00, 11,23,31, 03,03,03 ; PAL_25
+ RGB 31,31,31, 31,18,00, 19,07,01, 03,03,03 ; PAL_26
+ RGB 31,31,31, 09,09,09, 31,21,00, 03,03,03 ; PAL_27