找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4624|回复: 104

[预告]自己DIY个性的BIOS

[复制链接]
发表于 2007-8-19 09:32:16 | 显示全部楼层 |阅读模式
想DIY自己的BIOS么?现在你可以实现了。把AWARD 的BIOS改成AMI BIOS,对AWARD BIOS进行修改,重新写一个新的BIOS(并非使用工具,而是重新编译)


源码:
ftp://ddyou.3322.org
USER:down
PASSWORD:down

[ 本帖最后由 lintel 于 2007-8-20 01:30 AM 编辑 ]
 楼主| 发表于 2007-8-19 09:33:56 | 显示全部楼层
沙发自己坐。。。
回复

使用道具 举报

发表于 2007-8-19 09:40:14 | 显示全部楼层
虽然不懂```但板凳也坐````
回复

使用道具 举报

发表于 2007-8-19 09:42:50 | 显示全部楼层
我是文盲,但是也支持。
回复

使用道具 举报

发表于 2007-8-19 09:46:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2007-8-19 09:58:27 | 显示全部楼层
学习料
谢谢斑斑
回复

使用道具 举报

发表于 2007-8-19 10:06:50 | 显示全部楼层
靠,真有这一天就好了啊。
回复

使用道具 举报

发表于 2007-8-19 10:21:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2007-8-19 13:38:15 | 显示全部楼层
不会把 bios也可以改...
回复

使用道具 举报

 楼主| 发表于 2007-8-19 13:54:10 | 显示全部楼层
成功一半...刷坏了十几次...现在没有编程器..穷啊...一个要250多..买不起
..所以专门用一台机子进行檫写,这里我推荐用UNIFLASH...建议用SST的BIOS芯片...
用WINBOND(华邦)..的出现了ESCD无法写入...

实验用一张TOPSTART I845D实验,该板用的是AMI BIOS,用了WINDBOND的 W49V00FAP
(2MB)我把它刷成新天下的I845D的BIOS (2M) 可以正常启动.但是,也出现了问题,PS/2
接口无法使用...具体我也不知道是什么问题...头痛...
:L

评分

参与人数 1无忧币 +10 收起 理由
℡︷MeDoWoヽ + 10 奖励你```

查看全部评分

回复

使用道具 举报

发表于 2007-8-19 13:54:42 | 显示全部楼层
呃...等待小耗子的成绩...如果水质太好...我们大家一起吃清蒸耗子...也不错的样子;P
回复

使用道具 举报

 楼主| 发表于 2007-8-19 13:56:53 | 显示全部楼层
; []===========================================================[]
;
; NOTICE: THIS PROGRAM BELONGS TO AWARD SOFTWARE INTERNATIONAL(R)
;         INC. IT IS CONSIDERED A TRADE SECRET AND IS NOT TO BE
;         DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED
;         WRITTEN AUTHORIZATION FROM THE OWNER.
;
;  []===========================================================[]
;
              
;----------------------------------------------------------------------------
;Rev Date  Name Description
;----------------------------------------------------------------------------
;R19 06/01/98 JDN Added codes for YMF715 suspend/resume
.386p
  PAGE 56,132
  TITLE AUDIO.ASM
.XLIST
  INCLUDE BIOS.CFG
  INCLUDE COMMON.EQU  
  INCLUDE COMMON.MAC
  INCLUDE POST.EQU
  extrn F000_call_proc:near
  extrn F000_GetItem_Value:near
  extrn F000_VECT:near
  extrn RET_E_SEG:near
IF AUDIO_KERNEL
  COMPILE_FOR_AUDIO_ASM = 1
  include AUDIO.AIO
ENDIF ;AUDIO_KERNEL
ifdef Crystal_Item_Cmos_Bit   
  extrn Crystal_Item:near  
endif ;Crystal_Item_Cmos_Bit   

G_RAM  SEGMENT USE16 AT 0
  ORG 04H*4
  INCLUDE SEG_0.INC
  ORG 400H
  INCLUDE G_RAM.INC
