VOGONS


Reply 540 of 985, by ViTi95

User metadata
Rank Member
Rank
Member

Unisound cannot load soundfonts:

- SB AWE32 PnP and non-PnP, AWE64, SB32PnP. EMU8K initialization included
(to enable FM and built-in wavetable sound, so no AWEUTIL /S needed. No
soundfonts loading though).

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

Reply 541 of 985, by appiah4

User metadata
Rank l33t++
Rank
l33t++
ViTi95 wrote on 2022-11-02, 08:38:

Unisound cannot load soundfonts:

- SB AWE32 PnP and non-PnP, AWE64, SB32PnP. EMU8K initialization included
(to enable FM and built-in wavetable sound, so no AWEUTIL /S needed. No
soundfonts loading though).

Ah, ok 😀 Too bad.

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 542 of 985, by Gmlb256

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2022-11-02, 07:32:
Gmlb256 wrote on 2022-11-01, 21:15:
ViTi95 wrote on 2022-11-01, 10:42:

- Add SBK soundfont support for AWE32/AWE64 sound cards, command line parameter "-sbk" to select the SBK. Also thanks to Tronix286.

Very nice to get SBK SoundFont support for AWE cards natively! 👍

Why is this a thing? Can't it be loaded at driver level in DOS and then the card can be used in GM mode in Doom?

Recently, I tried using DOS32AWE + AWEUTIL on my Slot 1 computer and it failed to work, freezing just seconds after the music began playing. 🤣

Besides, that DOS extender refuses to work with any EMM loaded for those who want UMB without wanting to use UMBPCI or similar TSR that relies on RAM shadowing.

Last edited by Gmlb256 on 2022-11-02, 12:23. Edited 2 times in total.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 544 of 985, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2022-11-02, 08:25:
ViTi95 wrote on 2022-11-02, 07:56:

SBK load support natively avoids having to load AWEUTIL + DOS32AWE, I guess later we can replace the PAWE32.LIB from the SBK version to the SF2 version and make it work with SF2 soundfonts.

Now that would be useful.. But as is, I fail to see the point. Using AWEUTIL + DOS32AWE is really not an issue, nothing that can run DOOM should have memory issues with those I'd think. (Also, can't UNISOUND also load SBKs?)

AWEUTIL GM emulation doesn't work on all systems. SF2 support would be amazing though

Reply 545 of 985, by ViTi95

User metadata
Rank Member
Rank
Member
Calvero wrote on 2022-11-02, 12:19:
ViTi95 wrote on 2022-11-01, 10:42:

- New ANSI from Hell mode for CGA cards, 320x100 resolution with 16 colors

Is it based on the 80x25 textmode or the 40x25 one?

It's based on the 80x25 textmode, the main reason is that a LUT for the 40x25 requires all combinations of 16 colors in 8 positions... which is 4Gb in size (x2 because attribute + character are stored in two bytes). With the 40x25 only a resolution of 160x200 is achievable with limited amount of RAM.

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

Reply 547 of 985, by ViTi95

User metadata
Rank Member
Rank
Member

Time for a new release! FastDoom 0.9.1:

* Creative Music System (Game Blaste) music support by @Tronix286
* New EGA 160x200 (16 color) mode FDOOMEW1.EXE, fast on 8-bit ISA cards
* New EGA 320x200 (14 color) mode FDOOME14.EXE, much faster on 8-bit ISA cards compared to FDOOMEGA.EXE
* Updated FastDoom Setup program with new music devices. Support for MDA / Hercules video cards using parameter "-mono"
* New CGA ANSI from Hell mode, based on the same idea of Area5150. Base resolution of 320x100 and 16 colors. Not perfect but awesome for CGA cards.
* Add SBK soundfont loading support for Creative AWE32/AWE64 sound cards by @Tronix286. Use parameter "-sbk".
* Updated startup menu, now it only shows available WADs. Also experimental support for FreeDoom Phase 1+2.
* New command line parameter "-iwad" to load any IWAD directly
* Fixed Plutonia MAP12 crash by @Tronix286 and @RamonUnch
* Small bugfixes and optimizations

Download: https://github.com/viti95/FastDoom/releases/tag/0.9.1

fdoomcah_017.png
Filename
fdoomcah_017.png
File size
13.58 KiB
Views
1977 views
File comment
FastDoom CGA Ansi From Hell 320x100
File license
CC-BY-4.0
Last edited by ViTi95 on 2022-11-08, 10:30. Edited 1 time in total.

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

Reply 549 of 985, by b_w

User metadata
Rank Newbie
Rank
Newbie

ViTi95, did you plan to support VGA 640x480x2, EGA 640x350x16, EGA Monochrome 640x350x3 colors, AT&T/Olivetti 640x400x2, Mode-X (such as 320x240x256, 320x400x256) modes for FastDoom? And support for other IDTech1 games - Chex Quest, Hexen, Heretic, Strife?

Reply 550 of 985, by ViTi95

User metadata
Rank Member
Rank
Member

VGA 640x480x2 -> No need for it as already exists Mode-Y
EGA 640x350x16 -> Wrong aspect ratio so, so I'm pretty sure I won't develop it. Also EGA cards are so slow that so much resolution won't get high frame rates
AT&T 640x400x2 -> I don't have any hardware that supports this mode so I'm not going to develop it. Basically I don't trust emulators. Otherwise it pretty easy to implement as already exists a 640x400x2 mode (Hercules)
Mode-X (...) -> Same as first mode, Mode-X and Mode-Y are basically the same. Also other resolutions don't have the correct aspect ratio
Other IDTech1 games -> Well I'm not very interested in this but I guess it's doable.

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

Reply 551 of 985, by ViTi95

User metadata
Rank Member
Rank
Member

Thanks to VileR I've been able to create a new mode for IBM CGA cards: the 512 color composite mode (80x100). Still haven't tested on a real CGA card with composite output, but this is how it looks on DosBox-Staging. The resolution is too low, but OMG those colors... still can't believe this is what a CGA card can do.

fastdoom_512_1.png
Filename
fastdoom_512_1.png
File size
301.18 KiB
Views
1664 views
File comment
FastDoom CGA 512 colors Doom intro
File license
CC-BY-4.0
fastdoom_512_2.png
Filename
fastdoom_512_2.png
File size
300.68 KiB
Views
1664 views
File comment
FastDoom CGA 512 colors Doom ingame
File license
CC-BY-4.0

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

Reply 552 of 985, by VileR

User metadata
Rank l33t
Rank
l33t

Hah, nice - should be fun to see which IBM CGA model (old vs. new) produces more suitable colors for the Doom palette. Perhaps it's even possible to 'cheat' a bit by modifying the target Doom palette so it matches up better with these colors.

On real hardware it can be difficult to get reliable color output in this 'mode'... that's why 8088 MPH has a calibration screen to tweak various CGA settings and see what works best. In practice, I think we've found that maximizing the hsync width (to 0xF) gives the most consistent results, so that might be a good idea here as well.

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 554 of 985, by appiah4

User metadata
Rank l33t++
Rank
l33t++
ViTi95 wrote on 2022-11-18, 01:15:

Thanks to VileR I've been able to create a new mode for IBM CGA cards: the 512 color composite mode (80x100). Still haven't tested on a real CGA card with composite output, but this is how it looks on DosBox-Staging. The resolution is too low, but OMG those colors... still can't believe this is what a CGA card can do.

fastdoom_512_1.pngfastdoom_512_2.png

Funny how it looks both instantly recognizable and completely unplayable at the same time 🤣

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 555 of 985, by ViTi95

User metadata
Rank Member
Rank
Member
VileR wrote on 2022-11-18, 10:08:

Hah, nice - should be fun to see which IBM CGA model (old vs. new) produces more suitable colors for the Doom palette. Perhaps it's even possible to 'cheat' a bit by modifying the target Doom palette so it matches up better with these colors.

On real hardware it can be difficult to get reliable color output in this 'mode'... that's why 8088 MPH has a calibration screen to tweak various CGA settings and see what works best. In practice, I think we've found that maximizing the hsync width (to 0xF) gives the most consistent results, so that might be a good idea here as well.

Here are two captures for the new IBM CGA models on the same emulator. Looks like those fit better for Doom than the older ones. Still have to try on real hardware, don't know why but my card won't output composite signal (no signal at all even on other modes), I have to investigate why.

I'm pretty sure optimizing the PLAYPAL + COLORMAP could get even better results on both types of cards.

fastdoom_512_3.png
Filename
fastdoom_512_3.png
File size
346.47 KiB
Views
1503 views
File comment
FastDoom CGA 512 colors new model Doom intro
File license
CC-BY-4.0
fastdoom_512_4.png
Filename
fastdoom_512_4.png
File size
337.02 KiB
Views
1503 views
File comment
FastDoom CGA 512 colors new model Doom ingame
File license
CC-BY-4.0

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

Reply 556 of 985, by Tronix

User metadata
Rank Member
Rank
Member
maxtherabbit wrote on 2022-11-02, 12:25:

SF2 support would be amazing though

There is nothing difficult in SF2 support, it is enough just to replace the SBK pawe32.lib library from the Creative development kit with another one with SF2 support. I even tried this and it works without breaking existing code or breaking sounds.

But there is another problem - what should users of AWE32/SB16 cards without built-in memory, such as ct3670, do? In the case of SBK pawe32.lib, if the sound card does not have enough memory for the sound bank, it simply switches to using the built-in sound bank in ROM memory. In the case of the SF2 pawe32 library, it does not allow you to switch to built-in samples.

