VOGONS


Reply 160 of 979, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

Well yes, UPX is not so optimal to use on a program that you want to run on a low end 486 or a 386. Better not pack the exe and let the users choose the packer if they want to pack. APACK is a fast one for example.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.

Reply 162 of 979, by ViTi95

User metadata
Rank Member
Rank
Member

I've tested both compressed and uncompressed versions on my slowest 386SX (33MHz), I found it to load faster when using a slow hard drive, and pretty much the same when using a fast compact flash card. The biggest slowdown when loading comes from the WAD itself, it requires preprocessing and that is slow. Anyway I can upload an uncompressed version to GitHub, so everyone is happy.

https://www.youtube.com/@viti95

Reply 163 of 979, by AngryByDefault

User metadata
Rank Member
Rank
Member

oh man!
THIS is the kind of awesomeness that makes me regret having let got my 486 and K5 like 20 years ago : '(

Kudos!

Reply 164 of 979, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
ViTi95 wrote on 2021-04-14, 09:39:

I've tested both compressed and uncompressed versions on my slowest 386SX (33MHz), I found it to load faster when using a slow hard drive, and pretty much the same when using a fast compact flash card. The biggest slowdown when loading comes from the WAD itself, it requires preprocessing and that is slow. Anyway I can upload an uncompressed version to GitHub, so everyone is happy.

No offense, but why on earth would anyone care about executable size for this program? I could see if you were trying to fit it on a single floppy or something, but the WADs are all way too big for that anyway

Reply 166 of 979, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie

Thank you for the hard work, I spent some time once again to compare the new fastdoom (uncompressed) version, I can indeed confirm it's a bit faster than the 0.7 (386 version)
I redid all the tests because I used a faster Virge Dx card compared to last time, fastdoom is roughly 11-12% faster:

photo_2021-04-15_04-34-58.jpg
Filename
photo_2021-04-15_04-34-58.jpg
File size
19.8 KiB
Views
1750 views
File comment
Doom vs FastDoom 0.7 and 0.8
File license
Fair use/fair dealing exception

As a side note, people can say whatever they want but the umc was a great clock to clock cpu 😀

Reply 167 of 979, by ViTi95

User metadata
Rank Member
Rank
Member

Thanks again for the benchmarks @Nemo1985 !! The UMC Green CPU has really good IPC, Doom uses a lot of divisions and that instruction is very optimized on these processors. It's almost 20% faster than Intel 486 at the same frequency.

Next version of FastDoom will implement VGA Mode 13h. There are some instances were this mode is faster/smoother than the original VGA Mode Y. Specially with fast cpu's and some video cards. Here's a little example comparing both modes.

https://www.youtube.com/watch?v=Q7hEn_LstpE

Pentium III (550MHz) and a Cirrus Logic ISA GD-5422 (Fullscreen without status bar, audio disabled):

  • Mode Y: 22,361 fps
  • Mode 13h: 51,351 fps (229% faster!)

https://www.youtube.com/@viti95

Reply 168 of 979, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

"Michal Dobrodenka
Interesting. Why original Doom does not use 13h?"
Hmm wanted to ask the same, not sure and sorry i can be wrong, i recall i seen somewhere leileilol said the doom uses 13h mode.
maybe its guess by him or its unoptimized

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 169 of 979, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

I know Heretic uses mode 13h and I remember, it run little smoother with some computers, but in reality had more animation and detail.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.

Reply 170 of 979, by Rawit

User metadata
Rank Oldbie
Rank
Oldbie

Doom uses Mode Y. The Cyrix build I used to have with integrated video choked on everything Mode X/Y related. Doom didn't run well while Heretic and Hexen did. After that I read this: https://www.doomworld.com/forum/topic/57861-h … rements/?page=2

YouTube

Reply 171 of 979, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie
ViTi95 wrote on 2021-04-13, 23:09:

@MrFlibble I will check that bug, and see if i can correct it for a bugfix release.

Thanks!

UPD: I can report that the demos in the Phase 1 IWAD (the Ultimate Doom counterpart; I'm testing the version from here) work fine. Maybe it's a feature of the map where the Phase 2 demo was recorded, not complying with vanilla standards.

UPD2: Yep, it's definitely the map (MAP15). I just warped there and here's what I got in the same area where the demo would freeze:

dosbox_027.png
Filename
dosbox_027.png
File size
30.93 KiB
Views
1587 views
File license
Fair use/fair dealing exception
ViTi95 wrote on 2021-04-13, 23:09:
  • New SETUP program! I've found how to edit and compile the original IDSETUP program, and modified it to create a custom version for FastDoom.
  • Renamed the configuration file from default.cfg to fdoom.cfg. Also renamed save files from doomsav*.dsg to fdoomsv*.dsg.

I was going to ask for the custom setup programme, thanks for making it!

DOS Games Archive | Free open source games | RGB Classic Games

Reply 172 of 979, by ViTi95

User metadata
Rank Member
Rank
Member

Vanilla Doom uses Mode Y, while Heretic uses Mode 13h. Mode Y is faster with 386 and cacheless systems as the ram on those systems is really slow, so it's faster to write directly to the video card rather than write to system memory and then copy the backbuffer to the video ram. Also Mode Y has some tricks that Mode 13h doesn't. Mainly, it has access to the full 256Kb of VRAM, multiple video pages and some operations are faster, as it allows writing 2 or 4 bytes at the same time with a single write to the VRAM. This allows rendering full screen at 160x200 or 80x200 requiring much less write operations. Also it allows copying 4 bytes from VRAM to VRAM with a single read and write operation. I tried to use this trick to save memory saving the Doom fonts in the VRAM, but it was difficult and slower with some video cards (read operations are very slow in most circunstances).

The cons are that it requires to change the planes to write to pixels depending on the column, and that is an OUTP instruction per each column draw, and multiple OUTP per span drawn (except for the 80x200 resolution). The OUTP instructions are really slow, and some video cards doesn't like it at all (for example the Rendition Verite and the Cyrix MediaGX). That problem doesn't exist with the Mode 13h, as the VRAM is directly mapped in memory. With fast 486 and Pentium cpu's the Mode 13h should be faster, but only with the high detail modes.

https://www.youtube.com/@viti95

Reply 173 of 979, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

Without pretending that I understand the mechanics behind the different VGA modes, perhaps it's worth mentioning that recently I ran tests with Duke Nukem 3D and found that one of the better video modes for good frame rate was a "hidden option" which can only be activated by manually editing the DUKE3D.CFG file, called S3 optimised. I looked it up in the DOSBox debugger and I think it's still a VGA mode, unlike the VESA 150h mode option also supported by the game. This optimised mode boasts a good frame rate and does not suffer from pronounced screen tearing, unlike the regular "Normal Mode" VGA 13h. But I guess the downside is that it is only for S3 cards as the name suggests. Since the source code of DOS Duke3D is available I wonder if this could be in any way useful for a Doom port?

DOS Games Archive | Free open source games | RGB Classic Games

Reply 174 of 979, by ViTi95

User metadata
Rank Member
Rank
Member

Duke Nukem 3D uses the Build engine (by Ken Silverman). The Build engine source code was released in 2000 and it has an extensive changelog. One of the described changes is this one:

9/25/96 - Removed support for specially optimized TSENG, Paradise, and S3
modes. If you want the engine to run as fast on these cards,
get Scitech Software's latest Vesa 2.0 driver.

So the source code doesn't include the specific S3 mode, maybe it's based on some kind of linear frame buffer. In the future I will try to add VESA support to FastDoom (for now I have to finish the Mode 13h support). BTW, another comparison between Mode Y and Mode 13h, this time on a Neoware Capio 600 (Cyrix MediaGX 300MHz):

  • Mode Y: 24,273 fps
  • Mode 13h: 64,345 fps (265% faster)

The difference in gameplay is insane, this SoC really hates the Mode Y. Even without L2 cache, the performance is really good with the Mode 13h.

https://youtu.be/3PAfvDsmzVY

https://www.youtube.com/@viti95

Reply 175 of 979, by ViTi95

User metadata
Rank Member
Rank
Member

More updates, FastDoom running in CGA 320x200 (4 colors, mode 4). I've changed the palette so it's not using the eye-melting default palette. I still have to optimize the backbuffer to vram conversion function. This is running on a 486DX-50 and a Trident Paradise 8-bit ISA card.

https://www.youtube.com/watch?v=A_NU_GtFUMg

https://www.youtube.com/@viti95

Reply 176 of 979, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

I think grayscale palette as option will be also very good, imagine Black and White +Gray and Dark Gray colors.
Because is too difficult to fit 4 colors to be not eye eating =)
or maybe use CGA Hacks as mentioned here before.
Or maybe dithering is also option

