Just added GCBASIC HXL- Memory Map Output - avialable from build 1602 ( June 2026).
A new output file called {sourceGCB}.hxl
Overview
GCBASIC and its assembler GCASM now generate a diagnostic memory‑map report that is functionally similar to Microchip’s HEXMATE HXL output.
The report provides a linearised, human‑readable view of program‑memory usage, showing which regions contain compiled code and which remain unused.
The purpose mirrors the original HXL format. GCBASIC extends the traditional HXL concept by adding a visual hex‑grid map, making memory analysis easier and more intuitive.
This structure mirrors the HEXMATE HXL file but adds a graphical representation of memory.
Memory Definition
The Memory Definition section specifies the linear memory window that GCBASIC will analyse:
0h–00001FFFh
Unlike HEXMATE, which often uses a generic 64‑Kiword window, GCBASIC uses the actual device memory size, producing a more accurate and device‑specific report.
Memory Usage (HXL‑Equivalent)
This section is directly comparable to HEXMATE’s Input file ranges and Unused ranges.
Input File Ranges
These are contiguous blocks of addresses that contain compiled program bytes:
0h–1h; 4h–5Fh
Interpretation:
`0h–1h` → Reset vector and initial instructions
`4h–5Fh` → Main program body
Unused Ranges
These are the gaps between used blocks:
2h–3h; 60h–1FFFh
This is equivalent to HEXMATE’s unused‑range reporting and is essential for verifying expected gaps, bootloader boundaries, and linker‑like behaviour.
Hex Memory Map (GCBASIC‑Exclusive Feature)
GCBASIC adds a visual hex‑grid map similar to HEXMATE:
Just added GCBASIC HXL- Memory Map Output - avialable from build 1602 ( June 2026).
A new output file called {sourceGCB}.hxl
Overview
GCBASIC and its assembler GCASM now generate a diagnostic memory‑map report that is functionally similar to Microchip’s HEXMATE HXL output.
The report provides a linearised, human‑readable view of program‑memory usage, showing which regions contain compiled code and which remain unused.
The purpose mirrors the original HXL format. GCBASIC extends the traditional HXL concept by adding a visual hex‑grid map, making memory analysis easier and more intuitive.
Structure of the GCASM Output Summary
A typical output summary contains:
This structure mirrors the HEXMATE HXL file but adds a graphical representation of memory.
Memory Definition
The Memory Definition section specifies the linear memory window that GCBASIC will analyse:
Unlike HEXMATE, which often uses a generic 64‑Kiword window, GCBASIC uses the actual device memory size, producing a more accurate and device‑specific report.
Memory Usage (HXL‑Equivalent)
This section is directly comparable to HEXMATE’s Input file ranges and Unused ranges.
Input File Ranges
These are contiguous blocks of addresses that contain compiled program bytes:
Interpretation:
Unused Ranges
These are the gaps between used blocks:
This is equivalent to HEXMATE’s unused‑range reporting and is essential for verifying expected gaps, bootloader boundaries, and linker‑like behaviour.
Hex Memory Map (GCBASIC‑Exclusive Feature)
GCBASIC adds a visual hex‑grid map similar to HEXMATE:
This grid provides:
How GCBASIC Builds the HXL‑Style Map
GCBASIC follows a process similar to HEXMATE:
The key difference is that GCBASIC uses the actual device memory limits and integrates the report directly into the compiler output.
Comparison: HEXMATE HXL vs GCBASIC Output
To enable HXL file output file
There are two options to enable the compiler to produce the HXL output file.
use.ini. Ahxloutput = yto the[gcbasic]section.Optionally, you can add debug output by using the
debughxloutput = yentry.Summary
GCBASIC’s GCASM output summary is effectively a modernised HXL file:
It is a powerful tool for validating memory layout, debugging unexpected gaps, and ensuring correct program placement on microcontrollers.
Last edit: Anobium 2026-06-15
An example HXL file.