From 92b42d4aebe9a9ea355dfd734b2a0032683c5dc2 Mon Sep 17 00:00:00 2001 From: Bryan Bishop Date: Wed, 30 May 2012 21:11:21 -0500 Subject: [PATCH] copy in IsInArray from pokered --- main.asm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/main.asm b/main.asm index 16878e72f..bc825df1a 100644 --- a/main.asm +++ b/main.asm @@ -195,7 +195,32 @@ GetFarHalfword: ; 0x305d ret ; 0x306b -INCBIN "baserom.gbc",$306b,$30fe-$306b +INCBIN "baserom.gbc",$306b,$30e1-$306b + +IsInArray: ; 30e1 +; searches an array at hl for the value in a. +; skips (de - 1) bytes between reads, so to check every byte, de should be 1. +; if found, returns count in b and sets carry. + ld b,0 + ld c,a +.loop\@ + ld a,[hl] + cp a,$FF + jr z,.NotInArray\@ + cp c + jr z,.InArray\@ + inc b + add hl,de + jr .loop\@ +.NotInArray\@ + and a + ret +.InArray\@ + scf + ret +; 0x30f4 + +INCBIN "baserom.gbc",$30f4,$30fe - $30f4 AddNTimes: ; 0x30fe and a