Original Post

Just a note I released Reality Boy 0.84 today. DogP added in some verry nice enhancements (sound, etc) so I bundled it up and let it go. Many thanks to DogP for his hard work. You can find it on my homepage like always.

David

25 Replies

Hmm… well I believe the options for frameskip are 0-9, so 10 may not do anything (or might be read as 1)… I don’t think there’s any way to speed it up besides run in 2D mode or frameskip. I don’t think it should run that slow on your hardware if you’ve got frameskip going though, unless maybe you’ve got lots of other stuff running too. You could try -nothrtl just to make sure it’s not artificially throttling it that slow for some reason. Are you running it in a regular size window, or stretched in any way? I don’t know for sure, but stretched may slow it down.

Like I said… Reality Boy is VERY unoptimized… if you go w/ one of the popular N64 or GBA emus, they’ve been optimized to run well. The VB just gets no love 🙁 . Future updates could fix it, but you’ll probably have a faster computer before Reality Boy gets optimized (unless David is working on rewriting the CPU core in ASM like he said he may do).

DogP

Hello!

I am compiling this for Linux, specifically Ubuntu Intrepid Ibex 8.10 (x86_64) and I seem to be stuck at the first, or maybe second step.

I modified the makefile for my architecture, but I am not sure this is right:

#Set the OBJ and Link flags, based on Debug and Profile

ifdef DEBUGMODE

# build a debug version
#OFLAGS = -g -march=i486 -O3 -ffast-math DBG_PRINT
OFLAGS = -g -m64 -O3 -ffast-math DBG_PRINT
LFLAGS = 

else

ifdef PROFILEMODE

# build with profiling information
#OFLAGS = -pg -march=i486 -O3 -ffast-math
OFLAGS = -pg -m64 -O3 -ffast-math
LFLAGS = -pg 

else

# build a normal optimised version
#OFLAGS = -march=i486 -O3 -ffast-math -fomit-frame-pointer
OFLAGS = -m64 -O3 -ffast-math -fomit-frame-pointer
LFLAGS = -s

Basically I just changed the -march option and left everything else alone.

The compiler will indeed start now, but never finishes and prints many warnings regarding signed and unsigned integers before it finally fails with:

../src/vb_vbt.cpp: In function 'int v810_init(char*)':
../src/vb_vbt.cpp:954: eror: cast from 'VB_BYTE*' to 'unsigned int' loses precision
../src/vb_vbt.cpp:963: eror: cast from 'VB_BYTE*' to 'unsigned int' loses precision
../src/vb_vbt.cpp:986: eror: cast from 'VB_BYTE*' to 'unsigned int' loses precision
../src/vb_vbt.cpp:998: eror: cast from 'VB_BYTE*' to 'unsigned int' loses precision
../src/vb_vbt.cpp:1037: eror: cast from 'VB_BYTE*' to 'unsigned int' loses precision
../src/vb_vbt.cpp:1045:  warning: comparison between signed and unsigned integer expressions
make: *** [vb_vbt.o] Error 1

My programming skills are rusty, but I’m tempted to dive into the code and see if I can do anything there… any better ideas?

Also, does this project have a CVN and is it listed on any bug trackers?

*UPDATE*
Upon further investigation, it seems this is not a simple compiler error, nor necessarily an error in programming. This is a core issue in the development of 64bit code from 32bit. If another type of integer were used, it can be compatible with both architectures. While casting between signed and unsigned integers works in some 32bit environments, it is not possible in 64bit architecture.

>>reality_boy
Is there anything, other than the integer casting, which absolutely necessitates a 32bit environment?

I’m going to look through the code and see if I can make it compatible with both environments, but I’m going to need some very soft walls to bang my head on while I do it. Anybody got a recommendation for a cheap padded cell?

what n64 emulator works so well? i always have terrible luck with those things.

I run Project 64 v1.6 on my Vista laptop, and I find it runs about 85% of the games perfectly or close to it….

LS650:
I run Project 64 v1.6 on my Vista laptop, and I find it runs about 85% of the games perfectly or close to it….

jojobean:
what n64 emulator works so well? i always have terrible luck with those things.

For Windows, Project 64 is great.
If you’re running Linux I recommend Mupen64plus.

/offtopic

Anyone else try Reality Boy 0.84 in on 64bit Linux?

I found this .pdf regarding the issue I’m having…. I think.

The recommendation here is duality throughout the code, so that it can be compiled in either 32bit or 64bit versions, although I saw a better recommendation somewhere that allowed the source code to remain much more simple… something about size_t?

Attachments:

 

Write a reply

You must be logged in to reply to this topic.