Merge pull request #87 from tjboldt/external-power

Add sixth prototype with external power jumper
This commit is contained in:
Terence Boldt 2022-02-17 20:19:43 -05:00 committed by GitHub
commit 37dd7b1c3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 23073 additions and 16597 deletions

View File

@ -22,6 +22,9 @@ body:
label: Hardware Version
description: What version of the hardware are you running?
options:
- Sixth Prototype (Purchased from Terence)
- Sixth Prototype (Self-assembled)
- Sixth Prototype (Purchased from third party)
- Fifth Prototype (Purchased from Terence)
- Fifth Prototype (Self-assembled)
- Fifth Prototype (Purchased from third party)

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

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,11 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.10-1-10_14)*
G04 #@! TF.CreationDate,2021-07-20T17:57:18-04:00*
G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.4*
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2-0)*
G04 #@! TF.CreationDate,2022-02-17T19:53:53-05:00*
G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.6*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Profile,NP*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (5.1.10-1-10_14)) date 2021-07-20 17:57:18*
G04 Created by KiCad (PCBNEW (6.0.2-0)) date 2022-02-17 19:53:53*
%MOMM*%
%LPD*%
G01*
@ -15,34 +15,34 @@ G04 #@! TA.AperFunction,Profile*
G04 #@! TD*
G04 APERTURE END LIST*
D10*
X193675000Y-42545000D02*
X193040000Y-41910000D01*
X193675000Y-111125000D02*
X193675000Y-42545000D01*
X104775000Y-41910000D02*
X193040000Y-41910000D01*
X104140000Y-42545000D02*
X104775000Y-41910000D01*
X122555000Y-111760000D02*
X122555000Y-118745000D01*
X104140000Y-111125000D02*
X104140000Y-42545000D01*
X104775000Y-111760000D02*
X104140000Y-111125000D01*
X193040000Y-111760000D02*
X193675000Y-111125000D01*
X193675000Y-111125000D02*
X193675000Y-42545000D01*
X108585000Y-111760000D02*
X122555000Y-111760000D01*
X193675000Y-42545000D02*
X193040000Y-41910000D01*
X108585000Y-111760000D02*
X104775000Y-111760000D01*
X123190000Y-119380000D02*
X186690000Y-119380000D01*
X104775000Y-41910000D02*
X193040000Y-41910000D01*
X122555000Y-118745000D02*
X123190000Y-119380000D01*
X122555000Y-111760000D02*
X122555000Y-118745000D01*
X108585000Y-111760000D02*
X122555000Y-111760000D01*
X193040000Y-111760000D02*
X193675000Y-111125000D01*
X187325000Y-111760000D02*
X193040000Y-111760000D01*
X187325000Y-118745000D02*
X187325000Y-111760000D01*
X186690000Y-119380000D02*
X187325000Y-118745000D01*
X187325000Y-118745000D02*
X187325000Y-111760000D01*
X187325000Y-111760000D02*
X193040000Y-111760000D01*
X104140000Y-42545000D02*
X104775000Y-41910000D01*
X104775000Y-111760000D02*
X104140000Y-111125000D01*
M02*

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

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
M48
; DRILL file {KiCad (5.1.10-1-10_14)} date Tuesday, July 20, 2021 at 05:57:21 PM
; DRILL file {KiCad (6.0.2-0)} date Thursday, February 17, 2022 at 07:53:49 pm
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2021-07-20T17:57:21-04:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.10-1-10_14)
; #@! TF.CreationDate,2022-02-17T19:53:49-05:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.2-0)
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
INCH

View File

@ -1,13 +1,16 @@
M48
; DRILL file {KiCad (5.1.10-1-10_14)} date Tuesday, July 20, 2021 at 05:57:21 PM
; DRILL file {KiCad (6.0.2-0)} date Thursday, February 17, 2022 at 07:53:49 pm
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2021-07-20T17:57:21-04:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.10-1-10_14)
; #@! TF.CreationDate,2022-02-17T19:53:49-05:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.2-0)
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
INCH
; #@! TA.AperFunction,Plated,PTH,ViaDrill
T1C0.0197
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T2C0.0315
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T3C0.0394
%
G90
@ -338,5 +341,7 @@ X4.45Y-3.66
X4.45Y-3.76
X4.45Y-3.86
X4.45Y-3.96
X4.626Y-4.122
X4.626Y-4.222
T0
M30

View File

@ -454,6 +454,27 @@ X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Jumper_Jumper_2_Bridged
#
DEF Jumper_Jumper_2_Bridged JP 0 0 Y N 1 F N
F0 "JP" 0 75 50 H V C CNN
F1 "Jumper_Jumper_2_Bridged" 0 -100 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Jumper*
TestPoint*2Pads*
TestPoint*Bridge*
$ENDFPLIST
DRAW
A 0 -70 100 1269 531 0 1 0 N -60 10 60 10
C -80 0 20 0 0 0 N
C 80 0 20 0 0 0 N
X A 1 -200 0 100 R 50 50 1 1 P
X B 2 200 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Memory_EPROM_27C256
#
DEF Memory_EPROM_27C256 U 0 20 Y Y 1 F N

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,77 @@
{
"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,
6,
7,
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": "00010f0_80000001",
"zone_display_mode": 0
},
"meta": {
"filename": "Apple2IORPi.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View File

@ -0,0 +1,482 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.09999999999999999,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"filename": "board_design_settings.json",
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rule_severitieslegacy_courtyards_overlap": false,
"rule_severitieslegacy_no_courtyard_defined": false,
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.024999999999999998,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.17779999999999999,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"use_height_for_length_calcs": true
},
"track_widths": [],
"via_dimensions": [],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"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": "Apple2IORPi.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.1778,
"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.1778,
"via_diameter": 0.762,
"via_drill": 0.50038,
"wire_width": 6.0
},
{
"bus_width": 12.0,
"clearance": 0.1778,
"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": "3V3",
"nets": [
"Net-(C5-Pad1)"
],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.3556,
"via_diameter": 0.762,
"via_drill": 0.50038,
"wire_width": 6.0
},
{
"bus_width": 12.0,
"clearance": 0.254,
"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": "5V",
"nets": [
"Net-(C1-Pad1)",
"Net-(J1-Pad2)"
],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.8128,
"via_diameter": 0.762,
"via_drill": 0.7112,
"wire_width": 6.0
},
{
"bus_width": 12.0,
"clearance": 0.254,
"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": "Ground",
"nets": [
"Net-(C1-Pad2)"
],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.8128,
"via_diameter": 0.762,
"via_drill": 0.7112,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "Apple2IORPi.net",
"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.25,
"pin_symbol_size": 0.0,
"text_offset_ratio": 0.08
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "Pcbnew",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"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": [
[
"89e83c2e-e90a-4a50-b278-880bac0cfb49",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,18 @@
(export (version D)
(design
(source /Users/terence/source/Apple2-IO-RPi/Hardware/Apple2IORPi.sch)
(date "Tuesday, July 20, 2021 at 05:16:50 pm")
(tool "Eeschema (5.1.10-1-10_14)")
(date "Wednesday, February 16, 2022 at 09:41:09 pm")
(tool "Eeschema (5.1.12-1-10_14)")
(sheet (number 1) (name /) (tstamps /)
(title_block
(title "Apple II I/O RPi")
(company "Terence J. Boldt")
(rev 1.0)
(date 2021-03-08)
(rev 6)
(date 2022-02-16)
(source Apple2IORPi.sch)
(comment (number 1) (value "Fourth Prototype"))
(comment (number 1) (value "Sixth Prototype"))
(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 2 as a daughter board"))
(comment (number 4) (value "Expansion card for Apple ][ computers")))))
(components
(comp (ref J0)
@ -154,7 +154,14 @@
(datasheet ~)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 60C3A67B)))
(tstamp 60C3A67B))
(comp (ref JPINTPWR1)
(value "Open for USB power, close for bus power")
(footprint Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical)
(datasheet ~)
(libsource (lib Jumper) (part Jumper_2_Bridged) (description "Jumper, 2-pole, closed/bridged"))
(sheetpath (names /) (tstamps /))
(tstamp 6215898B)))
(libparts
(libpart (lib 74xx) (part 74LS00)
(aliases
@ -395,6 +402,19 @@
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib Jumper) (part Jumper_2_Bridged)
(description "Jumper, 2-pole, closed/bridged")
(docs ~)
(footprints
(fp Jumper*)
(fp TestPoint*2Pads*)
(fp TestPoint*Bridge*))
(fields
(field (name Reference) JP)
(field (name Value) Jumper_2_Bridged))
(pins
(pin (num 1) (name A) (type passive))
(pin (num 2) (name B) (type passive))))
(libpart (lib Memory_EPROM) (part 27C256)
(aliases
(alias 27256))
@ -444,19 +464,21 @@
(uri "/Library/Application Support/kicad/library/Connector_Generic.lib"))
(library (logical Device)
(uri "/Library/Application Support/kicad/library/Device.lib"))
(library (logical Jumper)
(uri "/Library/Application Support/kicad/library/Jumper.lib"))
(library (logical Memory_EPROM)
(uri "/Library/Application Support/kicad/library/Memory_EPROM.lib")))
(nets
(net (code 1) (name "Net-(J0-Pad1)")
(node (ref J0) (pin 1))
(node (ref U1) (pin 20))
(node (ref U2) (pin 2)))
(node (ref U2) (pin 2))
(node (ref U1) (pin 20)))
(net (code 2) (name "Net-(J0-Pad10)")
(node (ref U1) (pin 25))
(node (ref J0) (pin 10)))
(node (ref J0) (pin 10))
(node (ref U1) (pin 25)))
(net (code 3) (name "Net-(J0-Pad12)")
(node (ref J0) (pin 12))
(node (ref U1) (pin 21)))
(node (ref U1) (pin 21))
(node (ref J0) (pin 12)))
(net (code 4) (name "Net-(J0-Pad13)")
(node (ref J0) (pin 13)))
(net (code 5) (name "Net-(J0-Pad14)")
@ -476,11 +498,11 @@
(net (code 12) (name "Net-(J0-Pad22)")
(node (ref J0) (pin 22)))
(net (code 13) (name "Net-(J0-Pad24)")
(node (ref J0) (pin 24))
(node (ref J0) (pin 27)))
(node (ref J0) (pin 27))
(node (ref J0) (pin 24)))
(net (code 14) (name "Net-(J0-Pad23)")
(node (ref J0) (pin 23))
(node (ref J0) (pin 28)))
(node (ref J0) (pin 28))
(node (ref J0) (pin 23)))
(net (code 15) (name "Net-(J0-Pad29)")
(node (ref J0) (pin 29)))
(net (code 16) (name "Net-(J0-Pad30)")
@ -508,8 +530,8 @@
(net (code 27) (name "Net-(J0-Pad50)")
(node (ref J0) (pin 50)))
(net (code 28) (name "Net-(J0-Pad6)")
(node (ref U1) (pin 6))
(node (ref J0) (pin 6)))
(node (ref J0) (pin 6))
(node (ref U1) (pin 6)))
(net (code 29) (name "Net-(J0-Pad7)")
(node (ref J0) (pin 7))
(node (ref U1) (pin 5)))
@ -523,14 +545,14 @@
(node (ref U0) (pin 2))
(node (ref J0) (pin 49)))
(net (code 33) (name "Net-(J0-Pad48)")
(node (ref U0) (pin 3))
(node (ref J0) (pin 48)))
(node (ref J0) (pin 48))
(node (ref U0) (pin 3)))
(net (code 34) (name "Net-(J0-Pad47)")
(node (ref J0) (pin 47))
(node (ref U0) (pin 4)))
(net (code 35) (name "Net-(J0-Pad46)")
(node (ref J0) (pin 46))
(node (ref U0) (pin 5)))
(node (ref U0) (pin 5))
(node (ref J0) (pin 46)))
(net (code 36) (name "Net-(J0-Pad45)")
(node (ref U0) (pin 6))
(node (ref J0) (pin 45)))
@ -544,39 +566,39 @@
(node (ref U0) (pin 9))
(node (ref J0) (pin 42)))
(net (code 40) (name "Net-(U3-Pad3)")
(node (ref U4) (pin 19))
(node (ref U3) (pin 3)))
(node (ref U3) (pin 3))
(node (ref U4) (pin 19)))
(net (code 41) (name "Net-(J1-Pad10)")
(node (ref U7) (pin 6))
(node (ref J1) (pin 10)))
(node (ref J1) (pin 10))
(node (ref U7) (pin 6)))
(net (code 42) (name "Net-(J1-Pad13)")
(node (ref J1) (pin 13))
(node (ref U4) (pin 16)))
(net (code 43) (name "Net-(J1-Pad15)")
(node (ref U4) (pin 15))
(node (ref J1) (pin 15)))
(node (ref J1) (pin 15))
(node (ref U4) (pin 15)))
(net (code 44) (name "Net-(J1-Pad19)")
(node (ref U4) (pin 14))
(node (ref J1) (pin 19)))
(node (ref J1) (pin 19))
(node (ref U4) (pin 14)))
(net (code 45) (name "Net-(J1-Pad21)")
(node (ref U4) (pin 13))
(node (ref J1) (pin 21)))
(node (ref J1) (pin 21))
(node (ref U4) (pin 13)))
(net (code 46) (name "Net-(J1-Pad23)")
(node (ref U4) (pin 12))
(node (ref J1) (pin 23)))
(net (code 47) (name "Net-(J1-Pad24)")
(node (ref J1) (pin 24))
(node (ref U6) (pin 13)))
(node (ref U6) (pin 13))
(node (ref J1) (pin 24)))
(net (code 48) (name "Net-(J1-Pad26)")
(node (ref J1) (pin 26))
(node (ref U6) (pin 14)))
(node (ref U6) (pin 14))
(node (ref J1) (pin 26)))
(net (code 49) (name "Net-(J1-Pad27)")
(node (ref J1) (pin 27)))
(net (code 50) (name "Net-(J1-Pad28)")
(node (ref J1) (pin 28)))
(net (code 51) (name "Net-(J1-Pad29)")
(node (ref J1) (pin 29))
(node (ref U4) (pin 11)))
(node (ref U4) (pin 11))
(node (ref J1) (pin 29)))
(net (code 52) (name "Net-(J1-Pad3)")
(node (ref J1) (pin 3)))
(net (code 53) (name "Net-(J1-Pad31)")
@ -586,17 +608,17 @@
(node (ref U5) (pin 19))
(node (ref J1) (pin 32)))
(net (code 55) (name "Net-(J1-Pad36)")
(node (ref J1) (pin 36))
(node (ref U5) (pin 16)))
(node (ref U5) (pin 16))
(node (ref J1) (pin 36)))
(net (code 56) (name "Net-(J1-Pad37)")
(node (ref J1) (pin 37))
(node (ref U5) (pin 9)))
(node (ref U5) (pin 9))
(node (ref J1) (pin 37)))
(net (code 57) (name "Net-(J1-Pad38)")
(node (ref J1) (pin 38))
(node (ref U5) (pin 15)))
(net (code 58) (name "Net-(J1-Pad40)")
(node (ref J1) (pin 40))
(node (ref U5) (pin 12)))
(node (ref U5) (pin 12))
(node (ref J1) (pin 40)))
(net (code 59) (name "Net-(J1-Pad5)")
(node (ref J1) (pin 5)))
(net (code 60) (name "Net-(J1-Pad7)")
@ -609,14 +631,14 @@
(node (ref U1) (pin 24))
(node (ref J0) (pin 11)))
(net (code 63) (name "Net-(J1-Pad11)")
(node (ref U4) (pin 17))
(node (ref J1) (pin 11)))
(node (ref J1) (pin 11))
(node (ref U4) (pin 17)))
(net (code 64) (name "Net-(J1-Pad33)")
(node (ref U5) (pin 5))
(node (ref J1) (pin 33)))
(node (ref J1) (pin 33))
(node (ref U5) (pin 5)))
(net (code 65) (name "Net-(J1-Pad35)")
(node (ref J1) (pin 35))
(node (ref U5) (pin 6)))
(node (ref U5) (pin 6))
(node (ref J1) (pin 35)))
(net (code 66) (name "Net-(J0-Pad2)")
(node (ref U3) (pin 5))
(node (ref J0) (pin 2))
@ -625,51 +647,51 @@
(node (ref U3) (pin 6))
(node (ref U3) (pin 1)))
(net (code 68) (name "Net-(U3-Pad10)")
(node (ref U3) (pin 10))
(node (ref U3) (pin 11)))
(node (ref U3) (pin 11))
(node (ref U3) (pin 10)))
(net (code 69) (name "Net-(U3-Pad8)")
(node (ref U5) (pin 11))
(node (ref U3) (pin 8)))
(net (code 70) (name "Net-(J0-Pad41)")
(node (ref U3) (pin 9))
(node (ref U2) (pin 1))
(node (ref U8) (pin 4))
(node (ref U3) (pin 2))
(node (ref U8) (pin 1))
(node (ref J0) (pin 41)))
(node (ref J0) (pin 41))
(node (ref U3) (pin 2))
(node (ref U2) (pin 1))
(node (ref U3) (pin 9)))
(net (code 71) (name "Net-(J0-Pad3)")
(node (ref J0) (pin 3))
(node (ref U1) (pin 9))
(node (ref J0) (pin 3))
(node (ref U3) (pin 13)))
(net (code 72) (name "Net-(U2-Pad3)")
(node (ref U2) (pin 3))
(node (ref U2) (pin 5))
(node (ref U2) (pin 4))
(node (ref U2) (pin 3)))
(node (ref U2) (pin 4)))
(net (code 73) (name "Net-(U0-Pad19)")
(node (ref U0) (pin 19))
(node (ref U2) (pin 6)))
(net (code 74) (name "Net-(U0-Pad1)")
(node (ref U8) (pin 9))
(node (ref U0) (pin 1))
(node (ref U2) (pin 10))
(node (ref U2) (pin 9))
(node (ref U1) (pin 22))
(node (ref U0) (pin 1))
(node (ref U2) (pin 11))
(node (ref U2) (pin 9))
(node (ref U2) (pin 10))
(node (ref U3) (pin 4)))
(net (code 75) (name "Net-(J0-Pad18)")
(node (ref U2) (pin 13))
(node (ref U2) (pin 12))
(node (ref J0) (pin 18)))
(node (ref J0) (pin 18))
(node (ref U2) (pin 12)))
(net (code 76) (name "Net-(U1-Pad1)")
(node (ref U1) (pin 1)))
(net (code 77) (name "Net-(U1-Pad26)")
(node (ref U1) (pin 26)))
(net (code 78) (name "Net-(J1-Pad18)")
(node (ref U6) (pin 11))
(node (ref J1) (pin 18)))
(node (ref J1) (pin 18))
(node (ref U6) (pin 11)))
(net (code 79) (name "Net-(J1-Pad22)")
(node (ref U6) (pin 12))
(node (ref J1) (pin 22)))
(node (ref J1) (pin 22))
(node (ref U6) (pin 12)))
(net (code 80) (name "Net-(U6-Pad15)")
(node (ref U6) (pin 15)))
(net (code 81) (name "Net-(U6-Pad16)")
@ -679,156 +701,159 @@
(net (code 83) (name "Net-(U6-Pad18)")
(node (ref U6) (pin 18)))
(net (code 84) (name "Net-(U0-Pad16)")
(node (ref U1) (pin 13))
(node (ref U4) (pin 4))
(node (ref U7) (pin 7))
(node (ref U6) (pin 4))
(node (ref U0) (pin 16))
(node (ref U1) (pin 13))
(node (ref U6) (pin 4))
(node (ref U7) (pin 7))
(node (ref U5) (pin 7)))
(net (code 85) (name "Net-(U0-Pad11)")
(node (ref U5) (pin 18))
(node (ref U0) (pin 11))
(node (ref U1) (pin 19))
(node (ref U0) (pin 11))
(node (ref U7) (pin 18))
(node (ref U6) (pin 9))
(node (ref U4) (pin 9)))
(node (ref U4) (pin 9))
(node (ref U6) (pin 9)))
(net (code 86) (name "Net-(U1-Pad23)")
(node (ref U7) (pin 12))
(node (ref U1) (pin 23)))
(node (ref U1) (pin 23))
(node (ref U7) (pin 12)))
(net (code 87) (name "Net-(U0-Pad14)")
(node (ref U4) (pin 6))
(node (ref U7) (pin 13))
(node (ref U0) (pin 14))
(node (ref U5) (pin 13))
(node (ref U1) (pin 16))
(node (ref U6) (pin 6)))
(node (ref U4) (pin 6))
(node (ref U5) (pin 13))
(node (ref U6) (pin 6))
(node (ref U0) (pin 14)))
(net (code 88) (name "Net-(U0-Pad13)")
(node (ref U0) (pin 13))
(node (ref U6) (pin 7))
(node (ref U7) (pin 14))
(node (ref U1) (pin 17))
(node (ref U4) (pin 7))
(node (ref U6) (pin 7))
(node (ref U5) (pin 14)))
(net (code 89) (name "Net-(U7-Pad16)")
(node (ref U7) (pin 16)))
(net (code 90) (name "Net-(U0-Pad12)")
(node (ref U6) (pin 8))
(node (ref U0) (pin 12))
(node (ref U4) (pin 8))
(node (ref U7) (pin 17))
(node (ref U1) (pin 18))
(node (ref U5) (pin 17)))
(node (ref U5) (pin 17))
(node (ref U6) (pin 8))
(node (ref U7) (pin 17))
(node (ref U4) (pin 8))
(node (ref U0) (pin 12)))
(net (code 91) (name "Net-(U7-Pad19)")
(node (ref U7) (pin 19)))
(net (code 92) (name "Net-(J1-Pad16)")
(node (ref U7) (pin 2))
(node (ref J1) (pin 16)))
(node (ref J1) (pin 16))
(node (ref U7) (pin 2)))
(net (code 93) (name "Net-(U0-Pad18)")
(node (ref U4) (pin 2))
(node (ref U6) (pin 2))
(node (ref U0) (pin 18))
(node (ref U1) (pin 11))
(node (ref U5) (pin 3))
(node (ref U7) (pin 3)))
(node (ref U7) (pin 3))
(node (ref U0) (pin 18))
(node (ref U6) (pin 2))
(node (ref U5) (pin 3)))
(net (code 94) (name "Net-(U0-Pad17)")
(node (ref U0) (pin 17))
(node (ref U4) (pin 3))
(node (ref U7) (pin 4))
(node (ref U5) (pin 4))
(node (ref U1) (pin 12))
(node (ref U0) (pin 17))
(node (ref U6) (pin 3))
(node (ref U4) (pin 3)))
(node (ref U1) (pin 12)))
(net (code 95) (name "Net-(J1-Pad12)")
(node (ref J1) (pin 12))
(node (ref U7) (pin 5)))
(net (code 96) (name "Net-(U0-Pad15)")
(node (ref U0) (pin 15))
(node (ref U4) (pin 5))
(node (ref U6) (pin 5))
(node (ref U1) (pin 15))
(node (ref U5) (pin 8))
(node (ref U7) (pin 8))
(node (ref U4) (pin 5)))
(node (ref U5) (pin 8)))
(net (code 97) (name "Net-(U1-Pad2)")
(node (ref U7) (pin 15))
(node (ref U1) (pin 2)))
(net (code 98) (name "Net-(C5-Pad1)")
(node (ref U4) (pin 20))
(node (ref C6) (pin 1))
(node (ref C5) (pin 1))
(node (ref J1) (pin 1))
(node (ref U6) (pin 20))
(node (ref J1) (pin 17))
(node (ref U5) (pin 20))
(node (ref U7) (pin 20))
(node (ref U6) (pin 20))
(node (ref U4) (pin 20))
(node (ref J1) (pin 1))
(node (ref J1) (pin 17))
(node (ref C5) (pin 1))
(node (ref C8) (pin 1))
(node (ref C7) (pin 1)))
(net (code 99) (name "Net-(C1-Pad1)")
(node (ref J0) (pin 25))
(node (ref U2) (pin 14))
(node (ref U3) (pin 14))
(node (ref U0) (pin 20))
(node (ref J1) (pin 2))
(node (ref U1) (pin 28))
(node (ref C3) (pin 1))
(node (ref U8) (pin 14))
(node (ref C9) (pin 1))
(node (ref C4) (pin 1))
(node (ref J1) (pin 4))
(node (ref C2) (pin 1))
(node (ref C1) (pin 1)))
(net (code 100) (name "Net-(U6-Pad19)")
(node (ref U6) (pin 19))
(node (ref U8) (pin 3)))
(net (code 101) (name "Net-(U7-Pad11)")
(node (ref C7) (pin 1))
(node (ref U5) (pin 20)))
(net (code 99) (name "Net-(U6-Pad19)")
(node (ref U8) (pin 3))
(node (ref U6) (pin 19)))
(net (code 100) (name "Net-(U7-Pad11)")
(node (ref U8) (pin 6))
(node (ref U7) (pin 11)))
(net (code 102) (name "Net-(J0-Pad4)")
(net (code 101) (name "Net-(J0-Pad4)")
(node (ref U8) (pin 10))
(node (ref J0) (pin 4))
(node (ref U1) (pin 8)))
(net (code 103) (name "Net-(U8-Pad2)")
(node (ref U8) (pin 2))
(node (ref U8) (pin 8)))
(net (code 104) (name "Net-(U8-Pad11)")
(node (ref U1) (pin 8))
(node (ref J0) (pin 4)))
(net (code 102) (name "Net-(U8-Pad2)")
(node (ref U8) (pin 8))
(node (ref U8) (pin 2)))
(net (code 103) (name "Net-(U8-Pad11)")
(node (ref U8) (pin 11))
(node (ref U8) (pin 5)))
(net (code 105) (name "Net-(J0-Pad5)")
(net (code 104) (name "Net-(J0-Pad5)")
(node (ref U8) (pin 13))
(node (ref U1) (pin 7))
(node (ref J0) (pin 5))
(node (ref U8) (pin 13)))
(net (code 106) (name "Net-(C1-Pad2)")
(node (ref U2) (pin 7))
(node (ref C2) (pin 2))
(node (ref J0) (pin 26))
(node (ref U3) (pin 7))
(node (ref C8) (pin 2))
(node (ref C7) (pin 2))
(node (ref U8) (pin 7))
(node (ref U7) (pin 10))
(node (ref U0) (pin 10))
(node (ref C9) (pin 2))
(node (ref C3) (pin 2))
(node (ref C4) (pin 2))
(node (ref C1) (pin 2))
(node (ref C5) (pin 2))
(node (ref J0) (pin 5)))
(net (code 105) (name "Net-(C1-Pad2)")
(node (ref C6) (pin 2))
(node (ref U5) (pin 10))
(node (ref U5) (pin 1))
(node (ref J1) (pin 9))
(node (ref J1) (pin 6))
(node (ref C5) (pin 2))
(node (ref J0) (pin 26))
(node (ref C1) (pin 2))
(node (ref U7) (pin 10))
(node (ref C2) (pin 2))
(node (ref U7) (pin 1))
(node (ref C4) (pin 2))
(node (ref U0) (pin 10))
(node (ref C3) (pin 2))
(node (ref U4) (pin 1))
(node (ref U4) (pin 10))
(node (ref U3) (pin 7))
(node (ref U2) (pin 7))
(node (ref J1) (pin 14))
(node (ref U6) (pin 10))
(node (ref U6) (pin 1))
(node (ref J1) (pin 20))
(node (ref J1) (pin 39))
(node (ref J1) (pin 34))
(node (ref J1) (pin 30))
(node (ref U1) (pin 14))
(node (ref J1) (pin 25))
(node (ref U6) (pin 1)))
(net (code 107) (name "Net-(U1-Pad27)")
(node (ref U1) (pin 27))
(node (ref U8) (pin 12))
(node (ref U1) (pin 14))
(node (ref J1) (pin 30))
(node (ref C8) (pin 2))
(node (ref C7) (pin 2))
(node (ref J1) (pin 34))
(node (ref J1) (pin 39))
(node (ref J1) (pin 6))
(node (ref U8) (pin 7))
(node (ref J1) (pin 9))
(node (ref U5) (pin 1))
(node (ref C9) (pin 2))
(node (ref U5) (pin 10)))
(net (code 106) (name "Net-(U1-Pad27)")
(node (ref U2) (pin 8))
(node (ref U3) (pin 12))
(node (ref U2) (pin 8)))))
(node (ref U1) (pin 27))
(node (ref U8) (pin 12)))
(net (code 107) (name "Net-(C1-Pad1)")
(node (ref JPINTPWR1) (pin 1))
(node (ref U8) (pin 14))
(node (ref C9) (pin 1))
(node (ref U1) (pin 28))
(node (ref U2) (pin 14))
(node (ref U3) (pin 14))
(node (ref C3) (pin 1))
(node (ref U0) (pin 20))
(node (ref C4) (pin 1))
(node (ref C2) (pin 1))
(node (ref C1) (pin 1))
(node (ref J0) (pin 25)))
(net (code 108) (name "Net-(J1-Pad2)")
(node (ref J1) (pin 2))
(node (ref J1) (pin 4))
(node (ref JPINTPWR1) (pin 2)))))

Binary file not shown.

View File

@ -1,281 +0,0 @@
update=Friday, March 12, 2021 at 10:10:03 am
version=1
last_client=kicad
[general]
version=1
RootSch=
BoardNm=
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=
[eeschema/libraries]
[schematic_editor]
version=1
PageLayoutDescrFile=
PlotDirectoryName=./
SubpartIdSeparator=0
SubpartFirstId=65
NetFmtName=Pcbnew
SpiceAjustPassiveValues=0
LabSize=50
ERC_TestSimilarLabels=1
[pcbnew]
version=1
PageLayoutDescrFile=
LastNetListRead=Apple2IORPi.net
CopperLayerCount=2
BoardThickness=1.6
AllowMicroVias=0
AllowBlindVias=0
RequireCourtyardDefinitions=0
ProhibitOverlappingCourtyards=0
MinTrackWidth=0.1778
MinViaDiameter=0.4
MinViaDrill=0.3
MinMicroViaDiameter=0.2
MinMicroViaDrill=0.09999999999999999
MinHoleToHole=0.25
TrackWidth1=0.1778
ViaDiameter1=0.762
ViaDrill1=0.50038
dPairWidth1=0.2
dPairGap1=0.25
dPairViaGap1=0.25
SilkLineWidth=0.12
SilkTextSizeV=1
SilkTextSizeH=1
SilkTextSizeThickness=0.15
SilkTextItalic=0
SilkTextUpright=1
CopperLineWidth=0.2
CopperTextSizeV=1.5
CopperTextSizeH=1.5
CopperTextThickness=0.3
CopperTextItalic=0
CopperTextUpright=1
EdgeCutLineWidth=0.05
CourtyardLineWidth=0.05
OthersLineWidth=0.15
OthersTextSizeV=1
OthersTextSizeH=1
OthersTextSizeThickness=0.15
OthersTextItalic=0
OthersTextUpright=1
SolderMaskClearance=0
SolderMaskMinWidth=0
SolderPasteClearance=0
SolderPasteRatio=-0
[pcbnew/Layer.F.Cu]
Name=F.Cu
Type=0
Enabled=1
[pcbnew/Layer.In1.Cu]
Name=In1.Cu
Type=0
Enabled=0
[pcbnew/Layer.In2.Cu]
Name=In2.Cu
Type=0
Enabled=0
[pcbnew/Layer.In3.Cu]
Name=In3.Cu
Type=0
Enabled=0
[pcbnew/Layer.In4.Cu]
Name=In4.Cu
Type=0
Enabled=0
[pcbnew/Layer.In5.Cu]
Name=In5.Cu
Type=0
Enabled=0
[pcbnew/Layer.In6.Cu]
Name=In6.Cu
Type=0
Enabled=0
[pcbnew/Layer.In7.Cu]
Name=In7.Cu
Type=0
Enabled=0
[pcbnew/Layer.In8.Cu]
Name=In8.Cu
Type=0
Enabled=0
[pcbnew/Layer.In9.Cu]
Name=In9.Cu
Type=0
Enabled=0
[pcbnew/Layer.In10.Cu]
Name=In10.Cu
Type=0
Enabled=0
[pcbnew/Layer.In11.Cu]
Name=In11.Cu
Type=0
Enabled=0
[pcbnew/Layer.In12.Cu]
Name=In12.Cu
Type=0
Enabled=0
[pcbnew/Layer.In13.Cu]
Name=In13.Cu
Type=0
Enabled=0
[pcbnew/Layer.In14.Cu]
Name=In14.Cu
Type=0
Enabled=0
[pcbnew/Layer.In15.Cu]
Name=In15.Cu
Type=0
Enabled=0
[pcbnew/Layer.In16.Cu]
Name=In16.Cu
Type=0
Enabled=0
[pcbnew/Layer.In17.Cu]
Name=In17.Cu
Type=0
Enabled=0
[pcbnew/Layer.In18.Cu]
Name=In18.Cu
Type=0
Enabled=0
[pcbnew/Layer.In19.Cu]
Name=In19.Cu
Type=0
Enabled=0
[pcbnew/Layer.In20.Cu]
Name=In20.Cu
Type=0
Enabled=0
[pcbnew/Layer.In21.Cu]
Name=In21.Cu
Type=0
Enabled=0
[pcbnew/Layer.In22.Cu]
Name=In22.Cu
Type=0
Enabled=0
[pcbnew/Layer.In23.Cu]
Name=In23.Cu
Type=0
Enabled=0
[pcbnew/Layer.In24.Cu]
Name=In24.Cu
Type=0
Enabled=0
[pcbnew/Layer.In25.Cu]
Name=In25.Cu
Type=0
Enabled=0
[pcbnew/Layer.In26.Cu]
Name=In26.Cu
Type=0
Enabled=0
[pcbnew/Layer.In27.Cu]
Name=In27.Cu
Type=0
Enabled=0
[pcbnew/Layer.In28.Cu]
Name=In28.Cu
Type=0
Enabled=0
[pcbnew/Layer.In29.Cu]
Name=In29.Cu
Type=0
Enabled=0
[pcbnew/Layer.In30.Cu]
Name=In30.Cu
Type=0
Enabled=0
[pcbnew/Layer.B.Cu]
Name=B.Cu
Type=0
Enabled=1
[pcbnew/Layer.B.Adhes]
Enabled=1
[pcbnew/Layer.F.Adhes]
Enabled=1
[pcbnew/Layer.B.Paste]
Enabled=1
[pcbnew/Layer.F.Paste]
Enabled=1
[pcbnew/Layer.B.SilkS]
Enabled=1
[pcbnew/Layer.F.SilkS]
Enabled=1
[pcbnew/Layer.B.Mask]
Enabled=1
[pcbnew/Layer.F.Mask]
Enabled=1
[pcbnew/Layer.Dwgs.User]
Enabled=1
[pcbnew/Layer.Cmts.User]
Enabled=1
[pcbnew/Layer.Eco1.User]
Enabled=1
[pcbnew/Layer.Eco2.User]
Enabled=1
[pcbnew/Layer.Edge.Cuts]
Enabled=1
[pcbnew/Layer.Margin]
Enabled=1
[pcbnew/Layer.B.CrtYd]
Enabled=1
[pcbnew/Layer.F.CrtYd]
Enabled=1
[pcbnew/Layer.B.Fab]
Enabled=1
[pcbnew/Layer.F.Fab]
Enabled=1
[pcbnew/Layer.Rescue]
Enabled=0
[pcbnew/Netclasses]
[pcbnew/Netclasses/Default]
Name=Default
Clearance=0.1778
TrackWidth=0.1778
ViaDiameter=0.762
ViaDrill=0.50038
uViaDiameter=0.3
uViaDrill=0.1
dPairWidth=0.2
dPairGap=0.25
dPairViaGap=0.25
[pcbnew/Netclasses/1]
Name=3V3
Clearance=0.1778
TrackWidth=0.3556
ViaDiameter=0.762
ViaDrill=0.50038
uViaDiameter=0.3
uViaDrill=0.1
dPairWidth=0.2
dPairGap=0.25
dPairViaGap=0.25
[pcbnew/Netclasses/2]
Name=5V
Clearance=0.254
TrackWidth=0.8128
ViaDiameter=0.762
ViaDrill=0.7112
uViaDiameter=0.3
uViaDrill=0.1
dPairWidth=0.2
dPairGap=0.25
dPairViaGap=0.25
[pcbnew/Netclasses/3]
Name=Ground
Clearance=0.254
TrackWidth=0.8128
ViaDiameter=0.762
ViaDrill=0.7112
uViaDiameter=0.3
uViaDrill=0.1
dPairWidth=0.2
dPairGap=0.25
dPairViaGap=0.25

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

After

Width:  |  Height:  |  Size: 254 KiB

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,11 @@ The purpose of this project is to provide I/O for an Apple II series 8 bit compu
7. Supports "RPI" command from BASIC to execute Linux commands from the command prompt or inside BASIC programs: `10 PRINT CHR$(4);"RPI ls -al /"`
## Project Status
So far, this is a project and not a finished product. The current prototype is on the fifth revision and about 20 have been assembled and tested. It is now possible for the Apple II to boot from and write to virtual hard drive images stored on the RPi in any slot (except slot 3), execute Linux commands from Applesoft BASIC and run a bash shell with VT100 emulation. The code has very few tests and is incomplete. Note that currently the firmware assumes an 80 column card is in slot 3 and than you have lowercase support. Most development has been done with an enhanced Apple //e with the card in slot 7. If you have other drive controllers earlier in the boot cycle, you can still boot from the Apple2-IO-RPi. For example, if the card was in slot 4, you could type `PR#4` from the BASIC prompt to boot the card. Note that the Raspberry Pi Zero W (and W 2) consume about 1/4 of all available power to the expansion slots when idle and close to all available power when busy. It is not recommended to have a lot of other cards in the system at the same time. If you have a problem or idea for enhancement, log an issue [here](https://github.com/tjboldt/Apple2-IO-RPi/issues) or start a [discussion](https://github.com/tjboldt/Apple2-IO-RPi/discussions/categories/general). I recommend starring/watching the project for updates on GitHub. You are welcome to fork the project and submit pull requests which I will review.
So far, this is still a project and not a finished product. The current prototype is on the sixth revision and about 30 of the previous prototypes have been assembled and tested. The sixth prototype has not been tested or assembled yet, just designed although it is functionally equivalent other than a new jumper to select internal/external power.
The card enables the Apple II to boot from and write to virtual hard drive images stored on the RPi in any slot (except slot 3), execute Linux commands from Applesoft BASIC and run a bash shell with VT100 emulation. The code has very few tests and is incomplete. Note that currently the firmware assumes an 80 column card is in slot 3 and than you have lowercase support. Most development has been done with an enhanced Apple //e with the card in slot 7. If you have other drive controllers earlier in the boot cycle, you can still boot from the Apple2-IO-RPi. For example, if the card was in slot 4, you could type `PR#4` from the BASIC prompt to boot the card. Note that the Raspberry Pi Zero W (and W 2) consume 170 - 250 mA and there is only 500 mA available to all expansion slots according to Apple. It is not recommended to have a lot of other cards in the system at the same time. With the sixth revision of the prototype, it is possible to remove the power jumper and run the RPi on an external USB power source. If configured for external power, note that the card's firmware will hang on boot without USB power on as the latch chips are powered by the 3.3V output of the RPi.
If you have a problem or idea for enhancement, log an issue [here](https://github.com/tjboldt/Apple2-IO-RPi/issues) or start a [discussion](https://github.com/tjboldt/Apple2-IO-RPi/discussions/categories/general). I recommend starring/watching the project for updates on GitHub. You are welcome to fork the project and submit pull requests which I will review.
## Roadmap
1. Allow more than two virtual hard drives at a time