Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » .scr Datei unter Linux als Bild anzeigen? » Themenansicht

Autor Thread - Seiten: -1-
000
30.01.2011, 10:15 Uhr
runni



Hallo,

hab einige .scr Screen Shots ähnlich dem KC85, einfach ein Abzug des Bildschirmspeichers.
Gibt es eine einfache Möglichkeit die auf dem PC anzuzeigen?

Gruß,
RN
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
30.01.2011, 11:16 Uhr
Mobby5




Zitat:
runni schrieb
Hallo,

.scr Screen Shots ähnlich dem KC85...

Gruß,
RN

Das ist keine wirklich gute Aussage. Entweder sind es Screenshots vom KC85 oder nicht. Wenn nicht, dann stellt sich die Frage: "Von welchem Rechner-System sind diese Screenshots?". Oder sind es doch nur Windows-Screensaver-Dateien?
Anzeigen lassen könnte man die jedenfalls, wenn man weis, wie DIESES scr-Format aufgebaut ist und man ein Programm dafür schreibt.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
30.01.2011, 12:18 Uhr
runni



es ist ein Rechner mit CP/M3 und uPD7220 Grafik, die Auflösung beträgt 704x288 Punkte und 16? Farben.

TP Programm mit dem die .scr Dateien erstellt wurden.

Quellcode:
{$I glib.lib}
{$I dma.lib}
type str=string[8];
var datei:str;

procedure ScWrite(name:str);
type linep=array[1..40] of integer;
var bildf:file of linep;
    bild:linep;
    i:integer;
begin
     assign(bildf,name+'.scr');
     reset(bildf);
     for i:=0 to 287 do
         begin
              read(bildf,bild);
              DmaWrite(bild,i,1);
         end;
     close(bildf);
end;

begin
     write('Name der Screen-Datei: ');
     readln(datei);
     OpenGlib;DispOff;
     ScWrite(datei);DispOn;
     repeat until KeyPressed;
     CloseGlib;
end.


Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
30.01.2011, 12:44 Uhr
Mobby5



Mit dem Programm werden vorhandene scr-Dateien gelesen und angezeigt und nicht erzeugt.

Bleibt nur noch die Frage: "Wie ist die Zuordnung der Pixel und Farben in einer Zeile?". Sind das wirklich 704 Pixel in einer Zeile? Lässt sich nämlich nicht wirklich gerade in 40 Werte (bedeutet nicht unbedingt Bytes) packen. 16 Farben heisst eigentlich auch 2 Pixel pro Byte.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
30.01.2011, 12:48 Uhr
runni



ups, vertauscht, leider schreibt der Hersteller nur das 704x288 einem mögliche Auflösung ist bis max. 1024x1024..


Quellcode:
{$I glib.lib}
{$I dma.lib}
{$I line.lib}
type str=string[8];

var
   i:integer;

procedure ScRead(name:str);
type linep=array[1..40] of integer;
var bildf:file of linep;
    bild:linep;
begin
     Assign(bildf,name+'.scr');
     rewrite(bildf);
     for i:=0 to 287 do
         begin
              DmaRead(bild,i,1);
              write(bildf,bild);
         end;
     close(bildf);
end;

begin
     OpenGlib;
     DeviceOn;
     AbsolutOn;
     WritingMode(3);
     for i:=0 to 640 do
               Line(0,0,i,576);
     for i:=640 downto 0 do
              Line(640,0,i,576);
     ScRead('bild');
     CloseGlib;

end.


Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
30.01.2011, 13:18 Uhr
Mobby5



Laut Programm sieht es nach einem Bild mit 640x576 Pixeln aus.
Irgendwie passt das aber alles nicht:
In Integer-Variablen passen 2 Byte rein. Das macht bei 16 Farben 4 Pixel pro Array-Feld. Sind bei 40 Feldern genau 160 Pixel. Bei 2 Farben könnten das allerdings 640 Pixel werden. Es werden laut Programm aber auch nur 288 Zeilen gespeichert. Es sei denn, das Bild ist nur 320 Pixel breit, dann würden in ein komplettes Array bei 2 Farben auch 2 Bildzeilen passen. Also 320x288 Pixel mit 2 Farben. Dafür kommen mir aber die Angaben in den for-Schleifen aber etwas komisch vor.


