Learn to Write (Retro)Videogames! new sei italiano?
Learn to Write (Retro)Videogames! new sei italiano?
Embark on a journey into the (retro)programming of three simple video games, three "easy pieces", which will help you become familiar with some basic concepts, to apply them to computers with limited resources.

The purpose of this book, therefore, is not just to illustrate a source code: instead it offers ideas for actively developing the three easy pieces.

Programming while reading.
Learn to Write (Retro)Videogames! new sei italiano?
Embark on a journey into the (retro)programming of three simple video games, three "easy pieces", which will help you become familiar with some basic concepts, to apply them to computers with limited resources.

This log contains only updates since the last released version (1.18).


  • BETA UPDATE [rev. 20251231] BETA


    commit: 8d572fc5d (on github)
    • Optimized ADD and negative constants
    • Optimized carry to accumulator conversion under 6309/6809
    • Fixed fill routines under 6309/6809
    • Optimized code generation for 6309/6809
    • Fixed DOUBLE BUFFER pragma under ef936x (pc128op)
    • Optimized code generation for z80 on direct assignment
    • Optimized code generation for 6309/6809 on direct assignment
    • Fixed inline variables on 6502 code generation
    • Fixed variable generation under 6502
    • Added preliminary support for locally unused variables optimization
    • Optimize direct assignment of array elements #1230


  • BETA UPDATE [rev. 20251226] BETA


    commit: be3d7948c (on github)
    • Postponed CLS routines on ef936x (mo5, pc128op, to8)
    • Optimized STRING function using dynamic string functions
    • Extended dynamic string library to support filling
    • Optimized array access on dynamic string type
    • Added ENCRYPT / DECRYPT instructions
    • Add support for DESERIALIZE instruction
    • Add support for SERIALIZE instruction
    • Add support for STRING on TYPEs
    • Refactorized HEX to encode memory areas (dynamic string size)
    • Optimization of string descriptors copy #1228


  • BETA UPDATE [rev. 20251220] BETA


    commit: 26ba7b691 (on github)
    • Add support for STRIG function #373
    • Fixed GR PRINT / GPRINT when embedded is used
    • Changed IMAGEREF data type to store frame size
    • Optimization of string descriptors copy #1228


  • BETA UPDATE [rev. 20251216] BETA


    commit: 88a36ceb9 (on github)
    • Add support for REU/GeoRAM for targets c128 and c128z #1224


  • BETA UPDATE [rev. 20251208] BETA


    commit: 02344efbd (on github)
    • Add support for GR PRINT / GPRINT #551
    • Added support for DEFINE GPRINT INLINE / EMBEDDED
    • Allow coexitence between double buffering and memory increase under pc128op
    • Increased bank availability under pc128op (up to 64 KB)
    • Refactorized PRINT RAW under ef936x
    • Refactorized PRINT under ef936x
    • Add support for STRIP with ID
    • Added preliminary support for STRIP on FLIP IMAGE (virtual SEQUENCE)
    • Added preliminary support for STRIP on LOAD ATLAS


Any problem?

If you have found a problem, if you think there is a bug or, more simply, you would like something to be improved, write a topic on the official forum, or open an issue on GitHub.
Thank you!