Move BitTable2 to a file

Currently, rgbasm's maximum macro parameter length is sixteen chars.
A couple wram labels were changed to accomodate this for now.
This commit is contained in:
yenatch 2013-02-05 01:21:51 -05:00
parent 710b7ddd7f
commit c811b20b65
3 changed files with 253 additions and 223 deletions

198
data/bittable2.asm Normal file
View File

@ -0,0 +1,198 @@
; All locations are in WRAM bank 1.
; location, bit
; pokegear
dwb $d957, %00000010 ; radio card
dwb $d957, %00000001 ; map card
dwb $d957, %00000100 ; phone card
dwb $d957, %00001000 ; expn card
dwb $d957, %10000000 ; on/off
; DaycareMan, %10000000 ; daycare 1 on
dwb DaycareMan, %01000000 ; monster 1 and 2 are compatible
; DaycareMan, %00100000 ; egg is ready
dwb DaycareMan, %00000001 ; monster 1 in daycare
; DaycareLady, %10000000 = daycare 2 on
dwb DaycareLady, %00000001 ; monster 2 in daycare
dwb $d854, %00000001 ; mom saving money
dwb $d854, %10000000 ; dst
dwb $dc39, %00000001
dwb $d84c, %00000001 ; pokedex
dwb $d84c, %00000010 ; unown dex
dwb $d84c, %00001000 ; pokerus
dwb $d84c, %00010000 ; rocket signal on ch20
dwb $d84c, %01000000 ; credits skip
dwb $d84c, %10000000 ; bug contest on
dwb $d84d, %00000100 ; bug contest timer
dwb $d84d, %00000010 ; rockets in radio tower
dwb $d84d, %00000001 ; bike shop call enabled (1024 bike steps reqd)
dwb $d84d, %00010000
dwb $d84d, %00100000 ; give pokerus; berry -> berry juice when trading?
dwb $d84d, %01000000
dwb $d84d, %10000000 ; rockets in mahogany
dwb $dbf5, %00000001 ; strength active
dwb $dbf5, %00000010 ; always on bike (cant surf)
dwb $dbf5, %00000100 ; downhill (cycling road)
dwb JohtoBadges, %00000001 ; zephyrbadge
dwb JohtoBadges, %00000010 ; hivebadge
dwb JohtoBadges, %00000100 ; plainbadge
dwb JohtoBadges, %00001000 ; fogbadge
dwb JohtoBadges, %00010000 ; mineralbadge
dwb JohtoBadges, %00100000 ; stormbadge
dwb JohtoBadges, %01000000 ; glacierbadge
dwb JohtoBadges, %10000000 ; risingbadge
dwb KantoBadges, %00000001 ; boulderbadge
dwb KantoBadges, %00000010 ; cascadebadge
dwb KantoBadges, %00000100 ; thunderbadge
dwb KantoBadges, %00001000 ; rainbowbadge
dwb KantoBadges, %00010000 ; soulbadge
dwb KantoBadges, %00100000 ; marshbadge
dwb KantoBadges, %01000000 ; volcanobadge
dwb KantoBadges, %10000000 ; earthbadge
; unown sets
dwb UnlockedUnowns, %00000001 ; 1
dwb UnlockedUnowns, %00000010 ; 2
dwb UnlockedUnowns, %00000100 ; 3
dwb UnlockedUnowns, %00001000 ; 4
dwb UnlockedUnowns, %00010000 ; 5
dwb UnlockedUnowns, %00100000 ; 6
dwb UnlockedUnowns, %01000000 ; 7
dwb UnlockedUnowns, %10000000 ; 8
; fly
dwb FlypointPerms, %00000001 ; your house
dwb FlypointPerms, %00000010 ; viridian pokecenter
dwb FlypointPerms, %00000100 ; pallet
dwb FlypointPerms, %00001000 ; viridian
dwb FlypointPerms, %00010000 ; pewter
dwb FlypointPerms, %00100000 ; cerulean
dwb FlypointPerms, %01000000 ; rock tunnel
dwb FlypointPerms, %10000000 ; vermilion
dwb FlypointPerms + 1, %00000001 ; lavender
dwb FlypointPerms + 1, %00000010 ; saffron
dwb FlypointPerms + 1, %00000100 ; celadon
dwb FlypointPerms + 1, %00001000 ; fuchsia
dwb FlypointPerms + 1, %00010000 ; cinnabar
dwb FlypointPerms + 1, %00100000 ; indigo plateau
dwb FlypointPerms + 1, %01000000 ; new bark
dwb FlypointPerms + 1, %10000000 ; cherrygrove
dwb FlypointPerms + 2, %00000001 ; violet
dwb FlypointPerms + 2, %00000100 ; azalea
dwb FlypointPerms + 2, %00001000 ; cianwood
dwb FlypointPerms + 2, %00010000 ; goldenrod
dwb FlypointPerms + 2, %00100000 ; olivine
dwb FlypointPerms + 2, %01000000 ; ecruteak
dwb FlypointPerms + 2, %10000000 ; mahogany
dwb FlypointPerms + 3, %00000001 ; lake of rage
dwb FlypointPerms + 3, %00000010 ; blackthorn
dwb FlypointPerms + 3, %00000100 ; silver cave
dwb FlypointPerms + 3, %00010000 ; unused
dwb $dc9d, %00000001 ; lucky number show
dwb $d84d, %00001000
dwb $dc1e, %00000001 ; kurt making balls
dwb $dc1e, %00000010
dwb $dc1e, %00000100 ; special wilddata?
dwb $dc1e, %00001000 ; time capsule (24h wait)
dwb $dc1e, %00010000 ; all fruit trees
dwb $dc1e, %00100000 ; shuckle given
dwb $dc1e, %01000000 ; goldenrod underground merchant closed
dwb $dc1e, %10000000 ; fought in trainer hall today
dwb $dc1f, %00000001 ; mt moon square clefairy
dwb $dc1f, %00000010 ; union cave lapras
dwb $dc1f, %00000100 ; goldenrod underground haircut used
dwb $dc1f, %00001000 ; goldenrod mall happiness event floor05 person07
dwb $dc1f, %00010000 ; tea in blues house
dwb $dc1f, %00100000 ; indigo plateau rival fight
dwb $dc1f, %01000000
dwb $dc1f, %10000000
dwb $dc20, %00000001 ; $60
dwb $dc20, %00000010 ; goldenrod dept store sale is on
dwb $cfbc, %10000000 ; $62
dwb PlayerGender, %00000001 ; player is female
dwb $dbf3, %00000100 ; have gs ball after kurt examined it
; rematches
dwb $dc4c, %00000001 ; jack
dwb $dc4c, %00000010 ; huey
dwb $dc4c, %00000100 ; gaven
dwb $dc4c, %00001000 ; beth
dwb $dc4c, %00010000 ; jose
dwb $dc4c, %00100000 ; reena
dwb $dc4c, %01000000 ; joey
dwb $dc4c, %10000000 ; wade
dwb $dc4d, %00000001 ; ralph
dwb $dc4d, %00000010 ; liz
dwb $dc4d, %00000100 ; anthony
dwb $dc4d, %00001000 ; todd
dwb $dc4d, %00010000 ; gina
dwb $dc4d, %00100000 ; arnie
dwb $dc4d, %01000000 ; alan
dwb $dc4d, %10000000 ; dana
dwb $dc4e, %00000001 ; chad
dwb $dc4e, %00000010 ; tully
dwb $dc4e, %00000100 ; brent
dwb $dc4e, %00001000 ; tiffany
dwb $dc4e, %00010000 ; vance
dwb $dc4e, %00100000 ; wilton
dwb $dc4e, %01000000 ; parry
dwb $dc4e, %10000000 ; erin
dwb $dc50, %00000001 ; beverly has nugget
dwb $dc50, %00000010 ; jose has star piece
dwb $dc50, %00000100 ; wade has item (see bittable1 $032b-e)
dwb $dc50, %00001000 ; gina has leaf stone
dwb $dc50, %00010000 ; alan has fire stone
dwb $dc50, %00100000 ; liz has thunderstone
dwb $dc50, %01000000 ; derek has nugget
dwb $dc50, %10000000 ; tully has water stone
dwb $dc51, %00000001 ; tiffany has pink bow
dwb $dc51, %00000010 ; wilton has item (see bittable1 $032f-31)
dwb $dc54, %00000001
dwb $dc54, %00000010
dwb $dc54, %00000100
dwb $dc54, %00001000
dwb $dc54, %00010000
dwb $dc54, %00100000
dwb $dc54, %01000000
dwb $dc54, %10000000
dwb $dc55, %00000001
dwb $dc55, %00000010
dwb $dc55, %00000100
dwb $dc55, %00001000
dwb $dc55, %00010000
dwb $dc55, %00100000
dwb $dc55, %01000000
dwb $dc55, %10000000
dwb $dc56, %00000001
dwb $dc56, %00000010
dwb $dc56, %00000100
dwb $dc56, %00001000
dwb $dc56, %00010000
dwb $dc56, %00100000
dwb $dc56, %01000000
dwb $dc56, %10000000
dwb $d45b, %00000100 ; female player has been transformed into male
dwb $dc20, %00000100 ; dunsparce swarm
dwb $dc20, %00001000 ; yanma swarm

