Giter Club home page Giter Club logo

dis's Introduction

dis - Statically Tracing 6502 Disassembler

dis creates XASM/MADS-compatible assembly code from a memory dump or an executable. dis statically traces execution paths starting from code entry points to mark which memory locations contain code. All other memory is treated as data. dis traces through JMP, JSR and BXX branch instructions. It stops at RTS, RTI and illegal instructions.

dis automatically determines code entry points when disassembling Atari XEX/SAP files and Commodore 64 PRG files.

Usage

Usage: dis [options] file...
  -c L=XXXX  Code entry point(s)
  -d L=XXXX  Data location(s) - Disallow tracing as code
  -C L=XXXX  Constant value(s)
  -v L=XXXX  Vector(s), e.g. FFFA
  -o L=XXXX  Origin for raw files
  -l         Create labels
  -i         Emit illegal opcodes
  -t TYPE    Dissasseble as TYPE
             xex - Atari executable (-x)
             sap - Atari SAP file
             prg - Commodore 64 executable (-p)
             raw - raw memory
  -comment   Emit comments
  -call      Emit callers
  -access    Emit accessors
  -extern    Emit labels for out-of-range addresses
  -rangelabels Emit labels for ranges instead of base+offset
  -verbose   Print info to STDERR
  -dump      Print options in format for -a
  -a FILE    Read options from FILE. Lines are: OPTION VALUE

  Addresses may include a range, e.g. table=$300+F
  Addresses may include xex segment number, e.g. 3:1FAE

Examples

Disassemble as pure data:

dis data.mem > data.asm

Disassemble 64K memory dump. Trace code starting at hex $1000:

dis -e 1000 game.mem > game.asm

Disassamble 64K memory dump. Trace code starting at $1000 and $9006. Trace code that is vectored from $FFFE. Mark $9101 as data, e.g. data after an always-taken branch:

dis -e 1000 -e 9006 -v FFFE -d 9101 game.mem > game.asm

Disassemble partial memory dump as if it started at $1000:

dis -o 1000 -e 1000 game.mem > game.asm

Disassemble Atari XEX file with segment-specific user-defined labels:

dis -x -l -c intro=1:2000 -c game=3:2000 game.xex > game.asm

Disassemble Commodore 64 PRG file with labels and an additional entry point:

dis -p -l -e 1000 game.prg > game.asm

Disassemble Atari SAP file with option files:

dis -t sap -l -a hardware.dop -a sys.dop A_Type.sap > A_Type.asm

AtariAge Thread

Statically Tracing 6502 Disassembler

dis's People

Contributors

lybrown avatar pfusik avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.