China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-06-24 18:27
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » Try to transplant grldr.mbr to RomOS and write it into Bios DigestIII View 61,678 Replies 52
Original Poster Posted 2007-10-26 01:51 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
Credits 5,493
Posts 2,315
Joined 2006-05-01 10:41
20-year member
UID 54766
Gender Male
From 上海
Status Offline
Master Bean, one of the grub4dos project developers, has already made it successfully; see posts 31 and 32




Can grldr.mbr really boot grldr on the hard disk from the BIOS? I don’t know either; I wanted to know, so I tried it...
Today I tried again to port grldr.mbr into RomOS and write it into the BIOS. Although it failed, at least I finally saw grldr’s startup message. Compared with last time when it displayed disk error, it wasn’t a wasted effort. Budian and bean, when you see the information below, I hope to get your help. Is this method feasible?


Welcome to ROMOS ver. 1.03 by Martin Rehak (C) 2001-2007; rayer@seznam.cz
INT13h vector has been hooked F000:9734 -> D800:01CC
ROMOS has installed virtual ROM DISK drive.

F=0246 CS=D800 SS=4000 ES=0000 DS=E000 DI=8000 SI=007B BP=1000 SP=FFF5
Bootsector loaded at 0000:7C00
Bootimg!

Missing MBR-helper._


[ Last edited by fastslz on 2008-1-10 at 05:56 PM ]
第一高手 第二高手

Floor 2 Posted 2007-10-26 08:04 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
GRLDR.MBR is very simple; don’t make it complicated. Originally it’s a bicycle: get on and it goes. But you’re building a highway and a rocket launch pad for it. (Joking)

You don’t need to emulate grldr.mbr as a disk. If you emulate it, you’ll fail instead.

You only need to put all 8192 bytes of grldr.mbr at the address starting from 0000:7C00, then jump control to 0000:7C00, and that’s it.

INT13h vector has been hooked F000:9734 -> D800:01CC
ROMOS has installed virtual ROM DISK drive.

These two messages above are both for disk emulation; it’s unnecessary. This is the reason for the failure.


Missing MBR-helper

This message means only 512 bytes were placed at 0000:7C00, while the remaining helper part was not.
因为我们亲手创建,这个世界更加美丽。
Floor 3 Posted 2007-10-26 14:17 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
Credits 5,493
Posts 2,315
Joined 2006-05-01 10:41
20-year member
UID 54766
Gender Male
From 上海
Status Offline
Jump control to 0000:7C00? The main thing is I don’t understand ROMOS. It’s all English and there’s nowhere to discuss it, and I don’t know assembly either, so I don’t dare modify the first 976-byte part of ROMOS.
第一高手 第二高手

Floor 4 Posted 2007-10-26 14:42 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
Forgive my ignorance, what exactly is ROM OS? I really don’t understand it. You’d better briefly introduce what you know to me.

How large is it itself? Where is it in memory (memory address)?

Is its code only 976 bytes total? If so, upload it, and I’ll modify it for you.

You have to explain clearly where grldr.mbr is, for example, whether it immediately follows those 976 bytes. If so, upload this whole block.

===============

Oh, right, since it is a ROM “OS,” it tries to find a disk image (perform disk emulation). But grldr.mbr is not a disk image at all, so this usage of ROM OS itself is not quite correct.

Therefore, I guess that as long as the “disk emulation” part in ROM OS is removed, that’s all.
因为我们亲手创建,这个世界更加美丽。
Floor 5 Posted 2007-10-26 15:04 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
Credits 5,493
Posts 2,315
Joined 2006-05-01 10:41
20-year member
UID 54766
Gender Male
From 上海
Status Offline
romos official site http://rayer.ic.cz/romos/romose.htm
Add an isa module in the BIOS so that after the BIOS self-test passes, pressing Scroll Lock directly boots FreeDOS

The forum space is full
Go to the official site to download romos.bin. The first 976 bytes are the main romos program, and the later part is the FreeDOS img image file. romos.bin can be opened with WinImage
第一高手 第二高手

