Cleanup of codebase and initial commit of 56K assembler by ggn.
[rmac] / dsp56k.h
1 //
2 // RMAC - Reboot's Macro Assembler for all Atari computers
3 // DSP56K.H - General DSP56001 routines
4 // Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends
5 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
6 // Source utilised with the kind permission of Landon Dyer
7 //
8
9 #pragma once
10
11 #include "rmac.h"
12 #include "sect.h"
13
14 // Exported variables.
15 #define DSP_MAX_RAM (32*3*1024)                 // 32k 24-bit words
16 #define DSP_ORG struct dsp56001_orgentry
17
18 enum MEMTYPES
19 {
20         ORG_P,
21         ORG_X,
22         ORG_Y,
23         ORG_L
24 } ;
25
26 DSP_ORG
27 {
28         enum MEMTYPES memtype;
29         uint8_t * start;
30         uint8_t * end;
31         uint32_t orgadr;
32         CHUNK * chunk;
33 };
34
35 extern DSP_ORG dsp_orgmap[1024];                // Mark all 56001 org changes
36 extern DSP_ORG * dsp_currentorg;
37 extern int dsp_written_data_in_current_org;
38
39 #define dprintf(...) p_buf += sprintf(p_buf, __VA_ARGS__)
40
41 // Exported functions
42