From patchwork Mon Jan 10 17:51:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 530934 Delivered-To: patch@linaro.org Received: by 2002:ad5:544f:0:0:0:0:0 with SMTP id a15csp2819824imp; Mon, 10 Jan 2022 10:00:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJztwqi3kRUy2zEpL6S7Fk/g1PeBOsWn19S/ozuEFj/VBE7b7cD4FIS2rOqUhfD5IgdDPi/Q X-Received: by 2002:a37:6586:: with SMTP id z128mr639469qkb.73.1641837657809; Mon, 10 Jan 2022 10:00:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1641837657; cv=none; d=google.com; s=arc-20160816; b=djlYJ+l9AYuDT23GAmqmUPNF0Aln/rTAOCP2aHZy8QCot5BeGfi/3WBZj1TCXghQ0o K+qXi9IRUWYPFJm3viRfRKvNMIMexBOoZ2Qrs96EWrvCmUV1m7bZfBMYlpV3WgOn84kV QbQHPXdIEAxNCyphQOkI0/aDXf3qN3QB9wrWDDXGP7ci8hh6un1wJSFLKXyCbtVv83ao Q5WA52ioprdEVFdlFEjL7Jri39AQvRI1cexUfw0C//00uv9IeqloF01sh0OiGjfojs1T cgli5Vm7Y6qLgDYsizXEgX+hOgg0VBpLciDp9sx8XCQaaazc0EzrS9L01ddsvAs2eWPX KkuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=OTMi4ThvYsHdaxRQinDWagkVxuRjT1evPlMWwfqMwCE=; b=j3dPzOss3eM1ueve2/XNI4mH7AD50ByTx2Bb6BCn7pTcfAfeUrhuR1Xky2qjEEPYhs Pq1j+of20zLk2/0ow4az9L5B+zfiovQZ7cgBJJmZCGt6GNU7vTfcbdSWsf7JF2/sVFO3 x5mzfIF7B3CuBwfXoSBOwUQYIx9uxAU9WUKiafQnkMN3MwjCbFp6FfnyYIyq21xd021A UMqCzS5EBMamRVmwcyJdxhTnynuRHNZlxg6O6ts359ImN2TVm2qGPVRwzoTtMbxOfB5K mz6Rz+SXIj1SNi+Ykn1Dk5aT82Pc76ZMi0Pfy37i8NintvKcU6bz21bTI/ijHMP1oMXu YEBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=p5sNVTrV; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id h20si128510qtb.356.2022.01.10.10.00.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 10 Jan 2022 10:00:57 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=p5sNVTrV; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:35110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n6yyX-0000mH-6S for patch@linaro.org; Mon, 10 Jan 2022 13:00:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:48266) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n6ypA-0007JI-4l for qemu-devel@nongnu.org; Mon, 10 Jan 2022 12:51:18 -0500 Received: from [2a00:1450:4864:20::530] (port=38412 helo=mail-ed1-x530.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n6yp6-00066C-EX for qemu-devel@nongnu.org; Mon, 10 Jan 2022 12:51:15 -0500 Received: by mail-ed1-x530.google.com with SMTP id u21so34174630edd.5 for ; Mon, 10 Jan 2022 09:51:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OTMi4ThvYsHdaxRQinDWagkVxuRjT1evPlMWwfqMwCE=; b=p5sNVTrVjR8UZZLKgzhhObOyHiTwbED+I/JKxtS3ZEPH63A9WvzdZNoPsJctyCkBIR ouMLdmNLyATCd+B1EOhqn1sdhbecGZHCWtyznCLf8Je+YCT82GPPc27dfUMEeUD1Tvfk 5vveAFcXncmrsPEp5j9EJ+LAMTYN6pb51LvxwIbRHfbmAJkSVP4bNfuIwVH/s99JtGnb kKDh0691SRLOptIjq00Y8p6voTiqWzw0DQ2OTLY+Sin43uD6o2u8OaxSLll6FZLgY9ql 4TOdYOxIBI5KpheVqtV89E52/qFApUjSlpnxYdn5parM0Wc7Y4fK5+LE0D0YVw6NsmZU +rEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OTMi4ThvYsHdaxRQinDWagkVxuRjT1evPlMWwfqMwCE=; b=oz7wIyfbZcRMMnukn08Uw5iUzJWS3sdhDA4eIn5Y5mwRKnjhhi58z01N2pcBroz9iM 4UUkjRIBfbK/s+S6P+FuDDAc5t4cIdatoqCUjzAKJLSKT9//BoDkQJ01nnkmLjcOy7SH oBgfGEyVlV1edF0/C23ktwTof6WBuHQn5tgqA4f+OkhsQNtfl1gbGe4S2o5FihHtTC72 ORGIACM1BJXRYr4yOoPCAo3xYzhXyt6R4vFk9cN5soGncvXWsIILD5F85KWadlosx0Dq kaTgFThB452r0hED8c3MstLtwm5vsIk6H1c488MFjbCeuucXf2aBic6p6HKrT3epTzBL QMaw== X-Gm-Message-State: AOAM531S+Bp0VU9kssLUh4xUL4U4UoR1bazst8jartJgX41P/Yej3nHH xZwbWbl8iGLx8BU6kph2rwuzRw== X-Received: by 2002:a05:6402:1d84:: with SMTP id dk4mr798024edb.16.1641837070817; Mon, 10 Jan 2022 09:51:10 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id k21sm3826268edo.87.2022.01.10.09.51.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Jan 2022 09:51:08 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id A517C1FFBC; Mon, 10 Jan 2022 17:51:04 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 4/6] pc-bios: add pipico mask rom (!upstream) Date: Mon, 10 Jan 2022 17:51:02 +0000 Message-Id: <20220110175104.2908956-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220110175104.2908956-1-alex.bennee@linaro.org> References: <20220110175104.2908956-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::530 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::530; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x530.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, LOTS_OF_MONEY=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-arm@nongnu.org, =?utf-8?q?Alex_Benn=C3=A9e?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The boot code for the RP2040 is fully open source and can be found at: https://github.com/raspberrypi/pico-bootrom it contains not only the initial boot code but a full USB stack (for programming) and a number of library functions that the user code might use. We really should be able to build this ourselves but until I figure out how to integrate the build this will do. This image was extracted from a B1 pipico by a friendly hardware hacker. Signed-off-by: Alex Bennée --- pc-bios/pipico.rom | Bin 0 -> 16384 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pc-bios/pipico.rom GIT binary patch literal 16384 zcma)jd0bT2+3<7j?86KUpkWrkJ2Rlbhz{TuaJe%V2WAF0)YP>d7R}%iM{&Uw!~o*#*P z>w$j7!1Lu`B>`6;;&~RoI(YgWD%-sz|7lGoKn|bF7CH-^Y-Lq_sCvzoEj!tTb?lNY zRkd{w+|O2Qt%Zd}mzm0<5vHPOf^13Ak7V-}Um3r6ia35A?;6if$sNDc-I`sx7r5 zc!_uxFPq?*TQRA0@sdfUb5G9#s4pi$$Q>t2(dVSi-pzh((Cj8cLf~*@(}K|ar2jtS zR*B0w&L|fRb7lng+*0p9QpWUuc85K0-FQGf)D>96oqr(RSyolCW`W##Z`BJMtsA}S zq0WRCft8{+C6aR+$Np0KT|kO{A%(HO6ul~u7p3U`O6?xN9^tap5%xU0k;BoBZG@ap zg-{t8Kb`+w8N59hNuJUEAhbcNn}a;)X9jL}{+B1@fif2A8~|%D6-)#e!89RfG`*IO zdxqZ&Fzv>)7t>!bUB(o_^d+YAxd7WRUBN{6_;Y+O$OA~gx_W&72H&q?dJfYsG3`cT z*o)~Prk`S(H4UI@62MYSZIb~^ILP`bqv=W^!i8<_$5fAL8>S1`{tuYm!qkSTUgvEBHNnln!Js=3`7&N#_i&W962 zW%<5E>O~w6v<;^=@_QkbGjL(GjL-2IiGfSyEE*#ZZ-&aUn~6>*?$*jhqEU#(Rc2?X zY}qP9{Qo`pe?Qi!HF9y;DlO)Wt7uZ<*Mw#wPZIVMg|M5b1Wl5mU>VjONE~e!PBgBP zW2@aniEY#ZBpIB>_^7mo&Ouv_!8d^SP?q;ko74X!=Rp1uKK=M86>_-@ALi~u{^LQs z{68Nh5MVIL?!M*!kyrdj{y*yr;4`+)>P>&e@^Qw94c=yahl5Cw0yZEXKG&P!X6pOPG>db z6s3oV-3u$Y1I7#Kmv=bZ;O$iCZ&iX0#=@g#)J3?4!}f;j#+n9&V^FNwY29gI68NME z#Cp5|o=oHJg`8lgMv4lO`eTLfJfsKSS}1Ee<-RUDL2;(Pt=*$W{P5|$jk!*yLFVm+ zWk$#&0^>Vk43+Ie_$Z7aoN;fX9E{VzF;2YjIKM*%xkaW1J_B+=+?#QwvH9^lSeUuT zr7b^1EXF2da~0U1aVtd@=-eA&uF0{#x5d7L*qe7aA%yb+jtjO>>xGP-9i&JOml~gN zPZq=WUNG@?9Np3Y4n_#uEsTjjp5E0+#%Dk<^HEnl*R_L%jWRtiMVqCXjGo3XTml)Wu1xV400Txbem7@PGh1v|QGGKf%udG~({#7!xEuRCBh4^mQ8y32PdxM77 zgQ(TOt_@1jOIR-hLu*k{Z{tKKI0(w`oAI(xE5(K!^l%S=LncVk=@Qswn~M8j4jy>Bw?;))RlMD<0RZeGV_gupAr{d)@zsx81$`QUJShHFMK*#x4 zKir+h-9gAxh#w-Bv|_@;;82Mq3+x|l-5WUSW`qv|2LpySKh_fANZFmp1^l`#>L)?1Ngq&E9q+B$`hGV$Fdu^ZUtx_Bdq_$;{*kfM8}E0Iy& zp!lP>0(+?S(V!e0xT<=Iwzr7mA$M94(y0tbu{KK4Umy)M?^yTnQFo%Seyc45skWqR z2eCCHO_3=D4SkI(I4ODzp`%c~9mCbUJ%Ds5MQ6vdfeD)YIaAH<48ai}(@uLiP}19v zr;Ck#r2A{>J&nYEm@{~jeaYo1^B1p8Si9qa5;r4~8IY4KrmkHa$6{IxN3bo=Jm|7! zkRm4VA@beved;OKb_}#7to=NKWGkn51ZVQXV~-J(%@n6vt ztrCgjGy|dj9v6uJ>_-EMIEWPerSxmGT#lz--0|X$s~KV=gp;TxNgl&obPK7x@Y*0C>zJHR05|a% z)?qrENM)fM<{E)L?IxYb`a-Bp?q|Ug>&AaX&LMyI*;16djr(je=wt}{ zq+50Q29`7#!!}?$$x%1wLL0XA(F|SE)s|G4UZj}_msBOP5OHeA%kEnumGxjVv?~0{ z@)cVw4>mgBlDu5uQ+TE5cO!;||J3nP2WR1_&GuKEn@*Xf5<34%>l?w&prz z4G&hJ1VKKm3H<$*;n6K`uqc0zls$UOus_( zqJj+sK1UN$iY}EPhlq0acI1XVJi(&8VU);Q?%QZ$raPsm2W$I@m9{%{_@7i-&g;hE5}p zroC>aGvFEPmj#gL`&SItt5g@S1&`IiWP@M=?9;z+_;uxvFX|EEmAKYvxEm|ukbfyS zBWfRkl%Np~)jff0`AV1&`3cfL<&|`R8y_JpQGRGg8A@%jbW8)So^^6S{e_a)i8{fK zI_=}3n!2lX<3It&>K0{k(>a@o`!PcLt~qbBeO*p)xsmkihaEes>saVA)>JjGvmhi& zzZ1+sh2I>IqLW4j+N9_!LkhTod|iw48PP5ewdyKl>#lB4z+rc?$Okp^>jU6W2#htb zPKve+gS~#sjk@FO>8Q;$QuH;HbChQ&e^Htz>JgNQjU!~5V$!!_ zAakE&m2A{18ZQM}Oyc{c~wult6udiQQ z;@Ae+34Ur#WK>B}!w8F(#YE(&gb~zKxR2CcnStx-LD?{G3;^B7nOGLEB{U%HXce=0 zW5ks$zJ_LZN>3~=QS|R`MydQE{#OgBXkC0dC<~%3J4L=(ioQ3*f}u^y8^TuL7!W_$ zk93mvt*G_)p#G5M5|P|1?x-v>H^}nvyVx9})(OdyqCXq@EJAeDZE2{uOoS{MDN26OD!w%DN- z$IP9dH!mNhP_B1*@fVL~Kla6A**|6x_Gbp|V6{4mOd-Zz^W(o4U8|V@w8#7+Zu*1u zcvEcFE{uD|tB|2@e6kDie|LG3|csb8_%za@CoJs`$xmC)#KS$5R@jre-- zsQm92ANKvD?n(Czl)4!(mPYFGiU*M(4X zXoP;$pKlt;A;?#X$*{pkbtsF?tLq+_2m|(pxys>krd`}%pqHy zdctA%RJ76-BKK~H*?~D)QS`%da|rT@_%h2W>fCj%WA+vEyzXAeL8W1k45ZN#10cyy2;UNRb~EPRULLWy42I{ zP=V5oIeOTATCA^YsXOd`xs!z)YZk7`5wn4;sl0G=T}^dO)vaJ!i1QKlDbLmFFyhNr zYXe`QAvDgW<(}ZOgFek6uvXh^P8!Ds*=b+YkS7#w5PXqv_7`=pDqeRdbe?jbcQv|a zz^~(P<`*hpj{F!si(jK$M`_=6ttuNTrsg+5zFACUIusp=Wa>}3&AOL@2Vk=?F*wPc zC|VLMvYHxd!8F$-1T%PjzzU4Lyg=XJ;1fd4b>s*sYOYERTEWQIcoOFs0y$H!Rp;2U z3KGg44Wxh09m3{>xbyxgY-r?*cF$5zq4o!hRzL6D^qTfQ>ELxLFNh>1Q9bY;(oWwe z1ZK{Jv6-0|W07I}1)Uq}QAyGF2jnP!04>B{jIhD%&7n4G2dOIb*5(XVdCv|hdPCCN ztVsEaJJfTjxI<+jl}S`CC{)xB8nt#bqQZX!y->MdiCz`;C8X$OY87ES+TPHr^DRc3 zfaI!>3Ri-r{O~?fAVq(LBQm)P5q(OWk4nPl??};e(k;|0-_Jw+f#ixc88>#=s}&EC zqQ-oK{ zq+<@W?s=GhIE69u7amRmi`>l1cD=L9qDCeR~|#X@=8#)Qx4DII!!>(5|g6$Ba9kB=~I@c zuCs4`GT7Vlq4_X!(#C<%Klg)<0ai8Y!xb6gjy=K0-AaKxL~M<@aOsdyfi{{H&Bpzs z^PBxlaCseCw(vOWbuNe=p?I{;RQI@BE1IDq&i^1>svEQ=dk^9KAK%e_gm&k?EpH_H zQi4xnA8_adVoUIw>y?E)^`^oV+cS%gZXccHo0t+Q>(tObv`!6ely-rYvvkdLZi)l2 z8d{UE&CWYX79I|0ZXS1YyDs|p{0{kpbeQrYX85!4Q=1s z@6^^vKSnsp8~czq!ZrntK&=95c}h{!F!gB-ZL|&5xxiAb%jKoUb?#obp~s!47eCr> zn5Y%4NX1fg1xgsT7y7qKQdBoUSVNmDZy0U=6H+YtwR9WzlIl@9??9_@etXtfIP0lZ zWWqiCBwi-USSc#q8EBiZZtXhA8!MbQ=_jXLQe_fB)j*sR){}ko-U`L*l`OU$0dlO@Je<{?XjG%DDX%t8LSfcih6g_+g5Sr1^ zcOte#wEw<`hs7O?#3A~=R}1!{vo^%n0O%RhHLS*dt^d~V`(9z&9)EvprQ96Y?Ng$T z)ML!fN{C=reDrN$K4F>dDN43E5H4pld1B=ja9_|Ta z+{ze`qVw+%+jhSd?ZKMDqk)sQPNpYNkF8AcR%&}{0HaVfd+fw!AvJ3@qFv0`t2dbG zm@Fqp8~KjTR_6~}d#ZzXy<%d!-+zC(8C@kj8yH;c&kWq)n^Yh|HcX=O@;8Ik71ikB znt~`72dezXGU(Uw0W$ta6_7tp_~8N;W$_F&1ZKxr`&%K5tBxNEIiQG>9iEEPkk+Ny z*aD3c`txHjp4dw^gMDa=tZ61%{%WMx1q&AVW`L$37JYJLzW<@XDOFN;nsqZ@F<(&(kmXz8sPg%(kQX?GwjF1Or)EGb zx^%=d-v(Boc_-%Qjf9czRw6`>y|HM@-5dtnFqbgWjvBzRmrN=4AHQqsgEbbFhRGDg z#Bar^eqh%JruwJ)(!m7sB6Z-fdr;KaYwnj7HQ%35Vy~5=vcbvz$-Zl~lM(N%eKOkp zG{vHy523BzM}1)>2Y~6!AjD$}XMmH?)|!cL;24ZIFr54h!_7Q~`LKeE#~qw#;9{(l z+WFMx!U4F2fM*{ld(%-a8L{jWl)?Ce$Lp4xo$n0HTtllcrE4rK&(w2TH;5U4BZ;5YvFN28zGGikyz}1R5fk($ zj9iLjpzp{PopRsoB+q^C>miZ^8m}L~SamG=(y(mjI0p#F`V_&X{yelrK{(pC{vp7! zpZDcH)L5hiGiSompY@%3h?FFu75{jjzoNo#53CQ?1WpB;12-O$VSMmvef9R^+hM|l zdb^`cFkUh{N(B8SnPZWV;>Z@>a<9OMhP_^1bgkY}RI?rItNJXCRYIoYmPobUkzs9L zo+DRCxRmWEK;JRP5s84q(7$as zY_AE?kroYq9+6wKvBicVnOzq6Ho{mhM|4&eOKOI6HWsD*uHi2uYHK={tQb<;GQ8hK zQmjVIEgrH$icMbt{TqfO_4jZ8)%J^#s~Me*karq2psgPLqxuFW75$v7SoFfki}S%sG57Y!IP2@_pX@m9dkg=kHjD)m_X1MQ@jeDm zBtGba+#iU6f&}*x)R5q)=%Lc!*`f6fDo_TM4!xju%oe~gS1bx=nQow$3Rmnk2${g;CuH5_cnV$%6u z;qUR%B;gT1lSLy!#K~vUm=@~OqA8*J&CUSuTpyvwk{c$rTr4s8hqXfImfMUNc}PN1MQmUifOiWg}95?<0L-jCZ9d&1<4< zPc%?ZtJ2>aT)A_v`)x56eGKh`Pln!)9Nu5yTeJ&u&k8YXg8MZwrLMPyMhGG2l)z&Q zcZ?XYIT}*kC&ZKcQ?xI{vHX0`h6b3}BvM>|LH&KyJ+jS9BDom9hn(ld&m)KSL!L_r z=LLkRUN4Rg;=afXFABS5%HSIfE$%4-m9@9Uosqf*lB*SDxggX>)+07R*o5>Ri}not z`fmRI$h%0vOdfM77X9sTbA)kT*l{c}(Vc)?Hn`F1w{g#|38`tU?=>Fb8G4bg1u|_d z${eS(JK}_ZEfu-HG(zd)Pd)2#pFo&(ckFv3U+-rof-p5gvQ^FtjWggm_p7d0^dVf; zMt4R)zWK{9X26xm5tNfup2p7yP)1W3TZnwH8s!i@L!t3?DqBZmLb2!-jLQtPntf)} z52G)&H<)UKp)xo9hSA{M=8P_~oB6+hpn3@-K;#^vLYzC{%|$mx{B zdtwWGsXHy!sHRypu{(;^MxD`C*zE7Oy zKWc=gUoSEE`L$PRhm>h{k`JreVOfD1bcu!+o2t9Wj8IQ4{P>%nHTOdD2 z$nod;YHF!xvoh}497m5j+xKD>3)#pwx;y{w;}pYcliL1yz|4(9?>N(6Q~gQcqew>i zOIrig`|!jn7X9|ldl7TF6{C>!ET*O=$2PIR(E$Czok{51z7b(;@;+!{9H#`CP3>P1 zV61xdcYZd=She^*IQU{DK^(`^_~9AEH?^-%qda^MWApu}kH@0kr9RX5c0b*dxmXrz z)l_Kw$7(h4nQ_*s-_QHhU9WmEdex(G$>oUvv|qa&&^A6AkmHE}MhD^B!eq33j>gZt zK{gJI49EPlrDAcQGRXLVrFMya7;9J-9_t{bmLsBJxf{$CQv;W6V* zi^eoM7WHJl9}DAOQ>5tfL21h0;_ZnYqeo{}x@Es934gzyqw9`tP}){h^`UJ`<8Oc4505?GJ?LV9DOY#!uZr3on38x zj>i)VZ2im-d4}ZPBkFA918W06=Zio+K9hebz_4E+79JnM`$gD~#-19eH-OwpV_3xg zG4hZa7>=HQJi)5)ywT8V#2yESXsZ>0p1_K#o~jkqc*fKgx9_kW#rc=$4?HQ!QIAm% z3GqBa_h2+8J<#g#IsB;s2U>=V&4F!FQ93KExqefC#(&K<=320sYu`tDrfU*dO%~3U zO{}1F#7pp=!pxO;p9Dkq6TcJXdG^cg zi+XR=exk=rbT^i~%3K|Apo3!qY$v(8qHarHc1pS&UU z%~f2MQf;pV=-R-Ml0h+rspg1tzq`NJknU`AwtC(CDpHuPebuE9SGSOY(p4v2V=OhR z7cV7KheT5FcRUr_=TYYscZJTT_mSd*tM)D#LWx1osA&15F5cXv`bG?$)tD9Oyqf7M zT_wj8wY~Ifg*?nSHO72%rO8k%>uTs|Xg3rObyliKm$AdxUJ0a2-Jx#R2$dl3O4u(8 z%LS%@apJA423aU{j?SWKJ_Jo>Qe?#W4({B$*}s$DoUl{2`NM__p@R*3L;eOnL|fCg z`#c>j33zuQxo;G9d z?sT53R6&;(p@S}_U5T(Uw3om*K_KyY6wOWMQJ8jbc5Nn`-wEvwxk96Lzs-0@u4q+z z%pPsqyLyh{v?S}gg5{;W&K9`Lxk+&>k90m#j3;$DtOqV~?njCbLAWqf_FmF;mHZ;T z!9tvzTh@&pzcED^y12WLh+(IqGwhUgLVl9K0UblxLkd+_IBloGz_Wa)Ok&#=^rSvi zrcmA#Ic=D^5!u_K8&ku}$NaQq18*_y!~faxES<#!V>DyR`F7^AQqM0>=J3{u8&VR{ z^TgPHyS`oF`)960-=QEj7pLiVad5HHz2D7z0=;0XbQ?19?i%kk4hWDl&~rONV>1%k zGO4hq$k44VO)FOQs`5-%-busTfo!{~oHMjly4gJFWo-r*m4TSzeKttiQUZVLPAmRf z?>oFY@5@h~z_ws>w&Lma#gA1AzFbX;4Slpk0eXI{@Nt^%p3`oH*g;AYt$aIC72b|0 zK#e>$t5DvD)@o~pt=Ee-D3E#Rt=qGs?sybmE@W1s#PPs4-S4CB?MeP;2;3ycuz}8c~MVNvkWeG+-I&0n*xH@re-_+g*gG-k-)68IWfRIP60_ll)E4ZtO6Ft)#gd`|OvJ zJ@Rv@;EhPOp?J?e$>Y#|veNBwC_l+6U&gBoG|6hS!Zst)&P%qb@itp=4G&-n#W><6 z-NxD!GDX|nZC3Qux>;BHL|s>Vnzql1U#c$1k@cjOcchhbseSLKB_j>sd0-Fc_PX^x zeH=p`$>7oY_8FPZeP-xBW+pQ*a)t8n>~jyKjzvFPa!1jqi7gOz0ke}89vxESdh`|Lpifg>&5$^}sPloCDzC~Q9^}RI8VT+K% zDv^5qV4>fRO5yeSPOg9>)0}((AK>aZuy`%cnY+#U?#zkm9(HOfXyGJhbtT}+)u8Q5 z1+c05GV`N7>=Xu$b2%=~XcFE@k_qiRY8a6?-!PqV%R3JlITtB8;~wndP!1C(YDRLlEAaHOIK^~2lETyLY^_5K67$|*5pD4yAJ33M0b}3Nek?E3RMro)t+=kK*p}HL*(_@oU zJMY4er^k|sOh13O&1eflaSGEOF_c)CcOof0WO|~=INSBI9IdG6(_&tU_`tk?@<%~O z4tc_DR8GdfTS?Yh_jQGjsnpu|E{%|#ubi}Y{n|h3Z?#aV&GH@k`P?+^ZB_oJjuyyu z3R3Pw^k47AmF5X6&AW<-wvN~6+GS&)f|pxPq-@}`#&~5KlP*auDhhO(q^=Him|4Vg zW^K2+j}&2KO{3`2Xt;P8Vq;3oq3OJ=2pGerP@Ck?i4-;`A8H%yS)Q&Cs}f~h6mnWJ zdVkMw)&<3#8pf+7wob(XlEeW?a#I9XPz>`M34x@viiTw_5Pi#ip8 z(Qpp+aH3pjPit2UMB4R3k@lo^)vd@sdOF@Z^V0Lbc=F(5dyweE67o(z;`O?!h9jth z`&)JT|4v$)IZbiEQmc@4b?_XXjFEy`+>^EGx3wzax&_!q*qMGnbs!}?GfS4C|KFqs zuzizdBew6QG~GptHe&k+;_Yu*z}5&4r8lXXQo^(HWs@yyEz7!3c-Tpv9(MW|ILBo` z8}|)YPoE>|^?2rzGY)T#axSln6zlbOgj!Hi zK0)YUA`vNlk>Z5zr_!(E?cNkca%r#1RNCKmS;hKIJoH^w0o&gOxmQG(*ejylTKGrQ zEFY_Kc&{2JeI{Iv%$$_l!_Ma7Frh}z`i2|Bo8c`ko$pFJ9Xah`CnJAPlfzj~53Sq) zcdsjle=#z1vaW}n!^O*KuK`ZZtKl_H$G?;IRm6Z%P{?{Jf`(xu#qB6&ztGkyYW0k; zCjF*XE&xlc8U@AW2~WEI{>(XwUQ6WvZh>BjCEj8OS6ljvv-?_p-m;Zf=^o+7>NfG= zmLNaPh%$o(`5dEDK2-;%U9Nqe{VhjZ7VH9t=GF#lgIkMM^~*lPSV`3ciK@-*Ev zOYaD@mE(WZ4d{ zyAwM%f{O0q_|2}ho~iukK3WtV#_K98?p{I+4wHX zMOkt{g@(**S+VdCHA;WTir*S#n0+4m4psedKA-}PBPx_O40r{=Sr1&nP>H({&uOq2L zRf!U!BZc(M_iAt-sc+(gZ#paWq_`YM_^PwNb&Nt|sYLr9j9yohy3?4Vc*^5C;nN*o zm7rP7FXk<&i}{tQDNLt16;|>q6DrgwBeAS^EGb%Pz*604%>ibg-pc>9<#}9P60XjI ztNTgIDt;Q}hWIW`!PV8`>YgJf5-0NPlowl;qGnja=VR%K{9Hx{Di~?tcDo zOAUXU;>K=~OU5Gk6x~YG!>(RqEhaoQc0J#+oqw)noNgE2$ZwF}OgMr3sAPVoo@V)t zYnSS_`T^J3mZyY3-c&+{Ws|JhJk|G8tHS3E7Ax6l);_832S%Co`) zd2Fw|Z!`zF=AL$Am20J^#I?$EmaFvOg)g3tQ0-dpdcyOJ$KiRMo8=lt8C~gF={fE? zUb|&|F2$dk3Zgvj)ndm$^iUtgI2Z>`tt_V_=A}5 zbI#G66bQ(jBcz zyhqDl<_+=Ds9*3w8lJU?fThIRp>lC_o`kV)<9JWueYM{Wj2T0w0P@O*Y1O4uign$( zJXMbzp2V9j=#dq6b5cYMas+U=~R4(z3{dLa7h}O zSF7d?JhlJuL>qtS!sBnLLS>BbKH3(cGOa8nl@tz$?j%*-cX)FN`Xt-?Nr1K^+HYlG z)dEU+0v`(Fgn{h`AR+Av+p9KzPHykbTOf@RMD=Tr^w+uw6%b8JuBdnc?bL@3YTLl0sb!^lU4@=;#W>OV?aoQZnJT={QS50z1i(|ghCNkOZp7OF`8?$VQ70pI^o4R0O`_7$$BJoP)zGvB6cS8O-k z@4A`RXbM|?k9V7OHefr_yg&*xir$EZktL$7!YsypQ+J~pcRj^j!W{)0wS+=t@qH~} z3;%JEt{QB}LFoJ4hu&qzz&@m#*#ok(0emkT(4CW_3u9Za(|Qlq>j$8J@_@3B=4WGG zf%&=Uoz9M-M8UE~so(_OB$6O2e_sClP8HL2o8RbO>%u5c=W$Q7=Vi}p9$DWp&kLTD zp4UB_PMq+N3F9!H=7^E$WVUtk9i-*uo_#GeZlN5rjZYZ!Lw*nHw^xl{rNLi1`4ssZ z#yq)0mtv}SaUQSdIcQ2dl$6Im;d;h3+cx}#_y4o+LeKJl_Fd>&j(tDTmZgML*$z9lt&K75drd-dehJ1byvK zUp;veud2bOrAxn)kg-mkJQs=kM>#X zA=9ms|0+Hjw=Ps;9^p;81^m923jQBy(@c<6<?K%s)_xr3t(Yq}L7I#EiYi--r{fFZ@`cZJWTok;zN zOmE-xKqZzL%;IoqD z#kcU5+jxYS@ltPU^gq%T?s9+Q$=}g+q(bxGlfasm0Jr={&VOycW%?h(ypOL9l_fs- z`*V-?zH>nJ(UOUb(es&1;oKWJlRH2%$MyYqt|A6m&$~{)5^jXuY1MPb_RWDW45waU z2FAhuWpkH8ED7E_`HD7-gmT~9rKArD<PnCkczXf9b(rut3*n|bg1>pB)7>R-{ATc54H{-TFa*Mb8tl!el?y?o*v)W& zFNVG}I2uF2R4HUMuTt!zuM}dS!*Y*LLdGM6k>Q;5t_-~+b7STc^A`WWJAcZg0vr*$ z(@6(*BOLT^6c#{w!>4kgH=nKqACGHE!8Cl|h+#P@a)cfahty%YI*d$;{aB2-$q`d; z<9&8mY6s}Z!rv_$0bapH{{i147z2C{&jCeD^ezvgEsmlMo2qKpY+<(-PI7AJZK_?f zp_u)5RI&(w*1f4}OKrZl6stx-(#mCsk+;7;OGMl->?pwOFu@)}YW9w@aO56_%nWYb zxMB9p;F_x1*)un;*;>U0w{8vPui3n0TmNjd)tf>#$*qTibY+duf)>$@Z$x(B(-cohWSn5m_BC7T>oz?wtE#HHx~8VKcFmf# zYbV$y&z?DXaAWnR+MTm2*VNW+SyQu>{?dNyCU)jXBTn|m!0dlKIdgK=$mZ(d^)n|A L-N4^D;otuOn>zy8 literal 0 HcmV?d00001 diff --git a/pc-bios/pipico.rom b/pc-bios/pipico.rom new file mode 100644 index 0000000000000000000000000000000000000000..8eb47ee7873678c8e82aeae8db9157fddf5e9de4