]> git.sur5r.net Git - cc65/commitdiff
move setup of stdin/stdout/stderr from crt0.s to getfd.s
authorcpg <cpg@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 19 Nov 2009 20:57:23 +0000 (20:57 +0000)
committercpg <cpg@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 19 Nov 2009 20:57:23 +0000 (20:57 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4472 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/atari/crt0.s
libsrc/atari/getfd.s

index 8edc4046f09841e2d14242272a54f58864ba6409..3c1b2d820e48bc3621558d72fda1eda4ae6674d0 100644 (file)
@@ -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
index 6fb38e9ae9d4feb694ca0d0c00a38bd1c53b7200..a5457c5aad592e00022b2484ab4ad201d5da40bb 100644 (file)
@@ -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