Printing to a Level 4 Econet Printer Server from a BBC Micro

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
lcww1
Posts: 120
Joined: Wed Mar 15, 2017 11:16 pm
Location: Out There
Contact:

Printing to a Level 4 Econet Printer Server from a BBC Micro

Postby lcww1 » Sun Apr 15, 2018 6:08 pm

There have been some questions lately about printing from 8-bit Acorn computers to modern printers.

I've always assumed that it should be perfectly possible to print from a Beeb to a Level 4 Econet printer server running on a RISC OS 3.1 machine, as per this thread http://stardot.org.uk/forums/viewtopic.php?f=3&t=4344.

Of course, the issue then becomes one of printing to a modern printer from a RO 3.1 machine. However, if the said modern printer happens to be a network printer, then this process turns out to be quite straightforward by using Stefan Bellon's RemotePrinterFS module - http://www.sbellon.de/sw-modules.html. This module works nicely on RO 3.1 - the setup is described here: https://www.retro-kit.co.uk/page.cfm/content/Network-printing-from-an-Acorn-Archimedes/, and the documentation supplied with the module is good.

I've been using RemotePrinterFS to print from an A5000, across ethernet, to an HP OfficeJet Pro 6960 for a while now, and this system has worked flawlessly for me. I just set up a printer on Risc OS which prints to a file with a special name -

RemotePrinterFS#proto=JetDirect;host=192.168.1.121:

the host is the printer's IP address on my network, and the JetDirect protocol works with most HP printers (but see the comments on the retro-kit site).

So, I wondered, would RemotePrinterFS work with the Level 4 Econet !Spooler printer server, and enable me to print from a Beeb connected to the A5000 via Econet? The answer is yes - it's the same process - I set the LASER printer in the !Spooler to print to a file with the same special name, as given above. With this in place, I can then print to the HP OfficeJet via Econet from a Beeb. However, the Beeb filters the line feed characters by default, so the printer prints all the lines of a listing on top of one another! On a Master, I can use the *IGNORE command to stop this from happening, so printing via Econet via the A5000 server works very nicely from a Master.

Is there an equivalent to *IGNORE on a Beeb? One can use *FX6,X, where X is a character value to ignore, but there seems not be a specific way of asking a Beeb to send all characters to the printer, but perhaps someone knows a way of achieving this?

gazzaD
Posts: 27
Joined: Sun Jun 18, 2017 11:37 am
Contact:

Re: Printing to a Level 4 Econet Printer Server from a BBC Micro

Postby gazzaD » Tue Apr 17, 2018 10:14 pm

I've been doing something similar with a Laserjet M1356dnf for a while. Not so much from the BBCs, but from Archimedes machines using a Postscript driver.

The one annoying gotcha is that if the printer isn't ready, then the spoiler will pop up an error message it can't write to the file - which freezes the spooler machine until you cancel the error and clear the job. If you are running Level 4 on the same machine, then this gets annoying very quickly.
Gareth

User avatar
jgharston
Posts: 3004
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Printing to a Level 4 Econet Printer Server from a BBC Micro

Postby jgharston » Wed Apr 18, 2018 1:30 pm

lcww1 wrote:Is there an equivalent to *IGNORE on a Beeb? One can use *FX6,X, where X is a character value to ignore, but there seems not be a specific way of asking a Beeb to send all characters to the printer, but perhaps someone knows a way of achieving this?

*FX6,0 (shortenable to *FX6) is adequate for text printing. When sending graphics the code would normally use VDU 1,n which bypasses the *FX6 setting anyway.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
jgharston
Posts: 3004
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Printing to a Level 4 Econet Printer Server from a BBC Micro

Postby jgharston » Wed Apr 18, 2018 1:32 pm

gazzaD wrote:The one annoying gotcha is that if the printer isn't ready, then the spoiler will pop up an error message it can't write to the file - which freezes the spooler machine until you cancel the error and clear the job. If you are running Level 4 on the same machine, then this gets annoying very quickly.

There's a program you can run that will "click" on unattended single-tasking error boxes like that to let the system continue.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
lcww1
Posts: 120
Joined: Wed Mar 15, 2017 11:16 pm
Location: Out There
Contact:

Re: Printing to a Level 4 Econet Printer Server from a BBC Micro

Postby lcww1 » Wed Apr 18, 2018 5:22 pm

Heartening to get some responses on this thread :D

gazzaD wrote:I've been doing something similar with a Laserjet M1356dnf for a while. Not so much from the BBCs, but from Archimedes machines using a Postscript driver.

The one annoying gotcha is that if the printer isn't ready, then the spoiler will pop up an error message it can't write to the file - which freezes the spooler machine until you cancel the error and clear the job. If you are running Level 4 on the same machine, then this gets annoying very quickly.


I haven’t encountered that problem for some reason - are you using the RemotePrinterFS module for network printing with your LaserJet?

jgharston wrote:*FX6,0 (shortenable to *FX6) is adequate for text printing. When sending graphics the code would normally use VDU 1,n which bypasses the *FX6 setting anyway.


Thanks for this JGH - works nicely for text/listings!

Re printing graphics from a Beeb to my network printer via Econet, I’ve not had much success so far. I’ve tried using Beebug Soft’s Dumpmaster ROM to send a screen dump from my Master to the network printer from the Beeb - I wasn’t really expecting this to work, as I couldn’t see how the ESC/P printer codes would be dealt with by the Level 4 Spooler - in the event, I’m not sure what Dumpmaster is actually sending to the Spooler, and I need to investigate further, but is this even a viable approach? Or am I barking up the wrong tree :?:

User avatar
jgharston
Posts: 3004
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Printing to a Level 4 Econet Printer Server from a BBC Micro

Postby jgharston » Wed Apr 18, 2018 7:12 pm

lcww1 wrote:Re printing graphics from a Beeb to my network printer via Econet, I’ve not had much success so far. I’ve tried using Beebug Soft’s Dumpmaster ROM to send a screen dump from my Master to the network printer from the Beeb - I wasn’t really expecting this to work, as I couldn’t see how the ESC/P printer codes would be dealt with by the Level 4 Spooler - in the event, I’m not sure what Dumpmaster is actually sending to the Spooler, and I need to investigate further, but is this even a viable approach? Or am I barking up the wrong tree :?:

As long as the printer understands Epson Escape Codes and the Spooler doesn't interfer with the print stream it should work. EPATALL was a commonly used screen dumper that uses Epson escape codes, and being BASIC is customisable.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_