@All This is attempt to fix old scout source code to work correctly on latest os4 compiling with latest os4 SDK and getting rid of all old-incompatibily stuff.
To make new recompile i get rid of USE_INLINE totally, replaced all memory stuff on proper allovectags/etc, get rid of all old DOS things in favor of new ones, removed depending on SDI headers, and get rid of old clib2 in favor of newlib, etc.
There also some things which worth to be changed probably too : this is Expansion (as they all Zorro based initially, at least it can list PCI, but "more" button is for Zorro only). Then Patches, as this one only implemented for OS3 and use old SetFunction, and i do not know if it worth at all, as it even on os3 didn't list all patches, but only some which were set by some specific ways.
So, if anyone need it , plz feel free to bug-report about
@msteed Quote:
The OS4 version of Scout does crash sometimes, and you need to be ready for that if using it, but more often it safely does nothing when asked to display things that no longer exist or aren't applicable on OS4. I regularly use it as a test and debug tool, though I make sure to save my work first.
Do you have any bugs to report and step-by-step reproduce so i can try to reproduce it with scout from 2006 and the new one ?
Do you have any bugs to report and step-by-step reproduce so i can try to reproduce it with scout from 2006 and the new one ?
Not currently. I tend to trigger the crashes while just playing with Scout, pressing different buttons and seeing what it does. I've never bothered to write any of them down (or even see if they're reproducible) as there was nobody maintaining the program to investigate them.
I'll play with it some in the coming days and see if I can stumble across any of the crashes again.
@McFly Probably forgot to install this identify.library from libs (both library itself and .l.main with it) ? But yeah, if it freezes, it mean it shouldn't of course, and probably should take relevant library from libs inside of scout dir. And we need this one be os4native imho too , if there is sources somewhere .. Thanks for report, will check!
1. Open Libraries window. 2. Click on the first line in the library list. 3. Click on the Functions button. 4. Click Exit. 5. Click on the next line in the list. 6. Now it doesn't show the name of the library, but "*** ldFunction() NOT IMPLEMENTED ***".
It's not just the first line, any line and its following one will do.
Heh - I didn't have any identify.library installed at all .
Now I installed it, and yes, that fixes the issue.
Still, strange that - without the library - it still showed the name correctly at first, but not after returning from the Functions window and clicking on the next line.
Haven't tested the original 68k identify_lib, just using your replica. Renaming your dientigy_lib and then running scout in [SYSTEM] window (dont' get a crash) I can see a lot of "identify.library required", so seems your lib doesn't have such functions/methods implemented or may have a bug.
Do you have any bugs to report and step-by-step reproduce so i can try to reproduce it with scout from 2006 and the new one ?
Scout has been pretty stable as I've played with it recently, which makes me suspect that some of the crashes may not be readily reproducible, and may depend on things like the contents of some illegal address that's being read.
One crash that is reproducible, at least on my system, has to do with the Resources window. A number of the resources displayed have suspicious numbers for the version and open count, but clicking 'More' for one of these doesn't cause any harm. An exception is clicking 'More' for the pager.resource, which causes a crash. (Same for the new Scout version.)
The autodocs note that there is no standard "struct Resource" that all resources use; as long as there's a Node at the begnning they can use any layout they want. It's recommended that resources have a struct Library at the beginning, and Scout seems to depend on this. If this turns out to be wrong, Scout can crash (or at least, display strange numbers) when it accesses Library fields that aren't there.
Looking at the Scout source, there's a table of "forbidden resources" that don't have a struct Library at the beginning, so Scout knows not to try to read them. At the least, this table needs to be updated to include newer resources. Even better would be if there's some way to figure out whether there's a valid struct Library without needing a table.