📄 oemiotbl.as_
字号:
public BBLOCKRTCREGINITCOUNT
public BBlockRegisterInitTableStart
public BBlockFDCRegisterInitTableStart
public BBlockKBCRegisterInitTableStart
public BBlockRTCRegisterInitTableStart
public BBlockRegisterInitTableEnd
BBlockRegisterInitTableStart:
BBlockFDCRegisterInitTableStart:
; Power
; Register On Value
; -------- --------
; Win977 Boot Block FDC Regs Init Table
db 022h, 001h ; PWR ON FDC
db 024h, 0A4h ; OSC is on
db 007h, 000h ; select logical device 0 (FDC)
db 030h, 000h ; deactivate FDC
db 060h, 003h
db 061h, 0f0h ; set FDC port addr to 3F0h
db 070h, 006h ; set to IRQ 6
db 074h, 002h ; set to DMA 2
db 030h, 001h ; activate FDC
BBlockFDCRegisterInitTableEnd:
BBlockKBCRegisterInitTableStart:
; Win977 Boot Block KBC Regs Init Table
db 024h, 0A4h ; OSC is on
db 007h, 008h ; select logical device 8 (Aux I/O)
db 030h, 001h ; activate logical device 8
db 0E8h, 010h ; for KB soft reset ctrl
db 0E8h, 012h ; for KB soft reset ctrl
db 0EDh, 008h ; for GA-20 enable
db 0BAh, 0F0h ; activate logical device 8
db 007h, 005h ; select logical device 5 (KBC)
db 060h, 000h ;
db 061h, 060h ; set KBC index port address
db 062h, 000h ;
db 063h, 064h ; set KBC data port address
db 070h, 001h ; set IRQ 1
db 072h, 00Ch ; set IRQ 12 for PS/2 mouse
db 0f0h, 040h ; Select Clock 8 Mhz.
db 030h, 001h ; activate logical device 7
BBlockKBCRegisterInitTableEnd:
BBlockRTCRegisterInitTableStart:
; Win977 Boot Block RTC Regs Init Table
db 024h, 0A4h ; OSC is on
db 007h, 004h ; select logical device 4 (RTC)
db 060h, 000h ;
db 061h, 070h ; set RTC I/O base address
db 070h, 008h ; set IRQ 8
db 0f0h, 080h ; Select Bank 2 of CMOS RAM
db 030h, 001h ; activate RTC
BBlockRTCRegisterInitTableEnd:
BBlockRegisterInitTableEnd:
BBLOCKREGINITCOUNT = (BBlockRegisterInitTableEnd - BBlockRegisterInitTableStart) / 2
BBLOCKFDCREGINITCOUNT = (BBlockFDCRegisterInitTableEnd - BBlockFDCRegisterInitTableStart) / 2
BBLOCKKBCREGINITCOUNT = (BBlockKBCRegisterInitTableEnd - BBlockKBCRegisterInitTableStart) / 2
BBLOCKRTCREGINITCOUNT = (BBlockRTCRegisterInitTableEnd - BBlockRTCRegisterInitTableStart) / 2
ENDIF
IF MKF_SMC957
public BBLOCKREGINITCOUNT
public BBlockRegisterInitTableStart
public BBlockRegisterInitTableEnd
BBlockRegisterInitTableStart:
; Power
; Register On Value
; -------- --------
db 022h, 001h ;PWR ON FDC
db 024h, 004h ;OSC is on
BBlockRegisterInitTableEnd:
db (Smc9578051RegisterInitEnd - Smc9578051RegisterInitStart) / 3
Smc9578051RegisterInitStart:
;;; Comment this block if Serialized IRQ is used.
;;; ---------------- Begin Block --------------- ;;;
db 41h ;Select Legacy IRQ, CPU_RESET, GA20
dw 7f3dh ;8051 Multiplexing_1 Register
;;; ----------------- End Block ---------------- ;;;
db 02h ;Select DRQ2
dw 7f40h ;8051 Multiplexing_2 Register
db 02h ;Select nDACK2
dw 7f30h ;8051 Mutilplexing_3 Register
Smc9578051RegisterInitEnd:
BBLOCKREGINITCOUNT = (BBlockRegisterInitTableEnd - BBlockRegisterInitTableStart) / 2
ENDIF
;---------------------------------------;
; DMA Routing ;
;---------------------------------------;
BBlockIoDmaRoutingTable:
IF MKF_NAT336
; NAT336 DRQ Pins: DRQ0 = 01h
; DRQ1 = 02h
; DRQ2 = 03h
; None = 00h
; System Nat336
; DRQ DRQ pin
; ------ -------
db 00h, 01h ;System DRQ0 connected to Nat336 DRQ0
db 01h, 02h ;System DRQ1 connected to Nat336 DRQ1
db 02h, 03h ;System DRQ2 connected to Nat336 DRQ2
db 03h, 00h ;System DRQ3 not connected to Nat336
ENDIF
IF MKF_SMC68X
; SMC68X DMA Pins: DMA_A = 00h
; DMA_B = 01h
; DMA_C = 02h
; None = 04h
; System SMC68X
; DRQ DMA pin
; ------ -------
db 00h, 00h ;System DRQ0 connected to SMC68X DMA_A
db 01h, 01h ;System DRQ1 connected to SMC68X DMA_B
db 02h, 02h ;System DRQ2 connected to SMC68X DMA_C
db 03h, 04h ;System DRQ3 not connected to SMC68X
ENDIF
;---------------------------------------;
; FDC IRQ & DMA Routing ;
;---------------------------------------;
BBlockIoIrqDmaRoutingTable:
IF MKF_GM803C
; GM803C IRQ Pins: IRQ_A = 01h
; IRQ_B = 02h
; IRQ_C = 03h
; IRQ_D = 04h
; IRQ_E = 05h
; IRQ_F = 06h
; IRQ_H = 08h
; GM803C DMA Pins: DMA_A = 01h
; DMA_B = 02h
; DMA_C = 03h
; IRQ 6 DMA 2
; ------- -------
db 06h, 02h ;ex: uses IRQ_F pin for IRQ6
; DMA_B pin for DRQ2
ENDIF
IF MKF_SMC669
; SMC669 IRQ Pins: IRQ_A = 01h
; IRQ_B = 02h
; IRQ_C = 03h
; IRQ_D = 04h
; IRQ_E = 05h
; IRQ_F = 06h
; IRQ_G = 07h
; IRQ_H = 08h
; SMC669 DMA Pins: DMA_A = 01h
; DMA_B = 02h
; DMA_C = 03h
; IRQ 6 DMA 2
; ------- -------
db 06h, 02h ;ex: uses IRQ_F pin for IRQ6
; DMA_B pin for DRQ2
ENDIF
IF MKF_WIN877
; Win877 IRQ Pins: IRQ_A = 01h
; IRQ_B = 02h
; IRQ_C = 03h
; IRQ_D = 04h
; IRQ_E = 05h
; IRQ_F = 06h
; IRQ_G = 07h
; IRQ_H = 08h
; Win877 DMA Pins: DMA_A = 01h
; DMA_B = 02h
; DMA_C = 03h
db 06h, 02h ;ex: uses IRQ_F pin for IRQ6
; DMA_B pin for DRQ2
ENDIF
;******************************************************************************;
; RUNTIME ;
;******************************************************************************;
ELSE ; Runtime tables
public LptIrqBitMask
public LptDmaBitMask
public IoIrqRoutingTable
public IoDmaRoutingTable
;------------------------------------------------------;
; IRQ and DMA channel available to route (in bit mask) ;
;------------------------------------------------------;
LptIrqBitMask:
dw 00a0h ;IRQ 5, 7
LptDmaBitMask:
db 00001011b ;DMA3, DMA1, DMA0
;---------------------------------------;
; Register Initialization ;
;---------------------------------------;
IF MKF_AIP
public REGINITCOUNT
public RegisterInitTableStart
public RegisterInitTableEnd
RegisterInitTableStart:
; Power
; Register On Value
; -------- --------
; db 002h, 000h ; CR 2
db 003h, 000h ; CR 3
db 010h, 000h ; CR 10
db 020h, 000h ; CR 20
db 030h, 000h ; CR 30
db 040h, 000h ; CR 40
db 050h, 000h ; CR 50
RegisterInitTableEnd:
REGINITCOUNT = (RegisterInitTableEnd - RegisterInitTableStart) / 2
ENDIF
IF MKF_ALI5113
public REGINITCOUNT
public RegisterInitTableStart
public RegisterInitTableEnd
RegisterInitTableStart:
; Power
; Register On Value
; -------- --------
db 011h, 000h ; CR 1
db 022h, 000h ; CR 2
db 033h, 090h ; CR 3
db 055h, 003h ; CR 5
db 066h, 0a0h ; CR 6
db 077h, 001h ; CR 7
db 088h, 000h ; CR 8
db 099h, 000h ; CR 9
db 0aah, 08ah ; CR A
db 0bbh, 048h ; CR B
db 0cch, 041h ; CR C
RegisterInitTableEnd:
REGINITCOUNT = (RegisterInitTableEnd - RegisterInitTableStart) / 2
ENDIF
IF MKF_ALI5119
public REGINITCOUNT
public RegisterInitTableStart
public RegisterInitTableEnd
RegisterInitTableStart:
; Power
; Register On Value
; -------- --------
db 022h, 000h ; CR 2
db 033h, 090h ; CR 3
db 055h, 003h ; CR 5
db 066h, 080h ; CR 6
db 077h, 001h ; CR 7
db 088h, 010h ; CR 8
db 099h, 010h ; CR 9
db 0aah, 08ah ; CR A
db 0bbh, 048h ; CR B
db 0cch, 001h ; CR C
RegisterInitTableEnd:
REGINITCOUNT = (RegisterInitTableEnd - RegisterInitTableStart) / 2
ENDIF
IF MKF_ALI5123
public REGINITCOUNT
public RegisterInitTableStart
public RegisterInitTableEnd
RegisterInitTableStart:
; Device Data/Reg
; -------- --------
db 000h ;select logical device 0 (FDC)
dw 0030h ;deactivate FDC
db 003h ;select logical device 3 (LPT)
dw 3CF0h
db 003h ;select logical device 3 (LPT)
dw 0030h ;deactivate LPT
db 004h ;select logical device 4 (SER1)
dw 0030h ;deactivate COMA
db 005h ;select logical device 5 (SER2)
dw 0030h ;deactivate COMB
RegisterInitTableEnd:
REGINITCOUNT = (RegisterInitTableEnd - RegisterInitTableStart) / 3
ENDIF
IF MKF_CT735
public REGINITCOUNT
public RegisterInitTableStart
public RegisterInitTableEnd
RegisterInitTableStart:
; Power
; Register On Value
; -------- --------
db 000h, 08Ah ; CR 0
db 001h, 0B4h ; CR 1
db 002h, 088h ; CR 2
db 005h, 000h ; CR 5
db 006h, 000h ; CR 6
db 009h, 000h ; CR 9
RegisterInitTableEnd:
REGINITCOUNT = (RegisterInitTableEnd - RegisterInitTableStart) / 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -