Category : Files from Magazines
Archive   : CUJ9201.ZIP
Filename : 1001071A

 
Output of file : 1001071A contained in archive : CUJ9201.ZIP
/************************************/
/* */
/* MIDIC - OS/2 device driver */
/* Header File copyright */
/* IBM 1991 */
/* */
/* */
/* */
/* This header file contains the */
/* required OS/2 device driver */
/* structures for the Drive header */
/* the Request Header, the INIT_IN */
/* packet, the INIT_OUT packet, and */
/* for this particular device */
/* driver, also the ReadWrite pack- */
/* et. */
/* */
/************************************/

void near last_code();


extern void near STRAT();
extern void near ReadBytes(unsigned long,
unsigned long,
unsigned short);
extern void near WriteBytes(unsigned long,
unsigned long,
unsigned short);
extern void near int3();
extern void near SetIRQ(unsigned short,
void near *,
unsigned short);
extern void near INT_HNDLR();
extern int pascal far DOSPUTMESSAGE(unsigned int,
unsigned int,
unsigned char far *);

#define MIDI_DATA 0x0330
#define MIDI_CMD 0x0331
#define DUMB_MODE 0x003f
#define MPU_RESET 0x00ff

#define DAW_CHR 0x8000
#define DAW_IDC 0x4000
#define DAW_IBM 0x2000
#define DAW_SHR 0x1000
#define DAW_OPN 0x0800
#define DAW_LEVEL 0x0080
#define DAW_GIO 0x0040
#define DAW_CLK 0x0008
#define DAW_NUL 0x0004
#define DAW_SCR 0x0002
#define DAW_KBD 0x0001

#define ERR 0x8000
#define DEV 0x4000
#define BUSY 0x0200
#define DONE 0x0100

#define INIT 0x00
#define MEDIA_CHECK 0x01
#define BUILD_BPB 0x02
#define READ 0x04
#define READ_NO_WAIT 0x05
#define INPUT_STATUS 0x06
#define INPUT_FLUSH 0x07
#define WRITE 0x08
#define WRITE_VERIFY 0x09
#define OUTPUT_STATUS 0x0a
#define OUTPUT_FLUSH 0x0b
#define OPEN 0x0d
#define CLOSE 0x0e
#define REMOVABLE 0x0f
#define IOCTL 0x10
#define RESET 0x11
#define GET_DRIVE_MAP 0x12
#define SET_DRIVE_MAP 0x13
#define DEINSTALL 0x14
#define PARTITIONABLE 0x16
#define GET_FIXED_MAP 0x17


typedef struct DeviceHdr {
struct DeviceHdr far *PtrNextHdr; /* -1, no more */
unsigned short HdrAttr; /* hdr attribute */
void near *Strat; /* offset of _strat */
void near *IDC; /* offset of IDC */
unsigned char name[8]; /* name of driver */
char reserved[8]; /* reserved. */
} DeviceHeader;

typedef struct RQpacket {
unsigned char req_pac_len; /* length of packet */
unsigned char req_unit; /* use for BLOCK DD */
unsigned char req_cmd; /* which command... */
unsigned short req_stat; /* returned status. */
unsigned long req_resrvd; /* for use by OS/2. */
unsigned long req_link; /* used for queueing*/
} ReqHeader;

typedef struct InitEnt {
ReqHeader InitEntHdr; /* space for header */
unsigned char units; /* number of units. */
unsigned char far *DevHlp; /* Address of DevHlp*/
unsigned char far *InitCmd; /* ptr to commands. */
unsigned short drive; /* drive # block DD */
} InitEntry;

typedef struct InitExt {
ReqHeader InitExtHdr; /* space for header */
unsigned char units; /* number of units. */
unsigned short code_off; /* offset of code. */
unsigned short data_off; /* offset of data. */
unsigned char far *BPBptr; /* address of BPB. */
} InitExit;

typedef struct Read {
ReqHeader ReadHdr; /* space for header */
unsigned char media_des; /* media descriptor */
unsigned long buff_addr; /* physical address */
unsigned short count; /* number of bytes */
unsigned long start_sel; /* starting sel # */
unsigned short reserved; /* for use by OS/2 */
} DeviceRead;

typedef struct Write {
ReqHeader WriteHdr; /* space for header */
unsigned char media_des; /* media descriptor */
unsigned long buff_addr; /* physical address */
unsigned short count; /* number of bytes */
unsigned long start_sel; /* starting sel # */
unsigned short reserved; /* for use by OS/2 */
} DeviceWrite;




  3 Responses to “Category : Files from Magazines
Archive   : CUJ9201.ZIP
Filename : 1001071A

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/