GitXplorerGitXplorer
a

analogue-pocket-utils

public
115 stars
4 forks
1 issues

Commits

List of commits on branch master.
Unverified
78482d1b363606336f4535aa0adc2e957bc20558

Updated debug key to synch incoming UART

aagg23 committed a year ago
Unverified
598c753787d27b25d3b05a1d97c568204ab8727f

fix: Properly use WIDTH in sync_fifo and expose write_complete

aagg23 committed 2 years ago
Unverified
8c3ad32ff5c304f797b750ef11f01ed9ecf76602

Merge branch 'master' of https://github.com/agg23/analogue-pocket-utils

aagg23 committed 2 years ago
Unverified
4022ed41009ee629db473e28397cf77876c7e14a

Added disclaimer to OSS cores

aagg23 committed 2 years ago
Unverified
cf6c302338352565f5a23ff822350f6c529bcf2f

Removed PSRAM disclaimer (pretty sure it works just fine)

aagg23 committed 2 years ago
Verified
13e2edefd84c062f68225e6d253baf11ed6aad4c

chore: Added missing common repos to README (#8)

aagg23 committed 2 years ago

README

The README file for this repository.

Collection of Analogue Pocket Utilities

A collection of useful IP and information on how to develop openFPGA cores for the Analogue Pocket.

For tips, tricks, and various learnings from a software dev's perspective, check out the wiki.

IP

When possible, IPs will be provided with test benches.

HDL File Usage
mem/psram.sv Generic PSRAM controller, configured with timing for the Pocket's PSRAM. Supports synchronous access in async mode.
debug_key.v Enables LED/button/UART usage for the debug key included with Analogue Pocket Dev Kits
data_loader.sv Converts APF writes into configurable single or two byte words. TB tests both 8 and 16 bit writes
data_unloader.sv Connects APF reads into memory fetches, with configurable single or two byte words. TB tests both 8 and 16 bit reads
hex_loader.v Converts APF writes representing a hex file into bytes. Can be converted for use outside of APF. Has an involved TB
sound_i2s.sv Provides audio over the i2s bridge. Supports signed and unsigned audio
sync_fifo.sv An easily reusable method for synchronizing multiple bits across clock domains

Debug Key

You must set "cartridge_adapter": 0 in the core.json file, otherwise - the dev key doesn't work, and be careful when you distribute as well, or you will waste power.

This example demonstrates controlling the Debug Key's LED with the button.

wire LED;
wire button;

assign LED = button;

debug_key key (
    .cart_tran_bank0_dir(cart_tran_bank0_dir),
    .cart_tran_bank0(cart_tran_bank0),
    .cart_tran_bank3_dir(cart_tran_bank3_dir),
    .cart_tran_bank3(cart_tran_bank3),
    .LED(LED),
    .button(button)
);

Tools

CHIP32

Image Processing

Updaters

Cores

A sample of open source cores are provided here. This list updates rapidly and is likely incomplete. You can see the complete list at https://joshcampbell191.github.io/openfpga-cores-inventory/analogue-pocket.html

Arcade

Core Author URL
Asteroids ericlewis https://github.com/ericlewis/openfpga-asteroids
Dig Dug boogermann https://github.com/opengateware/arcade-digdug
Dominos ericlewis https://github.com/ericlewis/openfpga-dominos
Galaga boogermann https://github.com/opengateware/arcade-galaga
Green Beret boogermann https://github.com/opengateware/arcade-gberet
Lunar Lander ericlewis https://github.com/ericlewis/openfpga-lunarlander
Pong agg23 https://github.com/agg23/analogue-pong
Space Race ericlewis https://github.com/ericlewis/openfpga-spacerace
Super Breakout ericlewis https://github.com/ericlewis/openfpga-superbreakout
Tecmo nullobject https://github.com/nullobject/openfpga-tecmo
Xevious boogermann https://github.com/opengateware/arcade-xevious

Console/Handheld

Core Author URL
Arduboy agg23 https://github.com/agg23/analogue-arduboy
Genesis ericlewis https://github.com/ericlewis/openFPGA-Genesis
Neo Geo Mazamars312 https://github.com/Mazamars312/Analogue_Pocket_Neogeo
NES agg23 https://github.com/agg23/openfpga-NES
PC Engine agg23 https://github.com/agg23/openfpga-pcengine
PDP-1 spacemen3 https://github.com/spacemen3/PDP-1
PC Engine agg23 https://github.com/agg23/openfpga-pcengine
Pokemon Mini agg23 https://github.com/agg23/openfpga-pokemonmini
SNES agg23 https://github.com/agg23/openfpga-SNES