Программирование игр для Windows. Советы профессионала


Коммуникационная программа: NLINK


Программа NLINK завершает наш извилистый путь освоения последовательных коммуникаций для ПК. Я написал эту небольшую коммуникационную програм­мку, чтобы вы могли лучше оценить пройденное. Она соединяет два ПК через СОМ1 или COM2 и позволяет двум игрокам общаться по нуль-модемному кабелю. Для выхода из программы надо нажать клавишу Esc. Листинг 14.4 содержит законченную коммуникационную библиотеку и главную часть программы NLINK.

Листинг 14.4. Коммуникационная программа NLINK (NLINK.C).

// ВКЛЮЧАЕМЫЕ ФАЙЛЫ /////////////////////////////////

#include <dos.h>

#include <bios.h>

#include <stdio.h>

#include <math.h>

#include <conio.h>

#include <graph.h>

// ОПРЕДЕЛЕНИЯ ////////////////////////////////////////////

// регистры UART

#define SER_RBF        0    // буфер чтения

#define SER_THR        0    // буфер записи

#define SER_IER        1    // регистр разрешения прерываний

#define SER_IIR        2    // регистр идентификации прерывания

#define SER_LCR        3    // регистр управляющих данных

// и разрешения загрузки делителя

#define SER_MCR        4    // регистр управления модемом

#define SER_LSR        5    // регистр состояния линии

#define SER_MSR        6    // регистр состояния модема

#define SER_DLL        0    // младший байт делителя

#define SER_DLH        1    // старший байт делителя

// битовые маски для управляющих регистров

#define SER_BAUD_1200 96    // значения делителя

// для скоростей 1200-19200 бод

#define SER_BAUD_2400 48

#define SER_BAUD_9600 12

#define SER_BAUD_19200 6

#define SER_GP02       8     // разрешение прерываний

#define COM_1          0х3F8 // базовый адрес регистров СОМ1

#define COM_2          Ox2F8 // базовый адрес регистров COM2

#define SER_STOP_1      0     //1 стоп-бит на символ

#define SER_STOP_2      4     //2 стоп-бита на символ

#define SER_BITS_5     0     //5 значащих бит на символ

#define SER_BITS 6     1     //6 значащих бит на символ

#define SER_BITS_7     2     //7 значащих бит на символ




Начало  Назад  Вперед



Книжный магазин