VOGONS


Reply 660 of 686, by zyga64

User metadata
Rank Member
Rank
Member

Ok. I think I found a bug.

In my i486DX33 computer I have two soundcards:
- Primax Ultasound M-16B (Gravis Ultrasound Classic compatible)
- Aztech MMPRO16 (SoundBlaster Pro 2.0 compatible with real OPL3).
Both cards are detected correctly by GLXPlay

1. When line out of Aztech is connected to line-in of Primax:
- Primax (Gravis) as output - everything is OK
- SoundBlaster as output - silence (Gravis line-in is automatically muted when program starts ? It is not muted outside)
- again Gravis as output - sound is distorted

2. When line out of Primax is connected to line-in of Aztech:
- Primax (Gravis) as output - sound is distorted
- SoundBlaster as output - everything is OK
- again Gravis as output - everything is OK

Isn't it strange ?

[edit]
Ok. I probably found source of distortions.
When you check [x] Stereo checkbox for SB Pro/16/AWE - automatically [x] Interwawe checkbox is checking for Gravis Ultrasound.

1) VLSI SCAMP /286@20 /4MB /TVGA9000C /CMI8330
2) i420EX /486DX33 /16MB /TGUI9440 /YMF718+GUS
3) i430HX /P233MMX /64MB /VirgeDX+3DFX /YMF701
4) i440BX /P II 400 /128MB /MX440SE /SBLive!+Vibra16s
5) i865G /E5800 /2GB /Ti4200 /YMF724

Reply 663 of 686, by FreddyV

User metadata
Rank Member
Rank
Member

Hi,

Here is the Beta 26:

27/01/2021 Beta 26
- Tandy Pause bug removed (IT was not working)
- Tandy Audio detection improved.
- Mod Master XT is now in Light Version by default: "Useless" File format removed : 669, STM, FAR, DTM, MTM and ULT
- modm.exe is the "Light" Version, modmf.exe the Full Version with all the format.
- DOSMID Used for Midi replay with the -noxms -mpu command line arguments. (Can't load >30Kb MIDI File with 512Kb memory)
-> Place DOSMID.EXE in the same folder as Mod Master

https://freddyv.over-blog.com/

Attachments

  • Filename
    MODMXT26.zip
    File size
    152.88 KiB
    Downloads
    26 downloads
    File license
    Public domain

Reply 665 of 686, by root42

User metadata
Rank Oldbie
Rank
Oldbie

I used b26 on my livestream last Friday. It worked fine on the Snark Barker. Didn't have the GUSas in the machine, so I will have to test that later.
You forgot to update the version. 😉 It still says b25...

YouTube and Bonus
80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & GUSar Lite, PC MIDI Card+X2+SC55+MT32, OSSC

Reply 667 of 686, by zyga64

User metadata
Rank Member
Rank
Member
FreddyV wrote on 2021-02-04, 12:45:

Zyga, try the new version and delete the modmxt.cfg dile

I changed from Aztech to Yamaha YMF718 - this card is more compatible with GUS, than Aztech.
For example after installing GUS drivers, in Copper demo OPL3 on Aztech is no longer detected. This is not the case for Yamaha.
...but, YMF718 is also SBPro compatible, so my problems with ModMaster are were valid.

What happens after upgrade to Beta 26 ?
After change from SB to Gravis - there is no distortion at all ! With both - 'full' and 'lite' versions.
However in the moment of choosing sound card I can see [x] Interwave checked, but when changing back to SB - selection is cleared.
The side effect is - if I want to play on SB in stereo again - I have to check stereo again 😀
But this is less annoying than unchecking Interwave to not get distortion...

However, GUS line-in is still muted.
... but this is not big problem for me, I can connect cards in opposite way and Yamaha mixer is generally less picky than Gravis one.
One day I will buy external mixer...

1) VLSI SCAMP /286@20 /4MB /TVGA9000C /CMI8330
2) i420EX /486DX33 /16MB /TGUI9440 /YMF718+GUS
3) i430HX /P233MMX /64MB /VirgeDX+3DFX /YMF701
4) i440BX /P II 400 /128MB /MX440SE /SBLive!+Vibra16s
5) i865G /E5800 /2GB /Ti4200 /YMF724

Reply 668 of 686, by FreddyV

User metadata
Rank Member
Rank
Member

Try Delete modmxt.cfg
I removed the interwave option init code, so this should not happen... strange

When we use a sound blaster card with a GUS, we need to use ULTRINIT to disable the OPL Port emulation in the GUS.
Otherwise, they are detection problems.
I did not find how to do this (Disable the OPL Port in the GUS) This is not documented.

Reply 669 of 686, by radiance32

User metadata
Rank Newbie
Rank
Newbie

Hi all! and especially FreddyV! 😀

It's the new guy with the HP200LX videos again 😀

This is a nifty bit of software, much better than GLX imo...

I tried GLX first (found it online with a google search),
and it worked but was unstable, it would hang/lock up halfway during playback and at other seemingly random moments...
It played the MODS, but there was no display as the interface does'nt support CGA graphics...

Then, I found this thread and I downloaded the latest beta 26, and it's WAY better 😉

I've uploaded 2 videos to youtube of Mod Master playing two 4 track MOD files,
using a parallel port PCMCIA card and a Serdaco CVX4 Covox-clone,
i've attached the links to the youtube videos to this post.

I soldered a 32MHz oscillator crystal in this unit,
so the Hornet SOC's CPU (80186) is running at 16MHz, twice as fast as a stock ~7.91MHz 200LX.

I've got a stable playback of 4 channel MOD files at 28KHz 8-bit mono...
I've tried 30Khz but that's just a tad too much and the audio starts to stutter...
For 8 bit audio, it sounds pretty good, somewhat comparable to regular audio cassettte 😉

It's a real drain on the batteries though, the doublespeed CPU, the optical serial mouse AND
the CVX4 are all powered from the 200LX's main 2 AA batteries,
and with this setup I reckon the batteries drain at 3x to 4x the normal speed...

Anyways, If I load a bunch of MODs on my 200LX, i'll have a "27 year old MP3 player-like device" that fits in your pocket...
(if you have very large pockets that is, with the parallel cable and CVX4 and all 😀 )

Hope you like the videos, I just downloaded a few random MOD files,
if you have any really good ones, please post a link so I can listen 😀

Here are the youtube videos of Mod Master in action!:

hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAgcAkiy0gtc38vYi6fzeq-CF1i9Q
https://www.youtube.com/watch?v=mOjwy-1CLC4
Mod Master playing a Drum & Bass mod file I found online on the CVX4...

hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBCqpRHyoU68aBEuy3RqikmDrf6lw
https://www.youtube.com/watch?v=zJ0IVZ9FOkE
Mod Master playing a techno mod file I found online on the CVX4...

Cheers,
Terrence

FEATURE SUGGESTION!: It would be really handy if you could create a pure monochrome UI option,
with inverted black/white as an additional option, as I've got issues
reading some parts of the text in different colours on the monochrome CGA graphics,
and I have to switch from 2 to 4 greys and invert the display at times to be able to read certain things...
I think this might also be of benefit to many users who use old hercules (with CGA emulation) graphics PCs,
or old portable computers with LCD panels that work inverted or convert the CGA colours to 1 or 2 bit greyscale...

Reply 670 of 686, by radiance32

User metadata
Rank Newbie
Rank
Newbie

Hi everyone,

Since I was'nt very happy with the sound quality (having the camera's microphone record the audio from 2 tiny speakers),
I re-recorded both MODs with the CVX4 connected to the line-in of a PC, then edited the videos and replaced the poor audio with the clean line-in source version.

Sounds much better! 😀
Here the are:

mqdefault_6s.webp?du=3000&sqp=CJPQloEG&rs=AOn4CLANLvGfh6fjs-FzNeP93ZpumTVp4g
https://www.youtube.com/watch?v=HGxO2fZ6aHM
Updated video: Mod Master playing a Drum & Bass mod file I found online on the CVX4 recorded directly via line-in on PC.

hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCE6MrDEDYYdYN3TpUl9h477YI92g
https://www.youtube.com/watch?v=z8T5SJJIuoc
Updated video: Mod Master playing a techno mod file I found online on the CVX4 recorded directly via line-in on PC.

Cheers!,
Terrence

Reply 671 of 686, by zyga64

User metadata
Rank Member
Rank
Member

Hi Terrence ! Listening to your recordings, I have the impression that the processor may not be able to cope at certain moments. Maybe lower the mixing speed a little?
Try this module: 3d demo tune(mf) I have listened to it countless times. I will tell you for sure 😀

BTW. Nice little machine !

1) VLSI SCAMP /286@20 /4MB /TVGA9000C /CMI8330
2) i420EX /486DX33 /16MB /TGUI9440 /YMF718+GUS
3) i430HX /P233MMX /64MB /VirgeDX+3DFX /YMF701
4) i440BX /P II 400 /128MB /MX440SE /SBLive!+Vibra16s
5) i865G /E5800 /2GB /Ti4200 /YMF724

Reply 672 of 686, by radiance32

User metadata
Rank Newbie
Rank
Newbie
zyga64 wrote on 2021-02-12, 06:38:

Hi Terrence ! Listening to your recordings, I have the impression that the processor may not be able to cope at certain moments. Maybe lower the mixing speed a little?
Try this module: 3d demo tune(mf) I have listened to it countless times. I will tell you for sure 😀

BTW. Nice little machine !

Hi zyga64,

Yeah, I was already aware of this, 99% of the time the CPU can keep up,
but at a few times (twice in the techno song and once in the d&b song, I think) when there's a climax and all samples play together,
the CPU can't cope for a few hundred milliseconds and you get that clipping sound...
I knew if I lowered the KHz from 28 to 25 or 24 it would not do the clipping, but at the same time I was trying to get the highest sound quality possible,
so it's a bit of a tradeoff and I tried to find a KHz rate that would be "acceptable" from both points of view...

I take my hat off to you all here for this piece of software though, it works REALLY well and I am thoroughly impressed,
I never thought that the little intel hornet SOC in the unit with its 80186 core could handle the sampling, mixing, UI updates (the channel volume bars/indicators etc...) and driving the COVOX at 28KHz all at the same time 😀
Its amazing mod master is able to pull this off, you must have some really good knowledge of coding efficient assembly language 😀

FreddyV,
Is it written completely in assembly or are you using a language like C or Pascal, maybe with some inline or linked in assembly for the critical parts like the sampling and mixing?
Have you considered making it open source and putting the source code on GitHub or something so others can submit updates, new features and speed improvements?

finally, as I mentioned before it would be really handy if you could add an option to make the UI fully monochrome, as I've got difficulties seeing everything on the HP200LX, even when inverting and switching from 1bit to 2bit greyscale with the key combinations you see me do at the beginning of the video after firing up a MOD from the file browser part of the UI. I think it would be of use not just for 200lx machines, but for many other people using old machines with monochrome graphics or CGA on a monochrome LCD like in those old Amstrad portables or old Compaq laptops and many other portable LCD based machines from the '80s and early '90s... I now it's probably not a small job to pull off, but I think it would be of use to many people 😀

Cheers,
Terrence

Last edited by radiance32 on 2021-02-14, 04:10. Edited 1 time in total.

Reply 673 of 686, by radiance32

User metadata
Rank Newbie
Rank
Newbie
FreddyV wrote on 2019-04-08, 12:06:
Hi, […]
Show full quote

Hi,

I Just finished to downgrade the code of my .MOD Player to run on a 8086 CPU in CGA.

Currently, it can Mix 4 Channels at 22KHz and 8 at 10KHz. I still can optimize it, I was focussed on having it working 😀

Mod Master play .MOD, .STM, .S3M files (and various other 4 Channels format)

I can't release it for now, I need to correct some bugs and I would like to optimize it a little.

If there are some MOD players expert around, I also developed USMPlay in 1997. 😎

https://www.youtube.com/watch?v=s_4U_h4bSqw

Last Release Available : Beta 21, Page 32 ( November 20, 2020)

FreddyV

Hi,

I was wondering if you could use the following information to optimize your mod master player for 80186 CPUs ?
I'm just quoting from wikipedia:
"The initial clock rate of the 80186 was 6 MHz, but due to more hardware available for the microcode to use, especially for address calculation, many individual instructions ran faster than on an 8086 at the same clock frequency. For instance, the common register+immediate[5] addressing mode was significantly faster than on the 8086, especially when a memory location was both (one of the) operand(s) and the destination. Multiply and divide also showed great improvement being several times as fast as on the original 8086 and multi-bit shifts were done almost four times as quickly as in the 8086.

A few new instructions were introduced with the 80186 (referred to as the 8086-2 instruction set in some datasheets): enter/leave (replacing several instructions when handling stack frames), pusha/popa (push/pop all general registers), bound (check array index against bounds), and ins/outs (input/output of string). A useful immediate mode was added for the push, imul, and multi-bit shift instructions. These instructions were also included in the contemporary 80286 and in successor chips. (The instruction set of the 80286 is superset of the 80186's, plus new instructions for Protected mode.)"

It might be worthwhile to add some code that detects if the CPU is a 80186, and if so, you could use the extra instructions added and especially the multi-bit shifts in your sound sampling/mixing engine...
I'm not very knowledgeable about x86 assembly programming, but I use bitshifts a lot in my C/C++ programs for multiplication and division of powers of 2 (when working with old compilers that don't optimize a multiplication or division of a power of 2 automatically), and it helps a lot... I write 3D raytracing software for a living so I do a lot of performance optimizations in C and C++, so if you can try to maximize the use of bitshifts (which would make things faster on ANY CPU anyway), on a 80186 you should see a significant speedup for those instructions...
But, since it's already such an efficient piece of software, I'm sure you've already made optimizations like this... but the extra 80186 instructions could be useful 😀

Hope this help in any way,
Thanks again for a great piece of software!

Terrence

Reply 674 of 686, by FreddyV

User metadata
Rank Member
Rank
Member

Hi Radiance24,

Nice to see Mod Master working on a a so small 8086

I connected there to share my latest Video:
https://www.youtube.com/watch?v=-3_ojYCcozs

It is a Tandy 1000 TL/2 Doing a Duo with an Amiga 500

Mod Master is done un Turbo pascal for the initialaisation, interface, memory management and file loading.
Then, of course, 100% Assembly for the replay

I Worked in a Sound Library version of Mod Master for game development, I may publish this one day.

Regarding the 80186 Optimization, we can't find a faster mixing method than what I use, as MUL is really to slow, even on 80286 and can't beat a volume table 😀

You can try an OPLLPT Card as Well, it should work.

Unfortunately, I don't buy the all the xxxLPT that are relased, Sercado may think about me a offer me some 😜

Reply 675 of 686, by radiance32

User metadata
Rank Newbie
Rank
Newbie
FreddyV wrote on 2021-02-20, 15:30:
Hi Radiance24, […]
Show full quote

Hi Radiance24,

Nice to see Mod Master working on a a so small 8086

I connected there to share my latest Video:
https://www.youtube.com/watch?v=-3_ojYCcozs

It is a Tandy 1000 TL/2 Doing a Duo with an Amiga 500

Mod Master is done un Turbo pascal for the initialaisation, interface, memory management and file loading.
Then, of course, 100% Assembly for the replay

I Worked in a Sound Library version of Mod Master for game development, I may publish this one day.

Regarding the 80186 Optimization, we can't find a faster mixing method than what I use, as MUL is really to slow, even on 80286 and can't beat a volume table 😀

You can try an OPLLPT Card as Well, it should work.

Unfortunately, I don't buy the all the xxxLPT that are relased, Sercado may think about me a offer me some 😜

So your user interface, while the music is playing (with all the sound meter bars for the channels and all the activity on the screen when you press the F1, F2, F3 etc... keys on the playback screen) is all written in turbo pascal ?
If so, you might want to modify this part of your UI to run in heavily optimized assembly language as every cpu cycle lost on UI screen updates from turbo pascal code is a cycle your music engine could use...

I haven't tried it with my OPL3LPT, i'll give it a go soon, but I expect it will sound pretty bad as you won't have your samples, just FM synthesis, or are you using some kind of hack to make the OPL chip do low-q digital audio (I did'nt know this was possible, if it's the case, but I don't think so)...

Thanks for replying, and keep up the good work, you're doing great! 😀
Terrence

Terrence

Reply 676 of 686, by FreddyV

User metadata
Rank Member
Rank
Member

Hi,

The Display during the replay is in Assembly as well.

Anyway, as everything work based on interrupts, the audio mixing has the priority. It has no impact on the sound calculation

The OPLLPT is used for the adlib music only, not .MOD

Reply 677 of 686, by radiance32

User metadata
Rank Newbie
Rank
Newbie
FreddyV wrote on 2021-02-21, 21:50:
Hi, […]
Show full quote

Hi,

The Display during the replay is in Assembly as well.

Anyway, as everything work based on interrupts, the audio mixing has the priority. It has no impact on the sound calculation

The OPLLPT is used for the adlib music only, not .MOD

Hi, again FreddyV,

That's interesting, I was not aware there was an adlib/OPL2/OPL3 specific music file format out there,
and that Mod Master XT supports playing it! 😀
What's it called (the file extension name) so I can go google and see if I can find some music in it to try out 😀

Have you thought about making a page using one of the function keys, eg, an unused one,
to make a display that's entirely static, eg, it just shows the statistics of the MOD file in question,
but after displaying the initial screen with the MOD information, there are no UI updates,
so all the CPU power is devoted to the sound engine...
Or does mod master already have this functionality somewhere by pressing a key ???
If not, it might be a useful feature for those of us who are trying to squeeze the last drop of KHz/quality from a MOD file playing 😀

Also, did you read my previous post which asked about adding an option to make the user interface pure monochrome?
The issue is that I have serious difficulty reading some of the text on my LCD on my 200LX,
and I think many other users with other brand/type of palmtops or early laptops and luggables, or, people using monochrome monitors with CGA will have the same issues...
It would be really handy if there were a pure "monochrome UI" option...

Thanks again for your time and replies,
and keep up the good work, you're doing an amazing job,
your software is amongst my favourite software installed on my palmtop (amongst hundreds of other apps),
and it's performance beats everything else out there 😀

Cheers!,
Terrence

Reply 678 of 686, by radiance32

User metadata
Rank Newbie
Rank
Newbie
FreddyV wrote on 2021-02-21, 21:50:
Hi, […]
Show full quote

Hi,

The Display during the replay is in Assembly as well.

Anyway, as everything work based on interrupts, the audio mixing has the priority. It has no impact on the sound calculation

The OPLLPT is used for the adlib music only, not .MOD

Hi FreddyV,

I am really good at user interface design, I've designed quite a few interfaces for several applications,
and I'm really good at designing graphical user interfaces pixel by pixel in photoshop.
See the attached image of my Psion publishing application I'm developing as a side-hobby at the moment.
I designed everything myself pixel by pixel in photoshop using only 3 colours, black, grey and white, as the Psion Series 3 only has
a 1bit mono plane and a 1 bit grey plane in front of it.

tt.png
Filename
tt.png
File size
7.11 KiB
Views
139 views
File license
CC-BY-4.0

Please note that the screenshot attached is not final, and I've still got to tweak a lot to make it look even better, this is just a couple of hours of photoshopping work,
before I cut it up and loaded all the parts into my C app I'm developing... I designed everything, all the widgets etc... as the Series 3 is a keyboard-only palmtop,
and my app is mouse-driven (with a serial mouse attached with a null modem adapter to the Series 3 RS-232 comms link cable), so I had to design the sprites for the mouse pointers etc too...

If you want, I would be interested in designing a graphical user interface for the non-audio-player part (or both if you want), that's really neat, and, with versions for any kind of graphics system,
so it would run on ANY hardware, for example, I could make versions for:
* CGA 620x200 mono (with normal aspect ratio for 4:3 CRT monitors, and a version with wide-screen aspect ratio for systems with wide-screen LCDs like HP DOS Palmtops and many other brands/types of similar systems)
* Hercules 720x348 mono
* EGA 640x350 4-bit 16 colors
* VGA 640x480 8-bit 256 colors

I can also design and supply a set of graphical mouse pointers...

and, anything else you would want to support...
I would just supply you with the photoshop mockups, so you can cut out the parts you need and use those to build the functional UI,
or, I could cut them out for you and give them to you as a bunch of small files.

Let me know if you're interested, I'm happy to contribute to this 😀

Cheers,
Terrence

Reply 679 of 686, by FreddyV

User metadata
Rank Member
Rank
Member

Hi,

You can find the file format list in the doc, and I did youtube video on this.
Basically it can play
.RAD (Reality adlib dracker)
.DRO : Dosbox capture
.IMF : Apogee
.VGM, .S3M, .SAT, and others.

Do a graphic interface is not needed and will use too many memory, Mod Master start to be too big already due to a too big usage of Turbo Pascal 😀