License

MIT

Tags
Recommend Projects

JAMMA Custom Arcade Project (JCAP)

1 year ago 324
  • Description
  • Documents
  • BOM
  • Attachments
  • Members
  • Comments

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): [email protected] Marko Lukat (konimaru)

Documents

Microcontrollers

Peripherals

Support

BOM

ID Name Designator Footprint Quantity Mounted
1 P8X32A-D40 U6,U7 DIP40 2 Yes
2 6.5MHZ X1,X2 OSC-49S-1 2 Yes
3 .1u C10,C7,C8,C9,C5,C6,C11,C4,C2,C3 RAD-0.1 10 Yes
4 Switch,3*6*2.5Plastic head white,260G, 0.25mm,SMD SW18 SWITCH-3X6X2.5_SMD 1 Yes
5 1k R43,R3,R2 AXIAL-0.3 3 Yes
6 330 R41,R42 AXIAL-0.3 2 Yes
7 74HC165 U4,U5,U8 SOIC-16_150MIL 3 Yes
8 310 R23,R20,R21,R22,R30,R27,R28,R29 AXIAL-0.3 8 Yes
9 154 R24,R25,R31,R32 AXIAL-0.3 4 Yes
10 146 R26,R33 AXIAL-0.3 2 Yes
11 264 R36,R34,R35 AXIAL-0.3 3 Yes
12 133 R37 AXIAL-0.3 1 Yes
13 170 R38 AXIAL-0.3 1 Yes
14 270 R39,R40 AXIAL-0.3 2 Yes
15 4K7 R4 AXIAL-0.3 1 Yes
16 TPA3122D2N U9 DIP-20 1 Yes
17 4K7 RN1,RN2,RN3 SIP-9 3 Yes
18 24LC256 U3,U2 SOIC-8_150MIL 2 Yes
19 LD33CV U1 TO-220 1 Yes
20 LED-3MM LED1 LED-3MM/2.54 1 Yes
21 100 R1 AXIAL-0.3 1 Yes
22 10u C1 RAD-0.1 1 Yes
23 4x1 Male Header JP1,JP2 HDR-2P*4P 2 Yes
24 VGA-002 DSUB1 VGA-002 1 Yes

Attachments

None

Members

Success
The owner does not allow comments in this project now

Comments (0)

goToTop
你现在访问的是EasyEDA海外版,使用建立访问速度更快的国内版 https://lceda.cn(需要重新注册)
如果需要转移工程请在个人中心 - 工程 - 工程高级设置 - 下载工程,下载后在https://lceda.cn/editor 打开保存即可。
有问题联系QQ 3001956291 不再提醒
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow
We use cookies to offer you a better experience. Detailed information on the use of cookies on this website is provided in our Privacy Policy. By using this site, you consent to the use of our cookies.