-
Notifications
You must be signed in to change notification settings - Fork 78
Printer Emulation
Several Atari printers are emulated to generate output available for download from the FujiNet's web server. So far these are:
- Atari 820
- Atari 822
- Atari 1020
- Atari 1027
There is also a file printer capability for capturing raw SIO buffers to a single binary file. This file printer can capture the entire buffer, trim the buffer after encountering an EOL (0x9B), or TRIM and convert EOL to \n.
Most of the printers are made to output PDF except the 1020 outputs SVG.
A number of short Atari printer test programs were found or written to test the emulated printers. Where possible, FujiNet output was compared side-by-side with real output or example output found in manuals.
The standard PDF document generation libraries are generally quite large and very flexible. For FujiNet a compact, custom, library was made to emulate the basic actions of the printers. For example, functions are implemented to output PDF code to start a new page, output a line of text, set the font, etc. The functions also keep track of file locations of all the PDF objects and builds a cross-reference table (xref) at the end of the PDF file.
Several resources were used to figure out how to generate PDF files on FujiNet:
- Make your own PDF file – Hello World
- PDF Reference, Third Edition - Adobe - PDF version 1.4
- TextToPDF Apache PDFBox CLI Utility - Java program used to specify fonts and extract font parameters
- iText RUPS - Java program for inspecting PDF files and is useful for finding bugs
- novaPDF - Windows program for generating PDFs and used to embed Type 1 fonts.
- MS Word and Scientific Workplace (LaTex PDF) were used to generate basic PDFs, which were examined and dissected to learn by example.
Many specimen PDF files were generated by hand or by x86 C++ code to test out ideas. These can be found in the /pdf folder of the repo.
There are a few fonts in the wild that are close to the Atari 820 and 822 printers but nothing was an exact match. Initial development was done with these fonts and FontForge was used to tweak them to desired effect.
Copyright 2024 Contributors to the FujiNetWIFI project.
Join us on Discord: https://discord.gg/7MfFTvD
- Home
- What is FujiNet?
- The Definition of Done
- Board bring up for FujiNet Platform.IO code
- The Complete Linux CLI Guide
- The Complete macOS CLI Guide
- Development Env for Apps
- FujiNet-Development-Guidelines
- System Quickstarts
- FujiNet Flasher
- Setting up a TNFS Server
- FujiNet Configuration File: fnconfig.ini
- AppKey Registry - SIO Command $DC Open App Key
- CP-M Support
- BBS
- Official Hardware Versions
- Prototype Board Revisions
- FujiNet Development Guidelines
- Atari Programming
- Apple Programming
- C64 Programming
- ADAM Programming
- Testing Plan
- Hacker List
- FujiNet VirtualMachine