Merge pull request #2 from tjboldt/fullbyte

Fullbyte
This commit is contained in:
Terence Boldt 2021-01-16 22:50:20 -05:00 committed by GitHub
commit fde4bb712e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 39088 additions and 27758 deletions

View File

@ -11,9 +11,10 @@ IOError = $27
NoDevice = $28 NoDevice = $28
WriteProtect = $2B WriteProtect = $2B
SlotDrive = $50
InputByte = $c08e InputByte = $c08e
OutputByte = $c08d OutputByte = $c08d
InputFlags = $c08b
OutputFlags = $c087
ReadBlockCommand = $01 ReadBlockCommand = $01
WriteBlockCommand = $02 WriteBlockCommand = $02
GetTimeCommand = $03 GetTimeCommand = $03
@ -50,15 +51,6 @@ Boot:
sta BufferHi sta BufferHi
jsr Driver ;get the block jsr Driver ;get the block
; lda #$00 ;block 1
; sta BlockLo
; sta BlockHi
; sta BufferLo ;buffer at $A00
; lda #$0A
; sta BufferHi
; jsr Driver ;get the block
; ldx #sdrive ;set up for slot n
jmp $801 ;execute the block jmp $801 ;execute the block
;; ;;
@ -143,57 +135,39 @@ write256:
SendByte: SendByte:
pha pha
lsr
lsr
lsr
lsr
jsr SendNibble
pla
jsr SendNibble
rts
SendNibble:
and #$0F
ora #$70 ;Write bit low
pha
waitWrite: waitWrite:
lda InputByte,x lda InputFlags,x
asl ;Second highest bit goes low when ready rol
bmi waitWrite rol
bcs waitWrite
pla pla
sta OutputByte,x sta OutputByte,x
lda #$0e ; set bit 0 low to indicate write started
sta OutputFlags,x
finishWrite: finishWrite:
lda InputByte,x lda InputFlags,x
asl rol
bpl finishWrite rol
lda #$FF bcc finishWrite
sta OutputByte,x lda #$0f
sta OutputFlags,x
rts rts
GetByte: GetByte:
jsr GetNibble lda #$0d ;set read flag low
asl sta OutputFlags,x
asl
asl
asl
sta NibbleStorage
jsr GetNibble
and #$0f
ora NibbleStorage
rts
GetNibble:
lda #$b0 ;set read flag low
sta OutputByte,x
waitRead: waitRead:
lda InputFlags,x
rol
bcs waitRead
lda InputByte,x lda InputByte,x
bmi waitRead
ora #$f0 ;set all flags high
sta OutputByte,x
pha pha
lda #$0f ;set all flags high
sta OutputFlags,x
finishRead: finishRead:
lda InputByte,x lda InputFlags,x
bpl finishRead rol
bcc finishRead
pla pla
end: end:
rts rts

Binary file not shown.

Binary file not shown.

View File

@ -10,3 +10,9 @@ ca65 Firmware.asm -D STARTSLOT=\$c500 -o Slot5.o --listing Firmware5.lst
ca65 Firmware.asm -D STARTSLOT=\$c600 -o Slot6.o --listing Firmware6.lst ca65 Firmware.asm -D STARTSLOT=\$c600 -o Slot6.o --listing Firmware6.lst
ca65 Firmware.asm -D STARTSLOT=\$c700 -o Slot7.o --listing Firmware7.lst ca65 Firmware.asm -D STARTSLOT=\$c700 -o Slot7.o --listing Firmware7.lst
ld65 Slot0.o Slot1.o Slot2.o Slot3.o Slot4.o Slot5.o Slot6.o Slot7.o -o Firmware.bin -t none ld65 Slot0.o Slot1.o Slot2.o Slot3.o Slot4.o Slot5.o Slot6.o Slot7.o -o Firmware.bin -t none
cat \
Firmware.bin Firmware.bin Firmware.bin Firmware.bin \
Firmware.bin Firmware.bin Firmware.bin Firmware.bin \
Firmware.bin Firmware.bin Firmware.bin Firmware.bin \
Firmware.bin Firmware.bin Firmware.bin Firmware.bin \
> Firmware_27256_EPROM.bin

View File

