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.



  • v1.17.2 [rev. 20251025] COLDFIX


    commit: 1ea934c3e (on github)
    • Fixed SYS under c128
    • Fixed PUT IMAGE with IMAGEREF under gb
    • Fixed graphical cleanup under gb
    • Fixed CLS boxed under mo5
    • Fixed DOJO protocol on msx1 (not woking, yet)
    • Fixed DOJO protocol on plus4 (not woking, yet)
    • Fixed PUT IMAGE on ted
    • Fixed semicolon support for PRINT under coco
    • Fixed CLS boxed under c128z
    • Fixed vdcz cleanup on c128z
    • Fixed support for array TYPE under c64reu


  • v1.17.2 [rev. 20251020] COLDFIX


    commit: 5820bf506 (on github)
    • Fixed performance of PUT IMAGE under Motorola 6847
    • Fixed performance on task switching under 6809
    • Fixed minimal performance issue on VAL() under 6809
    • Fixed multithreading address recovery on 6809
    • Fixed floating point store under 6809
    • Fixed bitwidth adaption on division for FLOAT
    • Fixed memory corruption on huge optimizations


  • v1.17.2 [rev. 20251019] COLDFIX


    commit: 2e1468978 (on github)
    • Fixed CLS under vic20
    • Fixed GET command on undeclared variable


  • v1.17.2 [rev. 20251011] COLDFIX


    commit: d9246259d (on github)
    • Fixed bitwidth adaption on division
    • Fixed cursor location on PRINT with semicolon (d32,d64,coco,coco3)


  • v1.17.2 [rev. 20250826] COLDFIX


    commit: 07554f908 (on github)
    • Fixed NTSC/PAL detection hang under c64
    • Fixed optimized for 6502 (SYS calls)


  • v1.17.2 [rev. 20250825] HOTFIX


    for c64 c64reu c128 commit: a6c21228f (on github)
    • Fixed optimized for 6502 (SYS calls)


  • v1.17.2 [rev. 20250823] COLDFIX


    commit: 9b90e9801 (on github)
    • Fixed PLOT under tms9918


  • v1.17.2 [rev. 20250813] COLDFIX


    commit: d38ee4987 (on github)
    • Fixed plotting under vic2 when no bitmap mode is enabled (c64, c64reu, c128)
    • Optimized DRAW command when LINE pattern is not use
    • Fixed command M on DRAW
    • Reordered parsing options on makefile


  • v1.17.2 [rev. 20250806] COLDFIX


    commit: 77ceec43b (on github)
    • Reordered parsing options on makefile
    • Fixed plotting under vic2 when no bitmap mode is enabled (c64, c64reu, c128)
    • Optimized DRAW command when LINE pattern is not use
    • Fixed command M on DRAW
    • Fixed MSPRITES under c64/c64reu (irq interference).


  • v1.17.2 [rev. 20250726] HOTFIX


    for c64 c64reu commit: 77ceec43b (on github)
    • Fixed MSPRITES under c64/c64reu (irq interference).


  • v1.17.2 [rev. 20250720] COLDFIX


    commit: b3c8f4d76 (on github)
    • Add support for SPRITE / MSPRITE type under TYPE


  • v1.17.2 [rev. 20250719] COLDFIX


    commit: 2ebe8b1d2 (on github)
    • Fixed keyboard / joystick async detection with multiplexed sprites
    • Added support for INC/DEC with multithreaded array
    • Add support for SPRITE / MSPRITE type under TYPE
    • Fixed TIMER increment under multiplexed ack (c64, c128, c64reu).
    • Fixed graphic CLS under 6847 on mode 14


  • v1.17.2 [rev. 20250719] HOTFIX


    for c64 c128 c64reu commit: 9082d3b66 (on github)
    • Fixed TIMER increment under multiplexed ack (c64, c128, c64reu).


  • v1.17.2 [rev. 20250715] COLDFIX


    commit: 3b396d2ee (on github)
    • Fixed graphic CLS under 6847 on mode 14
    • Fixed volume settings under ted (plus4)
    • Fixed MUSIC support under pc128op with sn76489
    • Increased temporary space for error messages
    • Fixed volume set on sn-76489 on z80
    • Fixed frequency offset on AY-8910 music support under z80
    • Fixed optimistic rule on peephole optimizer for 6809
    • Fixed greater than 32 bit under 6502


  • v1.17.2 [rev. 20250714] HOTFIX


    for coco d32 d64 commit: c6ca26621 (on github)
    • Fixed optimistic rule on peephole optimizer for 6809.


  • v1.17.2 [rev. 20250706] COLDFIX


    commit: f98ba66ec (on github)
    • Fixed storing float under vic20
    • Fixed wrong warnings on gime and cpc


  • v1.17.2 [rev. 20250703] HOTFIX


    for coco3 commit: e4e34d2a3 (on github)
    • Fixed wrong warnings on gime and cpc.


  • v1.17.2 [rev. 20250630] COLDFIX


    commit: 0918c3462 (on github)
    • Added error on accessing multithreaded array outside PARALLEL PROCEDURE.
    • Fixed red colors on 6847 chipset (coco)
    • Fixed red colors on gtia chipset (atari/atarixl)


  • v1.17.2 [rev. 20250629] COLDFIX


    commit: 207eb02f9 (on github)
    • Fixed c64, c128 and c64reu optimization on image loading.


  • v1.17.2 [rev. 20250621] COLDFIX


    commit: 8713c8404 (on github)
    • Optimized PUT IMAGE under 6847
    • Fixed division with signed type under 6502
    • Fixed CIA enabled when multiplexed sprites are on (c64, c64reu, c128)


  • v1.17.2 [rev. 20250604] COLDFIX


    commit: 8b1a774f5 (on github)
    • Add support for DATA segments on REU (c64reu)
    • Fixed BANK READ with zero len (c64reu)
    • Fixed memory leak in ATLAS / SEQUENCE generation on memory areas
    • Fixed BANK READ for primitive types under c64reu
    • Fixed OPTION definition
    • Add support for string constant in DATA using square brackets
    • Fixed PRINT on mode 3 (vic2)
    • Fixed memory assignment on resident memory area when banks are in use
    • Fixed optimization rule for 6502


  • v1.17.2 [rev. 20250602] COLDFIX


    commit: 7897c3543 (on github)
    • Fixed ASCIICODE
    • Added support for DEFINE PRINT RAW / NORMAL
    • Fixed support for SCREEN UNIQUE on PRINT on vic2 (mode 2 and 3)
    • Fixed TEXTADDRESS elision for vic2 chipset
    • Fixed error messages on INCLUDEd files
    • Fixed PAPER command on vic2
    • Fixed cursor reposition on CLS with colors
    • Optimization: moved CENTER as library
    • Fixed SOUND OFF on sid
    • Added optimization rule for 6502
    • Add support for DEFINE GET IMAGE FAST / SAFE
    • Added support for unique mode on GET IMAGE
    • Fixed WAIT VBL with a specific raster line under vic2
    • Fixed code generation for 6502 on signed byte constants
    • Fixed MUSIC LOOP under sid
    • Fixed GET IMAGE usage inside TIMERed routines
    • Fixed PUT IMAGE usage inside TIMERed routines
    • Fixed PRINT usage inside TIMERed routines
    • Add support for DEFINE GET IMAGE FAST / SAFE
    • Add support for DEFINE PUT IMAGE FAST / SAFE
    • Added support for PEN variable
    • Fixed CLINE under vic2 (c64, c64reu, c128)
    • Add support for DEFINE PUT IMAGE FAST / SAFE
    • Added interrupt isolation for PUT IMAGE under vic2


  • v1.17.2 [rev. 20250530] COLDFIX


    commit: 9093f6ebb (on github)
    • Added support for DEFINE PRINT SAFE / FAST
    • Deferred loading of text routines under vic2 (c64, c64reu, c128)
    • Deferred loading of text routines under vic1 (vic20)
    • Deferred loading of text routines under ted (plus4)
    • Deferred loading of text routines under gtia (atari/atarixl)
    • Fixed MUSIC STOP on sid


  • v1.17.2 [rev. 20250527] COLDFIX


    commit: 653b8bc9a (on github)
    • Fixed screen mode unique startup value on vic2
    • Space optimized PUT IMAGE on vic2
    • Fixed CLINE under vic2 (mode 3)
    • Fixed CLS boxed under vic2


  • v1.17.2 [rev. 20250525] COLDFIX


    commit: ca724e687 (on github)
    • Fixed GET IMAGE under vic2
    • Fixed code generation for 6809
    • Fixed PUT IMAGE with IMAGEREF
    • Added support for DEFINE IMAGEREF FAST / SAFE directive
    • Fixed frame size detection on LOAD SEQUENCE


  • v1.17.2 [rev. 20250522] COLDFIX


    commit: 3157060cb (on github)
    • Removed unused variables (draw related)
    • Removed unused variables (fp related)
    • Joystick emulation disabled on pc128op by default
    • Fixed GET IMAGE under tms9918
    • Removed unused variables (slice related)
    • Removed unused variables (blit related)
    • Removed unused variables (tiles related)
    • Removed unused variables (sprite related)
    • Removed unused variables (palette related) on tms9918
    • Removed unused variables (protothread related)
    • Removed unused variables (fp related)
    • Optimized space occupied by unused variables
    • Reduced footprint for strings under coleco
    • Fixed MOD under 6809
    • Fixed TEXTADDRESS variable name
    • Added support for BITMAPADDRESS variable
    • Fixed endianess of HEX for 6809




  • v1.17.1 [rev. 20250512] COLDFIX


    commit: 92c0fdc86 (on github)
    • Corrected optimization for to8 avoid inline if bank reading
    • Fixed default foreground / background color on zx
    • Fixed SGN on 6809
    • Fixed WAIT VBL on coco
    • Fixed build command for c128z
    • Fixed preproc for gtia (atari / atarixl)
    • Fixed need for PARAM if OPTION EXPLICIT is enabled
    • Made DRAW (program) and PLAY (program) multitasking friendly
    • Fixed error messages for plus and minus signs
    • Fixed sg1000 joystick support
    • Fixed error messages for curly brackets
    • Corrected bank reading under to8 with var relocation


  • v1.17.1 [rev. 20250421] COLDFIX


    commit: 311f17084 (on github)
    • Fixed cpc build command line
    • Fixed disruptive optimization rule for 6809
    • Fixed missing import for pc1403


  • v1.17.1 [rev. 20250417] COLDFIX


    commit: da8e2e161 (on github)
    • Added starting address for to8 target
    • Fixed bitmap address when DOUBLE BUFFER is disabled on ef936x
    • Fixed wrong abscissa bitwidth on PUT IMAGE on ef936x
    • Fixed disruptive optimization rule on 6809
    • Fixed asm snippets emit in empty procedures


  • v1.17.1 [rev. 20250412] COLDFIX


    commit: 6281390f3 (on github)
    • More readable syntax errors
    • Fixed PUT TILEMAP using embedded IMAGEREF
    • Add support for quote around INCLUDEd filenames


  • v1.17.1 [rev. 20250329] COLDFIX


    commit: 8fc054e3d (on github)
    • Fixed 16 bit constant comparison greater than on 6809
    • Fixed assembly generation for 6809
    • Fixed starting address on coco when given


  • v1.17.1 [rev. 20250327] COLDFIX


    commit: c3257e110 (on github)
    • Fixed OPTION EXPLICT with index variable for FOR
    • Fixed IMAGEREF using single IMAGE (size error)


  • v1.17.1 [rev. 20250326] COLDFIX


    commit: 2b3a760d5 (on github)
    • Fixed 16 bit signed multiplication under z80 and sm83
    • Fixed const definition
    • Fixed array access with byte index (big endian)


  • v1.17.1 [rev. 20250323] COLDFIX


    commit: 0cec3a798 (on github)
    • Completed support for WAIT FIRE RELEASE on sc3000/sg1000 target
    • Completed support for WAIT FIRE RELEASE on msx1 target
    • Completed support for WAIT FIRE RELEASE on pia targets (coco, d32, d64)
    • Completed support for WAIT FIRE RELEASE on atari targets
    • Completed support for WAIT FIRE RELEASE on cia targets
    • Fixed DEFINE JOYSTICK SYNC on cia targets (c64, c64reu and c128)


  • v1.17.1 [rev. 20250320] COLDFIX


    commit: b790e9b11 (on github)
    • Fixed TI support under c128z
    • Fixed PUT IMAGE with IMAGEREF of compressed images under pc128op


  • v1.17.1 [rev. 20250317] COLDFIX


    commit: 5fd9862db (on github)
    • Fix floating point to string conversion under 6502 #782
    • Corrected negative floating number decoding
    • Fixed 16 bit signed value to floating (6502)
    • Fixed COS calculation under 6502
    • Fixed COS calculation under 6809
    • Fixed mantissa lenght on 6809 floating point conversion


  • v1.17.1 [rev. 20250315] COLDFIX


    commit: ab5c883de (on github)
    • Removed disruptive optimization rule for 6502
    • Fixed OPTION EXPLICIT with array
    • Fixed PLOT under irq management on gime (coco3)
    • Fixed PLOT under ef936x


  • v1.17.1 [rev. 20250301] COLDFIX


    commit: dba4ca9ac (on github)
    • Fixed for GET IMAGE under ef936x on DOUBLE BUFFER pragma
    • Fixed copy of multiple bits under 6809 and sm83 cpu




  • v1.17 [rev. 20250301] COLDFIX


    commit: 8be55e2cd (on github)
    • Fixed signed byte division under 6809.


  • v1.17 [rev. 20250228] COLDFIX


    commit: 9d3f3ce8a (on github)
    • Fixed REC width and height limits
    • problem with FLOAT mathematics #1202


  • v1.17 [rev. 20250227] COLDFIX


    commit: 581cfa299 (on github)
    • problem with FLOAT mathematics #1202 problem with FLOAT array #1201
    • Fixed signed best type calculation
    • Fixed PUT IMAGE under zx
    • Fixed GET IMAGE under zx
    • Data type limits to be checked on FOR loops (using OPTION DEFAULT TYPE) #1200


  • v1.17 [rev. 20250225] COLDFIX


    commit: 558e7e39d (on github)
    • Data type limits to be checked on FOR loops (using OPTION DEFAULT TYPE) #1200
    • Fixed vertical scrolling under graphical mode on 6847
    • Fixed HEX() translation under big endian cpu (6809)
    • Fixed PRINT under graphic mode for 6847


  • v1.17 [rev. 20250222] COLDFIX


    commit: a875f8890 (on github)
    • Fixed wrong CPX instruction under 6809' code generation
    • Fixed graphical CLS under 6847 (coco, d32, d64)
    • Fixed vertical scrolling on PRINT under tms9918


  • v1.17 [rev. 20250218] COLDFIX


    commit: 29a4a9636 (on github)
    • Fixed print tabs under 6847 (d32,d64,coco)
    • Fixed print tabs under vdcz (c128z)
    • Fixed printing embedded AT in string for vic1
    • Fixed printing embedded AT in string for ted
    • Fixed printing embedded AT in string for ef936x
    • Fixed printing embedded AT in string for tms9918
    • Fixed printing embedded AT in string for 6847
    • Fixed printing embedded AT in string for vic2
    • Fixed printing embedded AT in string for gtia, ted, vic1 and vic2
    • Fix string descriptor leak


  • v1.17 [rev. 20250210] COLDFIX


    commit: b02f0d362 (on github)
    • Fixed backspace on INPUT under d32/d64
    • Fixed CLINE under zx
    • Missing increment if explicit STEP is required #1195


  • v1.17 [rev. 20250208] COLDFIX


    commit: 69b39d00b (on github)
    • Optimized code generation for FOR loops with constants
    • Optimized code generation for MEMORIZE / REMEMBER
    • Make build error available for IDE under msx1
    • Small fix to color selection under gtia (atari/atarixl)
    • Fixed colors under 6847 (d32, d64, coco)


  • v1.17 [rev. 20250207] COLDFIX


    commit: 45aa58697 (on github)
    • Optimization of PRINT under cpc #1184
    • Wrongly optimized code on Z80 #1192
    • Fixed startup values for default console under vic2
    • Fixed CLINE (graphic) under vic2
    • Fixed implicit variable definition using READ
    • Fixed maximum number of rows on cpc
    • Fixed ghost key under coco/coco3
    • Fixed hang on BELL command under coco.


  • v1.17 [rev. 20250205] HOTFIX


    for coco commit: b9b789cdc (on github)
    • Fixed hang on BELL command under coco.


  • v1.17 [rev. 20250205] COLDFIX


    commit: 1c393ae91 (on github)
    • Fixed array implicit initialization and FILL SCREEN
    • Fixed IRQ processor restore under coco3.


  • v1.17 [rev. 20250204] HOTFIX


    for coco3 commit: 3444ee459 (on github)
    • Fixed IRQ processor restore under coco3.


  • v1.17 [rev. 20250204] COLDFIX


    commit: fd6c85e7c (on github)
    • Avoid keyboard ghost key under pia (coco,coco3)
    • Fixed color mapping under 6847 (coco)
    • Fixed IRQ processor restore under coco/coco3
    • Fixed joysting slowness under BIN image (coco/coco3)
    • Fixed PALETTE PRESERVE / NOT PRESERVE under gtia (atari/atarixl)
    • Compiler crash if RESTORE is used without DATA #1189


  • v1.17 [rev. 20250203] HOTFIX


    for coco commit: 5565ea4ac (on github)
    • Fixed IRQ processor restore under coco/coco3.


  • v1.17 [rev. 20250202] HOTFIX


    for cpc commit: d1a33ecd8 (on github)
    • Compiler crash if RESTORE is used without DATA #1189


  • v1.17 [rev. 20250202] COLDFIX


    commit: 3c060c0d6 (on github)
    • Fixed vertical scroll for gime (coco3)
    • Fixed cursor under INPUT for coco3
    • Fixed PRINT under gime (coco3)
    • Added support for specific key layout of emulated joystick for 10 liner under zx
    • Fixed keyboard backspace under zx


  • v1.17 [rev. 20250201] COLDFIX


    commit: d1d94fb14 (on github)
    • Fixed PLOT / POINT AT under mode 14 on 6847
    • Fixed CLS with color under mode 14 on 6847
    • Fixed reset vars under msx1 when 10 liner is enabled
    • Optimized code generation for CASE instance
    • Optimized code generation for INK/PEN call
    • Optimized code generation for new line on PRINT
    • Fixed makefile for msx1 to show error on compilation
    • Fixed constant generation
    • Fixed buffer parsing
    • Fixed console initialization on gime (coco3) at startup
    • Fixed 32 bit division under 6809 (16 bit workaround)
    • Fixed PRINT BUFFER internal buffer size
    • Force to use extended memory if 10liner is requested under c64
    • Fixed rle inclusion if not used
    • Fixed SCREEN MODE UNIQUE under vic2
    • Fixed palette allocation on gime modes (coco3)
    • Fixed tab parsing under gime (coco3)
    • Fixed INKEY for not printable characters under coco


  • v1.17 [rev. 20250130] HOTFIX


    for coco coco3 commit: 1a7649e90 (on github)
    • Fixed palette allocation on gime modes (coco3)
    • Fixed tab parsing under gime (coco3)
    • Fixed INKEY for not printable characters under coco


  • v1.17 [rev. 20250130] COLDFIX


    commit: 9c5271206 (on github)
    • Added support for LOOP UNTIL / LOOP WHILE
    • Add bound check on statically accessed arrays
    • Add support for SLEEP instruction
    • Added SINGLE as alias for FLOAT
    • Allow use of integers directly with SCREEN / GRAPHICS commands
    • Fixed PRINT under text mode of vic2 (c64,c64reu,c128)


  • v1.17 [rev. 20250129] COLDFIX


    commit: 7e7f23cf8 (on github)
    • Fixed PRINT under text mode of vcdz (c128z)
    • Fixed variable init under 10 liner for plus4
    • change graphics mode on CPC doesn't always work #1183
    • Fixed LOWER under plus4
    • Sources code embedded must be readonly
    • Fixed PRINT under text mode of 6847 (d32,d64,coco)
    • Fixed PRINT BUFFER


  • v1.17 [rev. 20250128] COLDFIX


    commit: 3ad3d2a29 (on github)
    • Fixed INPUT under pia (d32, d64, coco, coco3)
    • Fixed PRINT under vic1
    • Fixed PRINT under tms9918
    • Fixed startup console initialization (for 10 liners)




  • v1.16.5 [rev. 20250124] COLDFIX


    commit: 22cfb5315 (on github)
    • Fixed EVERY ON/EVERY OFF with timers under z80 targets
    • COLOR 0 problem (cpc) #1178


  • v1.16.5 [rev. 20250121] COLDFIX


    commit: e3cf824f5 (on github)
    • Fixed 32 bit division under 6809
    • Fixed number conversion using INPUT


  • v1.16.5 [rev. 20250120] COLDFIX


    commit: cf483e48c (on github)
    • Compilation error on IMAGEREF usage with a assigned-by-copy image #1172
    • ROT (manual problem) #1117
    • FILL does not work with all data types #1175
    • IDE crash when trying to use a non-global variable in an ASM block (z80) #1177
    • FILL command problem with large arrays (z80) #1175
    • Fixed optimizer under z80


  • v1.16.5 [rev. 20250118] COLDFIX


    commit: c5484e4f1 (on github)
    • FILL command problem with large arrays (z80) #1175
    • IDE crash when trying to use a non-global variable in an ASM block (z80) #1177
    • Fixed PLOT under zx
    • Fixed JOY under sg1000 and sc3000
    • Fixed PLOT under msx1
    • Fixed KEY STATE under mo5
    • Reorganized resolution selection under gime (coco3)
    • Fixed disruptive optimization rule under 6809
    • Fixed JOY under sg1000 and sc3000


  • v1.16.5 [rev. 20250116] COLDFIX


    commit: a1c007492 (on github)
    • Compilation error on IMAGEREF usage with a assigned-by-copy image #1172
    • Missed FILL on a power of 2 bounding limit (z80) #1173
    • Fixed color selection under gtia (atari/atarixl)
    • Added sync support on BELL for PLAY usage
    • Fixed DRAW (program) under 6809
    • Fixed string to number conversion under 6809
    • Fixed disruptive optimization rule under 6809
    • Fixed WAIT FIRE under d32/d64/coco
    • Added support for JOYDIR (and abbreviation)
    • Added support for SHUFFLE (and relative abbreviations)
    • Added hash for datatype suffix for BYTE
    • Added support for FILL INCREMENT (and relative abbreviations)
    • Added support for FILL RANDOM (and relative abbreviations)
    • Fixed abbreviation for SLICE
    • Added abbreviation for RND (Rr)
    • Added alias for TICKS PER SECONDS (TPS), abbreviated as Tp
    • Added abbreviation for SIGNED BYTE (SBYTE, Sb)
    • Added abbreviation for PALETTE (PAl)
    • Fixed GLOBAL keyword when used on parameters
    • Fixed color selection under atari for PRINT / PRINT RAW


  • v1.16.5 [rev. 20250112] COLDFIX


    commit: 7c493008e (on github)
    • Fixed BAR
    • Fixed DRAW (program)
    • Fixed disruptive optimization rule under 6502
    • Fixed WAIT FIRE under atari


  • v1.16.5 [rev. 20250111] COLDFIX


    commit: 36492a504 (on github)
    • Fixed error message if compiler cannot open a file
    • Fixed need of final DO:RUN PARALLEL:LOOP if ANIMATION/MOVEMENT is used
    • Updated VERSION of z88dk


  • v1.16.5 [rev. 20250106] HOTFIX


    for cpc commit: 8f0823226 (on github)
    • Fixed DEFINE IMAGE FREE WIDTH support under cpc


  • v1.16.5 [rev. 20250104] COLDFIX


    commit: 90b332de5 (on github)
    • Wrong masking of border color under cpc (regression) #1165


  • v1.16.5 [rev. 20250102] COLDFIX


    commit: 01ede36b3 (on github)
    • Moved to 2025: new year, new possibilities!


  • v1.16.5 [rev. 20241231] COLDFIX


    commit: 69d974989 (on github)
    • Fixed WAIT FIRE using dynamic value
    • Fixed disruptive optimization rule under 6502


  • v1.16.5 [rev. 20241230] COLDFIX


    commit: 09c27fc5d (on github)
    • Wrongly parsed FILESIZE / FILE SIZE if non constant #1154
    • Fixed entropy management on seed initialization for z80
    • RANDOM seems not very random after RANDOMIZE TIMER #1155
    • Mask border color on 4 bit limitations (cpc)
    • DEFINE compilation errors #1152


  • v1.16.5 [rev. 20241227] COLDFIX


    commit: 19609f384 (on github)
    • Wrong TAB (constant) parsing #1134
    • DEFINE compilation errors #1152
    • OPTION compilation errors #1147


  • v1.16.5 [rev. 20241226] COLDFIX


    commit: 1d9833910 (on github)
    • Wrong TAB (constant) parsing #1134
    • SQR manual problem #1128
    • Wrongly parsed STRIP (storage) #1130
    • Wrongly parsing of STRIP LOAD command #1131
    • SUBSTRING (function) manual error #1132
    • SWAP manual error #1133
    • SET TAB seems do nothing #1135
    • TAN function compiler crash under z80 #1136
    • Wrong parsing of TILES HEIGHT constant #1137
    • VOLUME MAX manual error #1138
    • WAIT FIRE compile crash (cpc) #1139
    • VOLUME problem when using WAIT KEY (msx1 and cpc) #1140
    • Wrong parsing for X CURS #1141
    • Fixed page 0 register overlapping on vic20
    • Fixed UDCHAR/CODE segment under vic20
    • Fixed starting address on vic20 executable


  • v1.16.5 [rev. 20241224] COLDFIX


    commit: 6a7ef2c5e (on github)
    • Wrongly initialization of mode 1 under cpc #1126


  • v1.16.5 [rev. 20241223] COLDFIX


    commit: e5216f59b (on github)
    • Infinite FOR using extreme SIGNED BYTE values #1123
    • Wrongly defined constant SLASH under cpc #1126


  • v1.16.5 [rev. 20241222] COLDFIX


    commit: 57afcacbe (on github)
    • Fixed forward referring labels for ON...GOTO/GOSUB
    • Unexpected behaviour with RANDOM HEIGHT and RANDOM WIDTH #1115


  • v1.16.5 [rev. 20241220] HOTFIX


    for cpc commit: 7234534cb (on github)
    • Unexpected behaviour with RANDOM HEIGHT and RANDOM WIDTH #1115


  • v1.16.5 [rev. 20241220] COLDFIX


    commit: 3c777c57b (on github)
    • Fixed detecting signed constants when NARROW UNSIGNED in effect
    • Fixed sprite conversion under tms9918
    • Fixed charset selection on vic2 startup
    • Wrong example for RANDOM #1110


  • v1.16.5 [rev. 20241216] COLDFIX


    commit: 1b05b2b8d (on github)
    • CREATE PATH without keyword TO #1100
    • Wrongly TRAVEL example in manual and TO keyword #1101 #1100
    • Wrong management of ANIMATION EASEIN / EASEOUT #1103
    • PRINT manual error #1105
    • PROC manual error #1106
    • Wrong PROCEDURE explanation in manual #1107
    • Missing END PROC missing detection #1108


  • v1.16.5 [rev. 20241215] COLDFIX


    commit: a2cb9253d (on github)
    • Startup palette fix on cpc #1097
    • Wrong last position when ORIGIN is active #1086
    • Added rules on makefile to build compressed compilers


  • v1.16.5 [rev. 20241213] COLDFIX


    commit: 29500be09 (on github)
    • Wrong POKEW/PEEKW behaviour under z80 #1089
    • Wrong POKED/PEEKD behaviour under z80 #1090
    • PEN (function) manual error #1091
    • PERIOD (constant) manual error #1092
    • Wrong behaviour of PICK #1093
    • Compilation and execution issues on PLACE #1094
    • Compiler error with PMODE not using constants #1095
    • POSITION manual issue #1096
    • Fixed SPRITE AT for hardware sprite under vic2
    • PAGE 0 (constant) error #1088


  • v1.16.5 [rev. 20241212] COLDFIX


    commit: bf9a3b250 (on github)
    • PAGE 0 (constant) error #1088
    • OUT manual issue #1087
    • Fixed makefile for paralleling build of libxml2
    • Fixed makefile to support parallel jobs with modules
    • Fixed directory not existent error in rebuilding if src-generated is missing
    • Added support for threads parameter on makefile


  • v1.16.5 [rev. 20241210] COLDFIX


    commit: 241c42eed (on github)
    • Unwanted trail on HSCROLL RIGHT (cpc) #1063
    • HSCROLL SCREEN LEFT has broken (cpc) #1082
    • Compiler error with ON ... GOSUB with unexistent label #1084
    • Unexpected result with OR #1085


  • v1.16.5 [rev. 20241209] COLDFIX


    commit: 883ea3153 (on github)
    • Compile error using MUSIC PAUSE / MUSIC RESUME #1076
    • Compile error using MUSIC SEEK instruction #1077
    • Compile error using MUSIC STOP #1078
    • Fixed PAPER command under vic20
    • Fixed KEYBOARD ASYNC support under pc128op
    • Incorrect map of NONE on SCANCODE #1080
    • Fixed tms9918 support under coleco, msx1, sc3000 and sg1000
    • Fixed disruptive optimization rules on hardware registers on 6502
    • Fixed KEYBOARD ASYNC support under pc128op
    • Fixed KEYBOARD ASYNC support under coco
    • Restored irq acknowledgement on c128
    • Wrongly parsing of NOTE (constant) #1081
    • Unwanted trail on HSCROLL RIGHT (cpc) #1063


  • v1.16.5 [rev. 20241208] COLDFIX


    commit: 5d27a8a2f (on github)
    • Fixed sprite color decoding on multiplexed sprites under vic2
    • Added support for DEFINE IMAGE FREE HEIGHT / WIDTH
    • Fixed support for TRAVEL using arrays of PATH elements
    • Fixed support for PATH elements in array
    • Fixed disruptive optimization rule on z80


  • v1.16.5 [rev. 20241207] COLDFIX


    commit: 3272460a7 (on github)
    • Fixed disruptive optimization rule under 6809
    • Deterministic RND values even after RANDOMIZE #1072
    • Unrespected dicrective DEFINE CLS IMPLICT at startup #1073
    • Added support for explicit versioning of compilers
    • Fixed MSPRITE data type generation where unsupported
    • Fixed graphic mode CLS under vic2


  • v1.16.5 [rev. 20241206] COLDFIX


    commit: 1e47b1060 (on github)
    • Updated makefile to optimize compilation time
    • MID (instruction) generic error on constant string assignment #1070
    • Atari XL Graphics 8 (320x192x2) - Y wraps around at 96px #1068
    • MID (function) manual error #1069
    • DSK image generation does not work under msx1 #946
    • FREE function seems not working #1049
    • Unwanted trail on HSCROLL RIGHT (cpc) #1063
    • Wrong number of filled rows using FILL #1048
    • Re-enabled floating point with multiplexed sprites


  • v1.16.5 [rev. 20241205] COLDFIX


    commit: eb7cb20b1 (on github)
    • Fixed graphic mode CLS under vic2
    • Moved screen memory under vic-2 to have move space for sprites
    • Fixed unread rule on 6502 optimizer
    • Changed zero page registers for multiplexed sprites (no fp allowed)
    • Re-enabled IRQ on c64, c64reu and c128
    • IMAGES or DLOAD potential issue (cpc) #1054
    • Wrong starting index for INSERT function and tail management #1057
    • Wrong description and example for TRAVEL #1065
    • DEFDGR seems not work #1066
    • Re-enabled peephole optimizer under 6502
    • LEFT (instruction) vs LEFT (function) manual problem #1061


  • v1.16.5 [rev. 20241204] HOTFIX


    for c64reu commit: 649dfdcac (on github)
    • Re-enabled peephole optimizer under 6502
    • LEFT (instruction) vs LEFT (function) manual problem #1061


  • v1.16.5 [rev. 20241203] COLDFIX


    commit: e78272d68 (on github)
    • Wrong number of filled rows using FILL #1048
    • Wrong starting index for INSERT function and tail management #1057
    • Optimized descriptor retrieve for dynamic strings
    • Wrong JOY FIRE (constant) #1059
    • INCLUDE command syntax unrecognized #1055
    • Wrong behaviour of INSERT after second line #1058
    • The keyword LCASE doesn't seems recognized (does not compile) #1060
    • LEFT (instruction) vs LEFT (function) manual problem #1061
    • Wrong example on LEFT ARROW (constant) #1062


  • v1.16.5 [rev. 20241202] HOTFIX


    for cpc commit: c6253b3fb (on github)
    • Wrong JOY FIRE (constant) #1059
    • INCLUDE command syntax unrecognized #1055
    • Wrong behaviour of INSERT after second line #1058
    • The keyword LCASE doesn't seems recognized (does not compile) #1060
    • LEFT (instruction) vs LEFT (function) manual problem #1061
    • Wrong example on LEFT ARROW (constant) #1062




  • v1.16.4 [rev. 20241130] COLDFIX


    commit: af54e7e94 (on github)
    • FREE function seems not working #1049
    • Compilation error and nothing seems happen using HSCROLL #1051
    • IF function seems unrecognized #1052
    • IMAGE function problem (cpc) #1053
    • Added support for OPTION FINAL RETURN


  • v1.16.4 [rev. 20241128] COLDFIX


    commit: 7aab899d3 (on github)
    • Fixed multiplexed sprites under c64reu
    • Fixed multiplexed sprites under c64


  • v1.16.4 [rev. 20241127] COLDFIX


    commit: e425b375e (on github)
    • Fixed BIT access inside array (after AND with const fix)
    • Fixed startup on sid
    • Corrected and aligned instruments on sid
    • Aligned instruments on sid
    • Using GLOCKENSPIEL as default instrument for SOUND (on c64)
    • Fixed interference between INKEY and PRINT under cia/vic2


  • v1.16.4 [rev. 20241126] COLDFIX


    commit: 97915f3f9 (on github)
    • Fixed DATA management under c128
    • Fixed TIMER under to8
    • Fixed PRINT under to8 and mo5
    • Fixed pc1403 target
    • Fixed 16 bit subctraction under z80
    • Fixed array access under z80
    • Fixed PRINT graphic under gtia
    • Fixed cpu div 16 bit const under 6502


  • v1.16.4 [rev. 20241124] COLDFIX


    commit: 7ca2c8ff4 (on github)
    • Fixed AND with const
    • Fixed character variable emission
    • Fixed MIDI program replacement if instrument is missing on score
    • Fixed MUSIC under pokey (atari/atarixl)
    • Fixed PARALLEL PROCEDURE first yield
    • Fixed interference keyboard / music under atari/atarixl
    • Fixed READ ONLY by default for LOAD MUSIC
    • Fixed sn76489 support under coco


  • v1.16.4 [rev. 20241121] COLDFIX


    commit: b961e652a (on github)
    • Fixed TIMER usage under sc3000
    • Fixed TIMER under plus4
    • Fixed embedded wait timer under mo5
    • Fixed WAIT VBL under plus4
    • Fixed automatic read only images on specific targets (like coleco)
    • Fixed WAIT VBL under vic2
    • Fixed KILL setting corrent thread statup on removing it


  • v1.16.4 [rev. 20241119] COLDFIX


    commit: a3a7c03f5 (on github)
    • Fixed ppq and tick timing on MIDI>IMF decoding
    • Fixed extra jiffies on IMF decoding (sid)
    • Fixed conflict on zero page for keyboard detection under cia
    • DIV command unsupported on FLOAT type #1034
    • Added END STORAGE token
    • Artefacts on low res scrolling under coco #1037
    • DIV command unsupported on FLOAT type #1034
    • Wrong DISTANCE result on z80 #1033
    • Fixed UBOUND maximum limit to base 0
    • Fixed n-bits copy for 6502


  • v1.16.4 [rev. 20241118] HOTFIX


    for coco commit: b3bb0c20a (on github)
    • Artefacts on low res scrolling under coco #1037


  • v1.16.4 [rev. 20241118] HOTFIX


    for cpc commit: 8a34d72ab (on github)
    • DIV command unsupported on FLOAT type #1034
    • Wrong DISTANCE result on z80 #1033
    • Fixed UBOUND maximum limit to base 0
    • Fixed n-bits copy for 6502


  • v1.16.4 [rev. 20241117] COLDFIX


    commit: d43cbd51c (on github)
    • Wrong color value for purple on cpc #1029
    • Wrong byte order under COMBINE NIBBLE (z80) #1030
    • DATA seems not to put correct data inside code (cpc) #1032
    • Fixed MIDI decoding to IMF on sid implementation
    • Fixed drums decoding on sid
    • Fixed sid instruments BANJO and alike
    • Fixed MIDI instrument decoding on multiple tracks


  • v1.16.4 [rev. 20241116] HOTFIX


    for cpc commit: bba330b7c (on github)
    • Clear seems not clearing variables correctly #1027
    • Issues on ellipse algorithm #986
    • PUT KEY issue (cpc) #994


  • v1.16.4 [rev. 20241115] HOTFIX


    for cpc commit: 4c3a7cb73 (on github)
    • Wrong color value for purple on cpc #1029


  • v1.16.4 [rev. 20241114] HOTFIX


    for cpc commit: 4a056d193 (on github)
    • Ghost keys with ASCIICODE on cpc #1017
    • Issues on ellipse algorithm #986


  • v1.16.4 [rev. 20241113] COLDFIX


    commit: a6ff91042 (on github)
    • PUT KEY issue (cpc) #994
    • ASTERISK problem (cpc) #1018
    • AT instruction (cpc) #1019
    • BAR issues (cpc) #1020
    • BIG ENDIAN / <LITTLE ENDIAN (code>cpc) #1021
    • BIN issue (cpc) #1022
    • PUT KEY issue (cpc) #994
    • AFTER...CALL does not wait for triggering #1015


  • v1.16.4 [rev. 20241113] COLDFIX


    commit: e98d1cfa7 (on github)
    • Added precision to WAIT MS
    • Wrong duration of SOUND command on cpc #1002
    • Refactorized audio duration
    • Added support for division using constants
    • Added cpu division with const.
    • Unwinding stack on retrieving values on z80 #1014


  • v1.16.4 [rev. 20241111] COLDFIX


    commit: 1d1994fb6 (on github)
    • BEGIN STORAGE seems not working #1013
    • Wrong duration of SOUND command on cpc #1002
    • Conflict between F4 key and F4 note #1004
    • Missing PLAY syntax as documented #1007
    • Added support for volume encoding in midi>imf converter (cpc)
    • VOLUME does not work under cpc #1005
    • MUSIC does not work under cpc #1009


  • v1.16.4 [rev. 20241110] HOTFIX


    for cpc commit: 9c1a4fa31 (on github)
    • Wrong duration of SOUND command on cpc #1002
    • Conflict between F4 key and F4 note #1004
    • Missing PLAY syntax as documented #1007
    • Added support for volume encoding in midi>imf converter (cpc)
    • VOLUME does not work under cpc #1005
    • MUSIC does not work under cpc #1009


  • v1.16.4 [rev. 20241109] COLDFIX


    commit: d993cbff0 (on github)
    • SOUND problem (cpc) #999
    • ASCIICODE problem (cpc) #998
    • Fixed PUT KEY under all targets
    • Fixed PRINT under zx
    • PUT KEY issue (cpc) #994
    • CAPS LOCK issue (cpc) #992


  • v1.16.4 [rev. 20241109] COLDFIX


    commit: 2ae802ca4 (on github)
    • Fixed register deallocation during expr evaluation for BLIT IMAGE
    • Fixed blit register allocation under 6809, 6502 and z80
    • Fixed PLOT and CLS under plus4
    • Fixed bitmap mode on plus4
    • Fixed text mode under plus4
    • Fixed PRINT under ted
    • Fixed RESPAWN when thread is dead
    • BLIT IMAGE problem (cpc) #990
    • error with AT command on cpc #972
    • CONSOLE command again (cpc) #979


  • v1.16.4 [rev. 20241107] COLDFIX


    commit: a576dee29 (on github)
    • Fixed RESPAWN when thread is dead
    • BLIT IMAGE problem (cpc) #990


  • v1.16.4 [rev. 20241106] HOTFIX


    for cpc commit: fba7a648c (on github)
    • BLIT IMAGE problem (cpc) #990


  • v1.16.4 [rev. 20241104] HOTFIX


    for cpc commit: a576dee29 (on github)
    • CONSOLE command again (cpc) #979
    • CLINE error (cpc) #976
    • errors with CLEFT$ and CRIGHT$ on cpc #975
    • error with AT command on cpc #973


  • v1.16.4 [rev. 20241103] COLDFIX


    commit: c3f7be627 (on github)
    • Wrong color selection for cpc target #985
    • Side effect on complement calculation #982
    • Unrespected left bound on clipping (cpc) #983
    • Issues on printing on mode 1 (cpc) #980
    • Refactorized PRINT under vic2
    • Refactorized PRINT under gtia
    • Fixed PRINT under gtia (text mode)
    • Fixed PRINT under vic2
    • Fixed dynamic string under 6809, 6502 and z80
    • Error with CUP$ on cpc #974
    • CONSOLE command (cpc) #978
    • CONSOLE command again (cpc) #979
    • CLINE error (cpc) #976
    • Problem with MEMORIZE or REMEMBER (cpc) #977
    • Fixed typo on cpu name for CMOVE()
    • Error with CDOWN$ on cpc #973
    • Strange behaviour with CMOVE on cpc #970
    • CMOVE documentation unclear (cpc) #971


  • v1.16.4 [rev. 20241101] HOTFIX


    for cpc commit: 03c95b641 (on github)
    • error with CDOWN$ on cpc #973
    • strange behaviour with CMOVE on cpc #970
    • CMOVE documentation unclear (cpc) #971


  • v1.16.4 [rev. 20241101] COLDFIX


    commit: 81f3d5aa2 (on github)
    • EVERY does not disable after calling #968
    • Removed disruptive optimization rule on 6502
    • Fixed PRINT under all video chipsets.
    • Fixed graphical position calculation under 6847
    • Fixed PEEK decoding of address (unsigned)


  • v1.16.4 [rev. 20241030] COLDFIX


    commit: 712010994 (on github)
    • SGN issue (cpc) #965
    • MAX and MIN error (cpc) #964
    • copying arrays compilation error (cpc) #963


  • v1.16.4 [rev. 20241030] HOTFIX


    for cpc commit: 712010994 (on github)
    • SGN issue (cpc) #965
    • MAX and MIN error (cpc) #964
    • copying arrays compilation error (cpc) #963


  • v1.16.4 [rev. 20241029] COLDFIX


    commit: 0c46ce141 (on github)
    • initialising a vector with no dimension (cpc) #961
    • issue with floats on cpc #955
    • BYTE type conversion on cpc #956
    • INSTR error #959
    • PAPER/PAPER$ functions don't work as intended on CPC #954
    • Fixed TAB parsing on cpc


  • v1.16.4 [rev. 20241029] HOTFIX


    for cpc commit: 0c46ce141 (on github)
    • initialising a vector with no dimension (cpc) #961
    • issue with floats on cpc #955
    • BYTE type conversion on cpc #956
    • INSTR error #959


  • v1.16.4 [rev. 20241028] HOTFIX


    for cpc commit: b0a8dfa46 (on github)
    • PAPER/PAPER$ functions don't work as intended on CPC #954
    • Fixed TAB parsing on cpc


  • v1.16.4 [rev. 20241027] COLDFIX


    commit: 35805c7dc (on github)
    • Fixed CR+LF in strings when printing
    • Fixed array assignment of dynamic strings
    • Fixed PRINT at the end of the screen
    • Fixed floating point conversion under 6809
    • Fixed SCREEN COLORS under ted and vic2


  • v1.16.4 [rev. 20241026] COLDFIX


    commit: 7ae04ad40 (on github)
    • Fixed filling color and irq management for ef936x scrolling
    • Fixed reset YCURSYS on scrolling on 6809 (DP register)
    • Fixed output for debugging on coco and coco3


  • v1.16.4 [rev. 20241024] COLDFIX


    commit: 40f5ea399 (on github)
    • Fixed PRINT at the end of the screen (vic20)
    • Fixed PRINT at the end of the screen (plus4)
    • Fixed IRQ management under plus4 (still testing)
    • Fixed PRINT at the end of the screen (mo5,pc128op,to8)
    • Fixed PRINT at the end of the screen (coleco,msx1,sc3000,sg1000)
    • Fixed console start address and scrolling in text mode under tms9918 (coleco,msx1,sc3000,sg1000)
    • Fixed PRINT at the end of the screen (coco3)
    • Fixed PRINT at the end of the screen (coco,d32,d64)
    • Fixed PRINT at the end of the screen (c128z)
    • Fixed PRINT at the end of the screen (c128,c64,c64reu)
    • Fixed PRINT at the end of the screen (atari,atarixl)
    • Fixed PRINT at the end of the screen (cpc)
    • Fixed safe move when filenames matches
    • Fixed PRINT at the end of the screen (zx)
    • Refactorized NOP instruction for all processors
    • Fixed optimization on pc128op
    • Removed obsolete DEBUG command


  • v1.16.4 [rev. 20241023] HOTFIX


    for zx commit: 6d22abf43 (on github)
    • Fixed PRINT at the end of the screen (zx)


  • v1.16.4 [rev. 20241019] COLDFIX


    commit: db0794028 (on github)
    • Extend precision of trigonometric functions #756
    • Fixed PI value on floating point
    • Fixed constant initialization of FLOAT on MOS 6502
    • Fixed POW using FLOAT
    • Fixed check constraints of loading images under ef936x (pc128op, to8, mo5)
    • Removed unused DONE keyword
    • Fixed RASTER AT / NEXT RASTER AT


  • v1.16.4 [rev. 20241018] HOTFIX


    for c64 commit: 315958dc3 (on github)
    • Fixed POW using FLOAT


  • v1.16.4 [rev. 20241016] COLDFIX


    commit: 065df43a5 (on github)
    • Fixed d011 register under vic-2 (c64, c64reu, c128).
    • Added support for FOR BANK READ in place of BANKED.
    • Contextual optimization on integer division with power of 2 divisor.
    • Fixed pragma EXEC AS GOSUB as default.


  • v1.16.4 [rev. 20241011] COLDFIX


    commit: 5be780371 (on github)
    • Fixed n-dimensional array access.


  • v1.16.4 [rev. 20241009] COLDFIX


    commit: af50c96a1 (on github)
    • Fixed BANKREAD / BANKUNCOMPRESS dependency on PUTIMAGE (mo5)
    • Fixed BANKREAD / BANKUNCOMPRESS dependency on presence of precalculated banks (pc128op, to8, mo5)
    • Fixed resident detection on copy operator
    • Fixed support for (S)DWORD on PUT IMAGE on ef946x (pc128op, to8, mo5)
    • Fixed PUT IMAGE under pc128op
    • Fixed error messages if wrongly called multithreaded instructions
    • Fixed floating point multiplication under z80
    • Optimized array access on writing (offset calculation)
    • Added CPU instruction cpu_store_8bit_with_offset2
    • GET IMAGE optimizations (SEQUENCE/IMAGES offset precalculation) (pc128op, to8, mo5)
    • GET IMAGE optimizations (direct coordinates and banking)
    • Added support for DEFINE RESIDENT DETECTION ON / OFF (pc128op)
    • PUT IMAGE optimization under ef936 using bank and compression (pc128op)
    • PUT IMAGE optimization under ef936 prefetch frame / sequence (pc128op)
    • PUT IMAGE optimization under ef936 using banks (pc128op, mo5, to8)
    • Optimization in PUT IMAGE call (smaller data types) under ef936x (pc128op, to8, mo5)
    • PUT IMAGE optimizations (direct coordinates and banking)
    • Fix D register on BANK READ / UNCOMPRESS on ef936x (pc128op, to8, mo5)
    • Added support for inplace XOR
    • Added support fot cpu_xor_const CPU instruction
    • Optimization: direct constant values passing on procedure calls
    • Fixed unread optimization rules for relative constants
    • Optimized access to limited monodimensional 1-byte arrays
    • Fixed unread optimization rules for relative constants
    • Optimized ABS() by using direct jump on compar
    • Added cpu_less_than_and_branch_8bit_const CPU instruction
    • Optimized ABS() by using high byte direct comparison
    • Fixed optimization on 6809 code generation (A->B)
    • Fixed optimization on 6809 code generation (B->A)


  • v1.16.4 [rev. 20241008] HOTFIX


    for pc128op to8 mo6 commit: c54046679 (on github)
    • Optimized array access on writing (offset calculation)
    • Added CPU instruction cpu_store_8bit_with_offset2
    • GET IMAGE optimizations (SEQUENCE/IMAGES offset precalculation) (pc128op, to8, mo5)
    • GET IMAGE optimizations (direct coordinates and banking)
    • Added support for DEFINE RESIDENT DETECTION ON / OFF (pc128op)
    • PUT IMAGE optimization under ef936 using bank and compression (pc128op)
    • PUT IMAGE optimization under ef936 prefetch frame / sequence (pc128op)
    • PUT IMAGE optimization under ef936 using banks (pc128op, mo5, to8)
    • PUT IMAGE optimization under ef936 using banks (pc128op, mo5, to8)
    • Optimization in PUT IMAGE call (smaller data types) under ef936x (pc128op, to8, mo5)
    • PUT IMAGE optimizations (direct coordinates and banking)
    • Fix D register on BANK READ / UNCOMPRESS on ef936x (pc128op, to8, mo5)


  • v1.16.4 [rev. 20241007] HOTFIX


    for pc128op to8 commit: b960147b1 (on github)
    • Added support for inplace XOR
    • Added support fot cpu_xor_const CPU instruction
    • Optimization: direct constant values passing on procedure calls
    • Fixed unread optimization rules for relative constants
    • Optimized access to limited monodimensional 1-byte arrays
    • Fixed unread optimization rules for relative constants
    • Optimized ABS() by using direct jump on compar
    • Added cpu_less_than_and_branch_8bit_const CPU instruction
    • Optimized ABS() by using high byte direct comparison


  • v1.16.4 [rev. 20241006] HOTFIX


    for pc128op commit: 34804fc40 (on github)
    • Fixed optimization on 6809 code generation (A->B)
    • Fixed optimization on 6809 code generation (B->A)


  • v1.16.4 [rev. 20241004] COLDFIX


    commit: 3dff4d9a9 (on github)
    • c128z and zx rename issue #953
    • Fixed startup code on sc3000 / sg1000
    • Fixed bankAssigned passing for ATLAS / SEQUENCE
    • Fixed cpu_indirect_call on z80 to preserve HL


  • v1.16.4 [rev. 20241002] HOTFIX


    commit: 05326f1a1 (on github)
    • Fix CLS under DEFINE DOUBLE BUFFER ON (pc128op).
    • Fixed KEY PRESSED / KEY STATE on multiple key press (pc128op)
    • Fixed screen vertical offset (c64, c64reu, c128)
    • Fixed SPRITE ENABLE / DISABLE with multiplexed sprites (vic2)
    • Fixed PRINT under multicolor bitmap vic2
    • Fixed disruptive optimization rules under 6502




  • v1.16.3 [rev. 20240921] HOTFIX


    commit: 39765312b (on github)
    • Fixed PUT IMAGE routines for multicolor mode under vic2
    • Fixed color detection for multicolor images under vic2
    • Fixed d64 image generation (c64, c64reu, c128)
    • Fixed PUT IMAGE under c64reu
    • Fixed loading banks from d64 on c64reu


  • v1.16.3 [rev. 20240907] COLDFIX


    commit: 06124ebba (on github)
    • Fixed zero paged registers for gtia.


  • v1.16.3 [rev. 20240906] COLDFIX


    commit: 23a0a080d (on github)
    • Fixed unsigned power of two division under 6809
    • Fixed LOWER under z80
    • Fixed power of 2 division on z80


  • v1.16.3 [rev. 20240904] COLDFIX


    commit: db2c7b648 (on github)
    • Refactorized disk generation for coco (from beta).
    • Retro compatible hack: cocon_1163
    • Fixed SOUND to use audio chipset timer under coleco, c64reu, c64, c128, atari, atarixl
    • Fixed optimization routines for c64reu
    • Fixed default -R value for c64reu
    • Fixed optimization rule under 6502
    • Fixed c64reu/c64 interrupt services routines.
    • Fixed starting / stop sound generation under sid (c64, c64reu, c128)
    • Fixed start video buffer in atarixl
    • Fixed division by power by 2 on z80
    • Fixed non scrolling PRINT in graphic mode under vic2 / ted
    • Fixed LOWER under vic20, c643reu
    • Fixed d64 disk image creation under c64reu
    • Fixed string tranpilation (memory allocation).
    • Fixed DATA generation for binary strings under cpc, c128, atari, atarixl.
    • Fixed path separator decoding for LOAD instructions
    • Fixed error messages on INCLUDE FILE and IMPORT DECLARES
    • Fixed RESTORE with label
    • Fixed LOWER under atari
    • Fixed utf8 support on INCLUDE


  • v1.16.3 [rev. 20240827] COLDFIX


    commit: 1171bdfc9 (on github)
    • Increased available memory for parsing on compilers (10x factor)
    • Fixed star star (mul2) operator with variables
    • Fixed READ dynamic strings
    • Fixed RESTORE under 6809
    • Fixed string garbage collection under 6502
    • Fixed INK / PEN / COLOR for coco/d32/d64 (graphic modes)


  • v1.16.3 [rev. 20240825] COLDFIX


    commit: ef4741a8e (on github)
    • Fixed memory exhausting re-using static strings (z80)
    • Fixed memory exhausting re-using static strings (6502)
    • Fixed memory exhausting re-using static strings (6809)
    • Fixed wrong IRQ usage in BELL command (coco / coco3)
    • Fixed add with 32 bit constants under 6809
    • Fixed disruptive optimization rule under 6809
    • Fixed vic2 graphical mode 2 COLUMNS
    • Fixed PRINT under graphical mode 3 (vic2)


  • v1.16.3 [rev. 20240805] COLDFIX


    commit: 846e26072 (on github)
    • Fixed XOR opcode on 6809 code generation
    • Fixed 6809 instruction for sn-76489
    • Inconsistent IF behavior #920
    • Fixed abbreviation for WAIT


  • v1.16.3 [rev. 20240801] COLDFIX


    commit: e438e8a70 (on github)
    • BELL instruction hangs coco3 target #916
    • Improving CLS color for CoCo #917
    • Fixed storage of char under 6502
    • Fixed disruptive optimization rule under MOS 6502


  • v1.16.3 [rev. 20240728] COLDFIX


    commit: 846693ccf (on github)
    • INPUT on Spectrum leaves cursor #914
    • Possible screen misalignment on C64? #915
    • Compiler crash for CoCo target #912
    • Scrolling broken for CPC target #913
    • PRINT introduces spaces in Dragon target #906
    • CLS does not reset cursor position #911
    • INPUT not working on C64 #909
    • INPUT not working on Spectrum target #908
    • Scroll causes weird chars to appear on Spectrum target #907
    • Removed floating point debug print under 6502


  • v1.16.3 [rev. 20240725] COLDFIX


    commit: 2fbb61e61 (on github)
    • Check correctness of temporary path #902
    • Fixed switch to text mode under vic2
    • PROCEDURE cannot return FLOAT #901
    • Fixed c128 PAPER command
    • Fixed vic2 set paper color




  • v1.16.2 [rev. 20240717] COLDFIX


    commit: ad212359d (on github)
    • Fixed PLOT color under zx
    • Fixed PLOT under tms9918 (coleco,msx1,sg1000,sc3000)
    • Fix TEXTMAP AT / BITMAP AT under 6847 #800


  • v1.16.2 [rev. 20240715] COLDFIX


    commit: 8a8924d45 (on github)
    • Fixed constant emission in empty procedures
    • Fixed CONSOLE under atari/atarixl text mode
    • Fixed PALETTE / COLOR under atari/atarixl
    • Fixed FOR...NEXT multithreaded
    • Fixed FOR...NEXT if variable is named
    • Fixed EVERY CALL calling procedure name


  • v1.16.2 [rev. 20240714] COLDFIX


    commit: f147a7a81 (on github)
    • Fixed FOR...NEXT on index variable undefined
    • Fixed BIT instruction under 6809
    • Fixed PLOT on 4 colors resolution on gime
    • Fixed bit check extended on little endian targets (d32, d64, coco, coco3, pc128op)
    • Fixed FOR...NEXT step


  • v1.16.2 [rev. 20240711] COLDFIX


    commit: f7645b137 (on github)
    • Fixed FOR...NEXT on multithread
    • Refactorized resident variables to match temporary one
    • Fixed starting number of threads
    • Fixed FOR...NEXT
    • STEP not working for the Dragon target #802


  • v1.16.2 [rev. 20240710] COLDFIX


    commit: 9bf166708 (on github)
    • Fixed FOR...NEXT backward
    • STEP not working for the Dragon target #802
    • Fixed PROCEDURE / ON PROC if procedure name is a reserved word.


  • v1.16.2 [rev. 20240702] COLDFIX


    commit: 58d1b91f7 (on github)
    • Fixed REM decoding using CR on Windows systems
    • Fixed inversion joystick detection (up/down) on coco3
    • Fix joystick count under to8
    • Fixed WAIT MILLISECONDS on msx1
    • Fixed interrupt service on msx1 - avoid to double increment timer
    • Fixed tms9918 source code for 32 bit compilation
    • Fixed 6847 source code for 32 bit compilation
    • Fixed array write for BIT datatype
    • Fixed array definition inside memory area for c64
    • Fixed vic2 source code for 32 bit compilation
    • Fixed dynamic string garbage collection on z80


  • v1.16.2 [rev. 20240628] COLDFIX


    commit: 85537fd03 (on github)
    • Fixed (not) support for keyboard on sg1000
    • BITMAP ENABLE without parameters is SCREEN #3 under pc128op/to8
    • BITMAP ENABLE without parameters is SCREEN #0 under cpc
    • Fixed JOY COUNT when no joystick is available (c128z, mo5, pc128op)
    • Fixed CLINE under cpc
    • On Commodore targets missing label crashes IDE #798


  • v1.16.2 [rev. 20240627] COLDFIX


    commit: 5e857f0be (on github)
    • Fixed JOY under zx (returns always 0)
    • Fixed KEY STATE / KEY PRESS code for key cursors under zx
    • Added value on negative constant error (E071)
    • Fixed CONSOLE support under zx
    • Fixed keyboard codes for sc3000
    • Fixed CLINE on pc128op
    • Fixed KEY STATE and KEY PRESS under msx1
    • Fixed (not) supporting JOY on mo5
    • Fixed KEY STATE under mo5
    • Fixed garbage collection under mo5, pc128op and to8
    • Fixed joystick support con d32/d64


  • v1.16.2 [rev. 20240625] COLDFIX


    commit: 5889c4083 (on github)
    • Fixed joystick support con coco3
    • Fixed FREE_STRING under z80
    • Fixed KEY STATE on atari/atarixl
    • Fixed scancode on atari/atarixl


  • v1.16.2 [rev. 20240623b] COLDFIX


    commit: d96cd402a (on github)
    • Fixed z80_move_8bit_indirect under z80
    • Fixed image conversion on mode 1 on cpc
    • Fixed image color decoding on cpc chipset


  • v1.16.2 [rev. 20240623] COLDFIX


    commit: 85197a056 (on github)
    • SCREEN COLUMNS returns wrong value #792
    • PRINT @ not working #791
    • Fixed BANK READ on pc128op, mo5 and to8
    • Fixed FLIP command - disabled IRQ on flip execution (ef936x, pc128op, to8, mo5)
    • Fixed FREE STRING variable on 6502
    • Fixed CONSOLE print under vic2 graphic mode


  • v1.16.2 [rev. 20240619] HOTFIX


    commit: c1b65668d (on github)
    • Initialized to zero variables should be not reinitialized #788


  • v1.16.2 [rev. 20240617] COLDFIX


    commit: 84c844fe8 (on github)
    • Fixed optimizer for 6502
    • Initialized to zero variables should be not reinitialized #788
    • BANKED arrays do not work under pc128op #789
    • Fixed image size asserts referred to frame width / height
    • Fix random number generator under z80
    • Fixed SCANCODE / INKEY under c128


  • v1.16.2 [rev. 20240601] COLDFIX


    commit: 7cdc4b714 (on github)
    • Fixed palette detection on vic2 using pepto values
    • Fixed PRINT under vic2 and graphic modes.
    • Fixed CENTER instruction for CONSOLE support.
    • Fixed LOCATE instruction for CONSOLE support.




  • v1.16.1 [rev. 20240524] COLDFIX


    commit: 9f1fce25d (on github)
    • Fixed PRINT on vic2 (foreground color)


  • v1.16.1 [rev. 20240523] COLDFIX


    commit: 0b54112f2 (on github)
    • Fixed SWAP variable usage


  • v1.16.1 [rev. 20240520] COLDFIX


    commit: cd09d1bc1 (on github)
    • Fixed disruptive optimization rule on 6809
    • Fixed FP constant calculation on 6502
    • Fixed array definition under cpc


  • v1.16.1 [rev. 20240505.0915] COLDFIX


    commit: ff5706865 (on github)
    • fixed DWORD to FLOAT conversion (signed)
    • fixed RND() on 32 bit values


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!