Home Download Musics Developers
API Sources Tools File Format Technicals

desa68.h

Go to the documentation of this file.
00001 
00011 /*
00012  *                        sc68 - 68000 disassembler
00013  *         Copyright (C) 2001-2003 Benjamin Gerard <ben@sashipa.com>
00014  *
00015  *  This program is free software; you can redistribute it and/or modify it
00016  *  under the terms of the GNU General Public License as published by the
00017  *  Free Software Foundation; either version 2 of the License, or (at your
00018  *  option) any later version.
00019  *
00020  *  This program is distributed in the hope that it will be useful, but
00021  *  WITHOUT ANY WARRANTY; without even the implied warranty of
00022  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00023  *  General Public License for more details.
00024  *
00025  *  You should have received a copy of the GNU General Public License along
00026  *  with this program; if not, write to the Free Software Foundation, Inc.,
00027  *  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00028  *
00029  */
00030 
00031 #ifndef _DESA68_H_
00032 #define _DESA68_H_
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00038 #ifndef EMU68DEBUG
00039 #define EMU68DEBUG
00040 #endif
00041 
00080 #define DESA68_SYMBOL_FLAG    (1<<0)
00081 
00087 #define DESA68_ASCII_FLAG     (1<<1)
00088 
00096 #define DESA68_FORCESYMB_FLAG (1<<8)
00097 
00110 #define DESA68_INST (1<<0)
00111 
00113 #define DESA68_BRA  (1<<1)
00114 
00116 #define DESA68_BSR  (1<<2)
00117 
00119 #define DESA68_RTS  (1<<3)
00120 
00122 #define DESA68_INT  (1<<4)
00123 
00125 #define DESA68_NOP  (1<<5) 
00126 
00145 typedef struct
00146 {
00147 
00155   unsigned char *mem;    
00156   unsigned int   memmsk; 
00160   unsigned int   pc;
00161   int            flags;  
00162   char          *str;    
00163   int            strmax; 
00169   unsigned int   immsym_min;
00174   unsigned int   immsym_max;
00175 
00186   unsigned int ea_src;
00188   unsigned int ea_dst;
00190   unsigned int status;
00199   unsigned int branch;
00201   int w;                  
00203   char *s;
00204 
00214   unsigned int pc_org;
00215   int   reg0;
00216   int   reg9;
00217   int   mode3;
00218   int   mode6;
00219   int   opsz;
00220   int   line;
00221   int   adrmode0;
00222   int   adrmode6;
00223   int   szchar;
00224   unsigned int ea;
00225 
00228 } DESA68parm_t;
00229 
00230 
00235 void desa68(DESA68parm_t *d);
00236 
00241 #ifdef __cplusplus
00242 }
00243 #endif
00244 
00245 #endif /* #ifndef _DESA68_H_ */