1
0
Fork 0
mirror of https://git.sr.ht/~rabbits/orca-toy synced 2025-12-31 05:46:23 +00:00
No description
Find a file
Devie Lu Linvega d33d8eba08 Improved rule90
2025-12-21 11:35:00 -08:00
etc Moved everything in examples 2025-11-29 02:31:23 -08:00
examples Improved rule90 2025-12-21 11:35:00 -08:00
src Simplified drawin 2025-12-07 11:32:42 -08:00
.build.yml Fixed insert icon 2025-06-16 08:29:40 -07:00
.gitignore Added open file with ctrl+enter 2025-11-20 14:37:37 -08:00
LICENSE Init 2020-11-02 20:33:44 -08:00
lobby.orca Moved everything in examples 2025-11-29 02:31:23 -08:00
makefile Moved everything in examples 2025-11-29 02:31:23 -08:00
README.md Updated build manifest 2023-06-08 11:45:49 -07:00

Orca

Orca is an esoteric programming language, written in Uxntal.

In Orca, every letter of the alphabet is an operation, where lowercase letters operate on bang, uppercase letters operate each frame. For more details, see the complete operation manual.

Build

You must have the Uxn assembler and emulator.

uxnasm src/orca.tal bin/orca.rom && uxnemu bin/orca.rom

If do not wish to assemble it yourself, you can download orca.rom.

builds.sr.ht status

I/O

The : operator is used to send note values to other applications, to convert the signal to midi, use the shim.

uxnemu orca.rom | shim

Operators

To display the list of operators inside of Orca, use CmdOrCtrl+G.

  • A add(a b): Outputs sum of inputs.
  • B subtract(a b): Outputs difference of inputs.
  • C clock(rate mod): Outputs modulo of frame.
  • D delay(rate mod): Bangs on modulo of frame.
  • E east: Moves eastward, or bangs.
  • F if(a b): Bangs if inputs are equal.
  • G generator(x y len): Writes operands with offset.
  • H hold: Holds southward operand.
  • I increment(step mod): Increments southward operand.
  • J jumper(val): Outputs northward operand.
  • K konkat(len): Reads multiple variables.
  • L lesser(a b): Outputs smallest of inputs.
  • M multiply(a b): Outputs product of inputs.
  • N north: Moves Northward, or bangs.
  • O read(x y read): Reads operand with offset.
  • P push(len key val): Writes eastward operand.
  • Q query(x y len): Reads operands with offset.
  • R random(min max): Outputs random value.
  • S south: Moves southward, or bangs.
  • T track(key len val): Reads eastward operand.
  • U uclid(step max): Bangs on Euclidean rhythm.
  • V variable(write read): Reads and writes variable.
  • W west: Moves westward, or bangs.
  • X write(x y val): Writes operand with offset.
  • Y yumper(val): Outputs westward operand.
  • Z lerp(rate target): Transitions operand to input.
  • * bang: Bangs neighboring operands.
  • # comment: Halts a line.

Special

  • = synth(channel octave note): Plays a synth note.
  • : midi(channel octave note vel len): Sends a midi note.
  • ; note(octave note): Sends a single note.
  • / byte(hb lb): Sends a single byte.
  • $ self(path): Inject file in grid.

Support