Edwin Blink wrote:
> I made some more test for the 4 Ts penalty It looks like it 
> occures once every 8 Ts (8 pixels?)

For I/O accesses, add 4 tstates for the read/write, rounding up to the next
multiple of 8 for ASIC ports (&F8 to &FF).

For memory accesses, add 3 tstates for the read/write, rounding to the next
4 for uncontended RAM accesses, or to the next 8 for contended RAM accesses.
The mode 1 contention stripes apply in the same way as contended RAM
accesses, giving the same 8 tstate rounding in affected areas (which
includes the border).  ROM and external RAM accesses are not rounded at all.


> So if you write youre code carefully you could fill the 
> penalty time with more useful instructions

Especially since accessing ASIC ports from ROM or external RAM can give a 7
tstate penalty if you're unlucky!


> But there are still some oddities. In one case I tested when the NOP was
> outside my timing code a IN was 16 Ts and when the NOP was inside it the
> IN was 12 Ts.

I'm not aware of any outstanding issues in the latest SimCoupé betas,
despite Dave and I throwing everything we can at them.  If you find an
unexplained oddity, and it does something different in SimCoupé, you've
found something new :-)

Si

Reply via email to