Sender: DrumMania (-*BLISS*-spirits soaring-), Board: DOS
Title: Question about the startup screen on a WIN98 DOS boot disk....
Posted at: BBS Shuimu Tsinghua Station (Sun Jun 8 01:50:09 2003), on site
☆─────────────────────────────────────☆
planets (I’m an early-rising crow, bugs come here quickly.) mentioned on (Thu Jun 5 08:18:31 2003):
Is there any way to get rid of that startup screen? I’m not talking about operating
the WIN98 operating system.
A DOS boot disk made under WIN98 always shows a startup screen when booting, that
WIN98 blue-sky-and-white-clouds screen. What can I do to make it not show that screen?
Hope the experts can point me in the right direction.....
☆─────────────────────────────────────☆
NDD (Null Data Detected) mentioned on (Thu Jun 5 15:52:59 2003):
SEE 2060
There are some tools that can change that screen
Seems like I wrote a post about it before
You can just change the startup screen into a "black screen"
☆─────────────────────────────────────☆
planets (I’m an early-rising crow, bugs come here quickly.) mentioned on (Thu Jun 5 16:29:21 2003):
Because I start one in AUTOEXEC.BAT
A command executed under DOS, to boot the system into another
operating system, VXWORKS, so there is no case where that program returns to DOS
system, so when using AUTOEXEC.BAT
to execute this command automatically, that startup screen stays there the whole time,
while in fact it has already booted into that other operating system,
(because later I first entered DOS, and manually executed that DOS
command, and it really could enter the other operating system)
I wonder if with DOS6.22
the same problem would exist.
I don’t want a black screen either. I want it to show
the automatic execution of the program.
☆─────────────────────────────────────☆
NDD (Null Data Detected) mentioned on (Thu Jun 5 16:36:35 2003):
Modify MSDOS。SYS
the BOOTLOGO field
☆─────────────────────────────────────☆
JiLiu (Ji Liu~~Short Day Fan) mentioned on (Fri Jun 6 17:06:17 2003):
I remember there isn’t one
That image is over 100k too
Putting it on a floppy would be such a waste
A 98 boot disk definitely doesn’t have it
☆─────────────────────────────────────☆
ko20010214 (ko20010214) mentioned on (Sat Jun 7 13:08:43 2003):
For issues related to IO.sys and logo.sys, you can go take a look at the boot disk section of the China DOS Union Forum.
First, there is no startup image file logo.sys on a win98 boot disk.
Second, on a default win98 boot disk (meaning a boot floppy), because msods.sys is only 0 bytes or 6 bytes or
9 bytes, it will not make the win98 boot floppy load a startup image at boot time.
Third, the win98 startup image (the default blue-sky-and-white-clouds one) is stored in compressed form inside IO.SYS.
Fourth, if you want no startup screen during boot, just modify
the line logo=1 in msdos.sys to logo=0.
Fifth, the win98 startup image (the default blue-sky-and-white-clouds one) is stored in compressed form inside IO.SYS, and it can
be deleted. For details please see wengier’s post: Great news: IO.SYS has officially been “slimmed down” to 123KB
I now officially announce: after a round of research and practice, by removing the LOGO and modifying the file header information
, I have now officially “slimmed down” the IO.SYS of MS-DOS 7.10 to 123KB (125,960 bytes), reducing disk space usage by as much as
100K. Tests prove that it can not only boot from the hard disk, but also from a floppy disk!
From now on everyone can officially put it on their own boot disks,
For the specific post content, see:
http://www2.zzu.edu.cn/ie/newdos/dispbbs.
asp?BoardID=11&id=1916&replyID=10074
☆─────────────────────────────────────☆
cassette (cassette tape) mentioned on (Sat Jun 7 17:59:05 2003):
Modifying IO.SYS, that’s impressive!
I wonder what that step is for when win98 during boot uses INT 21/AH=4B to "execute" IO.SYS?
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sat Jun 7 23:23:36 2003):
I tested it, and there really is a compressed LOGO image inside IO.SYS.
The preliminary work of shortening this file can remove the Logo. So far I haven’t found any problems, and win98
also booted.
My system is win98 SE, IO.SYS size 224150 bytes. Analysis of the file structure:
EXE file infomation utility, created by Felix Ge.
------ DOS MZ EXE file ------
File checksum: 0000H
Minimal Extra Memory: 0362H 13,856 bytes
Maximum Extra Memory: FFFFH 1,048,560 bytes
Initial CS:IP 07F3:0010
Initial SS:SP 0835:0080
Relocation counts: 0000H 0 entry
Relocation table entry: 001EH 30(dec)
Overlay number: 0000H
File length: 00006B96H 224,150 bytes
DOS Load Size: 00006B96H 224,150 bytes
MZ EXE header size: 2EA0H 190,976 bytes
Image(Program) size: 33,174 bytes
Extra bytes(Overlay): 0 bytes
I noticed that during system startup this file is run once as an EXE. I guess its function
has something to do with windows. If the EXE header is modified so that execution fails, then win98
will give a warning (but the system can still run)
Because the system code is actually contained in the “file header” part, cutting off the Program part at the end
does not affect booting.
Then I used soft-ice to trace win98 startup, intercepting INT 21H, and found a step where AH=3D
opens "\LOGO.SYS"; that’s where it’s related to logo. After the open fails, the screen switches to
graphics mode.
Tracing again, intercepting INT 10H, I found an AH=1A call, no idea what it does. Right after that
there is a CALL A000 at 84E4:9D27, looks like a fairly large procedure; after stepping into it for a long time it still didn’t come out.
Analysis suggests this is a decompression subroutine. After that there seems to be a string of file format checking
instructions.
I had to see how IO.SYS is loaded into memory, so I again traced by intercepting INT 13. Break when AH=2
and AH=42. I found one place with relatively many reads at 9000:0660. Then I traced again,
recording each read/write position and size there. Roughly you can see that it is read sequentially.
Tracing further, I noted the addresses of the source data and output data for the “decompression” part, which are DS=1E51
and ES=0221 respectively, starting from SI=DI=0000. To verify the assumption, I made a logo.sys out of a BMP
and put it under C:\ to boot, and found that the file was also read into the DS=0221 segment.
Tracing again, I set a breakpoint to interrupt when writing a DWORD to 1E51:0000. It stopped
somewhere in the 9000 segment. The data is first read into the 9000 segment and then written to 1E51. Comparing with the previously recorded disk reads,
it roughly matches.
So I then set a breakpoint at 84E4:9D27, and recorded a dozen or so data items starting from 1E51:0000. Returned to
DOS, opened the file with QVIEW, and searched for these characters. Found them
at offset 1E610H. Then in assembly mode I scrolled from there to the end; apparently there wasn’t much program code, just messy
instructions. So I cut the file off from there.
Rebooted, success.
IO.SYS is now 124432 bytes, and that Program section hasn’t been added back yet.
☆─────────────────────────────────────☆
ko20010214 (Fang Shao) mentioned on (Sat Jun 7 23:39:09 2003):
Looks like your DEBUG skills are pretty deep.
Indeed, there is a chunk of code in IO。SYS for decompressing graphics.
If you can figure out how it compresses and decompresses this image,
then any logo.sys could be compressed and put into io.sys, and you could DIY your own boot screen
without needing an extra logo.sys and wasting over 100K of floppy capacity.
Hehe... compressed is always a bit smaller than uncompressed, right.
If you really make software like that, it would be a truly great service.
Keep it up!
☆─────────────────────────────────────☆
DrumMania (-*BLISS*-spirits soaring-) mentioned on (Sat Jun 7 23:41:51 2003):
There is software like that!! I’ve even used it
Too bad I forgot the name...
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sat Jun 7 23:42:56 2003):
Inferring the compression algorithm from assembly code is just too hard.
If the algorithm is to be changed, the difficulty lies in changing the code. Because this is an operating system program,
there is no DOS environment, and there’s no way to know how memory is laid out at all. Otherwise it would be possible to
compress the decompressed data back and store it ourselves.
☆─────────────────────────────────────☆
AyuanX (Shuimu::Even ignorance has the happiness of ignorance, but I want more) mentioned on (Sun Jun 8 00:13:27 200
I think this topic is getting more and more interesting, nice
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sun Jun 8 00:23:07 2003):
I overlooked one issue: after the file was shortened, the sector contents on disk still had not changed.
So this cannot prove there is no effect on booting. I have to actually re-copy the file and test.
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sun Jun 8 00:32:09 2003):
Rewrote this file, boot successful!
Next step is to try adding the Program back on.
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sun Jun 8 01:12:24 2003):
Cut out the 33174 bytes from the end of the original file and append them to the newly generated IO.SYS file,
then modify the EXE file header and write in the recalculated file size. The file header length is the file length
minus the size after subtracting 33174.
Final result:
EXE file infomation utility, created by Felix Ge.
------ DOS MZ EXE file ------
File checksum: 0000H
Minimal Extra Memory: 0362H 13,856 bytes
Maximum Extra Memory: FFFFH 1,048,560 bytes
Initial CS:IP 07F3:0010
Initial SS:SP 0835:0080
Relocation counts: 0000H 0 entry
Relocation table entry: 001EH 30(dec)
Overlay number: 0000H
File length: 000067A6H 157,606 bytes
DOS Load Size: 000067A6H 157,606 bytes
MZ EXE header size: 1E61H 124,432 bytes
Image(Program) size: 33,174 bytes
Extra bytes(Overlay): 0 bytes
Before figuring out exactly what that EXE code segment does, it’s still better not to remove it lightly. Of course,
if it is only used for a DOS boot disk, then those 33174 bytes can still be saved.
☆─────────────────────────────────────☆
ko20010214 (Fang Shao) mentioned on (Sun Jun 8 01:20:59 2003):
The software you mean is for making logo.sys, right?
If you turn an ordinary BMP into logo.sys and put it in the root directory,
you can get a personalized LOGO.
But what we’re talking about here is compressing logo.sys into IO.SYS using the compression format inside IO.SYS.
Is there software like that?
【 Mentioned in DrumMania (-*BLISS*-spirits soaring-)’s post: 】
: There is software like that!! I’ve even used it
: Too bad I forgot the name...
☆─────────────────────────────────────☆
ko20010214 (Fang Shao) mentioned on (Sun Jun 8 01:23:46 2003):
It’s said that this compression is the dblspace compression method.
But I don’t know what the dblspace compression method looks like either.
There are discussions about this in the boot disk and logo sections of the China DOS Union Forum; you can refer to them.
Although there weren’t really any results. Hehe...
【 Mentioned in Su33 (Sea Flank Guard)’s post: 】
: Inferring the compression algorithm from assembly code is just too hard.
Title: Question about the startup screen on a WIN98 DOS boot disk....
Posted at: BBS Shuimu Tsinghua Station (Sun Jun 8 01:50:09 2003), on site
☆─────────────────────────────────────☆
planets (I’m an early-rising crow, bugs come here quickly.) mentioned on (Thu Jun 5 08:18:31 2003):
Is there any way to get rid of that startup screen? I’m not talking about operating
the WIN98 operating system.
A DOS boot disk made under WIN98 always shows a startup screen when booting, that
WIN98 blue-sky-and-white-clouds screen. What can I do to make it not show that screen?
Hope the experts can point me in the right direction.....
☆─────────────────────────────────────☆
NDD (Null Data Detected) mentioned on (Thu Jun 5 15:52:59 2003):
SEE 2060
There are some tools that can change that screen
Seems like I wrote a post about it before
You can just change the startup screen into a "black screen"
☆─────────────────────────────────────☆
planets (I’m an early-rising crow, bugs come here quickly.) mentioned on (Thu Jun 5 16:29:21 2003):
Because I start one in AUTOEXEC.BAT
A command executed under DOS, to boot the system into another
operating system, VXWORKS, so there is no case where that program returns to DOS
system, so when using AUTOEXEC.BAT
to execute this command automatically, that startup screen stays there the whole time,
while in fact it has already booted into that other operating system,
(because later I first entered DOS, and manually executed that DOS
command, and it really could enter the other operating system)
I wonder if with DOS6.22
the same problem would exist.
I don’t want a black screen either. I want it to show
the automatic execution of the program.
☆─────────────────────────────────────☆
NDD (Null Data Detected) mentioned on (Thu Jun 5 16:36:35 2003):
Modify MSDOS。SYS
the BOOTLOGO field
☆─────────────────────────────────────☆
JiLiu (Ji Liu~~Short Day Fan) mentioned on (Fri Jun 6 17:06:17 2003):
I remember there isn’t one
That image is over 100k too
Putting it on a floppy would be such a waste
A 98 boot disk definitely doesn’t have it
☆─────────────────────────────────────☆
ko20010214 (ko20010214) mentioned on (Sat Jun 7 13:08:43 2003):
For issues related to IO.sys and logo.sys, you can go take a look at the boot disk section of the China DOS Union Forum.
First, there is no startup image file logo.sys on a win98 boot disk.
Second, on a default win98 boot disk (meaning a boot floppy), because msods.sys is only 0 bytes or 6 bytes or
9 bytes, it will not make the win98 boot floppy load a startup image at boot time.
Third, the win98 startup image (the default blue-sky-and-white-clouds one) is stored in compressed form inside IO.SYS.
Fourth, if you want no startup screen during boot, just modify
the line logo=1 in msdos.sys to logo=0.
Fifth, the win98 startup image (the default blue-sky-and-white-clouds one) is stored in compressed form inside IO.SYS, and it can
be deleted. For details please see wengier’s post: Great news: IO.SYS has officially been “slimmed down” to 123KB
I now officially announce: after a round of research and practice, by removing the LOGO and modifying the file header information
, I have now officially “slimmed down” the IO.SYS of MS-DOS 7.10 to 123KB (125,960 bytes), reducing disk space usage by as much as
100K. Tests prove that it can not only boot from the hard disk, but also from a floppy disk!
From now on everyone can officially put it on their own boot disks,
For the specific post content, see:
http://www2.zzu.edu.cn/ie/newdos/dispbbs.
asp?BoardID=11&id=1916&replyID=10074
☆─────────────────────────────────────☆
cassette (cassette tape) mentioned on (Sat Jun 7 17:59:05 2003):
Modifying IO.SYS, that’s impressive!
I wonder what that step is for when win98 during boot uses INT 21/AH=4B to "execute" IO.SYS?
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sat Jun 7 23:23:36 2003):
I tested it, and there really is a compressed LOGO image inside IO.SYS.
The preliminary work of shortening this file can remove the Logo. So far I haven’t found any problems, and win98
also booted.
My system is win98 SE, IO.SYS size 224150 bytes. Analysis of the file structure:
EXE file infomation utility, created by Felix Ge.
------ DOS MZ EXE file ------
File checksum: 0000H
Minimal Extra Memory: 0362H 13,856 bytes
Maximum Extra Memory: FFFFH 1,048,560 bytes
Initial CS:IP 07F3:0010
Initial SS:SP 0835:0080
Relocation counts: 0000H 0 entry
Relocation table entry: 001EH 30(dec)
Overlay number: 0000H
File length: 00006B96H 224,150 bytes
DOS Load Size: 00006B96H 224,150 bytes
MZ EXE header size: 2EA0H 190,976 bytes
Image(Program) size: 33,174 bytes
Extra bytes(Overlay): 0 bytes
I noticed that during system startup this file is run once as an EXE. I guess its function
has something to do with windows. If the EXE header is modified so that execution fails, then win98
will give a warning (but the system can still run)
Because the system code is actually contained in the “file header” part, cutting off the Program part at the end
does not affect booting.
Then I used soft-ice to trace win98 startup, intercepting INT 21H, and found a step where AH=3D
opens "\LOGO.SYS"; that’s where it’s related to logo. After the open fails, the screen switches to
graphics mode.
Tracing again, intercepting INT 10H, I found an AH=1A call, no idea what it does. Right after that
there is a CALL A000 at 84E4:9D27, looks like a fairly large procedure; after stepping into it for a long time it still didn’t come out.
Analysis suggests this is a decompression subroutine. After that there seems to be a string of file format checking
instructions.
I had to see how IO.SYS is loaded into memory, so I again traced by intercepting INT 13. Break when AH=2
and AH=42. I found one place with relatively many reads at 9000:0660. Then I traced again,
recording each read/write position and size there. Roughly you can see that it is read sequentially.
Tracing further, I noted the addresses of the source data and output data for the “decompression” part, which are DS=1E51
and ES=0221 respectively, starting from SI=DI=0000. To verify the assumption, I made a logo.sys out of a BMP
and put it under C:\ to boot, and found that the file was also read into the DS=0221 segment.
Tracing again, I set a breakpoint to interrupt when writing a DWORD to 1E51:0000. It stopped
somewhere in the 9000 segment. The data is first read into the 9000 segment and then written to 1E51. Comparing with the previously recorded disk reads,
it roughly matches.
So I then set a breakpoint at 84E4:9D27, and recorded a dozen or so data items starting from 1E51:0000. Returned to
DOS, opened the file with QVIEW, and searched for these characters. Found them
at offset 1E610H. Then in assembly mode I scrolled from there to the end; apparently there wasn’t much program code, just messy
instructions. So I cut the file off from there.
Rebooted, success.
IO.SYS is now 124432 bytes, and that Program section hasn’t been added back yet.
☆─────────────────────────────────────☆
ko20010214 (Fang Shao) mentioned on (Sat Jun 7 23:39:09 2003):
Looks like your DEBUG skills are pretty deep.
Indeed, there is a chunk of code in IO。SYS for decompressing graphics.
If you can figure out how it compresses and decompresses this image,
then any logo.sys could be compressed and put into io.sys, and you could DIY your own boot screen
without needing an extra logo.sys and wasting over 100K of floppy capacity.
Hehe... compressed is always a bit smaller than uncompressed, right.
If you really make software like that, it would be a truly great service.
Keep it up!
☆─────────────────────────────────────☆
DrumMania (-*BLISS*-spirits soaring-) mentioned on (Sat Jun 7 23:41:51 2003):
There is software like that!! I’ve even used it
Too bad I forgot the name...
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sat Jun 7 23:42:56 2003):
Inferring the compression algorithm from assembly code is just too hard.
If the algorithm is to be changed, the difficulty lies in changing the code. Because this is an operating system program,
there is no DOS environment, and there’s no way to know how memory is laid out at all. Otherwise it would be possible to
compress the decompressed data back and store it ourselves.
☆─────────────────────────────────────☆
AyuanX (Shuimu::Even ignorance has the happiness of ignorance, but I want more) mentioned on (Sun Jun 8 00:13:27 200
I think this topic is getting more and more interesting, nice
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sun Jun 8 00:23:07 2003):
I overlooked one issue: after the file was shortened, the sector contents on disk still had not changed.
So this cannot prove there is no effect on booting. I have to actually re-copy the file and test.
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sun Jun 8 00:32:09 2003):
Rewrote this file, boot successful!
Next step is to try adding the Program back on.
☆─────────────────────────────────────☆
Su33 (Sea Flank Guard) mentioned on (Sun Jun 8 01:12:24 2003):
Cut out the 33174 bytes from the end of the original file and append them to the newly generated IO.SYS file,
then modify the EXE file header and write in the recalculated file size. The file header length is the file length
minus the size after subtracting 33174.
Final result:
EXE file infomation utility, created by Felix Ge.
------ DOS MZ EXE file ------
File checksum: 0000H
Minimal Extra Memory: 0362H 13,856 bytes
Maximum Extra Memory: FFFFH 1,048,560 bytes
Initial CS:IP 07F3:0010
Initial SS:SP 0835:0080
Relocation counts: 0000H 0 entry
Relocation table entry: 001EH 30(dec)
Overlay number: 0000H
File length: 000067A6H 157,606 bytes
DOS Load Size: 000067A6H 157,606 bytes
MZ EXE header size: 1E61H 124,432 bytes
Image(Program) size: 33,174 bytes
Extra bytes(Overlay): 0 bytes
Before figuring out exactly what that EXE code segment does, it’s still better not to remove it lightly. Of course,
if it is only used for a DOS boot disk, then those 33174 bytes can still be saved.
☆─────────────────────────────────────☆
ko20010214 (Fang Shao) mentioned on (Sun Jun 8 01:20:59 2003):
The software you mean is for making logo.sys, right?
If you turn an ordinary BMP into logo.sys and put it in the root directory,
you can get a personalized LOGO.
But what we’re talking about here is compressing logo.sys into IO.SYS using the compression format inside IO.SYS.
Is there software like that?
【 Mentioned in DrumMania (-*BLISS*-spirits soaring-)’s post: 】
: There is software like that!! I’ve even used it
: Too bad I forgot the name...
☆─────────────────────────────────────☆
ko20010214 (Fang Shao) mentioned on (Sun Jun 8 01:23:46 2003):
It’s said that this compression is the dblspace compression method.
But I don’t know what the dblspace compression method looks like either.
There are discussions about this in the boot disk and logo sections of the China DOS Union Forum; you can refer to them.
Although there weren’t really any results. Hehe...
【 Mentioned in Su33 (Sea Flank Guard)’s post: 】
: Inferring the compression algorithm from assembly code is just too hard.
ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器




