VOGONS


Reply 160 of 476, by FreddyV

User metadata
Rank Member
Rank
Member

Hi,

Last Update, the PC Speaker code is Back, but there is the High frequency noise.
I took the init code from 8088MPH, and it is the same (Mine was more complexe, I don't remember why)
I optimized it a lot compare to my previous code, it can output at 11KHz on the Amstrad PC1640 (This is anyway useless, as the sound is really not good)

I added a Tandy DAC detection code.
I only need to know the I/O port to use (For Direct DAC) and the code for Direct DAC can be finished rapidly. (Did not start the DMA Mode)

I also speed up the Signed/Not signed conversion, this increase the speed more than the speed lost with 16Bit decimal precision.

Reply 161 of 476, by DevanWolf

User metadata
Rank Newbie
Rank
Newbie

There is a bug.
MODs with samples over length of 65535 are incorrect.
Here is an example, BINARY8C MED/MMD1 converted to MOD: 8 channel and 4 channel version.
And DOSBox doesn't recognize the Music folder in the A drive when it is ran in the C drive.
The tempo for 669s are supposed to be 78 not 80 and the vibrato effect should be a 2-note arpeggio like Composer 669 should do.

Attachments

  • Filename
    BINARY.ZIP
    File size
    288.74 KiB
    Downloads
    9 downloads
    File license
    Fair use/fair dealing exception

Reply 162 of 476, by FreddyV

User metadata
Rank Member
Rank
Member

Hi,

Thanks for your tests.

It is not a bug, it is implemented like this as 8086 are limited to segments of 64Kb.
To support it, it will reduce the mixing speed drastically, only for "Some" .MOD files.
I did not test but it is probably the same with GLX player.

669 and other strange format support may have been more or less broken with the code change I did for this XT Version, I have other priority for the moment.
(I did keep the format support to remind me I have to take a look of It One day)
I did put 80 because 125*32/50=80

Do you have Good / Complex .669 files so that I can test ?

Reply 163 of 476, by Scali

User metadata
Rank l33t
Rank
l33t
FreddyV wrote:

It is not a bug, it is implemented like this as 8086 are limited to segments of 64Kb.
To support it, it will reduce the mixing speed drastically, only for "Some" .MOD files.

You could work around that though, if you would sacrifice some quality.
You could resample these long samples, to make them fit in 64k.
The simplest way would be to just cut it in half, and reduce all pitches for that sample by half as well, to compensate.
A slightly more advanced approach would be to figure out the resampling factor to make it fit exactly in 64k, and then adjust all pitches by that factor.

All that can be done in the preprocessing stage (while loading samples and pattern data), so shouldn't affect any of the actual playback code or performance.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 164 of 476, by FreddyV

User metadata
Rank Member
Rank
Member

Hi Scali,

I know, but again, the work is big for really few modules needing it.

I prefere to work on OPL2/OPL3 Music, start to support .XM, Fix 669 and other format, Work on the "Channels reduction" Code to play 16+ channels music on 8086 and other ideas 😀
Somebody here has some Gravis Ultrasound not working on his 80286, I need to fix it.

And Work on this Mod Master XT 1.0 Official release.

Reply 165 of 476, by FreddyV

User metadata
Rank Member
Rank
Member

Hi, it is me again,

To explain why they were few news these Weeks, I worked on on a Retro Gaming and Retro Computing exhibition at the CERN Open Days.
It was this Week End, you can see 2 Videos on my Youtube Channel:

https://www.youtube.com/watch?v=9JGxwwr2jSE&t=1s
https://www.youtube.com/watch?v=SrsUUH3IfNw

I did show the Atari PC2 with the Gravis UltraSound, The one I explained what it is were impressed, the others did not understood what they were looking at.
Some asked me Is it a game ? 😀

Regards,
FreddyV

Reply 166 of 476, by Scali

User metadata
Rank l33t
Rank
l33t
FreddyV wrote:

I know, but again, the work is big for really few modules needing it.

I suppose in theory anyone could make a MOD preprocessor for that.
Adjust the samples and pitches, and write back to a new MOD file, then your player can play it as-is.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 167 of 476, by FreddyV

User metadata
Rank Member
Rank
Member
Scali wrote:

I suppose in theory anyone could make a MOD preprocessor for that.
Adjust the samples and pitches, and write back to a new MOD file, then your player can play it as-is.

Yes, good Idea

Reply 168 of 476, by DevanWolf

User metadata
Rank Newbie
Rank
Newbie
FreddyV wrote:
Hi, […]
Show full quote

Hi,

Thanks for your tests.

It is not a bug, it is implemented like this as 8086 are limited to segments of 64Kb.
To support it, it will reduce the mixing speed drastically, only for "Some" .MOD files.
I did not test but it is probably the same with GLX player.

669 and other strange format support may have been more or less broken with the code change I did for this XT Version, I have other priority for the moment.
(I did keep the format support to remind me I have to take a look of It One day)
I did put 80 because 125*32/50=80

Do you have Good / Complex .669 files so that I can test ?

Explanation: GLX reads samples above length of 65536 and trims it to 65535 (just ignoring the rest of the sample data) while the other samples remain the same to remain compatible correct playback, but in MOD Master, samples above length of 65536 are treated as 65535 instead of not being trimmed (e.g. data above 65536 from sample 1 is still played on sample 2) and the song plays wrongly with wrong sample byte starts. ST3, DMP, and MMP has the same problem.

A 669 with retrigger effect (Hx) is REM2.669 (remix-1.2 by JsNO that came with Unis669) is one only example, which is missing from the player and needs to be implemented.
DOCTORWH.669 (Doctor Who by AMc) plays at wrong speed in the middle pattern of the song. Composer 669, IT, etc. plays fine.
And S3Ms with 16-bit mono or 8-bit stereo sample data plays incorrectly as 8-bit mono only (like ST3 doesn't support it, but IT does)
I also made a cool S3M with piano only sample imported from a MIDI file.
Other MOD files I threw in just for the fun of it.

Attachments

  • Filename
    MOD For Review.zip
    File size
    4.46 MiB
    Downloads
    10 downloads
    File license
    Fair use/fair dealing exception

Reply 169 of 476, by FreddyV

User metadata
Rank Member
Rank
Member
DevanWolf wrote:

Explanation: GLX reads samples above length of 65536 and trims it to 65535 (just ignoring the rest of the sample data) while the other samples remain the same to remain compatible correct playback, but in MOD Master, samples above length of 65536 are treated as 65535 instead of not being trimmed (e.g. data above 65536 from sample 1 is still played on sample 2) and the song plays wrongly with wrong sample byte starts. ST3, DMP, and MMP has the same problem.

Ok so it is a Bug 😀 It is supposed to do the same

Edit:
- Long Sample in .MOD Corrected, It was not working at all for .MOD (I supposed I never listened a MOD File with big sample)
- Loading of the 3 Channel .MOD File corrected (Is bugged in FT2 as well) ^^
- 16b in S3M was not supported: Now your S3M with a 16b samples is Ok with the SB, but not yet with the gravis. (Truncated with the SB)
I can't support the Stereo samples, but will try to not load them....

Reply 170 of 476, by FreddyV

User metadata
Rank Member
Rank
Member

Hi,

Just to show that I am progressing, here are the current changes since the Release 9:
- Now work with Hercule (With some bugs) use the /H command line parameter to activate.
- Covox output working again, Set the Mixing speed to a correct value !
(Be carefull about the Files individual frequency)
- PC Speaker support is Back (And Much Faster)
- The Volume channel is no more used for .MOD Files (Pattern size reduced)
- Now use the Note instead of Period in the internal patterns (Pattern size reduced as well)
- Module time calculation removed, it takes really too many time on 8086 and it was finally useless as not correct 😀
- Small Mixing performance increase. (Buffer Signed to UnSigned conversion optimized)
- Up to 6 Octaves for .MOD Files, with default at 6.(Alvaro84, EHA-CH07.MOD)
- Arpeggio is Back and Corrected for LIVE.MOD (Trixter)
- Tested to work with DOPE.MOD, if the machine has 640Kb + UMB
- .MOD Files with Samples >64Kb are now loaded correctly (And Played on GUS) (DevanWolf)
- .S3M Files With 16Bit Samples are now Loaded correctly (DevanWolf)
- '3CHN' .MOD Files loading Corrected (DevanWolf)
- Tandy DAC Detection Added
- Display Screen added to show Up to 14 Channels (Press F4)

I Stil need 1 or 2 Days to test.

Reply 171 of 476, by root42

User metadata
Rank Oldbie
Rank
Oldbie
FreddyV wrote:

- Now work with Hercule (With some bugs) use the /H command line parameter to activate.

8CB0FE74-33E5-42EB-A879-567835C50D00.jpeg
Filename
8CB0FE74-33E5-42EB-A879-567835C50D00.jpeg
File size
110.85 KiB
Views
263 views
File license
Fair use/fair dealing exception

Kidding aside: Looking forward to testing out the next build!

YouTube and Bonus
80386DX@25 MHz, 8 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & BlasterBoard, PC MIDI Card + SC55 + MT32, XT CF Lite, OSSC

Reply 172 of 476, by MobyGamer

User metadata
Rank Member
Rank
Member
FreddyV wrote:
- Covox output working again, Set the Mixing speed to a correct value ! - PC Speaker support is Back (And Much Faster) - Arpegg […]
Show full quote

- Covox output working again, Set the Mixing speed to a correct value !
- PC Speaker support is Back (And Much Faster)
- Arpeggio is Back and Corrected for LIVE.MOD (Trixter)
- Display Screen added to show Up to 14 Channels (Press F4)

I look forward to testing 😀 I have kept my 8 MHz 8086 set up and ready just for this purpose.

Reply 173 of 476, by matze79

User metadata
Rank l33t
Rank
l33t

is it now possible to choose custom DAC Address ? 😁

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 174 of 476, by FreddyV

User metadata
Rank Member
Rank
Member

Custom DAC, not for the moment, To be added really soon. (Too lazy to do an Hexa String to Word code)
Is it for the Tandy DAC ? I can HardCode the @ you need for the moment.

Just tested on the Tandy 1000 EX, it is working with the PC Speaker at 7500Hz, 4 Channels. (I finally succeeded to add RAM in it)

Reply 175 of 476, by MobyGamer

User metadata
Rank Member
Rank
Member
FreddyV wrote:

(Too lazy to do an Hexa String to Word code)

Since I know your outer shell is Pascal:

Function HexStrToLong(s:string):longint;
{returns hexadecimal string as decimal value - very unoptimized routine!}
VAR
Len : byte absolute S;
Loop : byte;
Li : longint;
Num : longint;

BEGIN
{treat any leading characters in the string}
if S [1] = '$' then delete (S, 1, 1);
if upcase (S [Len]) = 'H' then dec (S [0]);
Num := 0;
for Loop := 1 to Len do begin
Li := 0;
while (HexNybble[Li] <> S [Loop]) and (Li < 16) do inc (Li); { inc counter }
if Li = 16 then begin
Num := -1; { -1 if invalid }
exit;
end;
Num := Num + Li shl ((Len - Loop) * 4); { add to Num }
end;
HexStrToLong := Num; { return value }
END;

Reply 176 of 476, by DevanWolf

User metadata
Rank Newbie
Rank
Newbie
FreddyV wrote:

- '3CHN' .MOD Files loading Corrected (DevanWolf)

Did you include 1CHN and 2CHN as well? Supporting xxCH more than 33 channels? And what about xxxC where value is 100-256 channels?
And remember you're supposed to release the new version to download.

And don't forget to record the video of all the MODs I sent to you!

Reply 177 of 476, by FreddyV

User metadata
Rank Member
Rank
Member

Lol

Yes the code read all the values, but with 1,2 or 3 at the begining it was expecting something like 10 to 32 channels.
No, no support for more than 32 (Does it exist ?) 😀

If you want to do Mod Master Videos, Go 😀

Freddy

Reply 178 of 476, by MobyGamer

User metadata
Rank Member
Rank
Member
DevanWolf wrote:

Did you include 1CHN and 2CHN as well? Supporting xxCH more than 33 channels? And what about xxxC where value is 100-256 channels?

Where are these format standards located? What trackers support and/or produce them?

And remember you're supposed to release the new version to download.
And don't forget to record the video of all the MODs I sent to you!

Dude, back off, let him write the software first...

Reply 179 of 476, by FreddyV

User metadata
Rank Member
Rank
Member

Hi,

Here is the release 10.
It contains all the cahnges listed some post before, plus these ones:
- .MTM Pattern loading Corrected
- Note Delay was no more working (Corrected)
- Custom DAC Added (Put the Custom DAC @ in the command line)

Sorry for the long delay between the versions. I still have plenty of things to add.

If you have nice .S3M files with 16bit samples, I would like to test.
I still need the I/O port for the Tandy DAC. If somebody can test on a Tandy DAC, please tell me (In I/O mode for the moment, not DMA)

FreddyV

Attachments

  • Filename
    MODMXT10.zip
    File size
    73.28 KiB
    Downloads
    28 downloads
    File license
    Fair use/fair dealing exception