home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_01
/
MARK_WC2.LZH
/
INCLUDE
/
BIOS.H
< prev
next >
Wrap
C/C++ Source or Header
|
1988-04-27
|
4KB
|
108 lines
/*
* bios.h -- header file for Atari ST "bios" functions.
*
* Copyright (c) 1986-1987, Mark Williams Company, Chicago
* This file and its contents may not be copied or distributed
* without permission.
*/
/*
* Device handles for Bconin(), Bconout(), Bconstat(), and Bcostat().
*/
#define BC_PRT 0 /* Printer port, output, and input */
#define BC_AUX 1 /* Auxiliary port, output, and input */
#define BC_CON 2 /* Console keyboard/display, output, and input */
#define BC_MID 3 /* Midi port, output, and input */
#define BC_KBD 4 /* Intelligent keyboard port, output only */
#define BC_RAW 5 /* Raw screen, output only */
/*
* Scan codes for miscellaneous keys. Some of these may be found in the
* high word of the long returned by Bconin(BC_CON).
*/
#define KC_RET 0x1C /* Return key */
#define KC_CTRL 0x1D /* Control key - never returned by Bconin() */
#define KC_LSH 0x2A /* Left shift key - never returned by Bconin() */
#define KC_RSH 0x36 /* Right shift key - never returned by Bconin() */
#define KC_ALT 0x38 /* Alt key - never returned by Bconin() */
#define KC_CAPS 0x3A /* Caps lock key - never returned by Bconin() */
#define KC_F1 0x3B /* Function key 1 */
#define KC_F2 0x3C
#define KC_F3 0x3D
#define KC_F4 0x3E
#define KC_F5 0x3F
#define KC_F6 0x40
#define KC_F7 0x41
#define KC_F8 0x42
#define KC_F9 0x43
#define KC_F10 0x44
#define KC_CLR 0x47 /* Clr Home key */
#define KC_CUP 0x48 /* Cursor up */
#define KC_CLEFT 0x4B /* Cursor left */
#define KC_CRIGHT 0x4D /* Cursor right */
#define KC_CDOWN 0x50 /* Cursor down */
#define KC_INS 0x52 /* Insert key */
#define KC_UNDO 0x61 /* Undo key */
#define KC_HELP 0x62 /* Help key */
#define KC_ENT 0x72 /* Enter key */
/*
* Shift key bits returned by Getshift():
*/
#define GS_RSH 1 /* Right shift key */
#define GS_LSH 2 /* Left shift key */
#define GS_CTRL 4 /* Control key */
#define GS_ALT 8 /* Alt key */
#define GS_CAPS 16 /* Caps Lock key */
#define GS_RMB 32 /* Right mouse button - Clr Home */
#define GS_LMB 64 /* Left mouse button - Insert */
/*
* Structures referenced by Getmpb():
*/
struct mdb { /* Memory descriptor block */
struct mdb *md_next; /* Link to next descriptor */
char *md_base; /* Base of memory block */
long md_size; /* Length of memory block */
long md_proc; /* Owner's process identifier */
};
struct mpb { /* Memory parameter block */
struct mdb *mp_free; /* Free descriptor list head */
struct mdb *mp_used; /* Allocated descriptor list head */
long *mp_rove; /* Roving pointer of unknown significance */
};
/*
* Strucures referenced by Getbpb() -- BIOS block device parameter block:
*/
struct bpb {
short bp_recsiz; /* Sector size in bytes = 512 */
short bp_clsiz; /* Cluster size in sectors = 2 */
short bp_clsizb; /* Cluster size in bytes = 1024 */
short bp_rdlen; /* Root directory size in sectors */
short bp_fsiz; /* FAT size in sectors */
short bp_fatrec; /* Sector number of second FAT */
short bp_datrec; /* Sector number of data */
short bp_numcl; /* Number of data clusters */
short bp_flags; /* 1 = 16-bit FAT */
};
/*
* BIOS parameter block, as found in boot block of device.
* Note that the byte order is that of the 8086:
*/
struct bbpb {
char bp_bras[2]; /* branch to boot code */
char bp_oem[6]; /* OEM cruft */
char bp_serial[3]; /* 24-bit serial number */
char bp_bps[2]; /* Sector size in bytes = 512 */
char bp_spc; /* Cluster size in sectors = 2 */
char bp_res[2]; /* Reserved sectors */
char bp_nfats; /* Number of FATs = 2 */
char bp_ndirs[2]; /* Root directory size in entries */
char bp_nsects[2]; /* Total sectors on medium */
char bp_media; /* Medium descriptor */
char bp_spf[2]; /* FAT size, in sectors */
char bp_spt[2]; /* No. of sectors per track */
char bp_nsides[2]; /* No. of sides on medium */
char bp_nhid[2]; /* hidden sectors = ignored */
/* 482 bytes of boot code */
};
/* End of bios.h */