Ouchface
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Chocolate Doom
Pages (46): « First ... « 26 27 28 [29] 30 31 32 » ... Last »  
Author
All times are GMT. The time now is 13:30. Post New Thread    Post A Reply
entryway
Forum Staple


Posts: 2522
Registered: 01-04



fraggle said:
bumping the optimisation level to -O3 on compile might be enough to get it at an acceptable speed.

"-O3" is not safe, at least with GCC 4.x. In case of PrBoom-Plus and Windows, GCC 4.1.x with "-O3" switch generates wrong EXE, it will crash somewhere sometime

Old Post 09-07-09 13:06 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5904
Registered: 07-00



Mike.Reiner said:


Switching back to DirectX, the timedemo barely managed to keep 30+ fps.

Well then, this is resolved. I just need to run in Windows GDI rather than DirectX. Sweet.

Does it stutter when the screen "flashes", like when you pick up items or are injured? If so, it could be the SDL palette freeze bug that can be fixed with an updated dll.


entryway said:

"-O3" is not safe, at least with GCC 4.x. In case of PrBoom-Plus and Windows, GCC 4.1.x with "-O3" switch generates wrong EXE, it will crash somewhere sometime


Rather surprising I must say. I have optimisation at level 2 as it doesn't break debugging. It must be a bug in recent versions of gcc.

Old Post 09-07-09 13:11 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Mike.Reiner
Forum Regular


Posts: 943
Registered: 01-05



fraggle said:
Does it stutter when the screen "flashes", like when you pick up items or are injured? If so, it could be the SDL palette freeze bug that can be fixed with an updated dll.


No, not necessarily. It stutters just moving around, even on MAP01 without provoking enemies.

Old Post 09-07-09 13:14 #
Mike.Reiner is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Super Jamie
Forum Staple


Posts: 2664
Registered: 03-08



fraggle said:
What you describe isn't actually that implausible though. You can already use Timidity as an ALSA MIDI sink in the same way.

Anything's do-able I guess. If I had even the faintest idea of how to code in C beyond "What is your name? Hello <name>" I'd have tried to do it myself. Maybe one day.

That's one thing I've never been able to understand. If you're using OPL3 hardware to playing the Doom songs with Doom's OPL3 instrument files, how come it doesn't sound like Doom? MUS Play under DOS is the same, even on actual SB16 with YMF262.

Old Post 09-07-09 13:16 #
Super Jamie is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5904
Registered: 07-00



Super Jamie said:

That's one thing I've never been able to understand. If you're using OPL3 hardware to playing the Doom songs with Doom's OPL3 instrument files, how come it doesn't sound like Doom? MUS Play under DOS is the same, even on actual SB16 with YMF262.

The thing to understand is that the OPL isn't a "MIDI chip". It doesn't do hardware MIDI. All it provides is 11 voices, which are essentially just like synthesizers with knobs that you can twiddle. If you want to play a MIDI file, you set the knobs to the right values and it makes sounds that correspond to the notes you want to play.

The OPL patches in the GENMIDI lump make up the majority of what those knobs need to be set to, but not all of them. For example, what frequency register values should be used for each of the MIDI notes? The documentation I read says this:
code:
In octave 4, the F-number values for the chromatic scale and their corresponding frequencies would be: F Number Frequency Note 16B 277.2 C# 181 293.7 D 198 311.1 D# 1B0 329.6 E 1CA 349.2 F 1E5 370.0 F# 202 392.0 G 220 415.3 G# 241 440.0 A 263 466.2 A# 287 493.9 B 2AE 523.3 C


Doom uses this (compare with "F number"):

code:
0x204, 0x223, 0x244, 0x266, 0x28b, 0x2b1, 0x2da, 0x306, 0x334, 0x365, 0x398, 0x3cf,


