/* encode.h Written by, Sohail Qayum Malik */ #include #include #include #define SECTOR_SIZE 0x0200 #define DRIVE_FD 0x0000 #define TRACK 0x0000 #define SECTOR_ONE 0x0001 #define HEAD_ZERO 0x0000 #define HEAD_ONE 0x0001 #define SECTORS 0x0001 #define SYMBOLA 0x55 #define SYMBOLAINDEX 0x01FE #define SYMBOLB 0xAA #define SYMBOLBINDEX 0x01FF #define SECA 100 #define SECB 101 #define SECC 102 #define COUNT 223 #define A1 224 #define A2 225 #define A3 226 #define LAST_BYTE 227 /* 0 to 9 */ #define LIMIT_ONE 0x30 #define LIMIT_TWO 0x39 /* A to F */ #define LIMIT_THREE 0x41 #define LIMIT_FOUR 0x46 /* a to f */ #define LIMIT_FIVE 0x61 #define LIMIT_SIX 0x66 #define NOP 0x90 #define LESS_THAN_ZERO 0xFFFF #define ZERO 0x0000 #define ONE 0x0001 #define TWO 0x0002 #define THREE 0x0003 #define FOUR 0x0004 #define FIVE 0x0005 #define SIX 0x0006 #define SEVEN 0x0007 #define EIGHT 0x0008 #define NINE 0x0009 #define TEN 0x000A #define ELEVEN 0x000B #define TWELVE 0x000C #define THERTEEN 0x000D #define FOURTEEN 0x000E #define FIFTEEN 0x000F #define SIXTEEN 0x0010 //near *, DRIVE+HEAD, CYLINDER+SECTOR, SECTORS TO READ OR WRITE. extern unsigned int near writeSector(void near *, unsigned int, unsigned int, unsigned int); extern unsigned int near readSector(void near *, unsigned int, unsigned int, unsigned int); static void removeNonCodeLikeElements(void); static void convertShortToByte(void); static unsigned char convertor(unsigned char); static unsigned char sectorBuffer[SECTOR_SIZE * TWO]; static short int numberOfBytesReadBootBlock = ZERO; static short int numberOfBytesReadBoot = ZERO;