The FFScan routine outputs an image at 1 bit per pixel,
but FFView, the routine to display the image, only deals
with images at 1 byte per pixel (because it displays 256 colours images). The only way
I found to resolve this format mismatch was to convert the image from 1 bit per pixel
to 8 bit per pixel, being 0x00 a black pixel, and 0xFF a white
pixel.
This has been an "ought to" decision because DirectDraw makes it easy to deal
with 1 byte per pixel representation of raster images, and
FFView just makes use of DirectDraw.
(The routine I wrote more than ten years ago to display black & white images from within
my old DOS/Clipper apps was by far much more complex than
FFView because, to economize extended memory, I had to
deal with b&w images at truly 1 bit per pixel and, as you know, the minimum CPU register
is 8 bit wide and to work at the bit level you have to shift bits left and right all around).