Fwd: [Freedos-user] Any interest in 486, 586, 686 kernels?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Fwd: [Freedos-user] Any interest in 486, 586, 686 kernels?

Louis Santillan
Whoops, didn't realize that I replied to fd-user instead of kernel.

One other note, all kernels are slightly bigger withe options I set.

-L

---------- Forwarded message ----------
From: Louis Santillan <[hidden email]>
Date: Sun, May 5, 2013 at 9:01 AM
Subject: Re: [Freedos-user] Any interest in 486, 586, 686 kernels?
To: "Discussion and general questions about FreeDOS." <[hidden email]>


Badly written ifdef in memdisk.asm. Fixed such that 486+ compiles.  Read (ftp://openwatcom.mirrors.pair.com/manuals/current/cguide.pdf) and sections 2.3.x & 3.5.  Enlightening and disappointing.  There does not seem to be a way to get 32-bit instructions out of wcc as Tom had mentioned.  3.5 recommends

"The recommended options for generating the fastest 16-bit Intel code are:
Pentium Pro /onatx /oh /oi+ /ei /zp8 /6 /fpi87 /fp6
Pentium /onatx /oh /oi+ /ei /zp8 /5 /fpi87 /fp5
486 /onatx /oh /oi+ /ei /zp8 /4 /fpi87 /fp3
386 /onatx /oh /oi+ /ei /zp8 /3 /fpi87 /fp3
286 /onatx /oh /oi+ /ei /zp8 /2 /fpi87 /fp2
186 /onatx /oh /oi+ /ei /zp8 /1 /fpi87
8086 /onatx /oh /oi+ /ei /zp8 /0 /fpi87"

-ot of -onatx & -zp8 contradict the original makefile's code -os & -zp1 (optimize execution time vs. executable size & align on byte vs. 8-byte, respectively).  Also, the -fp*'s opts don't apply and wcc barfs on -oi+.

So in mkfiles\watcom.mk I added some code to add -6-onaxlkh-ei (for 686).  This will reorder instruction significantly and replace some call nears with jmps in a comparison of 386 timed code vs. 686 timed code.  Code is larger on the 686 side.

So far, not very impressed with OW 1.9's optimizer. Rather minimal improvements.  Anybody play with BCC 5.5 & HX-DOS recently?

-L



On Sat, May 4, 2013 at 3:27 AM, Tom Ehlert <[hidden email]> wrote:
Hallo Herr Louis Santillan,
the differenz is an empty memdisk.lst (for whatever reason)
everything else is *identical*

I'm not impressed

Tom


------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Freedos-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freedos-user



------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Freedos-kernel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [Freedos-user] Any interest in 486, 586, 686 kernels?

Bernd Blaauw
Louis Santillan schreef op 5-5-2013 18:28:
> Whoops, didn't realize that I replied to fd-user instead of kernel.
>
> One other note, all kernels are slightly bigger withe options I set.

I guess it depends on what the compilers do:
[1] optimize for certain processor architecture(s)
[2] also keep backwards compatibility or not with lowest desired level

if [2] then the binary might be larger on disk.

If someone likes a real challenge, a smaller kernel can be produced
using UPX --8086 --lzma --ultra-brute
(instead of UPX --8086 --best) but the end-result is not bootable,
requiring a decompressor stub. Savings is about 3KB disk footprint.

As for the MEMDISK support there's additional support implemented at
https://github.com/PerditionC/fdkernel but it requires me to first
create additional testcases using some kind of floppy image file.
Basically it allows specifying a CONFIG.SYS line at Syslinux menu so you
can alternate memory driver in a menu for example, or specify UMB
regions, that kind of stuff

DEVICE?= and JEMMEX are quite revealing in option parsing :)

(and some ctrl-alt-del issues crashing FreeCOM in VMware)

Bernd

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Freedos-kernel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [Freedos-user] Any interest in 486, 586, 686 kernels?

Louis Santillan
See inline...

On Sun, May 5, 2013 at 9:43 AM, Bernd Blaauw <[hidden email]> wrote:
Louis Santillan schreef op 5-5-2013 18:28:
> Whoops, didn't realize that I replied to fd-user instead of kernel.
>
> One other note, all kernels are slightly bigger withe options I set.

I guess it depends on what the compilers do:
[1] optimize for certain processor architecture(s)
[2] also keep backwards compatibility or not with lowest desired level

if [2] then the binary might be larger on disk.

If someone likes a real challenge, a smaller kernel can be produced
using UPX --8086 --lzma --ultra-brute
(instead of UPX --8086 --best) but the end-result is not bootable,
requiring a decompressor stub. Savings is about 3KB disk footprint.

Why does it fail?  Relocation?  
 
As for the MEMDISK support there's additional support implemented at
https://github.com/PerditionC/fdkernel but it requires me to first
create additional testcases using some kind of floppy image file.
Basically it allows specifying a CONFIG.SYS line at Syslinux menu so you
can alternate memory driver in a menu for example, or specify UMB
regions, that kind of stuff


What were the 0xDC change mentioned in the readme?   

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Freedos-kernel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [Freedos-user] Any interest in 486, 586, 686 kernels?

Louis Santillan
fdoos.org seems to be down at the moment.  Forgot to mention that in case Jeremy is around.


On Sun, May 5, 2013 at 8:42 PM, Louis Santillan <[hidden email]> wrote:
See inline...

On Sun, May 5, 2013 at 9:43 AM, Bernd Blaauw <[hidden email]> wrote:
Louis Santillan schreef op 5-5-2013 18:28:
> Whoops, didn't realize that I replied to fd-user instead of kernel.
>
> One other note, all kernels are slightly bigger withe options I set.

I guess it depends on what the compilers do:
[1] optimize for certain processor architecture(s)
[2] also keep backwards compatibility or not with lowest desired level

if [2] then the binary might be larger on disk.

If someone likes a real challenge, a smaller kernel can be produced
using UPX --8086 --lzma --ultra-brute
(instead of UPX --8086 --best) but the end-result is not bootable,
requiring a decompressor stub. Savings is about 3KB disk footprint.

Why does it fail?  Relocation?  
 
As for the MEMDISK support there's additional support implemented at
https://github.com/PerditionC/fdkernel but it requires me to first
create additional testcases using some kind of floppy image file.
Basically it allows specifying a CONFIG.SYS line at Syslinux menu so you
can alternate memory driver in a menu for example, or specify UMB
regions, that kind of stuff


What were the 0xDC change mentioned in the readme?   


------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Freedos-kernel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [Freedos-user] Any interest in 486, 586, 686 kernels?

Bernd Blaauw
In reply to this post by Louis Santillan
Louis Santillan schreef op 6-5-2013 5:42:

> Why does it fail?  Relocation?

No idea, I'm not a programmer nor gained as much experience as Rugxulo
did, as a user. The binary is compressed and I think either patched or
some header added, to make it bootable as a kernel file. It works for
NRV and LZO, not for LZMA

> What were the 0xDC change mentioned in the readme?

Can't recall much of it anymore, some compatibility towards certain more
modern programs perhaps. The fdos.org website listed details, but as you
already noticed it's not active at the moment. I'm sure Jeremy is
occupied otherwise, and might have thus disabled some services on
purpose to avoid spending maintenance time on it.

Bernd

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Freedos-kernel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel