Chuck,

The bit flinger is currently set up to print one-image files.

The format of the file the bit flinger requires is the same as that of Press.bits. Press.bits has leader information that is followed by the scan lines in block format.

The leader page is 1024 words in length (page 1 of the Trident file).
The format of the leader page is described by the FirstPage Mesa record below.

	FirstPage: TYPE = MACHINE DEPENDENT RECORD
	[	nPages: CARDINAL ← 1,
		pageGSize: CARDINAL ← SIZE[PageG],
		printerMode: CARDINAL,	--3=portrait, 8=Landscape
		password: CARDINAL ← PressPassword,
		pageGs: ARRAY[0..92) OF PageG	--enough to fit on a Trident Page
	];

As shown  in the initialization, nPages should be set to one. "pageGSize" is 11D (nD means the number "n" in deciman).  "printerMode" should be set to 3 or 8, depending on the manner in which the page is scanned: 3 if scanned in portrait mode, 8 if landscape (up the page, lengthwise) mode.

It is necessary to follow the password by one PageG record. This describes attributes of the page to be printed.

PageG: TYPE=MACHINE DEPENDENT RECORD	--Press's PageG Structure
	[FirstBand:	CARDINAL,	--lowest used band
	 LastBand:	CARDINAL,	--highest used band
	BitMargin:	CARDINAL,	--Margin and
	BitWc:	CARDINAL,	--word count of scan lines
	BandPos:	LONG CARDINAL, --File position of band stuff
	BitPage:	CARDINAL,  --File position of bits (units = 1024 words)
	CopyCrucial:	[0..1),		--True if different version needed for differrent copies
	SimplePage:	[0..1),
	ColorPass:	[0..2),	--for color printers: 0=magenta, 1=yellow, 2=cyan, 3=black
	ColorUsed:	[0..1),	--true if color used (scan conversion used this)
	blank:	[0..2048],
	PageNumber:	CARDINAL,	--From original Press file.
	nRecords:	CARDINAL,	--For spruce-like operation
	fontLoad:	CARDINAL]; --ditto

	PressPassword: INTEGER = 27183;

In order to explain the PageG components, it is necessary to describe the format of the scan data.  Scan lines appear in the file in uncompressed format. They are arranged in blocks of 16 scan lines for historical reasons. Therefore, a block of scan lines will take some integral number of Trident pages. That part of the last page of the block that is not used for scan data is ignored by the bit flinger (and by Press). The next block appears at the beginning of the next Trident page.

For example, if the scan lines are 1600 bits each, one "band", or block, would  require 1600 words of space, or CEILING[1600/1024] = 2 Trident pages. Thus, in a Press.bits file, the leader page would be the first data page of the file, followed by two-page band buffers of 16 scan lines each.

Now, the PageG:

The position of the image on the page is controlled by two quantities: FirstBand and BitMargin. FirstBand is numbered from 1 such that scan line zero appears as the first scan line of FirstBand. This is used to set the left margin on a landscape machine, or the top margin on a portrait machine. To start your image at logical scan address 45 on the page, you would set FirstBand = 3, and zero out the first 12 scan lines' worth of space. Thus the first scan line would be output after the scanner waits 44 scans.

LastBand is essentially FirstBand+numberOfBandsYou'reOutputting-1.

BitMargin is the number of bits into the page to position the beginning of the scan; on a landscape machine, this determines the bottom margin, and on a portrait machine, the left margin. I believe this number is truncated to a multiple of 32 bits on the new SLOT card.

BitWc this is the count of 16-bit words in the scan line.

Ignore bandPos, CopyCrucial, SimplePage, ColorPass, ColorUsed, blank, PageNumber, nRecords, and fontLoad.

Set BitPage to 1.