BASIC-80 - Programm direkt von Lochstreifen laden

  • Ich hab mich noch nie mit Lochstreifen beschäftigt ... wenn Du per IN/OUT-Befehlen über die serielle Schnittstelle einliest, musst Du Dich dann z.B. um den Transport des Streifens kümmern oder passiert das automatisch?


    Ansonsten: Wie wäre es, wenn Du von CP/M aus den Leser als Eingabegerät setzt, dann einen Streifen mit dem Befehl MBASIC, dann einen Streifen mit dem Programmcode samt Zeilennummern und RUN, und nach Programmbeendigung einen mit SYSTEM und dem STAT-Befehl, um die Konsole wieder auf die Tastatur zu holen.


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Bei dem schon erwähnten HX-20 mache ich das mit einem Befehl in der Art


    LOAD "COM0:TEST. BAS"


    wobei man afair auch noch die seriellen Parameter in einer etwas kryptischen Weise mitgeben muss.

    Vielleicht irgendwas in der Richtung.... :grübel:

  • Die Gerätenamen RDR: (Lochkarten-Lesegerät) und PUN: (Lochkarten-Stanzer) sprechen - wenn das BDOS richtig implementiert ist - auch direkt die serielle Schnittstelle an (und Pegelwandler für TTL Schnittstelle gibt es übrigens schon seit 30 Jahren ;) ).

    COM0: kenne ich nicht, muss wohl was HX-20 spezifisches sein.

    Die Zuordnung einer logischen E/A-Einheit zu einer physikalischen E/A-Einheit kann via I/O-Byte (Adresse 0003h) "bitweise" gesteuert werden, anschauen wie es eingestellt ist, kann man mit dem CP/M Befehl STAT DEV: bzw. STAT VAL: ...


    Wenn Du nicht das Gerät in BASIC via "OPEN" öffnen willst, musst Du den "OUT" Befehl in MBASIC nutzen.

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • Ich habe noch nicht probiert, aber LOAD"RDR:" geht bestimmt nicht, oder?

    Das ungefähr wäre mein Ansatz gewesen, aber auch wenn beide Versionen von MS stammen scheint dies - anders als beim Epson - hier nicht zu funktionieren.


    Zumindest laut Referenz ist außer einem Laufwerksbuchstaben dort nichts erlaubt. :(

  • Nein, LOAD "RDR" geht bestimmt nicht. Aber höchstwahrscheinlich für die Ausgabe

    OPEN "O", #1, "PUN:" , gefolgt von PRINT #1,"TEST" usw usw CLOSE #1

    und für die Eingabe

    OPEN "I", #1, "RDR:" , gefolgt von INPUT #1,STRINGVAR$ usw usw CLOSE #1

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • Das sollte gehen, aber dann hast Du den Inhalt des Lochstreifens in einer Variablen. Es ging aber darum, ein ausführbares Programm zu laden.

    So musst den Inhalt erst auf Diskette schreiben, um es dann ausführen zu können.

    Unter den Umständen erscheint es einfacher, das Programm per pip direkt vom Leser in eine Datei zu kopieren und diese dann im BASIC auszuführen.