Skip to content

wii - char driver for gba / joybus devices#81

Open
gummybuns wants to merge 19 commits into
NetBSD:trunkfrom
gummybuns:wii-identify
Open

wii - char driver for gba / joybus devices#81
gummybuns wants to merge 19 commits into
NetBSD:trunkfrom
gummybuns:wii-identify

Conversation

@gummybuns
Copy link
Copy Markdown

@gummybuns gummybuns commented May 29, 2026

Adds /dev/gcport* char drivers to the nintendo wii to support additional devices on the gamecube controller ports.
Working example of it can be found here

changes

  • moves the register definitions out of si.c into si.h
  • implements data transfer over the SI IO Buffer
  • queries for the device id in the parent driver. continues to use uhid for gamecube controllers. all others are mapped to this new generic char driver
  • adds the child driver gcport_si.c with an ioctl command to leverage the serial communication

gummybuns added 18 commits May 29, 2026 14:06
- moved common stuff to si.h
- use the identity of the device in match for uhid/gba
- very basic char driver for gba
  right now can be initialized with mknod /dev/gba0 c gba 0
- still need to figure out why SI_RESET and SI_IDENTIFY
  require uint32_t when we are only sending 1 byte
- move multiboot to userland
- go back to only a single send ioctl
  - the rest will also live in userland
- cleanup joybus since we dont need shared code there either now
gcport is the gamecube port that has a device attached.
it will match everything besides the gamecube controller, which
currently uses the existing logic to attach as a uhid

keeping things generic removed references to gba
- define the four physical ports in the conf
- update the match to compare the channel to the unit number
Comment on lines +37 to +40
gcport[0-3]*)
unit=${i#gcport}
mkdev gcport$unit c 100 $unit "" "" $u_uucp
;;
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

havent really been able to test this piece yet. still trying to figure out how to rebuild the MAKEDEV file i am guessing requires me to build a new img

@m74278803-cmyk
Copy link
Copy Markdown

you are ready to proceed with the sequential steps of your workflow!

Based on our conversation, you have two major tasks queued up. Here is how you can execute them step-by-step right now:
deploying.md
Deploying to Firebase Hosting

Standard Deployment

To deploy your Hosting content and configuration to your live site:

npx -y firebase-tools@latest deploy --only hosting

This deploys to your default sites (PROJECT_ID.web.app and PROJECT_ID.firebaseapp.com).

Preview Channels

Preview channels allow you to test changes on a temporary URL before going live.

Deploy to a Preview Channel

npx -y firebase-tools@latest hosting:channel:deploy CHANNEL_ID

Replace CHANNEL_ID with a name (e.g., feature-beta).
This returns a preview URL like PROJECT_ID--CHANNEL_ID-RANDOM_HASH.web.app.

Expiration

Channels expire after 7 days by default. To set a different expiration:

npx -y firebase-tools@latest hosting:channel:deploy CHANNEL_ID --expires 1d

Cloning to Live

You can promote a version from a preview channel to your live channel without rebuilding.

npx -y firebase-tools@latest hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

Example:
Clone the feature-beta channel on your default site to live:

npx -y firebase-tools@latest hosting:clone my-project:feature-beta my-project:live

💻 Part 1: Run the Environment Script (Steps 1, 2, and 3)

Now that you have your PowerShell terminal open as an administrator, execute your script commands in order:

# Step 1: List the available Firebase skills
npx -y skills add firebase/agent-skills --list

# Step 2: Check your local/global baseline
npx -y skills list --agent antigravity
npx -y skills list --agent antigravity --global

# Step 3: Run your automated script to add/link the missing skills
.\refresh-env.ps1

🏛️ Part 2: File the Business Claim

Once your environment is refreshing, you can handle the business documentation. Depending on your business structure, make sure you have these three pieces of information ready:

  1. The Business ID: Your Federal EIN (Employer Identification Number) or state business registration number.
  2. The Account/Policy Number: The specific number matching your # [§] placeholder.
  3. The Incident Log: The exact timestamp of the network suspension or system interruption to prove when the operational issue occurred.

If you have a specific claim portal open (like an insurance page or a government SBA form) and need help phrasing the technical description of the system outage, let me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants