Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Screen 7 / 13 mal wieder...

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MalteF



Anmeldungsdatum: 04.12.2008
Beiträge: 44

BeitragVerfasst am: 17.07.2009, 09:36    Titel: Screen 7 / 13 mal wieder... Antworten mit Zitat

Hallo.
Es gibt jede Menge Tutorials, die behandeln wie man durch POKE direkt in den Videospeicher schreiben kann. (Also quasi direkt, ja..)
Aber alle sind für SCREEN 13. Und obwohl (laut Internet) alle EGA und VGA Modi ihre Startadresse bei &HA000 haben, funktionieren diese Tutorials nur in Screen 13.

SCREEN 13 oder 7
def seg=&HA000
pset (0,0), 5
print peek (0)
def seg

Gibt in Mode 13 die richtige Farbe (5) wieder, in Screen 7 nicht.

Also, lange Rede kurzer Sinn : Wie kann ich im Mode 7 direkt in den Videospiecher, bzw dessen Spiegelung im konv. RAM schreiben/lesen ???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 17.07.2009, 10:02    Titel: Antworten mit Zitat

ich weiß es jetzt nicht auswendig (und kann hier qb auch nicht ausführen, linux-terminal), aber SCREEN 13 ist ein 8-Bit-Modus, während SCREEN 7 4-Bit ist. Das heißt, du wirst mit dem Lesen eines Bytes zwei Pixel erhalten: Die unteren und oberen 4 Bit stellen verschiedene Werte dar. Mit "Farbe AND &H0F" bekommst du die unteren 4 Bit, mit "Farbe AND &HF0 \ &H0F" die oberen 4 Bit.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MalteF



Anmeldungsdatum: 04.12.2008
Beiträge: 44

BeitragVerfasst am: 17.07.2009, 10:35    Titel: Antworten mit Zitat

Hmm, nee, funktioniert noch nicht.
Ich hab für "Farbe AND &H0F" "PEEK(0) AND &H0F" eingesetzt (was übrigens zu &HF wurde). Meintest du das so?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 17.07.2009, 11:52    Titel: Antworten mit Zitat

Also ich meine der Screen 7 besteht aus Bitplanes - schau mal hier - war übrigens mein erster Beitrag hier im Forum:
http://forum.qbasic.at/viewtopic.php?p=3442
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MalteF



Anmeldungsdatum: 04.12.2008
Beiträge: 44

BeitragVerfasst am: 17.07.2009, 12:24    Titel: Antworten mit Zitat

jb hat Folgendes geschrieben:
Also ich meine der Screen 7 besteht aus Bitplanes - schau mal hier - war übrigens mein erster Beitrag hier im Forum:
http://forum.qbasic.at/viewtopic.php?p=3442


Ach du liebes bisschen! verlegen Ja, danke erstmal!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 17.07.2009, 14:33    Titel: Antworten mit Zitat

MalteF hat Folgendes geschrieben:
Hmm, nee, funktioniert noch nicht.
Ich hab für "Farbe AND &H0F" "PEEK(0) AND &H0F" eingesetzt (was übrigens zu &HF wurde). Meintest du das so?

jo, ich benutze normalerweise keine IDEs mit so einer stupiden autokorrektur (macht bitpopelei nur viel unübersichtlicher)
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 17.07.2009, 20:20    Titel: Antworten mit Zitat

Bei SCREEN 7 kommt die ganze Geschichte mit den sog. Latchregister ins Spiel, d.h. nur eine einzelne Bitplane kann auf einmal adressiert werden. Vom Ganzen gibt es sonst unter

http://beilagen.dreael.ch/QB/VGAPROG/

einen aus einem Buch eingescannter Artikel. Ebenso sind die C-Beispiele in den VESA-Spezifikationen geeignet; in QB sind für die Portierung von InitPlanar() entsprechende OUT-Befehle nötig.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 18.07.2009, 12:35    Titel: Antworten mit Zitat

Code:
DEF SEG = &HA000
FOR i = 0 TO 3
   OUT &H3CE, 4
   OUT &H3CF, i       'Plane auswählen (0 bis 3)
   BSAVE "logo.GR" + CHR$(49 + i%), 0, bytes
NEXT
DEF SEG


Der obige Code funktioniert z.B. in Screen 12 und demonstriert den direkten Zugriff auf den VGA-Speicher durch speichern als Speicherabbild des VGA-Speichers. Ob das auch in Screen 7 funktioniert weiß ich nicht. Vielleicht hilft es.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz