|
martin325
银牌会员
    
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『楼 主』:
如何释放因加载USB驱动所消耗的内存?
使用 LLM 解释/回答一下
如何在纯DOS下释放因加载USB驱动所消耗的大量内存?
本人在MS-DOS 8.0下已经加载XMS的情况下,加载USB驱动,能在纯DOS下有效识别U盘和移动硬盘,但是却因加载USB驱动搜索U盘而消耗了大量内存,请问各位高手,有何良策?
本人接上80G的移动硬盘,正确识别出三个移动盘符,然后在DOS下想分别进入这三个移动盘符,分别DIR一下,结果才进入第二个移动盘符,就死机了!
于是重启动电脑,用MEM.EXE查看了一下内存使用情况:
Total = Used + Free
Conventional 636K 48K 588k
Total Memory 519420 154 519266
Total Under 1Mb 636K 48K 588k
Largest executable program size 584K
Largest free upper memory block 0K
Available space in High Memory Area 2K
MS-DOS is resident in the high memory area.
然后在DOS下分别进入这三个移动盘符,分别DIR了一下,能看到各自盘符中的文件名,然后执行了一个COPY命名,欲把其中一个移动盘符中的一个很小的记事本文件复制到另一个移动盘符中,结果又死机了!
请问这是为什么,怎么总会死机?是USB驱动的BUG,还是内存不足的缘故?如果内存不足的话,要如何释放呢?
附上最新版本的“dos4usb”。
How to release a large amount of memory consumed by loading USB drivers under pure DOS?
I have loaded XMS under MS-DOS 8.0, and after loading the USB driver, I can effectively recognize USB drives and external hard drives under pure DOS. However, a large amount of memory is consumed because the USB driver searches for USB drives. I would like to ask all the experts, what good solutions are there?
I connected an 80G external hard drive and correctly identified three external drive letters. Then under DOS, I wanted to enter these three external drive letters respectively and DIR them. As a result, I just entered the second external drive letter and then the computer crashed!
Then I restarted the computer and used MEM.EXE to check the memory usage:
Total = Used + Free
Conventional 636K 48K 588k
Total Memory 519420 154 519266
Total Under 1Mb 636K 48K 588k
Largest executable program size 584K
Largest free upper memory block 0K
Available space in High Memory Area 2K
MS-DOS is resident in the high memory area.
Then under DOS, I entered these three external drive letters respectively, and could see the file names in their respective drives. Then I executed a COPY command to copy a very small notepad file from one external drive to another, and then the computer crashed again!
May I ask why this is happening and why it always crashes? Is it a bug in the USB driver or because of insufficient memory? If it is insufficient memory, how can I release it?
Attached is the latest version of "dos4usb".
附件
1: dos4usb.rar (2006-4-18 10:04, 32.24 KiB, 下载附件所需积分 1 点
,下载次数: 75)
附件
2: MEM.rar (2006-4-18 10:04, 14.51 KiB, 下载附件所需积分 1 点
,下载次数: 42)
|
|
2006-4-18 10:04 |
|
|
willsort
元老会员
         Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
Re martin325:
推测是USB驱动存在兼容性问题,可以通过以下方法确定问题所在,DOS启动时按F4跳过CONIG/AUTOEXEC文件配置,此时LoadUSB观察结果。如果一切正常,则说明USB驱动与C/A文件中的某个或某些内存配置程序存在冲突,单行或者二分法调试,直到找出问题语句即可。如果仍然有死机现象发生,则证明USB驱动本身不完善,无法完全支持你的移动硬盘或者主板。
需要提及的是,我曾经尝试过少量的启动盘和DOS USB驱动,结果没有成功记录,无论是台式机还是笔记本,闪盘还是移动硬盘。因为在此方面没有特别的需要,所以没有深入的研究,但是总觉得它是DOS技术研究一个很值得讨论的课题,希望能得到更多的测试和使用报告,以完善大家对DOS USB驱动的认识。
Re martin325:
It is speculated that there is a compatibility issue with the USB driver. You can determine the problem by the following method: when DOS starts, press F4 to skip the configuration of the CONIG/AUTOEXEC files. Then observe the result when loading USB. If everything is normal, it means that there is a conflict between the USB driver and one or some memory configuration programs in the C/A files. Debug line by line or by the dichotomy method until the problematic statement is found. If the system still freezes, it proves that the USB driver itself is not perfect and cannot fully support your external hard drive or motherboard.
It should be mentioned that I have tried a small number of boot disks and DOS USB drivers, but there are no successful records. Whether it is a desktop or a notebook, a flash drive or an external hard drive. Because there is no special need in this regard, I haven't studied it deeply, but I always think it is a very worthy topic for discussion in DOS technology research. I hope to get more test and usage reports to improve everyone's understanding of DOS USB drivers.
|

※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-4-19 18:22 |
|
|
martin325
银牌会员
    
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
在LoadUSB时,CONFIG.SYS只加载了以下几个:
Device=himem.sys /testmem:off
Device=break.sys
Device=break.sys /c
files=10
buffers=10
dos=high,umb
stacks=9,256
lastdrive=z
在AUTOEXEC.BAT里也没什么东西加载的:
@echo off
goto %config%
:help
call WINMEDOS.BAT
goto quit
:usb
call LOADUSB.BAT
goto quit
:cd
call WINMEDOS.BAT
goto quit
:nocd
call WINMEDOS.BAT
goto quit
:quick
call WINMEDOS.BAT
goto quit
:quit
ECHO.
When loading USB, CONFIG.SYS only loads the following several:
Device=himem.sys /testmem:off
Device=break.sys
Device=break.sys /c
files=10
buffers=10
dos=high,umb
stacks=9,256
lastdrive=z
There is nothing loaded in AUTOEXEC.BAT either:
@echo off
goto %config%
:help
call WINMEDOS.BAT
goto quit
:usb
call LOADUSB.BAT
goto quit
:cd
call WINMEDOS.BAT
goto quit
:nocd
call WINMEDOS.BAT
goto quit
:quick
call WINMEDOS.BAT
goto quit
:quit
ECHO.
|
|
2006-4-19 19:23 |
|
|
xuantian
高级用户
   
积分 587
发帖 282
注册 2006-4-10
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
我一直用 USBASPI.SYS 和 Di1000dd.SYS 加载, 使用时没有出现如何问题.
I've been using USBASPI.SYS and Di1000dd.SYS for loading, and there are no problems when using them.
|
|
2006-4-19 23:48 |
|
|
Wengier
系统支持
             “新DOS时代”站长
积分 27736
发帖 10521
注册 2002-10-9
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
我也经常在MS-DOS 7.1下使用USBASPI.SYS和DI1000DD.SYS驱动U盘,也没出现过这种问题。
I also often use USBASPI.SYS and DI1000DD.SYS drivers to drive USB flash drives under MS-DOS 7.1, and I haven't had this kind of problem either.
|

Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
 |
|
2006-4-20 02:19 |
|
|
hzy
高级用户
   
积分 578
发帖 135
注册 2003-7-10
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
遇到过相似情况,感觉还是加载过多,使得内存不足做成。
如我遇到过的现象:
1、加载光驱驱动,天汇汉字系统,ntfsdos,然后usbmass失败;
加载光驱驱动,天汇汉字系统,usbmass,然后ntfsdos失败。
2、不加载光驱驱动,只加载天汇汉字系统,ntfsdos,然后usbmass成功;
不加载光驱驱动,只加载天汇汉字系统,usbmass,然后ntfsdos成功。
Encountered a similar situation, and it feels like it's still due to loading too much, resulting in insufficient memory.
For example, the phenomena I encountered:
1. Load the CD-ROM driver, Tianhui Chinese system, ntfsdos, then USBMASS fails;
Load the CD-ROM driver, Tianhui Chinese system, USBMASS, then ntfsdos fails.
2. Do not load the CD-ROM driver, only load the Tianhui Chinese system, ntfsdos, then USBMASS succeeds;
Do not load the CD-ROM driver, only load the Tianhui Chinese system, USBMASS, then ntfsdos succeeds.
|
|
2006-4-20 02:46 |
|
|
xuantian
高级用户
   
积分 587
发帖 282
注册 2006-4-10
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
建议还是先优化下启动配置,或者使用传统的启动方式,启动别搞的太花哨
It is suggested that you first optimize the boot configuration, or use the traditional boot method. Don't make the boot too fancy.
|
|
2006-4-21 20:47 |
|
|
martin325
银牌会员
    
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
原来本人是用dos4usb里的LOADUSB.EXE在批处理加载,出现了1楼所描述的情形。
今天试着在config.sys里直接加载Usbaspi.sys与DI1000DD.SYS后,一切正常!
现在出现一个问题,需要请教大家,即:
如何在批处理中加载Usbaspi.sys与DI1000DD.SYS呢?
Originally, I was using LOADUSB.EXE from dos4usb to load in a batch script, and encountered the situation described in post #1.
Today, I tried directly loading Usbaspi.sys and DI1000DD.SYS in config.sys, and everything worked normally!
Now there's a problem I need to ask everyone:
How to load Usbaspi.sys and DI1000DD.SYS in a batch script?
|
|
2006-4-22 19:11 |
|
|
fujianabc
金牌会员
     
