flat assembler
Message board for the users of flat assembler.

Index > MenuetOS > Some more ideas...MenuetOS needs 32-bit BMP support!

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
E}I{



Joined: 30 Apr 2005
Posts: 7
E}I{ 02 May 2005, 21:14
My latest gfx code(actually 2 years old) is not released, coz it is ugly and I found better ( but slower ) implementations of same idea (see swShader). I never got to something more complex than 32 bit(RGB or 8-bit paletted) sprites with several blending modes(add/sub/colorkey/alpha..). Sad Originally it was supposed to replace all old rendering code in my PSX GPU plugin ( ej.psxfanatics.com) .
Main idea is simple. we can make generic "blocks" that process image data, for 1,2,4 pixels. then we can assemble code chains from this code, handling 1..n pixels, starting from aligned/unaligned addresses/etc. , then place entry points into array. chains can jump to each other forming some sort of tree , using less cache lines in L1 cache. this approach results in fastest image processing code known to man Smile It is also possible to generate different basic blocks, after querying CPU capabilities ( check support for MMX/CyrixMMX/SSE/3DNow... ).
Post 02 May 2005, 21:14
View user's profile Send private message Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2139
Location: Estonia
Madis731 03 May 2005, 09:22
OffTopic: How do you pronounce your name ^o)

oh, and isn't 5ticks/px a bit much - seems like a primitive solution, because for example a P4 HT can make 3 micro-operations in one tick in each ALU meaning 30 micro-ops to each pixel - what a waste Razz

Of course I've got no idea of what magic are you doing there but what shading algo takes that much?
Post 03 May 2005, 09:22
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
E}I{



Joined: 30 Apr 2005
Posts: 7
E}I{ 03 May 2005, 12:51
More offtopic..
Madis731:
> How do you pronounce your name ^o)
Being from former USSR, you must know Smile
http://www.answers.com/Hedgehog#Dictionary
"yozh" or "iodzh" or something like that

I mentioned real-life benchmarked performance on P-III-compatible Celeron CPU Smile. It is a bit different from yours. Smile you must also consider that only simpler operations on p-IV are 2(3???) per clock on single ALU and even they usually require proper scheduling, frequently unreachable IRL. Alpha-blending involves integer multiply, which can take on p-IV up to 18 clocks (generic MUL), up to 8 (MMX version), according to Intel manuals. Of course, max throughput is higher, but, again, unreachable because of small number of registers ( and "renaming" is not a replacement for "real", adressable registers ).
Post 03 May 2005, 12:51
View user's profile Send private message Reply with quote
dCool101d



Joined: 30 Dec 2004
Posts: 16
dCool101d 04 May 2005, 01:48
ugh...
E}I{: Can you help me out, I've looked and I can't find all I need to program a starting VESA 2.0 1024x768 mode in C!?
I've found what I need, but then I'm having trouble with libraries and versions/makes!!!
Caould you just send me a few files and get me started!? Smile
Post 04 May 2005, 01:48
View user's profile Send private message Visit poster's website Reply with quote
E}I{



Joined: 30 Apr 2005
Posts: 7
E}I{ 04 May 2005, 06:46
Heh.. When I used DOS & VESA long time ago, I only got to page-switched vmem access (VESA 1.2) from real-mode. Sorry.. Currently I use Win32/DirectDraw.
Post 04 May 2005, 06:46
View user's profile Send private message Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2139
Location: Estonia
Madis731 04 May 2005, 12:07
еж => E}I{ I got it, but I couldn't remember what was the translation from Russian
Post 04 May 2005, 12:07
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
dCool101d



Joined: 30 Dec 2004
Posts: 16
dCool101d 04 May 2005, 19:32
what;s the dif between 1.2 and 2.0?
Speed? or what, lol

Wouldn't 1.2 be just as fit for 1024x768 32bpp?
*If it is then I'll take any source code I can get!
Post 04 May 2005, 19:32
View user's profile Send private message Visit poster's website Reply with quote
Tolle



Joined: 21 Jan 2004
Posts: 71
Tolle 05 May 2005, 04:40
Quote:

what;s the dif between 1.2 and 2.0?
Speed? or what, lol

No, 2.0 makes some things easier to code.
Quote:

Wouldn't 1.2 be just as fit for 1024x768 32bpp?

Yes, but you will have to code a specific (bankswitch) driver for your card.
(sidenote, it's not because you have 1024x768@32bpp in -MS Windows- that the same resolution is possible with vesa.)
Post 05 May 2005, 04:40
View user's profile Send private message Visit poster's website Reply with quote
E}I{



Joined: 30 Apr 2005
Posts: 7
E}I{ 08 May 2005, 18:55
Anyway, I'm sorry for not wanting to share my extremely outdated experience of splitting primitives between two or more video pages using mostly 16-bit inline asm Smile I even didn't knew about possibility to use two page windows at A000 & B000 Sad
And I don't feel like learning newer but still useless for me methods for no reason... -_-
Post 08 May 2005, 18:55
View user's profile Send private message Reply with quote
fasmiq



Joined: 16 Jul 2005
Posts: 5
fasmiq 31 Jul 2005, 19:50
dCool, tell me if this is an amazing enough idea :

To write a GUI in which all (graphical) applications have their main window actually as a browser's window (without those decorations, of course ). A simple browser connected to localhost (or a distant one, why not ?) , where a simple http server is placed; a browser having an instance for each graphical application.
So, writing an graphical interface for an application is simply to write a html page. And eventually a script in JavaScript if the browser is capable enough. The binary part (the not-graphical part) of the application to be accessed through cgi.
Post 31 Jul 2005, 19:50
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.