Nicht eingeloggt.
Passwort vergessen?


Bitte erst registrieren. Danach ist es möglich Beiträge zu schreiben.



 Nach unten   Vorheriges Thema   Nächstes Thema

#1
Virtualtrex
Geschrieben am: 26.05.2019 14:38
PVB Elite
Dabei seit 01.07.2011
Deutschland
1111 Beiträge
CoderContributorTop10 PosterLong Time User (8 Years) App CoderPVBCC 2013 Entry
Hey Everyone,

if you read the planetvb discord you already know about this. Some time ago I tried to run an vectrex emulator on the VirtualBoy. I simply took vecx, removed everything os specific. combined it with the core of Gregs wireframe library and reduced memory usage.

The result is minestorm being emulated very slowly. I did some performance optimization myself and used an optimized version of vecx. However, some basic measurements showed that the emulator would need to be 10 to 20 times faster. I checked and Gregs library is very fast. It's the actual emulation that is slow.

There are many things missing like sound, controls and loading games. Minestorm stops at the select screen right now. It used to start all the way but I think the newer version of vecx is waiting for inputs.

However, I'm not the one who will go ahead and optimize the emulator because that sounds very boring. If someone else wants to, you can find the sources here: https://github.com/thunderstruckProjects/virtualtrex

Attached is the Minestorm ROM and some screenshots. It looks allot better on hardware.

Datei anhängen:


zip virtualtrex_pad.zip Größe: 527.22 KB; Hits: 80

png  unknown1.png (4.59 KB)
1709_5cea8937b214a.png 412X362 px

png  unknown2.png (12.14 KB)
1709_5cea893f63581.png 770X476 px

jpg  unkown3.jpg (31.89 KB)
1709_5cea8945eb098.jpg 449X598 px
Nach oben

#2
Re: Virtualtrex
Geschrieben am: 27.05.2019 6:15
Nintendoid!
Dabei seit 12.05.2016
USA
143 Beiträge
Long Time User (3 Years)
Hot damn that's awesome!! Great work! Here's hoping someone picks up the task of optimizing it.
Nach oben

#3
Re: Virtualtrex
Geschrieben am: 27.05.2019 16:33
PVB Elite
Dabei seit 17.06.2013
Kanada
1155 Beiträge
Top10 Poster10+ Game RatingsLong Time User (6 Years)
Very cool! A Vectrex is always one of those things I've wanted. Playing it on the VB seems like a good fit!

Also fascinated that another emulator is made for the VB, not an easy task I'm sure!
Nach oben

#4
Re: Virtualtrex
Geschrieben am: 28.05.2019 20:13
VB Gamer
Dabei seit 08.11.2017
19 Beiträge
Long Time User (1 Year)
Awesome idea, Thunderstruck. I just wrote this up for RetroRGB https://www.retrorgb.com/virtualtrex-v ... ator-for-virtual-boy.html

Bob will probably cover it in his Weekly Roundup next week https://www.youtube.com/RetroRGB
Nach oben

#5
Re: Virtualtrex
Geschrieben am: 28.05.2019 20:34
Newbie
Dabei seit 01.01.1970
0 Beiträge
Long Time User (15 Years)
Since you need something like a 10 to 20 times speedup, optimising the emulator is not going to cut it. However there is a potential solution: pick a game and create a static binary translation (or more practically, a decompilation into C that can be recompiled for the VB) I would suggest replacing the default minestorm in the built-in rom woth a copy of Minestorm 3D, and producing an emulation of just that one game. (There are only a few 3D games on the Vectrex and they could each be handled this way)

You can read more about static binary translation at: http://gtoal.com/sbt/

The technique has been applied in the Vectrex world already to port arcade vector games to the Vectrex, running on attached ARM processors.
Nach oben

#6
Re: Virtualtrex
Geschrieben am: 29.05.2019 3:16
Virtual Freak
Dabei seit 27.01.2019
USA
91 Beiträge
Well maybe this is more complicated than necessary, but do we know if the VB follows the same design concept of previous Nintendo hardware to date (1995?)

The NES, SNES and even Gameboy used memory mappers and other extended chipsets to expand beyond the capabilities of each piece of hardware. The NES with its MMCs etc, Gameboy with MBC1-5, and SNES with DSP through SA1, FX1-2, SDD1, C4, etc chips.

Would it be possible to create a new board like mellott did for larger games such as that Hyper Fighting cart, where an expansion chip can go on it. Maybe something like a DSP that can handle more math, or even a SA1 analog to SNES where a VA1 is a faster co-processor) could handle the work in tandem? I know this is just a reach, but can the hardware take more than it was intended for through outside means? Or is it limited like the GBA to clever programming and little else?
Nach oben

#7
Re: Virtualtrex
Geschrieben am: 29.05.2019 4:36
VB Gamer
Dabei seit 01.06.2017
USA
18 Beiträge
Long Time User (2 Years)
don't quote me on it, but I thiiiiiiink it has similar methods for stuff like that. I'm almost totally certain it has audio expansion-out capabilities, just like the Famicom did (and GB, SNES, even if those didn't use it iirc) so if that's there, there's little doubt you could pop in an extra mapper or somethin for that kinda stuffs
Nach oben

#8
Re: Virtualtrex
Geschrieben am: 29.05.2019 12:20
PVB Elite
Dabei seit 01.07.2011
Deutschland
1111 Beiträge
CoderContributorTop10 PosterLong Time User (8 Years) App CoderPVBCC 2013 Entry
Zitat:

SmokeMonster wrote:
Awesome idea, Thunderstruck. I just wrote this up for RetroRGB https://www.retrorgb.com/virtualtrex-v ... ator-for-virtual-boy.html

Bob will probably cover it in his Weekly Roundup next week https://www.youtube.com/RetroRGB


Thanks allot. I always appreciate the coverage.

Zitat:

Graham Toal wrote:
Since you need something like a 10 to 20 times speedup, optimising the emulator is not going to cut it. However there is a potential solution: pick a game and create a static binary translation (or more practically, a decompilation into C that can be recompiled for the VB) I would suggest replacing the default minestorm in the built-in rom woth a copy of Minestorm 3D, and producing an emulation of just that one game. (There are only a few 3D games on the Vectrex and they could each be handled this way)

You can read more about static binary translation at: http://gtoal.com/sbt/

The technique has been applied in the Vectrex world already to port arcade vector games to the Vectrex, running on attached ARM processors.


Hey, I appreciate that you took the time to register and point this out. I actually think the speed of the emulator can be improved drastically. It's author himself wrote it with portability and not performance in mind. So checking where time is lost and rewriting bigger parts in asm might bring the games to a playable level. I doubt as well that you can do a perfect emulation though.

A static binary translation is basically just a fancy word for writing a dissessembler and a converter that will make the result VB conform. The fact that other games have been treated this way to be playable on the Vectrex only helps very little. If there was an Vectrex dissessembler that produces c code already, this might be an option to look into. Otherwise, for me personally this sounds like and even worse task then writing an emulator.

From what I understand 3D Vectrex games also work differently then VB games. So they won't magically work in 3D by running them on the VB. I didn't try but the emulator itself should be able to run every other Vectrex game right now.

Zitat:

VmprHntrD wrote:
Well maybe this is more complicated than necessary, but do we know if the VB follows the same design concept of previous Nintendo hardware to date (1995?)

The NES, SNES and even Gameboy used memory mappers and other extended chipsets to expand beyond the capabilities of each piece of hardware. The NES with its MMCs etc, Gameboy with MBC1-5, and SNES with DSP through SA1, FX1-2, SDD1, C4, etc chips.

Would it be possible to create a new board like mellott did for larger games such as that Hyper Fighting cart, where an expansion chip can go on it. Maybe something like a DSP that can handle more math, or even a SA1 analog to SNES where a VA1 is a faster co-processor) could handle the work in tandem? I know this is just a reach, but can the hardware take more than it was intended for through outside means? Or is it limited like the GBA to clever programming and little else?


I guess you could do something like that. I think outsourcing music to a designated chip might make sense. But at some point you will have to ask yourself what's the point of all of this. Just run the game on more powerful hardware and use the entire VB as a display?
Nach oben

#9
Re: Virtualtrex
Geschrieben am: 30.05.2019 4:53
Nintendoid!
Dabei seit 09.11.2012
Venezuela
127 Beiträge
Highscore Top10Highscore Top ScoreHighscore Top ScoreHighscore Top ScoreHighscore Top ScoreHighscore Top ScoreLong Time User (6 Years) 90+ Game Ratings
Zitat:

thunderstruck wrote:
Hey Everyone,

if you read the planetvb discord you already know about this. Some time ago I tried to run an vectrex emulator on the VirtualBoy. I simply took vecx, removed everything os specific. combined it with the core of Gregs wireframe library and reduced memory usage.

The result is minestorm being emulated very slowly. I did some performance optimization myself and used an optimized version of vecx. However, some basic measurements showed that the emulator would need to be 10 to 20 times faster. I checked and Gregs library is very fast. It's the actual emulation that is slow.

There are many things missing like sound, controls and loading games. Minestorm stops at the select screen right now. It used to start all the way but I think the newer version of vecx is waiting for inputs.

However, I'm not the one who will go ahead and optimize the emulator because that sounds very boring. If someone else wants to, you can find the sources here: https://github.com/thunderstruckProjects/virtualtrex

Attached is the Minestorm ROM and some screenshots. It looks allot better on hardware.


This is pretty damn awesome :D
Nach oben

 Nach oben   Vorheriges Thema   Nächstes Thema


Bitte erst registrieren. Danach ist es möglich Beiträge zu schreiben.