What's new

N64 specs??

Binary64

New member
A question about programming a N64 Emulator. When a team or a person starts to programm a good nintendo64 emulator,
he have to know all the system specs of the n64. Ok it can`t be
from the I-net no. I have seached with a few good search
engines for n64 specs and game source codes, and there is
noting but game stores and "review of the Nintendo64"`s pages.
:colgate: I have no idea from where that genies get that information?! I would start a VB-64 emulator written in visual basic, in a year, when i`m ready with my studies and when i have
good programming knowelge. And for now, it would be great when everyone can tell me about that source(s) from where can
i get the System Specs. Thank you, Denis :)

http://binary64.staticip.de/
(dont worry about the q3 page, thats not my goal ;) )
:pj64:
 

N-Rage

New member
You will need a bit more than VB knowledge to make an emulator. A good knowledge of how CPU`s work is essential, a way of learning this is to learn Assembler, its quite differnt way of using languages like Basic where You dont have to keep an Eye on handling Memory.

Theoretically it would be possible to do an Emu in VB, but you wont be able to reasemble the inner workings of a system without knowledge about lowlevel Programming of the System, either by finding the full Documentation or reversing software written for the System( example: N64-Demos with sourcecode ).

Theres lowlevel-information about the N64 on www.dextrose.com.
 

Cyberman

Moderator
Moderator
Binary64 said:
A question about programming a N64 Emulator. When a team or a person starts to programm a good nintendo64 emulator,
he have to know all the system specs of the n64. Ok it can`t be
from the I-net no. I have seached with a few good search
engines for n64 specs and game source codes, and there is
noting but game stores and "review of the Nintendo64"`s pages.
:colgate: I have no idea from where that genies get that information?! I would start a VB-64 emulator written in visual basic, in a year, when i`m ready with my studies and when i have
good programming knowelge. And for now, it would be great when everyone can tell me about that source(s) from where can
i get the System Specs. Thank you, Denis :)

http://binary64.staticip.de/
(dont worry about the q3 page, thats not my goal ;) )
:pj64:

There is a lot involved here. You have several different pieces of hardware to emulate one of which is the graphics system (you can swipe a plugin to do that) Audio (again a plugin) and Controllers (again a plugin can do that). Then comes the more interesting things. RSP RDP and the MIPS 4300 instruction set etc. UHLE is an example of not reading each display instruction but instead linking to a function that does the equivalent. HLE worked so well and fast because most N64 games are made using a standard library.

Quite an ambitious project though even if you use plugins.

Cyb
 

Dominator

Moderator
Another good thing for you would be to give a look at a few open source emus.
No copy cat purpose, ofcourse, but some emu authors have been cool enough to make their source open as well as to describe some greatly important parts of their source.

In no special order, I'd suggest 1964, Daedalus and uHLE.
 

decription

New member
An N64 emu in VB?? The N64 is powerful machine and needs to be emulated in a fast lanuage. Try C or C++(object oriented). Also if you want to code an emu start with something simple and study up on it with tech docs and on how it works. Start with maybe a regular Gameboy or NES. There are plenty of docs on both of them.
 
OP
B

Binary64

New member
I`m currently learning that stuff. :)) It`s somedays hard and
somedays not. C++ is includet, i thought it would be cool, if
i write one in VB :colgate:

Lets talk about compression :cool:

I`ve read on some page, that the roms are jpeg compressed.
What does that mean, it`s impossible to compress code or
static data with jpeg compress. I think only the textures or??
And is this jpeg compressor hardware or sofware (on rom self)
so an emulator hafe to do nothing with decompression?????

??? ??? ???

:pj64:
:cool: Greets, Denis :cool: ;)
 

Quvack

Member
The roms themselves arent jpeg compressed, some roms however to have some images in them that are compressed using jpeg, roms such as Zelda, etc..
 
L

Lachp30

Guest
Your emulator would be more powerfull written in c/c++. N64 emulation is too slow coded in VB.
 

Cyberman

Moderator
Moderator
Binary64 said:
I`m currently learning that stuff. :)) It`s somedays hard and
somedays not. C++ is includet, i thought it would be cool, if
i write one in VB :colgate:

Lets talk about compression :cool:

I`ve read on some page, that the roms are jpeg compressed.
What does that mean, it`s impossible to compress code or
static data with jpeg compress. I think only the textures or??
And is this jpeg compressor hardware or sofware (on rom self)
so an emulator hafe to do nothing with decompression?????

??? ??? ???

:pj64:
:cool: Greets, Denis :cool: ;)

  1. JPEG compression is only useful for bitmaps
  2. The compression and decompression is handled by the ROM code
  3. You shouldn't have to worry about this therefore if you emulate the CPU correctly :)
    [/list=1]

    Why not try something less ambitious .. adding to an open source N64 emulator for example muopen is around :)

    Cyb
 

tbag

New member
Lachp30 said:
Your emulator would be more powerfull written in c/c++. N64 emulation is too slow coded in VB.

How would you know? no one has attempted it and besides if you code in VB correctly it can be fast in emulation :happy:

*woot! 300th post*
 

Doomulation

?????????????????????????
tbag said:
How would you know? no one has attempted it and besides if you code in VB correctly it can be fast in emulation :happy:
:sleepy:
Ummm...
Actually, vb is slow no matter what. Mostly since it uses the library. Lots of speed is lost during all these calls to the dll.
VB is, afaik, a very flexible language. The power of c++ is only its speed. Everything that c++ does, vb can do, and more flexible and easier at that. However, that is, at the cost of speed.
 

Doomulation

?????????????????????????
:sleepy:
Ummm...
Actually, vb is slow no matter what. Mostly since it uses the library. Lots of speed is lost during all these calls to the dll.
VB is, afaik, a very flexible language. The power of c++ is only its speed (compared to vb). Everything that c++ does, vb can do, and more flexible and easier at that. However, that is, at the cost of speed.
 

Azimer

Emulator Developer
Moderator
I disagree. How do you use memory off the heap with VB? As far as I know, VB does not allow indirection. I am not a nuVB programmer, but I have done countless programs in QuickBASIC and old VB 3.0.
 

icepir8

Moderator
Azimer is correct about VB. You can allot memory or use pointers with out some custom dll or such. You can't load a dll and call it dynamicly, you must declare are dll calls staticly. While you can write dll in VB you are limited exporting classes.

VB strong point is its IDE and Ease of GUI layout.

Use VB a lot at work. For a quick and drity app VB excels. But in serious programing VB will hinder you. Not as badly as Java but still it does.
 

Doomulation

?????????????????????????
icepir, you are quite true but not entirely.
However, the heap can be done in VB.

Using set [variable] = new [object] or dim [varaible] as new [object] sets a pointer to the heap.

You can even use references with set.
Set a = b creates a reference from a to b.

One bad thing is the static dll-calls, although it's not too much use for dynamic dll calls except for emulators.

As for the dlls, vb doesn't make regular dlls, it merly creates type libraries. And type libraries exports classes only. But that's life.

Another thing it doesn't support is multi-threading.

However, from aside all these things, you can make some small coding in c++ and export them as dlls which you can call from vb to go aside these limits.
 

Azimer

Emulator Developer
Moderator
Then the question is... why not use C++ entirely then? C/C++ is not very difficult at an elementary (BASIC-like) level. What you lack is the ability to make insta-GUIs. Oh well. I find VB GUIs too confining out of the box anyway.
 

Top