├── images ├── bare_board.jpg ├── installed.jpg ├── assembled_top.jpg ├── assembled_bottom.jpg ├── castellated_fixed.jpg ├── prog_cable_default.jpg ├── castellated_mangled.jpg ├── prog_cable_adjusted.jpg └── cha_female_connectors.jpg ├── hardware ├── fp-lib-table ├── sym-lib-table ├── neogeo-161in1-dual-daughterboard.kicad_dru ├── neogeo-161in1-dual-daughterboard.pretty │ └── F0095H0.kicad_mod ├── neogeo-161in1-dual-daughterboard.kicad_pro └── neogeo-161in1-dual-daughterboard.kicad_sym ├── .gitignore ├── LICENSE └── README.md /images/bare_board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwestfall69/neogeo-161in1-dual-daughterboard/HEAD/images/bare_board.jpg -------------------------------------------------------------------------------- /images/installed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwestfall69/neogeo-161in1-dual-daughterboard/HEAD/images/installed.jpg -------------------------------------------------------------------------------- /images/assembled_top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwestfall69/neogeo-161in1-dual-daughterboard/HEAD/images/assembled_top.jpg -------------------------------------------------------------------------------- /images/assembled_bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwestfall69/neogeo-161in1-dual-daughterboard/HEAD/images/assembled_bottom.jpg -------------------------------------------------------------------------------- /images/castellated_fixed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwestfall69/neogeo-161in1-dual-daughterboard/HEAD/images/castellated_fixed.jpg -------------------------------------------------------------------------------- /images/prog_cable_default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwestfall69/neogeo-161in1-dual-daughterboard/HEAD/images/prog_cable_default.jpg -------------------------------------------------------------------------------- /images/castellated_mangled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwestfall69/neogeo-161in1-dual-daughterboard/HEAD/images/castellated_mangled.jpg -------------------------------------------------------------------------------- /images/prog_cable_adjusted.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwestfall69/neogeo-161in1-dual-daughterboard/HEAD/images/prog_cable_adjusted.jpg -------------------------------------------------------------------------------- /images/cha_female_connectors.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwestfall69/neogeo-161in1-dual-daughterboard/HEAD/images/cha_female_connectors.jpg -------------------------------------------------------------------------------- /hardware/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (version 7) 3 | (lib (name "neogeo-161in1-dual-daughterboard")(type "KiCad")(uri "${KIPRJMOD}/neogeo-161in1-dual-daughterboard.pretty")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /hardware/sym-lib-table: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (version 7) 3 | (lib (name "neogeo-161in1-dual-daughterboard")(type "KiCad")(uri "${KIPRJMOD}/neogeo-161in1-dual-daughterboard.kicad_sym")(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: https://www.kicad.org/ 2 | # Format documentation: https://kicad.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.kicad_sch-bak 10 | *-backups 11 | *.kicad_prl 12 | *.sch-bak 13 | *~ 14 | _autosave-* 15 | *.tmp 16 | *-save.pro 17 | *-save.kicad_pcb 18 | *.lck 19 | fp-info-cache 20 | 21 | # Netlist files (exported from Eeschema) 22 | *.net 23 | 24 | # Autorouter files (exported from Pcbnew) 25 | *.dsn 26 | *.ses 27 | 28 | # Exported BOM files 29 | *.xml 30 | *.csv 31 | 32 | # Exported gerber files 33 | hw-rev-* 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /hardware/neogeo-161in1-dual-daughterboard.kicad_dru: -------------------------------------------------------------------------------- 1 | (version 1) 2 | #Kicad 7 3 | 4 | # 2-layer, 1oz copper 5 | (rule "Minimum Trace Width (outer layer)" 6 | (constraint track_width (min 5mil)) 7 | (layer outer) 8 | (condition "A.Type == 'track'")) 9 | 10 | (rule "Minimum Trace Spacing (outer layer)" 11 | (constraint clearance (min 5mil)) 12 | (layer outer) 13 | (condition "A.Type == 'track' && B.Type == A.Type")) 14 | 15 | # 4-layer 16 | (rule "Minimum Trace Width and Spacing (inner layer)" 17 | (constraint track_width (min 3.5mil)) 18 | (layer inner) 19 | (condition "A.Type == 'track'")) 20 | 21 | (rule "Minimum Trace Spacing (inner layer)" 22 | (constraint clearance (min 3.5mil)) 23 | (layer inner) 24 | (condition "A.Type == 'track' && B.Type == A.Type")) 25 | 26 | # silkscreen (Kicad 7 only) 27 | (rule "Minimum Text" 28 | (constraint text_thickness (min 0.15mm)) 29 | (constraint text_height (min 1mm)) 30 | (layer "?.Silkscreen")) 31 | 32 | (rule "Pad to Silkscreen" 33 | (constraint silk_clearance (min 0.15mm)) 34 | (layer outer) 35 | (condition "A.Type == 'pad' && (B.Type == 'text' || B.Type == 'graphic')")) 36 | 37 | # edge clearance 38 | (rule "Trace to Outline" 39 | (constraint edge_clearance (min 0.2mm)) 40 | (condition "A.Type == 'track'")) 41 | 42 | # This would override board outline and milled areas 43 | #(rule "Trace to V-Cut" 44 | # (constraint clearance (min 0.4mm)) 45 | # (condition "A.Type == 'track' && B.Layer == 'Edge.Cuts'")) 46 | 47 | # drill/hole size 48 | (rule "drill hole size (mechanical)" 49 | (constraint hole_size (min 0.2mm) (max 6.3mm))) 50 | 51 | (rule "Minimum Via Hole Size" 52 | (constraint hole_size (min 0.2mm)) 53 | (condition "A.Type == 'via'")) 54 | 55 | (rule "Minimum Via Diameter" 56 | (constraint via_diameter (min 0.45mm)) 57 | (condition "A.Type == 'via'")) 58 | 59 | (rule "PTH Hole Size" 60 | (constraint hole_size (min 0.2mm) (max 6.35mm)) 61 | (condition "A.isPlated()")) 62 | 63 | (rule "Minimum Non-plated Hole Size" 64 | (constraint hole_size (min 0.5mm)) 65 | (condition "A.Type == 'pad' && !A.isPlated()")) 66 | 67 | (rule "Minimum Castellated Hole Size" 68 | (constraint hole_size (min 0.6mm)) 69 | (condition "A.Type == 'pad' && A.Fabrication_Property == 'Castellated pad'")) 70 | 71 | # clearance 72 | (rule "hole to hole clearance (different nets)" 73 | (constraint hole_to_hole (min 0.5mm)) 74 | (condition "A.Net != B.Net")) 75 | 76 | (rule "via to track clearance" 77 | (constraint hole_clearance (min 0.254mm)) 78 | (condition "A.Type == 'via' && B.Type == 'track'")) 79 | 80 | (rule "via to via clearance (same nets)" 81 | (constraint hole_to_hole (min 0.254mm)) 82 | (condition "A.Type == 'via' && B.Type == A.Type && A.Net == B.Net")) 83 | 84 | (rule "pad to pad clearance (with hole, different nets)" 85 | (constraint hole_to_hole (min 0.5mm)) 86 | (condition "A.Type == 'pad' && B.Type == A.Type && A.Net != B.Net")) 87 | 88 | (rule "pad to pad clearance (without hole, different nets)" 89 | (constraint clearance (min 0.127mm)) 90 | (condition "A.Type == 'pad' && B.Type == A.Type && A.Net != B.Net")) 91 | 92 | (rule "NPTH to Track clearance)" 93 | (constraint hole_clearance (min 0.254mm)) 94 | (condition "A.Pad_Type == 'NPTH, mechanical' && B.Type == 'track'")) 95 | 96 | (rule "PTH to Track clearance)" 97 | (constraint hole_clearance (min 0.33mm)) 98 | (condition "A.isPlated() && B.Type == 'track'")) 99 | 100 | (rule "Pad to Track clearance)" 101 | (constraint clearance (min 0.2mm)) 102 | (condition "A.isPlated() && B.Type == 'track'")) 103 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # neogeo-161in1-dual-daughterboard 2 | 3 | * [Overview](#overview) 4 | * [PCB Manufacturing](#pcb-manufacturing) 5 | * [Parts](#parts) 6 | * [Soldering](#soldering) 7 | * [Programming](#programming) 8 | * [What to flash](#what-to-flash) 9 | * [Install](#install) 10 | 11 | ## Overview 12 | Vortex's [VTXCart](https://github.com/xvortex/VTXCart/tree/main) project allows rewriting the flash/CPLD chips on the 161in1 V3 cart to contain whatever neogeo games you want. However there isn't enough C flash space on a stock 161in1 cart to handle the entire neogeo library. 13 | 14 | The C (and V) flash chips come on small daughterboards, one flash chip per daughterboard. This dual daughterboard project is a replacement daughterboard that adds support for 2 flash chips on the daughterboard. This allows increasing the available C flash space from 2G to 3G, which make possible to have the entire neogeo library on the cart. 15 | 16 | **NOTE:** This has only been tested on the MVS version of the 161in1 V3 cart. I have not seen the inside of the AES version to know if the dual daughterboard can fit. 17 | 18 | **Bare Boards:**
19 | ![bare boards](images/bare_board.jpg) 20 | 21 | **Assembled Top/Bottom:**
22 | ![assembled_top](images/assembled_top.jpg) 23 | ![assembled_bottom](images/assembled_bottom.jpg) 24 | 25 | ## PCB Manufacturing 26 | You should select board thickness of 0.8mm. 27 | 28 | The board has very fine pitched (0.8mm) castellated holes on it. Ideally you would want to pick the castellated holes option with the PCB manufacture so they get cut cleanly. However the PCB manufacturer will likely reject the order if you pick the option because most require 0.6mm hole diameter and 0.6mm distance between castellated holes. 29 | 30 | Placing the order without the castellated holes option should go through but will cause the holes to be slightly mangled and look something like this. 31 | 32 | ![castellated_mangled](images/castellated_mangled.jpg) 33 | 34 | You can see how the copper from the left side of the through hole is still there just kinda push flat against the cut path. To fix this you can use fine tipped tweezers to push that extra copper into the right side of the hole. It should end up looking something like this, which is good enough. 35 | 36 | ![castellated_fixed](images/castellated_fixed.jpg) 37 | 38 | Don't attempt to pull the extra copper off or you could rip out all of the copper from the through hole. 39 | 40 | Once done, I would suggest using a magnifying glass to verify you see raw pcb between each of the castellated holes. 41 | 42 | ## Parts 43 | The 2x F0095H0 flash chips will need to come from a 161in1 board as they don't seem to be something you can just buy. 44 | 45 | The dip male connectors are dual row 1.27mm, 22 pins per row, 44 pins total per connector. Best bet is to just by some cheap 2x50 pin connectors and cut them down to size. 46 | 47 | ## Soldering 48 | I'm going to assume you don't really need soldering advice if you are taking on the task of making a VTXCart. But I will warn you to be careful when soldering the dip connector. It doesn't seem to take much heat and side pressure to cause the individual pins to shift around and you can end up with pins pointing all over the place instead of 2 straight lines. 49 | 50 | ## Programming 51 | One thing you need to consider is how you are going to program the flash chips. 52 | 53 | With only U1 flash chip installed the dual daughterboard will act the same as a normal daughterboard for reading/writing. So you can use Vortex's F0095H0 dumper board to program it. 54 | 55 | However the flash chip that will installed into U2 will need to be flashed by something else. Ideally you should use the original daughterboard it came on with the F0095H0 dumper board. 56 | 57 | ## What to flash 58 | Running vortex's compiler program with the 'c3g' option will increase the available C rom space to 3G. When completed it should have generated 3 crom files. They need to be flashed as follows. 59 | 60 | crom-1 = U1 on dual daughterboard
61 | crom-2 = normal daughterboard (installed in the left most C rom daughterboard location, as seen below)
62 | crom-3 = U2 on dual daughterboard
63 | 64 | ## Install 65 | The original daughterboards are soldered to the CHA/PROG boards. As part of creating a VTXCart you should be installing female connectors to make the daughterboards plugable as seen here. 66 | 67 | ![cha_female_connectors](images/cha_female_connectors.jpg) 68 | 69 | These female connectors are require for the dual daughterboard to fit properly. Trying to solder it directly to the CHA board will cause you to run into clearance issues with the CPLD. 70 | 71 | The dual daughterboard must be installed into the right most C rom daughterboard location. Its not possible for it to be installed in the left location because it would collide with the white board to board connector on the back of the PROG board. This is also why you can't do 4G of C rom space (not that there would be a need to have that much). 72 | 73 | The OE1 and OE2 pins on the dual daughterboard need to be soldered to pins on the CPLD. As of right now the allocated pins are 74 | 75 | AES: 76 | * OE1 = PIN 48 77 | * OE2 = PIN 47 78 | 79 | MVS 80 | * OE1 = PIN 31 81 | * OE2 = PIN 30 82 | 83 | You should however verify this is still the case by looking at the pin assignments for the CHA_CP1 CPLD in the VTXCart project. Look for ```C3_nOE[0]``` (OE1) and ```C3_nOE[1]``` (OE2) under Assignments -> Pin Planner in Quartus. 84 | 85 | Fully installed it should looks like this (MVS) 86 | ![installed](images/installed.jpg) 87 | 88 | Lastly an adjustment needs to be made to the bends of board the board cable to make space for the dual daughterboard. 89 | 90 | This is what it normally looks like (back of PROG board): 91 | ![prog_cable_default](images/prog_cable_default.jpg) 92 | 93 | This is what it will need to be adjusted to: 94 | ![prog_cable_adjusted](images/prog_cable_adjusted.jpg) 95 | -------------------------------------------------------------------------------- /hardware/neogeo-161in1-dual-daughterboard.pretty/F0095H0.kicad_mod: -------------------------------------------------------------------------------- 1 | (footprint "F0095H0" (version 20221018) (generator pcbnew) 2 | (layer "F.Cu") 3 | (attr smd) 4 | (fp_text reference "REF**" (at 0 -0.5 unlocked) (layer "F.SilkS") 5 | (effects (font (size 1 1) (thickness 0.1))) 6 | (tstamp cc82f71f-a611-49cc-bea2-e3e3bf9a49c6) 7 | ) 8 | (fp_text value "F0095H0" (at 0.4 1.2 unlocked) (layer "F.Fab") 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | (tstamp b76a076b-c6d8-489a-88de-340e8bbd9987) 11 | ) 12 | (fp_text user "${REFERENCE}" (at 0 2.5 unlocked) (layer "F.Fab") 13 | (effects (font (size 1 1) (thickness 0.15))) 14 | (tstamp 3561bcc2-7cbd-4781-8244-284e303d54bb) 15 | ) 16 | (fp_circle (center -10.4 -7.9) (end -9.7 -7.95) 17 | (stroke (width 0.1) (type solid)) (fill solid) (layer "F.SilkS") (tstamp 12143074-5c64-4407-942b-abd752cd1579)) 18 | (pad "1" thru_hole oval (at -12.1 -8.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp fc1fe7df-2fb4-456a-bb4f-24a27fbad52a)) 19 | (pad "2" thru_hole oval (at -12.1 -7.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 45461ef3-b774-42ce-89b1-4988ff4930c3)) 20 | (pad "3" thru_hole oval (at -12.1 -6.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 10dad12a-f3cb-459d-ab50-79eb06556fb4)) 21 | (pad "4" thru_hole oval (at -12.1 -6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp ea6d846c-bc01-4d55-8a37-efdc58d36c67)) 22 | (pad "5" thru_hole oval (at -12.1 -5.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp d3f7fad8-19a0-4f26-8668-4d52086bce2b)) 23 | (pad "6" thru_hole oval (at -12.1 -4.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 3354cb53-78b0-494a-a73a-6efd46c386c8)) 24 | (pad "7" thru_hole oval (at -12.1 -3.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 60162728-ccb7-4b0b-8996-8d36f59954cf)) 25 | (pad "8" thru_hole oval (at -12.1 -2.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 5a0f77a4-b5e2-4440-b812-3d1c42767564)) 26 | (pad "9" thru_hole oval (at -12.1 -2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 0d16ea60-9e23-46f6-97f4-f1412be9458c)) 27 | (pad "10" thru_hole oval (at -12.1 -1.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 27ff8070-bc21-4244-9641-c1575777cd4b)) 28 | (pad "11" thru_hole oval (at -12.1 -0.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 65f5f321-7205-4923-9186-55ebd60a9de9)) 29 | (pad "12" thru_hole oval (at -12.1 0.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp cb926b31-1ce9-4f90-9099-0e62fad76996)) 30 | (pad "13" thru_hole oval (at -12.1 1.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp fc50bdda-bddb-40cf-a8bc-da7ef6262643)) 31 | (pad "14" thru_hole oval (at -12.1 2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 4fe4a48b-d7ee-4496-acf6-e4a60d8c2c66)) 32 | (pad "15" thru_hole oval (at -12.1 2.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp b193f6d3-9c4c-42cd-b59b-e6bcdbaa7bd9)) 33 | (pad "16" thru_hole oval (at -12.1 3.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 47f3b005-c0e5-4212-9dcb-9ab8f341fd34)) 34 | (pad "17" thru_hole oval (at -12.1 4.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp cd01e618-8e0f-43f0-abdd-1b8ef8211170)) 35 | (pad "18" thru_hole oval (at -12.1 5.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp bd690ea6-d5c9-480b-a022-bada011dc560)) 36 | (pad "19" thru_hole oval (at -12.1 6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 137344dd-3094-4f28-84d6-38e5f8ad8fbf)) 37 | (pad "20" thru_hole oval (at -12.1 6.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 5a08e59c-b7fd-40cf-8a89-50175d3871e5)) 38 | (pad "21" thru_hole oval (at -12.1 7.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 2fea52a6-b34f-44da-9edc-9e06d920624d)) 39 | (pad "22" thru_hole oval (at -12.1 8.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp d75faad5-8f74-4e2c-9e81-0c69fdffdddc)) 40 | (pad "23" thru_hole oval (at -4.2 8.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 9e3c9f31-5543-4a72-96e7-a7f82e4527e3)) 41 | (pad "24" thru_hole oval (at -4.2 7.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 9d988e56-e77c-4a8a-aebc-87a3cd0d17c7)) 42 | (pad "25" thru_hole oval (at -4.2 6.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 9605a09d-3e4c-438e-808e-6464033f6f08)) 43 | (pad "26" thru_hole oval (at -4.2 6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 37948585-99ae-4477-95ab-d80289ef42e1)) 44 | (pad "27" thru_hole oval (at -4.2 5.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 4877639e-3f8d-4dd6-b0de-3b3ddb753a5e)) 45 | (pad "28" thru_hole oval (at -4.2 4.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 7e9013c9-cf40-4008-afba-48780b9fe713)) 46 | (pad "29" thru_hole oval (at -4.2 3.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 54a6c164-0250-40fb-943e-0c7fe46d9114)) 47 | (pad "30" thru_hole oval (at -4.2 2.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 37a20ac5-3cb0-40f4-912a-d1f065053deb)) 48 | (pad "31" thru_hole oval (at -4.2 2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp ac589cb8-7209-46c9-95b7-a47f91955614)) 49 | (pad "32" thru_hole oval (at -4.2 1.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 488ae861-9d0d-4a0a-8d60-92d2dfa883ba)) 50 | (pad "33" thru_hole oval (at -4.2 0.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp ada23885-e880-4911-9f1d-3d899255d36b)) 51 | (pad "34" thru_hole oval (at -4.2 -0.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp f62d12dc-a24b-42f2-8172-5017a499f1a3)) 52 | (pad "35" thru_hole oval (at -4.2 -1.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 917edc14-fa45-45e7-bf73-89d1760d4dc9)) 53 | (pad "36" thru_hole oval (at -4.2 -2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp cc82b4a5-6ecd-48d4-b795-fb275fd56109)) 54 | (pad "37" thru_hole oval (at -4.2 -2.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 93af574c-a2a9-47be-9acb-0035a4e040ba)) 55 | (pad "38" thru_hole oval (at -4.2 -3.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp ac41c6f6-18e6-4bb5-b663-0794a8883c0d)) 56 | (pad "39" thru_hole oval (at -4.2 -4.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp f6378969-5eab-4912-9483-b4d391aa0fb2)) 57 | (pad "40" thru_hole oval (at -4.2 -5.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp bd5721d5-96d1-40f0-9165-e3abb5f299e2)) 58 | (pad "41" thru_hole oval (at -4.2 -6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp c2e8b3d7-e33e-405a-bc53-1ba2c0ee227a)) 59 | (pad "42" thru_hole oval (at -4.2 -6.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp fb56ae2b-f262-4bb9-88e1-c058863e40d5)) 60 | (pad "43" thru_hole oval (at -4.2 -7.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp ad9ba87d-8da1-4425-bdab-ed692df68c00)) 61 | (pad "44" thru_hole oval (at -4.2 -8.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 0db7f427-7257-4bcb-ab1e-97df89574cb5)) 62 | (pad "45" thru_hole oval (at 4.2 -8.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 11a23bc4-e1f2-418d-a3f8-a964ada33e7a)) 63 | (pad "46" thru_hole oval (at 4.2 -7.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp b2ce0217-5fba-4151-b2d8-2b2270104462)) 64 | (pad "47" thru_hole oval (at 4.2 -6.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 5356a28f-05fc-474d-ad0b-fee986ca902b)) 65 | (pad "48" thru_hole oval (at 4.2 -6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp dd538aa9-ea3a-41f5-ab4e-2e566b3650d9)) 66 | (pad "49" thru_hole oval (at 4.2 -5.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp d648ce95-74fb-4cdc-a3de-5b66e740e2ed)) 67 | (pad "50" thru_hole oval (at 4.2 -4.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 05197dea-2edf-40b3-bb9c-b0ad1a2b53fa)) 68 | (pad "51" thru_hole oval (at 4.2 -3.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 57cceeed-a707-4d8c-8676-6233f220566a)) 69 | (pad "52" thru_hole oval (at 4.2 -2.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 30b11aa7-ca94-4f92-a1e7-e47a82ea172c)) 70 | (pad "53" thru_hole oval (at 4.2 -2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp c34d8e8e-685d-44b1-9f36-25d6e314cdc5)) 71 | (pad "54" thru_hole oval (at 4.2 -1.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 9aad1bcf-4828-44af-9a72-1251743877ca)) 72 | (pad "55" thru_hole oval (at 4.2 -0.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp cd30320f-56e1-496f-b55b-3a1e223fbe1e)) 73 | (pad "56" thru_hole oval (at 4.2 0.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 3a72aa8d-c991-43e0-9146-2829ff911b0f)) 74 | (pad "57" thru_hole oval (at 4.2 1.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 40c5389e-721b-49cf-8f62-cb3cf4a909a8)) 75 | (pad "58" thru_hole oval (at 4.2 2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 4e2770ec-c989-4ada-93bc-f4ece7051f76)) 76 | (pad "59" thru_hole oval (at 4.2 2.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 280ea2d6-6874-425c-b6a4-c47f0a398ac7)) 77 | (pad "60" thru_hole oval (at 4.2 3.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp bb3555e8-c038-476b-bfdb-8aa0012e19af)) 78 | (pad "61" thru_hole oval (at 4.2 4.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp c8be6b28-41f3-4e1c-96c4-82960e72b312)) 79 | (pad "62" thru_hole oval (at 4.2 5.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 16661baa-ed8d-4f32-84a1-e58ebe9224bd)) 80 | (pad "63" thru_hole oval (at 4.2 6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 63cc0dd6-928d-4246-92ff-71be63e534f5)) 81 | (pad "64" thru_hole oval (at 4.2 6.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 10063a04-6a7e-4e29-9abf-5cc19e3a2689)) 82 | (pad "65" thru_hole oval (at 4.2 7.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 38a28420-1897-44a8-adc1-cda2d142be80)) 83 | (pad "66" thru_hole oval (at 4.2 8.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 33520d37-bc52-49e6-9dad-74fd94b0355a)) 84 | (pad "67" thru_hole oval (at 12.1 8.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 66fa4305-11c0-44d7-bf64-bf5f0c52fe9a)) 85 | (pad "68" thru_hole oval (at 12.1 7.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 1605fe6f-7cf4-4b2d-9ef6-e5ca9a5ac178)) 86 | (pad "69" thru_hole oval (at 12.1 6.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 766086da-ec3d-44e7-b476-defd7e1e9b87)) 87 | (pad "70" thru_hole oval (at 12.1 6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 1ed467a2-82db-42d9-89f6-99087003f9bc)) 88 | (pad "71" thru_hole oval (at 12.1 5.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 5a8754c0-cdf4-45dd-8422-d4864591d2ec)) 89 | (pad "72" thru_hole oval (at 12.1 4.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp de745d6e-a785-4111-9171-d14e92f027cc)) 90 | (pad "73" thru_hole oval (at 12.1 3.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 0b791bac-f05b-4a64-8b7e-7bfbf0ca1a55)) 91 | (pad "74" thru_hole oval (at 12.1 2.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp d35f86fd-4758-4eac-b0b6-b8adbfb42cbc)) 92 | (pad "75" thru_hole oval (at 12.1 2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 3c906743-a075-48c0-a912-c738fd50971c)) 93 | (pad "76" thru_hole oval (at 12.1 1.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 884ecf39-fa53-484e-b76b-8999f82fbbb3)) 94 | (pad "77" thru_hole oval (at 12.1 0.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 911dcc36-e1bf-40fd-91ce-02a550bfc12d)) 95 | (pad "78" thru_hole oval (at 12.1 -0.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp bec57a33-1544-4350-8421-0d93064480c2)) 96 | (pad "79" thru_hole oval (at 12.1 -1.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp c8996b40-39bd-4db0-90e8-e7e8f81d2feb)) 97 | (pad "80" thru_hole oval (at 12.1 -2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 295f23ba-e080-4854-a2f2-3195d898b52b)) 98 | (pad "81" thru_hole oval (at 12.1 -2.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp c18d1bb9-d184-4752-b4d5-6c5cb218dc97)) 99 | (pad "82" thru_hole oval (at 12.1 -3.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp d88eee6b-862a-40aa-a63e-20ebb341f34a)) 100 | (pad "83" thru_hole oval (at 12.1 -4.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 3f187b2f-fa9e-48f4-ad78-76182ff72848)) 101 | (pad "84" thru_hole oval (at 12.1 -5.2) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp d29e9690-6fb9-41d6-9d00-97b5b4effed0)) 102 | (pad "85" thru_hole oval (at 12.1 -6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp e2a74c2b-6f80-4906-b979-7b3e85d4d9c0)) 103 | (pad "86" thru_hole oval (at 12.1 -6.8) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 37a96c5c-6ec1-41c5-8eb3-f5f5eaac05e3)) 104 | (pad "87" thru_hole oval (at 12.1 -7.6) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 6a12522d-6626-427f-ad1c-7299ccb26017)) 105 | (pad "88" thru_hole oval (at 12.1 -8.4) (size 1 0.66) (drill 0.4) (layers "*.Cu" "*.Mask") (tstamp 7a2baad3-0aac-49b1-9070-088c6d2571dc)) 106 | ) 107 | -------------------------------------------------------------------------------- /hardware/neogeo-161in1-dual-daughterboard.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "board_outline_line_width": 0.09999999999999999, 7 | "copper_line_width": 0.19999999999999998, 8 | "copper_text_italic": false, 9 | "copper_text_size_h": 1.5, 10 | "copper_text_size_v": 1.5, 11 | "copper_text_thickness": 0.3, 12 | "copper_text_upright": false, 13 | "courtyard_line_width": 0.049999999999999996, 14 | "dimension_precision": 4, 15 | "dimension_units": 3, 16 | "dimensions": { 17 | "arrow_length": 1270000, 18 | "extension_offset": 500000, 19 | "keep_text_aligned": true, 20 | "suppress_zeroes": false, 21 | "text_position": 0, 22 | "units_format": 1 23 | }, 24 | "fab_line_width": 0.09999999999999999, 25 | "fab_text_italic": false, 26 | "fab_text_size_h": 1.0, 27 | "fab_text_size_v": 1.0, 28 | "fab_text_thickness": 0.15, 29 | "fab_text_upright": false, 30 | "other_line_width": 0.15, 31 | "other_text_italic": false, 32 | "other_text_size_h": 1.0, 33 | "other_text_size_v": 1.0, 34 | "other_text_thickness": 0.15, 35 | "other_text_upright": false, 36 | "pads": { 37 | "drill": 0.762, 38 | "height": 1.524, 39 | "width": 1.524 40 | }, 41 | "silk_line_width": 0.15, 42 | "silk_text_italic": false, 43 | "silk_text_size_h": 1.0, 44 | "silk_text_size_v": 1.0, 45 | "silk_text_thickness": 0.15, 46 | "silk_text_upright": false, 47 | "zones": { 48 | "min_clearance": 0.5 49 | } 50 | }, 51 | "diff_pair_dimensions": [ 52 | { 53 | "gap": 0.0, 54 | "via_gap": 0.0, 55 | "width": 0.0 56 | } 57 | ], 58 | "drc_exclusions": [], 59 | "meta": { 60 | "version": 2 61 | }, 62 | "rule_severities": { 63 | "annular_width": "error", 64 | "clearance": "error", 65 | "connection_width": "warning", 66 | "copper_edge_clearance": "error", 67 | "copper_sliver": "warning", 68 | "courtyards_overlap": "error", 69 | "diff_pair_gap_out_of_range": "error", 70 | "diff_pair_uncoupled_length_too_long": "error", 71 | "drill_out_of_range": "error", 72 | "duplicate_footprints": "warning", 73 | "extra_footprint": "warning", 74 | "footprint": "error", 75 | "footprint_type_mismatch": "ignore", 76 | "hole_clearance": "error", 77 | "hole_near_hole": "error", 78 | "invalid_outline": "error", 79 | "isolated_copper": "warning", 80 | "item_on_disabled_layer": "error", 81 | "items_not_allowed": "error", 82 | "length_out_of_range": "error", 83 | "lib_footprint_issues": "warning", 84 | "lib_footprint_mismatch": "warning", 85 | "malformed_courtyard": "error", 86 | "microvia_drill_out_of_range": "error", 87 | "missing_courtyard": "ignore", 88 | "missing_footprint": "warning", 89 | "net_conflict": "warning", 90 | "npth_inside_courtyard": "ignore", 91 | "padstack": "warning", 92 | "pth_inside_courtyard": "ignore", 93 | "shorting_items": "error", 94 | "silk_edge_clearance": "warning", 95 | "silk_over_copper": "warning", 96 | "silk_overlap": "warning", 97 | "skew_out_of_range": "error", 98 | "solder_mask_bridge": "error", 99 | "starved_thermal": "error", 100 | "text_height": "warning", 101 | "text_thickness": "warning", 102 | "through_hole_pad_without_hole": "error", 103 | "too_many_vias": "error", 104 | "track_dangling": "warning", 105 | "track_width": "error", 106 | "tracks_crossing": "error", 107 | "unconnected_items": "error", 108 | "unresolved_variable": "error", 109 | "via_dangling": "warning", 110 | "zones_intersect": "error" 111 | }, 112 | "rules": { 113 | "max_error": 0.005, 114 | "min_clearance": 0.0, 115 | "min_connection": 0.0, 116 | "min_copper_edge_clearance": 0.0, 117 | "min_hole_clearance": 0.25, 118 | "min_hole_to_hole": 0.25, 119 | "min_microvia_diameter": 0.19999999999999998, 120 | "min_microvia_drill": 0.09999999999999999, 121 | "min_resolved_spokes": 2, 122 | "min_silk_clearance": 0.0, 123 | "min_text_height": 0.7999999999999999, 124 | "min_text_thickness": 0.08, 125 | "min_through_hole_diameter": 0.3, 126 | "min_track_width": 0.0, 127 | "min_via_annular_width": 0.09999999999999999, 128 | "min_via_diameter": 0.5, 129 | "solder_mask_clearance": 0.0, 130 | "solder_mask_min_width": 0.0, 131 | "solder_mask_to_copper_clearance": 0.0, 132 | "use_height_for_length_calcs": true 133 | }, 134 | "teardrop_options": [ 135 | { 136 | "td_allow_use_two_tracks": true, 137 | "td_curve_segcount": 5, 138 | "td_on_pad_in_zone": false, 139 | "td_onpadsmd": true, 140 | "td_onroundshapesonly": false, 141 | "td_ontrackend": false, 142 | "td_onviapad": true 143 | } 144 | ], 145 | "teardrop_parameters": [ 146 | { 147 | "td_curve_segcount": 0, 148 | "td_height_ratio": 1.0, 149 | "td_length_ratio": 0.5, 150 | "td_maxheight": 2.0, 151 | "td_maxlen": 1.0, 152 | "td_target_name": "td_round_shape", 153 | "td_width_to_size_filter_ratio": 0.9 154 | }, 155 | { 156 | "td_curve_segcount": 0, 157 | "td_height_ratio": 1.0, 158 | "td_length_ratio": 0.5, 159 | "td_maxheight": 2.0, 160 | "td_maxlen": 1.0, 161 | "td_target_name": "td_rect_shape", 162 | "td_width_to_size_filter_ratio": 0.9 163 | }, 164 | { 165 | "td_curve_segcount": 0, 166 | "td_height_ratio": 1.0, 167 | "td_length_ratio": 0.5, 168 | "td_maxheight": 2.0, 169 | "td_maxlen": 1.0, 170 | "td_target_name": "td_track_end", 171 | "td_width_to_size_filter_ratio": 0.9 172 | } 173 | ], 174 | "track_widths": [ 175 | 0.0 176 | ], 177 | "via_dimensions": [ 178 | { 179 | "diameter": 0.0, 180 | "drill": 0.0 181 | } 182 | ], 183 | "zones_allow_external_fillets": false 184 | }, 185 | "layer_presets": [], 186 | "viewports": [] 187 | }, 188 | "boards": [], 189 | "cvpcb": { 190 | "equivalence_files": [] 191 | }, 192 | "erc": { 193 | "erc_exclusions": [], 194 | "meta": { 195 | "version": 0 196 | }, 197 | "pin_map": [ 198 | [ 199 | 0, 200 | 0, 201 | 0, 202 | 0, 203 | 0, 204 | 0, 205 | 1, 206 | 0, 207 | 0, 208 | 0, 209 | 0, 210 | 2 211 | ], 212 | [ 213 | 0, 214 | 2, 215 | 0, 216 | 1, 217 | 0, 218 | 0, 219 | 1, 220 | 0, 221 | 2, 222 | 2, 223 | 2, 224 | 2 225 | ], 226 | [ 227 | 0, 228 | 0, 229 | 0, 230 | 0, 231 | 0, 232 | 0, 233 | 1, 234 | 0, 235 | 1, 236 | 0, 237 | 1, 238 | 2 239 | ], 240 | [ 241 | 0, 242 | 1, 243 | 0, 244 | 0, 245 | 0, 246 | 0, 247 | 1, 248 | 1, 249 | 2, 250 | 1, 251 | 1, 252 | 2 253 | ], 254 | [ 255 | 0, 256 | 0, 257 | 0, 258 | 0, 259 | 0, 260 | 0, 261 | 1, 262 | 0, 263 | 0, 264 | 0, 265 | 0, 266 | 2 267 | ], 268 | [ 269 | 0, 270 | 0, 271 | 0, 272 | 0, 273 | 0, 274 | 0, 275 | 0, 276 | 0, 277 | 0, 278 | 0, 279 | 0, 280 | 2 281 | ], 282 | [ 283 | 1, 284 | 1, 285 | 1, 286 | 1, 287 | 1, 288 | 0, 289 | 1, 290 | 1, 291 | 1, 292 | 1, 293 | 1, 294 | 2 295 | ], 296 | [ 297 | 0, 298 | 0, 299 | 0, 300 | 1, 301 | 0, 302 | 0, 303 | 1, 304 | 0, 305 | 0, 306 | 0, 307 | 0, 308 | 2 309 | ], 310 | [ 311 | 0, 312 | 2, 313 | 1, 314 | 2, 315 | 0, 316 | 0, 317 | 1, 318 | 0, 319 | 2, 320 | 2, 321 | 2, 322 | 2 323 | ], 324 | [ 325 | 0, 326 | 2, 327 | 0, 328 | 1, 329 | 0, 330 | 0, 331 | 1, 332 | 0, 333 | 2, 334 | 0, 335 | 0, 336 | 2 337 | ], 338 | [ 339 | 0, 340 | 2, 341 | 1, 342 | 1, 343 | 0, 344 | 0, 345 | 1, 346 | 0, 347 | 2, 348 | 0, 349 | 0, 350 | 2 351 | ], 352 | [ 353 | 2, 354 | 2, 355 | 2, 356 | 2, 357 | 2, 358 | 2, 359 | 2, 360 | 2, 361 | 2, 362 | 2, 363 | 2, 364 | 2 365 | ] 366 | ], 367 | "rule_severities": { 368 | "bus_definition_conflict": "error", 369 | "bus_entry_needed": "error", 370 | "bus_to_bus_conflict": "error", 371 | "bus_to_net_conflict": "error", 372 | "conflicting_netclasses": "error", 373 | "different_unit_footprint": "error", 374 | "different_unit_net": "error", 375 | "duplicate_reference": "error", 376 | "duplicate_sheet_names": "error", 377 | "endpoint_off_grid": "warning", 378 | "extra_units": "error", 379 | "global_label_dangling": "warning", 380 | "hier_label_mismatch": "error", 381 | "label_dangling": "error", 382 | "lib_symbol_issues": "warning", 383 | "missing_bidi_pin": "warning", 384 | "missing_input_pin": "warning", 385 | "missing_power_pin": "error", 386 | "missing_unit": "warning", 387 | "multiple_net_names": "warning", 388 | "net_not_bus_member": "warning", 389 | "no_connect_connected": "warning", 390 | "no_connect_dangling": "warning", 391 | "pin_not_connected": "error", 392 | "pin_not_driven": "error", 393 | "pin_to_pin": "warning", 394 | "power_pin_not_driven": "error", 395 | "similar_labels": "warning", 396 | "simulation_model_issue": "ignore", 397 | "unannotated": "error", 398 | "unit_value_mismatch": "error", 399 | "unresolved_variable": "error", 400 | "wire_dangling": "error" 401 | } 402 | }, 403 | "libraries": { 404 | "pinned_footprint_libs": [ 405 | "neogeo-161in1-dual-daughterboard" 406 | ], 407 | "pinned_symbol_libs": [ 408 | "neogeo-161in1-dual-daughterboard" 409 | ] 410 | }, 411 | "meta": { 412 | "filename": "neogeo-161in1-dual-daughterboard.kicad_pro", 413 | "version": 1 414 | }, 415 | "net_settings": { 416 | "classes": [ 417 | { 418 | "bus_width": 12, 419 | "clearance": 0.135, 420 | "diff_pair_gap": 0.25, 421 | "diff_pair_via_gap": 0.25, 422 | "diff_pair_width": 0.2, 423 | "line_style": 0, 424 | "microvia_diameter": 0.3, 425 | "microvia_drill": 0.1, 426 | "name": "Default", 427 | "pcb_color": "rgba(0, 0, 0, 0.000)", 428 | "schematic_color": "rgba(0, 0, 0, 0.000)", 429 | "track_width": 0.135, 430 | "via_diameter": 0.5, 431 | "via_drill": 0.3, 432 | "wire_width": 6 433 | }, 434 | { 435 | "bus_width": 12, 436 | "clearance": 0.2, 437 | "diff_pair_gap": 0.25, 438 | "diff_pair_via_gap": 0.25, 439 | "diff_pair_width": 0.2, 440 | "line_style": 0, 441 | "microvia_diameter": 0.3, 442 | "microvia_drill": 0.1, 443 | "name": "Power", 444 | "pcb_color": "rgba(0, 0, 0, 0.000)", 445 | "schematic_color": "rgba(0, 0, 0, 0.000)", 446 | "track_width": 0.2, 447 | "via_diameter": 0.5, 448 | "via_drill": 0.3, 449 | "wire_width": 6 450 | } 451 | ], 452 | "meta": { 453 | "version": 3 454 | }, 455 | "net_colors": null, 456 | "netclass_assignments": null, 457 | "netclass_patterns": [ 458 | { 459 | "netclass": "Power", 460 | "pattern": "VCC" 461 | }, 462 | { 463 | "netclass": "Power", 464 | "pattern": "GND" 465 | } 466 | ] 467 | }, 468 | "pcbnew": { 469 | "last_paths": { 470 | "gencad": "", 471 | "idf": "", 472 | "netlist": "", 473 | "specctra_dsn": "", 474 | "step": "", 475 | "vrml": "" 476 | }, 477 | "page_layout_descr_file": "" 478 | }, 479 | "schematic": { 480 | "annotate_start_num": 0, 481 | "drawing": { 482 | "dashed_lines_dash_length_ratio": 12.0, 483 | "dashed_lines_gap_length_ratio": 3.0, 484 | "default_line_thickness": 6.0, 485 | "default_text_size": 50.0, 486 | "field_names": [], 487 | "intersheets_ref_own_page": false, 488 | "intersheets_ref_prefix": "", 489 | "intersheets_ref_short": false, 490 | "intersheets_ref_show": false, 491 | "intersheets_ref_suffix": "", 492 | "junction_size_choice": 3, 493 | "label_size_ratio": 0.375, 494 | "pin_symbol_size": 25.0, 495 | "text_offset_ratio": 0.15 496 | }, 497 | "legacy_lib_dir": "", 498 | "legacy_lib_list": [], 499 | "meta": { 500 | "version": 1 501 | }, 502 | "net_format_name": "", 503 | "page_layout_descr_file": "", 504 | "plot_directory": "", 505 | "spice_current_sheet_as_root": false, 506 | "spice_external_command": "spice \"%I\"", 507 | "spice_model_current_sheet_as_root": true, 508 | "spice_save_all_currents": false, 509 | "spice_save_all_voltages": false, 510 | "subpart_first_id": 65, 511 | "subpart_id_separator": 0 512 | }, 513 | "sheets": [ 514 | [ 515 | "1dcf0d81-bb70-40ad-adc9-017013594701", 516 | "" 517 | ] 518 | ], 519 | "text_variables": { 520 | "REV": "2023-10-05" 521 | } 522 | } 523 | -------------------------------------------------------------------------------- /hardware/neogeo-161in1-dual-daughterboard.kicad_sym: -------------------------------------------------------------------------------- 1 | (kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor) 2 | (symbol "F0095H0" (in_bom yes) (on_board yes) 3 | (property "Reference" "U" (at 0 34.29 0) 4 | (effects (font (size 1.27 1.27))) 5 | ) 6 | (property "Value" "F0095H0" (at 0 31.75 0) 7 | (effects (font (size 1.27 1.27))) 8 | ) 9 | (property "Footprint" "" (at -39.37 26.67 0) 10 | (effects (font (size 1.27 1.27)) hide) 11 | ) 12 | (property "Datasheet" "" (at -39.37 26.67 0) 13 | (effects (font (size 1.27 1.27)) hide) 14 | ) 15 | (symbol "F0095H0_0_0" 16 | (pin input line (at -39.37 26.67 0) (length 2.54) 17 | (name "WE" (effects (font (size 1.27 1.27)))) 18 | (number "1" (effects (font (size 1.27 1.27)))) 19 | ) 20 | (pin input line (at -39.37 3.81 0) (length 2.54) 21 | (name "CE4" (effects (font (size 1.27 1.27)))) 22 | (number "10" (effects (font (size 1.27 1.27)))) 23 | ) 24 | (pin input line (at -39.37 1.27 0) (length 2.54) 25 | (name "CE3" (effects (font (size 1.27 1.27)))) 26 | (number "11" (effects (font (size 1.27 1.27)))) 27 | ) 28 | (pin input line (at -39.37 -1.27 0) (length 2.54) 29 | (name "A24" (effects (font (size 1.27 1.27)))) 30 | (number "12" (effects (font (size 1.27 1.27)))) 31 | ) 32 | (pin input line (at -39.37 -3.81 0) (length 2.54) 33 | (name "A23" (effects (font (size 1.27 1.27)))) 34 | (number "13" (effects (font (size 1.27 1.27)))) 35 | ) 36 | (pin input line (at -39.37 -6.35 0) (length 2.54) 37 | (name "A22" (effects (font (size 1.27 1.27)))) 38 | (number "14" (effects (font (size 1.27 1.27)))) 39 | ) 40 | (pin input line (at -39.37 -8.89 0) (length 2.54) 41 | (name "A21" (effects (font (size 1.27 1.27)))) 42 | (number "15" (effects (font (size 1.27 1.27)))) 43 | ) 44 | (pin input line (at -39.37 -11.43 0) (length 2.54) 45 | (name "A20" (effects (font (size 1.27 1.27)))) 46 | (number "16" (effects (font (size 1.27 1.27)))) 47 | ) 48 | (pin input line (at -39.37 -13.97 0) (length 2.54) 49 | (name "A19" (effects (font (size 1.27 1.27)))) 50 | (number "17" (effects (font (size 1.27 1.27)))) 51 | ) 52 | (pin input line (at -39.37 -16.51 0) (length 2.54) 53 | (name "A18" (effects (font (size 1.27 1.27)))) 54 | (number "18" (effects (font (size 1.27 1.27)))) 55 | ) 56 | (pin input line (at -39.37 -19.05 0) (length 2.54) 57 | (name "OE2" (effects (font (size 1.27 1.27)))) 58 | (number "19" (effects (font (size 1.27 1.27)))) 59 | ) 60 | (pin input line (at -39.37 24.13 0) (length 2.54) 61 | (name "RP" (effects (font (size 1.27 1.27)))) 62 | (number "2" (effects (font (size 1.27 1.27)))) 63 | ) 64 | (pin input line (at -39.37 -21.59 0) (length 2.54) 65 | (name "OE1" (effects (font (size 1.27 1.27)))) 66 | (number "20" (effects (font (size 1.27 1.27)))) 67 | ) 68 | (pin input line (at -39.37 -24.13 0) (length 2.54) 69 | (name "CE2" (effects (font (size 1.27 1.27)))) 70 | (number "21" (effects (font (size 1.27 1.27)))) 71 | ) 72 | (pin input line (at -39.37 -26.67 0) (length 2.54) 73 | (name "CE1" (effects (font (size 1.27 1.27)))) 74 | (number "22" (effects (font (size 1.27 1.27)))) 75 | ) 76 | (pin input line (at -13.97 -26.67 180) (length 2.54) 77 | (name "D0" (effects (font (size 1.27 1.27)))) 78 | (number "23" (effects (font (size 1.27 1.27)))) 79 | ) 80 | (pin input line (at -13.97 -24.13 180) (length 2.54) 81 | (name "D8" (effects (font (size 1.27 1.27)))) 82 | (number "24" (effects (font (size 1.27 1.27)))) 83 | ) 84 | (pin input line (at -13.97 -21.59 180) (length 2.54) 85 | (name "A0" (effects (font (size 1.27 1.27)))) 86 | (number "25" (effects (font (size 1.27 1.27)))) 87 | ) 88 | (pin input line (at -13.97 -19.05 180) (length 2.54) 89 | (name "A1" (effects (font (size 1.27 1.27)))) 90 | (number "26" (effects (font (size 1.27 1.27)))) 91 | ) 92 | (pin input line (at -13.97 -16.51 180) (length 2.54) 93 | (name "A2" (effects (font (size 1.27 1.27)))) 94 | (number "27" (effects (font (size 1.27 1.27)))) 95 | ) 96 | (pin input line (at -13.97 -13.97 180) (length 2.54) 97 | (name "A2" (effects (font (size 1.27 1.27)))) 98 | (number "28" (effects (font (size 1.27 1.27)))) 99 | ) 100 | (pin input line (at -13.97 -11.43 180) (length 2.54) 101 | (name "A4" (effects (font (size 1.27 1.27)))) 102 | (number "29" (effects (font (size 1.27 1.27)))) 103 | ) 104 | (pin input line (at -39.37 21.59 0) (length 2.54) 105 | (name "VPP" (effects (font (size 1.27 1.27)))) 106 | (number "3" (effects (font (size 1.27 1.27)))) 107 | ) 108 | (pin input line (at -13.97 -8.89 180) (length 2.54) 109 | (name "A5" (effects (font (size 1.27 1.27)))) 110 | (number "30" (effects (font (size 1.27 1.27)))) 111 | ) 112 | (pin input line (at -13.97 -6.35 180) (length 2.54) 113 | (name "A6" (effects (font (size 1.27 1.27)))) 114 | (number "31" (effects (font (size 1.27 1.27)))) 115 | ) 116 | (pin input line (at -13.97 -3.81 180) (length 2.54) 117 | (name "A7" (effects (font (size 1.27 1.27)))) 118 | (number "32" (effects (font (size 1.27 1.27)))) 119 | ) 120 | (pin input line (at -13.97 -1.27 180) (length 2.54) 121 | (name "A8" (effects (font (size 1.27 1.27)))) 122 | (number "33" (effects (font (size 1.27 1.27)))) 123 | ) 124 | (pin input line (at -13.97 1.27 180) (length 2.54) 125 | (name "A9" (effects (font (size 1.27 1.27)))) 126 | (number "34" (effects (font (size 1.27 1.27)))) 127 | ) 128 | (pin input line (at -13.97 3.81 180) (length 2.54) 129 | (name "A10" (effects (font (size 1.27 1.27)))) 130 | (number "35" (effects (font (size 1.27 1.27)))) 131 | ) 132 | (pin input line (at -13.97 6.35 180) (length 2.54) 133 | (name "A11" (effects (font (size 1.27 1.27)))) 134 | (number "36" (effects (font (size 1.27 1.27)))) 135 | ) 136 | (pin input line (at -13.97 8.89 180) (length 2.54) 137 | (name "A12" (effects (font (size 1.27 1.27)))) 138 | (number "37" (effects (font (size 1.27 1.27)))) 139 | ) 140 | (pin input line (at -13.97 11.43 180) (length 2.54) 141 | (name "A13" (effects (font (size 1.27 1.27)))) 142 | (number "38" (effects (font (size 1.27 1.27)))) 143 | ) 144 | (pin input line (at -13.97 13.97 180) (length 2.54) 145 | (name "A14" (effects (font (size 1.27 1.27)))) 146 | (number "39" (effects (font (size 1.27 1.27)))) 147 | ) 148 | (pin input line (at -13.97 16.51 180) (length 2.54) 149 | (name "A15" (effects (font (size 1.27 1.27)))) 150 | (number "40" (effects (font (size 1.27 1.27)))) 151 | ) 152 | (pin input line (at -13.97 19.05 180) (length 2.54) 153 | (name "A16" (effects (font (size 1.27 1.27)))) 154 | (number "41" (effects (font (size 1.27 1.27)))) 155 | ) 156 | (pin input line (at -13.97 21.59 180) (length 2.54) 157 | (name "A17" (effects (font (size 1.27 1.27)))) 158 | (number "42" (effects (font (size 1.27 1.27)))) 159 | ) 160 | (pin bidirectional line (at -13.97 24.13 180) (length 2.54) 161 | (name "D23" (effects (font (size 1.27 1.27)))) 162 | (number "43" (effects (font (size 1.27 1.27)))) 163 | ) 164 | (pin bidirectional line (at -13.97 26.67 180) (length 2.54) 165 | (name "D31" (effects (font (size 1.27 1.27)))) 166 | (number "44" (effects (font (size 1.27 1.27)))) 167 | ) 168 | (pin bidirectional line (at 13.97 26.67 0) (length 2.54) 169 | (name "D22" (effects (font (size 1.27 1.27)))) 170 | (number "45" (effects (font (size 1.27 1.27)))) 171 | ) 172 | (pin bidirectional line (at 13.97 24.13 0) (length 2.54) 173 | (name "D21" (effects (font (size 1.27 1.27)))) 174 | (number "46" (effects (font (size 1.27 1.27)))) 175 | ) 176 | (pin bidirectional line (at 13.97 21.59 0) (length 2.54) 177 | (name "D20" (effects (font (size 1.27 1.27)))) 178 | (number "47" (effects (font (size 1.27 1.27)))) 179 | ) 180 | (pin bidirectional line (at 13.97 19.05 0) (length 2.54) 181 | (name "D19" (effects (font (size 1.27 1.27)))) 182 | (number "48" (effects (font (size 1.27 1.27)))) 183 | ) 184 | (pin power_in line (at 13.97 16.51 0) (length 2.54) 185 | (name "VCC" (effects (font (size 1.27 1.27)))) 186 | (number "49" (effects (font (size 1.27 1.27)))) 187 | ) 188 | (pin power_in line (at 13.97 13.97 0) (length 2.54) 189 | (name "VCC" (effects (font (size 1.27 1.27)))) 190 | (number "50" (effects (font (size 1.27 1.27)))) 191 | ) 192 | (pin power_in line (at 13.97 11.43 0) (length 2.54) 193 | (name "GND" (effects (font (size 1.27 1.27)))) 194 | (number "51" (effects (font (size 1.27 1.27)))) 195 | ) 196 | (pin power_in line (at 13.97 8.89 0) (length 2.54) 197 | (name "GND" (effects (font (size 1.27 1.27)))) 198 | (number "52" (effects (font (size 1.27 1.27)))) 199 | ) 200 | (pin bidirectional line (at 13.97 6.35 0) (length 2.54) 201 | (name "D18" (effects (font (size 1.27 1.27)))) 202 | (number "53" (effects (font (size 1.27 1.27)))) 203 | ) 204 | (pin bidirectional line (at 13.97 3.81 0) (length 2.54) 205 | (name "D17" (effects (font (size 1.27 1.27)))) 206 | (number "54" (effects (font (size 1.27 1.27)))) 207 | ) 208 | (pin bidirectional line (at 13.97 1.27 0) (length 2.54) 209 | (name "D16" (effects (font (size 1.27 1.27)))) 210 | (number "55" (effects (font (size 1.27 1.27)))) 211 | ) 212 | (pin bidirectional line (at 13.97 -1.27 0) (length 2.54) 213 | (name "D7" (effects (font (size 1.27 1.27)))) 214 | (number "56" (effects (font (size 1.27 1.27)))) 215 | ) 216 | (pin bidirectional line (at 13.97 -3.81 0) (length 2.54) 217 | (name "D6" (effects (font (size 1.27 1.27)))) 218 | (number "57" (effects (font (size 1.27 1.27)))) 219 | ) 220 | (pin bidirectional line (at 13.97 -6.35 0) (length 2.54) 221 | (name "D5" (effects (font (size 1.27 1.27)))) 222 | (number "58" (effects (font (size 1.27 1.27)))) 223 | ) 224 | (pin power_in line (at 13.97 -8.89 0) (length 2.54) 225 | (name "VCC" (effects (font (size 1.27 1.27)))) 226 | (number "59" (effects (font (size 1.27 1.27)))) 227 | ) 228 | (pin input line (at -39.37 13.97 0) (length 2.54) 229 | (name "A26" (effects (font (size 1.27 1.27)))) 230 | (number "6" (effects (font (size 1.27 1.27)))) 231 | ) 232 | (pin power_in line (at 13.97 -11.43 0) (length 2.54) 233 | (name "VCC" (effects (font (size 1.27 1.27)))) 234 | (number "60" (effects (font (size 1.27 1.27)))) 235 | ) 236 | (pin power_in line (at 13.97 -13.97 0) (length 2.54) 237 | (name "GND" (effects (font (size 1.27 1.27)))) 238 | (number "61" (effects (font (size 1.27 1.27)))) 239 | ) 240 | (pin input line (at 13.97 -16.51 0) (length 2.54) 241 | (name "WP" (effects (font (size 1.27 1.27)))) 242 | (number "62" (effects (font (size 1.27 1.27)))) 243 | ) 244 | (pin bidirectional line (at 13.97 -19.05 0) (length 2.54) 245 | (name "D4" (effects (font (size 1.27 1.27)))) 246 | (number "63" (effects (font (size 1.27 1.27)))) 247 | ) 248 | (pin bidirectional line (at 13.97 -21.59 0) (length 2.54) 249 | (name "D3" (effects (font (size 1.27 1.27)))) 250 | (number "64" (effects (font (size 1.27 1.27)))) 251 | ) 252 | (pin bidirectional line (at 13.97 -24.13 0) (length 2.54) 253 | (name "D2" (effects (font (size 1.27 1.27)))) 254 | (number "65" (effects (font (size 1.27 1.27)))) 255 | ) 256 | (pin bidirectional line (at 13.97 -26.67 0) (length 2.54) 257 | (name "D1" (effects (font (size 1.27 1.27)))) 258 | (number "66" (effects (font (size 1.27 1.27)))) 259 | ) 260 | (pin bidirectional line (at 39.37 -26.67 180) (length 2.54) 261 | (name "D9" (effects (font (size 1.27 1.27)))) 262 | (number "67" (effects (font (size 1.27 1.27)))) 263 | ) 264 | (pin bidirectional line (at 39.37 -24.13 180) (length 2.54) 265 | (name "D10" (effects (font (size 1.27 1.27)))) 266 | (number "68" (effects (font (size 1.27 1.27)))) 267 | ) 268 | (pin bidirectional line (at 39.37 -21.59 180) (length 2.54) 269 | (name "D11" (effects (font (size 1.27 1.27)))) 270 | (number "69" (effects (font (size 1.27 1.27)))) 271 | ) 272 | (pin input line (at -39.37 11.43 0) (length 2.54) 273 | (name "A25" (effects (font (size 1.27 1.27)))) 274 | (number "7" (effects (font (size 1.27 1.27)))) 275 | ) 276 | (pin bidirectional line (at 39.37 -19.05 180) (length 2.54) 277 | (name "D12" (effects (font (size 1.27 1.27)))) 278 | (number "70" (effects (font (size 1.27 1.27)))) 279 | ) 280 | (pin power_in line (at 39.37 -16.51 180) (length 2.54) 281 | (name "GND" (effects (font (size 1.27 1.27)))) 282 | (number "71" (effects (font (size 1.27 1.27)))) 283 | ) 284 | (pin power_in line (at 39.37 -13.97 180) (length 2.54) 285 | (name "GND" (effects (font (size 1.27 1.27)))) 286 | (number "72" (effects (font (size 1.27 1.27)))) 287 | ) 288 | (pin power_in line (at 39.37 -11.43 180) (length 2.54) 289 | (name "VCC" (effects (font (size 1.27 1.27)))) 290 | (number "73" (effects (font (size 1.27 1.27)))) 291 | ) 292 | (pin power_in line (at 39.37 -8.89 180) (length 2.54) 293 | (name "VCC" (effects (font (size 1.27 1.27)))) 294 | (number "74" (effects (font (size 1.27 1.27)))) 295 | ) 296 | (pin bidirectional line (at 39.37 -6.35 180) (length 2.54) 297 | (name "D13" (effects (font (size 1.27 1.27)))) 298 | (number "75" (effects (font (size 1.27 1.27)))) 299 | ) 300 | (pin bidirectional line (at 39.37 -3.81 180) (length 2.54) 301 | (name "D14" (effects (font (size 1.27 1.27)))) 302 | (number "76" (effects (font (size 1.27 1.27)))) 303 | ) 304 | (pin bidirectional line (at 39.37 -1.27 180) (length 2.54) 305 | (name "D15" (effects (font (size 1.27 1.27)))) 306 | (number "77" (effects (font (size 1.27 1.27)))) 307 | ) 308 | (pin bidirectional line (at 39.37 1.27 180) (length 2.54) 309 | (name "D24" (effects (font (size 1.27 1.27)))) 310 | (number "78" (effects (font (size 1.27 1.27)))) 311 | ) 312 | (pin bidirectional line (at 39.37 3.81 180) (length 2.54) 313 | (name "D25" (effects (font (size 1.27 1.27)))) 314 | (number "79" (effects (font (size 1.27 1.27)))) 315 | ) 316 | (pin input line (at -39.37 8.89 0) (length 2.54) 317 | (name "OE4" (effects (font (size 1.27 1.27)))) 318 | (number "8" (effects (font (size 1.27 1.27)))) 319 | ) 320 | (pin bidirectional line (at 39.37 6.35 180) (length 2.54) 321 | (name "D26" (effects (font (size 1.27 1.27)))) 322 | (number "80" (effects (font (size 1.27 1.27)))) 323 | ) 324 | (pin power_in line (at 39.37 8.89 180) (length 2.54) 325 | (name "GND" (effects (font (size 1.27 1.27)))) 326 | (number "81" (effects (font (size 1.27 1.27)))) 327 | ) 328 | (pin power_in line (at 39.37 11.43 180) (length 2.54) 329 | (name "GND" (effects (font (size 1.27 1.27)))) 330 | (number "82" (effects (font (size 1.27 1.27)))) 331 | ) 332 | (pin power_in line (at 39.37 13.97 180) (length 2.54) 333 | (name "VCC" (effects (font (size 1.27 1.27)))) 334 | (number "83" (effects (font (size 1.27 1.27)))) 335 | ) 336 | (pin power_in line (at 39.37 16.51 180) (length 2.54) 337 | (name "VCC" (effects (font (size 1.27 1.27)))) 338 | (number "84" (effects (font (size 1.27 1.27)))) 339 | ) 340 | (pin bidirectional line (at 39.37 19.05 180) (length 2.54) 341 | (name "D27" (effects (font (size 1.27 1.27)))) 342 | (number "85" (effects (font (size 1.27 1.27)))) 343 | ) 344 | (pin bidirectional line (at 39.37 21.59 180) (length 2.54) 345 | (name "D28" (effects (font (size 1.27 1.27)))) 346 | (number "86" (effects (font (size 1.27 1.27)))) 347 | ) 348 | (pin bidirectional line (at 39.37 24.13 180) (length 2.54) 349 | (name "D29" (effects (font (size 1.27 1.27)))) 350 | (number "87" (effects (font (size 1.27 1.27)))) 351 | ) 352 | (pin bidirectional line (at 39.37 26.67 180) (length 2.54) 353 | (name "D30" (effects (font (size 1.27 1.27)))) 354 | (number "88" (effects (font (size 1.27 1.27)))) 355 | ) 356 | (pin input line (at -39.37 6.35 0) (length 2.54) 357 | (name "OE3" (effects (font (size 1.27 1.27)))) 358 | (number "9" (effects (font (size 1.27 1.27)))) 359 | ) 360 | ) 361 | (symbol "F0095H0_1_0" 362 | (pin passive line (at -39.37 19.05 0) (length 2.54) 363 | (name "NC4" (effects (font (size 1.27 1.27)))) 364 | (number "4" (effects (font (size 1.27 1.27)))) 365 | ) 366 | (pin passive line (at -39.37 16.51 0) (length 2.54) 367 | (name "NC5" (effects (font (size 1.27 1.27)))) 368 | (number "5" (effects (font (size 1.27 1.27)))) 369 | ) 370 | ) 371 | (symbol "F0095H0_1_1" 372 | (rectangle (start -36.83 30.48) (end -16.51 -29.21) 373 | (stroke (width 0) (type default)) 374 | (fill (type background)) 375 | ) 376 | (rectangle (start -36.83 30.48) (end 36.83 -29.21) 377 | (stroke (width 0) (type default)) 378 | (fill (type none)) 379 | ) 380 | (rectangle (start 16.51 30.48) (end 36.83 -29.21) 381 | (stroke (width 0) (type default)) 382 | (fill (type background)) 383 | ) 384 | ) 385 | ) 386 | ) 387 | --------------------------------------------------------------------------------