First commit

The Single Breadboard Computer
This commit is contained in:
AndersBNielsen 2023-01-02 15:07:47 +01:00
commit 8d5fd74340
10 changed files with 4425 additions and 0 deletions

9
.gitignore vendored Executable file
View File

@ -0,0 +1,9 @@
*.o
*.bin
build/listing.txt
.DS_Store
hardware/_autosave*
hardware/#auto_saved_files#
_autosave*
*-bak
*-backups

69
abn6507rom.s Normal file
View File

@ -0,0 +1,69 @@
.feature string_escapes ; Allow c-style string escapes when using ca65
.feature org_per_seg
.feature c_comments
RIOT = $80
DRA = RIOT + $00 ;DRA ('A' side data register)
DDRA = RIOT + $01 ;DDRA ('A' side data direction register)
DRB = RIOT + $02 ;DRB ('B' side data register)
DDRB = RIOT + $03 ;('B' side data direction register)
READTDI = RIOT + $04 ;Read timer (disable interrupt)
WEDGC = RIOT + $04 ;Write edge-detect control (negative edge-detect,disable interrupt)
RRIFR = RIOT + $05 ;Read interrupt flag register (bit 7 = timer, bit 6 PA7 edge-detect) Clear PA7 flag
A7PEDI = RIOT + $05 ;Write edge-detect control (positive edge-detect,disable interrupt)
A7NEEI = RIOT + $06 ;Write edge-detect control (negative edge-detect, enable interrupt)
A7PEEI = RIOT + $07 ;Write edge-detect control (positive edge-detect enable interrupt)
READTEI = RIOT + $0C ;Read timer (enable interrupt)
WTD1DI = RIOT + $14 ; Write timer (divide by 1, disable interrupt)
WTD8DI = RIOT + $15 ;Write timer (divide by 8, disable interrupt)
WTD64DI = RIOT + $16 ;Write timer (divide by 64, disable interrupt)
WTD1KDI = RIOT + $17 ;Write timer (divide by 1024, disable interrupt)
WTD1EI = RIOT + $1C ;Write timer (divide by 1, enable interrupt)
WTD8EI = RIOT + $1D ;Write timer (divide by 8, enable interrupt)
WTD64EI = RIOT + $1E ;Write timer (divide by 64, enable interrupt)
WTD1KEI = RIOT + $1F ;Write timer (divide by 1024, enable interrupt)
.segment "RODATA"
.org $F000 ; Not strictly needed with CA65 but shows correct address in listing.txt
nmi:
irq:
reset:
cld ; Because you never know
sei ; Probably not needed with the 6507
;Set stack pointer and clear RAM
ldx #$7f
txs
lda #0
clearzp:
sta $00,x
dex
bne clearzp
sta $00,x
lda #$FF
sta DDRB ; Set whole B register to output
; Reset state of DDRA is $00.
main:
inc DRB
lda #244
bit DRA
bpl quartersecond
sta WTD64DI ; 244*64 = 15616 ~= 16ms
bne wait ; BRA
quartersecond:
sta WTD1KDI ; 244 * 1024 = 249856 ~= quarter second
wait:
lda READTDI
bne wait ; Loop until timer runs out
jmp main ; loop
.segment "VECTORS6502"
.ORG $fffa
.word nmi,reset,irq
.reloc

4
assemble.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/zsh
ca65 -vvv --cpu 6502 -l build/listing.txt -o build/abn6507rom.o abn6507rom.s
ld65 -o build/abn6507rom.bin -C memmap.cfg "./build/abn6507rom.o" #"./build/crom.o" "./build/userland.o"
minipro -s -p "W27C512@DIP28" -w build/abn6507rom.bin

1
build/readme.md Normal file
View File

@ -0,0 +1 @@
This file is intentionally left empty

691
hardware/6502.kicad_sym Normal file
View File

@ -0,0 +1,691 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "CP-Device" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "C" (id 0) (at 0.635 2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "CP-Device" (id 1) (at 0.635 -2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (id 2) (at 0.9652 -3.81 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "CP_*" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "CP-Device_0_1"
(rectangle (start -2.286 0.508) (end 2.286 1.016)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.778 2.286)
(xy -0.762 2.286)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.27 2.794)
(xy -1.27 1.778)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(rectangle (start 2.286 -0.508) (end -2.286 -1.016)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type outline))
)
)
(symbol "CP-Device_1_1"
(pin passive line (at 0 3.81 270) (length 2.794)
(name "~" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 0 -3.81 90) (length 2.794)
(name "~" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "LED_Small_ALT-Device" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
(property "Reference" "D" (id 0) (at -1.27 3.175 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "LED_Small_ALT-Device" (id 1) (at -4.445 -2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (id 2) (at 0 0 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "LED_Small_ALT-Device_0_1"
(polyline
(pts
(xy -0.762 -1.016)
(xy -0.762 1.016)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 1.016 0)
(xy -0.762 0)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0.762 -1.016)
(xy -0.762 0)
(xy 0.762 1.016)
(xy 0.762 -1.016)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(polyline
(pts
(xy 0 0.762)
(xy -0.508 1.27)
(xy -0.254 1.27)
(xy -0.508 1.27)
(xy -0.508 1.016)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0.508 1.27)
(xy 0 1.778)
(xy 0.254 1.778)
(xy 0 1.778)
(xy 0 1.524)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "LED_Small_ALT-Device_1_1"
(pin passive line (at -2.54 0 0) (length 1.778)
(name "K" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 0 180) (length 1.778)
(name "A" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "PMS171B-SOP16_150mil-Padauk_IC" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at 0 -5.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "PMS171B-SOP16_150mil-Padauk_IC" (id 1) (at 0 -7.62 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (id 2) (at 0 5.08 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 0 5.08 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "PMS171B-SOP16_150mil-Padauk_IC_0_1"
(rectangle (start -26.67 -8.89) (end 27.94 -36.83)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type background))
)
)
(symbol "PMS171B-SOP16_150mil-Padauk_IC_1_1"
(pin bidirectional line (at -29.21 -13.97 0) (length 2.54)
(name "PB4/AD4/TM2PWM" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -29.21 180) (length 2.54)
(name "PA4/AD9/CIN+/CIN1-/INT1A" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -26.67 180) (length 2.54)
(name "PA0/AD10/CO/INT0" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 30.48 -24.13 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -21.59 180) (length 2.54)
(name "PB0/TM2PWM/INT1" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -19.05 180) (length 2.54)
(name "PB1/AD1/Vref" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -16.51 180) (length 2.54)
(name "PB2/AD2/TM2PWM" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -13.97 180) (length 2.54)
(name "PB3/AD3" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -29.21 -16.51 0) (length 2.54)
(name "PB5/AD5/TM3PWM/INT0A" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -29.21 -19.05 0) (length 2.54)
(name "PB6/AD6/CIN4-/TM3PWM" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -29.21 -21.59 0) (length 2.54)
(name "PB7/AD7/CIN5-/TM3PWM" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -29.21 -24.13 0) (length 2.54)
(name "VDD" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -29.21 -26.67 0) (length 2.54)
(name "PA7/X1" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -29.21 -29.21 0) (length 2.54)
(name "PA6/X2" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -29.21 -31.75 0) (length 2.54)
(name "PA5/PRSTB" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -31.75 180) (length 2.54)
(name "PA3/AD8/CIN0-/TM2PWM" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "R6507" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at 0 -5.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "R6507" (id 1) (at 0 0 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (id 2) (at -5.08 2.54 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at -5.08 2.54 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "R6507_0_1"
(rectangle (start -10.16 7.62) (end 10.16 -45.72)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type background))
)
)
(symbol "R6507_1_1"
(pin input line (at 12.7 5.08 180) (length 2.54)
(name "~{RES}" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -27.94 0) (length 2.54)
(name "A5" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -30.48 0) (length 2.54)
(name "A6" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -33.02 0) (length 2.54)
(name "A7" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -35.56 0) (length 2.54)
(name "A8" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -38.1 0) (length 2.54)
(name "A9" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -40.64 0) (length 2.54)
(name "A10" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -12.7 5.08 0) (length 2.54)
(name "VSS" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -43.18 0) (length 2.54)
(name "A11" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin output line (at 12.7 -40.64 180) (length 2.54)
(name "A12" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -30.48 180) (length 2.54)
(name "D7" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -27.94 180) (length 2.54)
(name "D6" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -25.4 180) (length 2.54)
(name "D5" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -22.86 180) (length 2.54)
(name "D4" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
(pin input line (at -12.7 2.54 0) (length 2.54)
(name "RDY" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -20.32 180) (length 2.54)
(name "D3" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -17.78 180) (length 2.54)
(name "D2" (effects (font (size 1.27 1.27))))
(number "31" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -15.24 180) (length 2.54)
(name "D1" (effects (font (size 1.27 1.27))))
(number "32" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -12.7 180) (length 2.54)
(name "D0" (effects (font (size 1.27 1.27))))
(number "33" (effects (font (size 1.27 1.27))))
)
(pin output line (at 12.7 -10.16 180) (length 2.54)
(name "R/~{W}" (effects (font (size 1.27 1.27))))
(number "34" (effects (font (size 1.27 1.27))))
)
(pin no_connect line (at 12.7 -7.62 180) (length 2.54)
(name "NC" (effects (font (size 1.27 1.27))))
(number "35" (effects (font (size 1.27 1.27))))
)
(pin no_connect line (at 12.7 -5.08 180) (length 2.54)
(name "NC" (effects (font (size 1.27 1.27))))
(number "36" (effects (font (size 1.27 1.27))))
)
(pin input line (at 12.7 -2.54 180) (length 2.54)
(name "Ø0" (effects (font (size 1.27 1.27))))
(number "37" (effects (font (size 1.27 1.27))))
)
(pin input line (at 12.7 0 180) (length 2.54)
(name "~{SO}" (effects (font (size 1.27 1.27))))
(number "38" (effects (font (size 1.27 1.27))))
)
(pin output line (at 12.7 2.54 180) (length 2.54)
(name "Ø2" (effects (font (size 1.27 1.27))))
(number "39" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -12.7 -12.7 0) (length 2.54)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -15.24 0) (length 2.54)
(name "A0" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -17.78 0) (length 2.54)
(name "A1" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -20.32 0) (length 2.54)
(name "A2" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -22.86 0) (length 2.54)
(name "A3" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin output line (at -12.7 -25.4 0) (length 2.54)
(name "A4" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "R6522-65xx" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at 0 -5.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "R6522-65xx" (id 1) (at 0 0 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (id 2) (at -5.08 2.54 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at -5.08 2.54 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "R6522-65xx_0_1"
(rectangle (start -10.16 7.62) (end 10.16 -45.72)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type background))
)
)
(symbol "R6522-65xx_1_1"
(pin power_in line (at 0 -48.26 90) (length 2.54)
(name "VSS" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -15.24 0) (length 2.54)
(name "PB0" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -17.78 0) (length 2.54)
(name "PB1" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -20.32 0) (length 2.54)
(name "PB2" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -22.86 0) (length 2.54)
(name "PB3" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -25.4 0) (length 2.54)
(name "PB4" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -27.94 0) (length 2.54)
(name "PB5" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -30.48 0) (length 2.54)
(name "PB6" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -33.02 0) (length 2.54)
(name "PB7" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -17.78 180) (length 2.54)
(name "CB1" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -20.32 180) (length 2.54)
(name "CB2" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 5.08 0) (length 2.54)
(name "PA0" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 0 10.16 270) (length 2.54)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin output line (at 12.7 0 180) (length 2.54)
(name "~{IRQ}" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27))))
)
(pin input line (at 12.7 -2.54 180) (length 2.54)
(name "R/~{W}" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin input line (at 12.7 -5.08 180) (length 2.54)
(name "~{CS2}" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27))))
)
(pin input line (at 12.7 -7.62 180) (length 2.54)
(name "CS1" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27))))
)
(pin input line (at 12.7 2.54 180) (length 2.54)
(name "Ø2" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -43.18 180) (length 2.54)
(name "D7" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -40.64 180) (length 2.54)
(name "D6" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -38.1 180) (length 2.54)
(name "D5" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -35.56 180) (length 2.54)
(name "D4" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 2.54 0) (length 2.54)
(name "PA1" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -33.02 180) (length 2.54)
(name "D3" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -30.48 180) (length 2.54)
(name "D2" (effects (font (size 1.27 1.27))))
(number "31" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -27.94 180) (length 2.54)
(name "D1" (effects (font (size 1.27 1.27))))
(number "32" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -25.4 180) (length 2.54)
(name "D0" (effects (font (size 1.27 1.27))))
(number "33" (effects (font (size 1.27 1.27))))
)
(pin input line (at 12.7 5.08 180) (length 2.54)
(name "~{RES}" (effects (font (size 1.27 1.27))))
(number "34" (effects (font (size 1.27 1.27))))
)
(pin input line (at -12.7 -35.56 0) (length 2.54)
(name "RS3" (effects (font (size 1.27 1.27))))
(number "35" (effects (font (size 1.27 1.27))))
)
(pin input line (at -12.7 -38.1 0) (length 2.54)
(name "RS2" (effects (font (size 1.27 1.27))))
(number "36" (effects (font (size 1.27 1.27))))
)
(pin input line (at -12.7 -40.64 0) (length 2.54)
(name "RS1" (effects (font (size 1.27 1.27))))
(number "37" (effects (font (size 1.27 1.27))))
)
(pin input line (at -12.7 -43.18 0) (length 2.54)
(name "RS0" (effects (font (size 1.27 1.27))))
(number "38" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -15.24 180) (length 2.54)
(name "CA2" (effects (font (size 1.27 1.27))))
(number "39" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 0 0) (length 2.54)
(name "PA2" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 12.7 -12.7 180) (length 2.54)
(name "CA1" (effects (font (size 1.27 1.27))))
(number "40" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -2.54 0) (length 2.54)
(name "PA3" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -5.08 0) (length 2.54)
(name "PA4" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -7.62 0) (length 2.54)
(name "PA5" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -10.16 0) (length 2.54)
(name "PA6" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -12.7 0) (length 2.54)
(name "PA7" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "USB_B_Micro-Connector" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "J" (id 0) (at -5.08 11.43 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "USB_B_Micro-Connector" (id 1) (at -5.08 8.89 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (id 2) (at 3.81 -1.27 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 3.81 -1.27 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "USB*" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "USB_B_Micro-Connector_0_1"
(rectangle (start -5.08 -7.62) (end 5.08 7.62)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type background))
)
(circle (center -3.81 2.159) (radius 0.635)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(circle (center -0.635 3.429) (radius 0.381)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(rectangle (start -0.127 -7.62) (end 0.127 -6.858)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.905 2.159)
(xy 0.635 2.159)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -3.175 2.159)
(xy -2.54 2.159)
(xy -1.27 3.429)
(xy -0.635 3.429)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -2.54 2.159)
(xy -1.905 2.159)
(xy -1.27 0.889)
(xy 0 0.889)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0.635 2.794)
(xy 0.635 1.524)
(xy 1.905 2.159)
(xy 0.635 2.794)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(polyline
(pts
(xy -4.318 5.588)
(xy -1.778 5.588)
(xy -2.032 4.826)
(xy -4.064 4.826)
(xy -4.318 5.588)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type outline))
)
(polyline
(pts
(xy -4.699 5.842)
(xy -4.699 5.588)
(xy -4.445 4.826)
(xy -4.445 4.572)
(xy -1.651 4.572)
(xy -1.651 4.826)
(xy -1.397 5.588)
(xy -1.397 5.842)
(xy -4.699 5.842)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(rectangle (start 0.254 1.27) (end -0.508 0.508)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(rectangle (start 5.08 -5.207) (end 4.318 -4.953)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(rectangle (start 5.08 -2.667) (end 4.318 -2.413)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(rectangle (start 5.08 -0.127) (end 4.318 0.127)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(rectangle (start 5.08 4.953) (end 4.318 5.207)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "USB_B_Micro-Connector_1_1"
(pin power_out line (at 7.62 5.08 180) (length 2.54)
(name "VBUS" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 -2.54 180) (length 2.54)
(name "D-" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 0 180) (length 2.54)
(name "D+" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 -5.08 180) (length 2.54)
(name "ID" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 0 -10.16 90) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -2.54 -10.16 90) (length 2.54)
(name "Shield" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
)
)
)

View File

@ -0,0 +1,2 @@
(kicad_pcb (version 20211014) (generator pcbnew)
)

View File

@ -0,0 +1,75 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "6507 SBC.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

294
hardware/6507 SBC.kicad_pro Normal file
View File

@ -0,0 +1,294 @@
{
"board": {
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "6507 SBC.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"8d631a81-2764-4115-9853-f6135511f878",
""
]
],
"text_variables": {}
}

3269
hardware/6507 SBC.kicad_sch Normal file

File diff suppressed because it is too large Load Diff

11
memmap.cfg Executable file
View File

@ -0,0 +1,11 @@
MEMORY {
ZP: start = $0, size = $100, type = rw, define = yes;
ROM: start = $F000, size = $1000, file = %O;
}
SEGMENTS {
RODATA: load = ROM, type = ro;
ZEROPAGE: load = ZP, type = zp;
VECTORS6502: load = ROM, start = $FFFA, type = overwrite;
}