added OBJ_GetChildAt

This commit is contained in:
Martin Preuss
2026-03-04 00:07:48 +01:00
parent f496e6587b
commit 1edd34fb5a

View File

@@ -271,6 +271,39 @@ OBJ_GetLastChild_ret:
; ---------------------------------------------------------------------------
; @routine OBJ_GetChildAt @global
;
; @param Y address of object
; @param R16 idx of child to get (starting at 0)
; @return CFLAG set, if found, cleared otherwise
; @return r19:r18 resulting object
; @clobbers none
OBJ_GetChildAt:
push yl
push yh
rcall OBJ_GetFirstChild ; R19:R18=obj (none)
brcc OBJ_GetChildAt_ret
OBJ_GetChildAt_loop:
tst r16
breq OBJ_GetChildAt_secRet
mov yl, r18
mov yh, r19
rcall OBJ_GetNext ; R19:R18=obj (none)
brcs OBJ_GetChildAt_loop
rjmp OBJ_GetChildAt_ret ; idx too high, not found
OBJ_GetChildAt_secRet:
sec
OBJ_GetChildAt_ret:
pop yh
pop yl
ret
; @end
; --------------------------------------------------------------------------- ; ---------------------------------------------------------------------------
; @routine OBJ_AddChild @global ; @routine OBJ_AddChild @global
; ;