Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
DOS386

20.12.2009, 08:28
 

MPLAYER update (Win32, tests needed) (Announce)

* http://sourceforge.net/projects/mplayer-win32/

* http://sourceforge.net/projects/mplayer-win32/files/

Today 2009-12-20 Sherpya compiled MPlayer-rtm-svn-30075.7z

What's new:

- CMOVNTQ instruction "should" not be used anymore, so it "should" run on old Pentium 1 CPU's again (previous 29851 didn't, long time ago it did).

Note that I haven't tested this 30075 yet. The previous 29851 did work with following flaws:

- Illegal instruction exception on old Pentium 1 CPU's http://pastebin.com/m31384347
- Missing imports (ignoring helped)
- Video GUI output didn't work (IIRC broken over 2 years ago)

Please test :hungry:

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

Rugxulo

Homepage

Usono,
20.12.2009, 20:07

@ DOS386
 

MPLAYER update (Win32, tests needed)

> Roberto Perotti to me
> show details 3:18 AM (9 hours ago)
> Hi,
>
> Sherpiya have released some modified dll for hx for running mplayer on
> dos with hx.
>
> Instructions and download from :
>
> http://oss.netfarm.it/mplayer-win32.php
>
> Roberto iw2evk
> -- This mail was written by a user of the Arachne Browser -
> -- FREE DOWNLOAD YOUR COPY FROM
> -- HTTP://www.glennmcc.org/

Laaca

Homepage

Czech republic,
21.12.2009, 01:26

@ DOS386
 

MPLAYER update (Win32, tests needed)

Since we can use the DJGPP version by Michal Kostylev I don't see any reason why to bother with Windows version under HX.
(The absolutely great feature of DJGPP version is ability to use the hardware video acceleration via VIDIX library)

---
DOS-u-akbar!

ron

Homepage E-mail

Australia,
21.12.2009, 03:08

@ Laaca
 

MPLAYER update (Win32, tests needed)

> Since we can use the DJGPP version by Michal Kostylev I don't see any
> reason why to bother with Windows version under HX.
> (The absolutely great feature of DJGPP version is ability to use the
> hardware video acceleration via VIDIX library)

And the absolutely sad feature of the DJGPP version is that Mik seems to
have disappeared from the face of the earth, and it hasn't been updated for
a year. <hope>Unless you know something I don't. </hope>

I see no reason why the HX-version should not continue to be be developed,
and maybe it will eventually become as useable as the DJGPP version is now.

---
AUSREG Consultancy http://www.ausreg.com
Tadpole Tunes http://www.tadpoletunes.com
Sna Keo Il http://www.tadpoletunes.com/sna_keo_il/

DOS386

21.12.2009, 07:55
(edited by DOS386, 21.12.2009, 08:12)

@ ron
 

!!! IT WORKS AGAIN !!!

Laaca wrote:

> Since we can use the DJGPP version by Michal Kostylev I don't see any
> reason why to bother with Windows version under HX.

Heh ??? :confused: Having newer versions, some of the DGJPP versions can't play OGG Theora at all :-(

> (The absolutely great feature of DJGPP version is ability to use the
> hardware video acceleration via VIDIX library)

This is great ... although I haven't tested it yet.

> And the absolutely sad feature of the DJGPP version is that Mik seems to
> have disappeared from the face of the earth, and it hasn't been updated
> for a year.

:-(

> <hope>Unless you know something I don't. </hope>

:-) :-) :-) :-) I do: the Win32 version from 2009-12-20 works with HX again :-) :-) :-) :-)

Apparently Sherpya enabled SDL, and even worse, linked it statically in (no attempt to access SDL.DLL), and, even worse, it works, it works well, and is fast :clap: (the "GL" that used to work some years ago was slow as hell, apparently some timing BUG ...)

Rugxulo wrote:

> Roberto Perotti to me

He still ASS'umes to be banned or is he really banned from here ? :confused:

> Sherpiya have released some modified dll for hx for running mplayer on
> dos with hx.

YES. But for me it works witout them also. And, Japheth included the changes, so this hack by Sherpya is obsolete anyway :-)

