Hello, Guest the thread was viewed10k times and contains 71 replies

last post from ajax at the

Hilfe bei CBM 610

  • Man schreibt ein Zeichen in den VIDEO-Speicher und es wird ein Ton ausgegeben

    Nee!

    Man sendet ein Zeichen an die Kernel Routine für IO Ausgabe.


    Der Kernel sendet Zeichen nicht nur zum Bildschirm (Video RAM), sondern auch zur Floppy, zur Kassette und zu beliebigen anderen IO Geräten.

    Der Lautsprecher ist auch nur ein IO Gerät.

    Normal geht diese Ausgabe auf den Bildschirm, man kann es aber umlenken auf andere Geräte.

    Und wenn es Sinn macht, geschieht das eben automatisch.

    Und BEL macht nur für den LS Sinn … ;)

  • Ah, langsam wird es heller.....


    Bei der Gelegenheit fällt mir was ein. Nur kurz, da etwas off toppic.

    Irgendwann las ich mal, daß nicht nur Floppy und Datasette eine Geräteadresse haben sondern z.B. auch die Tastatur.

    Das habe ich nur einmal gelesen (zwei oder drei Jahre her). Seitdem suche ich es, kann aber nirgens mehr darüber finden.

    Stimmt das? Kann man darüber irgendwo näheres erfahren? (Vielleicht, wenn zutreffend, eine Liste?)

  • Irgendwann las ich mal, daß nicht nur Floppy und Datasette eine Geräteadresse haben sondern z.B. auch die Tastatur.

    Die Geräteadresse der Tastatur ist 0, die des Bildschirms ist 3.

    Wo das hier im Forum schonmal erwähnt wurde weiß ich nicht. ;(

    Ich habe das vor langer Zeit entweder dem Handbuch zum CBM 8032 und/oder dem CBM Computer Handbuch von A. Osborne + C. S. Doanue entommen.

    Das waren die Quellen, die mir seinerzeit zur Verfügung standen. :D

  • Heiko , ich hoffe du bekommst den CBM 610 bald wieder hin. Wirst du ihn auch zur nächsten DoReCo dabei haben?


    Gruß Björn

    Moin Ajax, kommt darauf an, ob ich noch was dafür besorgen muß.

    Aber ich fürchte, zur kommenden DoReCo wird das nichts.


    Irgendwann las ich mal, daß nicht nur Floppy und Datasette eine Geräteadresse haben sondern z.B. auch die Tastatur.

    Die Geräteadresse der Tastatur ist 0, die des Bildschirms ist 3.

    Wo das hier im Forum schonmal erwähnt wurde weiß ich nicht. ;(

    Ich habe das vor langer Zeit entweder dem Handbuch zum CBM 8032 und/oder dem CBM Computer Handbuch von A. Osborne + C. S. Doanue entommen.

    Das waren die Quellen, die mir seinerzeit zur Verfügung standen. :D

    Ah, danke schonmal. Ich hatte das mal in einem größeren Artikel im Internet gelesen, wo das aber nur nebenher erwähnt wurde. Es ging da um den C64.

  • Aha, kapier ich zwar jetzt nicht, werde ich aber ausprobieren, bis ich passende Eproms habe, dauert es eh etwas.


    Was ist denn CHR$(7) für ein Zeichen?

    Kurze Erklärung: Das ROM hat Ausgangstreiber. Wenn die nicht mehr einwandfrei den notwendigen Strom liefern können und schwächer sind, funktioniert ein ROM durchaus in einer Schaltung (EPROMMER beim Auslesen) und im anderen nicht, wenn das anspruchslosere Gerät (hier der EPROMMER) die Daten am Ausgang des ROM's langsamer abfragt, als die Schaltung im Rechner. Dann fällt das im EPROMMER nicht auf.

  • Hallo allerseits


    CTRL G funktioniert, ?CHR$(7) funktioniert nicht. Dann ist es wohl das Bildschirm-RAM, oder?

    Welcher Baustein ist das? Bekommt man den noch?


    Nee, das bedeutet nicht ZWINGEND, dass es mit dem Video-RAM zu tun hat!

    Es könnte bedeuten, dass die Maschine nicht im BASIC ist, sondern im TIM.



    Leider kenne ich mich mit den CBM-II nicht so gut aus.

    Aber anscheinend ist es ähnlich wie ein CBM-8296 mit einer anderen CPU (6509).



    Beim 8296 gibt es kein eigenes Video RAM mehr.

    Der normale RAM des Computer wird AUCH als Video RAM benutzt.

    die älteren Geräte (4032,8032,8096) haben ein eigenes Video RAM.


    Keine Ahnung wie es im CBM-II geregelt ist.

    Mal den Schaltplan angucken.

  • Mal eine blöde Frage:

    Wie oft muß pro Sekunde auf den Bildschirmspeicher zugegriffen werden? Mehr als 5 Millionen mal?

    Gut geschätzt.



    Die 40 Zeichen Modelle greifen ca. mit 1MHz auf den Videospeicher.


    Der Videospeicher ist von der CPU und von der Grafik Hardware sichtbar.

    Die beiden teilen sich den Zugriff auf den Video RAM.

    Die CPU greift in der PHI1 Phase zu und die Video Hardware im PHI2 Takt.


    Bei 40 Zeichen Geräte greift der Video Controller ca. eine Million mal zu pro Sekunde.

    Wenn die CPU ununterbrochen auf den Video RAM zugreift, wären das zusammen bis zu 2 Millionen Zugriffe pro Sekunde.



    Bei 80 Zeichen Geräte hat man das Problem, dass man bei einer 1MHz CPU auf eine Million Zugriffe beschränkt ist.

    Commodore hat deswegen den Speicher Bus des Video RAM auf 16 Bit Breite erhöht.

    So können zwei Bytes gleichzeitig gelesen werden, eine Million mal pro Sekunde.

    Das ist auch der Grund, warum der 6545 Chip auch bei 80 Zeichen Geräte auf 40 Zeichen pro Zeile konfiguriert ist.



    Deswegen auch bei 80 Zeichen Geräte sind es maximal eine Million Zugriffe durch den Videocontroller (max. zwei Millionen durch CPU und Videocontroller).

  • Nee, das bedeutet nicht ZWINGEND, dass es mit dem Video-RAM zu tun hat!

    Es könnte bedeuten, dass die Maschine nicht im BASIC ist, sondern im TIM.


    Erklärung:


    ?CHR$(7) ist ein BASIC Befehl: PRINT CHR$(7)


    <CTRL G > ist eine Tastenkombination, die durch die IRQ Routine das Kernel bedient wird (oder eigentlich des Editor ROM).




    Aber zumindest ist mal klar, dass dein CBM 610 mal prinzipiell läuft.

    Teilweise.

  • Deswegen auch bei 80 Zeichen Geräte sind es maximal eine Million Zugriffe durch den Videocontroller (max. zwei Millionen durch CPU und Videocontroller).

    Ich rechne jetzt mal etwas naiv:

    Bei einem 80-Zeichen Gerät mit 1 MHz wären das 2 Millionen Zugriffe. Bei 2 MHz (die 600er haben zwei MHz Systemtackt) also 4 Millionen Zugriffe.

    Ich habe nun einen Speicherchip mit maximaler Zugriffszeit von 200 ns, welcher also 5 Millionen Zugriffe verkraftet. Dann müsste der doch reichen, oder?


    Doch, die CBM II haben einen eigenen Bildschirmspeicher von 2 KB. Bei meinem ist es ein AMD9128-10PC (100 ns). Gekauft habe ich jetzt einen AMD9128-20PC (200 ns). Daher fragte ich.

    Ich wusste nicht, welche Basis ich nehmen sollte. Systemtackt (2 Million, etwa), Anzahl der Zeichen pro Sekunde (80 Zeichen in 25 Reihen, und das in 25 Bildern = 50.000 Zeichen/Zugriffe) oder Anzahl Bytes die aus dem ROM geholt werden müssen (wie vorher aber noch mal 8 Bytes pro Zeichen = 400.000 Zugriffe). Auch bei Systemtackt mal zwei müsste er es also auch schaffen. (Wenn nicht ist es auch nicht schlimm, hat nur nen Euro gekostet.)

    (Ja, ich weis. Ziemliche Grütze. Bitte nicht hauen.)

    Nee, das bedeutet nicht ZWINGEND, dass es mit dem Video-RAM zu tun hat!

    Es könnte bedeuten, dass die Maschine nicht im BASIC ist, sondern im TIM.

    Der Curser ist ja sichtbar (halt ein blinkendes Feld) und tut, was ich als Laie auch erwarten würde.

    Nach dem Einschalten steht er oben links und nach etwa einer Sekunde rutscht er ein paar Zeilen (ich denke halte Einschaltmeldung und "READY.") tiefer.

    Wenn man die Tasten drückt macht er auch genau das, was er machen soll und mit den Richtungstasten kann er frei bewegt werden. Es erscheinen nur keine Buchstaben. Daher nahm ich halt an, daß Betriebssystem und Basic wohl laufen.

  • Der Curser ist ja sichtbar (halt ein blinkendes Feld) und tut, was ich als Laie auch erwarten würde.

    Nach dem Einschalten steht er oben links und nach etwa einer Sekunde rutscht er ein paar Zeilen (ich denke halte Einschaltmeldung und "READY.") tiefer.

    Wenn man die Tasten drückt macht er auch genau das, was er machen soll und mit den Richtungstasten kann er frei bewegt werden. Es erscheinen nur keine Buchstaben. Daher nahm ich halt an, daß Betriebssystem und Basic wohl laufen.


    Das sieht nach Problem mit dem CHAR ROM aus.


    Wenn der Cursor blinkt, dann scheint die Videocontroller Hardware zu laufen.

    Das Invertieren wird ja per Hardware gemacht, wenn das Bit 7 vom Zeichen gesetzt ist.


    Bildschirm RAM wäre natürlich auch möglich, wenn es sagen wir mal immer 0 ausgibt.



    Logic Analyser hast du keinen, oder?


    Du könntest einfach mal das CHAR ROM wechseln, mit einem beliebigen gleichwertigen.

    Der Inhalt ist egal, es müssten dann wirre Muster kommen, oder immer das Zeichen FF wenn das EPROM leer ist.