A Pixelcade Listener called pixelweb.exe (Windows) or pixelweb.jar (for Raspberry Pi and Mac) runs in the background and listens for REST URL calls. Note these are local REST calls to localhost so an Internet connection is not required. However if your host (PC or Raspberry Pi) is reachable via the Internet, then you can make these calls remote too. You can interact with the API by making REST URL calls directly or use pixelcade.exe (Windows) or pixelcade.jar (for Raspberry Pi & Mac). If integrating from a third party application, it will be significantly faster to make the REST URL calls direct from your application (option 1) vs. using the command line interface (option 2).
 
 

Option 1: REST URL API

The Pixelcade Listener is launched via pixelweb.exe (for Windows) or java -jar pixelweb.jar (Pi & Mac). Use the -s parameter to launch pixelweb without console messages and logging (pixelweb.exe -s) to improve performance. Without the -s parameter, logging is enabled to pixelweb.log.
REST Command
Result
http://localhost:8080/arcade/<stream or write>/<console-name>/<rom name>
Stream or write a PNG (still image) or GIF animation to the LED marquee. In write mode, the PNG or GIF will continue to display after the Pixelcade listener has been shutdown. Write includes a physical write to the microSD card on the PIXEL board and then the PNG or GIF is playing back locally with no dependency on the PC or Pi. With stream mode , the Pixelcade listener must be running. Stream mode playback is instant while there is a delay with write. 
Note if both a PNG and a GIF exist for the same game, Stream mode will pick the PNG first while write mode will pick the GIF first.
http://localhost:8080/console/<stream or write>/<console-name>?t=[alt-scrolling-text]
Displays a console/emulator specific PNG or GIF. If the console specific PNG or GIF does not exist, displays the default marquee or displaying scrolling text if ?t=[alt-scrolling-text] was specified
http://localhost:8080/quit
Shuts down the Pixelcade listener
http://localhost:8080/arcade/write/marquee/dummy
Writes your default marquee logo which can be used upon front end start up or exit
http://localhost:8080/arcade/stream/black/dummy
Blanks out the LED marquee
http://localhost:8080/text?t=<Your%20Scrolling%20Text%20Here>
Send scrolling text. Make sure to add %20 for all spaces.
http://localhost:8080/?t=[scrolling-text]&c=[color]&s=<scrolling-speed>
Changes the scrolling text color. Possibles values are: red, blue, cyan, gray, darkgray, green, lightgray, magenta, orange, yellow, pink, and white.
Hex color values may also be entered in 6 digit format without the # sign (Ex. 1F618D, 45B39D, or 922B21).
For scrolling speed, smaller number means faster scrolling. Range 10 – 150. 
The color will default to red if no color is specified or if an invalid color is specified.
http://localhost:8080/arcade/<stream or write>/<console-name>/<rom name>?t=[alt-scrolling-text]
If a matching PNG or GIF image is not found, then display scrolling text (Ex. Game Playing Asteroids Deluxe)
http://localhost:8080/arcade/<stream or write>/<console-name>/<rom name>?l=x
Loops a GIF animations x times or displays a still image PNG for x seconds
QUEUE FEATURE
If another loop command (GIF, PNG, or scrolling text) is sent while in the current loop, that next loop command will be sent to a Queue for playback after the current loop command has finished. The Queue can contain an unlimited number of commands in any combination of GIF animations, still PNG images, and scrolling text. 
To abort and clear all items in the Queue, simply send a new command that does not contain the loop parameter (&l=x) or send a write command. This command will immediately take priority, start, and empty the Queue.
Note that the display will be cleared / blanked out after the last loop command has finished.
http://localhost:8080/text?t=<scrolling-text>&l=x
Displays scrolling text for x loops. The Queue feature described above applies also to scrolling text with the loop parameter.
http://localhost:8080/animations/<stream or write>/<animation name>
Streams or writes an animation that exists in the /animations folder
 