Therefore, it seems to me that the only way out of this situation is to have two sets of all * .EXE files in FastDoom distributive - one set with SBK support and the second set with SF2 support, so as not to offend users with AWE sound cards without built-in memory. How rational that would be, I don't know.

https://github.com/Tronix286/

Reply 557 of 985, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Tronix wrote on 2022-11-18, 19:04:
There is nothing difficult in SF2 support, it is enough just to replace the SBK pawe32.lib library from the Creative development […]
Show full quote
maxtherabbit wrote on 2022-11-02, 12:25:

SF2 support would be amazing though

There is nothing difficult in SF2 support, it is enough just to replace the SBK pawe32.lib library from the Creative development kit with another one with SF2 support. I even tried this and it works without breaking existing code or breaking sounds.

But there is another problem - what should users of AWE32/SB16 cards without built-in memory, such as ct3670, do? In the case of SBK pawe32.lib, if the sound card does not have enough memory for the sound bank, it simply switches to using the built-in sound bank in ROM memory. In the case of the SF2 pawe32 library, it does not allow you to switch to built-in samples.

Therefore, it seems to me that the only way out of this situation is to have two sets of all * .EXE files in FastDoom distributive - one set with SBK support and the second set with SF2 support, so as not to offend users with AWE sound cards without built-in memory. How rational that would be, I don't know.

Seems quite rational to me, considering there are already separate binaries for every video mode imaginable.

Reply 558 of 985, by ViTi95

User metadata
Rank Member
Rank
Member
maxtherabbit wrote on 2022-11-18, 19:18:
Tronix wrote on 2022-11-18, 19:04:
maxtherabbit wrote on 2022-11-02, 12:25:

SF2 support would be amazing though

...

Seems quite rational to me, considering there are already separate binaries for every video mode imaginable.

I'm still looking for a way to dynamically link code on runtime, in order to reduce the number of executables and reduce the executable size itself as much as possible. For example sound code is big and integrated into the executables, even though not all sound cards are used at the same time.

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

Reply 559 of 985, by theelf

User metadata
Rank Oldbie
Rank
Oldbie
ViTi95 wrote on 2020-06-23, 23:06:
Hi everyone!! […]
Show full quote

Hi everyone!!

I'm happy to announce FastDoom for DOS, a port of Doom based on PCDoom by @nukeykt. The goal of this port is to make it as fast as posible for 386/486 personal computers. It includes code from other ports as Crispy Doom, MBF and Russian Doom, as well the original PSX and Jaguar Doom ports, so I send kudos to them.

The main differences between the original Doom and FastDoom are these (as of version 0.4):

  • Added FPS ingame viewer. Enabled with "-fps"
  • Added FPS calculation after timedemo runs
  • Added option to render visplanes (ceiling and floors) without textures. Enable with "-flatsurfaces"
  • Added option to render Spectres and invisible objects like real transparent objects (harder to see, a little faster to render). Enable with "-flatshadows"
  • Added option to render sky as a flat fixed color. Enable with "-flatsky"
  • Added option to render Spectre and invisible objects like the Sega Saturn port did. Enable with "-saturn"
  • New option to show only objects that are not far away from the player. All the enemies are still rendered as they're important. Enabled with "-near"
  • PC Speaker uses all sounds available (just for fun!)
  • Lot's of optimizations to make the game run faster / smoother
  • Removed low memory limit (may cause crashes with low RAM)
  • NEW DETAIL LEVEL: POTATO. It renders the full scene with a quarter width resolution (max 80x200). 16-bit ISA video cards can play the game full screen much better!! My Western Digital Paradise PVGA1A ISA (1989) can render the game at a constant >25 fps with a 486DX-50. Enabled with "-potato" command parameter and low detail selected
  • New option to allow more than 8Mb of memory allocation. Enabled with "-ram"
  • Removed network gaming support
  • Removed joystick support
  • Removed Y mouse movement (move forward/backwards)
  • Added autorun support (F11 key).
  • Added mono sound support. Enabled with "-mono" parameter.
  • Added low quality sound support (8000Hz instead of 11025Hz). Enabled with "-lowsound" parameter.
  • Replaced DOS/4GW with DOS/32A providing a good speedup!
  • Removed gamma correction support

The source code is located at https://github.com/viti95/FastDoom and you can download the latest executables here https://github.com/viti95/FastDoom/releases

Here it's a live demo I recorded in one of my test benchs (Intel 486DX-33, WD Paradise PVGA1A ISA, Aztech AZT2320 ISA)
https://www.youtube.com/watch?v=vJWtdZHjjKY

Feel free to send any suggestion or ideas to make this port even faster!

BTW my English is a work in progress 😅

Hi, i want to say thank you ViTi95 for your great work

In my 486DX4 75mhz i get some extra fps that i really appreciate

One think will be amazing, i dont know how difficult will be to implement is AudioCD. If i dont remember bad, Ultimate Doom soundtrack is something like 50-55min longer and Doom 2 70-75, perfect to fit in a cdrom