
;--------------------------- " READ ME"  PORTION ------------------------------
; Following is a sample resource data file for a Plug and play ISA adapter.
; Information contained in the resource data file varies from one PnP ISA
; adapter to another. For a detailed information on the contents of this file,
; please refer the ISA PnP specification document ( Chapters 6 and 7 ).

; This file is an assembly ( *.ASM ) file. After preparing this file , compile
; it using MASM compiler, link it and run "EXE2BIN" utility to convert the
; ".EXE" file to ".OBJ" format. The final *.obj file is the PnP resource
; data file which will programmed on to the onchip EEPROM.
;
;      Author : Steve Peng (NSTW FAE)
;-----------------------------------------------------------------------------

data segment

;Configuration related to NM95MS14P/NM95MS16P for resource allocation

;User should refer the  relevant User's guide  to fill the first 8 words

db 00h                  ; I/O Decode Qualification Register
                        ; chip selects are qualified by IOWR & IORD

db 01h                  ; Extended Interrupt / Chip-select expansion mode

dw 0000h                ; DMA level select bits

db 43h                  ; Interrupt level selection - A ( IRQs 3,4,5 & 7)
db 0a9h                  ;  IRQOUT3 ==> IRQ9
                        ;  IRQOUT2 ==> IRQ7
                        ;  IRQOUT1 ==> IRQ4
                        ;  IRQOUT0 ==> IRQ3

db 0bh                 ; Interrupt level selection - B ( IRQs 10,11,12 & 15 )
db 00h                 ;  IRQOUT7 ==> 
                        ;  IRQOUT6 ==> 
                        ;  IRQOUT5 ==> 
                        ;  IRQOUT4 ==> IRQ11

dw 0007h                ; chipselect 0 decode size ( Range of 8 bytes )
dw 0000h                ; chipselect 1 decode size ( Don't care )
dw 0000h                ; chipselect 2 decode size ( Don't care )
dw 0000h                ; chipselect 3 decode size ( Don't care )

; Following 8 words are reserved for future use.

dw 0000h                ; Reserved for future
dw 0000h                ; Reserved for future
dw 0000h                ; Reserved for future
dw 0000h                ; Reserved for future
dw 0000h                ; Reserved for future
dw 0000h                ; Reserved for future
dw 0000h                ; Reserved for future
dw 0000h                ; Reserved for future



;----   Begin of pnp header mfg and device id

db 4ch   ;  4dh                Vendor byte 0 ( NSC0000 )
db 0adH ;   10h                Vendor byte 1
db 22H ;    10h                   Vendor byte 2
db 58H;     10h                   Vendor byte 3
dw 001eh                ; Serial Number byte 0 ( 01234567 -- serial ID )
dw 0000h                ; Serial Number byte 1
db 00h                  ; ----- placeholder for checksum------



;---- begin of pnp Version

db 0ah                  ; Small item, item name = 0x1, len = 2
db 10h                  ; Plug and Play version 1.0
db 03h                  ; Vendor specific version number



;------------------ Ansi Id string  ----------------

db 82h                  ; Large item, Type Identifier string(ANSI)
db 1ch                  ; length of the string (lower byte)
db 00h                  ; length of the string (upper byte)

db "Rockwell 33600bps Modem Card"  ; String itself



;-----------------------  logical device ID  ----
db 15h                  ; len = 5
db 4ch;   4dh                   This byte and the following 3 bytes are
db 0adh;  10h                  same as Vendor ID byte0-3
db 22H  ; 10h                  
db 58H   ;10h                  
db 02h                  ; Indicates I/O range check option is implemented.



;-----------------------  I/O Port and IRQ Descriptor -----
; Following are Dependent function declarations for specific COM port
; with an associated IRQ level. Declarations follow the order of
; priority which is COM1&IRQ4 followed by COM2&IRQ3, COM3&IRQ5 and
; COM4&IRQ5.


; COM1 and IRQ4
db 31h   ;Start Dependent function Header(TAG)=30       Byte 0
db 00h   ;Hightest Priority and Preferred configuration Byte 1
db 47h   ;I/O Port Header(TAG)=47                        Byte 0
db 01h   ;I/O Port Descriptor 0 information=01           Byte 1
db 0f8h  ;I/O Descr.0 min base address[7:0]=f8           Byte 2
db 03h   ;I/O Descr.0 min base address[15:8]=03          Byte 3
db 0f8h  ;I/O Descr.0 max base address[7:0]=f8           Byte 4
db 03h   ;I/O Descr.0 max base address[15:8]=03          Byte 5
db 08h   ;I/O Descr.0 Base Alignment = 08                Byte 6
db 08h   ;I/O Descr.0 max Range Length= 08               Byte 7
db 22h   ;IRQ FORMAT Header
db 10h   ;Request for IRQ 4
db 00h   ;

; COM2 and IRQ3
db 31h   ;Start Dependent function Header(TAG)=30       Byte 0
db 00h   ;Hightest Priority and Preferred configuration Byte 1
db 47h   ;I/O Port Header(TAG)=47                        Byte 0
db 01h   ;I/O Port Descriptor 0 information=01           Byte 1
db 0f8h  ;I/O Descr.0 min base address[7:0]=f8           Byte 2
db 02h   ;I/O Descr.0 min base address[15:8]=02          Byte 3
db 0f8h  ;I/O Descr.0 max base address[7:0]=f8           Byte 4
db 02h   ;I/O Descr.0 max base address[15:8]=02          Byte 5
db 08h   ;I/O Descr.0 Base Alignment = 08                Byte 6
db 08h   ;I/O Descr.0 max Range Length= 08               Byte 7
db 22h   ;IRQ FORMAT Header
db 08h   ;Request for IRQ 3
db 00h   ;

; COM3 and IRQ5
db 31h   ;Start Dependent function Header(TAG)=30       Byte 0
db 00h   ;Hightest Priority and Preferred configuration Byte 1
db 47h   ;I/O Port Header(TAG)=47                        Byte 0
db 01h   ;I/O Port Descriptor 0 information=01           Byte 1
db 0e8h  ;I/O Descr.0 min base address[7:0]=e8           Byte 2
db 03h   ;I/O Descr.0 min base address[15:8]=03          Byte 3
db 0e8h  ;I/O Descr.0 max base address[7:0]=e8           Byte 4
db 03h   ;I/O Descr.0 max base address[15:8]=03          Byte 5
db 08h   ;I/O Descr.0 Base Alignment = 08                Byte 6
db 08h   ;I/O Descr.0 max Range Length= 08               Byte 7
db 22h   ;IRQ FORMAT Header
db 10h   ;Request for IRQ 5
db 00h   ;


; COM4 and IRQ5
db 31h   ;Start Dependent function Header(TAG)=30       Byte 0
db 00h   ;Hightest Priority and Preferred configuration Byte 1
db 47h   ;I/O Port Header(TAG)=47                        Byte 0
db 01h   ;I/O Port Descriptor 0 information=01           Byte 1
db 0e8h  ;I/O Descr.0 min base address[7:0]=e8           Byte 2
db 02h   ;I/O Descr.0 min base address[15:8]=02          Byte 3
db 0e8h  ;I/O Descr.0 max base address[7:0]=e8           Byte 4
db 02h   ;I/O Descr.0 max base address[15:8]=02          Byte 5
db 08h   ;I/O Descr.0 Base Alignment = 08                Byte 6
db 08h   ;I/O Descr.0 max Range Length= 08               Byte 7
db 22h   ;IRQ FORMAT Header
db 10h   ;Request for IRQ 5
db 00h   ;

; Following section requests for COM1,2,3 and 4 with any one IRQs.
; This is in the event that none of the above four choices is available !!

; COM1
db 31h   ;Start Dependent function Header(TAG)=30       Byte 0
db 01h   ;Low Priority but acceptable configuration     Byte 1
db 47h   ;I/O Port Header(TAG)=47                        Byte 0
db 01h   ;I/O Port Descriptor 0 information=01           Byte 1
db 00h  ;I/O Descr.0 min base address[7:0]=f8           Byte 2
db 01h   ;I/O Descr.0 min base address[15:8]=03          Byte 3
db 0f8h  ;I/O Descr.0 max base address[7:0]=f8           Byte 4
db 03h   ;I/O Descr.0 max base address[15:8]=03          Byte 5
db 08h   ;I/O Descr.0 Base Alignment = 08                Byte 6
db 08h   ;I/O Descr.0 max Range Length= 08               Byte 7
db 22h   ;IRQ FORMAT Header
db 18h   ;Request for IRQ 3,5,7,10,11,12,15
db 0eh   ;

; COM2
db 31h   ;Start Dependent function Header(TAG)=30       Byte 0
db 01h   ;Low Priority but acceptable configuration     Byte 1
db 47h   ;I/O Port Header(TAG)=47                        Byte 0
db 01h   ;I/O Port Descriptor 0 information=01           Byte 1
db 00h  ;I/O Descr.0 min base address[7:0]=f8           Byte 2
db 01h   ;I/O Descr.0 min base address[15:8]=02          Byte 3
db 0f8h  ;I/O Descr.0 max base address[7:0]=f8           Byte 4
db 03h   ;I/O Descr.0 max base address[15:8]=02          Byte 5
db 08h   ;I/O Descr.0 Base Alignment = 08                Byte 6
db 08h   ;I/O Descr.0 max Range Length= 08               Byte 7
db 22h   ;IRQ FORMAT Header
db 18h  ;Request for IRQ 4,5,7,10,11,12,15
db 0eh   ;

; COM3
db 31h   ;Start Dependent function Header(TAG)=30       Byte 0
db 01h   ;Low Priority but acceptable configuration     Byte 1
db 47h   ;I/O Port Header(TAG)=47                        Byte 0
db 01h   ;I/O Port Descriptor 0 information=01           Byte 1
db 00h  ;I/O Descr.0 min base address[7:0]=e8           Byte 2
db 01h   ;I/O Descr.0 min base address[15:8]=03          Byte 3
db 0f8h  ;I/O Descr.0 max base address[7:0]=e8           Byte 4
db 03h   ;I/O Descr.0 max base address[15:8]=03          Byte 5
db 08h   ;I/O Descr.0 Base Alignment = 08                Byte 6
db 08h   ;I/O Descr.0 max Range Length= 08               Byte 7
db 22h   ;IRQ FORMAT Header
db 18h   ;Request for IRQ 3,5,7,10,11,12,15
db 0eh   ;


; COM4
db 31h   ;Start Dependent function Header(TAG)=30       Byte 0
db 01h   ;Low Priority but acceptable configuration     Byte 1
db 47h   ;I/O Port Header(TAG)=47                        Byte 0
db 01h   ;I/O Port Descriptor 0 information=01           Byte 1
db 00h  ;I/O Descr.0 min base address[7:0]=e8           Byte 2
db 01h   ;I/O Descr.0 min base address[15:8]=02          Byte 3
db 0f8h  ;I/O Descr.0 max base address[7:0]=e8           Byte 4
db 03h   ;I/O Descr.0 max base address[15:8]=02          Byte 5
db 08h   ;I/O Descr.0 Base Alignment = 08                Byte 6
db 08h   ;I/O Descr.0 max Range Length= 08               Byte 7
db 22h   ;IRQ FORMAT Header
db 18h   ;Request for IRQ 4,5,7,10,11,12,15
db 0eh   ;


db 38h   ; End Dependent function Header (TAG)= 38

;-------------------  END of TAG -------

db 79h
db 00h                  ;       -- placeholder for data checksum

data ends
end

