Merge branch 'master' into DeviceEmulation-SteelBattalionController

This commit is contained in:
Fred Hallock 2025-01-03 12:32:33 -05:00 committed by GitHub
commit 43ad4950ce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
25 changed files with 507 additions and 63 deletions

View File

@ -443,6 +443,9 @@ jobs:
run: |
mkdir src
tar -C src -xf src.tar.gz
# Ensure subprojects are uploaded
rm src/subprojects/.gitignore
- name: Integrate Debian packaging
run: |
pushd src

13
.gitmodules vendored
View File

@ -72,19 +72,6 @@
path = ui/thirdparty/implot
url = https://github.com/epezent/implot.git
ignore = untracked
[submodule "hw/xbox/nv2a/xxHash"]
path = util/xxHash
url = https://github.com/Cyan4973/xxHash.git
ignore = untracked
[submodule "genconfig"]
path = genconfig
url = https://github.com/mborgerson/genconfig.git
[submodule "tomlplusplus"]
path = tomlplusplus
url = https://github.com/marzer/tomlplusplus
[submodule "hw/xbox/nv2a/pgraph/thirdparty/nv2a_vsh_cpu"]
path = hw/xbox/nv2a/pgraph/thirdparty/nv2a_vsh_cpu
url = https://github.com/abaire/nv2a_vsh_cpu.git
[submodule "ui/thirdparty/httplib"]
path = ui/thirdparty/httplib
url = https://github.com/yhirose/cpp-httplib

2
configure vendored
View File

@ -237,7 +237,7 @@ else
git_submodules_action="ignore"
fi
git_submodules="ui/keycodemapdb ui/thirdparty/imgui ui/thirdparty/implot ui/thirdparty/httplib util/xxHash tomlplusplus genconfig hw/xbox/nv2a/pgraph/thirdparty/nv2a_vsh_cpu"
git_submodules="ui/keycodemapdb ui/thirdparty/imgui ui/thirdparty/implot genconfig"
git="git"
# Don't accept a target_list environment variable.

248
data/duke.svg Normal file
View File

@ -0,0 +1,248 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="512"
height="512"
viewBox="0 0 135.46665 135.46665"
version="1.1"
id="svg6780"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><defs
id="defs6774" /><metadata
id="metadata6777"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><g
id="obj_duke"
style="display:inline"
transform="translate(0,-161.53332)"><path
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 97.28021,271.87212 c 0,0 20.49821,-36.65138 19.73144,-49.99311 -0.76676,-13.34171 -16.76661,-24.79209 -16.76661,-24.79209 -14.446022,10.75634 -29.015941,10.64154 -31.716993,10.64154 -2.701049,0 -16.349263,0.22323 -31.771214,-10.64154 0,0 -15.999847,11.45038 -16.766612,24.79209 -0.766765,13.34173 19.731448,49.99313 19.731448,49.99313 0,0 11.651105,8.43445 28.779269,8.43443 17.128162,-2e-5 28.779272,-8.43445 28.779272,-8.43445 z"
id="path1700-5-3" /><path
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 95.9844,270.65207 c 14.56511,18.98742 18.37013,22.02498 18.37013,22.02498 10.78585,1.32907 15.30623,-6.07558 15.53765,-15.06575 0.91677,-35.61522 -1.40323,-41.32721 -3.30775,-48.37132 -7.52507,-27.83259 -22.00171,-31.73744 -22.00171,-31.73744 -10.027332,12.21087 -25.142872,15.8357 -25.142872,15.8357 0,0 20.967262,17.08089 1.93753,34.96954 4.548891,7.14272 9.839031,15.34692 14.607022,22.34429 z"
id="path4560-5-6" /><path
id="path3746-3-7"
d="M 40.929018,270.65207 C 26.363906,289.63949 22.558891,292.67705 22.558891,292.67705 11.773043,294.00612 7.252658,286.60147 7.021235,277.6113 c -0.916759,-35.61522 1.403229,-41.32721 3.307741,-48.37132 7.52508,-27.83259 22.001722,-31.73744 22.001722,-31.73744 10.027332,12.21087 25.142859,15.8357 25.142859,15.8357 0,0 -20.967245,17.08089 -1.937512,34.96954 -4.548881,7.14272 -9.839028,15.34692 -14.607027,22.34429 z"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><ellipse
ry="16.727493"
rx="16.207613"
cy="231.91682"
cx="68.500938"
id="path946-6-5"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><ellipse
ry="15.054744"
rx="14.586852"
cy="231.91682"
cx="68.500938"
id="path946-2-2-3"
style="display:inline;opacity:1;fill:#0000f3;fill-opacity:1;stroke:#ff0000;stroke-width:0.912;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><ellipse
transform="matrix(0.90132611,-0.43314114,0.42622539,0.904617,0,0)"
ry="4.7858553"
rx="3.1287167"
cy="262.05618"
cx="-4.1107149"
id="path4588-3-27-2"
style="display:inline;opacity:1;fill:#0000f3;fill-opacity:1;stroke:#ff0000;stroke-width:0.400006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><g
aria-label="A"
id="text4695-0-9"
style="font-size:14.9809px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#ff0000;stroke-width:0.353"><path
d="m 106.57389,240.42519 q 0.26467,-0.72908 0.48938,-1.32831 0.22971,-0.59924 0.44443,-1.11858 0.21972,-0.51934 0.45942,-1.01371 h 0.47439 q 0.17978,0.37453 0.34457,0.75904 0.16479,0.38451 0.32958,0.79898 0.16479,0.41447 0.33956,0.88387 0.17977,0.46941 0.37952,1.01871 h -0.55929 q -0.0749,-0.22472 -0.1548,-0.43944 -0.0799,-0.21972 -0.14981,-0.42946 h -1.55302 q -0.0749,0.20974 -0.1548,0.42946 -0.0799,0.21472 -0.15481,0.43944 z m 0.97876,-1.28836 h 1.27837 q -0.0899,-0.24469 -0.17478,-0.46941 -0.0849,-0.22471 -0.16479,-0.42445 -0.0799,-0.20474 -0.1598,-0.38451 -0.0749,-0.18477 -0.14481,-0.34457 -0.0649,0.1598 -0.13982,0.34457 -0.0749,0.17977 -0.15481,0.38451 -0.0799,0.19974 -0.16479,0.42445 -0.0849,0.22472 -0.17477,0.46941 z"
style="font-weight:500;font-size:4.99364px;line-height:3;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu Medium'"
id="path2124" /></g><ellipse
transform="matrix(0.90132611,-0.43314114,0.42622539,0.904617,0,0)"
ry="4.7858553"
rx="3.1287167"
cy="253.34637"
cx="-11.001042"
id="path4588-3-7-6-2"
style="display:inline;opacity:1;fill:#0000f3;fill-opacity:1;stroke:#ff0000;stroke-width:0.400006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><g
aria-label="X"
id="text4695-5-0-7"
style="font-size:14.9809px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#ff0000;stroke-width:0.353"><path
d="m 96.701031,235.53062 q 0.154803,-0.28963 0.339567,-0.58925 0.184765,-0.29961 0.394498,-0.60423 0.209733,-0.3096 0.434447,-0.61921 l -1.113582,-1.6479 h 0.614218 l 0.828944,1.26839 0.818957,-1.26839 h 0.584256 l -1.108588,1.64291 q 0.244688,0.32958 0.459415,0.64917 0.214726,0.3146 0.394497,0.60923 0.179771,0.29462 0.314599,0.55928 h -0.594243 q -0.09488,-0.19974 -0.244688,-0.43944 -0.144816,-0.24468 -0.314599,-0.49936 -0.169784,-0.25967 -0.334574,-0.48938 -0.10986,0.14482 -0.239695,0.33957 -0.129835,0.19475 -0.259669,0.39949 -0.129835,0.19975 -0.239695,0.37952 -0.104866,0.17977 -0.16479,0.3096 z"
style="font-weight:500;font-size:4.99364px;line-height:3;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu Medium'"
id="path2121" /></g><ellipse
transform="matrix(0.90132611,-0.43314114,0.42622539,0.904617,0,0)"
ry="4.7858553"
rx="3.1287167"
cy="243.32051"
cx="-5.9763765"
id="path4588-3-6-2-9"
style="display:inline;opacity:1;fill:#0000f3;fill-opacity:1;stroke:#ff0000;stroke-width:0.400006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><g
aria-label="Y"
id="text4695-2-6-3"
style="font-size:14.9809px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#ff0000;stroke-width:0.353"><path
d="m 98.115171,224.28476 v -1.37825 q -0.174778,-0.26466 -0.339568,-0.52932 -0.159796,-0.26466 -0.309606,-0.52433 -0.149809,-0.25967 -0.294624,-0.51435 -0.139822,-0.25967 -0.274651,-0.51434 h 0.599237 q 0.189759,0.40448 0.414472,0.81895 0.224714,0.41448 0.474396,0.79899 0.159797,-0.25967 0.3146,-0.52933 0.159796,-0.26966 0.304612,-0.54431 0.144815,-0.27465 0.27465,-0.5443 h 0.564281 q -0.134828,0.25467 -0.279644,0.51434 -0.139822,0.25468 -0.289631,0.51435 -0.149809,0.25467 -0.309606,0.51934 -0.159796,0.25966 -0.334573,0.52433 v 1.38823 z"
style="font-weight:500;font-size:4.99364px;line-height:3;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu Medium'"
id="path2118" /></g><ellipse
transform="matrix(0.90132611,-0.43314114,0.42622539,0.904617,0,0)"
ry="4.7858553"
rx="3.1287167"
cy="251.99681"
cx="0.69634515"
id="path4588-3-2-8-0"
style="display:inline;opacity:1;fill:#0000f3;fill-opacity:1;stroke:#ff0000;stroke-width:0.400006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><g
aria-label="B"
id="text4695-7-7-6"
style="font-size:14.9809px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#ff0000;stroke-width:0.353"><path
d="m 107.95738,229.2781 q -0.14481,0 -0.31459,-0.01 -0.16979,-0.01 -0.33957,-0.03 -0.16479,-0.025 -0.30461,-0.0549 v -3.34075 q 0.13482,-0.035 0.29961,-0.0549 0.16979,-0.02 0.33458,-0.03 0.16479,-0.01 0.30461,-0.01 0.40449,0 0.72907,0.0849 0.32459,0.0849 0.51435,0.28963 0.19475,0.19975 0.19475,0.5543 0,0.24968 -0.12484,0.43444 -0.12484,0.18477 -0.34956,0.27465 0.30961,0.0949 0.4744,0.29962 0.16978,0.20474 0.16978,0.5543 0,0.51434 -0.3945,0.77901 -0.39449,0.25966 -1.19348,0.25966 z m 0.03,-0.42945 q 0.27964,0 0.50935,-0.0499 0.2347,-0.0549 0.37452,-0.18476 0.13982,-0.13483 0.13982,-0.38451 0,-0.33457 -0.2347,-0.45941 -0.22971,-0.12485 -0.64418,-0.12485 h -0.6292 v 1.17351 q 0.0849,0.01 0.21473,0.02 0.12983,0.01 0.26966,0.01 z m -0.48439,-1.61794 h 0.5493 q 0.24969,0 0.42946,-0.0449 0.17977,-0.0449 0.27964,-0.16479 0.0999,-0.11985 0.0999,-0.32459 0,-0.28464 -0.2347,-0.39949 -0.2347,-0.11985 -0.63918,-0.11985 -0.14482,0 -0.26966,0.005 -0.12484,0.005 -0.21473,0.02 z"
style="font-weight:500;font-size:4.99364px;line-height:3;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu Medium'"
id="path2115" /></g><ellipse
transform="matrix(0.90132611,-0.43314114,0.42622539,0.904617,0,0)"
ry="3.4322577"
rx="2.2438123"
cy="235.71582"
cx="2.2281981"
id="path4588-3-3-2-6"
style="display:inline;opacity:1;fill:#0000f3;fill-opacity:1;stroke:#ff0000;stroke-width:0.400006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><ellipse
transform="matrix(0.90132611,-0.43314114,0.42622539,0.904617,0,0)"
ry="3.4322577"
rx="2.2438123"
cy="244.49788"
cx="9.3329878"
id="path4588-3-3-6-0-1"
style="display:inline;opacity:1;fill:#0000f3;fill-opacity:1;stroke:#ff0000;stroke-width:0.400006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><ellipse
ry="2.8187218"
rx="4.0346408"
cy="264.9577"
cx="76.462502"
id="path4586-2-8"
style="display:inline;opacity:1;fill:#0000f3;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><ellipse
ry="2.8187218"
rx="4.0346408"
cy="264.9577"
cx="60.654415"
id="path4586-6-3-7"
style="display:inline;opacity:1;fill:#0000f3;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="path972-2-3"
d="m 94.411579,268.31553 c -5.235959,-2.74409 -9.212451,-6.51685 -9.32007,-12.4885 0,-6.88964 5.374791,-12.4748 12.00491,-12.4748 6.630131,0 12.432441,5.59844 12.004921,12.4748 -0.34155,5.49367 -5.1576,12.9369 -15.818281,10.73983 z"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><circle
r="10.807422"
cy="254.06604"
cx="97.024658"
id="path948-7-8-7"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4014;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><circle
r="10.807422"
cy="228.21782"
cx="31.082773"
id="path948-6-2"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4014;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="path966-3-3"
d="m 41.650924,269.46526 c -9.248172,0.28422 -15.923222,-6.17458 -15.923222,-13.84704 0,-7.67245 6.398227,-13.89221 14.290832,-13.89221 7.892619,0 14.290847,6.21976 14.290847,13.89221 0,3.83623 -1.26401,10.56867 -13.359569,15.01734 z"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><ellipse
ry="13.030053"
rx="13.438993"
cy="254.74788"
cx="39.82394"
id="path843-1-6"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><circle
r="11.167814"
cy="254.72475"
cx="40.004311"
id="path837-0-9-1"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.612029;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><circle
r="10.215247"
cy="254.68861"
cx="40.004311"
id="path837-47-2"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="path837-4-8-9"
d="m 40.155766,258.76823 a 5.9988215,8.6186042 0 0 0 -5.338715,4.70696 10.215247,10.215247 0 0 0 5.186902,1.42877 10.215247,10.215247 0 0 0 5.439926,-1.57347 5.9988215,8.6186042 0 0 0 -5.288113,-4.56226 z"
style="display:inline;opacity:1;fill:#0000ff;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="path837-4-5-4-3"
d="m 40.155766,250.59106 a 5.9988215,8.6186042 0 0 1 -5.338715,-4.70696 10.215247,10.215247 0 0 1 5.186902,-1.42877 10.215247,10.215247 0 0 1 5.439926,1.57347 5.9988215,8.6186042 0 0 1 -5.288113,4.56226 z"
style="display:inline;opacity:1;fill:#0000ff;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="path837-4-3-5-1"
d="m 44.091266,254.55211 a 8.6186042,5.9988215 0 0 0 4.706961,5.33872 10.215247,10.215247 0 0 0 1.428766,-5.18692 10.215247,10.215247 0 0 0 -1.573467,-5.43991 8.6186042,5.9988215 0 0 0 -4.56226,5.28811 z"
style="display:inline;opacity:1;fill:#0000ff;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="path837-4-5-6-0-9"
d="m 35.914098,254.5521 a 8.6186042,5.9988215 0 0 1 -4.706961,5.33873 10.215247,10.215247 0 0 1 -1.428766,-5.18692 10.215247,10.215247 0 0 1 1.573466,-5.43993 8.6186042,5.9988215 0 0 1 4.562261,5.28812 z"
style="display:inline;opacity:1;fill:#0000ff;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><g
aria-label="xemu"
id="text879-9-5"
style="font-size:14.3951px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#ff0000;stroke-width:0.313802"><path
d="m 59.380308,234.40063 q 0.224563,-0.3973 0.509586,-0.80324 0.285023,-0.40594 0.595957,-0.79461 0.310935,-0.39731 0.604595,-0.7687 l -1.623768,-2.10744 h 0.79461 l 1.269648,1.61513 1.166003,-1.61513 h 0.751424 l -1.494211,2.04698 q 0.29366,0.38003 0.58732,0.77734 0.29366,0.3973 0.570046,0.81188 0.285023,0.41458 0.509586,0.83779 h -0.785972 q -0.112282,-0.24183 -0.328209,-0.57004 -0.215926,-0.33685 -0.475038,-0.69097 -0.259112,-0.36275 -0.509586,-0.66505 -0.250475,0.29366 -0.535498,0.65642 -0.276386,0.36275 -0.518224,0.6996 -0.241837,0.33684 -0.371393,0.57004 z"
style="font-size:8.63706px;font-family:'ubuntu mono';-inkscape-font-specification:'ubuntu mono'"
id="path2090" /><path
d="m 66.609522,234.50428 q -0.785972,0 -1.295559,-0.31093 -0.500949,-0.31958 -0.742787,-0.85507 -0.241837,-0.5355 -0.241837,-1.17464 0,-0.59596 0.181378,-1.03645 0.181378,-0.44049 0.483675,-0.72551 0.310934,-0.29366 0.682328,-0.43186 0.371393,-0.14683 0.760061,-0.14683 0.872343,0 1.364656,0.56141 0.492312,0.55277 0.492312,1.71014 0,0.0345 0,0.10364 0,0.0691 0,0.12956 h -3.29072 q 0.0691,0.7687 0.492313,1.166 0.431853,0.38867 1.217825,0.38867 0.44049,0 0.73415,-0.0691 0.29366,-0.0691 0.423216,-0.12955 l 0.09501,0.57004 q -0.103645,0.0777 -0.492313,0.16411 -0.38003,0.0864 -0.863706,0.0864 z m -1.580582,-2.7725 h 2.547933 q 0,-0.42321 -0.155467,-0.71687 -0.14683,-0.29366 -0.405942,-0.44913 -0.259112,-0.1641 -0.595957,-0.1641 -0.388668,0 -0.690965,0.19865 -0.29366,0.19001 -0.475038,0.50095 -0.181378,0.30229 -0.224564,0.6305 z"
style="font-size:8.63706px;font-family:'ubuntu mono';-inkscape-font-specification:'ubuntu mono'"
id="path2092" /><path
d="m 69.183362,234.40063 v -4.36171 q 0.259112,-0.11228 0.500949,-0.1641 0.250475,-0.0605 0.492313,-0.0605 0.302297,0 0.561409,0.0864 0.259111,0.0864 0.44049,0.27638 0.224563,-0.18138 0.449127,-0.26775 0.224563,-0.095 0.449127,-0.095 0.250475,0 0.509586,0.13819 0.267749,0.13819 0.449128,0.41458 0.190015,0.27638 0.190015,0.69096 v 3.34254 h -0.656417 v -3.34254 q 0,-0.19865 -0.07773,-0.35412 -0.0691,-0.15546 -0.20729,-0.24183 -0.129556,-0.0864 -0.302297,-0.0864 -0.120919,0 -0.259112,0.0777 -0.129555,0.0691 -0.250474,0.21592 0.03455,0.0864 0.04318,0.18138 0.01727,0.095 0.01727,0.19002 v 1.6324 H 70.87622 v -1.60649 q 0,-0.3023 -0.120919,-0.49231 -0.112282,-0.19866 -0.449127,-0.19866 -0.09501,0 -0.215927,0.0259 -0.112282,0.0259 -0.250475,0.0691 v 3.92986 z"
style="font-size:8.63706px;font-family:'ubuntu mono';-inkscape-font-specification:'ubuntu mono'"
id="path2094" /><path
d="m 76.041183,234.49564 q -0.64778,0 -1.036447,-0.25911 -0.388668,-0.25911 -0.561409,-0.71688 -0.172741,-0.4664 -0.172741,-1.06235 v -2.53066 h 0.67369 v 2.34064 q 0,0.88962 0.276386,1.25237 0.276386,0.36276 0.898254,0.36276 0.302298,0 0.578683,-0.0345 0.276386,-0.0345 0.336846,-0.0605 v -3.86076 h 0.67369 v 4.35308 q -0.241837,0.0605 -0.665053,0.13819 -0.414579,0.0777 -1.001899,0.0777 z"
style="font-size:8.63706px;font-family:'ubuntu mono';-inkscape-font-specification:'ubuntu mono'"
id="path2096" /></g><g
aria-label="START"
transform="matrix(1.0596495,0,0,0.94370829,0,1.2291667e-6)"
id="text5074-7-9"
style="font-size:17.1592px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#ff0000;stroke-width:0.162134"><path
d="m 70.163596,276.20712 q 0,0.21735 -0.157865,0.34776 -0.155576,0.12812 -0.44385,0.12812 -0.258532,0 -0.462154,-0.0984 v -0.3226 q 0.116682,0.0503 0.240228,0.0938 0.125834,0.0412 0.24938,0.0412 0.128122,0 0.180744,-0.048 0.05491,-0.0503 0.05491,-0.12583 0,-0.0618 -0.04347,-0.10524 -0.04118,-0.0435 -0.112107,-0.0801 -0.07092,-0.0389 -0.16244,-0.0824 -0.0572,-0.0275 -0.123546,-0.0641 -0.06635,-0.0389 -0.128122,-0.0938 -0.05948,-0.0572 -0.09838,-0.13727 -0.03889,-0.0801 -0.03889,-0.19218 0,-0.21964 0.148713,-0.3409 0.148713,-0.12355 0.404956,-0.12355 0.128122,0 0.242517,0.0297 0.116682,0.0297 0.242516,0.0847 l -0.112107,0.26997 q -0.112106,-0.0458 -0.201334,-0.0709 -0.08923,-0.0252 -0.183031,-0.0252 -0.09838,0 -0.151001,0.0458 -0.05262,0.0457 -0.05262,0.11897 0,0.0869 0.07779,0.13727 0.07779,0.0503 0.231077,0.12355 0.125834,0.0595 0.212774,0.12354 0.08923,0.0641 0.137273,0.151 0.04805,0.0869 0.04805,0.21506 z"
style="font-weight:bold;font-size:2.28789px;-inkscape-font-specification:'sans-serif Bold'"
id="path2079" /><path
d="m 71.090192,276.66013 h -0.345471 v -1.34528 H 70.30087 v -0.28828 h 1.233173 v 0.28828 h -0.443851 z"
style="font-weight:bold;font-size:2.28789px;-inkscape-font-specification:'sans-serif Bold'"
id="path2081" /><path
d="m 72.625369,276.66013 -0.118971,-0.38895 h -0.594851 l -0.11897,0.38895 h -0.372926 l 0.576548,-1.64042 h 0.423259 l 0.578837,1.64042 z m -0.320305,-1.0593 q -0.01144,-0.0389 -0.02974,-0.0984 -0.0183,-0.0595 -0.03661,-0.12125 -0.0183,-0.0618 -0.02974,-0.10754 -0.01144,0.0458 -0.03203,0.1144 -0.0183,0.0663 -0.03661,0.12812 -0.01602,0.0595 -0.02517,0.0846 l -0.116682,0.37979 h 0.425547 z"
style="font-weight:bold;font-size:2.28789px;-inkscape-font-specification:'sans-serif Bold'"
id="path2083" /><path
d="m 73.680087,275.02657 q 0.334032,0 0.491896,0.12126 0.160153,0.12126 0.160153,0.36835 0,0.11211 -0.04347,0.19676 -0.04118,0.0824 -0.112107,0.14185 -0.06864,0.0572 -0.148713,0.0938 l 0.480457,0.71154 h -0.384365 l -0.388942,-0.62689 h -0.185319 v 0.62689 h -0.345471 v -1.63356 z m -0.02517,0.2837 h -0.105243 v 0.44156 h 0.112107 q 0.171592,0 0.244804,-0.0572 0.0755,-0.0572 0.0755,-0.16931 0,-0.11668 -0.08008,-0.16473 -0.07779,-0.0503 -0.247092,-0.0503 z"
style="font-weight:bold;font-size:2.28789px;-inkscape-font-specification:'sans-serif Bold'"
id="path2085" /><path
d="m 75.343383,276.66013 h -0.345472 v -1.34528 H 74.55406 v -0.28828 h 1.233173 v 0.28828 h -0.44385 z"
style="font-weight:bold;font-size:2.28789px;-inkscape-font-specification:'sans-serif Bold'"
id="path2087" /></g><g
aria-label="BACK"
transform="matrix(1.0596495,0,0,0.94370829,0,1.2291667e-6)"
id="text5074-1-9-0"
style="font-size:17.1592px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#ff0000;stroke-width:0.162134"><path
d="m 54.765877,275.04571 q 0.327168,0 0.494184,0.0915 0.167016,0.0915 0.167016,0.32259 0,0.13957 -0.06635,0.23566 -0.06406,0.0961 -0.185319,0.11668 v 0.0114 q 0.08236,0.016 0.148713,0.0572 0.06635,0.0412 0.105243,0.11897 0.03889,0.0778 0.03889,0.20591 0,0.22192 -0.160152,0.34776 -0.160152,0.12583 -0.439275,0.12583 H 54.25796 v -1.63355 z m 0.03889,0.64747 q 0.151001,0 0.208198,-0.048 0.05949,-0.048 0.05949,-0.13956 0,-0.0938 -0.06864,-0.13498 -0.06864,-0.0412 -0.21735,-0.0412 h -0.183031 v 0.36377 z m -0.201334,0.27455 v 0.42554 h 0.226501 q 0.155576,0 0.217349,-0.0595 0.06177,-0.0618 0.06177,-0.16244 0,-0.0915 -0.06406,-0.14643 -0.06177,-0.0572 -0.226502,-0.0572 z"
style="font-weight:bold;font-size:2.28789px;-inkscape-font-specification:'sans-serif Bold'"
id="path2070" /><path
d="m 56.795237,276.67926 -0.11897,-0.38894 h -0.594851 l -0.118971,0.38894 h -0.372926 l 0.576549,-1.64042 h 0.423259 l 0.578836,1.64042 z m -0.320304,-1.05929 q -0.01144,-0.0389 -0.02974,-0.0984 -0.0183,-0.0595 -0.03661,-0.12126 -0.0183,-0.0618 -0.02974,-0.10753 -0.01144,0.0458 -0.03203,0.11439 -0.0183,0.0663 -0.03661,0.12813 -0.01602,0.0595 -0.02517,0.0847 l -0.116682,0.37979 h 0.425547 z"
style="font-weight:bold;font-size:2.28789px;-inkscape-font-specification:'sans-serif Bold'"
id="path2072" /><path
d="m 58.021547,275.3111 q -0.199047,0 -0.30429,0.14871 -0.105243,0.14872 -0.105243,0.40725 0,0.26082 0.09609,0.40496 0.09838,0.14185 0.313441,0.14185 0.100667,0 0.199046,-0.0229 0.100667,-0.0229 0.21735,-0.0641 v 0.29056 q -0.107531,0.0435 -0.212774,0.0641 -0.105243,0.0206 -0.235653,0.0206 -0.251668,0 -0.416396,-0.10296 -0.16244,-0.10524 -0.240228,-0.29285 -0.07779,-0.18989 -0.07779,-0.44156 0,-0.24709 0.08923,-0.43699 0.08923,-0.18989 0.258532,-0.29742 0.171592,-0.10753 0.418684,-0.10753 0.121258,0 0.242516,0.032 0.123546,0.0297 0.235653,0.0824 l -0.112107,0.28141 q -0.09152,-0.0435 -0.185319,-0.0755 -0.09152,-0.032 -0.180743,-0.032 z"
style="font-weight:bold;font-size:2.28789px;-inkscape-font-specification:'sans-serif Bold'"
id="path2074" /><path
d="m 60.098949,276.67926 h -0.393518 l -0.427835,-0.68865 -0.146425,0.10524 v 0.58341 H 58.7857 v -1.63355 h 0.345471 v 0.74814 q 0.03432,-0.0481 0.06864,-0.0961 0.03432,-0.048 0.06864,-0.0961 l 0.441562,-0.55595 h 0.384366 l -0.569685,0.72297 z"
style="font-weight:bold;font-size:2.28789px;-inkscape-font-specification:'sans-serif Bold'"
id="path2076" /></g></g><g
id="obj_rstick"
transform="matrix(1.0193148,0,0,0.99967056,-1.8936353,-161.34461)"
style="display:inline"><ellipse
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.612029;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4584-9-2-9-5"
cx="97.075813"
cy="253.93823"
rx="8.4370527"
ry="8.6028471" /><ellipse
ry="7.5358095"
rx="7.3905797"
cy="253.94643"
cx="97.134262"
id="path4623-7-9"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="rect1662-3-2"
d="m 96.82351,248.95026 v 2.68993 a 2.378386,2.378386 0 0 0 -1.95063,1.95298 h -2.692292 v 0.78438 h 2.689921 a 2.378386,2.378386 0 0 0 1.953001,1.95061 v 2.6923 h 0.78436 v -2.68993 a 2.378386,2.378386 0 0 0 1.950609,-1.95298 h 2.692301 v -0.78438 h -2.689931 a 2.378386,2.378386 0 0 0 -1.952979,-1.95061 v -2.6923 z"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><g
id="obj_lstick"
transform="matrix(1.0193148,0,0,0.99967056,-0.56658905,-161.65361)"
style="display:inline"><ellipse
ry="8.6028471"
rx="8.4370527"
cy="228.26886"
cx="31.0828"
id="ellipse4584-9-1-8"
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.612029;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 38.480702,228.27696 a 7.3905801,7.5358093 0 0 1 -7.390585,7.53581 7.3905801,7.5358093 0 0 1 -7.390572,-7.53581 7.3905801,7.5358093 0 0 1 7.390572,-7.5358 7.3905801,7.5358093 0 0 1 7.390585,7.5358 z"
id="ellipse4584-2-9" /><path
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 30.650924,222.9857 v 1.29751 a 4.149525,4.149525 0 0 0 -3.690136,3.7028 h -1.309375 v 0.85632 h 1.315709 a 4.149525,4.149525 0 0 0 3.683802,3.68775 v 1.31254 h 0.857118 v -1.31332 a 4.149525,4.149525 0 0 0 3.706736,-3.68697 h 1.292775 v -0.85632 h -1.294365 a 4.149525,4.149525 0 0 0 -3.705146,-3.70911 v -1.2912 z"
id="rect1614-9-7" /></g></svg>

