Arcade cores

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

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

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

Re: Arcade cores

Postby JimDrew » Sat Nov 25, 2017 3:34 pm

Many of the ROMs used for original arcade machines come from beta or alternate versions released by the game manufacturer. These are available for MAME. That fact (and the fact that it is copyright infringement to include the ROM code in any FPGA bit file) is a good reason to allow using any compatible ROM you want with each core by having the ROM file loaded from the SD card.
I am the flux ninja

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

Re: Arcade cores

Postby Sorgelig » Sat Nov 25, 2017 4:50 pm

JimDrew wrote:is a good reason to allow using any compatible ROM you want with each core by having the ROM file loaded from the SD card.

Please stop to spread untrue info! I've told you already many times in PM. Almost EVERY arcade has ITS OWN special feature and allows to use only specific ROM.
If you don't believe me, read the MAME source code. Take for example pacman machine source and see that almost every game has its own memory map. Some games have encryption, some have different hardware customisations like different audio chips, different video blanking to allow more sprites for some games. There are many other customisations making impossible to just swap the ROM. In all Arcades for MiSTer i remember only 2 or 3 games could be made by simple ROM swap.
Arcade machines are not a generic computers or consoles where you can load many different games.
In theory it's possible to make one core for multiple arcade games but it won't change the fact that every game will require a special code. The core can check the ROM and then enable/disable different modules - just like MAME does. Making such universal core will require much more time to develop. If you are willing to make it - do it.
Currently none of arcade cores are universal - so only specific game (and in most cases specific version of ROM) can be used.

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

Re: Arcade cores

Postby JimDrew » Sat Nov 25, 2017 5:59 pm

I have been using MAME since it's inception. I have also been repairing real standup machines since the 80's. I have written a few notable emulations myself. I fully understand how the machines work. There are BETA ROMs, as well as different revisions of the same game that work on the exact same hardware. There are many stand ups where just changing the ROMs out (without any other changes) allow another game to work on the same hardware. I was focused really on using the really rare BETA,different revisions, and homebrew games based on a specific hardware platform. My point is that it is not possible with MISTer to even have the option to try different ROMs in the same core machine by externally loading a different ROM. I am making surprising progress on learning FPGA, so perhaps I will be able to revamp the cores so they load the ROMs, using the MAME catalog naming convention.
I am the flux ninja

Darfpga
Atari User
Atari User
Posts: 30
Joined: Thu Feb 02, 2017 10:07 pm

Re: Arcade cores

Postby Darfpga » Sun Nov 26, 2017 3:16 pm

Gehstock wrote:Moon Patrol correct Speed still no Sound, maybe Dar search a new Challenge


I just release moon patrol sound board. Maybe somebody can merge it with the game.

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

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

Re: Arcade cores

Postby Sorgelig » Sun Nov 26, 2017 4:02 pm

Darfpga wrote:I just release moon patrol sound board. Maybe somebody can merge it with the game.
https://sourceforge.net/projects/darfpga/files/Software%20VHDL/moon_patrol/

Nice! I will try.
May be some other irem games will be available then.

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

Re: Arcade cores

Postby Sorgelig » Mon Nov 27, 2017 2:43 am

Moon Patrol has been released with sound!

NegSol
Captain Atari
Captain Atari
Posts: 151
Joined: Sat Dec 05, 2015 9:22 pm

Re: Arcade cores

Postby NegSol » Mon Nov 27, 2017 10:45 pm

Moon Patrol is my favorite arcade game. The sound works great. Thank you to you both! Great job! 8)

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

Re: Arcade cores

Postby Sorgelig » Wed Nov 29, 2017 2:38 am

What you guys thinking about a core to develop arcade games?

I'm thinking to make a core which will include Gameduino code: http://excamera.com/sphinx/gameduino/
It's very sophisticated sprite engine:
- 256 sprites with 4,16 and 256 colors
- collision detection
- hardware screen scrolling in both X and Y.
I'm also thinking to extend it with 2 or even 3 independent backgrounds to support parallax scrolling. Co-processor also could be improved to have it's own 32KB RAM instead of 128bytes as in original gameduino.
There is also plan to add AY8910 additionally to existing sound.
You can watch videos on that site to see its capabilities.

The core will also include softCPU. Currently i'm deciding what softCPU to use. The main candidate is ZPU. It has gcc for both linux and windows, so it will be easy to compile the game code. If you know other softCPU which has convenient C/C++ compiler or even IDE post it here.

No any additional hardware will be required. BRAM will be used as a main RAM for code. Probably 32KB will be available for game code. Also DDR3 memory will simulate the ROM code which will serve the graphics and sound.

Overall the Arcade core will outperform most known 2D coin-op arcades. It will be possible to write many different games and even mimic some existing games with better graphics.

Is there any interest to have such core? It will require a community support with games. Need developers who would like to write the games.

User avatar
Newsdee
Atari God
Atari God
Posts: 1041
Joined: Fri Sep 19, 2014 8:40 am

Re: Arcade cores

Postby Newsdee » Wed Nov 29, 2017 11:45 am

Sorgelig wrote:What you guys thinking about a core to develop arcade games?
(...)
Is there any interest to have such core? It will require a community support with games. Need developers who would like to write the games.

