janus.h-the software data structures for the jams board
Copyright
0
1986, Commodore Amiga Inc.,
All
rights reserved
/*
all bytes described here are described in the byte order of the
*
8088. Note that words and longwords in these structures will be
*
accessed from the word access space to preserve the byte order in
*
a word
-
the
8088
will access longwords by reversing the words:
*
like a
68000
access to the word access memory.
*/
/*
JanusMemHead
-
a data structure roughly analogous
to
an exec
mem chunk.
*
It
is used to keep track of memory used between the
8088
and the
68000.
*/
struct JanusMemHead
[
UBYTE jmhLock;
/*
lock byte between
processors
*/
UBYTE jmhpad0;
APTR jmh68000Base;
/*
rptr's are relative
to
this
*/
UWORD jmh8088Segment;
/*
segment base for
8088
*/
RPTR jmhFirst;
/*
offset
to
first
free
chunk
*l
RPTR jmhMax:
/*
max allowable index
*/
UWORD jmhFree:
/*
total number of free
bytes
-1
*l
l:
/*
JanusMemChunk
-
keep track of individualy freed chunks of
memory.
*
Memory Chunks are longword aligned in this memory.
*l
struct JanusMemChunk
[
RPTR jmc-Next;
UWORD jmc-Size;
l:
/*
rptr to next free chunk
*/
/*
size of chunk
-1
*/
#ifdef undef
this stuff
is
saved for future use, but is not yet thought out
/*
JanusList
-
an RPTWExec style
list
header.
*/
struct JanusList
[
RPTR jl-Head;
RPTR jl-Tail;
RPTR
jl-TailPred:
UBYTE
j
l-Lock;
/*
lock byte between
processors