In message <[email protected]>
Matthew Howkins <[email protected]> wrote:
> >> Thought: Maybe the order in which files are returned has changed and now I
> >> run into a script failure which prevent to complete the boot and because of
>
> >> So my questions are:
> >> 1 has the order changed?
> >> 2 do you know how I can detect that the boot is not finished correctly?
> >
> > The order should not matter because RISC OS will search/sort as
> > necessary. The order has not changed with the recent changes anyway.
>
> Replying to my own mail...
>
> Sorry, yes the order has changed. Previously the directory entries
> were returned in an undetermined order. The RISC OS Filer always sorts
> the entries, but from the command-line they appeared in arbitrary
> order. The new code caches and sorts the directory entries before
> returning them.
>
> Having said all that, I think it is unlikely that the order the
> directory entries are returned will make any difference to your
> problem; RISC OS will search the list as necessary, and does not seem
> to make any assumptions about the returned order.
>
Hello Mathew
I have looked into it a bit further.
When RISC OS boots it itterates through directories asking for one entry at
a time. This in contrast when the filer shows you a directory it then asks
for more entries.
If during booting Func 15 is called to get an entry the new hostfs code
tries to send an indication when the last entry is returned (sets r4 to -1).
I do not know if this is allowed or not but the result is that the entry is
skipped.
I have made the following fix:
line 1733 add:
if (offset >= cache_entries_count) {
state->Reg[3] = 0;
state->Reg[4] = (uint32_t) -1;
return;
}
change lines 1761 - 1768 to
state->Reg[4] = offset;
This looks more like before the big change and has the disadvantage that
there is an extra call do func 15. But maybe that is just the way RISC OS is.
I hope I have been clear enough in my explanation. If you have any
questions, please send me an email
Leo
--
Leo Smiers
!Flash 0.410.1.1
http://fam.smiers.name
_______________________________________________
Rpcemu mailing list
[email protected]
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu