<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://oldwiki.cpcwiki.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nitrofurano</id>
		<title>CPCWiki - THE Amstrad CPC encyclopedia! - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://oldwiki.cpcwiki.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nitrofurano"/>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php/Special:Contributions/Nitrofurano"/>
		<updated>2026-08-28T16:36:32Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ZXBasic&amp;diff=95437</id>
		<title>ZXBasic</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ZXBasic&amp;diff=95437"/>
				<updated>2016-03-25T12:04:27Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
'''ZX BASIC''' is a BASIC cross compiler. It will compile BASIC programs (in your PC) for your ZX Spectrum. ZX BASIC is an SDKentirely written in python. The SDK is implemented using the PLY (Python Lex/Yacc) compiler tool. It translates BASIC to Z80 assembler code, so it is easily portable to other Z80 platforms (Amstrad, MSX). Other non Z80 targets could also be available in the future. ZX BASIC syntax tries to maintain compatibility as much as possible with Sinclair BASIC, it also have many new features, mostly taken from FreeBASIC dialect. With some patching/scripting, the binary results from this cross-compiler can be, in most cases, easily adapted to run on all other z80-based hardware than ZX Spectrum only (Amstrad CPC included!).&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Allows use of inline-assembly and libraries&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZXBasic Official wikipage]&lt;br /&gt;
&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_AmstradCPC CPC examples (GX-4000 rom files for now, all with sources)]&lt;br /&gt;
&lt;br /&gt;
[[Category:CrossDev]]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ZXBasic&amp;diff=95436</id>
		<title>ZXBasic</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ZXBasic&amp;diff=95436"/>
				<updated>2016-03-25T12:03:36Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: improving a bit with more info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
'''ZX BASIC''' is a BASIC cross compiler. It will compile BASIC programs (in your PC) for your ZX Spectrum. ZX BASIC is an SDKentirely written in python. The SDK is implemented using the PLY (Python Lex/Yacc) compiler tool. It translates BASIC to Z80 assembler code, so it is easily portable to other Z80 platforms (Amstrad, MSX). Other non Z80 targets could also be available in the future.ZX BASIC syntax tries to maintain compatibility as much as possible with Sinclair BASIC, it also have many new features, mostly taken from FreeBASIC dialect. With some patching/scripting, the binary results from this cross-compiler can be, in most cases, easily adapted to run on all other z80-based hardware than ZX Spectrum only (Amstrad CPC included!).&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Allows use of inline-assembly and libraries&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZXBasic Official wikipage]&lt;br /&gt;
&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_AmstradCPC CPC examples (GX-4000 rom files for now, all with sources)]&lt;br /&gt;
&lt;br /&gt;
[[Category:CrossDev]]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95435</id>
		<title>Boriel’s ZX-Basic Compiler</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95435"/>
				<updated>2016-03-25T11:53:13Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: 4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
'''Boriel’s ZX-Basic Compiler''' was designed for ZX-Spectrum, but it is extremely flexible for targeting all other z80-based machines, CPC included.&lt;br /&gt;
&lt;br /&gt;
This cross compiler is all made in Python, and runs on almost all known operating systems available (GNU/Linux, OSX, BSD, Haiku, MS-Windows, etc.)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
It allows inline-assembly, libraries, etc.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZXBasic official wikipage]&lt;br /&gt;
&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_AmstradCPC CPC examples (GX-4000 rom files only for now, examples with sources)]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95434</id>
		<title>Boriel’s ZX-Basic Compiler</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95434"/>
				<updated>2016-03-25T11:51:25Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: 3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
Boriel’s ZX-Basic Compiler was designed for ZX-Spectrum, but it is extremely flexible for targeting all other z80-based machines, CPC included.&lt;br /&gt;
&lt;br /&gt;
This cross compiler is all made in Python, and runs on almost all known operating systems available (GNU/Linux, OSX, BSD, Haiku, MS-Windows, etc.)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
It allows inline-assembly, libraries, etc.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZXBasic official wikipage]&lt;br /&gt;
&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_AmstradCPC CPC examples (GX-4000 rom files only for now, examples with sources)]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95433</id>
		<title>Boriel’s ZX-Basic Compiler</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95433"/>
				<updated>2016-03-25T11:50:50Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
Boriel’s ZX-Basic Compiler was designed for ZX-Spectrum, but it is extremely flexible for targeting all other z80-based machines, CPC included.&lt;br /&gt;
&lt;br /&gt;
This cross compiler is all made in Python, and runs on almost all known operating systems available (GNU/Linux, OSX, BSD, Haiku, MS-Windows, etc.)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
It allows inline-assembly, libraries, etc.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZXBasic official wikipage]&lt;br /&gt;
&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_AmstradCPC CPC examples(GX-4000 rom files only for now, examples with sources)]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95432</id>
		<title>Boriel’s ZX-Basic Compiler</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95432"/>
				<updated>2016-03-25T11:49:59Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
Boriel’s ZX-Basic Compiler was designed for ZX-Spectrum, but it is extremely flexible for targeting all other z80-based machines, CPC included.&lt;br /&gt;
&lt;br /&gt;
This cross compiler is all made in Python, and runs on almost all known operating systems available (GNU/Linux, OSX, BSD, Haiku, MS-Windows, etc.)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
It allows inline-assembly, libraries, etc.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZXBasic official wikipage]&lt;br /&gt;
&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_AmstradCPC CPC examples(GX-4000 rom files only for now)]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95431</id>
		<title>Boriel’s ZX-Basic Compiler</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Boriel%E2%80%99s_ZX-Basic_Compiler&amp;diff=95431"/>
				<updated>2016-03-25T11:49:35Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: Boriel’s ZX-Basic Compiler might be the neatest cross-compiler for CPC - adding entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
