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?
Printing to a Level 4 Econet Printer Server from a BBC Micro
Re: Printing to a Level 4 Econet Printer Server from a BBC Micro
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.
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
Re: Printing to a Level 4 Econet Printer Server from a BBC Micro
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
>_
Re: Printing to a Level 4 Econet Printer Server from a BBC Micro
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
>_
Re: Printing to a Level 4 Econet Printer Server from a BBC Micro
Heartening to get some responses on this thread
I haven’t encountered that problem for some reason - are you using the RemotePrinterFS module for network printing with your LaserJet?
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

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

Re: Printing to a Level 4 Econet Printer Server from a BBC Micro
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
>_