【发布时间】:2021-07-12 17:11:25
【问题描述】:
我正在编写一些汇编 BIOS 代码,通常我们使用中断来访问磁盘功能。我们给这个扇区读取字节等命令,但磁盘如何知道它是否是第一个扇区,以及 cd/dvd 如何识别扇区,因为 cd/dvd 从随机位置插入 cd 驱动器。是否有与这些硬件中的扇区相关联的任何类型的标识号?
【问题讨论】:
标签: assembly x86 hardware x86-16 optical-drive
我正在编写一些汇编 BIOS 代码,通常我们使用中断来访问磁盘功能。我们给这个扇区读取字节等命令,但磁盘如何知道它是否是第一个扇区,以及 cd/dvd 如何识别扇区,因为 cd/dvd 从随机位置插入 cd 驱动器。是否有与这些硬件中的扇区相关联的任何类型的标识号?
【问题讨论】:
标签: assembly x86 hardware x86-16 optical-drive
光盘有一个连续的螺旋向外,是的,有一些介绍区域供驱动器找出第一个扇区开始的光盘角度。一个快速的谷歌没有找到它是如何做到这一点的具体细节,但大概是可用/用户数据之外的一些格式/元数据。
扇区之间的边界由其他地方未使用的同步代码 (https://en.wikipedia.org/wiki/Track_(optical_disc)#Sector_structure) 标记。红皮书音频扇区的描述也适用于数据 CD:CD-ROM 使用与红皮书音频 CD 相同的底层框架,但其中内部有数据。 (以及另一层纠错,在2352字节的一级纠错扇区数据中,每扇区给出2048字节纠错数据。)
光盘意义上的轨道与硬盘驱动器/软盘的“轨道”完全不同。 (因为只有一个螺旋,而不是多个数据环)。 CD 轨道是任意数量的扇区,音频 CD 上的轨道边界通常位于歌曲边界。
请注意,Cylinders / Heads 对光盘没有意义。根据this answer,只有 BIOS LBA 读取功能(AH=42h)有效,旧版 CHS 功能(AH=02h)无效。所以 BIOS 不需要发明一个虚假的 CHS 几何结构来访问纯线性扇区。
相关:
【讨论】: