Mercurial > hg > forks > dxa
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/ |