【问题标题】:BIOS Data Area: Meaning of values for Cursor Start (61h) and Cursor End (60h)BIOS 数据区:Cursor Start (61h) 和 Cursor End (60h) 值的含义
【发布时间】:2012-04-30 12:45:37
【问题描述】:

一直在寻找BIOS数据区内存地址461h(Cursor Start)和460h(Cursor End)的明确含义。

但我刚刚发现一些参考资料说它是光标的“大小”。也有人说是指扫描线,使用的值也相差很大(63h 和 00h 用于 MCGA;67h 和 00 用于 80x25 文本模式;或者 01h 和 00h)但仍然不够具体,似乎如果 VGA 寄存器被手动编程为标准图形或文本模式(更具体地说是文本模式,实际使用光标)而不是使用 INT 10h,则有必要调整这些值,以便 DOS 或 BIOS 本身可以保持一致配置。

我已经看到了 Google 结果的前 2 页(Ralf Brown、mcamafia.de、Wikipedia、TinyVGA、BIOS Central 等),但它们包含的信息无法让我准确描述这些值的作用,或者它们对应于 VGA 寄存器中的哪个配置,所以我会盲目地对这些值进行编程。

那么对他们来说正确的定义是什么?

【问题讨论】:

    标签: cursor hardware bios vga


    【解决方案1】:

    我的理解:

    460h-461h 是“光标形状”,大小=字。低字节保存结束扫描行号,而地址 40:61h 的高字节保存起始扫描行。对于视频模式 3,字符单元在 VGA 上通常为 16 条扫描线高。要关闭光标,请将结束扫描行号设置在起始扫描行号之上。

    示例光标形状:

    two line cursor at bottom:    0607h
    lower half cursor:            0307h
    upper half or quarter cursor: 0003h
    full box cursor               0007h
    blank cursor                  0100h
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多