R and C changed to SMD

This commit is contained in:
freitz85 2017-07-12 22:23:15 +02:00
parent 4d7a7bcec0
commit c185b53681
4 changed files with 1240 additions and 1037 deletions

View File

@ -1,591 +0,0 @@
********************************
*
* Initialize SD card
*
********************************
XC
ORG $C800
SLOT16 = $2B ; s0 -> slot * 16
CURSLOT = $07F8 ; Cs
DATA = $C0C0 ; slot 4
CTRL = DATA+1
DIV = DATA+2
SS = DATA+3
R30 = $0478
R31 = $04F8
R32 = $0578
R33 = $05F8
CMDLO = $FA
CMDHI = $FB
WORK = $3C
*
FROM = $FA ; + $fb
TO = $FC ; + $fd
SIZE = $FE ; + $ff
*
SSNONE = $0F
SS0 = $0E
TC = $80
DUMMY = $FF
********************************
*
* Install SD card driver
*
********************************
* signature bytes
LDX #$20
LDY #$00
LDX #$03
STX WORK
* find slot nr
JSR $FF58
TSX
LDA $0100,X
AND #$0F
ORA #$C0
STA CURSLOT ; $Cs
ASL A
ASL A
ASL A
ASL A
STA SLOT16 ; $s0
BIT $CFFF
JSR INIT
*
* TODO: check for init error
*
* see if slot has a driver already
INSTALL LDX $BF31 ; get devcnt
INSLP LDA $BF32,X ; get a devnum
AND #$70 ; isolate slot
CMP SLOT16 ; slot?
BEQ INSOUT ; yes, skip it
DEX
BPL INSLP ; keep up the search
* restore the devnum to the list
LDX $BF31 ; get devcnt again
CPX #$0D device table full?
BNE INSLP2
ERROR JMP INSOUT ; do something!
INSLP2 LDA $BF32-1,X ; move all entries down
STA $BF32,X ; to make room at front
DEX ; for a new entry
BNE INSLP2
LDA #$04 ; ProFile type device
ORA SLOT16
STA $BF32 ; slot, drive 1 at top of list
INC $BF31 ; update devcnt
* now insert the device driver vector
LDA CURSLOT
AND #$0F
TXA
LDA #<DRIVER
STA $BF10,X
LDA CURSLOT
STA $BF11,X
INSOUT RTS
********************************
*
* Jump table
*
********************************
DRIVER CLD
BIT $CFFF
LDA $42 ; get command
CMP #$00
BEQ :STATUS
CMP #$01
BEQ :READ
CMP #$02
BEQ :WRITE
CMP #$03
BEQ :FORMAT
SEC ; unknown command
LDA #$01
RTS
:STATUS JMP STATUS
:READ JMP READ
:WRITE JMP WRITE
:FORMAT JMP FORMAT
ORG $C8FC
DW $FFFF ; 65535 blocks
DB $47 ; Status bits
DB #<DRIVER ; LSB of driver
ORG $C900
********************************
*
* Initialize SD card
*
* C Clear - No error
* Set - Error
* A $00 - No error
* $27 - I/O error - Init failed
* $28 - No card inserted
*
********************************
INIT CLD
LDA #$03 ; set SPI mode 3
STA CTRL
LDA #SSNONE
STA SS
LDA #7
STA DIV
LDX #10
LDA #DUMMY
:LOOP STA DATA
:WAIT BIT CTRL
BPL :WAIT
DEX
BNE :LOOP ; do 10 times
LDA #SS0 ; set CS low
STA SS
LDA #<CMD0 ; send CMD0
STA CMDLO
LDA #>CMD0
STA CMDHI
JSR CMD
JSR GETR1 ; get response
CMP #$01
BNE ERROR1 ; error!
LDA #<CMD8 ; send CMD8
STA CMDLO
LDA #>CMD8
STA CMDHI
JSR CMD
JSR GETR3
CMP #$01
BNE SDV1 ; may be SD Ver. 1
* check for $01aa match!
SDV2 LDA #<CMD55
STA CMDLO
LDA #>CMD55
STA CMDHI
JSR CMD
JSR GETR1
LDA #<ACMD41_40
STA CMDLO
LDA #>ACMD41_40
STA CMDHI
JSR CMD
JSR GETR1
CMP #$01
BEQ SDV2 ; wait for ready
CMP #$00
BNE ERROR1 ; error!
* send CMD58
* SD Ver. 2 initialized!
JMP BLOCKSZ
ERROR1 JMP IOERROR ; needed for far jump
SDV1 LDA #<CMD55
STA CMDLO
LDA #>CMD55
STA CMDHI
JSR CMD ; ignore response
LDA #<ACMD41_0
STA CMDLO
LDA #>ACMD41_0
STA CMDHI
JSR CMD
JSR GETR1
CMP #$01
BEQ SDV1 ; wait for ready
CMP #$00
BNE MMC ; may be MMC card
* SD Ver. 1 initialized!
JMP BLOCKSZ
MMC LDA #<CMD1
STA CMDLO
LDA #>CMD1
STA CMDHI
:LOOP JSR CMD
JSR GETR1
CMP #$01
BEQ :LOOP ; wait for ready
CMP #$00
BNE IOERROR ; error!
* MMC Ver. 3 initialized!
BLOCKSZ LDA #<CMD16
STA CMDLO
LDA #>CMD16
STA CMDHI
JSR CMD
JSR GETR1
CMP #$00
BNE IOERROR ; error!
END CLC ; all ok
LDY #0
BCC END1
CDERROR SEC
LDY #$28 ; no card error
BCS END1
IOERROR SEC
LDY #$27 ; init error
END1 LDA #SSNONE ; deselect card
STA SS
LDA #0
STA DIV
TYA ; retval in A
RTS
********************************
*
* Send SD command
* Call with command in CMDHI and CMDLO
*
********************************
CMD LDY #0
:LOOP LDA (CMDLO),Y
STA DATA
:WAIT BIT CTRL ; TC is in N
BPL :WAIT
INY
CPY #6
BCC :LOOP
RTS
********************************
*
* Get R1
* R1 is in A
*
********************************
GETR1 LDA #DUMMY
STA DATA
:WAIT BIT CTRL
BPL :WAIT
LDA DATA ; get response
STA R30+SLOT ; save R1
AND #$80
BNE GETR1 ; wait for MSB=0
LDA #DUMMY
STA DATA ; send another dummy
LDA R30+SLOT ; restore R1
RTS
********************************
*
* Get R3
* R1 is in A
* R3 is in scratchpad ram
*
********************************
GETR3 JSR GETR1 ; get R1 first
PHA ; save R1
PHY ; save Y
LDY #04
:LOOP LDA #DUMMY ; send dummy
STA DATA
:WAIT BIT CTRL
BPL :WAIT
LDA DATA
PHA
DEY
BNE :LOOP ; do 4 times
PLA
STA R33+SLOT ; save R3
PLA
STA R32+SLOT
PLA
STA R31+SLOT
PLA
STA R30+SLOT
PLY ; restore Y
LDA #DUMMY
STA DATA ; send another dummy
PLA ; restore R1
RTS
********************************
*
* Status request
* $43 Unt number DSSS000
* $44-45 Unused
* $46-47 Unused
*
* C Clear - No error
* Set - Error
* A $00 - No error
* $27 - I/O error
* $28 - No card inserted / no init
* $2B - Card write protected
* X - Blocks avail (low byte)
* Y - Blocks avail (high byte)
*
********************************
STATUS CLC ; no error
LDA #0
LDX #$FF ; 32 MB partition
LDY #$FF
RTS
*
* TODO: check for card detect and write protect!
*
********************************
*
* Read 512 byte block
* $43 Unit number DSSS0000
* $44-45 Address (LO/HI) of buffer
* $46-47 Block number (LO/HI)
*
* C Clear - No error
* Set - Error
* A $00 - No error
* $27 - Bad block number
* $28 - No card inserted
*
********************************
*
* TODO: check for card detect!
*
READ LDA #SS0 ; enable /CS
STA SS
LDA $46 ; store block num
STA R33+SLOT ; in R30-R33
LDA $47
STA R32+SLOT
STZ R31+SLOT
STZ R30+SLOT
LDY #9
:LOOP ASL R33+SLOT ; mul block num
ROL R32+SLOT ; by 512 to get
ROL R31+SLOT ; real address
ROL R30+SLOT
DEY
BNE :LOOP
LDA #$51 ; send CMD17
STA DATA
:WAIT BIT CTRL
BPL :WAIT
:ARG LDA R30+SLOT ; get arg from R30 on
STA DATA
:WAIT1 BIT CTRL
BPL :WAIT1
LDA R31+SLOT
STA DATA
:WAIT11 BIT CTRL
BPL :WAIT11
LDA R32+SLOT
STA DATA
:WAIT12 BIT CTRL
BPL :WAIT12
LDA R33+SLOT
STA DATA
:WAIT13 BIT CTRL
BPL :WAIT13
LDA #DUMMY
STA DATA ; dummy crc
:WAIT2 BIT CTRL
BPL :WAIT2
:GETR1 LDA #DUMMY
STA DATA ; get R1
:WAIT3 BIT CTRL
BPL :WAIT3
LDA DATA ; get response
*
* TODO: check for error!
*
CMP #$FE
BNE :GETR1 ; wait for $FE
LDX #2 ; read data from card
:LOOPX LDY #0
:LOOPY LDA #DUMMY
STA DATA
:WAIT4 BIT CTRL
BPL :WAIT4
LDA DATA
STA ($44)
INC $44
BNE :INY
INC $45 ; inc msb on page boundary
:INY INY
BNE :LOOPY
DEX
BNE :LOOPX
:OK JSR GETR3 ; read 2 bytes crc
LDA #SSNONE
STA SS ; disable /CS
CLC ; no error
LDA #$00
RTS
:ERROR LDA #SSNONE
STA SS ; disable /CS
SEC ; an error occured
LDA #$27
RTS
********************************
*
* Write 512 byte block
* $43 Unit number DSSS000
* $44-45 Address (LO/HI) of buffer
* $46-47 Block number (LO/HI)
*
* C Clear - No error
* Set - Error
* A $00 - No error
* $27 - Bad block number
* $28 - No card inserted
*
********************************
*
* TODO: check for card detect and write protect!
*
WRITE LDA #SS0 ; enable /CS
STA SS
LDA $46 ; store block num
STA R33+SLOT
LDA $47
STA R32+SLOT
STZ R31+SLOT
STZ R30+SLOT
LDY #9
:LOOP ASL R33+SLOT ; mul block num
ROL R32+SLOT ; by 512 to get
ROL R31+SLOT ; real address
ROL R30+SLOT
DEY
BNE :LOOP
LDA #$58 ; send CMD24
STA DATA
:WAIT BIT CTRL
BPL :WAIT
:ARG LDA R30+SLOT ; get arg from R30 on
STA DATA
:WAIT1 BIT CTRL
BPL :WAIT1
LDA R31+SLOT
STA DATA
:WAIT11 BIT CTRL
BPL :WAIT11
LDA R32+SLOT
STA DATA
:WAIT12 BIT CTRL
BPL :WAIT12
LDA R33+SLOT
STA DATA
:WAIT13 BIT CTRL
BPL :WAIT13
LDA #DUMMY
STA DATA ; dummy crc
:WAIT2 BIT CTRL
BPL :WAIT2
:GETR1 LDA #DUMMY
STA DATA ; get R1
:WAIT3 BIT CTRL
BPL :WAIT3
LDA DATA : get response
*
* TODO: check for error!
*
CMP #$FE
BNE :GETR1 ; wait for $FE
LDX #2 ; send data to card
:LOOPX LDY #0
:LOOPY LDA ($44)
STA DATA
:WAIT4 BIT CTRL
BPL :WAIT4
INC $44
BNE :INY
INC $45 ; inc msb on page boundary
:INY INY
BNE :LOOPY
DEX
BNE :LOOPX
LDY #2 ; send 2 dummy crc bytes
:CRC STA DATA
:WAIT5 BIT CTRL
BPL :WAIT5
DEY
BNE :CRC
:OK LDA #SSNONE ; disable /CS
STA SS
CLC ; no error
LDA #0
RTS
********************************
*
* Format
* not supported!
*
********************************
FORMAT SEC
LDA #$01 ; invalid command
RTS
CMD0 HEX 400000000095
CMD1 HEX 4100000000F9
CMD8 HEX 48000001AA87
CMD16 HEX 5000000200FF
CMD55 HEX 770000000065
ACMD41_40 HEX 694000000077
ACMD41_0 HEX 6900000000FF
DRIVEND = *

