@@ -426,7 +426,7 @@ ti_SetArchiveStatus:
426426; sp + 3 : boolean value
427427; sp + 6 : slot index
428428; return:
429- ; n/a
429+ ; hl = 0 if failure
430430 pop hl
431431 pop de
432432 pop bc
@@ -540,6 +540,11 @@ ti_Write:
540540 ret
541541
542542util_get_data_offset:
543+ ; output:
544+ ; HL = data_ptr + offset + 2
545+ ; BC = offset
546+ ; destroyed:
547+ ; A
543548 call util_get_data_ptr
544549 ld hl , (hl)
545550 push hl
@@ -882,7 +887,7 @@ ti_Close:
882887; args:
883888; sp + 3 : slot index
884889; return:
885- ; n/a
890+ ; hl = 0 if failure
886891 pop de
887892 pop bc
888893 push bc
@@ -1059,7 +1064,9 @@ ti_Detect:
10591064ti_GetTokenString:
10601065; return pointer to next token string
10611066; args:
1062- ; sp + 3 : slot index
1067+ ; sp + 3 : pointer to token string
1068+ ; sp + 6 : pointer token length
1069+ ; sp + 9 : pointer to string length
10631070; return:
10641071; hl -> os string to display
10651072 ld iy , 0
@@ -1369,8 +1376,9 @@ ti_StoVar:
13691376ti_RclVar:
13701377; gets a pointer to a variable data structure
13711378; args:
1372- ; sp + 3 : pointer to variable name string
1373- ; sp + 6 : pointer to data structure pointer
1379+ ; sp + 3 : variable type
1380+ ; sp + 6 : pointer to variable name string
1381+ ; sp + 9 : pointer to data structure pointer
13741382; return:
13751383; a = type of variable
13761384 ld iy , 0
@@ -1624,6 +1632,10 @@ util_is_slot_open:
16241632 ret
16251633
16261634util_get_vat_ptr:
1635+ ; output:
1636+ ; HL = vat_ptr
1637+ ; destroyed:
1638+ ; A
16271639 ld a , (curr_slot)
16281640 ld hl , vat_ptr0 ; vat_ptr0 = $d0244e
16291641 dec a
@@ -1640,7 +1652,12 @@ util_get_vat_ptr:
16401652 ret z
16411653 ld l , $ 84 ; vat_ptr4 = $d02584
16421654 ret
1655+
16431656util_get_data_ptr:
1657+ ; output:
1658+ ; HL = data_ptr
1659+ ; destroyed:
1660+ ; A
16441661 ld a , (curr_slot)
16451662 ld hl , data_ptr0 ; data_ptr0 = $d0067e
16461663 dec a
@@ -1656,7 +1673,10 @@ util_get_data_ptr:
16561673 ret z
16571674 ld l , $ f9 ; data_ptr4 = $d01ff9
16581675 ret
1676+
16591677util_get_offset_ptr:
1678+ ; output:
1679+ ; HL = offset_ptr
16601680 push bc
16611681 ld hl , (curr_slot)
16621682 ld h , 3
@@ -1665,19 +1685,35 @@ util_get_offset_ptr:
16651685 add hl , bc
16661686 pop bc
16671687 ret
1688+
16681689util_get_slot_size:
1690+ ; output:
1691+ ; HL = data_ptr + 1
1692+ ; BC = slot_size
1693+ ; UBC = 0
1694+ ; destroyed:
1695+ ; A
16691696 call util_get_data_ptr
16701697 ld hl , (hl)
16711698 ld bc , 0
16721699 ld c , (hl)
16731700 inc hl
16741701 ld b , (hl)
16751702 ret
1703+
16761704util_get_offset:
1705+ ; output:
1706+ ; HL = offset_ptr
1707+ ; BC = offset
16771708 call util_get_offset_ptr
16781709 ld bc , (hl)
16791710 ret
1711+
16801712util_set_offset:
1713+ ; input:
1714+ ; BC = offset
1715+ ; output:
1716+ ; HL = offset_ptr
16811717 call util_get_offset_ptr
16821718 ld (hl) , bc
16831719 ret
0 commit comments