View Single Post
Old 11th Jul 2019, 2:29 pm   #158
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

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.
john_newcombe is offline