Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Assembler » Pixel in Konsole mitAssembler

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
30.10.2004, 15:20 Uhr
RedEagle



Hi
Wie kann ich in Assembler (fals es überhaut geht) in der Win-Konsole einzele Pixel Einfärben??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.10.2004, 15:24 Uhr
Bruder Leif
dances with systems
(Operator)


Hmmmm... wie es im Vollbildschirm geht, weiß ich, aber sobald man das auf Fenstermodus runterschaltet, hält Windoof das Programm an...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.10.2004, 15:31 Uhr
RedEagle



Also win-Konsole in Vollbildmodus und dann gehts??
Wenn ja, wie??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.10.2004, 15:45 Uhr
Bruder Leif
dances with systems
(Operator)


Hier mal ein kleines Sinusplasma als Beispiel (TASM-Syntax). Achtung, 16 Bit:


Code:
.model small
.stack
.code
.386

STORECOLORS MACRO
    mov al, bl
    out dx, al
    mov al, bh
    out dx, al
    mov al, ah
    out dx, al
ENDM

; In den Graphikmodus wechseln und
; Palette aufbauen

Start:
    mov ax, SEG _DATA
    mov ds, ax
    mov es, ax
    mov ax, 013h
    int 010h
    cld
    xor cx, cx
    lea di, bSin
_sin1:
    fldpi
    mov wBuffer, cx
    fild wBuffer
    fmulp st(1), st
    mov wBuffer, 128
    fild wBuffer
    fdivp st(1), st
    fsin
    fld1
    faddp st(1), st
    mov wBuffer, 63
    fild wBuffer
    fmulp st(1), st
    fistp wBuffer
    mov ax, wBuffer
    stosb
    inc cl
    jnz _sin1
    mov ax, 0a000h
    mov es, ax
    mov dx, 03c8h
    out dx, al
    inc dx
    xor ah, ah
    mov bx, 03f00h
    mov cx, 64
_pal1:
    STORECOLORS
    dec bh
    inc bl
    LOOP _pal1
    mov cx, 64
_pal2:
    inc bh
    dec bl
    STORECOLORS
    LOOP _pal2
    mov cx, 64
_pal3:
    STORECOLORS
    inc ah
    inc bl
    LOOP _pal3
    mov cx, 64
    dec ah
_pal4:
    dec bl
    STORECOLORS
    dec bh
    LOOP _pal4

; Palette fertig aufgebaut
; Plasma starten

_plasma1:
    xor ax, ax
    mov di, ax
    mov y, ax
    lea bx, bSin
_draw1:
    mov ax, y
    add ax, DeltaX
    xlatb
    mov wBuffer, ax
    mov x, 0
_draw2:
    mov ax, x
    add ax, DeltaX
    xlatb
    add ax, y
    add ax, 64
    xlatb
    mov dx, ax
    mov ax, x
    add ax, wBuffer
    add ax, 64
    xlatb
    add dx, ax
    mov al, dl
    stosb
    inc x
    cmp x, 320
    jne _draw2
    inc y
    cmp y, 200
    jne _draw1
    inc DeltaX
    mov ah, 1
    int 016h
    jnz _ende

; Auf vertikalen Retrace warten, um
; Flackern zu vermeiden

    mov dx, 03dah
_Retrace:
    in al, dx
    and al, 8
    jz _Retrace
    jmp _plasma1
_ende:
    mov ax, 003h
    int 010h
    mov ax, 04c00h
    int 021h

.data
DeltaX    DW 0
wBuffer    DW ?
x    DW ?
y    DW ?
bSin    DB 256 DUP (?)

END Start


--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.10.2004, 16:11 Uhr
RedEagle



Sieht kompliziert aus
"Sinusplasma" was ist das??

16 Bit aber != Win-konsole, oder?? Ich möchte nehmlich auch Assembler mit C++ verbinden, weil ich noch nicht so gut (bzw noch kein) assembler kann.
Ich möchte, das gerne so in etwa haben:


C++:
void setpixel(int x, int y, int color)
{
_asm
{
   ;Hier dann den code rein
}
}


--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
30.10.2004, 17:17 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


SetConsoleTextAttribute würde da gut reinpassen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
30.10.2004, 17:21 Uhr
RedEagle



"SetConsoleTextAttribute"?? Das macht aber nur Text bunt, oder weg, oder??
Kann ich damit auch Pixel zeichnen?? (und auch schnell genug, um evtl mal größere, oder bewegte sachen anzuzeigen??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
30.10.2004, 21:11 Uhr
(un)wissender
Niveauwart


Im 32Bit-Modus läßt Windows das nicht zu.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
30.10.2004, 21:44 Uhr
RedEagle



Was??
"SetConsoleTextAttribute" oder Farben generell??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
30.10.2004, 21:47 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


das obige asm beispiel
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Assembler ]  


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: