I've noticed if the CDROM ribbon (CN17) is disconnected there's NO boot delay before the Kickstart CD ANIM screen to suggest any cdrom device module(s) or [kickstart Gayle IDE] have failed query during early boot sequence. Maybe the cdrom is a totally custom independent unit. (nothing listed in the early boot menu.)
#So you're none the wiser if the cdrom unit is actually working until you go to use it. :huh:
"no spin, nothing" - It might be worth probing TP8 which is tied in with the main data lines to Akiko (CPU/System interface) -> 68000 -> 182-pin MCA edge connector. As from the schematics Akiko seems to be the primarily responsible for the CDROM interface.
As there's no IDE interface and a custom CDrom controller is tied into the aforementioned perhaps there's a conflict/violation from MCA with the presence of your RAM expansion sharing the same bus lines. (*buffered interface needed?)
I've tried to keep this "byte-size" <- pun. This is mainly what I recall from the earlier Amigas, slightly different for the CD32 I imagine with a 68020@14.3MHz.
The FC0-2 is part of the interrupt acknowledge process:
68K generates this function code if it requests an interrupt vector.
Option 1. Provide your own vector (RAM expansion hardware)
Option 2. Don't acknowledge the request and let CPU fetch autovector from the vector base table
Cycle type strobing process (LOW/HIGH 0|1 Bits)
#Function code lines:
FC0-2 (Signal operating state of CPU USER/Supervisor) the output distinguishes program references from data references.
= 68K - Data reference = WRITE
= 68K - Operands = READ (Except PC)
#Bus control lines:
+ AS (Asynchronous) Mode: (As you mentioned using)
1. CPU signals the request: Data bus strobes UDS (upper data)|LDS (lower data)| R/W (read or write byte/word using UDS/LDS) [D15-8 D7-0] AS (Addr$ strobe)
2. CPU then waits till memory informs data ready (DTACK = 0|LOW) DTACK tells CPU data received.DTACK is strobed by external AS memory after a write access to acknowledge that data has been taken over.
DTACK is generated immediately AFTER AS occurs (using remaining cycle).
If slower memory then set XRDY (0|LOW) (similar to DTACK) (sort of an external DTACK) overriding DTACK (1|HIGH) the CPU will then perform "wait states".
Thus AS mode adapts to speed of memory.
(You mentioned not using the following avenue)
+ Synchronous Mode: E (clock), VPA (Valid peripheral addr$ synchronous switch mode [set 0 external decoder]), VMA (CPU answers VPA w/ Valid memory addr$ = 0)
I don't know alot about the DSACK/bus on the 68020, but on the earlier models all except the DTACK, VPA, VMA, RES, HLT, BERR, E signals are buffered; whether this transcends/applicable to your GAL buffered idea.
I've briefly looked at the REV 3 schematic and it could well be you need buffer and use a decoder.
Could explore the DMA further to ensure the Address/Data bus and control signals are being handled/processed/acknowledged correctly by the CPU.
IE: RAM Expansion vs CDROM Bus Master access/privileges.
Well done with your project.
Cheers.
Paul.