Identify ][ - Automatische Hardwareerkennung für Apple II

  • Die Software arbeitet mit zwei (drei) unterschiedlichen Methoden. Die erste Methode ist es den zugehören ROM-Speicherbereich der Karte bei $Cx00 auszulesen und nach signifikanten Bytes zu suchen, die die Karte von anderen Karten unterscheidet. Die (dritte) Methode ist es nach Triggern des ROM-Bereichs im Bereich $C800 nach Informationen zu suchen.


    Die zweite Methode arbeitet mit speziellen Mechanismen, die die Karten bieten. RAM-Karten "antworten" zB nach Triggern bestimmter Adressen. Hierfür sind zahlreiche "Erkennungsfunktionen" implementiert worden, die ich aus entsprechender Dokumentation (oftmals originale Bedienungsanleitungen der Hersteller) entnommen habe. So können verschiedene Kartentypen abgebrüht werden. Hier gab es auch zahlreichen Input aus der "Community".


    Programme aus den 80ern wie zB den MECC Computer Inspector bilden wahrscheinlich aus dem ROM-Inhalt ab $Cx00 eine Art Checksumme indem sie einzelne signifikante Bytes addieren und damit einen 16-Bit-Wert generieren, der für einzelne Karten eindeutig ist. Diese Art der Erkennung erlaubt das Anlegen einer Datenbank mit Karten und der Benutzer kann hier selbst Karten abspeichern. Diese Funktion ist leider (noch) nicht in meinem Tool vorgesehen, wäre aber eine gute Erweiterung, da ich sowieso mit dem ROM-Bereichen ab $Cx00 arbeite. Hierdurch lassen sich aber nur Karten erkennen, die auch ein ROM haben. Für andere Karten muss man spezielle Funktionen entwickeln aber es werden sich dadurch nicht alle Karten erkennen lassen.

  • Hallo Albert,


    Du hinterfragst die Motivation für dieses Projekt. Ich denke, dass es bei der Beschäftigung mit dieser alten Hardware eigentlich - zumindest bei mir - um Spaß an der Materie geht. Insofern muss es für dieses Projekt keinen speziellen Anwendungsfall geben.


    Mich haben einige Tools aus den 80er-Jahren inspiriert wie zB der MECC Computer Inspector. Des Weiteren habe ich versucht meine Demo-Programme mit Routinen auszustatten, die die vorhandene Hardware-Ausstattung eines Apple-Computer erkennen um dann spezifische Features frei zu schalten. Aus diesen Routinen ist dann die "Idee" entstanden ein eigenständiges Tool zu entwickeln, was zum einen die Funktionen der bisherigen Tools zur Erkennung von Einsteckkarten umfasst und zum anderen auch neue Hardware wie zB den FastChip zu erkennen.


    Soweit ich Feedback bekommen habe macht es vielen einfach "Spaß" das Tool anzuwenden und auf ihrer Hardware auszuprobieren. ich denke das reicht als "Anwendungsfall" in der heutigen Zeit aus...

  • Spaß an der Materie

    Hallo Marc,


    das reicht natürlich vollkommen aus als Motivation :thumbup::)


    Gibt es eine Liste von Karten, die es erkennen müsste? Ich vermute, dass ich auch recht exotische Karten im Bestand habe, die z.B. der MECC Computer Inspector auch nicht erkennt, zu denen ich vielleicht Infos beisteuern könnte. Ich denke da an andere Z80 Karten als die verbreitete Softcard und ihre Clones, 68000er Karten, 8" Floppy Controller, andere weniger bekannte Floppy Controller, die Apple Profile Interface Karte..


    VG Albert

  • Ich hatte für meinen Apple IIe mal eine Epson Druckerkarte über ebay-Kleinanzeigen gekauft, die aber mit meinem Epson LQ-500 nicht wollte. Der Drucker machte keinen Mucks. Ich kann gerne mal ein Foto von der Karte hier einstellen. Bei Interesse würde ich die Karte den Entwicklern bzw. tomtom zu Forschungszwecken zu Verfügung stellen. Besser sie findet Verwendung als dass sie sich bei mir im Schrank nur langweilt.

  • Die Software arbeitet mit zwei (drei) unterschiedlichen Methoden. Die erste Methode ist es den zugehören ROM-Speicherbereich der Karte bei $Cx00 auszulesen und nach signifikanten Bytes zu suchen, die die Karte von anderen Karten unterscheidet. Die (dritte) Methode ist es nach Triggern des ROM-Bereichs im Bereich $C800 nach Informationen zu suchen.

    Ich geh mal davon aus das dabei als allererstes nach den Standard-ID-Bytes der Apple-Karten, bzw. der Karten die sich nach dem Apfle-Standard richten, ausgewertet werden?

  • Die Software arbeitet mit zwei (drei) unterschiedlichen Methoden. Die erste Methode ist es den zugehören ROM-Speicherbereich der Karte bei $Cx00 auszulesen und nach signifikanten Bytes zu suchen, die die Karte von anderen Karten unterscheidet. Die (dritte) Methode ist es nach Triggern des ROM-Bereichs im Bereich $C800 nach Informationen zu suchen.

    Ich geh mal davon aus das dabei als allererstes nach den Standard-ID-Bytes der Apple-Karten, bzw. der Karten die sich nach dem Apfle-Standard richten, ausgewertet werden?

    Ja das ist korrekt entsprechend z.B. Apple Pascal Standard.

  • Hallo,


    ich habe noch zwei Ungereimtheiten mit ID2 an meinem Apple IIe gefunden:


    Das Apple2-IO-RPi-Board wird nicht korrekt als "Generic Smartport" erkannt - Das ROM-Image habe ich angehängt. Wenn es nützlich ist, lassen sich im ROM sicher auch noch einige ID-Bytes unterbringen, darum kann ich mich ggf. kümmern.


    Ich habe einen Analog-Joystick angeschlossen, der auch funktioniert. Dennoch wird "Joystick not connected" gemeldet. Wie wird der Joystick erkannt? Müssen am Stecker irgendwelche Brücken vorhanden sein?

    Schöne Grüße,

    Hans

  • Das Apple2-IO-RPi-Board wird nicht korrekt als "Generic Smartport" erkannt

    Ich meinte natürlich, dass das Board als "Generic Smartport" erkannt wird, was nicht korrekt ist, oder zumindest zu unspezifisch.

    Habe: TI-99/4A + PEB, Sharp MZ-800, Apple IIe, Symbolics MacIvory 2, ZX Spectrum, Macintosh IIfx, C64, VAX 4000-600, VAX 4000-105A, VAXStation 4000/90A, VAXStation VLC, Digital Personal Workstation 500au, Schneider CPC 464, CBM 3032 Biete: Atari 800XL, TI-99/4A, Atari Mega 1, Atari 1040STfm Suche: 1/2'' Bandlaufwerk SCSI, Reparaturbedürftiges 8+16bit

    Retrocomputing Slack @hanshuebner

  • Das Apple2-IO-RPi-Board wird nicht korrekt als "Generic Smartport" erkannt

    Ich meinte natürlich, dass das Board als "Generic Smartport" erkannt wird, was nicht korrekt ist, oder zumindest zu unspezifisch.

    Ich habe mal versucht das Board in die Erkennung zu integrieren, kann das aber leider aufgrund nicht vorhandener Hardware bei mir nicht testen. Vielleicht kannst Du mal schauen, ob das Board jetzt richtig erkannt wird und nicht als SmartPort erscheint (bzw. immer noch als SmartPort erscheint und nicht als IO-RPi ;)


    Eine Beta-Version der gerade in Arbeit befindlichen V.2.10 von ID2 habe ich hier angehangen...

  • Vielleicht kannst Du mal schauen, ob das Board jetzt richtig erkannt wird und nicht als SmartPort erscheint (bzw. immer noch als SmartPort erscheint und nicht als IO-RPi ;)

    Funktioniert perfekt, vielen Dank!



    Wenn Du für weitere Tests eine Apple2-IO-RPi-Karte haben willst, schicke ich Dir gerne eine. Ggf. PN.

    Habe: TI-99/4A + PEB, Sharp MZ-800, Apple IIe, Symbolics MacIvory 2, ZX Spectrum, Macintosh IIfx, C64, VAX 4000-600, VAX 4000-105A, VAXStation 4000/90A, VAXStation VLC, Digital Personal Workstation 500au, Schneider CPC 464, CBM 3032 Biete: Atari 800XL, TI-99/4A, Atari Mega 1, Atari 1040STfm Suche: 1/2'' Bandlaufwerk SCSI, Reparaturbedürftiges 8+16bit

    Retrocomputing Slack @hanshuebner

  • Funktioniert perfekt, vielen Dank!

    Hallo Hans,


    kurze Frage, auch wenn das hier der unpassende Thread ist, aber hier steht nunmal das...


    ...Super Bild. Ist das im 80 Zeichen Modus auch noch so gut? Welches EIZO Modell ist das? Wird der EIZO vom IIe analog oder digital befeuert? PAL / NTSC / mit / ohne Farbe?


    Wie genau hast Du das für diese gute Darstellung gelöst? Dein a2heaven VGA Scaler ist hier nicht im Einsatz, oder?


    VG Albert

    • Official Post

    Eine Beta-Version der gerade in Arbeit befindlichen V.2.10 von ID2 habe ich hier angehangen...

    Der Version habe ich in Münchberg mal Karten aus meiner Kiste gezeigt.

    Fast alles wurde als "generic Smartport" oder "not identified" erkannt. Einige auch falsch identifiziert. Wie kann ich Dir am besten helfen, die zu unterstützen ohne Dir jetzt die ganzen Karten zuzuschicken?


    Hier mal ein zwei Falschmeldungen.


    Die Apple II Workstation card wird als Super Serial Card erkannt:


    Diese wird als Grappler+ erkannt:

  • Eine Beta-Version der gerade in Arbeit befindlichen V.2.10 von ID2 habe ich hier angehangen...

    Der Version habe ich in Münchberg mal Karten aus meiner Kiste gezeigt.

    Fast alles wurde als "generic Smartport" oder "not identified" erkannt. Einige auch falsch identifiziert. Wie kann ich Dir am besten helfen, die zu unterstützen ohne Dir jetzt die ganzen Karten zuzuschicken?

    Eine Möglichkeit wäre den ROM-Bereich der jeweiligen Karten auszulesen und mir als Datei zukommen zu lassen insbesondere von den "not identified"-Karten. So kann ich nach relevanten Bytes für die Identifikation suchen. Ich habe schon einige ROM-files bekommen und konnte das dann einfach umsetzen. Der Test der Erkennung müsste dann aber "vor Ort" beim Kartenbesitzer erfolgen.


    Die Workstationkarte scheint in ihrem ROM-Image die Bytes für die Super serial Karte zu enthalten. Hier wäre auch ein ROM-image hilfreich um zu schauen ob es Unterschiede gibt und falls ja, diese dann zu integrieren.


    Die Grappler+-Karten würde mich interessieren was das für eine Karte in Wirklichkeit ist? Hier benötige ich auch ein ROM-image.


    Generell zieht das Tool den "Generic Smartport" wenn es eine Karte nach Smart Port standard entdeckt, die es nicht genauer identifizieren kann. Hier gilt das gleiche wie bereist oben gesagt hinsichtlich ROM-images.


    Die meisten Karten werden über ihren Footprint im Cx00-Bereich identifiziert. Nur für wenige Karten wie zB RAM-Karten, Z80 oder MockingBoard gibt es dedizierte Algorithmen zur Erkennung.

  • Identify ][ V.2.10 released!


    Die neue Version V.2.10 von ID2 is jetzt online. Hintergründe und Downloads für DSK-images (DOS3.3 oder ProDOS): https://www.golombeck.eu/index.php?id=38&L=1


    Was ist neu?

    • Neuer Algorithmus zur Erkennung leerer Steckplätze (empty slot)
    • Erkennung von Karten in AUX ROM sowie gleichzeitig in SLOT 3 (gemeinsamer ROM Bereich $C3xx) bei Apple //e, //c und IIgs
    • Neues Tool SLOTSUCKER zum Extrahieren von ROM Daten ($Cn00-$CnFF) einer Karte in SLOT n und Schreiben der Daten auf Disk. Diese Datei kann dann an mich zur Analyse geschickt werden. "RUN SLOTSUCKER" von der Kommandozeile
    • Neue Hardware: VidHD-Card, RamFactor-Card, BOOTi-Card, Apple2-IO-RPi-Card
    • Diverse BugFixes
    • Hinweis für Integer Basic Maschinen Besitzer auf der Webseite

    Viel Spaß!

  • Identify ][ - V2.11 Released!


    The new version contains bug fixes and enhancements:

    • BugFix: Detection of SLOT AUX on Apple //e with a 6502 CPU had a bug showing the card physically in AUX SLOT to be listed in SLOT 7. With a 65C02 CPU the detection worked correctly. This has been fixed in this version.
    • BugFix: Slot scans for SATURN RAM cards now also take place in slots 5, 6 and 7 without overwriting a physical disk connected to a Disk ][ controller in one of these slots (and also no overwrite will happen in all of the other slots).
    • Update: Tiny tool SLOTSUCKER which reads the ROM space 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 me the ROM footprint of any unidentified cards if you like!

    New cards/hardware detected:

    • 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

    Download DSK-images:

    DOS 3.3: https://www.golombeck.eu/filea…ads/ID2_DOS33_211_RC1.dsk

    ProDOS: https://www.golombeck.eu/filea…ds/ID2_ProDOS_211_RC1.dsk

    More information about the tool: https://www.golombeck.eu/index.php?id=38&L=1