G_RAM  ENDS
ifdef Notebook_Power_Management
SM_RAM  SEGMENT USE16 AT 0
  INCLUDE SM_RAM.INC
SM_RAM  ENDS
endif ;Notebook_Power_Management
.LIST
DGROUP  GROUP FCODE
FCODE           SEGMENT PARA PUBLIC 'CODE'
                ASSUME  CS:DGROUP
FCODE           ENDS
EGROUP  GROUP ECODE
ECODE  SEGMENT USE16 PARA PUBLIC 'ECODE'
  ASSUME CS:EGROUP,DS:G_RAM,ES:EGROUP
;[]======================================================================[]
;[]======================================================================[]
  Public Init_Onboard_AUDIO
Init_Onboard_AUDIO Proc Near
IF AUDIO_KERNEL
  pushad
  push ds
  push es
  pushf
  cli
  call Prg_Audio_Chip
  popf
  pop es
  pop ds
  popad
ENDIF ;AUDIO_KERNEL
  ret
Init_Onboard_AUDIO Endp
;[]======================================================================[]
;[]======================================================================[]
IF AUDIO_KERNEL
  COMPILE_FOR_AUDIO_ASM = 2
  Public Prg_Audio_Chip  
  include AUDIO.AIO
ENDIF ;AUDIO_KERNEL
;[]======================================================================[]
;[]======================================================================[]
;;;  Public E_GetItem_Value
E_GetItem_Value Proc Near
  jmp F000_GetItem_Value
  ret
E_GetItem_Value Endp
ifdef CS4237B  
CS4236 EQU 1
endif ;CS4237B
ifdef CS4236B
CS4236 EQU 1
endif ;CS4236B  
;[]======================================================================[]
;Special_PNP_Audio_Init
; Initialize Some Special PNP Audio
;Save  : all but flags
;Input : None
;Output: None
;Note  :
;[]======================================================================[]
  Public Special_PNP_Audio_Init
Special_PNP_Audio_Init Proc Near
ifdef YMF711
       call Program_YMF711_Audio_Resource_Data
endif ;YMF711
ifdef YMF715      
       call Program_YMF715_Audio_Resource_Data
endif ;YMF715      
ifdef CS4236      
       call Program_CS4236_Audio_Resource_Data
endif ;CS4236      

ifdef CMI8330_Audio_Support                           
  extrn Program_CMI8330_Audio:near              
       call Program_CMI8330_Audio                  
endif ;CMI8330_Audio_Support                          

  ret
Special_PNP_Audio_Init Endp

;add follow define for moving code to YMF711.AIO, CS4236.AIO, .....
  include BIOSPNP.AIO
ifdef Notebook_Power_Management
  Public Save_Sound
Save_Sound proc near
  push es
  push ds
  push ebx
  xor ax,ax
  mov es,ax
ifdef YMF715   
  call Getlogdev
  call Get_Index  ;R19
  call Save_WssMixer
endif ;YMF715
   call Save_SbMixer
  call Suspend_Save_Audio
  pop ebx
  pop ds
  pop es

  ret
Save_Sound Endp
Save_SbMixer proc near
  push  ebx
  mov edi,ebx
  add edi,offset Sound_State_Save
  mov si,offset Mix_addr_tbl
  mov cx,((offset Mix_addr_end)-(offset Mix_addr_tbl))/2
@@:
  mov dx,cs:[si]
  mov al,04h  ;Save original Voice val
  call Get_Mix_Val
  push ax
  mov ax,5504h ;Set Voice val = 55h
  call Set_Mix_val
  IODELAY
  mov al,04h  ;Get Voice val
  call Get_Mix_Val
  cmp al,55h
  pop ax
  jz short @f
  add si,2
  loop @B
      jmp short No_Find_Sound_S
@@:
  mov ah,al
  mov al,04h  ;Restore original Voice val
  call Set_Mix_val
  Call SAVE_BEFORE_TURN_ON_AUDIO
     
  mov cx,((offset Mix_tbl_end)-(offset Mix_tbl))
  mov si,offset Mix_tbl
