1 -----------------------------
2 Scout Open Source - ChangeLog
3 -----------------------------
5 $Id: ChangeLog,v 1.169 2011/06/09 20:42:26 marust Exp $
6 $Source: /cvsroot/scoutos/scoutos/source/ChangeLog,v $
8 2011-06-09 Matthias Rustler <mrustler@gmx.de>
10 * backport of various fixes from the AROS repository:
11 - scout_functions.c fixed crash caused by wrong
12 calculation of function address
13 - scout_functions.c fixed calling of IDFunctionTags().
14 - fix crash in disassembler.library caused by wrong
15 usage of NewRawDoFmt(). That function is now replaced
17 - mmakefile.scr: Made identify.library a prerequisite of Scout.
18 - startup: A6 is not SysBase m68k fix.
20 2010-12-31 Matthias Rustler <mrustler@gmx.de>
22 * scout_residents.c: fix for a segfault which happened on AROS
24 * misc: some minor fixes (spelling, wrong macro usage in mmakefile.src)
26 2010-10-04 Thore Boeckelmann <tboeckel@gmx.de>
28 * scout_net.c: corrected the usage of all va_list occurences.
30 2010-09-15 Thore Boeckelmann <tboeckel@gmx.de>
32 * smakefile, scout_oop.c: added missing dependencies and fixed a wrong type
35 2010-07-17 Pavel Fedin <pavel_fedin@mail.ru>
37 * misc: Implemented separate monitorclass and monitorclass details
40 2010-05-05 Thore Boeckelmann <tboeckel@gmx.de>
42 * Makefile.os3, Makefile.mos: changed LIBS definition to use the correct
43 system specific library directory.
45 2010-05-04 Thore Boeckelmann <tboeckel@gmx.de>
47 * misc: some changes to make Scout cross compilable for MorphOS.
49 2010-05-04 Pavel Fedin <pavel_fedin@mail.ru>
51 * misc: Added some AROS-specific fixes, now should work on PPC AROS
52 * classes/scout_expansions.c: fixed compiling with new MorphOS SDK
54 2010-04-29 Thore Boeckelmann <tboeckel@gmx.de>
56 * misc: lots of changes to get Scout compilable for OS3 using gcc. The
57 resulting binary is not yet fully working, but at least it can be run.
58 * include/patchcontrol.h: fixed inline functions for the OS3/gcc build.
59 * classes/scout_audiomode.c: fixed audiomode scanning for the OS3/gcc
61 * smakefile, startup.c: final fixes for the OS3/SAS/C build.
62 * classes/scout_version.c: the used compiler will now be shown in the
65 2010-04-26 Thore Boeckelmann <tboeckel@gmx.de>
67 * misc: added lots of UNUSED keywords to avoid warnings about unused
68 variables. Also the SDI macros are used to define all hook functions.
70 2010-04-24 Nicolas Sallin <henes@biclodon.com>
71 * Changed to declare TimeRequest in one single place and early enough to
72 avoid a lot of warnings on non os4 systems.
74 2010-04-24 Thore Boeckelmann <tboeckel@gmx.de>
75 * lots of changes to get Scout running compilable again for OS4.
76 * define USE_INLINE_STDARG for AROS only.
77 * fixed lots of warnings by declaring lots of strings as constants.
79 2010-04-21 Pavel Fedin <pavel_fedin@mail.ru>
80 * Misc fixes for AROS build
81 * Added listing monitors
82 * Improved server mode, does not require set_socket_stdio() hack
84 2010-04-10 Nicolas Sallin <henes@biclodon.com>
85 * Misc fixes for MorphOS build.
87 2009-11-05 Matthias Rustler <mrustler@gmx.de>
88 * Replaced AROS makefiles by metamakefiles.
89 * Misc fixes for AROS port.
91 2009-10-21 Matthias Rustler <mrustler@gmx.de>
92 * Removed hint "You must not use this source code to gain profit of any kind!"
93 because this isn't compatible with the GPL.
94 * Added CPU defines for AROS
96 2009-10-19 Matthias Rustler <mrustler@gmx.de>
97 * Final preparations for 1st succesfull run of AROS version:
98 - created main() function because start with -nostartup didn't work
99 - Crash in DoSuperNew fixed.
101 2009-10-19 Matthias Rustler <mrustler@gmx.de>
102 * Lots of compiler warnings removed.
104 2009-10-16 Matthias Rustler <mrustler@gmx.de>
105 * First steps towards AROS port.
107 2008-12-01 Ilkka Lehtoranta <ilkleht@isoveli.org>
108 * scout_expansions.c: fixed bug in pciscan code and added support for
109 pciids.library (MorphOS 2 or newer).
110 * scout_catalogs.c: documented LocaleBase as it is in OS3 and MorphOS
111 * scout_memory_detail.c, scout_mount_detail.c: documented MEMF_SWAP (MorphOS).
113 2008-08-04 Ilkka Lehtoranta <ilkleht@isoveli.org>
114 * scout_system.c: Retrieve uptime from EClock. This method should work also on
115 Classic Amiga OS but due to lack of test environment it is used only for
117 * scout_resident_detail.c: Fixed resident flag definitions for MorphOS.
119 2008-07-04 Thore Boeckelmann <tboeckel@gmx.de>
120 * scout_extras.c: fixed the single windows menu item. Before it was always
121 displayed as a radio item instead of a normal checkmark item.
123 2008-05-04 Thore Boeckelmann <tboeckel@gmx.de>
124 * tbLib/#?timer.c: some changes to make the library buildable for non-OS4 SDKs
126 * scout_tasks_detail.c: some changes according to recent SDK changes.
127 * Makefile.os4, tbLib/Makefile.os4: replaced -Werror by -Wwrite-string to
128 respect changes in the current beta SDK and to make sure to read-only string
131 2007-07-29 Thore Boeckelmann <tboeckel@gmx.de>
132 * all: reworked the NList and NListtree object creation to be correct again
133 so that the list/tree is the windows default object and is automatically
134 scrollable by keyboard.
137 2007-07-29 Thore Boeckelmann <tboeckel@gmx.de>
138 * scout_tasks_detail.c: added new PRF_LOCKSTACK process flag for OS4.
141 2007-02-23 Ilkka Lehtoranta <ilkleht@isoveli.org>
142 * scout_extras.c: treat MorphOS "ROM" space as valid.
143 * scout_disassembler.c: added PPC disassembler for MorphOS.
146 2007-01-29 Thore Boeckelmann <tboeckel@gmx.de>
147 * scout_devices_detail.c, scout_libraries_detail.c: removed the interface
148 list for the moment again.
151 2007-01-12 Ilkka Lehtoranta <ilkleht@isoveli.org>
152 * Enabled patches window in the MorphOS build.
155 2007-01-11 Ilkka Lehtoranta <ilkleht@isoveli.org>
156 * scout_commands.c: added CMD_NOTLOADED check for deferred resident
158 * scout.cd: added txtCommandNotLoaded (DEFER).
161 2006-12-19 Thore Boeckelmann <tboeckel@gmx.de>
162 * scout_disassembler.c: added a missing DropInterface() call.
165 2006-12-17 Thore Boeckelmann <tboeckel@gmx.de>
166 * scout_parentwindow.c: removed redundand OM_REMMEMBER which in fact tried
167 to remove an object twice. This caused unpredictable results on OS4.
170 2006-11-21 Thore Boeckelmann <tboeckel@gmx.de>
171 * scout_resource.c: resources with a type not equal to NT_RESOURCE or
172 NT_LIBRARY are now treated like already known-not-to-work resources.
175 2006-10-16 Thore Boeckelmann <tboeckel@gmx.de>
176 * scout_signal.c: it was not possible to enter a full 32 bit signal mask
177 when using the "0x" prefix instead of the "$" prefix.
180 2006-10-07 Ilkka Lehtoratan <ilkleht@isoveli.org>
181 * Re-enabled NSD query in the MorphOS build. Poseidon responds to NSD
182 query and some devices also include TD64 commands with NSD.
185 2006-09-20 Ilkka Lehtoranta <ilkleht@isoveli.org>
186 * tbLib/string_snprintf.c: RawDoFmt() calls were completely broken in
187 MorphOS build but problem didn't occur until clean build was done.
188 _vsnprintf() call did nothing if compiled for 68k AmigaOS target.
191 2006-08-15 Thore Boeckelmann <tboeckel@gmx.de>
192 * scout_commands.c: the list of non-system resident commands (that is
193 commands made resident via C:Resident) was never scanned in the OS4
195 * misc: added some casts to CONST_STRPTR instead of STRPTR.
198 2006-07-07 Ilkka Lehtoranta <ilkleht@isoveli.org>
199 * scout_devices_detail.c: removed NSD query from the MOS build.
202 2006-06-27 Thore Boeckelmann <tboeckel@gmx.de>
203 * scout_devices_detail.c, scout_libraries_detail.c: added a listview to
204 show the available OS4 interfaces of a library/device. This should be
205 extended in the future to let the user get more information, but for
206 now it is just a beginning.
209 2006-06-23 Thore Boeckelmann <tboeckel@gmx.de>
210 * startup.c: added a check for a 68020+ CPU in the OS3 build. In case no
211 68020 is found Scout simply exits quietly returning RETURN_FAIL. This is
212 also the case if one of the basic libraries cannot be opened.
215 2006-06-20 Ilkka Lehtoranta <ilkleht@isoveli.org>
216 * scout_extras.c, include/extra.h: added MUIA_Application_UsedClasses tag
217 to filter out redundant custom classes from MUI settings.
220 2006-06-09 Ilkka Lehtoranta <ilkleht@isoveli.org>
221 * scout_tasks_detail.c: added ETask fields for the MorphOS build.
222 * scout.cd: added new strings to describe ETask fields (MOS).
225 2006-06-07 Thore Boeckelmann <tboeckel@gmx.de>
226 * scout_tasks_detail.c: the temporary string was freed too early and still
227 used afterwards. This might have caused no harm with OS3 and MorphOS, but
228 it caused crashes for sure with OS4's beta kernel.
231 2006-06-06 Thore Boeckelmann <tboeckel@gmx.de>
232 * startup.c: Scout can now be compiled against newlib.library *and* clib2,
233 although newlib.library if preferred now as this is the default OS4 run-
235 * scout_disassembler.c: for PPC disassembly a hexdump is also displayed.
238 2006-05-24 Thore Boeckelmann <tboeckel@gmx.de>
239 * misc: added CONST keyword to all constant structures.
242 2006-05-23 Thore Boeckelmann <tboeckel@gmx.de>
243 * scout.c: the default ARexx reply port is no longer public, as this is not
247 2006-05-21 Thore Boeckelmann <tboeckel@gmx.de>
248 * scout_tasks_detail.c: the unused text[13] field in the OS4 build made the
249 following buttons disappear.
252 2006-05-17 Thore Boeckelmann <tboeckel@gmx.de>
253 * scout_extras.c: changed the way ROM and RAM memory is detected with OS4.
254 The old version was completely wrong and returned "is RAM" for every
255 pointer. Also recognized that IMMU->GetMemoryAttrs() must be called in
256 Supervisor state. Finally, first of all, the address is checked against
257 some very basic values, which cannot really represent valid addresses.
258 * scout_devices_detail.c: changed the size of the IORequest to gather the
259 NSD information to sizeof(struct IOStdReq) + 128, as suggested by the NSD
260 docs. Also added the new commands of console.device and printer.device to
261 the list of known commands in the OS4 build.
262 * scout_functions.c: function entries with an address of NULL now won't
263 enable the "Disassemble" button anymore.
264 * disassembler_button.c: isValidPointer() is used to determine a valid
265 pointer now instead of just comparing against NULL and -1.
266 * scout_resources.c: the functions button is now disabled for resources
267 without a proper library structure.
268 * scout_screenmode.c, scout_screenmode_detail.c: all structures to obtain
269 the information are now allocated dynamically instead of placing them on
273 2006-05-03 Ilkka Lehtoranta <ilkleht@isoveli.org>
274 * scout_windows_detail.c: added BMF_ROOTMAP for completeness (MOS).
275 * scout_commodity_detail.c: added undocumented IECLASS_EXTRAWKEY (MOS).
278 2006-05-02 Thore Boeckelmann <tboeckel@gmx.de>
279 * locale/français.ct: updated translation.
282 2006-04-28 Thore Boeckelmann <tboeckel@gmx.de>
283 * extrasrc/vasprintf.c: implemented VASprintf() for OS3 as well, together
285 * misc: added STDARGS attribute where it was missing.
288 2006-04-27 Thore Boeckelmann <tboeckel@gmx.de>
289 * misc: replaced "(text[0] != '\033') ? text : text + 2" compares by a call
290 to StripMUIFormatting. The comparison correctly skipped the initial
291 escape character, but not the trailing one. Thus the MUI highlight code
292 always ended up in the printout.
295 2006-04-23 Ilkka Lehtoranta <ilkleht@isoveli.org>
296 * Makefile.mos, all_gcc.c, include/extra.h, extrasrc/vasprintf.c:
297 implemented VASPrintf() for MorphOS.
298 * scout_print.c: changed FileRequest() to use MUI ASL call wrappers.
299 MorphOS build used to crash there because of aboxstubs. Fixed
300 HandlePrintStop() to not Close() Output() file handles.
301 * scout_fonts_detail.c: fixed stack frame trashing (text[] array was
305 2006-04-23 Thore Boeckelmann <tboeckel@gmx.de>
306 * scout_net.c: corrected misspelled "snprintf()" to "_snprintf()".
307 * scout_arexx.c: reenabled reset callback code for OS4 build only.
308 * Makefile.os4, tblib/Makefile.os4: added -D__USE_OLD_TIMEVAL__ to the
309 list of compiler flags to match the new definitions of "struct TimeVal"
310 and "struct TimeRequest".
313 2006-04-05 Ilkka Lehtoranta <ilkleht@isoveli.org>
314 * scout_window_detail.c: now displays correctly number of colours for
316 * scout_arexx.c: disabled reset callback code for MorphOS build.
317 * scout_task_detail.c: in MOS tasks always have tc_ETask, thus use it
321 2006-04-01 Thore Boeckelmann <tboeckel@gmx.de>
322 * scout_memory_detail.c, scout_mounts_details.c: brought the two lists of
323 memory types in sync.
324 * scout_resethandlers.c: the OS4 specific list of reset callbacks is now
325 also scanned for entries, because the list of reset handlers is normally
327 * C_c.sd, C_h.sd: removed all unnecessary code, like that old V20 stuff,
328 because Scout requires V37 all around. So something like locale.library
329 V20 is not possible to be present or used.
330 * scout_fonts.c, scout_fonts_details.c: added tf_Extension field, if a font
332 * scout_arexx.c: added the missing remove function for reset handlers.
333 Until now this has never been implemented. Also the last direct poking in
334 the base structure of input.device to obtain the list of input handlers
335 has been replaced by a proper function which acts the same way as does
336 the scanning function in scout_inputhandlers.c.
337 * scout_inputhandlers.c, scout_resethandlers.c: changed the priorities of
338 the temporary interrupts from minimum to maximum. This makes no real
339 change except that searching the head of the corresponding list is a
343 2006-03-29 Thore Boeckelmann <tboeckel@gmx.de>
344 * scout_tasks_details.c: some minor changes to code type recognition, based
345 on hints of the current dos.library maintainer.
348 2006-03-26 Thore Boeckelmann <tboeckel@gmx.de>
349 * scout_devices_details.c: the native USB stack of OS4 needs very special
350 treatment of the used IORequests, else you will get an alert and the
351 device cannot be openend. Hence Scout now respects this special behaviour
353 * scout_tasks.c: added now function which returns the usual name of all
355 * scout_tasks_details.c: the old Task field tc_TrapAlloc and tc_TrapAble
356 don't exist anymore for OS4. Instead they always represent a pointer
357 called tc_ETask. Hence this one is shown now. Furthermore Scout can now
358 recognize a process' code type by using the new V51 DOS function
359 GetSegListInfo(). Additionally for OS4 the SegList pointers are now
360 obtained via GetProcSegList() instead of hacking through pr_SegList and
361 pr_CLI->cli_Module. If there is a clean way, then USE IT!
364 2006-03-25 Thore Boeckelmann <tboeckel@gmx.de>
365 * scout_tasks_details.c: added the extended V50/V51 process fields. These
366 will only appear in the OS4 build.
367 * scout_window_details.c added the embedded fields ViewPort, RastPort,
368 Bitmap (and all attributes) and LayerInfo of "struct Screen". Therefore
369 the entries "UserPort->SigTask" and "WindowPort->SigTask" of "struct
370 Window" have been dropped since these can be inspected by clicking on
374 2006-03-24 Thore Boeckelmann <tboeckel@gmx.de>
375 * scout_mount_details.c: the capacity calculation is now done with native
376 64bit math for the OS4 and MorphOS builds. Hence i64.c is no longer
377 needed for these, but only for the OS3 build, because SAS/C cannot do
379 * scout_extras.c, tblib/errormsg_ErrorMsg.c: somehow I never realized that
380 exec/RawDoFmt() cannot do parameter sorting by using something like
381 "Hello %2$s %1$s", "second", "first". Hence the function ErrorMsg() got
382 always passed one parameter too less and that completely crashed on OS4.
383 The catalog description has been modified accordingly. The prototype for
384 ErrorMsg() was missing the usual "VARARGS68K" definition anyway.
385 All in all this made Scout crash when it tried to complain about outdated
386 or missing external MUI classes.
389 2006-03-17 Thore Boeckelmann <tboeckel@gmx.de>
390 * scout_print.c: somehow I deleted a NULL-check before copying one string
391 to another, which caused crashes when trying to print information of a
395 2006-03-13 Thore Boeckelmann <tboeckel@gmx.de>
396 * scout_timer.c: now uses a union to cover all combinations of "uint64",
397 "struct EClockVal", etc without converting all these equivalent types "by
401 2006-03-12 Thore Boeckelmann <tboeckel@gmx.de>
402 * Scout.c: fixed type definitions for LocaleBase and RexxSysBase. Depending
403 on the compiler being used (SAS/C or GCC) this is now either a standard
404 library or a specific base type. Unfortunately this has to be done to
405 cover all the different SDK's :(
408 2006-03-12 Thore Boeckelmann <tboeckel@gmx.de>
409 * Scout.c: I think it was a bad idea to let Scout react to CTRL-D/E as a
410 break signal too in the first place. Now it only reacts to CTRL-C.
411 * tblib/string_snprintf.c: GCC 4.0.x doesn't like unused functions when
412 compiling with -Wall. Hence StuffCharMOS() is declared for MorphOS only.
413 * scout_timer.c: removed one call to NewRawDoFmt() which was left over by
417 2006-03-12 Ilkka Lehtoranta <ilkleht@isoveli.org>
418 * scout_extras.c: fixed M68k varargs.
419 * scout_expansions.c: now scans PCI devices via OpenPci wrapper (MOS).
420 Disabled detail window for PCI devices (was accessible via doubleclick).
423 2006-03-12 Ilkka Lehtoranta <ilkleht@isoveli.org>
424 * scout_timer.c: now checks time doesnt get negative (rare but
425 possible) and re-enabled 64bit math for MorphOS.
426 * dos_private.h: structures must be packed for PPC.
427 * tbLib: now uses M68k varargs in MOS for _snprintf().
430 2006-03-11 Ilkka Lehtoranta <ilkleht@isoveli.org>
431 * Scout.c: Scout no longer reacts (aborts) to CTRL-D and CTRL-E in MOS
432 where CTRL-D/CTRL-E are not considered break signals to programs.
435 2006-03-11 Ilkka Lehtoranta <ilkleht@isoveli.org>
436 * scout_timer.c: now uses ReadCPUClock() to get right timer values in MOS.
437 * tbLib/tblib.h: fixed _sprintf() and _snprintf() to use SysV varargs in MOS.
440 2006-03-11 Thore Boeckelmann <tboeckel@gmx.de>
441 * startup.c: readded __stack var to define a minimum stack size for the OS3
445 2006-03-11 Thore Boeckelmann <tboeckel@gmx.de>
446 * scout_disassembler.c: the OS4 version can now disassemble native PPC and
448 * scout_system.c: OS4's timer.device is able to deliver the current system
449 uptime itself. Hence we use that function, instead of obtaining the
450 uptime from the creation date of RAM:.
451 * scout.cd: there was one useless quote sign too much.
454 2006-03-11 Ilkka Lehtoranta <ilkleht@isoveli.org>
455 * include/extra.h: added uint64/int64 types.
456 * startup.c: MOS uses black boxed UtilityBase and removed __stack var
457 which is used by libnix startup code only (not linked in). Fixed race
458 condition with WB message reply -- it must be done in Forbid() always.
459 * makefile.mos: removed -Werror because of whiny MOS SDK.
462 2006-03-06 Thore Boeckelmann <tboeckel@gmx.de>
463 * all: too many changes to mention them all. All in all Scout is now OS4
464 native, too. That means it can be compiled with GCC 4.0.2 without errors.
465 Compatibility to MorphOS and OS3 is still maintained. All OS4 specific
466 additions to the 68k versions are now "PPC only". The 68k version will
467 still run under OS4, but not all new features will be recognized, because
468 the 68k build relies on the 3.9 NDK only.
471 2006-02-17 Thore Boeckelmann <tboeckel@gmx.de>
472 * scout_timer.c: OS4's timer.device seems to keep just one list of timers
473 instead of two (MicroHZ and VBlank), because every entry appears twice,
474 but with the same address. Hence Scout will scan just one list when
478 2006-01-14 Ilkka Lehtoranta <ilkleht@isoveli.org>
479 * scout_tasks_detail.c: apparently PRF_CLOSEERROR is same in OS4 and MOS
482 2006-01-14 Thore Boeckelmann <tboeckel@gmx.de>
483 * os4defs.h, scout_tasks_detail.c: added some more definitions.
486 2005-11-14 Ilkka Lehtoranta <ilkleht@isoveli.org>
487 * scout_windows_detail.c: Added IDCMP_MOUSEHOVER (MorphOS)
490 2005-10-17 Thore Boeckelmann <tboeckel@gmx.de>
491 * misc: changed some "#ifdef"'s to "#if defined()", because #ifdef is not
492 always suitable for certain actions.
493 * os4defs.h: added some more definitions.
494 * scout_catalogs.c: initialized a formerly uninitialized variable
497 2005-09-30 Ilkka Lehtoranta <ilkleht@isoveli.org>
498 * scout_memory_detail.c: Added (private) memory flag used in MorphOS.
501 2005-09-20 Thore Boeckelmann <tboeckel@gmx.de>
502 * scout_devices.c, scout_libraries.c, scout_tasks.c,...: added some new OS4
503 definitions to recognize some new features of OS4.
504 * scout_net.c: as the net command list is used nowhere else within the
505 whole program is could be made static instead of global known.
508 2005-09-14 Ilkka Lehtoranta <ilkleht@isoveli.org>
509 * scout_net.h: fixed to build with gcc4 (removed unused extern).
512 2005-08-01 Thore Boeckelmann <tboeckel@gmx.de>
513 * scout_commodity_detail.c: changed the rawkey based wheelmouse name to
514 carry a "nm_" prefix so that it refers to newmouse based wheelmouse events
515 and doesn't conflict with the new wheelmouse events in AmigaOS4.
518 2005-08-01 Thore Boeckelmann <tboeckel@gmx.de>
519 * scout.c: OS4's RoadShow was not recognized as a valid TCP/IP stack,
520 because Scout never tried to find it :)
523 2005-07-24 Thore Boeckelmann <tboeckel@gmx.de>
524 * scout_resources.c, scout_resources_detail.c: some OS4 specific resources,
525 which don't support a full featured library structure, are now treated
526 like keymap.resource or FileSystem.resource.
529 2005-07-21 Thore Boeckelmann <tboeckel@gmx.de>
530 * scout_tasks.c: the CPU usage cycler is now disabled with AmigaOS4 under
531 all circumstances. Before it could have happened that it was still re-
535 2005-07-18 Thore Boeckelmann <tboeckel@gmx.de>
536 * scout_arexx.c, scout_windows.c: the "Windows" window now features a "Make
537 Visible" button, which will bring a window to the front and move it
538 within the visible portions of its screen if it is slightly off then
539 screen. The screen is brought to front, too, also for the "To Front"
540 button, if invoked on a window entry.
543 2005-07-17 Thore Boeckelmann <tboeckel@gmx.de>
544 * scout_classes.c: the class list is no longer traversed reversely, but as
545 all other lists, from first to last. But since "rootclass" (the mother of
546 all classes) is the last one in this list Scout swaps the order by
547 building its own list via AddHead() instead of AddTail() now.
550 2005-07-08 Thore Boeckelmann <tboeckel@gmx.de>
551 * scout_devices.c, scout_libraries.c: there is a much less hacky and ugly
552 way to recognize the code type of libraries and devices with OS3 and OS4.
553 The formerly unsed lib_pad is now called lib_ABIVersion and this one can
554 be used to distinguish between 68k and PPC code. With OS3/OS4 there is no
555 more peeking around in jump vectors. Even the crashes with some libraries
556 are gone now. Thanks to Jörg Strohmayer for that hint.
559 2005-07-06 Thore Boeckelmann <tboeckel@gmx.de>
560 * scout_devices.c, scout_libraries.c: the newly introduced code type recog-
561 nition had some flaws in general. First, all elements of a list entry
562 like "struct LibraryEntry" MUST be arrays, because these entries may be
563 transferred over a network (yes, Scout still has network support!!) and
564 the receiving machine must be able to access these data. Hence pointers
565 are forbidden. The only exception are pointers which are never accessed
566 by the receiver like "LibraryEntry->le_Addr". This is also the reason why
567 you cannot get detailed information why monitoring a machine via the net-
569 Second (this only applies for OS4), even 68k programs like Scout can
570 detect if a library/device uses 68k or PPC code, hence there is no reason
571 why a 68k Scout binary should detect all libraries/devices as 68k. Un-
572 fortunately not all libraries available for OS4 have a 68k vector table.
573 diskcache.library is one of these candidates and there might be illegal
574 accesses when Scout tries to detect the code type. But at least currently
575 the code type of all libraries/devices is detected correctly.
576 Third, the catalog contains separate strings for devices and libraries.
579 2005-07-06 Thore Boeckelmann <tboeckel@gmx.de>
580 * scout_extras.c: the nonetest() function now explicitly checks for CRs and
581 LFs in the checked strings, because locale/IsPrint() no longer returns
582 TRUE with OS4's locale.library 51.12+ for certain control characters.
585 2005-07-02 Ilkka Lehtoranta <ilkleht@isoveli.org>
586 * scout_devices_detail.c, scout_libraries_detail.c: Identifies new LIBF_#?
587 flags (MorphOS/AmigaOS4).
590 2005-07-01 Ilkka Lehtoranta <ilkleht@isoveli.org>
591 * scout_libraries.c, scout_devices.c: Now detects and reports codetype
592 (PPC/68k) of libraries and devices. Codetype is determined by checking
593 LibOpen vector. PowerUp/WarpUp libraries are not detected but they always
594 have 68k startup code anyway.
595 * Locale/scout.cd: Added new strings for codetype.
598 2005-06-19 Ilkka Lehtoranta <ilkleht@isoveli.org>
599 * scout_extras.h: struct JumpEntry was not packed and jump table entries
600 were displayed wrong when using PPC native Scout.
601 * scout_functions.c: detects and accept SysV jump table entries in MorphOS
602 (they start with 0x4afc instead of 0x4ef9).
603 * scout_arexx.c: Flush task pool (MorphOS) before RemTask() and hope the
607 2005-06-03 Nicolas Sallin <henes@biclodon.com>
608 * scout_catalogs.c: MorphOS has no sys/c.catalog and stores the catalog list
609 like AmigaOS3, so the new code is only used on AmigaOS4.
612 2005-05-26 Thore Boeckelmann <tboeckel@gmx.de>
613 * scout_tasks.c: the CPU usage cycler is now disabled with AmigaOS4 instead
614 of just leaving out the impossible items.
615 * scout_devices_detail.c: added some saftey checks when retrieving the NSD
619 2005-05-26 Thore Boeckelmann <tboeckel@gmx.de>
620 * scout_catalogs.c: the library structure of locale.library of course has
621 changed in AmigaOS4. Therefore the old way to get the list of opened
622 catalogs MUST have failed. Now Scout tries a more compatible way, but
623 this requires that at least one known catalog, namely sys/c.catalog, is
624 available and can be opened. But this should be possible for any machine.
627 2005-04-18 Ilkka Lehtoranta <ilkleht@isoveli.org>
628 * MorphOS native netlib.a was corrupt and had wrong name. Deleted
629 netlib.a and imported libnet.a.
632 2005-04-11 Nicolas Sallin <henes@biclodon.com>
633 * scount_mount.c: exchanged IsFileSystem() and IsValidFSSM() positions.
634 IsValidFSSM() must be first.
637 2005-04-11 Harry Sintonen <sintonen@iki.fi>
638 * scout_mount.c, scout_mount_detail.c: Scanning the DOS device list was
639 still broken by design; it would have died horribly if some doslist
640 entry was freed or modified. Now the code is fairly bulletproof: All
641 data is copied to memory buffers while keeping the DOS device list lock
642 *and* without breaking Forbid(). The only potential problem can arise
643 from trying to display dol_Startup of freed entry.
644 Also, calling IsFileSystem() for all DOS device list entries is unwise,
645 as it can (and will) deadlock with certain entries.
646 * scout_mount_detail.c: Fixed Capacity to really display only >10 GB
647 partitions using gigabytes. 32bit number can't hold 10000*1024*1024.
648 * task_button.c: Don't read random memory if the task disappears. It can
649 still happen that another task gets allocated with identical tcb
653 2005-04-06 Thore Boeckelmann <tboeckel@gmx.de>
654 * scout_ports.c: AmigaOS4 seems to have some more flags defined for
655 mp_Flags. Therefore we only obey the lower two bits of this value, since
656 only these give a valid result.
659 2005-03-29 Thore Boeckelmann <tboeckel@gmx.de>
660 * scout_mount.c: the Lock() problem doesn't exist anymore and my workaround
661 using Open() and DupLockFromFH() was even worse. It always marked all
662 valid partitions as "unreadable". Ooops. Now we are back to the old state.
665 2005-03-29 Thore Boeckelmann <tboeckel@gmx.de>
666 * scout_mount.c: the scanning of the DOS device list was completely broken
667 by design. Although Scout used the official API it would sooner or later
668 break a Forbid(), which is implicitly called by LockDosList(). Now we
669 first scan the device list and build our own list. After that we obtain
670 all necessary information from the device node without breaking a
671 Forbid(). At least I hope :). Thanks to Colin Wenzel for this hint.
674 2005-03-19 Thore Boeckelmann <tboeckel@gmx.de>
675 * scout_mount.c, scout_mount_detail.c: added IsFileSystem() as an
676 additional check for *real* filesystems. Devices like PAR: or SER:
677 should not pass this test.
680 2005-03-19 Thore Boeckelmann <tboeckel@gmx.de>
681 * PAR: and SER: seem to be created a little bit strange under OS4. At
682 least these have a full featured FSSM, which is complete non-sense.
683 Unfortunately this made Scout hang on trying to Lock() such a thing.
684 Instead we now try to Open() this thing first, and after that we
685 DupLockFromFH() to get the required Lock. And this one fails "normally".
688 2005-03-15 Nicolas Sallin <henes@biclodon.com>
689 * System_headers.h, scout_tasks.c: fixed the global cpu usage counter in
690 MorphOS. Patch submited by Christian Rosentreter.
693 2005-03-09 Thore Boeckelmann <tboeckel@gmx.de>
694 * for unknown node types the decimal value is now shown.
697 2005-02-06 Ilkka Lehtoranta <ilkleht@isoveli.org>
698 * imported MorphOS netlib.a, compiled from AmiTCP SDK netlib sources.
701 2004-02-03 Nicolas Sallin <henes@biclodon.com>
702 * The MorphOS makefile autogenerates identify.library stubs.
705 2004-12-06 Nicolas Sallin <henes@biclodon.com>
706 * français.ct: fixed the "Freeze" button to not share its shortcut with
710 2004-12-06 Nicolas Sallin <henes@biclodon.com>
711 * français.ct: fixed two buttons previously sharing the same key shortcut
714 2004-11-06 Thore Boeckelmann <tboeckel@gmx.de>
715 * all sources: completely removed the ITERATE_CHANGING_LIST macro, as this
716 one was broken by design. It was meant to iterate trough a list while
717 changing this list and keeping the next node in a second variable. But
718 my assumptions where wrong. Hence there is now a new function called
719 FreeLinkedList() which frees all nodes in a list in a really safe way.
722 2004-11-05 Thore Boeckelmann <tboeckel@gmx.de>
723 * scout_vectors.c: getting the AutoVector interrupts is impossible on an
724 A1, because this means to access the zero page, which is of course
727 * scout.c: added two new variables to distinguish between AmigaOS3,
728 AmigaOS4 and MorphOS more easily.
731 2004-10-20 Thore Boeckelmann <tboeckel@gmx.de>
732 * scout_tasks.c, scout.cd: the "Free Stack (PPC)" is now a string within
735 * scout_extras.c: the NameCopy() function doesn't convert the characters
736 to upper case itself anymore, but uses utility/ToUpper() for this task.
739 2004-10-20 Nicolas Sallin <henes@morphos.de>
740 * scout_system.c: don't read in the zero page to get the last alert data
744 2004-10-19 Thore Boeckelmann <tboeckel@gmx.de>
745 * scout_system.c: getting the last alert data under AmigaOS4 by reading
746 these values directly from the zero page is not very good, because this
747 makes the GrimReaper appear.
750 2004-10-19 Thore Boeckelmann <tboeckel@gmx.de>
751 * scout_asm.c, scout_asm.asm: removed SetVBR() from both sources, because
752 it was never called at all.
755 2004-10-17 Nicolas Sallin <henes@morphos.de>
756 * scout_asm.c: fixed a function name typo so the file compiles.
758 * scout_disassembler.c: added a missing emu trap needed by the MorphOS
762 2004-10-16 Thore Boeckelmann <tboeckel@gmx.de>
763 * scout_asm.c, scout_arexx.c: updated the MorphOS replacements for SetVBR()
764 and MyCause(). LowMemoryHandlers can now also be caused under MorphOS.
767 2004-10-15 Thore Boeckelmann <tboeckel@gmx.de>
768 * scout_asm.c: the latest fixes were somewhat incomplete and some functions
769 didn't match the given prototypes in scout_asm.h. This is fixed now. But
770 some functions like SetVBR() still have to be implemented to be complete.
773 2004-10-13 Thore Boeckelmann <tboeckel@gmx.de>
774 * scout_asm.c, scout_tasks.c: for MorphOS the CPU usage can now be
775 calculated on a per-task basis. The necessary changes have been
776 contributed by Ilkka Lehtoranta <ilkleht@isoveli.org>. I hope it works,
777 because I am still using an old classic A4000.
780 2004-10-10 Thore Boeckelmann <tboeckel@gmx.de>
781 * scout_tasks.c: for AmigaOS4 the CPU usage cycler now shows only the "off"
782 string, because AmigaOS4/PPC doesn't like Scout's current way to get the
783 CPU usage. For AmigaOS3 and MorphOS all three entries are still
786 * moved the function NameCopy() from scout_asm.c to scout_extra.c and
787 removed the corresponding assembler function from scout_asm.asm
790 2004-07-09 Thore Boeckelmann <tboeckel@gmx.de>
791 * moved the .cd and .ct files to a new directory
794 2004-06-29 Thore Boeckelmann <tboeckel@gmx.de>
795 * finally the french translation is completed. Many thanks to Herve
796 <herve.dpt@free.fr> for all his efforts!
799 2004-05-31 Thore Boeckelmann <tboeckel@gmx.de>
800 * scout_mount.h: the string for the disk state was limited to 16 characters,
801 which was a little bit too short for the french translation. Now its size
802 should be sufficient even for the most detailed languages :)
805 2004-05-17 Thore Boeckelmann <tboeckel@gmx.de>
806 * scout.cd, scout_audiomode_detail.c, scout_commodity_detail.c,
807 scout_mount_detail.c, scout_screenmode_detail.c: small modifications
811 2004-05-08 Thore Boeckelmann <tboeckel@gmx.de>
812 * classes/scout_system.c: the uptime information still contained a date
813 string, although just the time string would suffice. Now the uptime is
814 displayed as number of days and hours online.
817 2004-05-07 Thore Boeckelmann <tboeckel@gmx.de>
818 * tblib/SDI_compiler.h: SAVEDS was defined as __saveds even for MorphOS.
819 Now it is defined as nothing, because MorphOS doesn't need it.
822 2004-05-07 Thore Boeckelmann <tboeckel@gmx.de>
823 * Scout should be almost 99.99% natively buildable under MorphOS now. A few
824 things may be missing, but that should be fixed quite soon. Thanks to
825 Nicolas Sallin <henes@morphos.de> for all his work.
827 * all sources: all hook functions and dispatchers have been changed to be
828 callable under all Amiga-ish operating systems (that is AmigaOS 3.x,
829 AmigaOS 4.x, MorphOS). That should make porting to Scout to AmigaOS 4.x
830 and MorphOS a lot easier. Therefore Dirk Stöckers SDI_compiler.h is used
831 in favour of the old CompilerSpecific.h.
833 * scout_allocations.c, scout_system.c: the complete window layout has been
834 rearranged to make it look more similar like all the other windows and to
835 make translation of several strings easier.
837 * Scout is going to be 100% localized. A french translation is on its way,
838 a german translation will be done by myself (I hope :). Volunteers for
839 other languages are welcome!
842 2004-04-07 Thore Boeckelmann <tboeckel@gmx.de>
843 * fontdisplay_class.c: the font example text was rendered outside of the
844 desired area because of wrong clipping rectangles. It's a shame that
845 MUI's own clipping functions are not documented in any way :(
848 2004-04-04 Thore Boeckelmann <tboeckel@gmx.de>
849 * scout_extras.c: again changed the name checking function. Now it uses the
850 current locale settings to check each character in a name. This is much
851 better than the previous approach, which just could detect 7bit-ASCII
852 characters. Now all printable characters are really displayed.
855 2004-04-03 Thore Boeckelmann <tboeckel@gmx.de>
856 * just a little note: I finished my diploma, hence my EMail address has
859 * scout_extras.c: the name test function is now a little bit more sensible
860 about invalid characters and will detect more invalid names.
863 2004-02-16 Thore Boeckelmann <tboeckel@uni-paderborn.de>
865 * scout_priority.c: the priority slider is now the active object by default
867 2004-02-12 Thore Boeckelmann <tboeckel@uni-paderborn.de>
869 * scout_locks.c: corrected the label position for the pattern string
871 * tblib/memory*.c: very little changes. Somehow ExecBase wasn't defined
874 2004-02-11 Thore Boeckelmann <tboeckel@uni-paderborn.de>
876 * scout_windows.c: before opening the detail window the existance of a
877 screen or window is checked. This behaviour must be implemented for all
878 kinds of detail windows (if possible).
880 * scout.cd: added 2 new string for the task window: "CPU" and "Secs"
882 * scout_tasks.c: finally made the CPU monitor a bit more resistive. Crashes
883 should not happen anymore.
885 * scout_asm.asm: replaced some Forbid()/Permit() pairs by Disable()/Enable()
886 and added a call to CacheClearU() after installing/removing the patches.
887 This should cure some problems and crashes, if they existed at all.
890 2004-02-08 Thore Boeckelmann <tboeckel@uni-paderborn.de>
892 * scout_tasks.c: rearranged the scanning of exec's task lists (ready,
893 waiting, active), because sometimes the task "input.device" was missing. I
894 don't know why this happened, but it seems to be cured now.
897 2004-01-18 Thore Boeckelmann <tboeckel@uni-paderborn.de>
899 * various sources: corrected the copyright informations to 2004 and "Scout
902 * scout_about.c, scout_version.c: the about requester now shows the homepage
903 URL at sourceforge.net. If Urltext.mcc is available you can click on the
904 URL and you will be beamed directly to that URL :)
906 * Scout.c, scout_main.c, scout_extras.c: expanded CheckMCCVersion() to
907 display an error requester for outdated custom classes only in certain
911 2004-01-03 Thore Boeckelmann <tboeckel@uni-paderborn.de>
913 * various sources: removed MEMF_PUBLIC flag from all memory allocations. If
914 I am correct, this will be better for OS4.0, and it doesn't cause any harm
918 2003-12-21 Thore Boeckelmann <tboeckel@uni-paderborn.de>
920 * scout_tasks.c: the time string parsing routine was buggy and could cause
921 crashes under certain conditions. The new routine also handles strings
922 with missing numbers correctly (i.e. ".9", "1.", etc).
925 2003-11-03 Thore Boeckelmann <tboeckel@uni-paderborn.de>
927 * scout_expansions_detail.c: very minor changes for some fields
930 2003-10-29 Thore Boeckelmann <tboeckel@uni-paderborn.de>
932 * scout_commodities_detail.c: NewMouse events are now supported, too. Please
933 notify me if they are interpreted wrong, because I still only have a
934 standard two-button mouse from C=.
937 2003-10-07 Thore Boeckelmann <tboeckel@uni-paderborn.de>
939 * scout_devices.c, scout_devices_detail.c, scout_libraries.c,
940 scout_libraries_detail.c, scout_resources.c, scout_resources_detail.c,
941 scout_extras.c: the number of functions in RAM instead of ROM is now
942 always displayed in decimal notation. No more "***" if all functions are
943 RAM based. The detail windows show the ratio of RAM based vectors to ROM
947 2003-10-03 Thore Boeckelmann <tboeckel@uni-paderborn.de>
949 * scout_expansion.c: the expansion list now has an own column for the
950 product class instead of merging this with the product name
952 * scout_tasks_detail.c: added CLI specific information group
954 * scout_net.c, all classes: changes some minor quirks in the networking
955 code. Anyway, network support is still far from being perfect.
957 * several classes: changed list behaviour in network remote mode not to
958 react on double clicks. The "More" button in these windows already
959 reflected this behaviour.
962 2003-10-01 AmiS <amis@amiga.org.ru>
964 * Scout.c, scout_extras.c: added Miami(Dx) support
967 2003-09-24 Thore Boeckelmann <tboeckel@uni-paderborn.de>
969 * scout_commodities_detail.c: added some more known hotkeys. Even key
970 releases (upstroke) are now recognized.
973 2003-09-23 Thore Boeckelmann <tboeckel@uni-paderborn.de>
975 * scout_inputhandlers_detail.c, scout_lowmemory_detail.c,
976 scout_resethandlers_detail.c: added new detail windows to make disassemble
977 and hexdump buttons for is_Code and is_Data entries of the interrupt
981 2003-09-22 Thore Boeckelmann <tboeckel@uni-paderborn.de>
983 * scout_audiomode_detail.c: restructured detail window
986 2003-09-19 Thore Boeckelmann <tboeckel@uni-paderborn.de>
988 * scout_classes_detail.c, scout_interrupts_detail.c. scout_mounts_detail.c,
989 scout_residents_detail.c, scout_tasks_detail.c, scout_windows_detail.c,
990 scout_disassembler.c, disassembler_button.c: extended Disassembler window
991 and button to be able to show arbitrary data in memory as hexdump. This is
992 quite handy for structure elements like "UserData" and similar.
995 2003-09-18 Thore Boeckelmann <tboeckel@uni-paderborn.de>
997 * scout_commodities_detail.c: mco_Port can now be shown via the new
1000 * scout_windows_detail.c: WindowPort and UserPort of a window can now be
1001 shown via the new PortButton class
1003 * port_button.c: new class to show included MsgPort structures
1005 * scout_tasks_detail.c: pr_ConsoleTask and pr_FileSystemTask entries
1006 can now be shown as tasks
1008 * scout_tasks_detail.c: pr_CurrentDir and pr_HomeDir entries are now shown
1009 as path names instead of addresses.
1011 * task_button.c: added MUIA_TaskButton_IsProcessPointer to be able to
1012 distinguish between Exec and DOS tasks.
1015 2003-09-16 Thore Boeckelmann <tboeckel@uni-paderborn.de>
1017 * scout_screenmode_detail.c, scout_tasks_detail.c: restructured detail
1021 2003-09-11 Thore Boeckelmann <tboeckel@uni-paderborn.de>
1023 * scout_commodities_detail.c: the sub object list now tries to decode hotkey
1024 events. For ~99% of all combinations this try is successfull. Please eMail
1025 me if you encounter unknown combinations and know *for* *sure* what it
1026 should be (this means you are the developer of a certain application :)
1029 2003-09-08 Thore Boeckelmann <tboeckel@uni-paderborn.de>
1031 * scout_classes_detail.c, scout_commodities_detail.c,
1032 scout_expansions_detail.c, scout_memory_detail.c,
1033 scout_mounts_detail.c, scout_residents_detail.c,
1034 scout_windows_detail.c:
1035 restructured detail windows
1038 2003-09-08 Thore Boeckelmann <tboeckel@uni-paderborn.de>
1040 * scout_fonts_detail.c, scout_interrupts_detail.c, scout_ports_detail.c:
1041 restructured detail windows
1044 2003-09-04 Thore Boeckelmann <tboeckel@uni-paderborn.de>
1046 * began to restructure the appearance of some detail windows. These windows
1047 now use virtual groups with one information item in each line. Thus it is
1048 a lot easier to add more information items if needed without having to
1049 think how to layout the whole window afterwards. Additionally the
1050 misalignment that sometimes occured between information label and
1051 information item is now gone and it is very easy to implement more
1052 "detail" buttons like the Flags button or the Task button. If you don't
1053 understand what the news above mean, simply try it and see yourself. I
1054 hope all becomes clean then.
1057 2003-09-03 Thore Boeckelmann <tboeckel@uni-paderborn.de>
1059 * the Task button now shows the address of unknown tasks instead of "<no
1062 * all scrollbars of NList lists are now *always* visible, regardless of what
1063 you configured via the MUI preferences. This avoids a nasty bug in
1064 NList.mcc and NListtree.mcc that causes the list/tree to give wrong
1065 minimal sizes and thus making MUI paint these lists/trees over other GUI
1066 elements. This has been reported by various people, but this is in fact no
1067 bug in Scout, but in NList.mcc and NListtree.mcc!
1070 2003-09-01 Thore Boeckelmann <tboeckel@uni-paderborn.de>
1072 * new class TaskButton encapsulates all kind of embedded task pointers (like
1073 in message ports). Press on a task button and a detail window for this
1074 task will be opened.
1077 2003-08-31 Thore Boeckelmann <tboeckel@uni-paderborn.de>
1079 * new class FlagsButton encapsulates all kind of flags (screen flags, window
1080 flags, library flags, etc). This reduces code size about 2K and simplifies
1081 code handling a lot.
1084 2003-08-28 Thore Boeckelmann <tboeckel@uni-paderborn.de>
1086 * inital import of the complete source. Now Scout is real "open source" :)
1088 * these are the changes made so far since the most recent Aminet release:
1090 - the system's reset vectors are no longer simple labels with addresses,
1091 but buttons. When you press one, you will get a disassembly of the
1092 corresponding address. This feature only works if you have THOR's
1093 disassembler.library V40 installed. If this one is missing you will get
1094 a simple hex dump of the memory area.
1096 - Exec's resident modules are now sorted by priority by default. This
1097 seems to be a bit more intuitive than keeping one part of the list
1098 sorted by priority and the other part not sorted at all. Of course, the
1099 entries that are contained in both lists (KickTagPtr and ResModules)
1100 still appear twice, once from ResModules (normal) and once from
1101 KickTagPtr (highlighted).
1103 - resident commands with more than 2 hunks were enumerated wrongly, e.g
1104 they had two hunks labeled "number 2". This is fixed now.
1106 - the Mounts window seemed to crash MorphOS because of uncorrectly
1107 interpreted FileSysStartMsg pointers. Now there are lots of checks to
1108 ensure Scout handles only correct FSSMs (Harry Sintonen
1111 - the KickTagPtr list has been iterated completely wrong. Now this is
1112 corrected and all resident entries should be displayed (Chris Hodges
1113 <chrisly@platon42.de>).
1115 - public screens with open windows can now be closed. This was impossible
1116 before, because Intuition V36 doesn't let you close a screen with opened
1117 windows. The situation is even worse for public screens which have a
1118 visitor counter. Now all locks to a public screen are unlocked before
1121 - timers can now be aborted. Thus you can speed up timeouts :)
1123 - the remaining running times in the Timer window were completely wrong
1124 due to wrong 64bit arithmetic and overflows. All calculations are now
1125 done by special 64bit math routines, which were already used in the
1126 Mounts window to calculate the correct volume size.
1128 - the LowMemory window can now Cause() a specific handler. This had been
1129 implemented for ages, but for unknown reasons Richard Körber had
1130 disabled this function. Now it is back again :)
1132 - lots of code cleanups. Many unused and superflous variables have been
1133 deleted, many libraries are only opened when needed, etc.
1135 - some lists are now printed/saved to file in sorted order instead of
1136 random order. This makes it a lot easier to look for certain entries.
1137 Some other lists are still printed/saved in random order, because
1138 sorting them by name makes no sense, since they are sorted by priority.
1140 - some lists were totally screwed up when being printed to a file.
1142 - the font display used wrong color on some system, so you didn't see
1143 anything (Stellan <blakkhar@nwn.de>).