| Próxima revisión | Revisión previa |
| en:hardware:perifericos:parallel_printer_port [2026/05/14 08:33] – creado jesus | en:hardware:perifericos:parallel_printer_port [2026/05/25 16:27] (actual) – jesus |
|---|
| <html> | <html> |
| <style> | <style> |
| /* --- RETRO CRT VISUAL ENGINE --- */ | /* --- CRT RETRO VISUAL ENGINE --- */ |
| .pcw-monitor-ultra { background-color: #000b00; border: 12px solid #2a2a2a; border-radius: 15px; padding: 25px; margin: 25px 0; font-family: 'Courier New', Courier, monospace; position: relative; overflow: hidden; box-shadow: inset 0 0 60px rgba(0,255,0,0.15), 0 10px 30px rgba(0,0,0,0.7); } | .pcw-monitor-ultra { background-color: #000b00; border: 12px solid #2a2a2a; border-radius: 15px; padding: 25px; margin: 25px 0; font-family: 'Courier New', Courier, monospace; position: relative; overflow: hidden; box-shadow: inset 0 0 60px rgba(0,255,0,0.15), 0 10px 30px rgba(0,0,0,0.7); } |
| .pcw-monitor-ultra::after { content: " "; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.15) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03)); background-size: 100% 3px, 2px 100%; z-index: 2; pointer-events: none; animation: flickering 0.15s infinite; } | .pcw-monitor-ultra::after { content: " "; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.15) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03)); background-size: 100% 3px, 2px 100%; z-index: 2; pointer-events: none; animation: flickering 0.15s infinite; } |
| .content-body { position: relative; z-index: 3; color: #00ff00; line-height: 1.6; text-align: justify; } | .content-body { position: relative; z-index: 3; color: #00ff00; line-height: 1.6; text-align: justify; } |
| .content-body b, .content-body strong { color: #00ff00; font-weight: bold; } | .content-body b, .content-body strong { color: #00ff00; font-weight: bold; } |
| | .content-body ul { list-style: square; margin-top: 10px; padding-left: 20px; } |
| | .content-body ul li { color: #00ff00; } |
| .pcw-subtitle-box { background-color: #00ff00; color: #000b00 !important; padding: 5px 12px; font-weight: bold; display: inline-block; margin: 20px 0 15px 0; text-transform: uppercase; position: relative; z-index: 3; font-family: 'Courier New', Courier, monospace; } | .pcw-subtitle-box { background-color: #00ff00; color: #000b00 !important; padding: 5px 12px; font-weight: bold; display: inline-block; margin: 20px 0 15px 0; text-transform: uppercase; position: relative; z-index: 3; font-family: 'Courier New', Courier, monospace; } |
| | |
| .drive-card:hover { border-color: #00ff00; background: rgba(0, 30, 0, 0.8); } | .drive-card:hover { border-color: #00ff00; background: rgba(0, 30, 0, 0.8); } |
| | |
| /* --- FORCED 4 IMAGES IN A SINGLE HORIZONTAL ROW --- */ | /* --- STRICT FOUR IMAGES IN A SINGLE HORIZONTAL LINE GALLERY --- */ |
| .gallery-four-inline { display: flex; gap: 12px; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; width: 100%; } | .gallery-four-inline { display: flex; gap: 12px; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; width: 100%; } |
| .gallery-four-inline .img-frame { flex: 1; min-width: 0; } | .gallery-four-inline .img-frame { flex: 1; min-width: 0; } |
| .gallery-four-inline .img-frame img { max-width: 100%; height: auto; max-height: 160px; } | .gallery-four-inline .img-frame img { max-width: 100%; height: auto; max-height: 160px; } |
| |
| /* --- RETRO IMAGE FRAMES --- */ | /* --- RETRO IMAGES FRAMES --- */ |
| .img-frame { border: 2px solid #00ff00; padding: 6px; background: #000; text-align: center; display: inline-flex; flex-direction: column; align-items: center; box-sizing: border-box; transition: 0.3s ease; } | .img-frame { border: 2px solid #00ff00; padding: 6px; background: #000; text-align: center; display: inline-flex; flex-direction: column; align-items: center; box-sizing: border-box; transition: 0.3s ease; } |
| .img-frame:hover { transform: scale(1.05); border-color: #00ff00; box-shadow: 0 0 15px rgba(0, 255, 0, 0.4); } | .img-frame:hover { transform: scale(1.05); border-color: #00ff00; box-shadow: 0 0 15px rgba(0, 255, 0, 0.4); } |
| .img-label { font-size: 0.72em; color: #00aa00; margin-top: 8px; font-weight: bold; text-transform: uppercase; letter-spacing: 0.5px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; width: 100%; } | .img-label { font-size: 0.72em; color: #00aa00; margin-top: 8px; font-weight: bold; text-transform: uppercase; letter-spacing: 0.5px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; width: 100%; } |
| | |
| /* --- LIGHTBOX MODAL SETUP: STRIKT NATIVE REAL SIZE --- */ | /* --- LIGHTBOX MODAL ADJUSTMENT: ORIGINAL REAL SIZE --- */ |
| .modal-pcw { display: none; position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 10, 0, 0.95); overflow: auto; } | .modal-pcw { display: none; position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 10, 0, 0.95); overflow: auto; } |
| .modal-pcw:target { display: block; text-align: center; } | .modal-pcw:target { display: block; text-align: center; } |
| </style> | </style> |
| |
| <!-- INTERACTIVE MODAL LIGHTBOX LAYERS --> | <!-- INTERACTIVE LIGHTBOX LAYERS --> |
| <div id="cppf" class="modal-pcw"><a href="#close" class="close-overlay"><img class="modal-content" src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_Front.jpg"></a></div> | <div id="cppf" class="modal-pcw"><a href="#close" class="close-overlay"><img class="modal-content" src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_Front.jpg"></a></div> |
| <div id="cppb" class="modal-pcw"><a href="#close" class="close-overlay"><img class="modal-content" src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_Back.jpg"></a></div> | <div id="cppb" class="modal-pcw"><a href="#close" class="close-overlay"><img class="modal-content" src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_Back.jpg"></a></div> |
| </div> | </div> |
| |
| <div class="pcw-subtitle-box">Hardware Architecture</div> | <div class="pcw-subtitle-box">Hardware Images</div> |
| | |
| <div class="drive-grid-container"> | <div class="drive-grid-container"> |
| <div class="drive-card"> | <div class="drive-card"> |
| <!-- FOUR IMAGE ARRAYS PINNED HORIZONTALLY IN A SINGLE FILEROW --> | <!-- FOUR IMAGES ARRANGED IN A SINGLE HORIZONTAL LINE --> |
| <div class="gallery-four-inline"> | <div class="gallery-four-inline"> |
| <div class="img-frame"><a href="#cppf"><img src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_Front.jpg"></a><span class="img-label">Front View</span></div> | <div class="img-frame"><a href="#cppf"><img src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_Front.jpg"></a><span class="img-label">Front View</span></div> |
| <div class="img-frame"><a href="#cppb"><img src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_Back.jpg"></a><span class="img-label">Rear View</span></div> | <div class="img-frame"><a href="#cppb"><img src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_Back.jpg"></a><span class="img-label">Rear View</span></div> |
| <div class="img-frame"><a href="#cpppt"><img src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_PCB_Top.jpg"></a><span class="img-label">PCB Component Side</span></div> | <div class="img-frame"><a href="#cpppt"><img src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_PCB_Top.jpg"></a><span class="img-label">PCB Component Top</span></div> |
| <div class="img-frame"><a href="#cpppb"><img src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_PCB_Bottom.jpg"></a><span class="img-label">PCB Solder Side</span></div> | <div class="img-frame"><a href="#cpppb"><img src="/lib/exe/fetch.php?media=hardware:perifericos:CirtechParallelPort_PCB_Bottom.jpg"></a><span class="img-label">PCB Solder Bottom</span></div> |
| </div> | </div> |
| </div> | </div> |
| | </div> |
| | <div class="pcw-subtitle-box">Description, Context and Shielded Circuitry Engineering</div> |
| | <div class="content-body"> |
| | <p>Launched on the British market starting in **1986** by the Scottish firm <strong>Cirtech</strong> (based in Kirkcaldy, Scotland), this parallel port interface established itself as one of the most robust and reliable industrial-grade professional expansion alternatives against Amstrad's expensive official CPS8256 interface. Its primary purpose was to enable a pure 8-bit data output towards advanced dot-matrix, daisy-wheel, or early laser printers from third-party brands (such as Epson, HP, Star Micronics, or Citizen). This effectively freed high-workload offices from the exclusive use of Amstrad's native dot-matrix printer, whose ribbons and consumable costs were significantly higher.</p> |
| | <p>At the electronic engineering and silicon design level—as clearly observed in the provided component and solder side PCB captures—Cirtech applied its strict industrial manufacturing standards through the use of pure TTL digital logic and electrical overvoltage isolation subsystems:</p> |
| | <ul> |
| | <li><strong>The Data Latch Register (74LS273 / 74LS374):</strong> The core central integrated circuit is responsible for synchronously capturing the 8 data bits coming from the PCW bus (<code>D0</code> to <code>D7</code>) at the exact instant the processor executes a write command, keeping them electrically stable on the physical lines of the external Centronics connector for as long as required by the printing peripheral's buffer.</li> |
| | <li><strong>TTL Line Buffers against Back-Currents:</strong> Legacy professional printers generated heavy electromagnetic noise and overvoltage spikes when switching their internal mechanical pin and coil motors. Cirtech shielded the PCW motherboard by forcing all physical lines of critical control synchronism (such as <code>BUSY</code>, <code>/ACK</code>, <code>PE</code>, <code>SLCT</code>, and the active-low print trigger signal <code>/STROBE</code>) to cross through inverting TTL commutator buffers (chips like the <strong>74LS14</strong> or <strong>74LS244</strong>). This electrical barrier ensured that in the event of any short circuit in the cable or printer, only the cheap, discrete integrated circuits of the Cirtech interface would be destroyed, completely safeguarding the integrity of the motherboard and the internal Z80 CPU of the computer.</li> |
| | <li><strong>Pass-Through Mechanism and 36-pin Amphenol Connector:</strong> The internal adapter plugs directly into the PCW's 50-pin lateral expansion bus. Cirtech's PCB features double-sided pass-through copper traces on its rear edge, ensuring that professional users could chain additional critical expansions simultaneously (such as RAM expansion cards from the same brand or <em>DataDrive</em> 3.5-inch floppy disk controllers). The external output was terminated using a heavy-duty female **36-pin Amphenol Centronics connector** identical to standard professional PC printer cables.</li> |
| | </ul> |
| </div> | </div> |
| |
| | <div class="pcw-subtitle-box">I/O Hardware Mapping and LocoScript Compatibility</div> |
| | <div class="content-body"> |
| | <p>To achieve a seamless and immediate integration with the entire Amstrad office ecosystem without requiring complex software patching processes, Cirtech's decoder electronics perfectly emulated the machine's official port map:</p> |
| | <ul> |
| | <li><strong>Amstrad Compatible Mapping (Ports 0E2h and 0E3h):</strong> By writing directly to the hardware Input/Output address <code>0E2h</code> (226 decimal), the Z80 processor instantly injected the byte into the Centronics output buffer towards the printer. By reading port <code>0E3h</code> (227 decimal), the CPU immediately obtained the status lines of physical control synchronism. Thanks to this addressing layout identical to Amstrad's standard, the <strong>LocoScript</strong> word processor and the <strong>CP/M Plus</strong> operating system recognized and interacted with the Cirtech interface natively. The user only had to toggle the print output in the LocoScript menus from "Amstrad Printer" to "Standard Centronics Printer".</li> |
| | </ul> |
| | </div> |
| </div> | </div> |
| </html> | </html> |
| |