Difference between revisions of "CPCtelera"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Creation of the page)
 
(Games and Examples: Booty - The Remake)
(10 intermediate revisions by 4 users not shown)
Line 15: Line 15:
 
* Start programming and consult the '''[http://lronaldo.github.io/cpctelera/files/readme-txt.html Reference Manual]''' for API details.
 
* Start programming and consult the '''[http://lronaldo.github.io/cpctelera/files/readme-txt.html Reference Manual]''' for API details.
  
If you wanted, you can also get latest under-development versions from [https://github.com/lronaldo/cpctelera its Github].
+
If you want, you can also get latest under-development versions from [https://github.com/lronaldo/cpctelera its Github].
  
 
== Features ==
 
== Features ==
  
 
=== Low-level programming API functionalities ===
 
=== Low-level programming API functionalities ===
 +
[[File:cpctelera_working_fade.png|right|450px|Coding an example with CPCtelera]]
 
* Draw normal and masked sprites
 
* Draw normal and masked sprites
 
* Draw solid colour boxes and speed up sprite trail erasing!
 
* Draw solid colour boxes and speed up sprite trail erasing!
Line 38: Line 39:
  
 
=== Project creation, management and integrated build system ===  
 
=== Project creation, management and integrated build system ===  
 
+
[[File:cpctelera_sprites_demo.gif|right|300px|CPCtelera sprite drawing demo]]
* Integrated set of compiling and generation tools (SDCC 3.4.3, iDSK 0.13, Hex2Bin 2.0, 2cdt)
+
* Integrated set of compiling and generation tools ([[SDCC]] 3.4.3, iDSK 0.13, Hex2Bin 2.0, 2cdt)
 
* Easy and automated project creation and management
 
* Easy and automated project creation and management
 
* Automatic generation of CDT and DSK files
 
* Automatic generation of CDT and DSK files
Line 49: Line 50:
  
 
=== Authoring tools and command line tools ===
 
=== Authoring tools and command line tools ===
* Create your musics with Arkos Tracker
+
* Create your musics with [[Arkos Tracker]]
 
* Create your sprites, tiles and maps with Retro Game Asset Studio 0.97!  (And export them directly to CPCtelera C Array!)
 
* Create your sprites, tiles and maps with Retro Game Asset Studio 0.97!  (And export them directly to CPCtelera C Array!)
 
* Convert any binary file to C Array and include it in your project with cpct_bin2c
 
* Convert any binary file to C Array and include it in your project with cpct_bin2c
 
* Convert a big sprite in a C Array into tiles of your desired size with cpct_sp2tiles!
 
* Convert a big sprite in a C Array into tiles of your desired size with cpct_sp2tiles!
 
* Convert old sprites in assembler CPCRSLib format into C Arrays with cpct_rgas2c!
 
* Convert old sprites in assembler CPCRSLib format into C Arrays with cpct_rgas2c!
 +
 +
== Games and Examples ==
 +
 +
[[File:PlatformClimber.png|right|250px|Platform Climber]]
 +
 +
* [http://fremos.cheesetea.com/?wpdmdl=1687 '''Platform Climber''']: a simple game running at 50 FPS, featuring vertical scroll, 256-subpixel-levels physics and animations. The game is included with '''[http://lronaldo.github.io/cpctelera/ CPCtelera]''' and [https://github.com/lronaldo/cpctelera/tree/master/examples/games/platformClimber/src full source code] is available.
 +
** [http://fremos.cheesetea.com/?wpdmdl=1687 Platform Climber DSK]
 +
** [http://fremos.cheesetea.com/emucpc/?disk=pclimber&run=pclimber Play Platform Climber on your Browser]
 +
* [https://github.com/salvakantero/Sorcerers_CPC Sorcerers]
 +
* [https://github.com/salvakantero/Robbie_CPC Robbie]
 +
* [https://github.com/salvakantero/BootyRemake_CPC Booty - The Remake]
  
 
== License ==
 
== License ==
  
'''[http://lronaldo.github.io/cpctelera/ CPCtelera]''' is distributed under [http://www.gnu.org/copyleft/gpl.html GPL v3 License]. If you wanted any other specific license to suit your needs, please contact us.
+
'''[http://lronaldo.github.io/cpctelera/ CPCtelera]''' is distributed under [https://www.gnu.org/copyleft/lgpl.html LGPL v3 License]. If you wanted any other specific license to suit your needs, please contact us.
  
 
== Contact and support ==
 
== Contact and support ==
Line 64: Line 76:
  
 
If you wanted to contact us, send us an email to [mailto:cpctelera@cheesetea.com cpctelera@cheesetea.com]
 
If you wanted to contact us, send us an email to [mailto:cpctelera@cheesetea.com cpctelera@cheesetea.com]
 +
 +
 +
[[Category:Programming_software]] [[Category:Applications]] [[Category:CrossDev]][[Category:Programming]][[Category:Software]] [[Category:C]]

Revision as of 21:51, 15 March 2024

CPCtelera: Astonishing fast Amstrad CPC game engine

CPCtelera Logo

CPCtelera is a multiplatform framework for developing games and multimedia software for Amstrad CPC. CPCtelera runs either on Linux, OSX and Windows (with cygwin) and makes it easier to start developing games in C or assembly languages for Amstrad CPC.

CPCtelera is also thoroughly documented, has a complete reference manual and the code is comented in depth.

Starting with CPCtelera

If you want, you can also get latest under-development versions from its Github.

Features

Low-level programming API functionalities

Coding an example with CPCtelera
  • Draw normal and masked sprites
  • Draw solid colour boxes and speed up sprite trail erasing!
  • Reproduce audio and sound effects
  • Create fade-in / fade-out effects with your sound FX and music!
  • Mix-up sound effects with music, using the 3 audio channels for both at the same time!
  • Draw strings and characters using ROM characters without using firmware.
  • Change the complete hardware palette and individual palette colours
  • Draw very fast tiles aligned with character lines in the screen.
  • Change default screen video memory location (do hardware double buffering!)
  • Synchronize with VSYNC
  • Change Video Modes (0, 1, 2 and undocumented mode 3!)
  • Measure performance of your game loop (and know how many free CPU cycles you still have for doing more things in your routines!)
  • Scan the keyboard for pressed keys with the fastest keyboard scanning routine available!
  • Disable and re-enable firmware operation at will
  • Enable and disable lower and higher ROM access
  • Optimize array storage using bitarrays (arrays of 1-bit, 2-bit and 4-bit elements available!)

Project creation, management and integrated build system

CPCtelera sprite drawing demo
  • Integrated set of compiling and generation tools (SDCC 3.4.3, iDSK 0.13, Hex2Bin 2.0, 2cdt)
  • Easy and automated project creation and management
  • Automatic generation of CDT and DSK files
  • Program completely in C, completely in Assembler or mix both languages at will. You won’t even have to touch a line of the build system!
  • Automatic generation of obj/ folder with all the intermediate object files (Never mess up your src/ directory!)
  • Automatic generation of binaries, assembler output, symbol files and everything you need for debugging your program.
  • Automatic identification of your project source files in C and ASM (.c and .s). Add new source files to your src/ directory and they will be automatically recognized an compiled!
  • Automatic detection of src/ directory structure up to 1 level of subfolders without any modification!

Authoring tools and command line tools

  • Create your musics with Arkos Tracker
  • Create your sprites, tiles and maps with Retro Game Asset Studio 0.97! (And export them directly to CPCtelera C Array!)
  • Convert any binary file to C Array and include it in your project with cpct_bin2c
  • Convert a big sprite in a C Array into tiles of your desired size with cpct_sp2tiles!
  • Convert old sprites in assembler CPCRSLib format into C Arrays with cpct_rgas2c!

Games and Examples

Platform Climber

License

CPCtelera is distributed under LGPL v3 License. If you wanted any other specific license to suit your needs, please contact us.

Contact and support

If you wanted new features, found any bug or want to contribute to the development, look for CPCtelera's Github project.

If you wanted to contact us, send us an email to cpctelera@cheesetea.com