Something went wrong. Try again.
A modern, network-enabled music player platform built on Rockbox technology. rockboxd.tsiry-sandratraina.com
rust deno navidrome airplay libadwaita zig mpris snapcast mpd rockbox audio subsonic
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#!/usr/bin/perl
$codecs="lib/rbcodec/codecs";
opendir(DIR, $codecs) || die "can't opendir $some_dir: $!";my @maps = sort grep { /\.map/ && -f "$codecs/$_" } readdir(DIR);closedir DIR;
print "Codec IRAM IBSS BSS Text \n";
for my $m (@maps) { my ($iram, $ibss, $bss, $text)=scanmap($m); printf("%-15s: %5d %5d %6d %6d\n", $m, $iram, $ibss, $bss, $text);}
sub scanmap { my ($file)=@_;
open(F, "<$codecs/$file");
while(<F>) { if(/[ \t]*0x([0-9a-f]+) *_plugin_start_addr/) { #print "CODEC START: $1\n"; $codec = hex($1); } elsif(/[ \t]*0x([0-9a-f]+) *plugin_bss_start/) { #print "CODEC BSS START: $1\n"; $codecbss = hex($1); } elsif(/[ \t]*0x([0-9a-f]+) *_plugin_end_addr/) { #print "CODEC END: $1\n"; $bss = (hex($1) - $codecbss); $codec = (hex($1) - $codec - $bss); } elsif(/[ \t]*0x([0-9a-f]+) *iramstart/) { #print "IRAM START: $1\n"; $iram = hex($1); } elsif(/[ \t]*0x([0-9a-f]+) *iramend/) { #print "IRAM END: $1\n"; $iram = (hex($1) - $iram); } elsif(/[ \t]*0x([0-9a-f]+) *iedata/) { #print "IBSS START: $1\n"; $ibss = hex($1); } elsif(/[ \t]*0x([0-9a-f]+) *iend/) { #print "IBSS END: $1\n"; $ibss = (hex($1) - $ibss); } }
close(F);
return ($iram, $ibss, $bss, $codec);}