Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » vga-karte direkt ansprechen...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
05.01.2004, 16:10 Uhr
gosub



huhu...

hab ein ehrgeizproblem, welches aber nussiger ist, als ich dachte...

vorgeschichte: ich benutze lcc-win32, habe auch ms-vc++ und sogar turbo-c für dos zur verfügung...

ich habe einige algorithmen in assembler vorliegen, mit denen ich eigentlich die vga-karte (bzw. standard-vga-funktionen jeder beliebigen höheren karte) ansprechen sollen können müsste.

ziel: ein c-programm (nicht c++), welches eben (anfang einfachste) grafische funktionen ausführt...

jetzt ist es ja so, daß ich assembler-code in c so einbette:


C++:
void assemblerfunktion() {
asm {
  mov foo, fum
}
}



mir deucht aber, daß
1. der assemblercode nicht richtig eingearbeitet wird
2. mir hauptsächlich eine funktion fehlt, die sozusagen das VGA initialisiert...

mein frage(n):
weiß wer, wie oder wo ich herausfinde, was ich wie mit wessen hilfe direkt an der vga-karte programmiere, was ich vorher tun muss und welcher compiler/linker (inline-problem) mir da hilft?

hätte auch ins assembler-forum gepasst, aber da liegt ja nicht das problem...
--
"die obdachlosen? die sollen doch nach hause gehen, wo sie hingehören!"

Dieser Post wurde am 05.01.2004 um 16:14 Uhr von gosub editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.01.2004, 17:22 Uhr
(un)wissender
Niveauwart


Bei Windows:
Geht nur im emulierten 16-Bit Modus (und auch nur dann wenn Windows dich läßt, ich glaube aber nicht)!
Es gibt also keine Chance für dich, da du nicht die Rechte 0, sonder nur 3 hast.
Wenn du Bildschirmspeicher halbwegs direkt willst, nimm DiectX oder so.
Ansonsten eigenen Treiber schreiben oder einen eigenes Betriebssystem.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.01.2004, 18:35 Uhr
Hans
Library Walker
(Operator)


Hi,

Wenn Du eine VGA-Karte direkt ansprechen willst, dann geht das am besten erst mal unter DOS. Denn unter Windows (oder Linux) brauchst Du entsprechende Rechte, um auf die Hardware zugreifen zu können. Und die haben normalerweise nur Systemtreiber. Es sei denn, Du willst auch einen Treiber entwickeln...

Ich hab mal im Online verfügbaren Verzeichniss einer Uni Bibliothek gekramt, und zwei Bücher gefunden, die genau beschreiben, wie man die VGA-Karte Programmiert:

Richter, Enrico: VGA- und Super-VGA-Karten programmieren : hardwarenahe Programmentwicklung in C - Farben und Animationen, Franzis 1995. - 525 Seiten,
ISBN 3-7723-7013-6

Burda, Arthur: SuperVGA : Einsatz und professionelle Programmierung; Vieweg 1994. - 506 Seiten
ISBN 3-528-05402-6

Die wirst Du aber wirklich nur noch in Bibliotheken oder auf Flomärkten finden, aber darin bestimmt die Infos, die Du brauchst. Ich kenne sie selber nicht, weil ich den Ehrgeiz noch nicht hatte, die Grafikkarte direkt ansprechen zu wollen. Deshalb kann ich zum Inhalt auch nichts sagen.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 05.01.2004 um 18:38 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.01.2004, 18:44 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Ich hab mal im Online verfügbaren Verzeichniss einer Uni Bibliothek gekramt, und zwei Bücher gefunden,...


Ich sags doch...ohne das wort buch geht bei Hans kein Thread durch....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.01.2004, 19:00 Uhr
Hans
Library Walker
(Operator)


Windalf postete einen sehr sachlichen Beitrag

Zitat:
Ich sags doch...ohne das wort buch geht bei Hans kein Thread durch....

So ein ähnlicher Spruch durfte ja nicht von Dir fehlen. Aber als SuchmaschienenExperte hast Du ja auch bestimmte einen Link zu einer entsprechenden Webseite parat ,oder ?
Ansonsten stimmt die Behauptung aber auch nicht! Ich habe in meinem Beitrag in dem Thread zur Matrixinvertierung nichts über Bücher geschrieben. Das wollte ich nur mal Bemerkt haben.

