From 38901e1614ea5cf436704f8115b3079c84abe1e4 Mon Sep 17 00:00:00 2001
From: cpg <cpg@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Date: Thu, 19 Nov 2009 20:57:23 +0000
Subject: [PATCH] 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
---
 libsrc/atari/crt0.s  | 13 -------------
 libsrc/atari/getfd.s | 20 ++++++++++++++++++++
 2 files changed, 20 insertions(+), 13 deletions(-)

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