Floor 6 Posted 2007-10-26 15:20 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
Credits 5,493
Posts 2,315
Joined 2006-05-01 10:41
20-year member
UID 54766
Gender Male
From 上海
Status Offline
I extracted the first 976 bytes and saved the file as os.bin
copy /b os.bin+grldr.mbr romos.bin
Then fill romos.bin with 0s to the original size of romos.bin, add the isa module into the bios file, then flash the bios. At present I have 3 spare bios chips, so I’m not afraid of flashing them bad, and I have the conditions to test
Can’t upload attachments, so write it with debug
@echo e 100 55 AA 80 E9 D7 02 43 48 4B 53 55 4D 3D 5D 50 72 >>tmp11
@echo e 110 65 73 73 20 5B 53 63 72 6F 6C 6C 4C 6F 63 6B 5D >>tmp11
@echo e 120 20 74 6F 20 62 6F 6F 74 20 52 4F 4D 4F 53 20 21 >>tmp11
@echo e 130 00 57 65 6C 63 6F 6D 65 20 74 6F 20 52 4F 4D 4F >>tmp11
@echo e 140 53 20 76 65 72 2E 20 31 2E 30 33 20 62 79 20 4D >>tmp11
@echo e 150 61 72 74 69 6E 20 52 65 68 61 6B 20 28 43 29 20 >>tmp11
@echo e 160 32 30 30 31 2D 32 30 30 37 3B 20 72 61 79 65 72 >>tmp11
@echo e 170 40 73 65 7A 6E 61 6D 2E 63 7A 00 52 4F 4D 4F 53 >>tmp11
@echo e 180 20 68 61 73 20 69 6E 73 74 61 6C 6C 65 64 20 76 >>tmp11
@echo e 190 69 72 74 75 61 6C 20 52 4F 4D 20 44 49 53 4B 20 >>tmp11
@echo e 1A0 64 72 69 76 65 2E 00 42 6F 6F 74 73 65 63 74 6F >>tmp11
@echo e 1B0 72 20 6C 6F 61 64 65 64 20 61 74 20 00 42 6F 6F >>tmp11
@echo e 1C0 74 69 6E 67 21 00 FB 50 06 9C 6A 00 07 26 02 26 >>tmp11
@echo e 1D0 6C 04 26 3A 26 6C 04 75 F9 9D 07 58 C3 50 53 B4 >>tmp11
@echo e 1E0 02 B7 00 CD 10 5B 58 C3 50 53 51 B4 03 B7 00 CD >>tmp11
@echo e 1F0 10 59 5B 58 C3 60 9C 53 E8 ED FF B4 09 31 C9 86 >>tmp11
@echo e 200 CF 80 E1 7F 2E 8A 04 3C 00 74 0A CD 10 46 FE C2 >>tmp11
@echo e 210 E8 CA FF EB EF 5B 80 FF 80 78 0F 9D 61 60 9C B8 >>tmp11
@echo e 220 0D 0E 30 DB CD 10 B0 0A CD 10 9D 61 C3 50 53 E8 >>tmp11
@echo e 230 11 00 87 D1 30 DB B8 3A 0E CD 10 E8 05 00 87 D1 >>tmp11
@echo e 240 5B 58 C3 86 F2 E8 06 00 86 F2 E8 01 00 C3 50 52 >>tmp11
@echo e 250 9C 88 D6 80 E2 0F 80 E6 F0 C0 CE 04 E8 09 00 88 >>tmp11
@echo e 260 D6 E8 04 00 9D 5A 58 C3 80 FE 0A 72 03 80 C6 07 >>tmp11
@echo e 270 80 C6 30 B4 0E 88 F0 CD 10 C3 60 1E 06 16 0E 9C >>tmp11
@echo e 280 B9 09 00 BE B1 01 89 E5 BB 07 01 E8 67 FF B8 3D >>tmp11
@echo e 290 0E 30 DB CD 10 36 8B 56 00 E8 A7 FF B0 20 CD 10 >>tmp11
@echo e 2A0 45 45 46 46 46 E2 E1 E8 73 FF 9D 1F 17 07 1F 61 >>tmp11
@echo e 2B0 C3 46 00 00 43 53 00 53 53 00 45 53 00 44 53 00 >>tmp11
@echo e 2C0 44 49 00 53 49 00 42 50 00 53 50 00 9C 80 FA 01 >>tmp11
@echo e 2D0 74 06 9D EA 13 02 00 00 60 1E 80 FC 02 74 15 80 >>tmp11
@echo e 2E0 FC 03 74 42 80 FC 08 74 52 80 FC 15 74 5F 80 C4 >>tmp11
@echo e 2F0 41 E9 71 00 50 89 DF 31 F6 80 E1 3F FE C9 B8 12 >>tmp11
@echo e 300 00 F6 E6 01 C6 B8 01 00 B3 12 F6 E3 F6 E5 01 C6 >>tmp11
@echo e 310 30 ED 01 CE C1 E6 09 81 C6 D0 03 0E 1F 59 C1 E1 >>tmp11
@echo e 320 09 F3 A4 E9 3D 00 89 E5 36 8B 46 18 0D 01 00 36 >>tmp11
@echo e 330 89 46 18 36 C6 46 11 03 E9 28 00 89 E5 B5 07 B1 >>tmp11
@echo e 340 12 36 C6 46 0D 01 36 89 4E 0E E9 16 00 89 E5 36 >>tmp11
@echo e 350 C6 46 11 01 36 C7 46 0E 00 00 36 C7 46 0C 7E 00 >>tmp11
@echo e 360 E9 00 00 B4 2A 68 00 B8 1F 3E 88 26 9E 00 1F 61 >>tmp11
@echo e 370 9D CF 60 06 6A 00 07 BE 4C 00 BF 14 02 26 8B 0C >>tmp11
@echo e 380 26 89 0D 26 8B 54 02 26 89 55 02 26 C6 45 FF EA >>tmp11
@echo e 390 26 C7 04 CC 01 26 8C 4C 02 BE B9 02 BB 07 01 E8 >>tmp11
@echo e 3A0 53 FE E8 88 FE BE D8 02 E8 4A FE 8C CA B9 CC 01 >>tmp11
@echo e 3B0 E8 7A FE E8 67 FE 07 61 C3 49 4E 54 31 33 68 20 >>tmp11
@echo e 3C0 76 65 63 74 6F 72 20 68 61 73 20 62 65 65 6E 20 >>tmp11
@echo e 3D0 68 6F 6F 6B 65 64 20 00 20 2D 3E 20 00 9C 60 8C >>tmp11
@echo e 3E0 D0 68 00 40 17 BB FF FF 87 DC 50 53 06 1E 6A 00 >>tmp11
@echo e 3F0 07 26 81 3E 64 00 DD 02 75 0C 8C C8 26 39 06 66 >>tmp11
@echo e 400 00 75 03 E9 48 00 E8 14 FE BE 0E 00 BB 0F 81 E8 >>tmp11
@echo e 410 E3 FD B4 1E E8 AF FD 6A 00 07 26 A0 17 04 88 C4 >>tmp11
@echo e 420 24 10 3C 10 74 08 2E 8C 06 00 00 E9 17 00 B0 10 >>tmp11
@echo e 430 F6 D0 20 C4 26 88 26 17 04 26 C7 06 64 00 DD 02 >>tmp11
@echo e 440 26 8C 0E 66 00 1F 07 5B 17 89 DC 61 9D CB E8 CC >>tmp11
@echo e 450 FD BE 31 00 BB 0E 81 E8 9B FD B4 14 E8 67 FD E8 >>tmp11
@echo e 460 10 FF E8 61 FD BE 7B 00 BB 07 81 E8 87 FD E8 55 >>tmp11
@echo e 470 FD E8 A9 FD E8 03 FE E8 4C FD BE A7 00 BB 07 01 >>tmp11
@echo e 480 E8 72 FD BA 00 00 B9 00 7C E8 A1 FD E8 8E FD BE >>tmp11
@echo e 490 BD 00 BB 0F 81 E8 5D FD B4 0A E8 29 FD 6A 00 07 >>tmp11
@echo e 4A0 BE 10 04 26 8A 04 B4 01 80 FC 01 75 05 0C 40 26 >>tmp11
@echo e 4B0 88 04 68 00 00 07 BF 00 7C 0E 1F BE D0 03 B9 00 >>tmp11
@echo e 4C0 02 F3 A4 26 C6 06 24 7C 01 B2 01 EA 00 7C 00 00 >>tmp11
@echo rcx>>tmp11
@echo 3D0>>tmp11
@echo n tmp1>>tmp11
@echo w>>tmp11
@echo q>>tmp11
@debug<tmp11>nul
@Copy /b /y tmp1 os.bin
@del tmp*
第一高手 第二高手

Floor 7 Posted 2007-10-26 15:47 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
Credits 5,493
Posts 2,315
Joined 2006-05-01 10:41
20-year member
UID 54766
Gender Male
From 上海
Status Offline
romos is also worth a look by an expert like you
If it’s feasible, modify it so that grldr.mbr is loaded after the 976 bytes. I also tried writing only the 976 bytes into the bios file; after self-test, pressing scroll lock is effective. I also don’t know whether the original romos code requires romos.bin to be 65,536 bytes. If not specified, then os.bin+grldr is 8,144 bytes, reducing the isa module size.

Originally posted by 不点 at 2007-10-26 14:42:
Oh, right, since it is a ROM “OS,” it tries to find a disk image (perform disk emulation). But grldr.mbr is not a disk image at all, so this usage of ROM OS itself is not quite correct.

Therefore, I guess that as long as the “disk emulation” part in ROM OS is removed, that’s all. ...


That’s right: after the 976 bytes is the FreeDOS disk image, and the tail of romos.bin is also 48 bytes filled with 0s
第一高手 第二高手

Floor 8 Posted 2007-10-26 16:12 ·  中国 香港 理工大学
初级用户
Credits 40
Posts 15
Joined 2007-10-26 15:33
18-year member
UID 100849
Gender Male
Status Offline
Floor 9 Posted 2007-10-26 16:25 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
Credits 5,493
Posts 2,315
Joined 2006-05-01 10:41
20-year member
UID 54766
Gender Male
From 上海
Status Offline
Sweat, English again. I can barely understand most of it
The link is invalid; I’ll go look at Space-Time
第一高手 第二高手

