Vectrex core

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Moderators: Mug UK, Zorro 2, spiny, Greenious, Sorgelig, Moderator Team

Grabulosaure
Atariator
Atariator
Posts: 17
Joined: Tue Sep 05, 2017 9:35 pm
Contact:

Vectrex core

Postby Grabulosaure » Tue Dec 19, 2017 1:03 am

Hello.

Here is a little update for the Vectrex core.
http://temlib.org/pub/mister/

Sorry for the delay, I was very, very busy.
(the core was first cited there : http://www.atari-forum.com/viewtopic.php?f=117&t=32481#p330325)

This new version now delivers sound on the HDMI output and the drawing rate is a bit higher, but besides that, there are few changes since last month, and some games don't work yet.

The SDRAM daughter board is not needed.

[And, BTW, I have also uploaded the source code]
Last edited by Grabulosaure on Fri Dec 22, 2017 4:13 am, edited 1 time in total.

NML32
Atari Super Hero
Atari Super Hero
Posts: 525
Joined: Tue Mar 11, 2014 1:54 am
Location: USA/Florida

Re: Vectrex core

Postby NML32 » Tue Dec 19, 2017 1:57 am

Thanks for the update. :cheers:
What joystick are you using? I'm using my iBuffalo classic USB joypad but it's not working correctly even after setting it up through the Vectrex OSD.
For instance, I just tried Berzerk and the DPad fires in different directions and the A button enlarges and freezes the screen.

Thanks

Grabulosaure
Atariator
Atariator
Posts: 17
Joined: Tue Sep 05, 2017 9:35 pm
Contact:

Re: Vectrex core

Postby Grabulosaure » Tue Dec 19, 2017 2:52 am

I use a Logitech F310 gamepad.
You need a joystick with analog inputs.

Original Vectrex had 2 analog inputs and 4 buttons on each of the two pads.

I added a pause button to freeze image to check rendering.

NML32
Atari Super Hero
Atari Super Hero
Posts: 525
Joined: Tue Mar 11, 2014 1:54 am
Location: USA/Florida

Re: Vectrex core

Postby NML32 » Tue Dec 19, 2017 2:57 am

Grabulosaure wrote:I use a Logitech F310 gamepad.
You need a joystick with analog inputs.

Original Vectrex had 2 analog inputs and 4 buttons on each of the two pads.

I added a pause button to freeze image to check rendering.

Thank you for the info.

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2564
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Vectrex core

Postby Sorgelig » Tue Dec 19, 2017 5:14 am

If you are part of Temlib, then may be you will port your Sparc core to DE10-nano as well? ;)

Grabulosaure
Atariator
Atariator
Posts: 17
Joined: Tue Sep 05, 2017 9:35 pm
Contact:

Re: Vectrex core

Postby Grabulosaure » Wed Dec 20, 2017 4:44 am

Sorgelig wrote:If you are part of Temlib, then may be you will port your Sparc core to DE10-nano as well? ;)

The next version of the SparcStation is not ready yet, there is a new quite complex part which needs to be fixed.
This new part is very important for the next steps.

Besides the Xilinx SP605 board, the Terasic "Cyclone V GX starter kit" and Terasic "DE10-nano with MiSTer" with be eventually supported. And maybe others.
This Vectrex core has helped debug the Avalon bridge which is also needed for the SparcStation on Altera.

ex68k
Atari freak
Atari freak
Posts: 53
Joined: Sat Oct 26, 2013 11:13 am

Re: Vectrex core

Postby ex68k » Wed Dec 20, 2017 7:52 pm

Grabulosaure wrote:Hello.
Here is a little update for the Vectrex core.
http://temlib.org/pub/mister/


Thanks, it is a nice one. Always wanted a vectrex for myself ;-)

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2564
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Vectrex core

Postby Sorgelig » Wed Dec 20, 2017 8:45 pm

Grabulosaure wrote:Besides the Xilinx SP605 board, the Terasic "Cyclone V GX starter kit" and Terasic "DE10-nano with MiSTer" with be eventually supported.

Let me know if you will have questions about DE10-nano in general or MiSTer in particular. MiSTer can load custom ARM Linux binary if core needs, so the both sides of bridge can be customized. Currently none of cores require custom ARM binary, but it's easy to add.

Actually re-loading FPGA at runtime is not intended by Altera, so there are some limitations what you can change in bridges between cores (to avoid ARM hang).

JimDrew
Atari Super Hero
Atari Super Hero
Posts: 667
Joined: Mon Nov 04, 2013 5:23 pm

Re: Vectrex core

Postby JimDrew » Thu Dec 21, 2017 2:46 am

Is there any information on how to use this core? Do the ROMs need any certain extension? Do they go in the same folder as the core itself? Are there any limitations?

I always liked the Vectrex! Thanks!
I am the flux ninja

NML32
Atari Super Hero
Atari Super Hero
Posts: 525
Joined: Tue Mar 11, 2014 1:54 am
Location: USA/Florida

Re: Vectrex core

Postby NML32 » Thu Dec 21, 2017 10:07 pm

Grabulosaure wrote:I use a Logitech F310 gamepad.
You need a joystick with analog inputs.

@Grabulosaure, I picked up a Logitech F310 and I'm still having problems setting up the joystick. Could you attach your Logitech F310 config file you're using for the Vectrex core?

Thanks

Grabulosaure
Atariator
Atariator
Posts: 17
Joined: Tue Sep 05, 2017 9:35 pm
Contact:

Re: Vectrex core

Postby Grabulosaure » Fri Dec 22, 2017 3:50 am

