Update to hardware revision 7 (#176)

* Add jumpers for write protect and EPROMs

* Update to latest hardware revision 7
This commit is contained in:
Terence Boldt 2024-06-24 22:17:50 -04:00 committed by GitHub
parent 1e73e8d886
commit c0243f1e4d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 57715 additions and 20043 deletions

View File

@ -22,9 +22,10 @@ body:
label: Hardware Version label: Hardware Version
description: What version of the hardware are you running? description: What version of the hardware are you running?
options: options:
- Seventh Prototype (lastest classic hardware)
- RPi Pico - RPi Pico
- Sixth Prototype (lastest classic hardware) - Sixth Prototype (classic hardware power jumper)
- Fifth Prototype (classic hardware without jumper) - Fifth Prototype (classic hardware with EEPROM)
- Fourth Prototype (classic hardware with EPROM) - Fourth Prototype (classic hardware with EPROM)
validations: validations:
required: true required: true
@ -34,9 +35,9 @@ body:
label: Firmware Version label: Firmware Version
description: What version of the firmware are you running? (shown on boot screen) description: What version of the firmware are you running? (shown on boot screen)
options: options:
- 8010 (initial RPi Pico hardware) - 0011 / 8011 (add clock driver)
- 0010 (classic hardware) - 0010 / 8010 (initial RPi Pico hardware)
- 000F - 000F (first version showing firmware rev on boot)
- Older (not shown on boot, pre-2022-Feb-07) - Older (not shown on boot, pre-2022-Feb-07)
validations: validations:
required: true required: true
@ -46,6 +47,7 @@ body:
label: Driver Version label: Driver Version
description: What version of the driver are you running? Check with `RPI a2version` description: What version of the driver are you running? Check with `RPI a2version`
options: options:
- 002E (fix driver crash on null drive)
- 002D (add support for RPi Pico hardware) - 002D (add support for RPi Pico hardware)
- 002C (fix nano editor) - 002C (fix nano editor)
- 002B (fix keyboard delay) - 002B (fix keyboard delay)
@ -67,8 +69,8 @@ body:
label: Shell Version label: Shell Version
description: What version of the shell are you running?` description: What version of the shell are you running?`
options: options:
- 800F (initial RPi Pico support) - 0010 / 8010 (support latest firmware)
- 000F (classic hardware support) - 000F / 800F (add pico and classic hardware support)
- 000E (fix hang on exit) - 000E (fix hang on exit)
- 000D (added version info) - 000D (added version info)
- Older (pre-2022-Mar-01) - Older (pre-2022-Mar-01)

View File

@ -1,5 +1,5 @@
## Setup starting from scratch ## Setup starting from scratch
1. Have PCBs made from [PCBWay](https://www.pcbway.com/project/shareproject/Apple2_IO_RPi_v6_bfa4be82.html) or from the gerber and drill files in the Hardware folder or email me for a blank or fully assembled board 1. Have PCBs made from [PCBWay](https://www.pcbway.com/project/shareproject/Apple2_IO_RPi_v7_65457a66.html) or from the gerber and drill files in the Hardware folder or email me for a blank or fully assembled board
2. Solder chips, header and capacitors in place 2. Solder chips, header and capacitors in place
3. If you have an EPROM programmer, it is preferred to pre-populate the EEPROM with the contents of AT28C68B.bin 3. If you have an EPROM programmer, it is preferred to pre-populate the EEPROM with the contents of AT28C68B.bin
4. Attach Raspberry Pi Zero 2 W facing outward from the card 4. Attach Raspberry Pi Zero 2 W facing outward from the card

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2-0)* G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*
G04 #@! TF.CreationDate,2022-03-01T05:34:48-05:00* G04 #@! TF.CreationDate,2024-06-18T13:39:18-04:00*
G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.6* G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.7*
G04 #@! TF.SameCoordinates,Original* G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Soldermask,Bot* G04 #@! TF.FileFunction,Soldermask,Bot*
G04 #@! TF.FilePolarity,Negative* G04 #@! TF.FilePolarity,Negative*
%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 (6.0.2-0)) date 2022-03-01 05:34:48* G04 Created by KiCad (PCBNEW 8.0.3) date 2024-06-18 13:39:18*
%MOMM*% %MOMM*%
%LPD*% %LPD*%
G01* G01*
@ -20,12 +20,9 @@ G04 APERTURE LIST*
G04 APERTURE END LIST* G04 APERTURE END LIST*
D10* D10*
X187400001Y-119380000D02* X187400001Y-119380000D02*
X187400001Y-111760000D01*
X187400001Y-111760000D02*
X122630001Y-111760000D01*
X122630001Y-111760000D02*
X122630001Y-119380000D01* X122630001Y-119380000D01*
X122630001Y-119380000D02* X122630001Y-111760000D01*
X187400001Y-111760000D01*
X187400001Y-119380000D01* X187400001Y-119380000D01*
G36* G36*
X187400001Y-119380000D02* X187400001Y-119380000D02*
@ -35,11 +32,6 @@ X122630001Y-111760000D01*
X187400001Y-111760000D01* X187400001Y-111760000D01*
X187400001Y-119380000D01* X187400001Y-119380000D01*
G37* G37*
X187400001Y-119380000D02*
X122630001Y-119380000D01*
X122630001Y-111760000D01*
X187400001Y-111760000D01*
X187400001Y-119380000D01*
G36* G36*
G01* G01*
X184860001Y-118808500D02* X184860001Y-118808500D02*
@ -893,4 +885,16 @@ D11*
X117500400Y-107238800D03* X117500400Y-107238800D03*
D12* D12*
X117500400Y-104698800D03* X117500400Y-104698800D03*
D11*
X178700000Y-74460000D03*
D12*
X178700000Y-77000000D03*
D11*
X187500000Y-74460000D03*
D12*
X187500000Y-77000000D03*
D11*
X183350000Y-74460000D03*
D12*
X183350000Y-77000000D03*
M02* M02*

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,11 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2-0)* G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*
G04 #@! TF.CreationDate,2022-03-01T05:34:48-05:00* G04 #@! TF.CreationDate,2024-06-18T13:39:18-04:00*
G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.6* G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.7*
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 (6.0.2-0)) date 2022-03-01 05:34:48* G04 Created by KiCad (PCBNEW 8.0.3) date 2024-06-18 13:39:18*
%MOMM*% %MOMM*%
%LPD*% %LPD*%
G01* G01*

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.2-0)* G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*
G04 #@! TF.CreationDate,2022-03-01T05:34:48-05:00* G04 #@! TF.CreationDate,2024-06-18T13:39:18-04:00*
G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.6* G04 #@! TF.ProjectId,Apple2IORPi,4170706c-6532-4494-9f52-50692e6b6963,0.7*
G04 #@! TF.SameCoordinates,Original* G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Soldermask,Top* G04 #@! TF.FileFunction,Soldermask,Top*
G04 #@! TF.FilePolarity,Negative* G04 #@! TF.FilePolarity,Negative*
%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 (6.0.2-0)) date 2022-03-01 05:34:48* G04 Created by KiCad (PCBNEW 8.0.3) date 2024-06-18 13:39:18*
%MOMM*% %MOMM*%
%LPD*% %LPD*%
G01* G01*
@ -20,12 +20,9 @@ G04 APERTURE LIST*
G04 APERTURE END LIST* G04 APERTURE END LIST*
D10* D10*
X187400001Y-119380000D02* X187400001Y-119380000D02*
X187400001Y-111760000D01*
X187400001Y-111760000D02*
X122630001Y-111760000D01*
X122630001Y-111760000D02*
X122630001Y-119380000D01* X122630001Y-119380000D01*
X122630001Y-119380000D02* X122630001Y-111760000D01*
X187400001Y-111760000D01*
X187400001Y-119380000D01* X187400001Y-119380000D01*
G36* G36*
X187400001Y-119380000D02* X187400001Y-119380000D02*
@ -35,11 +32,6 @@ X122630001Y-111760000D01*
X187400001Y-111760000D01* X187400001Y-111760000D01*
X187400001Y-119380000D01* X187400001Y-119380000D01*
G37* G37*
X187400001Y-119380000D02*
X122630001Y-119380000D01*
X122630001Y-111760000D01*
X187400001Y-111760000D01*
X187400001Y-119380000D01*
G36* G36*
G01* G01*
X123900001Y-118808500D02* X123900001Y-118808500D02*
@ -893,4 +885,16 @@ D11*
X117500400Y-107238800D03* X117500400Y-107238800D03*
D12* D12*
X117500400Y-104698800D03* X117500400Y-104698800D03*
D11*
X178700000Y-74460000D03*
D12*
X178700000Y-77000000D03*
D11*
X187500000Y-74460000D03*
D12*
X187500000Y-77000000D03*
D11*
X183350000Y-74460000D03*
D12*
X183350000Y-77000000D03*
M02* M02*

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,12 @@
M48 M48
; DRILL file {KiCad (6.0.2-0)} date Tuesday, March 01, 2022 at 05:32:59 am ; DRILL file {KiCad 8.0.3} date 2024-06-18T13:39:09-0400
; FORMAT={-:-/ absolute / inch / decimal} ; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2022-03-01T05:32:59-05:00 ; #@! TF.CreationDate,2024-06-18T13:39:09-04:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.2-0) ; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.3
; #@! TF.FileFunction,NonPlated,1,2,NPTH ; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2 FMAT,2
INCH INCH
% %
G90 G90
G05 G05
T0
M30 M30

