Change logs of ugBASIC language

Beta branch

MAIN cpc atarixl atari coco coco3 coleco c128 c128z c64 c64reu d32 d64 gb msx1 pc128op plus4 sc3000 sg1000 mo5 to8 vic20 zx

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.17.2).


  • BETA UPDATE [rev. 20251027] BETA


    commit: aa735f2dc (on github)
    • Replaced native labels on code generation
    • Add support for Motorola 6847 under CPU Hitachi 6309
    • Corrected number to string routine under 6309
    • Fixed optimization in PLOT under 6847
    • rchack_acme_1172: fixed PUT IMAGE under that program
    • Fixed optimization of PUT IMAGE uder 6847
    • rchack_4gravity_1164: fixed SCANCODE detection
    • rchack_4gravity_1164: fixed bitmap mode under vic2
    • rchack_falling_balls_1163: fixed SCANCODE detection


  • BETA UPDATE [rev. 20251025] BETA


    commit: a3d2cf83f (on github)
    • Added support for OPTION COMPILE ON instruction
    • Fixed COPPER compilation for cpc


  • BETA UPDATE [rev. 20251024] BETA


    commit: 8b9e8c631 (on github)
    • Fixed makefile for coco3 generation
    • Add support for CPU Hitachi 6309 #692
    • Fixed vdcz cleanup on c128z
    • Corrected COPPER DLI list under atarixl
    • Support for LOAD/RUN executable #340
    • Corrected COPPER generation on atari
    • Add support for PC IBM like platforms (pccga) #664


  • BETA UPDATE [rev. 20251020] BETA


    commit: 3f1a82999 (on github)
    • Add support for Motorola 6847 under CPU Hitachi 6309 #692
    • Add support for CPU Hitachi 6309 #692
    • Corrected optimization rule for 6309 (#692)


  • BETA UPDATE [rev. 20251019] BETA


    commit: 29fae0a16 (on github)
    • Add support for Commodore 16 (c16) #764
    • Optimized POKED avoiding useless temporary
    • Optimized POKEW avoiding useless temporary
    • Optimized POKE avoiding useless temporary
    • Optimized POKE under 6502 using self-modifying code
    • Added 6502 rule for 16 bit copy using temporary
    • Added optimization rule for direct comparison
    • Optimized 6502 code generation
    • Optimized 8 bit random generation


  • BETA UPDATE [rev. 20251017] BETA


    commit: 69849abff (on github)
    • Add support for CPU Hitachi 6309 #692
    • Support for geoRAM under c128 #1220
    • Added support for SID conditional
    • Added (not working) support for sid under c128z
    • Added support for TED conditional
    • Added support for POKEY conditional
    • Add support for Commodore 16 (c16) #764
    • Add support for CPU6309 conditional
    • Add support for CPU6510 conditional
    • Add support for CPU8502 conditional
    • Add support for CPU8501 conditional
    • Add support for CPU7501 conditional
    • Add support for CPU6510 conditional
    • Add support for high precision arithmetic #252


  • BETA UPDATE [rev. 20251015] BETA


    commit: 51d34fe31 (on github)
    • Add support for high precision arithmetic #252
    • Add support for CPU Hitachi 6309 #692


  • BETA UPDATE [rev. 20251011] BETA


    commit: 3e824c3aa (on github)
    • Add support for CPU Hitachi 6309 #692
    • Add support for high precision arithmetic #252


  • BETA UPDATE [rev. 20251007] BETA


    commit: 0a7a7fa9b (on github)
    • Add support for Commodore 16 (c16) #764
    • Completed preliminary COPPER support
    • Support for geoRAM under c64 #1219
    • Add support for high precision arithmetic #252
    • Add support for PC IBM like platforms (pccga) #664


  • BETA UPDATE [rev. 20250902] BETA


    commit: 05257dec5 (on github)
    • Add support for PC IBM like platforms (pccga) #664
    • Add support for RESET keyword #1218


  • BETA UPDATE [rev. 20250831] BETA


    commit: 5d5c20d6a (on github)
    • Refactorized ML cpu interface
    • Add array limit checks as debug option #352
    • Added support for ERROR command
    • Add support for high precision arithmetic #252
    • Support for LOAD/RUN executable #340
    • Add support for PC IBM like platforms (pccga) #664


  • BETA UPDATE [rev. 20250825] BETA


    commit: 63c0938aa (on github)
    • Support for LOAD/RUN executable #340
    • Add support for PC IBM like platforms #664
    • Add support for single binary image generation for cpc target
    • Refactorized ML cpu interface
    • Add support for FLASH instruction #263


  • BETA UPDATE [rev. 20250823] BETA


    commit: 73e87a81c (on github)
    • Add support for FLASH instruction #263
    • Added bsdnt module
    • Add support for (ARRAY) MIN
    • Add support for (ARRAY) MAX
    • Add support for PC IBM like platforms
    • Add support for VTech Laser 100, Laser 110, VZ200 and Laser 210 (vz200) #56
    • Refactorized ML cpu interface


  • BETA UPDATE [rev. 20250815] BETA


    commit: c6e269c84 (on github)
    • Refactorized ML cpu interface
    • Add support for PC IBM like platforms #664
    • Fixed PRINT RAW under vic2 (c64, c64reu, c128)
    • Fixed PLOT under tms9918
    • Add support for VTech Laser 100, Laser 110, VZ200 and Laser 210 (vz200) #56


  • BETA UPDATE [rev. 20250813] BETA


    commit: 3b3233389 (on github)
    • Add support for PC IBM like platforms #664
    • Fixed typo on z80 cpu code
    • Fixed dynamic string under z80
    • Fixed z80 ML instruction OR
    • Fixed inline powered 2 division under 6502 and z80
    • Add support for Commodore 16 #764
    • Refactorized ML cpu interface


  • BETA UPDATE [rev. 20250806] BETA


    commit: 27959d003 (on github)
    • Added support for TRIANGLE command
    • Added RECT as alias for REC


  • BETA UPDATE [rev. 20250805] BETA


    commit: a8ed22c2d (on github)
    • Add error if line is invalid on COPPER WAIT LINE
    • Added preliminary support for named COPPER lists
    • Added support for BEGIN / END COPPER and relative instructions
    • Added support for CIRCLE FILL and ELLIPSE FILL.
    • Added support for COLOR, COLOR BORDER and COLOR BACKGROUND inside a COPPER list.
    • Added support for COPPER COLOR, BORDER and BACKGROUND.
    • Added support for COPPER WAIT LINE, MOVE and STORE / POKE.
    • Added support for FCIRCLE command.
    • Added support for FELLIPSE command.
    • Deprecated BITMAP CLEAR changed into CLS.
    • Optimization on costant usage (keyboard).
    • Refactorized gtia code.
    • Refactorized gtia color border for direct assignment.
    • Refactorized vic2 color border for direct assignment.
    • Refactorized vic2 sprite colors for direct assignment.


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!