Sorgelig wrote:Actually re-loading FPGA at runtime is not intended by Altera, so there are some limitations what you can change in bridges between cores (to avoid ARM hang).


The problem with memory seems now solved, I've just recovered your original "sysmem.sv" !
I wanted to have 3 32bits interfaces (video + drawing + cartridge), but it wasn't really necessary (the largest game is 32kB). The 32bits video generator and renderer only use half of the two 64bits avalon busses.

Grabulosaure
Atariator
Atariator
Posts: 17
Joined: Tue Sep 05, 2017 9:35 pm
Contact:

Re: Vectrex core

Postby Grabulosaure » Fri Dec 22, 2017 4:12 am

JimDrew wrote:Is there any information on how to use this core? Do the ROMs need any certain extension? Do they go in the same folder as the core itself? Are there any limitations?
I always liked the Vectrex! Thanks!


There is an internal game, "Minestorm", which is included in the FPGA. Additional games can be loaded as .BIN files (size is 4kB to 32kB per game). More than 2/3 of the games seem to work. There is no support for coloured overlays, yet.
(I'm not sure about the legal situation about integrating Minestorm in the FPGA, in the past they allowed some free emulators, and the source code of the core software is available. When running an cartridge, the internal ROM is still used.)

NML32 wrote:I picked up a Logitech F310 and I'm still having problems setting up the joystick. Could you attach your Logitech F310 config file you're using for the Vectrex core?
Thanks


I've uploaded some ".map" files, I don't know if it is the correct way. They may be bugs with the joystick interface, this is my first MIST/MISTER core !

seastalker
Captain Atari
Captain Atari
Posts: 189
Joined: Sun May 15, 2016 3:44 pm

Re: Vectrex core

Postby seastalker » Sun Dec 31, 2017 7:27 pm

Always wanted a Vectrex too. I have a couple of old portable black and white tvs that would be great try this out on. It would be greatly appreciated should anyone port this over to MIST. :)

Grabulosaure
Atariator
Atariator
Posts: 17
Joined: Tue Sep 05, 2017 9:35 pm
Contact:

Re: Vectrex core

Postby Grabulosaure » Sun Dec 31, 2017 9:21 pm

seastalker wrote:It would be greatly appreciated should anyone port this over to MIST. :)


This core needs lots of RAM bandwidth for video. But it could be significantly reduced.

To port to the MIST, a fast SDRAM controller, supporting burst transfers, ideally with a 32bits AVALON interface, is needed.
I would like to make one for the MISTER SDRAM daughterboard (if no one has already made it).

The vector signals are currently connected to delta-sigma generators on some I/O pins of the DE10 board.
I have very briefly tested it with an oscilloscope (and an RC low-pass filter)
If anyone is interested, analog levels could be provided on the VGA connector (X + Y + spot intensity)

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2564
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Vectrex core

Postby Sorgelig » Sun Dec 31, 2017 10:39 pm

Grabulosaure wrote:This core needs lots of RAM bandwidth for video. But it could be significantly reduced.

What is the whole frame size? I don't know Vectrex hardware, but it should be 1 bit per pixel and resolution close to TV, right?
I mean, what if you will use BRAM which should be enough.

Btw, i see you use different MPFE config. I found HPS tends to hang if MPFE config changed between cores. That's why all my cores use the same config. And i couldn't find the way to reset it or safely re-configure without hang either in current core or in the core loaded next.

Grabulosaure
Atariator
Atariator
Posts: 17
Joined: Tue Sep 05, 2017 9:35 pm
Contact:

Re: Vectrex core

Postby Grabulosaure » Mon Jan 01, 2018 11:19 am

Sorgelig wrote:Btw, i see you use different MPFE config. I found HPS tends to hang if MPFE config changed between cores. That's why all my cores use the same config. And i couldn't find the way to reset it or safely re-configure without hang either in current core or in the core loaded next.


Yes, in the latest version I recovered your configuration, and it works better. The changes I made were not really needed.

Why so much RAM bandwidth ?
- Raster resolution is 1024x768. Of course it could be lowered, it's just changing a scale factor and the "modeline" configuration.
- Image is generated as series of "dots" calculated by adders and multiplexers (replacing analog integrators, DAC and muxes). To get continuous lines with high slew rate, the sampling rate must be quite high.
- "Dots" are rendered from 4x4 pixel patterns, which are selectable, allowing configurable spot size. 16 pixels are updated for each "dot". Of course it could be reduced.
- Each pixel uses 16bits! 8 bits for intensity, 8 bits for the age of the pixel, actually a timecode. Older pixels are darkened then blanked : this is how phosphor persistence is simulated. It could be reduced, with linear decay 8 bits is enough for both age and intensity.

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2564
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Vectrex core

Postby Sorgelig » Mon Jan 01, 2018 11:41 am

Wow.. I didn't know it's so complex implementation. I've thought it's like in traditional computer simple rasterization of vector graphics.
By the way, new framework supports different HDMI resolutions. I think Vectrex core will get a benefit from this since it has no native resolution. ZX core has updated framework. Still I plan to improve it a little.

seastalker
Captain Atari
Captain Atari
Posts: 189
Joined: Sun May 15, 2016 3:44 pm

Re: Vectrex core

Postby seastalker » Mon Jan 01, 2018 1:48 pm

Wow- I didn't know the Vectrex was so unique. Well, at least I can play it emulated on the pi for now... I suppose we can't always have our Pi and eat it too. :lol:


Return to “MiSTer”

Who is online

Users browsing this forum: Sorgelig and 4 guests