
Zitat von
denkdaetz
Was ist bitte High-Speed-Wire?
Naja, entweder du machst alles Per Ports:
Code:
Port | Bedeutung
0 CharX
1 CharY
2 Char
... ...
Oder, du greifst per Hi-Speed Wire drauf zu, und schreibst Direkt in den Monitor rein, und musst nichts
verlinken.
Der CPU Hat 65535 Speicher Addressen, danach ist nichts mehr zu Erreichen, außer du schließt was an. Also schließt du CPU (MemBus) an den Console Screen, und die Addresse 65536 is der Erste Char beim Console Screen.
Du setzt einfach einen Pointer für den Char, einen für die Farbe.
Code:
mov eax,65536
mov #eax,105
mov edx,66537
mov #edx 999000
"mov eax,65536"
Du setzt eax auf 65536, das wird unser Pointer.
"mov #eax,105"
Als nächstes schreibst du in den Memory von eax, also auf den Memory "65536" den ASCII Zeichen "150" welcher nebenbei ein kleines "i" ist.
"mov edx,66537"
Ein Speicherplatz nebenan ist der Parameter, also die Farbe.
"mov #edx,999000
Das ganze hat Folgendes Format: R|G|B|R|G|B|BLINKEN die ersten 3 für den Vordergrund, die anderen 3 für den Hintergrund. Wir setzen den Hintergrund Schwarz und die Textfarbe weiß. Ist der 7te Char eine 1, blinkt der text.
Und so machst du denn Ersten Char zu einem Weißen i auf Schwarzen Hintergrund.
Die anderen Addressen kannst du dir im Offizielen Wiremod Thread angucken.
Als Funktion sieht das bei mir Übrigens so aus:
Code:
int_write:
_writeloop:
cmp #esi,0;
je int_stop;
mov #eax,#esi;
inc eax;
mov #eax,edx;
inc eax;
inc esi;
jmp _writeloop;
int_stop:
ret;
@Mitsuma
War der Highspeed Ranger nicht einfach schneller als ein Normaler? Ich weiß es nicht wirklich.