After

Width:  |  Height:  |  Size: 25 KiB

119
data/ports.svg Normal file
View File

@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="256"
height="64"
viewBox="0 0 67.733325 16.933331"
version="1.1"
id="svg1164"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1161" />
<g
id="obj_port"
transform="translate(31.82749,-173.92662)"
style="display:inline">
<path
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.32021;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.709713,184.26014 c 1.196152,0 2.33774,0.14597 3.495467,-0.8116 0.195478,-0.16168 0.668953,-0.54225 1.038976,-0.93333 0.37001,-0.39108 1.145989,0.47824 1.12224,-1.84918 0.0081,-2.24789 -0.748778,-1.19506 -1.12293,-1.71275 -0.374194,-0.51769 -0.47678,-0.56428 -1.006808,-1.03058 -0.762452,-0.67078 -2.020993,-0.72435 -3.53324,-0.70945 h -3.192503 c -1.512247,-0.0149 -2.770787,0.0387 -3.5332406,0.70945 -0.530029,0.4663 -0.633316,0.51289 -1.007498,1.03058 -0.374165,0.51769 -1.130363,-0.53514 -1.122241,1.71275 -0.0237,2.32742 0.751528,1.4581 1.121538,1.84918 0.370024,0.39108 0.844203,0.77165 1.0396796,0.93333 1.157727,0.95757 2.309238,0.8116 3.510159,0.8116 1.579359,0 1.579359,0 3.190401,0 z"
id="path3769-7" />
<path
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.46497;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 14.447738,178.35789 c -1.353447,0.45167 -1.205926,0.35846 -2.460673,0.005 -1.339233,-0.37662 -1.570711,1.75683 -1.570711,1.75683 h 7.14e-4 9.235401 c 0,0 -0.230787,-2.13345 -1.57002,-1.75683 -1.254747,0.35287 -1.046814,0.45951 -2.460674,-0.005 -0.391347,-0.12876 -0.788286,-0.12876 -1.174042,0 z"
id="path3771-8" />
<path
id="path3773-4"
d="m 23.49354,181.16844 c 0.04482,3.43151 -3.783715,4.98433 -8.485378,4.96516 -4.686283,-0.0191 -8.5077576,-1.53283 -8.4853776,-4.96516 0.02233,-4.17995 3.7990416,-4.96514 8.4853776,-4.96514 4.686338,0 8.552545,0.80515 8.485378,4.96514 z"
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.319934;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3775-5"
d="m 7.8479354,179.94958 c -0.0237,2.32743 0.751528,1.45811 1.121538,1.84918 0.370024,0.39108 0.844203,0.77165 1.0396796,0.93333 1.157727,0.95757 2.309238,0.8116 3.510159,0.8116 h 3.190401 c 1.196152,0 2.33774,0.14597 3.495467,-0.8116 0.195478,-0.16168 0.668953,-0.54225 1.038976,-0.93333 0.37001,-0.39107 1.145989,0.47825 1.12224,-1.84918"
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.319934;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.32;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 23.861559,181.89878 c 0.04671,3.93627 -3.94782,5.7175 -8.85341,5.69551 -4.889546,-0.0219 -8.8767656,-1.75829 -8.8534236,-5.69551 0.02328,-4.79479 3.9638236,-5.69548 8.8534236,-5.69548 4.889598,0 8.92349,0.92357 8.85341,5.69548 z"
id="path3777-0" />
</g>
<g
id="obj_label_1"
transform="translate(-9.182928,-164.34888)"
style="display:inline">
<circle
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.319934;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle3767-4"
cx="14.985794"
cy="170.15175"
r="3.5262306" />
<g
aria-label="1"
id="text3781-3"
style="font-size:4.78925px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ff0000;stroke-width:0.226087">
<path
d="m 14.903528,171.8974 v -2.79213 q -0.06705,0.0718 -0.19157,0.15325 -0.124521,0.0814 -0.272988,0.15805 -0.148466,0.0718 -0.296933,0.11973 l -0.105364,-0.27778 q 0.287355,-0.10057 0.517239,-0.25862 0.234674,-0.15804 0.454979,-0.42145 h 0.25383 v 3.31895 z"
style="font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
id="path2717" />
</g>
</g>
<g
id="obj_label_2"
transform="translate(-28.395339,-164.34888)"
style="display:inline">
<circle
r="3.5262306"
cy="170.15175"
cx="42.822533"
id="circle3785-1"
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.319934;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<g
aria-label="2"
id="text3799-0"
style="font-size:4.78925px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ff0000;stroke-width:0.226087">
<path
d="m 41.952137,171.8974 q 0,-0.0144 -0.0048,-0.0479 0,-0.0335 0,-0.0814 0,-0.30172 0.134099,-0.54597 0.138889,-0.24905 0.340037,-0.45498 0.201149,-0.21073 0.392719,-0.39272 0.162834,-0.15326 0.292144,-0.29215 0.134099,-0.14367 0.215516,-0.30172 0.08142,-0.15804 0.08142,-0.3544 0,-0.32088 -0.172413,-0.45977 -0.172413,-0.13889 -0.435821,-0.13889 -0.19636,0 -0.344826,0.0623 -0.143678,0.0575 -0.239463,0.1341 -0.091,0.0718 -0.134099,0.11494 l -0.186781,-0.24425 q 0.05268,-0.0575 0.172413,-0.14847 0.124521,-0.0958 0.311302,-0.16762 0.18678,-0.0718 0.421454,-0.0718 0.493292,0 0.742333,0.23946 0.249041,0.23947 0.249041,0.66092 0,0.24904 -0.114942,0.46456 -0.114942,0.21072 -0.301722,0.40708 -0.181992,0.19157 -0.38314,0.38314 -0.153256,0.14847 -0.301723,0.3113 -0.148467,0.15805 -0.244252,0.3161 -0.091,0.15325 -0.091,0.29693 h 1.546928 v 0.3113 z"
style="font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
id="path2714" />
</g>
</g>
<g
id="obj_label_3"
transform="translate(-57.174683,-164.34888)"
style="display:inline">
<circle
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.319934;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle3803-3"
cx="80.226204"
cy="170.15175"
r="3.5262306" />
<g
aria-label="3"
id="text3817-2"
style="font-size:4.78925px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ff0000;stroke-width:0.226087">
<path
d="m 80.143004,171.90309 q -0.201148,0 -0.368772,-0.0335 -0.167624,-0.0335 -0.282566,-0.0766 -0.114942,-0.0431 -0.162834,-0.067 l 0.091,-0.31609 q 0.06705,0.0383 0.258619,0.10536 0.196359,0.0623 0.474136,0.0623 0.292144,0 0.474136,-0.0814 0.181991,-0.0814 0.263408,-0.22989 0.08621,-0.15325 0.08621,-0.35919 0,-0.2682 -0.134099,-0.42146 -0.134099,-0.15325 -0.354405,-0.21551 -0.215516,-0.0623 -0.474135,-0.0623 h -0.07184 v -0.29215 h 0.134099 q 0.167624,0 0.340037,-0.0479 0.172413,-0.0527 0.287355,-0.18199 0.119731,-0.12931 0.119731,-0.36877 0,-0.20594 -0.08621,-0.32567 -0.08621,-0.11973 -0.229884,-0.17242 -0.138888,-0.0575 -0.306512,-0.0575 -0.249041,0 -0.397507,0.0718 -0.148467,0.0718 -0.244252,0.13889 l -0.148467,-0.27778 q 0.105364,-0.0718 0.306512,-0.16283 0.205938,-0.091 0.498082,-0.091 0.340037,0 0.555553,0.11016 0.215516,0.11015 0.32088,0.30172 0.105363,0.19157 0.105363,0.44061 0,0.27778 -0.153256,0.46456 -0.148466,0.18678 -0.38314,0.2682 0.177203,0.0479 0.335248,0.15804 0.158045,0.10536 0.258619,0.28736 0.100575,0.18199 0.100575,0.4454 0,0.27777 -0.134099,0.50287 -0.12931,0.22509 -0.397508,0.3544 -0.268198,0.12931 -0.680074,0.12931 z"
style="font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
id="path2711" />
</g>
</g>
<g
id="obj_label_4"
transform="translate(-76.387095,-164.34888)"
style="display:inline">
<circle
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.319934;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle3821-6"
cx="108.06294"
cy="170.15175"
r="3.5262306" />
<g
aria-label="4"
id="text3835-1"
style="font-size:4.78925px;line-height:1.25;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ff0000;stroke-width:0.226087">
<path
d="m 108.33985,171.8974 v -0.88122 h -1.49425 v -0.22989 q 0.0862,-0.22509 0.23946,-0.50766 0.15805,-0.28256 0.35441,-0.58429 0.20115,-0.30651 0.42624,-0.59386 0.2251,-0.28736 0.45977,-0.52203 h 0.36398 v 2.14558 h 0.40709 v 0.29215 h -0.40709 v 0.88122 z m -1.13506,-1.17337 h 1.13506 v -1.73849 q -0.15805,0.16762 -0.32088,0.38314 -0.16284,0.21072 -0.31609,0.4454 -0.15326,0.22988 -0.28257,0.46455 -0.12452,0.23468 -0.21552,0.4454 z"
style="font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
id="path2708" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

53
data/xmu.svg Normal file
View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="256"
height="256"
viewBox="0 0 67.733325 67.733325"
version="1.1"
id="svg8"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="obj_xmu"
style="display:inline;fill:#000000;stroke:#ff0000;stroke-width:1.08700959;stroke-dasharray:none"
transform="matrix(0.32198428,0,0,0.32198428,-0.90018841,-12.877871)">
<path
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:4.10838;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 331.07812,740.42969 v 29.79883 c 10e-6,6.1872 5.55469,4.79882 5.55469,4.79882 h 71.46875 71.46875 c 0,0 5.55469,1.38838 5.55469,-4.79882 v -29.79883 h -77.02344 z"
id="path847"
transform="scale(0.26458333)" />
<path
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:4.10838277;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 238.27148,386.75 c 0,0 0.25077,346.609 0.75586,352.66992 0.50506,6.06093 5.6836,5.30274 5.6836,5.30274 h 163.39062 163.39258 c 0,0 5.17658,0.75819 5.68164,-5.30274 C 577.68088,733.359 577.93359,386.75 577.93359,386.75 H 408.10156 Z"
id="path843"
transform="scale(0.26458333)" />
<path
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:3.52147094;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 290.67188,339.77734 c -43.05749,15.27857 -56.82227,19.06613 -56.82227,57.95704 v 1.57031 c 0,0 9.31785,2.50066 23.60351,2.32226 v 12.56836 c -14.28566,0.17862 -23.60351,-2.32226 -23.60351,-2.32226 v 20.18945 c 0,0 9.31785,2.50066 23.60351,2.32227 v 12.56835 c -14.28566,0.17859 -23.60351,-2.32226 -23.60351,-2.32226 v 20.18945 c 0,0 9.31785,2.50066 23.60351,2.32227 v 12.56836 c -14.28566,0.17858 -23.60351,-2.32227 -23.60351,-2.32227 v 5.66602 c 0,0 7.5e-4,5.57111 5.46094,8.55078 7.24134,3.83233 46.76139,28.05778 168.79101,29.48633 122.03021,-1.42855 161.54963,-25.654 168.79102,-29.48633 5.46021,-2.97967 5.46094,-8.55078 5.46094,-8.55078 v -5.66602 c 0,0 -9.31781,2.50085 -23.60352,2.32227 v -12.56836 c 14.28571,0.17839 23.60352,-2.32227 23.60352,-2.32227 v -20.18945 c 0,0 -9.31781,2.50085 -23.60352,2.32226 v -12.56835 c 14.28571,0.17839 23.60352,-2.32227 23.60352,-2.32227 v -20.18945 c 0,0 -9.31781,2.50085 -23.60352,2.32226 v -12.56836 c 14.28571,0.1784 23.60352,-2.32226 23.60352,-2.32226 v -1.57031 c 0,-38.89089 -13.76453,-42.67847 -56.82227,-57.95704 -75.66383,-24.15855 -163.0549,-24.18563 -234.85937,0 z"
id="path841-1"
transform="scale(0.26458333)" />
<path
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:4.10838277;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 284.86523,558.85547 v 164.6543 h 123.23633 0.002 123.23632 v -164.6543 h -123.23632 -0.002 z"
id="rect972-9"
transform="scale(0.26458333)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

1
debian/control vendored
View File

@ -3,6 +3,7 @@ Section: games
Priority: optional
Maintainer: Matt Borgerson <contact@mborgerson.com>
Build-Depends: debhelper (>= 11),
cmake,
git,
python3:any,
python3-yaml,

View File

@ -1,15 +1,15 @@
nv2a_vsh_cpu_files = files(
'nv2a_vsh_cpu/src/nv2a_vsh_cpu.c',
'nv2a_vsh_cpu/src/nv2a_vsh_disassembler.c',
'nv2a_vsh_cpu/src/nv2a_vsh_emulator.c',
'nv2a_vsh_cpu/src/nv2a_vsh_emulator_execution_state.c',
)
libnv2a_vsh_cpu = static_library('nv2a_vsh_cpu',
sources: nv2a_vsh_cpu_files,
include_directories: ['.', 'nv2a_vsh_cpu/src'])
nv2a_vsh_cpu = declare_dependency(link_with: libnv2a_vsh_cpu,
include_directories: ['nv2a_vsh_cpu/src'])
nv2a_vsh_cpu_opts = cmake.subproject_options()
nv2a_vsh_cpu_opts.add_cmake_defines({
'CMAKE_OSX_ARCHITECTURES': cmake_macos_arch,
'nv2a_vsh_cpu_UNIT_TEST': 'OFF',
})
nv2a_vsh_cpu_subproj = cmake.subproject('nv2a_vsh_cpu', options: nv2a_vsh_cpu_opts)
nv2a_vsh_cpu = declare_dependency(include_directories: nv2a_vsh_cpu_subproj.include_directories('nv2a_vsh_emulator'),
link_with: [
nv2a_vsh_cpu_subproj.target('nv2a_vsh_emulator'),
nv2a_vsh_cpu_subproj.target('nv2a_vsh_cpu'),
nv2a_vsh_cpu_subproj.target('nv2a_vsh_disassembler'),
])
libgloffscreen = static_library('libgloffscreen',
sources: files('gloffscreen/common.c', 'gloffscreen/sdl.c'),

@ -1 +0,0 @@
Subproject commit d5a7308809a80e1b01b5c016127d4f1b91c8673b

View File

@ -81,6 +81,8 @@ have_ga = get_option('guest_agent') \
have_block = have_system or have_tools
python = import('python').find_installation()
cmake = import('cmake')
cmake_macos_arch = host_machine.cpu() == 'aarch64' ? 'arm64' : host_machine.cpu()
if cpu not in supported_cpus
host_arch = 'unknown'
@ -390,7 +392,8 @@ have_vhost_net = have_vhost_net_kernel or have_vhost_net_user or have_vhost_net_
libm = cc.find_library('m', required: false)
if targetos == 'windows'
threads = dependency('', required: false)
threads = declare_dependency()
meson.override_dependency('threads', threads)
else
threads = dependency('threads')
endif
@ -1198,8 +1201,6 @@ elif targetos == 'linux'
endif
if vulkan.found()
cmake = import('cmake')
if not libglslang.found()
# FIXME: Get spirv-tools to enable opt.
glslang_opts = cmake.subproject_options()
@ -1243,12 +1244,6 @@ if (have_system or have_tools) and (virgl.found() or opengl.found())
endif
have_vhost_user_gpu = have_vhost_user_gpu and virgl.found() and opengl.found() and gbm.found()
tomllib = static_library('tomlpp', sources: files('toml.cpp'),
include_directories: 'tomlplusplus/include')
toml = declare_dependency(compile_args: ['-DTOML_HEADER_ONLY=0'],
include_directories: 'tomlplusplus/include',
link_with: tomllib)
genconfig = declare_dependency(include_directories: 'genconfig')
openssl = dependency('openssl', method: 'pkg-config', required: true,
@ -2900,6 +2895,12 @@ config_host_data.set('CONFIG_CAPSTONE', capstone.found())
config_host_data.set('CONFIG_FDT', fdt.found())
config_host_data.set('CONFIG_SLIRP', slirp.found())
tomlplusplus_proj = subproject('tomlplusplus', default_options: ['default_library=static'])
tomlplusplus = tomlplusplus_proj.get_variable('tomlplusplus_dep')
xxhash_proj = subproject('xxhash', default_options: ['default_library=static'])
xxhash = xxhash_proj.get_variable('xxhash_dep')
#####################
# Generated sources #
#####################
@ -3200,8 +3201,7 @@ util_ss.add_all(trace_ss)
util_ss = util_ss.apply(config_all, strict: false)
libqemuutil = static_library('qemuutil',
sources: util_ss.sources() + stub_ss.sources() + genh,
include_directories: 'util/xxHash',
dependencies: [util_ss.dependencies(), libm, threads, glib, socket, malloc, pixman])
dependencies: [util_ss.dependencies(), libm, threads, glib, socket, malloc, pixman, xxhash])
qemuutil = declare_dependency(link_with: libqemuutil,
sources: genh + version_res,
dependencies: [event_loop_base])
@ -3252,7 +3252,7 @@ specific_ss.add(files('xemu-xbe.c', 'xemu-version.c'))
common_ss.add(files('cpus-common.c'))
common_ss.add(toml)
common_ss.add(tomlplusplus)
common_ss.add(genconfig)
subdir('softmmu')

View File

@ -30,10 +30,9 @@ submodules="dtc meson ui/keycodemapdb"
submodules="$submodules tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3"
# xemu extras
submodules="$submodules ui/thirdparty/imgui ui/thirdparty/implot ui/thirdparty/httplib util/xxHash tomlplusplus genconfig"
submodules="$submodules hw/xbox/nv2a/pgraph/thirdparty/nv2a_vsh_cpu"
submodules="$submodules ui/thirdparty/imgui ui/thirdparty/implot genconfig"
subprojects="glslang SPIRV-Reflect volk VulkanMemoryAllocator"
subprojects="glslang SPIRV-Reflect volk VulkanMemoryAllocator nv2a_vsh_cpu tomlplusplus cpp-httplib xxhash"
sub_deinit=""
@ -61,8 +60,9 @@ test $? -ne 0 && error "failed to archive qemu"
for sp in $subprojects; do
meson subprojects download $sp
sp_dir=$(grep -oP '^directory = \K.*' subprojects/${sp}.wrap || echo ${sp})
# test $? -ne 0 && error "failed to download subproject $sp"
tar --append --file "$tar_file" --exclude=.git subprojects/$sp
tar --append --file "$tar_file" --exclude=.git subprojects/$sp_dir
test $? -ne 0 && error "failed to append subproject $sp to $tar_file"
done

View File

@ -10,6 +10,7 @@ used to build the binary.
import subprocess
import os.path
import re
import sys
gplv2 = 'gplv2'
@ -148,10 +149,13 @@ class Submodule:
def head(self):
if self.path.endswith(".wrap"):
with open(self.path, "r", encoding="utf-8") as file:
for line in file.readlines():
revision_pfx = "revision="
if line.startswith(revision_pfx):
return line[len(revision_pfx):].strip()
contents = file.read()
revision = re.search(r"^revision\s*=\s*(.*)", contents, re.MULTILINE)
if revision:
return revision.group(1)
wrapdb_version = re.search(r"^wrapdb_version\s*=\s*([^-]*)", contents, re.MULTILINE)
if wrapdb_version:
return wrapdb_version.group(1)
assert False, "revision not found for subproject"
try:
@ -171,7 +175,7 @@ class Submodule:
LIBS = [
Lib('qemu', 'https://www.qemu.org/',
gplv2, 'https://raw.githubusercontent.com/mborgerson/xemu/master/LICENSE',
gplv2, 'https://raw.githubusercontent.com/xemu-project/xemu/master/LICENSE',
version='6.0.0'
),
@ -197,14 +201,14 @@ Lib('implot', 'https://github.com/epezent/implot',
submodule=Submodule('ui/thirdparty/implot')
),
Lib('httplib', 'https://github.com/yhirose/cpp-httplib',
Lib('cpp-httplib', 'https://github.com/yhirose/cpp-httplib',
mit, 'https://raw.githubusercontent.com/yhirose/cpp-httplib/master/LICENSE',
ships_static=all_platforms,
submodule=Submodule('ui/thirdparty/httplib')
submodule=Submodule('subprojects/cpp-httplib.wrap')
),
Lib('noc', 'https://github.com/guillaumechereau/noc/blob/master/noc_file_dialog.h',
mit, 'https://raw.githubusercontent.com/mborgerson/xemu/master/ui/noc_file_dialog.h', license_lines=(1,22),
mit, 'https://raw.githubusercontent.com/xemu-project/xemu/master/ui/noc_file_dialog.h', license_lines=(1,22),
ships_static=all_platforms,
version='78b2e7b22506429dd1755ffff197c7da11507fd9'
),
@ -218,13 +222,13 @@ Lib('stb_image', 'https://github.com/nothings/stb',
Lib('tomlplusplus', 'https://github.com/marzer/tomlplusplus',
mit, 'https://raw.githubusercontent.com/marzer/tomlplusplus/master/LICENSE',
ships_static=all_platforms,
submodule=Submodule('tomlplusplus')
submodule=Submodule('subprojects/tomlplusplus.wrap')
),
Lib('xxHash', 'https://github.com/Cyan4973/xxHash.git',
bsd, 'https://raw.githubusercontent.com/Cyan4973/xxHash/dev/LICENSE', license_lines=(1,26),
ships_static=all_platforms,
submodule=Submodule('util/xxHash')
submodule=Submodule('subprojects/xxhash.wrap')
),
Lib('fpng', 'https://github.com/richgel999/fpng',
@ -233,10 +237,10 @@ Lib('fpng', 'https://github.com/richgel999/fpng',
version='6926f5a0a78f22d42b074a0ab8032e07736babd4'
),
Lib('nv2a_vsh_cpu', 'https://github.com/abaire/nv2a_vsh_cpu',
unlicense, 'https://raw.githubusercontent.com/abaire/nv2a_vsh_cpu/main/LICENSE',
Lib('nv2a_vsh_cpu', 'https://github.com/xemu-project/nv2a_vsh_cpu',
unlicense, 'https://raw.githubusercontent.com/xemu-project/nv2a_vsh_cpu/main/LICENSE',
ships_static=all_platforms,
submodule=Submodule('hw/xbox/nv2a/pgraph/thirdparty/nv2a_vsh_cpu')
submodule=Submodule('subprojects/nv2a_vsh_cpu.wrap')
),
Lib('volk', 'https://github.com/zeux/volk',

View File

@ -2,3 +2,7 @@ glslang
SPIRV-Reflect
volk
VulkanMemoryAllocator
nv2a_vsh_cpu
tomlplusplus
cpp-httplib
xxHash-*

View File

@ -0,0 +1,4 @@
[wrap-git]
url=https://github.com/yhirose/cpp-httplib
revision=0f1b62c2b3d0898cbab7aa685c2593303ffdc1a2
depth=1

View File

@ -0,0 +1,4 @@
[wrap-git]
url=https://github.com/xemu-project/nv2a_vsh_cpu
revision=d5a7308809a80e1b01b5c016127d4f1b91c8673b
depth=1

View File

@ -0,0 +1,4 @@
[wrap-git]
url=https://github.com/marzer/tomlplusplus
revision=c635f218c0aefc801d9748841930365e54fe3089
depth=1

13
subprojects/xxhash.wrap Normal file
View File

@ -0,0 +1,13 @@
[wrap-file]
directory = xxHash-0.8.2
source_url = https://github.com/Cyan4973/xxHash/archive/v0.8.2.tar.gz
source_filename = xxHash-0.8.2.tar.gz
source_hash = baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4
patch_filename = xxhash_0.8.2-1_patch.zip
patch_url = https://wrapdb.mesonbuild.com/v2/xxhash_0.8.2-1/get_patch
patch_hash = e721ef7a4c4ee0ade8b8440f6f7cb9f935b68e825249d74cb1c2503c53e68d25
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/xxhash_0.8.2-1/xxHash-0.8.2.tar.gz
wrapdb_version = 0.8.2-1
[provide]
libxxhash = xxhash_dep

@ -1 +0,0 @@
Subproject commit c635f218c0aefc801d9748841930365e54fe3089

@ -1 +0,0 @@
Subproject commit 0f1b62c2b3d0898cbab7aa685c2593303ffdc1a2

View File

@ -61,7 +61,13 @@ libfpng = static_library('fpng', sources: 'fpng/fpng.cpp', cpp_args: libfpng_cpp
fpng = declare_dependency(include_directories: 'fpng', link_with: libfpng)
json = declare_dependency(include_directories: 'json')
httplib = declare_dependency(include_directories: 'httplib', dependencies: targetos == 'windows' ? [crypt32] : [])
httplib_proj = subproject('cpp-httplib', default_options: ['cpp-httplib_openssl=enabled'])
httplib_deps = [httplib_proj.get_variable('cpp_httplib_dep')]
if targetos == 'windows'
httplib_deps += [crypt32]
endif
httplib = declare_dependency(dependencies: httplib_deps)
libfatx = static_library('fatx', sources: 'fatx/fatx.c')
fatx = declare_dependency(include_directories: 'fatx', link_with: libfatx)

View File

@ -22,7 +22,6 @@
#include <glib/gi18n.h>
#include <stdio.h>
#include "reporting.hh"
#define CPPHTTPLIB_OPENSSL_SUPPORT 1
#include <httplib.h>
#include <json.hpp>
using json = nlohmann::json;

View File

@ -40,7 +40,6 @@ const char *download_uri = "/xemu-project/xemu/releases/latest/download/xemu-win
FIXME
#endif
#define CPPHTTPLIB_OPENSSL_SUPPORT 1
#include <httplib.h>
#define DPRINTF(fmt, ...) fprintf(stderr, fmt, ##__VA_ARGS__);

View File

@ -1,5 +1,5 @@
#include "qemu/fast-hash.h"
#include <xxh3.h>
#include <xxhash.h>
uint64_t fast_hash(const uint8_t *data, size_t len)
{

@ -1 +0,0 @@
Subproject commit 72e69d33c7521b122cfa3262ae4d0dc60a514439