@@:
  mov al,byte ptr cs:[si]
  call Get_Mix_Val
  stos byte ptr es:[edi]
  inc si
  loop short @B
No_Find_Sound_S:
  pop    ebx
  ret
Save_SbMixer ENDP
SAVE_BEFORE_TURN_ON_AUDIO Proc Near
ifdef CT2510_AUDIO_SAVE
  mov al,7ch
  call Get_Mix_Val
  and al,11101111b
  or al,11000000b
  xchg al,ah
  mov al,7ch
  call Set_Mix_val
endif ;CT2510_AUDIO_SAVE
ifdef ES1879_Suspend_patch
  push dx
  mov al,40h
  out dx,al
  inc dx
  in al,dx
  in al,dx
  in al,dx
  mov ah,al
  in al,dx
  mov dx,ax
  mov al,2dh
  out dx,al
  inc dx
  in al,dx
  or al,00000011b
  out dx,al
  pop dx
endif ;ES1879_Suspend_patch
  ret
SAVE_BEFORE_TURN_ON_AUDIO Endp
  Public Restore_Sound
Restore_Sound proc near
  push es
  push ds
  push ebx
  xor ax,ax
  mov ds,ax
ifdef YMF715
  call SetLogdev   
  call    Restore_WssMixer
endif ;YMF715
  call Restore_SbMixer
  call Suspend_Restore_Audio  
  pop ebx
  pop ds
  pop es
  ret
Restore_Sound Endp
Restore_SbMixer Proc near
  push    ebx
  mov si,offset Mix_addr_tbl
  mov cx,((offset Mix_addr_end)-(offset Mix_addr_tbl))/2
@@:
  mov dx,cs:[si]
  mov ax,5504h ;Set Voice val = 55h
  call Set_Mix_val
  IODELAY
  mov al,04h  ;Get Voice val
  call Get_Mix_Val
  cmp al,55h
  jz short @f
  add si,2
  loop @B
      jmp short No_Find_Sound_R
@@:
  mov cx,((offset Mix_tbl_end)-(offset Mix_tbl))
  mov esi,ebx
  add esi,offset Sound_State_Save
  mov di,offset Mix_tbl
@@:
  mov ah, byte ptr ds:[esi]
  mov al, byte ptr cs:[di]
  call Set_Mix_Val
  inc esi
  inc di
  loop short @B
No_Find_Sound_R:  
  pop  ebx
  ret
Restore_SbMixer ENDP
Get_Mix_val proc near
  out dx,al
  IODELAY
  inc dx
  in al,dx
  IODELAY
  dec dx
  ret
Get_Mix_val ENDP
Set_Mix_val proc near
  out dx,al
  IODELAY
  inc dx
  mov al,ah
  out dx,al
  IODELAY
  dec dx
  ret
Set_Mix_val ENDP
Mix_tbl:
db 04h
db 0ah
db 0ch
db 0eh  
db 22h
db 26h
db 28h
db 2eh
ifndef YMF715
db 30h
db 31h
db 32h
db 33h
db 34h
db 35h
db 36h
db 37h
db 38h
        db 39h
db 3ah
db 3bh
db 3ch
db 3dh
db 3eh
endif ;YMF715
Mix_tbl_end:
Mix_addr_tbl:
dw 224h
dw 234h
dw 244h
dw 254h
dw 264h
dw 274h
dw 284h
Mix_addr_end:
IF AUDIO_KERNEL EQ 0
Suspend_Save_Audio Proc near
ifdef ES1869_Suspend_patch
   ;Sound chip use ES1869
   ;issue reset signal : sound chip wakeup
   mov dx,226h  ;Audio_Base + 6 = 1
   mov al,1  
   out dx,al  
   in al,dx  
   mov al,0  ;Audio_Base + 6 = 0
   out dx,al  
   xor cx,cx  
   loop $  
   mov dx,22eh  ;if Audio_Base+E bit 7 = 1
   in al,dx  ;   then reset ok
   test al,10000000b
   jz short Reset_ok
   mov dx,22ah  ;else read Audio_Base+A
  retry:   
   in al,dx  
   cmp al,0aah  ;if Audio_Base+A != 0aah
   jne short retry ;   then retry
  Reset_ok:   
   xor cx,cx  
   loop short $  
endif ;ES1869_Suspend_patch
ifdef YMF715
  call Save_Wss
endif ;YMF715
  ret
Suspend_Save_Audio endp
Suspend_Restore_Audio Proc near
ifdef YMF715
  call    Restore_Wss
  call Set_Index  ;R19     
endif ;YMF715   
  ret
Suspend_Restore_Audio endp

ENDIF ;AUDIO_KERNEL EQ 0
endif ;Notebook_Power_Management
ECODE  ENDS
  END


[ 本帖最后由 lintel 于 2007-8-19 01:59 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2007-8-19 13:58:19 | 显示全部楼层
原帖由 无翼鸟飞翔 于 2007-8-19 01:54 PM 发表
呃...等待小耗子的成绩...如果水质太好...我们大家一起吃清蒸耗子...也不错的样子;P

:L 你这只鸟...小心把你烧烤了...:lol
回复

使用道具 举报

 楼主| 发表于 2007-8-19 14:01:44 | 显示全部楼层
以下是POST的代码:



[]===========================================================[]
;
; NOTICE: THIS PROGRAM BELONGS TO AWARD SOFTWARE INTERNATIONAL(R)
;         INC. IT IS CONSIDERED A TRADE SECRET AND IS NOT TO BE  
;         DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED
;         WRITTEN AUTHORIZATION FROM THE OWNER.
;
;  []===========================================================[]
;
;----------------------------------------------------------------------------
;Rev Date  Name Description
;----------------------------------------------------------------------------
;R00 06/25/98 ADS Init.
.MODEL  SMALL, BASIC
OPTION PROC: PRIVATE
;[]===========================================================[]
; This file be used to suport OEM customer special request.
;
; Author: Anderson Kuo
; Date: Jun 25, 1998
;     
; note:
; 1.add all OEM special request in this file
; 2.use custemor name (like FIC,ABIT etc.) do your define.
;   example:
;  IFDEF FIC_NEED
;OEM_POST_CODES:        
;  DW offset POST_test
;  DW 0
;  ENDIF; FIC_NEED
;[]===========================================================[]
.386P
.XLIST
;============================ A ===================================
; The fellow is used Include file
;==================================================================

  INCLUDE BIOS.CFG
  INCLUDE BTROMSEG.EQU   
  INCLUDE COMMON.EQU
  INCLUDE POST.EQU
  INCLUDE ATORGS.EQU
  INCLUDE PORT61.EQU
  INCLUDE 8042.EQU
  INCLUDE 8259.EQU
  INCLUDE COMMON.MAC
  INCLUDE POST.MAC
  INCLUDE USERINT.MAC
G_RAM  SEGMENT USE16 AT 0
  ORG 04H*4
  INCLUDE SEG_0.INC
  ORG 400H
  INCLUDE G_RAM.INC
G_RAM  ENDS
;============================ B ===================================
;The fellow is used define AWARD subroutine
;==================================================================
DGROUP  GROUP FCODE
EGROUP  GROUP ECODE
ECODE  SEGMENT USE16 PARA PUBLIC 'ECODE'
  ASSUME CS:EGROUP,DS:EGROUP,ES:EGROUP
;[]--------------------------------------------------------------------------[]
;
; Procedure Name: OEM_Service_Roution_Post_Code
;  This routine be used to display OEM post & execute
;    the special function for custemor request.
; Saves: cx
;
; Inputs: CX : current POST number
; Outputs: none
;
; [Notes]:
;[]==========================================================================[]
  PUBLIC OEM_Service_Roution_Post_Code
OEM_Service_Roution_Post_Code PROC   
   
   ret
OEM_Service_Roution_Post_Code ENDP
ECODE  ENDS
DGROUP  GROUP FCODE
FCODE  SEGMENT PARA PUBLIC 'CODE'
  ASSUME CS:DGROUP
FCODE  ENDS
  END
回复

使用道具 举报

发表于 2007-8-19 14:28:40 | 显示全部楼层
楼主英文很好啊,我一个都看不懂,^_^
回复

使用道具 举报

发表于 2007-8-19 16:25:22 | 显示全部楼层
强!!!
I 服了 you!!
回复

使用道具 举报

 楼主| 发表于 2007-8-19 16:25:27 | 显示全部楼层
说笑了,我英文经常不及格:lol
回复

使用道具 举报

 楼主| 发表于 2007-8-19 16:26:54 | 显示全部楼层
呼叫猫眯....
呼叫猫眯....
呼叫猫眯....
呼叫猫眯....
呼叫猫眯....
呼叫猫眯....
呼叫猫眯....
呼叫猫眯....
呼叫猫眯....
呼叫猫眯....
呼叫猫眯....
:L
回复

使用道具 举报

发表于 2007-8-19 16:29:12 | 显示全部楼层
猫咪今天没来·········^_^
回复

使用道具 举报

发表于 2007-8-19 16:40:11 | 显示全部楼层


自己编个BIOS

那应该不会有启动兼容性问题了吧

能不能换个容量大点的ROM

把PE装进去?
回复

使用道具 举报

M
发表于 2007-8-19 16:43:32 | 显示全部楼层
,?.
回复

使用道具 举报

M
发表于 2007-8-19 16:45:35 | 显示全部楼层
原帖由 chnhhwz 于 2007-8-19 04:40 PM 发表


自己编个BIOS

那应该不会有启动兼容性问题了吧

能不能换个容量大点的ROM

把PE装进去?

PE
回复

使用道具 举报

发表于 2007-8-19 17:42:09 | 显示全部楼层
原帖由 chnhhwz 于 2007-8-19 04:40 PM 发表


自己编个BIOS

那应该不会有启动兼容性问题了吧

能不能换个容量大点的ROM

把PE装进去?
有在雜誌上看過把ghost放進去的

放 pe 呵呵
回复

使用道具 举报

发表于 2007-8-19 17:50:04 | 显示全部楼层
没有用,硬件的东西你是改不了的
回复

使用道具 举报

发表于 2007-8-19 18:08:50 | 显示全部楼层
原帖由 123 于 2007-8-19 05:50 PM 发表
没有用,硬件的东西你是改不了的
改寫BIOS是真的可以...

你可以試著把樓主在一樓的關鍵字輸入到搜尋引擎:)
回复

使用道具 举报

发表于 2007-8-19 18:22:30 | 显示全部楼层
原帖由 GREED 于 2007-8-19 18:08 发表
改寫BIOS是真的可以...

你可以試著把樓主在一樓的關鍵字輸入到搜尋引擎:)

改了并不会增加多少功能,否则就没必要开发新的主板了。
回复

使用道具 举报

发表于 2007-8-19 18:46:27 | 显示全部楼层
编写主板程序,好事。。。。
回复

使用道具 举报

发表于 2007-8-19 23:46:08 | 显示全部楼层
放进去个简版XP。呵呵。:em03
回复

使用道具 举报

发表于 2007-8-19 23:48:59 | 显示全部楼层
硬件改不鸟那就自己设计个硬件……
回复

使用道具 举报

 楼主| 发表于 2007-8-20 00:06:04 | 显示全部楼层
原帖由 123 于 2007-8-19 06:22 PM 发表

改了并不会增加多少功能,否则就没必要开发新的主板了。


123姐姐说的没有错,如果BIOS不支持USB启动,那么我们可以通过修改BIOS 进行USB启动
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-9-17 15:29

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表