banner map

Eurovision Pursuit is designed specifically to run on a configured network or computers running Novell NetWare 4.x and supporting the IPX connectionless protocol. The aim of this page is to attempt to explain briefly the parameters in the sentence above.

Firstly, in order for the game to run smoothly, it is recommended that the 3 PC's to be used are of equal specifications. The reason for this is thus : the delay system, which is vital for succesful transmission throughout the game, depends on the C delay function. This function is related to the PC processor speed, and NOT a predetermined time standard. Therefore, PC's running at different speeds could result in missed packets.

Novell NetWare is a software package that runs on IBM PC's or compatible computers. NetWare enables computers to control the operation of a local area network, and share its resources with other workstations. 2 distinct software components are required to enable a DOS PC to communicate with a NetWare server. The first is responsible for ensuring that requests for NetWare services are sent through the network to the server. Two different methods of achieving this have been used in the history of NetWare.

Prior to NetWare 4 and 3.12, the technology was called the NetWare DOS shell. The technology used in the version Eurovision Pursuit requires is called the DOS requester. The second component in responsible for actually enabling the workstation to interface with the network cabling. This component must include software drivers for the network interace card, as well as support for any protocols that are required. The standard protocol for NetWare is called Internet Packet Exchange (IPX). Together, the network interface card and the IPX protocols are referred to as the Open Datalink Interface.

A protocol is a set of standard rules and regulations on data exchange. A simple protocol is used when 2 people talk to each other via radio. If both are transmitting at once, neither message is received, so they signal the end of each transmission by saying "over". Protocols are simple languages that are used on networks. Before they can get on the network, they must go through the network inteface card that connects the PC to the network cabling. To enable the IPX program to connect to the network interface card, the card's driver must be in place. The current protocol / NIC driver technology used by NetWare is known as Open Datalink Interface. The ODI consists of these seperate program modules :

  • link support layer (LSL) - enables protocols to interface with NIC drivers. This layer is implemented by a driver called LSL enables you to plug in different protocols and network card drivers with a high degree of freedom.
  • multiple link interface driver (MLID) - connects the LSL to the NIC. Each brand and model of NIC will have its own MLID.

    IPX resides on layer three of the OSI model, and is a connectionless or datagram protocol. Stations simple address and transmit the packets under IPX - there is no guarantee of delivery. The packets which IPX uses consist of a 30 byte header and a data portion from 0 to 546 bytes. In order to send packets, the following fields need to be initialised - checksum, length of packet, transport control, packet type, destination network, node and socket, source network, node and socket. The data is then added. Event Control Blocks (ECB) determine whether to transmit or receive as required. There is no structural difference between SendECB and ReceiveECB, only a difference in content.

    Naturally, in order to construct a program using NetWare and IPX technologies, the basic C language had to have some additions made. Firstly, a NetWare header file, netware.h, given to us by the project supervisor, was included in the main program code. This header file in turn held a series of other headers which would be referenced when the program was asked to perform network functions. Secondly, instead of simply compiling the network game code when written, it was linked in a project file with a further file, bc3nwres.lib, a Borland C memory file.