added a new macro progmem!() at the inside you can add new progmem data.

This commit is contained in:
Zenn 2023-08-07 19:18:34 +02:00
parent d9cb232cef
commit 28cbec07f8
8 changed files with 427 additions and 337 deletions

View file

@ -9,60 +9,111 @@ use arduboy_rust::arduboy_tone_pitch::*;
use arduboy_rust::prelude::*;
// Progmem data
#[link_section = ".progmem.data"]
static lol1: [u8; 19] = *b"I'm a PROGMEM Text\0";
#[link_section = ".progmem.data"]
static player_sprite1: [u8; 34] = [
16, 16, 0xfe, 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x01, 0x01, 0xc1, 0x01, 0x3d, 0x25, 0x25, 0x3d,
0x01, 0xfe, 0x7f, 0x80, 0x9c, 0xbc, 0xb0, 0xb0, 0xb2, 0xb2, 0xb3, 0xb0, 0xb0, 0xb0, 0xbc, 0x9c,
0x80, 0x7f,
];
#[link_section = ".progmem.data"]
static tones: [u16; 43] = [
NOTE_E4,
400,
NOTE_D4,
200,
NOTE_C4,
400,
NOTE_REST,
200,
NOTE_D4,
200,
NOTE_C4,
300,
NOTE_REST,
100,
NOTE_C4,
300,
NOTE_REST,
100,
NOTE_E4,
300,
NOTE_REST,
100,
NOTE_G4,
300,
NOTE_REST,
100,
NOTE_F4,
300,
NOTE_REST,
100,
NOTE_A4,
300,
NOTE_REST,
100,
NOTE_D5H,
200,
NOTE_REST,
200,
NOTE_D5H,
200,
NOTE_REST,
1500,
TONES_REPEAT,
];
progmem!(
static lol1: [u8; _] = *b"I'm a PROGMEM Text\0";
static player_sprite1: [u8; _] = [
16, 16, 0xfe, 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x01, 0x01, 0xc1, 0x01, 0x3d, 0x25, 0x25, 0x3d,
0x01, 0xfe, 0x7f, 0x80, 0x9c, 0xbc, 0xb0, 0xb0, 0xb2, 0xb2, 0xb3, 0xb0, 0xb0, 0xb0, 0xbc,
0x9c, 0x80, 0x7f,
];
static tones: [u16; _] = [
NOTE_E4,
400,
NOTE_D4,
200,
NOTE_C4,
400,
NOTE_REST,
200,
NOTE_D4,
200,
NOTE_C4,
300,
NOTE_REST,
100,
NOTE_C4,
300,
NOTE_REST,
100,
NOTE_E4,
300,
NOTE_REST,
100,
NOTE_G4,
300,
NOTE_REST,
100,
NOTE_F4,
300,
NOTE_REST,
100,
NOTE_A4,
300,
NOTE_REST,
100,
NOTE_D5H,
200,
NOTE_REST,
200,
NOTE_D5H,
200,
NOTE_REST,
1500,
TONES_REPEAT,
];
);
//#[link_section = ".progmem.data"]
//static player_sprite1: [u8; 34] = [
// 16, 16, 0xfe, 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x01, 0x01, 0xc1, 0x01, 0x3d, 0x25, 0x25, 0x3d,
// 0x01, 0xfe, 0x7f, 0x80, 0x9c, 0xbc, 0xb0, 0xb0, 0xb2, 0xb2, 0xb3, 0xb0, 0xb0, 0xb0, 0xbc, 0x9c,
// 0x80, 0x7f,
//];
// #[link_section = ".progmem.data"]
// static tones: [u16; 43] = [
// NOTE_E4,
// 400,
// NOTE_D4,
// 200,
// NOTE_C4,
// 400,
// NOTE_REST,
// 200,
// NOTE_D4,
// 200,
// NOTE_C4,
// 300,
// NOTE_REST,
// 100,
// NOTE_C4,
// 300,
// NOTE_REST,
// 100,
// NOTE_E4,
// 300,
// NOTE_REST,
// 100,
// NOTE_G4,
// 300,
// NOTE_REST,
// 100,
// NOTE_F4,
// 300,
// NOTE_REST,
// 100,
// NOTE_A4,
// 300,
// NOTE_REST,
// 100,
// NOTE_D5H,
// 200,
// NOTE_REST,
// 200,
// NOTE_D5H,
// 200,
// NOTE_REST,
// 1500,
// TONES_REPEAT,
// ];
// dynamic ram variables
static mut playerx: c_int = 5;