Giter VIP home page Giter VIP logo

pcdoom-v2's Issues

Other wrong startup messages

I found other differences between Doom 2 (alternative Final Doom executable) and PCDoom.

cfg is displayed instead of SB.

The other is status 0 10 0 0, I wonder what this means.

startup messages

PCDoom can't run with 4 mb of RAM

This bug isn't fixed in PCDoom-v2: nukeykt/pcdoom#4

The message will display unless I set memsize in DosBox to at least 5.

PCDoom-v2/i_ibm.c

Line 1212 in 5466256

if (heap < 0x180000)

Vanilla Doom doesn't display the "insufficient memory" message when memsize=4.

The mem command is DosBox may be useful if you want to do tests.

At 4mb, mem will display:
untitled

Memory read or write errors instead of visplane overflows

On Alien Vendetta MAP19, where you would get a visplane overflow with the original Doom 2 executable, you get memory read or sometimes memory write errors instead in PCDoom.

pcdoom illegal memory write-read instead of visplane overflow

Sometimes I get an overflow as high as 153 in Doom 2, but in PCDoom looks like the memory is trashed before the engine can do anything to detect the overflow.

When I got a memory write error, it was at address ffffffff. The screen can also be corrupted and it will appear as columns which are offset (vertically shifted). This always causes a lockup, which is not always immediate in the case where it's just reading memory.

PCDoom doesn't show that it's calling DMX_Init

PCDoom doesn't show that it's calling DMX_Init like the original doom2.exe.

dmxinit

Even though I tested with doom2.exe that comes with Doom 2: Hell on Earth, I can confirm that it's the same with Final Doom.

C only version

Would it be possible to add an option in the makefile to compile PCDoom v2 as C only, without any assembly? That way only Open Watcom would be needed and not tasm, as in PCDoom v1.

This would mean no joystick support and C versions of R_DrawColumn and R_DrawSpan (the ones from v1) surrounded by "#ifdef C_ONLY" when compiling with pure C, and probably adding back m_fixed.c.

Thanks.

Unable to build

i tried to build with DosBox, OpenWatcom and TASM5. I get a linking error message:

"Name must come first"

screen shot 2017-10-26 at 12 08 37 am

I suspect I don't have the right compiler/assembler. What version are needed?

Add PC Speaker support

In ASS, there is a way to play PC Speaker sounds from a MUSE format. It's in the source code file PCFX.C.

In Apogee games, the PC Speaker sounds were stored in an AudioT file. The sound data is stored in a format called Inverse Frequency Sound Format, which is the direct ancestor of Doom's PC Speaker sound format.

A document describing the reverse engineered PC Speaker sound format can be found here. All it needs is a conversion to the Inverse Frequency Sound Format before it's sent to ASS to be played.

Music problems

The music doesn't sound quite right (like some channels not playing, and the ones that play, sound different). You can test this hearing the music from the first demo in Vanilla and pcdoom. The music volume bar also doesn't seem to be working correctly (the music appears to start at full volume but the bar is at the middle, so when you move the bar, you notice a sudden drop of volume).

Weird sound with GUS as SFX device

When I select Gravis Ultra Sound in setup and play, then I can hear the sound being weird like if it was played twice almost over each other. It's like some echo.

Music volume is not set correctly

When playing with the release executable, I noticed that the music plays at the maximum volume although I set the music volume lower.

Here's my DEFAULT.CFG, you can see my SFX volume and music volume are very low. I tried with GUS and General Midi and I get the same bug. If I move the music slider in the F4 menu, then the music becomes played at the supposed volume. Maybe it's an initialisation problem which always set the music volume to an arbitrary value?

mouse_sensitivity		9
sfx_volume		2
music_volume		5
show_messages		1
key_right		77
key_left		75
key_up		17
key_down		31
key_strafeleft		30
key_straferight		32
key_fire		29
key_use		57
key_strafe		56
key_speed		54
use_mouse		1
mouseb_fire		0
mouseb_strafe		1
mouseb_forward		2
use_joystick		0
joyb_fire		0
joyb_strafe		1
joyb_use		3
joyb_speed		2
screenblocks		10
detaillevel		0
showmessages		1
comport		1
snd_channels		16
snd_musicdevice		5
snd_sfxdevice		3
snd_sbport		544
snd_sbirq		7
snd_sbdma		1
snd_mport		-1
usegamma		0
chatmacro0		"no macro"
chatmacro1		"no macro"
chatmacro2		"no macro"
chatmacro3		"no macro"
chatmacro4		"no macro"
chatmacro5		"no macro"
chatmacro6		"no macro"
chatmacro7		"no macro"
chatmacro8		"no macro"
chatmacro9		"no macro"
		0

Unable to run with shareware version.

Running PCDoom-v2 with doom1.wad doesn't work, the error message is:

W_GetNumForName: M_EPI4 not found!

Which refers to a lump the shareware doesn't have.

Starting with a demo doesn't crash:

C:\PCDOOM2>DOOM.EXE -timedemo demo1

Too large MUS files should cause memory errors

I got some MIDI files in a WAD and they get converted to MUS when playing Doom, so the music system plays them. If they are too large, they cause memory errors. A MUS file has a 64K limit.

PCDoom will play them without problem.

Warp through map01 to map09. https://ufile.io/4a5c9
Not every of them will cause errors because some are smaller than 64K.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.