4 * This source code is part of
8 * GROningen MAchine for Chemical Simulations
12 * Copyright (c) 1991-1999
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
17 * GROMACS: A message-passing parallel molecular dynamics implementation
18 * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19 * Comp. Phys. Comm. 91, 43-56 (1995)
21 * Also check out our WWW page:
22 * http://md.chem.rug.nl/~gmx
27 * Green Red Orange Magenta Azure Cyan Skyblue
29 static char *SRCID_comlib_c
= "$Id$";
31 #define DUALC_PORT 0xb0001000 /* Communication area */
32 #define DUAL_PORT 0xb0000000 /* Data area */
33 #define RX_CMD 8*0x18 /* Command receive */
34 #define TX_CMD 8*0x19 /* Command transmitt */
35 #define RX_DAT 8*0x1a /* Data receive single byte */
36 #define TX_DAT 8*0x1b /* Data transmit single byte */
40 volatile static unsigned char *dualcp
=(unsigned char *)DUALC_PORT
;
42 void put_serverbyte(unsigned char data
)
46 while(dualcp
[TX_CMD
]&0x01);
49 unsigned char get_serverbyte()
53 while((dualcp
[RX_CMD
]&0x01)==0x00);
59 void get_serverdata(void *data
,int size
)
63 for(p
=data
; size
>0; size
--) *(p
++)=get_serverbyte();
66 void put_serverdata(void *data
,int size
)
70 for(p
=data
; size
>0; size
--) put_serverbyte(*(p
++));