Moin,
Wie sagt Andy immer so schön: "Damals war alles besser... int21h, dann direkt in den Grafikspeicher ab 0B000h (PS: Diese Adresse ist für monochromatische Grafik ) reingeballert, und die Welt programmiert sich fast von alleine"
(Der korrekte Wortlaut muss nicht mit Obigem übereinstimmen )
Was das Skript können soll:
Es stellt eine Umgebung bereit (ein Fenster variabler Größe, einen Grafikpuffer, etwas RAM) in der man mit ASM ohne weiteres "direkt" (das ist die schönste Lüge die mir heute über die Lippen geht) ins Fenster zeichnen kann.
Was es wirklich tut:
Es stellt eine Umgebung bereit (ein Fenster variabler Größe, einen Grafikpuffer, etwas RAM) in der man mit ASM ohne weiteres so tun kann als würde man "direkt" ins Fenster zeichnen.
Tatsächlich zeichnet man nur in eine Struct, die wiederum Teil eines WinAPI-GDI Puffers ist (kein GDI+), der wiederum mit einer voreingestellten Framerate ins Fenster verfrachtet wird (BitBlt). Dabei werden zwar nanosleep und Timer benutzt, zu 100% trifft man den vsync aber nicht, es ruckelt wenn es möchte. Ein sehr kleines, aber gut Kommentiertes Beispiel ist dabei. Wenn man selbst basteln will, so möge man NUR den ASM Code im Beispiel ändern, das restliche Skript stellt die Umgebung bereit. Wer Erweiterungen oder Sonstiges vornehmen will darf dies gerne tun
Und wenns keiner braucht nehm ichs selbst
lg
M