comparison dxa.1 @ 14:84c0facfc43c

Merge changes from upstream v0.1.4.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 14 Oct 2021 01:38:52 +0300
parents 4410c9c7750d
children
comparison
equal deleted inserted replaced
13:cfa260872b23 14:84c0facfc43c
1 .TH DXA "1" "31 January 2007" 1 .TH DXA "1" "31 January 2019"
2 2
3 .SH NAME 3 .SH NAME
4 dxa \- 6502/R65C02 disassembler 4 dxa \- 6502/R65C02 disassembler
5 5
6 .SH SYNOPSIS 6 .SH SYNOPSIS
87 .TP 87 .TP
88 .B \-r xxxx 88 .B \-r xxxx
89 Specifies an address (in hexadecimal) that is declared to be a valid routine. 89 Specifies an address (in hexadecimal) that is declared to be a valid routine.
90 .B It is strongly recommended 90 .B It is strongly recommended
91 that you specify the initial execution address as a routine. 91 that you specify the initial execution address as a routine.
92 For example, for a Commodore 64 binary with a 92 For example, for a Commodore 64 binary with a BASIC header that performs
93 .B SYS 2064 93 .B SYS
94 header, add 94 .BR 2064 ,
95 specify
95 .B \-r0810 96 .B \-r0810
96 so that disassembly starts at that location. This may have interactions with 97 so that disassembly starts at that location (or use the
97 datablock detection 98 .B \-U
99 option, which can automatically do this for you). Note that specifying this
100 manually may have interactions with datablock detection
98 .RB ( \-d ). 101 .RB ( \-d ).
99 .TP 102 .TP
100 .B \--routines filename 103 .B \--routines filename
101 .TP 104 .TP
102 .B \-R filename 105 .B \-R filename
223 will need to be tacked back on if the target requires it. If you specify an 226 will need to be tacked back on if the target requires it. If you specify an
224 address with 227 address with
225 .BR \-g , 228 .BR \-g ,
226 then that address will be used here too. 229 then that address will be used here too.
227 .TP 230 .TP
231 .B \--no-detect-basic
232 .TP
233 .B \-u
234 .TP
235 .B \--detect-basic
236 .TP
237 .B \-U
238 If the starting address is recognized as a typical BASIC entry point
239 (currently supported for Commodore computers), then
240 .B dxa
241 will attempt to see if a BASIC header is present, and if so, determine its
242 length and mark the section as a completely dead
243 datablock not eligible for further disassembly or referencing. If the
244 first line is a construct such as
245 .B 10 SYS
246 .BR 2061 ,
247 then
248 .B dxa
249 will additionally parse the provided address and mark it as a valid routine
250 if the address is within the boundaries of the disassembled file.
251 Note that although its heuristics
252 are designed to be permissive, it may nevertheless misinterpret certain files
253 with intentionally pathologic line link addresses, and unusual applications
254 where the linked machine code is designed to actually
255 .I modify
256 the BASIC text may not
257 disassemble correctly with this option. These are highly atypical situations,
258 so this option will likely become the default in a future release.
259 .TP
228 .B \--verbose 260 .B \--verbose
229 .TP 261 .TP
230 .B \-v 262 .B \-v
231 Enables verbose output, which may or may not be useful in the same way that 263 Enables verbose output, which may or may not be useful in the same way that
232 Schroedinger's Cat may or may not be dead. 264 Schroedinger's Cat may or may not be dead.
364 .SH BUGS/TO-DO 396 .SH BUGS/TO-DO
365 There are probably quite a few bugs yet to be found. 397 There are probably quite a few bugs yet to be found.
366 .LP 398 .LP
367 65816 opcodes are not (yet) supported. 399 65816 opcodes are not (yet) supported.
368 .LP 400 .LP
369 The disassembler can easily be confused by the common idiom of tacking on
370 BASIC text to call an appended ML routine. There probably should be a special
371 case option for this. One workaround is to use the
372 .B \--datablock
373 option and specify the range as unused (such as in the case of
374 .B 10 SYS2061
375 (Commodore), giving
376 .B \-b ?0801-080c
377 to ignore that range as data).
378 .LP
379 There are a few options Marko created that aren't hooked up to anything (and 401 There are a few options Marko created that aren't hooked up to anything (and
380 are not documented here on purpose). I might finish these later. 402 are not documented here on purpose). I might finish these later.
381 403
382 .SH "SEE ALSO" 404 .SH "SEE ALSO"
383 .BR xa (1), 405 .BR xa (1),
392 .B dxa 414 .B dxa
393 is based on 415 is based on
394 .B d65 416 .B d65
395 0.2.1 by Marko Mäkelä. 417 0.2.1 by Marko Mäkelä.
396 Original package (C)1993, 1994, 2000 Marko Mäkelä. Additional changes 418 Original package (C)1993, 1994, 2000 Marko Mäkelä. Additional changes
397 (C)2006 Cameron Kaiser. 419 (C)2006-2019 Cameron Kaiser.
398 .B dxa 420 .B dxa
399 is maintained independently. 421 is maintained independently.
400 422
401 .SHWEBSITE 423 .SH WEBSITE
402 http://www.floodgap.com/retrotech/xa/ 424 http://www.floodgap.com/retrotech/xa/