Reply 380 of 1201, by ViTi95
- Rank
- Oldbie
386SX wrote on 2021-12-07, 16:26:A question, considering the latest ISA cards already had the BitBLT engines and quite optimized for Win GUI where there's a huge improvement using those early accelerators, couldn't that engine be used somehow to offload some of the Doom gfx rendering calculations?
It's possible to use the BitBLT engines to accelerate the HUD and text messages drawing, but not for 3D acceleration. If the BitBLT supported scaling operations, it could be use to accelerate the 3D rendering. Some videocards also implemented more advance operations like line fill and patterned polygon fill. Those functions could be used to accelerate the flat visplane rendering, but this will require a custom build for each videocard, as those are non-standard and each manufacturer did implement them in different ways.
GigAHerZ wrote on 2021-12-08, 14:00:2.666
I really love the idea of Doom being 2.666D
0x90 wrote on 2021-12-08, 17:05:I converted (hand-conveted since I couldn't get some kind of automated tasm2nasm tool I found to work properly) linear.asm from […]
I converted (hand-conveted since I couldn't get some kind of automated tasm2nasm tool I found to work properly) linear.asm from TASM to NASM 2.1x.x compatible a few months ago, to cross-compile a quick hacky little Doom port for testing stuff w/o requiring any tools which don't run natively on my "work" laptop.
I could attempt to do the same for the other ASM files in this project. Interested? Or is TASM preferable for this project and the maintainers? Note that even the newest versions of NASM are still available for DOS so the ability to also build it on DOS wouldn't be lost.
For the same reason (easier cross-compiles) I think porting the SETUP program from Borland to 16-bit Watcom C would be good, but not sure if I personally want to attempt that...
edit: also, NASM can generate object files which are compatible with GNU tools (djgpp) which I don't think TASM can do, yet could be useful since gcc can optimize better than Open Watcom even for older CPUs (though certainly it can also be significantly slower and more memory hungry while compiling, if you're compiling on target hardware)
This is very interesting!! TASM is only used because planar.asm can only be compiled with the 3.1 version, also the Apogee Sound System also requires TASM to build it's ASM files. TASM is propietary software, which I don't really like to use. I've been looking to convert all the project to DJGPP (it's much much better optimizing code) but those TASM files need to be converted first.
I also want to remake the setup program from scratch, as it requires the Laughing Dog Screen Maker program to build the screens, and it's a big pain in the a** to use. But again, the main problem here is to have enough time available to do these things. If you want to port the ASM files to NASM it will very welcome.
EDIT:
I've been busy adding a custom palette for 16 color modes in VGA cards. This is a little example of the VGA 160x200 mode using an optimized palette. This will be used also for the text mode 80x50, and later i'll add a custom palette for EGA modes.
https://www.youtube.com/watch?v=viV7FdibWKE
EDIT 2:
I've been interviewed recently about FastDoom in the MS-DOS CLUB (spanish), you can listen the podcast here: https://msdos.club/ms-dos-club-vol-19-el-efec … stdoom-parte-1/ (minute 1:57:50 onwards)