Hast Du den Computer noch und kannst Du das Programm ausprobieren? Hast Du die Möglichkeit Programme mit Grafik für Linux zu programmieren?
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
30.01.2011, 14:17 Uhr
runni



Ich hatte den Computer noch nie, ist leider etwas selten xD, aber die Grafikkarte und die Software habe ich. Sowie screenshots, ich dachte es gibt ggf. eine Software bei der man die Auflösung... angibt und es kommt ein Bild heraus.
Es kann auch sein das die screenshots nur B/W sind....
Programm schreiben ist mir zu aufwendig, egal dann gehts halt nicht, irgendwann bekomme ich die Karte schon zum spielen dann kann ich ja Fotos vom Bildschirm machen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
30.01.2011, 15:24 Uhr
Mobby5



Wie heisst denn der Computer überhaupt?
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
30.01.2011, 16:09 Uhr
runni



Ist eines der zahlreichen ECB Systemen aus den 80er, da war es verbreitet das man sich die Karten so zusammenstellte wie es einem gefiel.
Ursprünglich gehört die Grafikkarte in den mc-CP/M+ (vorgestellt in der Zeitschrift mc, hat aber nichts mit dem mc-CP/M von RDK zu tun der auch in der mc erschien) von Datentechnik oettle + reichler und ist GSX-80 kompatibel.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
30.01.2011, 16:47 Uhr
Mobby5



Gut, hilft auch nicht soviel weiter, da ich über diese(n) Rechner keine Informationen habe. Man müsste so ein Bild live sehen, dann könnte man die Pixel abschätzen oder man müsste wenigstens wissen, in welchem Grafik-Modus das Original-Programm arbeitet.

Hast Du eine Doku zu der Pascal-Grafikbibliothek (glib.lib) und wenn es geht auch zu der DMA-Bibliothek (dma.lib)? Eventuell irgendwo auf den Disketten.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
30.01.2011, 20:51 Uhr
runni



http://www.auram.de/temp/rgb-grafik.zip das sind die meisten Dateien die ich zu der Karte habe, Anleitung und Schaltbild hab ich auch noch...
Das Problem ist wohl das sich jeder seine Auflösung so eingestellt hat wie der angeschlossene Monitor gerade konnte.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
30.01.2011, 21:09 Uhr
Mobby5



In den Lib's steht auch nicht wirklich viel drin. Die übergeben auch nur irgendwelche Parameter and das BDOS.

Steht in der Anleitung was über die Programmierung drin?
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
31.01.2011, 09:07 Uhr
runni



Schau mal in die GLIBDATA.ASM das ist die Konfigdatei, da steht z.B.:
xlen: equ 640 ; Pixel in x - dir
ylen: equ 288 ; Pixel in y - dir
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
31.01.2011, 13:19 Uhr
MiRa



stell doch mal so eine .scr Datei zur Verfügung ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
31.01.2011, 17:16 Uhr
Mobby5




Zitat:
runni schrieb
Schau mal in die GLIBDATA.ASM das ist die Konfigdatei, da steht z.B.:
xlen: equ 640 ; Pixel in x - dir
ylen: equ 288 ; Pixel in y - dir

Aha, es gibt also einen GrafikModus mit 640x288 Pixeln. Dieser muss dann laut Programm auch 2-farbig sein. Wenn man eine Beispiel-SCR-Datei hat, könnte man ja daraus auch ein Programm bauen. Nur mit Linux habe ich es nicht so.

Frage mich aber trotzdem, was der Programmierer mit der 576 in den for-Schleifen bezwecken wollte. Ausserdem macht man bei 640 Pixeln keine Schleife von 0 bis 640 sondern nur von 0 bis 639 oder 1 bis 640 (ist keine Schuldzuweisung and Dich, runni).
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
31.01.2011, 20:31 Uhr
runni



