@@ -263,7 +263,9 @@ ti_IsArchived:
263
263
push bc
264
264
push de
265
265
call util_is_slot_open
266
- jp nz , util_ret_null
266
+ jr z , util_is_in_ram
267
+ xor a , a
268
+ ret
267
269
util_is_in_ram:
268
270
call util_get_vat_ptr
269
271
ld hl , (hl)
@@ -621,14 +623,14 @@ ti_GetC:
621
623
push bc
622
624
push de
623
625
call util_is_slot_open
624
- jp nz , util_ret_neg_one
626
+ jr nz , .ret_neg_one
625
627
call util_get_slot_size
626
628
push bc
627
629
call util_get_offset
628
630
pop hl
629
631
scf
630
632
sbc hl , bc ; size-offset
631
- jp c , util_ret_neg_one
633
+ jr c , .ret_neg_one
632
634
push bc
633
635
call util_get_data_ptr
634
636
ld hl , (hl)
@@ -643,6 +645,11 @@ ti_GetC:
643
645
sbc hl , hl
644
646
ld l , a
645
647
ret
648
+ .ret_neg_one:
649
+ scf
650
+ sbc hl , hl
651
+ ld a , l
652
+ ret
646
653
647
654
;-------------------------------------------------------------------------------
648
655
ti_PutC:
@@ -661,31 +668,30 @@ ti_PutC:
661
668
ld a , e
662
669
ld (char_in) , a
663
670
call util_is_slot_open
664
- jp nz , util_ret_neg_one
671
+ jr nz , .ret_neg_one
665
672
call util_is_in_ram
666
- jp c , util_ret_neg_one
667
- _PutChar:
673
+ jr c , .ret_neg_one
668
674
call util_get_slot_size
669
675
push bc
670
676
call util_get_offset
671
677
pop hl
672
678
or a , a
673
679
sbc hl , bc
674
- jp c , util_ret_neg_one
680
+ jr c , .ret_neg_one
675
681
jr nz , .no_increment
676
682
.increment:
677
683
push bc
678
684
inc hl
679
685
ld (resize_amount) , hl
680
686
call ti.EnoughMem
681
687
pop bc
682
- jp c , util_ret_neg_one
688
+ jr c , .ret_neg_one
683
689
push bc
684
690
ex de , hl
685
691
call util_insert_mem
686
692
pop bc
687
693
or a , a
688
- jp z , util_ret_neg_one
694
+ jr z , .ret_neg_one
689
695
.no_increment:
690
696
call util_get_data_ptr
691
697
ld hl , (hl)
@@ -703,6 +709,11 @@ char_in := $-1
703
709
sbc hl , hl
704
710
ld l , a
705
711
ret
712
+ .ret_neg_one:
713
+ scf
714
+ sbc hl , hl
715
+ ld a , l
716
+ ret
706
717
707
718
;-------------------------------------------------------------------------------
708
719
ti_Seek:
@@ -718,14 +729,14 @@ ti_Seek:
718
729
ld de , (iy + 3 )
719
730
ld c , (iy + 9 )
720
731
call util_is_slot_open
721
- jp nz , util_ret_neg_one
732
+ jr nz , .ret_neg_one
722
733
ld a , (iy + 6 ) ; origin location
723
734
or a , a
724
735
jr z , .seek_set
725
736
dec a
726
737
jr z , .seek_curr
727
738
dec a
728
- jp nz , util_ret_neg_one
739
+ jr nz , .ret_neg_one
729
740
.seek_end:
730
741
push de
731
742
call util_get_slot_size
@@ -741,12 +752,16 @@ ti_Seek:
741
752
sbc hl , de
742
753
push de
743
754
pop bc
744
- jp c , util_ret_neg_one
755
+ jr c , .ret_neg_one
745
756
jp util_set_offset
746
757
.seek_curr:
747
758
push de
748
759
call util_get_offset
749
760
jr .seek_set_asm
761
+ .ret_neg_one:
762
+ scf
763
+ sbc hl , hl
764
+ ret
750
765
751
766
;-------------------------------------------------------------------------------
752
767
ti_DeleteVar:
@@ -805,13 +820,17 @@ ti_Rewind:
805
820
push bc
806
821
push hl
807
822
call util_is_slot_open
808
- jp nz , util_ret_neg_one
823
+ jr nz , .ret_neg_one
809
824
.rewind:
810
825
ld bc , 0
811
826
call util_set_offset
812
827
or a , a
813
828
sbc hl , hl
814
829
ret
830
+ scf
831
+ .ret_neg_one:
832
+ sbc hl , hl
833
+ ret
815
834
816
835
;-------------------------------------------------------------------------------
817
836
ti_Tell:
@@ -825,11 +844,14 @@ ti_Tell:
825
844
push bc
826
845
push hl
827
846
call util_is_slot_open
828
- jp nz , util_ret_neg_one
847
+ jr nz , .ret_neg_one
829
848
call util_get_offset
830
849
push bc
831
850
pop hl
832
851
ret
852
+ .ret_neg_one:
853
+ sbc hl , hl
854
+ ret
833
855
834
856
;-------------------------------------------------------------------------------
835
857
ti_GetSize:
@@ -843,11 +865,14 @@ ti_GetSize:
843
865
push bc
844
866
push hl
845
867
call util_is_slot_open
846
- jp nz , util_ret_neg_one
868
+ jr nz , .ret_neg_one
847
869
call util_get_slot_size
848
870
push bc
849
871
pop hl
850
872
ret
873
+ .ret_neg_one:
874
+ sbc hl , hl
875
+ ret
851
876
852
877
;-------------------------------------------------------------------------------
853
878
ti_Close:
@@ -1088,14 +1113,18 @@ ti_GetDataPtr:
1088
1113
push bc
1089
1114
push de
1090
1115
call util_is_slot_open
1091
- jp nz , util_ret_null
1116
+ jr nz , .ret_null
1092
1117
call util_get_slot_size
1093
1118
inc hl
1094
1119
push hl
1095
1120
call util_get_offset
1096
1121
pop hl
1097
1122
add hl , bc
1098
1123
ret
1124
+ .ret_null:
1125
+ xor a , a
1126
+ sbc hl , hl
1127
+ ret
1099
1128
1100
1129
;-------------------------------------------------------------------------------
1101
1130
ti_GetVATPtr:
@@ -1109,10 +1138,14 @@ ti_GetVATPtr:
1109
1138
push bc
1110
1139
push de
1111
1140
call util_is_slot_open
1112
- jp nz , util_ret_null
1141
+ jr nz , .ret_null
1113
1142
call util_get_vat_ptr
1114
1143
ld hl , (hl)
1115
1144
ret
1145
+ .ret_null:
1146
+ xor a , a
1147
+ sbc hl , hl
1148
+ ret
1116
1149
1117
1150
;-------------------------------------------------------------------------------
1118
1151
ti_GetName:
@@ -1345,20 +1378,23 @@ ti_RclVar:
1345
1378
ld iy , ti. flags
1346
1379
call util_set_var_str
1347
1380
call ti.FindSym
1348
- jp c , util_ret_neg_one_byte
1381
+ jr c , .ret_neg_one
1349
1382
push af
1350
1383
call ti.ChkInRam
1351
1384
pop bc
1352
1385
ld a , b
1353
- jp nz , util_ret_neg_one_byte
1386
+ jr nz , .ret_neg_one
1354
1387
ld iy , 0
1355
1388
add iy , sp
1356
1389
and a , $ 3f
1357
1390
sub a , (iy + 3 ) ; var type
1358
- jp nz , util_ret_neg_one_byte
1391
+ jr nz , .ret_neg_one
1359
1392
ld hl , (iy + 9 )
1360
1393
ld (hl) , de
1361
1394
ret
1395
+ .ret_neg_one:
1396
+ ld a ,- 1
1397
+ ret
1362
1398
1363
1399
;-------------------------------------------------------------------------------
1364
1400
ti_ArchiveHasRoom:
@@ -1499,7 +1535,11 @@ util_insert_mem:
1499
1535
call ti.EnoughMem
1500
1536
pop de
1501
1537
pop hl
1502
- jr c , util_ret_null_byte
1538
+ jr nc , .enough_mem
1539
+ pop hl
1540
+ xor a , a
1541
+ ret
1542
+ .enough_mem:
1503
1543
call ti.InsertMem
1504
1544
pop hl
1505
1545
ld hl , (hl)
@@ -1544,9 +1584,6 @@ util_save_size:
1544
1584
util_ret_neg_one_byte:
1545
1585
ld a , 255
1546
1586
ret
1547
- util_ret_null_byte:
1548
- xor a , a
1549
- ret
1550
1587
1551
1588
util_ret_null_pop_ix:
1552
1589
pop ix
0 commit comments