Thanks to Brett Gordon who found that the bogus
_uget return value was causing lseek() to fail.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
; imported
.globl map_process_always
.globl map_kernel
+
.area .common
__ugetc:
sta ,u+
leay -1,y
bne ugetl
+ ldx #0
puls u,y,cc,pc
__ugets:
exg d,x
stb ,x
jsr map_kernel
+ ldx #0
puls cc,pc
__uputw:
exg d,x
std ,x
jsr map_kernel
+ ldx #0
puls cc,pc
; X = source, user, size on stack
jsr map_kernel
leay -1,y
bne uputl
+ ldx #0
puls u,y,cc,pc
__uzero:
leay -1,y
bne uzloop
jsr map_kernel
+ ldx #0
puls y,cc,pc
include "kernel.def"
include "../kernel09.def"
+ ; exported
.globl __ugetc
.globl __ugetw
.globl __uget
.globl __ugets
-
.globl __uputc
.globl __uputw
.globl __uput
sta ,u+
leay -1,y
bne ugetl
+ ldx #0
puls u,y,cc,pc
__ugets:
exg d,x
stb ,x
SAM_KERNEL
+ ldx #0
puls cc,pc
__uputw:
exg d,x
std ,x
SAM_KERNEL
+ ldx #0
puls cc,pc
; X = source, user, size on stack
SAM_KERNEL
leay -1,y
bne uputl
+ ldx #0
puls u,y,cc,pc
__uzero:
leay -1,y
bne uzloop
SAM_KERNEL
+ ldx #0
puls y,cc,pc