Examples:

 
REST Call
Result
http://localhost:8080/arcade/stream/Atari%202600/pacman
Streams the pacman PNG or GIF for the Atari 2600 console
http://localhost:8080/arcade/stream/nes/WURM%20-%20Journey%20to%20the%20Center%20of%20the%20World(U).zip
Streams Journey to the center of the World for the NES console
http://localhost:8080/arcade/stream/mame/milliped
Streams Millipede for the MAME console
http://localhost:8080/arcade/write/mame/1942
Writes 1942 for the MAME console
http://localhost:8080/text?t=Hello%20World
Scrolls Hello World text
http://localhost:8080/text?t=Hello%20World&c=ff6d00
Scrolls Hello World text in light orange (hex color code)
http://localhost:8080/text?t=Game%20Playing%20Pacman&l=1&c=yellow&s=50
http://localhost:8080/arcade/stream/mame/pacman
Streams “Game Playing Pacman” in yellow one time in a slower speed of 50 and then sets the still image pacman PNG indefinitely
http://localhost:8080/text?t=Game%20Playing%20Pacman&l=1&c=blue
http://localhost:8080/arcade/stream/mame/pacman.png?l=3
http://localhost:8080/arcade/stream/mame/pacghosts.gif?l=2
Streams “Game Playing Pacman” in blue one time, then displays pacman PNG for 3 seconds, then loops the pacghosts GIF two times, and then clears the display blank.  
http://localhost:8080/arcade/stream/mame/Missing-Game?t=Game%20Playing%20Missing-Game&c=green
If missing-game.png or missing-game.gif does not exist, scrolls the text “Game Playing Missing Game” in green indefinitely
http://localhost:8080/arcade/stream/mame/Missing-Game?t=Game%20Playing%20Missing-Game&l=1
If missing-game.png or missing-game.gif does not exist, scrolls the text “Game Playing Missing Game” one time
http://localhost:8080/text/color/green
Changes scrolling text color to green
http://localhost:8080/text/speed/50
Changes scrolling text speed to 50. Smaller number is faster scrolling and larger number is slower scrolling. Range: 10 – 150
http://localhost:8080/arcade/write/user/<your file>
For non arcade use cases, you can use all the above features of the API and place your PNG or GIF files in the pixelcade install directory/user
http://localhost:8080/animations/stream/0rain
Streams the 0rain.gif file in the animations folder
http://localhost:8080/animations/stream/0rain?l=3
Streams the 0rain.gif file in the animations folder 3 times
 
Note the URL cannot contain spaces and cannot accept a full rom file path, just include the rom name (ex. 1942.zip) or the rom name without extension (Ex. 1942) 
 

Option 2: pixelcade.exe or pixelcade.jar

 
usage: pixelcade
                    -m,–mode <arg>  Sets stream or write mode, options are stream or write
                    -c,–console <arg>  Sets the console or platform name, ex. mame, atari2600, nes
                    -g,–game <arg>  Sets game / rom name, can be a full path, file name,
                        or just the basename without the extension
                     -s, –silent Disables console message and logging, log file is pixelcade.log
                      -t “your scrolling text” Must enclose in quotes
                     -color <color>   Scrolling text color, possibles values are: red, blue, cyan, gray, darkgray, green, lightgray, magenta, orange, yellow, pink, and white. Default: red
                      -speed <speed> Changes scrolling text speed. Smaller number is faster scrolling and larger number is slower scrolling. Range: 10 – 150
                  -loop <# times to loop> Loops and Queue Feature
                    -q,–quit  Shuts down Pixelcade listener (pixelweb.exe or pixelweb.jar)
                    -h,–help  show help.
 
VERY IMPORTANT: Enclose any parameters with spaces in double quotes. For example Atari 2600 must be enclosed in double quotes.

 

Examples:

Command
Result
pixelcade.exe -m stream -p “Atari 2600” -g Rampage.bin
Streams the Rampage game PNG or GIF for the Atari 2600 console for a Windows PC
pixelcade.exe -m write -p mame -g d:\roms\pacman.zip
Writes the pacman game on the MAME console for a Windows PC
pixelcade.exe -q
Sends shutdown command to the Pixelcade Listener (pixelweb)
java -jar pixelcade.jar -m stream -p c64 -g “Video Vermin (World).zip” 
Streams the Video Vermin game on the C64 console for a Raspberry Pi or Mac
java -jar pixelcade.jar -m write -p “Nintendo Entertain System” -g “Zelda II – The Adventure of Link (U).zip”
Writes the Zelda II – Advaneture of Link game for the NES console for a Raspberry Pi or Mac
pixelcade.exe -t “hello world” -l 3 -color green
Scrolls text “hello world” 3 times in green
pixelcade.exe -m stream -c mame -g pacghosts.gif -l 2
Loops the pacghosts GIF animation two times
java -jar pixelcade.jar -m stream -c mame -g pacghosts.gif -l 2
java -jar pixelcade.jar -t “hello world” -l 3 -color green
java -jar pixelcade.jar -t “cats are nice” -l 3 -color ff00ff
Loops the pacghosts GIF animation two times, then scrolls “hello world” 3 times in green, and then scrolls “cats are nice” 3 times in hex color ff00ff
pixelcade.exe -m stream -c mame -g GameX -t “Playing GameX” -color green
If a PNG or GIF does not exist for GameX, scrolls text “Playing GameX” in green indefinitely 
pixelcade.exe -m stream -c mame -g GameX -t “Playing GameX” -l 1
If a PNG or GIF does not exist for GameX, scrolls text “Playing GameX” one time
pixelcade.exe -m stream -c user -g <your-file>
 
For non arcade use cases, you can use all the above features of the API and place your PNG or GIF files in the pixelcade install directory/user
 
 
 
 
^ Back to Top