Category : Files from Magazines
Archive   : MAR91.ZIP
Filename : 2N03071A
#define word unsigned int
#define byte unsigned char
#define low(X) ((byte) X)
#define high(X) ((byte) (X>>8))
#define Signature 0xCb4b
/*
Note that the structure below defines the memory control
block (MCB) used by MS-DOS. This is an undocumented
structure. Through out Push.C and Pop.C the block[] array
is used instead of the MCB structure because, although the
structure is correct, Microsoft Quick C does not allow the
structure to be packed. As a result the MCB flag occupies
two bytes and thus makes the offsets of all of the other
variables incorrect.
*/
union {
byte block[17];
struct {
char flag;
word owner;
word length;
byte reserved[3];
byte process_name[8];
char path;
} MCB;
} far *mem;
/* MCB flag value indicating the */
/* end of the chain of MCBs */
#define end_of_MCB 0x5A
/* MCB flag value indicating that */
/* this control block is in the */
/* MCB, but is not the end */
#define chain_of_MCB 0x4D
/* Allocate memory from the first */
/* block of memory that fits. */
/* (Bottom-Up) */
#define _allocate_first 0
/* Find the best fit for the memory*/
/* block with the requested size */
#define _allocate_best 1
/* Allocate memory from the last */
/* block of memory that fits. */
/* (Top-Down) */
#define _allocate_last 2
int _dos_getmemmode(void);
void _dos_setmemmode(int strategy);
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
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/