All Projects → IRQsome → Spin-Hexagon

IRQsome / Spin-Hexagon

Licence: other
Port of Super Hexagon to the Parallax Propeller

Programming Languages

Propeller Spin
14 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Spin-Hexagon

Halide
a language for fast, portable data-parallel computation
Stars: ✭ 4,722 (+36223.08%)
Mutual labels:  hexagon
FPGA ThreeLevelStorage
【原创,已被编入官方教材】Three-level storage subsystem(SD+DDR2 SDRAM+Cache), based on Nexys4 FPGA board. 同济大学计算机系统结构课程设计,FPGA三级存储子系统。
Stars: ✭ 86 (+561.54%)
Mutual labels:  sd-card
pi-factory
Bootstrap a bitcoin lightning box for Raspberry Pi 3 based on Alpine Linux
Stars: ✭ 17 (+30.77%)
Mutual labels:  sd-card
RedirectStorage
针对第三方 SDK 乱改存储卡和读取用户数据等行为,利用反射方式重定向 SD 卡目录。
Stars: ✭ 47 (+261.54%)
Mutual labels:  sd-card
FPGAmp
720p FPGA Media Player (RISC-V + Motion JPEG + SD + HDMI on an Artix 7)
Stars: ✭ 190 (+1361.54%)
Mutual labels:  sd-card
h3-r
R bindings for H3, a hierarchical hexagonal geospatial indexing system
Stars: ✭ 57 (+338.46%)
Mutual labels:  hexagon
react-polygon
A react add-on for drawing polygons for any number of sides, as well as animation
Stars: ✭ 27 (+107.69%)
Mutual labels:  hexagon
RPi-MediaLooper
Automatic video or audio loop for digital posters and audiovisual installations using Raspberry Pi hardware
Stars: ✭ 24 (+84.62%)
Mutual labels:  sd-card
Taranis-XLite-Q7-Lua-Dashboard
A simple lua-based dashboard for the OpenTX XLite/QX7 Transmitters
Stars: ✭ 60 (+361.54%)
Mutual labels:  sd-card
Commander
Arduino Command Line Utility
Stars: ✭ 20 (+53.85%)
Mutual labels:  sd-card
teensy-midi-looper
teensy midi loop recorder
Stars: ✭ 30 (+130.77%)
Mutual labels:  sd-card
UnityHexagonLibrary2d
A library to manage 2D hexagonal tiles in Unity.
Stars: ✭ 58 (+346.15%)
Mutual labels:  hexagon
esp32 MusicPlayer
ESP32 Music Player with simple code in arduino-esp32 (I2S interface)
Stars: ✭ 59 (+353.85%)
Mutual labels:  sd-card
Keystone
Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings
Stars: ✭ 1,654 (+12623.08%)
Mutual labels:  hexagon
kotlin-oauth2-server
Flexible OAuth2 server library. Support for multiple frameworks
Stars: ✭ 123 (+846.15%)
Mutual labels:  hexagon
H3
Hexagonal hierarchical geospatial indexing system
Stars: ✭ 3,167 (+24261.54%)
Mutual labels:  hexagon
H3.net
Port of Uber's H3 to .NET
Stars: ✭ 27 (+107.69%)
Mutual labels:  hexagon
arduino-audio-tools
Arduino Audio Tools (Music Player, Music Recorder supporting I2S, Microphones, DAC, ADC, A2DP, Url, MP3, AAC, AudioKit, ES8388)
Stars: ✭ 393 (+2923.08%)
Mutual labels:  sd-card
spin2cpp
Tool to convert Parallax Propeller Spin code to PASM, C++ or C
Stars: ✭ 41 (+215.38%)
Mutual labels:  propeller
stm32-usb-bootloader
This repository contains bootloader for stm32f1xx microcontrollers. It works for stm32f103ret6, but you can simply adopt it to any MCU supporting STM32 HAL library with USB and SD-card
Stars: ✭ 40 (+207.69%)
Mutual labels:  sd-card

logo

Spin Hexagon

Spin Hexagon is a port of Super Hexagon to the Propeller 1. It implements most features from the original game. (Most notably absent are the pentagon/square modes and the ending sequence.)

How to play

You control the little triangle orbiting the central Hexagon. The object of the game is to avoid getting hit by the incoming walls for as long as possible. Simple, isn't it?

How to play

Controls

