So here's what I'm going to do for diagnostics.
I'm going to read from each of the SIO, CTC, PIO, and Compact Flash
ports in a loop. The first port I will read once per loop, the second port
I will read twice, and so on.
Then, by monitoring both IORQ and a particular chip select line, I should see
the correct burst of 1, 2, 3, or 4 selects per cycle, if the GAL is programmed
correctly. If not, I'll have to figure it out.
If needed, I'll pull out the Tektronix 1240 logic analyzer, but I'm hoping this will
go well enough to make that unneeded.
Here's the program I'm going to put into the EPROM:
0000 1 org 0
0000 2
0000 3 siobase equ $00
0000 4 ctcbase equ $20
0000 5 piobase equ $40
0000 6 cfbase equ $60
0000 7
0000 8 loop:
0000 db 00 9 in a,(siobase)
0002 db 20 10 in a,(ctcbase)
0004 db 20 11 in a,(ctcbase)
0006 db 40 12 in a,(piobase)
0008 db 40 13 in a,(piobase)
000a db 40 14 in a,(piobase)
000c db 60 15 in a,(cfbase)
000e db 60 16 in a,(cfbase)
0010 db 60 17 in a,(cfbase)
0012 db 60 18 in a,(cfbase)
0014 18 ea 19 jr loop
22 bytes code generated and 5 labels defined
Scott