AminetAminet
Search:
83476 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/virus/MAA4SIC.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:MOS/AROS/AOS4 System Info Collector
Author:schorsch.wittmann at gmx.de (Georg Wittmann)
Uploader:schorsch wittmann gmx de (Georg Wittmann)
Type:util/virus
Version:0.02
Architecture:m68k-amigaos
Date:2021-04-02
Download:http://aminet.net/util/virus/MAA4SIC.lha - View contents
Readme:http://aminet.net/util/virus/MAA4SIC.readme
Downloads:196

============================================================================
==        MorphOS/AROS/AmigaOS4.x System Information Collector 0.02       ==
==           to fix 'VirusZ' and 'xvs.library' for such systems           ==
============================================================================
==          Copyright © 2021 by Georg Wittmann (formerly Hörmann)         ==
============================================================================

After  15  years  of  doing  absolutely nothing on my Amiga, and many people
asking  me  again  and  again  if I would like to release the sourcecodes of
VirusZ and xvs.library, I now have decided to do so...

But  before  that, I finally want to fix VirusZ and xvs.library for MorphOS,
AROS  and  AmigaOS 4.x systems, and therefore I need some help as I actually
don't have any of these systems (only AROS inside WinUAE as m68k version).

So  this  is  why  I've written this small tool here.  MAA4SIC just collects
information  about  your  system  and dumps that to your Shell window.  Just
redirect the output to a file and send it to schorsch.wittmann at gmx.de if you
are running on MorphOS, AROS or AmigaOS 4.x.

----------------------------------------------------------------------------

For advanced users/coders/developers who want to help me out:  Here's what I
know  and  don't  know  about  the  systems  after studying the SDKs and the
assumptions that are currently made by MAA4SIC...

MorphOS
-------
This  is  the  best supported Amiga-like system by VirusZ and xvs.library as
Harry Sintonen helped me a lot with that stuff back in 2004.  But as I don't
know  if  my old stuff is still up-to-date, MorphOS will be scanned for some
information too.

First   of   all,  we  are  looking  for  a  romtag  called  "MorphOS"  with
FindResident(),   inside   which  we  find  the  version  and  revision  (if
RTB_EXTENDED is set) of the MorphOS system.

Then  we  are  scanning  the ResModules from ExecBase and look for locations
$f80000-$1000000  (Kickstart),  $10100000-$10800000  and $10800000-$11000000
(A-Box    modules).    Additionally   we   use   NewGetSystemAttrsA()   with
SYSTEMINFOTYPE_MODULE_START  and  SYSTEMINFOTYPE_MODULE_SIZE  to confirm the
location of the A-Box modules (if available).

What I still don't know about MorphOS:
- Are  there MorphOS systems that run on real Amigas?  I currently assume we
are  on  a Pegasos if MaxLocMem in ExecBase is 0, but on which other systems
this  is  the  same?  And are there any systems with MaxLocMem not 0?  Maybe
anyone can tell me...
- If a Kickstart is present, is this a normal Amiga Kickstart (size = 512kB)
or any other MorphOS-specific collection of romtags?
- What  is  inside  the  A-Box  modules  and are there any fixed things like
version  numbers,  sizes  etc.?   On Amiga ROMs, we have the size at $ffffec
(-$14  from  the  end of the ROM) and the version/revision at $c/$e from the
beginning.
- Is  a  Kickstart m68k code and the A-Box native code of the machine we run
on  or is everything native and only emulated for m68k programs inside their
bubble?
- MorphOS uses bit 31 to link ResModules, so they are fixed inside the first
2 GB of address space?

AROS
----
First we are looking for 'aros.library' v41+, then we call ArosInquireA() to
get some system info:
AI_ArosVersion  seems to deliver the version of aros.library, not of the ROM
itself
AI_ArosReleaseMajor is 1 on my system
AI_ArosReleaseMinor is 12 on my system, so we have AROS 1.12
AI_ArosReleaseDate, AI_ArosBuildDate, AI_ArosVariant and AI_ArosArchitecture
are not really important
AI_KickstartBase,       AI_KickstartSize,       AI_KickstartVersion      and
AI_KickstartRevision unfortunately deliver 0 on my system