Keyboard SNES What it does
Arrow Keys D-Pad or L/R Rotate triangle
Space Bar A Confirm / Restart
Esc Start Give up / Back
PrintScr Select Switch NTSC/PAL60
Ctrl+Alt+Del --- Quit game (REBOOT)

Hardware Requirements

  • 80 MHz CLKFREQ or more
  • Standard TV output circuit (CRT-based TV/monitor recommended)
  • Standard audio output circuit (stereo recommended)
  • PS/2 keyboard or SNES controller (you can of course easily modify the code to support whatever you need)
  • SD card (you can play without, but you won't get any sound and won't be able to save your best times and unlocked levels.)

See the relevant FAQ section for porting instructions.

Screenshots

title screen level select multic actually, i'm a video

^^ That last one is actually a video, click it to watch.

FAQ

How do I compile it?

I like to use the rake build system, but if you don't want to install that, I've provided instructions for building manually.

Using the Rakefile

You will need:

  • flexspin/fastspin 4.3.0 or 5.0.0. (Current version has regressions preventing it from building Should be fine again)
  • ruby 2.6 (lower/higher should work)
  • rake (usually bundled with ruby)

Simply type rake and it will compile everything you need. Head on to the installation question.

If you have modified any file and want to re-build, you might have to run rake clean first (this wouldn't be necessary if fastspin could emit dependency info - get on it, Eric :) )

Manually

You will need:

  • flexspin/fastspin 4.3.0 or higher. (Note that versions below 5.0.0 are called "fastspin", adjust the commands accordingly if using such a version)

Run the following commands:

    flexspin -O1,inline-single,loop-reduce --fcache=86 -Werror -c Keyboard.spin
    flexspin -O1,inline-single,loop-reduce --fcache=86 -Werror -c tinySDDA.spin
    flexspin -O1,inline-single,loop-reduce --fcache=86 -Werror -c VJET_v00_composite.spin
    flexspin -O1,inline-single,loop-reduce --fcache=86 -Werror -c VJET_v00_rendering.spin
    flexspin -O1,inline-single,loop-reduce --fcache=86 -Werror -l hexagon.spin
    flexspin -O1,inline-single,loop-reduce --fcache=86 -Werror -l hexagon_boot.spin
    copy hexagon.binary HEXAGON.BI2
    copy hexagon_boot.binary HEXAGON.BIN

(use cp instead of copy on Linux/BSD/MacOS)

How do I install it?

With SD card

Copy HEXAGON.BI2 and all .RAW and .VU files (don't worry, it will yell at you if you miss one) into the root directory of your SD card.

Then, if you are using an OS like VentilatorOS that can boot .BIN files, also copy HEXAGON.BIN. Else, load hexagon_boot.binary into EEPROM or RAM the usual way.

Without SD card

Load hexagon.binary into EEPROM or RAM the usual way. You will not get any sound and won't be able to save your best times and unlocked levels.

How do I adapt it to my board?

Simply open up platform.spin and adapt it to your needs.

Note that if you want an input method that is neither a SNES controller nor a PS/2 Keyboard, you will have to modify the code - look into PUB update in hexagon.spin

Also note that C3-style SPI busses are not supported at the moment, but modifying the code for that shouldn't be too difficult - tinySDDA in particular just selects the card once and never deselects it, so you'd only need to tweak the init code. Relatedly, not that the version of SD-MMC_FATEngine.spin used by the booter is slightly customized - it has some slight Spin modifications to allow finding the sector adresses of files and a small ASM modification to leave the last 512 bytes of RAM alone when booting.

Also note that there is currently no VGA support whatsoever. If you want to port to VGA (or P2!) please contact me, I can give you some materials and advice.

What's the situation with trademarks/copyrights?

I've got permission from the creator of Super Hexagon to distribute Spin Hexagon.

Hey!

Yes, you have my permission to distribute this however you like! This looks fantastic, by the way - I can really see an attention to detail in recreating the wave design and timing from Super Hexagon. Nice work!

-Terry Cavanagh, in an E-Mail to me

I can't get it to work or have further questions!

Just ask! Ideally in the SpinHexagon thread on the Parallax Forum.

Acknowledgements

Thanks go out to:

  • Terry Cavanagh and Chipzel for Super Hexagon
  • Eric Smith @totalspectrum for fastspin and quick response to bug reports
  • Chip Gracey for the Propeller chip and some of the included driver code
  • Everyone who finds some joy in this project

While you're here, care to check out my Cool Propeller Project List?

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].