Re: [hatari-devel] DIP switch support

[ Thread Index | Date Index | More 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:
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 

A sidenote: has anyone ever seen a quad density floppy?  I wonder (but not very 
much) if TOS 4.04 actually supports them.


Mail converted by MHonArc 2.6.19+