惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
SecWiki News
SecWiki News
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
Y
Y Combinator Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
K
Kaspersky official blog
T
The Exploit Database - CXSecurity.com
腾讯CDC
Scott Helme
Scott Helme
I
InfoQ
Cyberwarzone
Cyberwarzone
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Security Latest
Security Latest
The Register - Security
The Register - Security
Project Zero
Project Zero
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
A
Arctic Wolf
C
Cisco Blogs
L
LINUX DO - 热门话题
P
Privacy International News Feed
IT之家
IT之家
U
Unit 42
P
Privacy & Cybersecurity Law Blog
H
Help Net Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Palo Alto Networks Blog
F
Full Disclosure
宝玉的分享
宝玉的分享
Simon Willison's Weblog
Simon Willison's Weblog
L
Lohrmann on Cybersecurity
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Hacker News: Front Page
Know Your Adversary
Know Your Adversary
PCI Perspectives
PCI Perspectives
Hugging Face - Blog
Hugging Face - Blog
AWS News Blog
AWS News Blog
MongoDB | Blog
MongoDB | Blog
S
Schneier on Security
Recent Announcements
Recent Announcements
Forbes - Security
Forbes - Security
Cisco Talos Blog
Cisco Talos Blog

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Ancient DNA reveals pervasive directional selection across West Eurasia [pdf] Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
GitHub - Wack0/entii-for-workcubes: PowerPC Windows NT ported to Nintendo GameCube/Wii/Wii U
2026-06-19 · via Hacker News

Visit our Discord server

The following systems are supported:

  • Nintendo GameCube
  • Nintendo Wii
    • Wii Mini requires SD card hardmod (for now)
  • Nintendo Wii U (vWii only for now)

The following systems are theoretically supported, although not tested due to the rarity of such hardware:

  • Broadway Evaluation Board
  • Cortado boards

The following systems will NEVER be supported:

  • early Dolphin Development Hardware with only 4MB of usable RAM

Drivers present

  • Flipper interrupt controller (in HAL)
  • Flipper Video Interface console framebuffer (YUV XFB) for ARC firmware and HAL
  • Flipper GPU RGB framebuffer under NT (writing to EFB under text setup, writing to texture under GDI; copying out to XFB on vblank interrupt)
  • Flipper Serial Interface (gamecube controller ports), supporting the following devices:
    • GameCube ASCII keyboard controller, plus unreleased English/European variants (discovered through reversing Phantasy Star Online); the latter are completely untested, the former has not been tested on real hardware
    • GameCube controller, with the following mappings:
      • Under ARC firmware: left analog stick and d-pad maps to up/down, A button maps to enter, B button maps to escape, X button maps to letter 'S'
      • Under NT text setup: left analog stick and d-pad maps to up/down, c-stick maps to page up/page down, A button maps to enter, B button maps to escape, X button maps to F8, Y button maps to letter 'C', Z button maps to letter 'L'
      • Under NT GDI: left analog stick moves mouse, A button maps to left mouse button, B button maps to right mouse button, L+R together maps to ctrl+alt+del, c-stick allows for choosing a keyboard scancode (1-9, 0, a-z), X button confirms the selected scancode. Numbers are first in the list so numeric-only text boxes (like entering CD key) still works.
    • N64 Randnet keyboard, completely untested so may have issues
    • N64 mouse (under NT only), completely untested so may have issues
    • N64 controller (completely untested so may have issues), with the following mappings:
      • Under ARC firmware: left analog stick and d-pad maps to up/down, A button maps to enter, B button maps to escape, Z button maps to letter 'S'
      • Under NT text setup: left analog stick and d-pad maps to up/down, c-stick maps to page up/page down, A button maps to enter, B button maps to escape, Z button maps to F8, L trigger maps to letter 'C', R trigger maps to letter 'L'
      • Under NT GDI: left analog stick moves mouse, A button maps to left mouse button, B button maps to right mouse button, L+R together maps to ctrl+alt+del, c-down and c-up allows for choosing a keyboard scancode (1-9, 0, a-z), start button confirms the selected scancode. Numbers are first in the list so numeric-only text boxes (like entering CD key) still works.
  • Flipper External Interface (SPI bus), supporting the following devices:
    • RTC
    • USB Gecko (for kernel debugger only)
    • SD Gecko or compatible
    • IDE-EXI or compatible (has not been tested on real hardware)
  • Vegas IOP IPC
  • Vegas SDMC controller (via IOS)
  • Vegas USB (OHCI/EHCI) controllers (via IOS), supporting the following devices:
    • USB keyboard
    • USB mouse
    • USB mass storage (currently has some issues, some devices may not work)
    • Hotplugging USB devices is not supported. To use a USB device, it must be plugged in before launching the ARC firmware.

