libsidplayfp  0.3.5
mos6510.h
1 /***************************************************************************
2  mos6510.h - description
3  -------------------
4  begin : Thu May 11 2000
5  copyright : (C) 2000 by Simon White
6  email : s_a_white@email.com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 /***************************************************************************
18  * $Log: mos6510.h,v $
19  * Revision 1.6 2004/05/24 23:11:10 s_a_white
20  * Fixed email addresses displayed to end user.
21  *
22  * Revision 1.5 2001/07/14 16:47:21 s_a_white
23  * Sync with sidbuilder class project.
24  *
25  * Revision 1.4 2001/07/14 13:04:34 s_a_white
26  * Accumulator is now unsigned, which improves code readability.
27  *
28  * Revision 1.3 2000/12/11 19:03:16 s_a_white
29  * AC99 Update.
30  *
31  ***************************************************************************/
32 
33 #ifndef _mos6510_h_
34 #define _mos6510_h_
35 
36 #ifdef HAVE_CONFIG_H
37 # include "config.h"
38 #endif
39 
40 #include "sidplayfp/component.h"
41 #include "sidplayfp/sidenv.h"
42 #include "sidplayfp/event.h"
43 
44 #undef MOS6510_VERSION
45 #undef MOS6510_DATE
46 #undef MOS6510_AUTHOR
47 #undef MOS6510_EMAIL
48 #define MOS6510_VERSION "1.08"
49 #define MOS6510_DATE "23th May 2000"
50 #define MOS6510_AUTHOR "Simon White"
51 #define MOS6510_EMAIL "<sidplay2@yahoo.com>"
52 #define MOS6510_INTERRUPT_DELAY 2
53 
54 #include "opcodes.h"
55 #include "conf6510.h"
56 
57 // Status Register flag definistions
58 #define SR_NEGATIVE 7
59 #define SR_OVERFLOW 6
60 #define SR_NOTUSED 5
61 #define SR_BREAK 4
62 #define SR_DECIMAL 3
63 #define SR_INTERRUPT 2
64 #define SR_ZERO 1
65 #define SR_CARRY 0
66 
67 #define SP_PAGE 0x01
68 
69 // Check to see what type of emulation is required
70 #ifdef MOS6510_CYCLE_BASED
71 # ifdef MOS6510_SIDPLAY
72 # include "cycle_based/sid6510c.h"
73 # else
74 # include "cycle_based/mos6510c.h"
75 # endif // MOS6510_SIDPLAY
76 #else
77  // Line based emulation code has not been provided
78 #endif // MOS6510_CYCLE_BASED
79 
80 #endif // _mos6510_h_
81