]> git.sur5r.net Git - cc65/blobdiff - doc/atari.sgml
Ignore start address in cbm_opendir. Rearrange the code somewhat to make it
[cc65] / doc / atari.sgml
index 646694d30a8fc3fe6a9a2fac825ca61378a7286c..0424dde627d3a6137961262609bf83a12ac0b12e 100644 (file)
@@ -5,9 +5,9 @@
 <title>Atari specific information for cc65
 <author>Shawn Jefferson, <htmlurl
 url="mailto:shawnjefferson@24fightingchickens.com"
-name="shawnjefferson@24fightingchickens.com"> and 
+name="shawnjefferson@24fightingchickens.com"> and
 Christian Groessler, <htmlurl url="mailto:cpg@aladdin.de" name="cpg@aladdin.de">
-<date>03-Sep-2005
+<date>03-Jan-2006
 
 <abstract>
 An overview over the Atari runtime system as it is implemented for the cc65 C
@@ -72,7 +72,7 @@ Special locations:
   <tag/Stack/
   The C runtime stack is located at MEMTOP and grows downwards,
   regardless of how your linker config file is setup.  This
-  accomodates the different memory configurations of the Atari
+  accommodates the different memory configurations of the Atari
   machines, as well as having a cartridge installed.  You can override
   this behaviour by writing your own crt0.s file and linking it to
   your program (see also <ref name="Final note"
@@ -161,7 +161,7 @@ memory. The access must be implemented manually.
 Many graphics modes require more memory than the text screen which is
 in effect when the program starts up. Therefore the programmer has to
 tell the program beforehand the memory requirements of the graphics
-modes the program intends to use. 
+modes the program intends to use.
 This can be done by using the __RESERVED_MEMORY__ linker config
 variable. The number specified there describes the number of bytes to
 subtract from the top of available memory as seen from the runtime
@@ -225,10 +225,13 @@ platform.
 
 <descrip>
 
-  <tag><tt/atari-stdjoy.joy/</tag>
+  <tag><tt/ataristd.joy/</tag>
   Supports up to four standard joysticks connected to the joystick ports of
   the Atari.
 
+  <tag><tt/atarim8.joy/</tag>
+  Supports up to eight standard joysticks connected to a MultiJoy adapter.
+
 </descrip><p>
 
 
@@ -258,6 +261,12 @@ Therefore the DIO read and write functions transfer only 128 bytes
 for sectors 1 to 3, regardless of the type of diskette.
 
 
+<sect>CONIO implementation<label id="conio"><p>
+
+The console I/O is speed optimized therefore support for XEP80 hardware
+or f80.com software is missing. Of course you may use stdio.h functions.
+
+
 <sect>Other hints<p>
 
 <sect1>Function keys<p>
@@ -287,12 +296,13 @@ memory area from &dollar;4000 to &dollar;7FFF. The CODE segment of
 the program should go below &dollar;4000 and the DATA and RODATA
 segments should go above &dollar;7FFF.
 <p>
-The main problem is that the EXE header generated by the cc65 runtine
+The main problem is that the EXE header generated by the cc65 runtime
 lib is wrong. It defines a single load chunk with the sizes/addresses
-of the CODE, RODATA, and DATA segments (the whole user program).
+of the LOWCODE, INIT, CODE, RODATA, and DATA segments (the whole user
+program).
 <p>
 The contents of the EXE header come from the EXEHDR segment, which is
-defined in crt0.s. This cannot be changed w/o modifiying and
+defined in crt0.s. This cannot be changed w/o modifying and
 recompiling the cc65 atari runtime lib. Therefore the original EXE
 header must be discarded. It will be replaced by a user created
 one.
@@ -390,8 +400,8 @@ cl65 -t atari -C split.cfg -o prog.com prog.c split.s
 <sect2>Low data and high code example<p>
 
 
-Goal: Put RODATA and DATA into low memory and CODE with BSS into high
-memory (split2.cfg):
+Goal: Put RODATA and DATA into low memory and LOWCODE, INIT, CODE, BSS
+into high memory (split2.cfg):
 
 <tscreen><verb>
 MEMORY {