1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-17 00:29:31 +00:00

Additions/improvements by CyberX

git-svn-id: svn://svn.cc65.org/cc65/trunk@1330 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2002-07-01 20:17:06 +00:00
parent 2922461175
commit e9d22aab3e

View File

@ -3,8 +3,8 @@
<article>
<title>cc65 compiler intro
<author>Ullrich von Bassewitz, <htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org">
<date>03.12.2000
<author>Ullrich von Bassewitz, <htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org"> and CyberX
<date>06.13.2002
<abstract>
How to use the cc65 C compiler - an introduction.
@ -17,16 +17,31 @@ How to use the cc65 C compiler - an introduction.
<sect>Overview<p>
This is a short intro, how to use the compiler and the binutils. It contains a
step-by-step example, how to build a complete application from one C and one
This is a short intro of how to use the compiler and the binutils. It contains a
step-by-step example of how to build a complete application from one C and one
assembler module. This file does <em/not/ contain a complete reference for the
tools used in the process. There are separate files describing these tools in
detail.
You are assumed to have downloaded and extracted the executables and the
target specific files. For example, for Windows users targeting C64, you need
cc65-win32-2.8.0.zip and cc65-c64-2.8.0.zip extracted to the same directory.
If you received the files as a bzip2 archive (extension *.bz2), you will need
to get the <htmlurl url="http://sources.redhat.com/bzip2/#bzip2-latest"
name="bzip2 package"> to decompress it.
<bf>Note</bf>: There is a much simpler way to compile this example using the
cl65 compiler and link utility. However, it makes sense to understand how the
separate steps work. How to do the example with the cl65 utility is described
<ref id="using-cl65" name="below">.
<ref id="using-cl65" name="later">.
<sect1>Before we start<p>
You will find a copy of the sample modules used in the next section in the
samples/tutorial directory. Windows users will also find a small batch file in
this directory named "cc65setup.bat". Be sure to examine and understand the
commands in this file, then adjust them for your setup, and execute the file.
<sect1>The sample modules<p>
@ -194,7 +209,7 @@ example.
To compile both files into one executable enter
<tscreen><verb>
cl65 -O -I ../include hello.c test.s
cl65 -O -I ../include hello.c text.s
</verb></tscreen>
(The <tt/-I/ switch is not needed if you are working under Linux with the
@ -215,6 +230,104 @@ current directory.
For more information about the compile &amp; link utility see <htmlurl
url="cl65.html" name="cl65.html">.
<sect>Running The Executable<p>
<bf>Note: this section is incomplete!</bf>
Depending on the target, the compiler chooses several methods of making a
program available for execution. Here we list sample emulators and
instructions for running the program. Unless noted, similar instructions
would also apply to a real machine.
<sect1>Apple<p>
<bf>AppleWin 1.10.4</bf>: Emulates Apple II+/IIe computer, with sound, video,
joysticks, serial port, and disk images. Roms and dos disk included. Includes
monitor. Only for Windows. Unfortunately we were unable to find documentation
on running programs. Please help.
<sect1>Atari<p>
<bf>Atari800Win Plus 3.0</bf> (available at
<url url="http://www.a800win.atari-area.prv.pl">): Emulates Atari
400/800/65XE/130XE/800XL/1200XL/5200, with stereo sound, disk images, scanline
exact NTSC/PAL video, joysticks, mouse, cartridges and ram expansions.
Includes monitor. Unfortunately only for Windows. You will need the emulator
only. Optionally you will need atarixl.rom and/or atariosb.rom/ataribas.rom
and dos25.xfd files (not supplied).
Compile the tutorial with
<tscreen><verb>
cl65 -O -t atari hello.c text.s
</verb></tscreen>
Start the emulator, choose File>Autoboot image or File>Load executable, and point
to the hello executable. It is customary to rename executables of this type to
hello.xex. The file has a 7 byte header meant to be loaded directly from Atari
DOS 2/2.5 or compatibles.
On a real Atari, you would need a disk drive and Atari Dos 2.5 or compatible.
Turn on the computer, type
<tscreen><verb>
DOS
</verb></tscreen>
at the basic prompt, then choose N. CREATE MEM.SAV then choose L. BINARY LOAD
and enter HELLO.
The emulation also supports this method. Look at Atari>Settings and check
Enable H: Patch for Hard Disk Devices, then Atari>Hard disks and set the path
of H1: to your executables directory, then use H0:HELLO.XEX in the above
proceedure to access your hardrive directly.
<bf>Note:</bf> There is no delay after the program exits. Your C program
should wait for a keypress if you want to see any output.
<sect1>Commodore<p>
<bf>Vice 1.9</bf> (available at
<url url="ftp://ftp.funet.fi/pub/cbm/crossplatform/emulators/VICE/">):
Emulates Commodore 64/128/Vic 20/PET/CBM II computers. Missing is the Plus/4
and Commodore 16. Supports printer, serial port, stereo sound, disk drives and
images, ram expansions, cartridges, cycle exact NTSC/PAL video, mice,
joysticks. Includes monitor. Runs on Win9x/NT/2000/XP/ME/OS2/MSDOS, Beos x86,
Acorn RISC OS, and many Unixes.
Start the desired version of the emulator, choose File>Autoboot disk/tape
image, and choose your executable. The file has a 14 byte header which
corresponds to a PRG format BASIC program, consisting of a single line;
<tscreen><code>
1000 sys2061
</code></tscreen>
On a real Commodore with attached disk drive, you would type:
<tscreen><verb>
LOAD "HELLO",8
</verb></tscreen>
for Vic 20/C64, or
<tscreen><verb>
DLOAD "0:HELLO"
</verb></tscreen>
on PET/CBM II/C128, then type
<tscreen><verb>
RUN
</verb></tscreen>
We need your help! Recommended emulators and instructions for other machines
are missing. We suggest an emulator with good compatibility. Also, being able
to run all computers in the target series is good for target compatibility
testing. A machine language monitor is almost essential for debugging, but a
native debugger could be used as well.
Finally, emulators which run on Unix/Windows would help reach a wider audience.
</article>