X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=object.h;h=46aef64393359d809c765fc81fbf76d3a5d3746c;hp=01f4dadd2f1fcccb3bdefc3cfc72053d1c0db55f;hb=bdbf34766f4d074a5933eb1326fe4ce03d249e10;hpb=75cce0d9eb190f6094f66ae283b5981af25e5a57 diff --git a/object.h b/object.h index 01f4dad..46aef64 100644 --- a/object.h +++ b/object.h @@ -1,9 +1,9 @@ // -// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System +// RMAC - Reboot's Macro Assembler for all Atari computers // OBJECT.H - Writing Object Files -// Copyright (C) 199x Landon Dyer, 2011 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2019 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 -// Source Utilised with the Kind Permission of Landon Dyer +// Source utilised with the kind permission of Landon Dyer // #ifndef __OBJECT_H__ @@ -11,12 +11,35 @@ #include "rmac.h" -#define BSDHDRSIZE 0x20 // Size of BSD header +#define BSDHDRSIZE 0x20 // Size of BSD header +#define HDRSIZE 0x1C // Size of Alcyon header -// Globals, externals etc -extern char *objimage; +// +// Alcyon symbol flags +// +#define AL_DEFINED 0x8000 +#define AL_EQUATED 0x4000 +#define AL_GLOBAL 0x2000 +#define AL_EQUREG 0x1000 +#define AL_EXTERN 0x0800 +#define AL_DATA 0x0400 +#define AL_TEXT 0x0200 +#define AL_BSS 0x0100 +#define AL_FILE 0x0080 + +enum ELFSectionNames +{ + ES_NULL, ES_TEXT, ES_DATA, ES_BSS, ES_RELATEXT, ES_RELADATA, ES_SHSTRTAB, + ES_SYMTAB, ES_STRTAB +}; -// Prototypes -int object(WORD); +// Exported variables. +extern uint8_t * objImage; +extern int elfHdrNum[]; +extern uint32_t extraSyms; + +// Exported functions +int WriteObject(int); #endif // __OBJECT_H__ +