P.S. Edit
Added TheFast - a DOS program that speedups graphic rendering.
_______________________

TheFast Version 1.04 Screen Display Speed Up Utility […]
Show full quote

TheFast Version 1.04
Screen Display Speed Up Utility

COPYRIGHT (C) 1986,87
TheSoft Programming Services and Ian E. Davis

All rights reserved by TheSoft Programming Services

TheFast is a utility designed to do one thing; speed up the video
display. It has its roots from a program call Zeno, which
unfortunately doesn't work on the Tandy 1000. I therefore set
out to write my own solution to the problem of speeding up the
screen, with this the end result.

TheFast should be compatible with most any computer or program,
but obviously I can't claim it'll run everywhere. Try it, if it
works your screen writes will be between 200% to 500% faster.
The actual speed up depends on the application, and only benefits
those programs that use the Bios. Programs with internal video
routines or those that directly access the screen (ie: PC-Write
or TheDraw) won't be helped. However they are probably fast
enough already.

TheFast uses around 380 bytes of memory and works by eliminating
any wait for video retrace. On some color screens it may cause
snow. Snow is harmless, but if you find it annoying TheFast can
easily be removed.

To load TheFast, just type THEFAST from the DOS prompt. A notice
will appearing indicating TheFast is installed. TheFast can only
be installed once, so you don't have to worry about it "stacking"
itself (such as Zeno does). Stacking is where a program will
allow itself to be installed multiple times. This could
dramatically slow down performance if done.

To remove TheFast, type THEFAST /K at the DOS prompt. Spacing
and case are unimportant. Make certain you have removed all
memory resident programs loaded after TheFast. Otherwise, you
will be left with a memory "hole" which might confuse Dos.

TheFast Page 1

TheFast Program History:

v1.00 10/19/86 - Initial Release.
v1.01 11/16/86 - Corrected glitch when writing to 40 column
screen.
v1.02 02/19/87 - Screen writes made faster by about 20%.
v1.03 05/08/87 - Routines used to detect presence of TheFast
revised.
v1.04 05/30/87 - Screen writes faster by about 2 to 4%. Also
fixed minor glitch with new detection code.

That is all there is to it. If you find TheFast to be useful, a
contribution of $5 or any amount would be greatly appreciated and
would help towards the development of more quality shareware.
Please send any checks and/or comments to:

TheSoft Programming Services
c/o Ian Davis
1929 Whitecliff Court
Walnut Creek, Ca, 94596

Thanks!

TheFast Page 2

_______________________

Attachments

  • Filename
    TheFast.rar
    File size
    3.4 KiB
    Downloads
    61 downloads
    File license
    Public domain
Last edited by Stiletto on 2021-05-06, 20:36. Edited 1 time in total.

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 177 of 979, by trixster

User metadata
Rank Newbie
Rank
Newbie

Can't believe i've only just seen this thread. This is a game-changer for the PC BridgeBoard in my Amiga 3000. Amazing work, FastDoom is superb.

The GoldenGate 486SLC/2 bridgeboard use a Cyrix 486SLC/2 at 50mhz - mine is upgraded with a TI486SXLC at 50mhz. With it's 8k L1 cache it's substantially quicker for Doom than the Cyrix chip (1k cache). these chips are bottlenecked with a 16bit external bus, so stuff like doom which relies on fast access to ram is really bottlenecked. Any optimisations therefore are greatly appreciated!

http://amiga.resource.cx/exp/goldengate

Normal Doom 1.9, -nosound, HUD with one level of green border, demo3 (from the ultimate doom wad) = 12576realtics = 10.75fps
FastDoom 0.8, -nosound, HUD with one level of green border, demo3 (from the ultimate doom wad) = 9822realtics = 13.382fps

That's a 25% increase!

FastDoom with -nosound, -near, -flatshadows, -flatsurfaces = 8741realtics = 15.233fps

Great release, much appreciated!

[on my 486DX2-66 FastDoom is 20% faster than regluar Doom]

Reply 179 of 979, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie
RaVeN-05 wrote on 2021-04-29, 07:51:
I think grayscale palette as option will be also very good, imagine Black and White +Gray and Dark Gray colors. Because is too d […]
Show full quote

I think grayscale palette as option will be also very good, imagine Black and White +Gray and Dark Gray colors.
Because is too difficult to fit 4 colors to be not eye eating =)
or maybe use CGA Hacks as mentioned here before.
Or maybe dithering is also option

P.S. Edit
Added TheFast - a DOS program that speedups graphic rendering.

TheFast Version 1.04 Screen Display Speed Up Utility […]
Show full quote

TheFast Version 1.04
Screen Display Speed Up Utility

COPYRIGHT (C) 1986,87
TheSoft Programming Services and Ian E. Davis

All rights reserved by TheSoft Programming Services

TheFast is a utility designed to do one thing; speed up the video
display. It has its roots from a program call Zeno, which
unfortunately doesn't work on the Tandy 1000. I therefore set
out to write my own solution to the problem of speeding up the
screen, with this the end result.

TheFast should be compatible with most any computer or program,
but obviously I can't claim it'll run everywhere. Try it, if it
works your screen writes will be between 200% to 500% faster.
The actual speed up depends on the application, and only benefits
those programs that use the Bios. Programs with internal video
routines or those that directly access the screen (ie: PC-Write
or TheDraw) won't be helped. However they are probably fast
enough already.

TheFast uses around 380 bytes of memory and works by eliminating
any wait for video retrace. On some color screens it may cause
snow. Snow is harmless, but if you find it annoying TheFast can
easily be removed.

To load TheFast, just type THEFAST from the DOS prompt. A notice
will appearing indicating TheFast is installed. TheFast can only
be installed once, so you don't have to worry about it "stacking"
itself (such as Zeno does). Stacking is where a program will
allow itself to be installed multiple times. This could
dramatically slow down performance if done.

To remove TheFast, type THEFAST /K at the DOS prompt. Spacing
and case are unimportant. Make certain you have removed all
memory resident programs loaded after TheFast. Otherwise, you
will be left with a memory "hole" which might confuse Dos.

TheFast Page 1

TheFast Program History:

v1.00 10/19/86 - Initial Release.
v1.01 11/16/86 - Corrected glitch when writing to 40 column
screen.
v1.02 02/19/87 - Screen writes made faster by about 20%.
v1.03 05/08/87 - Routines used to detect presence of TheFast
revised.
v1.04 05/30/87 - Screen writes faster by about 2 to 4%. Also
fixed minor glitch with new detection code.

That is all there is to it. If you find TheFast to be useful, a
contribution of $5 or any amount would be greatly appreciated and
would help towards the development of more quality shareware.
Please send any checks and/or comments to:

TheSoft Programming Services
c/o Ian Davis
1929 Whitecliff Court
Walnut Creek, Ca, 94596

Thanks!

TheFast Page 2

_______________________

Then it is not a real genuine mode. Or you can use a monochrome monitor yourself, CGA has only 6 fixed color palettes for RGBI 4 color mode.

Last edited by Stiletto on 2021-05-06, 20:37. Edited 3 times in total.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.