Giter Site home page Giter Site logo

jotego / jtcores Goto Github PK

View Code? Open in Web Editor NEW
197.0 23.0 35.0 265.3 MB

FPGA cores compatible with multiple arcade game machines and KiCAD schematics of arcade games. Working on MiSTer FPGA/Analogue Pocket

Home Page: https://patreon.com/jotego

License: GNU General Public License v3.0

Makefile 0.02% C++ 23.75% Verilog 60.18% Assembly 1.04% Shell 1.06% C 0.60% Forth 0.01% Go 1.46% VHDL 8.99% HTML 0.18% Pawn 0.12% Smalltalk 0.01% NASL 0.01% Python 0.13% M 0.01% MATLAB 0.01% Awk 0.01% SystemVerilog 1.93% SourcePawn 0.02% Tcl 0.48%
arcade fpga kicad-schematics retrogaming misterfpga

jtcores's Introduction

JTCORES FPGA Arcade Hardware by Jose Tejada (@topapate)

You can show your appreciation through

Yes, you always wanted to have an arcade board at home. First you couldn't get it because your parents somehow did not understand you. Then you grow up and your wife doesn't understand you either. Don't worry, JT cores are here to the rescue.

I hope you will have as much fun with this project as I had while working on it!

Wanna play?

You will not find the list of supported games anywhere in this repository as that list is actually an output of the source code here. But all supported games have associated MRA files, that you can see here. There are 900 supported titles at the moment.

The compiled versions for some FPGA platforms are in JTBIN. Most cores are released early for patrons so check it out too. JTFRAME supports more FPGA platforms than the ones publised in JTBIN. You are welcome to compile the cores for the other platforms. Distribution of the core binary files together with copyrighted ROM files is not permitted.

Compilation - JTFRAME

Refer to JTFRAME for compilation instructions and general information about how the cores are organized.

Master branch health: Compile all MiSTer cores Verilator linter

Schematics

Some core have KiCAD schematics for the arcade PCB. This is part of the core research effort and it is important on its own. The schematics folders are called sch and can be found in some core folders.

All schematics use the same set of symbol components from JTKICAD

Troubleshooting

  • If you have in-game problems, please read the text file specific to that core. Sometimes it's just that the games has more buttons than you think
  • Continue the game: some early arcade games require you to hold the fire button while pressing 1P to continue

Keyboard

For MiST and MiSTer: games can be controlled with both game pads and keyboard. The keyboard follows the same layout as MAME's default.

F2      Service mode
F3      Game reset
T       Tilt
P       Pause (in some games, you can disable the credits screen by pressing 1P)
1,2,3,4 1P..4O start buttons
5,6     Left and right coin inputs
9       Service

cursors 1P direction
CTRL    1P button 1
ALT     1P button 2
space   1P button 3

R,F,G,D 2P direction
Q,S,A   2P buttons 3,2 and 1

Credits

Jose Tejada Gomez. Twitter @topapate The project is hosted in http://www.github.com/jotego/jt_gng License: GPL3, you are obligued to publish your code if you use mine

Thank you all!

