Re: [hatari-devel] Small bug in Hatari Falcon emulation

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

On 11/24/20 1:46 AM, Roger Burrows wrote:
On 23 Nov 2020 at 12:16, Eero Tamminen wrote:
On 11/23/20 2:46 AM, Roger Burrows wrote:
A quasi-random sampling of values shows 0xff is returned.  That looks like
a
floating bus (but what would I know, I'm a software guy).

is the target location value just unmodified?

I'm just doing reads, so I'm not sure what you mean.

I meant the read result (e.g. register where you
read it).

I still don't know what you mean.  I'm doing a read from a non-existent RAM
address.

Hopefully this pseudo-code (without bus error
checking) clarifies what I meant:
-------------------------------------
for (addr = start; addr < end; addr++) {
  old = value;
  value = *addr;
  /* this check is what I'm referring to: */
  if (value == old) {
     value = ^value;
     old = value;
     value = *addr;
     if (value == old) {
        printf("0x%06x = <no value>\n", addr);
        continue;
     }
  }
  printf("0x%06x = 0x02x\n", addr, value);
}
-------------------------------------


I did write a separate program to do:
	read
	write new/read
	write old/read
and the value returned isn't always $ff (and rewriting the original value
doesn't restore it, unsurprising considering there's no RAM there).  I think
it's just floating bus values, but I'm not a hardware guy.

You seemed to be doing byte reads.  For IO HW
regs, it matters whether read is byte or word
sized.  Did you try word access?

1. As I said in my original post, the report is NOT about accessing the I/O
memory area.  Hatari already has some code to handle that & I haven't
investigated whether that code is correct or not.  The report is strictly about
accessing the RAM area, both existing & non-existing memory.

You said that value is 0xff, which I assume to
be from a byte read.  If you do word reads from
non-existing RAM area, is the value 0xffff (as
expected), or something else?


2. I spent some more of my time and added support for different widths of
memory access.  Unsurprisingly (to me) the same issue happens with
byte/word/long widths.

If you want any more answers, I'll send you the code & you can investigate
further.

Unfortunately I don't have Falcon HW.


	- Eero



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/