Beiträge von Microprofessor

    Hallo,


    vor einiger Zeit habe ich nen TRS-80/100 mit 3,5-Zoll-Diskettenlaufwerk ersteigert. Mit dem Laufwerk kann ich jedoch so lange nix anfangen, bis ich eine 3,5-Zoll-TRS-DOS-Diskette finde oder herausfinde, wie ich mir selbst eine herstellen kann.


    Weiß jemand weiter?


    Danke!
    Stefan

    Danke schon mal! :)


    Ich mache mich nachher mal daran, die mir bekannten Geräte zu listen. Am besten wird es sein, das alphabetisch nach Herstellernamen zu tun und dann darunter die jeweiligen Rechner zu subsummieren. Ich würden den Beitrag dann jeweils um Neuzugänge ergänzen (korrigieren) - vorausgesetzt, man kann hier Beiträge bis in alle Ewigkeit korrigieren.


    Stefan
    (der seinen Nickname geändert hat :) )

    Hallo,


    könnt ihr mir helfen, hier so viele Namen von 8-Bit-Computern mit Z80/Z80A/Z80B/Z80H-Prozessoren zusammenzutragen, wie es geht? Bei Thomas Scherrer gibt es eine Übersicht, die jedoch keinesfalls vollständig ist. Gibt es woanders vollständigere Listen mit Rechnern auf Zilog-Basis oder mit Zilog-Teil-Infrastruktur (Commodore 128).


    Ich suche sowohl die Namen von Originalcomputern als auch von Clones (auch mit U880-Prozessor), Einplatinencomputern (etwa "LC80" oder "Mikrorprofessor") und wichtige Z80-Karten für andere Rechner (z.B. Apple II). Die Systeme sollten käuflich zu erwerben (gewesen) sein - oder bekanntere Bastelprojekte (etwa der "NDR-Klein-Computer").


    Wenn es möglich ist, mit einem Link zu einer Infoseite (kann ich aber auch selbst raus suchen).


    Stefan

    Hallo,


    ich hab mir ein 72-Multi-Game-Modul für die Vectrex gekauft. Leider wird das nur noch als offene Platine verkauft, was zwar der Funktionalität keinen Abbruch tut, jedoch weder schön aussieht noch besonders sicher ist.


    Daher suche ich ein defektes Vectrex-Modul, in dessen Hülle ich die Multi-Card einsetzen kann. Es wäre natürlich wichtig, dass nicht die Hülle defekt ist.


    Ein funktionierendes Modul würde ich allerdings nicht nehmen und zerstören, um die MC darin unterzubringen!


    Bitte PN an mich!


    Stefan

    Ist euch eigentlich auch aufgefallen, daß die Schleife nicht mehr mit dem Endwert durchlaufen wird ?
    Der letzte ausgegebene Wert ist 9.90000001. Ein Durchlauf mit 10 findet nicht statt.


    Intern wird die Schleife immer eins weiter gezählt, weil der Interpreter wahrscheinlich nur prüft, ob I schon >10 ist. Wenn du FOR I=1 to 10:NEXT eingibst und danach PRINT I, dann kommt "11" heraus.


    Großartig!

    Gerade finde ich eine Interview-Aussage von Thomas E. Kurtz (dem Erfinder von BASIC) hier:


    Zitat

    Alle mathematischen Berechnungen werden mit Gleitkommazahlen durchgeführt. Eines der schwierigsten Konzepte für einen Einsteiger ist die Unterscheidung zwischen Integer- und Gleitkommazahlen. So gut wie alle Programmiersprachen der damaligen Zeit beugten sich der Architektur der Computerhardware bei der es Gleitkommazahlen für mathematische Berechnungen und Integerzahlen für die Effizienz gab. Indem wir alle Berechnungen mit Gleitkommazahlen durchführten, haben wir den Anwender vor den numerischen Typen geschützt. Wir mussten intern ein paar Verrenkungen anstellen, wenn ein Integer-Wert gefordert wurde (wie bei einem Array-Index) und der Anwender eine Kommazahl mitgab (Beispiel 3.1). In solchen Fällen haben wir gerundet. Ähnliche Probleme hatten wir mit dem Unterschied zwischen binären und dezimalen Nachkommastellen. Schauen Sie sich dieses Beispiel an:


    FOR I=1 to 2 STEP 0.1


    Die dezimale Kommazahl 0.1 ist binär eine mit unendlichen vielen Nachkommastellen. Wir mussten einen Korrekturfaktor verwenden, um die Schleife abzuschließen.

    (S. 82f.)


    Ich habe das Interview schon ein paar mal gelesen - seltsam, dass ich mich an diese Stelle erinnert habe. :)

    Ja, das Locomotive-BASIC hat ganz elegante Möglichkeiten, direkt auf Maschinen-Prozeduren zuzugreifen (allein schon die Interrupt-Beeinflussung! Das findet man sonst fast nirgends.)


    Ich habe hier nen Text einer Pädagogik-Kommission von Ende der 1970er-Jahre, die prüfen sollte, welche Sprache für den Einsatz in der Schule geeignet ist. Das halbe Buch handelt von BASIC und wie schlecht es für pädagogische Zwecke ist, weil es "zu problemfern und zu maschinennah" sei. :D


    Man kann BASIC also im Prinzip nur lieben! :D

    Auch aus der Kuriosiätenecke:
    Das Omikron Basic hat keine echten Zufallszahlen, sondern geht von einer Reihe aus, die jedesmal wieder gleich abläuft, wenn ich die Erklärung eines Users richtig verstanden habe.
    Er hat es festgestellt, weil er mehrere Omikron Programme in VMs hat nebeneinanderlaufen lassen, und bei zwei oder drei VMs kamen identische Ergebnisse nach keine Ahnung wie vielen Durchgängen raus.


    Echte Zufallszahlen kann es aus einer deterministischen Maschine wie dem Computer sowieso nicht geben. Es wird allerdings unterschieden zwischen Zufallszahlen und Pseudozufallszahlen. Gute Programmiersprachen verwenden erstere, die zumeist aus Zeilenrücklauf-Abfragen des Videochips und anderen Werten im Prozessor gebildet werden; schlechte (wie etwa das Chipmunk-BASIC) nutzen solche Tabellen und man kann damit immer wieder dieselben Reihen von Zufallszahlen produzieren.


    GANZ HERZLICHEN DANK für die Erklärung!!

    Interessant! Das kannte ich bisher nicht. Weiss da jemand mehr :)?


    Witzig ist auch, dass die Ausgabe mit folgender Zeile einwandfrei - also ohne Rundungsfehler - funktioniert:

    Code
    20 PRINT USING "##.###"; i


    Btw, die Variablen kann man schon als "Real" oder "Integer" definieren. So wird bei einigen Programmen aus Geschwindigkeitsgründen ein "DEFINT a-z" vorangestellt, um dem BASIC Interpreter damit zu sagen, dass alle Variablen ganzzahlig sind. Dadurch kann man noch etwas Geschwindigkeit herausholen. Genauso kann man mit "DEFREAL" Fließkommazahlen definieren.


    Kann man, muss man aber nicht - das war ja eines der ursprünglichen Ziele von BASIC, als es in den 60ern gebaut wurde. (Ich schreibe gerade nen Artikel über die Geschichte der Sprache fürs nächste RETURN.)

    Hallo,


    gerade habe ich den Studenten vorgeführt, wie Zählschleifen in BASIC realisiert werden und bin im Emulator auf folgendes Phänomen gestoßen:


    10 FOR I=1 TO 10 STEP 0.1
    20 PRINT I
    30 NEXT I


    Die Ausgabe stimmt bis 3.7 - 3.8 wird allerdings bereits als 3.7999999999 dargestellt und so geht es auch weiter bis 8.9999999999. Dann geht es bei normal weiter bis 9.7 - als nächstes kommt dann 9.8000000001 usw.


    Das selbe passiert auch im Emulator. Gibt es irgendwo Informationen über diesen Rundungsfehler? (Er hängt natürlich damit zusammen, dass in BASIC nicht zwischen INTEGER- und REAL-Zahlen unterschieden wird. Aber Assembler kennt diese Unterscheidung auch nicht! Werden also im Assembler beim Interpretieren von BASIC alle Variablen intern als REAL-Zahlen behandelt?)


    S.