0x49的答案:富士通FMR

2020-12-13 10:14:38

Warning: Can only detect less than 5000 characters

注意:我看过其他命令行参数(例如指定77条轨道等)似乎也可以使用,并且确实存在其他工具YMMV。该网站的作者然后编写了一个用1.23MB FMR图像覆盖扇区的工具,该工具可以从上一页下载(我们正在讨论)。他指出:

“实际上,一旦您写入了有效的磁盘映像,Windows 10将允许您在磁盘中读写文件。 Windows XP有破坏软盘启动扇区的可怕习惯,但Windows 10似乎没有这样做。

好吧,该死,首先溢出它们(VBR)字节:我们下载的图像现在已经了解了很多有关(以十六进制开头)的信息:

49 50 4C 34 EB 53 00 20 20 20 20 00 04 01 01 00

然后,以纯ASCII格式将第一个字节解码为“ IPL4”。然后是OEM_Label字段中位于vbr_start + 4处的常见跳转(跳至vbr_start + 0x59)。然后是常见的BPB:

每个段1024字节1个段每团。 (1024字节)1个保留扇区(1024字节)2个nbr。数量192根目录条目(6144字节6个扇区)1232逻辑扇区总数(1261568字节)254媒体描述符2每个FAT的逻辑扇区8每个磁道的物理扇区2磁头数

对.....什么欺骗性的演示场景超级黑客使此(IPL4)工作? http://ysflight.in.coocan.jp/FM/towns/bootloader/e.html在“技术信息”标题下与我们分享了最后(几乎)拼图的那一部分,他在其中记录了他的经验中的基础部分编写自己的“ IPL =初始程序加载程序”(这就像一个笼统的术语来描述引导加载程序的不同部分/文件的总和):

“在初始引导过程中,FM TOWNS的系统ROM将媒体的第一个扇区读取到B000:0000,如果前四个字节是“ IPL4”,它将跳至B000:0004。此过程与CMOS设置无关。因此,如果您编写自己的引导加载程序并写入介质的第一个扇区,即使由于电池电量耗尽而擦拭了CMOS RAM,系统ROM也会找到您的程序并跳转到偏移量0004。引导加载程序在这里使用此机制。引导加载程序(或初始程序加载程序(IPL))的第一阶段(显然)限于2KB,1232KB软盘的2个扇区或SCSI硬盘驱动器的4个扇区。 2KB不能做太多事情。因此,IPL将第二阶段的引导加载程序读取到8000:0000,然后跳转到那里。”

他进一步描述,从那里开始就是要找到并加载以“ FBIOS”(大致相当于DOS IO.SYS)开头的扇区。他提供了更多文档,如果您感兴趣,请确保继续在该页面上阅读!等等...什么?当BIOS以“ IPL4”开头时,BIOS“直接跳转”到vbr + 4吗?就是这样吗? aka:给我该图片的VBR的最后一个字节:

但是,但是..魔盘签名0x55 0xAA ??在那里,克服它。这就是为什么他们说“主要”是与PC兼容的,并且正如我们所看到的,这是兼容性最差的。我们需要允许的第一件事是从0x49(ASCII大写字母I)开始的VBR。并且不要检查启动签名。嗨,如本系列在OS / 2博物馆上已显示的那样,DOS 3.3已经停止检查启动签名。通透:知道了(到目前为止)我们知道的一切,可以这样声明:Windows如果不允许0x49和/或所需的引导签名,则无法读取/写入这些FMR软盘/分区!确实,可以肯定地说/评论:0x49允许Fujitsu FM TOWNS。但是并不能证明这实际上是MS包括支票的原因(这种证明是理想的,对吧?)。 *证明*(…最终):(警告:如果您不希望看到此内容,请向下滚动,然后向上滚动至“ NEW 0x69 THEORIES”标题)。NT4源副本在线浮动(*非常容易找到* ),然后从nt4 / private / ntos / fsrec / fat_rec.c的第215行开始:

// FMR 1994年7月11日NaokiM-Fujitsu-// FMR引导扇区具有' IPL1'在beginnig处的字符串。 if(Buffer-> Jump [0]!= 0x49& / * FMR * / Buffer-> Jump [0]!= 0xe9&& Buffer-> Jump [0]!= 0xeb){结果=假; // FMR 1994年11月11日NaokiM-富士通-// FMR分区的扇区大小为2048。//我狙击只张贴了最低限度的证据// FMR Jul.11.1994 NaokiM-Fujitsu-// 1. FMR的媒体描述符分区是0xfa。 // 2.由FMR OS / 2格式化的分区的媒体描述符为0x00。 // 3.通过FMR DOS格式化的软盘的媒体描述符为0x01。

注意:“ IPL1”(而不是我们先前讨论的“ IPL4”)。注意:“ FMR分区的扇区大小为2048”(不是前面讨论的1024)注意:如果查看完整的文件,则会看到它上面堆满了其他“ FujitsuFMR”代码,当“ JAPAN”出现时,该代码会出现和“ _X86_”被“定义”。一堆其他文件包含额外的FMR_fat检查和注释,这些解释和解释说明,例如PC-98不需要那么多额外的麻烦(它有一些,但它们在VBR上与常规PC兼容就开始了),而FujitsuFMR需要使用'大多数人都渴望与主导的市场份额兼容(可以自由搜索它们,它们并不是以上证明的基础)。注意:这些文件包括:scsidisk / disk.c,disk / disk.c,diskdump / diskdump.c,fastfat / fsctrl.c。您会看到“ FatData.FujitsuFMR”之类的标志,或者:

#if defined(JAPAN)&&已定义(_X86_)&& defined(_FMR_)// Fujitsu TakaO 1994年10月20日//分区信息包含在FMR的block1中//

(根据我们的发现,此代码段与0x69的推测有关。)就我而言,显然0x49是专门为FujitsuFMR高级格式/分区添加的。我们猜到了,了解了机械原理,并在M $来源中找到了确认。另外,几乎忘了:是的!另外:在IRC上Michal告诉我他确定0x49不在NT3.5中,他希望自NT3.51起可以添加。

Warning: Can only detect less than 5000 characters

它已经正式存在于“ JAPAN”“ FMR”支持中,我们只需要更深入地挖掘即可发现适用的补丁 它是未来支持的占位符(维基百科指出,MS开发人员回忆说,当IBM“采用” DOS 3.0时,还远远没有完成)。 我的钱是基于猜想3的,原因3或5或4。所以,狩猎愉快,588079 PS:我狩猎的原因是0x49。 由于达到了这个目标(答案比我预期的要令人满意,所以我没想到会如此详尽地说明),所以我没有检查是否/如何处理包含空字节的OEM_Labels。 。 此项发布在DOS,NT,PC硬件,PC历史记录,未记录中。 为永久链接添加书签。