> I see no reason why the HX-version should not continue to be be developed,
> and maybe it will eventually become as useable as the DJGPP version is now.

There is no "HX-version", just the Win32 version works with HX :-)

There are following flaws in this last version:

- Very large and hot DeLL HeLL needed (see list below)
- Startup takes centuries (see debug report in link)
- Missing imports, or use HX 2.17
- There is no sound :-(

http://freefile.kristopherw.us/uploads/temp/mpwsdl.txt



************************************************************************

MPW.EXE 14'357'504
75CE5205CFAAE2382864E9F81DAFC0B6

MPlayer Sherpya-SVN-r30075-4.2.5 (C) 2000-2009 MPlayer Team
Compiled with runtime CPU detection.

************************************************************************

CRTDLL.DLL   184'320 bad license
DADVAPI.DLL   10'752
DCIMAN32.DLL   4'096
DDDRAW.DLL    13'824
DGDI32.DLL    27'136
DKRNL32.DLL   80'896
DUSER32.DLL   41'984
GLU32.DLL    139'712 bad license
HXGUIHLP.DLL  14'848
MSVCRT.DLL   278'581 bad license
OLE32.DLL      5'120 OLEeeee OLEeeeee
OPENGL32.DLL 733'296 bad license
SB16.DLL       6'144 unnecessary
SHELL32.DLL    4'096
VESA32.DLL     9'728
WINMM.DLL     12'288
WS2_32.DLL     5'632
WSOCK32.DLL  446'976 could be less bloated
DPMILD32.EXE  18'351
HDPMI32.EXE   35'756 resident
HXGUIHLP.INI   2'659

************************************************************************


I haven't tested the CMOVNTQ issue yet :-|

Definitely thanks to Sherpya :-)

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

Khusraw

E-mail

Bucharest, Romania,
21.12.2009, 09:56
(edited by Khusraw, 21.12.2009, 10:16)

@ DOS386
 

!!! IT WORKS AGAIN !!!

