VOGONS


First post, by keropi

User metadata
Rank l33t++
Rank
l33t++

Hello!

I am messing with a CS4237 soundcard but this being a newer chipset it has annoying PnP functions if it detects any kind of PnP BIOS. On the systems I tested bypassing PnP mode as described in the drivers does not work so I am looking for a more permanent way.
I downloaded gerwin's driver pack here: http://vogonsdrivers.com/getfile.php?fileid=925 which mentions this in resource.txt :

Resource data can be used to configure the Crystal codec for Plug and Play operation or to disable BIOS Plug and Play operation. […]
Show full quote

Resource data can be used to configure the Crystal codec for Plug and Play operation or to
disable BIOS Plug and Play operation. On the Utilities Disk, two batch files, PNP36.BAT
and NOPNP36.BAT can be found. Running these batch files will program the EEPROM
with data which enables or disables BIOS Plug & Play operation respectively.

so any idea where I can get these utility disks?
thanks! 😊

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 1 of 14, by weldum

User metadata
Rank Member
Rank
Member

what kind of problems do you have? i have that card and to me it works excellent even on a pcchips motherboard with vx pro II chipset.

DT: R7-5800X3D/R5-3600/R3-1200/P-G5400/FX-6100/i3-3225/P-8400/D-900/K6-2_550
LT: C-N2840/A64-TK57/N2600/N455/N270/C-ULV353/PM-1.7/P4-2.6/P133
TC: Esther-1000/Esther-400/Vortex86-366
Others: Drean C64c/Czerweny Spectrum 48k/Talent MSX DPC200/M512K/MP475

Reply 2 of 14, by keropi

User metadata
Rank l33t++
Rank
l33t++

on a pnp system there is no way to bypass pnp and use irq7 for example. Telling the driver to ignore pnp and use CS4232.INI just dsables all soundcard parts for me and does not work.

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 4 of 14, by keropi

User metadata
Rank l33t++
Rank
l33t++

no it's still the same deal and it's annoying...
it works OK with a non-pnp system though, you get to chose whatever you want....

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 5 of 14, by gerwin

User metadata
Rank l33t
Rank
l33t
keropi wrote:

on a pnp system there is no way to bypass pnp and use irq7 for example. Telling the driver to ignore pnp and use CS4232.INI just dsables all soundcard parts for me and does not work.

As my description for the package says: "...it allows one to change PnP IRQ affinity; from 5 to 7 for example.". I don't know how the disable PnP completely, Also I do no have a complete set of Crystal PnP tools. But changing the IRQ affinity worked well for me, and it seems to be the only way to adjust the IRQ configuration whilst retaining full DOS+Windows legacy functionality.

I am not at home to check, but IIRC one should upload an .asm file to the EEPROM containing this line for WSS/SB. (Read the EEPROM and dump the asm file first, to get a backup and a template to work with. )

DB      022H, 080H, 000H        ; IRQ: 7  Interrupt Select 0
Last edited by gerwin on 2018-09-19, 16:26. Edited 1 time in total.

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul

Reply 6 of 14, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Checking to see if I have a source for this once I am home.

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 7 of 14, by keropi

User metadata
Rank l33t++
Rank
l33t++

excellent thanks for the help guys
programming of this level is not something I really know - hardware on the other side is taken care of: eeprom is now socketed, modification made to allow programming and dump of the original data is already made 😀
I can post the decompiled .ASM of my card tomorrow .

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 8 of 14, by gerwin

User metadata
Rank l33t
Rank
l33t

You are not comfortable using resource.exe for EEPROM reading+writing? Well whatever works. 😀
Attached the two ASM files that I use with my Acer Magic S23 cards with CS4232 chip. The CSMODDED.ASM file is my basic mod to get the cards to request IRQ 7 instead of IRQ 5. The CS300H.ASM file is an additional modification I once did to get the MPU-401 interface to I/O 300h instead of 330h. Just as an example on how to change ASM files. (disclaimer: use at your own risk)

Attachments

  • Filename
    CS32_ASM.zip
    File size
    2.09 KiB
    Downloads
    72 downloads
    File license
    Fair use/fair dealing exception

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul

Reply 9 of 14, by keropi

User metadata
Rank l33t++
Rank
l33t++
gerwin wrote:

You are not comfortable using resource.exe for EEPROM reading+writing? Well whatever works. 😀

On my card write protection for the eeprom was enabled so I could only read it. So I mod the card to remove the write protection and also installed a socket - plus I made a proper dump of the data for backup reasons.
If something goes wrong with the eeprom then resource.exe is quite useless as it won't be able to find the IC's control port so you can't compile+burn the new data to get an operational card back. CS4237 won't work at all with a damaged or missing eeprom.

gerwin wrote:

Attached the two ASM files that I use with my Acer Magic S23 cards with CS4232 chip. The CSMODDED.ASM file is my basic mod to get the cards to request IRQ 7 instead of IRQ 5. The CS300H.ASM file is an additional modification I once did to get the MPU-401 interface to I/O 300h instead of 330h. Just as an example on how to change ASM files. (disclaimer: use at your own risk)

Thanks for that should come handy. But I really want to explore how to disable completely pnp that is a pita for a dos system as well... I have searched the cirus/crystal archives but I could not find anything relevant, did they sent so DEV pack to manufacturers or something? It seems we miss some stuff...

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 10 of 14, by darry

User metadata
Rank l33t++
Rank
l33t++

Found some CS4237 drivers with a PNP37.BAT which contains
resource /f=0x120 /r=pnp37.ini /e

which, if I understand correctly, compiles and writes EEPROM contents based on the pnp37.ini file .

NOPNP37.BAT, if it exists, (or NOPNP36.BAT) probably just uses a custom non PNP ini file .
Anyway editing this ini file would be an alternative to editing ASM files .

Options for resource.exe

resource /?

/<switch>=<parameter>

<switch> <parameter>

m Minimal IC checks (Disables IC Read Command)
a CONTROL Logical Device Address <Dec|Hex>
f Force CONTROL Logical Device Address <Dec|Hex>
p Disable PnP - Don't use PnP to find CONTROL port
d Display mode <on|off>
h Command line help - this screen (no parms)

r Read file <rFileName>
Example: Resource /r=typical.ini

w Write (rFileName) to <wFileName> and quit
Example: Resource /r=typical.ini /w=typical.asm

e Program EEPROM from (rFileName) and quit
Example: Resource /r=typical.ini /e

v Verify Command - Verify EEPROM against file
Example: Resource /r=typical.ini /v (EEPROM vs. file)

Attachments

  • Filename
    Crystal4237.zip
    File size
    759.43 KiB
    Downloads
    78 downloads
    File license
    Fair use/fair dealing exception

Reply 11 of 14, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Ok, so this post is going to contain technical documentation which I was able to dig up from a torrent that is a huge compilation of technical docs.

The ones that I cannot attach due to size I will upload to my Google Drive and post links. If the links ever stop working, PM me and I will put up new links.

List of tech docs - most are not available to download from here:
https://web.archive.org/web/19970607033023/ht … :80/prod/ma.htm

Filename
CS4237B.pdf
File size
1.17 MiB
Downloads
68 downloads
File license
Fair use/fair dealing exception

CRD423X7.PDF
https://drive.google.com/open?id=1_PjazvdcIjn … W3moB-rKrPAbfPI

All the Crystal docs I have:
https://drive.google.com/open?id=1aGc2jmYpwvV … f_0JqzFIyi_XnlC

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 12 of 14, by keropi

User metadata
Rank l33t++
Rank
l33t++

allright thanks for the extra info gerwin/darry/cyclone3d!
I think I found how PNP is disabled, at least on my system:
- edited PNP37.INI and changed this value: DataType = Hostload ; Eeprom (default), Hostload (default was Eeprom)
- added the /O option to CS4232C.EXE line in config.sys

Now I was able to use CS32CFG to manually assign resources, press save -> reboot and these changes took effect. Before this was not possible for me. Basically now the settings are stored in CS4232.INI and the init program uses them instead of the pnp eeprom values. Removing the /O option picks again the eeprom "best" preconfigured values.

Maybe this is because the system I use - it has an award pnp BIOS but there is no section in it to assign resources , the whole tab is missing. So that could be the reason I had so much trouble.

@cyclone3d
grabbed the whole crystal archive 😎 btw, also nice to see another groovymame fan! 😊

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 13 of 14, by gerwin

User metadata
Rank l33t
Rank
l33t
keropi wrote:
allright thanks for the extra info gerwin/darry/cyclone3d! I think I found how PNP is disabled, at least on my system: - edited […]
Show full quote

allright thanks for the extra info gerwin/darry/cyclone3d!
I think I found how PNP is disabled, at least on my system:
- edited PNP37.INI and changed this value: DataType = Hostload ; Eeprom (default), Hostload (default was Eeprom)
- added the /O option to CS4232C.EXE line in config.sys

Now I was able to use CS32CFG to manually assign resources, press save -> reboot and these changes took effect. Before this was not possible for me. Basically now the settings are stored in CS4232.INI and the init program uses them instead of the pnp eeprom values. Removing the /O option picks again the eeprom "best" preconfigured values.

Nice Find! Though, I remember Windows 9x SBPro emulation would not work well unless I use the command "cs4232c.exe /A /ccs4232.ini". Have you checked that part?

I did not know there were Crystal sound cards with locked EEPROMS. Can you maybe post a picture of the one you are working with.

In a Reveal driver package (13019106.zip) I found more extensive documentation on Resource.exe, though not for the latest version. It is attached.
.

Attachments

  • Filename
    resource.txt
    File size
    24.13 KiB
    Downloads
    78 downloads
    File comment
    RESOURCE.TXT 9/13/95
    File license
    Fair use/fair dealing exception

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul

Reply 14 of 14, by keropi

User metadata
Rank l33t++
Rank
l33t++
gerwin wrote:

Nice Find! Though, I remember Windows 9x SBPro emulation would not work well unless I use the command "cs4232c.exe /A /ccs4232.ini". Have you checked that part?

nope, I have not checked that, does it make sense in a pure DOS environment? I'll give it a shot anyways

gerwin wrote:

I did not know there were Crystal sound cards with locked EEPROMS. Can you maybe post a picture of the one you are working with.

sure, see the pic of the unmodified area:

Df9fFtal.png

R2 is connected to 5vdc and then goes to PIN7 of the eeprom, thus enabling it's write-protection mode. What I did was to remove R2 and connect with a solder blob the pcb jumper under it, this way PIN7 is connected to GND and you can fully manipulate it.

Here is the whole card, R2 is still soldered but not connected to PIN7 , just having it there for safekeeping 🤣

i1HmKZLl.jpg

gerwin wrote:

In a Reveal driver package (13019106.zip) I found more extensive documentation on Resource.exe, though not for the latest version. It is attached.
.

more docs is always welcome! 😊

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website