A new version of CPCtelera, the Amstrad CPC game framework for C developers, was just released in version 1.4.2. CPCtelera offers a huge C library for the SDCC C cross-compiler, which makes it easier to create games and applications for the Amstrad CPC. This version mainly contains a new version of the SDCC compiler (v3.6.8), which is more efficient, creates better code and contains several bugfixes, but there are also some nice little features, which were added, too (see the ChangeLog for more details). It is available for Windows, Linux and OS-X. You can get the latest version from GitHub and discuss it in the CPCWiki forums.
Changes in v1.4.2:
Updated SDCC compiler from version 3.5.5 to newest version 3.6.8 (revision 9946). New version is much more efficient, generates better code and solves some bugs from previous one.
Added automatic Arkos Traker 1 AKS music conversion. It is done through the makefile macro AKS2C, which is easily added in config file cfg/music_conversion.mk
Added project support for Visual Studio Code IDE. All CPCtelera projects can now be opened and compiled in VS Code. Moreover, intellisense and keyboard shortcuts for automaticly running games are easily added.
Documented VS Code integration, with plenty of information for users on how to set up projects.
Documented Automatic Conversion Tools for Music, Graphics and Tilemaps. This will greatly help users on fastly and comfortably integrating asset production in their projects without having to bother to convert them when they change.
Added support for drawing tiles using gray code order and making use of the stack. Really fast method for advanced users.
Added troubleshooting section to the documentation in order to help users with common issues.
Fixed issue in iDSK: it was overwritting files with same name but different extension.
Added Support for Paged Memory and use of memory beyond 64K.
Added z88dk speculative optimization peepholes for advanced users wanting to experiment with advanced optimization.
Added new asm examples with animations, music and data structures: greetcardmusic/ and structs/.
Updated RGAS to latest 1.2.2 version.
Added bitarray support for tiled Tilemap TMX-CSV conversion to C.
Fixed getRandom to output predictable random sequences
I guess that you have already seen the great demo “Logon’s run – 3D meets the aging bits” by Overflow / Logon System, which was released on the Revision 2017 demoparty in Saarbrücken / Germany. Norecess worked together with Overflow and released a “Making of” on his site in which all the techniques, which were used in the demo, are explained and how they were evolved until they reached the final state. Be sure to read it, because it is a great way to understand how this great demo works and maybe you get an idea for your next production :-). You can find the article on Norecess homepage.
Roudoudou released a brand new Zilog Z80 cross-assembler that targets the Amstrad CPC. Of course it supports all the undocumented opcodes, but beside of that, you can use conditional macros, a floating point engine and several mathmatical functions. A special feature is the possibility to create a cartridge for the Amstrad Plus or the Amstrad GX4000 directly by assembling your source code and you can automatically add an AMSDOS header to your binaries. However, it currently does not support the Maxam assembly syntax.
The latest version contains a lot of bugfixes (local labels, macro, label tree, alias, …) and a documentation in french and english. You can download and discuss it at the CPCWiki forums and at the end of this news.
Roudoudou released a new version v0.42 with the following changes:
allow old style label declaration with a starting dot
allow useless A, register form with ADC, ADD, SBC, SUB
extended syntax for 8bits index registers
documentation FR/EN updated
Update 31.03.2017 – Rasm v0.48
bugfix of label calculations when placed after a LZ48/LZ49 block (there is a buf left with more than one LZ section in the same ORG)
The first competition of the year in which you can participate is clearly the BASIC 10Liners competition for all 8bit computers with line oriented BASIC dialects. In 2011 and 2013 the contest was an internal competiton of the retro computer meeting NOMAM in Lübeck / Germany, but a lot of contributions came from all around the world in 2014 and only one was produced live on the meeting. So if you are able to develop a BASIC program for one of the allowed systems, you can submit your contribution (deadline 22nd April 2017):
A new version of the Z88dk development environment for Z80 based computer (e.g. Amstrad CPC, Cambridge Z88, MSX, Sinclair ZX 81, Sinclair ZX Spectrum, etc.) was released. The release is a transition release on the way to v2.0 which aims on using both, the SDCC compiler and the Small-C compiler, to combine their advantages, which leads to much faster and smaller output binaries. You can choose between using the Small-C compiler with the old and the new C library or use the SDCC compiler with the new C library. The new C library also introduces full C standard compliance to Z88dk.
The newest version can be downloaded from the Z88dk homepage. The source code is available on GitHub.
The win32 and osx packages are complete and now include the zsdcc & zsdcpp binaries. zsdcc is z88dk’s customization of the sdcc compiler. Other users can compile zsdcc from source.
A VS2015 solution file is now available in z88dk/win32 for building all z88dk binaries except zsdcc & zsdcpp. Instructions for building zsdcc & zsdcpp can be found in the install instructions link above.
ZCC – Compiler Front End:
M4 has been added as an optional macro pre-processor. Any filename ending with extension “.m4” will automatically be passed through M4 and its output written to the original source directory with the “.m4” extension stripped prior to further processing. The intention is to allow source files like “foo.c.m4”, “foo.asm.m4”, “foo.h.m4” and so on to be processed by M4 and then that result to be processed further according to the remaining file extension.
In conjunction with the above, a collection of useful M4 macros has been started in “z88dk.m4” that can be included in any “.m4” file processed by zcc. Currently macros implementing for-loops and foreach-loops are defined.
List files ending with extension “.lst” can be used to specify a list of source files for the current compile, one filename per line. The list file is specified on the compile line with prefix @ as in “@foo.lst”. List files can contain any source files of any type understood by zcc and individual lines can be commented out with a leading semicolon. Paths of files listed in list files can be made relative to the list file itself (default) or relative to the directory where zcc was invoked (–listcwd). List files can list other list files, identified with leading ‘@’.
zcc now processes all files it is given to the final output file type specified. For example, with “-E” specified, all listed .c files will be run through the C pre-processor individually and all output copied to the output directory. Previous to this, only the first file listed was processed unless a binary was being built.
-v gives more information on what steps zcc takes to process each source file.
-x now builds a library out of the source files listed.
-c by itself will generate individual object files for each input source file. However, if -c is coupled with an output filename as in “-o name”, a single consolidated object file will now be built instead of individual ones. The intention is to provide a means to generate identical code in separate compiles by allowing this single object file to be specified on different compile lines.
Better error reporting for source files with unrecognized types.
Better parsing for compile line pragmas; pragma integer parameters can now be in decimal, hexadecimal or octal.
-pragma-include added to allow a list of compile time pragmas to be read from a file as in “-pragma-include:zpragma.inc”. This way projects can consolidate pragmas in one location; this is especially important for the new c library which uses pragmas extensively to customize the crt.
-pragma-export added, is similar to -pragma-define but the assembly label defined as a constant on the compile line is made public so that its value is visible across all source files.
–list will generate “.lis” files for each source file in a compile to a binary. The “.lis” file is an assembly listing of source prior to input to the linker.
–c-code-in-asm causes C code to be interspersed as comments in any generated assembly listing associated with C source files.
“.s” files are now understood by zcc to be asz80-syntax assembly language source files. This allows sdcc project files written in assembly language to be assembled by z88dk. asz80 mnemonics are non-standard so zcc attempts to translate to standard zilog mnemonics before assembling. You can see the translation to standard zilog form by using “-a” on a compile line. This is still a work-in-progress feature.
–no-crt allows compiles to proceed without using the library’s supplied crt for a target. The first file listed on a compile line will stand in as the crt and will be responsible for initialization and setting up the memory map.
Temporary files are always created in the temp directory. The option “-notemp” has been removed.
Library and include search paths have been fixed to honour the order specified on the compile line. This allows the user to override library functions when desired.
Source files are now processed from their original location so that includes can be properly resolved. Previously this was only done for .c files but this now applies to other file types.
clang/llvm compilation is in an experimental state.
The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.