Skip to content

Commit 9757033

Browse files
committed
Add hybrid firmware download warning
1 parent 691a9f4 commit 9757033

2 files changed

Lines changed: 138 additions & 1 deletion

File tree

docs/cart-guides/dspico.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ If you do not want to, or are unable to, reflash the firmware (no PC, missing US
5050

5151
The DSpico hybrid firmware only works on the original DS, DS Lite, and modded DSi/3DS consoles. It **does not function on stock, unmodified DSi or 3DS systems** - [firmware with the WRFUxxed exploit](#__tabbed_1_2) enabled is required for stock consoles.
5252

53-
1. Download the [DSpico Hybrid Firmware](https://github.com/coderkei/dspico-hybrid-fw/releases/download/1.4/DSpico_Hybrid_B9S-1.3_GCD.uf2) UF2 file.
53+
1. Download the <a href="https://github.com/coderkei/dspico-hybrid-fw/releases/download/1.4/DSpico_Hybrid_B9S-1.3_GCD.uf2" onclick="document.getElementById('hybrid-firmware-warning').showModal(); return false;">DSpico Hybrid Firmware</a> UF2 file.
5454

5555
1. Remove the DSpico from your console, and remove any MicroSD card in the cart.
5656

@@ -60,6 +60,20 @@ If you do not want to, or are unable to, reflash the firmware (no PC, missing US
6060

6161
1. Your DSpico is now flashed! Follow the Pico-Launcher setup guide below to prepare the SD card.
6262

63+
<dialog class="hybrid-firmware-warning" id="hybrid-firmware-warning" role="alertdialog" aria-labelledby="hybrid-firmware-warning-title" aria-describedby="hybrid-firmware-warning-description">
64+
<header class="hybrid-firmware-warning__header">
65+
<h2 id="hybrid-firmware-warning-title">This firmware doesn't work on stock DSi and 3DS systems!</h2>
66+
</header>
67+
<div class="hybrid-firmware-warning__body" id="hybrid-firmware-warning-description">
68+
<p>Hybrid firmware will work on Original DS and DS Lite systems. It will not work on DSi or 3DS consoles unless they have custom firmware installed.</p>
69+
<p>Please use the WRFUxxed tab for stock consoles, or skip flashing if your DSpico already has WRFUxxed firmware installed.</p>
70+
</div>
71+
<form method="dialog" class="hybrid-firmware-warning__actions">
72+
<button type="submit" class="md-button hybrid-firmware-warning__back" autofocus>Back</button>
73+
<a class="md-button md-button--primary" href="https://github.com/coderkei/dspico-hybrid-fw/releases/download/1.4/DSpico_Hybrid_B9S-1.3_GCD.uf2" download onclick="this.closest('dialog').close()">Understood, Continue</a>
74+
</form>
75+
</dialog>
76+
6377
=== "WRFUxxed Firmware"
6478

6579
!!! warning "DSpico WRFUxxed firmware"

docs/stylesheets/extra.css

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,127 @@
9898
.compact-table table th:last-child,
9999
.compact-table table td:last-child {
100100
border-right: none;
101+
}
102+
103+
/* DSpico Hybrid Firmware Download Warning */
104+
105+
.hybrid-firmware-warning {
106+
--hybrid-warning-color: var(--md-primary-fg-color);
107+
108+
box-sizing: border-box;
109+
width: min(32rem, calc(100% - 2rem));
110+
max-height: calc(100vh - 2rem);
111+
padding: 0;
112+
overflow: auto;
113+
color: var(--md-default-fg-color);
114+
background-color: var(--md-default-bg-color);
115+
border: 0.15rem solid var(--hybrid-warning-color);
116+
border-radius: 0.2rem;
117+
box-shadow: var(--md-shadow-z3);
118+
}
119+
120+
.hybrid-firmware-warning[open] {
121+
animation: hybrid-firmware-warning-in 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
122+
}
123+
124+
.hybrid-firmware-warning::backdrop {
125+
background-color: rgba(0, 0, 0, 0.7);
126+
animation: hybrid-firmware-warning-backdrop-in 160ms ease-out;
127+
}
128+
129+
@keyframes hybrid-firmware-warning-in {
130+
from {
131+
opacity: 0;
132+
transform: translateY(0.35rem) scale(0.985);
133+
}
134+
135+
to {
136+
opacity: 1;
137+
transform: translateY(0) scale(1);
138+
}
139+
}
140+
141+
@keyframes hybrid-firmware-warning-backdrop-in {
142+
from {
143+
opacity: 0;
144+
}
145+
146+
to {
147+
opacity: 1;
148+
}
149+
}
150+
151+
@media (prefers-reduced-motion: reduce) {
152+
.hybrid-firmware-warning[open],
153+
.hybrid-firmware-warning::backdrop {
154+
animation: none;
155+
}
156+
}
157+
158+
.hybrid-firmware-warning__header {
159+
padding: 0.5rem 0.75rem;
160+
color: #fff;
161+
background-color: var(--hybrid-warning-color);
162+
}
163+
164+
.hybrid-firmware-warning__header h2 {
165+
margin: 0;
166+
color: inherit;
167+
font-size: 0.85rem;
168+
font-weight: 700;
169+
line-height: 1.3;
170+
}
171+
172+
.hybrid-firmware-warning__body {
173+
padding: 1rem;
174+
}
175+
176+
.hybrid-firmware-warning__body p {
177+
margin: 0;
178+
}
179+
180+
.hybrid-firmware-warning__body p + p {
181+
margin-top: 0.75rem;
182+
}
183+
184+
.hybrid-firmware-warning__actions {
185+
display: flex;
186+
flex-wrap: wrap;
187+
justify-content: flex-end;
188+
gap: 0.6rem;
189+
padding: 0 1rem 1rem;
190+
}
191+
192+
.hybrid-firmware-warning__back {
193+
color: var(--md-default-fg-color) !important;
194+
background-color: var(--md-default-fg-color--lightest) !important;
195+
border-color: var(--md-default-fg-color--lighter) !important;
196+
}
197+
198+
.hybrid-firmware-warning__back:focus {
199+
color: var(--md-default-fg-color) !important;
200+
background-color: var(--md-default-fg-color--lightest) !important;
201+
border-color: var(--md-default-fg-color--lighter) !important;
202+
}
203+
204+
.hybrid-firmware-warning__back:focus-visible {
205+
outline: 0.1rem solid var(--md-accent-fg-color);
206+
outline-offset: 0.1rem;
207+
}
208+
209+
.hybrid-firmware-warning__back:hover {
210+
color: var(--md-default-fg-color) !important;
211+
background-color: var(--md-default-fg-color--lighter) !important;
212+
border-color: var(--md-default-fg-color--light) !important;
213+
}
214+
215+
@media screen and (max-width: 30rem) {
216+
.hybrid-firmware-warning__actions {
217+
flex-direction: column-reverse;
218+
}
219+
220+
.hybrid-firmware-warning__actions .md-button {
221+
width: 100%;
222+
text-align: center;
223+
}
101224
}

0 commit comments

Comments
 (0)