This
document is an early but useful introduction on the
VirtualE project. Written to solve many of the doubts
about what this VE project expects to do and the goals to
cover if this project is completed. To understand this
document you need only a little background on programming
and had seen at least once the Virtual Boy.Main Scene
The VirtualE idea came
first when I saw my VB stored in its original box with
dust around and all my games for this system in the same
state. When I looked these I asked to my self... Why
don't you plug this VB on your PC? and really... Why not?
is cheap and it can be used as a 3D device for the PC.
Well... after this little story, the VirtualE started
with many things happened (described in project section by date).
I'm trying to follow a
basic squeme to use the VB as a PC device, as explained
in the following figure:

As you can see, both
systems (PC and VB) needes a software part and a hardware
part. This is defined using the Client/Server
Arquitecture, so for instance, the PC for us will be the
SERVER and the VB will be the CLIENT. In the next section
of this document all parts will be explained.
Details
PC: This part needs two details to be
covered. First, we need a solid graphic language to build
a complete scene (2D or 3D) and as easy as possible.
Second, we need a communication protocol to transfer this
scene to VB as fast as possible.
To cover the first thing,
we can use a standard as OpenGL, but with the needed
variations to make a scene as we want. The second thing
is covered defining a simple transfer protocol to send
the complete scene to client(VB). I called this complete
variation VEGL, because it will be an API as OpenGL for
programming but with using an external device to display.
VEGL will be designed
using three layers of abstraction:
Physical Layer: The
wire to connect the VB and the PC. A physycal
media.
I/O Layer: Provides
a protocol to transfer data to VB. Uses functions
for transfer and receive all the needed data.
Serves the next layer.
Graphic Layer:
Oriented to programmer and graphics. You can make
a program using defined functions for this
purpose, so for a programmer will be easy to make
a game or any application using VB as the display
device without think on how does it's interfaced.
Virtual
Boy: This part needs also two things.
First, an interpreter for the PC communications protocol
to display data as its received. Second, an Electronic
cartridge to store this interpreter.
The complexity of this
part is based on the solid knowledge of the GameLink
Socket (or Link port) because is not easy to find the
Nintendo documents about VB development, and it also
needs electronic pieces to build this cartridge. The
interpreter can be finished if we have both parts.
The complete scheme can
be looked as follows:

With all this information
you can see that the VirtualE project is possible and the
most difficult part to face is focused on client(VB), but
is still possible. If the VB is used as a device for PC
and this project is finished the potential is quite
awesome, you can build your own games and applications in
a real 3D display, or port Quake and Doom, or almost any
3D game to this plataform if I make it full compatible
with OpenGL.
To finish this project
would be helpful the VB Developer Docs, so I can start to
work on the Interpreter. If you know some way to have
these docs or you want to help, please write to virtuale98@yahoo.com .
|