int k= code&0xfff;
if (code&0x800)
k|= -4096;
- sprintf(temp, "0x%06lx",
- (k+1+(signed int)addr) % rom->size);
+ sprintf(temp, "0x%06"_A_"x",
+ t_addr((k+1+(signed int)addr) % rom->size));
break;
}
default:
(sreg&BIT_N)?'1':'0',
(sreg&BIT_Z)?'1':'0',
(sreg&BIT_C)?'1':'0');
- con->dd_printf("SP = 0x%06x\n",
- ram->get(SPH)*256+ram->get(SPL));
+ con->dd_printf("SP = 0x%06x\n", ram->get(SPH)*256+ram->get(SPL));
x= ram->get(XH)*256 + ram->get(XL);
data= ram->get(x);
spl= ram->read(SPL);
sph= ram->read(SPH);
sp= 0xffff & (256*sph + spl);
- ram->write(sp, &data);
+ data= ram->write(sp, data);
sp= 0xffff & (sp-1);
spl= sp & 0xff;
sph= (sp>>8) & 0xff;
- ram->write(SPL, &spl);
- ram->write(SPH, &sph);
+ ram->write(SPL, spl);
+ ram->write(SPH, sph);
return(resGO);
}
sp= 0xffff & (256*sph + spl);
al= addr & 0xff;
ah= (addr>>8) & 0xff;
- ram->write(sp, &ah);
+ ram->write(sp, ah);
sp= 0xffff & (sp-1);
- ram->write(sp, &al);
+ ram->write(sp, al);
sp= 0xffff & (sp-1);
spl= sp & 0xff;
sph= (sp>>8) & 0xff;
- ram->write(SPL, &spl);
- ram->write(SPH, &sph);
+ ram->write(SPL, spl);
+ ram->write(SPH, sph);
return(resGO);
}
*data= ram->read(sp);
spl= sp & 0xff;
sph= (sp>>8) & 0xff;
- ram->write(SPL, &spl);
- ram->write(SPH, &sph);
+ ram->write(SPL, spl);
+ ram->write(SPH, sph);
return(resGO);
}
*addr= ah*256 + al;
spl= sp & 0xff;
sph= (sp>>8) & 0xff;
- ram->write(SPL, &spl);
- ram->write(SPH, &sph);
+ ram->write(SPL, spl);
+ ram->write(SPH, sph);
return(resGO);
}