From 504dab935c3dbfcb1046ba756f297445181462e1 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Sun, 15 Sep 2024 09:00:44 -0500 Subject: [PATCH] create a Sega 2P-based 11 button layout this allows for the traditional 8 buttons plus L3, R3, and TP, all on one hand. I'm going to use this for the q2009 stuff, especially, but it might be an interesting option for all arcade sticks Signed-off-by: Brian S. Stephan --- src/components.scad | 6 +++++ ...decorative-plate-sega-2p-eleven-plate.scad | 23 +++++++++++++++++++ .../sega-2p-eleven-panel-with-mount.scad | 16 +++++++++++++ src/panels/inset/sega-2p-eleven-panel.scad | 17 ++++++++++++++ src/parameters.scad | 1 + 5 files changed, 63 insertions(+) create mode 100644 src/misc/decorative-plate-sega-2p-eleven-plate.scad create mode 100644 src/panels/inset/sega-2p-eleven-panel-with-mount.scad create mode 100644 src/panels/inset/sega-2p-eleven-panel.scad diff --git a/src/components.scad b/src/components.scad index 4a8be42..16f2153 100644 --- a/src/components.scad +++ b/src/components.scad @@ -470,6 +470,12 @@ module sega_2p_plus_one() { translate([0, -19-9-11-19-9-11, 0]) sega_2p_p1(); } +module sega_2p_eleven() { + sega_2p_plus_one(); + translate([sega_2p_column_5_offset, 0, 0]) sega_2p_p1(); + translate([sega_2p_column_5_offset, -19-9-11, 0]) sega_2p_p1(); +} + module shiokenstar() { translate([-172, 32, 0]) dir_arc_24mm_directionals(); sega_2p(); diff --git a/src/misc/decorative-plate-sega-2p-eleven-plate.scad b/src/misc/decorative-plate-sega-2p-eleven-plate.scad new file mode 100644 index 0000000..ab5bbb5 --- /dev/null +++ b/src/misc/decorative-plate-sega-2p-eleven-plate.scad @@ -0,0 +1,23 @@ +/* Decorative plate for directional buttons. + * + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +decorative_radius_scale = 1.5; +jumbo_decorative_radius_scale = 0; +include + +module sega_2p_eleven_plate_decorative_plate() { + difference() { + // get a 2mm slice of the bigger button cylinders + translate([panel_x/2, 0, -25]) hull() sega_2p_eleven(); + translate([0, 0, -100]) cube([500, 500, 198], center=true); + translate([0, 0, 100]) cube([500, 500, 198], center=true); + // cut out the normal holes + translate([panel_x/2, 0, -1]) sega_2p_eleven(); + } +} + +sega_2p_eleven_plate_decorative_plate(); diff --git a/src/panels/inset/sega-2p-eleven-panel-with-mount.scad b/src/panels/inset/sega-2p-eleven-panel-with-mount.scad new file mode 100644 index 0000000..18f8bee --- /dev/null +++ b/src/panels/inset/sega-2p-eleven-panel-with-mount.scad @@ -0,0 +1,16 @@ +/* 11-button Sega 2P panel with PCB mount + * + * SPDX-FileCopyrightText: © 2023 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use + +module sega_2p_eleven_panel_with_mount() { + sega_2p_eleven_panel(); + translate([30, -50, -(panel_z/2) - 3]) pcb_mount(); +} + +sega_2p_eleven_panel_with_mount(); diff --git a/src/panels/inset/sega-2p-eleven-panel.scad b/src/panels/inset/sega-2p-eleven-panel.scad new file mode 100644 index 0000000..7b9dcc0 --- /dev/null +++ b/src/panels/inset/sega-2p-eleven-panel.scad @@ -0,0 +1,17 @@ +/* A panel with the Sega 2P button layout plus three extra buttons for whatever purpose. + * + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include + +module sega_2p_eleven_panel() { + difference() { + panel(); + sega_2p_eleven(); + } +} + +sega_2p_eleven_panel(); diff --git a/src/parameters.scad b/src/parameters.scad index d8a4c2a..fa4a61b 100644 --- a/src/parameters.scad +++ b/src/parameters.scad @@ -114,6 +114,7 @@ slash_height = frame_z-panel_z*3; sega_2p_column_2_offset = 30.5; sega_2p_column_3_offset = sega_2p_column_2_offset + 36; sega_2p_column_4_offset = sega_2p_column_3_offset + 36; +sega_2p_column_5_offset = sega_2p_column_4_offset + 36; // this offset is from the left edge of the panel sega_2p_column_1_left_panel_edge_offset = 28.06;