[comp.sys.atari.st.tech] Output to the Atari Laser...

rmacgreg@cs.strath.ac.uk (Sorcerer) (10/16/90)

Does anybody out there know how to direct output the the Laser printer if it's
hanging on the DMA port from a C program.  I'm asking as I want to have the 
option of printing to the serial port, the parallel port or a laser and I 
can't find anything telling me how to address the DMA port for printing :-(

Thanks.
                     ___
 _____              /         (rmacgreg @ uk.ac.strath.cs)
   |   |__   __    /___  ___  ___  ___ ___  ___  ___  ___
   |   |  | |__|      / /  / /  / /   /__/ /  / /__/ /  /
   |   |  | |__   ___/ /__/ /    /__ /__  /    /__  / 

            is 'Only visiting this planet.'

fischer-michael@cs.yale.edu (Michael Fischer) (10/17/90)

In article <4847@baird.cs.strath.ac.uk> rmacgreg@cs.strath.ac.uk (Sorcerer) writes:
>Does anybody out there know how to direct output the the Laser printer if it's
>hanging on the DMA port from a C program.  I'm asking as I want to have the 
>option of printing to the serial port, the parallel port or a laser and I 
>can't find anything telling me how to address the DMA port for printing :-(

The DMA port is not like the parallel or serial ports.  You can't just
ship a stream of ASCII characters to an Atari laser printer and expect
anything meaningful to print, for the Atari laser printer expects bit
images only.  The Diablo 630 emulator, which Atari furnishes for use
with the SLM804 laser printer, works by intercepting output intended
for the parallel or serial ports (as selected by the user).  It then
prepares a bitmap of the output page and ships it off to the laser
printer via the DMA port.  While the emulator is active, the port that
it is intercepting is disabled. 

The question you are asking, assuming you are using the emulator, is
how a C program can change the port that the emulator is intercepting.
The only way I know to do that is manually from a menu using the
"setup630.prg" program that configures the emulator, but there must be
a way to do the same thing from your own program.

-- 
==================================================
| Michael Fischer <fischer-michael@cs.yale.edu>  |
==================================================