Readme.txt 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. TIGCC Cross Compiler for the TI-89 and TI-92 Plus v0.96 Beta 8
  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-2006 Sebastian Reichelt and Kevin Kofler
  31. Library & Documentation Copyright (C) 2000-2006 Zeljko Juric and contributors
  32. IDE Copyright (C) 2000-2006 Sebastian Reichelt and contributors
  33. TIGCC Tools Suite Copyright (C) 2000-2004 Thomas Nussbaumer
  34. (http://tict.ticalc.org/)
  35. Included programs with different licenses:
  36. A68k Copyright (C) 1987-2005 Charlie Gibbs, David Ellsworth, Kevin Kofler,
  37. Julien Muchembled, and Paul Froissart
  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. Some components (TIGCCLIB, ttpack, pstarter) have additional permissions
  53. beyond the GPL.
  54. A different license applies to A68k.
  55. Official Release: http://www.ticalc.org/pub/win/asm/tigcc.zip
  56. Source Code: http://www.ticalc.org/pub/win/asm/tigccsrc.zip
  57. Beta Version: http://tigcc.ticalc.org/beta/tigcc.zip
  58. Source Code: http://tigcc.ticalc.org/beta/tigccsrc.zip
  59. 2. About TIGCC
  60. --------------
  61. TIGCC is our attempt to make it possible to program in C for the TI-89 and
  62. TI-92 Plus. To do this we originally recompiled a version of GCC-M68k (which
  63. was found at http://fiddes.net/coldfire/) to make it work with the C calling
  64. convention used by TI's compiler. Much later, this was replaced by the
  65. original GCC found at http://www.cygwin.com. Then we wrote a linker to make
  66. it produce .89z or .9xz files. And since we also wanted to allow the use of
  67. assembly, we programmed it so that you can use the .asm files and compile
  68. them with a68k. Finally we wrote tigcc.exe, a program which will
  69. automatically call the necessary programs to compile everything you specify
  70. in the command line. Additional items, such as the TIGCC Library and the IDE,
  71. have been added to TIGCC over time. The most recent important change is the
  72. addition of native floating point support, which was made possible by
  73. recompiling GCC again.
  74. Please check out tigcc.ticalc.org, the official TIGCC site, for more
  75. information.
  76. 3. Installation
  77. ---------------
  78. In the ZIP file containing TIGCC, you will find a program called 'Setup.exe'.
  79. Run this program and follow the instructions of the setup program. It will
  80. add a few new items to your start menu, so you should not use a program group
  81. that already exists.
  82. If you want to uninstall TIGCC, you can do this at any time from either the
  83. start menu or the control panel. Please be aware that this will remove the
  84. whole folder in which the program was installed, not only the files which
  85. were installed by the setup program.
  86. If you experience any problems installing TIGCC, or running it after it has
  87. been installed, please use the bug report form on tigcc.ticalc.org.
  88. 4. The Library
  89. --------------
  90. The library included in this release of TIGCC is a collection of over 750
  91. functions. With this library, it is possible to create kernel-free (so-called
  92. "nostub") programs as well as programs that make use of kernel features. A
  93. very detailed documentation in HTML Help format is included, in which more
  94. than 600 TIOS entries are described in detail. This documentation may be very
  95. valuable for assembly programmers too. To read the documentation, open
  96. 'tigcc.chm', located in the 'Doc' folder, or click on the appropriate item in
  97. the start menu.
  98. 5. The Command Line Compiler
  99. ----------------------------
  100. The following paragraphs apply only to the command line compiler. If you want
  101. to use the IDE instead, you do not need to worry about these topics.
  102. The command line compiler (tigcc.exe) works almost the same way that the
  103. standard gcc.exe does. Aside from accepting .asm files as parameters and
  104. calling the a68k assembler to compile them, it also supports a few
  105. non-standard options:
  106. -pack <varname>
  107. Compress the file generated during compilation. 'varname' is the name of
  108. the on-calc packed variable. Although 'varname' cannot have an extension,
  109. the variable on the calculator will always have the extension 'ppg'.
  110. 'varname' cannot be the same as the on-calc name of the program itself.
  111. When you use this switch, two variables will be created; one with the
  112. extension '.89y' or '.9xy', and one '.89z' or '.9xz' variable.
  113. This option comes from Thomas Nussbaumer's (thomas.nussbaumer@gmx.net)
  114. excellent TIGCC Tools Suite, where this feature is called "ExePack
  115. Technology." You can read about it on the official TI-Chess Team site
  116. (tict.ticalc.org).
  117. -q
  118. Keep as quiet as possible while assembling and linking. This option is not
  119. needed by the compiler because it is always quiet, but the linker and
  120. especially the assembler output some information.
  121. -v0
  122. This switch is an addition to the '-v' switch. It tells tigcc.exe to output
  123. only the commands that are run directly. This was the default in some
  124. previous releases.
  125. -g
  126. The '-g' switch in GCC turns on debugging information in the preferred
  127. format for the target. In TIGCC, this is DWARF 2, which can be used with a
  128. GDB-enabled TiEmu.
  129. -standalone
  130. Do not link against tigcc.a. All of GCC's internal functions are
  131. implemented in this library, as well as all non-TIOS functions. Using one
  132. of these will result in an error from the linker.
  133. -ar
  134. Create an archive (a static library) instead of a program. The resulting
  135. file will have a '.a' ending.
  136. -bsr
  137. This option is ignored for compatibility.
  138. For more info about standard options that are recognized by the compiler,
  139. have a look at the TIGCC Documentation, or visit
  140. http://gcc.gnu.org/onlinedocs/gcc_3.html.
  141. In addition, you can use '-WA,...' instead of '-Wa,...' to pass options to
  142. the A68k assembler.
  143. We suggest that you use the '-O2' or '-Os' switch in all your compilations;
  144. it increases speed and decreases the program size at the cost of compilation
  145. time.
  146. There is an important difference to the standard gcc.exe: tigcc.exe always
  147. overwrites assembly or object files. For example, if a file 'test.c' is
  148. compiled, the files 'test.s' and 'test.o' will be created and overwritten if
  149. necessary, but they will automatically be deleted again if neither '-c' or
  150. '-S' nor '-g' are specified.
  151. 6. The IDE
  152. ----------
  153. Documentation of the IDE is included in the manual and will be installed by
  154. the setup program. You can access it from the start menu or from the IDE
  155. itself.
  156. 7. Examples
  157. -----------
  158. There are some examples made by Zeljko Juric in the folder "Examples". You
  159. can compile and modify them to learn how to use TIGCC. Most of them can also
  160. be found at some place in the documentation, with explanations and in some
  161. sort of context.
  162. 8. Bug Reports
  163. --------------
  164. There may still be some bugs in the linker, in tigcc.exe, and in the IDE. If
  165. you encounter a bug, please use the bug report form on tigcc.ticalc.org.
  166. 9. History
  167. -----------
  168. See http://tigcc.ticalc.org/doc/info.html#history