Date : Tue, 04 Mar 2008 10:34:05 +0000
From : jgh@... (Jonathan Graham Harston)
Subject: TUBE chip, accessing 'Parasite' side
Johan Heuseveldt wrote:
> As I'm not /too/ familiar with machine cycles of 80186 - or Z80 - and
> internals, I can't interpret or understand not seeing a slow down in
> hardware, while I /do/ expect something like that. Could be done by the
> 80186 internally, or is it still within speed limits?
The transfers happen as fast as the host computer. If the parasite
is too fast, it will spend time waiting to be interupted by the
host, or will spend time polling status registers waiting for an
"ok" signal.
> BTW, I'm expecting problems with the 6809 NMIs: all registers
> are pushed onto the stack, taken much more time than the 6502.
One of the reasons Sophie speedily dumped the 6809.
> I'll have to investigate this further, but the design has a
> 3-pole jumper to connect TUBE NMIs to the FIRQ input as an
> alternative to the NMI input.
Graham Toal's design uses FIRQ as the service interupt instead of
IRQ, and IRQs to synchronise, instead of NMIs. NMI is not used.
(ie TubeIRQ-->6809FIRQ, TubeNMI-->6809IRQ, +5v-->6809NMI)
FIRQ:
If R4status -> DataTransfer
Get R1data
If b7=1, set escape flag
If b7=0, read Event Y,X,A
Return
DataTransfer:
Get R4data
If b7=1 -> Read error message
Get R4data, claim type
If Claim=5, return
Get R4data, four byte address
Switch to appropriate transfer routine
The transfer routines then use SYNC to /wait for/ an IRQ, but with
IRQs disabled, so no IRQ routine is called.
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
Youth has now fled. Their best years have been passed in the service
of the party. They are ageing and their ideals have also passed,
dispersed by the contrarities of daily struggles.