The original should be jpeg with a high quality setting just for the
front & back cover, and then lossless lzw for all the rest.
The original document is the pdf, everything else like jp2.zip is junk
generated by archive.org
It does bug me that they do that without making it clear what the actual
source artifact is. The site is called "archive". It's fine to generate
renditions from the original but it's unforgivable to fail to identify
the original artifact very clearly as distinct from all the rest.
I mean they even technically lie. When you poke around the fine print to
try to find out what is the original, they do have a link that says
"[down] 6 original" and links to a zip with 6 files in it.
There is no 6 original. There is exactly 1 single original file.
At least it is one of the files in the zip.
If you just click on Show All, the original 2.4g pdf is in there with
the rest, but how could you tell which is the source of all the rest
except by maybe looking at the timestamps? You can't go by the filesize.
Sometimes the generated files are larger than the original.
On the main page, the link that says PDF without text also downloads the
original, but again you have no way to know that that is the source of
all the rest from the ui.
Anyway as to compression, I might actually rescan the whole thing on my
other scanner just for consistency with some others I'm going to scan,
and using software that gives more control or knowledge over exactly
what's happening. I don't even know exactly what bit depth either the
color or grayscale pages are.
I usually use gscan2pdf but for whatever reason lately it's producing
only low quality jpeg-like scans, right from the scanner before trying
to save in any particular format. (from my regular hp laser printer on
the lan. when I bust out the Avision that will be a different scanner
driver and different interface so probably different behavior, also
gscan2pdf has configurable back-ends that do the actual scanning so
there is probably something I need to do there) But "Document Scanner"
was working fine so I just used it even though it only has super basic
controls. I saved as full fat png from Document Scanner and then
reopened in gscan2pdf to crop & adjust contrast & save the different
parts with the different compressions, then used PDF Arranger to combine
the covers & body into a single pdf file.
I agree on all counts wrt removing the blank pages. I don't like them in
there in a functional daily driver copy, but I guess it's silly. The
fuss it causes is worse, having the missing numbers look like missing
pages, and making it so the index has to be custom edited.
Then again, that's why there is an unadulterated reference original,
that frees up other more convenient working versions to have other
opinions and focus. And since I did edit the index, the page numbers
agree across versions from a user point of view.
I will add your index to the original reference scan.
--
bkw
On 7/19/26 19:38, B 9 wrote:
Neat! I am not sure that we actually duplicated much work at all. We
each have done things the other is missing.
I didn't clean up the pages at all, leaving all the black circles on the
side from the spiral binding, whereas your PDF looks more like the
original by omitting those scanning artifacts. For the sidebar outline
I had based it on the verbatim table of contents printed in the manual
(plus the BASIC commands), but your bookmarks properly include the front
cover and make the chapter headings clickable.
One difference that may not be the best idea is that you seem to have
removed all the blank pages. That changes the internal page numbering,
making it incompatible with both the original scan and with any work I
do. For example, to make the table of contents page clickable in the
original 2GB scan, one could simply reuse my annotations (outlined in
red here to make them visible):
cpdf -list-annotations-json TRS-80_Model_100_Portable_Computer-jbig2.pdf
> b9-annot.json
cpdf -set-annotations b9-annot.json
TRS-80_Model_100_Portable_Computer.pdf -o output.pdf
b9.gif
But, if one tried that on the PDF in https://github.com/bkw777/m100_dev/
tree/main/platforms/100 <https://github.com/bkw777/m100_dev/tree/main/
platforms/100>, you'd get this instead:
bkw.gif
(Also notice that the page number jumps from 3 to 5 which had made me
wonder if the scan had accidentally omitted page 4).
Removing those pages not only affects hyperlink annotations, which
perhaps are just a frill, but it'd also make your version unable to
easily import any improvements I make to the bookmarks outline or to the
optical character recognition. For instance, with the outline, I was
thinking it would be nice if the links scrolled to the part of the page
where each BASIC command is instead of just going to the top of the
page, although I'm not sure how to do that, yet. Being able to cross-
pollinate any OCR improvements may be even more important as finding
words in the manual (Ctrl+F) is not 100% reliable. I know how to fix the
OCR text <https://www.youtube.com/watch?v=aWDiq3t1EeA>, but it is
tedious work.
I'm not sure of the reason to omit the blank pages. Is it an
optimization to look better on phones? Personally, I prefer reading the
old manuals on screens large enough to show a two-page layout, as the
book was originally intended to be viewed.
By the way, I think the smallest file size and best readability is going
to come from getting the OCR corrected and saving it as an ebook: The
text would be simply fonts and the images, images. Here's an example I
made of the two pages which make up the Table of Contents:
* Original scan of pages iii and iv: over 5 MB
* Compressed with JBIG2: 266 KB <https://github.com/hackerb9/
m100manual/raw/main/examples/toc.pdf>
* Saved as an ebook: 23 K <https://github.com/hackerb9/m100manual/raw/
main/examples/toc-ebook.pdf>
Of course, there are no figures on those pages so take that compression
ratio with a grain of salt. However, I think the ebook could include
better quality, less compressed images since we've already saved so many
bytes by not including a bitmap of the text.
—b9
P.S. Brian: It looks like the original scan <https://
ia801606.us.archive.org/view_archive.php?archive=/8/items/trs-80-
model-100-portable-computer-owners-manual/
TRS-80_Model_100_Portable_Computer_jp2.zip> on archive.org <http://
archive.org> uses lossy compression. Is that correct?
On Sun, Jul 19, 2026 at 9:58 AM Brian White <[email protected]
<mailto:[email protected]>> wrote:
Very cool. I did take your cpdf directions and outline.txt and did
the same to a 60m lzw version.
https://github.com/bkw777/m100_dev/tree/main/platforms/100 <https://
github.com/bkw777/m100_dev/tree/main/platforms/100>
The script to reproduce it is in pdf_edit, nothing organized, just
wanted to get it saved along side the pdf in any form initially.
I'll be doing the service manual and tech reference soon and
probably do the same thing to all going forward. I just scored a 102
service manual too.
I apologize for mostly duplicating work, but I really wanted it with
the background cleaned to white and no jpeg or jbig. But maybe with
high dpi and high quality level the jbig is ok. I was going to try
jbig without lat on my manually cleaned & contrasted version and see
if that maybe produces a much smaller file that still looks good,
because it will start from something that has already been reduced
to mostly almost 1bpp instead of the low contrast original in a
single step. So the final appearance should just be a matter of
dialing the quality level until I like it.
Anyway it's already sooo nice just having that clickable index.
Thank you for putting that together.
--
bkw
On Sun, Jul 19, 2026, 11:07 AM B 9 <[email protected]
<mailto:[email protected]>> wrote:
I figured out how to hyperlink the scanned Table of Contents. I
wrote a program, hocrtoc.py <https://github.com/hackerb9/
m100manual/blob/main/hocrtoc.py> to automatically convert OCR’d
lines into links. (I had thought something like this must
already exist, but I couldn’t find it and ended up needing to
read the PDF specification.) You can download my latest version
from:
|https://github.com/hackerb9/m100manual/raw/main/
TRS-80_Model_100_Portable_Computer-jbig2.pdf <https://
github.com/hackerb9/m100manual/raw/main/
TRS-80_Model_100_Portable_Computer-jbig2.pdf> |
So, now my edition has these differences from Brian’s master copy:
* JBIG2 images for much smaller file size, but lower quality
images.
* Correct metadata.
* Correct page labels so that the PDF page numbers correspond
to what the book says.
* An outline so that one can move through the document quickly
from the toolbar.
* Annotations on the Table of Contents page so that all
entries are hyperlinks.
Brian: All my changes, except the JBIG2 compression, should be
easily copyable into your archival version using the |cpdf|
command.
Things that are still lacking and that I may yet do, time
permitting:
1. Add a note on one of the blank inner pages saying something
like, “This PDF file has lower quality images to keep the
file size reasonable. For the original scan that this is
derived from please see https://archive.org/details/trs-80-
model-100-portable-computer-owners-manual/” <https://
archive.org/details/trs-80-model-100-portable-computer-
owners-manual/”>
2. Try hocrtoc on the scanned Index pages at the end of the
book to see if they can be converted into hyperlinks.
3. Use ScribeOCR.com to make sure the transcription is
completely correct and create an e-book version.
4. Fix up hocrtoc so it can be used for other retro-computing
manuals.
5. Once I’m done improving it, stash a backup of the JBIG2
version on archive.org <http://archive.org>.
—b9
On Fri, Jul 17, 2026 at 5:19 AM Brian K. White
<[email protected] <mailto:[email protected]>> wrote:
This is awesome, thank you!
--
bkw
On 7/17/26 07:52, B 9 wrote:
> Thanks for the encouragement!
>
> I’ve learned how to add a PDF document outline and
created an updated
> file with an index on the sidebar <https://
gist.github.com/ <https://gist.github.com/>
> hackerb9/4b993d3e204a0eb0e46859a276b22fee/raw/
> TRS-80_Model_100_Portable_Computer-jbig2.pdf>.
>
> It took a while to type in the outline and page numbers
by hand,
> particularly since I added an entry for every BASIC
command. I figured
> if I do it right, no one will have to go through this
tedium again. The
> outline is structured as a text file (outline.txt <https://
> gist.github.com/
hackerb9/4b993d3e204a0eb0e46859a276b22fee/raw/w- <http://
gist.github.com/hackerb9/4b993d3e204a0eb0e46859a276b22fee/
raw/w->
> outline.txt>) which can be added to the PDF by using |
cpdf -add-
> bookmarks outline.txt in.pdf -o out.pdf|. (I don’t know
why cpdf
> <https://www.coherentpdf.com/ <https://
www.coherentpdf.com/>> calls the outline “bookmarks”.)
>
> I still haven’t gotten hyperlinks for the actual
text figured out, but I
> noticed cpdf can create a clickable Table of Contents
from the outline
> and add it to the beginning of the document. I think it
looks a bit ugly
> and may not be so useful since the outline shows on the
sidebar anyhow,
> but see this version with a generated TOC <https://
gist.github.com/ <https://gist.github.com/>
> hackerb9/4b993d3e204a0eb0e46859a276b22fee/raw/
> TRS-80_Model_100_Portable_Computer-jbig2+toc.pdf> for
yourself and let
> me know if it's useful or not.
>
> —b9
>
>
> On Thu, Jul 16, 2026 at 9:41 AM Joshua O'Keefe
<[email protected] <mailto:[email protected]>
> <mailto:[email protected]
<mailto:[email protected]>>> wrote:
>
>> On Jul 16, 2026, at 8:56 AM, B 9 <[email protected]
<mailto:[email protected]>
>> <mailto:[email protected]
<mailto:[email protected]>>> wrote:
>>
>> I’ve created amuch smaller version of the PDF <https://
>> gist.github.com/
hackerb9/4b993d3e204a0eb0e46859a276b22fee/ <http://
gist.github.com/hackerb9/4b993d3e204a0eb0e46859a276b22fee/>
>> raw/59f26ba22962e78005fee4ee18fec42bdab570e0/
>> TRS-80_Model_100_Portable_Computer-jbig2.pdf>(40 MB
instead of 2
>> GB) by using JBIG2 symbol compression.
>
> Within the limits of what jbig2 can do, this is a
delightful
> tradeoff of readability for size. Great work! As a
daily driver
> version of the manual it seems far more than adequate
given that
> it's about the size of a baby's pinky nail.
>
> I'd love to see all the variants people are working
on consolidated
> into a single collection once the dust settles. No
doubt those who
> come after us would benefit from scrounging all over
the internet
> hunting down which copy is which, or losing track of
the reference
> scan. We already run into this problem today with
slightly divergent
> copies of the same document becoming "welp, that's
all we've got."
>
> Thanks for offering this up!
>
--
bkw
--
bkw