AMI legacy BIOS里添加2个VBIOS的问题

有时候需要同时支持3种类型以上的显示器输出,一个VBIOS无法同时支持这些设备时,就需要包两个VGA BIOS进去,

然后让用户根据显示器的类型来选择从哪一个VBIOS来启动。

 

在AMI legacy code里有2种方法可以实现:

方法 1

1. 使用 user_rom token 来包 vBIOSB, 使用 PCI device sdl 来包 vBIOSA

 

2. dim_func_2 dim_2_do_c000_scan 这个 label 前面使用解压程序把 vBIOSB 解压,然后 copy C0000h 的位置

  去就好,不用加 code 跳进 C000:0003 的地方去执行。

 

注意事项:

1.Copy 的时候不用再开 C000 shadow ram W ,否则会 hang 2A

2. rep 的计数器只认 cx ,不认识 ecx

3. vBIOSB module ID 一定不能和其它的重复

 

方法2:
1. 使用user_rom来包vBIOSB
       USER_ROM1_DESTSEG =device ID
       USER_ROM1_DESTADDR=vendor ID
2. 把di-pci.asm里的copy_pci_rom_to_shadow程序里的
   PCI_OPTION_ROM_ID换成MKF_USER_ROM1_MODULEID

 


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值