Note frequencies are probably the main thing, but other things that are pretty arbitrary include the volume level to use, pitch bend, how to behave when you run out of voices, etc. MUSlib, the library used by NWT and CDoom, sounds almost exactly like Doom, probably because it uses the same note frequencies, but I've heard things even with that which don't quite match up.

To summarise, to get a source port to do OPL playback like Vanilla Doom, you have to (1) use Doom's GENMIDI patches, (2) program the OPL in exactly the same way as Doom, (3) use a real hardware OPL or an accurate OPL emulator.

Old Post 09-07-09 13:35 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
hexacorde
Registered just to make one post


Posts: 1
Registered: 09-09


Hi fraggle,


fraggle said:
For example, what frequency register values should be used for each of the MIDI notes?



As you may have seen, for each frequency there are several pairs of Fnumbers and Blocks that approximates that frequency.
Typically, the combination that gives you the best approximation for a frequency is when you have the highest Fnumber and the lowest Block for that frequency.

If you follow this rule, your Fnumber will have always the highest bit set to 1, unless you are in Block 0. Thats the reason why the NTS register has the obscure option of, by default, using the 2nd bit to split the opl3 "octave" in two.



Doom uses this (compare with "F number"):

code:
0x204, 0x223, 0x244, 0x266, 0x28b, 0x2b1, 0x2da, 0x306, 0x334, 0x365, 0x398, 0x3cf,




As you see, every Fnumber in the Doom code has the MSB=1.



Note frequencies are probably the main thing, but other things that are pretty arbitrary include the volume level to use, pitch bend, how to behave when you run out of voices, etc. MUSlib, the library used by NWT and CDoom, sounds almost exactly like Doom, probably because it uses the same note frequencies, but I've heard things even with that which don't quite match up.



Perhaps you could use the dosbox opl capture option to generate .dro files for the opl register writes, and them match these with the MIDI events in the source.

Old Post 09-08-09 04:28 #
hexacorde is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5904
Registered: 07-00



hexacorde said:
Perhaps you could use the dosbox opl capture option to generate .dro files for the opl register writes, and them match these with the MIDI events in the source.

Yep, that's exactly what I've been doing. In fact that's where the values from the previous post came from. Things are slightly more complicated because of pitch bend, so there are 32 frequencies per note (allows bend over up to 2 semitones in either direction with a 0-127 range value). At the weekend I managed to identify the frequency lookup table in the Vanilla exe, which I've extracted and am now using (E1M8 sounds a lot better now :-)

Interesting, though. Thanks.

Old Post 09-08-09 09:58 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
mammajamma
Junior Member


Posts: 212
Registered: 08-09


I was wondering, how far along are you on the raven-branch? Also, is it playable in its current state?

Old Post 09-20-09 21:30 #
mammajamma is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
HackNeyed
Member


Posts: 380
Registered: 08-04



mammajamma said:
I was wondering, how far along are you on the raven-branch? Also, is it playable in its current state?

Far and Yes

Old Post 09-20-09 23:55 #
HackNeyed is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
mammajamma
Junior Member


Posts: 212
Registered: 08-09


Thanks for the heads-up. Hasn't been updated since July though. I assume fraggle is focusing on OPL-branch right now?

Thanks.
\/ \/ \/

Last edited by mammajamma on 09-22-09 at 00:25

Old Post 09-21-09 21:28 #
mammajamma is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
exp(x)


Posts: 2226
Registered: 04-04


Yeah, you can follow recent work here or here.

Old Post 09-21-09 22:00 #
exp(x) is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5904
Registered: 07-00


Just a quick note, the OPL code now has a native backend for Win9x, so if any of you have an old ("vintage") machine with an Adlib-compatible sound card running Windows 95 or 98, give it a try! I've tested it in a Win95 virtual machine with Qemu but haven't tried it with real hardware yet.

The MIDI playback code still isn't perfect yet, so expect a few oddities, although most of it is right now. The guitar solo in the MAP01 music is pretty screwed up, among other things.

Old Post 10-01-09 01:29 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
myk
webbed digits


Posts: 14316
Registered: 04-02



fraggle said:
Just a quick note, the OPL code now has a native backend for Win9x, so if any of you have an old ("vintage") machine with an Adlib-compatible sound card running Windows 95 or 98, give it a try! I've tested it in a Win95 virtual machine with Qemu but haven't tried it with real hardware yet.
It all seems in order except one tiny thing; when you quit Chocolate Doom a humming sound remains from the last note. It can be killed by restarting the engine or any engine that resorts to the OPL chip, such as vanilla. In stderr.txt the message Unknown MIDI controller type: 10 appears multiple times.

Remember when you made a change to facilitate Windows 9x support, to the affinity mask thing? It didn't really change things, as far as I know. The terminations still occur. They seem to happen in specific levels and locations, so it may be possible to see why they happen. Another thing that affects Windows 9x, at least on my system, is that turning seems choppier than in other engines.

Old Post 10-01-09 07:51 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5904
Registered: 07-00


The unknown MIDI controller messages are harmless and only there fore my own debugging; I'll make sure to fix the hanging note though :-)

The affinity mask code is to work around an SDL bug on multicore CPUs, but I had to apply a fix for Win9x because it used API functions that are only available on NT, so the game wouldn't start. So if the game is starting up okay and not displaying an error message, that's all working fine. What do you mean by terminations? First I've heard of this.

Old Post 10-01-09 09:40 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
myk
webbed digits


Posts: 14316
Registered: 04-02


Chocolate Doom just quits. I'm pretty certain it's never happened in some levels, like Map01 and E1M1, but in others, such as Dwango5 Map01, it'll happen at one point or another. In cliff.wad, I've detected a place where it always happens. When you open the door facing the plasma gun secret and go into the cavern-like areas. I think this issue has been in Chocolate Doom since the earliest versions I've tried.

Old Post 10-01-09 10:07 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5904
Registered: 07-00


When you find bugs like this, can you please add a bug in the tracker? It's really frustrating to hear that bugs like this exist and nobody ever told me about it.

Old Post 10-01-09 12:21 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Rohit_N
Mini-Member


Posts: 75
Registered: 10-09


Just tried the latest OPL release. Holy crap, the Doom title music sounds exactly as I remembered it.

Stupid question, but will the final version support OPL for the Raven games? Heretic E1M5 still sounds like crap.

Old Post 10-01-09 18:02 #
Rohit_N is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5904
Registered: 07-00


Eventually, raven-branch and opl-branch will be merged back to trunk and it will all be united. How are you listening to Heretic E1M5?

Old Post 10-02-09 00:17 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Rohit_N
Mini-Member


Posts: 75
Registered: 10-09


With Chocolate Doom raven-branch. I actually tried placing chocolate-heretic.exe in the folder of the OPL branch, but it still played the "normal" music.

E2M1 also sounds terrible.

Old Post 10-02-09 01:09 #
Rohit_N is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5904
Registered: 07-00



Rohit_N said:
With Chocolate Doom raven-branch. I actually tried placing chocolate-heretic.exe in the folder of the OPL branch, but it still played the "normal" music.

Yeah, that won't work :-)


E2M1 also sounds terrible.
If you're using the standard Windows MIDI playback, you could also try setting up timidity.

Old Post 10-02-09 01:27 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
mammajamma
Junior Member


Posts: 212
Registered: 08-09


Why is there no PC speaker option for OPL-branch?

Also, how can you install timidity on windows? It seems to be Linux/UNIX only.

Old Post 10-03-09 20:38 #
mammajamma is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
MP2E
Junior Member


Posts: 107
Registered: 09-07



mammajamma said:
Why is there no PC speaker option for OPL-branch?

Also, how can you install timidity on windows? It seems to be Linux/UNIX only.


Dunno about the first, but here's a tutorial that details installing Timidity++ in Windows:
http://skulltag.com/forum/viewtopic.php?f=43&t=19600

