= Introduction =
Cross development is a development method where you use another machine (the host) to develop programs for the CPC (target). This is interesting because you can make a big program wich sourcecode does not even fit on the CPC ram.
Once you have your binary file you have two choices depending on if the game will be for cassette or disc.
= Tools needed for cross development=
== Linux ==
=== Cross assemblers ===
* [[SjasmPlus]]* [[Sjasm|sjasm]]
* [[ZMac]]
=== Disc management ===
* [[CPCTools]]* [[Cpcfs|cpcfs]] / [[Cpcxfs|cpcxfs]]* [[Dsktools|dsktools]]
== Windows ==
=== Cross Assemblers ===
*[[Tasm|tasm]]*[[Pasmo]]*[[ZMac]]*[http://little-bat.de/prog/ zasm]*[[WinApe]]'s built in assembler
== Testing on a real CPC ==
* Then you can run the program on the emulator the same way as you would run it on a real CPC, or
* Connect your CPC (CPC664 and CPC6128 have a cassette input) to the Line-Out output of your PC soundcard
* On the CPC type:
|TAPE:RUN"
* Start your WAV player
* Set the volume to maximum
If your CPC has a 3.5" disc drive then the easiest method is to transfer the DSK to a 3.5" disc using the PC.
- Then use CPCDiskXP to write the DSK to a 3.5" disc drive- Put the disc into your CPC's 3.5" disc drive and type- |B: RUN "<<gamename>>
== Snapshots ==
The fastest way of testing your code on an emulator is by creating a snapshot. Use [[CPCSnapshot]] to insert your assembled code into a snapshot file. Then just load the snapshot file into the emulator. Windows users may also try WinAPE's integrated assembler which assembles the code directly into the emulated CPC's memory.
== Web links ==