VOGONS


Reply 20 of 36, by shoyoninja

User metadata
Rank Newbie
Rank
Newbie
mattw wrote on 2023-10-24, 00:35:
shoyoninja wrote on 2023-10-23, 23:48:

... Though you are correct that in the configuration tool the option I called Game is called "Multimedia Mode".

Also both chips are operating as audio devices on both of these modes...

I took the names from the Linux open-source driver. Anyway, it doesn't matter exactly the names, most important is that there are 2 modes and what those modes mean. So, at least in Linux, maybe I am misunderstanding the code, but it seems to me Multimedia/Gaming mode in that mode all is just (the ESS chip + ES1918 AC97 codec). However, in Windows it could be different. I am attaching the Linux open-source code in case more people want to review it and tell their opinion.

Yes it just doesn't have a very strong standard hehe.

On the linux drivers, I believe that a possible solution is on the maxiinit part of the implementation, the command line tool that initializes the card.

My hope right now is that when you restart to dos the outputs are only muted but the firmware remains in memory. If so, using just the last bit of his code in maxiinit to unmute the card should work...

Reply 21 of 36, by shoyoninja

User metadata
Rank Newbie
Rank
Newbie

Just updating... I got some very early results cross compiling the initializer tool from the linux drivers using DJGPP... It throws some errors but the card is now giving audio output in Real Dos if I boot to windows, restart in DOS, use it with the MM firmware (run:maxinit pci64.bin) and then initialize the maestro chipset, only the volume is super low, I presume it´s loading some default settings from the firmware (its not keeping the windows levels at all), and there is no midi.

A few paths I see:
- dumping the firmware state from windows, and then loading it.
- going through alsa drivers and implementing a mixer
- figuring a way to prevent the card from resetting on windows shutdown (that would be so much simpler).

Any ideas are welcome, I am uploading the current state of this thing, keep in mind it´s probably still very broken, if your PC explodes don´t blame me (but it should not and I would like to know how it goes on other systems).

If you decide to try it, be sure to up the levels of the Maestro with sbmix or similar, and crank up the volume on your amplifier system.

Attachments

  • Filename
    maxinit.7z
    File size
    349.7 KiB
    Downloads
    30 downloads
    File comment
    Very, very early DOS initializer
    File license
    GPL-2.0-or-later

Reply 22 of 36, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
shoyoninja wrote on 2023-10-27, 19:16:

A few paths I see:
- dumping the firmware state from windows, and then loading it.

the Linux ALSA driver author Pieter Palmers was using special tool he developed called "bochs-spy" ("bochs-2.0.1-spy.tar.gz" and "pcidrv-0.1.tar.gz") for the BOCHS virtual machine and to spy what Windows driver is doing. Unfortunately, those files did not survive the time and are not archived (they were on sourceforge.net project page) - it seems Archive.org back then was not archiving *.tar.gz files and hence also my problem from here:

Re: linux.terratec.de mirror anyone?

which unfortunately lead to a lot of stuff be lost forever now.

So, I am attaching, the only survived piece the readme file: "README-bochs-spy "

maybe, there is a modern replacement for that "bochs-spy" he made or maybe Pieter Palmers is still around and we can find way to contact him and ask him if he still has the files.

Attachments

  • Filename
    README-bochs-spy.txt
    File size
    12.47 KiB
    Downloads
    33 downloads
    File comment
    bochs-spy readme
    File license
    Public domain

Reply 23 of 36, by Pierre32

User metadata
Rank Oldbie
Rank
Oldbie

Fascinating to watch, and I'm cheering you on. I have a lot of stuff in storage at the moment, but at some point I will dig out my card to help with testing.

Reply 24 of 36, by shoyoninja

User metadata
Rank Newbie
Rank
Newbie
mattw wrote on 2023-10-27, 19:34:
the Linux ALSA driver author Pieter Palmers was using special tool he developed called "bochs-spy" ("bochs-2.0.1-spy.tar.gz" and […]
Show full quote
shoyoninja wrote on 2023-10-27, 19:16:

A few paths I see:
- dumping the firmware state from windows, and then loading it.

the Linux ALSA driver author Pieter Palmers was using special tool he developed called "bochs-spy" ("bochs-2.0.1-spy.tar.gz" and "pcidrv-0.1.tar.gz") for the BOCHS virtual machine and to spy what Windows driver is doing. Unfortunately, those files did not survive the time and are not archived (they were on sourceforge.net project page) - it seems Archive.org back then was not archiving *.tar.gz files and hence also my problem from here:

Re: linux.terratec.de mirror anyone?

which unfortunately lead to a lot of stuff be lost forever now.

So, I am attaching, the only survived piece the readme file: "README-bochs-spy "

maybe, there is a modern replacement for that "bochs-spy" he made or maybe Pieter Palmers is still around and we can find way to contact him and ask him if he still has the files.

Ahhh so much info gone, that readme helped me understand the pci config bytes thanks!

I found a copy of the programing ref for the 9407, very helpful since they should be nearly the same.

But its complex as hell. Its actually a 3 sided problem, the mixing settings for example are on the codec chip and you access it through the Maestro? not sure yet.

But I am very sure the Maestro output is routed through the 9707 now, btw using the Studio firmware I got nearly decent levels (maxinit isis.bin). Now the problem is the Maestro quiet FM , it should be fixable though...

Reply 25 of 36, by shoyoninja

User metadata
Rank Newbie
Rank
Newbie

Doing some research, these are the relevant manuals I found. The one I named Maestro 2em is actually the manual for the solution which the Maestro 2EM is part of, a sound+modem+codec solution, apparently Guillemot hacked this to produce the ISIS sticking the 9707 in place of the modem?. Also, the 9407 prog ref... Ideally the 9707 reference would be nice, but I could not find it, only the specs/datasheet (which says they are interchangeable...).

I will see if I can control the codec with this. Does anyone have info on why the Maestro 2 mixer FM channel on SBPRO mode does not work properly?

Attachments

  • Filename
    Manuals.7z
    File size
    1.08 MiB
    Downloads
    35 downloads
    File comment
    Manuals for the Isis Chips
    File license
    Fair use/fair dealing exception

Reply 26 of 36, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
shoyoninja wrote on 2023-10-28, 18:29:

The one I named Maestro 2em is actually the manual for the solution which the Maestro 2EM is part of, a sound+modem+codec solution

yep, I guess "M" comes from Modem and essentially it's "Maestro-2E" part plus the PCI-to-ISA bridge needed for the Modem part, which is called by them (I mean by ESS): "IDMA-port". That's why I suggest to look "Maestro-2E" datasheet as best source of information regarding anything Audio, Mixer, etc related. also, as far as the "IDMA-port" is concerned - besides the datasheet you found it's documented in "Maestro-2M" datasheet, but "Maestro-2M" is different than "Maestro-2E" when it comes to audio things. I am attaching for you "Maestro-2E" and ES1918 datasheet from my personal archives. BTW, since you're doing basically new DOS init tool - consider adding DDMA support (it's supported by the ESS "Maestro-2E"), some information here:

DDMA and PCPCI for Low IQ Individuals (Me included)

I can help you with the DDMA support, I guess, but it should be very easy - basically setting few registers.

shoyoninja wrote on 2023-10-28, 18:29:

Also, the 9407 prog ref... Ideally the 9707 reference would be nice, but I could not find it, only the specs/datasheet (which says they are interchangeable...)

don't worry about that, because the difference is really minor between SAM9407 and SAM9707 and I can fully explain it to you. So, SAM9707 can read ADC input on its GPIO pins P1, P2 and P3. that's why SAM9707 has 8 input channels (i.e. ADC connected to them), but 9407 has only 2 input channels.

Attachments

  • Filename
    ES1918.rar
    File size
    1.56 MiB
    Downloads
    39 downloads
    File comment
    ESS ES1918 datasheet archived from ESS FTP server before it was shutdown
    File license
    Public domain
  • Filename
    Maestro2E.zip
    File size
    539.13 KiB
    Downloads
    33 downloads
    File comment
    ESS Maestro-2E datasheet archived from ESS FTP server before it was shutdown
    File license
    Public domain
Last edited by mattw on 2023-10-30, 21:19. Edited 1 time in total.

Reply 27 of 36, by DerBaum

User metadata
Rank Oldbie
Rank
Oldbie

While googling i found this information... maybe its of interest :

The ES1978MS was also used in a combination audio+modem device - in these uses, the "Maestro-2EM" is a combination of the ES1978 Maestro-2MS audio chipset and ES56CVM-PI modem in a single package

Found here:
https://dosdays.co.uk/topics/Manufacturers/ess.php

FCKGW-RHQQ2

Reply 28 of 36, by shoyoninja

User metadata
Rank Newbie
Rank
Newbie
mattw wrote on 2023-10-30, 20:34:
yep, I guess "M" comes from Modem and essentially it's "Maestro-2E" part plus the PCI-to-ISA bridge needed for the Modem part, w […]
Show full quote
shoyoninja wrote on 2023-10-28, 18:29:

The one I named Maestro 2em is actually the manual for the solution which the Maestro 2EM is part of, a sound+modem+codec solution

yep, I guess "M" comes from Modem and essentially it's "Maestro-2E" part plus the PCI-to-ISA bridge needed for the Modem part, which is called by them (I mean by ESS): "IDMA-port". That's why I suggest to look "Maestro-2E" datasheet as best source of information regarding anything Audio, Mixer, etc related. also, as far as the "IDMA-port" is concerned - besides the datasheet you found it's documented in "Maestro-2M" datasheet, but "Maestro-2M" is different than "Maestro-2E" when it comes to audio things. I am attaching for you "Maestro-2E" and ES1918 datasheet from my personal archives. BTW, since you're doing basically new DOS init tool - consider adding DDMA support (it's supported by the ESS "Maestro-2E"), some information here:

DDMA and PCPCI for Low IQ Individuals (Me included)

I can help you with the DDMA support, I guess, but it should be very easy - basically setting few registers.

shoyoninja wrote on 2023-10-28, 18:29:

Also, the 9407 prog ref... Ideally the 9707 reference would be nice, but I could not find it, only the specs/datasheet (which says they are interchangeable...)

don't worry about that, because the difference is really minor between SAM9407 and SAM9707 and I can fully explain it to you. So, SAM9707 can read ADC input on its GPIO pins P1, P2 and P3. that's why SAM9707 has 8 input channels (i.e. ADC connected to them), but 9407 has only 2 input channels.

Thank you! There is a bit more of detail on the mixer controls, and also I found an error on the readme Pieter wrote on Bochs, minor but it was puzzling me, Read and Write codec operation is reverse on his example... I am able to control and set Codec levels from DOS now, but they were all set all the way up already and the FM Synth has no independent channel on the mixer.

It seens to be done internally on the Maestro Legacy Emulation.

On that note, I think I found out why Real DOS sounds and behaves different from the Windows BOX. Apparently, the VXD drivers on Windows are not using the legacy audio hardware implementation, rather they are emulating SBPRO using Windows audio. And there is certainly a different behaviour on the SB mixer registers. I am not sure if it's possible to go around it, if not, turning up FM synth on Real DOS might be just broken... Which is still fixable if I can control the main output level.

I am still trying to figure out how the audio is mixed on the 9707, I Believe it must be on the hardware otherwise I would have no output on Real DOS using just that init tool, but I still didn't quite got to it...

Reply 29 of 36, by shoyoninja

User metadata
Rank Newbie
Rank
Newbie
DerBaum wrote on 2023-10-30, 21:12:
While googling i found this information... maybe its of interest : […]
Show full quote

While googling i found this information... maybe its of interest :

The ES1978MS was also used in a combination audio+modem device - in these uses, the "Maestro-2EM" is a combination of the ES1978 Maestro-2MS audio chipset and ES56CVM-PI modem in a single package

Found here:
https://dosdays.co.uk/topics/Manufacturers/ess.php

1978MS I will look into it, thank you!

Reply 30 of 36, by shoyoninja

User metadata
Rank Newbie
Rank
Newbie

Alright I got the basics going, here is a sample of the card working in Real DOS mode with decent levels and less noise:

https://voca.ro/12xVGThPOwql

Recorded on a UR44 Audio Interface.

The audio path is:

Maestro 2EM Legacy Audio -> Legacy Audio Mixer -> Codec 1 Analog Out -> Codec 2 Analog IN-> 9707 -> Effects -> Codec 2 Analog OUT.

So there is actually a line level signal routed inside the board, it's probably easy to mod it and add a jack for Maestro Line OUT.

I think it can be improved a ton since I could not figure out how to dial in the attenuation level of the input stage of the second Codec and I didn't turn off the effect processing on the 9707.

In short: This card requires gain staging to work properly 🤣, never imagined it.

And indeed the Windows DOS drivers deal with the mixer differently. On real dos setting the Master level on the SB Pro has no effect on the Codec output level. On windows it controls it directly.

I will put together a mixer, and I suspect it's possible to solve the issue of low/lowish levels on notebooks that use Maestro 2 with a tool to controls the codec output levels.

I will start working on a decent tool for the ISIS first, if anyone is up to it I will figure a way to share the code as I go on source forge, @mattw?

A good initializer and a mixer seem very possible.

Sound bank loading and wavetable... dunno it will depend on how the mpu port can be routed from the 9707 out. Maestro 2e has an alias setting for the mpu ports, if it works maybe its possible to use other tools to load the soundbank.

For a distant future, and skills I don't have, the 9707 has a mod player "side", I wonder if it's possible to have GUS music support on it?

Last edited by shoyoninja on 2023-11-03, 12:43. Edited 1 time in total.

Reply 31 of 36, by janih

User metadata
Rank Newbie
Rank
Newbie
shoyoninja wrote on 2023-11-02, 23:11:

Alright I got the basics going, here is a sample of the card working o Real DOS mode with decent levels and less noise:

https://voca.ro/12xVGThPOwql

Great work! I've been following this thread with interest. I also have a boxed Maxi Studio ISIS in storage. Maybe I will soon have to get that card out and test it 😀

Reply 32 of 36, by shoyoninja

User metadata
Rank Newbie
Rank
Newbie
janih wrote on 2023-11-03, 06:52:
shoyoninja wrote on 2023-11-02, 23:11:

Alright I got the basics going, here is a sample of the card working o Real DOS mode with decent levels and less noise:

https://voca.ro/12xVGThPOwql

Great work! I've been following this thread with interest. I also have a boxed Maxi Studio ISIS in storage. Maybe I will soon have to get that card out and test it 😀

Cool 😀 I think in a week or so I will have a better tool set and I will share it here.

Reply 33 of 36, by shoyoninja

User metadata
Rank Newbie
Rank
Newbie

Still pretty much a botched together initializer but it should:

Start up the Maestro and Codec.
Start up the SAM9707

Open all levels on the signal path and remove EQ settings.

How to use:
Boot into win9x
Restart into DOS
run maxinit pci64.bin (I did not test this version with isis.bin)

do not run maestro.com and/or icodec.com

Current issues:
For now, settings are hardwired to a220 i5 d1 p330, TDMA, no level control or equalizer setting. Will be done eventually but I am still ironing out the setup sequence.

The SBPRO mixer on the Maestro chip seems broken, I tried using the register map from the previous Solo chipset, it doesn´t work. The hardware registers are accepting the changes but it does not change sound output. The FM module seems hardwired to a given level, so the solution for now is setting it all to 9 on the SBPRO mixer, which levels out FM and PCM playback.

I could not find a way to route the midi port directly to the SAM9707, I think this will require some form of TSR on DOS, using an EMM to capture the port and trigger code to route it through the Maestro IDMA to the SAM9707. Another solution, and apparently much more simple too, is modding the card, the midi-in from the 9707 is disabled ( hardwired to +5v), removing the resistor that sets it to +5 and adding a jumper to the Maestro MPU-OUT could, in theory, enable wavetable synth on the SAM9707 when using the Maestro MPU port.

Any insights or suggestions on these problems are welcome 😀

Attachments

  • Filename
    maxinit.7z
    File size
    361.14 KiB
    Downloads
    32 downloads
    File comment
    Maxi Studio Isis Initializer
    File license
    GPL-2.0-or-later

Reply 35 of 36, by baracoota

User metadata
Rank Newbie
Rank
Newbie

I'm currently importing one of these from Canada! I made the decision to purchase the card based on the work being done here!!! I can't wait to mess around with these DOS drivers and can provide feedback if needed. Great work being done here. Thank you.

Reply 36 of 36, by makechu

User metadata
Rank Newbie
Rank
Newbie

Well, isn't this tragic that a card with reasonably good chips has been completely unnecessarily messed up by Guillemot so that it won't work properly in DOS...

I bought the ISIS card last year, and had to fix it for two days to get it to not crash all the time when trying to boot in to Windows 98 SE. There were broken traces, bad capacitors, a 3.3 V regulator near the connector was discolored due to overheating, and some traces had corrosion at the PCI-slot contacts right where the solder mask starts. Also, the audio jack connectors are somewhat bad quality, as it seems the plastic gives way and there is a small clip, between the metal outer ring and the plastic parts, that gets pushed in to the connector assembly shorting out everything... There are also a couple of resistors (L8 and L9) that act as fuses on the board, and at least the one near the case bracket seems to blow sometimes, based on the pictures I have seen of the card on the internet.

Very disappointing to find out after all the effort to fix the card, that the sound mixing is so badly screwed up that it is difficult to even get sound out of the card in DOS side. With the default drivers, I could not get sound from the card even in the Windows 98 SE DOS prompt! True shame as everything seems to work ok in the Windows side.

I'll definitely have to follow the progress here, and best of luck to shoyoninja and everyone else to find a way to get the card to work in DOS properly.