Identify-][

Identify-II:right
Identify-][ is an easy to use hardware detection tool for all types of Apple II computers with a floppy drive.

The software runs directly from 5.25” floppy. There is a DOS 3.3 and a ProDOS version with identical detection scope. However, the ProDOS version requires 64kB of RAM so for 48kB systems only the DOS 3.3 version can be used!

After booting the hardware detection will be performed automatically. After successful detection the machine type detected is shown. This is the only point where the tool needs some user input in form of a keypress in order to proceed to the detection results screen.



System Requirements

  • All types of Apple II machines
  • 5.25” disk drive or floppy emulator

Warning

Users with an Integer Basic machine should just type "BRUN HWDETECT" after booting and getting a 'missing language' error when trying to run the AppleSoft startup program. The hardware detection tool can be run directly from the command line on these machines.

Note

The detection scope of the DOS 3.3 and ProDOS-version are identical.


Getting the Game

Physical Copy

Interested in a physical copy of the game on 5.25" floppy disk? Click the button below in order to purchase your physical copy (35€ including shipping and handling)! You will receive:

  • Physical 5.25" floppy (new old stock) with handmade disk sleeve and uniquely designed disk label in a retro ZipLoc bag
  • Color printed manual
  • Digital version of the game, PDF-files of manual, disk sleeve and disk label
  • Free 8-Bit-Shack sticker

Tip

Do you want buy a bundle of games? Drop us an email to get you a special tailored offer!

Digital DSK-Image

Interested in getting a digital version of the game for 10€ including digital versions of the manual, disk sleeve and disk label to produce your own physical copy of the game or play the game in your favourite emulator or to use it with your floppy emu? Get it fast and easily from our Digital Distributor:



Detection Scope and Features

Identify-II:right
Identify-II:right
Identify-II:right
The software detects the following machine details:

  • Machine Type:
    • Apple ][, Apple ][+
    • Apple //e, Apple //e enhanced
    • Apple //c, Apple //c+
    • Apple IIgs
  • CPU:
    • 6502, 65C02
    • 65816
    • 65802 as a best guess if a 16-bit processor gets detected in an Apple //e
  • RAM:
    • 48k RAM minimum
    • 16k Language Card
    • Enhanced 80column card with 64k RAM
    • SATURN RAM card
    • RAMExpress / ZRAM
  • Refresh rate: none / 50 Hz / 60 Hz
  • FastChip / ZIPChip: yes / no
  • Emulator Detection: yes / no
  • Joystick Detection: connected / not connected
  • Slot card Detection:
    • Scanning slots #1 to #7 on every system
    • Gives feedback about empty slots or unidentified cards
    • Scanning AUX slot on Apple //e, //c, IIgs computers for 80 column cards
    • Selection of detected cards: VidHD-card, Apple2-IO-RPi Card, BOOTi Card, RamFactor Card, CFFA 2000, CFFA 3000, Disk Drive 3,5" as SmartPort device, MicroDrive Turbo, CCS7710 asynchronuous serial card, Videx 80-column card ROM V2.3, Yellowstone Disk Controller
    • New cards will be added to the tool in the future! Check out this webpage for updates of ID2!

Extra: Tiny tool SLOTSUCKER which reads the ROM footprint of a card and saves it to a file on disk. It is possible to suck ROM data from SLOT AUX now if an 80-column card inserted in SLOT AUX is shown as unidentified on the results page. Please send us the ROM footprint of any unidentified cards if you like! Sorry, SLOTSUCKER is not available on Integer Basic machines!


Known Bugs and Limitations

Identify-II:right
Identify-II:right
Following constraints and limitations of the software are known up to now:

  • No RAM-disk support yet (to be included)
  • No detection of video cards (but VidHD!) or monitors
  • No detection of TransWarp GS and ZIPgsx yet (to be included)
  • A Saturn Card in Slot #0 can mess up correct RAM detection!
  • No detection of Apple II clones yet (to be included)
  • Only cards that deliver a ROM footprint can be detected by the tool unless there are other tricks that can be used. See e.g., below as examples the detection of a Z80-card, a MockingBoard or the SATURN RAM Card.
  • Modern cards that simulate other physical cards e.g., the MegaAudio from A2Heaven will not get detected since they show up in the ROM footprint only as the cards, they simulate so the simulated cards will get detected. Same is true for accelerator cards like the FastChip which do not leave a footprint in slot memory where it can be detected. Those cards won’t also get detected and likely will never be.
  • Hint: Users with an Integer Basic machine should just type "BRUN HWDETECT" after booting and getting an error when trying to run the AppleSoft startup program. The hardware detection tool can be run directly from the command line on this machines. Sorry, SLOTSUCKER is not available in Integer Basic yet!

There are for sure many yet unknown use cases that will show problematic or wrong behavior of the detection tool since detection possibilities are limited. Please report your findings to the email address given below. If you run into any problems when using the software with issues that are not reported here, please let me know: bugs@8bitshack.org


Credits

Identify-II:right

  • Code: Marc Golombeck
  • Graphics: Dan Henderson
  • Additional Advice: Dr. N. H. Cham










Technical Background

Part 1: Algorithm Overview

Identify-II:right
People kept asking how Identify-II (ID2) does all of its detection work. Hence, I decided to do a lose writeup about the program structure and single functionalities to give an insight how this tool works. The following texts were released exclusively in the CALL -151 Facebook group and are reprinted here as technical background information.

Basically ID2 is a collection of routines that do the single tasks. Many of them come from technical reference manuals or code snippets available in software code repositories or pages on the web (Google is your friend!). The joystick and emulator detection routines were my brain farts 😄.

The main program structure is simple. First, we disable interrupts and do the detection of the machine type. After that a "Please wait while loading..."-message is displayed for the user. Setting 80Store to OFF and ensure that MAIN RAM zero page is used we try to copy some program code to AUX memory if possible since some memory detection routines for RAM cards are executed in AUX memory.

After that we call a routine that is located in stack memory at $0100 which determines if AUX memory is available by checking if the before mentioned copy routine to AUX was performed "correctly".

Then the presence of a Z80-microprocessor is examined. The user is then presented with the ID2 LORES title screen. While hopefully enjoying the nice artwork from Daniel Henderson all of the other detection routines are performed with a blink of an eye.

After that the user is presented the "detection"-screen with the progress bar which - I really must admit it - was only introduced for visual appearance of the tool. While the progress bar is running, no further detection work takes place!

Depending on the detected machine a matching LORES graphic also done by Daniel is displayed. After pressing a key, the user is given the final detection results on the 40 column display .

In the upcoming parts of this writeup I will dissect some of the detection routines to further explain how the important information is collected from the system, showing the possibilities as well as the limits of hardware autodetection on the Apple II.

Parts 2-9:

These parts of the technical background description will be delivered exclusively with the printed manual of the tool when ordering a physical floppy disk!