I have noticed this being discussed, but I can't find it. Is it publicly available yet? If so, where do I get it? If not, when will it be released?
it was shown to me here.
greeting
https://github.com/lronaldo/cpctelera/tree/development
Damn @EgoTrip (https://www.cpcwiki.eu/forum/index.php?action=profile;u=337) , I didn't noticed you where back!!
And with a part 2 of Chaos Rising, that's really awesome news!!
On respect to CPCtelera 1.5 @funkheld (https://www.cpcwiki.eu/forum/index.php?action=profile;u=354) is true, you can download it on github's page, development branch. Much more powerfull than 1.4.2
Welcome back (if you decide to stay on the community)
Thanks for the link. I haven't looked through it yet but I am hoping for file handing routines, and to figure out how to use the extra 64K of RAM for the final Amy Chaos game. It will be 128k disk only if all goes to plan.
maybe you can include this in coctelera: Bankswitching
in zip is the pdf.
start address then at 0x8000 of the program.
greeting
Hi,
As far as I know cpctelera 1.5 is still in the development branch of the github repo.
You can download it as it was explained above, but you can also get it directly from git...
git clone https://github.com/lronaldo/cpctelera.git -b development
And, remember that the documentation of all the new features included in version 1.5 is in the docs folder (/cpctelera/cpctelera/docs/files/index.html). The online version of the documentation refers to cpctelera 1.4.2
Regards.
Quote from: funkheld on 19:22, 31 January 21
maybe you can include this in coctelera: Bankswitching
in zip is the pdf.
start address then at 0x8000 of the program.
greeting
Maybe one day you could think of reading the documentation before speaking. It's a good way to prevent you from continuously showing off your ignorance. And then, if you also stopped criticizing developers, telling them what they have to do for you, and being rude, that could also be a good way to be considered part of the community.
[attach=1]
BTW, welcome back @EgoTrip (https://www.cpcwiki.eu/forum/index.php?action=profile;u=337). It's always nice to know you are doing new games: your previous ones have been really enjoyable to play :)
thanks for the info with the page memory.
Thank you.
greeting
Hi good afternoon.
what kind of table is that:
| PAGE 0 PAGE 1 PAGE 2 PAGE 3
Macro | 0000-3FFF 4000-7FFF 8000-BFFF C000-FFFF
-----------|------------------------------------------------------------
RAMCFG_0 | RAM_0 RAM_1 RAM_2 RAM_3
RAMCFG_1 | RAM_0 RAM_1 RAM_2 RAM_7
RAMCFG_2 | RAM_4 RAM_5 RAM_6 RAM_7
RAMCFG_3 | RAM_0 RAM_3 RAM_2 RAM_7
RAMCFG_4 | RAM_0 RAM_4 RAM_2 RAM_3
RAMCFG_5 | RAM_0 RAM_5 RAM_2 RAM_3
RAMCFG_6 | RAM_0 RAM_6 RAM_2 RAM_3
RAMCFG_7 | RAM_0 RAM_7 RAM_2 RAM_3
Thank you.
greeting
with the bank command and sprite you can play great.
in the zip is a demo.
run"test
move sprite with QWES.
With the sprite on the wall on the right or left, the scene
is changed super quickly by the bank command.
see test.dsk in zip
#include <cpctelera.h>
#include "sprite816.h"
#include "cpct_floppy.h"
#define SCR_W 80
#define SCR_H 200
u8 gScreenCapture[ G_TILE_SPRITE816_H * G_TILE_SPRITE816_W];
u16 nx,ny,x,y,w,h,ya,xa,xscr,yscr;
u8 test1,test2;
u8* pvmem;
setze_spr()
{
cpct_waitVSYNC();
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, x,y);
cpct_drawSprite(gScreenCapture,pvmem, G_TILE_SPRITE816_W, G_TILE_SPRITE816_H);
x=nx;
y=ny;
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, x,y);
cpct_getScreenToSprite(pvmem, gScreenCapture, G_TILE_SPRITE816_W, G_TILE_SPRITE816_H);
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, nx,ny);
cpct_drawSpriteMasked(g_tile_sprite816, pvmem, G_TILE_SPRITE816_W, G_TILE_SPRITE816_H);
}
void main(void) {
cpct_disableFirmware();
cpct_setPalette(g_tile_palette, 4);
cpct_setVideoMode(0);
cpct_pageMemory(RAMCFG_4 | BANK_0);
StoreDriveLetter();
InitializeAmsdos();
cpct_loadBinaryFile("BILD2.SCR", 0x4000);
cpct_pageMemory(RAMCFG_5 | BANK_0);
StoreDriveLetter();
InitializeAmsdos();
cpct_loadBinaryFile("BILD1.SCR", 0x4000);
cpct_pageMemory(RAMCFG_4 | BANK_0);
cpct_memcpy(0xc000,0x4000,0x4000);
nx=20;
ny=60;
x=nx;
y=ny;
test1=1;
test2=0;
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, x,y);
cpct_getScreenToSprite(pvmem, gScreenCapture, G_TILE_SPRITE816_W, G_TILE_SPRITE816_H);
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, nx,ny);
cpct_drawSpriteMasked(g_tile_sprite816, pvmem, G_TILE_SPRITE816_W, G_TILE_SPRITE816_H);
while(1) {
cpct_scanKeyboard_f();
if(nx == (SCR_W - G_TILE_SPRITE816_W ) && test1== 0)
{
test1=1;
test2=0;
cpct_pageMemory(RAMCFG_4 | BANK_0);
cpct_memcpy(0xc000,0x4000,0x4000);
nx=1;
x=nx;
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, x,y);
cpct_getScreenToSprite(pvmem, gScreenCapture, G_TILE_SPRITE816_W, G_TILE_SPRITE816_H);
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, nx,ny);
cpct_drawSpriteMasked(g_tile_sprite816, pvmem, G_TILE_SPRITE816_W, G_TILE_SPRITE816_H);
}
if(nx == 0 && test2==0)
{
test2=1;
test1=0;
cpct_pageMemory(RAMCFG_5 | BANK_0);
cpct_memcpy(0xc000,0x4000,0x4000);
nx=SCR_W - G_TILE_SPRITE816_W - G_TILE_SPRITE816_W +3;
x=nx;
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, x,y);
cpct_getScreenToSprite(pvmem, gScreenCapture, G_TILE_SPRITE816_W, G_TILE_SPRITE816_H);
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, nx,ny);
cpct_drawSpriteMasked(g_tile_sprite816, pvmem, G_TILE_SPRITE816_W, G_TILE_SPRITE816_H);
}
if(cpct_isKeyPressed(Key_E) && nx < (SCR_W - G_TILE_SPRITE816_W ))
{
nx=nx+1;
setze_spr();
}
else if (cpct_isKeyPressed(Key_Q) && nx > 0)
{
nx=nx-1;
setze_spr();
}
if(cpct_isKeyPressed(Key_W) && ny > 0)
{
ny=ny-2;
setze_spr();
}
else if (cpct_isKeyPressed(Key_S) && ny < (SCR_H - G_TILE_SPRITE816_H) )
{
ny=ny+2;
setze_spr();
}
}
cpct_pageMemory(DEFAULT_MEM_CFG);
}