1 /******************************************************************
\r
3 *** crt0 for __BELOW100__ attribute test with SID ***
\r
5 ******************************************************************/
\r
7 /*************************************/
\r
8 /** Interrupt vectors at 0x8000 **/
\r
9 /*************************************/
\r
10 .section .int_vec,"ax"
\r
15 //jmpf _int_basetimer
\r
30 /*************************************/
\r
32 /*************************************/
\r
35 /*************************************/
\r
36 /** setup stack pointer **/
\r
37 /*************************************/
\r
39 /*************************************/
\r
40 /** zero .bss section **/
\r
41 /*************************************/
\r
47 /*************************************/
\r
48 /** copy inital value for .data **/
\r
49 /*************************************/
\r
50 mov r1,#__data_start
\r
52 mov r0,#@lo(__rdata)
\r
53 mov r8,#@hi(__rdata)
\r
59 /*************************************/
\r
60 /** call hardware init routine **/
\r
61 /*************************************/
\r
63 /*************************************/
\r
64 /** call initializaton routines **/
\r
65 /*************************************/
\r
67 /*************************************/
\r
68 /** setup fini routines to be **/
\r
69 /** called from exit **/
\r
70 /*************************************/
\r
71 mov r2,#@fptr(_fini)
\r
73 /*************************************/
\r
74 /** call main() with empty **/
\r
75 /** argc/argv/envp **/
\r
76 /*************************************/
\r
81 /*************************************/
\r
82 /** return from main() **/
\r
83 /*************************************/
\r
85 /*************************************/
\r
86 /** should never reach this code **/
\r
87 /*************************************/
\r
89 /*************************************/
\r
90 /** default h/w initialize routine **/
\r
91 /** and default _init/_finit for **/
\r
92 /** -nostartfiles option **/
\r
93 /*************************************/
\r
105 /******************************************************************
\r
106 *******************************************************************
\r
108 *** Chip information data for LC59_32K ***
\r
109 *** Written by T.Matsukawa ***
\r
111 *******************************************************************
\r
112 ******************************************************************/
\r
114 /*************************************/
\r
115 /** Define convenient macros **/
\r
116 /*************************************/
\r
117 #define BCD(x) (((x)/10)%10)*0x10+((x)%10)
\r
118 #define BCD4(x) BCD((x)/100),BCD(x)
\r
119 #define BCD6(x) BCD((x)/10000),BCD((x)/100),BCD(x)
\r
120 /*************************************/
\r
121 /** Define memory sizes **/
\r
122 /*************************************/
\r
123 #define RAM_SIZE 0x7E00
\r
124 #define ROM_SIZE 0x78000
\r
125 #define VRAM_SIZE 0x0000
\r
127 #define VRAM_COLUMN 0
\r
128 #define CGROM_SIZE 0x0000
\r
129 #define PROTECT_SIZE 0x0000
\r
131 /*************************************/
\r
132 /** section ".chip_info" **/
\r
133 /*************************************/
\r
134 .section .chip_info,"a"
\r
136 /*************************************/
\r
137 /** B8-BB : User option address **/
\r
138 /*************************************/
\r
140 .global __reset_vector
\r
142 .equ __reset_vector,0x08000
\r
144 .equ __reset_vector,0x00000
\r
146 /*************************************/
\r
147 /** BC-BF : Flash Protect address **/
\r
148 /*************************************/
\r
149 #if PROTECT_SIZE==0
\r
152 .word 0x08000+ROM_SIZE-PROTECT_SIZE
\r
154 /*************************************/
\r
155 /** C0-CF : Fixed string **/
\r
156 /*************************************/
\r
157 .ascii "CHIPINFORMATION"
\r
158 1: .space (0xd0-1b),0x00
\r
159 /*************************************/
\r
160 /** D0-DF : Chipname **/
\r
161 /*************************************/
\r
163 2: .space (0xe0-2b),0x00
\r
164 /*************************************/
\r
165 /** E0-E1 : Format version(BCD4) **/
\r
166 /*************************************/
\r
169 /*************************************/
\r
170 /** E8-F5 : Memory sizes **/
\r
171 /*************************************/
\r
172 .byte BCD4(ROM_SIZE/1024)
\r
173 .byte BCD6(RAM_SIZE)
\r
174 .byte BCD6(VRAM_SIZE)
\r
175 .byte BCD4(VRAM_ROW)
\r
176 .byte BCD4(VRAM_COLUMN)
\r
177 .byte BCD4(CGROM_SIZE/1024)
\r
179 /*************************************/
\r
180 /** F9 : Package type **/
\r
181 /*************************************/
\r
185 /*************************************/
\r
186 /** In order to link BIOS in library**/
\r
187 /*************************************/
\r
188 .equ dummy,__bios_entry
\r