591
AppleIISd.s Normal file
View File

@ -0,0 +1,591 @@
;*******************************
;
; Initialize SD card
;
;*******************************
.PC02
ORG $C800
SLOT16 = $2B ; s0 -> slot * 16
CURSLOT = $07F8 ; Cs
DATA = $C0C0 ; slot 4
CTRL = DATA+1
DIV = DATA+2
SS = DATA+3
R30 = $0478
R31 = $04F8
R32 = $0578
R33 = $05F8
CMDLO = $FA
CMDHI = $FB
WORK = $3C
FROM = $FA ; + $fb
TO = $FC ; + $fd
SIZE = $FE ; + $ff
SSNONE = $0F
SS0 = $0E
TC = $80
DUMMY = $FF
;*******************************
;
; Install SD card driver
;
;*******************************
; signature bytes
ldx #$20
ldy #$00
ldx #$03
stx WORK
; find slot nr
jsr $FF58
tsx
lda $0100,X
and #$0F
ora #$C0
sta CURSLOT ; $Cs
asl A
asl A
asl A
asl A
sta SLOT16 ; $s0
bit $CFFF
jsr INIT:
;
; TODO: check for init error
;
; see if slot has a driver already
INSTALL: ldx $BF31 ; get devcnt
INSLP: lda $BF32,X ; get a devnum
and #$70 ; isolate slot
cmp SLOT16 ; slot?
beq INSOUT: ; yes, skip it
dex
bpl INSLP: ; keep up the search
; restore the devnum to the list
ldx $BF31 ; get devcnt again
cpx #$0D ; device table full?
bne INSLP2:
ERROR: jmp INSOUT: ; do something!
INSLP2: lda $BF32-1,X ; move all entries down
sta $BF32,X ; to make room at front
dex ; for a new entry
bne INSLP2:
lda #$04 ; ProFile type device
ora SLOT16
sta $BF32 ; slot, drive 1 at top of list
inc $BF31 ; update devcnt
; now insert the device driver vector
lda CURSLOT
and #$0F
txa
lda #<DRIVER:
sta $BF10,X
lda CURSLOT
sta $BF11,X
INSOUT: rts
;*******************************
;
; Jump table
;
;*******************************
DRIVER: cld
bit $CFFF
lda $42 ; get command
cmp #$00
beq @STATUS:
cmp #$01
beq @READ:
cmp #$02
beq @WRITE:
cmp #$03
beq @FORMAT:
sec ; unknown command
lda #$01
rts
@STATUS: jmp STATUS:
@READ: jmp READ:
@WRITE: jmp WRITE:
@FORMAT: jmp FORMAT:
ORG $C8FC
.word $FFFF ; 65535 blocks
.byte $47 ; Status bits
.byte #<DRIVER: ; LSB of driver
ORG $C900
;*******************************
;
; Initialize SD card
;
; C Clear - No error
; Set - Error
; A $00 - No error
; $27 - I/O error - Init failed
; $28 - No card inserted
;
;*******************************
INIT: cld
lda #$03 ; set SPI mode 3
sta CTRL
lda #SSNONE
sta SS
lda #7
sta DIV
ldx #10
lda #DUMMY
@LOOP: sta DATA
@WAIT: bit CTRL
bpl @WAIT:
dex
bne @LOOP: ; do 10 times
lda #SS0 ; set CS low
sta SS
lda #<CMD0 ; send CMD0
sta CMDLO
lda #>CMD0
sta CMDHI
jsr CMD
jsr GETR1: ; get response
cmp #$01
bne ERROR1: ; error!
lda #<CMD8 ; send CMD8
sta CMDLO
lda #>CMD8
sta CMDHI
jsr CMD
jsr GETR3:
cmp #$01
bne SDV1: ; may be SD Ver. 1
; check for $01aa match!
SDV2: lda #<CMD55
sta CMDLO
lda #>CMD55
sta CMDHI
jsr CMD
jsr GETR1:
lda #<ACMD41_40
sta CMDLO
lda #>ACMD41_40
sta CMDHI
jsr CMD
jsr GETR1:
cmp #$01
beq SDV2: ; wait for ready
cmp #$00
bne ERROR1: ; error!
; send CMD58
; SD Ver. 2 initialized!
jmp BLOCKSZ:
ERROR1: jmp IOERROR: ; needed for far jump
SDV1: lda #<CMD55
sta CMDLO
lda #>CMD55
sta CMDHI
jsr CMD ; ignore response
lda #<ACMD41_0
sta CMDLO
lda #>ACMD41_0
sta CMDHI
jsr CMD
jsr GETR1:
cmp #$01
beq SDV1: ; wait for ready
cmp #$00
bne MMC: ; may be MMC card
; SD Ver. 1 initialized!
jmp BLOCKSZ:
MMC: lda #<CMD1
sta CMDLO
lda #>CMD1
sta CMDHI
@LOOP: jsr CMD
jsr GETR1:
cmp #$01
beq @LOOP: ; wait for ready
cmp #$00
bne IOERROR: ; error!
; MMC Ver. 3 initialized!
BLOCKSZ: lda #<CMD16
sta CMDLO
lda #>CMD16
sta CMDHI
jsr CMD
jsr GETR1:
cmp #$00
bne IOERROR: ; error!
END: clc ; all ok
ldy #0
bcc END1:
CDERROR: sec
ldy #$28 ; no card error
bcs END1:
IOERROR: sec
ldy #$27 ; init error
END1: lda #SSNONE ; deselect card
sta SS
lda #0
sta DIV
tya ; retval in A
rts
;*******************************
;
; Send SD command
; Call with command in CMDHI and CMDLO
;
;*******************************
CMD: ldy #0
@LOOP: lda (CMDLO),Y
sta DATA
@WAIT: bit CTRL ; TC is in N
bpl @WAIT:
iny
cpy #6
bcc @LOOP:
rts
;*******************************
;
; Get R1
; R1 is in A
;
;*******************************
GETR1: lda #DUMMY
sta DATA
@WAIT: bit CTRL
bpl @WAIT:
lda DATA ; get response
sta R30+SLOT ; save R1
and #$80
bne GETR1: ; wait for MSB=0
lda #DUMMY
sta DATA ; send another dummy
lda R30+SLOT ; restore R1
rts
;*******************************
;
; Get R3
; R1 is in A
; R3 is in scratchpad ram
;
;*******************************
GETR3: jsr GETR1: ; get R1 first
pha ; save R1
phy ; save Y
ldy #04
@LOOP: lda #DUMMY ; send dummy
sta DATA
@WAIT: bit CTRL
bpl @WAIT:
lda DATA
pha
dey
bne @LOOP: ; do 4 times
pla
sta R33+SLOT ; save R3
pla
sta R32+SLOT
pla
sta R31+SLOT
pla
sta R30+SLOT
ply ; restore Y
lda #DUMMY
sta DATA ; send another dummy
pla ; restore R1
rts
;*******************************
;
; Status request
; $43 Unt number DSSS000
; $44-45 Unused
; $46-47 Unused
;
; C Clear - No error
; Set - Error
; A $00 - No error
; $27 - I/O error
; $28 - No card inserted / no init
; $2B - Card write protected
; X - Blocks avail (low byte)
; Y - Blocks avail (high byte)
;
;*******************************
STATUS: clc ; no error
lda #0
ldx #$FF ; 32 MB partition
ldy #$FF
rts
;
; TODO: check for card detect and write protect!
;
;*******************************
;
; Read 512 byte block
; $43 Unit number DSSS0000
; $44-45 Address (LO/HI) of buffer
; $46-47 Block number (LO/HI)
;
; C Clear - No error
; Set - Error
; A $00 - No error
; $27 - Bad block number
; $28 - No card inserted
;
;*******************************
;
; TODO: check for card detect!
;
READ: lda #SS0 ; enable /CS
sta SS
lda $46 ; store block num
sta R33+SLOT ; in R30-R33
lda $47
sta R32+SLOT
stz R31+SLOT
stz R30+SLOT
ldy #9
@LOOP: asl R33+SLOT ; mul block num
rol R32+SLOT ; by 512 to get
rol R31+SLOT ; real address
rol R30+SLOT
dey
bne @LOOP:
lda #$51 ; send CMD17
sta DATA
@WAIT: bit CTRL
bpl @WAIT:
@ARG: lda R30+SLOT ; get arg from R30 on
sta DATA
@WAIT1: bit CTRL
bpl @WAIT1:
lda R31+SLOT
sta DATA
@WAIT11: bit CTRL
bpl @WAIT11:
lda R32+SLOT
sta DATA
@WAIT12: bit CTRL
bpl @WAIT12:
lda R33+SLOT
sta DATA
@WAIT13: bit CTRL
bpl @WAIT13:
lda #DUMMY
sta DATA ; dummy crc
@WAIT2: bit CTRL
bpl @WAIT2:
@GETR1: lda #DUMMY
sta DATA ; get R1
@WAIT3: bit CTRL
bpl @WAIT3:
lda DATA ; get response
;
; TODO: check for error!
;
cmp #$FE
bne @GETR1: ; wait for $FE
ldx #2 ; read data from card
@LOOPX: ldy #0
@LOOPY: lda #DUMMY
sta DATA
@WAIT4: bit CTRL
bpl @WAIT4:
lda DATA
sta ($44)
inc $44
bne @INCY:
inc $45 ; inc msb on page boundary
@INCY: iny
bne @LOOPY:
dex
bne @LOOPX:
@OK: jsr GETR3: ; read 2 bytes crc
lda #SSNONE
sta SS ; disable /CS
clc ; no error
lda #$00
rts
:ERROR: lda #SSNONE
sta SS ; disable /CS
sec ; an error occured
lda #$27
rts
;*******************************
;
; Write 512 byte block
; $43 Unit number DSSS000
; $44-45 Address (LO/HI) of buffer
; $46-47 Block number (LO/HI)
;
; C Clear - No error
; Set - Error
; A $00 - No error
; $27 - Bad block number
; $28 - No card inserted
;
;*******************************
;
; TODO: check for card detect and write protect!
;
WRITE: lda #SS0 ; enable /CS
sta SS
lda $46 ; store block num
sta R33+SLOT
lda $47
sta R32+SLOT
stz R31+SLOT
stz R30+SLOT
ldy #9
@LOOP: asl R33+SLOT ; mul block num
rol R32+SLOT ; by 512 to get
rol R31+SLOT ; real address
rol R30+SLOT
dey
bne @LOOP:
lda #$58 ; send CMD24
sta DATA
@WAIT: bit CTRL
bpl @WAIT:
@ARG: lda R30+SLOT ; get arg from R30 on
sta DATA
@WAIT1: bit CTRL
bpl @WAIT1:
lda R31+SLOT
sta DATA
@WAIT11: bit CTRL
bpl @WAIT11:
lda R32+SLOT
sta DATA
@WAIT12: bit CTRL
bpl @WAIT12:
lda R33+SLOT
sta DATA
@WAIT13: bit CTRL
bpl @WAIT13:
lda #DUMMY
sta DATA ; dummy crc
@WAIT2: bit CTRL
bpl @WAIT2:
@GETR1: lda #DUMMY
sta DATA ; get R1
@WAIT3: bit CTRL
bpl @WAIT3:
lda DATA ; get response
;
; TODO: check for error!
;
cmp #$FE
bne @GETR1: ; wait for $FE
ldx #2 ; send data to card
@LOOPX: ldy #0
@LOOPY: lda ($44)
sta DATA
@WAIT4: bit CTRL
bpl @WAIT4:
inc $44
bne @INCY:
inc $45 ; inc msb on page boundary
@INCY: iny
bne @LOOPY:
dex
bne @LOOPX:
ldy #2 ; send 2 dummy crc bytes
@CRC: sta DATA
@WAIT:5 bit CTRL
bpl @WAIT:5
dey
bne @CRC:
@OK: lda #SSNONE ; disable /CS
sta SS
clc ; no error
lda #0
rts
;*******************************
;
; Format
; not supported!
;
;*******************************
FORMAT: sec
lda #$01 ; invalid command
rts
CMD0 .byte $400000000095
CMD1 .byte $4100000000F9
CMD8 .byte $48000001AA87
CMD16 .byte $5000000200FF
CMD55 .byte $770000000065
ACMD41_40 .byte $694000000077
ACMD41_0 .byte $6900000000FF
DRIVEND = *

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="8.2.1">
<eagle version="8.2.2">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
@ -15605,14 +15605,13 @@ W = angled&lt;p&gt;
</classes>
<parts>
<part name="ST1" library="con-apple2" deviceset="A2-50PIN" device="SLOT1-3"/>
<part name="U$1" library="xilinx-xc9" library_urn="urn:adsk.eagle:library:416" deviceset="XC9572_S44" device="" value="XC9572XL"/>
<part name="IC4" library="xilinx-xc9" library_urn="urn:adsk.eagle:library:416" deviceset="XC9572_S44" device="" value="XC9572XL"/>
<part name="IC1" library="74xx-eu" library_urn="urn:adsk.eagle:library:85" deviceset="74*245" device="N" technology="HCT"/>
<part name="IC2" library="v-reg" library_urn="urn:adsk.eagle:library:409" deviceset="LM317TL" device="" value="LM317"/>
<part name="C1" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="025-025X050" value="100n"/>
<part name="C2" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="CPOL-EU" device="E2.5-5" value="1u"/>
<part name="R1" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="200"/>
<part name="R2" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="330"/>
<part name="R3" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="22k"/>
<part name="R1" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="200"/>
<part name="R2" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="330"/>
<part name="R3" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="100k"/>
<part name="+3V1" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="+3V3" device=""/>
<part name="P+1" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="+5V" device=""/>
<part name="GND1" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="GND" device=""/>
@ -15624,30 +15623,38 @@ W = angled&lt;p&gt;
<part name="GND2" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="GND" device=""/>
<part name="GND3" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="GND" device=""/>
<part name="GND6" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="GND" device=""/>
<part name="R4" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="470"/>
<part name="R4" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="470"/>
<part name="+3V4" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="+3V3" device=""/>
<part name="LED1" library="led" library_urn="urn:adsk.eagle:library:259" deviceset="LED" device="SQR2X5"/>
<part name="IC3" library="memory" library_urn="urn:adsk.eagle:library:279" deviceset="2716" device="" value="2716 / 2732"/>
<part name="P+4" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="+5V" device=""/>
<part name="GND7" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="GND" device=""/>
<part name="C3" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="025-025X050" value="100n"/>
<part name="C4" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="025-025X050" value="100n"/>
<part name="C5" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="025-025X050" value="100n"/>
<part name="U$2" library="con-sd-attend2" deviceset="104H-TDA0-R" device=""/>
<part name="FRAME1" library="frames" library_urn="urn:adsk.eagle:library:229" deviceset="A3L-LOC" device=""/>
<part name="R5" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="22k"/>
<part name="R6" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="22k"/>
<part name="R7" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="22k"/>
<part name="R8" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="22k"/>
<part name="R9" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="22k"/>
<part name="R5" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="100k"/>
<part name="R6" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="100k"/>
<part name="R7" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="100k"/>
<part name="R8" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="68k"/>
<part name="R9" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="100k"/>
<part name="P+5" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="+5V" device=""/>
<part name="SV1" library="con-lstb" library_urn="urn:adsk.eagle:library:162" deviceset="MA03-1" device=""/>
<part name="R10" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="0204/7" value="10k"/>
<part name="R10" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="10k"/>
<part name="P+6" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="+5V" device=""/>
<part name="GND4" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="GND" device=""/>
<part name="SV2" library="con-lstb" library_urn="urn:adsk.eagle:library:162" deviceset="MA06-1" device=""/>
<part name="+3V3" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="+3V3" device=""/>
<part name="GND8" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="GND" device=""/>
<part name="C5" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="C0603K" value="100n"/>
<part name="C6" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="C0603K" value="100n"/>
<part name="C7" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="C0603K" value="100n"/>
<part name="C8" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="C0603K" value="10n"/>
<part name="C9" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="C0603K" value="10n"/>
<part name="C10" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="C0603K" value="10n"/>
<part name="C3" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="C0603K" value="100n"/>
<part name="C4" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="C0603K" value="100n"/>
<part name="GND9" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="GND" device=""/>
<part name="R11" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="R-EU_" device="R0603" value="100k"/>
<part name="C1" library="rcl" library_urn="urn:adsk.eagle:library:334" deviceset="C-EU" device="C0603K" value="100n"/>
</parts>
<sheets>
<sheet>
@ -15710,10 +15717,9 @@ Program CPLD</text>
<instance part="ST1" gate="_INT_OUT" x="73.66" y="142.24" rot="R180"/>
<instance part="ST1" gate="_DMA_OUT" x="73.66" y="152.4" rot="R180"/>
<instance part="ST1" gate="_+5V" x="73.66" y="99.06" rot="R180"/>
<instance part="U$1" gate="G$1" x="200.66" y="124.46"/>
<instance part="IC4" gate="G$1" x="200.66" y="124.46"/>
<instance part="IC1" gate="A" x="106.68" y="129.54" rot="R180"/>
<instance part="IC2" gate="A" x="124.46" y="30.48"/>
<instance part="C1" gate="G$1" x="109.22" y="20.32"/>
<instance part="C2" gate="G$1" x="144.78" y="20.32"/>
<instance part="R1" gate="G$1" x="137.16" y="22.86" rot="R90"/>
<instance part="R2" gate="G$1" x="124.46" y="12.7" rot="R90"/>
@ -15725,22 +15731,19 @@ Program CPLD</text>
<instance part="GND5" gate="1" x="81.28" y="93.98"/>
<instance part="IC1" gate="P" x="177.8" y="22.86"/>
<instance part="+3V5" gate="G$1" x="276.86" y="177.8"/>
<instance part="U$1" gate="SUPPLY" x="203.2" y="22.86"/>
<instance part="+3V2" gate="G$1" x="203.2" y="38.1"/>
<instance part="IC4" gate="SUPPLY" x="218.44" y="22.86"/>
<instance part="+3V2" gate="G$1" x="218.44" y="38.1"/>
<instance part="P+3" gate="1" x="177.8" y="38.1"/>
<instance part="GND2" gate="1" x="203.2" y="5.08"/>
<instance part="GND2" gate="1" x="218.44" y="5.08"/>
<instance part="GND3" gate="1" x="177.8" y="5.08"/>
<instance part="GND6" gate="1" x="287.02" y="96.52"/>
<instance part="R4" gate="G$1" x="246.38" y="132.08" rot="R180"/>
<instance part="+3V4" gate="G$1" x="251.46" y="157.48"/>
<instance part="LED1" gate="G$1" x="251.46" y="152.4"/>
<instance part="IC3" gate="A" x="266.7" y="68.58" rot="MR180"/>
<instance part="IC3" gate="P" x="226.06" y="22.86"/>
<instance part="P+4" gate="1" x="226.06" y="38.1"/>
<instance part="GND7" gate="1" x="226.06" y="5.08"/>
<instance part="C3" gate="G$1" x="170.18" y="22.86"/>
<instance part="C4" gate="G$1" x="233.68" y="22.86"/>
<instance part="C5" gate="G$1" x="190.5" y="22.86"/>
<instance part="IC3" gate="P" x="256.54" y="22.86"/>
<instance part="P+4" gate="1" x="256.54" y="38.1"/>
<instance part="GND7" gate="1" x="256.54" y="5.08"/>
<instance part="U$2" gate="G$1" x="292.1" y="109.22"/>
<instance part="FRAME1" gate="G$1" x="-30.48" y="-43.18"/>
<instance part="R5" gate="G$1" x="287.02" y="149.86"/>
@ -15756,9 +15759,20 @@ Program CPLD</text>
<instance part="SV2" gate="1" x="330.2" y="66.04" rot="R180"/>
<instance part="+3V3" gate="G$1" x="312.42" y="78.74"/>
<instance part="GND8" gate="1" x="312.42" y="68.58"/>
<instance part="C5" gate="G$1" x="190.5" y="22.86"/>
<instance part="C6" gate="G$1" x="198.12" y="22.86"/>
<instance part="C7" gate="G$1" x="205.74" y="22.86"/>
<instance part="C8" gate="G$1" x="228.6" y="22.86"/>
<instance part="C9" gate="G$1" x="236.22" y="22.86"/>
<instance part="C10" gate="G$1" x="243.84" y="22.86"/>
<instance part="C3" gate="G$1" x="170.18" y="22.86"/>
<instance part="C4" gate="G$1" x="264.16" y="22.86"/>
<instance part="GND9" gate="1" x="325.12" y="162.56" rot="R180"/>
<instance part="R11" gate="G$1" x="281.94" y="154.94"/>
<instance part="C1" gate="G$1" x="109.22" y="20.32"/>
</instances>
<busses>
<bus name="DATA">
<bus name="DATA[0..7]">
<segment>
<wire x1="134.62" y1="147.32" x2="157.48" y2="147.32" width="0.762" layer="92"/>
<label x="147.32" y="149.86" size="1.778" layer="95"/>
@ -15776,11 +15790,11 @@ Program CPLD</text>
<pinref part="GND1" gate="1" pin="GND"/>
<wire x1="124.46" y1="7.62" x2="109.22" y2="7.62" width="0.1524" layer="91"/>
<junction x="124.46" y="7.62"/>
<pinref part="C1" gate="G$1" pin="2"/>
<wire x1="109.22" y1="7.62" x2="109.22" y2="15.24" width="0.1524" layer="91"/>
<wire x1="124.46" y1="7.62" x2="144.78" y2="7.62" width="0.1524" layer="91"/>
<pinref part="C2" gate="G$1" pin="-"/>
<wire x1="144.78" y1="7.62" x2="144.78" y2="15.24" width="0.1524" layer="91"/>
<pinref part="C1" gate="G$1" pin="2"/>
</segment>
<segment>
<pinref part="ST1" gate="_GND" pin="P"/>
@ -15791,36 +15805,56 @@ Program CPLD</text>
<pinref part="IC1" gate="P" pin="GND"/>
<pinref part="GND3" gate="1" pin="GND"/>
<wire x1="177.8" y1="15.24" x2="177.8" y2="7.62" width="0.1524" layer="91"/>
<pinref part="C3" gate="G$1" pin="2"/>
<wire x1="170.18" y1="17.78" x2="170.18" y2="15.24" width="0.1524" layer="91"/>
<wire x1="170.18" y1="15.24" x2="177.8" y2="15.24" width="0.1524" layer="91"/>
<junction x="177.8" y="15.24"/>
<pinref part="C3" gate="G$1" pin="2"/>
</segment>
<segment>
<pinref part="U$1" gate="SUPPLY" pin="GND@1"/>
<pinref part="IC4" gate="SUPPLY" pin="GND@1"/>
<pinref part="GND2" gate="1" pin="GND"/>
<wire x1="203.2" y1="15.24" x2="203.2" y2="12.7" width="0.1524" layer="91"/>
<pinref part="U$1" gate="SUPPLY" pin="GND@0"/>
<wire x1="203.2" y1="12.7" x2="203.2" y2="7.62" width="0.1524" layer="91"/>
<wire x1="198.12" y1="15.24" x2="198.12" y2="12.7" width="0.1524" layer="91"/>
<wire x1="198.12" y1="12.7" x2="203.2" y2="12.7" width="0.1524" layer="91"/>
<junction x="203.2" y="12.7"/>
<pinref part="U$1" gate="SUPPLY" pin="GND@2"/>
<wire x1="208.28" y1="15.24" x2="208.28" y2="12.7" width="0.1524" layer="91"/>
<wire x1="208.28" y1="12.7" x2="203.2" y2="12.7" width="0.1524" layer="91"/>
<pinref part="C5" gate="G$1" pin="2"/>
<wire x1="218.44" y1="15.24" x2="218.44" y2="12.7" width="0.1524" layer="91"/>
<pinref part="IC4" gate="SUPPLY" pin="GND@0"/>
<wire x1="218.44" y1="12.7" x2="218.44" y2="7.62" width="0.1524" layer="91"/>
<wire x1="213.36" y1="15.24" x2="213.36" y2="12.7" width="0.1524" layer="91"/>
<wire x1="213.36" y1="12.7" x2="218.44" y2="12.7" width="0.1524" layer="91"/>
<junction x="218.44" y="12.7"/>
<pinref part="IC4" gate="SUPPLY" pin="GND@2"/>
<wire x1="223.52" y1="15.24" x2="223.52" y2="12.7" width="0.1524" layer="91"/>
<wire x1="223.52" y1="12.7" x2="218.44" y2="12.7" width="0.1524" layer="91"/>
<wire x1="205.74" y1="17.78" x2="205.74" y2="12.7" width="0.1524" layer="91"/>
<wire x1="205.74" y1="12.7" x2="213.36" y2="12.7" width="0.1524" layer="91"/>
<junction x="213.36" y="12.7"/>
<wire x1="190.5" y1="17.78" x2="190.5" y2="12.7" width="0.1524" layer="91"/>
<wire x1="190.5" y1="12.7" x2="198.12" y2="12.7" width="0.1524" layer="91"/>
<junction x="205.74" y="12.7"/>
<wire x1="198.12" y1="12.7" x2="205.74" y2="12.7" width="0.1524" layer="91"/>
<wire x1="198.12" y1="17.78" x2="198.12" y2="12.7" width="0.1524" layer="91"/>
<junction x="198.12" y="12.7"/>
<wire x1="243.84" y1="17.78" x2="243.84" y2="12.7" width="0.1524" layer="91"/>
<wire x1="243.84" y1="12.7" x2="236.22" y2="12.7" width="0.1524" layer="91"/>
<junction x="223.52" y="12.7"/>
<wire x1="236.22" y1="12.7" x2="228.6" y2="12.7" width="0.1524" layer="91"/>
<wire x1="228.6" y1="12.7" x2="223.52" y2="12.7" width="0.1524" layer="91"/>
<wire x1="236.22" y1="17.78" x2="236.22" y2="12.7" width="0.1524" layer="91"/>
<junction x="236.22" y="12.7"/>
<wire x1="228.6" y1="17.78" x2="228.6" y2="12.7" width="0.1524" layer="91"/>
<junction x="228.6" y="12.7"/>
<pinref part="C5" gate="G$1" pin="2"/>
<pinref part="C6" gate="G$1" pin="2"/>
<pinref part="C7" gate="G$1" pin="2"/>
<pinref part="C8" gate="G$1" pin="2"/>
<pinref part="C9" gate="G$1" pin="2"/>
<pinref part="C10" gate="G$1" pin="2"/>
</segment>
<segment>
<pinref part="IC3" gate="P" pin="GND"/>
<pinref part="GND7" gate="1" pin="GND"/>
<wire x1="226.06" y1="15.24" x2="226.06" y2="7.62" width="0.1524" layer="91"/>
<wire x1="256.54" y1="15.24" x2="256.54" y2="7.62" width="0.1524" layer="91"/>
<wire x1="264.16" y1="17.78" x2="264.16" y2="15.24" width="0.1524" layer="91"/>
<wire x1="264.16" y1="15.24" x2="256.54" y2="15.24" width="0.1524" layer="91"/>
<junction x="256.54" y="15.24"/>
<pinref part="C4" gate="G$1" pin="2"/>
<wire x1="233.68" y1="17.78" x2="233.68" y2="15.24" width="0.1524" layer="91"/>
<wire x1="233.68" y1="15.24" x2="226.06" y2="15.24" width="0.1524" layer="91"/>
<junction x="226.06" y="15.24"/>
</segment>
<segment>
<pinref part="U$2" gate="G$1" pin="VSS2"/>
@ -15846,16 +15880,21 @@ Program CPLD</text>
<wire x1="322.58" y1="71.12" x2="312.42" y2="71.12" width="0.1524" layer="91"/>
<pinref part="GND8" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="GND9" gate="1" pin="GND"/>
<pinref part="U$2" gate="G$1" pin="SC"/>
<wire x1="325.12" y1="160.02" x2="325.12" y2="157.48" width="0.1524" layer="91"/>
</segment>
</net>
<net name="+5V" class="0">
<segment>
<pinref part="P+1" gate="1" pin="+5V"/>
<pinref part="C1" gate="G$1" pin="1"/>
<wire x1="109.22" y1="35.56" x2="109.22" y2="30.48" width="0.1524" layer="91"/>
<pinref part="IC2" gate="A" pin="IN"/>
<wire x1="109.22" y1="30.48" x2="109.22" y2="22.86" width="0.1524" layer="91"/>
<wire x1="116.84" y1="30.48" x2="109.22" y2="30.48" width="0.1524" layer="91"/>
<junction x="109.22" y="30.48"/>
<pinref part="C1" gate="G$1" pin="1"/>
</segment>
<segment>
<pinref part="P+2" gate="1" pin="+5V"/>
@ -15867,19 +15906,19 @@ Program CPLD</text>
<pinref part="P+3" gate="1" pin="+5V"/>
<pinref part="IC1" gate="P" pin="VCC"/>
<wire x1="177.8" y1="35.56" x2="177.8" y2="30.48" width="0.1524" layer="91"/>
<pinref part="C3" gate="G$1" pin="1"/>
<wire x1="170.18" y1="25.4" x2="170.18" y2="30.48" width="0.1524" layer="91"/>
<wire x1="170.18" y1="30.48" x2="177.8" y2="30.48" width="0.1524" layer="91"/>
<junction x="177.8" y="30.48"/>
<pinref part="C3" gate="G$1" pin="1"/>
</segment>
<segment>
<pinref part="P+4" gate="1" pin="+5V"/>
<pinref part="IC3" gate="P" pin="VCC"/>
<wire x1="226.06" y1="35.56" x2="226.06" y2="30.48" width="0.1524" layer="91"/>
<wire x1="256.54" y1="35.56" x2="256.54" y2="30.48" width="0.1524" layer="91"/>
<wire x1="264.16" y1="25.4" x2="264.16" y2="30.48" width="0.1524" layer="91"/>
<wire x1="264.16" y1="30.48" x2="256.54" y2="30.48" width="0.1524" layer="91"/>
<junction x="256.54" y="30.48"/>
<pinref part="C4" gate="G$1" pin="1"/>
<wire x1="233.68" y1="25.4" x2="233.68" y2="30.48" width="0.1524" layer="91"/>
<wire x1="233.68" y1="30.48" x2="226.06" y2="30.48" width="0.1524" layer="91"/>
<junction x="226.06" y="30.48"/>
</segment>
<segment>
<pinref part="SV1" gate="G$1" pin="1"/>
@ -15931,23 +15970,44 @@ Program CPLD</text>
<pinref part="R9" gate="G$1" pin="1"/>
<wire x1="281.94" y1="165.1" x2="276.86" y2="165.1" width="0.1524" layer="91"/>
<junction x="276.86" y="165.1"/>
<pinref part="R11" gate="G$1" pin="1"/>
</segment>
<segment>
<pinref part="U$1" gate="SUPPLY" pin="VCCINT@1"/>
<pinref part="IC4" gate="SUPPLY" pin="VCCINT@1"/>
<pinref part="+3V2" gate="G$1" pin="+3V3"/>
<wire x1="203.2" y1="30.48" x2="203.2" y2="33.02" width="0.1524" layer="91"/>
<pinref part="U$1" gate="SUPPLY" pin="VCCINT@0"/>
<wire x1="203.2" y1="33.02" x2="203.2" y2="35.56" width="0.1524" layer="91"/>
<wire x1="198.12" y1="30.48" x2="198.12" y2="33.02" width="0.1524" layer="91"/>
<wire x1="198.12" y1="33.02" x2="203.2" y2="33.02" width="0.1524" layer="91"/>
<junction x="203.2" y="33.02"/>
<pinref part="U$1" gate="SUPPLY" pin="VCCIO"/>
<wire x1="208.28" y1="30.48" x2="208.28" y2="33.02" width="0.1524" layer="91"/>
<wire x1="208.28" y1="33.02" x2="203.2" y2="33.02" width="0.1524" layer="91"/>
<pinref part="C5" gate="G$1" pin="1"/>
<wire x1="218.44" y1="30.48" x2="218.44" y2="33.02" width="0.1524" layer="91"/>
<pinref part="IC4" gate="SUPPLY" pin="VCCINT@0"/>
<wire x1="218.44" y1="33.02" x2="218.44" y2="35.56" width="0.1524" layer="91"/>
<wire x1="213.36" y1="30.48" x2="213.36" y2="33.02" width="0.1524" layer="91"/>
<wire x1="213.36" y1="33.02" x2="218.44" y2="33.02" width="0.1524" layer="91"/>
<junction x="218.44" y="33.02"/>
<pinref part="IC4" gate="SUPPLY" pin="VCCIO"/>
<wire x1="223.52" y1="30.48" x2="223.52" y2="33.02" width="0.1524" layer="91"/>
<wire x1="223.52" y1="33.02" x2="218.44" y2="33.02" width="0.1524" layer="91"/>
<wire x1="205.74" y1="25.4" x2="205.74" y2="33.02" width="0.1524" layer="91"/>
<wire x1="205.74" y1="33.02" x2="213.36" y2="33.02" width="0.1524" layer="91"/>
<junction x="213.36" y="33.02"/>
<wire x1="190.5" y1="25.4" x2="190.5" y2="33.02" width="0.1524" layer="91"/>
<wire x1="190.5" y1="33.02" x2="198.12" y2="33.02" width="0.1524" layer="91"/>
<junction x="205.74" y="33.02"/>
<wire x1="198.12" y1="33.02" x2="205.74" y2="33.02" width="0.1524" layer="91"/>
<wire x1="198.12" y1="25.4" x2="198.12" y2="33.02" width="0.1524" layer="91"/>
<junction x="198.12" y="33.02"/>
<wire x1="223.52" y1="33.02" x2="228.6" y2="33.02" width="0.1524" layer="91"/>
<junction x="223.52" y="33.02"/>
<wire x1="228.6" y1="33.02" x2="236.22" y2="33.02" width="0.1524" layer="91"/>
<wire x1="236.22" y1="33.02" x2="243.84" y2="33.02" width="0.1524" layer="91"/>
<wire x1="243.84" y1="33.02" x2="243.84" y2="25.4" width="0.1524" layer="91"/>
<wire x1="228.6" y1="25.4" x2="228.6" y2="33.02" width="0.1524" layer="91"/>
<junction x="228.6" y="33.02"/>
<wire x1="236.22" y1="25.4" x2="236.22" y2="33.02" width="0.1524" layer="91"/>
<junction x="236.22" y="33.02"/>
<pinref part="C5" gate="G$1" pin="1"/>
<pinref part="C6" gate="G$1" pin="1"/>
<pinref part="C7" gate="G$1" pin="1"/>
<pinref part="C8" gate="G$1" pin="1"/>
<pinref part="C9" gate="G$1" pin="1"/>
<pinref part="C10" gate="G$1" pin="1"/>
</segment>
<segment>
<pinref part="+3V4" gate="G$1" pin="+3V3"/>
@ -15975,16 +16035,15 @@ Program CPLD</text>
<pinref part="IC1" gate="A" pin="DIR"/>
<label x="124.46" y="139.7" size="1.778" layer="95"/>
<pinref part="ST1" gate="_RW" pin="P"/>
<wire x1="132.08" y1="139.7" x2="119.38" y2="139.7" width="0.1524" layer="91"/>
<wire x1="76.2" y1="160.02" x2="132.08" y2="160.02" width="0.1524" layer="91"/>
<wire x1="132.08" y1="160.02" x2="167.64" y2="160.02" width="0.1524" layer="91"/>
<wire x1="167.64" y1="137.16" x2="167.64" y2="160.02" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB01/02"/>
<pinref part="IC4" gate="G$1" pin="FB01/02"/>
<wire x1="167.64" y1="137.16" x2="170.18" y2="137.16" width="0.1524" layer="91"/>
<wire x1="132.08" y1="139.7" x2="132.08" y2="160.02" width="0.1524" layer="91"/>
<junction x="132.08" y="160.02"/>
<wire x1="132.08" y1="139.7" x2="119.38" y2="139.7" width="0.1524" layer="91"/>
<label x="78.74" y="160.02" size="1.778" layer="95"/>
<wire x1="119.38" y1="139.7" x2="132.08" y2="139.7" width="0.1524" layer="91"/>
<wire x1="132.08" y1="139.7" x2="132.08" y2="160.02" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="SV1" gate="G$1" pin="3"/>
@ -15997,14 +16056,14 @@ Program CPLD</text>
<pinref part="ST1" gate="_00" pin="P"/>
<wire x1="76.2" y1="109.22" x2="165.1" y2="109.22" width="0.1524" layer="91"/>
<label x="78.74" y="109.22" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB01/15"/>
<pinref part="IC4" gate="G$1" pin="FB01/15"/>
<wire x1="170.18" y1="119.38" x2="165.1" y2="119.38" width="0.1524" layer="91"/>
<wire x1="165.1" y1="119.38" x2="165.1" y2="109.22" width="0.1524" layer="91"/>
</segment>
</net>
<net name="!CS" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="FB04/11"/>
<pinref part="IC4" gate="G$1" pin="FB04/11"/>
<wire x1="231.14" y1="129.54" x2="261.62" y2="129.54" width="0.1524" layer="91"/>
<label x="233.68" y="129.54" size="1.778" layer="95"/>
<pinref part="U$2" gate="G$1" pin="DAT3/CS/CD"/>
@ -16018,7 +16077,7 @@ Program CPLD</text>
</net>
<net name="MOSI" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="FB02/02"/>
<pinref part="IC4" gate="G$1" pin="FB02/02"/>
<wire x1="264.16" y1="165.1" x2="210.82" y2="165.1" width="0.1524" layer="91"/>
<wire x1="210.82" y1="165.1" x2="210.82" y2="154.94" width="0.1524" layer="91"/>
<label x="210.82" y="157.48" size="1.778" layer="95" rot="R90"/>
@ -16040,7 +16099,7 @@ Program CPLD</text>
<junction x="266.7" y="154.94"/>
<pinref part="U$2" gate="G$1" pin="DAT0"/>
<wire x1="266.7" y1="139.7" x2="292.1" y2="139.7" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB02/11"/>
<pinref part="IC4" gate="G$1" pin="FB02/11"/>
<wire x1="198.12" y1="167.64" x2="198.12" y2="154.94" width="0.1524" layer="91"/>
<label x="198.12" y="157.48" size="1.778" layer="95" rot="R90"/>
</segment>
@ -16051,13 +16110,13 @@ Program CPLD</text>
<wire x1="76.2" y1="165.1" x2="193.04" y2="165.1" width="0.1524" layer="91"/>
<label x="193.04" y="157.48" size="1.778" layer="95" rot="R90"/>
<label x="78.74" y="165.1" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB02/15"/>
<pinref part="IC4" gate="G$1" pin="FB02/15"/>
<wire x1="193.04" y1="165.1" x2="193.04" y2="154.94" width="0.1524" layer="91"/>
</segment>
</net>
<net name="!LED" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="FB04/14"/>
<pinref part="IC4" gate="G$1" pin="FB04/14"/>
<pinref part="R4" gate="G$1" pin="2"/>
<wire x1="231.14" y1="132.08" x2="241.3" y2="132.08" width="0.1524" layer="91"/>
<label x="233.68" y="132.08" size="1.778" layer="95"/>
@ -16077,7 +16136,7 @@ Program CPLD</text>
<label x="127" y="88.9" size="1.778" layer="95"/>
<wire x1="121.92" y1="142.24" x2="121.92" y2="88.9" width="0.1524" layer="91"/>
<wire x1="121.92" y1="88.9" x2="193.04" y2="88.9" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB03/05"/>
<pinref part="IC4" gate="G$1" pin="FB03/05"/>
<wire x1="193.04" y1="93.98" x2="193.04" y2="88.9" width="0.1524" layer="91"/>
</segment>
</net>
@ -16087,7 +16146,7 @@ Program CPLD</text>
<label x="231.14" y="76.2" size="1.778" layer="95"/>
<wire x1="251.46" y1="76.2" x2="210.82" y2="76.2" width="0.1524" layer="91"/>
<wire x1="210.82" y1="76.2" x2="210.82" y2="93.98" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB03/17"/>
<pinref part="IC4" gate="G$1" pin="FB03/17"/>
</segment>
</net>
<net name="B9" class="0">
@ -16096,7 +16155,7 @@ Program CPLD</text>
<wire x1="251.46" y1="73.66" x2="248.92" y2="73.66" width="0.1524" layer="91"/>
<wire x1="248.92" y1="73.66" x2="248.92" y2="127" width="0.1524" layer="91"/>
<label x="233.68" y="127" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB04/08"/>
<pinref part="IC4" gate="G$1" pin="FB04/08"/>
<wire x1="248.92" y1="127" x2="231.14" y2="127" width="0.1524" layer="91"/>
</segment>
</net>
@ -16106,7 +16165,7 @@ Program CPLD</text>
<wire x1="251.46" y1="71.12" x2="246.38" y2="71.12" width="0.1524" layer="91"/>
<wire x1="246.38" y1="71.12" x2="246.38" y2="124.46" width="0.1524" layer="91"/>
<label x="233.68" y="124.46" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB04/05"/>
<pinref part="IC4" gate="G$1" pin="FB04/05"/>
<wire x1="246.38" y1="124.46" x2="231.14" y2="124.46" width="0.1524" layer="91"/>
</segment>
</net>
@ -16188,7 +16247,7 @@ Program CPLD</text>
<segment>
<pinref part="ST1" gate="_A00" pin="P"/>
<label x="78.74" y="50.8" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB03/14"/>
<pinref part="IC4" gate="G$1" pin="FB03/14"/>
<wire x1="203.2" y1="50.8" x2="203.2" y2="93.98" width="0.1524" layer="91"/>
<wire x1="76.2" y1="50.8" x2="203.2" y2="50.8" width="0.1524" layer="91"/>
<pinref part="IC3" gate="A" pin="A0"/>
@ -16201,7 +16260,7 @@ Program CPLD</text>
<segment>
<pinref part="ST1" gate="_A01" pin="P"/>
<label x="78.74" y="53.34" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB03/11"/>
<pinref part="IC4" gate="G$1" pin="FB03/11"/>
<wire x1="200.66" y1="53.34" x2="200.66" y2="93.98" width="0.1524" layer="91"/>
<wire x1="76.2" y1="53.34" x2="200.66" y2="53.34" width="0.1524" layer="91"/>
<pinref part="IC3" gate="A" pin="A1"/>
@ -16258,37 +16317,36 @@ Program CPLD</text>
<net name="ADD7" class="0">
<segment>
<pinref part="ST1" gate="_A07" pin="P"/>
<wire x1="76.2" y1="68.58" x2="88.9" y2="68.58" width="0.1524" layer="91"/>
<wire x1="76.2" y1="68.58" x2="86.36" y2="68.58" width="0.1524" layer="91"/>
<label x="78.74" y="68.58" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="IC3" gate="A" pin="A7"/>
<label x="231.14" y="68.58" size="1.778" layer="95"/>
<wire x1="251.46" y1="68.58" x2="88.9" y2="68.58" width="0.1524" layer="91"/>
<wire x1="251.46" y1="68.58" x2="96.52" y2="68.58" width="0.1524" layer="91"/>
<wire x1="88.9" y1="68.58" x2="86.36" y2="68.58" width="0.1524" layer="91"/>
<wire x1="88.9" y1="68.58" x2="96.52" y2="68.58" width="0.1524" layer="91"/>
</segment>
</net>
<net name="ADD8" class="0">
<segment>
<pinref part="ST1" gate="_A08" pin="P"/>
<wire x1="76.2" y1="177.8" x2="208.28" y2="177.8" width="0.1524" layer="91"/>
<label x="78.74" y="177.8" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="FB02/05"/>
<pinref part="IC4" gate="G$1" pin="FB02/05"/>
<wire x1="208.28" y1="154.94" x2="208.28" y2="177.8" width="0.1524" layer="91"/>
<label x="208.28" y="157.48" size="1.778" layer="95" rot="R90"/>
<pinref part="ST1" gate="_A08" pin="P"/>
<wire x1="76.2" y1="177.8" x2="203.2" y2="177.8" width="0.1524" layer="91"/>
<label x="78.74" y="177.8" size="1.778" layer="95"/>
<wire x1="208.28" y1="177.8" x2="203.2" y2="177.8" width="0.1524" layer="91"/>
</segment>
</net>
<net name="ADD9" class="0">
<segment>
<pinref part="ST1" gate="_A09" pin="P"/>
<wire x1="76.2" y1="175.26" x2="205.74" y2="175.26" width="0.1524" layer="91"/>
<wire x1="76.2" y1="175.26" x2="200.66" y2="175.26" width="0.1524" layer="91"/>
<label x="78.74" y="175.26" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="FB02/06"/>
<wire x1="205.74" y1="154.94" x2="205.74" y2="175.26" width="0.1524" layer="91"/>
<pinref part="IC4" gate="G$1" pin="FB02/06"/>
<wire x1="205.74" y1="154.94" x2="205.74" y2="172.72" width="0.1524" layer="91"/>
<label x="205.74" y="157.48" size="1.778" layer="95" rot="R90"/>
<wire x1="200.66" y1="175.26" x2="205.74" y2="175.26" width="0.1524" layer="91"/>
<wire x1="205.74" y1="175.26" x2="205.74" y2="172.72" width="0.1524" layer="91"/>
</segment>
</net>
<net name="ADD10" class="0">
@ -16296,7 +16354,7 @@ Program CPLD</text>
<pinref part="ST1" gate="_A10" pin="P"/>
<wire x1="76.2" y1="172.72" x2="203.2" y2="172.72" width="0.1524" layer="91"/>
<label x="78.74" y="172.72" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB02/08"/>
<pinref part="IC4" gate="G$1" pin="FB02/08"/>
<wire x1="203.2" y1="154.94" x2="203.2" y2="172.72" width="0.1524" layer="91"/>
<label x="203.2" y="157.48" size="1.778" layer="95" rot="R90"/>
</segment>
@ -16310,7 +16368,7 @@ Program CPLD</text>
<wire x1="152.4" y1="144.78" x2="152.4" y2="116.84" width="0.1524" layer="91"/>
<wire x1="152.4" y1="86.36" x2="152.4" y2="116.84" width="0.1524" layer="91"/>
<junction x="152.4" y="116.84"/>
<pinref part="U$1" gate="G$1" pin="FB03/08"/>
<pinref part="IC4" gate="G$1" pin="FB03/08"/>
<wire x1="195.58" y1="93.98" x2="195.58" y2="86.36" width="0.1524" layer="91"/>
<wire x1="195.58" y1="86.36" x2="152.4" y2="86.36" width="0.1524" layer="91"/>
</segment>
@ -16331,7 +16389,7 @@ Program CPLD</text>
<wire x1="149.86" y1="119.38" x2="149.86" y2="91.44" width="0.1524" layer="91"/>
<junction x="149.86" y="119.38"/>
<wire x1="149.86" y1="91.44" x2="190.5" y2="91.44" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB03/02"/>
<pinref part="IC4" gate="G$1" pin="FB03/02"/>
<wire x1="190.5" y1="91.44" x2="190.5" y2="93.98" width="0.1524" layer="91"/>
</segment>
<segment>
@ -16348,7 +16406,7 @@ Program CPLD</text>
<label x="124.46" y="121.92" size="1.778" layer="95"/>
<wire x1="149.86" y1="147.32" x2="147.32" y2="144.78" width="0.1524" layer="91"/>
<wire x1="147.32" y1="144.78" x2="147.32" y2="121.92" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB01/17"/>
<pinref part="IC4" gate="G$1" pin="FB01/17"/>
<wire x1="170.18" y1="116.84" x2="154.94" y2="116.84" width="0.1524" layer="91"/>
<wire x1="154.94" y1="116.84" x2="154.94" y2="121.92" width="0.1524" layer="91"/>
<wire x1="154.94" y1="121.92" x2="147.32" y2="121.92" width="0.1524" layer="91"/>
@ -16371,7 +16429,7 @@ Program CPLD</text>
<wire x1="144.78" y1="124.46" x2="157.48" y2="124.46" width="0.1524" layer="91"/>
<junction x="144.78" y="124.46"/>
<wire x1="157.48" y1="124.46" x2="157.48" y2="121.92" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB01/14"/>
<pinref part="IC4" gate="G$1" pin="FB01/14"/>
<wire x1="157.48" y1="121.92" x2="170.18" y2="121.92" width="0.1524" layer="91"/>
</segment>
<segment>
@ -16391,7 +16449,7 @@ Program CPLD</text>
<wire x1="142.24" y1="127" x2="160.02" y2="127" width="0.1524" layer="91"/>
<junction x="142.24" y="127"/>
<wire x1="160.02" y1="127" x2="160.02" y2="124.46" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB01/11"/>
<pinref part="IC4" gate="G$1" pin="FB01/11"/>
<wire x1="160.02" y1="124.46" x2="170.18" y2="124.46" width="0.1524" layer="91"/>
</segment>
<segment>
@ -16411,7 +16469,7 @@ Program CPLD</text>
<wire x1="139.7" y1="129.54" x2="162.56" y2="129.54" width="0.1524" layer="91"/>
<junction x="139.7" y="129.54"/>
<wire x1="162.56" y1="129.54" x2="162.56" y2="127" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB01/09"/>
<pinref part="IC4" gate="G$1" pin="FB01/09"/>
<wire x1="162.56" y1="127" x2="170.18" y2="127" width="0.1524" layer="91"/>
</segment>
<segment>
@ -16431,7 +16489,7 @@ Program CPLD</text>
<wire x1="137.16" y1="132.08" x2="165.1" y2="132.08" width="0.1524" layer="91"/>
<junction x="137.16" y="132.08"/>
<wire x1="165.1" y1="132.08" x2="165.1" y2="129.54" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB01/08"/>
<pinref part="IC4" gate="G$1" pin="FB01/08"/>
<wire x1="165.1" y1="129.54" x2="170.18" y2="129.54" width="0.1524" layer="91"/>
</segment>
<segment>
@ -16451,7 +16509,7 @@ Program CPLD</text>
<wire x1="134.62" y1="134.62" x2="167.64" y2="134.62" width="0.1524" layer="91"/>
<junction x="134.62" y="134.62"/>
<wire x1="167.64" y1="134.62" x2="167.64" y2="132.08" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB01/06"/>
<pinref part="IC4" gate="G$1" pin="FB01/06"/>
<wire x1="167.64" y1="132.08" x2="170.18" y2="132.08" width="0.1524" layer="91"/>
</segment>
<segment>
@ -16463,7 +16521,7 @@ Program CPLD</text>
</net>
<net name="WP" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="FB02/09"/>
<pinref part="IC4" gate="G$1" pin="FB02/09"/>
<wire x1="320.04" y1="170.18" x2="292.1" y2="170.18" width="0.1524" layer="91"/>
<wire x1="292.1" y1="170.18" x2="200.66" y2="170.18" width="0.1524" layer="91"/>
<wire x1="200.66" y1="170.18" x2="200.66" y2="154.94" width="0.1524" layer="91"/>
@ -16477,18 +16535,22 @@ Program CPLD</text>
</net>
<net name="CARD" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="FB04/15"/>
<pinref part="IC4" gate="G$1" pin="FB04/15"/>
<wire x1="241.3" y1="134.62" x2="231.14" y2="134.62" width="0.1524" layer="91"/>
<label x="233.68" y="134.62" size="1.778" layer="95"/>
<wire x1="241.3" y1="134.62" x2="241.3" y2="160.02" width="0.1524" layer="91"/>
<wire x1="241.3" y1="160.02" x2="314.96" y2="160.02" width="0.1524" layer="91"/>
<wire x1="241.3" y1="160.02" x2="287.02" y2="160.02" width="0.1524" layer="91"/>
<pinref part="U$2" gate="G$1" pin="CD"/>
<wire x1="287.02" y1="160.02" x2="314.96" y2="160.02" width="0.1524" layer="91"/>
<wire x1="314.96" y1="160.02" x2="314.96" y2="157.48" width="0.1524" layer="91"/>
<pinref part="R11" gate="G$1" pin="2"/>
<wire x1="287.02" y1="154.94" x2="287.02" y2="160.02" width="0.1524" layer="91"/>
<junction x="287.02" y="160.02"/>
</segment>
</net>
<net name="TCK" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="TCK"/>
<pinref part="IC4" gate="G$1" pin="TCK"/>
<label x="233.68" y="114.3" size="1.778" layer="95"/>
<wire x1="231.14" y1="114.3" x2="238.76" y2="114.3" width="0.1524" layer="91"/>
</segment>
@ -16500,7 +16562,7 @@ Program CPLD</text>
</net>
<net name="TDO" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="TDO"/>
<pinref part="IC4" gate="G$1" pin="TDO"/>
<label x="233.68" y="111.76" size="1.778" layer="95"/>
<wire x1="231.14" y1="111.76" x2="238.76" y2="111.76" width="0.1524" layer="91"/>
</segment>
@ -16512,7 +16574,7 @@ Program CPLD</text>
</net>
<net name="TDI" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="TDI"/>
<pinref part="IC4" gate="G$1" pin="TDI"/>
<label x="233.68" y="109.22" size="1.778" layer="95"/>
<wire x1="231.14" y1="109.22" x2="238.76" y2="109.22" width="0.1524" layer="91"/>
</segment>
@ -16524,7 +16586,7 @@ Program CPLD</text>
</net>
<net name="TMS" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="TMS"/>
<pinref part="IC4" gate="G$1" pin="TMS"/>
<label x="233.68" y="106.68" size="1.778" layer="95"/>
<wire x1="231.14" y1="106.68" x2="238.76" y2="106.68" width="0.1524" layer="91"/>
</segment>
@ -16539,14 +16601,14 @@ Program CPLD</text>
<pinref part="ST1" gate="_IOSTR\" pin="P"/>
<wire x1="195.58" y1="167.64" x2="76.2" y2="167.64" width="0.1524" layer="91"/>
<label x="78.74" y="167.64" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB02/14"/>
<pinref part="IC4" gate="G$1" pin="FB02/14"/>
<wire x1="195.58" y1="167.64" x2="195.58" y2="154.94" width="0.1524" layer="91"/>
<label x="195.58" y="157.48" size="1.778" layer="95" rot="R90"/>
</segment>
</net>
<net name="!DEV_SEL" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="FB03/16"/>
<pinref part="IC4" gate="G$1" pin="FB03/16"/>
<label x="78.74" y="78.74" size="1.778" layer="95"/>
<wire x1="208.28" y1="78.74" x2="208.28" y2="93.98" width="0.1524" layer="91"/>
<wire x1="208.28" y1="78.74" x2="76.2" y2="78.74" width="0.1524" layer="91"/>
@ -16556,7 +16618,7 @@ Program CPLD</text>
<net name="!RESET" class="0">
<segment>
<wire x1="76.2" y1="81.28" x2="205.74" y2="81.28" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="FB03/15"/>
<pinref part="IC4" gate="G$1" pin="FB03/15"/>
<wire x1="205.74" y1="81.28" x2="205.74" y2="93.98" width="0.1524" layer="91"/>
<label x="78.74" y="81.28" size="1.778" layer="95"/>
<pinref part="ST1" gate="_RES\" pin="P"/>
@ -16567,7 +16629,7 @@ Program CPLD</text>
<pinref part="U$2" gate="G$1" pin="CLK"/>
<wire x1="292.1" y1="129.54" x2="281.94" y2="129.54" width="0.1524" layer="91"/>
<label x="233.68" y="137.16" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB04/17"/>
<pinref part="IC4" gate="G$1" pin="FB04/17"/>
<wire x1="231.14" y1="137.16" x2="281.94" y2="137.16" width="0.1524" layer="91"/>
<wire x1="281.94" y1="137.16" x2="281.94" y2="129.54" width="0.1524" layer="91"/>
</segment>
@ -16600,7 +16662,7 @@ Program CPLD</text>
<wire x1="167.64" y1="162.56" x2="167.64" y2="180.34" width="0.1524" layer="91"/>
<pinref part="R10" gate="G$1" pin="1"/>
<label x="78.74" y="162.56" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB02/17"/>
<pinref part="IC4" gate="G$1" pin="FB02/17"/>
<wire x1="190.5" y1="154.94" x2="190.5" y2="162.56" width="0.1524" layer="91"/>
<wire x1="190.5" y1="162.56" x2="167.64" y2="162.56" width="0.1524" layer="91"/>
<junction x="167.64" y="162.56"/>
@ -16610,7 +16672,7 @@ Program CPLD</text>
<net name="!OE" class="0">
<segment>
<label x="233.68" y="121.92" size="1.778" layer="95"/>
<pinref part="U$1" gate="G$1" pin="FB04/02"/>
<pinref part="IC4" gate="G$1" pin="FB04/02"/>
<wire x1="231.14" y1="121.92" x2="243.84" y2="121.92" width="0.1524" layer="91"/>
<pinref part="IC3" gate="A" pin="!OE"/>
<wire x1="251.46" y1="83.82" x2="243.84" y2="83.82" width="0.1524" layer="91"/>
@ -16619,7 +16681,7 @@ Program CPLD</text>
</net>
<net name="!IO_SEL" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="FB03/09"/>
<pinref part="IC4" gate="G$1" pin="FB03/09"/>
<wire x1="198.12" y1="93.98" x2="198.12" y2="83.82" width="0.1524" layer="91"/>
<pinref part="ST1" gate="_IOSELECT\" pin="P"/>
<wire x1="198.12" y1="83.82" x2="76.2" y2="83.82" width="0.1524" layer="91"/>
@ -16629,6 +16691,35 @@ Program CPLD</text>
</nets>
</sheet>
</sheets>
<errors>
<approved hash="101,1,2.54,43.18,ST1_-12V@2,P,,,,"/>
<approved hash="101,1,2.54,58.42,ST1_USER1,P,,,,"/>
<approved hash="101,1,2.54,48.26,ST1_01,P,,,,"/>
<approved hash="101,1,2.54,50.8,ST1_Q3,P,,,,"/>
<approved hash="101,1,2.54,68.58,ST1_NC@2,P,,,,"/>
<approved hash="101,1,2.54,38.1,ST1_-5V,P,,,,"/>
<approved hash="101,1,2.54,40.64,ST1_-12V@1,P,,,,"/>
<approved hash="101,1,2.54,78.74,ST1_INH\\,P,,,,"/>
<approved hash="101,1,2.54,81.28,ST1_NMI\\,P,,,,"/>
<approved hash="101,1,2.54,104.14,ST1_A11,P,,,,"/>
<approved hash="101,1,2.54,106.68,ST1_A12,P,,,,"/>
<approved hash="101,1,2.54,109.22,ST1_A13,P,,,,"/>
<approved hash="101,1,2.54,111.76,ST1_A14,P,,,,"/>
<approved hash="101,1,2.54,114.3,ST1_A15,P,,,,"/>
<approved hash="101,1,2.54,66.04,ST1_NC@1,P,,,,"/>
<approved hash="101,1,2.54,55.88,ST1_RDY,P,,,,"/>
<approved hash="101,1,2.54,83.82,ST1_DMA\\,P,,,,"/>
<approved hash="104,1,213.36,30.48,U$1SUPPLY,VCCINT,+3V3,,,"/>
<approved hash="104,1,218.44,30.48,U$1SUPPLY,VCCINT,+3V3,,,"/>
<approved hash="104,1,223.52,30.48,U$1SUPPLY,VCCIO,+3V3,,,"/>
<approved hash="104,1,177.8,30.48,IC1P,VCC,+5V,,,"/>
<approved hash="104,1,256.54,30.48,IC3P,VCC,+5V,,,"/>
<approved hash="113,1,11.8952,43.18,ST1,,,,,"/>
<approved hash="113,1,251.782,151.13,LED1,,,,,"/>
<approved hash="113,1,163.091,86.891,FRAME1,,,,,"/>
<approved hash="113,1,261.662,100.135,SV1,,,,,"/>
<approved hash="113,1,325.162,65.8453,SV2,,,,,"/>
</errors>
</schematic>
</drawing>
<compatibility>