Announcement

Collapse
No announcement yet.

With Linux 5.12 Set To Boot On The Nintendo 64, The N64 Controller Driver Is Now Queued

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • V10lator
    replied
    Originally posted by Yttrium View Post
    Not quite, This code only works on the N64 linux version with real controllers. Which makes sense as no PC has native ports for N64 controllers and no N64 has USB ports for controllers trough USB adapters.

    However I believe there IS some support for USB adapter controllers, I dont know what state those are in though.
    The USB adapters are just registering as generic gamepads / HID devices to the OS and translate the N64 protocol to HID, so there are no special drivers needed. There's just one exception: The Raphnet adapter has a feature called direct controller communication which allows emulators to access the controller like a real N64 (meaning things like memoy cards, rumble sticks and even gameboy transfair adapters just work). I wonder if this new driver could be adapted to this (to remove the HID layer for better latency and maybe other benefits).
    Last edited by V10lator; 29 January 2021, 02:20 PM.

    Leave a comment:


  • yoshi314
    replied
    i wish we could just build such things as external modules for linux kernel. but that would clash with the development style of it, unfortunately.

    i am not really a fan of having all that code for likely obscure devices in one kernel tarball.

    even though the n64 code is not that huge, there is a lot of hardware drivers in the kernel that majority of people do not use.

    something like linux-libre, but with more obscure drivers removed instead.

    Leave a comment:


  • GI_Jack
    replied
    Originally posted by HyperDrive View Post

    Does any of this even matter? The system has barely enough RAM to boot the kernel. This is something that really irks me; since when does computing have to be "useful"? Last time I saw, Linux was written just for fun. People are free to do whatever they choose to do with their free time. If adding support for another system means writing a couple of hundred of self-contained lines of code, which don't represent a maintenance burden to the underlying architecture, why not?
    It does when its upstream in the kernel, and when breakage blocks releases, or becomes a maintenance requirement with new code. If this was just a port in someone's github repo, it wouldn't matter. Now, it NEEDS to be maintained.

    Regardless of what Linux was created for, its a serious business production os that people depend on. Often platforms get dropped because they are broken and there is no real userbase that depends on them, and its actual work to ensure they stay working on every new version.

    As for anyone developing for the N64 platform: It would be far easier, cheaper, and less battles with Nintendo, the corporation just to use a rasbpi, with an N64 emulator, than actual N64 hardware.

    In fact, there is already a turnkey solution oon the RetroPie, that among 50 other platforms, plays your old N64 games:


    Leave a comment:


  • baka0815
    replied
    Originally posted by Yttrium View Post
    Not quite, This code only works on the N64 linux version with real controllers. Which makes sense as no PC has native ports for N64 controllers and no N64 has USB ports for controllers trough USB adapters.

    However I believe there IS some support for USB adapter controllers, I dont know what state those are in though.
    Thanks!

    Leave a comment:


  • OneTimeShot
    replied
    Originally posted by GI_Jack View Post
    Lets put it this way:

    What people are going to use N64s for:
    Play N64 games with stock firmware.
    .
    How about: "making a N64 cartridge with a launcher"? A lot of people play games (admittedly of dubious legality) with a ROM cartridge. That ROM cartridge needs an OS to do the loader menus and snapshots and so forth. May as well be Linux.

    Leave a comment:


  • Paradigm Shifter
    replied
    Originally posted by ⲣⲂaggins View Post
    No, there really is no reason. Linux was around before the N64, and they didn't use it as the operating system. Instead, they went with an approach where every rom has its own incredibly minimal OS baked into it, because of the extreme need to save space. Because of this, I have no idea what use Linux would be on the N64. Anyone who wants to run something on that console just writes lovingly hand-crafted MIPS assembly to do the job instead.

    All the hardware quirks are also already well-known and documented. Besides, without knowing them, how would you get Linux up and running in the first place?

    There is only one good reason I can think of for this project, which I completely endorse:

    [image snipped]
    Absolutely. The "challenge accepted" attitude of the Linux/BSD/open source communities is one of the best bits!

    Originally posted by HyperDrive View Post

    Does any of this even matter? The system has barely enough RAM to boot the kernel.
    Time flies, I know, and the pace of technology advances... but my first PC had the same amount of RAM, and ran Windows, Office and Internet Explorer in that!

    Now try getting any GUI browser to run in <128MB...
    Last edited by Paradigm Shifter; 26 January 2021, 09:39 PM.

    Leave a comment:


  • HyperDrive
    replied
    Originally posted by GI_Jack View Post

    Lets put it this way:

    What people are going to use N64s for:
    Play N64 games with stock firmware.

    Given the age and specs, it seems it has little use running linux, as stock firmware is already optimized for obvious use cases.

    The controllers, however would be of interest to people playing video games, either N64 emulators or just people fond of that console.

    edit: If anyone wanted a multi-system emulator, there are many better options, both commercial and DIY.
    Does any of this even matter? The system has barely enough RAM to boot the kernel. This is something that really irks me; since when does computing have to be "useful"? Last time I saw, Linux was written just for fun. People are free to do whatever they choose to do with their free time. If adding support for another system means writing a couple of hundred of self-contained lines of code, which don't represent a maintenance burden to the underlying architecture, why not?

    Leave a comment:


  • TheOne
    replied
    There is something that nobody has thought yet. What if some company is planning on releasing a more powerful version of the N64 console that besides playing n64 original catridges can do other stuff like the newer game consoles of today?

    Leave a comment:


  • woife
    replied
    Originally posted by ddriver View Post
    What is the possible motivation for polluting the kernel code with support for such outdated, weak, barely used and barely useful platform?
    Does not look like pollution to me ... it is a nice little driver, and if you look at the actual code it is pretty straight forward. This means also any required maintenance will be quite limited.

    Leave a comment:


  • GI_Jack
    replied
    Originally posted by HyperDrive View Post
    What do you mean, polluting? The code is self-contained. You're not even building the code if you're not building your kernel specifically for an N64.
    Lets put it this way:

    What people are going to use N64s for:
    Play N64 games with stock firmware.

    Given the age and specs, it seems it has little use running linux, as stock firmware is already optimized for obvious use cases.

    The controllers, however would be of interest to people playing video games, either N64 emulators or just people fond of that console.

    edit: If anyone wanted a multi-system emulator, there are many better options, both commercial and DIY.

    Leave a comment:

Working...
X