02/26/2015
Moved to SourceForge
01/22/2015
Recent changes in cpc_PutSpTilema function make them quite more faster now so I decided to update the library with this modifications.
12/08/2013
cpcrslib for SDCC package updated with a horizontal scroll sample (011 - Small Sprite Demo (Tile Map) - SCROLL).
Some tilemap functions updated with minor changes improving the tile drawing speed.
11/03/2012
cpcrslib for SDCC package updated with a new font type in !GphStr.s (TOTEMS font type) for and included !TileMap.h file that is required to compile !TileMap.s and was missing in the previous upload.
10/24/2012
cpcrslib for SDCC (beta) released.
05/21/2012
cpcwyzlib for SDCC released.
11/28/2010
cpcrslib with horizontal scrolling capabilities is uploaded. From now, there will be 2 official libraries: one for scrolling and one for static screen. Although the scrolling one can be used to for static screens, because it has been improved for scrolling, when static using it is a slower than the "standard" one.
Horizontal scroll example included.
11/15/2010
Bug in cpc_WyzPlayer corrected. When saving the player interrupt jump, the code was being corrupted due to a bad definition of the address where the original jump was being saved.
11/11/2010
cpc_PrintGphStr0,cpc_PrintGphStr0M1: Optimiced code: Smaller and faster, thanks to Kevin Thacker for coding it on Blue Angel 69.
cpc_PrintGphStr2X,cpc_PrintGphStrXY2X,cpc_PrintGphStrM12X,cpc_PrintGphStrXY2X: New routines for printing graphical text at double height. Sample 5 modified.
11/09/2010
New: music /SFX player updated with new features and source code included (cpcwyzlib)
More information about it:
https://sites.google.com/site/wyzplayer/
09/08/2009
Tile Map Virtual Area. A virtual and a visible area are defined. Horizontal and Vertical invisible margins can be defined. With that trick it's possible to make the sprite clipping when disappearing from the screen. It's very usefull when scrolling too.
TileMapConf.asm: Two new constants defined: T_WH y T_HH. With them, the invisble margins are defined.
cpc_ShowTileMap2: Shows visible area instead of full virtual area. Usefull when scrolling.
cpc_PutSpTileMapO: New routine to make a sprite disappear from the screen when it leave the visible area.
cpc_ScrollLeft0,cpc_ScrollRight0: Tile Map Scrolling routines modified.
cpc_ScrollLeft, cpc_ScrollRight: Decrapted.
Example 12 modified to demonstrate the new scrolling method.
07/21/2009
Graphic fonts for cpcrslib [uploaded]http://cpcrslib.googlecode.com/files/GF000.rar. In order to use them cpc_Chars.asm file must be replaced before compiling library.
06/29/2009
cpc_ShowTileMap: Modified in order to have 255 different tiles instead 254.
Game of Life: New example included.
03/30/2009
cpc_ClrScr: Fills screen with ink 0 (similar to CLG)
cpc_DisableFirmware: Disables interruption jump from &0038
cpc_EnableFirmware: Restores interruption jump previously removed with cpc_DisableFirmware
cpc_PrintGphStrStd: New mode 1 8x8 pixel writing routine, memory address
cpc_PrintGphStrStdXY: New mode 1 8x8 pixel writing routine, (x,y) for positioning text
cpc_ShowTileMap: Modified. Removed EI/DI instructions to avoid music/sound delays while showing tile Map.
cpc_RRI, cpc_RLI: Modified. There was a bug when using IX.
cpc_ScanKeyboard: New routine for scanning whole keyboard (from cpcwiki keyboard programming).
cpc_TestKeyF: New routine to test if a key has been pressed but it must be used after cpc_ScanKeyboard. This way is faster than previous one if 3 or more keys have to be tested.
cpc_WyzPlayer: Modified interruption backup because previously it assumed it was a JP XXXX jump and sometimes is not correct.
Example disc included: All the code examples compiled and ready to run in a single disk.
03/23/2009
cpc_RRI: Moves a screen rectangle one byte to the left (<-), most left byte goes to the right side (no byte info lost).
cpc_RLI: Moves a screen rectangle one byte to the right (->), most left byte goes to the left side (no byte info lost).
music_sound sample modifed and translated into English.
03/20/2009
cpc_TouchTiles: New routine to set a tile rectangle as touched in order to be shown in the next cpc_ShowTouchedTiles
02/23/2009
cpc_GetTiles, cpc_PutTiles: New routines to capture into a buffer a tile map area and to copy from buffer to tile map.
02/22/2009
cpc_UpdScr: Routine has been modified in order to get faster code.
cpc_PutCpTileMapo2b: New routine to draw compiled sprites into the map tile.
02/20/2009
Multiplication routine almost always can be substituted by a specific faster one. Routines were generic multiplication is used can be fast changed modifying code in multiplication1.asm and multiplication2.asm before compiling the library. Using optimized multiplication routines gets better performance in the program so it’s recommended to use them.
02/19/2009
cpc_PutSpTileMap: Code optimized, smaller and faster. Now tiles touched by a sprite are found faster.
02/16/2009
cpc_PutTrSpriteTileMap2b: New routine similar to cpc_PutTrSpTileMap2b but without the internal buffer address calculation, it requires use of cpc_SpUpdX and cpc_SpUpdY to update the sprite position or by the normal way but using cpc_SuperbufferAddress() after x,y update.
cpc_UpdateTileMap: Update to include cpc_PutTrSpTileMap2 and cpc_PutTrSpriteTileMap2 routines.
02/11/2009
cpc_ScrollLeft0, cpc_ScrollLeft, cpc_ScrollRight0, cpc_ScrollRight
New routines for software scroll using tile map. (See example included in file)
02/09/2009
cpc_PutTrSpTileMap2b
Draws a sprite using one of the colours as transparent. Requieres selecting transparent colour during compilation. (See example included in file)
01/16/2009
cpc_TestKey
Code optimized, smaller and faster.
cpc_RedefineKey
Code optimized, smaller and faster.
cpc_AnyKeyPressed
Rewritten, smaller and faster.... previous version doesn't work.
cpc_SetBorder
Changed caller function, now it's smaller and faster routine.
cpc_InitTileMap
Changed caller function, now it's smaller and faster routine.