NEW OR UPDATED ARCADE CORES

https://github.com/mist-devel/mist-board/wiki

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

User avatar
Newsdee
Atari Super Hero
Atari Super Hero
Posts: 993
Joined: Fri Sep 19, 2014 8:40 am

Re: NEW OR UPDATED ARCADE CORES

Postby Newsdee » Fri Oct 27, 2017 12:34 am

Sigh, this thread reminds me emulation in the year 2000, same discussions going on.

FPGA is a small world. There aren't many devs and two major chip manufacturers of larger capacity. Variations between boards seem to be more about choice of compromises (e.g. what kind of RAM) than specific unique features. And one reason we're not seeing much new on the MiST is there aren't many open source projects left to be ported without significant rework.

I think any new cores on the MiSTer are good for the MiST because it brings the code closer to it. Yes, we still need a developer willing to look at it, but a priori it would be less work than porting completely from scratch (especially if the original HDL code was from a Xilinx chip with specific Xilinc IP/macros)

I love my MiSTs, but they are four years old and a replacement was bound to appear sooner or later. In the interim a lot of the features still work, so I don't feel I'm losing anything by new projects.

Sorgelig
Atari God
Atari God
Posts: 1080
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: NEW OR UPDATED ARCADE CORES

Postby Sorgelig » Fri Oct 27, 2017 3:55 am

The biggest problem on MiST board is lack of BRAM. Only ~600bits which is pretty low volume. Even though some cores are working, they are struggling from problems like FPGAGen or PC Engine. Both these cores have not enough memory speed (due to SDRAM) and have graphics glitches. Moving to BRAM on MiSTer gives the boost in quality. Arcade cores require a lot of BRAM for screen rotation. And even without rotation many arcade boards consists of several PCBs with CPU and separate RAM on each - this makes porting to SDRAM (if BRAM is not enough) very hard.

User avatar
Newsdee
Atari Super Hero
Atari Super Hero
Posts: 993
Joined: Fri Sep 19, 2014 8:40 am

Re: NEW OR UPDATED ARCADE CORES

Postby Newsdee » Fri Oct 27, 2017 4:08 am

Sorgelig wrote:Arcade cores require a lot of BRAM for screen rotation. And even without rotation many arcade boards consists of several PCBs with CPU and separate RAM on each - this makes porting to SDRAM (if BRAM is not enough) very hard.


If I'm not mistaken that's also why some cores from the ZxUno couldn't be ported to MiST (e.g. Bagman) since the Uno has faster SRAM.

Basically these ports are unlikely anyway, regardless of what other boards exist. Nobody is "killing" anything.

tcdev
Atarian
Atarian
Posts: 4
Joined: Tue Oct 31, 2017 11:21 pm

Re: NEW OR UPDATED ARCADE CORES

Postby tcdev » Tue Oct 31, 2017 11:29 pm

Sorgelig wrote:unlike ones from pace where a lot of garbage code exist

Yellow_Colorz_PDT_43

Gehstock
Captain Atari
Captain Atari
Posts: 171
Joined: Wed Dec 21, 2016 7:18 pm
Location: Germany
Contact:

Re: NEW OR UPDATED ARCADE CORES

Postby Gehstock » Wed Nov 01, 2017 8:58 pm

He means the extra code that a framework needs.
Not only my Cores for MIST/MISTer : https://github.com/Gehstock

Darfpga
Atariator
Atariator
Posts: 28
Joined: Thu Feb 02, 2017 10:07 pm

Re: NEW OR UPDATED ARCADE CORES

Postby Darfpga » Wed Nov 01, 2017 11:09 pm

tcdev wrote:
Sorgelig wrote:unlike ones from pace where a lot of garbage code exist

Yellow_Colorz_PDT_43


I agree with tcdev. This is not garbage, this certainly is professional technique for portability and reusability. Pace author makes a great effort to bring us many source codes from its own. I wouldn't have start written hdl code without its forum. I learn a lot from its code. I thank him for its work. For example I wouldn't have make 1541 read/write capability without its prior work on 1541.

Thank you for anyone sharing code, should it be simple or more advanced :D .

tcdev
Atarian
Atarian
Posts: 4
Joined: Tue Oct 31, 2017 11:21 pm

Re: NEW OR UPDATED ARCADE CORES

Postby tcdev » Thu Nov 02, 2017 2:02 am

Gehstock wrote:He means the extra code that a framework needs.

I know what he means, it's just a disrespectful way of describing it, especially considering he is using the code (and knowledge inferred within) that was provided freely.

pacedev started out as experimental framework whose primary goal was to facilitate rapid prototyping/development of FPGA implementations of arcade games - in preparation for the design of generic FPGA emulation hardware (like MiST, Replay, etc). Not only was it meant to ease porting between (supported) hardware targets, but also ease the addition of new games/platforms via generic components such as input mappers, bitmap and sprite controllers, etc. Much like MAME. (FWIW PACE stands for Portable Arcade Circuit Emulator). In this respect it was quite successful, and by that I mean met most of its original goals. For example, some of the games - and I'm not talking about simple ROM swaps - were added in a matter of hours.

However, it was an evolutionary project that grew to encompass systems that it wasn't originally meant to include, such as 8/16-bit microcomputer systems, and also shoe-horn into the framework some ports of other cores. It got to the point where it really needed to be re-designed from scratch in light of what had been learned over the process, but external circumstances changed and, well, life went in other directions.

Porting pacedev designs to other targets was always intended to bring the framework with it, or rather, the support for the new target was to be added to the pacedev framework. This of course implies that more-or-less the entire framework is required for each emulation. And, understandably, this is not always desired by others. That's fine, feel free to use what you can, but it would be appreciated if those that do refrain from rubbishing the original code/concept.

On a slightly different note; I've only recently learned of the MiSTer board(s) and I'm tempted to acquire one and get back into FPGA emulation again... before my circumstances changed I was working on Neo Geo - both motherboard emulation (pacedev has Joy Joy Kid running with FIX layer tiles) and a flash cart, which had even been laid out - 2-3 years before the NeoSD surfaced. :(

Sorgelig
Atari God
Atari God
Posts: 1080
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: NEW OR UPDATED ARCADE CORES

Postby Sorgelig » Thu Nov 02, 2017 2:44 am

What i mean is that a lot of redundant code is inside pace code making extremely hard to work with it. May be original idea was to make a rapid development framework, it doesn't look as such. At least how it looks today.
Once i've wanted to find where hsync/vsync are produced. I've started to trace these signals and went through may be 10 files used as "russian doll - matreshka" and guess what? I went out on top entity again. Too many wrappers doing nothing but just pass all signals is not a good way of programming, imho.
In Dar's core it's just a couple of files doing the same - this is how effective code looks like.
I agree sometimes even strange code may be helpful - it will only need a lot more time to understand and re-write it into convenient way.
That's why Dar's code is much more convenient, although it may be based on pace code.
That's the only thing i wanted to tell.

tcdev
Atarian
Atarian
Posts: 4
Joined: Tue Oct 31, 2017 11:21 pm

Re: NEW OR UPDATED ARCADE CORES

Postby tcdev » Thu Nov 02, 2017 4:18 am

Sorgelig wrote:Once i've wanted to find where hsync/vsync are produced. I've started to trace these signals and went through may be 10 files used as "russian doll - matreshka" and guess what? I went out on top entity again. Too many wrappers doing nothing but just pass all signals is not a good way of programming, imho.

Not sure what code you're reading, but hsync/vsync are generated in the video_controller entity, as one would expect, not the top level. Those signals are (also) routed though the platform entity because several systems, for example, generate CPU interrupts from them, or instantiate registers with scanline counts, etc.

Sorgelig wrote:In Dar's core it's just a couple of files doing the same - this is how effective code looks like.

Of course it is. Just like the stand-alone Space Invaders emulator is infinitely more 'effective' than MAME code.

What you're trying to do - extract a stand-alone working implementation - is at cross-purposes to pace. Exactly like trying to extract a stand-alone Space Invaders emulator from the MAME code base. It's like me taking one of your implementations and calling it "rubbish code" because I couldn't modify it easily to run, say, Gauntlet. :!:

Sorgelig
Atari God
Atari God
Posts: 1080
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: NEW OR UPDATED ARCADE CORES

Postby Sorgelig » Thu Nov 02, 2017 9:26 am

Before argue, i suggest to read my original message to understand that i didn't call the whole pace code is garbage. I just mean, it has a lot of garbage between a real code. I didn't call it rubbish. Just try to understand the difference before jump to discussion.
But you may call my code as rubbish - no problem :)
May i see your code?

