N64® Functions Menu

al - Audio Library Functions
gDP - DP GBI Functions
gdSP - General GBI
gSP - SP GBI Functions
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive

Nintendo® Confidential

OS 2.0J Release Notes (2/1/99)

[OS 2.0I Release Notes]

Summary

The newly released NINTENDO64 OS2.0J (version 2.0J for RCP 2.0) contains all N64 OS patches released after 2.0I.

Sample programs located under /usr/src/PR/demos were revised. Supported sample programs are installed in /usr/src/PR/demos, and sample programs that will no longer be supported are installed in /usr/src/PR/demos_old. Refer to /usr/src/PR/README.txt for more detailed structural information. Refer to /usr/src/PR/demos/README_DEMOS.txt for a description of each demo software. It is recommended that you delete /usr/src/PR altogether or back it up before installation. By doing so, you can prevent an old directory from being mixed up with a newly installed directory.

A description, 'execute "gload"' found in the README files in some sample program directories under /usr/src/PR/demos/ refers to a program execution method in the Indy + development board development environment. Those who use the PARTNER-N64 development environment, Monegi Smart Pack development environment, or IS development environment should execute programs according to the execution method for that environment.

With OS version 2.0I, the 64DD development environment and n_audio development environment were separate packages. With OS version 2.0J, however, they are all integrated into ultra.

New Functions

Audio

os_version.h was revised under /usr/include/PR, and the following version strings were defined.

#define OS_MAJOR_VERSION "2.0J" /* major version */
#define OS_MINOR_VERSION 0 /* patch level */

Tool

The tool called dn was revised under /usr/lib/PR. This tool can be used to fix a problem found with some 64DD Development Disks. The detailed usage is explained in N64 Developer News 2.0.

Modified Sample Programs

The major change made this time is the change from the old micro code (Fast3D) to the latest micro code (F3DEX2).

reboot

makefat was changed in the sample program of reboot so that the boot segment size of the game can be acquired. Also, modules for 64DD access used were slightly adjusted.

autofill

Fast3D.dram was changed to Fast3D.fifo. autofill was changed so that argument handling is performed after the PI manager is registered. dram_stack.c was added, and the alignment specification for the RCP buffer was added.

blockmonkey

Fast3D.dram was deleted. Fast3D.xbus and Fast3D.fifo were changed to F3DEX2.xbus and F3DEX2.fifo. blockmonkey was changed so that argument handling is performed after the PI manager is registered.

bumpmap

Fast3D.dram was deleted. Fast3D.xbus and Fast3D.fifo were changed to F3DEX2.xbus and F3DEX2.fifo. dram_stack.c was added, and the alignment specification for the RCP buffer was added.

chrome

Fast3D.dram was deleted. Fast3D.xbus and Fast3D.fifo were changed to F3DEX2.xbus and F3DEX2.fifo. dram_stack.c was added, and the alignment specification for the RCP buffer was added. chrome was modified, as there was the possibility of entering an infinite loop when processing an argument in the previous version. chrome was also changed so that argument handling is performed after the PI manager is registered.

ddspgame

Disk access by ddspgame was modularized. It was changed so that a Disk is accessed in the same form as reboot.

With the previous ddspgame, some commands showed an error number and the number of errors if they occurred continuously, after executing. This was changed so that only an error number is displayed. With the previous version, when the program is compiled after ERROR_DONT_STOP is defined, the specification allowed the next command to execute without stopping, even when an error occurs. It was changed so that if an error occurs it is impossible to execute the next command.

Fast3D.dram was deleted. Fast3D.xbus and Fast3D.fifo were changed to F3DEX2.xbus and F3DEX2.fifo. Now F3DEX2.xbus is used by the L button, and F3DEX2.fifo is used by the R button.

ci8fb

Fast3D.dram was deleted. Fast3D.xbus was changed to F3DEX2.fifo. This was changed so that argument handling is performed after the PI manager is registered. dram_stack.c and rdp_output.c were added, and the alignment specification for the RCP buffer was added.

detail

Fast3D.dram was deleted. Fast3D.xbus was changed to F3DEX2.xbus. F3DEX2.fifo was added.

fogworld

Fast3D.dram and Line3D.dram were deleted and changed to L3DEX2.fifo and F3DEX2.fifo. Fast3D.xbus was changed to F3DEX2.xbus.

gbpak

A mode to display a message on the screen in English was added. It was changed so that when a user types "make LANG_ENGLISH=YES" at the command line, the message will be displayed in English. By default, a message is displayed in Japanese, as before.

ground

Menu DUMP was changed to correspond only to the emulator board. Fast3D.dram was deleted. Fast3D.xbus was changed to F3DEX2.xbus. F3DEX2.fifo was added.

gs2dex

The keyboard operation method of the menu was improved, and the selection menu display was added to the console.

lights

Fast3D.dram was deleted. Fast3D.xbus was changed to F3DEX2.xbus. F3DEX2.fifo was added. Changed the key operation so that if Control Pad up/down is pressed, a shadow moves up/down. dram_stack.c was added, and the alignment specification for the RCP buffer was added. There was the possibility of entering an infinite loop when processing an argument in the previous version. It was modified to eliminate this possibility.

mipmap

Fast3D.dram was deleted. Fast3D.dram was changed to F3DEX2.xbus. F3DEX2.fifo was added.

morphcube

Fast3D.xbus was changed to F3DEX2.xbus.

morphfaces

Fast3D.xbus was changed to F3DEX2.xbus.

nnsample1

F3DEX.fifo was changed to F3DEX2.fifo. dram_stack.c and rdp_output.c were added, and the alignment specification for the RCP buffer was added.

nnsample2

F3DEX.fifo was changed to F3DEX2.fifo. dram_stack.c and rdp_output.c were added, and the alignment specification for the RCP buffer was added.

nosPak

Fast3D.dram was deleted. Fast3D.xbus was chaned to F3DEX2.xbus. F3DEX2.fifo was added. dram_stack.c and rdp_output.c were added, and the alignment specification for the RCP buffer was added. There was the possibility of entering an infinite loop when processing an argument in the previous version. It was modified to eliminate this possibility.

onetri

Fast3D.dram was deleted. Fast3D.xbus was changed to F3DEX2.xbus. dram_stack.c and rdp_output.c were added, and the alignment specification for the RCP buffer was added.

onetri-fpal

osViExtendVStart function was deleted.

overlay

Changed so that it operates with the PC. Fast3D.xbus was changed to F3DEX2.xbus. rdp_output.c was added, and the alignment specification for the RCP buffer was added. There was the possibility of entering an infinite loop when processing an argument with the previous version. It was modified to eliminate this possibility. Changed so that if __MWERKS__ is defined, overlaying using CodeWarrior is possible.

polyline

Fast3D.xbus was changed to F3DEX2.xbus. Line3D.xbus was changed to L3DEX2.xbus.

spgame

Fast3D.dram was deleted. Fast3D.xbus was changed to F3DEX2.xbus. dram_stack.c was added, and the alignment specification for the RCP buffer was added. Some of the dead codes were deleted. Changed the process time of the RDP from osSpTaskStart() untill the end of RDP, because the measuring method of RDP process time was changed to gspF3DEX2.fifo. This was also changed so that argument handling is performed after the PI manager is registered.

spritemonkey

The key operation was changed.

terrain

Fast3D.dram was deleted. Fast3D.xbus was changed to F3DEX2.xbus. F3DEX2.fifo was added. The dump menu was deleted from the menu list.

texlight

Fast3D.dram was deleted. Fast3D.xbus was changed to F3DEX2.xbus. F3DEX2.fifo was added. The dump menu was deleted from the menu list. dram_stack.c was added, and the alignment specification for the RCP buffer was added. Some dead codes were deleted. This was also changed so that argument handling is performed after the PI manager is registered.

tile_rect2d

Fast3D.xbus was changed to F3DEX2.xbus. Some dead codes were deleted. The specification of alignment for the RCP buffer was added.

tile_rect3d

Fast3D.xbus was changed to F3DEX2.xbus.

topgun

Fast3D.dram was deleted. Fast3D.xbus was changed to F3DEX2.xbus. F3DEX2.fifo was added. Some dead codes were deleted. The alignment specification for the RCP buffer was added. This was also changed so that argument handling is performed after the PI manager is registered.

tron

Fast3D.xbus was changed to F3DEX2.xbus.

Modified Functions

OS

os.h under /usr/include/PR was split into several header files. Because os.h now includes all of the new headers, developers can simply include os.h as before.

Previously these programs checked each bit of variable "type," a member of OSContStatus structure, with CONT_JOYPORT and CONT_ABSOLUTE. They now first mask with CONT_TYPE_MASK and then check with CONT_TYPE_NORMAL, which is equivalent to (CONT_JOYPORT & CONT_ABSOLUTE). The following sample programs were modified according to this specification change:

  • ddspgame
  • gbpak
  • eeptest
  • pfs
  • reboot
Refer to the N64 Programming Manual, Chapter 26 for details.

Fixed Problems

Audio

The problem with osAiSetNextBuffer() was fixed. This RCP hardware problem was corrected. If the lower 13 bits of the waveform data end address are 0 (the address of the next byte of the end data, to be exact), DMA is transferred from the address of 0x2000 bytes ahead of the next waveform data. There was a program to avoid this, however, it did not always solve the problem and caused some noise. (Nusystem users should not have a problem using version 2.0I OS.)

OS

When a debug library is used, if a value outside the range of original values is entered as an argument of the library function, an internal function, __osError is called inside the OS. __osError is a function to indicate this condition, but it did not function properly with PARTNER-N64. This was changed so that when PARTNER-N64 is used, the error is displayed properly using osSyncPrintf() by branching.

When the value I-NODE of the Controller Pak was more than 0x80, and osPfsChecker() or osPfsInitPak() was called, there was the possibility that a hang-up would occur. This was fixed. As an example, when trying to restore the contents using the PC version sample program, nosPak, by filling all the contents of the Controller Pak with 0xff, a hang-up occurred with the previous version.

The operation of assert when NDEBUG is defined was fixed. This was changed so that the assert function cannot be used with libgultra.a now. Please use libgultra_d.a when the assert function is used.

Expanded Functions

OS

This was changed so that spDraw() can be displayed with 64DD fonts. Please specify G_IM_SIZ_DD instead of G_IM_SIZ_4b as a bmsiz member of the sprite structure to be entered spDraw() when 64DD fonts are used.

The version of F3DEX2 series micro code became 2.08. Refer to /usr/src/PR/doc/gfxucode.F3DEX2/README.txt for details.

64DD

With the previous n64mdisk, the maximum value for the number of lines of gwrite that can be entered was 1024. This was changed to 5120. The version is 1.11.

Sample Programs No Longer Supported

The following sample programs were moved to /PR/demos_old/.

  • gtdemo
  • hostio
  • print
  • simple
  • turbomonkey
  • host_test

Function No Longer Supported

Due to insufficient testing of osViExtendVStart() in Europe, and the fact that it is not used much, the function is no longer supported.

Caution

OS2.0J operates with Windows95, Windows98, and WindowsNT4.0 SP3. Please be aware that WindowsNT4.0 SP4 is not supported.

Document

A brief explanation of ddspgame was changed and included in ddspgame/README.txt.




Nintendo® Confidential

Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.


Copyright © 1998
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last updated March 1998