Re: A83: TSE nearing completion


[Prev][Next][Index][Thread]

Re: A83: TSE nearing completion




> > _tseRandom - Something like ionRandom. I could make this using rom calls
> > to the system floating point rountines and the put it in a register with
> > _convop1. However, that would be very slow and some games use this
> > routine a lot! Does anyone know how ION does this?
>
> Find a disassembler :) Use R and a 16 bt rotate, add sequencer, should be
> good enough. FP ugh :)

The most effective random routines I've used on the Z80 are like these.  By
rotate I assume you mean multiply (which uses 16 bit rotates).  A good
example would be Matthew Shepcar's random routine.  You don't actually need
to use R, but instead save the last number generated as the starting seed.
Using R to seed it everytime will not be as effective as using the last
number as the seed (at least in my experience).  What does work is to seed
it in the beginning with either R or a counter of your own, determined by a
period of time such as waiting for the user to press a key at the title
screen.  This cannot be relied upon to be completely random, but is fairly
arbitrary (262 Khz timer helps out a lot :)

> > _tseFastcopy - This should be fairly easy to do. But ionFastcopy claims
> > it's 'FAST!' (presumably in comparison to the equivilent rom call), so I
> > was wondering if there was some kind of trick to it?
>
> First is to flog the LCD controller to the limits of what it can do in
> terms of timing cycles (maybe test the status rather than using
> the TIOS "wait routine" on the grounds that the Data sheet timings
> will have some spare space in them ?).

There were some problems with the routine in ion not working with all calcs
in the first release(s).  You should either dissassemble ion (cheap way :)
or time it or something and not use anything faster than it's ROM call.  I
wouldn't think it would be much slower than 40 FPS, which is as fast as just
about any game needs to go, especially since any faster will cause excessive
blur (really poor LCD for high speed games).




References: