Homebrew PICA200 shader assembler
Go to file
2016-03-26 14:02:02 +01:00
source Correct MAD instruction encoding 2016-03-26 14:02:02 +01:00
.gitignore Autoconfiscate; this is required by the devkitARM build process 2014-12-10 22:28:45 +01:00
autogen.sh Set +x bit on .sh scripts 2014-12-10 23:24:22 +01:00
Changelog.md v2.3 2016-02-20 00:24:43 +01:00
clean.sh Set +x bit on .sh scripts 2014-12-10 23:24:22 +01:00
configure.ac v2.3 2016-02-20 00:24:43 +01:00
COPYING Initial commit 2014-11-16 18:59:54 +01:00
example.vsh Add support for integer vector uniforms/constants and boolean uniforms 2014-12-11 17:23:29 +01:00
Makefile.am Autoconfiscate; this is required by the devkitARM build process 2014-12-10 22:28:45 +01:00
Manual.md Correct MAD instruction encoding 2016-03-26 14:02:02 +01:00
README.md Add WIP documentation 2014-12-12 22:17:17 +01:00

picasso

Introduction

picasso is a PICA200 shader assembler, written in C++. The PICA200 is the GPU used by the Nintendo 3DS.

picasso comes with a manual Manual.md that explains the shader language. example.vsh is simple example that demonstrates it.

Building

A working C++ compiler for the host is required (Windows users: use TDM-GCC), plus autotools. Use the following commands to build the program:

./autogen.sh
./configure
make

Shout-outs

  • smea for reverse-engineering the PICA200, writing documentation, working hard & making aemstro_as.py (the original homebrew PICA200 shader assembler)
  • neobrain for making nihstro-assemble, whose syntax inspired that of picasso and whose usage of boost inspired me to make my own assembler without hefty dependencies.