Programming Redux returns to the scene with a practical look at sprite programming using static data sections in sharkC64. The new feature lets coders define sprite graphics at specific memory addresses, streamlining the process for anyone working with the SU64 language.
Defining Sprites in sharkC64
The tutorial focuses on the updated data section now available in the language. By starting with the data keyword, users can list as many data elements as they need. Each element is tied to a unique memory address, and overlapping data entries trigger compile errors. Programming Redux breaks down example 12 from the latest SU64 release, highlighting the process.
In this example, the first data entry holds a bitmap for a shark sprite at address 840 (hex). The second entry defines sprites that spell out C, 6, and 4, placed at address 880 (hex). By clearly setting start addresses, sprite memory stays organized and bug-free.
Moving and Animating Sprites
Variables handle sprite display registers, while built-in functions control movement and animation. The move function positions sprites anywhere on the screen. A delay function stretches time intervals, slowing the animation with each use. The animate function uses both to send sprites gliding smoothly across the display.
The main module resets sprite values and then launches the animation. Watching the video, viewers see the sprites in action, shifting and slowing as programmed.
How Compilation Works
On the compilation side, both the parser and binder in sharkC64 now support the static data section. The translator converts each defined section into data fragments, including their start addresses. The generator then produces bytecode fragments, which the linker ensures are included in the final program. This seamless chain guarantees that sprites and other data reach the target memory locations as intended.
What’s Next for sharkC64
Looking ahead, Programming Redux hints at future improvements: module encapsulation. At present, modules expose all details to one another, which can cause confusion or bugs. The goal is to give each module better control over what gets shared, making programs safer and easier to maintain.
Watch the Demonstration
For anyone interested in hands-on coding with the Commodore 64 or exploring how modern tools make retro graphics easy, this video offers plenty to see. To get the full experience, check out Programming Redux’s demo in action.





