Beiträge von guidol

    Jedes Leerzeichen, jede Rem-Zeile, jeder zusätzliche Doppelpunkt verändert bei Microsoft-Basic die Laufzeit.

    slenz Das scheint bei IotBASIC nicht anders zu sein und sogar ganz schoen "drastisch" ;)
    Ich habe per SET 12,0 den Startindex auf 0 gesetzt und den "alten" Code genommen - dabei aber im Code die REMs dringelassen.

    Die Ausfuehrungzeit hat sich von 10.x auf 12.x Sekunden erhoeht :(

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.


    CalcPi mit SET 12,0 und REMs:

    CalcPi mit SET 12,0 aber ohne REMs:

    Willkommen Stefan Lenz (ist der Autor vom IoTBasic) ;)
    Ich habe Deine Antwort nochmal in der Anzeige verschoben, da Du im Kommentfeld des vorherigen Users geantwortest hattest und es dann bei zu viel Laenge eingeklappt wird :)
    Wahrscheinlich wird dies aber auch eingeklappt :(

    Stefan Lenz schrieb :

    Ich hab jetzt kurzerhand einen Editor geschrieben, der die Tool Chain aufrufen und die Fehlerausgabe abfragen kann.

    Vom Aussehen her erinnert ich der Editor an den von DARIC

    Zitat

    Daric is a programming language inspired by microcomputer BASICs of the 1980s,

    but built on modern foundations.

    Programming should be fun, and immediate. Daric is designed around the idea of batteries included, once installed there are no other dependencies. A few lines of code to create interactive, graphical, FUN programs!

    Ich habe nun doch mal versucht das IoTBASIC unter Windows zu compilieren.

    Vorgabe war eigentlich MinGW, aber wenn ich MinGW (GCC 12.2.0) nutze, bekomme ich beim compile ein paar Fehlermeldungen und kein .EXE
    Nehme ich allerdings einen TDM-GCC (GCC 10.3.0 - TDM-GCC ist auch ein MinGW32) bekomme ich auch ein paar Warnings aber dafuer auch ein .EXE

    Im Source habe ich fuer CLS das ASCII-Zeichen 12 (outch(12) - warum auch immer) gegen die ANSI CLS Sequence ausgetauscht:

    Code
    /* ANSI CLS ESC[2J */
                    outch(27);
                    outch(91);
                    outch(50);
                    outch(74);

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Die Berechnung der 1000 Stellen geht in ca. 10 Sekunden durch ;)
    (der TTGO VGA32 brauchte 281.68301 Sekunden fuer die 1000 Stellen)

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    wobei ich das Gefühl habe, an dem Algorythmus stimmt was nicht, denn die ersten 100 Stellen dauern schon länger, als wie wenn ich nur 100 Stellen berechnen lassen wollte...

    Das habe ich auch schon gemerkt, je mehr Stellen man berechnen laesst umso laenger dauern auch die ersten (100) Stellen.

    Macht man z.B. nur 50 Stellen kommen die aber auch schneller, als die ersten 50 Stellen wenn man 100 Stellen berechnen laesst.

    PC-BASIC (GW-Basic kompatibel) unter Windows 11:

    IoT-BASIC v1.3 (nicht GW-Basic kompatbel) unter Windows 10:

    (bin mir noch nicht sicher, wie man die v1.4 auf Github mit MinGW compiliert)

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    selbst echtes GW-BASIC unter vDOS mit Windows 10 ist viel schneller als das PC-Python-BASIC ;)

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    guidol ... funktioniert auch mit 1 (statt 0) startendem Array Index prima und ist sogar von der Quelle her etwas schlanker, siehe Anhang.

    Peter z80.eu OPTION BASE 1 kennt IoTBASIC (mal wieder) nicht - scheint aber auch nicht noetig zu sein.

    Schlanker habe ich jetzt bei der neuen Version nicht gesehen (im Compare-Vergleich).

    Allerdings habe ich beim Compare-Vergleich gesehen, dass ich vorher noch ein +1 in Zeile 200 hatte und das -1 in Zeile 370 fehlte.

    Nachdem ich beide Zeilen angepasst hatte, kommen nun auch in meinem angepassten Code die richtigen Zahlen :)

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    BTW: Leider zerhaut IoTBASIC die REM-Zeilen beim einlesen (deshalb im Source wieder richtig gestellt).

    Werde wohl dem Autor in Muechen mal ein Issue auf Gthubaufmachen :)


    Damit man auch mal mit was anderes testen kann, und was weniger abhängig von der Bildschirmausgabe ist, hier mal das Berechnen von Pi auf bis zu 1000 Stellen.

    Peter z80.eu

    Hast Du das Programm geschrieben? (denke ja wegen Zeile 130) - weil das IoTBasic fuer das VGA32 hat kein RIGHT$ kann und keine Variable A(0) denn der Index startet leider bei A(1).

    Das mit dem RIGHT$ konnte ich anpassen im Source, aber das verschieben des Index-Start fuer A von (0) auf (1) habe ich nicht passend hinbekommen :(

    ich bekomme zwar jetzt eine Ausgabe, aber die ist total daneben, auch wenn 100 Stellen unter 3 Sekunden dauern (bis jetzt kannte ich nur das Picomite Basic in so schnell).

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Falls das Programm von Dir ist, evtl. kannst Du mal hier in den Source schauen, was ich da verbockt habe?

    Angepasst sind die Zeilen: 290, 350, 360, 370 und 390 um den A-Index zu verschieben inkl. der FOR-I Schleife von Zeile 340


    Dann waere das STRING ARRAY eine echte Alternative :)

    a$(0) = "A"

    Ein Stueck einfacher macht es uns dies BASIC schon ;)
    wenn man sich den Doku-Bereich "Strings" ansieht.

    Anstatt A$(4,1) fuer 4te Stelle ein Zeichen gibt es

    A$(4,4) dass heist von der 4ten Stelle bis zur 4ten Stelle.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    MID$ kann er wohl auch nicht :( siehe Befehle , die es gibt

    Aber es sind keine 2 Sekunde - WOW!!

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Der Entwickler dieser Plattform scheint ja Deutscher zu sein... Bekommen wir den nicht hier ins Forum eingeladen?

    woran erkennt Du dies (am Namen Carsten Herting(SLU4))?
    Ich habe keine Info gefunden und vom Akzent haette ich eher auf einen Briten/Englaender getippt.

    [EDIT] Ahh - nun habe ich gesehen, dass er in den YT-Kommentaren auf Deutsch geantwortet hat ;)

    BTW: Das Handbuchist nun richtig freigegeben ;)

    Mit dem TinyBASIC bzw. IOTBasic auf dem TTGO VGA32 laeuft das FRACTAL in
    weniger als 2 Sekunden :)

    Leider fehlt (siehe Zeile 205) dem BASIC das CHR$, so dass ich nur 2 verschiedene Zeichen fuer FRACTAL bekommen.

    Aber ich glaube nicht, dass dies die Rechengeschwindigkeit so beeintraechtigen wuerde, wenn er es anders anzeigen koennte ;)

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Franky

    auf der github hardware-page dazu steht fuers TTGO aber leider auch ein Begrenzung :(

    64kB of BASIC memory without Wifi.

    With Wifi the system cannot be stably powered any more from a standard USB port. It will crash periodically through the brownout detection mechanism. Use a sufficiently powerful external power source instead. Memory management is broken. Only small BASIC memories of 8kB are currently supported with the full VGA resolution.

    Besonders der letzte Satz waere schade, wenn es von 64 auf 8kb runtergeht...

    Heute gesehen auf Twitter - jemand hat das Bild in einem Recycling-Center gemacht und durfte ihn nicht retten :(

    Einen PET PPC mit eingebauter Floppy!

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Der Autor von RunCPM war so nett, die BDOS function 248 zu realisieren

    (gewuenscht vom User SergeyDr, die die Millisekunden seit dem Systemstart zurueckgeben soll

    - so wie es TIMER bei GW-BASIC unter DOS macht.

    Da der Autor nicht ganz so viel Zeit hat, bat er, dass jemand dies testen koennte (unter Arduino, Linux, Windows).

    Kann mir evtl. jemand beim MBASIC-Code zum Aufrug des BDOS-Call 248 helfen?
    Muesste wohl aehnlich sein, wie jemand schon LED-Output-Input-Aufrufe in MBASIC realisiert hat.

    Dies wuerde dann auch helfen, die Laufzeit fuer FRACTAL.BAS zu stoppen ohne dass man Auge/hand nutzen muss :)

    MiniBASIC (welches in Interpreter ist, der unter MiniMicro laeuft) ist ein BASIC, dass aehnlich wie PICO-8 oder TIC-80

    ein virtueller Computer bzw. eine virtuell zu programmierende Konsole.

    Fuer MiniScript gibt es auch ein Forum und einen Discord-Server

    Ein (fuer mich) beeindruckendes Intro gibt es auf YouTube hier und ein Getting-Started hier

    MiniScript/MiniMicro ist laut Autor eher an Python angelehnt, aber das MiniBASIC,

    dass unter MiniMicro laeuft hat ein farbiges Listing-Display und einen eingebauten Editor.

    MiniMicro ist erstellt mit dem alte bekanntem Unity-Framework ;)

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Das MiniBASIC hat leider (software-system-bedingt) nur eine Console-Aufloesung von
    68 Zeichen mal 26 Zeilen.

    Eine erste Befehls-Doku fuer MiniBASIC

    Ja, aber du musst berücksichtige, dass rt11 ein Singleuser Betriebssystem ist und Sie für Basic viel mehr Speicher sowie Rechenleistung zur Verfügung haben. RSX11 ist ein Multiuser Timesharing-Betriebssystem, das zusätzlich zu BP2 viele andere Prozesse gleichzeitig ausführt.

    RSX11 scheint dies auch zu tu, wenn es keiner nutzt ;) D.h. wenn ich als einziger User RSX11 nutze, verbraucht RSX11 die Zeit auch ohne mich - schade :(

    Evtl, mag ich als CP/M / DOS User RT11 mehr ;)

    Auch komme ich bei den Befehlen eher mit RT11 klar, als mit RSX11 *sigh*

    Du meinst das RSX-11 Image mit C-Compiler ? Wäre ein Versuch wert, aber schade dass das BASIC Plus nicht funktioniert.

    BASIC Plus 2 unter laeuft nun in der letzten Version des pdp_1140, aber aus meiner Sicht um Laengen langsamer als das BASIC-RT11 unter RT11 :(

    Hi,

    kannst Du ein Bild Deines Aufbau einstellen?
    Es kann auch folegndes sein:

    - Breadboard mit schlechten Kontakten (wenn Du aif einem Breadboard aufgebaut hast)

    - wackeliger Kontakt im SPI Bereich (vom Pico zum SDCard-Slot)

    dies habe ich bei Adaptern mit MicroSD-Slot gehabt, weil die nur eine Pinreihe haben

    meine Adapter mit echter SDCard-Groesse haben 2 Pinreihen

    evtl. zu lange Kabel zum SDCard Slot?

    Richtigen Strom zugefuehrt 3.3V<->5V - je nach Adapter gibt es nur 5V oder beides,
    denn wenn nur 3.3V auf den 5B Regulator kommen kann es zu wenig Strom geben

    - weitere Komponenten installiert die zu viel Strom ziehen?

    Peter z80.eu Leider kann (das normale) CP/M den TIMER nicht nutzen mit MBASIC,

    so zeigt es bei mir immer "It took 0 secs" ;)

    Ich habe die in ASCII gespeicherte MBASIC-Version mit BASCOM/L80 zu einem CALCPI.COM
    fuer CP/M compiliert.

    Auf einem RPi Pico (250Mhz) mit RunCPM hat das compilierte CALCPI.COM die 78 Stellen in
    38 Sekunden berechnet :) 100 Stellen in 63 Sekunden.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Du meinst das RSX-11 Image mit C-Compiler ? Wäre ein Versuch wert, aber schade dass das BASIC Plus nicht funktioniert.

    Was ist das eigentlich für ein RSX-11 - eines der letzten Versionen, also RSX-11M-Plus (mit DCL) ?

    P.S.: Auf https://pdp-11.org.ru/files.pl?lang=en findet man die Images auch für RSX-11M-Plus... allerdings denke ich wird der Pico einfach dafür zu klein sein.

    Ja oder sein RSX11 mit BASIC Plus
    Evtl. muesste man dass mal mit dem neueren noOS-ff15 testen (evtl. sogar v1.0.8) - da spoofy von Problemen mit starkem Disk-IO schreibt. Bis jetzt gehe ich davon aus, dass er noch eine Version mit dem "Standard" noOS-ff14a nutzt, die Ian auf seinem github hat.

    Selbst testen kann ich es noch nicht, da sich mir bis jetzt nicht erschlossen hat, wie man RSX11 nutzt

    (also z.B. ein DIR aufruft oder BASIC-Plus startet) - ansonsten wuerde ich es mit meinem letzten Compilat mal testen.

    [EDIT] mit folgendem Befehl erhalte ich ein "DIR", sehe aber kein BASIC Plus:



    Allerdings schreibt spoofy auch, dass es normalerweise eine Speichermenge(!) von 124 KW(ord) braucht und ich glaube (nach dem was ich gelesen habe) Ian hat es bis auf 112 KWord rauf geschafft. Mehr ist aber wohl nicht drin (im Pico) und er denkt drueber nach es auf einem ESP32 zu versuchen, der hat ja (in der richtigen Version) ca. das doppelte RAM

    Pico 264K SRAM

    ESP32 (nicht C3/S2/S3) 520K (of available SRAM (320 KB of DRAM and 200 KB of IRAM))