User avatar
Newsdee
Atari Super Hero
Atari Super Hero
Posts: 993
Joined: Fri Sep 19, 2014 8:40 am

Re: NEW OR UPDATED ARCADE CORES

Postby Newsdee » Thu Nov 02, 2017 9:52 am

tcdev wrote:On a slightly different note; I've only recently learned of the MiSTer board(s) and I'm tempted to acquire one and get back into FPGA emulation again

Yes please :D

tcdev
Atarian
Atarian
Posts: 4
Joined: Tue Oct 31, 2017 11:21 pm

Re: NEW OR UPDATED ARCADE CORES

Postby tcdev » Thu Nov 02, 2017 12:23 pm

Sorgelig wrote:May i see your code?

You have :?: Although a lot of that pacdev code is very old and got 'stuck' in the framework and earmarked to be rewritten at some point. In fact, a few of the modules are even based on schematic-based designs of a colleague written over a decade ago!

I'm not going to perpetuate this discussion any further - it's not constructive and likely extremely boring to everyone else. Like our projects, our arguments appear to be at cross purposes and so we should simply agree to disagree. This 'scene' is small enough without making enemies within it.

It's been several years now since I did any serious FPGA work (for emulation purposes). I got burnt out on FPGAs and switched to software development both for work and for my 'hobby' activities. Last year though I was dragged back into FPGA work for a few months and thought it might re-kindle my interest in FPGA emulation but it didn't happen. :(

Although I've already got a few software hobby projects lined up, I'm starting to think that perhaps I might start to play around with FPGAs again soon. Every now and then I read about another project or another 'wish' and think it'd be fun to get involved again. However rather than go for the low-hanging fruit - eg. porting relatively simple games to pace - I'd probably (finally) tackle something a little more ambitious. And the MiSTer board looks conducive to that! 8) Exactly what though, I have no idea at this point.

Sorgelig
Atari God
Atari God
Posts: 1080
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: NEW OR UPDATED ARCADE CORES

Postby Sorgelig » Thu Nov 02, 2017 1:30 pm

A ha, now i see your reason of rage ;)
Sorry to let you feel upset. My original post was toward the code complexity, nothing else.

Darfpga
Atariator
Atariator
Posts: 28
Joined: Thu Feb 02, 2017 10:07 pm

Re: NEW OR UPDATED ARCADE CORES

Postby Darfpga » Sat Nov 04, 2017 5:58 pm

NML32 wrote:@darfpga,
I noticed in both MiST and MiSTer port of Galaga there's a problem when using two ships.
When using two ships, only one of the ship's weapons fire.
It can also be seen in attract mode.


@NML32 : Thanks for feedback.

Fixed :
https://sourceforge.net/projects/darfpga/files/Software%20VHDL/galaga

Have to be ported to MiST/MiSTer.

Gehstock
Captain Atari
Captain Atari
Posts: 171
Joined: Wed Dec 21, 2016 7:18 pm
Location: Germany
Contact:

Re: NEW OR UPDATED ARCADE CORES

Postby Gehstock » Sat Nov 04, 2017 6:40 pm

Thank You.

Untestet.

Edit: Controls Fixed
You do not have the required permissions to view the files attached to this post.
Not only my Cores for MIST/MISTer : https://github.com/Gehstock

NML32
Captain Atari
Captain Atari
Posts: 347
Joined: Tue Mar 11, 2014 1:54 am
Location: USA/Florida

Re: NEW OR UPDATED ARCADE CORES

Postby NML32 » Sat Nov 04, 2017 7:45 pm

Gehstock wrote:Thank You.

Untestet.

Edit: Controls Fixed


Works. :cheers:
@darfpga, thanks for fixing Galaga.
@Gehstock, thanks for updating Galaga for MiST.

User avatar
DrOG
Captain Atari
Captain Atari
Posts: 237
Joined: Sun Jul 31, 2016 8:23 pm
Location: Gyula, Hungary

Re: NEW OR UPDATED ARCADE CORES