Software compatibility

NT 3.51 RTM and higher. NT 3.51 betas (build 944 and below) will need kernel patches to run due to processor detection bugs. NT 3.5 will never be compatible, as it only supports PowerPC 601. (The additional suspend/hibernation features in NT 3.51 PMZ could be made compatible in theory but in practise would require all of the additional drivers for that to be reimplemented.)

Installing

Preliminary

  • Grab binaries from the release page, extract to SD card (or EXI-IDE device)
  • Copy an NT 3.51 or 4.0 ISO to sd:\nt\disk00.iso
  • Create a raw disk image of the size you want at sd:\nt\disk00.img - I use qemu-img create disk00.img 2G, change the size as appropriate. Remember that the maximum file size on a FAT32 partition is 4GB.
  • On a GameCube, load arcldr_dol.dol from Swiss; on Wii/vWii, load arcldr from the Homebrew Channel.

Partitioning Disk

  • When you get to ARC firmware menu, go to Run firmware setup, then Repartition disk or disk image for NT installation.
  • Select the disk image you created earlier.
  • Confirm the partition operation with Y (on keyboard), X button (on GameCube controller), or Z button (on N64 controller)
  • When finished, the partitioner will ask to Press any key to restart. This should either restart your system or return to loader where you can load arcldr again.

Installing NT

  • Choose Run NT setup from cd00.
    • You will receive the message Setup could not determine the type of computer you have.
    • Choose Other (default selected option), just press Enter (or A button) when asked for hardware support disk.
    • Choose the HAL from the list, currently there is only one option: Nintendo GameCube, Wii and Wii U (vWii).
  • Next you will receive the message Setup could not determine the type of one or more mass storage drivers installed in your system. At least two drivers need to be loaded at this point.
    • To load a driver, press S (X button on GameCube controller, Z button on N64 controller) to pick a driver, choose Other from the list, press Enter (A button) when asked for hardware support disk, and choose the driver.
      • Nintendo Wii SD Slot (via IOS) [Disk Images] is required when using the front SD card slot on a Wii or Wii U
      • Nintendo Wii USB (via IOS) is required when using any USB device (keyboard, mouse or mass storage) on a Wii or Wii U
      • Nintendo GameCube Controller Ports is required when using devices plugged into the GameCube controller ports on a GameCube or Wii
      • SD Gecko or IDE-EXI and Compatible [Disk Images] is required when using SD Gecko (or compatible) or IDE-EXI (or compatible) devices in the GameCube memory card slots on a GameCube or Wii, or the serial ports present underneath a GameCube
    • To make this simpler: on a GameCube you will need only the last two; on a Wii U vWii you will only need the first two, and on a Wii you will need the first two and possibly the last two depending on if you are using/want to use the GameCube controller ports/memory card slots or not.
  • You will receive the message Setup could not determine the type of video adapter installed in the system. Choose Other from the list, press Enter when asked for hardware support disk, and choose the correct option depending on the OS you are installing.
    • There are two options in this list; ArtX Flipper, ATI Vegas, AMD Bollywood (NT 4) is for NT 4, ArtX Flipper, ATI Vegas, AMD Bollywood (NT 3.x) is for NT 3.51.
  • NT will boot and text setup will start. Go through the text setup.
  • Under Setup has determined that your computer contains the following hardware and software components, change Keyboard from Unknown to XT, AT or Enhanced Keyboard (83-104 keys) and Pointing Device from Unknown to No Mouse or Other Pointing Device.
  • Choose the C: drive from the partition list. If you chose to create an NT partition of size 2GB or less, it must be formatted.
  • If you chose to create an NT partition of over 2GB in size, errors will be found by the disk examination process which will require a reboot. You will need to boot back into the ARC firmware from Swiss or the Homebrew Channel and follow the "Installing NT" steps again to get back to this point.
    • On the second attempt, disk examination will succeed, so just choose the C: partition again in the NT text setup partition selector.
  • Proceed through the rest of NT text and graphical setup as normal.

