What's new

On the road of accuracy

OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
Yes, but in this thread we are talking about a complete rewrite of the emulator designed to be as accurate as possible :)
 

Narann

Graphic programming enthusiast
[MENTION=111252]ace64video[/MENTION]
Thanks for the video. :)

The rom doesn't seems to set the VI_Y_SCALE_REG register value responsible of the y scale factor of the generated video. Emulators don't really care about this value as they often do tricks internally. This is why you can run it on Mupen64 and this is why Hacktarux says:

It is quite possible that the game was developped on an emulator :)

Because a such rom couldn't run on a real hardware (as Hacktarux proved it running it through v64jr).

On cycle accurate emulators Hacktarux (and MarathonMan) try to simulate how the hardware really works internally. And don't set the VI_Y_SCALE_REG doesn't show anything.

Hope my explanations are good. :)

EDIT: Sorry, I didn't see the discussion was on another page.
 
OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
I will probably take a little break on emulation programming and start working on a gui. The reason is that i currently have some debugging features but if i want to have a full featured debugger where i can display all hardware informations i'd like there's no choice, i need a gui... So, that's not really the part i'm the most proficient at and i'm still trying to choose a gui framework. As i see, it didn't change over the years and there is no perfect framework... I think i will probably choose QT as the main drawback is its size and well... it's not really a problem anymore is it ?
 

Narann

Graphic programming enthusiast
The reason is that i currently have some debugging features but if i want to have a full featured debugger where i can display all hardware informations i'd like there's no choice, i need a gui...
That's fun, I've asked yesterday (on mupen64plus mailing list) if their was a way to have debugging stuff on mupen64plus. It seems to be possible (API provide "things") but no gui has ever been made for this. n64js seems to have a nice one (I'm jalous, I would like to have this for mupen64plus). A good debugging tool is important for such complex (and poorly documented) console N64 is. Even with my poor HLE knowledge, I would really like to break a running game and see every possible state.
So, that's not really the part i'm the most proficient at and i'm still trying to choose a gui framework. As i see, it didn't change over the years and there is no perfect framework... I think i will probably choose QT as the main drawback is its size and well... it's not really a problem anymore is it ?
QT look "big" but not so actually. You can choose to stay on QtGui (+QtCore of course) and don't touch anything else. And most important: The feature and documentation its prodive is massive. I started with QT, as I'm curious I often try to see "what else" but de QT documentation defenetly make me stay on QT.
PS: If you have any documentation/good read on "how to write a debugger" it would be appreciate. :)
 
OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
I don't know if there much to be read to do a debugger. It's mostly reading variables and writing them in a gui ;-) You also have to provide features to stop execution when some events occurs and you should also take care of not adding any overhead when the debugger is not used.
 
OP
Hacktarux

Hacktarux

Emulator Developer
Moderator
From what i've seen QT seems easy enoguh for my needs and will probably be the api for the mail application. I'm still not sure for the debugger. Another solution would be to embed a web server in the emulator and do a web interface. The advantage is that it can still be used if one day the emulator is ported to other OS or if one day i want to change the framework used for main application gui.
 

Narann

Graphic programming enthusiast
Another solution would be to embed a web server in the emulator and do a web interface. The advantage is that it can still be used if one day the emulator is ported to other OS or if one day i want to change the framework used for main application gui.
That seems to be a brilliant idea! And massive "URL" use (I mean, the possibility to click and react on virtually anything on the screen) in a debugger can make some task a lot easier.
 

MarathonMan

Emulator Developer
If you're looking for ideas and haven't seen nemu64's debugger (Windows only), I'd highly suggest checking it out. I can confidently state that it is the best N64 (emulation-based) debugger.

EDIT: Bump, hackturax have you noticed that FCR31 writes aren't actually delayed by a cycle, as the VR4300 manual suggests?

Relevant topic: http://cen64.com/viewtopic.php?f=6&t=109&p=876#p875

EDIT 2: Hmm... could be hidden by RDRAM delays due to uncached ROMs...
 
Last edited:

Narann

Graphic programming enthusiast
If you're looking for ideas and haven't seen nemu64's debugger (Windows only), I'd highly suggest checking it out. I can confidently state that it is the best N64 (emulation-based) debugger.
Thanks for the informations! :)
 

Cyberman

Moderator
Moderator
From what i've seen QT seems easy enoguh for my needs and will probably be the api for the mail application. I'm still not sure for the debugger. Another solution would be to embed a web server in the emulator and do a web interface. The advantage is that it can still be used if one day the emulator is ported to other OS or if one day i want to change the framework used for main application gui.

Well from my annoyances with GUI's GTK and GTK+ are a bit of a pane. As you don't have a built in way to setup to GUI elements and must rely on a tool called GLADE.
This is somewhat better than MS tools but definately nothing like the tools borland had. You could do most of your event driven programming parts in a few hours than work on the meat of your program.
Glade is for GTK I don't know what wxwindows uses I believe QT does something with wx not sure. Some sort of generic GUI assembly tool would be darn handy, I think Glade does that however figuring out how to dump events into the GUI has always been a headache for me.

Cyb
 

vinipsmaker

C/C++ programmer, emacs user
QT does something with wx not sure.

Qt uses XML files generated through a visual editor. These files are compiled into C++ source code. It's pretty straight forward.

There is also the "new generation" UI, which uses the best ideas from the Enlightenment's EFL project (started with the QGraphicsView smart canvas, then continued to the QML declarative interface and now they are (re-)creating the widgets on top of all this new base). Look for QML demo videos on youtube. In this flavour, the interface is declarative and not translated in C++ code, but directly interpreted.
 

Cyberman

Moderator
Moderator
Qt uses XML files generated through a visual editor. These files are compiled into C++ source code. It's pretty straight forward.

There is also the "new generation" UI, which uses the best ideas from the Enlightenment's EFL project (started with the QGraphicsView smart canvas, then continued to the QML declarative interface and now they are (re-)creating the widgets on top of all this new base). Look for QML demo videos on youtube. In this flavour, the interface is declarative and not translated in C++ code, but directly interpreted.
Kind of sounds like C# (which is old generation really but who is counting).
More questions keep poping up ... in my mind.
wx appears to create a 'stub' object that's called from the actually application and that actually generates your GUI. Kind of different.

Cyb
 

Top