💾 Archived View for mirrors.apple2.org.za › active › ftp.apple.asimov.net › images › disk_utils › Sl… captured on 2023-01-29 at 06:38:42.

View Raw

More Information

-=-=-=-=-=-=-

                   SlotScan Notes - Version 1.62

This program is Freeware.  This means that you may copy it to your
heart's content, and give it to everyone you know, as long as you
DON'T sell it, change it in any way, disassemble or reverse-engineer
it, use it for commercial purposes, or incorporate it in or with any
other product without my express written permission.  Other than that,
go gangbusters!

Synopsis & Description
----------------------
This program, which will run on any computer with 16k (!), will tell you
what kind and version of Apple computer you have, and tells you how much
memory you have.  What gives this program it's name, though, is the fact
that it scans your computer's slots and/or ports, telling you what is
present in each one.  It will describe in detail the individual devices
attached to SmartPort cards or ports, and SCSI cards which may be in your
system.  It will identify the capacity of any drives which are supported
by ProDOS.  See the Examples section below for more information.

Usage
-----
Under ProDOS, just launch it from any GS or 8-bit program launcher, or
run it from BASIC (via '-').  If you run it from BASIC.System, the
program will quit back to BASIC. Otherwise, the program QUITs, which
should take you back to your program launcher.  Pretty simple, eh?

If, for some reason, you transfer SlotScan to DOS 3.3, it will work
there too.  It does require at least 16k in order to run, though.  This
is probably how you will have to run it on a ][ or ][+.

If you have some SmartPort or SCSI devices, you can easily have more
equipment than will fit on the screen at once.  If the screen becomes
full, you will see a prompt to press a key, after which the program
will continue displaying information where it left off.

If you want a printout of what SlotScan has found, and you have at
least one serial or parallel slot or port in your machine, you just
run the program, wait until all of the information has been displayed,
and you will see the prompt "Done.  Press any key to Continue, or
Control-P to get a printout _".  At this time, hold down the Control
key and press the P key.  You will then be asked where to send the
printout.  Just press the number of the slot/port, or Return for the
first number listed.  You can also press Escape if you change your
mind.  NOTE:  If you choose a serial card or port, then it should be
configured correctly for the attached printer.  For something
compatable with the Super Serial Card, it should be set for printer
instead of terminal or modem, or you may see printer output on the
screen, as well.

Examples
--------
The first thing SlotScan tells you about is the type and version of
computer it's being run on.  For example, you will see:

Apple Computer Type: IIgs, Rom Ver 2 (Update ROM in Orig. Motherboard)

if you have a ROM 01 machine (SlotScan numbers ROM versions starting
at 1 instead of 0, which is the way Apple seems to want them now).  If
you have the first //c version which supports the UniDisk, you will
see:  "//c, ROM Ver 2 (3.5 disk suppt.)" for the type.

The next thing SlotScan tells you is the type of CPU your computer
has.  For example, you will see:

Processor type: 65c02

if you have an enhanced //e or //c (or upgraded your processor in a ][+
or original //e, for example).  If you've installed the Rockwell version
of the 65c02, then you will see "Rockwell 65c02".

SlotScan then tells you how much RAM your computer has.  If you have
768k or more, SlotScan also tells you the memory size in Megabytes.
Memory on bank-switched cards for the //e & //c ("Aux-slot" cards), such
as the RamWorks and CheckMate series or other compatable brands, is
included in the total.  Memory in slot cards, such as Apple's Memory
Expansion Card, the RamFactor or a RAMdisk card in newer //c's, will
be reported in the next section.

SlotScan then scans your slots to see what's in them.  If you have a
//c or a //e card in a Mac, all references to slots become ports.
On a IIgs, each slot or port is listed according to how you've set them
up in the Control Panel.  If you have a Super Serial Card, or a serial
port on a //c or IIgs, you will see an entry like the following:

Slot 1: Serial Card (#1)

The number in parenthesis is the "manufacturer ID" according to older
documentation, but it isn't consistently used.  All "Pascal" devices
have this attribute, and it's just printed for your curiosity.
Incidentally, there are 9 known types of Pascal devices, but only X-Y
pointing (mouse), serial, printer, and 80-column card/ports are widely
used.

For a 5.25" disk drive controller, you will see something like the
following:

Slot 6: Disk ][ Card
        Device Size: 280 Blocks (140K)

It is difficult to reliably tell how many 5.25" drives are attached to
a Disk ][ card, especially with non-Apple drives, so SlotScan doesn't
give information by drive.  For a SmartPort card with a UniDisk 3.5
attached, you would see something like the following (some of this
information isn't displayed on the screen if you can't display 80
columns):

Slot 5: SmartPort Card: 1 device found
        Manufacturer #0 (Unknown)
        Device 1: "DISK 3.5", Size: 1600 Blocks (800K)
             Type: 3.5 inch drive    Version 1.00
             Addl. info: Removable

while for a SmartPort in a IIgs, you might see something like the
following:

Port 5: Extended SmartPort: 2 devices found
        Manufacturer #1 (Apple)
        Device 1: "DISK 3.5", Size: 1600 Blocks (800K)
             Type: 3.5 inch drive    Version 1.00
             Addl. info: Extended, Disk Switch Err Suppd., Removable
        Device 2: "RAMDISK", Size: 1536 Blocks (768K)
             Type: Mem. Expansion    Version 1.00
             Addl. info: Extended, Disk Switch Err Suppd.

Basically, this tells you what the devices attached to the SmartPort
call themselves, what their capacity is, what type of device they are,
and what version they are.  the additional info tells more about the
capabilities of the device.  Extended means the device understands
extended versions of the SmartPort commands.  Disk Switch Err Suppd.
means the device knows and can tell the operating system when the disk
has been switched with another between accesses.  Removable and
Non-Removable describe whether you can take out the disk or not.  The
SmartPort controller itself be Extended, which means extended
SmartPort commands can be sent to it (from anywhere in memory on a
IIgs).  It can also be SCSI, which means it's a SCSI card, or RamDisk,
which means it's a dedicated RamDisk.  The Manufacturer # is reported
by the controller, but only by newer controllers, since Apple only
defined it relatively recently.  For example, on a ROM 2 GS, the
manufacturer is given as unknown for the internal SmartPort.

Problems & TechStuff
--------------------
SlotScan only uses the most significant 4 bits when calculating the
fractional part of "Meg" displays.  The net result of this is that the
number in k will be effectively rounded down to the nearest 64k before
the amount in megabytes is calculated.  All this means is that the
number after the decimal point won't be completely accurate if the
quantity being displayed isn't a multiple of 64k.

SlotScan will use an 80-column card/port in slot/port 3, if it finds
one. Otherwise, it uses 40 columns and doesn't display some of the
technical information about SmartPort or SCSI devices.  SlotScan will
always display all information to the printer, though.

SlotScan uses whatever defaults your printer and card/port is set to
for the printout.  Your printer should be capable of printing 80
characters across, and be at the top of the page when you tell
SlotScan to print. Either the controller card or the printer should
supply linefeeds with carriage returns, or everything will be printed
on one line.  The printer should also be set to ignore the 'high' bit.

SlotScan currently displays information in mixed upper and lower case.
If you have a ][ or ][+ without lower case capability, let me know and
I'll see about fixing the program for you.

SlotScan will technically fit in a computer with only 12k, but will
report an error if there is less than 16k.  Note that on a 16k or 20k
machine, DOS 3.3 resides where SlotScan needs to be, so you will need
to get it into memory some other way, such as from tape, or relocating
it to $2000 from lower in memory.

SlotScan checks for main memory in a ][/][+ in 4k chunks (starting at
16k), so even old ]['s that can use 4k RAM chips will have their memory
reported correctly.  SlotScan only checks for "language card" RAM if it
finds 48k in main memory, since this is the only time such memory is
likely to be there.  If you DO have a computer that has less than 48k
in main memory, along with a 16k card, let me know, and I'll change
how SlotScan works.

As far as I know, there aren't any bugs, so let me know if something
odd happens.  The program identifies computers the "Official Apple
Way", so any clones will probably be identified as ][ or ][+'s.  If
you have a clone that you want SlotScan to identify, go ahead and send
me info on how to identify your clone, and I will probably incorporate
it into the next version.

For //c's, IIgs's, and the //e card for the Mac, SlotScan will also
identify the ROM version.  Additionally, for ROM versions that the
program knows about, it will print a short description of that version.

SlotScan decides if it was called from BASIC by examining the Reset
vector.  If this is changed, then SlotScan will QUIT, which will
return you to the program that ran BASIC.System, if any.  If SlotScan
determines that it was not run from ProDOS (i.e., DOS 3.3 or (gasp!)
cassette), then it just does an RTS.

Finding Me, and a Non-standard Plea
-----------------------------------
This software is Freeware, and you are under _no_ obligation to pay me
anything. If, however, you like this program and want to compensate me
for writing it, send whatever you think it's worth, and you'll become
a registered user.

If you enjoyed this software, have suggestions for enhancements or
improvements, want to report bugs, or send piles of money, my address
is:
     Robert S. Claney
     2370-E Shady Oaks Rd
     Marshalltown, IA  50158-9575

I can also be reached at the following locations:
     Internet:        claney@iastate.edu
                      txa84@isuvax.iastate.edu

Version History
---------------
Version 1.62
Actually check how much base memory there is, instead of always
assuming 64k.  (This also includes checking for the 16k upper-memory
card.)  Add Cirtech to the list of known SmartPort manufacturer #'s.
Print a text error message for the "no device connected" SmartPort
error, since it's likely to come up.

Version 1.61
Fix bug (introduced by me) in the processor id code, so it doesn't
crash when run on a non-Rockwell 65c02.  Change the code so that
it actually determines whether it's running on a 65c802 or a 65c816,
instead of just cheating by assuming only a IIgs has a 65c816.  Fix
problem when printing where the full-screen prompt would appear after
255 lines (yea, unlikely to come up, but just in case).

Version 1.60
Add processor type id code (from David Wilson).  Check to see if
ProDOS is there before QUITting to it, to allow ourselves to be run
from DOS 3.3, etc.  Clean up some text.

Version 1.59
Add code to detect & report on memory found in aux-slot RAM cards for
//e & //c series.  Report the manufacturer number for SmartPort
devices, & the name if known.  Fix bug with Pascal Printer card id.
Fix bug with SmartPort device name printing with "unusual" lengths.
Correct spelling mistakes.

Version 1.56
No longer try to validate SmartPort version #'s, so versions like 0.10
will print correctly.  Fix bug where a Pascal Printer card wasn't an
allowable destination to print to.

Version 1.54
Minor changes to some displayed text, such as for the //e card for the
Mac, which can go in more than just an LC, so no longer say "Mac LC".
Also change description of number of devices for SmartPorts to say
"found" instead of "online", since it could be confusing to users, &
someone asked for it.  Bring docs in line with current program version.

Version 1.53
Fix the display of the header for the printer.  Touch up a couple of
display items.  Add code to detect the Apple /// (because someone
actually wanted it!).

Version 1.51
Add code to detect running on the //e card for the Mac LC (& correctly
identify the ports as such).

