Next Generation Emulation banner

1 - 8 of 8 Posts

·
Registered
Joined
·
5 Posts
Discussion Starter #1
Has anyone done this?

Is this possible? I know a few years ago no one would think of it because emulation was more primitive and such, but what about now? Is emulation of the Nintendo 64 on the DS any more possible now than then? I know emulation as a whole has become much more efficient, and there are devices avaliable to add RAM and flash memory to the DS so I think it may be a bit more probable. Any thoughts?
 

·
Registered
Joined
·
7,330 Posts
Not going to happen, ever.
 

·
Banned
Joined
·
23,263 Posts
DS ports of n64 games are PORTS, not direct emulation. they use reduced texture sizes and the code is optimised for the DS.
 

·
Registered
Joined
·
7,330 Posts
Heh, well, certainly not with that attitude.
Uh... attitudes don't change facts, sorry.

Having dealt with the N64's capabilities (I've written an Zelda OoT/MM editor/viewer, an F3DEX (Banjo Kazooie, Starfox, Animal Forest etc) editor/viewer), I'll be the first to tell you it's just not possible. I'd delve into it, but it's a lot more complicated than N64 > DS. ;)
 

·
Registered
Joined
·
5 Posts
Discussion Starter #7
Uh... attitudes don't change facts, sorry.

Having dealt with the N64's capabilities (I've written an Zelda OoT/MM editor/viewer, an F3DEX (Banjo Kazooie, Starfox, Animal Forest etc) editor/viewer), I'll be the first to tell you it's just not possible. I'd delve into it, but it's a lot more complicated than N64 > DS. ;)
Not that I don't belive you or your credentials, cooliscool, but would you please elaborate on why it is impossible for a layman such as myself?
 

·
Banned
Joined
·
23,263 Posts
the ARM9E (DS Main processor) is only 32bit, where the Processor in the N64 is a 64bit


the ARM9E is not just the brain of the DS, but also its graphics processor for 3D, where the ARM7 is for 2D.

Technical specifications


  • Weight: 300 grams (9.7 ounces).
  • Physical dimensions: 148.7 x 84.7 x 28.9 mm (5.85 x 3.33 x 1.13 inches).
  • Screens: Two separate 3-inch TFT LCD, resolution of 256 x 192 pixels, dimensions of 62 x 46 mm and 77 mm diagonal, and a dot pitch of 0.24 mm. The gap between the screens is approximately 21 mm, equivalent to about 92 "hidden" lines. The lowermost display of the Nintendo DS is overlaid with a resistive touchscreen, which registers pressure from one point on the screen at a time, averaging multiple points of contact if necessary.
  • CPUs: Two ARM processors, an ARM946E-S main CPU and ARM7TDMI co-processor at clock speeds of 67 MHz and 33 MHz respectively. The ARM946E-S CPU processes 3D rendering and the ARM7TDMI processes 2D rendering for DS games and Game boy Advance gameplay.
  • RAM: 4 MB of Mobile RAM
  • Voltage: 1.65 volts required
  • Storage: 256 kB of Serial Flash Memory
  • Wireless: 802.11 + Nintendo Original Protocol
  • Wi-Fi: Built-in 802.11 Wireless Network Connection (802.11b compatible with WEP encryption support only)[25]
The system's 3D hardware performs transform and lighting, texture-coordinate transformation, texture mapping, alpha blending, anti-aliasing, cel shading, and z-buffering; however, it uses point (nearest neighbor) texture filtering, leading to some titles having a blocky appearance. The system is theoretically capable of rendering about 120,000 triangles per second at 60 frames per second, which is comparable to the Nintendo 64.[26] Unlike most 3D hardware, it has a set limit on the number of triangles it can render as part of a single scene; the maximum amount is about 6144 vertices, or 2048 triangles per frame. The 3D hardware is designed to render to a single screen at a time, so rendering 3D to both screens is difficult and decreases performance significantly. The DS is generally more limited by its polygon budget than by its pixel fill rate. There are also 512 kilobytes of texture memory, and the maximum texture size is 1024x1024 pixels.
The system has 656 kilobytes of video memory[27] and two 2D engines (one per screen). These are similar to (but more powerful than) the Game Boy Advance's single 2D engine; however, the cores are divided into the main core and sub core. Only the main core is capable of vertex 3D rendering.
The Nintendo DS has compatibility with Wi-Fi IEEE 802.11. The unit also supports a special wireless format created by Nintendo and secured using RSA security signing (used by the wireless drawing and chatting program PictoChat for the DS). Wi-Fi is used for accessing the Nintendo Wi-Fi Connection, where users can use the internet or compete with other users playing the same Wi-Fi compatible game.
The N64 processor, is a 64bit NEC processor, and includes a 64bit Coprocessor for Graphics and Sound, called the Reality Co Processor

Central processing unit

The Nintendo 64's central processing unit (CPU) is a MIPS R4300i-based NEC VR4300.[13] The CPU is 64-bit with a core clock speed of 93.75 MHz. It is connected to the rest of the system through a 32-bit data bus. VR4300 is a RISC 5-stage scalar in-order execution processor with an integrated floating point unit. This was by far the most powerful CPU used in a game console of its generation.[citation needed] However, the cost-reduced NEC VR4300 CPU used in the console has a 32-bit system bus whereas more powerful MIPS CPUs are equipped with a 64-bit system bus.[13] Many games took advantage of the chip's 32-bit processing mode as the greater data precision available with 64-bit data types is not typically required by 3D games. Also 64-bit data uses twice as much RAM, cache, and bandwidth, thereby reducing the overall system performance.[14] This was later taken advantage of by emulators such as UltraHLE and Project64, which had to run on 32-bit PC systems. These emulators performed most calculations at 32-bit precision, and trapped the few OS subroutines that actually made use of 64-bit instructions.[14]
The CPU has an internal 32 KB L1 cache, but no L2 cache. It was built by NEC on a 0.35 µm process and consists of 4.6 million transistors. The CPU is cooled passively by an aluminum heatspreader that makes contact with a steel heat sink above.[15]

[edit] Reality Co-Processor

The Nintendo 64's graphics and audio duties are performed by the 64-bit SGI coprocessor, named the "Reality Co-Processor". The RCP is a 62.5 MHz chip split internally into two major components, the "Reality Signal Processor" (RSP) and the "Reality Display Processor" (RDP), also called the "Reality Drawing Processor". Each area communicates with the other by way of a 128-bit internal data bus that provides 1.0 GB/s bandwidth. The RSP is a MIPS R4000-based 8-bit integer vector processor. The RSP performs transform, clipping and lighting calculations, and triangle setup.[citation needed]
The RSP was programmable through microcode (µcode). By altering the microcode run on the device, it could perform different operations, create new effects, and be better tuned for speed or quality. However, Nintendo was unwilling to share the microcode tools with developers until the end of the Nintendo 64's life-cycle. Programming RSP microcode was said to be quite difficult because the Nintendo 64 µcode tools were very basic, with no debugger and poor documentation. As a result, it was very easy to make mistakes that would be hard to track down; mistakes that could cause seemingly random bugs or glitches. Some developers noted that the default SGI microcode ("Fast3D") was actually quite poorly profiled for use in games (it was too accurate), and performance suffered as a result. Several companies were able to create custom microcode programs that ran their software far better than SGI's generic software (e.g. Factor 5, Boss Game Studios and Rare).[citation needed]
Two of the SGI microcodes

  • Fast3D microcode: < ~100,000 high accuracy polygons per second.
  • Turbo3D microcode: 500,000–600,000 normal accuracy polygons per second.
The RSP also frequently performs audio functions (although the CPU can be tasked with this as well). It can play back most types of audio (dependent on software codecs) including uncompressed PCM, MP3, MIDI and tracker music. The RSP is capable of a maximum of 100 channels of PCM at a time, but this is with 100% system utilization for audio. It has a maximum sampling rate of 48 kHz with 16-bit audio. However, storage limitations caused by the cartridge format limited audio size (and thus quality).[citation needed]
The RDP is the machine's rasterizer and performs the bulk of actual image creation before output to the display. Nintendo 64 has a maximum color depth of 16.8 million colors (32,768 on-screen) and can display resolutions of 256×224, 320×240, and 640×480 pixels. The RCP also provides the CPU's access to main system memory via a 250 MB/s bus. Unfortunately, this link does not allow direct memory access for the CPU. The RCP, like the CPU, is passively cooled by an aluminum heatspreader that makes contact with a steel heat sink above.[citation needed]

[edit] Memory

The final major component in the system is the memory, also known as RAM. The Nintendo 64 was the first console to implement a unified memory subsystem, instead of having separate banks of memory for CPU, audio, and video, for example. The memory itself consists of 4 megabyte of RAMBUS RDRAM (expandable to 8 MB with the Expansion Pak) with a 9-bit data bus at 500 MHz providing the system with 562.5 MB/s peak bandwidth. RAMBUS was quite new at the time and offered Nintendo a way to provide a large amount of bandwidth for a relatively low cost. The narrow bus makes board design easier and cheaper than the higher width data buses required for high bandwidth out of slower-clocked RAM types (such as VRAM or EDO DRAM). However RDRAM, at the time, came with a very high access latency, and this caused grief for the game developers because of limited hardware performance.[citation needed]

The 32bit processor inside the DS is simply not powerful enough to emulate the 64bit N64 processors. though this is the most basic of reasons.
 
1 - 8 of 8 Posts
Top