> Laaca wrote:
>
> > Since we can use the DJGPP version by Michal Kostylev I don't see any
> > reason why to bother with Windows version under HX.
>
> Heh ??? :confused: Having newer versions, some of the DGJPP versions can't
> play OGG Theora at all :-(

The version I use plays ogg Theora without problems, and there was no Mplayer important update since Mik's latest DJGPP port release. Actually the more recent Mplayer svn Windows builds are slower and generally work worse for most common needs.

> > (The absolutely great feature of DJGPP version is ability to use the
> > hardware video acceleration via VIDIX library)
>
> This is great ... although I haven't tested it yet.

Mplayer runs very slow under HX because lack of support for hardware color space conversion, whilst Mik's port has such support using VIDIX video output. Unfortunately VIDIX still doesn't have drivers for many new video cards.

---
Glory to God for all things

Khusraw

E-mail

Bucharest, Romania,
21.12.2009, 09:34
(edited by Khusraw, 21.12.2009, 11:34)

@ ron
 

MPLAYER update (Win32, tests needed)

> And the absolutely sad feature of the DJGPP version is that Mik seems to
> have disappeared from the face of the earth, and it hasn't been updated
> for a year. <hope>Unless you know something I don't. </hope>

Mik is still active and meantimes he has continued to update his Mplayer port adding some nice features (e.g. OSS audio support), but he refuses to make it publicly available for an idiosyncratic reason.

---
Glory to God for all things

Deniska

Homepage E-mail

23.12.2009, 00:23

@ Khusraw
 

MPLAYER update (Win32, tests needed)

> Mik is still active and meantimes he has continued to update his Mplayer

Does anybody know Mik's contact details?

Rugxulo

Homepage

Usono,
23.12.2009, 05:52

@ Deniska
 

MPLAYER update (Win32, tests needed)

> > Mik is still active and meantimes he has continued to update his Mplayer
>
> Does anybody know Mik's contact details?

No, and sadly that's the point: he doesn't want to be contacted. :-/

Khusraw

E-mail

Bucharest, Romania,
23.12.2009, 07:52
(edited by Khusraw, 23.12.2009, 08:14)

@ Deniska
 

MPLAYER update (Win32, tests needed)

> Does anybody know Mik's contact details?

You can find the contact details on his webpage, when it happens to be online (last time that was a couple of days ago), but I inform you that he has peculiarities and doesn't like to recieve certain types of E-Mails (nontechnical ones).

---
Glory to God for all things

RayeR

Homepage

CZ,
25.12.2009, 01:08

@ Khusraw
 

MPLAYER update (Win32, tests needed)

> You can find the contact details on his
> webpage, when it happens to be online (last time that was a couple
> of days ago), but I inform you that he has peculiarities and doesn't like
> to recieve certain types of E-Mails (nontechnical ones).

I can understand he may be very busy in real life. I appreciate his work on mplayer that he is doing for free in his free time so I respect that he do on his project as he decide.

---
DOS gives me freedom to unlimited HW access.

Khusraw

E-mail

Bucharest, Romania,
25.12.2009, 10:48

@ RayeR
 

MPLAYER update (Win32, tests needed)

> I can understand he may be very busy in real life. I appreciate his work
> on mplayer that he is doing for free in his free time so I respect that he
> do on his project as he decide.

Actually his intention has been for his patches to be included in the main projects, but I don't think he had too much success, perhaps with the exception of ffmpeg. But even ffmpeg requires a cross compiler because of some flaws in the DJGPP ports of GNU tools.

---
Glory to God for all things

Rugxulo

Homepage

Usono,
22.12.2009, 10:19

@ DOS386
 

MPLAYER update (Win32, tests needed)

> - Illegal instruction exception on old Pentium 1 CPU's
> http://pastebin.com/m31384347

Just for clarity (although I'm not that experienced, honestly):


lea  esi,[esi]       ; Crappy code !!!


Most likely a NOP equivalent for speed reasons / alignment.


add  edx,1           ; Crappy code !!!


INC/DEC are slow on Pentium 4 on up, and forbidden completely in 64-bit mode. GCC actually generates this a lot when using -mtune=generic or similar.


nop                  ; Crappy code !!!
lea  esi,[esi]       ; Crappy code !!!


While I agree that blindly putting NOPs everywhere is pointless and annoying, they are faster than ever (esp. on Core 2), e.g. less than one clock nowadays. Even using them on an original Pentium can allegedly increase performance, if used correctly.


mov  esp,[ebp-$14]   ; &
lea  esp,[ebp-$0C]   ; & Crappy code :-D


Okay, seems redundant here.


adc  esi,0           ; !!!
neg  esi


Could be useful (although I can't tell from looking what it intends to do here). I know Darek Mihocka's No Execute blog whines about some VC compilers using SBB, which doesn't avoid partial register stalls.

Long story short: it's extremely complicated trying to optimize for anything!!

(EDIT: That reminds me, I just found out [a year late, heh] that Darek open-sourced the DOS version of PC Xformer 3.80, but it's hidden inside the GEMCE900.ZIP sources under \atari8\ folder, apparently needs MASM and VC6 or better. It's not as compatible as the Atari800 emulator (which isn't full speed even on my P166), but XFORMER.EXE is fast even on a 486 [Hover Bovver]!)

mht

Homepage

Wroclaw, Poland,
22.12.2009, 16:58

@ Rugxulo
 

MPLAYER update (Win32, tests needed)

Maybe it works this way?

neg_64_bit:    ; "neg esi:ebx"
  neg ebx      ; low_dword := 0 - low_dword
  adc esi, +0  ; propagate borrow
  neg esi      ; high_dword := 0 - (high_dword + borrow)

DOS386

22.12.2009, 17:19

@ Rugxulo
 

MPLAYER update (Win32, NOT fixed)

FYI, the CMOVNTQ's are not gone at all :-(

http://pastebin.com/m2b5d7a67

> INC/DEC are slow on Pentium 4 on up

And Pentium 4 always had the biggest performance problems, why don't you just get an 80386, 8086, or 4004 not causing such trouble ??? :confused:

> and forbidden completely in 64-bit mode.

Useless bloat ...

> GCC actually generates this a lot when using -mtune=generic or similar.

And what mtune disables such absurdity ???

>
> adc  esi,0           ; !!!
> neg  esi
>

> Could be useful

There is no "Crappy code", just the exclam's ;-)

> (EDIT: That reminds me, I just found out [a year late, heh] that Darek
> http : / / www . emulators . com / download . htm open-sourced the DOS
> version of PC Xformer 3.80, but it's hidden inside the GEMCE900.ZIP
> sources under \atari8\ folder, apparently needs MASM and VC6 or better.

You love such unrelated side notes :lol3:

I'm sure GCC optimization experts will be able to explain me:

- What's the goal of REP RET

- What's the goal of O16 NOP

- What's the goal of avoiding PUSH and POP and using MOV [ESP+blah] instead

- How bloat (redundant repeated encoding of "boring" or same numbers as 32-bit values) improves performance

- Why preserve EBP when you don't need it at all :clap:

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

Rugxulo

Homepage

Usono,
22.12.2009, 19:16

@ DOS386
 

x86 code optimization

> FYI, the CMOVNTQ's are not gone at all :-(
>
> http://pastebin.com/m2b5d7a67

He should avoid -march=i686 or higher and just use -mtune=generic instead.

> > INC/DEC are slow on Pentium 4 on up
>
> And Pentium 4 always had the biggest performance problems, why don't you
> just get an 80386, 8086, or 4004 not causing such trouble ??? :confused:

P4 isn't that bad, speed-wise. At least the high clock speeds and SSE2 compensated. But it did break some common optimizations. However, that doesn't mean that Intel hasn't improved upon things. Atom is in-order and thus uses lots less power while being as fast as a high-end PIII or low-end P4. There are even dual-core / 64-bit Atoms now, cheap! (See Darek's blog.)

> > GCC actually generates this a lot when using -mtune=generic or similar.
>
> And what mtune disables such absurdity ???

I know at least -march=pentium won't use it, but that can penalize newer chips, so I wouldn't recommend it without a good reason.

> > (EDIT: That reminds me, I just found out [a year late, heh] that Darek
> > http : / / www . emulators . com / download . htm open-sourced the DOS
> > version of PC Xformer 3.80, but it's hidden inside the GEMCE900.ZIP
> > sources under \atari8\ folder, apparently needs MASM and VC6 or better.
>
> You love such unrelated side notes :lol3:

Well, it's not THAT unrelated. He's a big pro regarding optimization, e.g. his work on speeding up BOCHS, his very fast Atari800 emulator (runs fast on 486, no small feat!).

> I'm sure GCC optimization experts will be able to explain me:
>
> - What's the goal of REP RET
> - What's the goal of O16 NOP

AMD optimization, just like "O16 NOP", IIRC. P4 has jump hints (ds jz), and SSE2 has "pause" (rep nop). Yeah, I know it's weird.

> - What's the goal of avoiding PUSH and POP and using MOV [ESP+blah]
> instead
>>
>> mov [esp+8],edi ; Why not PUSH ???

It would take more instructions, not necessarily better.

>> mov edi,[esp+8] ; Restore - why not POPE ???

This way keeps ESP unmodified.

> - How bloat (redundant repeated encoding of "boring" or same numbers as
> 32-bit values) improves performance

Cpu design, e.g. one-byte LODSB is slower than bigger, manual MOV due to more RISC-y internal structure since 486. XCHG (atomic) is also slower than push / pop (pairable on original Pentium).

> - Why preserve EBP when you don't need it at all :clap:

Dunno, probably a compiler shortcoming.

DOS386

23.12.2009, 09:05

@ Rugxulo
 

x86 code optimization

> He should avoid -march=i686 or higher and just use -mtune=generic

yeah

> I know at least -march=pentium won't use it, but that can penalize newer
> chips, so I wouldn't recommend it without a good reason.

And the exact problem with newer chips is ???

> It would take more instructions, not necessarily better.

It would take LESS instructions, see code

> This way keeps ESP unmodified.

So you have to ADD it then generating even more bloat :clap:

> Michael Kostylev
> E-mail: mixxchael.kostylev@grrmail.com
> Back to main

(no comment)

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

marcov

23.12.2009, 22:38

@ DOS386
 

x86 code optimization

> > I know at least -march=pentium won't use it, but that can penalize
> newer
> > chips, so I wouldn't recommend it without a good reason.
>
> And the exact problem with newer chips is ???

Bloat. They have a lot more transistors than strictly needed.

DOS386

19.03.2010, 06:26

@ DOS386
 

MPLAYER update (Win32, NOW IS fixed)

Well, this is old ... but

> FYI, the CMOVNTQ's are not gone at all

Well, since 2010-01-20, they are gone :-)

r30886 2010-03-13 is out:

* Still works well in DOS with -vo sdl
* Still works well on Pentium 1
* Better Theora compliance (but "offset" still ignored, and DUGL PLAYER much better)

* BUG: -vo sdl causes ugly artifacts if width is odd (it is a problem specific to "-vo sdl", not the decoder)
* BUG/FLAW (of HX ?): can't play a movie bigger than screen size (looks very crappy)
* BUG/FLAW: "-vo yuv4mpeg" always uses the "420" format

For comparison, VLC 1.0.5: needs Windaube, 3 times more bloat, needs a crack (on ME), installation completes hapilly after taking centuries, and the final effect ? IT DOESN'T WORK - silent give-up, maybe CMOVNTQ (tested on Pentium 1) ??? :clap:

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

DOS386

13.05.2010, 03:49

@ DOS386
 

MPLAYER 31139

> r30886 2010-03-13 is out:
> * Still works well on Pentium 1

31139 has CMOVNTQ's again

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

DOS386

06.06.2010, 15:48

@ DOS386
 

MPLAYER 31170

> 31139 has CMOVNTQ's again

31170 from 2010-05-13 (still the latest) is good :-)

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

Khusraw

E-mail

Bucharest, Romania,
22.12.2009, 18:41
(edited by Khusraw, 22.12.2009, 21:15)

@ Rugxulo
 

MPLAYER update (Win32, tests needed)

> INC/DEC are slow on Pentium 4 on up, and forbidden completely in 64-bit
> mode. GCC actually generates this a lot when using -mtune=generic or
> similar.

Quotation needed. AFAIK on Pentium 4 etc. INC and DEC ar as fast as SUB 1 ADD 1. Perhaps you want to say that multiple INCs and DECs are slower than ADD and SUB or that on 64-bit CPUs the carry flag is not affected by them as opposed to SUB 1 and ADD 1.

---
Glory to God for all things

Rugxulo

Homepage

Usono,
22.12.2009, 19:01

@ Khusraw
 

INC/DEC speed

> > INC/DEC are slow on Pentium 4 on up, and forbidden completely in 64-bit
> > mode. GCC actually generates this a lot when using -mtune=generic or
> > similar.
>
> Quotation needed. AFAIK on Pentium 4 etc. INC and DEC ar as fast as SUB 1
> ADD 1. Perhaps you want to say that multiple INCs and DECs are slower than
> ADD and SUB or that on 64-bit CPUs the carry flag is not affected by them
> as opposed to SUB 1 and ADD 1.

I don't remember exactly, so I may be saying it incorrectly. But I think it really is slower on P4s. On 64-bit, I thought the REX prefix was the INC/DEC opcode reused (so as to not pollute / bloat the opcode space).

Khusraw

E-mail

Bucharest, Romania,
24.12.2009, 13:37
(edited by Khusraw, 24.12.2009, 13:56)

@ Rugxulo
 

INC/DEC speed

> On 64-bit, I thought the REX prefix was the INC/DEC opcode reused (so as to > not pollute / bloat the opcode space).

INC reg DEC reg use alternative opcodes in 64-bit mode, they are not forbbiden at all.

---
Glory to God for all things

Rugxulo

Homepage

Usono,
25.12.2009, 01:00

@ Khusraw
 

INC/DEC speed

> > On 64-bit, I thought the REX prefix was the INC/DEC opcode reused (so as
> to > not pollute / bloat the opcode space).
>
> INC reg DEC reg use alternative opcodes in 64-bit mode, they are not
> forbbiden at all.

According to NASM ...

40 inc ax (use16)
40 inc eax (use32)
48FFC0 inc rax (use64)

Back to index page
Thread view  Board view
22632 Postings in 2109 Threads, 402 registered users, 300 users online (0 registered, 300 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum