#Amiga device drivers
10 messages in this thread
I would like to write a device driver that will work off of the SCSI port on
the back of the Amiga. I am a long time programer, but have never looked into
the internal workings of SCSI or writing device drivers on the Amiga. I was
hoping that someone could point me to some books or technical articals that
would give information on:
1. SCSI and how to work with it both from a hardware stand-point and software
issues.
2. Writing device drivers on the Amiga, specifically one that will be able to
mount as a drive in the system.
Thanks in advance for any help.
Tony
What's wrong with SCSI.device? Do you just want to experiment or do you
want to write a driver for devices other than hard/tape/CD-ROM drives?
Dale Larson
– An Amiga Software Engineer with some time on his hands.
I want to write a driver for a devices other than hard/tape/CD-ROM drives.
Tony
Have fun. 🙂
Do you have a particular device in mind?
And what was your original question (Autopilot can't find the parent of
this message)?
Dale Larson
– An Amiga Software Engineer with some time on his hands.
Dale,
Here's the original post:
.#: 36171 S5/C Programming
. 02-Aug-93 11:51:31
.Sb: Amiga device drivers
.Fm: Tony Pitman 71441,741
.To: All
I would like to write a device driver that will work off of the SCSI port
on the back of the Amiga. I am a long time programer, but have never
looked into the internal workings of SCSI or writing device drivers on the
Amiga. I was hoping that someone could point me to some books or
technical articals that would give information on:
1. SCSI and how to work with it both from a hardware stand-point and
software issues.
2. Writing device drivers on the Amiga, specifically one that will be
able to mount as a drive in the system.
Thanks in advance for any help.
Tony
Looks like someone already beat me to it with "Use SCSI.device," "Write a
handler (if appropriate to the device you are interfacing to)," and "Look
at RKM:Devices and RKM:Autodocs."
Dale Larson
– An Amiga Software Engineer with some time on his hands.
Writing a SCSI device driver requires a lot of information about the SCSI
controller (the chip's instruction set, memory and DMA use, etc.). A lot of
that info is hard to get from board mfgs. If you're making your own SCSI
controller, then you also have to deal with Zorro bus details. It's a *lot* of
work.
If you're just wanting to write a handler for a specific type of SCSI device
that attaches to any ole SCSI board in your Amiga, things get a whole lot
easier. Your handler can just make SCSIDirect calls to the SCSI device driver
(assuming that the driver supports SCSIDirect…most do). This allows you to
send any SCSI commands that you need to without having to worry about the
details of the SCSI protocol (nice!). A "handler" is just another type of
device driver, usually the next layer of abstraction up from ".devices" on the
Amiga. There's a number of handlers that include source code around, and
they're a help. SCSI command specs (or SCSI-II if you need 'em) are floating
around a number of places. I got the full SCSI-II document from the NCR SCSI
BBS. It's very detailed.
I've been using a 2000 for bench testing some SCSI devices that are downright
weird. It's very, very easy to hack in SCSI with an Amiga and a A2091 or GVP
SII board. I tried to use a clone with an AH-1540 but gave up because of memory
problems and SCSI command programming contortions that are required in the
MS-DOS world (try READing 2MB of data in one command!).
Only on the Amiga could I do this "on the cheap"…
Accessing the built in SCSI and device driver on the Amiga would be just fine
for what I need to do. Where do I get these 'examples' that you are talking
about. And/or where could I get some complete docs on writing a device
'handler' as you say and docs on the Amiga built in SCSI for using it??
Thanks, Tony
I haven't looked at the files here, but you should be able to search on
"handler" or "device" and find a couple of matches. I know that there are a
number of handler examples on BIX.
If you want to play with the SCSI device, you should get a copy of the RKM
Devices manual. It explains the SCSIDirect interface and general usage of the
scsi.device. Of course, if you do any serious Amiga programming you'll already
have all the RKMs…
I have the main RKM but not the one on devices (embarrased and going right out
to buy it <g>). Thanks for all the info.
Tony