d->read(a, d->pagesize, cmp);
if(memcmp(cmp, dd, d->pagesize) != 0){
ngblock++;
- dprintf("write %s 0x%06x\n", m->name, (int) offset);
+ //dprintf("write %s 0x%06x\n", m->name, (int) offset);
int result = program_pagewrite(d, a, dd, d->pagesize);
if(result == NG){
printf("%s: write error\n", __FUNCTION__);
static inline u8 data_port_get(long address, int bus)
{
address_set(address);
- data_port_latch(DATA_SELECT_CONTROL, bus);
+ if(bus != 0){
+ data_port_latch(DATA_SELECT_CONTROL, bus);
+ }
port_control_write(DATA_SELECT_BREAK_DATA << BITNUM_CONTROL_DATA_SELECT, PORT_CONTROL_WRITE);
int s = DATA_SELECT_READ << BITNUM_CONTROL_DATA_SELECT;
s = bit_set(s, BITNUM_CONTROL_DATA_LATCH);
//A15 ¤òȿž¤·¡¢ /ROMCS ¤Ë¤·¤¿¤â¤Î¤òÅϤ¹
address ^= ADDRESS_MASK_A15;
while(length != 0){
- *data = data_port_get(address, BUS_CONTROL_CPU_READ);
+ *data = data_port_get(address, 0);
address++;
data++;
length--;
address++;
data++;
length--;
+ data_port_latch(DATA_SELECT_CONTROL, BUS_CONTROL_BUS_STANDBY);
}
- data_port_latch(DATA_SELECT_CONTROL, BUS_CONTROL_BUS_STANDBY);
}
static inline void cpu_romcs_set(long address)