2 ** Copyright 2001-2004, Travis Geiselbrecht. All rights reserved.
3 ** Distributed under the terms of the NewOS License.
6 #define SRAM_START 0x20000000
7 #define TEMPSTACK (SRAM_START + 0x1000)
8 #define RELOCATION_TARGET (TEMPSTACK+0x74) // relocate us to just above the stack in sram
9 #define RELOCATION_SIZE 0x10000 // should be big enough to get the important data
11 #define LED_DISPLAY(pos, char) \
12 ldr r11,=(0x08000100 + (3-pos) * 2); \
16 #define LED_DISPLAY_REG(pos, reg, byte) \
17 ldr r12,=(0x08000100 + (pos) * 2); \
19 and r11,r10,reg, lsr #(byte * 4); \
42 /* load our new stack */
45 /* copy ourself to sram and jump */
47 ldr r2,=RELOCATION_TARGET
48 ldr r3,=RELOCATION_SIZE
50 // LED_DISPLAY_REG(0, r3, 0)
51 // LED_DISPLAY_REG(1, r3, 1)
52 // LED_DISPLAY_REG(2, r3, 2)
53 // LED_DISPLAY_REG(3, r3, 3)
63 ldr r5,=_decompress_start