News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Arnaud

#CPCTelera : CPCT_ABSOLUTE_LOCATION_AREA with 1.4.2

Started by Arnaud, 21:56, 21 December 17

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Arnaud

Hello,
i'm trying to compile my game Bitume with the latest CPCTelera and i have got problem with the CPCT_ABSOLUTE_LOCATION_AREA macro.

All works well on 1.4 with SDCC 3.5.5 and on 1.4.2 with SDCC 3.6.8 i have got a crash.

Ex:
CPCT_ABSOLUTE_LOCATION_AREA(0x8000);
...
Initialize();
...
CPCT_RELOCATABLE_AREA();


When Initialize() is called my game crash. And of course when i tried on a little project, for testing, it works  ::)

Did someone already encounter this problem ?

Here the full sources of Bitume, unzip and enter make under CPCTelera 1.4.2 environment.

The problem is in file initialize.c

Thanks,
Arnaud.




ronaldo

I've downloaded and compiled it with latest CPCtelera development and works apparently without issues. It is also using SDCC 3.6.8.

Have you tried make cleanall and then make again? It might be a corrupted DSK.

Arnaud

Quote from: ronaldo on 00:28, 22 December 17
I've downloaded and compiled it with latest CPCtelera development and works apparently without issues. It is also using SDCC 3.6.8.

Have you tried make cleanall and then make again? It might be a corrupted DSK.

Hello @ronaldo,

you're right it was a corrupted DSK, the clean all didn't solve the problem (i tried before) but i had to delete the DSK file to make my game working.

Maybe delete the DSK is an action to add to the clean all command.

Thank for help  :)

pelrun

I hit something similar a while back - every build would increase the size of the DSK instead of rebuilding it, so I'd have to explicitly erase the DSK each time to get it to generate correctly.

ronaldo

@Arnaud @pelrun There is a target defined in CPCtelera makefiles called 'cleanall' that removes compilation objects as well as results (DSK and CDT). As targets in makefiles have to be complete words, 'make clean all' does perform targets 'clean' and 'all' but not 'cleanall'. So, if you want to remove only compilation objects, do 'make clean', if you want to remove everything generated, 'make cleanall'.

With respect to the problem of corrupt DSKs, it is was addressed some months ago, and solution is included in CPCtelera development branch. It will be available on next release.

Powered by SMFPacks Menu Editor Mod