Postby DrOG » Sun Nov 05, 2017 5:46 am

Gehstock wrote:Thank You.

Untestet.

Edit: Controls Fixed

Tried this new version with DB9 joy, and fire doesn't work. Can anybody confirm this bug?

DanyPPC
Atari maniac
Atari maniac
Posts: 90
Joined: Tue Feb 21, 2017 7:02 am

Re: NEW OR UPDATED ARCADE CORES

Postby DanyPPC » Sun Nov 05, 2017 6:35 am

I have tested the game with keyboard and only the right direction and fire works.
USB gamepad doesn't works.

DB9 joy non tested.

NML32
Captain Atari
Captain Atari
Posts: 347
Joined: Tue Mar 11, 2014 1:54 am
Location: USA/Florida

Re: NEW OR UPDATED ARCADE CORES

Postby NML32 » Sun Nov 05, 2017 9:46 am

DrOG wrote:
Gehstock wrote:Thank You.

Untestet.

Edit: Controls Fixed

Tried this new version with DB9 joy, and fire doesn't work. Can anybody confirm this bug?

Use the DB9 port that's closest to the front panel.
Confirmed, the USB joypad doesn't fire
Keyboard works fine, the Up, Down, Left, and Right depends on the setting in the OSD for Joystick Control (Upright/Normal).

Darfpga
Atariator
Atariator
Posts: 28
Joined: Thu Feb 02, 2017 10:07 pm

Time pilot

Postby Darfpga » Sun Nov 05, 2017 10:48 am

Time pilot VHDL source code available at :

https://sourceforge.net/projects/darfpga/files/Software%20VHDL/time_pilot

As usual feel free to port to MiST/MiSTer.

NML32
Captain Atari
Captain Atari
Posts: 347
Joined: Tue Mar 11, 2014 1:54 am
Location: USA/Florida

Re: Time pilot

Postby NML32 » Sun Nov 05, 2017 11:48 am

Darfpga wrote:Time pilot VHDL source code available at :

https://sourceforge.net/projects/darfpga/files/Software%20VHDL/time_pilot

As usual feel free to port to MiST/MiSTer.

Thanks :cheers:

Gehstock
Captain Atari
Captain Atari
Posts: 171
Joined: Wed Dec 21, 2016 7:18 pm
Location: Germany
Contact:

Re: NEW OR UPDATED ARCADE CORES

Postby Gehstock » Sun Nov 05, 2017 12:35 pm

That was intentional, depending on the player (1/2). I changed it now.
You do not have the required permissions to view the files attached to this post.
Not only my Cores for MIST/MISTer : https://github.com/Gehstock

DanyPPC
Atari maniac
Atari maniac
Posts: 90
Joined: Tue Feb 21, 2017 7:02 am

Re: NEW OR UPDATED ARCADE CORES

Postby DanyPPC » Sun Nov 05, 2017 1:31 pm

Gehstock wrote:That was intentional, depending on the player (1/2). I changed it now.


Many thanks, this version now is perfect !
:cheers:

Gehstock
Captain Atari
Captain Atari
Posts: 171
Joined: Wed Dec 21, 2016 7:18 pm
Location: Germany
Contact:

Re: NEW OR UPDATED ARCADE CORES

Postby Gehstock » Sun Nov 05, 2017 8:01 pm

I do not have time for a test, I have to work.

Edit: need Feedback about Controls(are rotated Controls needed) and RGB Output
You do not have the required permissions to view the files attached to this post.
Not only my Cores for MIST/MISTer : https://github.com/Gehstock

User avatar
vebxenon
Captain Atari
Captain Atari
Posts: 487
Joined: Fri Apr 24, 2015 12:10 pm

Re: NEW OR UPDATED ARCADE CORES

Postby vebxenon » Sun Nov 05, 2017 11:18 pm

Thanks for the fixes! :cheers: :cheers: Tomorrow I'll test also Time Pilot :) Thanks again!
Just a computer and videogame lover :)

- Atari Jr 2600 clone
- Atari 7800 Peritel
- Atari XEGS
- Atari Lynx II
- Atari Jaguar
- MiST Board


Return to “MiST”

Who is online

Users browsing this forum: No registered users and 1 guest