Boriel’s ZX-Basic Compiler was designed for ZX-Spectrum, but it is extremely flexible for targeting all other z80-based machines, CPC included.&lt;br /&gt;
&lt;br /&gt;
This cross compiler is all made in Python, and runs on almost all known operating systems available (GNU/Linux, OSX, BSD, Haiku, MS-Windows, etc.)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
It allows inline-assembly, libraries, etc.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZXBasic official wikipage]&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_AmstradCPC CPC examples(GX-4000 rom files only for now)]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming_software&amp;diff=95430</id>
		<title>Programming software</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming_software&amp;diff=95430"/>
				<updated>2016-03-25T11:43:45Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: Boriel’s ZX-Basic Compiler might be the neatest cross-compiler for CPC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Compilers &amp;amp; Interpreters ==&lt;br /&gt;
&lt;br /&gt;
=== Assemblers ===&lt;br /&gt;
&lt;br /&gt;
* [[ADAM]] ([[Audiogenic Software Ltd.]])&lt;br /&gt;
* [[DAMS]] ([[Micro Application]])&lt;br /&gt;
* [[Hisoft Devpac]] (Gena/Mona) ([[Amsoft]]/[[Hisoft]])&lt;br /&gt;
* [[Hisoft Devpac 80]] ([[Hisoft]])&lt;br /&gt;
* [[KIO-Fox-Assembler]] ([[Günter Woigk]])&lt;br /&gt;
* [[Laser Genius]] ([[Ocean|Ocean IQ]]/Oasis Software)&lt;br /&gt;
* [[Maxam]] ([[Arnor]])&lt;br /&gt;
* [[Maxam 1.5]] ([[Arnor]])&lt;br /&gt;
* [[Maxam 2|Maxam II]] ([[Arnor]])&lt;br /&gt;
* [[MS MACRO]] ([[Microsoft]])&lt;br /&gt;
* [[Pasmo]] ([[Julian Albo]])&lt;br /&gt;
* [[Pyradev]] ([[Discovery Software]])&lt;br /&gt;
* [[SjasmPlus]]&lt;br /&gt;
* [[Star-Mon]] ([[Star-Division]])&lt;br /&gt;
* [[Turbo Ass|Turbo Ass (TASS)]] ([[Exodus]])&lt;br /&gt;
* [[Zapp]] (Hewson Consultants)&lt;br /&gt;
* [[Zedis II]] ([[Pride Utilities]]/[[Indescomp|Microbyte]])&lt;br /&gt;
* [[Zen]] ([[Kuma_Computers|Kuma Computers]])&lt;br /&gt;
* [[ZSM]] ([[CP/M UG UK]])&lt;br /&gt;
&lt;br /&gt;
=== Basic ===&lt;br /&gt;
&lt;br /&gt;
* [[BASIC-E]]&lt;br /&gt;
* [[BBC Basic]]&lt;br /&gt;
* [[Boriel’s ZX-Basic Compiler]]&lt;br /&gt;
* [[C BASIC Compiler|CBASIC Compiler]] ([[Digital_Research|Digital Research]])&lt;br /&gt;
* [[CPC Basic]]&lt;br /&gt;
* [[Fabacom (FAst BAsic COMpiler)]] ([[DMV|DMV Software]])&lt;br /&gt;
* [[Laser Basic]] ([[Ocean|Ocean IQ]]/Oasis Software)&lt;br /&gt;
* [[Laser BASIC Compiler|Laser Compiler]] ([[Ocean|Ocean IQ]]/Oasis Software)&lt;br /&gt;
* [[Locomotive BASIC]]&lt;br /&gt;
* [[Mallard BASIC]]&lt;br /&gt;
* [[MBASIC Compiler]] ([[Microsoft]])&lt;br /&gt;
* [[MBASIC Interpreter]] ([[Microsoft]])&lt;br /&gt;
* [[Nevada BASIC]] (Ellis Computing)&lt;br /&gt;
* [[Hisoft Turbo Basic]] ([[Hisoft]])&lt;br /&gt;
* [[ZBasic]]&lt;br /&gt;
&lt;br /&gt;
=== BCPL ===&lt;br /&gt;
&lt;br /&gt;
* [[BCPL]] ([[Arnor]])&lt;br /&gt;
&lt;br /&gt;
=== C ===&lt;br /&gt;
&lt;br /&gt;
* [[Arnor C]] ([[Arnor]]/[[WACCO]])&lt;br /&gt;
* [[Aztec C]] (Manx)&lt;br /&gt;
* [[BDS C]] (Brain Damage Software)&lt;br /&gt;
* [[C/80]] (Software Toolworks)&lt;br /&gt;
* [[FIOLIB]] (not a C language per se, but the IO-LIB and environment for FutureOS)&lt;br /&gt;
* [[HiSoft C|Hisoft C]] ([[Hisoft]])&lt;br /&gt;
* [[Hi-Tech C compiler]]&lt;br /&gt;
* [[MESCC]] (FloppySoftware)&lt;br /&gt;
* [[MI-C]] (Herbert Rose)&lt;br /&gt;
* [[Mix C Compiler]] (Mix Software)&lt;br /&gt;
* [[SDCC]]&lt;br /&gt;
* [[Small C]] (Ron Cain)&lt;br /&gt;
* [[Whitesmiths C]] (Whitesmiths, Ltd.)&lt;br /&gt;
* [[ZCC]] (Ken Yap)&lt;br /&gt;
* [[Z88DK]]&lt;br /&gt;
&lt;br /&gt;
=== CC ===&lt;br /&gt;
&lt;br /&gt;
* [[ccz80]]&lt;br /&gt;
&lt;br /&gt;
=== Cobol ===&lt;br /&gt;
&lt;br /&gt;
* [[MS COBOL Compiler]] ([[Microsoft]])&lt;br /&gt;
* [[Nevada Cobol]] ([[Hisoft]]/Ellis Computing)&lt;br /&gt;
&lt;br /&gt;
=== Comal ===&lt;br /&gt;
&lt;br /&gt;
* [[Comal]]&lt;br /&gt;
* [[Comal80]]&lt;br /&gt;
&lt;br /&gt;
=== Forth ===&lt;br /&gt;
&lt;br /&gt;
* [[cpcForth]] (Forth-Systeme A. Flesch)&lt;br /&gt;
* [[CPC-Forth]] (Holtkötter)&lt;br /&gt;
* [[Fig-Forth (Amsoft)|Fig-Forth]] ([[Amsoft]]/Abersoft)&lt;br /&gt;
* [[Fig-Forth]] ([[Interceptor Software]])&lt;br /&gt;
* [[Forth]] ([[Amsoft]]/[[Indescomp]])&lt;br /&gt;
* [[Hisoft Forth]] ([[Hisoft]])&lt;br /&gt;
* [[Kuma Forth]] ([[Kuma_Computers|Kuma Computers]])&lt;br /&gt;
* [http://volksforth.sourceforge.net/ VolksForth]&lt;br /&gt;
&lt;br /&gt;
=== Fortran ===&lt;br /&gt;
&lt;br /&gt;
* [[MS FORTRAN Compiler]] ([[Microsoft]])&lt;br /&gt;
* [[Nevada FORTRAN]] (Ellis Computing)&lt;br /&gt;
* [[Pro FORTRAN]] (Prospero Software)&lt;br /&gt;
&lt;br /&gt;
=== Pascal ===&lt;br /&gt;
&lt;br /&gt;
* [[Compas]] (Poly-Data)&lt;br /&gt;
* [[Hisoft Pascal 4T]] ([[Amsoft]]/[[Hisoft]])&lt;br /&gt;
* [[Hisoft Pascal 80]] ([[Hisoft]])&lt;br /&gt;
* [[Nevada Pascal]] / JRT Pascal (Ellis Computing)&lt;br /&gt;
* [[Pascal MT|Pascal MT+]] ([[Digital_Research|Digital Research]])&lt;br /&gt;
* [[Poly Pascal]]&lt;br /&gt;
* [[Turbo Pascal]] (Borland)&lt;br /&gt;
&lt;br /&gt;
=== Lisp ===&lt;br /&gt;
&lt;br /&gt;
* [[Hisoft Lisp]] ([[Hisoft]])&lt;br /&gt;
* [[XLISP]] ([[PD libraries|Public Domain]] by David Betz)&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
&lt;br /&gt;
* [[Logo]] ([[Kuma_Computers|Kuma Computers]])&lt;br /&gt;
* [[DR Logo]] ([[Digital Research]])&lt;br /&gt;
&lt;br /&gt;
=== Modula-2 ===&lt;br /&gt;
* [[Hisoft FTL Modula-2]] ([[Hisoft]])&lt;br /&gt;
* [[Turbo Modula-2]] (Borland)&lt;br /&gt;
* [[Modula-2 System for Z80 CP/M]] (Hochstrasser)&lt;br /&gt;
&lt;br /&gt;
=== Pilot ===&lt;br /&gt;
* [[Nevada PILOT]] (Ellis Computing)&lt;br /&gt;
&lt;br /&gt;
=== Prolog ===&lt;br /&gt;
* [[E-Prolog]] ([[PD libraries|Public Domain]])&lt;br /&gt;
&lt;br /&gt;
== Hacking ==&lt;br /&gt;
&lt;br /&gt;
=== Multiface Tools ===&lt;br /&gt;
&lt;br /&gt;
* [[Comparator]] ([[Verysoft]])&lt;br /&gt;
* [[Gripper]] ([[Verysoft]])&lt;br /&gt;
* [[Soundhakker]] ([[The Equalizor]])&lt;br /&gt;
* [[Tearaway]] ([[CPC Network]])&lt;br /&gt;
* [[The Insider]] ([[Romantic Robot]])&lt;br /&gt;
* [[TUSS (The Ultimate Sprite Searcher)]] ([[Sentinel Software]])&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
* [[AntiMultiface]]&lt;br /&gt;
* [[ERE Hacking Tools]] ([[GPA]])&lt;br /&gt;
* [[Firebird loader toolkit]] ([[GPA]])&lt;br /&gt;
* [[FutureOS Monitor]] ([[TFM]])&lt;br /&gt;
* [[KBI Cracker]]&lt;br /&gt;
* [[Hackit|Hackit / Le Hacker]] (ROM) ([[Siren Software]])  &lt;br /&gt;
* [[Loriciel to Disk]] ([[GPA]])&lt;br /&gt;
* [[Master toolkit]]&lt;br /&gt;
* [[Mastertronic to Disk]] ([[GPA]])&lt;br /&gt;
* [[Runstrad decoder 1990]] ([[GPA]])&lt;br /&gt;
* [[Soft-Lok]] ([[STS]])&lt;br /&gt;
&lt;br /&gt;
== Integrated Development Environment ==&lt;br /&gt;
&lt;br /&gt;
* [[SymStudio]]&lt;br /&gt;
* [[TommyGun]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
* [[B-ASIC]] ([[Logon System]])&lt;br /&gt;
* [[CPCIOLIB]] (Juergen Weber)&lt;br /&gt;
* [[CPCRSlib]] (Artaburu)&lt;br /&gt;
* [[CPCtelera]] (ronaldo)&lt;br /&gt;
* [[Crocolib]] (Arnaudstorq)&lt;br /&gt;
* [[FIOLIB]] ([[TFM]])&lt;br /&gt;
* [[Net Library]]&lt;br /&gt;
&lt;br /&gt;
== Utilities  ==&lt;br /&gt;
&lt;br /&gt;
*[[DamsConverter|DamsConverter]] ([[POW|POW]]) &lt;br /&gt;
*[[Kwikref/x|Kwikref/x]] ([[Parimgold|Parimgold]])&lt;br /&gt;
*[[SuperMonitor|SuperMonitor]] ([[Crown|Crown]]) &lt;br /&gt;
*[[TurboSuperMonitor|TurboSuperMonitor]] ([[POW|POW]]) &lt;br /&gt;
*[[XBDS|XBDS]] ([[DMV|DMV]])&amp;lt;span class=&amp;quot;Apple-style-span&amp;quot; style=&amp;quot;color: rgb(0, 43, 184); text-decoration: underline;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming_software]] [[Category:Applications]] [[Category:CrossDev]]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ZXBasic&amp;diff=90522</id>
		<title>ZXBasic</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ZXBasic&amp;diff=90522"/>
				<updated>2014-08-18T19:40:28Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: zxbasic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
&lt;br /&gt;
ZX BASIC is a BASIC cross compiler. It will compile BASIC programs (in your PC) for your ZX Spectrum. ZX BASIC is an SDKentirely written in python. The SDK is implemented using the PLY (Python Lex/Yacc) compiler tool. It translates BASIC to Z80 assembler code, so it is easily portable to other Z80 platforms (Amstrad, MSX). Other non Z80 targets could also be available in the future.ZX BASIC syntax tries to maintain compatibility as much as possible with Sinclair BASIC, it also have many new features, mostly taken from FreeBASIC dialect.With some patching/scripting, the binary results from this cross-compiler can be, in most cases, easily adapted to run on all other z80-based hardware than ZX Spectrum only (Amstrad CPC included!)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZXBasic http://www.boriel.com/wiki/en/index.php/ZXBasic]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=ZXBasic&amp;diff=90521</id>
		<title>ZXBasic</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=ZXBasic&amp;diff=90521"/>
				<updated>2014-08-18T19:40:01Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: zxbasic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==ZX BASIC is a BASIC cross compiler. It will compile BASIC programs (in your PC) for your ZX Spectrum. ZX BASIC is an SDKentirely written in python. The SDK is implemented using the PLY (Python Lex/Yacc) compiler tool. It translates BASIC to Z80 assembler code, so it is easily portable to other Z80 platforms (Amstrad, MSX). Other non Z80 targets could also be available in the future.ZX BASIC syntax tries to maintain compatibility as much as possible with Sinclair BASIC, it also have many new features, mostly taken from FreeBASIC dialect.With some patching/scripting, the binary results from this cross-compiler can be, in most cases, easily adapted to run on all other z80-based hardware than ZX Spectrum only (Amstrad CPC included!)== Features ==== Links ==&lt;br /&gt;
