CFFA3000 und UCSD-Pascal auf Apple IIe

  • Hallo,


    ich habe jetzt meine alten Pascal Programme aus dem Studium erfolgreich digitalisiert und versuche als Nächstes diese auf meinem Apple II (bzw. auch Basis-108) wieder zum Laufen zu bringen. Die Rechner laufen zuverlässig, CFFA3000 ist eingebaut und wartet auf ihren Einsatz. Jetzt bin ich allerdings etwas unsicher, ob ich die beiden Disketten-Laufwerke auch weiterhin nutzen soll, oder ob ich gleich alle Source-Codes auf die SD-Karte (bzw. USB-Stick) an der CFFA3000 speichere. Angeblich soll es ja möglich sein, dass man sich dann die ganze Disketten-Jongliererei beim Booten sparen kann. Andererseits hab ich bis jetzt noch keine große Erfahrung sammeln können mit der CFFA3000. Wie wechselt man denn z.B. die virtuellen Disketten Images auf der CFFA3000? Unter DOS kann man da ja einen entsprechenden Call absetzen, um in die CFFA3000 Konfig zu kommen. Wie sieht das aber unter UCSD Pascal aus, wenn ich da eine andere Diskette aktivieren will? Hat da jemand Erfahrung sammeln können? Vielleicht ist ja auch ein Einsatz der CFFA3000 in Slot7 möglich? Aber wie spricht man diesen Slot dann an. Ich weiss es einfach noch nicht. Vielleicht kann jemand helfen?

  • Ich habe keine CFFA3000, aber vielleicht als Anregung: das p-System kann mit deutlich größeren Dateisystemen als die kleinen 140kB umgehen. Dazu mit mindestens 6 Stück bei gleichzeitigem Zugriff.


    Konkret: ich hatte "damals" eine RAM-Disk mit 1MB sowie ein Diskettenlaufwerk mt 640kB laufen. Da paßt das gesamte Betriebssystem inkl. Filer, Editor, Compiler und Assembler drauf. Als größtes Dokument hatte ich eine Textdatei mit rund 300kB. Auch das klappte mit meiner Ausstattung.

    • Offizieller Beitrag

    Deutlich größer geht, aber normal immer nur 77 files pro volume. Daher gab es dan auch die Technote Pascal #16, wo erklärt wurde, wie auf einer 800k Diskette im 3,5" Laufwerk zwei 400k Volumes eingerichtet werden.

    Ich habe leider nie verstanden, wie man die maxdir Variable hochstehen kann.

    Ausserdem wird davor gewarnt, zwei Volumes mit identischem Namen online zu haben. Die kann das system dann nicht mehr richtig auseinanderhalten, was beim Schreiben zu unerwünschten Ergebnissen führen kann.

  • Wie umfangreich sind denn Deine Sourcen? Das UCSD System ist doch absolut ätzend laaaangsam. Ich habe es damals kurzzeitig mit einer vergleichsweise flotten 8"-Doppelfloppy Station benutzt mit ca. 1MB pro Diskette, eine für alle Systemprogramme, eine als Arbeitsdiskette. Selbst das fand ich unerträglich, allein schon wegen des limitierten Filesystems - 77 Directory Einträge und "Krunch" wenn Diskette so langsam voll. Das wird bei einem größeren Volume erst recht nervtötend. Die Lösung war eine flotte Z80 Karte mit Turbo Pascal.


    Ich hab mein CFFA3000 in einem IIgs stecken. Bei dem kommt man ja über das IIgs Systemmenü auch auf die CFFA. Allerdings habe ich das bisher nur unter DOS 3.3 und ProDOS verwendet. Für die nicht-IIgs Apples gibt es ja auch die ansteckbaren Tipptaster zum Umschalten der Images. Hast du die nicht? Wie steht es mit der CFFA Anleitung? Falls Du die nicht hast, kann ich die zur Verfügung stellen. Ich hab da lange nicht reingeguckt und weiß deshalb nicht, ob da nennenswert etwas zu UCSD drin steht.

  • Zitat

    Wie wechselt man denn z.B. die virtuellen Disketten Images auf der CFFA3000? Unter DOS kann man da ja einen entsprechenden Call absetzen, um in die CFFA3000 Konfig zu kommen. Wie sieht das aber unter UCSD Pascal aus, wenn ich da eine andere Diskette aktivieren will?.

    Das kannst Du über den Assembler (der in USCD-Pascal integriert ist) machen. Das Assemblerfile ist denkbar einfach: JMP $Cn30, wobei n der Slot der CFFA ist.


    Gruß, Jochen

  • Wie umfangreich sind denn Deine Sourcen? Das UCSD System ist doch absolut ätzend laaaangsam. Ich habe es damals kurzzeitig mit einer vergleichsweise flotten 8"-Doppelfloppy Station benutzt mit ca. 1MB pro Diskette, eine für alle Systemprogramme, eine als Arbeitsdiskette. Selbst das fand ich unerträglich, allein schon wegen des limitierten Filesystems - 77 Directory Einträge und "Krunch" wenn Diskette so langsam voll. Das wird bei einem größeren Volume erst recht nervtötend. Die Lösung war eine flotte Z80 Karte mit Turbo Pascal.


    Ich hab mein CFFA3000 in einem IIgs stecken. Bei dem kommt man ja über das IIgs Systemmenü auch auf die CFFA. Allerdings habe ich das bisher nur unter DOS 3.3 und ProDOS verwendet. Für die nicht-IIgs Apples gibt es ja auch die ansteckbaren Tipptaster zum Umschalten der Images. Hast du die nicht? Wie steht es mit der CFFA Anleitung? Falls Du die nicht hast, kann ich die zur Verfügung stellen. Ich hab da lange nicht reingeguckt und weiß deshalb nicht, ob da nennenswert etwas zu UCSD drin steht.

    So umfangreich sind die Sourcen nicht. Das sind so ca. 5 Disketten a 140K.

    Ich habe zwar auch die Tipp-Schalter die mit der CFFA3000 Karte gekommen sind, aber da habe ich noch nicht so ganz verstanden, was die denn eigentlich machen. Die Doku habe ich zwar, aber da steht zu UCSD bzw. Apple-Pascal leider nur sehr wenig drin.

    Eine weitere Frage ist zum Beispiel auch, ob man unter UCSD bzw. Apple-Pascal mit der CFFA3000 nicht nur eine Disk-Emulation sondern auch eine "SmartDisk" bauen könnte, um (nur zum Beispiel) von der SmartDisk zu booten. Aber ich glaube, das funktioniert wohl nicht so ohne weiteres. Jedenfalls muss die CFFA3000 wohl zwangsweise in Slot-6 stecken, damit UCSD bzw. Apple-Pascal die überhaupt richtig erkennt. Oder liege ich da falsch?

  • Zitat

    Wie wechselt man denn z.B. die virtuellen Disketten Images auf der CFFA3000? Unter DOS kann man da ja einen entsprechenden Call absetzen, um in die CFFA3000 Konfig zu kommen. Wie sieht das aber unter UCSD Pascal aus, wenn ich da eine andere Diskette aktivieren will?.

    Das kannst Du über den Assembler (der in USCD-Pascal integriert ist) machen. Das Assemblerfile ist denkbar einfach: JMP $Cn30, wobei n der Slot der CFFA ist.


    Gruß, Jochen

    Hallo Jochen,

    das hört sich ja in der Tat einfach an. Das ist schon mal ein sehr wichtiger Punkt. Vielen Dank für deinen Hinweis :)

  • Eine weitere Frage ist zum Beispiel auch, ob man unter UCSD bzw. Apple-Pascal mit der CFFA3000 nicht nur eine Disk-Emulation sondern auch eine "SmartDisk" bauen könnte, um (nur zum Beispiel) von der SmartDisk zu booten. Aber ich glaube, das funktioniert wohl nicht so ohne weiteres. Jedenfalls muss die CFFA3000 wohl zwangsweise in Slot-6 stecken, damit UCSD bzw. Apple-Pascal die überhaupt richtig erkennt. Oder liege ich da falsch?

    Zunächst eine Frage: welche Version vom Apple Pascal hast Du? 1.1, 1.2 oder 1.3? Oder ein p-System IV.x?


    Davon hängt es ab, welcher Slot zum Booten geeignet ist.


    Im einfachsten Fall hast Du Apple Pascal 1.1. Das kann mit dem Bootloader und mit dem BIOS (im SYSTEM.APPLE) ausschließlich von einem einseitigen 35- oder 40-Spur-Diskettenlaufwerk mit Apple-Controller booten. Für alles andere müssen Boot-Loader und/oder BIOS geflickwerkt werden. Ich würde hier auf so was wie Smart Disk verzichten. Viel zu aufwendig für den Nutzen, außer Du hast Spaß an den Internas vom p-System, hast Quelltexte und Doku und kannst Dir selbst was basteln.


    Mein Vorschlag bei dieser Version: Du bootest mit einer ganz normalen Diskette aus Slot 6. Darauf ist der Treiber für die CFFA3000-Karte als SYSTEM.ATTACH, so daß mit Erkennen des Karteninhalts die Dateisysteme von der SD-Karte zur Verfügung stehen. Dort hast Du alle Systemkomponenten, so daß Du das p-System mit voller Geschwindigkeit durch die CFFA3000-Karte nutzen kannst. D.h. die Diskette wird nur zu Beginn kurz benötigt.


    Gruß, Ralf

    • Offizieller Beitrag

    Eine weitere Frage ist zum Beispiel auch, ob man unter UCSD bzw. Apple-Pascal mit der CFFA3000 nicht nur eine Disk-Emulation sondern auch eine "SmartDisk" bauen könnte, um (nur zum Beispiel) von der SmartDisk zu booten. Aber ich glaube, das funktioniert wohl nicht so ohne weiteres.

    Soweit ich das kenne, geht das wirklich nicht. Das UCSD p-System für Apple braucht immer 35- oder 40 Spurdisketten und kann mit SmartDrives nichts anfangen. Man erzählt sich so, es würde mit dem Profile Treiber eine Möglichkeit geben, aber das habe ich nirgends komplett beschrieben gefunden oder gar ausprobieren können.


    Die CFFA bleibt immer in Slot 7 und kann von dort auch den Adressbereich für Slot 6 und 5 belegen. Hmm- ob sich das beim II oder IIe mit dort installierten Karten beißt, weiß ich aber nicht definitiv- meine CFFA ist im IIgs und da bestimme ich das Verhalten im Setup.

    Denn Feindschaft wird durch Feindschaft nimmermehr gestillt; Versöhnlichkeit schafft Ruh’ – ein Satz, der immer gilt. Man denkt oft nicht daran, sich selbst zurückzuhalten; Wer aber daran denkt, der lässt den Zorn erkalten. Sprüche von Buddha, aus dem ‹Dhammapada›.


    Mein Netz: Acorn | Atari | Milan | Amiga | Apple //e und IIGS | Macintosh | SUN Sparc | NeXT |SGI | IBM RS/6000 | DEC Vaxstation und Decstation| Raspberry Pi | PCs mit OS/2, BeOS, Linux, AROS, Windows, BSD | Stand-alone: Apple //c und III | Commodore 128D | Sinclair QL | Amstrad | PDAs

  • Ohne es ausprobiert zu haben:


    Wenn Du ausschließlich Disk II Emulation benötigst, könnte die CFFA3000 in Slot 6 landen und den Disk II Controller mit zwei virtuellen Drives in Slot 6 emulieren. In Slot 5 kommt dann der echte Controller mit ein oder zwei Floppy Drives dran. Dann hättest vier Drives und könntest beliebig zwischen den vieren mit den Pascal Disketten bzw. Images jonglieren. Die Pascal Disketten müsstest du in Images konvertieren, damit du sie in der Emulation nutzen kannst. Ob das mit der Capture Funktion der CFFA3000 geht, kann ich nicht sagen. Ich habe damit meiner Erinnerung nach bisher nur DOS, ProDOS und CP/M Disketten gecaptured.

  • Soweit ich das kenne, geht das wirklich nicht. Das UCSD p-System für Apple braucht immer 35- oder 40 Spurdisketten und kann mit SmartDrives nichts anfangen.

    Nicht ganz. Deswegen meine Frage nach der Version vom p-System. Apple Pascal 1.3 kann mit SmartPort spielen und von Slot 4, 5 oder 6 booten. Das p-System IV.x kann von Slot 4, 5 oder 6 booten, AFAIR. Wenn der Diskettencontroller geeignete Firmware hat und der Bootloader (Sektor 0 ff, meist 0 bis 3) geeigneten, zur Hardware passenden Code enthält, laufen beliebige Diskettengrößen.

  • Wenn Du ausschließlich Disk II Emulation benötigst, könnte die CFFA3000 in Slot 6 landen und den Disk II Controller mit zwei virtuellen Drives in Slot 6 emulieren. In Slot 5 kommt dann der echte Controller mit ein oder zwei Floppy Drives dran.

    Ich habe es genau anders rum am Laufen - also CFFA im Slot 5 und den echten Controller mit 2 Laufwerken in Slot 6 (so wie der Apple es erwartet). USCD-Pascal habe ich aber lange nicht mehr benutzt - mit meiner Z80-Karte nehme ich Turbo-Pascal.


    Gruß, Jochen

  • Apple Pascal 1.3

    ...und es unterstützt 128K Apples während Pascal 1.1 m.W. nur 64K nutzen kann.

    Klar :) Von Apple Pascal 1.2 und 1.3 gibt's jeweils eine 64kB- und eine 128kB-Version, letztere ausschließlich für den IIe und IIc. Ob das auf dem IIgs läuft, weiß ich nicht. Die beiden 128kB-Versionen könnten möglicherweise auch auf einem II[[euro]plus] mit der AE Transwarp laufen.

  • Moin Ralf,

    ich bin nicht ganz sicher, aber ich glaube dass ich ein Apple Pascal 1.3 im Einsatz habe. Muss ich morgen mal rausfinden. Wenn ich deinem Vorschlag folge, dann benötige ich eine SYSTEM.ATTACH mit einem Treiber für die CFFA3000. Wo bekomme ich diesen Treiber denn her? Bei der Lieferung der Karte war keine Software mit dabei. Grundsätzlich gefällt mir natürlich diese Idee, dass ich die restlichen Disketten alle auf der SD-Karte speichern kann...aber wo finde ich den Treiber???

  • wo finde ich den Treiber???

    So einen Treiber gibt es nicht und braucht es auch nicht. Ich habe es gerade mal durchgespielt in einem Enhanced IIe, Setup wie in RE: CFFA3000 und UCSD-Pascal auf Apple IIe beschrieben.


    In der mit der CFFA3000 gelieferten CF-Card habe ich die vier UCSD Pascal 1.2 Images bereits gefunden. Ich habe APPLE1 dem virtuellen Drive 1 in Slot 6 zugewiesen und APPLE 2 und APPLE 3 dem virtuellen Drive 2, wobei APPLE2 das aktive Image ist. Damit bootet der Apple ganz normal wie mit einem System mit zwei Disk II in Slot 6.


    Starte den Filer und lass dir die Volumes anzeigen. Nun drückst du einmal die Taste für Drive 2 und lass dir erneut die Volumes anzeigen. Nun liegt APPLE3 in Drive 2. Damit kannst du dann den FORMATTER starten und in Slot 5, Drive 1 und 2 echte Disketten formatieren. Das sind die Volumes #11: und #12:.


    Hat bei mir auf Anhieb funktioniert.


    Du kannst natürlich noch weitere Images den virtuellen Laufwerken zuordnen und mit den Tastern durchschalten. Es müssen eben alle Volumes eindeutige Namen haben, dann sucht das System in allen Drives, die online sind.


  • ich bin nicht ganz sicher, aber ich glaube dass ich ein Apple Pascal 1.3 im Einsatz habe.

    Wenn Du das derzeit nicht booten kannst, dann schaue auf Diskette oder im Image in die Sektoren 0 und 1 (die 256Byte-Sektoren)! Dort stehen bei Version 1.3 zwei charakteristische Textfragmente: "MUST BOOT FROM SLOT 4, 5 OR 6" (*sic* da fehlt ein Komma!) und "COPYRIGHT APPLE [...] 1985 C.LEUNG".


    Wenn ich deinem Vorschlag folge, dann benötige ich eine SYSTEM.ATTACH mit einem Treiber für die CFFA3000. Wo bekomme ich diesen Treiber denn her? Bei der Lieferung der Karte war keine Software mit dabei. Grundsätzlich gefällt mir natürlich diese Idee, dass ich die restlichen Disketten alle auf der SD-Karte speichern kann...aber wo finde ich den Treiber???

    Du benötigst einen Treiber. Soviel steht fest. Mit SYSTEM.ATTACH gibt es die offizielle Methode Treiber beim Booten zu ergänzen, ohne die BIOS-Datei (SYSTEM.APPLE) zu patchen. Wenn nichts vorhanden ist, muß es erstellt werden. Also muß "jemand" einen Treiber schreiben, der die SYSTEM.ATTACH-Methode von Apple Pascal 1.3 kennt. Eine offizielle Beschreibung für 1.2 habe ich, aber keine für 1.3. Und ich weiß nicht, ob sich in diesem Bereich was geändert hatte. Und der Treiberprogrammierer braucht eine Beschreibung zur Funktionsweise der CFFA3000-Karte.


    Randbemerkung: ich weiß nicht, in welchem Umfang Apple Pascal 1.3 noch in Verbreitung kam. Gemäß dem Copyright-Eintrag kam es 1985 heraus. Zu diesem Zeitpunkt war die Apple-II-Welt zumindesten in Europa bereits auf dem absteigenden Ast. 1986 brach sie hierzulande komplett ein. D.h. es wird eher kaum Anwender geben, und somit kaum Software-Unterstützung. Desweiteren habe ich fast keine Literatur zu 1.3 gefunden.


    Ich bemerke gerade, daß Albert Dir eine geeignet Antwort für Apple Pascal 1.2 geschrieben hat. Nimm dies! :)

  • Um das Paket abzurunden, habe ich noch Apple Pascal 1.1 und auch SofTech Microsystem p-System IV.12 B ausprobiert, alles auf dieselbe Art und Weise. Letzteres ist besonders gemächlich, startet aber auch auf Anhieb aus der CFFA3000.



  • Du benötigst einen Treiber. Soviel steht fest.

    Wieso eigentlich? Die CFFA verhält sich in Slot 6 wie ein Apple-Disk-Controller. Somit sollte jede Software, die auf Diskette basiert, mit der CFFA ohne Treiber und ohne Anpassung laufen.


    Gruß, Jochen

  • Du benötigst einen Treiber. Soviel steht fest.

    Wieso eigentlich? Die CFFA verhält sich in Slot 6 wie ein Apple-Disk-Controller. Somit sollte jede Software, die auf Diskette basiert, mit der CFFA ohne Treiber und ohne Anpassung laufen.

    Das wußte ich nicht und konnte es mir nicht vorstellen, denn ich kenne diese Diskettenschnittstelle ein bißchen. Und ich kenne den Ablauf beim Booten der UCSD-Systeme.

  • Vielleicht kann jemand helfen?

    So, jetzt aber. Ich hab noch etwas gespielt, weil ich schlicht wissen wollte, ob es funktioniert. Als Ergebnis habe ich im anhängenden ZIP zwei Images von 800K Disketten abgelegt, mit denen Du bequem arbeiten können müsstest. Es sind .PO Files, die auf der CFFA3000 in zwei Smartport Devices eingelegt werden können. SYSTEM.PO enthält sämtliche Files von Apple II Pascal 1.3, EMPTY.PO ist bis auf ein Testprogramm leer und kann als Arbeitslaufwerk dienen.


    Die CFFA steckt in Slot 6, die Disk II Emulation habe ich abgeschaltet. Dafür habe ich zwei Smartport Devices definiert und denen die beiden Images zugewiesen. In Slot 5 steckt ein Disk II Controller mit zwei Drives, über die Du deine Disketten im- und exportieren kannst. Du kannst also komplett ohne Disketten zu jonglieren mithilfe der virtuellen 800K Drives und deren Speed Vorteile sämtliche Komponenten des UCSD Systems benutzen.


    Angefertigt habe ich die Images mithilfe zweier UniDisk 3.5 Laufwerke an einem ASCO / LIRON Controller in Slot 4. Den braucht man aber anschließend nicht mehr. Der Slot wäre dann frei für einen Accelerator, denn auch mit CFFA ist das System noch kein Renner.


    VG Albert


    P.S. Ich habe den LIRON Controller durch eine Transwarp in Slot 4 ersetzt und im kurzen Test machte die CFFA3000 keine Probleme mit voller Geschwindigkeit. Ich habe also nur den Slot 5 mit dem echten Disk II Controller auf 1MHz reduziert. Damit kann man schon ganz gut leben ;)

    • Offizieller Beitrag

    Cool- die habe ich lange vergeblich für den IIGS gesucht!


    OT: Apple Pascal 1.1 auf dem Apple /// läuft übrigens auch vollständig von der Festplatte (bei mir eine Booti Card), dort muss es also eine Anpassung geben. Das schaue ich mir in der nächsten Zeit nochmal genau an und berichte dann.

    Denn Feindschaft wird durch Feindschaft nimmermehr gestillt; Versöhnlichkeit schafft Ruh’ – ein Satz, der immer gilt. Man denkt oft nicht daran, sich selbst zurückzuhalten; Wer aber daran denkt, der lässt den Zorn erkalten. Sprüche von Buddha, aus dem ‹Dhammapada›.


    Mein Netz: Acorn | Atari | Milan | Amiga | Apple //e und IIGS | Macintosh | SUN Sparc | NeXT |SGI | IBM RS/6000 | DEC Vaxstation und Decstation| Raspberry Pi | PCs mit OS/2, BeOS, Linux, AROS, Windows, BSD | Stand-alone: Apple //c und III | Commodore 128D | Sinclair QL | Amstrad | PDAs