272
main.asm
View File

@ -42326,53 +42326,79 @@ SECTION "bank20",DATA,BANK[$20]
INCBIN "baserom.gbc",$80000,$80430-$80000 INCBIN "baserom.gbc",$80000,$80430-$80000
GetFlag2: ; 80430 GetFlag2: ; 80430
; uses bittable2 ; Do action b on flag de from BitTable2
; takes flag id in de, mode in b
; can either check, set or reset a flag
; check: stores flag in c
; set/reset: no output
; ;
; b = 0: reset flag ; b = 0: reset flag
; = 1: set flag ; = 1: set flag
; > 1: check flag ; > 1: check flag, result in c
; ;
; Setting/resetting does not return a result.
; 16-bit flag ids are considered invalid, but it's nice
; to know that the infrastructure is there.
ld a, d ld a, d
cp $00 ; is the flag id > 256? cp 0
jr z, .start ; no jr z, .ceiling
jr c, .read ; carry is never set jr c, .read ; cp 0 can't set carry!
jr .invalid ; yes jr .invalid
.start
; There are only $a2 flags in BitTable2, so anything beyond that
; is invalid too.
.ceiling
ld a, e ld a, e
cp $a2 ; $a2 flag ids cp $a2
jr c, .read jr c, .read
; Invalid flags are treated as flag $00.
.invalid .invalid
; uses flag 0
xor a xor a
ld e, a ld e, a
ld d, a ld d, a
; Read BitTable2 for this flag's location.
.read .read
ld hl, Flags ld hl, BitTable2
add hl, de ; skip three ; location
add hl, de ; bytes per add hl, de
add hl, de ; flag add hl, de
; bit
add hl, de
; location
ld e, [hl] ld e, [hl]
inc hl inc hl
ld d, [hl] ld d, [hl]
inc hl inc hl
ld c, [hl] ; flag bit ; bit
ld c, [hl]
; What are we doing with this flag?
ld a, b ld a, b
cp $01 cp 1
jr c, .reset ; b = 0 jr c, .reset ; b = 0
jr z, .set ; b = 1 jr z, .set ; b = 1
ld a, [de] ; b > 1
; Return the given flag in c.
.check
ld a, [de]
and c and c
ld c, a ld c, a
ret ret
; Set the given flag.
.set .set
ld a, [de] ld a, [de]
or c or c
ld [de], a ld [de], a
ret ret
; Reset the given flag.
.reset .reset
ld a, c ld a, c
cpl ; AND all bits except the one in question cpl ; AND all bits except the one in question
@ -42383,206 +42409,12 @@ GetFlag2: ; 80430
ret ret
; 80462 ; 80462
Flags: ; 80462
; bittable2
; location, bit
; pokegear BitTable2: ; 80462
dwb $d957, %00000010 ; radio card INCLUDE "data/bittable2.asm"
dwb $d957, %00000001 ; map card
dwb $d957, %00000100 ; phone card
dwb $d957, %00001000 ; expn card
dwb $d957, %10000000 ; on/off
; $def5 %10000000 ; daycare 1 on
dwb $def5, %01000000 ; monster 1 and 2 are compatible
; $def5 %00100000 ; egg is ready
dwb $def5, %00000001 ; monster 1 in daycare
; $df2c %10000000 = daycare 2 on
dwb $df2c, %00000001 ; monster 2 in daycare
dwb $d854, %00000001 ; mom saving money
dwb $d854, %10000000 ; dst
dwb $dc39, %00000001
dwb $d84c, %00000001 ; pokedex
dwb $d84c, %00000010 ; unown dex
dwb $d84c, %00001000 ; pokerus
dwb $d84c, %00010000 ; rocket signal on ch20
dwb $d84c, %01000000 ; credits skip
dwb $d84c, %10000000 ; bug contest on
dwb $d84d, %00000100 ; bug contest timer
dwb $d84d, %00000010 ; rockets in radio tower
dwb $d84d, %00000001 ; bike shop call enabled (1024 bike steps reqd)
dwb $d84d, %00010000
dwb $d84d, %00100000 ; give pokerus; berry -> berry juice when trading?
dwb $d84d, %01000000
dwb $d84d, %10000000 ; rockets in mahogany
dwb $dbf5, %00000001 ; strength active
dwb $dbf5, %00000010 ; always on bike (cant surf)
dwb $dbf5, %00000100 ; downhill (cycling road)
dwb JohtoBadges, %00000001 ; zephyrbadge
dwb JohtoBadges, %00000010 ; hivebadge
dwb JohtoBadges, %00000100 ; plainbadge
dwb JohtoBadges, %00001000 ; fogbadge
dwb JohtoBadges, %00010000 ; mineralbadge
dwb JohtoBadges, %00100000 ; stormbadge
dwb JohtoBadges, %01000000 ; glacierbadge
dwb JohtoBadges, %10000000 ; risingbadge
dwb KantoBadges, %00000001 ; boulderbadge
dwb KantoBadges, %00000010 ; cascadebadge
dwb KantoBadges, %00000100 ; thunderbadge
dwb KantoBadges, %00001000 ; rainbowbadge
dwb KantoBadges, %00010000 ; soulbadge
dwb KantoBadges, %00100000 ; marshbadge
dwb KantoBadges, %01000000 ; volcanobadge
dwb KantoBadges, %10000000 ; earthbadge
; unown sets
dwb $def3, %00000001 ; 1
dwb $def3, %00000010 ; 2
dwb $def3, %00000100 ; 3
dwb $def3, %00001000 ; 4
dwb $def3, %00010000 ; 5
dwb $def3, %00100000 ; 6
dwb $def3, %01000000 ; 7
dwb $def3, %10000000 ; 8
; fly
dwb $dca5, %00000001 ; your house
dwb $dca5, %00000010 ; viridian pokecenter
dwb $dca5, %00000100 ; pallet
dwb $dca5, %00001000 ; viridian
dwb $dca5, %00010000 ; pewter
dwb $dca5, %00100000 ; cerulean
dwb $dca5, %01000000 ; rock tunnel
dwb $dca5, %10000000 ; vermilion
dwb $dca6, %00000001 ; lavender
dwb $dca6, %00000010 ; saffron
dwb $dca6, %00000100 ; celadon
dwb $dca6, %00001000 ; fuchsia
dwb $dca6, %00010000 ; cinnabar
dwb $dca6, %00100000 ; indigo plateau
dwb $dca6, %01000000 ; new bark
dwb $dca6, %10000000 ; cherrygrove
dwb $dca7, %00000001 ; violet
dwb $dca7, %00000100 ; azalea
dwb $dca7, %00001000 ; cianwood
dwb $dca7, %00010000 ; goldenrod
dwb $dca7, %00100000 ; olivine
dwb $dca7, %01000000 ; ecruteak
dwb $dca7, %10000000 ; mahogany
dwb $dca8, %00000001 ; lake of rage
dwb $dca8, %00000010 ; blackthorn
dwb $dca8, %00000100 ; silver cave
dwb $dca8, %00010000 ; unused
dwb $dc9d, %00000001 ; lucky number show
dwb $d84d, %00001000
dwb $dc1e, %00000001 ; kurt making balls
dwb $dc1e, %00000010
dwb $dc1e, %00000100 ; special wilddata?
dwb $dc1e, %00001000 ; time capsule (24h wait)
dwb $dc1e, %00010000 ; all fruit trees
dwb $dc1e, %00100000 ; shuckle given
dwb $dc1e, %01000000 ; goldenrod underground merchant closed
dwb $dc1e, %10000000 ; fought in trainer hall today
dwb $dc1f, %00000001 ; mt moon square clefairy
dwb $dc1f, %00000010 ; union cave lapras
dwb $dc1f, %00000100 ; goldenrod underground haircut used
dwb $dc1f, %00001000 ; goldenrod mall happiness event floor05 person07
dwb $dc1f, %00010000 ; tea in blues house
dwb $dc1f, %00100000 ; indigo plateau rival fight
dwb $dc1f, %01000000
dwb $dc1f, %10000000
dwb $dc20, %00000001 ; $60
dwb $dc20, %00000010 ; goldenrod dept store sale is on
dwb $cfbc, %10000000 ; $62
dwb $d472, %00000001 ; player is female
dwb $dbf3, %00000100 ; have gs ball after kurt examined it
; rematches
dwb $dc4c, %00000001 ; jack
dwb $dc4c, %00000010 ; huey
dwb $dc4c, %00000100 ; gaven
dwb $dc4c, %00001000 ; beth
dwb $dc4c, %00010000 ; jose
dwb $dc4c, %00100000 ; reena
dwb $dc4c, %01000000 ; joey
dwb $dc4c, %10000000 ; wade
dwb $dc4d, %00000001 ; ralph
dwb $dc4d, %00000010 ; liz
dwb $dc4d, %00000100 ; anthony
dwb $dc4d, %00001000 ; todd
dwb $dc4d, %00010000 ; gina
dwb $dc4d, %00100000 ; arnie
dwb $dc4d, %01000000 ; alan
dwb $dc4d, %10000000 ; dana
dwb $dc4e, %00000001 ; chad
dwb $dc4e, %00000010 ; tully
dwb $dc4e, %00000100 ; brent
dwb $dc4e, %00001000 ; tiffany
dwb $dc4e, %00010000 ; vance
dwb $dc4e, %00100000 ; wilton
dwb $dc4e, %01000000 ; parry
dwb $dc4e, %10000000 ; erin
dwb $dc50, %00000001 ; beverly has nugget
dwb $dc50, %00000010 ; jose has star piece
dwb $dc50, %00000100 ; wade has item (see bittable1 $032b-e)
dwb $dc50, %00001000 ; gina has leaf stone
dwb $dc50, %00010000 ; alan has fire stone
dwb $dc50, %00100000 ; liz has thunderstone
dwb $dc50, %01000000 ; derek has nugget
dwb $dc50, %10000000 ; tully has water stone
dwb $dc51, %00000001 ; tiffany has pink bow
dwb $dc51, %00000010 ; wilton has item (see bittable1 $032f-31)
dwb $dc54, %00000001
dwb $dc54, %00000010
dwb $dc54, %00000100
dwb $dc54, %00001000
dwb $dc54, %00010000
dwb $dc54, %00100000
dwb $dc54, %01000000
dwb $dc54, %10000000
dwb $dc55, %00000001
dwb $dc55, %00000010
dwb $dc55, %00000100
dwb $dc55, %00001000
dwb $dc55, %00010000
dwb $dc55, %00100000
dwb $dc55, %01000000
dwb $dc55, %10000000
dwb $dc56, %00000001
dwb $dc56, %00000010
dwb $dc56, %00000100
dwb $dc56, %00001000
dwb $dc56, %00010000
dwb $dc56, %00100000
dwb $dc56, %01000000
dwb $dc56, %10000000
dwb $d45b, %00000100 ; female player has been transformed into male
dwb $dc20, %00000100 ; dunsparce swarm
dwb $dc20, %00001000 ; yanma swarm
; 80648 ; 80648
INCBIN "baserom.gbc",$80648,$80730-$80648 INCBIN "baserom.gbc",$80648,$80730-$80648
BattleText_0x80730: ; 0x80730 BattleText_0x80730: ; 0x80730
@ -45051,7 +44883,7 @@ INCBIN "baserom.gbc", $91c17, $91c50 - $91c17
GetFlyPermission: ; 91c50 GetFlyPermission: ; 91c50
; Return flypoint c permission flag in a ; Return flypoint c permission flag in a
ld hl, FlypointPermissions ld hl, FlypointPerms
ld b, $2 ld b, $2
ld d, $0 ld d, $0
ld a, 3 ; PREDEF_GET_FLAG_NO ld a, 3 ; PREDEF_GET_FLAG_NO

View File

@ -1269,7 +1269,7 @@ Box14Name: ; dbea
SECTION "FlypointPermissions", BSS[$dca5] SECTION "FlypointPermissions", BSS[$dca5]
FlypointPermissions: ; dca5 FlypointPerms: ; dca5
ds 4 ds 4
SECTION "BackupMapInfo", BSS[$dcad] SECTION "BackupMapInfo", BSS[$dcad]
@ -1421,7 +1421,7 @@ PokedexCaught: ; deb9
ds 32 ds 32
UnownDex: ; ded9 UnownDex: ; ded9
ds 26 ds 26
UnownUnlockedGroups: ; def3 UnlockedUnowns: ; def3
ds 1 ds 1
SECTION "Breeding",BSS[$def5] SECTION "Breeding",BSS[$def5]