# Convert bitmaps into EPOC format — `bmconv.exe`

## Contents

- Purpose
- Command line syntax

### Purpose

The `bmconv` tool is used to convert bitmaps between EPOC and Windows bitmap formats. EPOC bitmaps (`.mbm`) may be produced as either a font store file or a ROM image file — which does not use any RAM when being accessed. The conversion process specifies the number of bits per pixel for the converted bitmaps and whether they should be colour or grey-scale.

The program can also split EPOC multi-bitmap files into component bitmaps, and then convert the individual files to Microsoft Windows bitmap format.

### Command line syntax

  `bmconv` [`/r`] [`/n`] [`/h` header-file] [`/q`] epoc-file [`/`bpp]bmp-file_1 [... [`/`bpp]bmp-file_n]

or:

  `bmconv` `/u` epoc-file bmp-file_1 [... bmp-file_n]

or:

  `bmconv` `/v` epoc-file

or

  `bmconv` command-file

For information about how to interpret the syntax, see BNF grammars.

##### Arguments

`/r` | Causes `bmconv` to generate a ROM image file. The default target is a file store bitmap.
`/n` | Disables the automatic compression of file store bitmaps.
`/h` header-file | Generates a header file that may be used in C++ code. header-file may include a path.
`/q` | Specifies quiet mode — only errors are reported.
epoc-file | The filename of the EPOC multi-bitmap file, which may include a path.
bmp-file_n | The filename of the nth Windows bitmap file, which may include a path.
`/`bpp | Specifies the number of bits per pixel to be used for each converted bitmap (bmp-file) and whether the converted bitmap should be colour or gray-scale. The default is 2 bits per pixel. Previously, the only options were `/1` and `/4`; options now are: `/1`, `/2`, `/4`, `/8`, `/c4`, `/c8`, `/c12`, `/c16` or `/c24`.
`/u` | Caused `bmconv` to convert from EPOC to Windows bitmap format. By default the conversion is from Windows to EPOC format.
`/v` | Prints summary information about the bitmaps in epoc-file
command-file | A file containing the command line, with commands separated by spaces or new-lines. Note that C++ style // comments may be included in command files.

##### Compatibility

EPOC `.mbm` files containing only 1, 2 and 4 bits per pixel resolution gray-scale bitmaps are fully compatible with all EPOC releases. Files containing bitmaps with a greater resolution than 4bbp are not supported by releases prior to EPOC release 5.

##### Notes

- The command line syntax and brief notes may be obtained by typing `bmconv` on the command line.
- The number of source files that may be included in an EPOC multi-bitmap is limited only by the PC memory, the available storage on the EPOC machine, and the number of characters available on the DOS command line.
- File store bitmaps are compressed automatically by `bmconv`. File compression can be disabled using the `/n` switch. Note that ROM bitmaps are not compressed.
- The name of the header file and the name of the multi-bitmap file do not have to be the same, though it may be convenient if they are.
- There is no standard filename extension for an EPOC multi-bitmap file, but the use of `.mbm` is recommended for a font store file, and `.mbr` for a ROM image file.
- There should be no spaces between the `/`bpp flag and a source filename, or between the `/h` flag and the header file name.