Notice: Trying to access array offset on value of type bool in /mnt/cpcwiki-httpdocs/includes/libs/IPSet.php on line 243

Notice: Trying to access array offset on value of type bool in /mnt/cpcwiki-httpdocs/includes/libs/IPSet.php on line 246

Notice: Trying to access array offset on value of type bool in /mnt/cpcwiki-httpdocs/includes/libs/IPSet.php on line 243

Notice: Trying to access array offset on value of type bool in /mnt/cpcwiki-httpdocs/includes/libs/IPSet.php on line 246

Notice: Trying to access array offset on value of type null in /mnt/cpcwiki-httpdocs/includes/profiler/SectionProfiler.php on line 104

Notice: Trying to access array offset on value of type null in /mnt/cpcwiki-httpdocs/includes/profiler/SectionProfiler.php on line 104

Notice: Trying to access array offset on value of type null in /mnt/cpcwiki-httpdocs/includes/profiler/SectionProfiler.php on line 105

Notice: Trying to access array offset on value of type null in /mnt/cpcwiki-httpdocs/includes/profiler/SectionProfiler.php on line 105

Notice: Trying to access array offset on value of type null in /mnt/cpcwiki-httpdocs/includes/profiler/SectionProfiler.php on line 106

Notice: Trying to access array offset on value of type null in /mnt/cpcwiki-httpdocs/includes/profiler/SectionProfiler.php on line 106
CPCRSlib - CPCWiki
Last modified on 15 August 2010, at 04:46

CPCRSlib

Revision as of 04:46, 15 August 2010 by Genesis (Talk | contribs)

CPCRSlib is a C library containing routines and functions that allow to the handling of sprites and tile-mapping in Amstrad CPC.

The library is written to be used with Z88DK compiler. CPCRSlib also incorporates keyboard routines to redefine and to detect keys, as well as general routines to change to the screen mode or the colours.

It can be found an explanation of each function/routine included in the library in http://www.amstrad.es/programacion/cpcrslib.html

Last release of the library can be downloaded at: code.google.com/p/cpcrslib/downloads/list

CPCWYZlib is included in the downloadable package of CPCRSlib. CPCWYZlib includes a music player and SFX player coded by WYZ, which can play music created with WYZTracker.

installation

On Ubuntu Lucid Lynx :

cd cpcrslib/
z80asm -v -xcpcrslib.lib @cpcrslib.lst
sudo cp cpcrslib.lib /usr/share/z88dk/lib/clibs/
sudo cp cpcrslib.h /usr/share/z88dk/include

now it should work.

Usage

A classic "Hello world" from cpcrslib :

#include "cpcrslib.h"	// CPC Library

int main(void) {
	cpc_PrintStr("Hello World!");
	while (!cpc_AnyKeyPressed()) {	}
	return 0;
}

You should provide a zcc_opt.def in the source directory :

	DEFINE DEFINED_myzorg
	defc myzorg = 16384

IF !NEED_appstartup
	DEFINE	NEED_appstartup
	defc reqpag = 32
	defc NEED_expanded = 1
ENDIF

Compile the contents by running the compiler, pre-processor and linker in one go by typing:

zcc +cpc -create-app -make-app -O3 -unsigned -o hello.bin hello.c -lcpcrslib -lndos -zorg=16384

you'll have a hello.cpc file ready to be run on your CPC.

Sources of projects using z88dk and cpcrslib