News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Amstrad CPC464 Printer

Started by SilverGreen93, 10:57, 21 January 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SilverGreen93

Hi,
I made an adapter to connect a standard Parallel printer to the CPC464 port by using the pinout here: http://www.cpcwiki.eu/index.php/Connector:Printer_port


Unfortunately, my printer (HP Deskjet 400) does load the paper when I use the PRINT #8 command, but nothing more happens. The printer does not print anything and gets stuck in this waiting state after loading the paper.
I tries a PRINT #8, CHR$(27);CHR$(69) which is the printer reset sequence, but this does not work either.


Does anyone know how to get it to print a line of text?
Is something different with the protocol? Shouldn't be.


Thanks

arnoldemu

#1
Quote from: SilverGreen93 on 10:57, 21 January 18
Hi,
I made an adapter to connect a standard Parallel printer to the CPC464 port by using the pinout here: http://www.cpcwiki.eu/index.php/Connector:Printer_port


Unfortunately, my printer (HP Deskjet 400) does load the paper when I use the PRINT #8 command, but nothing more happens. The printer does not print anything and gets stuck in this waiting state after loading the paper.
I tries a PRINT #8, CHR$(27);CHR$(69) which is the printer reset sequence, but this does not work either.


Does anyone know how to get it to print a line of text?
Is something different with the protocol? Shouldn't be.


Thanks
A few checks:
- the printer connector on the CPC PCB, is that clean?
- the printer cable connectors, are they clean?
- does the printer cable on the CPC work with another printer? Can you test?
- do you know if it supports the epson printer codes? Is there a mode you can enable for this? Cpc software which prints graphics or different text will use these codes.

You say the printer takes the paper and gives actions like it is starting to print but it waits forever?

To me this sounds like a few things:
1. timings from the CPC are not good for the printer
2. printer is operating in a different mode (not raw ascii or epson mode), so expects data in a different form (e.g. postscript, pdf or similar)
3. printer is filling buffer but needs a command to tell it the data has finished sending. Maybe you need to send a "new page" command?

If possible can you try on an old computer and print from dos without driver?

EDIT: Printer is using "PCL" revision 3. Revision 5 link here:
http://www.hp.com/ctg/Manual/bpl13205.pdf

EDIT: You may need to start and end a job. Look for "Job Separation".

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

SilverGreen93

Well, I've tested my printer with an Arduino, and when sending the 27+69 code (reset printer) and then sending raw ascii data, the printer prints exactly what it is send.
So, I thought that maybe there is something different on the Amstrad.
I tried to print only from BASIC, as I said, by using the PRINT #8 command. Only the first PRINT #8 command loads the paper no matter what data is send, and then nothing happens.
From the PCL3 manual I can see that the code is correct. By default, the printer operates in ASCII mode an expects just what I sent to it with PRINT #8.
Maybe some timing issues? Such as the Amstrad ignoring the Busy signal?

arnoldemu

Ok. Amstrad port is 7-bit data. it has busy, strobe and 7 bits of data.

On CPC if printer is not busy, it writes data and toggles state of strobe.

With your arduino do you know the timings used to send data?

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

SilverGreen93

Ok, it seems that the timings are way shorter on the Amstrad, but this wasn't the problem. I used 2ms for strobe, but the Amstrad uses less than 0.1ms :P
I managed to figure it out!
You were right, the adapter cable was bad... It seems like the crimping of the ribbon to the edge connector wasn't making contact on D0 and D5, so the codes weren't why I expected.
I managed to find it out using a Saleae Logic Analyzer and see the waveforms and timings.
Thanks you for suggesting the possibility of bad wiring.
:D
I should have tested it from the start and not rely on the crimp tool.


I now can proceed with my custom printing software on the Amstrad :)
Hope that it will work.


P.S.: Can you recommend me software that already uses the printer to test it further? Maybe some text editors?


Thanks

arnoldemu

fantastic news. :)

For text I recommend protext. This has control codes for setting character styles: bold, italic and underline.
You can also use brunword.

For graphics I recommend art studio. This can print a screen. You can also try others like pagemaker.

All are on cpc-power.com




My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Powered by SMFPacks Menu Editor Mod