Posts by GoDot

    aber wenn ich dann die Zeile 330 einfüge, um die Return-Taste abzufragen, reagiert das Programm auf die Cursortasten seeehr langsam. An was liegt das ?

    Es dürfte dann überhaupt nicht reagieren (außer mit der Fehlermeldung END PROC WITHOUT EXEC), denn in 330 springst du nach 1680, von wo aus es keinen Rücksprung (schon gar nicht auf dein Zentrum 260) mehr gibt.


    Außerdem ist ON KEY ein Einmalbefehl, ähnlich wie ON ERROR. Du versetzt damit das System in einen Überwachungszustand, ab diesem Befehl (ON KEY) reagiert TSB im Interrupt auf deine Tastendrücke, vergleicht sie mit der Liste hinter ON KEY und verzweigt ggf. an das Ziel hinter ON KEY, ansonsten kehrt es scheinbar ohne Reaktion aus dem Interrupt zurück. D.h. ON KEY ist gut geeignet für Hotkeys, nicht so sehr jedoch für eine Tastenabfrage zum Steuern eines Menüs.


    Wenn du nämlich die ON-KEY-Tastenliste änderst (was du da in *Dauerschleife* machst: 320 und 330 liegen innerhalb deiner GOTO-Schleife 260-340), ist es natürlich ziemlich zufällig, welche Liste dann, wenn du gerade drückst, aktiviert ist! Entweder die mit <Return> oder die mit den Cursortasten...


    Warum kapselst du nicht die einzelnen Aufgaben in je einer Prozedur und fragst dann

    IF taste$="{dwn} THEN abwaerts

    IF taste$="{up} THEN aufwaerts


    usw...? Oder so ähnlich. Und überlässt ON KEY eventuellen Hotkey-Tasten?


    Arndt

    Auch das CRT-File ist jetzt online.


    Vielen Dank an GI-Joe für seine weitreichende Hilfe! Ohne ihn gäbe es die TSB-CRTs nicht!


    Hinweis für Emulator-Nutzer: Da die Cartridge an $df00 eingeblendet ist, genau wie eine REU, fürchte ich, dass die MEM-Befehle für das REU-Handling nicht funktionieren oder sogar zu Abstürzen führen. Beide Module gleichzeitig am Expansion-Port wäre im wahren Leben ja auch gar nicht so möglich...


    Arndt

    Diesmal ein größeres Update!


    Was ist geschehen? David Simons hat in seinem Basic die Verwendung mehrerer Diskettenlaufwerke nicht vorgesehen, SB geht immer von Drive 8 aus. Weil es ziemlich unwahrscheinlich ist, dass das Laufwerk, von dem man gebootet hat (jedenfalls bei der Diskversion), plötzlich nicht mehr da ist, hat er bei allen Befehlen, die auf Laufwerke zugreifen, vergessen abzufragen, ob der Drive überhaupt an ist. Wenn aber nun nicht, hängt sich SB in so einem Fall auf. Man kann es nur noch mit STOP/Restore reanimieren.


    Ich hab das zum ersten Mal gemerkt, als ich das Demoprogramm "show drives.dmo" auf der TSB-Disk (die zum Downloaden) geschrieben hab. TSB kann ja beliebige Laufwerke ansprechen, was das Demo zeigen soll. Darum hatte ich dann angefangen, den DIR-Befehl, der darin zum Einsatz kommt, entsprechend zu entwanzen. Wobei mir schließlich die ganze Misere immer deutlicher wurde. Also ran an die Buletten und von Grund auf "sauber" gemacht.


    In dieser TSB-Version wurden folgende Befehle und Routinen umgeschrieben:


    DISK (Diskettenbefehle über den Kommandokanal abschicken)

    DIR (Directory abrufen)

    MERGE (Basic-Programme im Speicher miteinander vermischen)

    ERROR (Fehlerkanal der Floppy auslesen)

    INST (DOS Wedge 5.1 aktivieren)

    GRAPHICS (High Speed Grafik aktivieren)

    MEM (alternativen eigenen Zeichensatz aktvieren, siehe "zeichensatz.dmo")

    NRM (die Extensions (DOS Wedge/neuer Zeichensatz) rückgängig machen)

    SCRLD (Textbildschirm mit Farben oder Grafik-Bitmap laden)

    SCRSV (Selbiges speichern)


    Und folgende sekundär betroffenen Routinen:


    DO..DONE (mehrzeiliges IF..THEN..DO..ELSE..DONE)

    PLACE (Array-Inhalte anzeigen)

    CSET (Text-/Grafikmodus anwählen)

    und der Startscreen (ist jetzt defaultmäßig in Groß-Kleinschrift)


    Der Download steht schon im Netz. Das CRT muss ich noch erstellen. Wenn ich soweit bin, sage ich Bescheid. (GI-Joe hilft mir ganz super!)


    Wem was auffällt (es sind *bestimmt* Kollateralschäden entstanden!), melde sich bitte bei mir!

    Viel Spaß mit TSB!


    Arndt

    Hat nicht Simons Basic auch Elemente zur strukturierten Programmierung? Oder TSB?

    TSB: Nur scheinbar. Zwar arbeiten CALL und EXEC mit Labels (definiert bei PROC), aber es gibt keine Kapselung der Prozeduren, keine Parameterübergabe und keine Ergebnisrückgabe, alles weiterhin global. Praktisch GOTO und GOSUB unter anderem Namen. Immerhin sind Zeilennummern da nur noch "Ordnungshilfen". :-)


    Arndt

    Update von TSB! (Einschließlich Cartridge)


    Wer unter TSB häufiger auch ursprüngliche Simons'-Basic-Programme laufen lässt, die den Befehl EXEC verwenden, sollte besser das Update herunterladen. Ein Bug in EXEC verhindert, dass bei ausdrücklicher Anwendung des Befehls (was in TSB ja nicht mehr nötig ist, in SB aber schon) das Ziellabel gefunden wird. Es werden dadurch also PROC NOT FOUND ERRORs erzeugt. Das Update behebt den Fehler. Downzuloaden auf dieser Seite: GoDot Downloads (godot64.de) (ganz unten - ich will hier nicht den Server mit immer neuen Dateien zumüllen...)


    Hat mir ein aufmerksamer User aus den Niederlanden gemeldet. Vielen Dank für diese super Mitarbeit an ihn! Gerne mehr davon! :-)


    Arndt

    Update


    mod.PrintTo4Bit


    Eine Reihe Verbesserungen: Die Farbauswahl bei Multicolor-Fonts geht umläufig jetzt auch rückwärts, der letzte gültige Filename einer Font-Datei wird jetzt angezeigt, und ein Bugfix: der Ausgabebalken für Fehlermeldungen kam auch, wenn es keine Fehlermeldungen gab (behoben).


    Arndt

    So, jetzt möchte ich mich mal bei tecman bedanken! Ohne seine Anfrage in Post#9 wäre diese ganze Sache überhaupt nicht in Gang gekommen, dann hätte ich nicht so viel über CRTs gelernt und dann hätte GI-Joe nicht dieses super TSB.CRT gebastelt! Also an alle Beteiligten: Ich bin hochzufrieden mit diesem Vorgang! Danke an alle! :-) Ich hebe ein Glas auf euch! :-)


    :drink::thanx::tanz::hatsoff::prost::ChPeace:drink:


    Arndt

    jo, ist passiert und läuft prima :)

    Ah, super, danke, danke! :-) :-)


    was mir noch aufgefallen ist: die Abkürzungen funzen nicht mehr ....

    Das ist TSB. Da die TSB-Befehle beim Tokenisieren Vorrang haben (sonst gäbe es mit einigen SB-Befehlen Probleme!), muss jetzt bei einigen Standardbefehlen anders gekürzt werden. Im TSB-DEMO ist eine Abteilung, wo man sich die Befehle ausgeben lassen kann.


    Aber mir ist noch aufgefallen, dass jetzt der REU-Zugriff nicht mehr funktioniert! (MEM-Befehle) Kann das sein? Die neue CRT liegt auch auf $df00, stimmt's? :-( Falsch, alles in Ordnung! :-)


    Arndt

    Sehe gerade, dass dafür reicht, in "starter.asm" die richtige (!) Einsprungadresse zu setzen, nämlich "jmp $8170" (statt jmp $8171). Sorry, im File "TSB" von der TSB-Demodisk war das noch falsch (33137 statt 33136!). In der Startdatei im geZIPpten D64 ist das aber richtig! Tut mir leid! Kann man das irgendwie noch nachträglich ins CRT friemeln?


    Arndt

    Cool! :-)


    Eins fehlt noch: Die Vektoren für LOAD und SAVE ($0330..$0333) müssen noch geändert werden, sonst lädt TSB nicht ohne ",8"! Dort muss stehen:


    LOAD: $8bfc

    SAVE: $8c03


    Ansonsten habt ihr mich gerade umgehauen!


    Arndt

    Ja, Laufwerk ist auf 8 gesetzt.

    Versuch trotzdem mal USE 8. Geht es dann? Wenn ja, wird beim Reset das generelle TSB-Laufwerk nicht gesetzt ($be bzw 190, was aber eigentlich geschieht). Ist der Bus irgendwie blockiert?


    Arndt

    Dem ist nicht so, wenn ich dein CRT über das KungFu Flash lade. TSB startet zwar (mit blauen Bildschirm), aber ich kann nicht auf das Laufwerk zugreifen. Selbst "Error" zeigt nichts an.


    Übrigens, soll das TSB CRT im blauen Bildschirm starten? Er wird erst grau/hellgrau nachdem ich Run/Stop + Restore Taste zusammen drückte. Nach einem Reset wird der Bildschirm aber wieder blau/hellblau mit dem netten Hinweis "Tuned" unter 64k

    Beim Booten wird TSB auf Drive 8 gesetzt, ist dein Laufwerk mit 8 angeschlossen? Wenn nicht, USE plus Laufwerksnummer eingeben.


    Der blaue Screen ist richtig. Nur NRM schaltet auf grau (glaube ich, warte mal... nein, nur F8 und STOP/Restore).

    Arndt