News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_EgoTrip

CPCtelera 1.5

Started by EgoTrip, 14:56, 31 January 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

EgoTrip

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?

funkheld


SpDizzy

Damn @EgoTrip , 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 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)


EgoTrip

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.

funkheld

maybe you can include this in coctelera: Bankswitching

in zip is the pdf.

start address then at 0x8000 of the program.

greeting

johnlobo

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.

ronaldo

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]

ronaldo

BTW, welcome back @EgoTrip. It's always nice to know you are doing new games: your previous ones have been really enjoyable to play :)

funkheld

#8
thanks for the info with the page memory.

Thank you.
greeting


funkheld

#9
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

funkheld

#10

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);
}


Powered by SMFPacks Menu Editor Mod