Readme.txt 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. TIGCC Cross Compiler for the TI-89 and TI-92 Plus v0.96 Beta 6
  2. ================================================================
  3. Xavier Vassor Xavier@tigcc.ticalc.org (original linker and tigcc)
  4. Zeljko Juric Zeljko@tigcc.ticalc.org (library and documentation)
  5. Kevin Kofler Kevin@tigcc.ticalc.org (linker, fixes for A68k, GCC,
  6. GAS, library, ...)
  7. Sebastian Reichelt Sebastian@tigcc.ticalc.org (linker, IDE, GCC fixes)
  8. Niklas Brunlid Niklas@tigcc.ticalc.org (bugfixes and additions)
  9. Jean Canazzi Jean@tigcc.ticalc.org (first modification of GCC)
  10. Philipp Winkler p.winkler@atn.nu (library help file conversion)
  11. Email us at: Team@tigcc.ticalc.org
  12. +-------------------------------+
  13. | README CONTENTS |
  14. |===============================|
  15. | 1. Disclaimer |
  16. | 2. About TIGCC |
  17. | 3. Installation |
  18. | 4. The Library |
  19. | 5. The Command Line Compiler |
  20. | 6. The IDE |
  21. | 7. Examples |
  22. | 8. Missing Features |
  23. | 9. Bug Reports |
  24. | 10. History |
  25. +-------------------------------+
  26. 1. Disclaimer
  27. -------------
  28. Original files Copyright (C) 1999-2005 Xavier Vassor, Niklas Brunlid,
  29. and Jean Canazzi
  30. ld-tigcc Copyright (C) 2002-2005 Sebastian Reichelt and Kevin Kofler
  31. Library & Documentation Copyright (C) 2000-2005 Zeljko Juric and contributors
  32. IDE Copyright (C) 2000-2005 Sebastian Reichelt
  33. Included programs with different licenses:
  34. A68k Copyright (C) 1987-2005 Charlie Gibbs, David Ellsworth, Kevin Kofler,
  35. Julien Muchembled, and Paul Froissart
  36. TIGCC Tools Suite Copyright (C) 2000-2004 Thomas Nussbaumer
  37. (http://tict.ticalc.org/)
  38. Setup executable created using NSIS (http://nsis.sourceforge.net) and
  39. compressed using LZMA (http://www.7-zip.org/sdk.html) for the data and UPX
  40. (http://upx.sourceforge.net/) for the stub.
  41. This program is free software; you can redistribute it and/or modify it under
  42. the terms of the GNU General Public License as published by the Free Software
  43. Foundation; either version 2 of the License, or (at your option) any later
  44. version.
  45. This program is distributed in the hope that it will be useful, but WITHOUT
  46. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  47. FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  48. details.
  49. You should have received a copy of the GNU General Public License along with
  50. this program; if not, write to the Free Software Foundation, Inc.,
  51. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  52. Different licenses apply to A68k and the tools from the TIGCC Tools Suite.
  53. Official Release: http://www.ticalc.org/pub/win/asm/tigcc.zip
  54. Source Code: http://www.ticalc.org/pub/win/asm/tigccsrc.zip
  55. Beta Version: http://tigcc.ticalc.org/beta/tigcc.zip
  56. Source Code: http://tigcc.ticalc.org/beta/tigccsrc.zip
  57. 2. About TIGCC
  58. --------------
  59. TIGCC is our attempt to make it possible to program in C for the TI-89 and
  60. TI-92 Plus. To do this we originally recompiled a version of GCC-M68k (which
  61. was found at http://fiddes.net/coldfire/) to make it work with the C calling
  62. convention used by TI's compiler. Much later, this was replaced by the
  63. original GCC found at http://www.cygwin.com. Then we wrote a linker to make
  64. it produce .89z or .9xz files. And since we also wanted to allow the use of
  65. assembly, we programmed it so that you can use the .asm files and compile
  66. them with a68k. Finally we wrote tigcc.exe, a program which will
  67. automatically call the necessary programs to compile everything you specify
  68. in the command line. Additional items, such as the TIGCC Library and the IDE,
  69. have been added to TIGCC over time. The most recent important change is the
  70. addition of native floating point support, which was made possible by
  71. recompiling GCC again.
  72. Please check out tigcc.ticalc.org, the official TIGCC site, for more
  73. information.
  74. 3. Installation
  75. ---------------
  76. In the ZIP file containing TIGCC, you will find a program called 'Setup.exe'.
  77. Run this program and follow the instructions of the setup program. It will
  78. add a few new items to your start menu, so you should not use a program group
  79. that already exists.
  80. If you want to uninstall TIGCC, you can do this at any time from either the
  81. start menu or the control panel. Please be aware that this will remove the
  82. whole folder in which the program was installed, not only the files which
  83. were installed by the setup program.
  84. If you experience any problems installing TIGCC, or running it after it has
  85. been installed, please use the bug report form on tigcc.ticalc.org.
  86. 4. The Library
  87. --------------
  88. The library included in this release of TIGCC is a collection of over 750
  89. functions. With this library, it is possible to create kernel-free (so-called
  90. "nostub") programs as well as programs that make use of kernel features. A
  91. very detailed documentation in HTML Help format is included, in which more
  92. than 600 TIOS entries are described in detail. This documentation may be very
  93. valuable for assembly programmers too. To read the documentation, open
  94. 'tigcc.chm', located in the 'Doc' folder, or click on the appropriate item in
  95. the start menu.
  96. 5. The Command Line Compiler
  97. ----------------------------
  98. The following paragraphs apply only to the command line compiler. If you want
  99. to use the IDE instead, you do not need to worry about these topics.
  100. The command line compiler (tigcc.exe) works almost the same way that the
  101. standard gcc.exe does. Aside from accepting .asm files as parameters and
  102. calling the a68k assembler to compile them, it also supports a few
  103. non-standard options:
  104. -pack <varname>
  105. Compress the file generated during compilation. 'varname' is the name of
  106. the on-calc packed variable. Although 'varname' cannot have an extension,
  107. the variable on the calculator will always have the extension 'ppg'.
  108. 'varname' cannot be the same as the on-calc name of the program itself.
  109. When you use this switch, two variables will be created; one with the
  110. extension '.89y' or '.9xy', and one '.89z' or '.9xz' variable.
  111. This option comes from Thomas Nussbaumer's (thomas.nussbaumer@gmx.net)
  112. excellent TIGCC Tools Suite, where this feature is called "ExePack
  113. Technology." You can read about it on the official TI-Chess Team site
  114. (tict.ticalc.org).
  115. -q
  116. Keep as quiet as possible while assembling and linking. This option is not
  117. needed by the compiler because it is always quiet, but the linker and
  118. especially the assembler output some information.
  119. -v0
  120. This switch is an addition to the '-v' switch. It tells tigcc.exe to output
  121. only the commands that are run directly. This was the default in some
  122. previous releases.
  123. -g
  124. The '-g' switch in GCC turns on debugging information in the preferred
  125. format for the target. In TIGCC, this is DWARF 2, which can be used with a
  126. GDB-enabled TiEmu.
  127. -standalone
  128. Do not link against tigcc.a. All of GCC's internal functions are
  129. implemented in this library, as well as all non-TIOS functions. Using one
  130. of these will result in an error from the linker.
  131. -ar
  132. Create an archive (a static library) instead of a program. The resulting
  133. file will have a '.a' ending.
  134. -bsr
  135. This option is ignored for compatibility.
  136. For more info about standard options that are recognized by the compiler,
  137. have a look at the TIGCC Documentation, or visit
  138. http://gcc.gnu.org/onlinedocs/gcc_3.html.
  139. In addition, you can use '-WA,...' instead of '-Wa,...' to pass options to
  140. the A68k assembler.
  141. We suggest that you use the '-O2' or '-Os' switch in all your compilations;
  142. it increases speed and decreases the program size at the cost of compilation
  143. time.
  144. There is an important difference to the standard gcc.exe: tigcc.exe always
  145. overwrites assembly or object files. For example, if a file 'test.c' is
  146. compiled, the files 'test.s' and 'test.o' will be created and overwritten if
  147. necessary, but they will automatically be deleted again if neither '-c' or
  148. '-S' nor '-g' are specified.
  149. 6. The IDE
  150. ----------
  151. Documentation of the IDE is included in the manual and will be installed by
  152. the setup program. You can access it from the start menu or from the IDE
  153. itself.
  154. 7. Examples
  155. -----------
  156. There are some examples made by Zeljko Juric in the folder "Examples". You
  157. can compile and modify them to learn how to use TIGCC. Most of them can also
  158. be found at some place in the documentation, with explanations and in some
  159. sort of context.
  160. 8. Missing Features
  161. -------------------
  162. There are still some restrictions:
  163. - The library is very advanced, but not totally finished yet.
  164. - There is still no C debugger.
  165. 9. Bug Reports
  166. --------------
  167. There may still be some bugs in the linker, in tigcc.exe, and in the IDE. If
  168. you encounter a bug, please use the bug report form on tigcc.ticalc.org.
  169. 10. History
  170. -----------
  171. See http://tigcc.ticalc.org/doc/info.html#history