On Sat, 31 Jul 2010, Chris Young wrote:

> On Sat, 31 Jul 2010 17:03:04 +0100 (GMT Daylight Time), Jeffrey Lee wrote:
>
>> I doubt I'll be looking at ArcEm much more in the near future, so I'll
>> leave it to you to decide what (if anything) to do with these changes. I
>> haven't tried them on anything other than RISC OS, so it wouldn't surprise
>> me if some of the other platforms fail to compile or are fundamentally
>> broken.
>
> I had to fix up the sound support to get it working here (diffs
> attached, nothing major).
>
> Well, I say working, there's something wrong as although it appears to
> work and initialises the display, the ROM either doesn't get executed
> or at least doesn't get as far as even clearing the pointer, let alone
> printing anything on the screen.
>
> The emulator hasn't crashed as I can still send commands to it, it's
> just the emulation which has apparently frozen.

Hmm, Amiga is big endian, isn't it? I didn't make any effort to ensure
the new memory code ran on big-endian machines, so it wouldn't surprise me 
if it's failing. Take a look at the LoadByte, StoreByte and SwapByte 
functions in fastmap.c, and for anything in arch/armarc.c that handles the 
FASTMAP_ACCESSFUNC_BYTE flag. With any luck that should be all that needs 
changing.

Also, one thing I just remembered - the code for the builtin SWIs (in 
arminit.c) is disabled, because at the time I couldn't be bothered 
rewriting it to use the new memory functions. But looking at it I see that 
the SWIs are only used for shutdown and debugging, and not smoething that 
could hang the boot sequence (e.g. HostFS - which is another thing I 
haven't tested).

Another thing that needs fixing is the handling of physical pages that map 
to the same logical page. The ARMul_PurgeFastMapPTIdx function in 
arch/armarc.c has a little bit of code ot handle it, which is enough for 
RISC OS to work (the OS didn't like it if I just nuked the entry without 
checking for double mapping). But it doesn't deal with the case where a 
page is mapped in then immediately mapped out again - the FastMap entries 
will be left as unmapped memory instead of pointing to the previous MEMC 
mapping. So I guess a linear search or some kind of linked list will be 
needed to ensure the emulator behaves correctly when a logical page needs 
to be mapped out.

Cheers,

- Jeffrey

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
arcem-devel mailing list
arcem-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/arcem-devel

Reply via email to