I think it's very interesting, but to be on the safe side it might be best to find a few games that use it first? Maybe there is an existing community around it.
Last edited by Newsdee on Wed Nov 29, 2017 3:18 pm, edited 1 time in total.

bernouilli
Atari maniac
Atari maniac
Posts: 89
Joined: Fri Jan 06, 2017 5:02 pm
Location: Paris/France

Re: Arcade cores

Postby bernouilli » Wed Nov 29, 2017 12:13 pm

That's some ambitious project that might give good results. Provided that developers have ideas and motivation to program games for it.
I thing the hardest part is to find new ideas of games. But writing clones of existing games might be fun too.

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

Re: Arcade cores

Postby Sorgelig » Thu Nov 30, 2017 6:00 am

Thanks to Dar for fixing Bullets in The End. Now i can release it as fully working.

Darfpga
Atari User
Atari User
Posts: 30
Joined: Thu Feb 02, 2017 10:07 pm

Re: Arcade cores

Postby Darfpga » Thu Nov 30, 2017 8:02 pm

Sorgelig wrote:Thanks to Dar for fixing Bullets in The End. Now i can release it as fully working.


You're welcome. I'm happy to help. Now I'm going to work for a while on a another game.

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

Re: Arcade cores

Postby Sorgelig » Sat Dec 02, 2017 6:17 am

I found some arcades don't work well if joystick allows diagonal presses.

Bellow are tweaked cores to test new way of joystick handling. These versions register a new direction if new button is pressed before releasing the previous one. It should allow to move the character faster in corners.
Please test them and tell if these versions have better gaming experience than last official ones or no difference.
Arcade-Pacman_jtest.zip
Arcade-LadyBug_jtest.zip
You do not have the required permissions to view the files attached to this post.

User avatar
Newsdee
Atari God
Atari God
Posts: 1041
Joined: Fri Sep 19, 2014 8:40 am

Re: Arcade cores

Postby Newsdee » Wed Dec 06, 2017 2:39 pm

Sorgelig wrote:What you guys thinking about a core to develop arcade games?
I'm thinking to make a core which will include Gameduino code: http://excamera.com/sphinx/gameduino/

I've found something similar: http://belogic.com/uzebox/howitsmade.htm
I guess there is no FPGA version of that AtMega MCU, though...

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

Re: Arcade cores

Postby Sorgelig » Wed Dec 06, 2017 11:52 pm

Newsdee wrote:I've found something similar: http://belogic.com/uzebox/howitsmade.htm
I guess there is no FPGA version of that AtMega MCU, though...

Gameduino outperform this by miles.

bernouilli
Atari maniac
Atari maniac
Posts: 89
Joined: Fri Jan 06, 2017 5:02 pm
Location: Paris/France

Re: Arcade cores

Postby bernouilli » Thu Dec 07, 2017 1:51 pm

Having the gameduino implemented in the MiSTer would be great. Plus there are already games developped for this platform.
However, they say that everything is opensource but I can't find the source of the coprocessor.
And about the softCPU, I suppose that there is no opensource implementation of the AVR processor.

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

Re: Arcade cores

Postby Sorgelig » Thu Dec 07, 2017 2:11 pm

bernouilli wrote:However, they say that everything is opensource but I can't find the source of the coprocessor.

it's there: j0.v

bernouilli wrote:And about the softCPU, I suppose that there is no opensource implementation of the AVR processor.

there is one AVR softCPU on opencores. But i don't want to use AVR.
It's too limited.
ZPU is more powerful. It is also possible to use ARM CPU directly. Especially the second core of DE10-nano is currently unused.

But i don't see enough interest in such platform actually. If it will be implemented, then it will require developers who would like to write the games. Without the games, it will be dead.

User avatar
Newsdee
Atari God
Atari God
Posts: 1041
Joined: Fri Sep 19, 2014 8:40 am

Re: Arcade cores

Postby Newsdee » Thu Dec 07, 2017 10:43 pm

From a developer's perspective, there's the question of why write for this platform instead of a more common one like the NES. Granted it might be harder, but install base won't be a problem.

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

Re: Arcade cores

Postby Sorgelig » Fri Dec 08, 2017 12:35 am

Newsdee wrote:From a developer's perspective, there's the question of why write for this platform instead of a more common one like the NES. Granted it might be harder, but install base won't be a problem.

Gameduino outperforms NES as well. Which console at that period could display 256 sprites at the same time? Which console supported 256 colors for every sprite and background?
Such big capability guarantees that you can re-create almost any game from that era. With some work, you can grab graphics from original game and use it in gameduino. And then only game logic will need to be re-written.

User avatar
Newsdee
Atari God
Atari God
Posts: 1041
Joined: Fri Sep 19, 2014 8:40 am

Re: Arcade cores

Postby Newsdee » Fri Dec 08, 2017 8:21 am

I have an idea... would it be possible to integrate some OSD commands into this core? Then it could be used to write a fancy customizable alternative to menu.rbf :)

So e.g. it runs on startup and presents a nice screen with plenty of graphics, joystick tests, etc.


Return to “MiSTer”

Who is online

Users browsing this forum: No registered users and 1 guest