Re: [hatari-devel] DSP add AGU pipeline for parallel moves

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hello,

thank you for the patch! I added it and have one minor issue:

For this line in dsp_update_rn() I get a warning "Result of comparison of constant 65535 with expression of type 'int16_t' (aka 'short') is always false": 

if (reg_modulo == 65535) {

Obviously the value is not recognized as -1 by the compiler. So probably better use -1 instead. 

Best wishes,
Andreas

> Am 03.06.2024 um 22:30 schrieb Laurent Sallafranque <laurent.sallafranque@xxxxxxx>:
> 
> Hi,
> 
> First, I'm pleased to see that tuxfamily.org is back.
> I've taken some days to try to figure out why underscore demo was always bugging at the same point.
> The main explanation was the lack of pipeline emulation in the AGU.
> 
> For example :
>     move #<10,r0
>     move #<15,r0
>     move x:(r0),a
> 
>    The register "a" should equal 10 and not 15, due to a 1 instruction delay.
>    This happens for parallel moves instructions.
> 
> I've implemented this behavior for all Rx, Nx and Mx registers.
> I've done a lot of non regression tests with many demos, programs, musik players, ... and didn't noticed any regression.
> 
> 
> I've seen this pipeline restriction in some demos with mod player sound embedded, with EKO System, and probably some other demos.
> The only one I know that suffered this was underscore demo.
> 
> _ demo now renders the arrow correctly, with the blue lightened metallic texture and runs more frames before crashing. The crash doesn't always occur at the same point : sometimes it crashs before or later.
> 
> The max I can now run is until this frame :
> 
> <S2tblOwg38Bq3wQz.png>
> 
> 
> I've implemented the pipe for LUA, Parallel moves, MOVEC, TCC, MOVEP MOVE instructions.
> The motorola DSP docs also include MOVEM, but I've done many tests and it doesn't seem to suffer the pipeline restriction.
> 
> 
> This improvement in AGU emulation allows to feed the registers R, N or M just in time (also if this is not recommanded by Motorola ;)
> 
> Regards
> Laurent
>    




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/