Skip to content

Commit 8de4d81

Browse files
Fix ti_Read when 0
1 parent 0de3fc2 commit 8de4d81

File tree

2 files changed

+29
-21
lines changed

2 files changed

+29
-21
lines changed

makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ CP_EXMPLS = (if not exist "$(EXMPL_DIR)" mkdir $(EXMPL_DIR)) && xcopy /y /s /e
2323
CPDIR = xcopy /y /s /e
2424
ARCH = makensis.exe /DDIST_PATH=$(call NATIVEPATH,$(DESTDIR)$(PREFIX)/CEdev) $(call NATIVEPATH,$(CURDIR)\tools\installer\installer.nsi) && \
2525
(if not exist "release" mkdir "release") && move /y tools\installer\CEdev.exe release\\
26+
CHMOD :=
2627
else
2728
NATIVEPATH = $(subst \,/,$(1))
2829
WINPATH = $(shell winepath --windows $(1))

src/fileioc/fileioc.asm

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ _Resize:
172172
push hl
173173
push de
174174
call _CheckIfSlotOpen \.r
175-
jp z,_ReturnNEG1L \.r
175+
jp z,_ReturnNEG1 \.r
176176
push hl
177177
call _CheckInRAM_ASM \.r
178178
pop hl
@@ -456,7 +456,7 @@ SetNotArchived:
456456
RelocateVar:
457457
call _PopOP1
458458
call _ChkFindSym
459-
jp c,_ReturnNEG1L \.r
459+
jp c,_ReturnNEG1 \.r
460460
push hl
461461
call _GetSlotVATPtr_ASM \.r
462462
pop bc
@@ -479,9 +479,9 @@ _Write:
479479
add iy,sp
480480
ld c,(iy+12)
481481
call _CheckIfSlotOpen \.r
482-
jr z,_ReturnNULL_Close
482+
jr z,_ReturnNULL_rel
483483
call _CheckInRAM_ASM \.r
484-
jr z,_ReturnNULL_Close
484+
jr z,_ReturnNULL_rel
485485
ld bc,(iy+6)
486486
ld hl,(iy+9)
487487
call __smulu
@@ -505,7 +505,7 @@ _Write:
505505
ld (resizeBytes),hl
506506
call AddMemoryToVar \.r
507507
or a,a
508-
jr z,_ReturnNULL_Close
508+
jr z,_ReturnNULL_rel
509509
NoCoreNeeded:
510510
call _GetSlotCurrDataPtr_ASM \.r
511511
ex de,hl
@@ -523,7 +523,9 @@ CopySize_SMC =$+1
523523
ld hl,(iy+9)
524524
ret
525525

526-
_ReturnNULL_Close:
526+
_ReturnNULL_rel_pop1:
527+
pop hl
528+
_ReturnNULL_rel:
527529
xor a,a
528530
sbc hl,hl
529531
ret
@@ -553,11 +555,15 @@ _Read:
553555
add iy,sp
554556
ld c,(iy+12)
555557
call _CheckIfSlotOpen \.r
556-
jr z,_ReturnNULL_Close
558+
jr z,_ReturnNULL_rel
557559
ld bc,(iy+6)
558560
ld hl,(iy+9)
559561
push hl
560562
call __smulu
563+
add hl,de
564+
xor a,a
565+
sbc hl,de
566+
jr z,_ReturnNULL_rel_pop1
561567
push hl
562568
call _GetSlotCurrDataPtr_ASM \.r
563569
ld de,(iy+3)
@@ -585,7 +591,7 @@ _GetChar:
585591
push bc
586592
push de
587593
call _CheckIfSlotOpen \.r
588-
jp z,_ReturnNEG1L \.r
594+
jp z,_ReturnNEG1 \.r
589595
_GetChar_ASM:
590596
call _GetSlotSize_ASM \.r
591597
push bc
@@ -594,7 +600,7 @@ _GetChar_ASM:
594600
dec hl
595601
or a,a
596602
sbc hl,bc ; size-offset
597-
jp c,_ReturnNEG1L \.r
603+
jp c,_ReturnNEG1 \.r
598604
push bc
599605
call _GetSlotDataPtr_ASM \.r
600606
ld hl,(hl)
@@ -624,14 +630,14 @@ _Seek:
624630
ld de,(iy+3)
625631
ld c,(iy+9)
626632
call _CheckIfSlotOpen \.r
627-
jp z,_ReturnNEG1L \.r
633+
jp z,_ReturnNEG1 \.r
628634
ld a,(iy+6)
629635
or a,a
630636
jr z,SeekSet
631637
dec a
632638
jr z,SeekCur
633639
dec a
634-
jp nz,_ReturnNEG1L \.r
640+
jp nz,_ReturnNEG1 \.r
635641
SeekEnd:
636642
push de
637643
call _GetSlotSize_ASM \.r
@@ -647,7 +653,7 @@ SeekSet:
647653
sbc hl,de
648654
push de
649655
pop bc
650-
jp c,_ReturnNEG1L \.r
656+
jp c,_ReturnNEG1 \.r
651657
jp _SetSlotOffset_ASM \.r
652658
SeekCur:
653659
push de
@@ -671,33 +677,33 @@ _PutChar:
671677
ld a,l
672678
ld (charIn),a
673679
call _CheckIfSlotOpen \.r
674-
jp z,_ReturnNEG1L \.r
680+
jp z,_ReturnNEG1 \.r
675681
push hl
676682
call _CheckInRAM_ASM \.r
677683
pop hl
678-
jp c,_ReturnNEG1L \.r
684+
jp c,_ReturnNEG1 \.r
679685
_PutChar_ASM:
680686
call _GetSlotSize_ASM \.r
681687
push bc
682688
call _GetSlotOffset_ASM \.r
683689
pop hl
684690
or a,a
685691
sbc hl,bc
686-
jp c,_ReturnNEG1L \.r
692+
jp c,_ReturnNEG1 \.r
687693
jr nz,noIncrement
688694
Increment:
689695
push bc
690696
inc hl
691697
ld (resizeBytes),hl
692698
call _EnoughMem
693699
pop bc
694-
jp c,_ReturnNEG1L \.r
700+
jp c,_ReturnNEG1 \.r
695701
push bc
696702
ex de,hl
697703
call AddMemoryToVar \.r
698704
pop bc
699705
or a,a
700-
jp z,_ReturnNEG1L \.r
706+
jp z,_ReturnNEG1 \.r
701707
noIncrement:
702708
call _GetSlotDataPtr_ASM \.r
703709
ld hl,(hl)
@@ -769,7 +775,7 @@ _Rewind:
769775
push bc
770776
push hl
771777
call _CheckIfSlotOpen \.r
772-
jp z,_ReturnNEG1L \.r
778+
jp z,_ReturnNEG1 \.r
773779
ld bc,0
774780
call _SetSlotOffset_ASM \.r
775781
or a,a
@@ -788,7 +794,7 @@ _Tell:
788794
push bc
789795
push hl
790796
call _CheckIfSlotOpen \.r
791-
jp z,_ReturnNEG1L \.r
797+
jp z,_ReturnNEG1 \.r
792798
call _GetSlotOffset_ASM \.r
793799
push bc
794800
pop hl
@@ -806,7 +812,7 @@ _GetSize:
806812
push bc
807813
push hl
808814
call _CheckIfSlotOpen \.r
809-
jp z,_ReturnNEG1L \.r
815+
jp z,_ReturnNEG1 \.r
810816
call _GetSlotSize_ASM \.r
811817
push bc
812818
pop hl
@@ -1198,10 +1204,11 @@ _ReturnNULL:
11981204
xor a,a
11991205
sbc hl,hl
12001206
ret
1201-
_ReturnNEG1L:
1207+
_ReturnNEG1:
12021208
scf
12031209
sbc hl,hl
12041210
ret
1211+
12051212
_CheckIfSlotOpen:
12061213
ld a,c
12071214
ld (currSlot),a

0 commit comments

Comments
 (0)