aboutsummaryrefslogtreecommitdiff
path: root/a8xd.rst
blob: ebe3364740315043580f403dedfbe031c51fb61b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
====
a8xd
====

--------------------------
Atari ASCII aware hex dump
--------------------------

.. include:: manhdr.rst

SYNOPSIS
========

*a8xd* [**-i**] [**-m**] [**-v**] [*infile*]

DESCRIPTION
===========

**a8xd** is a hex dump utility, similar to **xxd**\(1), but it
understands and prints ATASCII characters rather than ASCII.

The ATASCII codes are converted to UTF-8, in the same way as
**a8cat**\(1). Codes with the high bit set are displayed in inverse
video, using ANSI/VT-100 escape sequences.

By default, the output is colorized:

  - Normal characters are green. This includes alphanumerics, spaces, and
    punctuation.

  - Codes **$00** (null, or ATASCII heart) and **$9B** (EOL) are red.

  - Control characters are yellow. This includes codes **$01** to **$1F**,
    (control + letters, escape, punctuation, and arrow keys), **$60**, **$7B**, **$7D**
    (clear screen), **$7E** (backspace), and **$7F** (tab).

The colors and inverse rendering apply to both the ATASCII and hex bytes.

Without *infile*, or if *infile* is **-**, **a8xd** reads from standard input.

OPTIONS
=======

Options marked with **\*** are not yet implemented.

-i
  Print XL/XE International Character Set conversions instead of ATASCII.

-l *len*
  **\*** Stop after dumping *len* bytes. *len* may be given in decimal or hex (with
  leading *0x* or *$*).

-m
  Monochrome mode. Disables color, but ATASCII characters with the high bit
  set are still displayed in inverse.

-o *offset*
  Add *offset* to displayed file position. *offset* can be given in decimal
  or hex (with leading *0x* or *$*).

-s *[-]seek*
  **\*** Start at *seek* bytes. Without *-*, this is an absolute offset. With *-*,
  it's relative to the end of the file. The *-* option won't work when
  reading from standard input. *seek* may be given in decimal or hex
  (with leading *0x* or *$*).

-u
  Use uppercase letters for hex digits; the default is lowercase.

-v
  Verbose. Currently, this option is accepted, but it doesn't do anything yet.

**--**
  End of options; the nex argument is the filename. Use this if you're
  trying to work with files whose names begin with *-*.

**-h**, **--help**
  Show built-in help and exit.

**--version**
  Show version number and exit.

NOTES
=====

**a8xd** supports a useful subset of **xxd**\(1) options. The main things
missing are:

- **-r** (revert).

- **-include** (output as C include) and all options related to it.

- **-g** (grouping; **a8xd** always uses a group size of 1 byte).

- **-E** (EBCDIC mode).

- **-p** (PostScript/continuous dump).

- **-cols** (**a8xd** only supports 16 column dumps).

- **-b** (bits mode).

.. include:: manftr.rst