Compare commits

...

4 Commits

Author SHA1 Message Date
97883489e1 changes 2025-12-03 19:10:16 +01:00
THEON-1
0eb19921a6 updated gitignore 2025-12-01 11:21:21 +01:00
b65ced1368 more notes + datasheets 2025-10-26 00:59:27 +02:00
d02300ef8e ethernet idea 2025-10-25 20:13:41 +02:00
50 changed files with 24562 additions and 183125 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
design/**/*-backups/*.zip
*.lck

View File

@@ -10,4 +10,5 @@
# Arduino Interface
## Bus Ideas
- [74HC245](./datasheets/74HC_HCT245.pdf), also possible for GPU buffer switching
- [74HC245](./datasheets/74HC_HCT245.pdf), bidirectional 3-state bus transciever, also possible for GPU buffer switching
- [74HC138](./datasheets/74HC_HCT138.pdf), 3->8 address decoder

BIN
datasheets/74HC20.pdf Normal file

Binary file not shown.

BIN
datasheets/74HC_HCT138.pdf Normal file

Binary file not shown.

BIN
datasheets/74HC_HCT377.pdf Normal file

Binary file not shown.

BIN
datasheets/ENC28J60.pdf Normal file

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,83 +0,0 @@
(kicad_pcb
(version 20240108)
(generator "pcbnew")
(generator_version "8.0")
(general
(thickness 1.6)
(legacy_teardrops no)
)
(paper "A4")
(layers
(0 "F.Cu" signal)
(31 "B.Cu" signal)
(32 "B.Adhes" user "B.Adhesive")
(33 "F.Adhes" user "F.Adhesive")
(34 "B.Paste" user)
(35 "F.Paste" user)
(36 "B.SilkS" user "B.Silkscreen")
(37 "F.SilkS" user "F.Silkscreen")
(38 "B.Mask" user)
(39 "F.Mask" user)
(40 "Dwgs.User" user "User.Drawings")
(41 "Cmts.User" user "User.Comments")
(42 "Eco1.User" user "User.Eco1")
(43 "Eco2.User" user "User.Eco2")
(44 "Edge.Cuts" user)
(45 "Margin" user)
(46 "B.CrtYd" user "B.Courtyard")
(47 "F.CrtYd" user "F.Courtyard")
(48 "B.Fab" user)
(49 "F.Fab" user)
(50 "User.1" user)
(51 "User.2" user)
(52 "User.3" user)
(53 "User.4" user)
(54 "User.5" user)
(55 "User.6" user)
(56 "User.7" user)
(57 "User.8" user)
(58 "User.9" user)
)
(setup
(pad_to_mask_clearance 0)
(allow_soldermask_bridges_in_footprints no)
(pcbplotparams
(layerselection 0x00010fc_ffffffff)
(plot_on_all_layers_selection 0x0000000_00000000)
(disableapertmacros no)
(usegerberextensions no)
(usegerberattributes yes)
(usegerberadvancedattributes yes)
(creategerberjobfile yes)
(dashed_line_dash_ratio 12.000000)
(dashed_line_gap_ratio 3.000000)
(svgprecision 4)
(plotframeref no)
(viasonmask no)
(mode 1)
(useauxorigin no)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(pdf_front_fp_property_popups yes)
(pdf_back_fp_property_popups yes)
(dxfpolygonmode yes)
(dxfimperialunits yes)
(dxfusepcbnewfont yes)
(psnegative no)
(psa4output no)
(plotreference yes)
(plotvalue yes)
(plotfptext yes)
(plotinvisibletext no)
(sketchpadsonfab no)
(subtractmaskfromsilk no)
(outputformat 1)
(mirror no)
(drillshape 1)
(scaleselection 1)
(outputdirectory "")
)
)
(net 0 "")
)

View File

@@ -1,224 +0,0 @@
(kicad_sch
(version 20250114)
(generator "eeschema")
(generator_version "9.0")
(uuid "27fa70ec-70f1-4ec5-9aef-43afe5f03596")
(paper "A4")
(lib_symbols)
(sheet
(at 148.59 53.34)
(size 55.88 29.21)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "1c85a34e-e029-471f-835a-c5cb1e337bcc")
(property "Sheetname" "clock_board"
(at 148.59 52.6284 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "clock_board.kicad_sch"
(at 148.59 83.1346 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "6502"
(path "/27fa70ec-70f1-4ec5-9aef-43afe5f03596"
(page "3")
)
)
)
)
(sheet
(at 215.9 109.22)
(size 53.34 31.75)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "1d965ac9-0bec-4308-b34c-251844cc958f")
(property "Sheetname" "lcd_board"
(at 215.9 108.5084 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "lcd_board.kicad_sch"
(at 215.9 141.5546 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "6502"
(path "/27fa70ec-70f1-4ec5-9aef-43afe5f03596"
(page "6")
)
)
)
)
(sheet
(at 30.48 36.83)
(size 73.66 44.45)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "84677476-d952-4526-bbdb-640c00b36086")
(property "Sheetname" "cpu_board"
(at 30.48 36.1184 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "cpu_board.kicad_sch"
(at 30.48 81.8646 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "6502"
(path "/27fa70ec-70f1-4ec5-9aef-43afe5f03596"
(page "2")
)
)
)
)
(sheet
(at 132.08 104.14)
(size 57.15 34.29)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "e6c14eea-6ae8-44d4-9ce7-edf7fac74b1a")
(property "Sheetname" "arduino_board"
(at 132.08 103.4284 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "arduino_board.kicad_sch"
(at 132.08 139.0146 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "6502"
(path "/27fa70ec-70f1-4ec5-9aef-43afe5f03596"
(page "4")
)
)
)
)
(sheet
(at 33.02 102.87)
(size 68.58 35.56)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "ebd50b7c-771d-43af-8f30-908c96e17caf")
(property "Sheetname" "serial_board"
(at 33.02 102.1584 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "serial_board.kicad_sch"
(at 33.02 139.0146 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "6502"
(path "/27fa70ec-70f1-4ec5-9aef-43afe5f03596"
(page "5")
)
)
)
)
(sheet_instances
(path "/"
(page "1")
)
)
(embedded_fonts no)
)

File diff suppressed because it is too large Load Diff

4739
design/74xxLogic.bak Normal file

File diff suppressed because it is too large Load Diff

4739
design/74xxLogic.kicad_sym Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +0,0 @@
(kicad_sch
(version 20250114)
(generator "eeschema")
(generator_version "9.0")
(uuid "024d9314-6101-4648-b6a9-60a4a09a2ede")
(paper "A4")
(lib_symbols)
)

View File

@@ -1,8 +0,0 @@
(kicad_sch
(version 20250114)
(generator "eeschema")
(generator_version "9.0")
(uuid "ce8dcaa4-6718-4c1b-b3e3-a3e5483835b5")
(paper "A4")
(lib_symbols)
)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
(kicad_pcb (version 20241229) (generator "pcbnew") (generator_version "9.0")
)

View File

@@ -1,7 +1,7 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
@@ -45,21 +45,21 @@
"pads",
"zones",
"drc_warnings",
"drc_exclusions",
"locked_item_shadows",
"conflict_shadows",
"shapes"
],
"visible_layers": "00000000_00000000_0fffffff_ffffffff",
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "6502.kicad_prl",
"filename": "cpu_board.kicad_prl",
"version": 5
},
"net_inspector_panel": {

View File

@@ -204,7 +204,6 @@
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"conflicting_netclasses": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
@@ -251,7 +250,7 @@
"pinned_symbol_libs": []
},
"meta": {
"filename": "6502.kicad_pro",
"filename": "cpu_board.kicad_pro",
"version": 3
},
"net_settings": {
@@ -298,7 +297,7 @@
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "",
"bom_export_filename": "${PROJECTNAME}.csv",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
@@ -319,41 +318,53 @@
"name": "Reference",
"show": true
},
{
"group_by": true,
"label": "Value",
"name": "Value",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
},
{
"group_by": false,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": true,
"label": "Value",
"name": "Value",
"show": true
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
},
{
"group_by": true,
"label": "Exclude from BOM",
"name": "${EXCLUDE_FROM_BOM}",
"show": true
},
{
"group_by": true,
"label": "Exclude from Board",
"name": "${EXCLUDE_FROM_BOARD}",
"show": true
},
{
"group_by": true,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": false,
"name": "Grouped By Value",
"include_excluded_from_bom": true,
"name": "Default Editing",
"sort_asc": true,
"sort_field": "Reference"
},
@@ -399,28 +410,8 @@
},
"sheets": [
[
"27fa70ec-70f1-4ec5-9aef-43afe5f03596",
"7997bb75-67c5-4059-a258-ca352fda42f5",
"Root"
],
[
"84677476-d952-4526-bbdb-640c00b36086",
"cpu_board"
],
[
"1c85a34e-e029-471f-835a-c5cb1e337bcc",
"clock_board"
],
[
"e6c14eea-6ae8-44d4-9ce7-edf7fac74b1a",
"arduino_board"
],
[
"ebd50b7c-771d-43af-8f30-908c96e17caf",
"serial_board"
],
[
"1d965ac9-0bec-4308-b34c-251844cc958f",
"lcd_board"
]
],
"text_variables": {}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
(sym_lib_table
(version 7)
(lib (name "6502")(type "KiCad")(uri "C:/Users/Maxime Vorwerk/Documents/source/6502/design/6502.kicad_sym")(options "")(descr ""))
(lib (name "74xxLogic")(type "KiCad")(uri "C:/Users/Maxime Vorwerk/Documents/source/6502/design/74xxLogic.kicad_sym")(options "")(descr ""))
)

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +0,0 @@
(fp_lib_table
(version 7)
(lib (name "Arduino")(type "KiCad")(uri "${KIPRJMOD}/arduino.pretty")(options "")(descr ""))
)

View File

@@ -1,8 +0,0 @@
(kicad_sch
(version 20250114)
(generator "eeschema")
(generator_version "9.0")
(uuid "5b260d0f-5fae-4ba4-b740-e25b9991caa6")
(paper "A4")
(lib_symbols)
)

View File

@@ -1,8 +0,0 @@
(kicad_sch
(version 20250114)
(generator "eeschema")
(generator_version "9.0")
(uuid "f0424923-daf9-4b59-bbc7-48543f0e6d73")
(paper "A4")
(lib_symbols)
)

View File

@@ -1,5 +0,0 @@
(sym_lib_table
(version 7)
(lib (name "6502")(type "KiCad")(uri "${KIPRJMOD}/6502.kicad_sym")(options "")(descr ""))
(lib (name "Arduino")(type "KiCad")(uri "${KIPRJMOD}/arduino.kicad_sym")(options "")(descr ""))
)

View File

@@ -1 +0,0 @@
{"hostname":"MAXIMESPC","username":"Maxime Vorwerk"}

16
notes/cpu.md Normal file
View File

@@ -0,0 +1,16 @@
# CPU board
## Components
- CPU: [W65C02](../datasheets/w65c02s.pdf)
- RAM: [LY62256PL-5LL](../datasheets/LY62256PL-55LL.pdf)
- ROM: [AT28C64B](../datasheets/AT28C64B.pdf)
- Register: [74HC377](../datasheets/74HC_HCT377.pdf)
## Register
- Address 0x5FFF/0b0101_1111_1111_1111
- decode using [74HC20](../datasheets/74HC20.pdf), [74HC00](../datasheets/74hc00.pdf)
- $b_{15},\dots,b_0$
- $\overline E=\neg(b_0\land b_1\land b_2\land b_3)\land\neg(b_4\land b_5\land b_6\land b_7)\land\neg(b_8\land b_9\land b_{10}\land b_{11})\land\neg(b_{12}\land b_{14})\land (b_{13}\lor b_{15})$
## Timings
- PHI2 target: 10MHz -> 100ns

2
notes/ethernet.md Normal file
View File

@@ -0,0 +1,2 @@
# Ethernet
- [ENC28J60](./../datasheets/ENC28J60.pdf)

View File

@@ -2,6 +2,7 @@
- bank switching using 8-Bit register
- top 32K remain untouched
# [CPU](./cpu.md)
| start | end | use |
| :----- | :----- | :---------------------- |
| 0x0000 | 0x5FFE | RAM |
@@ -9,7 +10,7 @@
| 0x6000 | 0xDFFF | --- to be mapped --- |
| 0xE000 | 0xFFFF | ROM |
# Default (0X00)
# I/O (0x00)
| start | end | use |
| :----- | :----- | :-- |
| 0x6000 | 0xDFFF | I/O |