]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - avr/z80-if.c
Bugfix z80_addrbus_set_tristate()
[z180-stamp.git] / avr / z80-if.c
index b64e755257d69919649021ee217f057082504808..c49d2146c9e63b058ccb5a2d63ec7b4e4ba4cfd2 100644 (file)
@@ -168,7 +168,7 @@ static void z80_addrbus_set_tristate(void)
        DDR_ADL = 0;
        P_ADH = 0;
        DDR_ADH = 0;
-       PIN_ADB = P_ADB & ~(MASK(ADB_WIDTH) << ADB_SHIFT);
+       PIN_ADB = P_ADB & (MASK(ADB_WIDTH) << ADB_SHIFT);
        DDR_ADB = DDR_ADB & ~(MASK(ADB_WIDTH) << ADB_SHIFT);
 }
 
@@ -560,10 +560,9 @@ void z80_memfifo_init(const fifo_t f, uint32_t addr)
 {
        fifo_dsc[f].base = addr;
 
-       if (addr != 0) {
-
 DBG_P(2, "z80_memfifo_init: %i, %lx\n", f, addr);
 
+       if (addr != 0) {
                z80_bus_cmd(Request);
                fifo_dsc[f].mask = z80_read(addr + FIFO_BUFSIZE_MASK);
                fifo_dsc[f].idx_in = z80_read(addr + FIFO_INDEX_IN);
@@ -593,7 +592,7 @@ int z80_memfifo_is_empty(const fifo_t f)
 
 int z80_memfifo_is_full(const fifo_t f)
 {
-       int rc = 1;
+       int rc = 0;
 
        if (fifo_dsc[f].base != 0) {
                z80_bus_cmd(Request);