SlotScan Notes - Version 1.53 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 which will run ProDOS (8 or GS/OS), will tell you what kind and version of Apple computer you have, and tells you how much "normal" 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 ----- 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 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: //gs, 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. SlotScan then tells you how much RAM your computer has. If you have 1024k or more, SlotScan also tells you the memory size in Megabytes. NOTE: memory in bank-switch cards for the //e & //c, such as the RamWorks series or other brands, is not reported in your total memory, since I don't have any technical information on how to find or count such memory. Memory in slot cards, such as Apple's, 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, all references to slots become ports. On a //gs, 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 //gs, 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, 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) SlotScan can't currently tell whether you have 1 or 2 5.25" drives attached, so 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 online 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 //gs, you might see something like the following: Port 5: Extended SmartPort: 2 devices online 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 //gs). It can also be SCSI, which means it's a SCSI card, or RamDisk, which means it's a dedicated RamDisk. 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. 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. I don't consider this a bug. If you do, send me info on how to identify your clone, and I will probably incorporate it into the next version. For //c's, //gs's, and the //e card for the Mac LC, SlotScan will also identify the ROM version, and should continue to into the future, since Apple has been consistent (lately) with the way versions are indicated. Additionally, for ROM versions that the program knows about, it will print a short description of it. 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. 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: America Online: BobClaney Internet: bobclaney@aol.com txa84@isuvax.iastate.edu claney@iastate.edu Version History --------------- 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 & //gs. ML code finalized. Legal Absurdities ----------------- This document is Copyright 1991-1992, and the accompanying software is Copyright 1989-1992, 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.