Re: [hatari-devel] DIP switch support |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
On 16 May 2016 at 21:02, Thomas Huth wrote:
> Am Mon, 16 May 2016 12:13:44 -0400
> schrieb "Roger Burrows" <anodyne@xxxxxxxxxxxx>:
>
> > On 16 May 2016 at 10:17, Thomas Huth wrote:
> > >
> > > FYI, I've now pushed a patch that should now return the right
> > > default value (0x02) when reading the $ff9201 register.
> > >
> > That's the wrong value unfortunately. I should have been more
> > specific since I know you don't have a TT for testing. This is what
> > I get on my TT: DIP switch settings:
> > 1-6 off, 7 on, 8 off
> > (this is standard for a TT with HD floppy, according to the
> > TT schematics)
> >
> > Reading the word at ffff9200: 0xbf06
>
> Oh, I've got confused by the values that Cyprian posted (3F03 when
> reading the word at ff9200) - that looked like the bits are in the
> ff9201 register at a first glance.
> Anyway, I've now committed a fix, and this time I also checked that the
> value can be found in the _SWI cookie.
>
OK, updated my Hatari source and rebuilt it. Booted EmuTOS and confirmed that
the _FDC and _SWI cookies are being set up correctly, so it must be seeing the
hardware OK. Many thanks!
Now I must apologise for an error: originally I said that the Falcon had DIP
switches, then I said I was wrong, because I couldn't find any docs. Well, now
I've found the docs and my original statement was (mostly) correct: the Falcon
does return DIP switch values at the same address as the TT. They're not
actually DIP switches on the motherboard: they're half-moons that can be
connected by soldering, but the effect is the same.
The "ATARI FALCON030 Service Guide", dated October 1, 1992 has the info (but in
typical Atari fashion, it's not quite right :-)). It's available as a PDF from
the Atari Documentation Archive:
http://dev-docs.atariforge.org/index.htm
Look under "Service Manuals"; it's quite big (115MB). On p.27 it describes the
DIP switches, but they are actually at U46 and U47 (not U56/U57). And the
description for U47 ("U57") should be:
Segment Function
1-5 Not used
6 Connected = Quad Density Floppy
Not connected = Don't care
7 Connected = AJAX Installed (1.44MB)
Not connected = 1772 Installed (720K)
8 Connected = No DMA Sound Hardware
Not connected = DMA Sound Hardware Installed
"Connected" => corresponding bit is 0. On my system, segment 7 is the only one
connected, so the value returned is the same as for a standard TT, i.e. reading
a word at $ff9200 returns 0xbfff. I'd guess this is probably true for all
Falcons.
A sidenote: has anyone ever seen a quad density floppy? I wonder (but not very
much) if TOS 4.04 actually supports them.
Roger