blob: 6a13d3ffe01792cd91649ca4df104e7a13b08627 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# license:BSD-3-Clause
# copyright-holders:Olivier Galibert
# 6510 undocumented instructions in a C64 context
anc_10_imm
m_TMP2 = read_pc();
m_PC++;
m_A &= m_TMP2;
set_nz(m_A);
if(m_A & 0x80)
m_P |= F_C;
else
m_P &= ~F_C;
prefetch();
ane_10_imm
m_TMP2 = read_pc();
m_PC++;
m_A = (m_A | 0xee) & m_TMP2 & m_X;
set_nz(m_A);
prefetch();
asr_10_imm
m_TMP2 = read_pc();
m_PC++;
m_A = do_lsr(m_A & m_TMP2);
set_nz(m_A);
prefetch();
arr_10_imm
m_TMP2 = read_pc();
m_PC++;
m_A &= m_TMP2;
do_arr();
prefetch();
las_10_aby
m_TMP = read_pc();
m_PC++;
m_TMP = set_h(m_TMP, read_pc());
m_PC++;
if(page_changing(m_TMP, m_Y)) {
read(set_l(m_TMP, m_TMP+m_Y));
}
m_TMP2 = read(m_TMP+m_Y);
m_A = m_X = m_TMP2 & m_SP;
m_SP = set_l(m_SP, m_A);
set_nz(m_A);
prefetch();
lxa_10_imm
m_TMP2 = read_pc();
m_PC++;
m_A = m_X = (m_A | 0xee) & m_TMP2;
set_nz(m_A);
prefetch();
|