http://www.auram.de/temp/sshot.zip

sind mal die um die es geht, da ich die Grafikkarte nicht selbst in Betrieb hatte hab ich nur diese.
Ist aber wahrscheinlich das die Karte so wie meine nur mit "rot" bestückt war und so für b/w Betrieb.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
31.01.2011, 21:24 Uhr
Mobby5



Na mal sehen, aber nicht mehr heute. Würde dann aber nur für Windows werden. Es gibt allerdings auch ein freies Lazarus. Das ist Pascal bzw. ein Delphi-Derivat für Linux und andere.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
31.01.2011, 22:25 Uhr
runni



wäre echt nett von Dir, ist egal ob Windows oder Linux, von mir aus auch für win3.1
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
31.01.2011, 23:49 Uhr
tp



Unter Linux lässt sich das problemlos per BASH-Shell-Skript lösen .

Nützlich ist dabei das NetPBM Bild-Format, da das praktisch einfache Textdateien sind, für Schwarz/Weiß Bilder müssen nur die Bytes in 8-Zeichen Textform ("01100011") gebracht werden (http://en.wikipedia.org/wiki/Netpbm_format):


Quellcode:
#!/bin/bash

echo "P1"
echo "640 288"

od -v -j4 -An -tu1 -w1 "$1" | \
while read byte
do
        for b in 0 1 2 3 4 5 6 7
        do
                echo -n $(( ($byte & (2**$b) ) >> $b))
        done
        echo
done

Das Skript z.B. als convert.sh speichern und dann aufrufen als


Quellcode:
bash convert.sh APFEL.SCR > apfel.pbm

Das sieht dann z.B. so aus:


--
Die Zeit ist auch nicht mehr, was sie mal war! (Albert Einstein)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
01.02.2011, 06:32 Uhr
Mobby5




Zitat:
tp schrieb
..da das praktisch einfache Textdateien sind...

Das ist so nicht ganz korrekt. Es sind Binärdateien, da darin ja alles vorkommen kann. Je nach Bildinhalt eben.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
01.02.2011, 07:56 Uhr
tp




Zitat:
Mobby5 schrieb

Zitat:
tp schrieb
..da das praktisch einfache Textdateien sind...

Das ist so nicht ganz korrekt. Es sind Binärdateien, da darin ja alles vorkommen kann. Je nach Bildinhalt eben.

Ich bin mir ganz sicher, dass das korrekt ist (für das Zielformat PBM!) . Es gibt allerdings 2 Varianten für das Bildformat, eine ASCII (sprich reine Text-Dateien) und eine Binäre (wo dann sicher wirklich alles vorkommen kann). Kann man mit buntem Beispiel in der Wikipedia nachlesen, Link siehe oben.

Der deutsche Wikipedia Artikel ist zwar nicht ganz so bunt wie der englische, hat aber auch die wichtigsten Infos zum Format dabei: http://de.wikipedia.org/wiki/Portable_Pixmap.
--
Die Zeit ist auch nicht mehr, was sie mal war! (Albert Einstein)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
01.02.2011, 11:38 Uhr
runni



Danke, sieht doch gut aus!

Auf einem Monitor von damals waren die Pixel wohl eher rechteckig als quadratisch, aber das kann ich mir selber umrechnen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
01.02.2011, 17:11 Uhr
Mobby5




Zitat:
tp schrieb
Ich bin mir ganz sicher, dass das korrekt ist (für das Zielformat PBM!) .

Für die Aussage in der Klammer kann das schon stimmen. Gibst Du ja auch mit dem Grinse-Smiley zu.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
01.02.2011, 22:36 Uhr
runni



http://www.auram.de/pages/computer-sammlung/personal/prof80.php

hab mal die drei Screenshots umgerechnet und hochgeladen, auf der Seite ist auch ein Bild von der Garfikkarte um die es geht.

Danke!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek