Homebrew [Release] Vex3DS - Vectrex Emulator

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,036
Country
Italy
Another emulator port I made for fun. This time it's the emulator of an old console using vectorial graphics - Vectrex.

The original code is from vecx by Valavan Manohararajah.

The source code is on my Github.

Attached there is also a zip file with a set of overlays resized for the 3ds.

A romset to be used with these overlays can be downloaded here. Roms can have .bin or .vec extension.

Changelog

Ver. 0.4 (14 April 2016)
  • Optimized emulator code for speed
  • Added GUI (grabbed from Handy3DS)
  • Added sound
Ver. 0.3 (31 March 2016)
  • Fixed exiting to HB Launcher
  • Implemented some tweak on the emulator code
  • Fixed flickering
  • Fixed framerate count (was overstimated)
  • Added support for .bin roms
  • Used a darker overlay for default ROM
Ver. 0.2 (27 March 2016)
  • Added ROM selection
  • Added overlay
  • Added view mode selection (SELECT Key)
Ver. 0.1 POC (26 March 2016)
  • First release (here)
Installation

WARNING: folder structure changed starting from v0.3. If you update from v0.2 move your roms in the /Vectrex/Roms subfolder

In the the zip file there is a Vex3DS folder with the program in 3dsx format. This folder have to be placed in the 3DS folder. There is also a Vectrex folder to be placed in the root of the SD. This folder has 3 subfolder:
  • Roms: where you can put roms and overlays
  • Bios: where the emulator seraches bios.dat (the BIOS file free for non commercial use) and bios.png files (included in the zip)
  • Skin: the folder contains the default image for the menu top screen
Starting the program you can select a ROM and make it run with the A key or you can run the default ROM in the bios with B.

While running a ROM you can change the screen view with the Select key. In the rotated view, the direction keys are rotated too.

While playing a ROM, the Start key open the menu.

Speed is almost 50FPS on most games using frameskip 4. The sound in crappy but will improve in next releases.

Known Bugs

- Selecting the default bios rom with X key doesn't work

To Do List

- Get better sound
- Reach full speed (50 FPS) with less frameskip
- Add N3DS CPU boost

Screenshots

Vex1.png
Vex2.png


Vex3.png
Vex4.png
 

Attachments

  • Overlays.zip
    1.1 MB · Views: 757
  • Vectrex 0.4.zip
    647.6 KB · Views: 893
Last edited by nop90,

koz

Well-Known Member
Newcomer
Joined
Jul 7, 2015
Messages
86
Trophies
0
Age
48
XP
137
Country
Looking forward to this ... What a surprise.

I remember playing this in the department store in 1983 whilst mum went shopping elsewhere. Never did own one.

Maybe make an overlay feature having a small frontal offset as a front 3D layer giving a slight amount of parallax.
 
  • Like
Reactions: Subtle Demise

ArugulaZ

Well-Known Member
Member
Joined
Sep 17, 2009
Messages
677
Trophies
1
XP
1,111
Country
United States
Great idea! I'll wait 'till the bugs are swatted, though. Will this ever work at full speed on an old 3DS, or is that unrealistic?
 

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,036
Country
Italy
Bug is already fixed. For fullspeed I have to work on emulator code. Don't know yet if it is possible but I'll try.

Now the priority is to eliminate flickering, but for this too i have to changethe emulator internals.
 
  • Like
Reactions: SLiV3R

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,036
Country
Italy
Don't know if i can post it here.

The roms and overlays are free for non commercial use according to wikipedia.

I asked the opinion of a moderator but did not received an answer yet.
In the released version roms have to be with .vec extension, but there are romset with bin extension. In the next release both the two will be listed.

I would like to post the complete romset with overlays adapted for the 3ds.

If a moderator give me an answer, I could post it later today.
 
  • Like
Reactions: SG6000 and SLiV3R

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,036
Country
Italy
I tweaked some parameters, cleaned the code of part not usefull with double bufferng and optimized the rendering part. Now I have a better framerete ranging from 40 to 51 FPS for most games.

I want to try to use callback functions instead of a chain of select ... case in the opcode parsing. Maybe I can obtain some more improvement. If it's not enough I can implement some frameskipping at low level in the emulator code.

Meanwhile, what about the released version?
 
  • Like
Reactions: SLiV3R and angelhp

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,036
Country
Italy
V0.3 with some updates loaded in the OP.

I'm getting very little results with speed improvement. I got some but the FPS in v0.2 was overstimade for a doble call to the rendering function in the original code.

Now I'm trying to implement some low level frameskipping, but I'm having rendering problems.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: I hate myself