diff options
author | yenatch <yenatch@gmail.com> | 2013-02-05 01:21:51 -0500 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2013-02-05 03:16:46 -0500 |
commit | c811b20b65c27c38f4835b0f533d9740af362f73 (patch) | |
tree | 4142ca40cd34acdf3734eba8443e992cfb46adce /main.asm | |
parent | 710b7ddd7f781d20afdf31e0aa9a6adfaa52cc26 (diff) |
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.
Diffstat (limited to 'main.asm')
-rw-r--r-- | main.asm | 276 |
1 files changed, 54 insertions, 222 deletions
@@ -42326,53 +42326,79 @@ SECTION "bank20",DATA,BANK[$20] INCBIN "baserom.gbc",$80000,$80430-$80000 GetFlag2: ; 80430 -; uses 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 +; Do action b on flag de from BitTable2 ; -; b = 0: reset flag -; = 1: set flag -; > 1: check flag +; b = 0: reset flag +; = 1: set 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 - cp $00 ; is the flag id > 256? - jr z, .start ; no - jr c, .read ; carry is never set - jr .invalid ; yes -.start + cp 0 + jr z, .ceiling + jr c, .read ; cp 0 can't set carry! + jr .invalid + +; There are only $a2 flags in BitTable2, so anything beyond that +; is invalid too. + +.ceiling ld a, e - cp $a2 ; $a2 flag ids + cp $a2 jr c, .read + +; Invalid flags are treated as flag $00. + .invalid -; uses flag 0 xor a ld e, a ld d, a + +; Read BitTable2 for this flag's location. + .read - ld hl, Flags - add hl, de ; skip three - add hl, de ; bytes per - add hl, de ; flag + ld hl, BitTable2 +; location + add hl, de + add hl, de +; bit + add hl, de + +; location ld e, [hl] inc hl ld d, [hl] inc hl - ld c, [hl] ; flag bit +; bit + ld c, [hl] + +; What are we doing with this flag? + ld a, b - cp $01 + cp 1 jr c, .reset ; b = 0 jr z, .set ; b = 1 - ld a, [de] ; b > 1 + +; Return the given flag in c. +.check + ld a, [de] and c ld c, a ret + +; Set the given flag. .set ld a, [de] or c ld [de], a ret + +; Reset the given flag. .reset ld a, c cpl ; AND all bits except the one in question @@ -42382,207 +42408,13 @@ GetFlag2: ; 80430 ld [de], a ret ; 80462 - -Flags: ; 80462 -; bittable2 -; 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 - - ; $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 + + +BitTable2: ; 80462 +INCLUDE "data/bittable2.asm" ; 80648 + INCBIN "baserom.gbc",$80648,$80730-$80648 BattleText_0x80730: ; 0x80730 @@ -45051,7 +44883,7 @@ INCBIN "baserom.gbc", $91c17, $91c50 - $91c17 GetFlyPermission: ; 91c50 ; Return flypoint c permission flag in a - ld hl, FlypointPermissions + ld hl, FlypointPerms ld b, $2 ld d, $0 ld a, 3 ; PREDEF_GET_FLAG_NO |