Giter Club home page Giter Club logo

fgpl's Introduction

fgpl The Fighting Game Programming Language

FGPL was created to answer one simple question. Can you make a programming language you can write with an arcade stick or an all button controller typically used to play fighting games.

How it works

The language is basically an assembler like language. Each instuction has been assigned a fighting game controller compatible combo. Address and value inputs are made using numpad notation. Each input is enterd / ended with a dust key press. Meaning the general syntax is as follows

operation combo followed by dust followed by parameters such as addresses or values terminated by dust

An example. ldi 256 would be written as 4pd256d meaing a key press combination of left punch for the instruction ldi followed by dust ending the input followed by the parameter down neutral right representing 256 followed by dust ending the command.

As of the writing of this document the following instructions are implemented.

mnemonic input code / op code Description
ldi value 4pd(value)d Load an imidate value to register a
lds addr 47kd(addr)d Load value at addr to register a
ldr addr 41kd(addr)d Load value at address stored in addr into a
sts addr 69kd(addr)d Store value in a to addr
str addr 63kd(addr)d Store value in a at address stored in addr
chs 456d/654d Change sign of number in a
add addr 632d(addr)d add value at addr to a
sub addr 412d(addr)d subtract value at addr from a
jmp value 7d/9d/1d/3d (value)d set programm counter to value
cpi value 741236985d(value)d compare value in a with value
cpa addr 7896321475d(addr)d compare value at addr with value in a
blt addr 654sd(addr)d branch if at last cp value in a was smaller
bgt addr 456sd6(addr)d branch if at last cp value in a was greater
beq addr 5sd(addr)d branch if at last cp values were equal

More instuctions will be added. (I hope). I am also currently expiremnting with a better way to input numbers as some input combos are next to impossible with a fighting game controller. 91 for example would become 951 making the number 91 impossible to enter. As soon as I found a good solution the programming language will be updated.

If you got any suggestions as on how to improve this language please let me know. Code contribuitons are also very welcome.

Thank you for reading. Lamato / Tina

fgpl's People

Contributors

llamato avatar

Watchers

 avatar

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.