|Re: [hatari-devel] A question about the debugger|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
On 3 Sep 2013 at 22:50, Eero Tamminen wrote:
> > On tiistai 03 syyskuu 2013, Roger Burrows wrote:
> > > The new code
> > > works as long as GCC optimisation is turned off, so I need to see
> > > what's different when optimisation is enabled.
> > Just a followup in case there is any confusion:
> > 1. the existing EmuTOS code works OK on Hatari, but not on real hardware,
> > so I'm fixing it.
> > 2. with GCC optimisation off, the new EmuTOS code works fine on real
> > hardware. 3. with GCC optimisation ON, the new EmuTOS code gets a
> > timeout error when sending a read command to read certain specific
> > sector numbers.
> > 4. there are no problems reading the same sectors with TOS.
> Roger, have you specified in all relevant variables that they point to
> addresses which contents are volatile i.e. that they change outside of
> EmuTOS control?
Yes, the appropriate stuff was marked volatile. For the record, it turned out
to be a hardware problem (wrong termination on the bus). I assume what
1. bad termination caused some of the bits to be smeared/dropped/picked; this
would be affected by the actual sequence of bits on a specific data line.
2. this caused a parity error
3. the SCSI disk detected this and notified the converter
4. the converter stopped accepting the command, causing a timeout.