Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "nintendo 3ds"
-
Whenever I'm starting to think that my job is hard, I always recall that someone somewhere had to ensure their code compatibility with Nintendo 3DS browser8
-
I'm the only one working on this anymore and every toolchain supporting the system (remember, we're using an ARM9 [initial strap CPU] AND an ARM11 (give or take an ARM7 slaved to the ARM9 that we don't have support for yet), all in tandem, and the only toolchain that remotely works is for ARM6 for some reason) hates the Linux kernel. Current goals: SD R/W support (currently RO), X, GNUTools, maybe a better fucking softkey driver (i'll have to find whoever made this one and fucking beat him), and a working joy2mouse/touch2mouse driver. Oh, and figure out if Swap would work either with the New 2DS/3DS' Bonus Drive (unused 64MB partition on NAND) without killing the NAND as the SD access is max. 1.2 MB/s read/write speed or so, which isn't fast enough for swap AND other things.
Currently working:
Busybox
Read-only SD support
Weston (term only, can't click)
Standard 3DS/Standard 2DS/New 3DS (Models before 2017, the non-foldables, rebranded standard 2DSes) features only, not yet New 3DS/New 2DS-enhanced
Currently failing final compile because toolchain:
Preliminary custom R/W SD support4 -
Static HTML pages are better than "web apps".
Static HTML pages are more lightweight and destroy "web apps" in performance, and also have superior compatibility. I see pretty much no benefit in a "web app" over a static HTML page. "Web apps" appear like an overhyped trend that is empty inside.
During my web browsing experience, static HTML pages have consistently loaded faster and more reliably, since the browser is immediately served with content useful for consumption, whereas on JavaScript-based web "apps", the useful content comes in **last**, after the browser has worked its way through a pile of script.
For example, an average-sized Wikipedia article (30 KB wikitext) appears on screen in roughly two seconds, since MediaWiki uses static HTML. Everipedia, in comparison, is a ReactJS app. Guess how long that one needs. Upwards of three times as long!
Making a page JavaScript-based also makes it fragile. If an exception occurs in the JavaScript, the user might end up with a blank page or an endless splash screen, whereas static HTML-based pages still show useful content.
The legacy (2014-2020) HTML-based Twitter.com loaded a user profile in under four seconds. The new react-based web app not only takes twice as long, but sometimes fails to load at all, showing the error "Oops something went wrong! But don't fret – it's not your fault." to be displayed. This could not happen on a static HTML page.
The new JavaScript-based "polymer" YouTube front end that is default since August 2017 also loads slower. While the earlier HTML-based one was already playing the video, the new one has just reached its oh-so-fancy skeleton screen.
It would once have been unthinkable to have a website that does not work at all without JavaScript, but now, pretty much all popular social media sites are JavaScript-dependent. The last time one could view Twitter without JavaScript and tweet from devices with non-sophisticated browsers like Nintendo 3DS was December 2020, when they got rid of the lightweight "M2" mobile website.
Sometimes, web developers break a site in older browser versions by using a JavaScript feature that they do not support, or using a dependency (like Plyr.js) that breaks the site. Static HTML is immune against this failure.
Static HTML pages also let users maximize speed and battery life by deactivating JavaScript. This obviously will disable more sophisticated site features, but the core part, the text, is ready for consumption.
Not to mention, single-page sites and fancy animations can be implemented with JavaScript on top of static HTML, as GitHub.com and the 2018 Reddit redesign do, and Twitter's 2014-2020 desktop front end did.
From the beginning, JavaScript was intended as a tool to complement, not to replace HTML and CSS. It appears to me that the sole "benefit" of having a "web app" is that it appears slightly more "modern" and distinguished from classic web sites due to use of splash screens and lack of the browser's loading animation when navigating, while having oh-so-fancy loading animations and skeleton screens inside the website. Sorry, I prefer seeing content quickly over the app-like appearance of fancy loading screens.
Arguably, another supposed benefit of "web apps" is that there is no blank page when navigating between pages, but in pretty much all major browsers of the last five years, the last page observably remains on screen until the next navigated page is rendered sufficiently for viewing. This is also known as "paint holding".
On any site, whenever I am greeted with content, I feel pleased. Whenever I am greeted with a loading animation, splash screen, or skeleton screen, be it ever so fancy (e.g. fading in an out, moving gradient waves), I think "do they really believe they make me like their site more due to their fancy loading screens?! I am not here for the loading screens!".
To make a page dependent on JavaScript and sacrifice lots of performance for a slight visual benefit does not seem worthed it.
Quote:
> "Yeah, but I'm building a webapp, not a website" - I hear this a lot and it isn't an excuse. I challenge you to define the difference between a webapp and a website that isn't just a vague list of best practices that "apps" are for some reason allowed to disregard. Jeremy Keith makes this point brilliantly.
>
> For example, is Wikipedia an app? What about when I edit an article? What about when I search for an article?
>
> Whether you label your web page as a "site", "app", "microsite", whatever, it doesn't make it exempt from accessibility, performance, browser support and so on.
>
> If you need to excuse yourself from progressive enhancement, you need a better excuse.
– Jake Archibald, 20139 -
I've compiled enough recent news to point out some notable articles in a list:
- Windows 10 20H2 can corrupt the main filesystem on SSDs when ChkDisk is run under yet-unknown circumstances (https://borncity.com/win/2020/...)
- Nintendo updated SwapNote for 3DS well after killing it off (https://nintendolife.com/news/2020/...)
- Google has finally fully open-sourced Fuschia, its attempt to replace Android, you can now make PRs and such (https://computerweekly.com/blog/...)
- a recent Win10 update for normal users is causing massive speed issues (https://pcgamer.com/microsofts-dece...)
- Amazon's trying to compete with StarLink and it's going pretty okay (https://arstechnica.com/information...)
- Cyberpunk 2077 has a fuckton of fixes in a new update, for those who care (https://theverge.com/2020/12/...)
- Xbox 360-based Halo games are going to have their online component killed in December 2021, for those who care (https://halowaypoint.com/en-us/...)
i forget who said they liked these last time i did them but to that one person, here you are.14 -
Linux on the 3DS is going well. Others have no issue at all, but I've gotta fix issues with the toolchain executables being named wrong, the provided, precompiled toolchain everyone else uses being the wrong one and being incompatible...
Fuck my life. -
Turns out the reason the current tester12 build of Linux 3DS hangs on my 3DS (at the very least) is due to it trying (and failing) to get the version of the onboard NAND (where the Nintendo-sanctioned code resides), which hangs. If I boot the known-working copy of Linux 3DS and run parted, it instantly dies due to my NAND making it say "Error: A partition cannot reside outside of the disk!"
Either the onboard NAND is dying or Linux is just being an asshole. Either way... fuck my life. -
N64 emulation possible on Nintendo hardware? Are you SUUUUUUURE???
According to GBATemp:
Wii:
CPU: Single-core PPC, 729MHz
GPU: 243 MHz single-core
RAM: 88MB
Possible? Yes (always full-speed)
New 3DS:
CPUs: 2, Quad-core ARM11 (804MHz), Single-core ARM9 (134MHz)
GPU: 268MHz single-core
RAM: 256MB
Possible? No
Switch:
CPU: Octa-core (2x Quad-core ARMv8 equivalent), 1.02GHz
GPU: 307.2MHz-768MHz (max. 384MHz when undocked)
RAM: 4GB
Possible? Barely (5FPS or less constant, only half the instruction set possible to implement)
this all makes total fucking sense7