2 ; Peter Ferrie, 21.11.2014
4 ; off_t __fastcall__ lseek(int fd, off_t offset, int whence);
11 .include "zeropage.inc"
14 .include "filedes.inc"
28 jsr getfd ; Returns A, Y and C
35 ; Valid whence values are 0..2
43 sta mliparam + MLI::MARK::REF_NUM
63 ; MARK_COUNT must == EOF_COUNT, otherwise unexpected behaviour
64 .assert MARK_COUNT = EOF_COUNT, error
68 lda mliparam + MLI::MARK::POSITION
69 ldx mliparam + MLI::MARK::POSITION+1
70 ldy mliparam + MLI::MARK::POSITION+2
74 sta mliparam + MLI::MARK::POSITION
77 sta mliparam + MLI::MARK::POSITION+1
80 sta mliparam + MLI::MARK::POSITION+2
88 ; Need to return the position in EAX
89 .if (.cpu .bitand ::CPU_ISET_65SC02)
95 lda mliparam + MLI::MARK::POSITION+2
97 ldx mliparam + MLI::MARK::POSITION+1
98 lda mliparam + MLI::MARK::POSITION