funkheld hat geschrieben:
Ju, danke.
Das liesst sich schon mal gut. Es ist ein Screen für den Atari800 40x192.
Das habe ich geahnt, die Auflösung der Atari800 ist ja ziemlich einzigartig...
funkheld hat geschrieben:
Mit den Umsetzen kapier ich noch nicht.
Kannst du darüber noch einpaar Sätze schreiben ?
Klar...
Wenn Farbe 0 weiß ist und Farbe 1 schwarz...
*Bytetable ist die der Speicherbereich wo die Tabelle abgelegt ist.
Schau mal, Bytetable erstelle ich so:
Code:
dim Col(1)
Col(0)=$FFFFFF
Col(1)=0
For b=0 To 255
adr=b<<5
*Buffer=*Bytetable+adr
PokeL(*Buffer,Col(b>>7&1)):*Buffer+4
PokeL(*Buffer,Col(b>>6&1)):*Buffer+4
PokeL(*Buffer,Col(b>>5&1)):*Buffer+4
PokeL(*Buffer,Col(b>>4&1)):*Buffer+4
PokeL(*Buffer,Col(b>>3&1)):*Buffer+4
PokeL(*Buffer,Col(b>>2&1)):*Buffer+4
PokeL(*Buffer,Col(b>>1&1)):*Buffer+4
PokeL(*Buffer,Col(b&1)):*Buffer+4
Next b
Zum Zeichnen
Damit zeichne ich es dann nach *Drawbuffer:
Code:
Col(0)=$FFFFFF
Col(1)=0
For y=0 To height<<3-1
For x=0 To Width-1
Byte=PeekB(*Buffer)&255
*Buffer+1
CopyMemory(*Bytetable+Byte<<5,*drawbuffer,32)
*drawbuffer+32
Next x
Next y
Und vom Drawbuffer ins Image mit:
Code:
Procedure CopyMemToImage(mem.L,img.L)
Protected bmi.BITMAPINFO
Protected w.L,h.L,hBmp.L,hdc.L
CompilerIf #PB_Compiler_OS=#PB_OS_Windows
If IsImage(img)
w=ImageWidth(img)
h=ImageHeight(img)
hBmp=ImageID(img)
bmi\bmiHeader\biSize =SizeOf(BITMAPINFOHEADER)
bmi\bmiHeader\biWidth = w
bmi\bmiHeader\biHeight =-h
bmi\bmiHeader\biPlanes = 1
bmi\bmiHeader\biBitCount =32
bmi\bmiHeader\biCompression =#BI_RGB
io=ImageOutput(img)
hdc=StartDrawing(io)
If SetDIBits_(hdc,hBmp,0,h,mem,bmi,#DIB_RGB_COLORS)
StopDrawing()
ProcedureReturn #True
Else
StopDrawing()
ProcedureReturn #False
EndIf
EndIf
CompilerEndIf
EndProcedure
CopyMemToImage(*Drawbuffer,imagenr)
funkheld hat geschrieben:
Retro-X ? was ist das. ?
Danke.
gruss
Retro-X ist meim Programm mit dem man PC Bilder für diverse Retro-Systeme konvertieren kann. Momentan ist die Weiterentwicklung auf Es gelegt. Die letzte Version war Retro-X Alpha 8.0, und hat noch ein paar Bugs.