+--------------------------------------------------------------------------------+
|oooooooooooooooooooooooooooooooooo+++++++++++ooooooooooooooooooooooooooooooooooo|
|ooooooooooooooooooooooooooooooooo+. .    . .+ooooooooooooooooooooooooooooooooooo|
|ooooooooooooooooooooooooooooooooo~         :o++ooooooooooooooooooooooooooooooooo|
|oooooooooooooooooooooooooooo+ooo+.        .++.:oo+oo+oooooo+o+oo+oooooo++ooooooo|
|ooooooooooooooooooooooooo+.......          .. .............................:oooo|
|oooooooooooooooooooooooo+.                                                .+o+oo|
|oooooooooooooooooooooooo:                                                 :o:.+o|
|ooooooooooooooooooooooo+.                                                .++.:oo|
|ooooooooooooooooooooooo:.....           ...........          ....... ....:o~.+oo|
|oooooooooooooooooooooooo+++++~         ~+++:++:++++.         ++++++++++++++.+ooo|
|oooooooooooooooooooooooooo+:~         .++.~:::::::.         .o+.~:::::::::::+ooo|
|oooooooooooooooooooooooooooo:         :o~.+oooooo+.         ++.~oooooooooooooooo|
|ooo~........~oooooooooooooo+.        .++.:ooooooo+         ~o:.+oooooooooooooooo|
|oo:         ~o++ooooooooooo.         +o~.ooooooo+.        .++.~ooooooooooooooooo|
|oo.         :+.:ooooooooo+.         ~o+.+ooooooo:         ~o:.+ooooooooooooooooo|
|oo.         ...~:::::::..          .++.~ooooooo+.        .o+.:oooooooooooooooooo|
|oo~                               ~o+..+ooooooo~         +o~.+oooooooooooooooooo|
|oo+.                           .~+o+..+ooooooo+.        .o+.+ooooooooooooooooooo|
|oooo~.                       .:+o+..:+oooooooo.         +o..oooooooooooooooooooo|
|ooooo+:...              ..~:+++:..:+ooooooooo+         .o+.+oooooooooooooooooooo|
|ooooooo+++::::::::::++++++++~~.~++ooooooooooo+:+:::::+:++.~ooooooooooooooooooooo|
|ooooooooo+++:::::::::~:~~~~:++oooooooooooooooooo+::::~::~.+ooooooooooooooooooooo|
|oooooooooooooo+o+oo++++o+ooooooooooooooooooooooo+o+++o++o+oooooooooooooooooooooo|
+--------------------------------------------------------------------------------+

jtcores's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jtcores's Issues

Bionic Commando MCU/inputs issue

Bionic Commando fails to read the inputs. The problem started when I moved the 8051 code to use clock enable signals. The 8051 was problematic with sound and one reason might have been not meeting timing.

Once the 8051 used a clock enable the whole design was cleaner. F-1 Dream uses the same MCU and worked fine. However, Bionic Commando input stopped working. For Bionic Commando the MCU has access to part of the input bits but not to all. Communication about input is likely to be done through main memory.

The same 8051 is used in Black Tiger, and there is an issue about it (#41). Bootleg versions of Black Tiger work ok.

For Bionic Commando I have been able to play with the bootleg version at the time I was preparing commit c1076b9 but I am not sure whether the commit works for the bootleg or not. The bootleg is not supposed to have an MCU.

There is no nice 8051 IP available for retro purposes. All IP available comes from people who want to make stuff roughly compatible with 8051 but all I have seen -even those coming from private companies- do not respect the original chip interface or peripherals. Let alone have a clock enable input.

So there is quite a bit of work to do to debug what is wrong with either the 8051 IP or the interface with it.

The core status, other than that, is up to date with JTFRAME and simulation works.

0508 update causes issues with games stuck at RAM check

Gunsmoke will no longer work and is stuck at RAM check screen. F3 resets RAM check, but goes no further. 1942 is doing the same. Out of todays updates, Commando is working...but doing a strange thing with coin credits ;)

1942 graphics

Hi Jotego.

I just built 1942 from the last source you published for the MiST and there are a few graphical bugs. The background is shifted about 8 pixel and there are some missing parts on the sprites (or shifted sprites).

The other games are fine.

Thanks for sharing!

jtgng: unused dipswitch quite not unused

Greetings,

in today's MRA update, the last dipswitch of Ghosts'n'Goblins/Makaimura is labelled as unused, while it really isn't: it toggles invincibility. It wouldn't be much of an issue, if it wasn't for the fact the game defaults with it toggled on, which is quite confusing!

Cheers!

GnG vs SDRAM

jtgng_20191229
The game hangs up after several minutes with some memories.

Memory Stable
PorkChop's 128MB module No
Ricardo's 32MB module Yes
Ricardo's 128 Module Testing now

15KHz crt support

HI, Will you ever add support for the original 15KHz output so it could be used with an original arcade CRT via a J-pac and the VGA output of the de10-nano ?

Missing jtframe

This module is not in github, so the cores are unbuildable.

WILLOW strange turbo behavior and unassigned buttons

Hello, just wanted to let you know that in WILLOW if you use the attack or jump buttons it speeds up the game insanely fast in everything except once the game starts. It speeds up text, animation, and the countdown timer if you die. Is this normal?

Also, there is a button assignment that doesn't seem to exist. The game had 2 buttons, one for attack and one for jump, but when doing button assignments there is a third button that seems to be blank.

Sprite x,yoffset

