# Epson DFX-5000+ DIP switch settings for ASCII Photobooth Recommended physical DIP switch positions for running the DFX-5000+ with this project, matching `printer.conf.epsondfx5kp.bak` (`PRINTER_A4=false`, `PRINTER_MAX_LINES=0`, `PRINTER_MAX_COLS=136` — continuous fanfold paper, parallel port, no fixed page length) and how `txt2printr.sh` talks to the printer: - Writes raw ESC/P to `/dev/lp0` (a **parallel** connection). - Sends `ESC @` to reset the printer, then the ascii-art body with each line explicitly terminated `\r\n` (CR+LF), then a form feed to clear the print for tear-off. - Treats the printer as continuous/roll stock with no software concept of a page boundary — it never relies on the printer stopping mid-job at a perforation. Reference: Epson DFX-5000 Product Information sheet (9-Pin Printers, 12/12/88), "Setting the DIP Switches". ## DIP switch 1 | Switch | Position | Function | Why | | --- | --- | --- | --- | | 1-1 | OFF | Normal (not condensed) pitch | Matches `PRINTER_MAX_COLS=136`, which is the datasheet's 10 cpi column count. Forcing condensed mode here would silently pack more (narrower) characters per line than the config expects. | | 1-2 | OFF | Zero not slashed | Ascii-art density maps can use `0` as a shading character; an unslashed zero keeps its shape closer to what the art conversion intended. | | 1-3 | OFF | Italics character table | Doesn't affect output — the art only ever uses printable US-ASCII (0x20-0x7E), never the high-bit code page this switch selects between. Left at the printer's factory default. | | 1-4 | OFF | Input buffer enabled | Lets the printer accept the whole raw write from `txt2printr.sh` without the host blocking on printer-speed backpressure. | | 1-5 | OFF | Draft quality | NLQ is roughly 5x slower (80-96 cps vs. 480-533 cps per the datasheet's speed table) for characters that are already a coarse ascii-art novelty print, not a document — draft keeps photobooth turnaround fast. | | 1-6, 1-7, 1-8 | ON, ON, ON | USA international character set | Every other character set in the DIP table remaps one or more of `# $ [ \ ] ^ \` { \| } ~` to an accented/local character. Ascii-art density maps commonly use several of those symbols, so USA is the only setting guaranteed not to corrupt the art. | ## DIP switch 2 | Switch | Position | Function | Why | | --- | --- | --- | --- | | 2-1 | OFF | 11-inch page length | Matches standard letter-width continuous fanfold stock. Mostly moot since `PRINTER_MAX_LINES=0` means the software never treats this printer as page-bounded, but it keeps the printer's own top-of-form tracking sane if you ever use its front-panel form-feed. | | 2-2 | OFF | High-speed draft | Fastest print speed on the datasheet's table (533 cps at 10 cpi) — same "keep photobooth turnaround fast" reasoning as 1-5. | | 2-3 | OFF | Skip-over-perforation disabled | The printed art is a continuous strip with no page concept on the software side; if this were ON, the printer would silently insert an extra line-feed gap wherever a perforation falls mid-image, splitting the art. | | 2-4 | OFF | Auto line feed disabled | `txt2printr.sh` already appends an explicit CR *and* LF to every line (`sed 's/$/\r/'` before the trailing `\n`). If this switch were ON, the printer would add its own extra line feed on top of that, double-spacing the entire print. | | 2-5, 2-6 | OFF, OFF | Parallel interface | `txt2printr.sh` writes to `/dev/lp0`, a parallel port device. The serial/parity combinations on this switch pair don't apply. | | 2-7, 2-8 | — | Baud rate (don't care) | Only meaningful in serial mode; ignored once 2-5/2-6 select Parallel. Leave at factory default. |