Changes

Jump to: navigation, search

Programming:Cross Development

1,963 bytes added, 12:53, 15 November 2023
/* Cross compilers */ ugbasic
Active as of 2017-11:
* '''[[CPCtelera]]''' integrates an out-of-the-box preconfigured build system, along with a game development library and toolsand extensive configuration. It is also multiplatform, working on Linux, OSX and Windows.CPCtelera is a fork of [https://github.com/cpcitor/cpc-dev-tool-chain cpc-dev-tool-chain] tuned for 2D-sprite-oriented productions and extensive documentation. ''Recommended for beginners.''* '''[https://github.com/cpcitor/cpc-dev-tool-chain cpc-dev-tool-chain] ''' integrated C or ASM development toolchain for the Amstrad CPC platform (or emulator). Includes compiler'''Recommended for seasoned C programmers, assemblerLinux geeks, makefile-based projectsadvanced users, interface between C and firmwaregeneral productions'''. Includes:** Designed for quick start on Linux (or similar) systems : '''get a copy, write a "hello_world.c", run "makedsk" and get a DSK ready to run into the emulator'''. It On linux "make run" even runs the emulator! ** Automatically downloads and compiles tools as needed, no interference with user account or global system, no administrator permission needed.** Tools include:*** gfx2crtc (the crosstransform PNG into CPC screen data),*** png2cpcsprite (turn PNG into binary data formatted as ASM source code ''with metadata including palette'', zero run-time overhead),*** SDCC compiler, assembler and linker,*** hex2bin, addhead (prepare CPC binaries with AMSDOS header),*** cpcxfs and iDSK(prepare DSK disc image) if needed,*** rasm (Roudoudou's assembler)'''. *** 2cdt (transform CPC binary to tape image),*** playtzx (transform tape image into audio file to play to your CPC),*** caprice32 (emulator),*** cpcec (emulator),*** exomizer (high performance compressor, PC side),*** deexo (Z80 run-time exomizer decompression),** Made for Linux, also works with Windows (via cygwin or similar), and probably Mac OS X. Most project+build-oriented features claims by CPCTelera comes from cpc-dev-tool-chain.** Call firmware routines from clean C code! [https://rawgit.com/cpcitor/cpc-dev-tool-chain/master/cpclib/cfwi/coverage.html advanced coverage of the CPC firmware]** Extensible projects structure based on GNU make  
* Not an integrated toolchain, but a collection of tools that can be strung together to make one, including a DockerFile. Mentioned on [http://www.cpcwiki.eu/forum/off-topic/cpc-sdk-for-linuxunix/ CPC SDK for Linux/Unix]. Appears to have moved to https://github.com/cpcsdk
=== Cross assemblers ===
* [[basm|Benediction ASseMbler]] [https://cpcsdk.github.io/rust.cpclib/basm/]
* [[naken_asm]] [https://www.mikekohn.net/micro/naken_asm.php]
* [[pasmo]]
* [[RASM]]
* [[SjasmPlus]]
* [[Sjasm|sjasm]]
* [[Z80asm]] [http://savannah.nongnu.org/projects/z80asm]
* [[Zasm]] [http://sourceforge.net/projects/zasm]
* [[ZMac]]
* GNU Binutils for z80 (z80-unknown-coff platform)
* [[Z80asm]] [http://savannah.nongnu.org/projects/z80asm]
* [[pasmo]]
* [[naken_asm]] [https://www.mikekohn.net/micro/naken_asm.php]
=== Cross compilers ===
* [[ZXBasic]]
* [[Turbo Rascal Syntax Error]] [http://turborascal.com]
* [[ugBASIC]] [https://ugbasic.iwashere.eu]
=== Crunching ===
=== Cross Assemblers ===
 
* [[basm|Benediction ASseMbler]] [https://cpcsdk.github.io/rust.cpclib/basm/]
* [[naken_asm]] [https://www.mikekohn.net/micro/naken_asm.php]
*[[Tasm|tasm]]
*[[Pasmo|Pasmo]]
*[[ZMac|ZMacRASM]] *[http://little-bat.de/prog/ zasm]
*[[WinApe|WinApe]]'s built in assembler
* [[naken_asmZMac|ZMac]] *[httpshttp://wwwlittle-bat.mikekohn.netde/microprog/naken_asm.phpzasm]
=== Cross compilers (C) ===
Beginner warning: unless you want to rebuild an entire toolchain by hand, you probably don't want to just download a C cross-compiler alone. Most probably, what you're looking for is an [[#Integrated_toolchains|integrated toolchain]] instead. For a C tutorial, see http://www.cpcmania.com/Docs/Programming/Programming.htm by Mochilote
* [[Z88DK]]
* [[JavaGrinder]]
 
=== Cross compilers (Pascal) ===
 
* [[Turbo Rascal Syntax Error]] [http://turborascal.com]
=== Graphics ===
* Then you can run the program on the emulator the same way as you would run it on a real CPC
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 a PCwith a 3.5" drive (internal, not USB).
- * Then use CPCDiskXP to write the DSK to a 3.5" disc drive - , using dsktools (Linux) or CPCDiskXP (Windows).* Put the disc into your CPC's 3.5" disc drive and type - |B: RUN "<gamename>
== Snapshots ==
907
edits