Your EasyEDA usage duration is brief. In order to avoid advertising information, this action is not supported at present. Please extend your EasyEDA usage duration and try again.
Editor Version×
Standard
1.Easy to use and quick to get started
2.The process supports design scales of 300 devices or 1000 pads
3.Supports simple circuit simulation
4.For students, teachers, creators
Profession
1.Brand new interactions and interfaces
2.Smooth support for design sizes of over 5,000 devices or 10,000 pads
3.More rigorous design constraints, more standardized processes
4.For enterprises, more professional users
Ongoing
STD
JAMMA Custom Arcade Project (JCAP)
License: MIT
Mode:Editors' pick
1.3k
0
0
1
Update time:
2020-02-08 19:47:52
Creation time:
2018-06-15 17:08:38
Description
Check out the Project Wiki for the development log
JCAP is a project with the goal of developing a JAMMA arcade standard compatible game board using the Parallax Propeller 1 (P8X32A) microcontroller upon which a user can implement their own custom arcade game, either from scratch or by using the library of graphics, sound, input, and other drivers developed under the project. Ultimately, the project will provide:
VGA video driver
Sprite/tile based graphics driver
PWM sound driver
Serialized input driver
Game engine
PCB schematic and CAD files
in such a way that a user has everything they need to implement their own arcade game and have a PCB printed to build it on.
The JAMMA Standard
The JAMMA standard itself is defined by a specific pinout, however the use of some or all of the signals is dependant on a given game board's configuration:
The Propeller 1
The P8X32A is an impressive 8-core microcontroller programmed using either a high-level proprietary language called Spin, or a form of assembly called PASM. A very large array of standard programming languages are also able to be compiled for the Propeller, most notably C.
The P8X32A works by implementing a round-robin exlusive resource access methodology via a rotating "hub", which switches shared resource access between each of the 8 individual processors, called "cogs":
The most significant benefit of using the Propeller as the backbone for JCAP is its implementation of video generation hardware within each cog. This reduces development time, and introduces a level of security and confidence in the hardware concerning the ablity to generate a VGA and/or composite TV video signal:
Dependencies
The following items are required to develop on the JCAP framework:
Propeller Tool IDE
Propeller Plug (or a serial data circuit of your own making)
The following items are useful but not necessary for development:
DE0-Nano FPGA Development and Education Board
Quartus Prime (for programming DE0-Nano with open-source P8X32A design)
Analog Discovery logic analyzer and WaveForms software
Documentation
The source code documentation for JCAP is written in-line and strives to be extensively detailed. There are however several external documents useful to developing for JCAP (all are included in the Docs/ directory):
Propeller 1 (P8X32A) Manual
Propeller 1 (P8X32A) Datasheet
DE0-Nano Manual
Loading P8X32A onto DE0-Nano
HYDRA Game Development Manual (inspiration for majority of JCAP hardware and drivers)
Contribution Guidelines
On the off chance anyone is interested in contributing to JCAP, there are some basic standards which should be ahered to:
Document everything! For code documentation, use existing code (e.g. Dev/Input/Software/input.spin) as an example. PASM should be documented somewhat anal-retentively, line-by-line, with block comments for routines and subroutines. Header comments should follow the same standard established by existing code as well.
Any discovered problems/concerns/features that you won't be addressing with your current commit need to have an issue created and assigned to the appropriate person(s), tag, milestone, and project. This eliminates the risk of development amnesia. Additionally, when a commit has satisfied an issue, the commit hash should be referenced in the closing comment of the issue.
Commit messages need to at a minimum broadly describe each change made to the repository. Whether it's fixing a bug, adding a feature, adding a new datasheet, or updating some indentation, one should be able to read the commit message and understand immediately what's been done to the repo.
Any documents (manuals, datasheets, tutorials) which are critical to your contributions should be placed in their appropriate subdirectories in /Docs. For similarly important generic links, place them in "Useful Links.txt" in /Docs.
Pull requests that don't follow these guidelines will be rejected until corrections have been made. While this all may seem like an over-processed waste of time, an auxiliary goal for JCAP is to create a project which maintains the highest possible standards to prevent headache down the road and belay confusion to anyone on the outside looking in.
Current Contributors
The following individuals have contributed to JCAP:
Connor Spangler (cspang1): cspang1@vt.edu
Marko Lukat (konimaru)
Forked project will be set private in personal workspace. Do you continue?
Clone
Project
The Pro editor is about to be opened to save as. Do you want to continue?
private message
Send message to cspang1
Delete
Comment
Are you sure to delete the comment?
Report
JAMMA Custom Arcade Project (JCAP)
No Profile
Announcer: Connor Spangler
Creation time: 2018-06-15 17:08:38
Published time:
2020-02-08 19:47:52
*
Report type:
Please select report type
*
Report reason:
Please fill in the reason for your report and the content is 2-1000
words
*
Upload image:
+
Upload image
*
Email address:
Please fill in your email address
Report
*
Report type:
Please select report type
*
Report reason:
Please fill in the reason for your report and the content is 2-1000
words
*
Upload image:
+
Upload image
*
Email address:
Please fill in your email address
Report
Submitted successfully! The review result can be viewed in the personal
center, review notification.
Kind tips
Your EasyEDA usage duration is brief. In order to avoid advertising information, this action is
not supported at present. Please extend your EasyEDA usage duration and try again.
Share
Project
Copy
Copy
Scan the QR code and open it on the mobile terminal