Old Post 10-03-09 20:45 #
MP2E is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
myk
webbed digits


Posts: 14316
Registered: 04-02



mammajamma said:
Also, how can you install timidity on windows?
See this post. By patches it means something like this.

Old Post 10-03-09 20:49 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
MP2E
Junior Member


Posts: 107
Registered: 09-07


I compiled Chocolate-doom svn 1704 from the trunk and tried running it, but music won't work for some reason. The error it gives me is this :
Error loading midi: /etc/timidity++/timidity.cfg: line 30: syntax error

Here is line 30 of the timidity.cfg in question:
soundfont /usr/share/soundfonts/fluidr3/FluidR3GM.SF2

I see nothing wrong with that line, and everything else seems to work(ZDoom midi works fine through timidity)

Old Post 10-03-09 21:15 #
MP2E is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Gez
Why don't I have a custom title by now?!


Posts: 6458
Registered: 07-07



mammajamma said:
Why is there no PC speaker option for OPL-branch?

Heh.

Seriously, what would be the point of using the OPL branch if all you have is a PC speaker? And what's the point of choosing to use PC speakers if you want the OPL branch rather than the trunk?

Old Post 10-03-09 21:25 #
Gez is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
myk
webbed digits


Posts: 14316
Registered: 04-02



MP2E said:
I see nothing wrong with that line,
Try commenting it and enabling sndfont.cfg instead and linking to the SF2 from there. I think that extra CFG would go with the patches.

Old Post 10-03-09 21:34 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
chungy
Doomworld is so about bullshit excuses


Posts: 1324
Registered: 06-05



Gez said:

Seriously, what would be the point of using the OPL branch if all you have is a PC speaker? And what's the point of choosing to use PC speakers if you want the OPL branch rather than the trunk?


Does anybody these days *just* have a PC speaker? With most motherboards having onboard sound that's far superior to 1990s sound cards, especially OEM computers, the PC speaker option is more of a novelty than anything...

As for the second question, it's a good point, but I can imagine fraggle would reimplement it, as both opl-branch and raven-branch will one day be merged into trunk...

Old Post 10-03-09 21:51 #
chungy is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
myk
webbed digits


Posts: 14316
Registered: 04-02



MikeRS said:
the PC speaker option is more of a novelty than anything...
An antique, you mean :p

(My system has one, but it's an old computer.)

Old Post 10-03-09 22:00 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Super Moderator


Posts: 5904
Registered: 07-00



mammajamma said:
Why is there no PC speaker option for OPL-branch?
I assume you mean using PC speaker and OPL together?

It's a subtlety of the way that the software emulation works. You can't use software emulated PC speaker and software emulated OPL together. They both set an SDL post-mix callback to do the emulation, so if you have both on at once, the OPL emulation overrides the PC speaker one.

I did know of this bug but I was waiting to see if anyone would notice or care :-)

EDIT: SDL_mixer has a separate callback specifically for music playback, so I've fixed it to use that instead. Thanks!

Old Post 10-03-09 22:47 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
mammajamma
Junior Member


Posts: 212
Registered: 08-09



fraggle said:

It's a subtlety of the way that the software emulation works. You can't use software emulated PC speaker and software emulated OPL together. They both set an SDL post-mix callback to do the emulation, so if you have both on at once, the OPL emulation overrides the PC speaker one.

I did know of this bug but I was waiting to see if anyone would notice or care :-) [/B]


I see... In that case are there any sound replacement WADs that contain close 8-bit/2600-sounding versions of the original sounds (or emulations of the PC speaker sound), or programs that can convert WAV files into more of an 8-bit sound?

Old Post 10-03-09 23:45 #
mammajamma is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 13:30. Post New Thread    Post A Reply
Pages (46): « First ... « 26 27 28 [29] 30 31 32 » ... Last »  
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Chocolate Doom

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Forums Directory