RealityTech wrote on 2025-10-25, 15:06:
I'm doing an expansion card for an older (8086) based Amstrad machine, PPC512/640.
I'm missing two signals from the Amstrad that are normally present on the ISA bus but not always.
The first is !refresh/!DACK0 and the second is IOCHRDY
The service manual seems to disagree about missing signals, see https://archive.org/details/amstrad-ppc-512-s … ge/n29/mode/2up page 30 (in that viewer). While the expansion connector does not have ISA layout, you should have /REFRESH (aka /DACK0) on pin A15, and IOCHRDY (aka I/O RDY) on pin B5.
RealityTech wrote on 2025-10-25, 15:06:
My understanding is that !refresh does nothing I can use or need to use. I won't be doing DMA or using DRAM for main memory so I'm sure it's redundant for me.
That's correct. /REFRESH may be useful as a timer with a period of typically around 15.6µs (but if the user enables "slow refresh", it might be around 64µs instead), but is meant to be used as a refresh signal for cards that contain their own DRAM, especially memory expansion cards with DRAM (this might also be an EMS card, not just a main memory expansion card). With /REFRESH, you get an 8-bit refresh counter on A0..A7.
RealityTech wrote on 2025-10-25, 15:06:
IOCHRDY seems less clear cut, although, again, everything I'm using is fast enough not to need to use this. I'm, once again, sure this can be ignored.
That's correct again. On the XT, you have 8088 bus timings (even on the 16-bit Amstrads, the expansion bus is just 8 bits, so you get 8088-compatible cycles from the 8086 CPU). As the PPC512 operates at 8MHz, cycles may be shorter than on the original IBM PC that had the bus at 4.77MHz, unless Amstrad adds wait states. Nevertheless, a complete cycle on the 8086/8088 takes 4 clocks, so you might still be able to handle all cycles without extra wait states. In that case, you don't need to do anything with IOCHRDY. This signal is pulled high by a pull-up-resistor on the mainboard, and only if you need to add wait states to a bus cycle, you need to pull it down to ground.