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

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
Post Reply
User avatar
lcww1
Posts: 281
Joined: Wed Mar 15, 2017 11:16 pm
Location: Moon Base Alpha
Contact:

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

Post by 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 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/co ... rchimedes/, 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: 35
Joined: Sun Jun 18, 2017 11:37 am
Contact:

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

Post by 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: 3248
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

Post by 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: 3248
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

Post by 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: 281
Joined: Wed Mar 15, 2017 11:16 pm
Location: Moon Base Alpha
Contact:

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

Post by 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: 3248
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

Post by 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
>_

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

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

Post by gazzaD » Fri Apr 20, 2018 5:23 pm

lcww1 wrote:
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?
I'm fairly sure it is the RemotePrinterFS module, although said printer in in London and I'm not at the moment to confirm! IIRC it only got upset if the printer was switched off, but didn't if the printer ran out of paper or was busy doing other jobs from the PC.
Gareth

User avatar
1024MAK
Posts: 7998
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

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

Post by 1024MAK » Fri Apr 20, 2018 9:39 pm

Before I discovered StarDot (read: what feels like a lifetime ago :shock: ) I had a Beeb printing via RS423 / RS232 to a Windows 95 PC. IIRC this was just a comms program on the PC that captured the ASCII text. Or I may have been running a GW BASIC program (can't actually remember). Then I just printed out the captured file using Windows.

Mark

User avatar
lcww1
Posts: 281
Joined: Wed Mar 15, 2017 11:16 pm
Location: Moon Base Alpha
Contact:

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

Post by lcww1 » Sat Apr 21, 2018 8:33 pm

jgharston wrote: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.
Thanks for this JGH! EPATALL looks interesting - I'll investigate this, and see how far I can get :)

Post Reply