OSDN Git Service

cpu_read timing fix
authornaruko <naruko@24ea1065-a21e-4ca1-99c9-f5125deb0858>
Mon, 12 Jan 2009 22:54:23 +0000 (22:54 +0000)
committernaruko <naruko@24ea1065-a21e-4ca1-99c9-f5125deb0858>
Mon, 12 Jan 2009 22:54:23 +0000 (22:54 +0000)
git-svn-id: svn+ssh://svn.osdn.net/svnroot/unagi@258 24ea1065-a21e-4ca1-99c9-f5125deb0858

client/trunk/flashmemory.c
client/trunk/reader_hongkongfc.c

index 859f7ad..5409913 100644 (file)
@@ -390,7 +390,7 @@ static void w29c040_write(const struct flash_order *d, long address, long length
                        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__);
index 7f7f682..edfa6c4 100644 (file)
@@ -77,7 +77,9 @@ static inline void address_set(long address)
 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);
@@ -143,7 +145,7 @@ static void hk_cpu_read(long address, long length, u8 *data)
        //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--;
@@ -161,8 +163,8 @@ static void hk_ppu_read(long address, long length, u8 *data)
                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)