Nintendo 64

From ScummVM :: Wiki
Revision as of 20:31, 4 April 2010 by Criezy (talk | contribs) (→‎N64 gamepad: Use template and reformat to make it similar to other platforms)
Jump to navigation Jump to search
Nintendo 64 Port
Latest Released Version 2.8.1
Supported Audio Options OGG, Uncompressed
Additional Webpage(s) None
Maintainer(s) Hkz
Packager(s) None
Forum Port Forum
Status Maintained
First Official Version 1.1.0

ScummVM has also been ported to the Nintendo 64.

Requirements

Here is what you need to run ScummVM on your Nintendo 64:

  • Nintendo64 (haha...)
  • N64 Gamepad
  • N64 Mouse (optional, gives better game experience)
  • Controller PAK / FlashRAM cart (for saves)
  • Flash cart or copier (like Myth N64 or DoctorV64)
  • N64 Memory expansion (this is almost a requirement)

Build cart images from binaries

ScummVM N64 cart images are composed by two parts: a binary with executable code and a romfs image, containing game datafiles and other useful data. Prebuilt binaries needs to be joined with a romfs image containing datafiles from your games.

To generate a romfs image under linux/unix you need 'genromfs' tool from http://romfs.sourceforge.net/, create a directory, copy game data inside, and then generate the romfs image.

mkdir GAMEDATA
cp -a ../games/mygamedata ./GAMEDATA
genromfs -f ./ROMFS.img -d ./GAMEDATA -V romname

This creates a ROMFS image with 'mygamedata' directory inside. Now you need to join this with the appropriate scummvm engine binary:

cat scummvm-bass.bin ROMFS.img > scummvm-bass.n64

Now the last step, you need to fix the checksum of the image, there are various tools for this, i normally use ucon64.

ucon64 --n64 --chk scummvm-bass.n64

This gives you a n64 cart image you can use with your flashcart/copier to play the game.

NOTE Some copiers requires additional treatment of the cart image before uploading: the DoctorV64 for example requires the image to be byte-swapped and padded to the nearest 2mb multiple size. You can use ucon64 tool to perform these changes.

ucon64 --n64 --v64 --padn=16777216 scummvm-bass.n64

You are then ready to upload the image to the cart and play!

Saving & Loading

ScummVM-N64 port supports two kind of saves: FlashRAM saves and controller pak saves. If both are detected, FlashRAM is used.

WARNING!!! ScummVM-N64 currently ERASES the data contained in your FlashRAM and controller PAK without warning!!! Plug those in only if you want to use their space for ScummVM saves.

Controller Pak

The PAK is a device plugged in the expansion port located underneath the gamepad, it contains at most 32 kilobytes of data, which makes it very limited for ScummVM use (a lot of games save size grows over 32kb when the game approaches the end). It contains battery backed up ram, so savegames might disappear if the battery runs off.

FlashRAM

FlashRAM is contained in some game carts (like Command & Conquer), it keeps 128 kilobytes of data at most, it's a little slower in saving than Controller PAK (it might show up as a few seconds delay when saving in-game), it keeps enough data for most (all) games supported by the port. Because of FlashRAM hardware (and the sake of simplicity) there is a top limit of save files that can be created (8, no matter what the sizes are).

Input

How to control games in ScummVM N64 port.

N64 gamepad

 Game Controller Mapping:
Button Action
Left Trigger ESC
Right Trigger Virtual Keyboard
Analog Mouse Movement
D-Pad Slow Mouse Movement
Start F5 / Main menu in some games
Z Mouse Left Button
B Mouse Right Button
A . / Skip dialogues in some games
C buttons Numeric keypad keys


N64 Mouse

Used like a normal PC mouse, in addition to the gamepad.

Notes

  • If virtual keyboard doesn't show up, you need to make sure you included 'vkeybd_default.zip' in the root of your romfs image.
  • In some games (mostly gob games) cursor movement might be choppy, it's a known problem and related on how N64 port manages screen updates.