From: cpg Date: Thu, 19 Nov 2009 20:57:23 +0000 (+0000) Subject: move setup of stdin/stdout/stderr from crt0.s to getfd.s X-Git-Tag: V2.13.1~57 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=38901e1614ea5cf436704f8115b3079c84abe1e4;hp=429c3888bc76e38bc02693b25ef895ef064e8725;p=cc65 move setup of stdin/stdout/stderr from crt0.s to getfd.s git-svn-id: svn://svn.cc65.org/cc65/trunk@4472 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/libsrc/atari/crt0.s b/libsrc/atari/crt0.s index 8edc4046f..3c1b2d820 100644 --- a/libsrc/atari/crt0.s +++ b/libsrc/atari/crt0.s @@ -22,7 +22,6 @@ .include "zeropage.inc" .include "atari.inc" - .include "_file.inc" ; ------------------------------------------------------------------------ ; EXE header @@ -101,18 +100,6 @@ L1: lda sp,x lda #$FF sta CH -; set stdio stream handles - - lda #0 - jsr getfd - sta __filetab + (0 * .sizeof(_FILE)); setup stdin - lda #0 - jsr getfd - sta __filetab + (1 * .sizeof(_FILE)); setup stdout - lda #0 - jsr getfd - sta __filetab + (2 * .sizeof(_FILE)); setup stderr - ; Push arguments and call main jsr callmain diff --git a/libsrc/atari/getfd.s b/libsrc/atari/getfd.s index 6fb38e9ae..a5457c5aa 100644 --- a/libsrc/atari/getfd.s +++ b/libsrc/atari/getfd.s @@ -7,12 +7,15 @@ .include "atari.inc" .include "fd.inc" + .include "_file.inc" .importzp tmp1 .export fdt_to_fdi,getfd .export fd_table,fd_index .export ___fd_table,___fd_index ; for test(debug purposes only + .constructor initfds,24 + .data ___fd_index: @@ -32,6 +35,23 @@ fd_table: ; each entry represents an open iocb .code +; set stdio stream handles + +.proc initfds + + lda #0 + jsr getfd + sta __filetab + (0 * .sizeof(_FILE)); setup stdin + lda #0 + jsr getfd + sta __filetab + (1 * .sizeof(_FILE)); setup stdout + lda #0 + jsr getfd + sta __filetab + (2 * .sizeof(_FILE)); setup stderr + rts + +.endproc + ; fdt_to_fdi ; returns a fd_index entry pointing to the given ft_table entry ; get fd_table entry in A