RocketGod eb50b790c2
Snake (#2549)
* Create the Shopping Cart Lock app

Will demonstrate tomorrow. Don't merge until I do 😁

* Fixes for HTotoo's comments 😎

* Improved audio the best I can.

If nobody has any ideas to further improve high frequencies of the audio, the hardware may not be capable. I still need to check with line-out to better speaker to make sure it's not just the speaker, but it shouldn't be.

* Compared against baseband_api.cpp - matched some things better but still playback seems to be missing higher fq sounds

* renamed wav files to a more specific / less generic name

* indentation + using variables instead of litteral names for wav files to use

* indentation

* Made a Snake game - enjoy

* Code formatting. I always forget.

* move to keep sort order

* Update external.ld

Sorry I should have also asked if there was any reason that address ranges 0xADDA0000--0xADDD0000 were skipped in external.ld.  I assumed there wasn't so I changed it to be consecutive using the same 0x10000 step as the other modules.  If there is any reason to skip them then we should add a comment to note it.  Of course these are all just temporary address values used for linking and get overwritten by a kludgy "search & replace" during the build process.

Resolves enhancement request #764

---------

Co-authored-by: gullradriel <gullradriel@no-mail.com>
Co-authored-by: Mark Thompson <129641948+NotherNgineer@users.noreply.github.com>
2025-03-08 08:33:27 -06:00

67 lines
1.4 KiB
C++

/*
* ------------------------------------------------------------
* | Made by RocketGod |
* | Find me at https://betaskynet.com |
* | Argh matey! |
* ------------------------------------------------------------
*/
#include "ui.hpp"
#include "ui_snake.hpp"
#include "ui_navigation.hpp"
#include "external_app.hpp"
namespace ui::external_app::snake {
void initialize_app(ui::NavigationView& nav) {
nav.push<SnakeView>();
}
} // namespace ui::external_app::snake
extern "C" {
__attribute__((section(".external_app.app_snake.application_information"), used)) application_information_t _application_information_snake = {
(uint8_t*)0x00000000,
ui::external_app::snake::initialize_app,
CURRENT_HEADER_VERSION,
VERSION_MD5,
"Snake",
{
0x00,
0x00,
0x7E,
0x42,
0x42,
0x42,
0x7E,
0x00,
0x00,
0x7E,
0x42,
0x42,
0x42,
0x7E,
0x00,
0x00,
0x00,
0x7E,
0x42,
0x42,
0x42,
0x7E,
0x00,
0x00,
0x7E,
0x42,
0x42,
0x42,
0x7E,
0x00,
0x00,
},
ui::Color::green().v,
app_location_t::GAMES,
-1,
{0, 0, 0, 0},
0x00000000,
};
}