News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

A New Testbed for MASM32 Forum

Started by frktons, September 21, 2010, 05:25:26 PM

Previous topic - Next topic

frktons

Quote from: Antariy on November 01, 2010, 12:22:30 AM
Quote from: frktons on November 01, 2010, 12:13:35 AM
And using MMX registers to manage 64 bits at a time
is complicated because we have to pad a zero byte after each CHAR/ATTRIBUTE byte.

At least we have not tried to do it with MMX or SSE instructions, so far.


Using of PUNPCKLBW will help a lot.

Alex

Alex, If you have some spare time, post some examples with the timings
so we can see on different machines what the performances are.
You can use the example I posted, that read a file and convert it before
displaying it with WriteConsoleOutput() API.

No need to do it soon, when you are free and feel like to do it.

One missing thing in the program I posted:

ConsoleSize PROC

    INVOKE AllocConsole


I deleted this line at the beginning of ConsoleSize PROC by mistake,
it needs to be there.

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 01, 2010, 12:28:03 AM
Alex, If you have some spare time, post some examples with the timings
so we can see on different machines what the performances are.
You can use the example I posted, that read a file and convert it before
displaying it with WriteConsoleOutput() API.

No need to do it soon, when you are free and feel like to do it.

One missing thing in the program I posted:

ConsoleSize PROC

    INVOKE AllocConsole


I deleted this line at the beginning of ConsoleSize PROC by mistake,
it needs to be there.

Frank

Timings is not needed - MMX would be faster than GPR in this case, indeed.
OK.

Why do you use AllocConsole? Your testing program already has console subsystem.



Alex

frktons

Quote from: Antariy on November 01, 2010, 12:34:30 AM
Timings is not needed - MMX would be faster than GPR in this case, indeed.
OK.

Why do you use AllocConsole? Your testing program already has console subsystem.
Alex

Without that line, every time I restart the PC, if I try to run the program, it freezes and
Windows says it is trying to close it. I have to reassemble/relink it in order to have it
running again.

With AllocConsole this doesn't happen. Maybe it is something only Win7/64 bit does. I'm not sure.

The XMM registers for PUNPCKLBW should be fine, maybe more efficient than MMX.  :P

Would you like to test these different algos and display the results on this new testbed?  :lol

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 01, 2010, 12:41:49 AM
The XMM registers for PUNPCKLBW should be fine, maybe more efficient than MMX.  :P

But MMX made you test-bed runnable on 3 more CPUs generations :P
And this would be unfairly - if your test-bed will be faster, than algo which it is tests :P

Quote from: frktons on November 01, 2010, 12:41:49 AM
Would you like to test these different algos and display the results on this new testbed?  :lol

Hard question. Maybe... Probably... Of course :bg



Alex

Antariy

Quote from: frktons on November 01, 2010, 12:41:49 AM
Without that line, every time I restart the PC, if I try to run the program, it freezes and
Windows says it is trying to close it. I have to reassemble/relink it in order to have it
running again.

With AllocConsole this doesn't happen. Maybe it is something only Win7/64 bit does. I'm not sure.

DOS - the best system  :P



Alex

frktons

Quote from: Antariy on November 01, 2010, 12:46:38 AM
Quote from: frktons on November 01, 2010, 12:41:49 AM
The XMM registers for PUNPCKLBW should be fine, maybe more efficient than MMX.  :P

But MMX made you test-bed runnable on 3 more CPUs generations :P
And this would be unfairly - if your test-bed will be faster, than algo which it is tests :P

Quote from: frktons on November 01, 2010, 12:41:49 AM
Would you like to test these different algos and display the results on this new testbed?  :lol

Hard question. Maybe... Probably... Of course :bg

Alex

OK Alex.  :U
From tomorrow I'll take care of the Row/Col to display the results, and the
ESC key to exit the program, and the "R" key to repeat the test.

Afterwhile the CPU detection code, and the remaining will be added.

You can contribute with your own code to these missing pieces as well.  :P
I like DOS too.  :lol I always use text screen mode like in this new project.

Now it's time to rest.

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 01, 2010, 12:59:55 AM
You can contribute with your own code to these missing pieces as well.  :P

My CPU detection is too simple - it is not currenly support some instructions set, does not make coffee and does not made weather forecast :P



Alex


frktons

Quote from: Antariy on November 01, 2010, 01:04:39 AM

My CPU detection is too simple - it is not currenly support some instructions set, does not make coffee and does not made weather forecast :P

Alex

And what about daylight saving? Does it do it?  :lol

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 01, 2010, 01:08:50 AM
And what about daylight saving? Does it do it?  :lol

Yes, and it is made this with good precision - now is -01:12 at location of the Server.



Alex

frktons

Quote from: Antariy on November 01, 2010, 01:10:32 AM

Yes, and it is made this with good precision - now is -01:12 at location of the Server.

Alex

As I suspected, it is time to go to sleep.  :dazzled:
See you tomorrow with the new test bed, maybe.
:lol

Frank
Mind is like a parachute. You know what to do in order to use it :-)

oex

Quote from: frktons on November 01, 2010, 12:41:49 AM
Without that line, every time I restart the PC, if I try to run the program, it freezes and
Windows says it is trying to close it. I have to reassemble/relink it in order to have it
running again.

Hi Frank,

It sounds like you are painting over a hole in the wall :lol.... I'd suggest you find out why this is happening or you'll likely end up chasing your tail on other issues in the future caused by this bug....
We are all of us insane, just to varying degrees and intelligently balanced through networking

http://www.hereford.tv

frktons

Quote from: oex on November 01, 2010, 11:07:18 AM
Hi Frank,

It sounds like you are painting over a hole in the wall :lol.... I'd suggest you find out why this is happening or you'll likely end up chasing your tail on other issues in the future caused by this bug....

I'm not sure it is a bug in the program, otherwise why should it run always fine if
I add that line? And I'm not sure it depends on some annoyance Win7 has either.
Nobody has noticed that, maybe in Win XP it doesn't happen at all. Without feed-back
from others on other systems I'm not going anywhere.
For the time being I've noticed this problem stops to pop up with this API. With some
feed-back I could find out if there are other issues involved.

The source has been posted, if anybody notices something strange please let me know.

Frank
Mind is like a parachute. You know what to do in order to use it :-)

frktons

Added some PROCs, and among them the OSVersion updated by GregL.
Changed the screen as well, and a couple of useful API to set the color
and display a string at a defined position.

Please test it and let me know how it works on your systems.

Frank
Mind is like a parachute. You know what to do in order to use it :-)

Antariy

Quote from: frktons on November 01, 2010, 04:03:46 PM
Please test it and let me know how it works on your systems.

Frank, the screen of console is too big, and have scroll bars and showed partially, even if the console window have size less than desktop resolution.



Alex

frktons

Quote from: Antariy on November 01, 2010, 09:33:40 PM

Frank, the screen of console is too big, and have scroll bars and showed partially, even if the console window have size less than desktop resolution.

Alex
In the console proprieties, change the size of the font to a lesser number. I use 16 that should be enough for
1024 * 768 resolution video. Mine is 1360 * 768 so the size I can use is up to 20.
With 14 it could be visible even for lesser resolutions.

The Windows size should be 90 * 34 / the same for the buffer size. This way it should be visible without scroll bars.

What about the OS detection? Is it correct what is displayed?
Frank
Mind is like a parachute. You know what to do in order to use it :-)