After  that, we scan the MemList from ExecBase for entries called 'Kickstart
ROM',   here   we   find  2  entries  on  my  system,  $f80000-$1000000  and
$e00000-$e80000 that hold the two parts of the AROS kickstart.

What I don't know about AROS:
- Are the addresses of the ROMs fixed at $f80000 and $e00000 or can there be
different values on other machines than Amigas?
- At  $c/$e  from  the  beginning of my ROM, we have version 46.12.  Is that
value  really  used by AROS or just there to be Amiga-compatible as all AROS
ROMs I've found have this same value?
- Although  I have chip.memory in WinUAE from $0-$200000, and AROS creates a
MemList  entry  for  this,  MaxLocMem  in  ExecBase  is 0.  Is that a normal
behaviour?   Is  MaxLocMem  always  0  inside  AROS?   Or does that indicate
something?
- AROS links ResModules using bit 0 instead of bit 31 on m68k-machines, too?
Or  only on other machines?
- Is  the  assumption  that  MemList entries called 'Kickstart ROM' are what
they  are  called  correct?   Are  there  other similar definitions on other
machines?  Are there other parts of the system in other locations?

AmigaOS 4.x
-----------
We are looking for exec.library v50+ and assume AmigaOS 4.x if no MorphOS or
AROS has been detected before (v50-v52 is AmigaOS 4.0, v53 is AmigaOs 4.1).

Then  we  look  for  'biosversion.resource' and read the following values to
find  out  about  the  version  we  are  really  running  on:   bvr_Version,
bvr_DecodedMajor, bvr_DecodedMinor and bvr_DecodedPLevel

As  'biosversion.resource'  doesn't  seem  to  be present on all systems, we
additionally  look  for  'version.library'  which  is present on all AmigaOS
versions.   But  this  indicates  the  Workbench version only, I guess?  Are
there    any   more   (un)documented   definitions   or   functions   inside
'version.library' on OS 4.x?

Other information I got so far from different people (thanks a lot!):
Which  Kickstart  modules  are  loaded  at  boot-time  is  determined inside
'Kicklayout'   file  and  the  .kmod-files  in  Kickstart  drawer.   So  the
ResModules  from  ExecBase  originate  from  those .kmod-files, but they not
necessarily have the same names (eg. 'kernel' creates exec.library).

How  can  I find out in a running system where all the Kickstart modules are
really  located (other method than scanning ResModules which doesn't tell me
real  start  and end addresses)?  Are the modules in one big memory block or
just allocated one by one while being loaded by the main kernel?  Thus could
there  be  other parts of the system or 3rd-party programs between Kickstart
modules?

From  different  log-files  I  already got from MAA4SIC 0.01 I saw that most
ResModules  are  located  one  after  the other in a common memory area, but
others like device drivers are located in another memory region.

Can  the Kickstart modules be recognized via Exec's MemList (like 'Kickstart
ROM' in AROS)?

Is  there  any  public information about 'kernel' RomTag?  And could this be
used to determine Kickstart version?


Thanks in advance for any help...

----------------------------------------------------------------------------

Version 0.02:
- fixed bug in OS 4.x code, biosversion.resource information wasn't printed
  in 0.01 :-(
- increased the number of max. ResModules in Exec output, 100 seems to be
  reached easily with the newer OS versions...
- added a short dump of begin and end of A-Box modules on MorphOS systems
- added search for version.library to OS 4.x code
- improved output of ResModules, added more information
- added output for Exec-> MemList entries

============================================================================



Contents of util/virus/MAA4SIC.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[generic]                 2202    4076  54.0% -lh5- 837a Apr  2  1980 maa4sic/maa4sic
[generic]                 3176    7669  41.4% -lh5- 2a3d Apr  2  1980 MAA4SIC/MAA4SIC.readme
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         2 files    5378   11745  45.8%            Apr  3 01:45

Aminet © 1992-2021 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>