-void m6502_device::adc_aba_full()
+void m6502_device_adc_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::adc_aba_partial()
+void m6502_device_adc_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::adc_abx_full()
+void m6502_device_adc_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::adc_abx_partial()
+void m6502_device_adc_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::adc_aby_full()
+void m6502_device_adc_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::adc_aby_partial()
+void m6502_device_adc_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::adc_idx_full()
+void m6502_device_adc_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- do_adc(read(TMP));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::adc_idx_partial()
+void m6502_device_adc_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_adc(read(TMP));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::adc_idy_full()
+void m6502_device_adc_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- do_adc(read(TMP+Y));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::adc_idy_partial()
+void m6502_device_adc_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_adc(read(TMP+Y));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::adc_imm_full()
+void m6502_device_adc_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
TMP = read_pc();
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::adc_imm_partial()
+void m6502_device_adc_imm_partial()
{
switch(inst_substate) {
case 0:
TMP = read_pc();
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::adc_zpg_full()
+void m6502_device_adc_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::adc_zpg_partial()
+void m6502_device_adc_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::adc_zpx_full()
+void m6502_device_adc_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::adc_zpx_partial()
+void m6502_device_adc_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::and_aba_full()
+void m6502_device_and_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::and_aba_partial()
+void m6502_device_and_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::and_abx_full()
+void m6502_device_and_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::and_abx_partial()
+void m6502_device_and_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::and_aby_full()
+void m6502_device_and_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::and_aby_partial()
+void m6502_device_and_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::and_imm_full()
+void m6502_device_and_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
A &= read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::and_imm_partial()
+void m6502_device_and_imm_partial()
{
switch(inst_substate) {
case 0:
A &= read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::and_idx_full()
+void m6502_device_and_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::and_idx_partial()
+void m6502_device_and_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::and_idy_full()
+void m6502_device_and_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- A &= read(TMP+Y);
+ A &= m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::and_idy_partial()
+void m6502_device_and_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A &= read(TMP+Y);
+ A &= m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::and_zpg_full()
+void m6502_device_and_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::and_zpg_partial()
+void m6502_device_and_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::and_zpx_full()
+void m6502_device_and_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- A &= read(uint8_t(TMP+X));
+ A &= m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::and_zpx_partial()
+void m6502_device_and_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A &= read(uint8_t(TMP+X));
+ A &= m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::asl_aba_full()
+void m6502_device_asl_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::asl_aba_partial()
+void m6502_device_asl_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::asl_abx_full()
+void m6502_device_asl_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::asl_abx_partial()
+void m6502_device_asl_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::asl_acc_full()
+void m6502_device_asl_acc_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- A = do_asl(A);
+ A = m6502_device_do_asl(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::asl_acc_partial()
+void m6502_device_asl_acc_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- A = do_asl(A);
+ A = m6502_device_do_asl(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::asl_zpg_full()
+void m6502_device_asl_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::asl_zpg_partial()
+void m6502_device_asl_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::asl_zpx_full()
+void m6502_device_asl_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::asl_zpx_partial()
+void m6502_device_asl_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::bcc_rel_full()
+void m6502_device_bcc_rel_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::bcc_rel_partial()
+void m6502_device_bcc_rel_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::bcs_rel_full()
+void m6502_device_bcs_rel_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::bcs_rel_partial()
+void m6502_device_bcs_rel_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::beq_rel_full()
+void m6502_device_beq_rel_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::beq_rel_partial()
+void m6502_device_beq_rel_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::bit_aba_full()
+void m6502_device_bit_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- do_bit(read(TMP));
+ m6502_device_do_bit(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::bit_aba_partial()
+void m6502_device_bit_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- do_bit(read(TMP));
+ m6502_device_do_bit(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::bit_zpg_full()
+void m6502_device_bit_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- do_bit(read(TMP));
+ m6502_device_do_bit(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::bit_zpg_partial()
+void m6502_device_bit_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- do_bit(read(TMP));
+ m6502_device_do_bit(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::bmi_rel_full()
+void m6502_device_bmi_rel_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::bmi_rel_partial()
+void m6502_device_bmi_rel_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::bne_rel_full()
+void m6502_device_bne_rel_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::bne_rel_partial()
+void m6502_device_bne_rel_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::bpl_rel_full()
+void m6502_device_bpl_rel_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::bpl_rel_partial()
+void m6502_device_bpl_rel_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::brk_imp_full()
+void m6502_device_brk_imp_full()
{
// The 6502 bug when a nmi occurs in a brk is reproduced (case !irq_taken && nmi_state)
}
if(icount == 0) { inst_substate = 3; return; }
- write(SP, PC >> 8);
+ m6502_device_mi_default_normal_write(SP, PC >> 8);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 4; return; }
- write(SP, PC);
+ m6502_device_mi_default_normal_write(SP, PC);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 5; return; }
- write(SP, irq_taken ? P & ~F_B : P);
+ m6502_device_mi_default_normal_write(SP, irq_taken ? P & ~F_B : P);
icount--;
dec_SP();
if(nmi_state) {
if(icount == 0) { inst_substate = 6; return; }
- PC = read_arg(0xfffa);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffa);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- PC = set_h(PC, read_arg(0xfffb));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffb));
icount--;
nmi_state = false;
- standard_irq_callback(NMI_LINE);
+// standard_irq_callback(NMI_LINE);
} else {
if(icount == 0) { inst_substate = 8; return; }
- PC = read_arg(0xfffe);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffe);
icount--;
if(icount == 0) { inst_substate = 9; return; }
- PC = set_h(PC, read_arg(0xffff));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xffff));
icount--;
if(irq_taken)
- standard_irq_callback(IRQ_LINE);
+ ; // standard_irq_callback(IRQ_LINE);
}
P |= F_I; // Do *not* move after the prefetch
if(icount == 0) { inst_substate = 10; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
inst_state = -1;
}
-void m6502_device::brk_imp_partial()
+void m6502_device_brk_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(SP, PC >> 8);
+ m6502_device_mi_default_normal_write(SP, PC >> 8);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(SP, PC);
+ m6502_device_mi_default_normal_write(SP, PC);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(SP, irq_taken ? P & ~F_B : P);
+ m6502_device_mi_default_normal_write(SP, irq_taken ? P & ~F_B : P);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 6; return; }
case 6:
- PC = read_arg(0xfffa);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffa);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- PC = set_h(PC, read_arg(0xfffb));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffb));
icount--;
nmi_state = false;
- standard_irq_callback(NMI_LINE);
+// standard_irq_callback(NMI_LINE);
} else {
if(icount == 0) { inst_substate = 8; return; }
case 8:
- PC = read_arg(0xfffe);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffe);
icount--;
if(icount == 0) { inst_substate = 9; return; }
case 9:
- PC = set_h(PC, read_arg(0xffff));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xffff));
icount--;
if(irq_taken)
- standard_irq_callback(IRQ_LINE);
+ ; // standard_irq_callback(IRQ_LINE);
}
if(icount == 0) { inst_substate = 10; return; }
case 10:
- prefetch();
+ m6502_device_prefetch();
icount--;
inst_state = -1;
}
-void m6502_device::bvc_rel_full()
+void m6502_device_bvc_rel_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::bvc_rel_partial()
+void m6502_device_bvc_rel_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::bvs_rel_full()
+void m6502_device_bvs_rel_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::bvs_rel_partial()
+void m6502_device_bvs_rel_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- if(page_changing(PC, int8_t(TMP))) {
+ if(page_changing(PC, (int8_t)(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+(int8_t)(TMP)));
icount--;
}
- PC += int8_t(TMP);
+ PC += (int8_t)(TMP);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::clc_imp_full()
+void m6502_device_clc_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
P &= ~F_C;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::clc_imp_partial()
+void m6502_device_clc_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cld_imp_full()
+void m6502_device_cld_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
P &= ~F_D;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cld_imp_partial()
+void m6502_device_cld_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cli_imp_full()
+void m6502_device_cli_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
P &= ~F_I; // Do *not* move it before the prefetch
}
-void m6502_device::cli_imp_partial()
+void m6502_device_cli_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
P &= ~F_I; // Do *not* move it before the prefetch
}
-void m6502_device::clv_imp_full()
+void m6502_device_clv_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
P &= ~F_V;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::clv_imp_partial()
+void m6502_device_clv_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cmp_aba_full()
+void m6502_device_cmp_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cmp_aba_partial()
+void m6502_device_cmp_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cmp_abx_full()
+void m6502_device_cmp_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cmp_abx_partial()
+void m6502_device_cmp_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cmp_aby_full()
+void m6502_device_cmp_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cmp_aby_partial()
+void m6502_device_cmp_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cmp_idx_full()
+void m6502_device_cmp_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- do_cmp(A, read(TMP));
+ m6502_device_do_cmp(A, m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cmp_idx_partial()
+void m6502_device_cmp_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_cmp(A, read(TMP));
+ m6502_device_do_cmp(A, m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cmp_idy_full()
+void m6502_device_cmp_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- do_cmp(A, read(TMP+Y));
+ m6502_device_do_cmp(A, m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cmp_idy_partial()
+void m6502_device_cmp_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_cmp(A, read(TMP+Y));
+ m6502_device_do_cmp(A, m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cmp_imm_full()
+void m6502_device_cmp_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
TMP = read_pc();
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cmp_imm_partial()
+void m6502_device_cmp_imm_partial()
{
switch(inst_substate) {
case 0:
TMP = read_pc();
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cmp_zpg_full()
+void m6502_device_cmp_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cmp_zpg_partial()
+void m6502_device_cmp_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cmp_zpx_full()
+void m6502_device_cmp_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cmp_zpx_partial()
+void m6502_device_cmp_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- do_cmp(A, TMP);
+ m6502_device_do_cmp(A, TMP);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cpx_aba_full()
+void m6502_device_cpx_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(X, TMP);
+ m6502_device_do_cmp(X, TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cpx_aba_partial()
+void m6502_device_cpx_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(X, TMP);
+ m6502_device_do_cmp(X, TMP);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cpx_imm_full()
+void m6502_device_cpx_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
TMP = read_pc();
icount--;
- do_cmp(X, TMP);
+ m6502_device_do_cmp(X, TMP);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cpx_imm_partial()
+void m6502_device_cpx_imm_partial()
{
switch(inst_substate) {
case 0:
TMP = read_pc();
icount--;
- do_cmp(X, TMP);
+ m6502_device_do_cmp(X, TMP);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cpx_zpg_full()
+void m6502_device_cpx_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(X, TMP);
+ m6502_device_do_cmp(X, TMP);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cpx_zpg_partial()
+void m6502_device_cpx_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(X, TMP);
+ m6502_device_do_cmp(X, TMP);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cpy_aba_full()
+void m6502_device_cpy_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(Y, TMP);
+ m6502_device_do_cmp(Y, TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cpy_aba_partial()
+void m6502_device_cpy_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(Y, TMP);
+ m6502_device_do_cmp(Y, TMP);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cpy_imm_full()
+void m6502_device_cpy_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
TMP = read_pc();
icount--;
- do_cmp(Y, TMP);
+ m6502_device_do_cmp(Y, TMP);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cpy_imm_partial()
+void m6502_device_cpy_imm_partial()
{
switch(inst_substate) {
case 0:
TMP = read_pc();
icount--;
- do_cmp(Y, TMP);
+ m6502_device_do_cmp(Y, TMP);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::cpy_zpg_full()
+void m6502_device_cpy_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(Y, TMP);
+ m6502_device_do_cmp(Y, TMP);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::cpy_zpg_partial()
+void m6502_device_cpy_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_cmp(Y, TMP);
+ m6502_device_do_cmp(Y, TMP);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dec_aba_full()
+void m6502_device_dec_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dec_aba_partial()
+void m6502_device_dec_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dec_abx_full()
+void m6502_device_dec_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dec_abx_partial()
+void m6502_device_dec_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dec_zpg_full()
+void m6502_device_dec_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dec_zpg_partial()
+void m6502_device_dec_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dec_zpx_full()
+void m6502_device_dec_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dec_zpx_partial()
+void m6502_device_dec_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dex_imp_full()
+void m6502_device_dex_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
X--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dex_imp_partial()
+void m6502_device_dex_imp_partial()
{
switch(inst_substate) {
case 0:
X--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dey_imp_full()
+void m6502_device_dey_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
Y--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dey_imp_partial()
+void m6502_device_dey_imp_partial()
{
switch(inst_substate) {
case 0:
Y--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::eor_aba_full()
+void m6502_device_eor_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::eor_aba_partial()
+void m6502_device_eor_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::eor_abx_full()
+void m6502_device_eor_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::eor_abx_partial()
+void m6502_device_eor_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::eor_aby_full()
+void m6502_device_eor_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::eor_aby_partial()
+void m6502_device_eor_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::eor_idx_full()
+void m6502_device_eor_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::eor_idx_partial()
+void m6502_device_eor_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::eor_idy_full()
+void m6502_device_eor_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- A ^= read(TMP+Y);
+ A ^= m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::eor_idy_partial()
+void m6502_device_eor_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A ^= read(TMP+Y);
+ A ^= m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::eor_imm_full()
+void m6502_device_eor_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
A ^= read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::eor_imm_partial()
+void m6502_device_eor_imm_partial()
{
switch(inst_substate) {
case 0:
A ^= read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::eor_zpg_full()
+void m6502_device_eor_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::eor_zpg_partial()
+void m6502_device_eor_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::eor_zpx_full()
+void m6502_device_eor_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- A ^= read(uint8_t(TMP+X));
+ A ^= m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::eor_zpx_partial()
+void m6502_device_eor_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A ^= read(uint8_t(TMP+X));
+ A ^= m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::inc_aba_full()
+void m6502_device_inc_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::inc_aba_partial()
+void m6502_device_inc_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::inc_abx_full()
+void m6502_device_inc_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::inc_abx_partial()
+void m6502_device_inc_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::inc_zpg_full()
+void m6502_device_inc_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::inc_zpg_partial()
+void m6502_device_inc_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::inc_zpx_full()
+void m6502_device_inc_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::inc_zpx_partial()
+void m6502_device_inc_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::inx_imp_full()
+void m6502_device_inx_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
X++;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::inx_imp_partial()
+void m6502_device_inx_imp_partial()
{
switch(inst_substate) {
case 0:
X++;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::iny_imp_full()
+void m6502_device_iny_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
Y++;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::iny_imp_partial()
+void m6502_device_iny_imp_partial()
{
switch(inst_substate) {
case 0:
Y++;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::jmp_adr_full()
+void m6502_device_jmp_adr_full()
{
if(icount == 0) { inst_substate = 1; return; }
PC = TMP;
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::jmp_adr_partial()
+void m6502_device_jmp_adr_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::jmp_ind_full()
+void m6502_device_jmp_ind_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- PC = read(TMP);
+ PC = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- PC = set_h(PC, read(set_l(TMP, TMP+1)));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(set_l(TMP, TMP+1)));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::jmp_ind_partial()
+void m6502_device_jmp_ind_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- PC = read(TMP);
+ PC = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- PC = set_h(PC, read(set_l(TMP, TMP+1)));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(set_l(TMP, TMP+1)));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::jsr_adr_full()
+void m6502_device_jsr_adr_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(SP, PC>>8);
+ m6502_device_mi_default_normal_write(SP, PC>>8);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 4; return; }
- write(SP, PC);
+ m6502_device_mi_default_normal_write(SP, PC);
icount--;
dec_SP();
PC = TMP;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::jsr_adr_partial()
+void m6502_device_jsr_adr_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(SP, PC>>8);
+ m6502_device_mi_default_normal_write(SP, PC>>8);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(SP, PC);
+ m6502_device_mi_default_normal_write(SP, PC);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lda_aba_full()
+void m6502_device_lda_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- A = read(TMP);
+ A = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lda_aba_partial()
+void m6502_device_lda_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A = read(TMP);
+ A = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lda_abx_full()
+void m6502_device_lda_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
- A = read(TMP + X);
+ A = m6502_device_mi_default_normal_read(TMP + X);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lda_abx_partial()
+void m6502_device_lda_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A = read(TMP + X);
+ A = m6502_device_mi_default_normal_read(TMP + X);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lda_aby_full()
+void m6502_device_lda_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
- A = read(TMP + Y);
+ A = m6502_device_mi_default_normal_read(TMP + Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lda_aby_partial()
+void m6502_device_lda_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A = read(TMP + Y);
+ A = m6502_device_mi_default_normal_read(TMP + Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lda_idx_full()
+void m6502_device_lda_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- A = read(TMP);
+ A = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lda_idx_partial()
+void m6502_device_lda_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A = read(TMP);
+ A = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lda_idy_full()
+void m6502_device_lda_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- A = read(TMP+Y);
+ A = m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lda_idy_partial()
+void m6502_device_lda_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A = read(TMP+Y);
+ A = m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lda_imm_full()
+void m6502_device_lda_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
A = read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lda_imm_partial()
+void m6502_device_lda_imm_partial()
{
switch(inst_substate) {
case 0:
A = read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lda_zpg_full()
+void m6502_device_lda_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- A = read(TMP);
+ A = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lda_zpg_partial()
+void m6502_device_lda_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- A = read(TMP);
+ A = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lda_zpx_full()
+void m6502_device_lda_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- A = read(uint8_t(TMP+X));
+ A = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lda_zpx_partial()
+void m6502_device_lda_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A = read(uint8_t(TMP+X));
+ A = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldx_aba_full()
+void m6502_device_ldx_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- X = read(TMP);
+ X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldx_aba_partial()
+void m6502_device_ldx_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- X = read(TMP);
+ X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldx_aby_full()
+void m6502_device_ldx_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
- X = read(TMP + Y);
+ X = m6502_device_mi_default_normal_read(TMP + Y);
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldx_aby_partial()
+void m6502_device_ldx_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- X = read(TMP + Y);
+ X = m6502_device_mi_default_normal_read(TMP + Y);
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldx_imm_full()
+void m6502_device_ldx_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
X = read_pc();
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldx_imm_partial()
+void m6502_device_ldx_imm_partial()
{
switch(inst_substate) {
case 0:
X = read_pc();
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldx_zpg_full()
+void m6502_device_ldx_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- X = read(TMP);
+ X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldx_zpg_partial()
+void m6502_device_ldx_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- X = read(TMP);
+ X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldx_zpy_full()
+void m6502_device_ldx_zpy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- X = read(uint8_t(TMP+Y));
+ X = m6502_device_mi_default_normal_read((uint8_t)(TMP+Y));
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldx_zpy_partial()
+void m6502_device_ldx_zpy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- X = read(uint8_t(TMP+Y));
+ X = m6502_device_mi_default_normal_read((uint8_t)(TMP+Y));
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldy_aba_full()
+void m6502_device_ldy_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- Y = read(TMP);
+ Y = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldy_aba_partial()
+void m6502_device_ldy_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- Y = read(TMP);
+ Y = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldy_abx_full()
+void m6502_device_ldy_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- Y = read(TMP);
+ Y = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldy_abx_partial()
+void m6502_device_ldy_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- Y = read(TMP);
+ Y = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldy_imm_full()
+void m6502_device_ldy_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
Y = read_pc();
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldy_imm_partial()
+void m6502_device_ldy_imm_partial()
{
switch(inst_substate) {
case 0:
Y = read_pc();
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldy_zpg_full()
+void m6502_device_ldy_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- Y = read(TMP);
+ Y = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldy_zpg_partial()
+void m6502_device_ldy_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- Y = read(TMP);
+ Y = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ldy_zpx_full()
+void m6502_device_ldy_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- Y = read(uint8_t(TMP+X));
+ Y = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ldy_zpx_partial()
+void m6502_device_ldy_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- Y = read(uint8_t(TMP+X));
+ Y = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lsr_aba_full()
+void m6502_device_lsr_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lsr_aba_partial()
+void m6502_device_lsr_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lsr_abx_full()
+void m6502_device_lsr_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lsr_abx_partial()
+void m6502_device_lsr_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lsr_acc_full()
+void m6502_device_lsr_acc_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- A = do_lsr(A);
+ A = m6502_device_do_lsr(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lsr_acc_partial()
+void m6502_device_lsr_acc_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- A = do_lsr(A);
+ A = m6502_device_do_lsr(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lsr_zpg_full()
+void m6502_device_lsr_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lsr_zpg_partial()
+void m6502_device_lsr_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lsr_zpx_full()
+void m6502_device_lsr_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lsr_zpx_partial()
+void m6502_device_lsr_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::nop_imp_full()
+void m6502_device_nop_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::nop_imp_partial()
+void m6502_device_nop_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ora_aba_full()
+void m6502_device_ora_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ora_aba_partial()
+void m6502_device_ora_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ora_abx_full()
+void m6502_device_ora_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ora_abx_partial()
+void m6502_device_ora_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ora_aby_full()
+void m6502_device_ora_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ora_aby_partial()
+void m6502_device_ora_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ora_imm_full()
+void m6502_device_ora_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
A |= read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ora_imm_partial()
+void m6502_device_ora_imm_partial()
{
switch(inst_substate) {
case 0:
A |= read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ora_idx_full()
+void m6502_device_ora_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ora_idx_partial()
+void m6502_device_ora_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ora_idy_full()
+void m6502_device_ora_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- A |= read(TMP+Y);
+ A |= m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ora_idy_partial()
+void m6502_device_ora_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A |= read(TMP+Y);
+ A |= m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ora_zpg_full()
+void m6502_device_ora_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ora_zpg_partial()
+void m6502_device_ora_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ora_zpx_full()
+void m6502_device_ora_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- A |= read(uint8_t(TMP+X));
+ A |= m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ora_zpx_partial()
+void m6502_device_ora_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A |= read(uint8_t(TMP+X));
+ A |= m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::pha_imp_full()
+void m6502_device_pha_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- write(SP, A);
+ m6502_device_mi_default_normal_write(SP, A);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::pha_imp_partial()
+void m6502_device_pha_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- write(SP, A);
+ m6502_device_mi_default_normal_write(SP, A);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::php_imp_full()
+void m6502_device_php_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- write(SP, P);
+ m6502_device_mi_default_normal_write(SP, P);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::php_imp_partial()
+void m6502_device_php_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- write(SP, P);
+ m6502_device_mi_default_normal_write(SP, P);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::pla_imp_full()
+void m6502_device_pla_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
- A = read(SP);
+ A = m6502_device_mi_default_normal_read(SP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::pla_imp_partial()
+void m6502_device_pla_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A = read(SP);
+ A = m6502_device_mi_default_normal_read(SP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::plp_imp_full()
+void m6502_device_plp_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(SP) | (F_B|F_E);
+ TMP = m6502_device_mi_default_normal_read(SP) | (F_B|F_E);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
P = TMP; // Do *not* move it before the prefetch
}
-void m6502_device::plp_imp_partial()
+void m6502_device_plp_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(SP) | (F_B|F_E);
+ TMP = m6502_device_mi_default_normal_read(SP) | (F_B|F_E);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
P = TMP; // Do *not* move it before the prefetch
}
-void m6502_device::rol_aba_full()
+void m6502_device_rol_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rol_aba_partial()
+void m6502_device_rol_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rol_abx_full()
+void m6502_device_rol_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rol_abx_partial()
+void m6502_device_rol_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rol_acc_full()
+void m6502_device_rol_acc_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- A = do_rol(A);
+ A = m6502_device_do_rol(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rol_acc_partial()
+void m6502_device_rol_acc_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- A = do_rol(A);
+ A = m6502_device_do_rol(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rol_zpg_full()
+void m6502_device_rol_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rol_zpg_partial()
+void m6502_device_rol_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rol_zpx_full()
+void m6502_device_rol_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rol_zpx_partial()
+void m6502_device_rol_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ror_aba_full()
+void m6502_device_ror_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ror_aba_partial()
+void m6502_device_ror_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ror_abx_full()
+void m6502_device_ror_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ror_abx_partial()
+void m6502_device_ror_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ror_acc_full()
+void m6502_device_ror_acc_full()
{
if(icount == 0) { inst_substate = 1; return; }
read_pc_noinc();
icount--;
- A = do_ror(A);
+ A = m6502_device_do_ror(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ror_acc_partial()
+void m6502_device_ror_acc_partial()
{
switch(inst_substate) {
case 0:
read_pc_noinc();
icount--;
- A = do_ror(A);
+ A = m6502_device_do_ror(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ror_zpg_full()
+void m6502_device_ror_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ror_zpg_partial()
+void m6502_device_ror_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ror_zpx_full()
+void m6502_device_ror_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ror_zpx_partial()
+void m6502_device_ror_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rti_imp_full()
+void m6502_device_rti_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
- P = read(SP) | (F_B|F_E);
+ P = m6502_device_mi_default_normal_read(SP) | (F_B|F_E);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 4; return; }
- PC = read(SP);
+ PC = m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 5; return; }
- PC = set_h(PC, read(SP));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(SP));
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rti_imp_partial()
+void m6502_device_rti_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- P = read(SP) | (F_B|F_E);
+ P = m6502_device_mi_default_normal_read(SP) | (F_B|F_E);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 4; return; }
case 4:
- PC = read(SP);
+ PC = m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 5; return; }
case 5:
- PC = set_h(PC, read(SP));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(SP));
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rts_imp_full()
+void m6502_device_rts_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
- PC = read(SP);
+ PC = m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 4; return; }
- PC = set_h(PC, read(SP));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(SP));
icount--;
if(icount == 0) { inst_substate = 5; return; }
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rts_imp_partial()
+void m6502_device_rts_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- PC = read(SP);
+ PC = m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 4; return; }
case 4:
- PC = set_h(PC, read(SP));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(SP));
icount--;
if(icount == 0) { inst_substate = 5; return; }
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sbc_aba_full()
+void m6502_device_sbc_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sbc_aba_partial()
+void m6502_device_sbc_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sbc_abx_full()
+void m6502_device_sbc_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sbc_abx_partial()
+void m6502_device_sbc_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sbc_aby_full()
+void m6502_device_sbc_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sbc_aby_partial()
+void m6502_device_sbc_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sbc_idx_full()
+void m6502_device_sbc_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- do_sbc(read(TMP));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sbc_idx_partial()
+void m6502_device_sbc_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_sbc(read(TMP));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sbc_idy_full()
+void m6502_device_sbc_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- do_sbc(read(TMP+Y));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sbc_idy_partial()
+void m6502_device_sbc_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_sbc(read(TMP+Y));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sbc_imm_full()
+void m6502_device_sbc_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
TMP = read_pc();
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sbc_imm_partial()
+void m6502_device_sbc_imm_partial()
{
switch(inst_substate) {
case 0:
TMP = read_pc();
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sbc_zpg_full()
+void m6502_device_sbc_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sbc_zpg_partial()
+void m6502_device_sbc_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sbc_zpx_full()
+void m6502_device_sbc_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sbc_zpx_partial()
+void m6502_device_sbc_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sec_imp_full()
+void m6502_device_sec_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
P |= F_C;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sec_imp_partial()
+void m6502_device_sec_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sed_imp_full()
+void m6502_device_sed_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
P |= F_D;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sed_imp_partial()
+void m6502_device_sed_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sei_imp_full()
+void m6502_device_sei_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
P |= F_I; // Do *not* move it before the prefetch
}
-void m6502_device::sei_imp_partial()
+void m6502_device_sei_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
P |= F_I; // Do *not* move it before the prefetch
}
-void m6502_device::sta_aba_full()
+void m6502_device_sta_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, A);
+ m6502_device_mi_default_normal_write(TMP, A);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sta_aba_partial()
+void m6502_device_sta_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, A);
+ m6502_device_mi_default_normal_write(TMP, A);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sta_abx_full()
+void m6502_device_sta_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP+X, A);
+ m6502_device_mi_default_normal_write(TMP+X, A);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sta_abx_partial()
+void m6502_device_sta_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP+X, A);
+ m6502_device_mi_default_normal_write(TMP+X, A);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sta_aby_full()
+void m6502_device_sta_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP+Y, A);
+ m6502_device_mi_default_normal_write(TMP+Y, A);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sta_aby_partial()
+void m6502_device_sta_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP+Y, A);
+ m6502_device_mi_default_normal_write(TMP+Y, A);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sta_idx_full()
+void m6502_device_sta_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, A);
+ m6502_device_mi_default_normal_write(TMP, A);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sta_idx_partial()
+void m6502_device_sta_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, A);
+ m6502_device_mi_default_normal_write(TMP, A);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sta_idy_full()
+void m6502_device_sta_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP+Y, A);
+ m6502_device_mi_default_normal_write(TMP+Y, A);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sta_idy_partial()
+void m6502_device_sta_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP+Y, A);
+ m6502_device_mi_default_normal_write(TMP+Y, A);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sta_zpg_full()
+void m6502_device_sta_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- write(TMP, A);
+ m6502_device_mi_default_normal_write(TMP, A);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sta_zpg_partial()
+void m6502_device_sta_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- write(TMP, A);
+ m6502_device_mi_default_normal_write(TMP, A);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sta_zpx_full()
+void m6502_device_sta_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(uint8_t(TMP+X), A);
+ m6502_device_mi_default_normal_write((uint8_t)(TMP+X), A);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sta_zpx_partial()
+void m6502_device_sta_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(uint8_t(TMP+X), A);
+ m6502_device_mi_default_normal_write((uint8_t)(TMP+X), A);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::stx_aba_full()
+void m6502_device_stx_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, X);
+ m6502_device_mi_default_normal_write(TMP, X);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::stx_aba_partial()
+void m6502_device_stx_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, X);
+ m6502_device_mi_default_normal_write(TMP, X);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::stx_zpg_full()
+void m6502_device_stx_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- write(TMP, X);
+ m6502_device_mi_default_normal_write(TMP, X);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::stx_zpg_partial()
+void m6502_device_stx_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- write(TMP, X);
+ m6502_device_mi_default_normal_write(TMP, X);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::stx_zpy_full()
+void m6502_device_stx_zpy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(uint8_t(TMP+Y), X);
+ m6502_device_mi_default_normal_write((uint8_t)(TMP+Y), X);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::stx_zpy_partial()
+void m6502_device_stx_zpy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(uint8_t(TMP+Y), X);
+ m6502_device_mi_default_normal_write((uint8_t)(TMP+Y), X);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sty_aba_full()
+void m6502_device_sty_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, Y);
+ m6502_device_mi_default_normal_write(TMP, Y);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sty_aba_partial()
+void m6502_device_sty_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, Y);
+ m6502_device_mi_default_normal_write(TMP, Y);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sty_zpg_full()
+void m6502_device_sty_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- write(TMP, Y);
+ m6502_device_mi_default_normal_write(TMP, Y);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sty_zpg_partial()
+void m6502_device_sty_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- write(TMP, Y);
+ m6502_device_mi_default_normal_write(TMP, Y);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sty_zpx_full()
+void m6502_device_sty_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(uint8_t(TMP+X), Y);
+ m6502_device_mi_default_normal_write((uint8_t)(TMP+X), Y);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sty_zpx_partial()
+void m6502_device_sty_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(uint8_t(TMP+X), Y);
+ m6502_device_mi_default_normal_write((uint8_t)(TMP+X), Y);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::tax_imp_full()
+void m6502_device_tax_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
X = A;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::tax_imp_partial()
+void m6502_device_tax_imp_partial()
{
switch(inst_substate) {
case 0:
X = A;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::tay_imp_full()
+void m6502_device_tay_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
Y = A;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::tay_imp_partial()
+void m6502_device_tay_imp_partial()
{
switch(inst_substate) {
case 0:
Y = A;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::tsx_imp_full()
+void m6502_device_tsx_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
X = SP;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::tsx_imp_partial()
+void m6502_device_tsx_imp_partial()
{
switch(inst_substate) {
case 0:
X = SP;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::txa_imp_full()
+void m6502_device_txa_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
A = X;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::txa_imp_partial()
+void m6502_device_txa_imp_partial()
{
switch(inst_substate) {
case 0:
A = X;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::txs_imp_full()
+void m6502_device_txs_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
SP = set_l(SP, X);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::txs_imp_partial()
+void m6502_device_txs_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::tya_imp_full()
+void m6502_device_tya_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
A = Y;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::tya_imp_partial()
+void m6502_device_tya_imp_partial()
{
switch(inst_substate) {
case 0:
A = Y;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::reset_full()
+void m6502_device_reset_full()
{
if(icount == 0) { inst_substate = 1; return; }
- PC = read_arg(0xfffc);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffc);
icount--;
if(icount == 0) { inst_substate = 2; return; }
- PC = set_h(PC, read_arg(0xfffd));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffd));
icount--;
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
inst_state = -1;
}
-void m6502_device::reset_partial()
+void m6502_device_reset_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 1; return; }
case 1:
- PC = read_arg(0xfffc);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffc);
icount--;
if(icount == 0) { inst_substate = 2; return; }
case 2:
- PC = set_h(PC, read_arg(0xfffd));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffd));
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
inst_state = -1;
}
-void m6502_device::dcp_aba_full()
+void m6502_device_dcp_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dcp_aba_partial()
+void m6502_device_dcp_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dcp_abx_full()
+void m6502_device_dcp_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dcp_abx_partial()
+void m6502_device_dcp_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dcp_aby_full()
+void m6502_device_dcp_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dcp_aby_partial()
+void m6502_device_dcp_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dcp_idx_full()
+void m6502_device_dcp_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dcp_idx_partial()
+void m6502_device_dcp_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dcp_idy_full()
+void m6502_device_dcp_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dcp_idy_partial()
+void m6502_device_dcp_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dcp_zpg_full()
+void m6502_device_dcp_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dcp_zpg_partial()
+void m6502_device_dcp_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::dcp_zpx_full()
+void m6502_device_dcp_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::dcp_zpx_partial()
+void m6502_device_dcp_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_cmp(A, TMP2);
+ m6502_device_do_cmp(A, TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::isb_aba_full()
+void m6502_device_isb_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::isb_aba_partial()
+void m6502_device_isb_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::isb_abx_full()
+void m6502_device_isb_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::isb_abx_partial()
+void m6502_device_isb_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::isb_aby_full()
+void m6502_device_isb_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::isb_aby_partial()
+void m6502_device_isb_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::isb_idx_full()
+void m6502_device_isb_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::isb_idx_partial()
+void m6502_device_isb_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::isb_idy_full()
+void m6502_device_isb_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::isb_idy_partial()
+void m6502_device_isb_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::isb_zpg_full()
+void m6502_device_isb_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::isb_zpg_partial()
+void m6502_device_isb_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::isb_zpx_full()
+void m6502_device_isb_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::isb_zpx_partial()
+void m6502_device_isb_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2++;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_sbc(TMP2);
+ m6502_device_do_sbc(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lax_aba_full()
+void m6502_device_lax_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- A = X = read(TMP);
+ A = X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lax_aba_partial()
+void m6502_device_lax_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A = X = read(TMP);
+ A = X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lax_aby_full()
+void m6502_device_lax_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
- A = X = read(TMP+Y);
+ A = X = m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lax_aby_partial()
+void m6502_device_lax_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A = X = read(TMP+Y);
+ A = X = m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lax_idx_full()
+void m6502_device_lax_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- A = X = read(TMP);
+ A = X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lax_idx_partial()
+void m6502_device_lax_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A = X = read(TMP);
+ A = X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lax_idy_full()
+void m6502_device_lax_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- A = X = read(TMP+Y);
+ A = X = m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lax_idy_partial()
+void m6502_device_lax_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- A = X = read(TMP+Y);
+ A = X = m6502_device_mi_default_normal_read(TMP+Y);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lax_zpg_full()
+void m6502_device_lax_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- A = X = read(TMP);
+ A = X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lax_zpg_partial()
+void m6502_device_lax_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- A = X = read(TMP);
+ A = X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lax_zpy_full()
+void m6502_device_lax_zpy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+Y);
+ TMP = (uint8_t)(TMP+Y);
if(icount == 0) { inst_substate = 3; return; }
- A = X = read(TMP);
+ A = X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lax_zpy_partial()
+void m6502_device_lax_zpy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+Y);
+ TMP = (uint8_t)(TMP+Y);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- A = X = read(TMP);
+ A = X = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rla_aba_full()
+void m6502_device_rla_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rla_aba_partial()
+void m6502_device_rla_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rla_abx_full()
+void m6502_device_rla_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rla_abx_partial()
+void m6502_device_rla_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rla_aby_full()
+void m6502_device_rla_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rla_aby_partial()
+void m6502_device_rla_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rla_idx_full()
+void m6502_device_rla_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rla_idx_partial()
+void m6502_device_rla_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rla_idy_full()
+void m6502_device_rla_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rla_idy_partial()
+void m6502_device_rla_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rla_zpg_full()
+void m6502_device_rla_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rla_zpg_partial()
+void m6502_device_rla_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rla_zpx_full()
+void m6502_device_rla_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rla_zpx_partial()
+void m6502_device_rla_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A &= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rra_aba_full()
+void m6502_device_rra_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rra_aba_partial()
+void m6502_device_rra_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rra_abx_full()
+void m6502_device_rra_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rra_abx_partial()
+void m6502_device_rra_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rra_aby_full()
+void m6502_device_rra_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rra_aby_partial()
+void m6502_device_rra_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rra_idx_full()
+void m6502_device_rra_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rra_idx_partial()
+void m6502_device_rra_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rra_idy_full()
+void m6502_device_rra_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rra_idy_partial()
+void m6502_device_rra_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rra_zpg_full()
+void m6502_device_rra_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rra_zpg_partial()
+void m6502_device_rra_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::rra_zpx_full()
+void m6502_device_rra_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::rra_zpx_partial()
+void m6502_device_rra_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- do_adc(TMP2);
+ m6502_device_do_adc(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sax_aba_full()
+void m6502_device_sax_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
TMP2 = A & X;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sax_aba_partial()
+void m6502_device_sax_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sax_idx_full()
+void m6502_device_sax_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
TMP2 = A & X;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sax_idx_partial()
+void m6502_device_sax_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
TMP2 = A & X;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sax_zpg_full()
+void m6502_device_sax_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
TMP2 = A & X;
if(icount == 0) { inst_substate = 2; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sax_zpg_partial()
+void m6502_device_sax_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sax_zpy_full()
+void m6502_device_sax_zpy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+Y);
+ TMP = (uint8_t)(TMP+Y);
TMP2 = A & X;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sax_zpy_partial()
+void m6502_device_sax_zpy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+Y);
+ TMP = (uint8_t)(TMP+Y);
TMP2 = A & X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sbx_imm_full()
+void m6502_device_sbx_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
X -= TMP2;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sbx_imm_partial()
+void m6502_device_sbx_imm_partial()
{
switch(inst_substate) {
case 0:
X -= TMP2;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sha_aby_full()
+void m6502_device_sha_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP2 = A & X & ((TMP >> 8)+1);
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sha_aby_partial()
+void m6502_device_sha_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP2 = A & X & ((TMP >> 8)+1);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sha_idy_full()
+void m6502_device_sha_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP2 = A & X & ((TMP >> 8)+1);
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sha_idy_partial()
+void m6502_device_sha_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP2 = A & X & ((TMP >> 8)+1);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::shs_aby_full()
+void m6502_device_shs_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
SP = set_l(SP, A & X);
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::shs_aby_partial()
+void m6502_device_shs_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
SP = set_l(SP, A & X);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::shx_aby_full()
+void m6502_device_shx_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP2 = X & ((TMP >> 8)+1);
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::shx_aby_partial()
+void m6502_device_shx_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP2 = X & ((TMP >> 8)+1);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::shy_abx_full()
+void m6502_device_shy_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP2 = Y & ((TMP >> 8)+1);
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::shy_abx_partial()
+void m6502_device_shy_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP2 = Y & ((TMP >> 8)+1);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::slo_aba_full()
+void m6502_device_slo_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::slo_aba_partial()
+void m6502_device_slo_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::slo_abx_full()
+void m6502_device_slo_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::slo_abx_partial()
+void m6502_device_slo_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::slo_aby_full()
+void m6502_device_slo_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::slo_aby_partial()
+void m6502_device_slo_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::slo_idx_full()
+void m6502_device_slo_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::slo_idx_partial()
+void m6502_device_slo_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::slo_idy_full()
+void m6502_device_slo_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::slo_idy_partial()
+void m6502_device_slo_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::slo_zpg_full()
+void m6502_device_slo_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::slo_zpg_partial()
+void m6502_device_slo_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::slo_zpx_full()
+void m6502_device_slo_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::slo_zpx_partial()
+void m6502_device_slo_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A |= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sre_aba_full()
+void m6502_device_sre_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sre_aba_partial()
+void m6502_device_sre_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sre_abx_full()
+void m6502_device_sre_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sre_abx_partial()
+void m6502_device_sre_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sre_aby_full()
+void m6502_device_sre_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sre_aby_partial()
+void m6502_device_sre_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sre_idx_full()
+void m6502_device_sre_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sre_idx_partial()
+void m6502_device_sre_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sre_idy_full()
+void m6502_device_sre_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 7; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sre_idy_partial()
+void m6502_device_sre_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
TMP += Y;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 7; return; }
case 7:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sre_zpg_full()
+void m6502_device_sre_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sre_zpg_partial()
+void m6502_device_sre_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::sre_zpx_full()
+void m6502_device_sre_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::sre_zpx_partial()
+void m6502_device_sre_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
- TMP = uint8_t(TMP+X);
+ TMP = (uint8_t)(TMP+X);
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
A ^= TMP2;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::anc_imm_full()
+void m6502_device_anc_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
A &= read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(A & 0x80)
P &= ~F_C;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::anc_imm_partial()
+void m6502_device_anc_imm_partial()
{
switch(inst_substate) {
case 0:
A &= read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(A & 0x80)
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::ane_imm_full()
+void m6502_device_ane_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
A &= TMP2 & X;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::ane_imm_partial()
+void m6502_device_ane_imm_partial()
{
switch(inst_substate) {
case 0:
A &= TMP2 & X;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::asr_imm_full()
+void m6502_device_asr_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
A &= read_pc();
icount--;
- A = do_lsr(A);
+ A = m6502_device_do_lsr(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::asr_imm_partial()
+void m6502_device_asr_imm_partial()
{
switch(inst_substate) {
case 0:
A &= read_pc();
icount--;
- A = do_lsr(A);
+ A = m6502_device_do_lsr(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::arr_imm_full()
+void m6502_device_arr_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
A &= read_pc();
icount--;
- do_arr();
+ m6502_device_do_arr();
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::arr_imm_partial()
+void m6502_device_arr_imm_partial()
{
switch(inst_substate) {
case 0:
A &= read_pc();
icount--;
- do_arr();
+ m6502_device_do_arr();
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::las_aby_full()
+void m6502_device_las_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP+Y);
+ TMP2 = m6502_device_mi_default_normal_read(TMP+Y);
icount--;
A = TMP2 | 0x51;
X = 0xff;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::las_aby_partial()
+void m6502_device_las_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP+Y);
+ TMP2 = m6502_device_mi_default_normal_read(TMP+Y);
icount--;
A = TMP2 | 0x51;
X = 0xff;
- set_nz(TMP2);
+ m6502_device_set_nz(TMP2);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::lxa_imm_full()
+void m6502_device_lxa_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
A = X = read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::lxa_imm_partial()
+void m6502_device_lxa_imm_partial()
{
switch(inst_substate) {
case 0:
A = X = read_pc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::nop_aba_full()
+void m6502_device_nop_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::nop_aba_partial()
+void m6502_device_nop_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::nop_abx_full()
+void m6502_device_nop_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
- read(TMP + X);
+ m6502_device_mi_default_normal_read(TMP + X);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::nop_abx_partial()
+void m6502_device_nop_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(TMP + X);
+ m6502_device_mi_default_normal_read(TMP + X);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::nop_imm_full()
+void m6502_device_nop_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::nop_imm_partial()
+void m6502_device_nop_imm_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::nop_zpg_full()
+void m6502_device_nop_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::nop_zpg_partial()
+void m6502_device_nop_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::nop_zpx_full()
+void m6502_device_nop_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(uint8_t(TMP+X));
+ m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m6502_device::nop_zpx_partial()
+void m6502_device_nop_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(uint8_t(TMP+X));
+ m6502_device_mi_default_normal_read((uint8_t)(TMP+X));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m6502_device::kil_non_full()
+void m6502_device_kil_non_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(0xffff);
+ m6502_device_mi_default_normal_read(0xffff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(0xfffe);
+ m6502_device_mi_default_normal_read(0xfffe);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(0xfffe);
+ m6502_device_mi_default_normal_read(0xfffe);
icount--;
for(;;) {
if(icount == 0) { inst_substate = 5; return; }
- read(0xffff);
+ m6502_device_mi_default_normal_read(0xffff);
icount--;
}
}
-void m6502_device::kil_non_partial()
+void m6502_device_kil_non_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(0xffff);
+ m6502_device_mi_default_normal_read(0xffff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(0xfffe);
+ m6502_device_mi_default_normal_read(0xfffe);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(0xfffe);
+ m6502_device_mi_default_normal_read(0xfffe);
icount--;
for(;;) {
if(icount == 0) { inst_substate = 5; return; }
case 5:
- read(0xffff);
+ m6502_device_mi_default_normal_read(0xffff);
icount--;
}
-void m6502_device::do_exec_full()
+void m6502_device_do_exec_full()
{
switch(inst_state) {
- case 0x00: brk_imp_full(); break;
- case 0x01: ora_idx_full(); break;
- case 0x02: kil_non_full(); break;
- case 0x03: slo_idx_full(); break;
- case 0x04: nop_zpg_full(); break;
- case 0x05: ora_zpg_full(); break;
- case 0x06: asl_zpg_full(); break;
- case 0x07: slo_zpg_full(); break;
- case 0x08: php_imp_full(); break;
- case 0x09: ora_imm_full(); break;
- case 0x0a: asl_acc_full(); break;
- case 0x0b: anc_imm_full(); break;
- case 0x0c: nop_aba_full(); break;
- case 0x0d: ora_aba_full(); break;
- case 0x0e: asl_aba_full(); break;
- case 0x0f: slo_aba_full(); break;
- case 0x10: bpl_rel_full(); break;
- case 0x11: ora_idy_full(); break;
- case 0x12: kil_non_full(); break;
- case 0x13: slo_idy_full(); break;
- case 0x14: nop_zpx_full(); break;
- case 0x15: ora_zpx_full(); break;
- case 0x16: asl_zpx_full(); break;
- case 0x17: slo_zpx_full(); break;
- case 0x18: clc_imp_full(); break;
- case 0x19: ora_aby_full(); break;
- case 0x1a: nop_imp_full(); break;
- case 0x1b: slo_aby_full(); break;
- case 0x1c: nop_abx_full(); break;
- case 0x1d: ora_abx_full(); break;
- case 0x1e: asl_abx_full(); break;
- case 0x1f: slo_abx_full(); break;
- case 0x20: jsr_adr_full(); break;
- case 0x21: and_idx_full(); break;
- case 0x22: kil_non_full(); break;
- case 0x23: rla_idx_full(); break;
- case 0x24: bit_zpg_full(); break;
- case 0x25: and_zpg_full(); break;
- case 0x26: rol_zpg_full(); break;
- case 0x27: rla_zpg_full(); break;
- case 0x28: plp_imp_full(); break;
- case 0x29: and_imm_full(); break;
- case 0x2a: rol_acc_full(); break;
- case 0x2b: anc_imm_full(); break;
- case 0x2c: bit_aba_full(); break;
- case 0x2d: and_aba_full(); break;
- case 0x2e: rol_aba_full(); break;
- case 0x2f: rla_aba_full(); break;
- case 0x30: bmi_rel_full(); break;
- case 0x31: and_idy_full(); break;
- case 0x32: kil_non_full(); break;
- case 0x33: rla_idy_full(); break;
- case 0x34: nop_zpx_full(); break;
- case 0x35: and_zpx_full(); break;
- case 0x36: rol_zpx_full(); break;
- case 0x37: rla_zpx_full(); break;
- case 0x38: sec_imp_full(); break;
- case 0x39: and_aby_full(); break;
- case 0x3a: nop_imp_full(); break;
- case 0x3b: rla_aby_full(); break;
- case 0x3c: nop_abx_full(); break;
- case 0x3d: and_abx_full(); break;
- case 0x3e: rol_abx_full(); break;
- case 0x3f: rla_abx_full(); break;
- case 0x40: rti_imp_full(); break;
- case 0x41: eor_idx_full(); break;
- case 0x42: kil_non_full(); break;
- case 0x43: sre_idx_full(); break;
- case 0x44: nop_zpg_full(); break;
- case 0x45: eor_zpg_full(); break;
- case 0x46: lsr_zpg_full(); break;
- case 0x47: sre_zpg_full(); break;
- case 0x48: pha_imp_full(); break;
- case 0x49: eor_imm_full(); break;
- case 0x4a: lsr_acc_full(); break;
- case 0x4b: asr_imm_full(); break;
- case 0x4c: jmp_adr_full(); break;
- case 0x4d: eor_aba_full(); break;
- case 0x4e: lsr_aba_full(); break;
- case 0x4f: sre_aba_full(); break;
- case 0x50: bvc_rel_full(); break;
- case 0x51: eor_idy_full(); break;
- case 0x52: kil_non_full(); break;
- case 0x53: sre_idy_full(); break;
- case 0x54: nop_zpx_full(); break;
- case 0x55: eor_zpx_full(); break;
- case 0x56: lsr_zpx_full(); break;
- case 0x57: sre_zpx_full(); break;
- case 0x58: cli_imp_full(); break;
- case 0x59: eor_aby_full(); break;
- case 0x5a: nop_imp_full(); break;
- case 0x5b: sre_aby_full(); break;
- case 0x5c: nop_abx_full(); break;
- case 0x5d: eor_abx_full(); break;
- case 0x5e: lsr_abx_full(); break;
- case 0x5f: sre_abx_full(); break;
- case 0x60: rts_imp_full(); break;
- case 0x61: adc_idx_full(); break;
- case 0x62: kil_non_full(); break;
- case 0x63: rra_idx_full(); break;
- case 0x64: nop_zpg_full(); break;
- case 0x65: adc_zpg_full(); break;
- case 0x66: ror_zpg_full(); break;
- case 0x67: rra_zpg_full(); break;
- case 0x68: pla_imp_full(); break;
- case 0x69: adc_imm_full(); break;
- case 0x6a: ror_acc_full(); break;
- case 0x6b: arr_imm_full(); break;
- case 0x6c: jmp_ind_full(); break;
- case 0x6d: adc_aba_full(); break;
- case 0x6e: ror_aba_full(); break;
- case 0x6f: rra_aba_full(); break;
- case 0x70: bvs_rel_full(); break;
- case 0x71: adc_idy_full(); break;
- case 0x72: kil_non_full(); break;
- case 0x73: rra_idy_full(); break;
- case 0x74: nop_zpx_full(); break;
- case 0x75: adc_zpx_full(); break;
- case 0x76: ror_zpx_full(); break;
- case 0x77: rra_zpx_full(); break;
- case 0x78: sei_imp_full(); break;
- case 0x79: adc_aby_full(); break;
- case 0x7a: nop_imp_full(); break;
- case 0x7b: rra_aby_full(); break;
- case 0x7c: nop_abx_full(); break;
- case 0x7d: adc_abx_full(); break;
- case 0x7e: ror_abx_full(); break;
- case 0x7f: rra_abx_full(); break;
- case 0x80: nop_imm_full(); break;
- case 0x81: sta_idx_full(); break;
- case 0x82: nop_imm_full(); break;
- case 0x83: sax_idx_full(); break;
- case 0x84: sty_zpg_full(); break;
- case 0x85: sta_zpg_full(); break;
- case 0x86: stx_zpg_full(); break;
- case 0x87: sax_zpg_full(); break;
- case 0x88: dey_imp_full(); break;
- case 0x89: nop_imm_full(); break;
- case 0x8a: txa_imp_full(); break;
- case 0x8b: ane_imm_full(); break;
- case 0x8c: sty_aba_full(); break;
- case 0x8d: sta_aba_full(); break;
- case 0x8e: stx_aba_full(); break;
- case 0x8f: sax_aba_full(); break;
- case 0x90: bcc_rel_full(); break;
- case 0x91: sta_idy_full(); break;
- case 0x92: kil_non_full(); break;
- case 0x93: sha_idy_full(); break;
- case 0x94: sty_zpx_full(); break;
- case 0x95: sta_zpx_full(); break;
- case 0x96: stx_zpy_full(); break;
- case 0x97: sax_zpy_full(); break;
- case 0x98: tya_imp_full(); break;
- case 0x99: sta_aby_full(); break;
- case 0x9a: txs_imp_full(); break;
- case 0x9b: shs_aby_full(); break;
- case 0x9c: shy_abx_full(); break;
- case 0x9d: sta_abx_full(); break;
- case 0x9e: shx_aby_full(); break;
- case 0x9f: sha_aby_full(); break;
- case 0xa0: ldy_imm_full(); break;
- case 0xa1: lda_idx_full(); break;
- case 0xa2: ldx_imm_full(); break;
- case 0xa3: lax_idx_full(); break;
- case 0xa4: ldy_zpg_full(); break;
- case 0xa5: lda_zpg_full(); break;
- case 0xa6: ldx_zpg_full(); break;
- case 0xa7: lax_zpg_full(); break;
- case 0xa8: tay_imp_full(); break;
- case 0xa9: lda_imm_full(); break;
- case 0xaa: tax_imp_full(); break;
- case 0xab: lxa_imm_full(); break;
- case 0xac: ldy_aba_full(); break;
- case 0xad: lda_aba_full(); break;
- case 0xae: ldx_aba_full(); break;
- case 0xaf: lax_aba_full(); break;
- case 0xb0: bcs_rel_full(); break;
- case 0xb1: lda_idy_full(); break;
- case 0xb2: kil_non_full(); break;
- case 0xb3: lax_idy_full(); break;
- case 0xb4: ldy_zpx_full(); break;
- case 0xb5: lda_zpx_full(); break;
- case 0xb6: ldx_zpy_full(); break;
- case 0xb7: lax_zpy_full(); break;
- case 0xb8: clv_imp_full(); break;
- case 0xb9: lda_aby_full(); break;
- case 0xba: tsx_imp_full(); break;
- case 0xbb: las_aby_full(); break;
- case 0xbc: ldy_abx_full(); break;
- case 0xbd: lda_abx_full(); break;
- case 0xbe: ldx_aby_full(); break;
- case 0xbf: lax_aby_full(); break;
- case 0xc0: cpy_imm_full(); break;
- case 0xc1: cmp_idx_full(); break;
- case 0xc2: nop_imm_full(); break;
- case 0xc3: dcp_idx_full(); break;
- case 0xc4: cpy_zpg_full(); break;
- case 0xc5: cmp_zpg_full(); break;
- case 0xc6: dec_zpg_full(); break;
- case 0xc7: dcp_zpg_full(); break;
- case 0xc8: iny_imp_full(); break;
- case 0xc9: cmp_imm_full(); break;
- case 0xca: dex_imp_full(); break;
- case 0xcb: sbx_imm_full(); break;
- case 0xcc: cpy_aba_full(); break;
- case 0xcd: cmp_aba_full(); break;
- case 0xce: dec_aba_full(); break;
- case 0xcf: dcp_aba_full(); break;
- case 0xd0: bne_rel_full(); break;
- case 0xd1: cmp_idy_full(); break;
- case 0xd2: kil_non_full(); break;
- case 0xd3: dcp_idy_full(); break;
- case 0xd4: nop_zpx_full(); break;
- case 0xd5: cmp_zpx_full(); break;
- case 0xd6: dec_zpx_full(); break;
- case 0xd7: dcp_zpx_full(); break;
- case 0xd8: cld_imp_full(); break;
- case 0xd9: cmp_aby_full(); break;
- case 0xda: nop_imp_full(); break;
- case 0xdb: dcp_aby_full(); break;
- case 0xdc: nop_abx_full(); break;
- case 0xdd: cmp_abx_full(); break;
- case 0xde: dec_abx_full(); break;
- case 0xdf: dcp_abx_full(); break;
- case 0xe0: cpx_imm_full(); break;
- case 0xe1: sbc_idx_full(); break;
- case 0xe2: nop_imm_full(); break;
- case 0xe3: isb_idx_full(); break;
- case 0xe4: cpx_zpg_full(); break;
- case 0xe5: sbc_zpg_full(); break;
- case 0xe6: inc_zpg_full(); break;
- case 0xe7: isb_zpg_full(); break;
- case 0xe8: inx_imp_full(); break;
- case 0xe9: sbc_imm_full(); break;
- case 0xea: nop_imp_full(); break;
- case 0xeb: sbc_imm_full(); break;
- case 0xec: cpx_aba_full(); break;
- case 0xed: sbc_aba_full(); break;
- case 0xee: inc_aba_full(); break;
- case 0xef: isb_aba_full(); break;
- case 0xf0: beq_rel_full(); break;
- case 0xf1: sbc_idy_full(); break;
- case 0xf2: kil_non_full(); break;
- case 0xf3: isb_idy_full(); break;
- case 0xf4: nop_zpx_full(); break;
- case 0xf5: sbc_zpx_full(); break;
- case 0xf6: inc_zpx_full(); break;
- case 0xf7: isb_zpx_full(); break;
- case 0xf8: sed_imp_full(); break;
- case 0xf9: sbc_aby_full(); break;
- case 0xfa: nop_imp_full(); break;
- case 0xfb: isb_aby_full(); break;
- case 0xfc: nop_abx_full(); break;
- case 0xfd: sbc_abx_full(); break;
- case 0xfe: inc_abx_full(); break;
- case 0xff: isb_abx_full(); break;
- case STATE_RESET: reset_full(); break;
+ case 0x00: m6502_device_brk_imp_full(); break;
+ case 0x01: m6502_device_ora_idx_full(); break;
+ case 0x02: m6502_device_kil_non_full(); break;
+ case 0x03: m6502_device_slo_idx_full(); break;
+ case 0x04: m6502_device_nop_zpg_full(); break;
+ case 0x05: m6502_device_ora_zpg_full(); break;
+ case 0x06: m6502_device_asl_zpg_full(); break;
+ case 0x07: m6502_device_slo_zpg_full(); break;
+ case 0x08: m6502_device_php_imp_full(); break;
+ case 0x09: m6502_device_ora_imm_full(); break;
+ case 0x0a: m6502_device_asl_acc_full(); break;
+ case 0x0b: m6502_device_anc_imm_full(); break;
+ case 0x0c: m6502_device_nop_aba_full(); break;
+ case 0x0d: m6502_device_ora_aba_full(); break;
+ case 0x0e: m6502_device_asl_aba_full(); break;
+ case 0x0f: m6502_device_slo_aba_full(); break;
+ case 0x10: m6502_device_bpl_rel_full(); break;
+ case 0x11: m6502_device_ora_idy_full(); break;
+ case 0x12: m6502_device_kil_non_full(); break;
+ case 0x13: m6502_device_slo_idy_full(); break;
+ case 0x14: m6502_device_nop_zpx_full(); break;
+ case 0x15: m6502_device_ora_zpx_full(); break;
+ case 0x16: m6502_device_asl_zpx_full(); break;
+ case 0x17: m6502_device_slo_zpx_full(); break;
+ case 0x18: m6502_device_clc_imp_full(); break;
+ case 0x19: m6502_device_ora_aby_full(); break;
+ case 0x1a: m6502_device_nop_imp_full(); break;
+ case 0x1b: m6502_device_slo_aby_full(); break;
+ case 0x1c: m6502_device_nop_abx_full(); break;
+ case 0x1d: m6502_device_ora_abx_full(); break;
+ case 0x1e: m6502_device_asl_abx_full(); break;
+ case 0x1f: m6502_device_slo_abx_full(); break;
+ case 0x20: m6502_device_jsr_adr_full(); break;
+ case 0x21: m6502_device_and_idx_full(); break;
+ case 0x22: m6502_device_kil_non_full(); break;
+ case 0x23: m6502_device_rla_idx_full(); break;
+ case 0x24: m6502_device_bit_zpg_full(); break;
+ case 0x25: m6502_device_and_zpg_full(); break;
+ case 0x26: m6502_device_rol_zpg_full(); break;
+ case 0x27: m6502_device_rla_zpg_full(); break;
+ case 0x28: m6502_device_plp_imp_full(); break;
+ case 0x29: m6502_device_and_imm_full(); break;
+ case 0x2a: m6502_device_rol_acc_full(); break;
+ case 0x2b: m6502_device_anc_imm_full(); break;
+ case 0x2c: m6502_device_bit_aba_full(); break;
+ case 0x2d: m6502_device_and_aba_full(); break;
+ case 0x2e: m6502_device_rol_aba_full(); break;
+ case 0x2f: m6502_device_rla_aba_full(); break;
+ case 0x30: m6502_device_bmi_rel_full(); break;
+ case 0x31: m6502_device_and_idy_full(); break;
+ case 0x32: m6502_device_kil_non_full(); break;
+ case 0x33: m6502_device_rla_idy_full(); break;
+ case 0x34: m6502_device_nop_zpx_full(); break;
+ case 0x35: m6502_device_and_zpx_full(); break;
+ case 0x36: m6502_device_rol_zpx_full(); break;
+ case 0x37: m6502_device_rla_zpx_full(); break;
+ case 0x38: m6502_device_sec_imp_full(); break;
+ case 0x39: m6502_device_and_aby_full(); break;
+ case 0x3a: m6502_device_nop_imp_full(); break;
+ case 0x3b: m6502_device_rla_aby_full(); break;
+ case 0x3c: m6502_device_nop_abx_full(); break;
+ case 0x3d: m6502_device_and_abx_full(); break;
+ case 0x3e: m6502_device_rol_abx_full(); break;
+ case 0x3f: m6502_device_rla_abx_full(); break;
+ case 0x40: m6502_device_rti_imp_full(); break;
+ case 0x41: m6502_device_eor_idx_full(); break;
+ case 0x42: m6502_device_kil_non_full(); break;
+ case 0x43: m6502_device_sre_idx_full(); break;
+ case 0x44: m6502_device_nop_zpg_full(); break;
+ case 0x45: m6502_device_eor_zpg_full(); break;
+ case 0x46: m6502_device_lsr_zpg_full(); break;
+ case 0x47: m6502_device_sre_zpg_full(); break;
+ case 0x48: m6502_device_pha_imp_full(); break;
+ case 0x49: m6502_device_eor_imm_full(); break;
+ case 0x4a: m6502_device_lsr_acc_full(); break;
+ case 0x4b: m6502_device_asr_imm_full(); break;
+ case 0x4c: m6502_device_jmp_adr_full(); break;
+ case 0x4d: m6502_device_eor_aba_full(); break;
+ case 0x4e: m6502_device_lsr_aba_full(); break;
+ case 0x4f: m6502_device_sre_aba_full(); break;
+ case 0x50: m6502_device_bvc_rel_full(); break;
+ case 0x51: m6502_device_eor_idy_full(); break;
+ case 0x52: m6502_device_kil_non_full(); break;
+ case 0x53: m6502_device_sre_idy_full(); break;
+ case 0x54: m6502_device_nop_zpx_full(); break;
+ case 0x55: m6502_device_eor_zpx_full(); break;
+ case 0x56: m6502_device_lsr_zpx_full(); break;
+ case 0x57: m6502_device_sre_zpx_full(); break;
+ case 0x58: m6502_device_cli_imp_full(); break;
+ case 0x59: m6502_device_eor_aby_full(); break;
+ case 0x5a: m6502_device_nop_imp_full(); break;
+ case 0x5b: m6502_device_sre_aby_full(); break;
+ case 0x5c: m6502_device_nop_abx_full(); break;
+ case 0x5d: m6502_device_eor_abx_full(); break;
+ case 0x5e: m6502_device_lsr_abx_full(); break;
+ case 0x5f: m6502_device_sre_abx_full(); break;
+ case 0x60: m6502_device_rts_imp_full(); break;
+ case 0x61: m6502_device_adc_idx_full(); break;
+ case 0x62: m6502_device_kil_non_full(); break;
+ case 0x63: m6502_device_rra_idx_full(); break;
+ case 0x64: m6502_device_nop_zpg_full(); break;
+ case 0x65: m6502_device_adc_zpg_full(); break;
+ case 0x66: m6502_device_ror_zpg_full(); break;
+ case 0x67: m6502_device_rra_zpg_full(); break;
+ case 0x68: m6502_device_pla_imp_full(); break;
+ case 0x69: m6502_device_adc_imm_full(); break;
+ case 0x6a: m6502_device_ror_acc_full(); break;
+ case 0x6b: m6502_device_arr_imm_full(); break;
+ case 0x6c: m6502_device_jmp_ind_full(); break;
+ case 0x6d: m6502_device_adc_aba_full(); break;
+ case 0x6e: m6502_device_ror_aba_full(); break;
+ case 0x6f: m6502_device_rra_aba_full(); break;
+ case 0x70: m6502_device_bvs_rel_full(); break;
+ case 0x71: m6502_device_adc_idy_full(); break;
+ case 0x72: m6502_device_kil_non_full(); break;
+ case 0x73: m6502_device_rra_idy_full(); break;
+ case 0x74: m6502_device_nop_zpx_full(); break;
+ case 0x75: m6502_device_adc_zpx_full(); break;
+ case 0x76: m6502_device_ror_zpx_full(); break;
+ case 0x77: m6502_device_rra_zpx_full(); break;
+ case 0x78: m6502_device_sei_imp_full(); break;
+ case 0x79: m6502_device_adc_aby_full(); break;
+ case 0x7a: m6502_device_nop_imp_full(); break;
+ case 0x7b: m6502_device_rra_aby_full(); break;
+ case 0x7c: m6502_device_nop_abx_full(); break;
+ case 0x7d: m6502_device_adc_abx_full(); break;
+ case 0x7e: m6502_device_ror_abx_full(); break;
+ case 0x7f: m6502_device_rra_abx_full(); break;
+ case 0x80: m6502_device_nop_imm_full(); break;
+ case 0x81: m6502_device_sta_idx_full(); break;
+ case 0x82: m6502_device_nop_imm_full(); break;
+ case 0x83: m6502_device_sax_idx_full(); break;
+ case 0x84: m6502_device_sty_zpg_full(); break;
+ case 0x85: m6502_device_sta_zpg_full(); break;
+ case 0x86: m6502_device_stx_zpg_full(); break;
+ case 0x87: m6502_device_sax_zpg_full(); break;
+ case 0x88: m6502_device_dey_imp_full(); break;
+ case 0x89: m6502_device_nop_imm_full(); break;
+ case 0x8a: m6502_device_txa_imp_full(); break;
+ case 0x8b: m6502_device_ane_imm_full(); break;
+ case 0x8c: m6502_device_sty_aba_full(); break;
+ case 0x8d: m6502_device_sta_aba_full(); break;
+ case 0x8e: m6502_device_stx_aba_full(); break;
+ case 0x8f: m6502_device_sax_aba_full(); break;
+ case 0x90: m6502_device_bcc_rel_full(); break;
+ case 0x91: m6502_device_sta_idy_full(); break;
+ case 0x92: m6502_device_kil_non_full(); break;
+ case 0x93: m6502_device_sha_idy_full(); break;
+ case 0x94: m6502_device_sty_zpx_full(); break;
+ case 0x95: m6502_device_sta_zpx_full(); break;
+ case 0x96: m6502_device_stx_zpy_full(); break;
+ case 0x97: m6502_device_sax_zpy_full(); break;
+ case 0x98: m6502_device_tya_imp_full(); break;
+ case 0x99: m6502_device_sta_aby_full(); break;
+ case 0x9a: m6502_device_txs_imp_full(); break;
+ case 0x9b: m6502_device_shs_aby_full(); break;
+ case 0x9c: m6502_device_shy_abx_full(); break;
+ case 0x9d: m6502_device_sta_abx_full(); break;
+ case 0x9e: m6502_device_shx_aby_full(); break;
+ case 0x9f: m6502_device_sha_aby_full(); break;
+ case 0xa0: m6502_device_ldy_imm_full(); break;
+ case 0xa1: m6502_device_lda_idx_full(); break;
+ case 0xa2: m6502_device_ldx_imm_full(); break;
+ case 0xa3: m6502_device_lax_idx_full(); break;
+ case 0xa4: m6502_device_ldy_zpg_full(); break;
+ case 0xa5: m6502_device_lda_zpg_full(); break;
+ case 0xa6: m6502_device_ldx_zpg_full(); break;
+ case 0xa7: m6502_device_lax_zpg_full(); break;
+ case 0xa8: m6502_device_tay_imp_full(); break;
+ case 0xa9: m6502_device_lda_imm_full(); break;
+ case 0xaa: m6502_device_tax_imp_full(); break;
+ case 0xab: m6502_device_lxa_imm_full(); break;
+ case 0xac: m6502_device_ldy_aba_full(); break;
+ case 0xad: m6502_device_lda_aba_full(); break;
+ case 0xae: m6502_device_ldx_aba_full(); break;
+ case 0xaf: m6502_device_lax_aba_full(); break;
+ case 0xb0: m6502_device_bcs_rel_full(); break;
+ case 0xb1: m6502_device_lda_idy_full(); break;
+ case 0xb2: m6502_device_kil_non_full(); break;
+ case 0xb3: m6502_device_lax_idy_full(); break;
+ case 0xb4: m6502_device_ldy_zpx_full(); break;
+ case 0xb5: m6502_device_lda_zpx_full(); break;
+ case 0xb6: m6502_device_ldx_zpy_full(); break;
+ case 0xb7: m6502_device_lax_zpy_full(); break;
+ case 0xb8: m6502_device_clv_imp_full(); break;
+ case 0xb9: m6502_device_lda_aby_full(); break;
+ case 0xba: m6502_device_tsx_imp_full(); break;
+ case 0xbb: m6502_device_las_aby_full(); break;
+ case 0xbc: m6502_device_ldy_abx_full(); break;
+ case 0xbd: m6502_device_lda_abx_full(); break;
+ case 0xbe: m6502_device_ldx_aby_full(); break;
+ case 0xbf: m6502_device_lax_aby_full(); break;
+ case 0xc0: m6502_device_cpy_imm_full(); break;
+ case 0xc1: m6502_device_cmp_idx_full(); break;
+ case 0xc2: m6502_device_nop_imm_full(); break;
+ case 0xc3: m6502_device_dcp_idx_full(); break;
+ case 0xc4: m6502_device_cpy_zpg_full(); break;
+ case 0xc5: m6502_device_cmp_zpg_full(); break;
+ case 0xc6: m6502_device_dec_zpg_full(); break;
+ case 0xc7: m6502_device_dcp_zpg_full(); break;
+ case 0xc8: m6502_device_iny_imp_full(); break;
+ case 0xc9: m6502_device_cmp_imm_full(); break;
+ case 0xca: m6502_device_dex_imp_full(); break;
+ case 0xcb: m6502_device_sbx_imm_full(); break;
+ case 0xcc: m6502_device_cpy_aba_full(); break;
+ case 0xcd: m6502_device_cmp_aba_full(); break;
+ case 0xce: m6502_device_dec_aba_full(); break;
+ case 0xcf: m6502_device_dcp_aba_full(); break;
+ case 0xd0: m6502_device_bne_rel_full(); break;
+ case 0xd1: m6502_device_cmp_idy_full(); break;
+ case 0xd2: m6502_device_kil_non_full(); break;
+ case 0xd3: m6502_device_dcp_idy_full(); break;
+ case 0xd4: m6502_device_nop_zpx_full(); break;
+ case 0xd5: m6502_device_cmp_zpx_full(); break;
+ case 0xd6: m6502_device_dec_zpx_full(); break;
+ case 0xd7: m6502_device_dcp_zpx_full(); break;
+ case 0xd8: m6502_device_cld_imp_full(); break;
+ case 0xd9: m6502_device_cmp_aby_full(); break;
+ case 0xda: m6502_device_nop_imp_full(); break;
+ case 0xdb: m6502_device_dcp_aby_full(); break;
+ case 0xdc: m6502_device_nop_abx_full(); break;
+ case 0xdd: m6502_device_cmp_abx_full(); break;
+ case 0xde: m6502_device_dec_abx_full(); break;
+ case 0xdf: m6502_device_dcp_abx_full(); break;
+ case 0xe0: m6502_device_cpx_imm_full(); break;
+ case 0xe1: m6502_device_sbc_idx_full(); break;
+ case 0xe2: m6502_device_nop_imm_full(); break;
+ case 0xe3: m6502_device_isb_idx_full(); break;
+ case 0xe4: m6502_device_cpx_zpg_full(); break;
+ case 0xe5: m6502_device_sbc_zpg_full(); break;
+ case 0xe6: m6502_device_inc_zpg_full(); break;
+ case 0xe7: m6502_device_isb_zpg_full(); break;
+ case 0xe8: m6502_device_inx_imp_full(); break;
+ case 0xe9: m6502_device_sbc_imm_full(); break;
+ case 0xea: m6502_device_nop_imp_full(); break;
+ case 0xeb: m6502_device_sbc_imm_full(); break;
+ case 0xec: m6502_device_cpx_aba_full(); break;
+ case 0xed: m6502_device_sbc_aba_full(); break;
+ case 0xee: m6502_device_inc_aba_full(); break;
+ case 0xef: m6502_device_isb_aba_full(); break;
+ case 0xf0: m6502_device_beq_rel_full(); break;
+ case 0xf1: m6502_device_sbc_idy_full(); break;
+ case 0xf2: m6502_device_kil_non_full(); break;
+ case 0xf3: m6502_device_isb_idy_full(); break;
+ case 0xf4: m6502_device_nop_zpx_full(); break;
+ case 0xf5: m6502_device_sbc_zpx_full(); break;
+ case 0xf6: m6502_device_inc_zpx_full(); break;
+ case 0xf7: m6502_device_isb_zpx_full(); break;
+ case 0xf8: m6502_device_sed_imp_full(); break;
+ case 0xf9: m6502_device_sbc_aby_full(); break;
+ case 0xfa: m6502_device_nop_imp_full(); break;
+ case 0xfb: m6502_device_isb_aby_full(); break;
+ case 0xfc: m6502_device_nop_abx_full(); break;
+ case 0xfd: m6502_device_sbc_abx_full(); break;
+ case 0xfe: m6502_device_inc_abx_full(); break;
+ case 0xff: m6502_device_isb_abx_full(); break;
+ case STATE_RESET: m6502_device_reset_full(); break;
}
}
-void m6502_device::do_exec_partial()
+void m6502_device_do_exec_partial()
{
switch(inst_state) {
- case 0x00: brk_imp_partial(); break;
- case 0x01: ora_idx_partial(); break;
- case 0x02: kil_non_partial(); break;
- case 0x03: slo_idx_partial(); break;
- case 0x04: nop_zpg_partial(); break;
- case 0x05: ora_zpg_partial(); break;
- case 0x06: asl_zpg_partial(); break;
- case 0x07: slo_zpg_partial(); break;
- case 0x08: php_imp_partial(); break;
- case 0x09: ora_imm_partial(); break;
- case 0x0a: asl_acc_partial(); break;
- case 0x0b: anc_imm_partial(); break;
- case 0x0c: nop_aba_partial(); break;
- case 0x0d: ora_aba_partial(); break;
- case 0x0e: asl_aba_partial(); break;
- case 0x0f: slo_aba_partial(); break;
- case 0x10: bpl_rel_partial(); break;
- case 0x11: ora_idy_partial(); break;
- case 0x12: kil_non_partial(); break;
- case 0x13: slo_idy_partial(); break;
- case 0x14: nop_zpx_partial(); break;
- case 0x15: ora_zpx_partial(); break;
- case 0x16: asl_zpx_partial(); break;
- case 0x17: slo_zpx_partial(); break;
- case 0x18: clc_imp_partial(); break;
- case 0x19: ora_aby_partial(); break;
- case 0x1a: nop_imp_partial(); break;
- case 0x1b: slo_aby_partial(); break;
- case 0x1c: nop_abx_partial(); break;
- case 0x1d: ora_abx_partial(); break;
- case 0x1e: asl_abx_partial(); break;
- case 0x1f: slo_abx_partial(); break;
- case 0x20: jsr_adr_partial(); break;
- case 0x21: and_idx_partial(); break;
- case 0x22: kil_non_partial(); break;
- case 0x23: rla_idx_partial(); break;
- case 0x24: bit_zpg_partial(); break;
- case 0x25: and_zpg_partial(); break;
- case 0x26: rol_zpg_partial(); break;
- case 0x27: rla_zpg_partial(); break;
- case 0x28: plp_imp_partial(); break;
- case 0x29: and_imm_partial(); break;
- case 0x2a: rol_acc_partial(); break;
- case 0x2b: anc_imm_partial(); break;
- case 0x2c: bit_aba_partial(); break;
- case 0x2d: and_aba_partial(); break;
- case 0x2e: rol_aba_partial(); break;
- case 0x2f: rla_aba_partial(); break;
- case 0x30: bmi_rel_partial(); break;
- case 0x31: and_idy_partial(); break;
- case 0x32: kil_non_partial(); break;
- case 0x33: rla_idy_partial(); break;
- case 0x34: nop_zpx_partial(); break;
- case 0x35: and_zpx_partial(); break;
- case 0x36: rol_zpx_partial(); break;
- case 0x37: rla_zpx_partial(); break;
- case 0x38: sec_imp_partial(); break;
- case 0x39: and_aby_partial(); break;
- case 0x3a: nop_imp_partial(); break;
- case 0x3b: rla_aby_partial(); break;
- case 0x3c: nop_abx_partial(); break;
- case 0x3d: and_abx_partial(); break;
- case 0x3e: rol_abx_partial(); break;
- case 0x3f: rla_abx_partial(); break;
- case 0x40: rti_imp_partial(); break;
- case 0x41: eor_idx_partial(); break;
- case 0x42: kil_non_partial(); break;
- case 0x43: sre_idx_partial(); break;
- case 0x44: nop_zpg_partial(); break;
- case 0x45: eor_zpg_partial(); break;
- case 0x46: lsr_zpg_partial(); break;
- case 0x47: sre_zpg_partial(); break;
- case 0x48: pha_imp_partial(); break;
- case 0x49: eor_imm_partial(); break;
- case 0x4a: lsr_acc_partial(); break;
- case 0x4b: asr_imm_partial(); break;
- case 0x4c: jmp_adr_partial(); break;
- case 0x4d: eor_aba_partial(); break;
- case 0x4e: lsr_aba_partial(); break;
- case 0x4f: sre_aba_partial(); break;
- case 0x50: bvc_rel_partial(); break;
- case 0x51: eor_idy_partial(); break;
- case 0x52: kil_non_partial(); break;
- case 0x53: sre_idy_partial(); break;
- case 0x54: nop_zpx_partial(); break;
- case 0x55: eor_zpx_partial(); break;
- case 0x56: lsr_zpx_partial(); break;
- case 0x57: sre_zpx_partial(); break;
- case 0x58: cli_imp_partial(); break;
- case 0x59: eor_aby_partial(); break;
- case 0x5a: nop_imp_partial(); break;
- case 0x5b: sre_aby_partial(); break;
- case 0x5c: nop_abx_partial(); break;
- case 0x5d: eor_abx_partial(); break;
- case 0x5e: lsr_abx_partial(); break;
- case 0x5f: sre_abx_partial(); break;
- case 0x60: rts_imp_partial(); break;
- case 0x61: adc_idx_partial(); break;
- case 0x62: kil_non_partial(); break;
- case 0x63: rra_idx_partial(); break;
- case 0x64: nop_zpg_partial(); break;
- case 0x65: adc_zpg_partial(); break;
- case 0x66: ror_zpg_partial(); break;
- case 0x67: rra_zpg_partial(); break;
- case 0x68: pla_imp_partial(); break;
- case 0x69: adc_imm_partial(); break;
- case 0x6a: ror_acc_partial(); break;
- case 0x6b: arr_imm_partial(); break;
- case 0x6c: jmp_ind_partial(); break;
- case 0x6d: adc_aba_partial(); break;
- case 0x6e: ror_aba_partial(); break;
- case 0x6f: rra_aba_partial(); break;
- case 0x70: bvs_rel_partial(); break;
- case 0x71: adc_idy_partial(); break;
- case 0x72: kil_non_partial(); break;
- case 0x73: rra_idy_partial(); break;
- case 0x74: nop_zpx_partial(); break;
- case 0x75: adc_zpx_partial(); break;
- case 0x76: ror_zpx_partial(); break;
- case 0x77: rra_zpx_partial(); break;
- case 0x78: sei_imp_partial(); break;
- case 0x79: adc_aby_partial(); break;
- case 0x7a: nop_imp_partial(); break;
- case 0x7b: rra_aby_partial(); break;
- case 0x7c: nop_abx_partial(); break;
- case 0x7d: adc_abx_partial(); break;
- case 0x7e: ror_abx_partial(); break;
- case 0x7f: rra_abx_partial(); break;
- case 0x80: nop_imm_partial(); break;
- case 0x81: sta_idx_partial(); break;
- case 0x82: nop_imm_partial(); break;
- case 0x83: sax_idx_partial(); break;
- case 0x84: sty_zpg_partial(); break;
- case 0x85: sta_zpg_partial(); break;
- case 0x86: stx_zpg_partial(); break;
- case 0x87: sax_zpg_partial(); break;
- case 0x88: dey_imp_partial(); break;
- case 0x89: nop_imm_partial(); break;
- case 0x8a: txa_imp_partial(); break;
- case 0x8b: ane_imm_partial(); break;
- case 0x8c: sty_aba_partial(); break;
- case 0x8d: sta_aba_partial(); break;
- case 0x8e: stx_aba_partial(); break;
- case 0x8f: sax_aba_partial(); break;
- case 0x90: bcc_rel_partial(); break;
- case 0x91: sta_idy_partial(); break;
- case 0x92: kil_non_partial(); break;
- case 0x93: sha_idy_partial(); break;
- case 0x94: sty_zpx_partial(); break;
- case 0x95: sta_zpx_partial(); break;
- case 0x96: stx_zpy_partial(); break;
- case 0x97: sax_zpy_partial(); break;
- case 0x98: tya_imp_partial(); break;
- case 0x99: sta_aby_partial(); break;
- case 0x9a: txs_imp_partial(); break;
- case 0x9b: shs_aby_partial(); break;
- case 0x9c: shy_abx_partial(); break;
- case 0x9d: sta_abx_partial(); break;
- case 0x9e: shx_aby_partial(); break;
- case 0x9f: sha_aby_partial(); break;
- case 0xa0: ldy_imm_partial(); break;
- case 0xa1: lda_idx_partial(); break;
- case 0xa2: ldx_imm_partial(); break;
- case 0xa3: lax_idx_partial(); break;
- case 0xa4: ldy_zpg_partial(); break;
- case 0xa5: lda_zpg_partial(); break;
- case 0xa6: ldx_zpg_partial(); break;
- case 0xa7: lax_zpg_partial(); break;
- case 0xa8: tay_imp_partial(); break;
- case 0xa9: lda_imm_partial(); break;
- case 0xaa: tax_imp_partial(); break;
- case 0xab: lxa_imm_partial(); break;
- case 0xac: ldy_aba_partial(); break;
- case 0xad: lda_aba_partial(); break;
- case 0xae: ldx_aba_partial(); break;
- case 0xaf: lax_aba_partial(); break;
- case 0xb0: bcs_rel_partial(); break;
- case 0xb1: lda_idy_partial(); break;
- case 0xb2: kil_non_partial(); break;
- case 0xb3: lax_idy_partial(); break;
- case 0xb4: ldy_zpx_partial(); break;
- case 0xb5: lda_zpx_partial(); break;
- case 0xb6: ldx_zpy_partial(); break;
- case 0xb7: lax_zpy_partial(); break;
- case 0xb8: clv_imp_partial(); break;
- case 0xb9: lda_aby_partial(); break;
- case 0xba: tsx_imp_partial(); break;
- case 0xbb: las_aby_partial(); break;
- case 0xbc: ldy_abx_partial(); break;
- case 0xbd: lda_abx_partial(); break;
- case 0xbe: ldx_aby_partial(); break;
- case 0xbf: lax_aby_partial(); break;
- case 0xc0: cpy_imm_partial(); break;
- case 0xc1: cmp_idx_partial(); break;
- case 0xc2: nop_imm_partial(); break;
- case 0xc3: dcp_idx_partial(); break;
- case 0xc4: cpy_zpg_partial(); break;
- case 0xc5: cmp_zpg_partial(); break;
- case 0xc6: dec_zpg_partial(); break;
- case 0xc7: dcp_zpg_partial(); break;
- case 0xc8: iny_imp_partial(); break;
- case 0xc9: cmp_imm_partial(); break;
- case 0xca: dex_imp_partial(); break;
- case 0xcb: sbx_imm_partial(); break;
- case 0xcc: cpy_aba_partial(); break;
- case 0xcd: cmp_aba_partial(); break;
- case 0xce: dec_aba_partial(); break;
- case 0xcf: dcp_aba_partial(); break;
- case 0xd0: bne_rel_partial(); break;
- case 0xd1: cmp_idy_partial(); break;
- case 0xd2: kil_non_partial(); break;
- case 0xd3: dcp_idy_partial(); break;
- case 0xd4: nop_zpx_partial(); break;
- case 0xd5: cmp_zpx_partial(); break;
- case 0xd6: dec_zpx_partial(); break;
- case 0xd7: dcp_zpx_partial(); break;
- case 0xd8: cld_imp_partial(); break;
- case 0xd9: cmp_aby_partial(); break;
- case 0xda: nop_imp_partial(); break;
- case 0xdb: dcp_aby_partial(); break;
- case 0xdc: nop_abx_partial(); break;
- case 0xdd: cmp_abx_partial(); break;
- case 0xde: dec_abx_partial(); break;
- case 0xdf: dcp_abx_partial(); break;
- case 0xe0: cpx_imm_partial(); break;
- case 0xe1: sbc_idx_partial(); break;
- case 0xe2: nop_imm_partial(); break;
- case 0xe3: isb_idx_partial(); break;
- case 0xe4: cpx_zpg_partial(); break;
- case 0xe5: sbc_zpg_partial(); break;
- case 0xe6: inc_zpg_partial(); break;
- case 0xe7: isb_zpg_partial(); break;
- case 0xe8: inx_imp_partial(); break;
- case 0xe9: sbc_imm_partial(); break;
- case 0xea: nop_imp_partial(); break;
- case 0xeb: sbc_imm_partial(); break;
- case 0xec: cpx_aba_partial(); break;
- case 0xed: sbc_aba_partial(); break;
- case 0xee: inc_aba_partial(); break;
- case 0xef: isb_aba_partial(); break;
- case 0xf0: beq_rel_partial(); break;
- case 0xf1: sbc_idy_partial(); break;
- case 0xf2: kil_non_partial(); break;
- case 0xf3: isb_idy_partial(); break;
- case 0xf4: nop_zpx_partial(); break;
- case 0xf5: sbc_zpx_partial(); break;
- case 0xf6: inc_zpx_partial(); break;
- case 0xf7: isb_zpx_partial(); break;
- case 0xf8: sed_imp_partial(); break;
- case 0xf9: sbc_aby_partial(); break;
- case 0xfa: nop_imp_partial(); break;
- case 0xfb: isb_aby_partial(); break;
- case 0xfc: nop_abx_partial(); break;
- case 0xfd: sbc_abx_partial(); break;
- case 0xfe: inc_abx_partial(); break;
- case 0xff: isb_abx_partial(); break;
- case STATE_RESET: reset_partial(); break;
+ case 0x00: m6502_device_brk_imp_partial(); break;
+ case 0x01: m6502_device_ora_idx_partial(); break;
+ case 0x02: m6502_device_kil_non_partial(); break;
+ case 0x03: m6502_device_slo_idx_partial(); break;
+ case 0x04: m6502_device_nop_zpg_partial(); break;
+ case 0x05: m6502_device_ora_zpg_partial(); break;
+ case 0x06: m6502_device_asl_zpg_partial(); break;
+ case 0x07: m6502_device_slo_zpg_partial(); break;
+ case 0x08: m6502_device_php_imp_partial(); break;
+ case 0x09: m6502_device_ora_imm_partial(); break;
+ case 0x0a: m6502_device_asl_acc_partial(); break;
+ case 0x0b: m6502_device_anc_imm_partial(); break;
+ case 0x0c: m6502_device_nop_aba_partial(); break;
+ case 0x0d: m6502_device_ora_aba_partial(); break;
+ case 0x0e: m6502_device_asl_aba_partial(); break;
+ case 0x0f: m6502_device_slo_aba_partial(); break;
+ case 0x10: m6502_device_bpl_rel_partial(); break;
+ case 0x11: m6502_device_ora_idy_partial(); break;
+ case 0x12: m6502_device_kil_non_partial(); break;
+ case 0x13: m6502_device_slo_idy_partial(); break;
+ case 0x14: m6502_device_nop_zpx_partial(); break;
+ case 0x15: m6502_device_ora_zpx_partial(); break;
+ case 0x16: m6502_device_asl_zpx_partial(); break;
+ case 0x17: m6502_device_slo_zpx_partial(); break;
+ case 0x18: m6502_device_clc_imp_partial(); break;
+ case 0x19: m6502_device_ora_aby_partial(); break;
+ case 0x1a: m6502_device_nop_imp_partial(); break;
+ case 0x1b: m6502_device_slo_aby_partial(); break;
+ case 0x1c: m6502_device_nop_abx_partial(); break;
+ case 0x1d: m6502_device_ora_abx_partial(); break;
+ case 0x1e: m6502_device_asl_abx_partial(); break;
+ case 0x1f: m6502_device_slo_abx_partial(); break;
+ case 0x20: m6502_device_jsr_adr_partial(); break;
+ case 0x21: m6502_device_and_idx_partial(); break;
+ case 0x22: m6502_device_kil_non_partial(); break;
+ case 0x23: m6502_device_rla_idx_partial(); break;
+ case 0x24: m6502_device_bit_zpg_partial(); break;
+ case 0x25: m6502_device_and_zpg_partial(); break;
+ case 0x26: m6502_device_rol_zpg_partial(); break;
+ case 0x27: m6502_device_rla_zpg_partial(); break;
+ case 0x28: m6502_device_plp_imp_partial(); break;
+ case 0x29: m6502_device_and_imm_partial(); break;
+ case 0x2a: m6502_device_rol_acc_partial(); break;
+ case 0x2b: m6502_device_anc_imm_partial(); break;
+ case 0x2c: m6502_device_bit_aba_partial(); break;
+ case 0x2d: m6502_device_and_aba_partial(); break;
+ case 0x2e: m6502_device_rol_aba_partial(); break;
+ case 0x2f: m6502_device_rla_aba_partial(); break;
+ case 0x30: m6502_device_bmi_rel_partial(); break;
+ case 0x31: m6502_device_and_idy_partial(); break;
+ case 0x32: m6502_device_kil_non_partial(); break;
+ case 0x33: m6502_device_rla_idy_partial(); break;
+ case 0x34: m6502_device_nop_zpx_partial(); break;
+ case 0x35: m6502_device_and_zpx_partial(); break;
+ case 0x36: m6502_device_rol_zpx_partial(); break;
+ case 0x37: m6502_device_rla_zpx_partial(); break;
+ case 0x38: m6502_device_sec_imp_partial(); break;
+ case 0x39: m6502_device_and_aby_partial(); break;
+ case 0x3a: m6502_device_nop_imp_partial(); break;
+ case 0x3b: m6502_device_rla_aby_partial(); break;
+ case 0x3c: m6502_device_nop_abx_partial(); break;
+ case 0x3d: m6502_device_and_abx_partial(); break;
+ case 0x3e: m6502_device_rol_abx_partial(); break;
+ case 0x3f: m6502_device_rla_abx_partial(); break;
+ case 0x40: m6502_device_rti_imp_partial(); break;
+ case 0x41: m6502_device_eor_idx_partial(); break;
+ case 0x42: m6502_device_kil_non_partial(); break;
+ case 0x43: m6502_device_sre_idx_partial(); break;
+ case 0x44: m6502_device_nop_zpg_partial(); break;
+ case 0x45: m6502_device_eor_zpg_partial(); break;
+ case 0x46: m6502_device_lsr_zpg_partial(); break;
+ case 0x47: m6502_device_sre_zpg_partial(); break;
+ case 0x48: m6502_device_pha_imp_partial(); break;
+ case 0x49: m6502_device_eor_imm_partial(); break;
+ case 0x4a: m6502_device_lsr_acc_partial(); break;
+ case 0x4b: m6502_device_asr_imm_partial(); break;
+ case 0x4c: m6502_device_jmp_adr_partial(); break;
+ case 0x4d: m6502_device_eor_aba_partial(); break;
+ case 0x4e: m6502_device_lsr_aba_partial(); break;
+ case 0x4f: m6502_device_sre_aba_partial(); break;
+ case 0x50: m6502_device_bvc_rel_partial(); break;
+ case 0x51: m6502_device_eor_idy_partial(); break;
+ case 0x52: m6502_device_kil_non_partial(); break;
+ case 0x53: m6502_device_sre_idy_partial(); break;
+ case 0x54: m6502_device_nop_zpx_partial(); break;
+ case 0x55: m6502_device_eor_zpx_partial(); break;
+ case 0x56: m6502_device_lsr_zpx_partial(); break;
+ case 0x57: m6502_device_sre_zpx_partial(); break;
+ case 0x58: m6502_device_cli_imp_partial(); break;
+ case 0x59: m6502_device_eor_aby_partial(); break;
+ case 0x5a: m6502_device_nop_imp_partial(); break;
+ case 0x5b: m6502_device_sre_aby_partial(); break;
+ case 0x5c: m6502_device_nop_abx_partial(); break;
+ case 0x5d: m6502_device_eor_abx_partial(); break;
+ case 0x5e: m6502_device_lsr_abx_partial(); break;
+ case 0x5f: m6502_device_sre_abx_partial(); break;
+ case 0x60: m6502_device_rts_imp_partial(); break;
+ case 0x61: m6502_device_adc_idx_partial(); break;
+ case 0x62: m6502_device_kil_non_partial(); break;
+ case 0x63: m6502_device_rra_idx_partial(); break;
+ case 0x64: m6502_device_nop_zpg_partial(); break;
+ case 0x65: m6502_device_adc_zpg_partial(); break;
+ case 0x66: m6502_device_ror_zpg_partial(); break;
+ case 0x67: m6502_device_rra_zpg_partial(); break;
+ case 0x68: m6502_device_pla_imp_partial(); break;
+ case 0x69: m6502_device_adc_imm_partial(); break;
+ case 0x6a: m6502_device_ror_acc_partial(); break;
+ case 0x6b: m6502_device_arr_imm_partial(); break;
+ case 0x6c: m6502_device_jmp_ind_partial(); break;
+ case 0x6d: m6502_device_adc_aba_partial(); break;
+ case 0x6e: m6502_device_ror_aba_partial(); break;
+ case 0x6f: m6502_device_rra_aba_partial(); break;
+ case 0x70: m6502_device_bvs_rel_partial(); break;
+ case 0x71: m6502_device_adc_idy_partial(); break;
+ case 0x72: m6502_device_kil_non_partial(); break;
+ case 0x73: m6502_device_rra_idy_partial(); break;
+ case 0x74: m6502_device_nop_zpx_partial(); break;
+ case 0x75: m6502_device_adc_zpx_partial(); break;
+ case 0x76: m6502_device_ror_zpx_partial(); break;
+ case 0x77: m6502_device_rra_zpx_partial(); break;
+ case 0x78: m6502_device_sei_imp_partial(); break;
+ case 0x79: m6502_device_adc_aby_partial(); break;
+ case 0x7a: m6502_device_nop_imp_partial(); break;
+ case 0x7b: m6502_device_rra_aby_partial(); break;
+ case 0x7c: m6502_device_nop_abx_partial(); break;
+ case 0x7d: m6502_device_adc_abx_partial(); break;
+ case 0x7e: m6502_device_ror_abx_partial(); break;
+ case 0x7f: m6502_device_rra_abx_partial(); break;
+ case 0x80: m6502_device_nop_imm_partial(); break;
+ case 0x81: m6502_device_sta_idx_partial(); break;
+ case 0x82: m6502_device_nop_imm_partial(); break;
+ case 0x83: m6502_device_sax_idx_partial(); break;
+ case 0x84: m6502_device_sty_zpg_partial(); break;
+ case 0x85: m6502_device_sta_zpg_partial(); break;
+ case 0x86: m6502_device_stx_zpg_partial(); break;
+ case 0x87: m6502_device_sax_zpg_partial(); break;
+ case 0x88: m6502_device_dey_imp_partial(); break;
+ case 0x89: m6502_device_nop_imm_partial(); break;
+ case 0x8a: m6502_device_txa_imp_partial(); break;
+ case 0x8b: m6502_device_ane_imm_partial(); break;
+ case 0x8c: m6502_device_sty_aba_partial(); break;
+ case 0x8d: m6502_device_sta_aba_partial(); break;
+ case 0x8e: m6502_device_stx_aba_partial(); break;
+ case 0x8f: m6502_device_sax_aba_partial(); break;
+ case 0x90: m6502_device_bcc_rel_partial(); break;
+ case 0x91: m6502_device_sta_idy_partial(); break;
+ case 0x92: m6502_device_kil_non_partial(); break;
+ case 0x93: m6502_device_sha_idy_partial(); break;
+ case 0x94: m6502_device_sty_zpx_partial(); break;
+ case 0x95: m6502_device_sta_zpx_partial(); break;
+ case 0x96: m6502_device_stx_zpy_partial(); break;
+ case 0x97: m6502_device_sax_zpy_partial(); break;
+ case 0x98: m6502_device_tya_imp_partial(); break;
+ case 0x99: m6502_device_sta_aby_partial(); break;
+ case 0x9a: m6502_device_txs_imp_partial(); break;
+ case 0x9b: m6502_device_shs_aby_partial(); break;
+ case 0x9c: m6502_device_shy_abx_partial(); break;
+ case 0x9d: m6502_device_sta_abx_partial(); break;
+ case 0x9e: m6502_device_shx_aby_partial(); break;
+ case 0x9f: m6502_device_sha_aby_partial(); break;
+ case 0xa0: m6502_device_ldy_imm_partial(); break;
+ case 0xa1: m6502_device_lda_idx_partial(); break;
+ case 0xa2: m6502_device_ldx_imm_partial(); break;
+ case 0xa3: m6502_device_lax_idx_partial(); break;
+ case 0xa4: m6502_device_ldy_zpg_partial(); break;
+ case 0xa5: m6502_device_lda_zpg_partial(); break;
+ case 0xa6: m6502_device_ldx_zpg_partial(); break;
+ case 0xa7: m6502_device_lax_zpg_partial(); break;
+ case 0xa8: m6502_device_tay_imp_partial(); break;
+ case 0xa9: m6502_device_lda_imm_partial(); break;
+ case 0xaa: m6502_device_tax_imp_partial(); break;
+ case 0xab: m6502_device_lxa_imm_partial(); break;
+ case 0xac: m6502_device_ldy_aba_partial(); break;
+ case 0xad: m6502_device_lda_aba_partial(); break;
+ case 0xae: m6502_device_ldx_aba_partial(); break;
+ case 0xaf: m6502_device_lax_aba_partial(); break;
+ case 0xb0: m6502_device_bcs_rel_partial(); break;
+ case 0xb1: m6502_device_lda_idy_partial(); break;
+ case 0xb2: m6502_device_kil_non_partial(); break;
+ case 0xb3: m6502_device_lax_idy_partial(); break;
+ case 0xb4: m6502_device_ldy_zpx_partial(); break;
+ case 0xb5: m6502_device_lda_zpx_partial(); break;
+ case 0xb6: m6502_device_ldx_zpy_partial(); break;
+ case 0xb7: m6502_device_lax_zpy_partial(); break;
+ case 0xb8: m6502_device_clv_imp_partial(); break;
+ case 0xb9: m6502_device_lda_aby_partial(); break;
+ case 0xba: m6502_device_tsx_imp_partial(); break;
+ case 0xbb: m6502_device_las_aby_partial(); break;
+ case 0xbc: m6502_device_ldy_abx_partial(); break;
+ case 0xbd: m6502_device_lda_abx_partial(); break;
+ case 0xbe: m6502_device_ldx_aby_partial(); break;
+ case 0xbf: m6502_device_lax_aby_partial(); break;
+ case 0xc0: m6502_device_cpy_imm_partial(); break;
+ case 0xc1: m6502_device_cmp_idx_partial(); break;
+ case 0xc2: m6502_device_nop_imm_partial(); break;
+ case 0xc3: m6502_device_dcp_idx_partial(); break;
+ case 0xc4: m6502_device_cpy_zpg_partial(); break;
+ case 0xc5: m6502_device_cmp_zpg_partial(); break;
+ case 0xc6: m6502_device_dec_zpg_partial(); break;
+ case 0xc7: m6502_device_dcp_zpg_partial(); break;
+ case 0xc8: m6502_device_iny_imp_partial(); break;
+ case 0xc9: m6502_device_cmp_imm_partial(); break;
+ case 0xca: m6502_device_dex_imp_partial(); break;
+ case 0xcb: m6502_device_sbx_imm_partial(); break;
+ case 0xcc: m6502_device_cpy_aba_partial(); break;
+ case 0xcd: m6502_device_cmp_aba_partial(); break;
+ case 0xce: m6502_device_dec_aba_partial(); break;
+ case 0xcf: m6502_device_dcp_aba_partial(); break;
+ case 0xd0: m6502_device_bne_rel_partial(); break;
+ case 0xd1: m6502_device_cmp_idy_partial(); break;
+ case 0xd2: m6502_device_kil_non_partial(); break;
+ case 0xd3: m6502_device_dcp_idy_partial(); break;
+ case 0xd4: m6502_device_nop_zpx_partial(); break;
+ case 0xd5: m6502_device_cmp_zpx_partial(); break;
+ case 0xd6: m6502_device_dec_zpx_partial(); break;
+ case 0xd7: m6502_device_dcp_zpx_partial(); break;
+ case 0xd8: m6502_device_cld_imp_partial(); break;
+ case 0xd9: m6502_device_cmp_aby_partial(); break;
+ case 0xda: m6502_device_nop_imp_partial(); break;
+ case 0xdb: m6502_device_dcp_aby_partial(); break;
+ case 0xdc: m6502_device_nop_abx_partial(); break;
+ case 0xdd: m6502_device_cmp_abx_partial(); break;
+ case 0xde: m6502_device_dec_abx_partial(); break;
+ case 0xdf: m6502_device_dcp_abx_partial(); break;
+ case 0xe0: m6502_device_cpx_imm_partial(); break;
+ case 0xe1: m6502_device_sbc_idx_partial(); break;
+ case 0xe2: m6502_device_nop_imm_partial(); break;
+ case 0xe3: m6502_device_isb_idx_partial(); break;
+ case 0xe4: m6502_device_cpx_zpg_partial(); break;
+ case 0xe5: m6502_device_sbc_zpg_partial(); break;
+ case 0xe6: m6502_device_inc_zpg_partial(); break;
+ case 0xe7: m6502_device_isb_zpg_partial(); break;
+ case 0xe8: m6502_device_inx_imp_partial(); break;
+ case 0xe9: m6502_device_sbc_imm_partial(); break;
+ case 0xea: m6502_device_nop_imp_partial(); break;
+ case 0xeb: m6502_device_sbc_imm_partial(); break;
+ case 0xec: m6502_device_cpx_aba_partial(); break;
+ case 0xed: m6502_device_sbc_aba_partial(); break;
+ case 0xee: m6502_device_inc_aba_partial(); break;
+ case 0xef: m6502_device_isb_aba_partial(); break;
+ case 0xf0: m6502_device_beq_rel_partial(); break;
+ case 0xf1: m6502_device_sbc_idy_partial(); break;
+ case 0xf2: m6502_device_kil_non_partial(); break;
+ case 0xf3: m6502_device_isb_idy_partial(); break;
+ case 0xf4: m6502_device_nop_zpx_partial(); break;
+ case 0xf5: m6502_device_sbc_zpx_partial(); break;
+ case 0xf6: m6502_device_inc_zpx_partial(); break;
+ case 0xf7: m6502_device_isb_zpx_partial(); break;
+ case 0xf8: m6502_device_sed_imp_partial(); break;
+ case 0xf9: m6502_device_sbc_aby_partial(); break;
+ case 0xfa: m6502_device_nop_imp_partial(); break;
+ case 0xfb: m6502_device_isb_aby_partial(); break;
+ case 0xfc: m6502_device_nop_abx_partial(); break;
+ case 0xfd: m6502_device_sbc_abx_partial(); break;
+ case 0xfe: m6502_device_inc_abx_partial(); break;
+ case 0xff: m6502_device_isb_abx_partial(); break;
+ case STATE_RESET: m6502_device_reset_partial(); break;
}
}
-void m65c02_device::adc_c_aba_full()
+void m65c02_device_adc_c_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::adc_c_aba_partial()
+void m65c02_device_adc_c_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::adc_c_abx_full()
+void m65c02_device_adc_c_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::adc_c_abx_partial()
+void m65c02_device_adc_c_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::adc_c_aby_full()
+void m65c02_device_adc_c_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::adc_c_aby_partial()
+void m65c02_device_adc_c_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::adc_c_idx_full()
+void m65c02_device_adc_c_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- do_adc(read(TMP));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::adc_c_idx_partial()
+void m65c02_device_adc_c_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_adc(read(TMP));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::adc_c_idy_full()
+void m65c02_device_adc_c_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- do_adc(read(TMP+Y));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::adc_c_idy_partial()
+void m65c02_device_adc_c_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_adc(read(TMP+Y));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::adc_c_imm_full()
+void m65c02_device_adc_c_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
TMP = read_pc();
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::adc_c_imm_partial()
+void m65c02_device_adc_c_imm_partial()
{
switch(inst_substate) {
case 0:
TMP = read_pc();
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::adc_c_zpg_full()
+void m65c02_device_adc_c_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::adc_c_zpg_partial()
+void m65c02_device_adc_c_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::adc_c_zpi_full()
+void m65c02_device_adc_c_zpi_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- do_adc(read(TMP));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::adc_c_zpi_partial()
+void m65c02_device_adc_c_zpi_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- do_adc(read(TMP));
+ m6502_device_do_adc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::adc_c_zpx_full()
+void m65c02_device_adc_c_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read(uint8_t(TMP+X));
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::adc_c_zpx_partial()
+void m65c02_device_adc_c_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read(uint8_t(TMP+X));
icount--;
- do_adc(TMP);
+ m6502_device_do_adc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::and_zpi_full()
+void m65c02_device_and_zpi_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::and_zpi_partial()
+void m65c02_device_and_zpi_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A &= read(TMP);
+ A &= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::asl_c_abx_full()
+void m65c02_device_asl_c_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::asl_c_abx_partial()
+void m65c02_device_asl_c_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_asl(TMP2);
+ TMP2 = m6502_device_do_asl(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::bbr_zpb_full()
+void m65c02_device_bbr_zpb_full()
{
// Access pattern uncertain
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
}
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::bbr_zpb_partial()
+void m65c02_device_bbr_zpb_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::bbs_zpb_full()
+void m65c02_device_bbs_zpb_full()
{
// Access pattern uncertain
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
}
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::bbs_zpb_partial()
+void m65c02_device_bbs_zpb_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::bit_abx_full()
+void m65c02_device_bit_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- do_bit(read(TMP));
+ m6502_device_do_bit(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::bit_abx_partial()
+void m65c02_device_bit_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- do_bit(read(TMP));
+ m6502_device_do_bit(m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::bit_imm_full()
+void m65c02_device_bit_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
P |= F_Z;
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::bit_imm_partial()
+void m65c02_device_bit_imm_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::bit_zpx_full()
+void m65c02_device_bit_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read(uint8_t(TMP+X));
icount--;
- do_bit(TMP);
+ m6502_device_do_bit(TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::bit_zpx_partial()
+void m65c02_device_bit_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read(uint8_t(TMP+X));
icount--;
- do_bit(TMP);
+ m6502_device_do_bit(TMP);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::bra_rel_full()
+void m65c02_device_bra_rel_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(PC, int8_t(TMP))) {
if(icount == 0) { inst_substate = 3; return; }
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+int8_t(TMP)));
icount--;
}
PC += int8_t(TMP);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::bra_rel_partial()
+void m65c02_device_bra_rel_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read_arg(set_l(PC, PC+int8_t(TMP)));
+ m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(set_l(PC, PC+int8_t(TMP)));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::brk_c_imp_full()
+void m65c02_device_brk_c_imp_full()
{
if(irq_taken || nmi_state) {
}
if(icount == 0) { inst_substate = 3; return; }
- write(SP, PC >> 8);
+ m6502_device_mi_default_normal_write(SP, PC >> 8);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 4; return; }
- write(SP, PC);
+ m6502_device_mi_default_normal_write(SP, PC);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 5; return; }
- write(SP, irq_taken || nmi_state ? P & ~F_B : P);
+ m6502_device_mi_default_normal_write(SP, irq_taken || nmi_state ? P & ~F_B : P);
icount--;
dec_SP();
if(irq_taken && nmi_state) {
if(icount == 0) { inst_substate = 6; return; }
- PC = read_arg(0xfffa);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffa);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- PC = set_h(PC, read_arg(0xfffb));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffb));
icount--;
nmi_state = false;
} else {
if(icount == 0) { inst_substate = 8; return; }
- PC = read_arg(0xfffe);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffe);
icount--;
if(icount == 0) { inst_substate = 9; return; }
- PC = set_h(PC, read_arg(0xffff));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xffff));
icount--;
if(irq_taken)
P = (P | F_I) & ~F_D; // Do *not* move after the prefetch
if(icount == 0) { inst_substate = 10; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
inst_state = -1;
}
-void m65c02_device::brk_c_imp_partial()
+void m65c02_device_brk_c_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(SP, PC >> 8);
+ m6502_device_mi_default_normal_write(SP, PC >> 8);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(SP, PC);
+ m6502_device_mi_default_normal_write(SP, PC);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(SP, irq_taken || nmi_state ? P & ~F_B : P);
+ m6502_device_mi_default_normal_write(SP, irq_taken || nmi_state ? P & ~F_B : P);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 6; return; }
case 6:
- PC = read_arg(0xfffa);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffa);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- PC = set_h(PC, read_arg(0xfffb));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffb));
icount--;
nmi_state = false;
if(icount == 0) { inst_substate = 8; return; }
case 8:
- PC = read_arg(0xfffe);
+ PC = m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xfffe);
icount--;
if(icount == 0) { inst_substate = 9; return; }
case 9:
- PC = set_h(PC, read_arg(0xffff));
+ PC = set_h(PC, m6502_device_mi_default_nd_m6502_device_mi_default_normal_read_arg(0xffff));
icount--;
if(irq_taken)
if(icount == 0) { inst_substate = 10; return; }
case 10:
- prefetch();
+ m6502_device_prefetch();
icount--;
inst_state = -1;
}
-void m65c02_device::cmp_zpi_full()
+void m65c02_device_cmp_zpi_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- do_cmp(A, read(TMP));
+ m6502_device_do_cmp(A, m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::cmp_zpi_partial()
+void m65c02_device_cmp_zpi_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- do_cmp(A, read(TMP));
+ m6502_device_do_cmp(A, m6502_device_mi_default_normal_read(TMP));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::dec_acc_full()
+void m65c02_device_dec_acc_full()
{
if(icount == 0) { inst_substate = 1; return; }
A--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::dec_acc_partial()
+void m65c02_device_dec_acc_partial()
{
switch(inst_substate) {
case 0:
A--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::eor_zpi_full()
+void m65c02_device_eor_zpi_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::eor_zpi_partial()
+void m65c02_device_eor_zpi_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A ^= read(TMP);
+ A ^= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::inc_acc_full()
+void m65c02_device_inc_acc_full()
{
if(icount == 0) { inst_substate = 1; return; }
A++;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::inc_acc_partial()
+void m65c02_device_inc_acc_partial()
{
switch(inst_substate) {
case 0:
A++;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 2; return; }
case 2:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::jmp_iax_full()
+void m65c02_device_jmp_iax_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- PC = read(TMP);
+ PC = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- PC = set_h(PC, read(TMP+1));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(TMP+1));
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::jmp_iax_partial()
+void m65c02_device_jmp_iax_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- PC = read(TMP);
+ PC = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- PC = set_h(PC, read(TMP+1));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(TMP+1));
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::jmp_c_ind_full()
+void m65c02_device_jmp_c_ind_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- PC = read(TMP);
+ PC = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+1));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+1));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- PC = set_h(PC, read(TMP+1));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(TMP+1));
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::jmp_c_ind_partial()
+void m65c02_device_jmp_c_ind_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- PC = read(TMP);
+ PC = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+1));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+1));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- PC = set_h(PC, read(TMP+1));
+ PC = set_h(PC, m6502_device_mi_default_normal_read(TMP+1));
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::lda_zpi_full()
+void m65c02_device_lda_zpi_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- A = read(TMP);
+ A = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::lda_zpi_partial()
+void m65c02_device_lda_zpi_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A = read(TMP);
+ A = m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::lsr_c_abx_full()
+void m65c02_device_lsr_c_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::lsr_c_abx_partial()
+void m65c02_device_lsr_c_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_lsr(TMP2);
+ TMP2 = m6502_device_do_lsr(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::nop_c_imp_full()
+void m65c02_device_nop_c_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::nop_c_imp_partial()
+void m65c02_device_nop_c_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 1; return; }
case 1:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::nop_c_aba_full()
+void m65c02_device_nop_c_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 8; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::nop_c_aba_partial()
+void m65c02_device_nop_c_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 8; return; }
case 8:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::nop_c_abx_full()
+void m65c02_device_nop_c_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::nop_c_abx_partial()
+void m65c02_device_nop_c_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::ora_zpi_full()
+void m65c02_device_ora_zpi_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::ora_zpi_partial()
+void m65c02_device_ora_zpi_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- A |= read(TMP);
+ A |= m6502_device_mi_default_normal_read(TMP);
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::phx_imp_full()
+void m65c02_device_phx_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- write(SP, X);
+ m6502_device_mi_default_normal_write(SP, X);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::phx_imp_partial()
+void m65c02_device_phx_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- write(SP, X);
+ m6502_device_mi_default_normal_write(SP, X);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::phy_imp_full()
+void m65c02_device_phy_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- write(SP, Y);
+ m6502_device_mi_default_normal_write(SP, Y);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::phy_imp_partial()
+void m65c02_device_phy_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- write(SP, Y);
+ m6502_device_mi_default_normal_write(SP, Y);
icount--;
dec_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::plx_imp_full()
+void m65c02_device_plx_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
- X = read(SP);
+ X = m6502_device_mi_default_normal_read(SP);
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::plx_imp_partial()
+void m65c02_device_plx_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- X = read(SP);
+ X = m6502_device_mi_default_normal_read(SP);
icount--;
- set_nz(X);
+ m6502_device_set_nz(X);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::ply_imp_full()
+void m65c02_device_ply_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
- Y = read(SP);
+ Y = m6502_device_mi_default_normal_read(SP);
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::ply_imp_partial()
+void m65c02_device_ply_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(SP);
+ m6502_device_mi_default_normal_read(SP);
icount--;
inc_SP();
if(icount == 0) { inst_substate = 3; return; }
case 3:
- Y = read(SP);
+ Y = m6502_device_mi_default_normal_read(SP);
icount--;
- set_nz(Y);
+ m6502_device_set_nz(Y);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::rmb_bzp_full()
+void m65c02_device_rmb_bzp_full()
{
// Access pattern unknown but probable (built upon inc_zpg)
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2 &= ~(1 << ((inst_state >> 4) & 7));
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::rmb_bzp_partial()
+void m65c02_device_rmb_bzp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2 &= ~(1 << ((inst_state >> 4) & 7));
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::rol_c_abx_full()
+void m65c02_device_rol_c_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::rol_c_abx_partial()
+void m65c02_device_rol_c_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_rol(TMP2);
+ TMP2 = m6502_device_do_rol(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::ror_c_abx_full()
+void m65c02_device_ror_c_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 6; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::ror_c_abx_partial()
+void m65c02_device_ror_c_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
- TMP2 = do_ror(TMP2);
+ TMP2 = m6502_device_do_ror(TMP2);
if(icount == 0) { inst_substate = 6; return; }
case 6:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sbc_c_aba_full()
+void m65c02_device_sbc_c_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sbc_c_aba_partial()
+void m65c02_device_sbc_c_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sbc_c_abx_full()
+void m65c02_device_sbc_c_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, X)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
TMP += X;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sbc_c_abx_partial()
+void m65c02_device_sbc_c_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sbc_c_aby_full()
+void m65c02_device_sbc_c_aby_full()
{
if(icount == 0) { inst_substate = 1; return; }
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
TMP += Y;
if(icount == 0) { inst_substate = 4; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sbc_c_aby_partial()
+void m65c02_device_sbc_c_aby_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sbc_c_idx_full()
+void m65c02_device_sbc_c_idx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
- do_sbc(read(TMP));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sbc_c_idx_partial()
+void m65c02_device_sbc_c_idx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP2);
+ m6502_device_mi_default_normal_read(TMP2);
icount--;
TMP2 += X;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_sbc(read(TMP));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sbc_c_idy_full()
+void m65c02_device_sbc_c_idy_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
- do_sbc(read(TMP+Y));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 7; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sbc_c_idy_partial()
+void m65c02_device_sbc_c_idy_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2);
+ TMP = m6502_device_mi_default_normal_read(TMP2);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(page_changing(TMP, Y)) {
if(icount == 0) { inst_substate = 4; return; }
case 4:
- read(set_l(TMP, TMP+Y));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+Y));
icount--;
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- do_sbc(read(TMP+Y));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP+Y));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 7; return; }
case 7:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sbc_c_imm_full()
+void m65c02_device_sbc_c_imm_full()
{
if(icount == 0) { inst_substate = 1; return; }
TMP = read_pc();
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sbc_c_imm_partial()
+void m65c02_device_sbc_c_imm_partial()
{
switch(inst_substate) {
case 0:
TMP = read_pc();
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sbc_c_zpg_full()
+void m65c02_device_sbc_c_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sbc_c_zpg_partial()
+void m65c02_device_sbc_c_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP);
+ TMP = m6502_device_mi_default_normal_read(TMP);
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sbc_c_zpi_full()
+void m65c02_device_sbc_c_zpi_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- do_sbc(read(TMP));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sbc_c_zpi_partial()
+void m65c02_device_sbc_c_zpi_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- do_sbc(read(TMP));
+ m6502_device_do_sbc(m6502_device_mi_default_normal_read(TMP));
icount--;
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sbc_c_zpx_full()
+void m65c02_device_sbc_c_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read(uint8_t(TMP+X));
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sbc_c_zpx_partial()
+void m65c02_device_sbc_c_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = read(uint8_t(TMP+X));
+ TMP = m6502_device_mi_default_normal_read(uint8_t(TMP+X));
icount--;
- do_sbc(TMP);
+ m6502_device_do_sbc(TMP);
if(P & F_D) {
read_pc_noinc();
icount--;
- set_nz(A);
+ m6502_device_set_nz(A);
}
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::smb_bzp_full()
+void m65c02_device_smb_bzp_full()
{
// Access pattern unknown but probable (built upon inc_zpg)
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2 |= 1 << ((inst_state >> 4) & 7);
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::smb_bzp_partial()
+void m65c02_device_smb_bzp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
TMP2 |= 1 << ((inst_state >> 4) & 7);
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::sta_zpi_full()
+void m65c02_device_sta_zpi_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, A);
+ m6502_device_mi_default_normal_write(TMP, A);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::sta_zpi_partial()
+void m65c02_device_sta_zpi_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP = read(TMP2 & 0xff);
+ TMP = m6502_device_mi_default_normal_read(TMP2 & 0xff);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP = set_h(TMP, read((TMP2+1) & 0xff));
+ TMP = set_h(TMP, m6502_device_mi_default_normal_read((TMP2+1) & 0xff));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, A);
+ m6502_device_mi_default_normal_write(TMP, A);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::stp_imp_full()
+void m65c02_device_stp_imp_full()
{
for(;;) {
}
-void m65c02_device::stp_imp_partial()
+void m65c02_device_stp_imp_partial()
{
switch(inst_substate) {
case 0:
}
-void m65c02_device::stz_aba_full()
+void m65c02_device_stz_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, 0x00);
+ m6502_device_mi_default_normal_write(TMP, 0x00);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::stz_aba_partial()
+void m65c02_device_stz_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, 0x00);
+ m6502_device_mi_default_normal_write(TMP, 0x00);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::stz_abx_full()
+void m65c02_device_stz_abx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP+X, 0x00);
+ m6502_device_mi_default_normal_write(TMP+X, 0x00);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::stz_abx_partial()
+void m65c02_device_stz_abx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- read(set_l(TMP, TMP+X));
+ m6502_device_mi_default_normal_read(set_l(TMP, TMP+X));
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP+X, 0x00);
+ m6502_device_mi_default_normal_write(TMP+X, 0x00);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::stz_zpg_full()
+void m65c02_device_stz_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- write(TMP, 0x00);
+ m6502_device_mi_default_normal_write(TMP, 0x00);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::stz_zpg_partial()
+void m65c02_device_stz_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- write(TMP, 0x00);
+ m6502_device_mi_default_normal_write(TMP, 0x00);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::stz_zpx_full()
+void m65c02_device_stz_zpx_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(uint8_t(TMP+X), 0x00);
+ m6502_device_mi_default_normal_write(uint8_t(TMP+X), 0x00);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::stz_zpx_partial()
+void m65c02_device_stz_zpx_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- read(TMP);
+ m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(uint8_t(TMP+X), 0x00);
+ m6502_device_mi_default_normal_write(uint8_t(TMP+X), 0x00);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::trb_aba_full()
+void m65c02_device_trb_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(A & TMP2)
TMP2 &= ~A;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::trb_aba_partial()
+void m65c02_device_trb_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(A & TMP2)
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::trb_zpg_full()
+void m65c02_device_trb_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(A & TMP2)
TMP2 &= ~A;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::trb_zpg_partial()
+void m65c02_device_trb_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(A & TMP2)
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::tsb_aba_full()
+void m65c02_device_tsb_aba_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 3; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(A & TMP2)
TMP2 |= A;
if(icount == 0) { inst_substate = 5; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::tsb_aba_partial()
+void m65c02_device_tsb_aba_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 3; return; }
case 3:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(A & TMP2)
if(icount == 0) { inst_substate = 5; return; }
case 5:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 6; return; }
case 6:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::tsb_zpg_full()
+void m65c02_device_tsb_zpg_full()
{
if(icount == 0) { inst_substate = 1; return; }
icount--;
if(icount == 0) { inst_substate = 2; return; }
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(A & TMP2)
TMP2 |= A;
if(icount == 0) { inst_substate = 4; return; }
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::tsb_zpg_partial()
+void m65c02_device_tsb_zpg_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 2; return; }
case 2:
- TMP2 = read(TMP);
+ TMP2 = m6502_device_mi_default_normal_read(TMP);
icount--;
if(icount == 0) { inst_substate = 3; return; }
case 3:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(A & TMP2)
if(icount == 0) { inst_substate = 4; return; }
case 4:
- write(TMP, TMP2);
+ m6502_device_mi_default_normal_write(TMP, TMP2);
icount--;
if(icount == 0) { inst_substate = 5; return; }
case 5:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
}
-void m65c02_device::wai_imp_full()
+void m65c02_device_wai_imp_full()
{
if(icount == 0) { inst_substate = 1; return; }
}
if(icount == 0) { inst_substate = 4; return; }
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::wai_imp_partial()
+void m65c02_device_wai_imp_partial()
{
switch(inst_substate) {
case 0:
if(icount == 0) { inst_substate = 4; return; }
case 4:
- prefetch();
+ m6502_device_prefetch();
icount--;
}
-void m65c02_device::do_exec_full()
+void m65c02_device_do_exec_full()
{
switch(inst_state) {
}
}
-void m65c02_device::do_exec_partial()
+void m65c02_device_do_exec_partial()
{
switch(inst_state) {