Hans
( )
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 05.01.2004 um 19:03 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.01.2004, 19:07 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

So ein ähnlicher Spruch durfte ja nicht von Dir fehlen.


Ich kann halt mein Schandmaul nicht halten...

Zitat:

So ein ähnlicher Spruch durfte ja nicht von Dir fehlen. Aber als SuchmaschienenExperte hast Du ja auch bestimmte einen Link zu einer entsprechenden Webseite parat ,oder ?


äh.... nein hab ich gerad nicht...


Zitat:

Ich habe in meinem Beitrag in dem Thread zur Matrixinvertierung nichts über Bücher geschrieben. Das wollte ich nur mal Bemerkt haben.


Tatsache... Aber dir hat es doch bestimmt in den Fingern gejuckt noch ein gutes Buch dazu zu empfehlen...
und dann hast du gedacht... Ne den Gefallen tu ich dem WIndalf nicht...
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 05.01.2004 um 19:07 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.01.2004, 21:03 Uhr
gosub



danke, geht ja hier rucki-suzuki...

also:

@ (un)wissender: also, ich hab mich mit meinem beitrag vielleicht ein bißchen in fadenscheinige eigenerkenntnis verstrickt... ich bin dir dankbar dafür, daß du mich über die rechte und überhaupt die notwendigkeit eines 16bit-systems aufklärst... durch die beiden IDEs "ms vc++" und "lcc-win32" hab ich den eindruck erweckt, auf win32 programmieren zu wollen... will ich in dem fall eigentlich nicht.

in openGL und directX hab ich mir schon einige - hm - kinderschuhe angezogen.

der grund, warum ich einen VGA programmieren will, ist der: hab einen älteren, kleinen rechner, auf dem nur DOS installiert ist (hab sogar win3.1. weggelassen) - und auf dem befindet sich turbo-c.

zur info: in der dos-basierten turbo-c-entwicklungsumgebung ist inline-kompilierung nicht möglich, wohl aber beim kompilieren per hand (tcc.exe) ...

hab also doch ne chance...

@ Hans: ich möchte natürlich keinen treiber entwickeln... es gibt ja für pascal und auch für c von borland eine bgi, die wo "graphics.h" heißt - und mit den dort vorhanden scan- und zeichen-funktionen lässt sich was machen... aber es geht auch ohne diese standardtreiber - und ohne eigenen - indem ich einfach die mir vorliegenden assembler-scripts benutze...

nach wie vor das problem: die assembler-funktionen gehen nich - wohl wegen der initialisierung...
--
"die obdachlosen? die sollen doch nach hause gehen, wo sie hingehören!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.01.2004, 21:16 Uhr
(un)wissender
Niveauwart


Mit dos haste alle rechte, da kannste machen was du willst (und die konsequenzen tragen)
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.01.2004, 21:24 Uhr
gosub



ja, nich wahr? philosophisch betrachtet ist ein reboot ein urknall nach ner entropie :o) und ein in-den-registern-pfuschen ist zauberei...

nun, mal schauen...
--
"die obdachlosen? die sollen doch nach hause gehen, wo sie hingehören!"

Dieser Post wurde am 05.01.2004 um 21:28 Uhr von gosub editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
06.01.2004, 00:40 Uhr
Hans
Library Walker
(Operator)


Hi gosub,

sind diese "Assemblerscribts" wie Du sie nennst, Dateien, die sowas wie .asm oder .i als Endung im Dateinamen haben? Und stehen da noch so Dinge wie
Code:
_code start ...
_code ends

oder so ähnlich drin?
Dann handelt es sich um Assemblerquelltexte. Die musst Du mit einem Programm, das sich ebenfalls Assembler nennt, in eine .obj-Datei übersetzen lassen. Dann kannst Du sie mit dem Code deiner C-Programme zusammen binden. Diese Arbeit erledigt Dir der Linker von C, wenn Du ihm sagst, das er die Dateien berücksichtigen soll, und wo er sie findet.

Hans

P.S.

Zitat:
... und überhaupt!

die Antwort lautet 42
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: