RE: [hatari-devel] Re:Microwire register value on Falcon

[ Thread Index | Date Index | More Archives ]

Hi All,

Maybe someone can use my Microwire test (attached) on Falcon.

It writes value $4E2 to Microwire data reg. ( -12db master volume) and writes value $7FF to Microwire mask reg. and then reads 32 words from:
 - Microwire data reg. by cpu;
 - Microwire mask reg. by cpu; 
 - Microwire data reg. by blitter;
 - Microwire mask reg. by blitter.
Every test is done 4 times. Final result is written to file RESULT.BIN

Attached you can find source code, compiled program MCRW.PRG and my results for Hatari, 1040 STE, MegaSTE 8Mhz and MegaSTE 16Mhz+Cache.
There is also small html parser - MCRW.html. It works under Chrome 11, Firefox4 (HTML5 File API and Drag and Drop needed) - Just open that document in a web browser and drag&drop RESULT.BIN on it.



-----Original Message-----
From: Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] On Behalf Of laurent.sallafranque@xxxxxxx
Sent: Wednesday, February 01, 2012 11:40 AM
To: hatari-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [hatari-devel] Re:Microwire register value on Falcon


I think it needs a few more tests here (especially for $ff8924).

For $ff8922, does it still read 0 after a write of a value != 0 in the register ?
I mean does it still read 0 after a MOVE.B #$A5,$FF8922.B (or any value you want instead of $A5).

For $FF8924, according to what I saw in team.prg (a soccer game that is supposed to run on STE and  Falcon), the program loops forever into :

$0397bc : 31fc 07ff 8924                       move.w    #$7ff,$ffff8924.w
$0397c2 : 0c78 07ff 8924                       cmpi.w    #$7ff,$ffff8924.w
$0397c8 : 66f2                                 bne.s     $397bc

I bypassed this by removing the microwire from the ioMemTabFalcon.c, but that's obviously not the good way to fix this (it was just for the test).
Again I would like to be sure that writing a value to $ff8924 should return this value instead of 0.

Could you do these 2 tests please ?



----- Mail Original -----
De: "Thomas Huth" <th.huth@xxxxxx>
À: hatari-devel@xxxxxxxxxxxxxxxxxxx
Envoyé: Mardi 31 Janvier 2012 22h34:32 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne
Objet: Re: [hatari-devel] Re:Microwire register value on Falcon

Am Tue, 31 Jan 2012 13:37:05 -0500
schrieb "Roger Burrows" <rfburrows@xxxxxxxxx>:

> On 30 Jan 2012 at 21:04, Thomas Huth wrote:
> > 
> > Can somebody check what you get when reading $ff8922 on a real 
> > Falcon? Looking at this piece of code, I'd guess that $ff8922 is 
> > hard-wired to zero on the Falcon...
> > 
> > 
> > > Thomas, should we remove the microwire addresses from the 
> > > IoMemTabFalcon.c as I did (There's really no microwire in the
> > > Falcon) ? I know you did a lot of tests on the bus errors.
> > > 
> > > Actually, it looks like :
> > > //    { 0xff8922, SIZE_WORD, IoMem_VoidRead, IoMem_VoidWrite 
> > > },                                     /* Microwire data */
> > > //    { 0xff8924, SIZE_WORD, IoMem_VoidRead, IoMem_VoidWrite 
> > > },                                     /* Microwire mask */
> > 
> > According to the bus error tester (see 
> > tests/buserror/results/fal_n_w.txt), the Falcon does not generate a 
> > bus error here, so you should not remove these entries. I'd rather 
> > guess that the Falcon always returns 0 when reading the ff8922 
> > register...
> > 
> That's correct, I just tested on my Falcon.  It doesn't bus error (in 
> supervisor state :-), and it returns zero.

Great, thanks for the test, Roger, I've fixed Hatari now accordingly.


Attachment: MCRW.ZIP
Description: MCRW.ZIP

Mail converted by MHonArc 2.6.19+