积分 3467
发帖 1616
注册 2004-6-21
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
用loadsys.exe可以加载和卸载usbaspi.sys和di1000dd.sys,再写一个批处理,dos下就可实现类似于即插即用的操作了。
插上u盘运行批处理加载驱动;拔盘前再用批处理卸载驱动。
You can use loadsys.exe to load and unload usbaspi.sys and di1000dd.sys, and then write a batch script to achieve an operation similar to plug and play under DOS. Plug in the USB flash drive and run the batch script to load the driver; before unplugging the drive, use the batch script to unload the driver.
|
|
2006-4-22 19:22 |
|
|
martin325
银牌会员
    
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
请fujianabc提供loadsys.exe!
Please ask fujianabc to provide loadsys.exe!
|
|
2006-4-22 19:37 |
|
|
martin325
银牌会员
    
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
找到了,呵呵。
体积大了点,有64.4K!
Found it, heh heh.
A bit large, it's 64.4K!
|
|
2006-4-22 19:43 |
|
|
martin325
银牌会员
    
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
由于loadsys.exe体积太大!本人还是选用了devload.com来加载USB驱动。
摒弃了使用dos4usb压缩包里的LOADUSB.EXE。
在批处理中写上:
@echo off
echo.
echo Please insert your USB device firstly.
echo.
echo Press any key to continue...
pause >nul
echo.
echo Loading USB. Please Wait About 30 Seconds...
echo.
cd dos4usb
lh devload.com usbaspi.sys /V /NORST
lh devload.com DI1000DD.SYS
cd\
测试一切正常!
Because the volume of loadsys.exe is too large! I still chose devload.com to load the USB driver. Abandoned using LOADUSB.EXE in the dos4usb compressed package.
Write in the batch processing:
@echo off
echo.
echo Please insert your USB device firstly.
echo.
echo Press any key to continue...
pause >nul
echo.
echo Loading USB. Please Wait About 30 Seconds...
echo.
cd dos4usb
lh devload.com usbaspi.sys /V /NORST
lh devload.com DI1000DD.SYS
cd\
The test is all normal!
|
|
2006-4-22 20:23 |
|
|
yksoft1
高级用户
   
积分 823
发帖 395
注册 2006-1-28
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
松下USBASPI.sys对于部分炬力方案的MP3,速度过慢。
而DI1000DD.sys对于MP3很容易出现分区名出现???字符无法驱动甚至除法错误直接退出
For some Atmel - based MP3 players, the speed of Panasonic USBASPI.sys is too slow. And DI1000DD.sys is very likely to have partition names with??? characters, failing to be driven or even directly exiting due to division errors when dealing with MP3 players.
|
|
2006-4-22 20:46 |
|
|
martin325
银牌会员
    
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
测试环境:MS-DOS V8.0
估计是LOADUSB.EXE引起的兼容性问题。
现在有一个新问题:
如何用devload.com来卸载USB驱动?
请各位研究。
Test environment: MS-DOS V8.0
It is estimated that it is a compatibility issue caused by LOADUSB.EXE.
Now there is a new problem:
How to use devload.com to uninstall the USB driver?
Please study this.
|
|
2006-4-22 20:48 |
|
|
willsort
元老会员
         Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
Re martin325:
很奇怪你现在才发现USB驱动的命令行加载方法,因为你提供的dos4usb.rar其readme.txt中已经清楚地说明Loadusb.exe本身就是批处理编译后产物。而它的命令行内容说明也已经给出。
你的批处理与它没有多少实质上的区别,只是少了两个参数并加上了LH而已,或许你的问题正是出在这上面。当然,使用了你的驱动和参数,我的U盘仍然无法识别。
readme.txt
1 本程序为DOS下即插即用的USB2.0驱动程序;
2 计算机以DOS启动后,将U盘(或启动前)插入计算机的任意一个USB口;
3 运行Loadusb.exe便可装入U盘的驱动成序,然后即可读写U盘的数据;
4 Usbaspi.sys(2.2版)是松下最新的dos USB驱动程序。
5 devload.com为装入驱动程序用;DI1000DD.sys为分配盘符用;loadusb.exe实际就是一个批处理文件,其内容为:
devload usbaspi.sys
devload di1000dd.sys
Re martin325:
It's strange that you just discovered the command-line loading method for the USB driver now, because in the readme.txt of the dos4usb.rar you provided , it clearly states that Loadusb.exe is itself a product of batch compilation. And its command-line content description has also been given.
There isn't much substantial difference between your batch file and it, except that two parameters are missing and LH is added. Maybe your problem is exactly here. Of course, using your driver and parameters, my USB flash drive still can't be recognized.
readme.txt
1 This program is a plug-and-play USB 2.0 driver under DOS;
2 After the computer is booted with DOS, insert the USB flash drive (or before booting) into any USB port of the computer;
3 Run Loadusb.exe to load the driver of the USB flash drive, and then you can read and write the data of the USB flash drive;
4 Usbaspi.sys (version 2.2) is Panasonic's latest dos USB driver.
5 devload.com is used to load the driver program; DI1000DD.sys is used to assign drive letters; loadusb.exe is actually a batch file, and its content is:
devload usbaspi.sys
devload di1000dd.sys
|

※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-4-22 21:33 |
|