forked from len0rd/rockbox
Build some more plugins for M:Robe most work, doom builds and runs if you use a hack - need to fix the user timer so that it works properly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15403 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
574b1009a6
commit
38548c7118
17 changed files with 276 additions and 27 deletions
|
@ -648,6 +648,44 @@ static bool dbg_hw_info(void)
|
||||||
lcd_update();
|
lcd_update();
|
||||||
|
|
||||||
while (!(action_userabort(TIMEOUT_BLOCK)));
|
while (!(action_userabort(TIMEOUT_BLOCK)));
|
||||||
|
#elif CONFIG_CPU == DM320
|
||||||
|
int line = 0, button;
|
||||||
|
int *address=0x0;
|
||||||
|
bool done=false;
|
||||||
|
char buf[100];
|
||||||
|
|
||||||
|
lcd_setmargins(0, 0);
|
||||||
|
lcd_setfont(FONT_SYSFIXED);
|
||||||
|
lcd_clear_display();
|
||||||
|
lcd_puts(0, line++, "[Hardware info]");
|
||||||
|
|
||||||
|
while(!done)
|
||||||
|
{
|
||||||
|
button = button_get(false);
|
||||||
|
button&=~BUTTON_REPEAT;
|
||||||
|
if (button == BUTTON_POWER)
|
||||||
|
done=true;
|
||||||
|
if(button==BUTTON_RC_PLAY)
|
||||||
|
address+=0x01;
|
||||||
|
else if (button==BUTTON_RC_DOWN)
|
||||||
|
address-=0x01;
|
||||||
|
else if (button==BUTTON_RC_FF)
|
||||||
|
address+=0x800;
|
||||||
|
else if (button==BUTTON_RC_REW)
|
||||||
|
address-=0x800;
|
||||||
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "current tick: %04x", (unsigned int)current_tick);
|
||||||
|
lcd_puts(0, line++, buf);
|
||||||
|
snprintf(buf, sizeof(buf), "Address: 0x%08x Data: 0x%08x", (unsigned int)address, *address);
|
||||||
|
lcd_puts(0, line++, buf);
|
||||||
|
snprintf(buf, sizeof(buf), "Address: 0x%08x Data: 0x%08x", (unsigned int)(address+1), *(address+1));
|
||||||
|
lcd_puts(0, line++, buf);
|
||||||
|
snprintf(buf, sizeof(buf), "Address: 0x%08x Data: 0x%08x", (unsigned int)(address+2), *(address+2));
|
||||||
|
lcd_puts(0, line++, buf);
|
||||||
|
line -= 4;
|
||||||
|
}
|
||||||
|
lcd_update();
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_CPU */
|
#endif /* CONFIG_CPU */
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -325,7 +325,7 @@ static void gui_list_draw_smart(struct gui_list *gui_list)
|
||||||
gui_list->data,
|
gui_list->data,
|
||||||
entry_buffer);
|
entry_buffer);
|
||||||
entry_name = P2STR(s);
|
entry_name = P2STR(s);
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
int style = STYLE_DEFAULT;
|
int style = STYLE_DEFAULT;
|
||||||
/* position the string at the correct offset place */
|
/* position the string at the correct offset place */
|
||||||
|
|
|
@ -64,7 +64,7 @@ static char *option_get_valuestring(struct settings_list *setting,
|
||||||
if ((setting->flags & F_BOOL_SETTING) == F_BOOL_SETTING)
|
if ((setting->flags & F_BOOL_SETTING) == F_BOOL_SETTING)
|
||||||
{
|
{
|
||||||
bool val = (bool)temp_var;
|
bool val = (bool)temp_var;
|
||||||
snprintf(buffer, buf_len, "%s",
|
snprintf(buffer, buf_len, "%s",
|
||||||
str(val? setting->bool_setting->lang_yes :
|
str(val? setting->bool_setting->lang_yes :
|
||||||
setting->bool_setting->lang_no));
|
setting->bool_setting->lang_no));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#if !defined(IRIVER_IFP7XX_SERIES) && !defined(OLYMPUS_MROBE_500)
|
#if !defined(IRIVER_IFP7XX_SERIES)
|
||||||
|
|
||||||
/* For all targets */
|
/* For all targets */
|
||||||
shortcuts
|
shortcuts
|
||||||
|
@ -22,7 +22,7 @@ reversi
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* For all 2bpp and colour targets */
|
/* For all 2bpp and colour targets */
|
||||||
#if (LCD_DEPTH >= 2)
|
#if (LCD_DEPTH >= 2) && !defined(OLYMPUS_MROBE_500)
|
||||||
zxbox
|
zxbox
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -37,8 +37,7 @@ pacbox
|
||||||
(LCD_DEPTH == 2) && !defined(ARCHOS_AV300)
|
(LCD_DEPTH == 2) && !defined(ARCHOS_AV300)
|
||||||
doom
|
doom
|
||||||
#endif
|
#endif
|
||||||
#endif /* mrobe 500 */
|
|
||||||
#if !defined(IRIVER_IFP7XX_SERIES)
|
|
||||||
/* For all the swcodec targets */
|
/* For all the swcodec targets */
|
||||||
#if CONFIG_CODEC == SWCODEC
|
#if CONFIG_CODEC == SWCODEC
|
||||||
midi
|
midi
|
||||||
|
|
|
@ -211,6 +211,21 @@ PLUGIN_HEADER
|
||||||
#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
|
#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
|
||||||
#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
|
#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
|
||||||
|
|
||||||
|
#elif CONFIG_KEYPAD == MROBE500_PAD
|
||||||
|
#define CB_SELECT BUTTON_RC_MODE
|
||||||
|
#define CB_UP BUTTON_RC_PLAY
|
||||||
|
#define CB_DOWN BUTTON_RC_DOWN
|
||||||
|
#define CB_LEFT BUTTON_RC_REW
|
||||||
|
#define CB_RIGHT BUTTON_RC_FF
|
||||||
|
#define CB_PLAY BUTTON_RC_HEART
|
||||||
|
#define CB_LEVEL BUTTON_RC_VOL_DOWN
|
||||||
|
#define CB_MENU BUTTON_POWER
|
||||||
|
|
||||||
|
#define CB_SCROLL_UP (BUTTON_RC_PLAY|BUTTON_REPEAT)
|
||||||
|
#define CB_SCROLL_DOWN (BUTTON_RC_DOWN|BUTTON_REPEAT)
|
||||||
|
#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT)
|
||||||
|
#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error CHESSBOX: Unsupported keypad
|
#error CHESSBOX: Unsupported keypad
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -199,6 +199,21 @@
|
||||||
#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
|
#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
|
||||||
#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
|
#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
|
||||||
|
|
||||||
|
#elif CONFIG_KEYPAD == MROBE500_PAD
|
||||||
|
#define CB_SELECT BUTTON_RC_MODE
|
||||||
|
#define CB_UP BUTTON_RC_PLAY
|
||||||
|
#define CB_DOWN BUTTON_RC_DOWN
|
||||||
|
#define CB_LEFT BUTTON_RC_REW
|
||||||
|
#define CB_RIGHT BUTTON_RC_FF
|
||||||
|
#define CB_PLAY BUTTON_RC_HEART
|
||||||
|
#define CB_LEVEL BUTTON_RC_VOL_DOWN
|
||||||
|
#define CB_MENU BUTTON_POWER
|
||||||
|
|
||||||
|
#define CB_SCROLL_UP (BUTTON_RC_PLAY|BUTTON_REPEAT)
|
||||||
|
#define CB_SCROLL_DOWN (BUTTON_RC_DOWN|BUTTON_REPEAT)
|
||||||
|
#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT)
|
||||||
|
#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error CHESSBOX: Unsupported keypad
|
#error CHESSBOX: Unsupported keypad
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -213,16 +213,19 @@ void I_ShutdownGraphics(void)
|
||||||
#define DOOMBUTTON_ENTER BUTTON_SELECT
|
#define DOOMBUTTON_ENTER BUTTON_SELECT
|
||||||
#define DOOMBUTTON_WEAPON BUTTON_VOL_DOWN
|
#define DOOMBUTTON_WEAPON BUTTON_VOL_DOWN
|
||||||
#define DOOMBUTTON_MAP BUTTON_VOL_UP
|
#define DOOMBUTTON_MAP BUTTON_VOL_UP
|
||||||
|
#elif CONFIG_KEYPAD == MROBE500_PAD
|
||||||
|
#define DOOMBUTTON_ESC BUTTON_POWER
|
||||||
|
#define DOOMBUTTON_UP BUTTON_RC_PLAY
|
||||||
|
#define DOOMBUTTON_DOWN BUTTON_RC_DOWN
|
||||||
|
#define DOOMBUTTON_LEFT BUTTON_RC_REW
|
||||||
|
#define DOOMBUTTON_RIGHT BUTTON_RC_FF
|
||||||
|
#define DOOMBUTTON_OPEN BUTTON_RC_VOL_DOWN
|
||||||
|
#define DOOMBUTTON_SHOOT BUTTON_RC_VOL_UP
|
||||||
|
#define DOOMBUTTON_ENTER BUTTON_RC_MODE
|
||||||
|
#define DOOMBUTTON_WEAPON BUTTON_RC_HEART
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define DOOMBUTTON_UP BUTTON_UP
|
#error Keymap not defined!
|
||||||
#define DOOMBUTTON_DOWN BUTTON_DOWN
|
|
||||||
#define DOOMBUTTON_LEFT BUTTON_LEFT
|
|
||||||
#define DOOMBUTTON_RIGHT BUTTON_RIGHT
|
|
||||||
#define DOOMBUTTON_SHOOT BUTTON_REC
|
|
||||||
#define DOOMBUTTON_OPEN BUTTON_MODE
|
|
||||||
#define DOOMBUTTON_ESC BUTTON_OFF
|
|
||||||
#define DOOMBUTTON_ENTER BUTTON_SELECT
|
|
||||||
#define DOOMBUTTON_WEAPON BUTTON_ON
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DOOMBUTTON_SCROLLWHEEL
|
#ifdef DOOMBUTTON_SCROLLWHEEL
|
||||||
|
|
|
@ -118,6 +118,22 @@
|
||||||
#define PACMAN_COIN BUTTON_FF
|
#define PACMAN_COIN BUTTON_FF
|
||||||
#define PACMAN_MENU BUTTON_PLAY
|
#define PACMAN_MENU BUTTON_PLAY
|
||||||
|
|
||||||
|
#elif CONFIG_KEYPAD == MROBE500_PAD
|
||||||
|
|
||||||
|
#define PACMAN_UP BUTTON_RC_PLAY
|
||||||
|
#define PACMAN_DOWN BUTTON_RC_DOWN
|
||||||
|
#define PACMAN_LEFT BUTTON_RC_REW
|
||||||
|
#define PACMAN_RIGHT BUTTON_RC_FF
|
||||||
|
#define PACMAN_1UP BUTTON_RC_VOL_DOWN
|
||||||
|
#define PACMAN_2UP BUTTON_RC_VOL_UP
|
||||||
|
#define PACMAN_COIN_PRE BUTTON_RC_MODE
|
||||||
|
#define PACMAN_COIN (BUTTON_RC_MODE | BUTTON_RC_DOWN)
|
||||||
|
#define PACMAN_MENU BUTTON_POWER
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#error Keymap not defined!
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (LCD_HEIGHT >= 288)
|
#if (LCD_HEIGHT >= 288)
|
||||||
|
|
|
@ -57,8 +57,9 @@ OUTPUT_FORMAT(elf32-sh)
|
||||||
#define IRAMSIZE 0x4000
|
#define IRAMSIZE 0x4000
|
||||||
#elif CONFIG_CPU==DM320
|
#elif CONFIG_CPU==DM320
|
||||||
#define DRAMORIG 0x00900000 + STUBOFFSET
|
#define DRAMORIG 0x00900000 + STUBOFFSET
|
||||||
#define IRAMORIG 0x00000100
|
#define IRAMORIG DRAMORIG
|
||||||
#define IRAMSIZE 0x4000-0x100
|
#define IRAMSIZE 0x4000
|
||||||
|
#define IRAM DRAM
|
||||||
#else
|
#else
|
||||||
#define DRAMORIG 0x09000000 + STUBOFFSET
|
#define DRAMORIG 0x09000000 + STUBOFFSET
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -105,7 +105,16 @@
|
||||||
#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
|
#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
|
||||||
#define REVERSI_BUTTON_MENU (BUTTON_SELECT|BUTTON_REPEAT)
|
#define REVERSI_BUTTON_MENU (BUTTON_SELECT|BUTTON_REPEAT)
|
||||||
|
|
||||||
#elif
|
#elif CONFIG_KEYPAD == MROBE500_PAD
|
||||||
|
#define REVERSI_QUIT BUTTON_POWER
|
||||||
|
#define REVERSI_BUTTON_UP BUTTON_RC_PLAY
|
||||||
|
#define REVERSI_BUTTON_DOWN BUTTON_RC_DOWN
|
||||||
|
#define REVERSI_BUTTON_LEFT BUTTON_RC_REW
|
||||||
|
#define REVERSI_BUTTON_RIGHT BUTTON_RC_FF
|
||||||
|
#define REVERSI_BUTTON_MAKE_MOVE BUTTON_RC_MODE
|
||||||
|
#define REVERSI_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
|
||||||
|
|
||||||
|
#else
|
||||||
#error REVERSI: Unsupported keypad
|
#error REVERSI: Unsupported keypad
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -176,7 +176,7 @@ static void setoptions (void)
|
||||||
options.START=BUTTON_SELECT;
|
options.START=BUTTON_SELECT;
|
||||||
options.SELECT=BUTTON_NONE;
|
options.SELECT=BUTTON_NONE;
|
||||||
options.MENU=BUTTON_POWER;
|
options.MENU=BUTTON_POWER;
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
|
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
|
||||||
options.UP=BUTTON_SCROLL_UP;
|
options.UP=BUTTON_SCROLL_UP;
|
||||||
options.DOWN=BUTTON_SCROLL_DOWN;
|
options.DOWN=BUTTON_SCROLL_DOWN;
|
||||||
|
@ -186,6 +186,19 @@ static void setoptions (void)
|
||||||
options.START=BUTTON_REW;
|
options.START=BUTTON_REW;
|
||||||
options.SELECT=BUTTON_NONE;
|
options.SELECT=BUTTON_NONE;
|
||||||
options.MENU=BUTTON_POWER;
|
options.MENU=BUTTON_POWER;
|
||||||
|
#elif CONFIG_KEYPAD == MROBE500_PAD
|
||||||
|
options.UP=BUTTON_RC_PLAY;
|
||||||
|
options.DOWN=BUTTON_RC_DOWN;
|
||||||
|
options.LEFT=BUTTON_RC_REW;
|
||||||
|
options.RIGHT=BUTTON_RC_FF;
|
||||||
|
|
||||||
|
options.A=BUTTON_RC_VOL_DOWN;
|
||||||
|
options.B=BUTTON_RC_VOL_UP;
|
||||||
|
options.START=BUTTON_RC_HEART;
|
||||||
|
options.SELECT=BUTTON_RC_MODE;
|
||||||
|
options.MENU=BUTTON_POWER;
|
||||||
|
#else
|
||||||
|
#error No Keymap Defined!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
options.maxskip=4;
|
options.maxskip=4;
|
||||||
|
|
|
@ -136,7 +136,21 @@
|
||||||
#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
|
#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
|
||||||
#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
|
#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
|
||||||
|
|
||||||
#elif
|
#elif CONFIG_KEYPAD == MROBE500_PAD
|
||||||
|
#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
|
||||||
|
#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
|
||||||
|
#define SUDOKU_BUTTON_UP BUTTON_RC_PLAY
|
||||||
|
#define SUDOKU_BUTTON_DOWN BUTTON_RC_DOWN
|
||||||
|
#define SUDOKU_BUTTON_LEFT BUTTON_RC_REW
|
||||||
|
#define SUDOKU_BUTTON_RIGHT BUTTON_RC_FF
|
||||||
|
#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_RC_VOL_DOWN
|
||||||
|
#define SUDOKU_BUTTON_TOGGLE BUTTON_RC_VOL_UP
|
||||||
|
#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_RC_MODE
|
||||||
|
#define SUDOKU_BUTTON_MENU_PRE BUTTON_POWER
|
||||||
|
#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
|
||||||
|
#define SUDOKU_BUTTON_POSSIBLE BUTTON_RC_HEART
|
||||||
|
|
||||||
|
#else
|
||||||
#error SUDOKU: Unsupported keypad
|
#error SUDOKU: Unsupported keypad
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -86,6 +86,17 @@
|
||||||
#define ZX_UP BUTTON_UP
|
#define ZX_UP BUTTON_UP
|
||||||
#define ZX_DOWN BUTTON_DOWN
|
#define ZX_DOWN BUTTON_DOWN
|
||||||
|
|
||||||
|
#elif CONFIG_KEYPAD == MROBE500_PAD
|
||||||
|
#define ZX_UP BUTTON_RC_PLAY
|
||||||
|
#define ZX_DOWN BUTTON_RC_DOWN
|
||||||
|
#define ZX_LEFT BUTTON_RC_REW
|
||||||
|
#define ZX_RIGHT BUTTON_RC_FF
|
||||||
|
#define ZX_SELECT BUTTON_RC_MODE
|
||||||
|
#define ZX_MENU (BUTTON_POWER | BUTTON_REL)
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error Keymap not defined!
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -54,6 +54,8 @@ INPUT(target/sh/crt0.o)
|
||||||
#define IRAMSIZE 0xc000
|
#define IRAMSIZE 0xc000
|
||||||
#elif CONFIG_CPU==PNX0101
|
#elif CONFIG_CPU==PNX0101
|
||||||
#define DRAMORIG 0xc00000 + STUBOFFSET
|
#define DRAMORIG 0xc00000 + STUBOFFSET
|
||||||
|
#define IRAM0ORIG 0x000000
|
||||||
|
#define IRAM0SIZE 0x7000
|
||||||
#define IRAMORIG 0x400000
|
#define IRAMORIG 0x400000
|
||||||
#define IRAMSIZE 0x7000
|
#define IRAMSIZE 0x7000
|
||||||
#elif CONFIG_CPU==S3C2440
|
#elif CONFIG_CPU==S3C2440
|
||||||
|
@ -83,17 +85,104 @@ INPUT(target/sh/crt0.o)
|
||||||
|
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
|
DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
|
||||||
#if CONFIG_CPU != S3C2440
|
#if CONFIG_CPU != S3C2440
|
||||||
IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
|
IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_CPU==PNX0101
|
#if CONFIG_CPU==PNX0101
|
||||||
IRAM0 : ORIGIN = 0x0, LENGTH = IRAMSIZE
|
IRAM0 : ORIGIN = IRAM0ORIG, LENGTH = IRAM0SIZE
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
#if (CONFIG_CPU==DM320)
|
||||||
|
.text :
|
||||||
|
{
|
||||||
|
loadaddress = .;
|
||||||
|
_loadaddress = .;
|
||||||
|
. = ALIGN(0x200);
|
||||||
|
*(.init.text)
|
||||||
|
*(.text*)
|
||||||
|
*(.glue_7)
|
||||||
|
*(.glue_7t)
|
||||||
|
. = ALIGN(0x4);
|
||||||
|
} > DRAM
|
||||||
|
|
||||||
|
.rodata :
|
||||||
|
{
|
||||||
|
*(.rodata) /* problems without this, dunno why */
|
||||||
|
*(.rodata*)
|
||||||
|
*(.rodata.str1.1)
|
||||||
|
*(.rodata.str1.4)
|
||||||
|
. = ALIGN(0x4);
|
||||||
|
|
||||||
|
/* Pseudo-allocate the copies of the data sections */
|
||||||
|
_datacopy = .;
|
||||||
|
} > DRAM
|
||||||
|
|
||||||
|
/* TRICK ALERT! For RAM execution, we put the .data section at the
|
||||||
|
same load address as the copy. Thus, we don't waste extra RAM
|
||||||
|
when we don't actually need the copy. */
|
||||||
|
.data : AT ( _datacopy )
|
||||||
|
{
|
||||||
|
_datastart = .;
|
||||||
|
*(.data*)
|
||||||
|
. = ALIGN(0x4);
|
||||||
|
_dataend = .;
|
||||||
|
} > DRAM
|
||||||
|
|
||||||
|
/DISCARD/ :
|
||||||
|
{
|
||||||
|
*(.eh_frame)
|
||||||
|
}
|
||||||
|
|
||||||
|
.vectors IRAMORIG :
|
||||||
|
{
|
||||||
|
_vectorsstart = .;
|
||||||
|
*(.vectors);
|
||||||
|
_vectorsend = .;
|
||||||
|
} > IRAM AT> DRAM
|
||||||
|
|
||||||
|
_vectorscopy = LOADADDR(.vectors);
|
||||||
|
|
||||||
|
.iram :
|
||||||
|
{
|
||||||
|
_iramstart = .;
|
||||||
|
*(.icode)
|
||||||
|
*(.irodata)
|
||||||
|
*(.idata)
|
||||||
|
_iramend = .;
|
||||||
|
} > IRAM AT> DRAM
|
||||||
|
|
||||||
|
_iramcopy = LOADADDR(.iram);
|
||||||
|
|
||||||
|
.ibss (NOLOAD) :
|
||||||
|
{
|
||||||
|
_iedata = .;
|
||||||
|
*(.ibss)
|
||||||
|
. = ALIGN(0x4);
|
||||||
|
_iend = .;
|
||||||
|
} > IRAM
|
||||||
|
|
||||||
|
.stack :
|
||||||
|
{
|
||||||
|
*(.stack)
|
||||||
|
stackbegin = .;
|
||||||
|
. += 0x2000;
|
||||||
|
stackend = .;
|
||||||
|
} > IRAM
|
||||||
|
|
||||||
|
.bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram) + SIZEOF(.vectors):
|
||||||
|
{
|
||||||
|
_edata = .;
|
||||||
|
*(.bss*)
|
||||||
|
*(COMMON)
|
||||||
|
. = ALIGN(0x4);
|
||||||
|
_end = .;
|
||||||
|
} > DRAM
|
||||||
|
|
||||||
|
#else /* End DM320 */
|
||||||
#if !defined(CPU_ARM)
|
#if !defined(CPU_ARM)
|
||||||
.vectors :
|
.vectors :
|
||||||
{
|
{
|
||||||
|
@ -248,6 +337,8 @@ SECTIONS
|
||||||
. = ALIGN(0x4);
|
. = ALIGN(0x4);
|
||||||
_end = .;
|
_end = .;
|
||||||
} > DRAM
|
} > DRAM
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
.audiobuf ALIGN(4) :
|
.audiobuf ALIGN(4) :
|
||||||
{
|
{
|
||||||
|
|
|
@ -104,8 +104,10 @@
|
||||||
/* The number of bytes reserved for loadable codecs */
|
/* The number of bytes reserved for loadable codecs */
|
||||||
#define CODEC_SIZE 0x80000
|
#define CODEC_SIZE 0x80000
|
||||||
|
|
||||||
/* The number of bytes reserved for loadable plugins */
|
/* The number of bytes reserved for loadable plugins
|
||||||
#define PLUGIN_BUFFER_SIZE 0x80000
|
* - larger than other targets due to screen size
|
||||||
|
*/
|
||||||
|
#define PLUGIN_BUFFER_SIZE 0x100000
|
||||||
|
|
||||||
/* Define this if you have the WM8975 audio codec */
|
/* Define this if you have the WM8975 audio codec */
|
||||||
//#define HAVE_WM8751
|
//#define HAVE_WM8751
|
||||||
|
|
|
@ -100,6 +100,7 @@ void lcd_update_rect(int x, int y, int width, int height)
|
||||||
if (height <= 0)
|
if (height <= 0)
|
||||||
return; /* nothing left to do */
|
return; /* nothing left to do */
|
||||||
|
|
||||||
|
#if defined(SCREEN_ROTATE)
|
||||||
dst = (fb_data *)FRAME + LCD_WIDTH*y + x;
|
dst = (fb_data *)FRAME + LCD_WIDTH*y + x;
|
||||||
src = &lcd_framebuffer[y][x];
|
src = &lcd_framebuffer[y][x];
|
||||||
|
|
||||||
|
@ -114,6 +115,27 @@ void lcd_update_rect(int x, int y, int width, int height)
|
||||||
/* Full width - copy as one line */
|
/* Full width - copy as one line */
|
||||||
lcd_copy_buffer_rect(dst, src, LCD_WIDTH*height, 1);
|
lcd_copy_buffer_rect(dst, src, LCD_WIDTH*height, 1);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
src = &lcd_framebuffer[y][x];
|
||||||
|
|
||||||
|
register int xc, yc;
|
||||||
|
register fb_data *start=(fb_data *)FRAME + (LCD_HEIGHT-x)*LCD_WIDTH + y;
|
||||||
|
|
||||||
|
for(yc=0;yc<height;yc++)
|
||||||
|
{
|
||||||
|
dst=start+yc;
|
||||||
|
for(xc=0; xc<width; xc++)
|
||||||
|
{
|
||||||
|
*dst=*src++;
|
||||||
|
dst-=LCD_HEIGHT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
lcd_update();
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_enable(bool state)
|
void lcd_enable(bool state)
|
||||||
|
@ -134,7 +156,7 @@ void lcd_update(void)
|
||||||
register fb_data *dst, *src=&lcd_framebuffer[0][0];
|
register fb_data *dst, *src=&lcd_framebuffer[0][0];
|
||||||
register unsigned int x, y;
|
register unsigned int x, y;
|
||||||
|
|
||||||
register short *start=FRAME + LCD_HEIGHT*(LCD_WIDTH-1)+1;
|
register fb_data *start=FRAME + LCD_HEIGHT*(LCD_WIDTH-1)+1;
|
||||||
|
|
||||||
for(y=0; y<LCD_HEIGHT;y++)
|
for(y=0; y<LCD_HEIGHT;y++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
#define CONFIG_UART_BRSR 87
|
#define CONFIG_UART_BRSR 87
|
||||||
#define MAX_UART_BUFFER 31
|
#define MAX_UART_BUFFER 31
|
||||||
unsigned char uart1buffer[MAX_UART_BUFFER], uart1_send_buffer_ring[512];
|
static unsigned char uart1buffer[MAX_UART_BUFFER], uart1_send_buffer_ring[512];
|
||||||
int uart1_send_count=0,uart1_send_point=0;
|
int uart1_send_count=0,uart1_send_point=0;
|
||||||
int uart1read = 0, uart1write = 0, uart1count = 0;
|
int uart1read = 0, uart1write = 0, uart1count = 0;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue