Sinclair QL - für Neueinsteiger

  • Blöde Frage: Wie lädt man eigentlich die nicht.BASIC-Programme?


    Da gibt es Editoren, wie QED, die als "QED" im Filesystem stehen.

    Einige Spiele bestehen aus mehreren Files, wie "farce.exe" und "FARCE.boot".


    Beim Kopieren der Archivinhalte auf das CF werden "." ja in "_" umgewandelt, was dann für den QL wohl paßt. Aber mit "load win1_xxxx" habe ich da noch nicht viel korrekt laden und starten können. Istwahrscheinlich ganz einfach. Aber 1987 war es für mich auch beim ATARI XL eine große Hürde, Maschinenprogramme zu laden. Man muß halt erstmal wissen, wie das geht.


    Gruß, Rene

  • Der QL kennt zwei verschiedene Arten von Maschinenprogrammen: Solche, die im Kontext von Basic ablaufen, und damit quasi das Basic oder das Betriebssystem erweitern - die werden in den Basic-Jobspeicher geladen und einfach aus dem Basic raus geCALLT. Übliche Erweiterungen sind "_cde", "_bin",.... Für die muß man im BASIC einen festen Speicherblock reservieren, den Code reinladen und dann anspringen:

    Code
    100 a = RESPR(32000) : REMark Speicher reservieren
    110 LBYTES win1_test_bin,a : REMark Code da hin laden
    120 CALL a : REMark code ausführen
    130 REMark oder LRESPR win1_test_bin,a - Das ist dasselbe wie die Zeilen 110-120

    Solche Programme machen kein Multitasking, weil sie im BASIC-Kontext ausgeführt werden und damit zusammen mit dem SuperBASIC-Job einen Job bilden.


    Die andere Sorte sind eigenständige Jobs - Sie brauchen keinen Basic-Kontext und laufen deswegen unabhängig vom Basic, quasi "parallel". Sie werden direkt mit EXEC oder EXEC_W ausgeführt und laufen als eigenständige Jobs unabhängig von Basic - Dein Beispiel "QED" ist so eins. Der Unterschied zwischen EXEC und EXEC_W ist nur, dass sich im _W-Fall Basic solange suspendiert, bis der aufgerufene Job fertig ist (so ungefähr wie & und nicht-& in Unix)

    Code
    100 EXEC win1_qed : REMark Neuen Job erzeugen, das Binary da hinladen und als eigenständigen Job ausführen

    Danach kann man mit <CTRL>-C zwischen den laufenden Jobs (hier jetzt SuperBASIC und QED) hin-und-herwechseln. Weil der QL ohne weitere Erweiterungen den Bildschirminhalt der einzelnen Jobs nicht sichert, muß man den mit F4 immer wieder neu zeichnen (F4 ist so eine Art Konvention beim QL für das Neuzeichnen des Job-Fensters).

    Damit das funktioniert, haben ausführbare Jobs im Filesystem einen besonderen Header, der EXEC anzeigt, wieviel Stack und Heap der Job haben will. Der geht, weil moderne Filesysteme so einen Header nicht kennen, gerne mal verloren, und EXEC meldet dann einfach den Fehler "BAD PARAMETER" und macht nichts weiter. Deswegen soll man solche Binaries, die in Zip-Files enthalten sind, nie auf einem Nicht-QL auspacken, sondern nach Möglichkeit immer nur auf dem QL selber - Mit unzip.

    Ist der Header verlorengegangen, kann man ihn auf dem QL wiederherstellen, indem man folgende BASIC-Sequenz ausführt. Dazu muß man aber wissen, wieviel Dataspace der Job wohl haben will:

    Code
    100 a = <Länge des binaries>
    101 dataspace = 8 * 1024 : REMark Stack und Heap für den Job
    105 b = RESPR (a) : REMark Speicher reservieren
    110 LBYTES win1_binary_exe,b
    120 SEXEC win1_binary_exe,b,a,dataspace

    Danach müsste der Job wiederhergestellt sein.

    Einmal editiert, zuletzt von tofro ()

  • Oben im Ribbon (oder wie man heute so Menüleisten auch immer nennt) gibt es neben dem Punkt Forum den Punkt Wissensdatenbank. Da sind Texte zu verschiedensten Themen nach Kategorien sortiert abgelegt. So einen Thread findet man nach ein paar Jahren nicht mehr so leicht.

    Das Genie beherrscht das Chaos

    • Offizieller Beitrag

    Hab mir einen Merker gesetzt zur Übernahme.

    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

  • Ich war schon verwundert, daß es in der Wissensdatenbank anscheinend überhaupt keinen Eintrag für Sinclair gibt.


    Gruß, Rene

  • Natürlich. Ich schlage aber erstmal vor, daß ein "blutiger Anfänger" (wen könnte ich jetzt damit meinen... ;) ) das mal ausprobiert, auf weitere Probleme stößt und weitere Antworten kriegt. Das macht das sicher "runder".

  • Ich schlage aber erstmal vor, daß ein "blutiger Anfänger" (wen könnte ich jetzt damit meinen... ;) ) das mal ausprobiert, auf weitere Probleme stößt und weitere Antworten kriegt. Das macht das sicher "runder".

    Das ist nicht, wie ein Wiki funktioniert. :ätsch:

    Das ist aber wie "Praxis funktioniert" ;)

  • Nachdem die cubide Erweiterung gut funktioniert, kämpfe ich immer noch damit, die Daten aus dem Internet so zu übertragen, daß der QL etwas damit anfangen kann.


    Ich habe mir diverse Zip-File runtergeladen. Ein paar Spiele, Assembler, Editor, Tools, Archiver.


    Als erstes wollte ich die Archiver zum QL übertragen, damit ich die anderen Archive dann damit auf dem QL entpacken kann.

    Dazu habe ich "Image Editor" verwendet und mit einer Anleitung gefolgt. Zip-File im Image Editor geöffnet. Einstellung auf QL Header extrahieren und alle Files des Archivs in ein Verzeichnis extrahiert. Von den Headern hab ich dort allerdings nichts gesehen. Dann DOM am PC angesteckt und Open Disk im Image Editor. Files dorthin inserted. Am QL sehe ich die Dateien auch. Aber ich schaffe es nicht, z.B. "unzip" zu laden. load? lrun? exec? Entweder nicht gefunden oder ungültiger Parameter.


    Hat jemand eine Idee oder einen Link zu einem Tutorial? "qlc" den Commander wollte ich auch installieren. Könnte mir vorstellen, daß so etwas das Leben erleichtert.


    Gruß, Rene

  • Hallo,


    noch habe ich es nicht geschafft, Dateien aus dem Internet auf die DOM/CF zu spielen, daß ich sie von dort auch laden kann, Von Microdrive auf DOM/CF ist kein Problem. Aber da muß ich wohl sehen, wie ich die Attribute mit rüber bekommen. Vielleicht doch der Weg mit einem Emulator und gemountetem Datenträger.


    Was nervt, ist das umständliche Kopieren jeder einzelnen Datei. Ein ganzen Verzeichnis kopieren oder mehrere Dateien mit Wildcards geht wohl erst mit einem Toolkit? Und das muß ich ja erst ins Dateisystem kopiert bekommen...


    Welches Toolkit wäre denn konkret empfehlenswert? Ich lese immer wieder von einem Toolkit2, was ich auch hier in verschiedenen Versionen gefunden habe:


    http://www.dilwyn.me.uk/pe/index.html#tk2


    Solange ich noch nicht korrekt Dateien übertragen kann, was ist die beste Methode, so ein Toolkit ins ROM zu brennen? Ist es sinnvoll, das originale QL ROM zu tauschen? Kann man den externen ROM Steckplatz leicht hierfür verwenden? Oder könnte man auch noch etwas in das EPROM des Cubide packen? Wenn da nur 16kB adressiert werden, wohl eher nicht. Aber vielleicht testweise mal das Cubide EPROM gegen eins mit Toolkit tauschen? Wobei dann die Erweiterung natürlich funktionslos wäre.


    Ja, Probleme eines Neueinsteigers, dem Jahre QL Erfahrung fehlen...


    Gruß, Rene

    • Offizieller Beitrag

    Ich mache den Transfer vom PC auf den QL immer so: Datentransfer von Windows auf Sinclair QL Floppy Disks

    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

  • TK2 ist die richtige Wahl, und es ist auch eine gute Idee, das ins ROM zu backen.


    Ins interne ROM des QLs passt das nicht mehr - da bleibt dann der ROM-Port (dazu bräuchtest du ein kleines Platinchen mit ROM-Sockel und einen TTL-Chip für die Adressdekodierung, gab's früher zu kaufen, heute bleibt wohl nur der Selbstbau)


    Aber du hast ja anscheinend noch Platz auf deinem QubIDE-ROM - Wenn die Adressdekodierung (mit den Jumpern einzustellen) ordentlich funktioniert, sollte TK2 prima in die zweite Hälfte deines 27256 (muss auf einer 16k-Grenze liegen) passen. Beim Auswählen des Toolkit-Binaries musst du ein bißchen aufpassen: Es gibt vom TK2 Versionen, die man ins RAM laden soll und Versionen für ROM (ROM-Dateien haben einen speziellen Header, den der QL beim Booten sucht, und dann die ROMs einbindet). Das TK2 kennt dann auch Wildcard-Kommandos ("wcopy", "wrename", "wdel",...). Ohne TK2 ist ein QL nur ein halber QL - Das war schon in den 80ern quasi Standardausstattung.

  • Hallo,


    von dem 27256 wird auf der Platine nur die obere Hälfte genutzt. A14 liegt auf +5V.

    Wenn der QL prinzipiell 32kB für EPROM-Einblendungen nutzen kann, wäre es natürlich nicht schwierig, die Verdrahtung zu modifizieren. Könnte ich mal probieren.


    Ich suche noch nach einem PCB Layout für ein ROM-Port Modul, erster Anhaltspunkt:


    http://oldmachinery.blogspot.c…11/sinclair-ql-eprom.html


    und eine BUS-Erweiterung, um neben dem Cubide noch weitere Module aufstecken zu können. Gibt es bestimmt, muß man nur finden.


    Gruß, Rene

  • Hallo Jörg,


    die Seite habe ich auch gefunden. Leider stimmen die Links nicht mehr. Das interne Modul könnte man leicht nachbauen, falls das sinnvoll ist.


    QED läuft jetzt übrigens von meinem Cubide. Dann muß der Rest auch zu schaffen sein.


    Gruß, Rene

  • Hallo Rene,


    die Platine ist heute angekommen. Vielen Dank für den schnellen Versand!

    Ich habe fast alle Bauteile, bis auf die VG Leiste.


    Endlich ist auch die Tastatur Membrane da. Die werde ich gleich einbauen und den QL dann mal testen.


    Viele Grüße

    Jörg

  • Hallo,


    hab das interne Modul mal aufgebaut. In meinem QL war das JM ROM eingebaut und habe in ein 29F040 Flash ROM

    Minerva, JS+TK2 und MGG gebrannt. Umschaltbar über DIP Schalter.


    Das ganze ist auf Lochraster aufgebaut und dadurch lässt sich das Gehäuse nicht mehr zusammenschrauben. Ist ja

    nur zum testen. Man könnte eine Platine anfertigen oder gleich fertig kaufen. Das Rad muss ja nicht neu erfunden werden.

    https://qlforum.co.uk/viewtopic.php?t=2118

    Braucht man überhaupt so ein Modul und verschiedene Rom Versionen?


    Die QUBIDE ist fast fertig, die fehlenden Bauteile bestelle ich morgen bei Reichelt.


    Viele Grüße

    Jörg

  • Braucht man überhaupt so ein Modul und verschiedene Rom Versionen?

    "Brauchen"? Nein, nicht wirklich. Aber haben ist besser als brauchen ;)


    Im Ernst: Die letzten QL-ROMs (insbesondere das MG-ROM, von dem es ein MGE und auch ein nachträglich auf UK zurück-gepatchtes MGUK gibt) sind eigentlich ganz brauchbar. Das "beste" ist mit Sicherheit Minerva, das hat aber mit manchen sehr unsauber programmierten Spielen Probleme, deswegen würde ich - je nach vorhandener Tastatur - alz einzelnes ROM MGE oder MGUK empfehlen. Für das MG-ROM ist aber TK2 wiederum ein Muß, weil das MG-ROM außer vielen Bugfixes auch einen neuen Fehler bei POINT beschert bekam. TK2 repariert das wieder.

  • Hallo,


    nach (oder zusammen mit) cubide beschäftige ich mich jetzt mal mit den Toolkits. Ohne die ist der QL ja etwas klobig zu bedienen.


    Erste funktionierende Methode:


    http://www.dilwyn.me.uk/pe/index.html


    "tk2_bin" runterladen und auf DOM bzw. CF-Karte spielen, z.B. nach "win1_tk2_bin"


    Das kleine BASIC-Programm weiter untern auf der Seite eintippen und evtl modifizieren (für win1_):


    1 LET adr=RESPR(17396)
    2 LBYTES "win1_tk2_bin",adr
    3 CALL adr+1380


    Speichern unter z.B. "win1_tk2_bas"


    Starten. TK2 wird geladen und initialisiert. Befehle wie "ED" usw. funktionieren. Manche (DIR ohne Parameter) hängen sich bei mir auch auf. Also ganz paßt es noch nicht.


    Dann habe ich versucht, diverse Images auf EPROM zu brennen und anstelle der cubide Firmware in die cubide Erweiterung zu stecken. Zum Beispiel das Image aus "tk232_rom.zip".


    Hier meldet sich das TK mit der Initialisierungsausschrift. Dann hängt der Rechner leider.


    Am besten wäre also wohl doch ein Modul für den ROM-Port. Oder wenn der QL von der cubide (also auf win1_) beim Start automatisch ein Script ausführt, was ein Toolkit lädt. Bei Microdrives funktioniert das ja. Mal weiter lesen und lernen...


    Gruß, Rene

  • Wenn du ein BASIC-Programm automatisch beim Start ausführen lassen willst, dann speicher' es unter "win1_BOOT" ab - das sollte automatisch geladen und ausgeführt werden.


    Wenn sich "dir" ohne Parameter anscheinend aufhängt, dann kann das daran liegen, daß kein (oder ein falsches, wie z.B. 'flp' oder 'mdv') Default-Laufwerk gesetzt ist. Defaults sind bei QDOS getrennt für "Programmpfad" und "Datenpfad" und werden gesetzt mit


    Code
    100 DATA_USE 'win1_' : REMark Data default auf win1_
    110 PROG_USE 'win1_' : REMark Program default auf win1_

    Wenn das in deinem win1_BOOT steht, sollte "dir" ohne Parameter direkt nach dem Start funktionieren - Das Laden des Toolkits kannst du dann natürlich auch davorhängen..

  • Das mit "boot" hatte ich gerade auch herausgefunden. Das hilft! :)

    DATA_USE liefert mir aber "UNGÜLTIGER PARAMETER", egal ob mit ', " oder ohne.

  • DATA_USE liefert mir aber "UNGÜLTIGER PARAMETER", egal ob mit ', " oder ohne.

    Das ist komisch. Versuch' mal das neueste Toolkit: https://www.kilgus.net/2017/03/19/toolkit-ii-the-sequel/

    (Dort die "RESPR"-Version, du mußt 19036 Bytes mit RESPR reservieren und dann direkt an der Ladeadresse CALLen)


    Viele der anderen Tooolkit-Files sind von irgendwelchen Disk-Interfaces gezogen und laufen möglicherweise mit QubIDE nicht)

  • Hallo,


    ich möchte nur melden, daß mein QL inzwischen mit einigen nützlichen Erweiterungen läuft:


    - QubIDE 3.10: IDE Interface mit 512kB RAM

    - QL-VGA: FPGA-basiertes Interface zum Anschluß an VGA-Monitore

    - vDrive: Emulator für virtuelle Microdrives auf SD-Karte

    - vMap: Ummappen der internen und externen/virtuellen Microdrives


    Also Platinen habe ich noch ein Diskinterface bekommen, was ich noch bestücken muß. Falls ich wirklich ein Diskettenlaufwerk anschließen will.

    Ebenso habe ich noch eine BUS-Erweiterung bekommen (muß auch noch bestückt werden), falls doch noch mehr Erweiterungen angeschlossen werden sollen.


    Dann gibt es noch eine interne ROM-Erweiterung Minerva/TK2. Davon habe ich gerade mal 5 Platinen fertigen lassen. 3 oder so könnte ich dann abgeben. Aber erstmal testen, ob das läuft.


    Hilfe und Platinen kamen übrigens aus dem Forum:


    https://forum.tlienhard.com/phpBB3/


    Mit Fileheadern, TK2, Auspacken von ZIP-Files und einer gut durchdachten Struktur auf dem IDE-Laufwerk kämpfe ich noch ein bißchen. Aber so langsam beginne ich, einiges beim QL zu verstehen. Dagegen war ja CP/M sehr nutzerfreundlich.


    Gruß, Rene

  • Es gibt ein paar Sachen, die du dir unbedingt besorgen und anschauen solltest, um den QL komfortabel bedienen zu können:

    • Toolkit 2 - Das ist ein Muss, wegen Wildcard-Kommandos und vielem, vielem anderen. Ein Handbuch dazu wäre für den Anfang angebracht, QDOS ist halt nicht Unix.
    • Den pth_ - Devicedriver. Das macht so ungefähr dasselbe wie $PATH bei Unix - Stellt den Suchpfad ein, auf dem Programme gefunden werden
    • Das history-Device. Das ist ein Kommandozeilen-Editor, wie du ihn von Linux oder CMD kennst
    • Das sub_-device. Ungefähr dasselbe wie SUBST bei DOS. Damit bekommt man Programme aus der Anfangszeit des QLs, die nicht mit Directories klar kommen, ordentlich zum Laufen.
    • Das dev_-device. Auch so ähnlich wie SUBST, nur für ein paar andere Anwendungsfälle.
    • Wenn du auf grafische Oberflächen stehst, unbedingt das Pointer-Environment anschauen - Das ist so ein bißchen Standard für alle neueren Programme auf dem QL, und katapultierte den QL damals in die 90er. Enthält auch einen anderen Konsolentreiber, der auch die Bildschirme von allen laufenden Programmen sichert und wiederherstellt.
  • Toolkit2: Habe ich auf jeden Fall schonmal in meiner "boot" auf win1_. Leider funktionieren einige Befehle nicht richtig aber dafür will ich erstmal die neuere Version (2.34) installieren.


    Danke für die anderen Tips, das klingt interessant und könnte etliche "Probleme" lösen oder das Leben leichter machen.


    Ich wollte auch mal den QLCommander ausprobieren, weil ich seit über 30 Jahren mit Norton Commander Clones arbeite. Aber der wirft mir bisher auch nur einen Fehler:



    Sagt Dir die vielleicht etwas?


    Gruß, Rene

  • Das ist eine Fehlermeldung, dass eine bestimmte BASICErweiterung ("TURBO_locstr") nicht geladen ist. Das sollte aus "Turbo Toolkit" sein, den du zuerst laden musst.

  • Das ist komisch. Versuch' mal das neueste Toolkit: https://www.kilgus.net/2017/03/19/toolkit-ii-the-sequel/

    (Dort die "RESPR"-Version, du mußt 19036 Bytes mit RESPR reservieren und dann direkt an der Ladeadresse CALLen)

    Das hat schonmal das Verhalten verbessert. Keine Abstürze mehr bei "dir", wenn nichts gesetzt oder als Parameter übergeben wird. Die Turbo-Erweiterung baue ich als Nächstes ein. Allmählich wird die "boot" auf win1_ umfangreicher.


    Ich glaube nicht, daß der QL einer meiner Lieblingscomputer werden wird. Aber ich will ihm erstmal noch ein bißchen Zeit spendieren. Wenn man dem damals etwas bessere Grafik und eine ordentliche Tonerzeugung gegönnt hätte...


    Gruß, Rene

  • Ich glaube nicht, daß der QL einer meiner Lieblingscomputer werden wird. Aber ich will ihm erstmal noch ein bißchen Zeit spendieren. Wenn man dem damals etwas bessere Grafik und eine ordentliche Tonerzeugung gegönnt hätte...


    Gruß, Rene

    Ach, mit den oben vorgeschlagenen Erweiterungen wird's mindestens so gut und komfortabel wie ein DOS-Rechner.


    An sich ist die Grafik mit mehr Bildschirmspeicher als ein Atari ST doch gar nicht sooo schlecht. Immerhin hat er zwei Farben mehr und eine ähnlich hohe Auflösung. Mit dem Piepser geb' ich dir allerdings recht - Die 1-Kanal-Hupe aus dem 8049 ist keine Meisterleistung.


    An sich hat man den QL zu sehr auf Kosten getrimmt - Wenn man die Geschichte liest, hat man den Rechner ursprünglich mit 3 Custom Chips geplant und während der Entwicklungszeit auf 2 zusammengestrichen, weil der Dritte dem Sir zu teuer war. Das hat einiges an Möglichkeiten gekostet. Genauso das Basic: TK2 gibt es nur, weil der Entwickler des QDOS und SuperBASIC meinte er muß das "wirklich fertig machen", nachdem Sinclair ihm gesagt hatte, das er jetzt fertig sei. (Sprich, er wollte damit zeigen, wie es wirlich geworden wäre, wenn man ihn zuende entwickeln lassen hätte.)