Hallo Besucher, der Thread wurde 7,3k mal aufgerufen und enthält 29 Antworten

letzter Beitrag von Asklia am

Darstellung grosser Ziffern

  • Hallo zusammen


    Ich möchte einen 8032 oder 128D im Empfang unserer Firma ausstellen. Dieser soll auf dem Bildschrim eine bestimmte, aktuelle Zahl mit 6 Ziffern in gross darstellen; also eine selbstgebaute grosse Matrix.


    Kennt jemand dafür ein geeignetes Programm oder Basic-Vorlage? Oder hätte Lust, etwas derartiges gegen Geld zu erstellen?


    Der Input dazu kommt dann später; je anch verwendetem Computer. Der 8032 würde mir dafür am meisten gefallen :-)

  • Kennt jemand dafür ein geeignetes Programm oder Basic-Vorlage?

    In der Happy Computer stand mal sowas für den ZX81.

    Oder hätte Lust, etwas derartiges ... zu erstellen?

    Klingt ziemlich einfach: für eine z.B. 10x14 Matrix zehn DATA-Zeilen-Blöcke erstellen mit Strings a zehn Zeichen, die die jeweiligen Muster aus Spaces, inversen Spaces und ggf. weiteren Grafikzeichen beinhalten. Wenns richtig Oldschool aussehen soll, nimm Punkte und Sternchen. Das dann in ein String-Array einlesen und teilenweise, Stelle für Stelle, die Werte für die aktuelle Ziffer indizieren und ausgeben. Nach sechs Ziffern eine Zeilenschaltung, dann mit der nächsten Rasterzeile weiter.


    Geht natürlich auch mit größeren Ziffern, maximal 13x25 Punkte pro Zeichen, aber das sähe dann eher seltsam aus.

    gegen Geld

    Öh- nö. Dann nicht. Dachte, der Zuspruch für Dein Z80-Karten-Projekt hätte Dir schon klar gemacht, daß das mit der 'professionellen' Schiene hier nicht läuft.

  • Ich versuche mal, alles auf einmal zu beantworten:


    Geld: Nun, das wäre der letzte Notbehelf. Ich komme aufgrund meines Berufes nicht mehr dazu,a lles selber zumachen. Und es ist nicht böse gemeint: Es könnte ja durchaus Leute geben, die dies können und sich dafür etwas mehr vom Hobby leisten können.


    Grösse: Nun, as big as possible. Der 8032 hat ja insgeesamt doch einen kleinen Monitor. Die 8 Ziffern dürfen die volle Breite der 80 Zeichen einnehmen. Also passt eine 10 x 14 Matirx perfekt. Inverse Spaces wären das richtige zum Füllen.


    Das Gerät soll ein Blickfang sein oder werden. Der8032 ist restauriert und auf Stromsparen umgerüstet (sieh meinen thread Ice Age für CBM); der verträgt also den täglichen Dauerlauf.


    Die "kleineren" Probleme wie Autostart aus einem EPROM oder von einer CF KArte sind ja auch noch zu lösen. Konnten die "alten" CBM Geräte eigentlich ein Programm automatisch von Diskette starten? Und eine Schnittstelle zur Aussenwelt zur Übernahme der Daten.


    Merci an alle - ich nehme jeden Codeschnipsel :-)

  • Die Ziffern bilden eine Zahl mit bis zu 8 Stellen. Der aktuelle "Produktionsstand" unserer Firma :-)


    Bei einem C128 kann man die ja direkt von der seriellen Schnittstelle am Userport einlesen. Bei den alten grossen CBM würde ich einen Konverter seriel-IEEE suchen und verwenden.


    Ich denke, eine Matrixdarstellung wie oben erwähnt ist genau das richtige. Dazu dann


    - Autostart
    - Zahl von der passende Schnittstelle einlesen
    - Matrix passend aufrufen


    Soweit meine Vorstellung. Keine neue Extra-Schnittstelle am CBM/C128.

  • Dann probier die Programme mal aus. 1 verlangt eine Eingabe pro Ziffer und generiert nach Bestätigung die Anzeige. 2 Arbeitet mit Zufallszahlen und lässt diese kurz stehen. Ist allerdings niedrigoptimierter Code, nur so aus dem Ärmel geschüttelt ;)

  • Für die Retrooptik wären # oder * aus meiner Sicht passender als invertierte Leerzeichen.


    Anbei mein Entwurf, in der Form nicht sehr performant - die Anzeigenaktualisierung braucht länger als 1 Sekunde, dafür können die Ziffern bequem aktualisiert werden (solange Stringlänge nicht verändert wird). Und es verwendet nur Standardbasicbefehle.

  • Autostart auf CBM? Nö. So'n neumodischen Tüddelkram hatten nicht mal alle Module für den VC20. Ich bin mir auch nicht sicher, ob die 8000er bei SHIFT-RUN wenigstens von Disk gestartet haben... in dem Fall könnte man ein kleines Relais über die beiden Tasten schalten, das beim Power-On (oder beim Reset) kurz anzieht und so den Tastendruck simuliert. Oder aber man fummelt sich ein modifiziertes Kernal, das beim Systemstart nach 9000 springt anstatt in den BASIC-Interpreter. Im Zweifel mal bei Helmut Proxa anfragen, der hat sowas garantiert damals für seine Kunden im Programm gehabt.


    Für die serielle Schnittstelle würde ich den Weg des geringsten Widerstandes gehen und einen Arduino als Seriell-nach-Parallel-Wandler nutzen. Die Daten kann das Programm dann einach am Userport abholen- braucht ja zu nix kmpatibel zu sein. Dürften dreieinhalb Zeilen Code sein, und funktioniert nach Bedarf auch mit dem eingebauten Serielll-nach-USB-Wandler (oder aber man nimmt einen USB-losen Arduino plus externem Pegelwandler)


    Ein 'richtiger' IEEE-488-nach-RS232-Wandler wäre natürlich schicker...

  • Hier nochmal eine leicht optimierte Fassung. Bei der aktuellen Zifferngröße kann Zeile 120 nochmal optimiert werden (momentan gibt er alle 13 Zeilen aus):

    Code
    1. 110 fory=2to10:fort=1to6:printa$(tt(t),y);:next:print:next:return
  • Ich bin beeindruckt! Werde es allerdings erst heute abend testen können :-)


    Dafür habe ich bereits einen GBIB-232 Konverter bei ebay erworben. Damit sollte es möglich sein, von einer seriellen Schnittstelle den Strng einzulesen. Und ein WUT Comport-Server nimmt den vom LAN. Netterweise laufen die alle mit 5 Volt und werden dann in den 8032 verlagert :-)