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