]> Shamusworld >> Repos - rmac/blob - dsp56k.h
Added DSM directive for 56001 mode (and not only). Updated doc. Condensed usage message.
[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-2019 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 #ifndef __DSP56K_H__
10 #define __DSP56K_H__
11
12 #include "rmac.h"
13 #include "sect.h"
14
15 // Exported variables.
16 #define DSP_MAX_RAM (32*3*1024)                 // 32k 24-bit words
17 #define DSP_ORG struct dsp56001_orgentry
18
19 enum MEMTYPES
20 {
21         ORG_P,
22         ORG_X,
23         ORG_Y,
24         ORG_L
25 } ;
26
27 DSP_ORG
28 {
29         enum MEMTYPES memtype;
30         uint8_t * start;
31         uint8_t * end;
32         uint32_t orgadr;
33         CHUNK * chunk;
34 };
35
36 extern DSP_ORG dsp_orgmap[1024];                // Mark all 56001 org changes
37 extern DSP_ORG * dsp_currentorg;
38 extern int dsp_written_data_in_current_org;
39
40 #define D_printf(...) chptr += sprintf(chptr, __VA_ARGS__)
41
42 // Exported functions
43
44 #endif  // __DSP56K_H__