|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U s
Length: 1665 (0x681)
Types: TextFile
Notes: UNIX file
Names: »space.c«
└─⟦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«
/* 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];