aboutsummaryrefslogtreecommitdiff
path: root/blob2xex.rst
blob: cf5bf10f5c4fac94249d82e3ac3bf0f6e7536b88 (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
.. RST source for blob2xex(1) man page. Convert with:
..   rst2man.py blob2xex.rst > blob2xex.1

========
blob2xex
========

--------------------------------------------------
Create Atari 8-bit executables from arbitrary data
--------------------------------------------------

.. include:: manhdr.rst

SYNOPSIS
========

blob2xex *outfile* [**-r** *runaddr*] [**-l** *loadaddr* [**-i** *initaddr*] [**-o** *offset*] [**-s** *size*] *infile*] ...

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

**blob2xex** creates an Atari 8-bit binary load (xex) file from one or
more files of arbitrary data.

Each input file *requires* a **-l** *loadaddr* option, to set the load
address. Optionally, run and init addresses can be included. Also,
using **-o** and **-s**, it's possible to include only part of the
input file. To read from standard input, use **-** for the *infile*.

*outfile* must be given as the first argument. When multiple
input files are used, the resulting .xex file will have multiple
segments. If *outfile* already exists, it will be overwritten. Use
**-** to write to standard output.

Addresses, offsets, and sizes may be given in decimal or hex. Hex
addresses must be prefixed with either **$** or **0x**.

OPTIONS
=======

A space is required between an option and its argument; use e.g. **-l 0x2000*,
not **-l0x2000**.

-l *loadaddr*
  Set the load address of the next *infile*. Each *infile* must be preceded by
  a **-l** option.

-r *runaddr*
  Optional; set the run address. Since a .xex file can only have one run address,
  the last **-r** option will be the one used.

-i *initaddr*
  Optional; set an init address, to be executed after the next segment loads.

-o *offset*
  Optional; skip this many bytes of the next input file. Default is **0**.

-s *size*
  Optional; read this many bytes of the next input file. Default is the entire file,
  or **0xffff** (**65535**) if the file is longer than 64KB.

EXAMPLES
========

TODO: come up with a few examples.

.. include:: manftr.rst