Version 1.50
Rip out and rewrite decimal number display code to work much faster,
and permit displaying full internal range (10 digits).  Move SmartPort
buffer to avoid nonstandard SP implementations' overwriting important
stuff.  Consolidate some code.

Version 1.45
Add option to print information to any "normal" printer slot / port.
Consolidate memory display code.  Display disk mem in megs if > 1024k.
Expand accuracy of decimal meg displays to 4 bits, and round up from
block to k conversion.  Change semi-intelligant drive code to display
size info even when given an error (except no device).  Expand dox.

Version 1.40
First widely available version.  Improve descriptors for gs & c
versions, & bring them up to date.  Touch up code.  Write dox.

Version 1.10 - 1.3x
Convert entire program to machine language.  Allow code to work w/o 80
columns, changing displays where nessessary.  Make pretty icon for
program.  Put in pauses when screen is full.  Add undocumented Restart
option for people who actually read this.  Print the Subtype info for
SmartPort devices.  Expand the Type descriptors to cover newer SCSI
devices.  Handle case of 0 devices on SmartPort.

Version 1.0x
First completed version.  Add the "Manufacturer's ID" to Pascal
devices (because it's there).  Add ROM descriptors for //c & IIgs.  ML
code finalized.

Legal Absurdities
-----------------
This document is Copyright 1991-1994, and the accompanying software is
Copyright 1989-1994, by Robert S. Claney.

This software may only be used for non-commercial purposes.  Contact
me, otherwise.

Apple, ProDOS, and Apple IIGS are registered trademarks, and GS/OS is
a trademark, of Apple Computer, Inc.

RamWorks is a registered trademark, and RamFactor is a trademark, of
Applied Engineering, Inc.

Any other names are trademarks or registered trademarks of their
respective companies.