Jump to content
MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. ×


  • Posts

  • Joined

  • Last visited

  • Days Won

  • Donations

  • Country


deomsh last won the day on June 2 2021

deomsh had the most liked content!

About deomsh

Profile Information

  • OS

Recent Profile Visitors

3,503 profile views

deomsh's Achievements



  1. Sorry, typo indeed, corrected in earlier post. 3GB should be MaxPhysPage=C0000
  2. No correction needed, you are right. I said earlier: each 10000 MaxPhysPage stands for 256MB Window's memory. I prefer memorizable and usable units And 3 x 4 x 10000 is C0000 in hex. One Page = 4KB https://wiki.preterhuman.net/Specifying_Amount_of_RAM_Available_to_Windows_Using_MaxPhysPage BTW 10000h x 4 =
  3. It's strange, but if it is working on your system... But 3GB is still C0000, so better use this value for MaxPhysPage. Maybe you can found *something* in the documentation of RLOEW's memory patch.
  4. If your system is okay with HDATSR.EXE and *some* MaxPhysPage setting, better use these settings together. I vaguely remember RLOEW said *somewhere* that occasionally a high setting of MaxPhysPage is needed with his memory patch. Of course you can stop experimenting at MaxPhysPage=80000, but it would of interest to the community to go as high as possible, so around max C0000 SystemReg=0 disables SCANREG.EXE during Windows' boot. See https://www.mdgx.com/msdos.htm
  5. Thanks for info. About SCANREG/ SCANREGW: if using experimental drivers in my experience it is important to add to MSDOS.SYS the line SystemReg=0 As you can see your new entries are overwritten by the TSR (line 'TSR=TSR Found' in HDACFG.INI !). So next try higher values of MaxPhysPage (WITH HDATSR.EXE active). Best start with MaxPhysPage=40000 and then always 10000 higher (10000=256MB), up to 3 x 40000 = C0000 in hex. Full reboot in between!
  6. Hmm This is a strange result, HDATSR.EXE should not be necessary with the trick described above. Can you please upload HDACFG.INI, so I can take a look what is going on? So your last working version WITH HDATSR.EXE. Thanks for mentioning ERUNT, I will search for this program for my WIN10 installation. I do no special things on WIN10, but I make periodically a sector-to-sector copy of my WIN10-disk (I gave up using bootmanagers - I use just F11, my BIOS key to select disks. If I experiment with WIN98SE, I even pull out the cable of my WIN10-disk). Further: which SCANREG-version was active? The MS-DOS or the Windows version?
  7. Dangerous experiments! Personally I always backup my entire Windows' folder, or at least system files with ERU (a tool included with Win95, I prefer this MS-tool above SCANREG - still available as ERUZIP.EXE). Removing HDATSR.EXE only means that the memory buffer needed by HDA2.DLL is not defined and not protected if Windows is started. In the link I gave you, the procedure for WinME is described. Actual RAM is not important, just the amount 'visible' to Windows, and the location of the buffer. Availaible Windows memory can be limited with MaxPhysPage in SYSTEM.INI, the location of the buffer with PCIHI/ PCILO in HDACFG.INI. In the sparse documentation of HDA2.DLL Watler, who programmed HDA2.DLL, used the phrase 'outside the reach of Windows ', if I remember well. I do not use WinME, the only instance of the procedure to relocate the buffer is described in the thread I linked to. So you can try first following: 1) Comment out HDATSR.EXE in AUTOEXEC.BAT 2) Add to SYSTEM.INI [386Enh] MaxPhysPage=3E6FF (if the entrance already exists with a higher value, change to 3E6FF. 3) Add to HDACFG.INI [BUSMASTER] myPCIHI=$3E82 myPCILO=$0000 myPCI=$3E820000 aPCIHI=$3E81 aPCILO=$0000 aPCI=$3E810000 BTW this will limit Windows' memory to a value just below 1GB. But if this approach is working on your system, I can make calculations for a value around 3GB.
  8. Looks like a memory issue. If you use Win98SE: did you use HDATSR.EXE in AUTOEXEC.BAT? If HDATSR gives no relief, or otherwise, you can mess around with MaxPhysPage in SYSTEM.INI and PCIHI/ PCILO entrances in HDACFG.INI, to give HDA2.DLL a few MB's not available to Windows BTW WITHOUT HDATSR this time. There is an (WinME-related) example in the thread, links below, based on 1GB max Windows' memory. https://msfn.org/board/topic/175104-windows-me-on-thinkpad-r60/?tab=comments#comment-1165076 If HDATSR is of no help, try II. If it's working we can always try to reach you max memory (if I remember well about 3GB with RLoew's patches)
  9. To disable MS-DOS' SCANREG.EXE the right entry in MSDOS.SYS should be SystemReg=0. See https://www.mdgx.com/98-1.htm Disabling auto-SCANDISK after improper shutdown with AutoScan=0 is a bad idea. MS-DOS' SCANDISK is your Best Friend (but like 'best friends' unexpected visits are not always appreciated). @schwups Are you sure you didn't mis-read winfaq? CHKDSK is not used in this case in Win9x. I don't expect because of your German....
  10. You can try FIND.EXE https://en.m.wikibooks.org/wiki/First_steps_towards_system_programming_under_MS-DOS_7/Selected_utilities
  11. Your welcome. If you are experiencing problems with 'choice', don't hesitate asking for help. I About the other Widget-values in HDACFG.INI: 1) you can try SleepingWiget=$01 and commenting out $00170500;Power up! to ;;$00170500;Power up! (or just deleting the whole line). But from earlier HDAICIN.TXT we saw: sent $001F0500; got $00000033 sent $00170500; got $00000000 sent $001F0500; got $00000000 AND sent $010F0500; got $00000033 sent $01070500; got $00000000 sent $010F0500; got $00000000 So Codec_Reset + setting the AFG-widget to full power has NO effect on power state of DAC0 (last '00' is highest power-state, '33' lowest power-state implemented for STAC9205). From the datasheet (p.40) it's not clear to me what 'referenced node' means, in this respect. Watler from 'Watlers World', the programmer of HDA2DLL, didn't include sending 'standard' $00170500. Although it's clearly needed in case of STAC9205. No offence to Watler of course, he did a great job! 2) OutputWidget=$10 is 'Good'. Overruled by Verbs in latest D830-version HDAICOUT.HDA anyway. 3) VolumeWidget=$10: needed for WAVEOUT.EXE, as found earlier. II About $00A70100;AC_VERB_Set_Connection_Select_Control AND $00D70100;AC_VERB_Set_Connection_Select_Control in HDAICOUT.HDA: I do not understand the 'why' of the 'black screen' you described. In earlier HDAICIN.TXT Verb 701 didn't change anything, so why it's needed in HDAICOUT.HDA? BTW relationship Codec <=> External Amplifier is not clear to me, maybe D830 'expects' *some* electrical output from the codec?
  12. Good. Strange about the need of having a jack plugged in during boot in this case. Good to know! Set Verb $00D70720 is the only way I saw with HDA2.DLL in combination with STAC9205. It's not an official way, just my 'hack'. I believe the only difference with the Set Verbs sent by HDA2.DLL as can be seen in HDACFG.INI is Set Verb $00170500;Power up! (apart form settings of $00A and $00D). This codec has only Power saving Verbs (in the playback-mode) for the DAC's and the main Audio Function Group (AFG) node $001. Maybe $00A70100 and $00D70100 can be commented out, Port A and Port D seems to be connected with DAC0 already after Codec_Reset. You can try. This will be the final working version of HDAICOUT.HDA in case of Dell D830 (probably D630 too), with VolumeWidget in HDACFG.INI set to $10 for use with WAVEOUT.EXE. I can't found anything that mutes the speaker after the headphone-jack is inserted (with this driver). It would be of interest what happens with the muted speaker while still in Windows if you change $00D70720 back to $00D70740 (RUN => Notepad HDAICOUT.HDA should work). Probably no difference? Otherwise you will have a choice before starting Windows. Can be easily automated in a batch-file or in AUTOEXEC.BAT with choice, or with menu's in CONFIG.SYS/ AUTOEXEC.BAT. With purpose to copy 'right' HDAICOUT.HDA to %windir% according to chosen speaker-mode.
  13. And if you go back to earlier version of HDAICOUT.HDA below (cleaned version of Saturday at 12:23 AM, but with $00D70720)? No need to edit HDACFG.INI again, widgets can stay on $10. Begin $0017FF00; CODEC RESET $0017FF00; CODEC RESET $00170500;Power up! End Begin $01070500;Power up! $01024011;AC_VERB_SET_Converter_FORMAT_44.1kHz_16-bits $01070610;AC_VERB_SET_CHANNEL_STREAMID_1 $0103907F;AC_VERB_SET_AMP_GAIN_MUTE;max_vol_right $0103A07F;AC_VERB_SET_AMP_GAIN_MUTE;max_vol_left End Begin $00A70100;AC_VERB_Set_Connection_Select_Control $00A70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable End Begin $00D70100;AC_VERB_Set_Connection_Select_Control $00D70720;AC_VERB_SET_PIN_WIDGET_CONTROL;in_enable ;;$00D70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable End If still everything muted, activate line with $00D70740 and comment-out ;;$00D70720 and report. No files needed.
  14. And if you comment out the two first Codec_Reset lines (;;$0017FF00)? If no difference, change $00D70720 back to $00D70740 and report (still with ;;$0017FF00 - two times!). There is no mute option for node $00D, that's why I changed direction to input (70720) to try if that has same result, instead of output as normally (707040)
  15. I ment two semi-colons to be sure ';;' Nevermind, one should work too. No further difference without CODEC_RESET. But headphone was detected on $00A with Verb F09: $FFFFFFFF instead $7FFFFFFF before. I found an electric diagram of Dell D830 (dell_latitude_d830_discrete_256mb_quanta_jm7b__100.pdf). It seems internal MonoOut is unused ($014 is unconnected) Instead LineOut (Port D = 0x00D) is wired to inputs of an External Stereo Amplifier. Headphone on Port A too. But there is some Sense A back-signaling. There are mute-possibilities too, but not directly (as you experienced already). Next is trying a minimal number of Set_Verbs and muting the Speaker. Please set all three Widget-entries in HDACFG.INI to $10 and try if Speaker is muted, while headphones are active. With following HDAICOUT.HDA Begin $0017FF00; CODEC RESET $0017FF00; CODEC RESET $001F0800;Get_Unsol_Resp End Begin $00AF0100;AC_VERB_Get_Connection_Select_Control $00A70100;AC_VERB_Set_Connection_Select_Control $00AF0100;AC_VERB_Get_Connection_Select_Control $00AF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00A70740;AC_VERB_SET_PIN_WIDGET_CONTROL;out_enable $00AF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00AF0900;Get_Pin_Sense; $00AF0800;Get_Unsol_Resp End Begin $00DF0100;AC_VERB_Get_Connection_Select_Control $00D70100;AC_VERB_Set_Connection_Select_Control $00DF0100;AC_VERB_Get_Connection_Select_Control $00DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00D70720;AC_VERB_SET_PIN_WIDGET_CONTROL;in_enable $00DF0700;AC_VERB_GET_PIN_WIDGET_CONTROL;out_status $00DF0800;Get_Unsol_Resp End BTW This time I will need HDALOG.TXT and HDAICIN.TXT both.

  • Create New...