CompuServe Thread

#PRT: Redirection

27 messages in this thread
#68306From: SyndesisOct 5, 1989 1:52 AM
Here's a good question for the Gurus. We're working on network software, and we're considering ways to implement printer sharing. What is the best and safest system method for intercepting calls to PRT:? Is it true some programs access PRT:, while others access "printer.device" directly? How can we get around this? Some programs let you change the PRT: to something else, some don't. Also, there is no system method for selecting which printer should be considered the PRT: printer. In other words, we need a mechanism for supporting multiple printers, too, each with their own printer driver selection. Is it true that third-party serial boards can't be used for the PRT: printer, because it only selects between SER: and PAR:?
#68332From: Khalid AldoseriOct 5, 1989 2:01 PM
#68365From: Ray LewisOct 5, 1989 6:44 PM
Khalid: I think that's called "Dave's spool". It "remprt"s (remove PRT:), and then mounts its own PRT: (from a special mountlist entery), and finally assigns SPOOL: to RAM:. Ray Lewis
#68388From: SyndesisOct 5, 1989 7:45 PM
Gee, I'd hoped you'd come up with a better answer than that… 🙂 If we make our own PRT: handler, and intercept all calls to it and move them across the network to another machine, presumably we'd need to have some way to access an unaltered PRT: handler on the destination machine, so it could pass through the Preferences drvier on that machine. If some programs use printer.device directly – and why not? – then we're still stuck. And you can't zap "serial.device" to "modem0.device" after the printer.device has been loaded, and you can't flush it unless nothing else is in the system. And is there a way to flush only only device from memory, without flushing every other zero-count device or library or font from the system at the same time?
#68995From: Matthew J. W. RatcliffOct 9, 1989 5:20 PM
#68390From: RON TROYOct 5, 1989 8:02 PM
Doesn't 1.3 have a program that redirects printer output? I think I can remember using it. Ron
#68364From: Ray LewisOct 5, 1989 6:44 PM
Use the RM Function to read these messages.
#68451From: Vic WagnerOct 6, 1989 4:14 AM
Use the RM Function to read this message.
#68467From: M2S/Phil CampOct 6, 1989 8:11 AM
To intercept calls to the printer device, it is a simple matter of doing like the CMD program on Extras 1.3. You SetFunction the BeginIO vector of the device, then wathch for every CMD_WRITE that comes along and send the output to wherevr you want it to go. Be sure not to do too much fancy stuff in your replacement for BeginIO, especially no disk access.
#68534From: SyndesisOct 6, 1989 7:18 PM
That does seem like a reasonable solution, doesn't it? It would catch both kinds of programs, ones that use PRT: and one that uses printer.device. We'd just need to echo the requests to printer.device – maybe even just call-for-call – across the netowork. We'd use the destination machine's settings for Preferences in terms of which printer is attached where. This only leaves the contention between the real printer.device and the network printer.device. What would we need to do is provide a mechanism for choosing between the real one and the network one. I imagine it would be nice to be able to use both at the same time: one app printing to the local printer, and the other to the network printer, at the same time.
#68797From: Vic WagnerOct 8, 1989 11:09 AM
#68883From: Dean BrownOct 8, 1989 7:36 PM
Vic, I talked to Andy Finkel awhile back on just this subject. I was told in no uncertain terms that there is no intent to modify the parallel device (or printer) to be able to handle more than one printer. The problem seems to be that the current printer device is single threaded, an in order for you to have multiple printers attached, the printer device would need MAJOR changes. I was wanting to build a board the provided a couple extra parallel ports, and wanted to implement them is a system supportable manner. Andy told me that since there was no user demand for such, he was not interested in applying resources to it. So, if people would start hounding CBM to provide multi-printer (parallel) support in the OS, I'm more than willing to build the board to hook it to. I also agree that being able to render to a file is a very useful idea. John's problem would easily be solved by dumping to a file on the printer server, and then telling the server to print the file. -Dean
#68929From: SyndesisOct 9, 1989 12:11 AM
Good to hear someone else has thought of this before. 🙂 When you were considering this, did you discover the possible and popular ways that Amiga programs access the printer? That is, what was your assessment of PRT: versus printer.device access? Do some programs use different techniques? Second, some programs query the new 1.3 printer.device for information, don't they?
#69027From: Dean BrownOct 9, 1989 7:08 PM
Use the RM Function to read these messages.
#69051From: SyndesisOct 9, 1989 9:10 PM
You said your board is a multiple parallel port board? Is it bidirectional? And who will market it? Before we start thinking about a standard, we should at least thoroughly examine all the permutations that people might want. Vic's suggestion of using the "first available LaserWriter" as opposed to any specific printer is a good one. Was that Vic who said that? Or some Mac magazine I was reading? 🙂
#69054From: Dean BrownOct 9, 1989 9:37 PM
#69181From: Ray LewisOct 10, 1989 8:04 PM
#69353From: Vic WagnerOct 11, 1989 8:58 PM
Ray, then ask for "the first available printer with wide paper found in room 2003" <grin> Victor A. Wagner, Jr.
#69558From: Ray LewisOct 13, 1989 8:08 PM
Hey, you want to give me that kind of flexibility, I can live with that. Ray Lewis
#69352From: Vic WagnerOct 11, 1989 8:58 PM
Use the RM Function to read these messages.
#68951From: Kelly JordanOct 9, 1989 7:28 AM
Dean, thanks for posting that message with Andy's comments in it. All I can do is cringe (sp?) when I read that, and considering who said it, all I can do is say, what do we expect! I am sure if Ben was here right now, he would be saying something along the lines of "I told you so" with regard to Andy's attitude on the Amiga. Andy is starting to sound like a very lazy, and non-intuitive programmer. I want to see more parallel ports on the Amiga as much as I want more serial ports. We finally have more serial ports, thanks to the likes of ASDG, among others. As for me, I have two printers, but can easily live with going thru a switch box for them. What I want are more parallel ports that can be supported by the system, and can be used in a similiar fashion at the hardware level as the existing port. At this time I have two hardware devices (besides printers) that want the parallel port (DigiView and AVT), and there are more I would like to have in the future. I would like to have AVT sitting in the background, waiting for me to tell it to send/receive another picture, while I am using DigiView to get another picture, and of course, still be sending the last picture I received to the printer! Right now, everything is exclusive to all other operations! 73, Kelly
#69028From: Dean BrownOct 9, 1989 7:09 PM
Kelly, Andy as head of software development at CBM, has a job to do. That job consists of allocating resources to what ever has the highest priority. What we can do is bump the priority of multi parallel ports by making alot of noise. Now when I say "alot of noise" I mean simply asking CBM (whoever you can contact) when they are going to start supporting multiple printers. Ben's method of harassing anyone connected to CBM is IMHO, counter productive. I can think of several uses for a minumum of 2 printers on a computer, the most obvious of which is at a point of sale terminal, or an order entry system. One printer would be used to print invoices, the other would print shipping labels. Supporting multiple printers would also do wonders for networking. Unfortunatly, any standard to be set, MUST be set by CBM!!! If there is to be any hope of a seamless compatable method of support, ALL programers and port manufacturers MUST be conforming to a specific standard. The only hope I currently see, is for everyone interested to tell CBM what they want. If enough of us ask for it, then CBM will have to listen. (I hope 8) -Dean
#69354From: Vic WagnerOct 11, 1989 8:58 PM
Gee, Dean, you figured out what application I had in mind. BTW, where do I attach the 24pin printer which is doing the latest version of the schematics while I decide to work on the 'sales' side of the biz? <smmiiille> Victor A. Wagner, Jr.
#69425From: Dean BrownOct 12, 1989 8:20 PM
Vic, Right, We have a multi-tasking machine, it's stupid, IMHO, to be limited to a single output (hardcopy) device. Thats what windows are for on the monitor, we need the equilivant for hardcopy. We need to beat on (nicely now 😉 CBM to provide systemwide support for multiple printers (err output) devices. One or two people cannot provide the incentive to CBM to start dealing with the problems involved, if hundreds were to start requesting, well…… 8) -Dean DKB Software
#69498From: Kevin DarlingOct 13, 1989 6:44 AM
Dean, Yah, just what I said about a year ago: multitasking machines need multi-ports, and that the Amiga couldn't be taken seriously as a business computer without those, and record-locking. At least the locking seems to be coming, which is a start towards safe networking and multitasking. Defenders of CBM might say, "But the Amiga is a one-person multitasking computer". I say this: machines should have few limits, and the Amiga is too limited for my tastes. I need a machine that serves my needs, and of the Atari ST, Amiga, Tandy 1000, and Tandy CoCo (among other computers) that sit within feet of me, only a homebrew 68070 and my "little" CoCo give me both solid multitasking, and multiports. That alone should be embarrassing to CBM! I have EX-800 and CGP-200 printers hooked up, along with a Hazeltine terminal, and both Prometheus 1200 and Supra 2400 modems. I can download on one line while CO'ing on the other. I can print a color GIF image on the 220 while listing a long file to the EX-800. The terminal is in the kitchen for looking up recipes. And it's not just that I _can_ do all this, but that I _need_ to often enough that it's essential… and is part of what (I think) multitasking computers are all about. Others need it too. I know a photography studio that uses about the same setup, except with 2 printers and 2 terminals set up as 2 point of sale spots. He has a fifth port connected to a X-10 controller to turn on/off the lights and lawn sprinklers while he's out. I'd like to see the Amiga be capable of home and business setups like this. Is there no person or group of people who are well-known enough to force a de facto standard on ports? Perhaps the Transactor people? Someone else? CBM would probably follow their lead. We can't wait on CBM to do everything! It's a crying shame that the technologically advanced Amiga should be backwards and useless in so many scenarios.
#69562From: Dean BrownOct 13, 1989 8:49 PM
Kevin, The problem with an outside group doing a 'defacto' standard is that CBM, when it finally sees the light, will come up with thier own implementation and sink the inovators. H*ll, they can't even follow thier own standards from one OS revision to another. I'd be more than happy to build the hardware needed, if only there were a software standard that I could depend upon. Without that standard, I would be fighting an uphill battle, and I don't have the resources for that. (I wish I did!) Anyway, Flame off, and back to work. -Dean DKB Software
#69588From: Don Curtis/SYSOPOct 13, 1989 11:24 PM
Kevin, So you can't use multi-serial ports for printers? Serial interfaces or serial-parallel converters are easy enough to get. Don