<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>C64 on guy@secdev.uk</title>
    <link>https://www.secdev.uk/blog/tags/c64/</link>
    <description>Recent content in C64 on guy@secdev.uk</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <copyright>Guy Dixon | guy@secdev.uk</copyright>
    <lastBuildDate>Mon, 20 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.secdev.uk/blog/tags/c64/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Reversing 6502 - Part 2: Control Flow, Data, and Tools</title>
      <link>https://www.secdev.uk/blog/technology/2026-04-20-reversing-6502-part-2/</link>
      <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://www.secdev.uk/blog/technology/2026-04-20-reversing-6502-part-2/</guid>
      <description>&lt;p&gt;In &lt;a href=&#34;https://www.secdev.uk/blog/technology/2026-04-15-reversing-6502-part-1&#34;&gt;&#xA;    Part 1&#xA;&lt;/a&gt;&#xA; we covered the foundations, the C64 memory map, PRG file format, linear disassembly, and how to recognise hardware interaction from memory addresses alone. That gets you surprisingly far with simple programs, but real C64 software mixes code and data freely, uses self-modifying code, and employs interrupt-driven routines that don&#39;t follow a linear execution path. To handle that, we need better techniques.&lt;/p&gt;&#xA;&lt;p&gt;In this part, I want to dig into control flow analysis, the heuristics that help distinguish code from data, common C64 programming patterns you&#39;ll encounter, and the tools that make serious disassembly practical.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reversing 6502 - Part 1: First Steps in Disassembly</title>
      <link>https://www.secdev.uk/blog/technology/2026-04-15-reversing-6502-part-1/</link>
      <pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://www.secdev.uk/blog/technology/2026-04-15-reversing-6502-part-1/</guid>
      <description>&lt;p&gt;After spending time building a &lt;a href=&#34;https://www.secdev.uk/blog/technology/2026-03-28-vintage-adventures-6502-part-2&#34;&gt;&#xA;    6502 emulator&#xA;&lt;/a&gt;&#xA;, I found myself wanting to go the other direction, instead of writing code and watching it execute, I wanted to take an existing C64 program and work backwards to understand what it does. Reverse engineering felt like the natural next step, and the 6502 turns out to be a fantastic target for learning disassembly. The instruction set is small, the addressing modes are well-documented, and there&#39;s no pipelining or speculative execution to worry about. What you see in memory is what the CPU executes.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
