Difference between revisions of "CPCtelera"
m (→License: 1.4 changed licence system to LGPL 3 for allowing "non-free" software)
|Line 66:||Line 66:|
== License ==
== License ==
'''[http://lronaldo.github.io/cpctelera/ CPCtelera]''' is distributed under [
'''[http://lronaldo.github.io/cpctelera/ CPCtelera]''' is distributed under [://www.gnu.org/copyleft/.html v3 License]. If you wanted any other specific license to suit your needs, please contact us.
== Contact and support ==
== Contact and support ==
Latest revision as of 11:58, 19 October 2016
CPCtelera: Astonishing fast Amstrad CPC game engine
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
- Download latest release from CPCtelera main project page.
- Follow install instructions
- Start programming and consult the Reference Manual for API details.
If you want, you can also get latest under-development versions from its Github.
Low-level programming API functionalities
- 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
- 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: a simple game running at 50 FPS, featuring vertical scroll, 256-subpixel-levels physics and animations. The game is included with CPCtelera and full source code is available.
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 email@example.com