Known issues

  • System may hang on reboot sometimes.
  • There are issues with some USB mass storage devices.
  • GDI driver uses slow unoptimised code for copying from GDI bitmap buffer to GPU texture buffer.
  • ARC firmware and NT drivers support exFAT for disk images on an SD card/EXI-IDE device, but the loader currently does not support exFAT for loading the ARC firmware proper.
  • The loader currently does not support loading the ARC firmware from a USB mass storage device.
  • Be aware that the EXI bus is slower compared to other disk interfaces, so using SD Gecko/EXI-IDE causes slowdowns. This is most notable when installing NT on GameCube where this is the only available option.

Building ARC firmware

You need devkitPPC. Additionally, a libgcc.a compiled for powerpcle must be present in arcfw/gccle. If you need to find one, it should be present on any Void Linux mirror, the current filename to search for as of 2024-07-12 is cross-powerpcle-linux-gnu-0.34_1.x86_64.xbps - decompress it by zstdcat cross-powerpcle-linux-gnu-0.34_1.x86_64.xbps -o cross-powerpcle-linux-gnu-0.34_1.x86_64.tar, then pull the file out of the tarball: usr/lib/gcc/powerpcle-linux-gnu/10.2/libgcc.a.

  • Ensure DEVKITPPC environment variable is set to your devkitPPC directory, usually /opt/devkitpro/devkitPPC
  • Build the ARC firmware loader: cd arcldr ; make -f Makefile.wii ; make -f Makefile.gc ; cd ..
  • Build the little endian libc: cd arcfw/baselibc ; make ; cd ../..
  • Build the ARC firmware itself: cd arcfw; make ; cd ..

Building HAL/drivers

You need peppc. Additionally, the powerpc libs from the NT4 DDK (ddk/lib/ppc/free/*.lib) must be present in lib. The rest of the toolchain (VC6 PPC CE cross compiler used for the C preprocessor for asm, as multi-line defines are handled improperly by gcc cpp; assembler PASM.EXE with single branch patched to skip "dump statements"; resource compiler and linker from MSVC 4.2, and its dependencies; SPLITSYM.EXE from NT 3.51 DDK to split COFF debug symbols from executables) is present in msvc-ppc directory.

To build the NT 3.5x GDI driver fpgx35dll you also need the powerpc winsrv.lib from NT 3.51 DDK.

The headers are included and come from various places with slight modifications for working with this toolchain, or for backwards compatibility reasons:

  • nt4/sdk - NT4 SDK
  • nt4/ddk - NT4 DDK (including all the headers from the src/*/inc directories)
  • nt4/crt - VC++ 4.0 (CRT headers)
  • nt4/hal - because of a lack of a public dump, this folder includes the headers that have evidence suggesting they were included in the NT4 halkit (minus nthal.h which is in the hal source folder, and was modified to allow for backwards compatibility). Some have been modified to allow them to be included by drivers after ntddk.h (so drivers can call HalDisplayString for debugging purposes, or use LOADER_PARAMETER_BLOCK to determine whether they are running in text setup or not).

The makefiles used are derived from devkitPro.

Ensure PEPPC environment variable is set to the peppc-build/toolchain/bin directory.

You must build the hal first (cd halartx; make; cd ..) before you can build the other drivers, as the HAL implements the exported IOP IPC and EXI drivers (due to the HAL itself using them).

Acknowledgements

  • libc used is baselibc
  • ELF loader, arcfw makefile (and some cache invalidation functions) adapted from The Homebrew Channel
  • Other makefiles adapted from devkitPro
  • Some lowlevel powerpc stuff, and ARC firmware framebuffer console implementation and font, adapted from libogc
  • EXI-IDE driver in ARC loader adapted from Swiss
  • IOS IPC driver in ARC firmware adapted from The Homebrew Channel's reload stub
  • ISO9660 FS implementation inside ARC firmware is lib9660 with some modifications.
  • FAT FS implementation inside ARC firmware is Petit FatFs with some modifications; additionally the full FatFs is used for reading the underlying disk images on FAT16/FAT32/exFAT partitions (in ARC and inside iossdmc.sys and fpexiblk.sys)
  • GDI driver derived from NT4 DDK example framebuf.
  • Various drivers adapted from those in libogc.