[http://www.boriel.com/wiki/en/index.php/ZXBasic http://www.boriel.com/wiki/en/index.php/ZXBasic]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Pasmo&amp;diff=90520</id>
		<title>Pasmo</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Pasmo&amp;diff=90520"/>
				<updated>2014-08-18T19:36:09Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: pasmo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Pasmo is a Z80 cross assembler, written in standard C++ that compiles easily in multiple platforms. Actually can generate object code in the following formats: raw binary, Intel HEX, PRL for CP/M Plus RSX, Plus3Dos (Spectrum +3 disk), TAP, TZX and CDT (Spectrum and Amstrad CPC emulators tape images), AmsDos (Amstrad CPC disk) and MSX (for use with BLOAD from disk in Basic).&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[http://pasmo.speccy.org/ http://pasmo.speccy.org/]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Cross_Development&amp;diff=90519</id>
		<title>Programming:Cross Development</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Cross_Development&amp;diff=90519"/>
				<updated>2014-08-18T19:33:21Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: zxbasic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
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 which sourcecode does not even fit on the CPC ram.&lt;br /&gt;
&lt;br /&gt;
The main drawback is that transferring the compiled code to the CPC can be quite difficult. But there are pretty good emulators which you can use for testing.&lt;br /&gt;
&lt;br /&gt;
Once you have your binary file you have two choices depending on if the game will be for [[Datacorder|cassette]] or [[Disk drives|disc]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Atari|Atari ST]] was a common 16 bit computer actually used in cross development of games on CPC. &lt;br /&gt;
&lt;br /&gt;
Of course nowadays cross development use far more powerful modern computers.&lt;br /&gt;
&lt;br /&gt;
*[[ZX Spectrum]] was also a source of cross development...er... let's better say [[Speccy Port|Gross Development]] indeed.&lt;br /&gt;
&lt;br /&gt;
= Tools needed for cross development =&lt;br /&gt;
&lt;br /&gt;
== Integrated toolchains ==&lt;br /&gt;
&lt;br /&gt;
An integrated cross-development toolchain is a time saver for development as it automates all necessary steps from a full set of source materials (source code, graphics, music, parameters in whatever format is practical for editing, etc) to one or several formats ready to run on the target machines. It also sometimes includes automatically launching or notifying an emulator or target device. See e.g. [http://en.wikipedia.org/wiki/Build_automation#Advantages Build Automation on wikipedia].&lt;br /&gt;
&lt;br /&gt;
Such a design has several advantage:&lt;br /&gt;
* allows the usage of any text/graphic editor of modern platforms&lt;br /&gt;
* you can change anything in one or more source files and you get an updated build quickly without error-prone manual steps&lt;br /&gt;
* allows arbitrary transform or generation of intermediary files (code or data).&lt;br /&gt;
* makes easy to have specific builds (e.g. for automated tests like to check if a different compiler produces correct code, variant build for slightly different targets)&lt;br /&gt;
* since most material are text files or small independent files, it benefits hugely from modern tools for revision control like [http://en.wikipedia.org/wiki/Git_%28software%29 Git] which makes sharing and merging code between developers much easier, increasing the time saved.&lt;br /&gt;
&lt;br /&gt;
An ideal toolchain does not force its user into specific ways of doing things but is flexible enough to let the user adjust for whatever specific needs (use different languages, compilers, linkers, etc).  Along with a properly designed and structured source tree, this makes projects less dependent on specific tools used to build them, and be more resilient to [http://en.wikipedia.org/wiki/Bit_rot bit rot] due to [http://en.wikipedia.org/wiki/Software_rot#Environment_change software build environment change].&lt;br /&gt;
&lt;br /&gt;
Please note that an integrated toolchain has little to do with anything visible on-screen.  A good toolchain can be triggered by most flexible enough graphical environments and generally produces a text log of the work done.  Nevertheless, the concept of toolchains is more natural to Linux/Unix way of thinking/doing things, and those environments are already full of reusable and combinable tools that ease the creation and maintenance of a toolchain. Windows users can generally use tools developed for Unix through the cygwin software adaptation layer but running a Linux distribution in a virtual machine may be more practical.&lt;br /&gt;
&lt;br /&gt;
There are some attempts at creating toolchains targeting the CPC:&lt;br /&gt;
&lt;br /&gt;
* Not an integrated toolchain, but a collection of tools that can be strung together to make one. Currently active (as of end of 2012): on [http://www.cpcwiki.eu/forum/off-topic/cpc-sdk-for-linuxunix/ CPC SDK for Linux/Unix] PlukoMandy mentions http://code.google.com/p/cpcsdk&lt;br /&gt;
* 2012-11-12 [http://www.cpcwiki.eu/forum/programming/recommended-linux-cross-dev-tool-chain/ Recommended Linux cross-dev tool chain?] mentions a makefile-based toolchain targeting dsk images or tapes&lt;br /&gt;
* 2011-11-18 [https://github.com/cpcitor/cpc-dev-tool-chain cpc-dev-tool-chain] an embryo of an integrated C or ASM development toolchain for the Amstrad CPC platform (or emulator). Designed for quick start on Linux (or similar) systems : get a copy, run &amp;quot;make&amp;quot; and get a DSK ready to run into the emulator. It even downloads and compiles tools (the cross-compiler, iDSK) if needed.&lt;br /&gt;
* 2009-06-16 [http://www.cpcwiki.eu/forum/emulators/my-new-cross-development-kit/new/#new My new cross-development kit] explain what is basically a toolchain but link is broken as of 2013-01-08&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Cartridge management ===&lt;br /&gt;
* [[buildcpr]] [http://www.cepece.info/amstrad/download/buildcpr.zip]&lt;br /&gt;
&lt;br /&gt;
=== Cross assemblers ===&lt;br /&gt;
&lt;br /&gt;
* [[SjasmPlus]]&lt;br /&gt;
* [[Sjasm|sjasm]]&lt;br /&gt;
* [[Zasm]] [http://sourceforge.net/projects/zasm]&lt;br /&gt;
* [[ZMac]]&lt;br /&gt;
* GNU Binutils for z80 (z80-unknown-coff platform)&lt;br /&gt;
* [[Z80asm]] [http://savannah.nongnu.org/projects/z80asm]&lt;br /&gt;
* [[pasmo]]&lt;br /&gt;
&lt;br /&gt;
=== Cross compilers ===&lt;br /&gt;
* [[ZXBasic]]&lt;br /&gt;
&lt;br /&gt;
=== Crunching ===&lt;br /&gt;
* [[Exomizer]]&lt;br /&gt;
* [[pucrunch]] [http://tj.gpa.free.fr/zip/sources/pucrunch.zip]&lt;br /&gt;
&lt;br /&gt;
=== Disassemblers ===&lt;br /&gt;
* [[dzasm]] [http://www.cepece.info/amstrad/download/dzasm.zip]&lt;br /&gt;
&lt;br /&gt;
=== Disc management ===&lt;br /&gt;
&lt;br /&gt;
* [[CPCTools]]&lt;br /&gt;
* [[iDSK]]&lt;br /&gt;
* [[cpcfs]] / [[cpcxfs]]&lt;br /&gt;
* [[dsktools]]&lt;br /&gt;
* [[cpmtools 2]] [http://www.moria.de/~michael/cpmtools/]&lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
&lt;br /&gt;
* scite&lt;br /&gt;
* pico&lt;br /&gt;
* xemacs&lt;br /&gt;
* [[How to use VIM for CrossDev|Vim]]&lt;br /&gt;
* pluma&lt;br /&gt;
* gedit&lt;br /&gt;
&lt;br /&gt;
=== Emulators ===&lt;br /&gt;
* [[Arnold (Emulator)|Arnold]]&lt;br /&gt;
* [[Caprice]] [http://sourceforge.net/projects/caprice32/]&lt;br /&gt;
* [[cpcemu]] [http://www.cpc-emu.org/]&lt;br /&gt;
* [[xcpc]] [http://xcpc.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
=== Tape management ===&lt;br /&gt;
&lt;br /&gt;
* [[2cdt]] new version: [http://cpctech.cpc-live.com/download/2cdt.zip] — old version: [http://www.cepece.info/amstrad/download/2cdt.zip] &lt;br /&gt;
* [[cdtcheck]] [http://www.cepece.info/amstrad/download/cdtcheck.zip]&lt;br /&gt;
* [[cdttst]] [http://www.cepece.info/amstrad/download/cdttst.zip] &lt;br /&gt;
* [[samp2]] [http://www.cepece.info/amstrad/download/samp2.zip]&lt;br /&gt;
* [[UberCassette]] [http://www.retroreview.com/iang/UberCassette/]&lt;br /&gt;
&lt;br /&gt;
=== Toolkits ===&lt;br /&gt;
* [[CPCSDK]] toolkit which contains useful tools for cross-development under Linux - [http://code.google.com/p/cpcsdk/]&lt;br /&gt;
&lt;br /&gt;
=== Useful scripts ===&lt;br /&gt;
==== Suppress header information of a file ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat file_with_header | tail -c+129 &amp;gt; file_without_header&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Needed Tools ===&lt;br /&gt;
These tools have to not require a lot of requirement and most of them must work in command line without GUI. This will allow&lt;br /&gt;
to use them with Makefile scripts. They have to be fast too, it will be disappointing to wait more when doing CrossDev than when doing code on a real CPC.&lt;br /&gt;
A good thing (like most of CPCTools) is to have a portable code which compile on most platforms.&lt;br /&gt;
&lt;br /&gt;
* a good emulator which can be integrated in other tools. (Ramlaid first try to change Caprice is a good start)&lt;br /&gt;
* an integration of Ramlaid's tools with Nautilus&lt;br /&gt;
* ameliorations of Caprice in order to have similar functionalities than WinApe (disasm, asm, ...)&lt;br /&gt;
* debug the libdsk which seems to work very bad on actual computers (writting fail a lot)&lt;br /&gt;
* a lot of macros, or libraries for SJASMPlus shared by people in order to share code&lt;br /&gt;
* share a generic Makefile able to be use for build CPC project&lt;br /&gt;
* a lot of little command line utilities (could be add to CPCTools ?) really well done  :&lt;br /&gt;
** graphics tools :&lt;br /&gt;
*** convert images from PC to CPC, or CPC to PC (cf. tools based on ImageMagick or GD)&lt;br /&gt;
*** equivalent of Anoine's FontCatcher&lt;br /&gt;
** 2 tools which work with BASIC :&lt;br /&gt;
*** one for create BASIC AMSDOS files from ASCII or UTF-8 text files&lt;br /&gt;
*** one for create ASCII or UTF-8 text files from BASIC AMSDOS files&lt;br /&gt;
*** (this can already be done with manageDSK for files inside a DSK, maybe extract the code from there)&lt;br /&gt;
** data manipulation tools :&lt;br /&gt;
*** ability to arrange data files for example modify bytes order in a picture file by using Gray code capabilities for changing line with modifying 1 bit&lt;br /&gt;
&lt;br /&gt;
== Windows  ==&lt;br /&gt;
&lt;br /&gt;
=== Cross Assemblers  ===&lt;br /&gt;
&lt;br /&gt;
*[[Tasm|tasm]] &lt;br /&gt;
*[[Pasmo|Pasmo]] &lt;br /&gt;
*[[ZMac|ZMac]] &lt;br /&gt;
*[http://little-bat.de/prog/ zasm] &lt;br /&gt;
*[[WinApe|WinApe]]'s built in assembler&lt;br /&gt;
&lt;br /&gt;
=== Cross compilers (C) ===&lt;br /&gt;
&lt;br /&gt;
For tutorial, see http://www.cpcmania.com/Docs/Programming/Programming.htm by Mochilote&lt;br /&gt;
&lt;br /&gt;
* [[Z88DK]]&lt;br /&gt;
* [[SDCC]], notably [[SDCC and CPC]] had hints and practical examples about the principles of writing in C for CPC.&lt;br /&gt;
* [[PhrozenC]]&lt;br /&gt;
&lt;br /&gt;
=== Graphics  ===&lt;br /&gt;
&lt;br /&gt;
*[[AMSprite|AMSprite]] - Sprite/Loading Screen Editor and graphics conversion tools&lt;br /&gt;
&lt;br /&gt;
=== Sound  ===&lt;br /&gt;
&lt;br /&gt;
*[[WYZTracker|WYZTracker]]&amp;amp;nbsp;- Music tracker / Sound effects editor&lt;br /&gt;
*[[Vortex Tracker]]&lt;br /&gt;
&lt;br /&gt;
== Testing on a real CPC ==&lt;br /&gt;
&lt;br /&gt;
=== For cassette ===&lt;br /&gt;
&lt;br /&gt;
* 2CDT to add the files to a Cassette Image File (CDT)&lt;br /&gt;
* Tape2WAV to convert the Cassette Image file (CDT) into a WAV file.&lt;br /&gt;
* Then you can run the program on the emulator the same way as you would run it on a real CPC, or&lt;br /&gt;
* Connect your CPC (CPC664 and CPC6128 have a cassette input) to the Line-Out output of your PC soundcard&lt;br /&gt;
* On the CPC type:&lt;br /&gt;
&lt;br /&gt;
 |TAPE:RUN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Start your WAV player&lt;br /&gt;
* Set the volume to maximum&lt;br /&gt;
* play the WAV file&lt;br /&gt;
* Wait for the program to load...&lt;br /&gt;
&lt;br /&gt;
=== For disc ===&lt;br /&gt;
&lt;br /&gt;
* Use CPCFS or CPCXFS to put the binary files into a Disk Image file (DSK)&lt;br /&gt;
* Then you can run the program on the emulator the same way as you would run it on a real CPC&lt;br /&gt;
&lt;br /&gt;
If your CPC has a 3.5&amp;quot; disc drive then the easiest method is to transfer the DSK to a 3.5&amp;quot; disc using the PC.&lt;br /&gt;
&lt;br /&gt;
- Then use CPCDiskXP to write the DSK to a 3.5&amp;quot; disc drive - Put the disc into your CPC's 3.5&amp;quot; disc drive and type - |B: RUN &amp;quot;&amp;amp;lt;gamename&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snapshots ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Web links ==&lt;br /&gt;
&lt;br /&gt;
* [http://ramlaid.free.fr/Amstrad/English/crossDev.htm CPC Cross Development tools by Ramlaid] (Link broken as 2012-01-08. If you can help, please update.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]] [[Category:CrossDev]]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Cross_Development&amp;diff=88791</id>
		<title>Programming:Cross Development</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Cross_Development&amp;diff=88791"/>
				<updated>2013-12-11T21:52:04Z</updated>
		
		<summary type="html">&lt;p&gt;Nitrofurano: /* Editing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
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 which sourcecode does not even fit on the CPC ram.&lt;br /&gt;
&lt;br /&gt;
The main drawback is that transferring the compiled code to the CPC can be quite difficult. But there are pretty good emulators which you can use for testing.&lt;br /&gt;
&lt;br /&gt;
Once you have your binary file you have two choices depending on if the game will be for [[Datacorder|cassette]] or [[Disk drives|disc]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Atari|Atari ST]] was a common 16 bit computer actually used in cross development of games on CPC. &lt;br /&gt;
&lt;br /&gt;
Of course nowadays cross development use far more powerful modern computers.&lt;br /&gt;
&lt;br /&gt;
*[[ZX Spectrum]] was also a source of cross development...er... let's better say [[Speccy Port|Gross Development]] indeed.&lt;br /&gt;
&lt;br /&gt;
= Tools needed for cross development =&lt;br /&gt;
&lt;br /&gt;
== Integrated toolchains ==&lt;br /&gt;
&lt;br /&gt;
An integrated cross-development toolchain is a time saver for development as it automates all necessary steps from a full set of source materials (source code, graphics, music, parameters in whatever format is practical for editing, etc) to one or several formats ready to run on the target machines. It also sometimes includes automatically launching or notifying an emulator or target device. See e.g. [http://en.wikipedia.org/wiki/Build_automation#Advantages Build Automation on wikipedia].&lt;br /&gt;
&lt;br /&gt;
Such a design has several advantage:&lt;br /&gt;
* allows the usage of any text/graphic editor of modern platforms&lt;br /&gt;
* you can change anything in one or more source files and you get an updated build quickly without error-prone manual steps&lt;br /&gt;
* allows arbitrary transform or generation of intermediary files (code or data).&lt;br /&gt;
* makes easy to have specific builds (e.g. for automated tests like to check if a different compiler produces correct code, variant build for slightly different targets)&lt;br /&gt;
* since most material are text files or small independent files, it benefits hugely from modern tools for revision control like [http://en.wikipedia.org/wiki/Git_%28software%29 Git] which makes sharing and merging code between developers much easier, increasing the time saved.&lt;br /&gt;
&lt;br /&gt;
An ideal toolchain does not force its user into specific ways of doing things but is flexible enough to let the user adjust for whatever specific needs (use different languages, compilers, linkers, etc).  Along with a properly designed and structured source tree, this makes projects less dependent on specific tools used to build them, and be more resilient to [http://en.wikipedia.org/wiki/Bit_rot bit rot] due to [http://en.wikipedia.org/wiki/Software_rot#Environment_change software build environment change].&lt;br /&gt;
&lt;br /&gt;
Please note that an integrated toolchain has little to do with anything visible on-screen.  A good toolchain can be triggered by most flexible enough graphical environments and generally produces a text log of the work done.  Nevertheless, the concept of toolchains is more natural to Linux/Unix way of thinking/doing things, and those environments are already full of reusable and combinable tools that ease the creation and maintenance of a toolchain. Windows users can generally use tools developed for Unix through the cygwin software adaptation layer but running a Linux distribution in a virtual machine may be more practical.&lt;br /&gt;
&lt;br /&gt;
There are some attempts at creating toolchains targeting the CPC:&lt;br /&gt;
&lt;br /&gt;
* Not an integrated toolchain, but a collection of tools that can be strung together to make one. Currently active (as of end of 2012): on [http://www.cpcwiki.eu/forum/off-topic/cpc-sdk-for-linuxunix/ CPC SDK for Linux/Unix] PlukoMandy mentions http://code.google.com/p/cpcsdk&lt;br /&gt;
* 2012-11-12 [http://www.cpcwiki.eu/forum/programming/recommended-linux-cross-dev-tool-chain/ Recommended Linux cross-dev tool chain?] mentions a makefile-based toolchain targeting dsk images or tapes&lt;br /&gt;
* 2011-11-18 [https://github.com/cpcitor/cpc-dev-tool-chain cpc-dev-tool-chain] an embryo of an integrated C or ASM development toolchain for the Amstrad CPC platform (or emulator). Designed for quick start on Linux (or similar) systems : get a copy, run &amp;quot;make&amp;quot; and get a DSK ready to run into the emulator. It even downloads and compiles tools (the cross-compiler, iDSK) if needed.&lt;br /&gt;
* 2009-06-16 [http://www.cpcwiki.eu/forum/emulators/my-new-cross-development-kit/new/#new My new cross-development kit] explain what is basically a toolchain but link is broken as of 2013-01-08&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Cartridge management ===&lt;br /&gt;
* [[buildcpr]] [http://www.cepece.info/amstrad/download/buildcpr.zip]&lt;br /&gt;
&lt;br /&gt;
=== Cross assemblers ===&lt;br /&gt;
&lt;br /&gt;
* [[SjasmPlus]]&lt;br /&gt;
* [[Sjasm|sjasm]]&lt;br /&gt;
* [[Zasm]] [http://sourceforge.net/projects/zasm]&lt;br /&gt;
* [[ZMac]]&lt;br /&gt;
* GNU Binutils for z80 (z80-unknown-coff platform)&lt;br /&gt;
* [[Z80asm]] [http://savannah.nongnu.org/projects/z80asm]&lt;br /&gt;
* [[pasmo]]&lt;br /&gt;
&lt;br /&gt;
=== Crunching ===&lt;br /&gt;
* [[Exomizer]]&lt;br /&gt;
* [[pucrunch]] [http://tj.gpa.free.fr/zip/sources/pucrunch.zip]&lt;br /&gt;
&lt;br /&gt;
=== Disassemblers ===&lt;br /&gt;
* [[dzasm]] [http://www.cepece.info/amstrad/download/dzasm.zip]&lt;br /&gt;
&lt;br /&gt;
=== Disc management ===&lt;br /&gt;
&lt;br /&gt;
* [[CPCTools]]&lt;br /&gt;
* [[iDSK]]&lt;br /&gt;
* [[cpcfs]] / [[cpcxfs]]&lt;br /&gt;
* [[dsktools]]&lt;br /&gt;
* [[cpmtools 2]] [http://www.moria.de/~michael/cpmtools/]&lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
&lt;br /&gt;
* scite&lt;br /&gt;
* pico&lt;br /&gt;
* xemacs&lt;br /&gt;
* [[How to use VIM for CrossDev|Vim]]&lt;br /&gt;
* pluma&lt;br /&gt;
* gedit&lt;br /&gt;
&lt;br /&gt;
=== Emulators ===&lt;br /&gt;
* [[Arnold (Emulator)|Arnold]]&lt;br /&gt;
* [[Caprice]] [http://sourceforge.net/projects/caprice32/]&lt;br /&gt;
* [[cpcemu]] [http://www.cpc-emu.org/]&lt;br /&gt;
* [[xcpc]] [http://xcpc.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
=== Tape management ===&lt;br /&gt;
&lt;br /&gt;
* [[2cdt]] new version: [http://cpctech.cpc-live.com/download/2cdt.zip] — old version: [http://www.cepece.info/amstrad/download/2cdt.zip] &lt;br /&gt;
* [[cdtcheck]] [http://www.cepece.info/amstrad/download/cdtcheck.zip]&lt;br /&gt;
* [[cdttst]] [http://www.cepece.info/amstrad/download/cdttst.zip] &lt;br /&gt;
* [[samp2]] [http://www.cepece.info/amstrad/download/samp2.zip]&lt;br /&gt;
* [[UberCassette]] [http://www.retroreview.com/iang/UberCassette/]&lt;br /&gt;
&lt;br /&gt;
=== Toolkits ===&lt;br /&gt;
* [[CPCSDK]] toolkit which contains useful tools for cross-development under Linux - [http://code.google.com/p/cpcsdk/]&lt;br /&gt;
&lt;br /&gt;
=== Useful scripts ===&lt;br /&gt;
==== Suppress header information of a file ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat file_with_header | tail -c+129 &amp;gt; file_without_header&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Needed Tools ===&lt;br /&gt;
These tools have to not require a lot of requirement and most of them must work in command line without GUI. This will allow&lt;br /&gt;
to use them with Makefile scripts. They have to be fast too, it will be disappointing to wait more when doing CrossDev than when doing code on a real CPC.&lt;br /&gt;
A good thing (like most of CPCTools) is to have a portable code which compile on most platforms.&lt;br /&gt;
&lt;br /&gt;
* a good emulator which can be integrated in other tools. (Ramlaid first try to change Caprice is a good start)&lt;br /&gt;
* an integration of Ramlaid's tools with Nautilus&lt;br /&gt;
* ameliorations of Caprice in order to have similar functionalities than WinApe (disasm, asm, ...)&lt;br /&gt;
* debug the libdsk which seems to work very bad on actual computers (writting fail a lot)&lt;br /&gt;
* a lot of macros, or libraries for SJASMPlus shared by people in order to share code&lt;br /&gt;
* share a generic Makefile able to be use for build CPC project&lt;br /&gt;
* a lot of little command line utilities (could be add to CPCTools ?) really well done  :&lt;br /&gt;
** graphics tools :&lt;br /&gt;
*** convert images from PC to CPC, or CPC to PC (cf. tools based on ImageMagick or GD)&lt;br /&gt;
*** equivalent of Anoine's FontCatcher&lt;br /&gt;
** 2 tools which work with BASIC :&lt;br /&gt;
*** one for create BASIC AMSDOS files from ASCII or UTF-8 text files&lt;br /&gt;
*** one for create ASCII or UTF-8 text files from BASIC AMSDOS files&lt;br /&gt;
*** (this can already be done with manageDSK for files inside a DSK, maybe extract the code from there)&lt;br /&gt;
** data manipulation tools :&lt;br /&gt;
*** ability to arrange data files for example modify bytes order in a picture file by using Gray code capabilities for changing line with modifying 1 bit&lt;br /&gt;
&lt;br /&gt;
== Windows  ==&lt;br /&gt;
&lt;br /&gt;
=== Cross Assemblers  ===&lt;br /&gt;
&lt;br /&gt;
*[[Tasm|tasm]] &lt;br /&gt;
*[[Pasmo|Pasmo]] &lt;br /&gt;
*[[ZMac|ZMac]] &lt;br /&gt;
*[http://little-bat.de/prog/ zasm] &lt;br /&gt;
*[[WinApe|WinApe]]'s built in assembler&lt;br /&gt;
&lt;br /&gt;
=== Cross compilers (C) ===&lt;br /&gt;
&lt;br /&gt;
For tutorial, see http://www.cpcmania.com/Docs/Programming/Programming.htm by Mochilote&lt;br /&gt;
&lt;br /&gt;
* [[Z88DK]]&lt;br /&gt;
* [[SDCC]], notably [[SDCC and CPC]] had hints and practical examples about the principles of writing in C for CPC.&lt;br /&gt;
* [[PhrozenC]]&lt;br /&gt;
&lt;br /&gt;
=== Graphics  ===&lt;br /&gt;
&lt;br /&gt;
*[[AMSprite|AMSprite]] - Sprite/Loading Screen Editor and graphics conversion tools&lt;br /&gt;
&lt;br /&gt;
=== Sound  ===&lt;br /&gt;
&lt;br /&gt;
*[[WYZTracker|WYZTracker]]&amp;amp;nbsp;- Music tracker / Sound effects editor&lt;br /&gt;
*[[Vortex Tracker]]&lt;br /&gt;
&lt;br /&gt;
== Testing on a real CPC ==&lt;br /&gt;
&lt;br /&gt;
=== For cassette ===&lt;br /&gt;
&lt;br /&gt;
* 2CDT to add the files to a Cassette Image File (CDT)&lt;br /&gt;
* Tape2WAV to convert the Cassette Image file (CDT) into a WAV file.&lt;br /&gt;
* Then you can run the program on the emulator the same way as you would run it on a real CPC, or&lt;br /&gt;
* Connect your CPC (CPC664 and CPC6128 have a cassette input) to the Line-Out output of your PC soundcard&lt;br /&gt;
* On the CPC type:&lt;br /&gt;
&lt;br /&gt;
 |TAPE:RUN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Start your WAV player&lt;br /&gt;
* Set the volume to maximum&lt;br /&gt;
* play the WAV file&lt;br /&gt;
* Wait for the program to load...&lt;br /&gt;
&lt;br /&gt;
=== For disc ===&lt;br /&gt;
&lt;br /&gt;
* Use CPCFS or CPCXFS to put the binary files into a Disk Image file (DSK)&lt;br /&gt;
* Then you can run the program on the emulator the same way as you would run it on a real CPC&lt;br /&gt;
&lt;br /&gt;
If your CPC has a 3.5&amp;quot; disc drive then the easiest method is to transfer the DSK to a 3.5&amp;quot; disc using the PC.&lt;br /&gt;
&lt;br /&gt;
- Then use CPCDiskXP to write the DSK to a 3.5&amp;quot; disc drive - Put the disc into your CPC's 3.5&amp;quot; disc drive and type - |B: RUN &amp;quot;&amp;amp;lt;gamename&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snapshots ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Web links ==&lt;br /&gt;
&lt;br /&gt;
* [http://ramlaid.free.fr/Amstrad/English/crossDev.htm CPC Cross Development tools by Ramlaid] (Link broken as 2012-01-08. If you can help, please update.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]] [[Category:CrossDev]]&lt;/div&gt;</summary>
		<author><name>Nitrofurano</name></author>	</entry>

	</feed>