DataMuseum.dk

Presents historical artifacts from the history of:

Regnecentalen RC-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Regnecentalen RC-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦7a919f890⟧ TextFile

    Length: 1665 (0x681)
    Types: TextFile
    Notes: UNIX file
    Names: »space.c«

Derivation

└─⟦22cab2c1b⟧ Bits:30004042/kcaddon.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦22cab2c1b⟧ UNIX Filesystem
    └─⟦this⟧ »KC/new/etc/atconf/modules/card/space.c« 

TextFile

/* card/space.c */

#include "sys/types.h"
#include "sys/chain.h"
#include "sys/csem.h"
#include "sys/msl.h"

ushort reset_addr[] = { 0, 0x301, 0x305, 0x309, 0x30D, 0x311, 0x315, };
ushort start_addr[] = { 0, 0x300, 0x304, 0x308, 0x30C, 0x310, 0x314, };
ushort   int_addr[] = { 0, 0x303, 0x307, 0x30B, 0x30F, 0x313, 0x317, };
ushort   ack_addr[] = { 0, 0x302, 0x306, 0x30A, 0x30E, 0x312, 0x316, };
ushort cardmask = LAN1BIT|LAN2BIT|COM1BIT|COM2BIT|MUX1BIT|MUX2BIT;
ushort loadunit = 0;
int delayinterrupt = 0;
char * bootloadpgm = "/etc/bootload";
char * debugpgm = "/etc/debugger";

unchar clijmpfar[] = { 0xfa, /* 0xb0, 0xa4, 0xe6, 0x9c, */
                       0xea, 0x00, 0x08, 0x00, 0xf0 };
int cjfsize = sizeof(clijmpfar);

unchar movff[] = { 0x2e, 0xc6, 0x06, 0x0f, 0x00, 0xff, 0xf4 };
int movffsize = sizeof(movff);

unchar clihltjmp[] = { 0xfa, 0xf4, 0xeb, 0xfd };
int chjsize = sizeof(clihltjmp);

#define NUNIT	7	/* inclusive of CPU */
#define NEXWAIT	128
#define NGATE	8

ushort cpmask = 1; /* mask of initialized boards, initially we are alone */
struct chain_sem ex_sem;
struct chain exfree;

int noreach(), ex_intr(), muxgate1(), muxgate2(), tcigate(), imcgate();
int lphgate1(), lphgate2();

struct gate_tab
gateintr[NGATE] = {
  noreach,
  ex_intr,
  muxgate1,
  muxgate2,
  tcigate,
  imcgate,
  lphgate1,
  lphgate2
};

struct unit unit_tab[NUNIT];
struct exwait exwait[NEXWAIT];
struct exwait * ve_exwait = &exwait[NEXWAIT];
struct unit * ve_unit = &unit_tab[NUNIT];
int v_gate = NGATE, v_exwait = NEXWAIT, v_unit = NUNIT;

/* declarations for imc: */

struct chain_sem imcbufsem[NUNIT];
struct chain_sem imcsem[NUNIT];
int imcbufsize[NUNIT];