How to develop for Nintendo 64

Discussion in 'Nintendo Game Development' started by level42, Aug 14, 2014.

  1. level42

    level42 Spirited Member

    Joined:
    Mar 27, 2012
    Messages:
    157
    Likes Received:
    28
    How to develop for Nintendo 64 - Where to begin

    Ok, so here's the scoop. I've got a Partner-N64, and a manual of sorts, which is 100% in Japanese.

    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    I'm not quite sure where to begin.

    I've found a copy of the SDK installer package online, which has been installed, but again, no idea how to use any of the software.

    Does anyone have any information or leads as to how this all works? Any kind of reading material that would be good to start with?

    I have a small collection of stuff of material that I've been collecting online, but still have no idea where to begin.

    Here are the resources I've been collecting: http://level42.ca/projects/nintendo-64-development/ (It's my own site, not sure if there are rules against posting it, please let me know and I will remove the link.)
     
    Last edited: Aug 15, 2014
  2. olivieryuyu

    olivieryuyu Robust Member

    Joined:
    Apr 9, 2005
    Messages:
    234
    Likes Received:
    2
  3. level42

    level42 Spirited Member

    Joined:
    Mar 27, 2012
    Messages:
    157
    Likes Received:
    28
    Sure is! I just wish I knew how to use it :(
     
  4. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    You seem to have everything needed.
    Dig into the samples of the Ultra SDK, compile them, then use the Partner N to load the roms on the n64. Easy :)
     
  5. cmonkey

    cmonkey Rising Member

    Joined:
    Mar 29, 2012
    Messages:
    62
    Likes Received:
    20
    Beautiful! You should definitely consider archiving and (hopefully) sharing those floppies with the community. I'm not sure that they've ever been made publicly available before. I wonder if they contain the elusive exegcc compiler.....
     
    Last edited: Aug 15, 2014
  6. level42

    level42 Spirited Member

    Joined:
    Mar 27, 2012
    Messages:
    157
    Likes Received:
    28
    I wish I knew what software to use, and how to use said software. Any suggestions? Any reading material I should start with?

    The software is entirely in Japanese, I'll probably upload the disk's later on, once I understand what they are. I've already got backups of the 4 disk's, because we all know how reliable 1.44" floppies are ...


    ---


    Also note, I've built my "Dev" PC on Windows XP, I assumed it would be more then suffice to handle the Win 95/98 software, alternately, would you recommend using Win 95/98, instead of Win XP?
     
    Last edited: Aug 15, 2014
  7. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Make sure you make actual disk images of the disks, don't just "backup" the files.

    You'll need Win 95, 98 or Me. NT based systems won't be able to communicate with the card without a driver, and it seems unlikely one would exist.

    To use the Japanese software you'll probably even need a Japanese edition of Windows or you'll run into code page issues (Japanese software used SJIS strings). There should be English versions somewhere though.

    Note the card's hex switches. These control the card's port address decoding and it's up to you to make sure there isn't a conflict--ISA isn't plug and play.
     
  8. level42

    level42 Spirited Member

    Joined:
    Mar 27, 2012
    Messages:
    157
    Likes Received:
    28
    How do I make an image of the disks? I copied the data, and was able to install the software from my "Copy" that I made.

    I'm going to try and build a Win 98 machine instead. I should be able to get away with an English Windows 98, with Japanese language pack.

    As for the cards hex switches, I don't even know what to do with them as I have no instructions in english. This is partly what I'm here to try and find out. I've never used ISA devices before.
     
  9. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    You can make a floppy disk image with any disk imaging tool (WinImage is a popular one), or "dd" if you have a *nix system.

    Simply copying the files modifies the file attribute(s) and doesn't preserve the original FAT data of course. It's important to make images when you're archiving media to preserve the historical integrity (DOS disks can effectively be dumped losslessly with a standard PC disk controller), also for determining data integrity (so other people can directly compare their disk images to yours), and because there could be cool hidden data on the disk (such as source code, hidden notes or image data) that is ignored by the OS when you copy files/directories that someone might find. It's good practice to always make images of everything.


    Re the decoding: check the switch positions, they're probably set to the default I/O address which was chosen to not conflict with other common periperhals at the time. The left switch is the most significant 4 bits, middle is middle 4 bits, right is least significant bits. Together they make a 12-bit address that specifies the base address of the card (or range, some of the bits probably won't be used for decoding). To make sure you don't have a conflict check all devices in the device manager for their "I/O range". Unfortunately you'll need to know which bits are used by the Partner card for decoding. It appears that the high 4 bits aren't (A15-A12), which might means that the card is decoded to EVERY 4 KiB of memory in the (64 KiB) I/O address space, so you could have to check all 16 mirrors for conflicts. You might be able to find some reference to I/O addresses in the Japanese text to get an idea which base is suggested. This could also be important if you have to specify the base address to the communications software; if any bits aren't used you'll probably have to mask them out when giving the address.


    If you're really serious about N64 dev you probably shouldn't bother with the Partner until you're already comfortable with the platform, if at all (though you might still want to use Nintendo's toolchain immediately). The Partner is nothing more than a simple cart emulator which inconveniently interfaces via an expansion card. The only upside over 3rd party "solutions" is that you'll get some software debug facilities and not have to roll your own, but maintaining a Win 95 machine is probably not even worth that. A more modern machine will give you a much faster build-test cycle, plus emulators give you hardware debugging.
     
    Last edited: Aug 15, 2014
  10. DSwizzy145

    DSwizzy145 Well Known Member

    Joined:
    Aug 6, 2011
    Messages:
    1,653
    Likes Received:
    45
    If you wanna develop for the Nintendo 64, I've heard a Doctor V64 is a good alternative to test your work on instead of having to pay for higher development tools or hardware i believe
     
  11. level42

    level42 Spirited Member

    Joined:
    Mar 27, 2012
    Messages:
    157
    Likes Received:
    28
    Which one is the left, and which is the right?

    Here is the config that came with the card:

    [​IMG]
     
  12. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
  13. olivieryuyu

    olivieryuyu Robust Member

    Joined:
    Apr 9, 2005
    Messages:
    234
    Likes Received:
    2
    I guess a everdrive64 as well
     
  14. DSwizzy145

    DSwizzy145 Well Known Member

    Joined:
    Aug 6, 2011
    Messages:
    1,653
    Likes Received:
    45
    or that too lol
     
  15. Zoinkity

    Zoinkity Site Supporter 2015

    Joined:
    Feb 18, 2012
    Messages:
    499
    Likes Received:
    108

    Not in my experience, at least on the N64.
    Emulators allow a whole stack of noncompliant behavior like unaligned memory addresses, 32bit instead of 64bit addresses, allowing ROM execution within the exception handler, ignore memory mirroring, etc. Most don't implement the full opcode set (including traps, which you may be using for debugging or certain homebrew toolchains) and implement some hardware addresses as read-only when they are writable. Plus, you'll have to use an LLE RSP plugin as all HLE plugins have known and sometimes serious inaccuracies.


    Using the PC board allows interaction at runtime and full access to rdram and registers--at least if you're using Nintendo's toolchain or something similar. It's a nice advantage to say the least.
    Incindentally, Win9x can be upgraded with a kernel extension and other useful tools. Since there is a limit of 512MB(?) ram native that can be used by the OS, most people set any additional memory into ramdrives. You can wind up with a pretty fast system if you know what you're doing.
     
    Last edited: Aug 17, 2014
  16. level42

    level42 Spirited Member

    Joined:
    Mar 27, 2012
    Messages:
    157
    Likes Received:
    28
    Sorry guys, just wanted to let you know, I haven't abandoned this thread, but rather, put it on temporary hold.

    I'm trying to get windows 98 up and running before I continue, but my hardware (NIC and GPU) is giving me issues, I'm currently sussing out some alternate hardware.

    Will reply soon,

    Thanks for the help thus far.

    (Also note, I have an Everdrive 64 as well, but I want to develop using the KMC kit I have)
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page