1; creat(const char *name, mode_t mode) 2 3 SECTION code_clib 4 5 PUBLIC creat 6 PUBLIC _creat 7 8 INCLUDE "target/msx/def/msxdos2.def" 9 EXTERN MSXDOS 10 EXTERN msxdos_error 11 12.creat 13._creat 14 push ix 15 ld ix,2 16 add ix,sp 17 18 ld e,(ix+4) ;Filename 19 ld d,(ix+5) 20 ld c,_DELETE 21 call MSXDOS ;We don't care about the result 22 ; And now create it 23 ld e,(ix+4) ;Filename 24 ld d,(ix+5) 25 ld a,1 ;O_WRONLY 26 ld b,@10000000 ;Create new 27 ld c,_CREATE 28 call MSXDOS 29 ld (msxdos_error),a 30 pop ix 31 ld hl,0 32 ld h,b 33 and a 34 ret z 35 ld hl,-1 36 ret 37 38 39