|
@ -20,7 +20,6 @@ Animations |
|
|
![Fire](/doc/img/anim-feuer.png) |
|
|
![Fire](/doc/img/anim-feuer.png) |
|
|
![Scrolling Text](/doc/img/anim-scroll.png) |
|
|
![Scrolling Text](/doc/img/anim-scroll.png) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Games |
|
|
Games |
|
|
----- |
|
|
----- |
|
|
|
|
|
|
|
@ -32,10 +31,9 @@ Games |
|
|
* First Person Tetris: Rotate the bucket instead of the Tetromino. |
|
|
* First Person Tetris: Rotate the bucket instead of the Tetromino. |
|
|
* Bastet: Dices the worst the possible Tetromino the whole time. |
|
|
* Bastet: Dices the worst the possible Tetromino the whole time. |
|
|
* Snake |
|
|
* Snake |
|
|
* Pong |
|
|
* Breakout |
|
|
* Space Invaders |
|
|
* Space Invaders |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Build |
|
|
Build |
|
|
===== |
|
|
===== |
|
|
|
|
|
|
|
@ -43,12 +41,11 @@ Supported build platforms are Linux, FreeBSD and Windows (via Cygwin). Due to |
|
|
customized linker scripts, simulator support is currently limited to x86 and |
|
|
customized linker scripts, simulator support is currently limited to x86 and |
|
|
x86_64 archs. Following dependencies have to be met: |
|
|
x86_64 archs. Following dependencies have to be met: |
|
|
|
|
|
|
|
|
Dependencies Linux / FreeBSD |
|
|
Linux / FreeBSD |
|
|
---------------------------- |
|
|
--------------- |
|
|
|
|
|
|
|
|
Package names are based on those packages found in the Debian/Ubuntu |
|
|
Package names are based on Debian/Ubuntu repositories. Please adapt the names |
|
|
repositories. Please adapt the names according to your Linux distribution (or |
|
|
according to your Linux distribution (or FreeBSD for that matter). |
|
|
FreeBSD for that matter). |
|
|
|
|
|
|
|
|
|
|
|
* build-essential (pulls in an ordinary gcc build tool chain for the host) |
|
|
* build-essential (pulls in an ordinary gcc build tool chain for the host) |
|
|
* make (gmake on FreeBSD) |
|
|
* make (gmake on FreeBSD) |
|
@ -59,8 +56,8 @@ FreeBSD for that matter). |
|
|
* avrdude |
|
|
* avrdude |
|
|
* freeglut3-dev |
|
|
* freeglut3-dev |
|
|
|
|
|
|
|
|
Dependencies Windows |
|
|
Windows |
|
|
-------------------- |
|
|
------- |
|
|
|
|
|
|
|
|
* [WinAVR](http://winavr.sourceforge.net) (includes avr-gcc and avrdude) |
|
|
* [WinAVR](http://winavr.sourceforge.net) (includes avr-gcc and avrdude) |
|
|
* [Cygwin(64)](http://www.cygwin.com/) |
|
|
* [Cygwin(64)](http://www.cygwin.com/) |
|
@ -68,21 +65,21 @@ Dependencies Windows |
|
|
* gcc-core |
|
|
* gcc-core |
|
|
* libncurses-devel (Cygwin) |
|
|
* libncurses-devel (Cygwin) |
|
|
* libncursesw-devel (Cygwin64) |
|
|
* libncursesw-devel (Cygwin64) |
|
|
* [libusb-win32](http://sourceforge.net/apps/trac/libusb-win32/wiki) if you |
|
|
* [libusb-win32](http://sourceforge.net/apps/trac/libusb-win32/wiki) if you want |
|
|
want to use your USBasp programmer device with avrdude on Windows |
|
|
to use your USBasp programmer device with avrdude on Windows |
|
|
|
|
|
|
|
|
Configure |
|
|
Configure |
|
|
--------- |
|
|
--------- |
|
|
|
|
|
|
|
|
Open a terminal and type: |
|
|
Open a (Cygwin) terminal, change to your checkout directory and type: |
|
|
> make menuconfig |
|
|
> make menuconfig |
|
|
|
|
|
|
|
|
This brings up a curses based text interface for configuring certain aspects of |
|
|
This starts a curses based text interface for configuring certain aspects of |
|
|
your target platform. Be careful if you use a full-fledged IDE like Eclipse to |
|
|
your target platform. Be careful if you use an IDE like Eclipse to manage the |
|
|
manage the build, as integrated terminal emulators tend to choke on curses |
|
|
build, as integrated terminal emulators tend to choke on curses generated shell |
|
|
generated shell output. Just ensure that 'make menuconfig' has been run at least |
|
|
output. Make sure that 'make menuconfig' has been run at least once in an |
|
|
once in an ordinary terminal emulator after a fresh checkout or after issuing |
|
|
ordinary terminal emulator after a fresh checkout or after issuing 'make |
|
|
'make mrproper'. |
|
|
mrproper'. |
|
|
|
|
|
|
|
|
Compile |
|
|
Compile |
|
|
------- |
|
|
------- |
|
@ -94,9 +91,19 @@ If you want to test and debug your code within a GUI application, you can use |
|
|
the simulator: |
|
|
the simulator: |
|
|
> make simulator |
|
|
> make simulator |
|
|
|
|
|
|
|
|
Then you can start the simulator by typing ./borgsim(.exe) |
|
|
In case you build on FreeBSD, just use 'gmake' instead of 'make'. |
|
|
|
|
|
|
|
|
|
|
|
You can start the simulator by typing ./borgsim(.exe) |
|
|
|
|
|
|
|
|
|
|
|
Simulator Handling |
|
|
|
|
|
------------------ |
|
|
|
|
|
|
|
|
|
|
|
Please keep in mind that the simulator is NOT an emulator. All it does is |
|
|
|
|
|
compile the source to a native host application so you can step through your |
|
|
|
|
|
C-Code. The GUI thread reads the simulated frame buffer every 40ms and draws its |
|
|
|
|
|
contents. |
|
|
|
|
|
|
|
|
|
|
|
Joystick directions are simulated by the WASD keys and SPACE acts as the fire |
|
|
|
|
|
button. The OpenGL based simulator (Linux/FreeBSD) enables you to adjust the |
|
|
|
|
|
viewing angle of the LED matrix via the arrow keys (not available on Windows). |
|
|
|
|
|
|
|
|
Please keep in mind that the simulator is NOT an emulator. All it does is to |
|
|
|
|
|
compile the source code to an ordinary host application so you can step |
|
|
|
|
|
through your C-Code. The GUI application scans the simulated frame buffer every |
|
|
|
|
|
40ms and draws its contents. |
|
|
|
|
|