Floor 10 Posted 2007-10-26 16:30 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
Credits 5,493
Posts 2,315
Joined 2006-05-01 10:41
20-year member
UID 54766
Gender Male
From 上海
Status Offline
Floor 11 Posted 2007-10-26 17:58 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
I found a simple method that can let you boot grldr.mbr using the original method.

Note that relatively new grldr.mbr already uses a hybrid hard-disk/floppy boot mode. What does that mean?

In the first sector of grldr.mbr, you can fill in a BPB table.

Copy the FreeDOS BPB table from romos.bin to the corresponding area in grldr.mbr, and it’s OK.

grldr.mbr already leaves enough space for the BPB table. When the BPB table has not been filled in, they are all 00 bytes.

In this way, the GRLDR.MBR with the BPB table filled in can be booted using your original method.
因为我们亲手创建,这个世界更加美丽。
Floor 12 Posted 2007-10-26 18:41 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
Credits 5,493
Posts 2,315
Joined 2006-05-01 10:41
20-year member
UID 54766
Gender Male
From 上海
Status Offline
Okay, I’ll try again..
第一高手 第二高手

Floor 13 Posted 2007-10-28 21:37 ·  中国 河北 邯郸 联通
中级用户
★★
Credits 223
Posts 59
Joined 2005-05-23 00:00
21-year member
UID 39002
Gender Male
Status Offline
I’ve seen a post where LaoMaoTao wrote FreeDOS ROMOS into the BIOS.
欢迎光临蜗牛软园:http://lhteee.ys168.com
欢迎光临 Ghost家:http://lhtooo.ys168.com
电子信箱(Email):lhteee@163.com
电子信箱(Email):lhteee@gmail.com
Floor 14 Posted 2007-10-28 22:30 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
Credits 5,493
Posts 2,315
Joined 2006-05-01 10:41
20-year member
UID 54766
Gender Male
From 上海
Status Offline
FreeDOS is originally part of RomOS, and RomOS is not difficult as long as you have experience modifying BIOS information and flashing BIOS. But I’m really afraid of foreign-language text; once foreign-language text gets involved, all enthusiasm is gone. There’s too little domestic discussion on this.
第一高手 第二高手

Floor 15 Posted 2007-10-29 11:32 ·  中国 山东 菏泽 联通
银牌会员
★★★
Credits 1,246
Posts 488
Joined 2003-11-11 00:00
22-year member
UID 12699
Gender Male
Status Offline
The OP’s method is wrong
Forum Jump: