[comp.sys.atari.st.tech] How does one write a GDOS driver?

jeff@hpuplca.nsr.hp.com ( Jeff Gruszynski ) (05/07/91)

	I'm trying to find information on how to write a GDOS device
	driver from scratch.  I've tried to find this in the Devel Kit
	but either I missing something obvious or it's not described.
	I've gotten my hands on an obscure, off-brand bed plotter that
	I'd like to hack.

	Jeff

	The joy is in the doing!


jeff@hpuplca.hp.nsr.com
Jeff Gruszynski

ONM07@DMSWWU1A.BITNET (Julian F. Reschke) (05/07/91)

In article <12400001@hpuplca.nsr.hp.com>, jeff@hpuplca.nsr.hp.com (   Jeff
Gruszynski  ) says:
>
>        I'm trying to find information on how to write a GDOS device
>        driver from scratch.  I've tried to find this in the Devel Kit
>        but either I missing something obvious or it's not described.
>        I've gotten my hands on an obscure, off-brand bed plotter that
>        I'd like to hack.
>
>        Jeff
>
>        The joy is in the doing!
>
>
>jeff@hpuplca.hp.nsr.com
>Jeff Gruszynski

Basically, you have to rewrite a whole new vdi. If you are familiar with
assembler, you should take a look at the trap dispatcher at the beginning
of META.SYS


___________________________ cut here _____________________________________
Julian F. Reschke, Hensenstr. 142, D-4400 Muenster, Phone: ++49 251 861241
fast eMail: ONM07@DMSWWU1A.BITNET,    slow: jr@ms.maus.de (++49 251 77216)
____________________ correct me if I'm wrong _____________________________

jan@janhh.hanse.de (Jan Willamowius) (05/09/91)

Julian F. Reschke writes:
> Jeff Gruszynski says:
>>
>>        I'm trying to find information on how to write a GDOS device
>>        driver from scratch.
>
> Basically, you have to rewrite a whole new vdi. If you are familiar with
> assembler, you should take a look at the trap dispatcher at the beginning
> of META.SYS

I don't quite agree. What you need is a trap dispatcher. True.
Meta.Sys is a good example for that.

Secondly, you need the code for all the functions to set and inquire
parameters. That code is basically the same for all devide drivers.
(From what I understand Atari supplies it with the GDOS Drivers Kit,
which costs about $300.) If you're not rich take a look into some device
driver. It's all in there.
(BTW: The *old* versions have a symbol table!)

What you have to write yourself is the code for the actual output.
A dot matrix printer has to buffer te output for a whole page.
It draws on a bitmap and then prints it. A plotter probalby is able to
do the drawing right when it gets the command.

Good luck,
           Jan


--
Jan Willamowius, Nienredder 6, 2000 Hamburg 54, Germany
E-Mail: jan@janhh.hanse.de

ONM07@DMSWWU1A.BITNET (Julian F. Reschke) (05/13/91)

In article <1334.05.91@janhh.hanse.de>, jan@janhh.hanse.de (Jan Willamowius)
says:
>
>> Basically, you have to rewrite a whole new vdi. If you are familiar with
>> assembler, you should take a look at the trap dispatcher at the beginning
>> of META.SYS
>
>I don't quite agree. What you need is a trap dispatcher. True.
>Meta.Sys is a good example for that.
>
>Secondly, you need the code for all the functions to set and inquire
>parameters. That code is basically the same for all devide drivers.
>(From what I understand Atari supplies it with the GDOS Drivers Kit,
>which costs about $300.) If you're not rich take a look into some device
>driver. It's all in there.
>(BTW: The *old* versions have a symbol table!)
>
>What you have to write yourself is the code for the actual output.
>A dot matrix printer has to buffer te output for a whole page.
>It draws on a bitmap and then prints it. A plotter probalby is able to
>do the drawing right when it gets the command.
>
>Good luck,
>           Jan

All true, BUT: if you have written all this stuff, you HAVE written a
new VDI.

___________________________ cut here _____________________________________
Julian F. Reschke, Hensenstr. 142, D-4400 Muenster, Phone: ++49 251 861241
fast eMail: ONM07@DMSWWU1A.BITNET,    slow: jr@ms.maus.de (++49 251 77216)
____________________ correct me if I'm wrong _____________________________

jan@janhh.hanse.de (Jan Willamowius) (05/15/91)

Julian F. Reschke writes:
> Jan Willamowius says:
>>
>>> Basically, you have to rewrite a whole new vdi. [...]
>>
>>I don't quite agree. [...]
>>
>>Secondly, you need the code for all the functions to set and inquire
>>parameters. That code is basically the same for all device drivers.
>
> All true, BUT: if you have written all this stuff, you HAVE written a
> new VDI.

Well, my main point was that you don't have to write everything _yourself_.
One can use quite a bit of existing drivers.

Is somebody out there already working on a device driver of his own ?

- Jan

--
Jan Willamowius, Nienredder 6, 2000 Hamburg 54, Germany
E-Mail: jan@janhh.hanse.de