summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2013-02-05 01:21:51 -0500
committeryenatch <yenatch@gmail.com>2013-02-05 03:16:46 -0500
commitc811b20b65c27c38f4835b0f533d9740af362f73 (patch)
tree4142ca40cd34acdf3734eba8443e992cfb46adce /main.asm
parent710b7ddd7f781d20afdf31e0aa9a6adfaa52cc26 (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.asm276
1 files changed, 54 insertions, 222 deletions
diff --git a/main.asm b/main.asm
index 42decd6cd..62757d499 100644
--- a/main.asm
+++ b/main.asm
@@ -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