Dr. Halo PIC
Dr. Halo (including Dr. Halo Plus and Dr. Genius) is a line of raster image editing software for DOS, developed by Media Cybernetics.
Its main native file format is .PIC. Sometimes, a PIC file has a companion .PAL file. This article is about PIC format, and the software in general. There are separate articles for some formats:
PIC format does not seem to be as well known as CUT. A reference to "Dr. Halo format" most likely means CUT, not PIC.
Contents |
Discussion
PIC is highly "device dependent". A PIC file contains identifiers for the relevant graphics hardware and mode, and a compressed copy of raw video memory.
Some editions of Dr. Halo support several dozen video cards, each with a handful of graphics modes, so supporting the entire format would be quite difficult. But it is realistic to support files that use the standard CGA/EGA/VGA modes.
Format details
[Some of this information is based on reverse engineering, and may be incorrect. Written for the fileformats.archiveteam.org wiki.]
A PIC file consists of a header segment, followed by the compressed image data. Byte order is little-endian.
Header structure
Offset | Length | Description | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2 | "AH " signature
| ||||||||||||||||||||||||||||||||||||||||||||||||
2 | 2 | Software version code? | ||||||||||||||||||||||||||||||||||||||||||||||||
4 | 2 | Unused? | ||||||||||||||||||||||||||||||||||||||||||||||||
6 | 1 | File type? Always 0x02. | ||||||||||||||||||||||||||||||||||||||||||||||||
7 | 1 | Board ID? Known values:
| ||||||||||||||||||||||||||||||||||||||||||||||||
8 | 2 | Unknown | ||||||||||||||||||||||||||||||||||||||||||||||||
10 | 2 | Graphics mode. This field is not always present.
Some of the known modes are listed below.
|
For 4-color CGA-like modes:
Offset | Length | Description |
---|---|---|
12 | 1 | 0x10 bit: One of the palette selector bits.
Low 4 bits: Color of palette entry 0, from the standard 16-color PC/CGA palette. |
13 | 1 | Unknown |
14 | 1 | 0x01 bit: One of the palette selector bits. |
15 | 1 | Unknown |
Compression scheme
Compression is byte-oriented. The "next multiple of 512 bytes" instructions refer to the absolute file position.
To decompress, read a byte (N), follow the instructions below, repeat.
Code byte (N) | Instructions |
---|---|
N = 0 | End of plane. If there are more planes, seek to the next multiple of 512 bytes. |
1 ≤ N ≤ 127 | Emit the next N bytes literally. |
N = 128 | End of block: Seek to the next multiple of 512 bytes. |
N ≥ 129 | Emit the next byte N−128 times. |
Identification
PIC files start with ASCII "AH
", and the byte at offset 6 is 0x02
.
Software
- Dr. Halo
- Dr Halo II (at WinWorld) - Includes v2.03, and a manual
- Dr. Halo III (v3.00/1988-02-02)
- Dr. Halo III (at WinWorld) - Includes Dr. Halo III (v3.00/1989-02-06) & Dr. Genius (v3.00)
- Dr. Halo Plus (v3.00-German)
- Dr. Genius (v3.00)
- Various versions at old-dos.ru - Includes Dr. Halo III (v3.01) and Dr. Halo Plus (v3.00).
- Possibly relevant: drhalo.unp
- Deark
Sample files
- 1169.ZIP
- http://cd.textfiles.com/bthevhell/200/150/ → screen*.pic (NSFW)
- dexvert samples — image/drHalo