Updated to SDCC 4.6.0. Fix a lot of bugs of SDCC 4.5.0, code is really more stable, update your version only for this reason !
Add disc sector read and write functions and automatic file data import.
A lot of reviews on existing code and fix namely on assembly compatibility with old projects and linux compatibility (Thanks Néstor Gracia for all great reviews)
In progress :
Geometric functions :
Draw plot, circle and line (Thanks @ervin for his existing code it help me a lot). More functions to come and other modes (mode 1 only for now). Here for draw line coding progress : https://www.youtube.com/@arnaudbouche7887
I have been enjoying cpcteleraNext a lot, and the improved code generation from sdcc 4.6.0 is excellent.
Regarding the line drawing code, last year I worked on much improved line routines, which are a lot faster, but I’ve only created a mode 0 version. The intention is to one day maybe write a driving game using vector graphics. I need to figure out how to do efficient line clipping though!
Hi,
i worked this week-end to add to img2cpc utility, the sprite-hardware generation and i updated cpctelera macros to use it.
The example AsteroidPlus was also updated to use it.
If someone need it, it’s pushed on repo cpctelera_next.
AT3 music is generated automatically now, the only difficulty is, if you have written assembly code, you have to modify the c binding because calling convention is optimized by using register and not stack for parameter.
Here is a new version of CPCteleraNext, at a time when AI is programming very well on our beloved old machines.
Thank you to everyone who contributed to this version and to all CPCteleraNext users, nothing makes me happier than seeing games that use this framework.
What’s new :
Geometric functions (for mode 0 and 1) :
cpct_drawPlot, cpct_drawCircle and cpct_drawLine(_f) and cpct_clipLine (thanks @ervin for his existing code it help me a lot)
I’d love horizontal and vertical scrolling examples, both for the Plus, and a vertical scrolling one for not-Plus. Also an example of Plus-sprite Multiplexing, which I cannot get to work for the life of me, but I know is somewhat possible
“cpct_asicSwapSprite to swap low and high 4-bits (two hardware sprites can share same memory space)”
Does that mean what I think it does mean? with proper design, you can have effectively 32 hardware sprites instead of 16? what limitations are there on usage? (on scanline etc)
Looking at the code to cpct_asicSwapSprite, it will not work on real hardware. The sprite registers inside the ASIC are NOT 8-bit, anything written to the upper 4-bits is lost and you cannot read the value back.