summaryrefslogtreecommitdiff
path: root/home/tables.asm
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-06-05 09:15:33 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-06-05 09:15:33 -0400
commit6df1b9338904542d653849439bce2ff16c36cc09 (patch)
tree4e6224f0ca47ec072c6d6f04e7259d9d24bcd7a7 /home/tables.asm
parent059680a04dc065b14800b0327c4aa2ce6176befa (diff)
parent1a7f8044799a2d52c1124c7e791ca423449df00b (diff)
Merge branch 'master' into clean_shim
Diffstat (limited to 'home/tables.asm')
-rwxr-xr-xhome/tables.asm27
1 files changed, 27 insertions, 0 deletions
diff --git a/home/tables.asm b/home/tables.asm
new file mode 100755
index 0000000..dc9cebe
--- /dev/null
+++ b/home/tables.asm
@@ -0,0 +1,27 @@
+INCLUDE "constants.asm"
+
+SECTION "FindItemInTable", ROM0[$35F8]
+
+; find value a from table hl with row length de
+; returns carry and row index b if successful
+FindItemInTable: ; 00:35F8
+ ld b, 0
+ ld c, a
+
+.loop
+ ld a, [hl]
+ cp -1
+ jr z, .fail
+ cp c
+ jr z, .success
+ inc b
+ add hl, de
+ jr .loop
+
+.fail
+ and a
+ ret
+
+.success
+ scf
+ ret