@ -0,0 +1,91 @@
(module 74LS00 (layer F.Cu) (tedit 5FB69AA2)
(descr "14-lead though-hole mounted DIP package, row spacing 7.62 mm (300 mils)")
(tags "THT DIP DIL PDIP 2.54mm 7.62mm 300mil")
(fp_text reference U2 (at 3.81 -2.33) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 74LS00 (at 3.875 7.75 90) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user %R (at 3.81 7.62) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 8.7 -1.55) (end -1.1 -1.55) (layer F.CrtYd) (width 0.05))
(fp_line (start 8.7 16.8) (end 8.7 -1.55) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.1 16.8) (end 8.7 16.8) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.1 -1.55) (end -1.1 16.8) (layer F.CrtYd) (width 0.05))
(fp_line (start 6.46 -1.33) (end 4.81 -1.33) (layer F.SilkS) (width 0.12))
(fp_line (start 6.46 16.57) (end 6.46 -1.33) (layer F.SilkS) (width 0.12))
(fp_line (start 1.16 16.57) (end 6.46 16.57) (layer F.SilkS) (width 0.12))
(fp_line (start 1.16 -1.33) (end 1.16 16.57) (layer F.SilkS) (width 0.12))
(fp_line (start 2.81 -1.33) (end 1.16 -1.33) (layer F.SilkS) (width 0.12))
(fp_line (start 0.635 -0.27) (end 1.635 -1.27) (layer F.Fab) (width 0.1))
(fp_line (start 0.635 16.51) (end 0.635 -0.27) (layer F.Fab) (width 0.1))
(fp_line (start 6.985 16.51) (end 0.635 16.51) (layer F.Fab) (width 0.1))
(fp_line (start 6.985 -1.27) (end 6.985 16.51) (layer F.Fab) (width 0.1))
(fp_line (start 1.635 -1.27) (end 6.985 -1.27) (layer F.Fab) (width 0.1))
(fp_arc (start 3.81 -1.33) (end 2.81 -1.33) (angle -180) (layer F.SilkS) (width 0.12))
(fp_line (start 1.55194 3.06832) (end 2.50444 3.06832) (layer F.SilkS) (width 0.12))
(fp_line (start 1.5494 3.08102) (end 1.5494 3.66776) (layer F.SilkS) (width 0.12))
(fp_arc (start 2.03454 3.683) (end 1.5494 3.683) (angle -182.7927024) (layer F.SilkS) (width 0.12))
(fp_arc (start 2.04724 4.35864) (end 2.062479 4.221481) (angle -338.1228359) (layer F.SilkS) (width 0.12))
(fp_line (start 2.52476 3.67538) (end 2.52476 3.0734) (layer F.SilkS) (width 0.12))
(fp_arc (start 1.99898 11.72718) (end 1.51384 11.72718) (angle -182.7927024) (layer F.SilkS) (width 0.12))
(fp_arc (start 2.01168 12.40282) (end 2.026919 12.265661) (angle -338.1228359) (layer F.SilkS) (width 0.12))
(fp_line (start 1.51638 11.1125) (end 2.46888 11.1125) (layer F.SilkS) (width 0.12))
(fp_line (start 2.4892 11.71956) (end 2.4892 11.11758) (layer F.SilkS) (width 0.12))
(fp_line (start 1.51384 11.1252) (end 1.51384 11.71194) (layer F.SilkS) (width 0.12))
(fp_arc (start 5.6769 6.4897) (end 5.19176 6.4897) (angle -182.7927024) (layer F.SilkS) (width 0.12))
(fp_arc (start 5.6896 7.16534) (end 5.704839 7.028181) (angle -338.1228359) (layer F.SilkS) (width 0.12))
(fp_line (start 5.1943 5.87502) (end 6.1468 5.87502) (layer F.SilkS) (width 0.12))
(fp_line (start 6.16712 6.48208) (end 6.16712 5.8801) (layer F.SilkS) (width 0.12))
(fp_line (start 5.19176 5.88772) (end 5.19176 6.47446) (layer F.SilkS) (width 0.12))
(fp_arc (start 5.6769 13.79982) (end 5.19176 13.79982) (angle -182.7927024) (layer F.SilkS) (width 0.12))
(fp_arc (start 5.6896 14.47546) (end 5.704839 14.338301) (angle -338.1228359) (layer F.SilkS) (width 0.12))
(fp_line (start 5.1943 13.18514) (end 6.1468 13.18514) (layer F.SilkS) (width 0.12))
(fp_line (start 6.16712 13.7922) (end 6.16712 13.19022) (layer F.SilkS) (width 0.12))
(fp_line (start 5.19176 13.19784) (end 5.19176 13.78458) (layer F.SilkS) (width 0.12))
(fp_line (start 1.143 0) (end 2.286 0) (layer F.SilkS) (width 0.12))
(fp_line (start 2.286 0) (end 2.286 3.048) (layer F.SilkS) (width 0.12))
(fp_line (start 1.143 2.54) (end 1.905 2.54) (layer F.SilkS) (width 0.12))
(fp_line (start 1.905 2.54) (end 1.905 3.048) (layer F.SilkS) (width 0.12))
(fp_line (start 1.143 5.08) (end 2.032 5.08) (layer F.SilkS) (width 0.12))
(fp_line (start 2.032 5.08) (end 2.032 4.572) (layer F.SilkS) (width 0.12))
(fp_line (start 2.286 11.049) (end 2.286 7.62) (layer F.SilkS) (width 0.12))
(fp_line (start 2.286 7.62) (end 1.143 7.62) (layer F.SilkS) (width 0.12))
(fp_line (start 1.778 11.049) (end 1.778 10.16) (layer F.SilkS) (width 0.12))
(fp_line (start 1.778 10.16) (end 1.143 10.16) (layer F.SilkS) (width 0.12))
(fp_line (start 2.032 12.573) (end 2.032 12.954) (layer F.SilkS) (width 0.12))
(fp_line (start 2.032 12.954) (end 1.143 12.954) (layer F.SilkS) (width 0.12))
(fp_line (start 5.461 5.842) (end 5.461 2.54) (layer F.SilkS) (width 0.12))
(fp_line (start 5.461 2.54) (end 6.477 2.54) (layer F.SilkS) (width 0.12))
(fp_line (start 5.842 5.842) (end 5.842 5.08) (layer F.SilkS) (width 0.12))
(fp_line (start 5.842 5.08) (end 6.477 5.08) (layer F.SilkS) (width 0.12))
(fp_line (start 6.477 7.747) (end 5.715 7.747) (layer F.SilkS) (width 0.12))
(fp_line (start 5.715 7.747) (end 5.715 7.366) (layer F.SilkS) (width 0.12))
(fp_line (start 5.461 13.081) (end 5.461 10.287) (layer F.SilkS) (width 0.12))
(fp_line (start 5.461 10.287) (end 6.477 10.287) (layer F.SilkS) (width 0.12))
(fp_line (start 5.842 13.081) (end 5.842 12.7) (layer F.SilkS) (width 0.12))
(fp_line (start 5.842 12.7) (end 6.477 12.7) (layer F.SilkS) (width 0.12))
(fp_line (start 6.477 15.367) (end 5.715 15.367) (layer F.SilkS) (width 0.12))
(fp_line (start 5.715 15.367) (end 5.715 14.605) (layer F.SilkS) (width 0.12))
(pad 14 thru_hole oval (at 7.62 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 7 thru_hole oval (at 0 15.24) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 13 thru_hole oval (at 7.62 2.54) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 6 thru_hole oval (at 0 12.7) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 12 thru_hole oval (at 7.62 5.08) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 5 thru_hole oval (at 0 10.16) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 11 thru_hole oval (at 7.62 7.62) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 4 thru_hole oval (at 0 7.62) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 10 thru_hole oval (at 7.62 10.16) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 3 thru_hole oval (at 0 5.08) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 9 thru_hole oval (at 7.62 12.7) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 2 thru_hole oval (at 0 2.54) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 8 thru_hole oval (at 7.62 15.24) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 1 thru_hole rect (at 0 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(model ${KISYS3DMOD}/Package_DIP.3dshapes/DIP-14_W7.62mm.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,88 @@
(module 74LS32 (layer F.Cu) (tedit 5FB6A63A)
(descr "14-lead though-hole mounted DIP package, row spacing 7.62 mm (300 mils)")
(tags "THT DIP DIL PDIP 2.54mm 7.62mm 300mil")
(fp_text reference U3 (at 3.81 -2.33) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 74LS32 (at 3.875 7.55 90) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_arc (start 3.81 -1.33) (end 2.81 -1.33) (angle -180) (layer F.SilkS) (width 0.12))
(fp_line (start 1.635 -1.27) (end 6.985 -1.27) (layer F.Fab) (width 0.1))
(fp_line (start 6.985 -1.27) (end 6.985 16.51) (layer F.Fab) (width 0.1))
(fp_line (start 6.985 16.51) (end 0.635 16.51) (layer F.Fab) (width 0.1))
(fp_line (start 0.635 16.51) (end 0.635 -0.27) (layer F.Fab) (width 0.1))
(fp_line (start 0.635 -0.27) (end 1.635 -1.27) (layer F.Fab) (width 0.1))
(fp_line (start 2.81 -1.33) (end 1.16 -1.33) (layer F.SilkS) (width 0.12))
(fp_line (start 1.16 -1.33) (end 1.16 16.57) (layer F.SilkS) (width 0.12))
(fp_line (start 1.16 16.57) (end 6.46 16.57) (layer F.SilkS) (width 0.12))
(fp_line (start 6.46 16.57) (end 6.46 -1.33) (layer F.SilkS) (width 0.12))
(fp_line (start 6.46 -1.33) (end 4.81 -1.33) (layer F.SilkS) (width 0.12))
(fp_line (start -1.1 -1.55) (end -1.1 16.8) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.1 16.8) (end 8.7 16.8) (layer F.CrtYd) (width 0.05))
(fp_line (start 8.7 16.8) (end 8.7 -1.55) (layer F.CrtYd) (width 0.05))
(fp_line (start 8.7 -1.55) (end -1.1 -1.55) (layer F.CrtYd) (width 0.05))
(fp_arc (start 2 2) (end 1.450001 2.774999) (angle -69.47693483) (layer F.SilkS) (width 0.12))
(fp_line (start 1.45 2.775) (end 1.45 3.35) (layer F.SilkS) (width 0.12))
(fp_line (start 2.55 3.35) (end 2.55 2.8) (layer F.SilkS) (width 0.12))
(fp_arc (start 2.55 3.35) (end 1.45 3.35) (angle -58.13402231) (layer F.SilkS) (width 0.12))
(fp_arc (start 1.448537 3.320952) (end 2.548537 3.320952) (angle 62.8786966) (layer F.SilkS) (width 0.12))
(fp_arc (start 5.475 4.825) (end 4.925001 5.599999) (angle -69.47693483) (layer F.SilkS) (width 0.12))
(fp_arc (start 6.025 6.175) (end 4.925 6.175) (angle -58.13402231) (layer F.SilkS) (width 0.12))
(fp_arc (start 4.923537 6.145952) (end 6.023537 6.145952) (angle 62.8786966) (layer F.SilkS) (width 0.12))
(fp_line (start 6.025 6.175) (end 6.025 5.625) (layer F.SilkS) (width 0.12))
(fp_line (start 4.925 5.6) (end 4.925 6.175) (layer F.SilkS) (width 0.12))
(fp_line (start 1.175 2.375) (end 1.75 2.375) (layer F.SilkS) (width 0.12))
(fp_line (start 1.75 2.375) (end 1.75 2.925) (layer F.SilkS) (width 0.12))
(fp_line (start 2.225 2.875) (end 2.225 0) (layer F.SilkS) (width 0.12))
(fp_line (start 2.225 0) (end 1.175 0) (layer F.SilkS) (width 0.12))
(fp_line (start 1.95 4.275) (end 1.95 5.025) (layer F.SilkS) (width 0.12))
(fp_line (start 1.95 5.025) (end 1.175 5.025) (layer F.SilkS) (width 0.12))
(fp_line (start 5.475 7.15) (end 5.475 7.675) (layer F.SilkS) (width 0.12))
(fp_line (start 5.475 7.675) (end 6.425 7.675) (layer F.SilkS) (width 0.12))
(fp_line (start 6.45 5.1) (end 5.725 5.1) (layer F.SilkS) (width 0.12))
(fp_line (start 5.725 5.1) (end 5.725 5.75) (layer F.SilkS) (width 0.12))
(fp_line (start 6.45 2.55) (end 5.25 2.55) (layer F.SilkS) (width 0.12))
(fp_line (start 5.25 2.55) (end 5.25 5.7) (layer F.SilkS) (width 0.12))
(fp_line (start 1.95 12.772) (end 1.175 12.772) (layer F.SilkS) (width 0.12))
(fp_line (start 1.95 12.022) (end 1.95 12.772) (layer F.SilkS) (width 0.12))
(fp_line (start 2.225 7.747) (end 1.175 7.747) (layer F.SilkS) (width 0.12))
(fp_line (start 2.225 10.622) (end 2.225 7.747) (layer F.SilkS) (width 0.12))
(fp_line (start 1.75 10.122) (end 1.75 10.672) (layer F.SilkS) (width 0.12))
(fp_line (start 1.175 10.122) (end 1.75 10.122) (layer F.SilkS) (width 0.12))
(fp_arc (start 1.448537 11.067952) (end 2.548537 11.067952) (angle 62.8786966) (layer F.SilkS) (width 0.12))
(fp_arc (start 2.55 11.097) (end 1.45 11.097) (angle -58.13402231) (layer F.SilkS) (width 0.12))
(fp_line (start 2.55 11.097) (end 2.55 10.547) (layer F.SilkS) (width 0.12))
(fp_line (start 1.45 10.522) (end 1.45 11.097) (layer F.SilkS) (width 0.12))
(fp_arc (start 2 9.747) (end 1.450001 10.521999) (angle -69.47693483) (layer F.SilkS) (width 0.12))
(fp_arc (start 5.475 12.445) (end 4.925001 13.219999) (angle -69.47693483) (layer F.SilkS) (width 0.12))
(fp_line (start 4.925 13.22) (end 4.925 13.795) (layer F.SilkS) (width 0.12))
(fp_line (start 6.025 13.795) (end 6.025 13.245) (layer F.SilkS) (width 0.12))
(fp_arc (start 4.923537 13.765952) (end 6.023537 13.765952) (angle 62.8786966) (layer F.SilkS) (width 0.12))
(fp_line (start 6.45 10.17) (end 5.25 10.17) (layer F.SilkS) (width 0.12))
(fp_line (start 5.725 12.72) (end 5.725 13.37) (layer F.SilkS) (width 0.12))
(fp_line (start 6.45 12.72) (end 5.725 12.72) (layer F.SilkS) (width 0.12))
(fp_line (start 5.475 15.295) (end 6.425 15.295) (layer F.SilkS) (width 0.12))
(fp_line (start 5.475 14.77) (end 5.475 15.295) (layer F.SilkS) (width 0.12))
(fp_line (start 5.25 10.17) (end 5.25 13.32) (layer F.SilkS) (width 0.12))
(fp_arc (start 6.025 13.795) (end 4.925 13.795) (angle -58.13402231) (layer F.SilkS) (width 0.12))
(pad 1 thru_hole rect (at 0 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 8 thru_hole oval (at 7.62 15.24) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 2 thru_hole oval (at 0 2.54) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 9 thru_hole oval (at 7.62 12.7) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 3 thru_hole oval (at 0 5.08) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 10 thru_hole oval (at 7.62 10.16) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 4 thru_hole oval (at 0 7.62) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 11 thru_hole oval (at 7.62 7.62) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 5 thru_hole oval (at 0 10.16) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 12 thru_hole oval (at 7.62 5.08) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 6 thru_hole oval (at 0 12.7) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 13 thru_hole oval (at 7.62 2.54) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 7 thru_hole oval (at 0 15.24) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 14 thru_hole oval (at 7.62 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(model ${KISYS3DMOD}/Package_DIP.3dshapes/DIP-14_W7.62mm.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

View File

@ -0,0 +1,34 @@
(module Capacitor (layer F.Cu) (tedit 5FEB5EFB)
(descr "C, Disc series, Radial, pin pitch=2.50mm, , diameter*width=3.8*2.6mm^2, Capacitor, http://www.vishay.com/docs/45233/krseries.pdf")
(tags "C Disc series Radial pin pitch 2.50mm diameter 3.8mm width 2.6mm Capacitor")
(fp_text reference C1 (at 1.25 2.54) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value C (at 1.25 2.55) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user %R (at 1.25 0) (layer F.Fab)
(effects (font (size 0.76 0.76) (thickness 0.114)))
)
(fp_line (start 3.55 -1.55) (end -1.05 -1.55) (layer F.CrtYd) (width 0.05))
(fp_line (start 3.55 1.55) (end 3.55 -1.55) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.05 1.55) (end 3.55 1.55) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.05 -1.55) (end -1.05 1.55) (layer F.CrtYd) (width 0.05))
(fp_line (start 3.27 0.795) (end 3.27 1.42) (layer F.Fab) (width 0.12))
(fp_line (start 3.27 -1.42) (end 3.27 -0.795) (layer F.Fab) (width 0.12))
(fp_line (start -0.77 0.795) (end -0.77 1.42) (layer F.Fab) (width 0.12))
(fp_line (start -0.77 -1.42) (end -0.77 -0.795) (layer F.Fab) (width 0.12))
(fp_line (start -0.77 1.42) (end 3.27 1.42) (layer F.Fab) (width 0.12))
(fp_line (start -0.77 -1.42) (end 3.27 -1.42) (layer F.Fab) (width 0.12))
(fp_line (start 3.15 -1.3) (end -0.65 -1.3) (layer F.Fab) (width 0.1))
(fp_line (start 3.15 1.3) (end 3.15 -1.3) (layer F.Fab) (width 0.1))
(fp_line (start -0.65 1.3) (end 3.15 1.3) (layer F.Fab) (width 0.1))
(fp_line (start -0.65 -1.3) (end -0.65 1.3) (layer F.Fab) (width 0.1))
(pad 2 thru_hole circle (at 2.5 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(pad 1 thru_hole circle (at 0 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
(model ${KISYS3DMOD}/Capacitor_THT.3dshapes/C_Disc_D3.8mm_W2.6mm_P2.50mm.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.0.2)-1* G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.0.2)-1*
G04 #@! TF.CreationDate,2020-12-13T22:30:25-05:00* G04 #@! TF.CreationDate,2021-01-10T23:41:09-05:00*
G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.2* G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.4*
G04 #@! TF.SameCoordinates,Original* G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Legend,Bot* G04 #@! TF.FileFunction,Legend,Bot*
G04 #@! TF.FilePolarity,Positive* G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*% %FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (5.0.2)-1) date 2020-12-13 22:30:25* G04 Created by KiCad (PCBNEW (5.0.2)-1) date 2021-01-10 23:41:09*
%MOMM*% %MOMM*%
%LPD*% %LPD*%
G01* G01*
@ -394,311 +394,266 @@ X127160595Y-105847619D01*
X127112976Y-105800000D01* X127112976Y-105800000D01*
X127160595Y-105752380D01* X127160595Y-105752380D01*
X127160595Y-105847619D01* X127160595Y-105847619D01*
X159732023Y-108354761D02* X159351071Y-107878571D02*
X159589166Y-108402380D01* X159684404Y-107878571D01*
X159351071Y-108402380D01* X159684404Y-108402380D02*
X159255833Y-108354761D01* X159684404Y-107402380D01*
X159208214Y-108307142D01* X159208214Y-107402380D01*
X159160595Y-108211904D01* X158684404Y-108402380D02*
X159160595Y-108116666D01* X158779642Y-108354761D01*
X159208214Y-108021428D01* X158827261Y-108307142D01*
X159255833Y-107973809D01* X158874880Y-108211904D01*
X159351071Y-107926190D01* X158874880Y-107926190D01*
X159541547Y-107878571D01* X158827261Y-107830952D01*
X159636785Y-107830952D01* X158779642Y-107783333D01*
X159684404Y-107783333D01* X158684404Y-107735714D01*
X159732023Y-107688095D01* X158541547Y-107735714D01*
X159732023Y-107592857D01* X158446309Y-107783333D01*
X159684404Y-107497619D01* X158398690Y-107830952D01*
X159636785Y-107450000D01* X158351071Y-107926190D01*
X159541547Y-107402380D01* X158351071Y-108211904D01*
X159303452Y-107402380D01* X158398690Y-108307142D01*
X159160595Y-107450000D01* X158446309Y-108354761D01*
X158351071Y-108354761D02* X158541547Y-108402380D01*
X158446309Y-108402380D01* X158684404Y-108402380D01*
X158636785Y-108402380D01* X157493928Y-107735714D02*
X158732023Y-108354761D01* X157493928Y-108402380D01*
X158779642Y-108259523D01* X157922500Y-107735714D02*
X158779642Y-107878571D01* X157922500Y-108259523D01*
X158732023Y-107783333D01* X157874880Y-108354761D01*
X158636785Y-107735714D01* X157779642Y-108402380D01*
X158446309Y-107735714D01* X157636785Y-108402380D01*
X158351071Y-107783333D01* X157541547Y-108354761D01*
X158303452Y-107878571D01* X157493928Y-108307142D01*
X158303452Y-107973809D01* X157017738Y-108402380D02*
X158779642Y-108069047D01* X157017738Y-107735714D01*
X157446309Y-108354761D02* X157017738Y-107926190D02*
X157541547Y-108402380D01* X156970119Y-107830952D01*
X157732023Y-108402380D01* X156922500Y-107783333D01*
X157827261Y-108354761D01* X156827261Y-107735714D01*
X157874880Y-108307142D01*
X157922500Y-108211904D01*
X157922500Y-107926190D01*
X157874880Y-107830952D01*
X157827261Y-107783333D01*
X157732023Y-107735714D01*
X157541547Y-107735714D01*
X157446309Y-107783333D01*
X156874880Y-108402380D02*
X156970119Y-108354761D01*
X157017738Y-108307142D01*
X157065357Y-108211904D01*
X157065357Y-107926190D01*
X157017738Y-107830952D01*
X156970119Y-107783333D01*
X156874880Y-107735714D01*
X156732023Y-107735714D01* X156732023Y-107735714D01*
X156636785Y-107783333D01* X156541547Y-107735714D02*
X156589166Y-107830952D01* X156160595Y-107735714D01*
X156541547Y-107926190D01* X156398690Y-107402380D02*
X156541547Y-108211904D01* X156398690Y-108259523D01*
X156589166Y-108307142D01* X156351071Y-108354761D01*
X156636785Y-108354761D01* X156255833Y-108402380D01*
X156732023Y-108402380D01* X156160595Y-108402380D01*
X156874880Y-108402380D01* X155827261Y-108402380D02*
X156112976Y-107735714D02* X155827261Y-107402380D01*
X156112976Y-108402380D01* X155398690Y-108402380D02*
X156112976Y-107830952D02* X155398690Y-107878571D01*
X156065357Y-107783333D01* X155446309Y-107783333D01*
X155970119Y-107735714D01* X155541547Y-107735714D01*
X155827261Y-107735714D01* X155684404Y-107735714D01*
X155732023Y-107783333D01* X155779642Y-107783333D01*
X155684404Y-107878571D01* X155827261Y-107830952D01*
X155684404Y-108402380D01* X154160595Y-108402380D02*
X154779642Y-108402380D02* X154160595Y-107402380D01*
X154779642Y-107402380D01* X153779642Y-107402380D01*
X154779642Y-108354761D02* X153684404Y-107450000D01*
X154874880Y-108402380D01* X153636785Y-107497619D01*
X155065357Y-108402380D01* X153589166Y-107592857D01*
X155160595Y-108354761D01* X153589166Y-107735714D01*
X155208214Y-108307142D01* X153636785Y-107830952D01*
X155255833Y-108211904D01* X153684404Y-107878571D01*
X155255833Y-107926190D01* X153779642Y-107926190D01*
X155208214Y-107830952D01* X154160595Y-107926190D01*
X155160595Y-107783333D01* X153160595Y-108402380D02*
X155065357Y-107735714D01* X153160595Y-107735714D01*
X154874880Y-107735714D01* X153160595Y-107926190D02*
X154779642Y-107783333D01* X153112976Y-107830952D01*
X153541547Y-108402380D02* X153065357Y-107783333D01*
X153541547Y-107402380D01*
X153160595Y-107402380D01*
X153065357Y-107450000D01*
X153017738Y-107497619D01*
X152970119Y-107592857D01*
X152970119Y-107735714D01* X152970119Y-107735714D01*
X153017738Y-107830952D01* X152874880Y-107735714D01*
X153065357Y-107878571D01* X152398690Y-108402380D02*
X153160595Y-107926190D01* X152493928Y-108354761D01*
X153541547Y-107926190D01* X152541547Y-108307142D01*
X152541547Y-108402380D02* X152589166Y-108211904D01*
X152541547Y-107735714D01* X152589166Y-107926190D01*
X152541547Y-107926190D02* X152541547Y-107830952D01*
X152493928Y-107830952D01* X152493928Y-107783333D01*
X152446309Y-107783333D01* X152398690Y-107735714D01*
X152351071Y-107735714D01*
X152255833Y-107735714D01* X152255833Y-107735714D01*
X151779642Y-108402380D02* X152160595Y-107783333D01*
X151874880Y-108354761D01* X152112976Y-107830952D01*
X151922500Y-108307142D01* X152065357Y-107926190D01*
X151970119Y-108211904D01* X152065357Y-108211904D01*
X151970119Y-107926190D01* X152112976Y-108307142D01*
X151922500Y-107830952D01* X152160595Y-108354761D01*
X151874880Y-107783333D01* X152255833Y-108402380D01*
X151779642Y-107735714D01* X152398690Y-108402380D01*
X151636785Y-107735714D01* X151779642Y-107735714D02*
X151541547Y-107783333D01* X151398690Y-107735714D01*
X151493928Y-107830952D01* X151636785Y-107402380D02*
X151446309Y-107926190D01* X151636785Y-108259523D01*
X151446309Y-108211904D01* X151589166Y-108354761D01*
X151493928Y-108307142D01* X151493928Y-108402380D01*
X151541547Y-108354761D01* X151398690Y-108402380D01*
X151636785Y-108402380D01* X150922500Y-108402380D02*
X151779642Y-108402380D01* X151017738Y-108354761D01*
X151160595Y-107735714D02* X151065357Y-108307142D01*
X151112976Y-108211904D01*
X151112976Y-107926190D01*
X151065357Y-107830952D01*
X151017738Y-107783333D01*
X150922500Y-107735714D01*
X150779642Y-107735714D01* X150779642Y-107735714D01*
X151017738Y-107402380D02* X150684404Y-107783333D01*
X151017738Y-108259523D01* X150636785Y-107830952D01*
X150970119Y-108354761D01* X150589166Y-107926190D01*
X150874880Y-108402380D01* X150589166Y-108211904D01*
X150636785Y-108307142D01*
X150684404Y-108354761D01*
X150779642Y-108402380D01* X150779642Y-108402380D01*
X150303452Y-108402380D02* X150922500Y-108402380D01*
X150398690Y-108354761D01* X150255833Y-107735714D02*
X150446309Y-108307142D01* X150017738Y-108402380D01*
X150493928Y-108211904D01* X149779642Y-107735714D02*
X150493928Y-107926190D01* X150017738Y-108402380D01*
X150446309Y-107830952D01* X150112976Y-108640476D01*
X150398690Y-107783333D01* X150160595Y-108688095D01*
X150303452Y-107735714D01* X150255833Y-108735714D01*
X150160595Y-107735714D01* X149398690Y-107735714D02*
X150065357Y-107783333D01* X149398690Y-108735714D01*
X150017738Y-107830952D01* X149398690Y-107783333D02*
X149970119Y-107926190D01* X149303452Y-107735714D01*
X149970119Y-108211904D01* X149112976Y-107735714D01*
X150017738Y-108307142D01* X149017738Y-107783333D01*
X150065357Y-108354761D01* X148970119Y-107830952D01*
X150160595Y-108402380D01* X148922500Y-107926190D01*
X150303452Y-108402380D01* X148922500Y-108211904D01*
X149636785Y-107735714D02* X148970119Y-108307142D01*
X149398690Y-108402380D01* X149017738Y-108354761D01*
X149160595Y-107735714D02* X149112976Y-108402380D01*
X149398690Y-108402380D01* X149303452Y-108402380D01*
X149493928Y-108640476D01* X149398690Y-108354761D01*
X149541547Y-108688095D01* X148112976Y-108354761D02*
X149636785Y-108735714D01* X148208214Y-108402380D01*
X148779642Y-107735714D02* X148398690Y-108402380D01*
X148779642Y-108735714D01* X148493928Y-108354761D01*
X148779642Y-107783333D02* X148541547Y-108259523D01*
X148684404Y-107735714D01* X148541547Y-107878571D01*
X148493928Y-107735714D01* X148493928Y-107783333D01*
X148398690Y-107783333D01* X148398690Y-107735714D01*
X148351071Y-107830952D01* X148208214Y-107735714D01*
X148303452Y-107926190D01* X148112976Y-107783333D01*
X148303452Y-108211904D01* X148065357Y-107878571D01*
X148351071Y-108307142D01* X148065357Y-107973809D01*
X148398690Y-108354761D01* X148541547Y-108069047D01*
X148493928Y-108402380D01* X146922500Y-107497619D02*
X148684404Y-108402380D01* X146874880Y-107450000D01*
X148779642Y-108354761D01* X146779642Y-107402380D01*
X147493928Y-108354761D02* X146541547Y-107402380D01*
X147589166Y-108402380D01* X146446309Y-107450000D01*
X147779642Y-108402380D01* X146398690Y-107497619D01*
X147874880Y-108354761D01* X146351071Y-107592857D01*
X147922500Y-108259523D01* X146351071Y-107688095D01*
X147922500Y-107878571D01* X146398690Y-107830952D01*
X147874880Y-107783333D01* X146970119Y-108402380D01*
X147779642Y-107735714D01*
X147589166Y-107735714D01*
X147493928Y-107783333D01*
X147446309Y-107878571D01*
X147446309Y-107973809D01*
X147922500Y-108069047D01*
X146303452Y-107497619D02*
X146255833Y-107450000D01*
X146160595Y-107402380D01*
X145922500Y-107402380D01*
X145827261Y-107450000D01*
X145779642Y-107497619D01*
X145732023Y-107592857D01*
X145732023Y-107688095D01*
X145779642Y-107830952D01*
X146351071Y-108402380D01* X146351071Y-108402380D01*
X145732023Y-107402380D02*
X145636785Y-107402380D01*
X145541547Y-107450000D01*
X145493928Y-107497619D01*
X145446309Y-107592857D01*
X145398690Y-107783333D01*
X145398690Y-108021428D01*
X145446309Y-108211904D01*
X145493928Y-108307142D01*
X145541547Y-108354761D01*
X145636785Y-108402380D01*
X145732023Y-108402380D01* X145732023Y-108402380D01*
X145112976Y-107402380D02* X145827261Y-108354761D01*
X145017738Y-107402380D01* X145874880Y-108307142D01*
X144922500Y-107450000D01* X145922500Y-108211904D01*
X144874880Y-107497619D01* X145970119Y-108021428D01*
X144827261Y-107592857D01* X145970119Y-107783333D01*
X144779642Y-107783333D01* X145922500Y-107592857D01*
X144779642Y-108021428D01* X145874880Y-107497619D01*
X144827261Y-108211904D01* X145827261Y-107450000D01*
X144874880Y-108307142D01* X145732023Y-107402380D01*
X144922500Y-108354761D01* X145017738Y-107497619D02*
X145017738Y-108402380D01* X144970119Y-107450000D01*
X145112976Y-108402380D01* X144874880Y-107402380D01*
X145208214Y-108354761D01* X144636785Y-107402380D01*
X145255833Y-108307142D01* X144541547Y-107450000D01*
X145303452Y-108211904D01* X144493928Y-107497619D01*
X145351071Y-108021428D01* X144446309Y-107592857D01*
X145351071Y-107783333D01* X144446309Y-107688095D01*
X145303452Y-107592857D01* X144493928Y-107830952D01*
X145255833Y-107497619D01* X145065357Y-108402380D01*
X145208214Y-107450000D01*
X145112976Y-107402380D01*
X144398690Y-107497619D02*
X144351071Y-107450000D01*
X144255833Y-107402380D01*
X144017738Y-107402380D01*
X143922500Y-107450000D01*
X143874880Y-107497619D01*
X143827261Y-107592857D01*
X143827261Y-107688095D01*
X143874880Y-107830952D01*
X144446309Y-108402380D01* X144446309Y-108402380D01*
X143827261Y-108402380D01* X143493928Y-108402380D02*
X143208214Y-107402380D02* X144065357Y-108402380D01*
X143112976Y-107402380D01* X143779642Y-108402380D02*
X143017738Y-107450000D01* X143779642Y-107402380D01*
X142970119Y-107497619D01* X143874880Y-107545238D01*
X142922500Y-107592857D01* X143970119Y-107640476D01*
X142874880Y-107783333D01* X144065357Y-107688095D01*
X142874880Y-108021428D01* X143065357Y-108021428D02*
X142922500Y-108211904D01* X142303452Y-108021428D01*
X142970119Y-108307142D01* X141541547Y-107402380D02*
X143017738Y-108354761D01* X141541547Y-108116666D01*
X143112976Y-108402380D01* X141589166Y-108259523D01*
X143208214Y-108402380D01* X141684404Y-108354761D01*
X143303452Y-108354761D01* X141827261Y-108402380D01*
X143351071Y-108307142D01* X141922500Y-108402380D01*
X143398690Y-108211904D01* X140636785Y-108402380D02*
X143446309Y-108021428D01* X140636785Y-107878571D01*
X143446309Y-107783333D01* X140684404Y-107783333D01*
X143398690Y-107592857D01* X140779642Y-107735714D01*
X143351071Y-107497619D01* X140970119Y-107735714D01*
X143303452Y-107450000D01* X141065357Y-107783333D01*
X143208214Y-107402380D01* X140636785Y-108354761D02*
X142446309Y-108021428D02* X140732023Y-108402380D01*
X141684404Y-108021428D01*
X141208214Y-108402380D02*
X141208214Y-107402380D01*
X140970119Y-107402380D01*
X140827261Y-107450000D01*
X140732023Y-107545238D01*
X140684404Y-107640476D01*
X140636785Y-107830952D01*
X140636785Y-107973809D01*
X140684404Y-108164285D01*
X140732023Y-108259523D01*
X140827261Y-108354761D01*
X140970119Y-108402380D01* X140970119Y-108402380D01*
X141208214Y-108402380D01* X141065357Y-108354761D01*
X139827261Y-108354761D02* X141112976Y-108259523D01*
X139922500Y-108402380D01* X141112976Y-108164285D01*
X140112976Y-108402380D01* X141065357Y-108069047D01*
X140208214Y-108354761D01* X140970119Y-108021428D01*
X140255833Y-108259523D01* X140732023Y-108021428D01*
X140255833Y-107878571D01* X140636785Y-107973809D01*
X140208214Y-107783333D01* X140160595Y-107735714D02*
X140112976Y-107735714D01* X140160595Y-108402380D01*
X139922500Y-107735714D01* X140160595Y-107830952D02*
X139827261Y-107783333D01* X140112976Y-107783333D01*
X139779642Y-107878571D01* X140017738Y-107735714D01*
X139779642Y-107973809D01* X139874880Y-107735714D01*
X140255833Y-108069047D01* X139779642Y-107783333D01*
X138922500Y-108354761D02* X139732023Y-107878571D01*
X139017738Y-108402380D01* X139732023Y-108402380D01*
X139208214Y-108402380D01* X139255833Y-108021428D02*
X139303452Y-108354761D01* X138493928Y-108021428D01*
X139351071Y-108307142D01* X137493928Y-108402380D02*
X139398690Y-108211904D01* X138065357Y-108402380D01*
X139398690Y-107926190D01* X137779642Y-108402380D02*
X139351071Y-107830952D01* X137779642Y-107402380D01*
X139303452Y-107783333D01* X137874880Y-107545238D01*
X139208214Y-107735714D01* X137970119Y-107640476D01*
X139017738Y-107735714D01* X138065357Y-107688095D01*
X138922500Y-107783333D01* X136874880Y-107402380D02*
X138493928Y-108021428D02* X136779642Y-107402380D01*
X137732023Y-108021428D01* X136684404Y-107450000D01*
X136732023Y-108402380D02* X136636785Y-107497619D01*
X137303452Y-108402380D01* X136589166Y-107592857D01*
X137017738Y-108402380D02* X136541547Y-107783333D01*
X137017738Y-107402380D01* X136541547Y-108021428D01*
X137112976Y-107545238D01* X136589166Y-108211904D01*
X137208214Y-107640476D01* X136636785Y-108307142D01*
X137303452Y-107688095D01* X136684404Y-108354761D01*
X136398690Y-107402380D02* X136779642Y-108402380D01*
X135779642Y-107402380D01* X136874880Y-108402380D01*
X136112976Y-107783333D01* X136970119Y-108354761D01*
X135970119Y-107783333D01* X137017738Y-108307142D01*
X135874880Y-107830952D01* X137065357Y-108211904D01*
X135827261Y-107878571D01* X137112976Y-108021428D01*
X135779642Y-107973809D01* X137112976Y-107783333D01*
X135779642Y-108211904D01* X137065357Y-107592857D01*
X135827261Y-108307142D01* X137017738Y-107497619D01*
X135874880Y-108354761D01* X136970119Y-107450000D01*
X135970119Y-108402380D01* X136874880Y-107402380D01*
X136255833Y-108402380D01*
X136351071Y-108354761D01*
X136398690Y-108307142D01*
X159398690Y-110433333D02* X159398690Y-110433333D02*
X159446309Y-110385714D01* X159446309Y-110385714D01*
X159541547Y-110242857D01* X159541547Y-110242857D01*
@ -799,148 +754,200 @@ X154636785Y-109242857D01*
X154589166Y-109147619D01* X154589166Y-109147619D01*
X154541547Y-109100000D01* X154541547Y-109100000D01*
X154446309Y-109052380D01* X154446309Y-109052380D01*
X153065357Y-109052380D02* X153684404Y-109671428D02*
X152493928Y-109052380D01* X152922500Y-109671428D01*
X152779642Y-110052380D02* X152493928Y-109147619D02*
X152779642Y-109052380D01* X152446309Y-109100000D01*
X151779642Y-110004761D02* X152351071Y-109052380D01*
X151874880Y-110052380D01* X152112976Y-109052380D01*
X152065357Y-110052380D01* X152017738Y-109100000D01*
X152160595Y-110004761D01* X151970119Y-109147619D01*
X152208214Y-109909523D01* X151922500Y-109242857D01*
X152208214Y-109528571D01* X151922500Y-109338095D01*
X152160595Y-109433333D01* X151970119Y-109480952D01*
X152065357Y-109385714D01* X152541547Y-110052380D01*
X151874880Y-109385714D01* X151922500Y-110052380D01*
X151779642Y-109433333D01* X151303452Y-109052380D02*
X151732023Y-109528571D01* X151208214Y-109052380D01*
X151732023Y-109623809D01* X151112976Y-109100000D01*
X152208214Y-109719047D01* X151065357Y-109147619D01*
X151303452Y-110052380D02* X151017738Y-109242857D01*
X151303452Y-109385714D01* X150970119Y-109433333D01*
X151303452Y-109576190D02* X150970119Y-109671428D01*
X151255833Y-109480952D01* X151017738Y-109861904D01*
X151208214Y-109433333D01* X151065357Y-109957142D01*
X151112976Y-109385714D01* X151112976Y-110004761D01*
X151017738Y-109385714D01* X151208214Y-110052380D01*
X150303452Y-110004761D02* X151303452Y-110052380D01*
X150398690Y-110052380D01* X151398690Y-110004761D01*
X150589166Y-110052380D01* X151446309Y-109957142D01*
X150684404Y-110004761D01* X151493928Y-109861904D01*
X150732023Y-109909523D01* X151541547Y-109671428D01*
X150732023Y-109528571D01* X151541547Y-109433333D01*
X150684404Y-109433333D01* X151493928Y-109242857D01*
X150589166Y-109385714D01* X151446309Y-109147619D01*
X150398690Y-109385714D01* X151398690Y-109100000D01*
X150303452Y-109433333D01* X151303452Y-109052380D01*
X150255833Y-109528571D01* X150589166Y-109147619D02*
X150255833Y-109623809D01* X150541547Y-109100000D01*
X150732023Y-109719047D01* X150446309Y-109052380D01*
X149827261Y-109385714D02* X150208214Y-109052380D01*
X149827261Y-110052380D01* X150112976Y-109100000D01*
X149827261Y-109480952D02* X150065357Y-109147619D01*
X149779642Y-109433333D01* X150017738Y-109242857D01*
X149684404Y-109385714D01* X150017738Y-109338095D01*
X149541547Y-109385714D01* X150065357Y-109480952D01*
X149446309Y-109433333D01* X150636785Y-110052380D01*
X149398690Y-109528571D01* X150017738Y-110052380D01*
X149398690Y-110052380D01* X149065357Y-110052380D02*
X148493928Y-110004761D02* X149636785Y-110052380D01*
X148589166Y-110052380D01* X149351071Y-110052380D02*
X148779642Y-110052380D01* X149351071Y-109052380D01*
X148874880Y-110004761D01* X149446309Y-109195238D01*
X148922500Y-109957142D01* X149541547Y-109290476D01*
X148970119Y-109861904D01* X149636785Y-109338095D01*
X148970119Y-109576190D01* X148017738Y-109052380D02*
X148922500Y-109480952D01* X147446309Y-109052380D01*
X148874880Y-109433333D01* X147732023Y-110052380D02*
X148779642Y-109385714D01* X147732023Y-109052380D01*
X148589166Y-109385714D01* X146732023Y-110004761D02*
X148493928Y-109433333D01* X146827261Y-110052380D01*
X147684404Y-110004761D02* X147017738Y-110052380D01*
X147779642Y-110052380D01* X147112976Y-110004761D01*
X147970119Y-110052380D01* X147160595Y-109909523D01*
X148065357Y-110004761D01* X147160595Y-109528571D01*
X148112976Y-109909523D01* X147112976Y-109433333D01*
X148112976Y-109528571D01* X147017738Y-109385714D01*
X148065357Y-109433333D01* X146827261Y-109385714D01*
X147970119Y-109385714D01* X146732023Y-109433333D01*
X147779642Y-109385714D01* X146684404Y-109528571D01*
X147684404Y-109433333D01* X146684404Y-109623809D01*
X147636785Y-109528571D01* X147160595Y-109719047D01*
X147636785Y-109623809D01* X146255833Y-110052380D02*
X148112976Y-109719047D01* X146255833Y-109385714D01*
X146160595Y-109052380D02* X146255833Y-109576190D02*
X146160595Y-109766666D01* X146208214Y-109480952D01*
X146208214Y-109909523D01* X146160595Y-109433333D01*
X146303452Y-110004761D01* X146065357Y-109385714D01*
X146446309Y-110052380D01* X145970119Y-109385714D01*
X146541547Y-110052380D01* X145255833Y-110004761D02*
X145684404Y-109957142D02* X145351071Y-110052380D01*
X145541547Y-110052380D01*
X145636785Y-110004761D01* X145636785Y-110004761D01*
X145684404Y-110052380D01* X145684404Y-109909523D01*
X145732023Y-110004761D01* X145684404Y-109528571D01*
X145684404Y-109957142D01* X145636785Y-109433333D01*
X145684404Y-110052380D01* X145541547Y-109385714D01*
X144112976Y-109528571D02* X145351071Y-109385714D01*
X143970119Y-109576190D01* X145255833Y-109433333D01*
X143922500Y-109623809D01* X145208214Y-109528571D01*
X143874880Y-109719047D01* X145208214Y-109623809D01*
X143874880Y-109861904D01* X145684404Y-109719047D01*
X143922500Y-109957142D01* X144779642Y-109385714D02*
X143970119Y-110004761D01* X144779642Y-110052380D01*
X144065357Y-110052380D01* X144779642Y-109480952D02*
X144446309Y-110052380D01* X144732023Y-109433333D01*
X144446309Y-109052380D01* X144636785Y-109385714D01*
X144112976Y-109052380D01* X144493928Y-109385714D01*
X144017738Y-109100000D01* X144398690Y-109433333D01*
X143970119Y-109147619D01* X144351071Y-109528571D01*
X143922500Y-109242857D01* X144351071Y-110052380D01*
X143922500Y-109338095D01* X143446309Y-110004761D02*
X143970119Y-109433333D01* X143541547Y-110052380D01*
X144017738Y-109480952D01* X143732023Y-110052380D01*
X144112976Y-109528571D01* X143827261Y-110004761D01*
X144446309Y-109528571D01* X143874880Y-109957142D01*
X143303452Y-110052380D02* X143922500Y-109861904D01*
X143398690Y-110004761D01* X143922500Y-109576190D01*
X143446309Y-109957142D01* X143874880Y-109480952D01*
X143493928Y-109861904D01* X143827261Y-109433333D01*
X143493928Y-109576190D01* X143732023Y-109385714D01*
X143446309Y-109480952D01* X143541547Y-109385714D01*
X143398690Y-109433333D01* X143446309Y-109433333D01*
X143303452Y-109385714D01* X142636785Y-110004761D02*
X143160595Y-109385714D01* X142732023Y-110052380D01*
X143065357Y-109433333D01* X142922500Y-110052380D01*
X143017738Y-109480952D01* X143017738Y-110004761D01*
X142970119Y-109576190D01* X143065357Y-109909523D01*
X142970119Y-109861904D01* X143065357Y-109528571D01*
X143017738Y-109957142D01* X143017738Y-109433333D01*
X143065357Y-110004761D01* X142922500Y-109385714D01*
X143160595Y-110052380D01* X142732023Y-109385714D01*
X143303452Y-110052380D01* X142636785Y-109433333D01*
X142398690Y-110052380D02* X142589166Y-109528571D01*
X142493928Y-110004761D01* X142589166Y-109623809D01*
X142541547Y-109909523D01* X143065357Y-109719047D01*
X142541547Y-109052380D01*
X141589166Y-110052380D02*
X141589166Y-109052380D01*
X141589166Y-110004761D02*
X141684404Y-110052380D01*
X141874880Y-110052380D01*
X141970119Y-110004761D01*
X142017738Y-109957142D01*
X142065357Y-109861904D01*
X142065357Y-109576190D01*
X142017738Y-109480952D01*
X141970119Y-109433333D01*
X141874880Y-109385714D01*
X141684404Y-109385714D01*
X141589166Y-109433333D01*
X141255833Y-109385714D02*
X140874880Y-109385714D01*
X141112976Y-109052380D02* X141112976Y-109052380D02*
X141112976Y-109909523D01* X141112976Y-109766666D01*
X141065357Y-110004761D01* X141160595Y-109909523D01*
X140970119Y-110052380D01* X141255833Y-110004761D01*
X140874880Y-110052380D01* X141398690Y-110052380D01*
X141493928Y-110052380D01*
X140636785Y-109957142D02*
X140589166Y-110004761D01*
X140636785Y-110052380D01*
X140684404Y-110004761D01*
X140636785Y-109957142D01*
X140636785Y-110052380D01*
X139065357Y-109528571D02*
X138922500Y-109576190D01*
X138874880Y-109623809D01*
X138827261Y-109719047D01*
X138827261Y-109861904D01*
X138874880Y-109957142D01*
X138922500Y-110004761D01*
X139017738Y-110052380D01*
X139398690Y-110052380D01*
X139398690Y-109052380D01*
X139065357Y-109052380D01*
X138970119Y-109100000D01*
X138922500Y-109147619D01*
X138874880Y-109242857D01*
X138874880Y-109338095D01*
X138922500Y-109433333D01*
X138970119Y-109480952D01*
X139065357Y-109528571D01*
X139398690Y-109528571D01*
X138255833Y-110052380D02*
X138351071Y-110004761D01*
X138398690Y-109957142D01*
X138446309Y-109861904D01*
X138446309Y-109576190D01*
X138398690Y-109480952D01*
X138351071Y-109433333D01*
X138255833Y-109385714D01*
X138112976Y-109385714D01*
X138017738Y-109433333D01*
X137970119Y-109480952D01*
X137922500Y-109576190D01*
X137922500Y-109861904D01*
X137970119Y-109957142D01*
X138017738Y-110004761D01*
X138112976Y-110052380D01*
X138255833Y-110052380D01*
X137351071Y-110052380D02*
X137446309Y-110004761D01*
X137493928Y-109909523D01*
X137493928Y-109052380D01*
X136541547Y-110052380D02*
X136541547Y-109052380D01*
X136541547Y-110004761D02*
X136636785Y-110052380D01*
X136827261Y-110052380D01*
X136922500Y-110004761D01*
X136970119Y-109957142D01*
X137017738Y-109861904D01*
X137017738Y-109576190D01*
X136970119Y-109480952D01*
X136922500Y-109433333D01*
X136827261Y-109385714D01*
X136636785Y-109385714D01*
X136541547Y-109433333D01*
X136208214Y-109385714D02*
X135827261Y-109385714D01*
X136065357Y-109052380D02*
X136065357Y-109909523D01*
X136017738Y-110004761D01*
X135922500Y-110052380D01*
X135827261Y-110052380D01*
M02* M02*

View File

@ -1,11 +1,11 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.0.2)-1* G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.0.2)-1*
G04 #@! TF.CreationDate,2020-12-13T22:30:25-05:00* G04 #@! TF.CreationDate,2021-01-10T23:41:10-05:00*
G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.2* G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.4*
G04 #@! TF.SameCoordinates,Original* G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Profile,NP* G04 #@! TF.FileFunction,Profile,NP*
%FSLAX46Y46*% %FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (5.0.2)-1) date 2020-12-13 22:30:25* G04 Created by KiCad (PCBNEW (5.0.2)-1) date 2021-01-10 23:41:10*
%MOMM*% %MOMM*%
%LPD*% %LPD*%
G01* G01*
@ -13,30 +13,32 @@ G04 APERTURE LIST*
%ADD10C,0.050000*% %ADD10C,0.050000*%
G04 APERTURE END LIST* G04 APERTURE END LIST*
D10* D10*
X191770000Y-111125000D02* X193675000Y-42545000D02*
X191770000Y-58420000D01* X193040000Y-41910000D01*
X193675000Y-111125000D02*
X193675000Y-42545000D01*
X104775000Y-41910000D02*
X193040000Y-41910000D01*
X104140000Y-42545000D02*
X104775000Y-41910000D01*
X104140000Y-111125000D02*
X104140000Y-42545000D01*
X104775000Y-111760000D02*
X104140000Y-111125000D01*
X108585000Y-111760000D02*
X104775000Y-111760000D01*
X123190000Y-119380000D02* X123190000Y-119380000D02*
X186690000Y-119380000D01* X186690000Y-119380000D01*
X122555000Y-118745000D02* X122555000Y-118745000D02*
X123190000Y-119380000D01* X123190000Y-119380000D01*
X122555000Y-111760000D02* X122555000Y-111760000D02*
X122555000Y-118745000D01* X122555000Y-118745000D01*
X107950000Y-111760000D02* X108585000Y-111760000D02*
X122555000Y-111760000D01* X122555000Y-111760000D01*
X107315000Y-111125000D02* X193040000Y-111760000D02*
X107950000Y-111760000D01* X193675000Y-111125000D01*
X107315000Y-58420000D02*
X107315000Y-111125000D01*
X107950000Y-57785000D02*
X107315000Y-58420000D01*
X191135000Y-57785000D02*
X107950000Y-57785000D01*
X191770000Y-58420000D02*
X191135000Y-57785000D01*
X191135000Y-111760000D02*
X191770000Y-111125000D01*
X187325000Y-111760000D02* X187325000Y-111760000D02*
X191135000Y-111760000D01* X193040000Y-111760000D01*
X187325000Y-118745000D02* X187325000Y-118745000D02*
X187325000Y-111760000D01* X187325000Y-111760000D01*
X186690000Y-119380000D02* X186690000Y-119380000D02*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
M48 M48
;DRILL file {KiCad (5.0.2)-1} date 2020-12-13 22:30:29 ;DRILL file {KiCad (5.0.2)-1} date 2021-01-10 23:41:04
;FORMAT={-:-/ absolute / inch / decimal} ;FORMAT={-:-/ absolute / inch / decimal}
FMAT,2 FMAT,2
INCH,TZ INCH,TZ

View File

@ -1,256 +1,338 @@
M48 M48
;DRILL file {KiCad (5.0.2)-1} date 2020-12-13 22:30:29 ;DRILL file {KiCad (5.0.2)-1} date 2021-01-10 23:41:04
;FORMAT={-:-/ absolute / inch / decimal} ;FORMAT={-:-/ absolute / inch / decimal}
FMAT,2 FMAT,2
INCH,TZ INCH,TZ
T1C0.0197 T1C0.0197
T2C0.0280 T2C0.0315
T3C0.0315 T3C0.0394
T4C0.0394
% %
G90 G90
G05 G05
T1 T1
X4.555Y-3.365 X4.5505Y-3.475
X4.575Y-2.785 X4.575Y-3.246
X4.58Y-2.88 X4.578Y-2.504
X4.595Y-3.04 X4.583Y-2.969
X4.61Y-3.185 X4.591Y-2.374
X4.6355Y-3.285 X4.607Y-2.618
X4.64Y-3.38 X4.608Y-2.233
X4.67Y-3.175 X4.6115Y-3.212
X4.6717Y-3.3522 X4.617Y-2.065
X4.705Y-3.63 X4.625Y-2.125
X4.715Y-3.33 X4.626Y-2.729
X4.755Y-3.605 X4.63Y-2.686
X4.9Y-3.805 X4.63Y-2.914
X4.93Y-3.475 X4.637Y-3.322
X4.93Y-3.57 X4.6595Y-2.9914
X4.96Y-3.035 X4.6625Y-2.657
X5.025Y-2.905 X4.669Y-3.368
X5.025Y-3.535 X4.67Y-3.655
X5.05Y-3.76 X4.674Y-3.324
X5.085Y-2.7545 X4.6765Y-2.408
X5.1Y-3.0095 X4.6765Y-2.837
X5.1Y-3.195 X4.6765Y-3.229
X5.14Y-3.57 X4.9Y-2.475
X5.185Y-2.72 X4.9468Y-2.449
X5.195Y-3. X4.962Y-2.938
X5.225Y-3.4695 X4.975Y-2.425
X5.235Y-2.89 X4.981Y-2.644
X5.345Y-2.93 X5.06Y-2.4625
X5.405Y-2.656 X5.075Y-1.9005
X5.405Y-3.77 X5.096Y-2.1255
X5.4255Y-3.5605 X5.129Y-3.458
X5.44Y-2.605 X5.1585Y-2.151
X5.4835Y-2.9855 X5.2Y-3.65
X5.515Y-3.76 X5.203Y-2.387
X5.565Y-2.63 X5.2425Y-2.176
X5.59Y-2.445 X5.246Y-2.9765
X5.605Y-3.785 X5.275Y-3.4
X5.63Y-2.72 X5.275Y-3.45
X5.72Y-3.77 X5.301Y-2.331
X5.785Y-2.96 X5.314Y-3.342
X5.785Y-3.741 X5.365Y-2.8775
X5.93Y-3.15 X5.369Y-2.357
X5.93Y-3.505 X5.375Y-2.175
X5.995Y-3.215 X5.375Y-3.475
X6.005Y-3.86 X5.4Y-2.975
X6.035Y-3.395 X5.41Y-2.3995
X6.05Y-3.835 X5.4138Y-3.6222
X6.11Y-2.925 X5.425Y-1.9005
X6.17Y-3.815 X5.425Y-3.375
X6.205Y-3.575 X5.525Y-2.2005
X6.27Y-3.79 X5.525Y-3.675
X6.305Y-3.025 X5.55Y-3.425
X6.35Y-3.615 X5.575Y-2.9
X6.36Y-3.75 X5.636Y-2.333
X6.475Y-4.1295 X5.65Y-3.475
X6.56Y-4.155 X5.675Y-2.95
X6.565Y-4.365 X5.75Y-3.8426
X6.655Y-4.17 X5.757Y-1.954
X6.76Y-4.2 X5.775Y-2.5
X6.86Y-4.205 X5.788Y-2.935
X6.905Y-4.33 X5.9Y-3.8426
X6.95Y-4.2 X5.925Y-3.
X6.955Y-4.305 X5.9503Y-2.3556
X6.96Y-3.905 X5.964Y-2.39
X7.01Y-4.31 X6.Y-2.525
X6.025Y-2.325
X6.076Y-2.525
X6.199Y-3.452
X6.2Y-2.625
X6.25Y-3.675
X6.315Y-3.681
X6.35Y-2.575
X6.35Y-3.7245
X6.4Y-4.075
X6.475Y-4.1
X6.55Y-2.675
X6.55Y-4.025
X6.575Y-4.1
X6.6Y-4.35
X6.6755Y-4.3
X6.725Y-4.124
X6.8Y-2.3
X6.8Y-4.1495
X6.825Y-2.775
X6.859Y-3.132
X6.925Y-4.15
X6.95Y-4.275
X7.Y-4.199
X7.05Y-4.25
X7.103Y-4.365 X7.103Y-4.365
X7.105Y-4.26 X7.15Y-4.225
X7.203Y-4.365 X7.203Y-4.365
X7.365Y-2.855 X7.275Y-2.55
X7.3543Y-2.4293
T2 T2
X7.2Y-3.9 X4.875Y-2.775
X4.875Y-3.075
X4.975Y-2.775
X4.975Y-3.075
X5.075Y-2.775
X5.075Y-3.075
X5.175Y-2.775
X5.175Y-3.075
X5.275Y-2.775
X5.275Y-3.075
X5.375Y-2.775
X5.375Y-3.075
X5.475Y-2.775
X5.475Y-3.075
X5.575Y-2.775
X5.575Y-3.075
X5.675Y-2.775
X5.675Y-3.075
X5.775Y-2.775
X5.775Y-3.075
X4.775Y-1.875
X4.775Y-1.9734
X6.0662Y-3.2121
X6.0662Y-3.8121
X6.1662Y-3.2121
X6.1662Y-3.8121
X6.2662Y-3.2121
X6.2662Y-3.8121
X6.3662Y-3.2121
X6.3662Y-3.8121
X6.4662Y-3.2121
X6.4662Y-3.8121
X6.5662Y-3.2121
X6.5662Y-3.8121
X6.6662Y-3.2121
X6.6662Y-3.8121
X6.7662Y-3.2121
X6.7662Y-3.8121
X6.8662Y-3.2121
X6.8662Y-3.8121
X6.9662Y-3.2121
X6.9662Y-3.8121
X7.0662Y-3.2121
X7.0662Y-3.8121
X7.1662Y-3.2121
X7.1662Y-3.8121
X7.2662Y-3.2121
X7.2662Y-3.8121
X7.3662Y-3.2121
X7.3662Y-3.8121
X7.5Y-3.4516
X7.5Y-3.55
X4.775Y-3.3766
X4.775Y-3.475
X4.875Y-1.775
X4.875Y-2.075
X4.975Y-1.775
X4.975Y-2.075
X5.075Y-1.775
X5.075Y-2.075
X5.175Y-1.775
X5.175Y-2.075
X5.275Y-1.775
X5.275Y-2.075
X5.375Y-1.775
X5.375Y-2.075
X5.475Y-1.775
X5.475Y-2.075
X5.575Y-1.775
X5.575Y-2.075
X5.675Y-1.775
X5.675Y-2.075
X5.775Y-1.775
X5.775Y-2.075
X7.2186Y-2.075
X7.317Y-2.075
X4.875Y-2.275
X4.875Y-2.575
X4.975Y-2.275
X4.975Y-2.575
X5.075Y-2.275
X5.075Y-2.575
X5.175Y-2.275
X5.175Y-2.575
X5.275Y-2.275
X5.275Y-2.575
X5.375Y-2.275
X5.375Y-2.575
X5.475Y-2.275
X5.475Y-2.575
X5.575Y-2.275
X5.575Y-2.575
X5.675Y-2.275
X5.675Y-2.575
X5.775Y-2.275
X5.775Y-2.575
X4.775Y-2.375
X4.775Y-2.4734
X4.775Y-3.8516
X4.775Y-3.95
X4.875Y-3.275
X4.875Y-3.575
X4.975Y-3.275
X4.975Y-3.575
X5.075Y-3.275
X5.075Y-3.575
X5.175Y-3.275
X5.175Y-3.575
X5.275Y-3.275
X5.275Y-3.575
X5.375Y-3.275
X5.375Y-3.575
X5.475Y-3.275
X5.475Y-3.575
X5.575Y-3.275
X5.575Y-3.575
X5.675Y-3.275
X5.675Y-3.575
X5.775Y-3.275
X5.775Y-3.575
X6.7516Y-2.075
X6.85Y-2.075
X6.2516Y-2.075
X6.35Y-2.075
X7.117Y-2.175
X7.117Y-2.275
X7.117Y-2.375
X7.117Y-2.475
X7.117Y-2.575
X7.117Y-2.675
X7.117Y-2.775
X7.417Y-2.175
X7.417Y-2.275
X7.417Y-2.375
X7.417Y-2.475
X7.417Y-2.575
X7.417Y-2.675
X7.417Y-2.775
X6.642Y-2.172
X6.642Y-2.272
X6.642Y-2.372
X6.642Y-2.472
X6.642Y-2.572
X6.642Y-2.672
X6.642Y-2.772
X6.942Y-2.172
X6.942Y-2.272
X6.942Y-2.372
X6.942Y-2.472
X6.942Y-2.572
X6.942Y-2.672
X6.942Y-2.772
X4.775Y-2.8766
X4.775Y-2.975
X4.88Y-3.75
X4.88Y-4.05
X4.98Y-3.75
X4.98Y-4.05
X5.08Y-3.75
X5.08Y-4.05
X5.18Y-3.75
X5.18Y-4.05
X5.28Y-3.75
X5.28Y-4.05
X5.38Y-3.75
X5.38Y-4.05
X5.48Y-3.75
X5.48Y-4.05
X5.58Y-3.75
X5.58Y-4.05
X5.68Y-3.75
X5.68Y-4.05
X5.78Y-3.75
X5.78Y-4.05
X6.15Y-2.175
X6.15Y-2.275
X6.15Y-2.375
X6.15Y-2.475
X6.15Y-2.575
X6.15Y-2.675
X6.15Y-2.775
X6.45Y-2.175
X6.45Y-2.275
X6.45Y-2.375
X6.45Y-2.475
X6.45Y-2.575
X6.45Y-2.675
X6.45Y-2.775
T3 T3
X6.5266Y-2.475 X4.35Y-2.06
X6.625Y-2.475 X4.35Y-2.16
X4.775Y-3.725 X4.35Y-2.26
X4.775Y-3.8234 X4.35Y-2.36
X4.775Y-2.625 X4.35Y-2.46
X4.775Y-2.7234 X4.35Y-2.56
X7.Y-2.6 X4.35Y-2.66
X7.Y-2.7 X4.35Y-2.76
X7.Y-2.8 X4.35Y-2.86
X7.Y-2.9 X4.35Y-2.96
X7.Y-3. X4.35Y-3.06
X7.Y-3.1 X4.35Y-3.16
X7.Y-3.2 X4.35Y-3.26
X7.3Y-2.6 X4.35Y-3.36
X7.3Y-2.7 X4.35Y-3.46
X7.3Y-2.8 X4.35Y-3.56
X7.3Y-2.9 X4.35Y-3.66
X7.3Y-3. X4.35Y-3.76
X7.3Y-3.1 X4.35Y-3.86
X7.3Y-3.2 X4.35Y-3.96
X7.1016Y-2.475 X4.45Y-2.06
X7.2Y-2.475 X4.45Y-2.16
X4.9Y-2.525 X4.45Y-2.26
X4.9Y-2.825 X4.45Y-2.36
X5.Y-2.525 X4.45Y-2.46
X5.Y-2.825 X4.45Y-2.56
X5.1Y-2.525 X4.45Y-2.66
X5.1Y-2.825 X4.45Y-2.76
X5.2Y-2.525 X4.45Y-2.86
X5.2Y-2.825 X4.45Y-2.96
X5.3Y-2.525 X4.45Y-3.06
X5.3Y-2.825 X4.45Y-3.16
X5.4Y-2.525 X4.45Y-3.26
X5.4Y-2.825 X4.45Y-3.36
X5.5Y-2.525 X4.45Y-3.46
X5.5Y-2.825 X4.45Y-3.56
X5.6Y-2.525 X4.45Y-3.66
X5.6Y-2.825 X4.45Y-3.76
X5.7Y-2.525 X4.45Y-3.86
X5.7Y-2.825 X4.45Y-3.96
X5.8Y-2.525
X5.8Y-2.825
X4.9Y-3.625
X4.9Y-3.925
X5.Y-3.625
X5.Y-3.925
X5.1Y-3.625
X5.1Y-3.925
X5.2Y-3.625
X5.2Y-3.925
X5.3Y-3.625
X5.3Y-3.925
X5.4Y-3.625
X5.4Y-3.925
X5.5Y-3.625
X5.5Y-3.925
X5.6Y-3.625
X5.6Y-3.925
X5.7Y-3.625
X5.7Y-3.925
X5.8Y-3.625
X5.8Y-3.925
X4.775Y-3.2
X4.775Y-3.2984
X6.Y-3.45
X6.Y-4.05
X6.1Y-3.45
X6.1Y-4.05
X6.2Y-3.45
X6.2Y-4.05
X6.3Y-3.45
X6.3Y-4.05
X6.4Y-3.45
X6.4Y-4.05
X6.5Y-3.45
X6.5Y-4.05
X6.6Y-3.45
X6.6Y-4.05
X6.7Y-3.45
X6.7Y-4.05
X6.8Y-3.45
X6.8Y-4.05
X6.9Y-3.45
X6.9Y-4.05
X7.Y-3.45
X7.Y-4.05
X7.1Y-3.45
X7.1Y-4.05
X7.2Y-3.45
X7.2Y-4.05
X7.3Y-3.45
X7.3Y-4.05
X4.9Y-3.1
X4.9Y-3.4
X5.Y-3.1
X5.Y-3.4
X5.1Y-3.1
X5.1Y-3.4
X5.2Y-3.1
X5.2Y-3.4
X5.3Y-3.1
X5.3Y-3.4
X5.4Y-3.1
X5.4Y-3.4
X5.5Y-3.1
X5.5Y-3.4
X5.6Y-3.1
X5.6Y-3.4
X5.7Y-3.1
X5.7Y-3.4
X5.8Y-3.1
X5.8Y-3.4
X6.425Y-2.6
X6.425Y-2.7
X6.425Y-2.8
X6.425Y-2.9
X6.425Y-3.
X6.425Y-3.1
X6.425Y-3.2
X6.725Y-2.6
X6.725Y-2.7
X6.725Y-2.8
X6.725Y-2.9
X6.725Y-3.
X6.725Y-3.1
X6.725Y-3.2
X7.425Y-3.7
X7.425Y-3.7984
T4
X4.35Y-2.375
X4.35Y-2.475
X4.35Y-2.575
X4.35Y-2.675
X4.35Y-2.775
X4.35Y-2.875
X4.35Y-2.975
X4.35Y-3.075
X4.35Y-3.175
X4.35Y-3.275
X4.35Y-3.375
X4.35Y-3.475
X4.35Y-3.575
X4.35Y-3.675
X4.35Y-3.775
X4.35Y-3.875
X4.35Y-3.975
X4.35Y-4.075
X4.35Y-4.175
X4.35Y-4.275
X4.45Y-2.375
X4.45Y-2.475
X4.45Y-2.575
X4.45Y-2.675
X4.45Y-2.775
X4.45Y-2.875
X4.45Y-2.975
X4.45Y-3.075
X4.45Y-3.175
X4.45Y-3.275
X4.45Y-3.375
X4.45Y-3.475
X4.45Y-3.575
X4.45Y-3.675
X4.45Y-3.775
X4.45Y-3.875
X4.45Y-3.975
X4.45Y-4.075
X4.45Y-4.175
X4.45Y-4.275
T0 T0
M30 M30

Binary file not shown.

Before

Width:  |  Height:  |  Size: 790 KiB

After

Width:  |  Height:  |  Size: 3.3 MiB

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,16 @@
(export (version D) (export (version D)
(design (design
(source C:\Users\teren\Apple2-IO-RPi\Hardware\Apple2IORPi.sch) (source C:\Users\teren\Apple2-IO-RPi\Hardware\Apple2IORPi.sch)
(date "2020-12-13 22:02:29") (date "2020-12-29 08:57:49")
(tool "Eeschema (5.0.2)-1") (tool "Eeschema (5.0.2)-1")
(sheet (number 1) (name /) (tstamps /) (sheet (number 1) (name /) (tstamps /)
(title_block (title_block
(title "Apple II I/O RPi") (title "Apple II I/O RPi")
(company "Terence J. Boldt") (company "Terence J. Boldt")
(rev 0.6) (rev 0.9)
(date 2020-12-13) (date 2020-12-29)
(source Apple2IORPi.sch) (source Apple2IORPi.sch)
(comment (number 1) (value "Initial draft desgn")) (comment (number 1) (value "Third Prototype"))
(comment (number 2) (value "Provides storage and network for the Apple ][")) (comment (number 2) (value "Provides storage and network for the Apple ]["))
(comment (number 3) (value "Raspberry Pi Zero W as a daughter board")) (comment (number 3) (value "Raspberry Pi Zero W as a daughter board"))
(comment (number 4) (value "Expansion card for Apple ][ computers"))))) (comment (number 4) (value "Expansion card for Apple ][ computers")))))
@ -112,7 +112,46 @@
(datasheet http://ww1.microchip.com/downloads/en/DeviceDoc/doc0014.pdf) (datasheet http://ww1.microchip.com/downloads/en/DeviceDoc/doc0014.pdf)
(libsource (lib Memory_EPROM) (part 27C256) (description "OTP EPROM 256 KiBit")) (libsource (lib Memory_EPROM) (part 27C256) (description "OTP EPROM 256 KiBit"))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 5FD87325))) (tstamp 5FD87325))
(comp (ref U6)
(value 74LVC245)
(datasheet http://www.ti.com/lit/gpn/sn74LS245)
(libsource (lib 74xx) (part 74LS245) (description "Octal BUS Transceivers, 3-State outputs"))
(sheetpath (names /) (tstamps /))
(tstamp 5FED6949))
(comp (ref U7)
(value 74LVC374)
(datasheet http://www.ti.com/lit/gpn/sn74LS374)
(libsource (lib 74xx) (part 74LS374) (description "8-bit Register, 3-state outputs"))
(sheetpath (names /) (tstamps /))
(tstamp 5FED6A94))
(comp (ref C8)
(value C)
(footprint Capacitor_THT:C_Disc_D3.8mm_W2.6mm_P2.50mm)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 60A58951))
(comp (ref C7)
(value C)
(footprint Capacitor_THT:C_Disc_D3.8mm_W2.6mm_P2.50mm)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 60A87587))
(comp (ref U8)
(value 74LS32)
(datasheet http://www.ti.com/lit/gpn/sn74LS32)
(libsource (lib 74xx) (part 74LS32) (description "Quad 2-input OR"))
(sheetpath (names /) (tstamps /))
(tstamp 60BA60C0))
(comp (ref C9)
(value C)
(footprint Capacitor_THT:C_Disc_D3.8mm_W2.6mm_P2.50mm)
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 60C3A67B)))
(libparts (libparts
(libpart (lib 74xx) (part 74LS00) (libpart (lib 74xx) (part 74LS00)
(aliases (aliases
@ -398,314 +437,382 @@
(library (logical Memory_EPROM) (library (logical Memory_EPROM)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Memory_EPROM.lib"))) (uri "C:\\Program Files\\KiCad\\share\\kicad\\library/Memory_EPROM.lib")))
(nets (nets
(net (code 1) (name "Net-(U2-Pad8)") (net (code 1) (name "Net-(J1-Pad16)")
(node (ref U2) (pin 8)) (node (ref U7) (pin 2))
(node (ref U3) (pin 12))) (node (ref J1) (pin 16)))
(net (code 2) (name "Net-(U3-Pad10)") (net (code 2) (name "Net-(U0-Pad18)")
(node (ref U3) (pin 11)) (node (ref U6) (pin 2))
(node (ref U3) (pin 10))) (node (ref U1) (pin 11))
(net (code 3) (name "Net-(U3-Pad1)") (node (ref U4) (pin 2))
(node (ref U3) (pin 1)) (node (ref U0) (pin 18))
(node (ref U3) (pin 6))) (node (ref U7) (pin 3))
(net (code 4) (name "Net-(U3-Pad8)") (node (ref U5) (pin 3)))
(node (ref U3) (pin 8)) (net (code 3) (name "Net-(U0-Pad17)")
(node (ref U5) (pin 11))) (node (ref U7) (pin 4))
(net (code 5) (name "Net-(J0-Pad41)")
(node (ref U3) (pin 9))
(node (ref J0) (pin 41))
(node (ref U2) (pin 1))
(node (ref U3) (pin 2)))
(net (code 6) (name "Net-(J0-Pad18)")
(node (ref U2) (pin 12))
(node (ref U2) (pin 13))
(node (ref J0) (pin 18)))
(net (code 7) (name "Net-(U2-Pad3)")
(node (ref U2) (pin 3))
(node (ref U2) (pin 5))
(node (ref U2) (pin 4)))
(net (code 8) (name "Net-(U0-Pad19)")
(node (ref U2) (pin 6))
(node (ref U0) (pin 19)))
(net (code 9) (name "Net-(U3-Pad3)")
(node (ref U4) (pin 19))
(node (ref U3) (pin 3)))
(net (code 10) (name "Net-(J1-Pad15)")
(node (ref U4) (pin 15))
(node (ref J1) (pin 15)))
(net (code 11) (name "Net-(J1-Pad11)")
(node (ref J1) (pin 11))
(node (ref U4) (pin 17)))
(net (code 12) (name "Net-(J1-Pad19)")
(node (ref U4) (pin 14))
(node (ref J1) (pin 19)))
(net (code 13) (name "Net-(J1-Pad21)")
(node (ref U4) (pin 13))
(node (ref J1) (pin 21)))
(net (code 14) (name "Net-(J1-Pad23)")
(node (ref U4) (pin 12))
(node (ref J1) (pin 23)))
(net (code 15) (name "Net-(J1-Pad29)")
(node (ref J1) (pin 29))
(node (ref U4) (pin 11)))
(net (code 16) (name "Net-(J1-Pad7)")
(node (ref J1) (pin 7))
(node (ref U4) (pin 18)))
(net (code 17) (name "Net-(J1-Pad13)")
(node (ref J1) (pin 13))
(node (ref U4) (pin 16)))
(net (code 18) (name "Net-(J1-Pad38)")
(node (ref J1) (pin 38))
(node (ref U5) (pin 15)))
(net (code 19) (name "Net-(J1-Pad36)")
(node (ref U5) (pin 16))
(node (ref J1) (pin 36)))
(net (code 20) (name "Net-(J1-Pad32)")
(node (ref U5) (pin 19))
(node (ref J1) (pin 32)))
(net (code 22) (name "Net-(U0-Pad1)")
(node (ref U0) (pin 1))
(node (ref U2) (pin 11))
(node (ref U2) (pin 10))
(node (ref U3) (pin 4))
(node (ref U2) (pin 9)))
(net (code 23) (name "Net-(J1-Pad33)")
(node (ref U5) (pin 5))
(node (ref J1) (pin 33)))
(net (code 24) (name "Net-(J1-Pad31)")
(node (ref U5) (pin 2))
(node (ref J1) (pin 31)))
(net (code 25) (name "Net-(J1-Pad35)")
(node (ref J1) (pin 35))
(node (ref U5) (pin 6)))
(net (code 26) (name "Net-(J1-Pad37)")
(node (ref U5) (pin 9))
(node (ref J1) (pin 37)))
(net (code 27) (name "Net-(J1-Pad40)")
(node (ref J1) (pin 40))
(node (ref U5) (pin 12)))
(net (code 28) (name "Net-(C5-Pad1)")
(node (ref U5) (pin 20))
(node (ref J1) (pin 1))
(node (ref C5) (pin 1))
(node (ref C6) (pin 1))
(node (ref U4) (pin 20))
(node (ref J1) (pin 17)))
(net (code 29) (name "Net-(J0-Pad9)")
(node (ref U1) (pin 3))
(node (ref J0) (pin 9)))
(net (code 30) (name "Net-(U0-Pad14)")
(node (ref U5) (pin 13))
(node (ref U4) (pin 6))
(node (ref U0) (pin 14))
(node (ref U1) (pin 16)))
(net (code 31) (name "Net-(U0-Pad12)")
(node (ref U5) (pin 17))
(node (ref U0) (pin 12))
(node (ref U4) (pin 8))
(node (ref U1) (pin 18)))
(net (code 32) (name "Net-(J0-Pad10)")
(node (ref J0) (pin 10))
(node (ref U1) (pin 25)))
(net (code 33) (name "Net-(J0-Pad7)")
(node (ref J0) (pin 7))
(node (ref U1) (pin 5)))
(net (code 34) (name "Net-(J0-Pad4)")
(node (ref J0) (pin 4))
(node (ref U1) (pin 8)))
(net (code 35) (name "Net-(J0-Pad2)")
(node (ref U3) (pin 5))
(node (ref J0) (pin 2))
(node (ref U1) (pin 10)))
(net (code 36) (name "Net-(J0-Pad12)")
(node (ref U1) (pin 21))
(node (ref J0) (pin 12)))
(net (code 37) (name "Net-(U0-Pad17)")
(node (ref U5) (pin 4)) (node (ref U5) (pin 4))
(node (ref U4) (pin 3)) (node (ref U4) (pin 3))
(node (ref U0) (pin 17)) (node (ref U0) (pin 17))
(node (ref U1) (pin 12))) (node (ref U1) (pin 12))
(net (code 38) (name "Net-(U0-Pad16)") (node (ref U6) (pin 3)))
(net (code 4) (name "Net-(J1-Pad12)")
(node (ref U7) (pin 5))
(node (ref J1) (pin 12)))
(net (code 5) (name "Net-(J1-Pad22)")
(node (ref U6) (pin 12))
(node (ref U6) (pin 16))
(node (ref J1) (pin 22)))
(net (code 6) (name "Net-(J1-Pad24)")
(node (ref J1) (pin 24))
(node (ref U6) (pin 17))
(node (ref U6) (pin 13)))
(net (code 7) (name "Net-(U0-Pad12)")
(node (ref U4) (pin 8))
(node (ref U5) (pin 17))
(node (ref U1) (pin 18))
(node (ref U0) (pin 12))
(node (ref U6) (pin 8))
(node (ref U7) (pin 17)))
(net (code 8) (name "Net-(U1-Pad23)")
(node (ref U1) (pin 23))
(node (ref U7) (pin 12)))
(net (code 9) (name "Net-(U0-Pad14)")
(node (ref U4) (pin 6))
(node (ref U7) (pin 13))
(node (ref U6) (pin 6))
(node (ref U1) (pin 16))
(node (ref U5) (pin 13))
(node (ref U0) (pin 14)))
(net (code 10) (name "Net-(U0-Pad16)")
(node (ref U6) (pin 4))
(node (ref U5) (pin 7)) (node (ref U5) (pin 7))
(node (ref U4) (pin 4)) (node (ref U4) (pin 4))
(node (ref U7) (pin 7))
(node (ref U1) (pin 13)) (node (ref U1) (pin 13))
(node (ref U0) (pin 16))) (node (ref U0) (pin 16)))
(net (code 39) (name "Net-(J0-Pad24)") (net (code 11) (name "Net-(U0-Pad15)")
(node (ref J0) (pin 24))
(node (ref J0) (pin 27)))
(net (code 40) (name "Net-(J0-Pad23)")
(node (ref J0) (pin 28))
(node (ref J0) (pin 23)))
(net (code 41) (name "Net-(J1-Pad12)")
(node (ref J1) (pin 12)))
(net (code 42) (name "Net-(J1-Pad16)")
(node (ref J1) (pin 16)))
(net (code 43) (name "Net-(J1-Pad18)")
(node (ref J1) (pin 18)))
(net (code 44) (name "Net-(J1-Pad10)")
(node (ref J1) (pin 10)))
(net (code 45) (name "Net-(J1-Pad22)")
(node (ref J1) (pin 22)))
(net (code 46) (name "Net-(J1-Pad24)")
(node (ref J1) (pin 24)))
(net (code 47) (name "Net-(J1-Pad26)")
(node (ref J1) (pin 26)))
(net (code 48) (name "Net-(J1-Pad27)")
(node (ref J1) (pin 27)))
(net (code 49) (name "Net-(J1-Pad28)")
(node (ref J1) (pin 28)))
(net (code 50) (name "Net-(U0-Pad13)")
(node (ref U1) (pin 17))
(node (ref U5) (pin 14))
(node (ref U4) (pin 7))
(node (ref U0) (pin 13)))
(net (code 51) (name "Net-(U0-Pad11)")
(node (ref U4) (pin 9))
(node (ref U1) (pin 19))
(node (ref U5) (pin 18))
(node (ref U0) (pin 11)))
(net (code 52) (name "Net-(C1-Pad2)")
(node (ref J0) (pin 26))
(node (ref J1) (pin 39))
(node (ref U4) (pin 10))
(node (ref U4) (pin 1))
(node (ref U1) (pin 2))
(node (ref U0) (pin 10))
(node (ref J1) (pin 9))
(node (ref C6) (pin 2))
(node (ref C5) (pin 2))
(node (ref C1) (pin 2))
(node (ref C2) (pin 2))
(node (ref C4) (pin 2))
(node (ref J1) (pin 34))
(node (ref U5) (pin 1))
(node (ref J1) (pin 30))
(node (ref U5) (pin 10))
(node (ref U1) (pin 14))
(node (ref U1) (pin 23))
(node (ref J1) (pin 6))
(node (ref C3) (pin 2))
(node (ref U2) (pin 7))
(node (ref J1) (pin 14))
(node (ref U3) (pin 7))
(node (ref J1) (pin 20))
(node (ref J1) (pin 25)))
(net (code 53) (name "Net-(J1-Pad8)")
(node (ref J1) (pin 8)))
(net (code 54) (name "Net-(J1-Pad3)")
(node (ref J1) (pin 3)))
(net (code 55) (name "Net-(J1-Pad5)")
(node (ref J1) (pin 5)))
(net (code 56) (name "Net-(J0-Pad35)")
(node (ref J0) (pin 35)))
(net (code 57) (name "Net-(J0-Pad29)")
(node (ref J0) (pin 29)))
(net (code 58) (name "Net-(J0-Pad3)")
(node (ref U1) (pin 9))
(node (ref U3) (pin 13))
(node (ref J0) (pin 3)))
(net (code 59) (name "Net-(J0-Pad30)")
(node (ref J0) (pin 30)))
(net (code 60) (name "Net-(J0-Pad31)")
(node (ref J0) (pin 31)))
(net (code 61) (name "Net-(J0-Pad32)")
(node (ref J0) (pin 32)))
(net (code 62) (name "Net-(J0-Pad33)")
(node (ref J0) (pin 33)))
(net (code 63) (name "Net-(J0-Pad34)")
(node (ref J0) (pin 34)))
(net (code 64) (name "Net-(J0-Pad36)")
(node (ref J0) (pin 36)))
(net (code 65) (name "Net-(J0-Pad37)")
(node (ref J0) (pin 37)))
(net (code 66) (name "Net-(J0-Pad38)")
(node (ref J0) (pin 38)))
(net (code 67) (name "Net-(J0-Pad39)")
(node (ref J0) (pin 39)))
(net (code 68) (name "Net-(J0-Pad40)")
(node (ref J0) (pin 40)))
(net (code 69) (name "Net-(J0-Pad11)")
(node (ref J0) (pin 11))
(node (ref U1) (pin 24)))
(net (code 70) (name "Net-(J0-Pad13)")
(node (ref J0) (pin 13)))
(net (code 71) (name "Net-(J0-Pad14)")
(node (ref J0) (pin 14)))
(net (code 72) (name "Net-(J0-Pad15)")
(node (ref J0) (pin 15)))
(net (code 73) (name "Net-(J0-Pad16)")
(node (ref J0) (pin 16)))
(net (code 74) (name "Net-(J0-Pad17)")
(node (ref J0) (pin 17)))
(net (code 75) (name "Net-(J0-Pad19)")
(node (ref J0) (pin 19)))
(net (code 76) (name "Net-(J0-Pad20)")
(node (ref J0) (pin 20)))
(net (code 77) (name "Net-(J0-Pad21)")
(node (ref J0) (pin 21)))
(net (code 78) (name "Net-(J0-Pad22)")
(node (ref J0) (pin 22)))
(net (code 79) (name "Net-(C1-Pad1)")
(node (ref U2) (pin 14))
(node (ref U3) (pin 14))
(node (ref C4) (pin 1))
(node (ref C1) (pin 1))
(node (ref C2) (pin 1))
(node (ref J1) (pin 2))
(node (ref J1) (pin 4))
(node (ref U1) (pin 28))
(node (ref U1) (pin 27))
(node (ref U1) (pin 26))
(node (ref J0) (pin 25))
(node (ref C3) (pin 1))
(node (ref U0) (pin 20))
(node (ref U1) (pin 1)))
(net (code 80) (name "Net-(U0-Pad15)")
(node (ref U5) (pin 8))
(node (ref U1) (pin 15)) (node (ref U1) (pin 15))
(node (ref U5) (pin 8))
(node (ref U7) (pin 8))
(node (ref U4) (pin 5)) (node (ref U4) (pin 5))
(node (ref U0) (pin 15))) (node (ref U0) (pin 15))
(net (code 81) (name "Net-(U0-Pad18)") (node (ref U6) (pin 5)))
(node (ref U4) (pin 2)) (net (code 12) (name "Net-(J1-Pad33)")
(node (ref U5) (pin 3)) (node (ref U5) (pin 5))
(node (ref U0) (pin 18)) (node (ref J1) (pin 33)))
(node (ref U1) (pin 11))) (net (code 13) (name "Net-(J1-Pad35)")
(net (code 82) (name "Net-(J0-Pad43)") (node (ref J1) (pin 35))
(node (ref J0) (pin 43)) (node (ref U5) (pin 6)))
(node (ref U0) (pin 8))) (net (code 14) (name "Net-(U3-Pad8)")
(net (code 83) (name "Net-(J0-Pad42)") (node (ref U3) (pin 8))
(node (ref J0) (pin 42)) (node (ref U5) (pin 11)))
(node (ref U0) (pin 9))) (net (code 15) (name "Net-(J1-Pad11)")
(net (code 84) (name "Net-(J0-Pad6)") (node (ref U4) (pin 17))
(node (ref J0) (pin 6)) (node (ref J1) (pin 11)))
(node (ref U1) (pin 6))) (net (code 16) (name "Net-(J0-Pad8)")
(net (code 85) (name "Net-(J0-Pad44)")
(node (ref U0) (pin 7))
(node (ref J0) (pin 44)))
(net (code 86) (name "Net-(J0-Pad45)")
(node (ref J0) (pin 45))
(node (ref U0) (pin 6)))
(net (code 87) (name "Net-(J0-Pad46)")
(node (ref U0) (pin 5))
(node (ref J0) (pin 46)))
(net (code 88) (name "Net-(J0-Pad47)")
(node (ref U0) (pin 4))
(node (ref J0) (pin 47)))
(net (code 89) (name "Net-(J0-Pad48)")
(node (ref U0) (pin 3))
(node (ref J0) (pin 48)))
(net (code 90) (name "Net-(J0-Pad49)")
(node (ref U0) (pin 2))
(node (ref J0) (pin 49)))
(net (code 91) (name "Net-(J0-Pad50)")
(node (ref J0) (pin 50)))
(net (code 92) (name "Net-(J0-Pad8)")
(node (ref U1) (pin 4)) (node (ref U1) (pin 4))
(node (ref J0) (pin 8))) (node (ref J0) (pin 8)))
(net (code 93) (name "Net-(J0-Pad5)") (net (code 17) (name "Net-(J0-Pad6)")
(node (ref U1) (pin 6))
(node (ref J0) (pin 6)))
(net (code 18) (name "Net-(J1-Pad18)")
(node (ref U6) (pin 11))
(node (ref J1) (pin 18))
(node (ref U6) (pin 15)))
(net (code 19) (name "Net-(J0-Pad4)")
(node (ref U1) (pin 8))
(node (ref J0) (pin 4))
(node (ref U8) (pin 10)))
(net (code 20) (name "Net-(U8-Pad2)")
(node (ref U8) (pin 2))
(node (ref U8) (pin 8)))
(net (code 21) (name "Net-(U8-Pad11)")
(node (ref U8) (pin 11))
(node (ref U8) (pin 5)))
(net (code 22) (name "Net-(J0-Pad5)")
(node (ref J0) (pin 5)) (node (ref J0) (pin 5))
(node (ref U8) (pin 13))
(node (ref U1) (pin 7))) (node (ref U1) (pin 7)))
(net (code 94) (name "Net-(J0-Pad1)") (net (code 23) (name "Net-(U2-Pad8)")
(node (ref J0) (pin 1)) (node (ref U2) (pin 8))
(node (ref U3) (pin 12))
(node (ref U8) (pin 12)))
(net (code 24) (name "Net-(U6-Pad19)")
(node (ref U8) (pin 3))
(node (ref U6) (pin 19)))
(net (code 25) (name "Net-(U7-Pad11)")
(node (ref U7) (pin 11))
(node (ref U8) (pin 6)))
(net (code 26) (name "Net-(U0-Pad11)")
(node (ref U7) (pin 18))
(node (ref U6) (pin 9))
(node (ref U5) (pin 18))
(node (ref U1) (pin 19))
(node (ref U0) (pin 11))
(node (ref U4) (pin 9)))
(net (code 27) (name "Net-(J1-Pad10)")
(node (ref U7) (pin 6))
(node (ref J1) (pin 10)))
(net (code 28) (name "Net-(U1-Pad27)")
(node (ref U7) (pin 19))
(node (ref U1) (pin 27)))
(net (code 29) (name "Net-(J1-Pad8)")
(node (ref J1) (pin 8))
(node (ref U7) (pin 9)))
(net (code 30) (name "Net-(J1-Pad26)")
(node (ref J1) (pin 26))
(node (ref U6) (pin 14))
(node (ref U6) (pin 18)))
(net (code 31) (name "Net-(U1-Pad2)")
(node (ref U7) (pin 15))
(node (ref U1) (pin 2)))
(net (code 32) (name "Net-(U1-Pad26)")
(node (ref U7) (pin 16))
(node (ref U1) (pin 26)))
(net (code 33) (name "Net-(C5-Pad1)")
(node (ref U5) (pin 20))
(node (ref C7) (pin 1))
(node (ref C8) (pin 1))
(node (ref U7) (pin 20))
(node (ref C5) (pin 1))
(node (ref C6) (pin 1))
(node (ref U6) (pin 20))
(node (ref J1) (pin 17))
(node (ref U4) (pin 20))
(node (ref J1) (pin 1)))
(net (code 34) (name "Net-(U0-Pad13)")
(node (ref U6) (pin 7))
(node (ref U7) (pin 14))
(node (ref U5) (pin 14))
(node (ref U1) (pin 17))
(node (ref U0) (pin 13))
(node (ref U4) (pin 7)))
(net (code 35) (name "Net-(J0-Pad49)")
(node (ref J0) (pin 49))
(node (ref U0) (pin 2)))
(net (code 36) (name "Net-(J0-Pad48)")
(node (ref U0) (pin 3))
(node (ref J0) (pin 48)))
(net (code 37) (name "Net-(J0-Pad47)")
(node (ref U0) (pin 4))
(node (ref J0) (pin 47)))
(net (code 38) (name "Net-(J0-Pad46)")
(node (ref J0) (pin 46))
(node (ref U0) (pin 5)))
(net (code 39) (name "Net-(J0-Pad45)")
(node (ref U0) (pin 6))
(node (ref J0) (pin 45)))
(net (code 40) (name "Net-(J1-Pad23)")
(node (ref J1) (pin 23))
(node (ref U4) (pin 12)))
(net (code 41) (name "Net-(J1-Pad27)")
(node (ref J1) (pin 27)))
(net (code 42) (name "Net-(J1-Pad28)")
(node (ref J1) (pin 28)))
(net (code 43) (name "Net-(J1-Pad29)")
(node (ref J1) (pin 29))
(node (ref U4) (pin 11)))
(net (code 44) (name "Net-(J1-Pad3)")
(node (ref J1) (pin 3)))
(net (code 45) (name "Net-(J1-Pad31)")
(node (ref J1) (pin 31))
(node (ref U5) (pin 2)))
(net (code 46) (name "Net-(J1-Pad32)")
(node (ref J1) (pin 32))
(node (ref U5) (pin 19)))
(net (code 47) (name "Net-(J0-Pad44)")
(node (ref J0) (pin 44))
(node (ref U0) (pin 7)))
(net (code 48) (name "Net-(J1-Pad36)")
(node (ref J1) (pin 36))
(node (ref U5) (pin 16)))
(net (code 49) (name "Net-(J1-Pad37)")
(node (ref U5) (pin 9))
(node (ref J1) (pin 37)))
(net (code 50) (name "Net-(J1-Pad38)")
(node (ref U5) (pin 15))
(node (ref J1) (pin 38)))
(net (code 51) (name "Net-(C1-Pad1)")
(node (ref J0) (pin 25))
(node (ref C9) (pin 1))
(node (ref U3) (pin 14))
(node (ref U1) (pin 1))
(node (ref J1) (pin 2))
(node (ref U2) (pin 14))
(node (ref C1) (pin 1))
(node (ref C2) (pin 1))
(node (ref C4) (pin 1))
(node (ref C3) (pin 1))
(node (ref U0) (pin 20))
(node (ref U1) (pin 28))
(node (ref U8) (pin 14))
(node (ref J1) (pin 4)))
(net (code 52) (name "Net-(J1-Pad40)")
(node (ref J1) (pin 40))
(node (ref U5) (pin 12)))
(net (code 53) (name "Net-(J1-Pad5)")
(node (ref J1) (pin 5)))
(net (code 54) (name "Net-(J1-Pad7)")
(node (ref J1) (pin 7))
(node (ref U4) (pin 18)))
(net (code 55) (name "Net-(J0-Pad2)")
(node (ref U3) (pin 5))
(node (ref J0) (pin 2))
(node (ref U1) (pin 10)))
(net (code 56) (name "Net-(J0-Pad43)")
(node (ref U0) (pin 8))
(node (ref J0) (pin 43)))
(net (code 57) (name "Net-(J0-Pad42)")
(node (ref U0) (pin 9))
(node (ref J0) (pin 42)))
(net (code 58) (name "Net-(J1-Pad21)")
(node (ref U4) (pin 13))
(node (ref J1) (pin 21)))
(net (code 59) (name "Net-(J0-Pad34)")
(node (ref J0) (pin 34)))
(net (code 60) (name "Net-(J0-Pad35)")
(node (ref J0) (pin 35)))
(net (code 61) (name "Net-(J0-Pad36)")
(node (ref J0) (pin 36)))
(net (code 62) (name "Net-(J0-Pad37)")
(node (ref J0) (pin 37)))
(net (code 63) (name "Net-(J0-Pad38)")
(node (ref J0) (pin 38)))
(net (code 64) (name "Net-(J0-Pad39)")
(node (ref J0) (pin 39)))
(net (code 65) (name "Net-(J0-Pad40)")
(node (ref J0) (pin 40)))
(net (code 66) (name "Net-(J0-Pad33)")
(node (ref J0) (pin 33)))
(net (code 67) (name "Net-(J0-Pad50)")
(node (ref J0) (pin 50)))
(net (code 68) (name "Net-(J0-Pad7)")
(node (ref J0) (pin 7))
(node (ref U1) (pin 5)))
(net (code 69) (name "Net-(J0-Pad9)")
(node (ref U1) (pin 3))
(node (ref J0) (pin 9)))
(net (code 70) (name "Net-(U0-Pad1)")
(node (ref U8) (pin 9))
(node (ref U3) (pin 4))
(node (ref U2) (pin 9))
(node (ref U0) (pin 1))
(node (ref U2) (pin 10))
(node (ref U2) (pin 11)))
(net (code 71) (name "Net-(J0-Pad21)")
(node (ref J0) (pin 21)))
(net (code 72) (name "Net-(J0-Pad10)")
(node (ref U1) (pin 25))
(node (ref J0) (pin 10)))
(net (code 73) (name "Net-(J0-Pad11)")
(node (ref J0) (pin 11))
(node (ref U1) (pin 24)))
(net (code 74) (name "Net-(J0-Pad12)")
(node (ref U1) (pin 21))
(node (ref J0) (pin 12)))
(net (code 75) (name "Net-(J0-Pad13)")
(node (ref J0) (pin 13)))
(net (code 76) (name "Net-(J0-Pad14)")
(node (ref J0) (pin 14)))
(net (code 77) (name "Net-(J0-Pad15)")
(node (ref J0) (pin 15)))
(net (code 78) (name "Net-(J0-Pad16)")
(node (ref J0) (pin 16)))
(net (code 79) (name "Net-(J0-Pad17)")
(node (ref J0) (pin 17)))
(net (code 80) (name "Net-(J0-Pad19)")
(node (ref J0) (pin 19)))
(net (code 81) (name "Net-(J0-Pad20)")
(node (ref J0) (pin 20)))
(net (code 82) (name "Net-(J0-Pad22)")
(node (ref J0) (pin 22)))
(net (code 83) (name "Net-(J0-Pad24)")
(node (ref J0) (pin 24))
(node (ref J0) (pin 27)))
(net (code 84) (name "Net-(J0-Pad23)")
(node (ref J0) (pin 23))
(node (ref J0) (pin 28)))
(net (code 85) (name "Net-(J0-Pad29)")
(node (ref J0) (pin 29)))
(net (code 86) (name "Net-(J0-Pad30)")
(node (ref J0) (pin 30)))
(net (code 87) (name "Net-(J0-Pad31)")
(node (ref J0) (pin 31)))
(net (code 88) (name "Net-(J0-Pad32)")
(node (ref J0) (pin 32)))
(net (code 89) (name "Net-(U3-Pad3)")
(node (ref U3) (pin 3))
(node (ref U4) (pin 19)))
(net (code 90) (name "Net-(J1-Pad13)")
(node (ref J1) (pin 13))
(node (ref U4) (pin 16)))
(net (code 91) (name "Net-(J1-Pad15)")
(node (ref J1) (pin 15))
(node (ref U4) (pin 15)))
(net (code 92) (name "Net-(J1-Pad19)")
(node (ref J1) (pin 19))
(node (ref U4) (pin 14)))
(net (code 93) (name "Net-(C1-Pad2)")
(node (ref C6) (pin 2))
(node (ref U5) (pin 10))
(node (ref U6) (pin 1))
(node (ref U6) (pin 10))
(node (ref J1) (pin 30))
(node (ref U2) (pin 7))
(node (ref U3) (pin 7))
(node (ref U7) (pin 10))
(node (ref U5) (pin 1))
(node (ref U7) (pin 1))
(node (ref J1) (pin 9))
(node (ref C8) (pin 2))
(node (ref J1) (pin 25))
(node (ref J1) (pin 14))
(node (ref J1) (pin 20))
(node (ref U4) (pin 1))
(node (ref U4) (pin 10))
(node (ref U8) (pin 7))
(node (ref C9) (pin 2))
(node (ref C7) (pin 2))
(node (ref U0) (pin 10))
(node (ref J0) (pin 26))
(node (ref J1) (pin 6))
(node (ref C3) (pin 2))
(node (ref J1) (pin 39))
(node (ref C4) (pin 2))
(node (ref U1) (pin 14))
(node (ref C2) (pin 2))
(node (ref J1) (pin 34))
(node (ref C1) (pin 2))
(node (ref C5) (pin 2)))
(net (code 94) (name "Net-(J0-Pad3)")
(node (ref U1) (pin 9))
(node (ref J0) (pin 3))
(node (ref U3) (pin 13)))
(net (code 95) (name "Net-(U3-Pad10)")
(node (ref U3) (pin 10))
(node (ref U3) (pin 11)))
(net (code 96) (name "Net-(U2-Pad3)")
(node (ref U2) (pin 5))
(node (ref U2) (pin 4))
(node (ref U2) (pin 3)))
(net (code 97) (name "Net-(U0-Pad19)")
(node (ref U2) (pin 6))
(node (ref U0) (pin 19)))
(net (code 99) (name "Net-(U3-Pad1)")
(node (ref U3) (pin 6))
(node (ref U3) (pin 1)))
(net (code 100) (name "Net-(J0-Pad41)")
(node (ref U8) (pin 1))
(node (ref U8) (pin 4))
(node (ref J0) (pin 41))
(node (ref U3) (pin 2))
(node (ref U3) (pin 9))
(node (ref U2) (pin 1)))
(net (code 101) (name "Net-(J0-Pad18)")
(node (ref U2) (pin 12))
(node (ref J0) (pin 18))
(node (ref U2) (pin 13)))
(net (code 102) (name "Net-(J0-Pad1)")
(node (ref U2) (pin 2)) (node (ref U2) (pin 2))
(node (ref J0) (pin 1))
(node (ref U1) (pin 22)) (node (ref U1) (pin 22))
(node (ref U1) (pin 20))))) (node (ref U1) (pin 20)))))

Binary file not shown.

View File

@ -1,4 +1,4 @@
update=2021-01-08 14:20:49 update=2021-01-08 22:14:24
version=1 version=1
last_client=kicad last_client=kicad
[general] [general]

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,3 @@
(fp_lib_table (fp_lib_table
(lib (name Apple2)(type KiCad)(uri /home/terence/source/Apple2-IO-RPi/Hardware/Apple2.pretty)(options "")(descr "")) (lib (name Apple2)(type KiCad)(uri C:/Users/teren/Apple2-IO-RPi/Hardware/Apple2.pretty)(options "")(descr ""))
) )

View File

@ -7,17 +7,21 @@ Apple II expansion card using a Raspberry Pi for I/O
The purpose of this project is to provide I/O for an Apple II series 8 bit computer via a Raspberry Pi Zero W which is powered by the Apple II expansion bus. Initially this is storage via virtual ProDOS compatible drive. Next might be adding virtual serial card support over wifi. Future enhancements could use the RPi for more complex processing as per request from the Apple II. For example, the Apple II could request a web page or application and the RPi could calculate this in Apple II hi-res graphics mode and send the image data back to the II for display purposes. The purpose of this project is to provide I/O for an Apple II series 8 bit computer via a Raspberry Pi Zero W which is powered by the Apple II expansion bus. Initially this is storage via virtual ProDOS compatible drive. Next might be adding virtual serial card support over wifi. Future enhancements could use the RPi for more complex processing as per request from the Apple II. For example, the Apple II could request a web page or application and the RPi could calculate this in Apple II hi-res graphics mode and send the image data back to the II for display purposes.
## Project Status ## Project Status
This is an early stage project. Currently one board has been assembled and tested. It is now possible for the Apple II to boot from and write to a virutal hard drive image stored on the RPi in any slot. The code has no error handling or tests yet and is incomplete. This is an early stage project. Currently three prototype revisions been assembled and tested. It is now possible for the Apple II to boot from and write to a virutal hard drive image stored on the RPi in any slot and execute simple commands on the RPi via an Apple II application. The code has no error handling or tests yet and is incomplete.
## Roadmap ## Roadmap
1. DONE - Build initial prototype that reads/writes virtual hard drive 1. DONE - Build initial prototype that reads/writes virtual hard drive
2. DONE - Create firmware to make the card a bootable device 2. DONE - Create firmware to make the card a bootable device
3. DONE - Fix board with updated second prototype PCB 3. DONE - Fix board with updated second prototype PCB
4. WORKING - Add ProDOS clock driver (real driver later, for now just directly sets values) 4. DONE - Add ProDOS clock support
5. WORKING - Add RPi terminal access (does not keep context between commands yet) 5. WORKING - Add simple RPi command execution (does not keep context between commands yet)
6. Add web service call support 6. DONE - Create new schematic/PCB with faster data transfer
7. Proxy VNC connection, rendering as Apple II compatible graphics 7. Add proper ProDOS clock driver (currently just directly sets values on block reads)
8. Create new schematic/PCB with faster data transfer 8. Add directory context to RPi command execution
9. Add full terminal emulation
10. Add support for direct file read/write without drive image
11. Add web service call support
12. Proxy VNC connection, rendering as Apple II compatible graphics
## Setup ## Setup
1. Have PCBs made from the gerber and drill files in the Hardware folder 1. Have PCBs made from the gerber and drill files in the Hardware folder
@ -29,12 +33,12 @@ This is an early stage project. Currently one board has been assembled and teste
7. Put microSD card in the RPi 7. Put microSD card in the RPi
8. Install the expansion card into the Apple II 8. Install the expansion card into the Apple II
9. Power on the Apple II 9. Power on the Apple II
10. Install Go on the RPi over ssh 10. Install Git and Go on the RPi over ssh
11. go build Driver.go 11. go build Driver.go
12. Copy a ProDOS hard drive image onto the RPi 12. Copy a ProDOS hard drive image onto the RPi
13. ./Driver HARDDRIVE.hdv 13. ./Driver HARDDRIVE.hdv
14. Setup the Driver as a service or to autostart via cronjob
## Similar Project ## Similar Project
If you're looking for complete hardware design or prefer having Apple II peripherals control a control a Raspberry Pi rather than simply using the Raspberry Pi to provide storage and network access to the Apple II, have a look at David Schmenk's excellent [Apple2Pi](https://github.com/dschmenk/apple2pi) project. If you prefer having Apple II peripherals control a Raspberry Pi rather than simply using the Raspberry Pi to provide storage, network access and processing to the Apple II, have a look at David Schmenk's excellent [Apple2Pi](https://github.com/dschmenk/apple2pi) project.

View File

@ -17,16 +17,24 @@ var edgeTimeout time.Duration
var out_write gpio.PinIO var out_write gpio.PinIO
var out_read gpio.PinIO var out_read gpio.PinIO
var out_commandWrite gpio.PinIO var out_reserved2 gpio.PinIO
var out_commandRead gpio.PinIO var out_reserved1 gpio.PinIO
var out_bit7 gpio.PinIO
var out_bit6 gpio.PinIO
var out_bit5 gpio.PinIO
var out_bit4 gpio.PinIO
var out_bit3 gpio.PinIO var out_bit3 gpio.PinIO
var out_bit2 gpio.PinIO var out_bit2 gpio.PinIO
var out_bit1 gpio.PinIO var out_bit1 gpio.PinIO
var out_bit0 gpio.PinIO var out_bit0 gpio.PinIO
var in_write gpio.PinIO var in_write gpio.PinIO
var in_read gpio.PinIO var in_read gpio.PinIO
var in_commandWrite gpio.PinIO var in_reserved2 gpio.PinIO
var in_commandRead gpio.PinIO var in_reserved1 gpio.PinIO
var in_bit7 gpio.PinIO
var in_bit6 gpio.PinIO
var in_bit5 gpio.PinIO
var in_bit4 gpio.PinIO
var in_bit3 gpio.PinIO var in_bit3 gpio.PinIO
var in_bit2 gpio.PinIO var in_bit2 gpio.PinIO
var in_bit1 gpio.PinIO var in_bit1 gpio.PinIO
@ -95,7 +103,12 @@ func handleReadBlockCommand(file *os.File) {
file.ReadAt(buffer, int64(block)*512) file.ReadAt(buffer, int64(block)*512)
//dumpBlock(buffer) //dumpBlock(buffer)
readBlock(buffer) err := readBlock(buffer)
if err == nil {
fmt.Printf("Read block completed\n")
} else {
fmt.Printf("Failed to read block\n")
}
} }
func handleWriteBlockCommand(file *os.File) { func handleWriteBlockCommand(file *os.File) {
@ -111,6 +124,7 @@ func handleWriteBlockCommand(file *os.File) {
writeBlock(buffer) writeBlock(buffer)
file.WriteAt(buffer, int64(block)*512) file.WriteAt(buffer, int64(block)*512)
file.Sync() file.Sync()
fmt.Printf("Write block completed\n")
} }
func handleExecCommand() { func handleExecCommand() {
@ -134,6 +148,7 @@ func handleExecCommand() {
} }
func handleGetTimeCommand() { func handleGetTimeCommand() {
fmt.Printf("Sending date/time...\n")
/* 49041 ($BF91) 49040 ($BF90) /* 49041 ($BF91) 49040 ($BF90)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
@ -165,6 +180,7 @@ func handleGetTimeCommand() {
writeByte(bf91) writeByte(bf91)
writeByte(bf92) writeByte(bf92)
writeByte(bf93) writeByte(bf93)
fmt.Printf("Send time complete\n")
} }
func readBlock(buffer []byte) error { func readBlock(buffer []byte) error {
@ -191,18 +207,26 @@ func writeBlock(buffer []byte) error {
} }
func initGpio() { func initGpio() {
out_write = gpioreg.ByName("GPIO5") out_write = gpioreg.ByName("GPIO24")
out_read = gpioreg.ByName("GPIO11") out_read = gpioreg.ByName("GPIO25")
out_commandWrite = gpioreg.ByName("GPIO9") out_reserved2 = gpioreg.ByName("GPIO7") //note GPIO7 and CPIO8 require extra effort to use
out_commandRead = gpioreg.ByName("GPIO10") out_reserved1 = gpioreg.ByName("GPIO8")
out_bit7 = gpioreg.ByName("GPIO5")
out_bit6 = gpioreg.ByName("GPIO11")
out_bit5 = gpioreg.ByName("GPIO9")
out_bit4 = gpioreg.ByName("GPIO10")
out_bit3 = gpioreg.ByName("GPIO22") out_bit3 = gpioreg.ByName("GPIO22")
out_bit2 = gpioreg.ByName("GPIO27") out_bit2 = gpioreg.ByName("GPIO27")
out_bit1 = gpioreg.ByName("GPIO17") out_bit1 = gpioreg.ByName("GPIO17")
out_bit0 = gpioreg.ByName("GPIO4") out_bit0 = gpioreg.ByName("GPIO4")
in_write = gpioreg.ByName("GPIO12") in_write = gpioreg.ByName("GPIO23")
in_read = gpioreg.ByName("GPIO16") in_read = gpioreg.ByName("GPIO18")
in_commandWrite = gpioreg.ByName("GPIO20") in_reserved2 = gpioreg.ByName("GPIO14")
in_commandRead = gpioreg.ByName("GPIO21") in_reserved1 = gpioreg.ByName("GPIO15")
in_bit7 = gpioreg.ByName("GPIO12")
in_bit6 = gpioreg.ByName("GPIO16")
in_bit5 = gpioreg.ByName("GPIO20")
in_bit4 = gpioreg.ByName("GPIO21")
in_bit3 = gpioreg.ByName("GPIO26") in_bit3 = gpioreg.ByName("GPIO26")
in_bit2 = gpioreg.ByName("GPIO19") in_bit2 = gpioreg.ByName("GPIO19")
in_bit1 = gpioreg.ByName("GPIO13") in_bit1 = gpioreg.ByName("GPIO13")
@ -210,6 +234,18 @@ func initGpio() {
in_write.In(gpio.PullDown, gpio.BothEdges) in_write.In(gpio.PullDown, gpio.BothEdges)
in_read.In(gpio.PullDown, gpio.BothEdges) in_read.In(gpio.PullDown, gpio.BothEdges)
out_reserved1.Out(gpio.High)
out_reserved2.Out(gpio.High)
out_read.Out(gpio.High)
out_write.Out(gpio.High)
out_bit7.Out(gpio.Low)
out_bit6.Out(gpio.Low)
out_bit5.Out(gpio.Low)
out_bit4.Out(gpio.Low)
out_bit3.Out(gpio.Low)
out_bit2.Out(gpio.Low)
out_bit1.Out(gpio.Low)
out_bit0.Out(gpio.Low)
edgeTimeout = time.Second * 5 edgeTimeout = time.Second * 5
} }
@ -247,36 +283,8 @@ func writeString(outString string) error {
return nil return nil
} }
func readByte() (byte, error) { func readByte() (byte, error) {
data, err := readNibble()
data = data << byte(4)
if err != nil {
return 0, err
}
highNibble, err := readNibble()
if err != nil {
return 0, err
}
data += highNibble
//fmt.Printf("R%02X ", data)
return data, nil
}
func writeByte(data byte) error {
//fmt.Printf("W%02X ", data)
err := writeNibble(data >> 4)
if err != nil {
return err
}
err = writeNibble(data & 15)
if err != nil {
return err
}
return nil
}
func readNibble() (byte, error) {
// let the Apple II know we are ready to read // let the Apple II know we are ready to read
if debug { if debug {
fmt.Printf("let the Apple II know we are ready to read\n") fmt.Printf("let the Apple II know we are ready to read\n")
@ -290,34 +298,50 @@ func readNibble() (byte, error) {
for in_write.Read() == gpio.High { for in_write.Read() == gpio.High {
if !in_write.WaitForEdge(edgeTimeout) { if !in_write.WaitForEdge(edgeTimeout) {
if debug { if debug {
fmt.Printf("Timed out reading nibble -- write stuck high\n") fmt.Printf("Timed out reading byte -- write stuck high\n")
} }
return 0, errors.New("Timed out reading nibble -- write stuck high\n") return 0, errors.New("Timed out reading byte -- write stuck high\n")
} }
} }
// get a nibble of data // get a nibble of data
if debug { if debug {
fmt.Printf("get a nibble of data\n") fmt.Printf("get a byte of data\n")
} }
var nibble byte var data byte
nibble = 0 data = 0
bit7 := in_bit7.Read()
bit6 := in_bit6.Read()
bit5 := in_bit5.Read()
bit4 := in_bit4.Read()
bit3 := in_bit3.Read() bit3 := in_bit3.Read()
bit2 := in_bit2.Read() bit2 := in_bit2.Read()
bit1 := in_bit1.Read() bit1 := in_bit1.Read()
bit0 := in_bit0.Read() bit0 := in_bit0.Read()
if bit7 == gpio.High {
data += 128
}
if bit6 == gpio.High {
data += 64
}
if bit5 == gpio.High {
data += 32
}
if bit4 == gpio.High {
data += 16
}
if bit3 == gpio.High { if bit3 == gpio.High {
nibble += 8 data += 8
} }
if bit2 == gpio.High { if bit2 == gpio.High {
nibble += 4 data += 4
} }
if bit1 == gpio.High { if bit1 == gpio.High {
nibble += 2 data += 2
} }
if bit0 == gpio.High { if bit0 == gpio.High {
nibble += 1 data += 1
} }
// let the Apple II know we are done reading // let the Apple II know we are done reading
@ -329,16 +353,16 @@ func readNibble() (byte, error) {
for in_write.Read() == gpio.Low { for in_write.Read() == gpio.Low {
if !in_write.WaitForEdge(edgeTimeout) { if !in_write.WaitForEdge(edgeTimeout) {
if debug { if debug {
fmt.Printf("Timed out reading nibble -- write stuck low\n") fmt.Printf("Timed out reading byte -- write stuck low\n")
} }
return 0, errors.New("Timed out reading nibble -- write stuck low") return 0, errors.New("Timed out reading byte -- write stuck low")
} }
} }
return nibble, nil return data, nil
} }
func writeNibble(data byte) error { func writeByte(data byte) error {
// wait for the Apple II to be ready to read // wait for the Apple II to be ready to read
if debug { if debug {
fmt.Printf("wait for the Apple II to be ready to read\n") fmt.Printf("wait for the Apple II to be ready to read\n")
@ -346,16 +370,41 @@ func writeNibble(data byte) error {
for in_read.Read() == gpio.High { for in_read.Read() == gpio.High {
if !in_read.WaitForEdge(edgeTimeout) { if !in_read.WaitForEdge(edgeTimeout) {
if debug { if debug {
fmt.Printf("Timed out writing nibble -- read stuck high\n") fmt.Printf("Timed out writing byte -- read stuck high\n")
} }
return errors.New("Timed out writing nibble -- read stuck high") return errors.New("Timed out writing byte -- read stuck high")
} }
} }
bit7 := gpio.Low
bit6 := gpio.Low
bit5 := gpio.Low
bit4 := gpio.Low
bit3 := gpio.Low bit3 := gpio.Low
bit2 := gpio.Low bit2 := gpio.Low
bit1 := gpio.Low bit1 := gpio.Low
bit0 := gpio.Low bit0 := gpio.Low
if ((data & 128) >> 7) == 1 {
bit7 = gpio.High
}
out_bit7.Out(bit7)
if ((data & 64) >> 6) == 1 {
bit6 = gpio.High
}
out_bit6.Out(bit6)
if ((data & 32) >> 5) == 1 {
bit5 = gpio.High
}
out_bit5.Out(bit5)
if ((data & 16) >> 4) == 1 {
bit4 = gpio.High
}
out_bit4.Out(bit4)
if ((data & 8) >> 3) == 1 { if ((data & 8) >> 3) == 1 {
bit3 = gpio.High bit3 = gpio.High
} }
@ -387,9 +436,9 @@ func writeNibble(data byte) error {
for in_read.Read() == gpio.Low { for in_read.Read() == gpio.Low {
if !in_read.WaitForEdge(edgeTimeout) { if !in_read.WaitForEdge(edgeTimeout) {
if debug { if debug {
fmt.Printf("Timed out writing nibble -- read stuck low\n") fmt.Printf("Timed out writing byte -- read stuck low\n")
} }
return errors.New("Timed out writing nibble -- read stuck low") return errors.New("Timed out writing byte -- read stuck low")
} }
} }