This is "app" part. The base address for SIAM card 0 is 0x300000, card 1 is at 0x300100, card 2 at 0x300200, ..., card 16 at 0x301000. This is set in the EPICS file module_types.h (See paragraph 3 below.) The db files in this distribution assume that the SIAM card's base address is 0x300000 (card 0). For most application areas, you may start at step 4 and end at step 8.5. 1) Build standard app: ".../site/appMakeDir " (for example, = siam, = mv167" 2) Move into and untar SIAM.Tar: " cd siam; tar xvpf SIAM.tar" 3) Your EPICS manager must modify your system's module_types.h to include the SIAM definitions, and then rebuild iocCore. It may be necessary to remove .../base/src/db/O.*/iocInit.o to force a rebuild of that module. The file module_types.h.portion contains the section which must be changed (binary inputs). This may involve integrating the SIAM changes into any local changes to module_types.h. 4) Move into cat_ascii; insert the devSup.ascii.snippet into devSup.ascii and the drvSup.ascii.snippet into drvSup.ascii where appropriate (after "custom" ). -- devSup.ascii.snippet -- "bi" VME_IO "devBiSIAM" "SIAM" "bo" VME_IO "devBoSIAM" "SIAM" "mbbiDirect" VME_IO "devMbbiDirectSIAM" "SIAM" -- drvSup.ascii.snippet -- "drvSIAM" 5) Move into db; copy and modify card0_chname.tmpl and set D to your card number and S to your subsystem. The OUT, LOC and STR template variables are there for descriptive purposes only. Feel free to modify them. Also the NAME field assigns a PV name to each SIAM channel. You may change these as needed to offer a better description of what the channel controls or is connected to. Most important, the *SAFE* field, when it is set to 1, tells us that the SIAM is used for safety purposes. Please notify the Central Systems administrator, Perry Anthony, if your SIAM is used as safety interlocks. 6) Move into cmd; add the following to db.cmd: dbLoadTemplate("db/card0_chname.tmpl") 7) Move into dev; add the Makefile.Vx.snippet to the OBJS list in Makefile.Vx; make symbolic links to ../../siam/dev/devBiSIAM.c, ../../siam/dev/devBoSIAM.c, and ../../siam/dev/devMbbiDirectSIAM.c. -- dev/Makefile.Vx.snippet -- OBJS += devBiSIAM.o OBJS += devBoSIAM.o OBJS += devMbbiDirectSIAM.o 7) Move into drv; add the Makefile.Vx.snippet to the OBJS list in Makefile.Vx; create a symbolic link to ../../siam/drv/drvSIAM.c. -- drv/Makefile.Vx.snippet -- OBJS += drvSIAM.o 8) Execute site/appMakeDir. It should build devSup, drvSup, default.dctsdr and default.sdrSum. 8.3) Reboot the IOC. 8.5) To test your SIAM, run dm siam_name.dl S=,D= 9) Move into dl; use adl2dl to convert Color.adl and then SIAM.adl and SIAM_names.adl into .dl's. If you wish to use unique PV names per channel, use adl2dl to convert Color_name.adl and then siam_names.adl to .dl. Proceed to "ioc" part. If your VxWorks kernel does not do A24/D32 accesses, you will have to build a new kernel per the notes in SIAM_ioc_mods.