Difference between revisions of "8bit Printer Port (Paul Bauriedl)"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(initial version - please have a look at the description (I am not sure if this is detailed enough))
 
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This 8bit Printer Port expansion is described in the book [[Maschinenspracheprogramme und Hardware-Erweiterungen für Schneider CPC's]] by [[Paul Bauriedl]]. It only connects to the centronics port of the CPC and doesn't require internal modifications.
+
This [[8bit Printer Ports|8bit Printer Port]] expansion is described in the book [[Maschinenspracheprogramme und Hardware-Erweiterungen für Schneider CPC's]] by [[Paul Bauriedl]]. It connects externally to the 7bit printer port (and the 5V power supply) of the CPC and doesn't require any internal modifications to the CPC.
  
 
== Description ==
 
== Description ==
Line 46: Line 46:
 
330 retour: jp #07f8
 
330 retour: jp #07f8
 
</pre>
 
</pre>
 +
 +
[[Category:Printers and printer ports]] [[Category:DIY]]

Latest revision as of 06:44, 6 September 2013

This 8bit Printer Port expansion is described in the book Maschinenspracheprogramme und Hardware-Erweiterungen für Schneider CPC's by Paul Bauriedl. It connects externally to the 7bit printer port (and the 5V power supply) of the CPC and doesn't require any internal modifications to the CPC.

Description

In this design, only the lower 4 bits of the printer port are directly connected to the printer. The upper 4 bits are generated with the help of a latch (LS 75). If you want to print, you have to send the upper 4 bits in D0-D3 and set D4 to high to buffer the values in the latch which is connected to D4-D7 of the printer. The rest of the data can be sent by the normal printer routine of the firmware (with D4 set to 0 to disable the latch).

Schematics

8bitPrinterPortPaulBauriedl.png]

Listing

10 ;Patch fuer 8-bit Centronics
20 ;direkt unter HIMEM (+Floppy)
30 ;
40 indjmp: 	equ	#bdf1
50 ;
60		org	42619-40
70 ;Initialisieren
80 		ld	hl, (indjmp+1)
90		ld	(retour+1),hl
100		ld	hl,bit0
110		ld	(indjmp+1),hl
120		ret
130 ;
140 ;neue Ausgaberoutine
150 ;ist ueber Druckerindirektion
160 ;#BDF1 eingeschleift
170 ;
180 bit0:	ld	b,#ef
190		push	af
200		srl	a
210		srl	a
220		srl	a
230		srl	a
240		out	(c),a
250		set	4,a
260		out	(c),a
270		res	4,a
280		out	(c),a
290		pop	af
300		and	#0f
310 ;Jump wird beruecksichtigt
320 ;je nach System!
330 retour:	jp	#07f8