Taking Neal's advice I checked IORQ with pin 20 of the CPU (IORQ) bent out from the socket (
https://glasstty.com/wiki/index.php/File:IVC-IORQ.jpg), the output on this pin is a very stable high. This was checked with a scope and a logic probe that can detect pulses. It doesn't change even when the system or card is reset.
I re-checked the ROM Code here is the dump...
Code:
>LOAD 2732A
00000-0007F#00000
>DUMP 00000,50
00000 DB 00 21 00 20 7E 77 21 [.!. ~w!
00008 00 40 7E 77 21 00 60 7E .@~w!.`~
00010 21 00 80 7E 21 00 A0 7E !..~!. ~
00018 77 21 00 C0 AF 77 21 00 w!.@/w!.
00020 E0 7E 77 18 DB FF FF FF `~w.[
00028 FF FF FF FF FF FF FF FF
00030 FF FF FF FF FF FF FF FF
00038 FF FF FF FF FF FF FF FF
00040 FF FF FF FF FF FF FF FF
00048 FF FF FF FF FF FF FF FF
...which ties in with the code that Neal suggested, e.g.
Code:
0000 ;; in ROM and executes from reset.
0000 ;; assume no stack/working RAM so no subroutines
0000 ORG 0
0000
0000 db 00 loop: in a, (0) ; should generate /CS to 6845.
; Also, use as 'scope trigger
0002 21 00 20 ld hl, 0x2000 ; video RAM
0005 7e ld a, (hl) ; read then write
0006 77 ld (hl), a
0007 21 00 40 ld hl, 0x4000 ; char gen ROM or RAM
000a 7e ld a, (hl) ; read then write
000b 77 ld (hl), a
000c 21 00 60 ld hl, 0x6000 ; status read
000f 7e ld a, (hl) ; read
0010 21 00 80 ld hl, 0x8000 ; keyboard
0013 7e ld a, (hl) ; read
0014 21 00 a0 ld hl, 0xa000 ; host comms data port
0017 7e ld a, (hl) ; read then write
0018 77 ld (hl), a
0019 21 00 c0 ld hl, 0xc000 ; status write
001c af xor a
001d 77 ld (hl), a ; write 0
001e 21 00 e0 ld hl, 0xe000 ; workspace RAM
0021 7e ld a, (hl) ; read then write
0022 77 ld (hl), a
0023 18 db jr loop
0025
With this ROM code I can see the activity as before on the various /CS /OE /WR etc. but no IORQ. I am at a loss to understand what is (or isn't) happening. I think I probably need a vacation.