Re: [hatari-devel] CPU Speed in XControl |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Am Sat, 6 Aug 2016 18:42:19 +0200
schrieb Thomas Huth <th.huth@xxxxxx>:
> Am Sun, 26 Jun 2016 16:10:46 -0500
> schrieb Bob Carpenter <hatari@xxxxxxxxxx>:
>
> > I have a quick question. Even when I set the system type to MegaSTE
> > and my CPU is set to 16Mhz, I do not see the ability to select the
> > CPU speed in the General control panel extension. I am simply
> > curious since it is different than an actual MegaSTE. Obviously, I
> > can change the CPU speed in the Hatari preferences.
> >
> > Before we had the ability to set the machine type as a MegaSTE, I
> > can see why the CPU speed did not appear. Now, it is surprising to
> > me since Hatari is just almost identical to an ST or STE.
> >
> > Does anyone else see this or does everyone else see the CPU speed in
> > the General control panel extension?
>
> I also don't see it. According to SYSINFO.PRG, the _MCH cookie in the
> cookie jar also contains 0x00010000, which is a plain STE. I think the
> value should be different on a Mega STE ... according to TOS HYP at
> http://toshyp.atari.org/en/003007.html#Cookie_2C_20_MCH
> the right value should be 0x00010010 instead. So TOS somehow fails to
> detect the emulated Mega-STE of Hatari as a Mega-STE ... anybody any
> ideas what could be wrong here?
Ok, never mind, I've found it: TOS 2.06 uses this sequence to check for
the Mega-STE:
$00e003ee : 203c 0001 0000 move.l #$10000,d0
$00e003f4 : 2278 0008 movea.l $0008.w,a1
$00e003f8 : 244f movea.l sp,a2
$00e003fa : 21fc 00e0 040c 0008 move.l #$e0040c,$0008.w
$00e00402 : 4a38 8e09 tst.b $ffff8e09.w
$00e00406 : 303c 0010 move.w #$10,d0
$00e0040a : 6016 bra.s $e00422
$00e0040c : 4240 clr.w d0
$00e0040e : 2e4a movea.l a2,sp
$00e00410 : 21fc 00e0 0422 0008 move.l #$e00422,$0008.w
$00e00418 : 4a39 fff0 0039 tst.b $fff00039
$00e0041e : 303c 0008 move.w #8,d0
$00e00422 : 21c9 0008 move.l a1,$0008.w
$00e00426 : 2e4a movea.l a2,sp
$00e00428 : 20fc 5f4d 4348 move.l #'_MCH',(a0)+
$00e0042e : 20c0 move.l d0,(a0)+
That means it checks a register from the VME bus ($ff8e09) to check
whether it is running on a Mega STE or not. I've now added that
register (as a dummy) to Hatari, so the Mega STE is now detected
correctly and XCONTROL shows up the frequency setting, too.
Thomas
PS: Anybody knows what this other test ($F00039) is about?