mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 08:24:18 +00:00
66 lines
2.3 KiB
C
66 lines
2.3 KiB
C
/********************************************************/
|
|
/* */
|
|
/* Usual filename: SIDDEF.H */
|
|
/* Put ' #include "siddef.h" ' at head of each */
|
|
/* separately compiled module containing */
|
|
/* code added to DDT68K to give SID68K. */
|
|
/* Remarks: Definitions and declarations */
|
|
/* specific to SID68K. */
|
|
/* Author: Timothy M. Benson */
|
|
/* Control: 12 MAY 83 15:36 (TMB) */
|
|
/* */
|
|
/********************************************************/
|
|
|
|
typedef long U32;
|
|
typedef unsigned int U16;
|
|
|
|
#define HMPPTS 32 /* # pass points allowed */
|
|
#define SAYMAX stout("32\n"); /* (Must agree with preceding line */
|
|
#define HMSYMS 2000 /* Maximum number of symbols in symbol table */
|
|
/**temp** This is a temporary value.*/
|
|
#define CONTIG 0x601A /* First word of contiguous load modules */
|
|
#define DISCON 0x601B /* First word of noncontiguous load modules */
|
|
#define TLONG 0x0080 /* Flag for entry in long-names string table */
|
|
#define GONE 0x0040 /* Flag indicating hidden symbol */
|
|
#define SEGREF 0x0700 /* Text, data, or bss relative */
|
|
#define IS & /* (Sometimes reads well) */
|
|
#define TREL 0x0200 /* (sic) Text relative */
|
|
#define DREL 0x0400 /* (sic) Data relative */
|
|
#define BREL 0x0100 /* Bss relative */
|
|
/************************************************/
|
|
/* */
|
|
/* Structure of symbol table entry */
|
|
/* */
|
|
/************************************************/
|
|
|
|
struct asymbl BEGIN
|
|
char namae[8];
|
|
U16 symtyp;
|
|
U32 symval;
|
|
END;
|
|
|
|
/************************************************/
|
|
/* */
|
|
/* Structure of load module header */
|
|
/* followed by symbol table */
|
|
/* */
|
|
/************************************************/
|
|
|
|
/* Using type definitions to ensure lengths of 16 and 32 bits,
|
|
unsigned if allowed, alignment on even address, no gaps. */
|
|
|
|
struct lmhedr BEGIN
|
|
U16 lmkind; /* 0x601A => contiguous; 0x601B => noncontiguous */
|
|
U32 lmtlen; /* Number of bytes in text segment */
|
|
U32 lmdlen; /* Number of bytes in data segment */
|
|
U32 padlen; /* Number of bytes in bss segment */
|
|
U32 symlen; /* Number of bytes in symbol table */
|
|
U32 nought; /* Filler: Should be zero */
|
|
U32 tceps; /* Start of text */
|
|
U16 rflagb; /* 0 => relocation; nonzero => no relocation */
|
|
U32 dceps; /* Start of data */
|
|
U32 bceps; /* Start of bss */
|
|
struct asymbl sump[HMSYMS]; /* Symbol table per se */
|
|
char filler[128];
|
|
END;
|