访问 Windows XP on Mac 竞赛获胜者 Blanka
Well, Show time…
已经连续两篇关于 Windows XP on Mac 的blog了,再接再厉,这次更进一步。
AppleTalk Australia 有个 Windows on Macs 系列文章,在第3篇中,他们有幸抓到了Jesus Lopez --也就是NB两人组合中的 blanka --接受采访。哦,顺便说明一下,这个AppleTalk可不是Apple 那个协议,名字而已,此网站和Apple没有任何联系的哈。
这个由6个问题组成的专访--好像太短了点儿是吧--包含了很有意义的内容,,这是获胜者第一次谈论自己的经历,和昨天《细说 Intel Mac 安装 Windows XP 》中的Clay在自己的blog上所说内容还是不同的。加之NB二人此前一直没有更多关于他们这次竞赛的信息,AppleTalk的访问可以稍微满足一下人们的好奇心。
访问:
AppleTalk:尝试这个项目的动机是…?
Jesus:这个项目吸引我兴趣的原因有好几个,包括(无次序关系):
。这是件能让很多人受益的事情
。过去几个月里,我一直在构思一个自己的项目,而Mac Mini 是适合这个项目的绝佳perfect 电脑--这个项目即搭建一部车载电脑car computer (carputer,zhou:ApplTalke原文写得是craputer,想是笔误,扣奖金!),有GPS,Internet,Media Library等等。不过恼火的是,大多数carputer软件都是为Windows编写的。
。人们都说在Mac上运行XP是不可能的。证明那些被认为是不可能的事情完全可以做到,实在是非常吸引人--zhou:享受伽利略的心理待遇而不用遭受布鲁诺的肉体遭遇当然爽啦。
。有很久我没做有意义的底层编程了。要记住那些过去的好时光哟。
。奖金可以回报我投入其中的时间。
AppleTalk:Boot Loader/CSM 是怎么工作的?
Jesus:简单地说,它完成的工作有:
。重新配置i945和ICH7(zhou:北桥和南桥)芯片组,这样就能映射通常的BIOS内存区域。
。将这些区域写入自己写的“BIOS”。这个BIOS用16位实模式汇编写成。通过切换进32位保护模式和调用CSM代码,它实现了所有中断(legacy ACPI调用)。
。CSM代码通过调用适当的EFI API,实现了legacy中断的功能子集。其他未实现的中断通过break进内置的调试器处理。
。实现legacy boot protocol:通过参考 El Torito, MBR 和Boot sector ,找出要执行什么代码。
。一旦目标代码完成并加载进了memory,bootloader 回到16位实模式,将控制权交给这些代码。
这是几个要点,此外,Apple硬件,与现代PC常用的标准legacy AT 架构之间,有些细微差别,所以还必须patch一些Windows代码,否则Windows会排斥这些区别。
。没有8042键盘控制器
。没有VGA文本模式(目前,还没有办法把VGA硬件切换到基于字符的文本模式,尽管我们相信这是可以的)。
AppleTalk:开发过程中最大的挑战是什么?
Jesus:每次Windows不能按预想的那样工作时,要找出原因。不论freezing,或者黑屏,或者重启。非常,非常难调试。
AppleTalk:第一个release之前的开发花了多长时间?
Jesus:2006年1月25号,我从narf 那儿得知了这个比赛。当天,我说服他买了台17寸 iMac --zhou:看来blanka绝不是蒋干这个level的说客,有一手,这样NB二人的条件和开发效率比Clay确实要好得多--narf一小时后下单,Amazon 次日送达,剩下的就是历史了。
AppleTalk:目前驱动方面有很多问题,你认为这些问题会被最终解决吗?
Jesus:我得说,自从项目向社区发布后,人们对此倾注的努力让我印象非常深刻。wiki.onmac.net 上的wiki 有相当多的信息。人们每天都在尝试新驱动,我也已经得知人们愿意帮忙解决任何尚存的驱动问题。我相信,在Apple硬件上运行完全加速的3D video只是个时间问题(zhou: FAQ 中说明 ,在能工作的video驱动出来之前,要不损害性能,最好把硬件加速拨到无,)。
AppleTalk:感谢抽空和我们聊聊。
Jesus:谢谢你们对这个项目的关注,这才是让这个项目成为可能的关键。
[tags]windows, mac, osx, intel, apple[/tags]
Comments
great!
guzyhiksvy…
uuhaguny xlfwuskazis ipyjazdhf kzjbpttly …