Sprite position has a 1 or 2 pixel offset in Ghosts’n Goblins and 1943. Maybe Commando too. Fix it

Getting Continue to Work in GnG

Continue was working for me in the prior build of GnG, but with the latest I can't ever seem to continue. I've tried mapping different gamepad buttons, loading up coins initially, doing "start" followed by "fire", "coin" followed by "fire", "coin" followed by "start", switching off coin mode.... I can never get the continue to happen before the timer countdown reaches zero.

(this is using the MiSTer version)

edit: I just discovered that continue seems to work if I press fire and start at the same time. Was the original arcade like that too? Maybe it would be helpful to include that in the release notes?

Wrong jtframe?

Hi jotego, thanks for sharing your work.
I'm trying to build the GNG for Mist, but I' getting a few errors at the jtframe part. It looks like the GnG is using some older version, with fewer parameters. Can you point me the correct one, please?

CPS1: The King of Dragons, cymbal PCM seems very loud.

Greetings,

In the newest RBF (April 10th's), the cymbal rhythm sound effect in the King of Dragons seems disproportionally loud.
It is very apparent in one of the boss fight's music (which luckily happens to be the first and second bosses'), but in some other parts as well.
Other rhythm effect used in the soundtrack don't seem to have that problem.

Thank you for your amazing work and best regards,

High score and player 1 & 2 text is cut off at the top

On this core the high score and player 1 & 2 text is cut off at the top when compared to MAME, see: https://imgur.com/a/lMyXtCB

running with MiSTer.ini setting to confirm that my HDTV/HDMI is not being cut off due to the TV or TV's Bezel in attached MiSTer picture:
vscale_border=10 ; set vertical border for TVs cutting the upper/bottom parts of screen (1-99)

Last build with black screen

Hi Jotego,

I just built from the last sources (stable branch) for MiST and I'm getting black screens on Bionic Commando and Tiger Road. Black Tiger is working and F1 Dream fails to build. (see below)

All games were built following the instruction on README.

The pre-built cores are working
https://github.com/jotego/jtbin/tree/master/mist

Thanks for sharing!


Critical Warning (10191): Verilog HDL Compiler Directive warning at jtframe_mist_top.sv(75): text macro "CORENAME" is undefined
Error (10170): Verilog HDL syntax error at jtframe_mist_top.sv(75) near text ","; expecting an operand
Critical Warning (10191): Verilog HDL Compiler Directive warning at jtframe_mist_top.sv(325): text macro "GAMETOP" is undefined
Error (10112): Ignored design unit "jtf1dream_mist" at jtframe_mist_top.sv(27) due to previous errors

The first (and I think the second) is always the torch.

This is something that bothers me from MAME as well. Maybe I am wrong and I do not recall the original arcade, but I am quite confident that the items were random. However in this version we get always a torch as the first item, and I think as second item as well, third item the knife. Maybe there is some issue in the way the random number generation is performed? maybe it is using a static seed?
In any case, it hurts the game a bit, since if you take the torch by mistake in the first stage, you are more or less smoked :D.

how insert coin??

After create rom and put with the core in mist, is great to see the game presentation and insert coin message but, how in the world is possible to start the game??? Dont work with joy in usb mist, megadrive pad, o any keyboard keys... I dont understand. it is necessary to have a keyboard with numeric keypad maybe???

Strange noise in the second stage

in the second stage (ice castle) there is some strange background noise. Its almost like a one of the platforms makes a noise that fills too much, not sure.

errors in git submodule update

Hi

I have found two errors doing the submodule update.

one of them in fx68k . seems it try to checkout an unexistant commit :-(
The other one, jt49 has to be put inside jt12.

After that, seems all is syntetizing fine.

Black Tiger froze after finishing the game at the STOP / WARNING screen

As I was checking your fix for #41 using the 0226 rbf you uploaded, I could confirm the game didn't freeze after beating a boss. (I will test it more).
Everything seemed fine; until I finished the game.
After the credits; the game froze on the "Stop don't use this game if you are outside blablabla WARNING" screen. I couldn't do anything, the game softlocked / froze. I will try to repro it but entered it here to keep track of it. Thanks for your help fixing those and working on CPS at the same time, and maybe on a NES cart reader; who knows :)

Bus arbitrion

Bus arbitrion is not perfect as it is probably the cause of the background problem in Commando. Re-write it and make it universal among all Capcom cores.

Garbled sprites

The older Jotegi cores work fine but new ones like Tiger Road, F1 and Bionic Commando don't work properly for me. Many of the sprites are either garbled or don't appear at all.

I've not had this problem with any other cores including all the arcade ones. I was hoping that after an update or two, things would fix themselves, but they haven't. Any advice would be appreciated.
2020-03-07 11 33 29

Some graphical glitches in Black Tiger

From the fourth level I started to see some glitches, becomes worse in level 5, also when the glitches appear, the high score naming screen does not display properly the cursor from around the middle of the keys. Please see the attached screenshots:
Level 4:
image
Level 5:
image
image
Shop in level 5:
image
High score table (only appears broken after level 3 when the glitches appeared in the game):
image

Otherwise the game plays really well :). Trying to regain my skills to complete it with one credit.

HDMI Aspect ratio

The current aspect ratio on HDMI is 4:3 but the video on a CRT is quite narrow and closer to 5:4 because of the 384 pixels per line with only 256 active pixels.

Bionic Commando / Sprites corrupted

Hi Jotego,

Whatever the rom version I am using, same issue, most of the sprites are corrupted (vertical lines).
Is it a SDRAM issue ? I'm using the "old" board (not the new SDRAM board for NeoGeo)

MiSTer version : MiSTer_20200101
Core: jtbiocom_20191201.rbf

Note: same issue with F1-Dream and Tiger Road

Thanks!

CPS1 Carrier Air Wing sprite priority bug

Yesterday I played Carrier Air Wing all 9 (or 10?) rounds with Continue dip on.

I noticed when the plane is fueled up (all three rounds or so?) that the pipes are flying through the air and I thought it looks weird.

So I opened Youtube and found the same behaviour but also some YT Vidoes without the problem. I think it's a bug.

Wrong (like on MISTer):
https://www.youtube.com/watch?v=ev1rgJm6uWw&t=545s

Seems right:
https://www.youtube.com/watch?v=T2ffq0MHzGI&t=306s

Also I lost control during the game at stage 7 or 8 (no control anymore and I died). Then I noticed I need to press start again and from that on I was player two (?) until the end of the game. Strange. I don't know why this happened and if it was a one time issue or not. Maybe I'll play it again tonight.

Smooth scrolling

This is something I do not recall from the original arcade. I know that in the first versions of MAME (1998 or something), the scroll was super smooth. However, at some point the scroll stopped to be smooth, now, it could be that the correct emulation is the latest version, i.e. with non-smooth scroll. Since this is a hardware recreation I guess that it is correct like this, but since you own the original hardware, could you just confirm this fact so that I can go to sleep with peace of mind? :).

Blacktiger and Tiger Road horizontal scroll not completely smooth (on MiST)

Hello,

I just noticed that the horizontal scroll in both Blacktiger and Tiger Road is not completely smooth, there is something that looks strange, can be compared to the vertical scroll which is perfectly smooth in both games, however you will need a CRT monitor to notice this, on a LCD due to slower screen update and ghosting you will not see any difference.

Commando tile glitches

As seen here, at least the MiSTer version of Commando has problems with the tiles. They seem to go away after playing for a while. Not seen on MiST yet. Maybe a metastability issue?

MiST phase shift set to 180º

I've noticed this commit, and want to make a note: if you're using the correct PLL for the SDRAM clock, you won't need any phase shift until about ~100MHz. Just add this to the .qsf:
set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component"
of course set the correct pll name, the main point is to use PLL_1, which has a dedicated output to the SDRAM_CLK pin.

Music when Coining

Hi,
There is a small minor thing that I notice.
When you add a coin, You can hear the sound corresponding, but the music of attract mode is still going on. I believe that it should stop. There should be silence until the player hit start.

dd: Music issues in Double Dragon core

  • In the first stage, when a character pops through the bricks wall the music cuts out and then it goes back to normal.

  • Music from the first boss ("The Entrance of Abobo the Giant" track) doesn't sound right from second ~10 or so.

1Player Start - No permanent mapping

MisTer Build - Commando

Is there any way to map a button to 1P Start? F1 on the keyboard works, but I can't see any way to make this a permanent mapping to a joystick button.

Apologies if I'm just blind and can't see it,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.