View File

@ -1,8 +1,8 @@
M48 M48
; DRILL file {KiCad (6.0.2-0)} date Tuesday, March 01, 2022 at 05:32:59 am ; DRILL file {KiCad 8.0.3} date 2024-06-18T13:39:09-0400
; FORMAT={-:-/ absolute / inch / decimal} ; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2022-03-01T05:32:59-05:00 ; #@! TF.CreationDate,2024-06-18T13:39:09-04:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.2-0) ; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.3
; #@! TF.FileFunction,Plated,1,2,PTH ; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2 FMAT,2
INCH INCH
@ -39,6 +39,7 @@ X4.6765Y-2.408
X4.6765Y-2.837 X4.6765Y-2.837
X4.6765Y-3.229 X4.6765Y-3.229
X4.9Y-2.475 X4.9Y-2.475
X4.9016Y-2.425
X4.9468Y-2.449 X4.9468Y-2.449
X4.962Y-2.938 X4.962Y-2.938
X4.981Y-2.644 X4.981Y-2.644
@ -107,8 +108,11 @@ X6.95Y-4.275
X7.0Y-4.199 X7.0Y-4.199
X7.05Y-4.25 X7.05Y-4.25
X7.103Y-4.365 X7.103Y-4.365
X7.1457Y-2.9921
X7.15Y-4.225 X7.15Y-4.225
X7.203Y-4.365 X7.203Y-4.365
X7.258Y-2.5787
X7.2835Y-2.2638
X7.3543Y-2.4293 X7.3543Y-2.4293
T2 T2
X4.775Y-1.875 X4.775Y-1.875
@ -342,5 +346,10 @@ X4.45Y-3.86
X4.45Y-3.96 X4.45Y-3.96
X4.626Y-4.122 X4.626Y-4.122
X4.626Y-4.222 X4.626Y-4.222
T0 X7.0354Y-2.9315
X7.0354Y-3.0315
X7.2185Y-2.9315
X7.2185Y-3.0315
X7.3819Y-2.9315
X7.3819Y-3.0315
M30 M30

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,14 @@
{ {
"board": { "board": {
"active_layer": 0, "active_layer": 37,
"active_layer_preset": "", "active_layer_preset": "",
"auto_track_width": true, "auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [], "hidden_nets": [],
"high_contrast_mode": 1, "high_contrast_mode": 1,
"net_color_mode": 1, "net_color_mode": 1,
"opacity": { "opacity": {
"images": 0.6,
"pads": 1.0, "pads": 1.0,
"tracks": 1.0, "tracks": 1.0,
"vias": 1.0, "vias": 1.0,
@ -67,6 +69,12 @@
"visible_layers": "00010f0_80000001", "visible_layers": "00010f0_80000001",
"zone_display_mode": 1 "zone_display_mode": 1
}, },
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": { "meta": {
"filename": "Apple2IORPi.kicad_prl", "filename": "Apple2IORPi.kicad_prl",
"version": 3 "version": 3

View File

@ -1,15 +1,19 @@
{ {
"board": { "board": {
"3dviewports": [],
"design_settings": { "design_settings": {
"defaults": { "defaults": {
"board_outline_line_width": 0.049999999999999996, "apply_defaults_to_fp_fields": false,
"copper_line_width": 0.19999999999999998, "apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false, "copper_text_italic": false,
"copper_text_size_h": 1.5, "copper_text_size_h": 1.5,
"copper_text_size_v": 1.5, "copper_text_size_v": 1.5,
"copper_text_thickness": 0.3, "copper_text_thickness": 0.3,
"copper_text_upright": false, "copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996, "courtyard_line_width": 0.05,
"dimension_precision": 4, "dimension_precision": 4,
"dimension_units": 3, "dimension_units": 3,
"dimensions": { "dimensions": {
@ -20,13 +24,13 @@
"text_position": 0, "text_position": 0,
"units_format": 1 "units_format": 1
}, },
"fab_line_width": 0.09999999999999999, "fab_line_width": 0.1,
"fab_text_italic": false, "fab_text_italic": false,
"fab_text_size_h": 1.0, "fab_text_size_h": 1.0,
"fab_text_size_v": 1.0, "fab_text_size_v": 1.0,
"fab_text_thickness": 0.15, "fab_text_thickness": 0.15,
"fab_text_upright": false, "fab_text_upright": false,
"other_line_width": 0.09999999999999999, "other_line_width": 0.1,
"other_text_italic": false, "other_text_italic": false,
"other_text_size_h": 1.0, "other_text_size_h": 1.0,
"other_text_size_v": 1.0, "other_text_size_v": 1.0,
@ -49,7 +53,83 @@
} }
}, },
"diff_pair_dimensions": [], "diff_pair_dimensions": [],
"drc_exclusions": [], "drc_exclusions": [
"solder_mask_bridge|124535001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|124535001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|127075001|111760000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|127075001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|127075001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|127075001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|129615001|111760000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|129615001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|129615001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|129615001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|132155001|111760000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|132155001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|132155001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|132155001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|134695001|111760000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|134695001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|134695001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|134695001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|137235001|111760000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|137235001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|137235001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|137235001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|139775001|111760000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|139775001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|139775001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|139775001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|142315001|111760000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|142315001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|142315001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|142315001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|144855001|111760000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|144855001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|144855001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|144855001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|147395001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|147395001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|147395001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|147395001|115570000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|149935001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|149935001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|149935001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|152475001|111760000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|152475001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|152475001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|152475001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|155015001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|155015001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|157555001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|157555001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|160095001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|160095001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|162635001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|162635001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|165175001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|165175001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|167640000|111760000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|167715001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|167715001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|170255001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|170255001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|172795001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|172795001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|175335001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|175335001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|177875001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|177875001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|180415001|111760000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|180415001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|180415001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|180415001|115570000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|182955001|111760000|f595ab14-1c60-4f62-967e-ec0150fa33cb|1d9dc91c-3457-4ca5-8e42-43be60ae0831",
"solder_mask_bridge|182955001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a",
"solder_mask_bridge|182955001|115443000|f595ab14-1c60-4f62-967e-ec0150fa33cb|3188df11-1cf2-4d20-a1e5-fe4b55a2ec85",
"solder_mask_bridge|182955001|115570000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|80b9a57f-3326-43ca-b6ca-5e911992b3c4",
"solder_mask_bridge|185495001|115443000|ec47a960-a4ae-4eba-b6e0-bb37e69c7525|16f69f5e-9e40-486f-9c42-86872301862a"
],
"meta": { "meta": {
"filename": "board_design_settings.json", "filename": "board_design_settings.json",
"version": 2 "version": 2
@ -57,20 +137,28 @@
"rule_severities": { "rule_severities": {
"annular_width": "error", "annular_width": "error",
"clearance": "error", "clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error", "copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error", "courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error", "diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error", "diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error", "drill_out_of_range": "error",
"duplicate_footprints": "warning", "duplicate_footprints": "warning",
"extra_footprint": "warning", "extra_footprint": "warning",
"footprint": "error",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "error", "footprint_type_mismatch": "error",
"hole_clearance": "error", "hole_clearance": "error",
"hole_near_hole": "error", "hole_near_hole": "error",
"holes_co_located": "warning",
"invalid_outline": "error", "invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error", "item_on_disabled_layer": "error",
"items_not_allowed": "error", "items_not_allowed": "error",
"length_out_of_range": "error", "length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error", "malformed_courtyard": "error",
"microvia_drill_out_of_range": "error", "microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore", "missing_courtyard": "ignore",
@ -80,9 +168,14 @@
"padstack": "error", "padstack": "error",
"pth_inside_courtyard": "ignore", "pth_inside_courtyard": "ignore",
"shorting_items": "error", "shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning", "silk_over_copper": "warning",
"silk_overlap": "warning", "silk_overlap": "warning",
"skew_out_of_range": "error", "skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error", "through_hole_pad_without_hole": "error",
"too_many_vias": "error", "too_many_vias": "error",
"track_dangling": "warning", "track_dangling": "warning",
@ -101,24 +194,106 @@
"allow_microvias": false, "allow_microvias": false,
"max_error": 0.005, "max_error": 0.005,
"min_clearance": 0.0, "min_clearance": 0.0,
"min_copper_edge_clearance": 0.024999999999999998, "min_connection": 0.0,
"min_copper_edge_clearance": 0.025,
"min_hole_clearance": 0.25, "min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25, "min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998, "min_microvia_diameter": 0.2,
"min_microvia_drill": 0.09999999999999999, "min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0, "min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3, "min_through_hole_diameter": 0.3,
"min_track_width": 0.17779999999999999, "min_track_width": 0.1778,
"min_via_annular_width": 0.049999999999999996, "min_via_annular_width": 0.05,
"min_via_diameter": 0.39999999999999997, "min_via_diameter": 0.4,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true "use_height_for_length_calcs": true
}, },
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [], "track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [], "via_dimensions": [],
"zones_allow_external_fillets": false, "zones_allow_external_fillets": false,
"zones_use_no_outline": true "zones_use_no_outline": true
}, },
"layer_presets": [] "ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_presets": [],
"viewports": []
}, },
"boards": [], "boards": [],
"cvpcb": { "cvpcb": {
@ -305,15 +480,21 @@
"bus_label_syntax": "error", "bus_label_syntax": "error",
"bus_to_bus_conflict": "error", "bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error", "bus_to_net_conflict": "error",
"conflicting_netclasses": "error",
"different_unit_footprint": "error", "different_unit_footprint": "error",
"different_unit_net": "error", "different_unit_net": "error",
"duplicate_reference": "error", "duplicate_reference": "error",
"duplicate_sheet_names": "error", "duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error", "extra_units": "error",
"global_label_dangling": "warning", "global_label_dangling": "warning",
"hier_label_mismatch": "error", "hier_label_mismatch": "error",
"label_dangling": "error", "label_dangling": "error",
"lib_symbol_issues": "warning", "lib_symbol_issues": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning", "multiple_net_names": "warning",
"net_not_bus_member": "warning", "net_not_bus_member": "warning",
"no_connect_connected": "warning", "no_connect_connected": "warning",
@ -323,6 +504,7 @@
"pin_to_pin": "warning", "pin_to_pin": "warning",
"power_pin_not_driven": "error", "power_pin_not_driven": "error",
"similar_labels": "warning", "similar_labels": "warning",
"simulation_model_issue": "ignore",
"unannotated": "error", "unannotated": "error",
"unit_value_mismatch": "error", "unit_value_mismatch": "error",
"unresolved_variable": "error", "unresolved_variable": "error",
@ -340,7 +522,7 @@
"net_settings": { "net_settings": {
"classes": [ "classes": [
{ {
"bus_width": 12.0, "bus_width": 12,
"clearance": 0.1778, "clearance": 0.1778,
"diff_pair_gap": 0.25, "diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25, "diff_pair_via_gap": 0.25,
@ -354,10 +536,10 @@
"track_width": 0.1778, "track_width": 0.1778,
"via_diameter": 0.762, "via_diameter": 0.762,
"via_drill": 0.50038, "via_drill": 0.50038,
"wire_width": 6.0 "wire_width": 6
}, },
{ {
"bus_width": 12.0, "bus_width": 12,
"clearance": 0.1778, "clearance": 0.1778,
"diff_pair_gap": 0.25, "diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25, "diff_pair_via_gap": 0.25,
@ -366,16 +548,15 @@
"microvia_diameter": 0.3, "microvia_diameter": 0.3,
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "3V3", "name": "3V3",
"nets": [],
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)", "schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.3556, "track_width": 0.3556,
"via_diameter": 0.762, "via_diameter": 0.762,
"via_drill": 0.50038, "via_drill": 0.50038,
"wire_width": 6.0 "wire_width": 6
}, },
{ {
"bus_width": 12.0, "bus_width": 12,
"clearance": 0.254, "clearance": 0.254,
"diff_pair_gap": 0.25, "diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25, "diff_pair_via_gap": 0.25,
@ -384,18 +565,15 @@
"microvia_diameter": 0.3, "microvia_diameter": 0.3,
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "5V", "name": "5V",
"nets": [
"Net-(J1-Pad2)"
],
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)", "schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.8128, "track_width": 0.8128,
"via_diameter": 0.762, "via_diameter": 0.762,
"via_drill": 0.7112, "via_drill": 0.7112,
"wire_width": 6.0 "wire_width": 6
}, },
{ {
"bus_width": 12.0, "bus_width": 12,
"clearance": 0.254, "clearance": 0.254,
"diff_pair_gap": 0.25, "diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25, "diff_pair_via_gap": 0.25,
@ -404,34 +582,116 @@
"microvia_diameter": 0.3, "microvia_diameter": 0.3,
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "Ground", "name": "Ground",
"nets": [],
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)", "schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.8128, "track_width": 0.8128,
"via_diameter": 0.762, "via_diameter": 0.762,
"via_drill": 0.7112, "via_drill": 0.7112,
"wire_width": 6.0 "wire_width": 6
} }
], ],
"meta": { "meta": {
"version": 2 "version": 3
}, },
"net_colors": null "net_colors": null,
"netclass_assignments": null,
"netclass_patterns": [
{
"netclass": "5V",
"pattern": "Net-(J1-Pad2)"
}
]
}, },
"pcbnew": { "pcbnew": {
"last_paths": { "last_paths": {
"gencad": "", "gencad": "",
"idf": "", "idf": "",
"netlist": "Apple2IORPi.net", "netlist": "Apple2IORPi.net",
"plot": ".",
"pos_files": "",
"specctra_dsn": "", "specctra_dsn": "",
"step": "", "step": "",
"svg": "",
"vrml": "" "vrml": ""
}, },
"page_layout_descr_file": "" "page_layout_descr_file": ""
}, },
"schematic": { "schematic": {
"annotate_start_num": 0, "annotate_start_num": 0,
"bom_export_filename": "",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
"keep_line_breaks": false,
"keep_tabs": false,
"name": "CSV",
"ref_delimiter": ",",
"ref_range_delimiter": "",
"string_delimiter": "\""
},
"bom_presets": [],
"bom_settings": {
"exclude_dnp": false,
"fields_ordered": [
{
"group_by": false,
"label": "Reference",
"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": "DNP",
"name": "${DNP}",
"show": true
},
{
"group_by": false,
"label": "#",
"name": "${ITEM_NUMBER}",
"show": false
},
{
"group_by": false,
"label": "Description",
"name": "Description",
"show": false
}
],
"filter_string": "",
"group_symbols": true,
"name": "",
"sort_asc": true,
"sort_field": "Reference"
},
"connection_grid_size": 50.0,
"drawing": { "drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0, "default_line_thickness": 6.0,
"default_text_size": 50.0, "default_text_size": 50.0,
"field_names": [], "field_names": [],
@ -442,6 +702,11 @@
"intersheets_ref_suffix": "", "intersheets_ref_suffix": "",
"junction_size_choice": 3, "junction_size_choice": 3,
"label_size_ratio": 0.25, "label_size_ratio": 0.25,
"operating_point_overlay_i_precision": 3,
"operating_point_overlay_i_range": "~A",
"operating_point_overlay_v_precision": 3,
"operating_point_overlay_v_range": "~V",
"overbar_offset_ratio": 1.23,
"pin_symbol_size": 0.0, "pin_symbol_size": 0.0,
"text_offset_ratio": 0.08 "text_offset_ratio": 0.08
}, },
@ -450,7 +715,7 @@
"meta": { "meta": {
"version": 1 "version": 1
}, },
"net_format_name": "Pcbnew", "net_format_name": "KiCad",
"ngspice": { "ngspice": {
"fix_include_paths": true, "fix_include_paths": true,
"fix_passive_vals": false, "fix_passive_vals": false,
@ -463,14 +728,19 @@
"page_layout_descr_file": "", "page_layout_descr_file": "",
"plot_directory": "./", "plot_directory": "./",
"spice_adjust_passive_values": false, "spice_adjust_passive_values": false,
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"", "spice_external_command": "spice \"%I\"",
"spice_model_current_sheet_as_root": true,
"spice_save_all_currents": false,
"spice_save_all_dissipations": false,
"spice_save_all_voltages": false,
"subpart_first_id": 65, "subpart_first_id": 65,
"subpart_id_separator": 0 "subpart_id_separator": 0
}, },
"sheets": [ "sheets": [
[ [
"89e83c2e-e90a-4a50-b278-880bac0cfb49", "89e83c2e-e90a-4a50-b278-880bac0cfb49",
"" "Root"
] ]
], ],
"text_variables": {} "text_variables": {}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -18,7 +18,7 @@ The purpose of this project is to provide I/O for an Apple II series 8 bit compu
## Project Status ## Project Status
### Classic Hardware ### Classic Hardware
So far, this is still a project and not a finished product. The current prototype is on the sixth revision. I have sold about 60 boards including previous prototypes. There are more than 100 in the wild between self made and ones purchased in places like eBay that were made by others. The sixth prototype is functionally equivalent to the fifth, other than a new jumper to select internal/external power. So far, this is still a project and not a finished product. The current prototype is on the seventh revision. I have sold about 60 boards including previous prototypes. There are several hundred in the wild between self made and ones purchased in places like eBay that were made by others. The seventh prototype is functionally equivalent to the sixth other than support for write-protect and reintroducing EPROM support. The fifth revision was similar and compatible with the sixth, other than a new jumper to select internal/external power on the sixth.
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. 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.