Browse Source

library: add support for MIN_AMS=301 and MIN_AMS=310.

git-svn-id: file:///var/svn/tigccpp/trunk@1364 9552661e-59e3-4036-b4f2-dbe53926924f
debrouxl 15 years ago
parent
commit
1eb3ed7c8c

+ 8 - 0
tigcc/archive/startup/_compare_ams_3_01.s

@@ -0,0 +1,8 @@
+	.xdef __MIN_AMS_3_01_AND_NOT___kernel_library_header
+
+.section _st40
+| Check the number of ROM calls available.
+	cmp.l #0x608,(%a0,-4) /* TIOS_entries */
+
+.section _st10011, "d"
+	.ascii "3.01"

+ 8 - 0
tigcc/archive/startup/_compare_ams_3_10.s

@@ -0,0 +1,8 @@
+	.xdef __MIN_AMS_3_10_AND_NOT___kernel_library_header
+
+.section _st40
+| Check the number of ROM calls available.
+	cmp.l #0x60D,(%a0,-4) /* TIOS_entries */
+
+.section _st10011, "d"
+	.ascii "3.10"

+ 105 - 101
tigcc/archive/tigcc.tpr

@@ -244,201 +244,205 @@ GNU Assembler File 121=startup\_compare_ams_2_09.s
 GNU Assembler File 121 Folder=startup
 GNU Assembler File 122=startup\_compare_ams_3_00.s
 GNU Assembler File 122 Folder=startup
-GNU Assembler File 123=startup\_detect_ams.s
+GNU Assembler File 123=startup\_compare_ams_3_01.s
 GNU Assembler File 123 Folder=startup
-GNU Assembler File 124=startup\_ams_too_low.s
+GNU Assembler File 124=startup\_compare_ams_3_10.s
 GNU Assembler File 124 Folder=startup
-GNU Assembler File 125=startup\_nostub_failure_message.s
+GNU Assembler File 125=startup\_detect_ams.s
 GNU Assembler File 125 Folder=startup
-GNU Assembler File 126=startup\_kernel_failure_message.s
+GNU Assembler File 126=startup\_ams_too_low.s
 GNU Assembler File 126 Folder=startup
-GNU Assembler File 127=startup\_ams_version_is_ok.s
+GNU Assembler File 127=startup\_nostub_failure_message.s
 GNU Assembler File 127 Folder=startup
-GNU Assembler File 128=startup\_detect_ams_1_05.s
+GNU Assembler File 128=startup\_kernel_failure_message.s
 GNU Assembler File 128 Folder=startup
-GNU Assembler File 129=startup\_detect_ams_2_03.s
+GNU Assembler File 129=startup\_ams_version_is_ok.s
 GNU Assembler File 129 Folder=startup
-GNU Assembler File 130=startup\_detect_ams_2_08.s
+GNU Assembler File 130=startup\_detect_ams_1_05.s
 GNU Assembler File 130 Folder=startup
-GNU Assembler File 131=startup\_detect_ams_2_09.s
+GNU Assembler File 131=startup\_detect_ams_2_03.s
 GNU Assembler File 131 Folder=startup
-GNU Assembler File 132=startup\_calc_is_ok_2.s
+GNU Assembler File 132=startup\_detect_ams_2_08.s
 GNU Assembler File 132 Folder=startup
-GNU Assembler File 133=startup\_reg_relative_a2.s
+GNU Assembler File 133=startup\_detect_ams_2_09.s
 GNU Assembler File 133 Folder=startup
-GNU Assembler File 134=startup\_reg_relative_a3.s
+GNU Assembler File 134=startup\_calc_is_ok_2.s
 GNU Assembler File 134 Folder=startup
-GNU Assembler File 135=startup\_reg_relative_a4.s
+GNU Assembler File 135=startup\_reg_relative_a2.s
 GNU Assembler File 135 Folder=startup
-GNU Assembler File 136=startup\_reg_relative_a5.s
+GNU Assembler File 136=startup\_reg_relative_a3.s
 GNU Assembler File 136 Folder=startup
-GNU Assembler File 137=startup\_complex_main_support_file.s
+GNU Assembler File 137=startup\_reg_relative_a4.s
 GNU Assembler File 137 Folder=startup
-GNU Assembler File 138=startup\_save_all_regs.s
+GNU Assembler File 138=startup\_reg_relative_a5.s
 GNU Assembler File 138 Folder=startup
-GNU Assembler File 139=startup\_save_d3d5.s
+GNU Assembler File 139=startup\_complex_main_support_file.s
 GNU Assembler File 139 Folder=startup
-GNU Assembler File 140=startup\_save_d3d5_a5.s
+GNU Assembler File 140=startup\_save_all_regs.s
 GNU Assembler File 140 Folder=startup
-GNU Assembler File 141=startup\_save_a5.s
+GNU Assembler File 141=startup\_save_d3d5.s
 GNU Assembler File 141 Folder=startup
-GNU Assembler File 142=startup\_optimize_rom_calls.s
+GNU Assembler File 142=startup\_save_d3d5_a5.s
 GNU Assembler File 142 Folder=startup
-GNU Assembler File 143=startup\_set_file_in_use_bit.s
+GNU Assembler File 143=startup\_save_a5.s
 GNU Assembler File 143 Folder=startup
-GNU Assembler File 144=startup\_kernel_format_rom_calls.s
+GNU Assembler File 144=startup\_optimize_rom_calls.s
 GNU Assembler File 144 Folder=startup
-GNU Assembler File 145=startup\_compressed_format_rom_calls.s
+GNU Assembler File 145=startup\_set_file_in_use_bit.s
 GNU Assembler File 145 Folder=startup
-GNU Assembler File 146=startup\_mlink_format_rom_calls.s
+GNU Assembler File 146=startup\_kernel_format_rom_calls.s
 GNU Assembler File 146 Folder=startup
-GNU Assembler File 147=startup\_kernel_format_data_var.s
+GNU Assembler File 147=startup\_compressed_format_rom_calls.s
 GNU Assembler File 147 Folder=startup
-GNU Assembler File 148=startup\_kernel_format_data_var_test.s
+GNU Assembler File 148=startup\_mlink_format_rom_calls.s
 GNU Assembler File 148 Folder=startup
-GNU Assembler File 149=startup\_kernel_format_data_var_copy.s
+GNU Assembler File 149=startup\_kernel_format_data_var.s
 GNU Assembler File 149 Folder=startup
-GNU Assembler File 150=startup\_kernel_format_data_var_direct.s
+GNU Assembler File 150=startup\_kernel_format_data_var_test.s
 GNU Assembler File 150 Folder=startup
-GNU Assembler File 151=startup\_kernel_format_data_var_msg.s
+GNU Assembler File 151=startup\_kernel_format_data_var_copy.s
 GNU Assembler File 151 Folder=startup
-GNU Assembler File 152=startup\_compressed_format_data_var.s
+GNU Assembler File 152=startup\_kernel_format_data_var_direct.s
 GNU Assembler File 152 Folder=startup
-GNU Assembler File 153=startup\_compressed_format_data_var_test.s
+GNU Assembler File 153=startup\_kernel_format_data_var_msg.s
 GNU Assembler File 153 Folder=startup
-GNU Assembler File 154=startup\_compressed_format_data_var_copy.s
+GNU Assembler File 154=startup\_compressed_format_data_var.s
 GNU Assembler File 154 Folder=startup
-GNU Assembler File 155=startup\_compressed_format_data_var_direct.s
+GNU Assembler File 155=startup\_compressed_format_data_var_test.s
 GNU Assembler File 155 Folder=startup
-GNU Assembler File 156=startup\_compressed_format_data_var_msg.s
+GNU Assembler File 156=startup\_compressed_format_data_var_copy.s
 GNU Assembler File 156 Folder=startup
-GNU Assembler File 157=startup\_mlink_format_data_var.s
+GNU Assembler File 157=startup\_compressed_format_data_var_direct.s
 GNU Assembler File 157 Folder=startup
-GNU Assembler File 158=startup\_mlink_format_data_var_test.s
+GNU Assembler File 158=startup\_compressed_format_data_var_msg.s
 GNU Assembler File 158 Folder=startup
-GNU Assembler File 159=startup\_mlink_format_data_var_copy.s
+GNU Assembler File 159=startup\_mlink_format_data_var.s
 GNU Assembler File 159 Folder=startup
-GNU Assembler File 160=startup\_mlink_format_data_var_direct.s
+GNU Assembler File 160=startup\_mlink_format_data_var_test.s
 GNU Assembler File 160 Folder=startup
-GNU Assembler File 161=startup\_mlink_format_data_var_msg.s
+GNU Assembler File 161=startup\_mlink_format_data_var_copy.s
 GNU Assembler File 161 Folder=startup
-GNU Assembler File 162=startup\_data_var_name_start.s
+GNU Assembler File 162=startup\_mlink_format_data_var_direct.s
 GNU Assembler File 162 Folder=startup
-GNU Assembler File 163=startup\_data_var_msg.s
+GNU Assembler File 163=startup\_mlink_format_data_var_msg.s
 GNU Assembler File 163 Folder=startup
-GNU Assembler File 164=startup\_kernel_format_bss.s
+GNU Assembler File 164=startup\_data_var_name_start.s
 GNU Assembler File 164 Folder=startup
-GNU Assembler File 165=startup\_compressed_format_bss.s
+GNU Assembler File 165=startup\_data_var_msg.s
 GNU Assembler File 165 Folder=startup
-GNU Assembler File 166=startup\_mlink_format_bss.s
+GNU Assembler File 166=startup\_kernel_format_bss.s
 GNU Assembler File 166 Folder=startup
-GNU Assembler File 167=startup\_out_of_memory.s
+GNU Assembler File 167=startup\_compressed_format_bss.s
 GNU Assembler File 167 Folder=startup
-GNU Assembler File 168=startup\_error_msg.s
+GNU Assembler File 168=startup\_mlink_format_bss.s
 GNU Assembler File 168 Folder=startup
-GNU Assembler File 169=startup\_nostub_error_msg.s
+GNU Assembler File 169=startup\_out_of_memory.s
 GNU Assembler File 169 Folder=startup
-GNU Assembler File 170=startup\_kernel_error_msg.s
+GNU Assembler File 170=startup\_error_msg.s
 GNU Assembler File 170 Folder=startup
-GNU Assembler File 171=startup\_smart_error_msg.s
+GNU Assembler File 171=startup\_nostub_error_msg.s
 GNU Assembler File 171 Folder=startup
-GNU Assembler File 172=startup\_save_screen.s
+GNU Assembler File 172=startup\_kernel_error_msg.s
 GNU Assembler File 172 Folder=startup
-GNU Assembler File 173=startup\_fline_internal_emulator.s
+GNU Assembler File 173=startup\_smart_error_msg.s
 GNU Assembler File 173 Folder=startup
-GNU Assembler File 174=startup\_fline_internal_emulator_1_r.s
+GNU Assembler File 174=startup\_save_screen.s
 GNU Assembler File 174 Folder=startup
-GNU Assembler File 175=startup\_fline_internal_emulator_1_j4.s
+GNU Assembler File 175=startup\_fline_internal_emulator.s
 GNU Assembler File 175 Folder=startup
-GNU Assembler File 176=startup\_fline_internal_emulator_1_j6.s
+GNU Assembler File 176=startup\_fline_internal_emulator_1_r.s
 GNU Assembler File 176 Folder=startup
-GNU Assembler File 177=startup\_fline_internal_emulator_2_j6.s
+GNU Assembler File 177=startup\_fline_internal_emulator_1_j4.s
 GNU Assembler File 177 Folder=startup
-GNU Assembler File 178=startup\_fline_internal_emulator_2_r.s
+GNU Assembler File 178=startup\_fline_internal_emulator_1_j6.s
 GNU Assembler File 178 Folder=startup
-GNU Assembler File 179=startup\_fline_internal_emulator_3_j6.s
+GNU Assembler File 179=startup\_fline_internal_emulator_2_j6.s
 GNU Assembler File 179 Folder=startup
-GNU Assembler File 180=startup\_fline_internal_emulator_3_r_j6.s
+GNU Assembler File 180=startup\_fline_internal_emulator_2_r.s
 GNU Assembler File 180 Folder=startup
-GNU Assembler File 181=startup\_fline_internal_emulator_3_j4.s
+GNU Assembler File 181=startup\_fline_internal_emulator_3_j6.s
 GNU Assembler File 181 Folder=startup
-GNU Assembler File 182=startup\_fline_internal_emulator_3_r_j4.s
+GNU Assembler File 182=startup\_fline_internal_emulator_3_r_j6.s
 GNU Assembler File 182 Folder=startup
-GNU Assembler File 183=startup\_fline_internal_emulator_3_r.s
+GNU Assembler File 183=startup\_fline_internal_emulator_3_j4.s
 GNU Assembler File 183 Folder=startup
-GNU Assembler File 184=startup\_fline_internal_emulator_4_j6.s
+GNU Assembler File 184=startup\_fline_internal_emulator_3_r_j4.s
 GNU Assembler File 184 Folder=startup
-GNU Assembler File 185=startup\_fline_internal_emulator_4_j6_u.s
+GNU Assembler File 185=startup\_fline_internal_emulator_3_r.s
 GNU Assembler File 185 Folder=startup
-GNU Assembler File 186=startup\_fline_internal_emulator_4_j6_s.s
+GNU Assembler File 186=startup\_fline_internal_emulator_4_j6.s
 GNU Assembler File 186 Folder=startup
-GNU Assembler File 187=startup\_fline_internal_emulator_4_j4.s
+GNU Assembler File 187=startup\_fline_internal_emulator_4_j6_u.s
 GNU Assembler File 187 Folder=startup
-GNU Assembler File 188=startup\_fline_internal_emulator_4_j4_u.s
+GNU Assembler File 188=startup\_fline_internal_emulator_4_j6_s.s
 GNU Assembler File 188 Folder=startup
-GNU Assembler File 189=startup\_fline_internal_emulator_4_j4_s.s
+GNU Assembler File 189=startup\_fline_internal_emulator_4_j4.s
 GNU Assembler File 189 Folder=startup
-GNU Assembler File 190=startup\_fline_internal_emulator_4_r.s
+GNU Assembler File 190=startup\_fline_internal_emulator_4_j4_u.s
 GNU Assembler File 190 Folder=startup
-GNU Assembler File 191=startup\_constructed_jsr.s
+GNU Assembler File 191=startup\_fline_internal_emulator_4_j4_s.s
 GNU Assembler File 191 Folder=startup
-GNU Assembler File 192=startup\_constructed_jmp.s
+GNU Assembler File 192=startup\_fline_internal_emulator_4_r.s
 GNU Assembler File 192 Folder=startup
-GNU Assembler File 193=startup\_error_return_support.s
+GNU Assembler File 193=startup\_constructed_jsr.s
 GNU Assembler File 193 Folder=startup
-GNU Assembler File 194=startup\_error_return_support_ams_1.s
+GNU Assembler File 194=startup\_constructed_jmp.s
 GNU Assembler File 194 Folder=startup
-GNU Assembler File 195=startup\_error_return_support_ams_x.s
+GNU Assembler File 195=startup\_error_return_support.s
 GNU Assembler File 195 Folder=startup
-GNU Assembler File 196=startup\_initialize_bss.s
+GNU Assembler File 196=startup\_error_return_support_ams_1.s
 GNU Assembler File 196 Folder=startup
-GNU Assembler File 197=startup\_initialize_bss_1.s
+GNU Assembler File 197=startup\_error_return_support_ams_x.s
 GNU Assembler File 197 Folder=startup
-GNU Assembler File 198=startup\_initialize_bss_2.s
+GNU Assembler File 198=startup\_initialize_bss.s
 GNU Assembler File 198 Folder=startup
-GNU Assembler File 199=startup\_handle_constructors.s
+GNU Assembler File 199=startup\_initialize_bss_1.s
 GNU Assembler File 199 Folder=startup
-GNU Assembler File 200=startup\_save_all_registers_main.s
+GNU Assembler File 200=startup\_initialize_bss_2.s
 GNU Assembler File 200 Folder=startup
-GNU Assembler File 201=startup\_save_the_sp.s
+GNU Assembler File 201=startup\_handle_constructors.s
 GNU Assembler File 201 Folder=startup
-GNU Assembler File 202=startup\_save_the_sp_complex.s
+GNU Assembler File 202=startup\_save_all_registers_main.s
 GNU Assembler File 202 Folder=startup
-GNU Assembler File 203=startup\_call_user_main.s
+GNU Assembler File 203=startup\_save_the_sp.s
 GNU Assembler File 203 Folder=startup
-GNU Assembler File 204=startup\_simple_main_jump.s
+GNU Assembler File 204=startup\_save_the_sp_complex.s
 GNU Assembler File 204 Folder=startup
-GNU Assembler File 205=startup\_handle_destructors.s
+GNU Assembler File 205=startup\_call_user_main.s
 GNU Assembler File 205 Folder=startup
-GNU Assembler File 206=startup\_nostub_retval.s
+GNU Assembler File 206=startup\_simple_main_jump.s
 GNU Assembler File 206 Folder=startup
-GNU Assembler File 207=startup\_nostub_retval_var.s
+GNU Assembler File 207=startup\_handle_destructors.s
 GNU Assembler File 207 Folder=startup
-GNU Assembler File 208=startup\_kernel_retval.s
+GNU Assembler File 208=startup\_nostub_retval.s
 GNU Assembler File 208 Folder=startup
-GNU Assembler File 209=startup\_kernel_retval_var.s
+GNU Assembler File 209=startup\_nostub_retval_var.s
 GNU Assembler File 209 Folder=startup
-GNU Assembler File 210=startup\_return_from_program.s
+GNU Assembler File 210=startup\_kernel_retval.s
 GNU Assembler File 210 Folder=startup
-GNU Assembler File 211=startup\_call_function_vector.s
+GNU Assembler File 211=startup\_kernel_retval_var.s
 GNU Assembler File 211 Folder=startup
-GNU Assembler File 212=startup\_compressed_format_decoding.s
+GNU Assembler File 212=startup\_return_from_program.s
 GNU Assembler File 212 Folder=startup
-GNU Assembler File 213=startup\_mlink_format_decoding.s
+GNU Assembler File 213=startup\_call_function_vector.s
 GNU Assembler File 213 Folder=startup
-GNU Assembler File 214=startup\_calculator.s
+GNU Assembler File 214=startup\_compressed_format_decoding.s
 GNU Assembler File 214 Folder=startup
-GNU Assembler File 215=startup\_save_sp.s
+GNU Assembler File 215=startup\_mlink_format_decoding.s
 GNU Assembler File 215 Folder=startup
-GNU Assembler File 216=startup\_reference_symbols.s
+GNU Assembler File 216=startup\_calculator.s
 GNU Assembler File 216 Folder=startup
-GNU Assembler File 217=sprite8.s
-GNU Assembler File 218=sprite16.s
-GNU Assembler File 219=sprite32.s
-GNU Assembler File 220=clipsprite8.s
-GNU Assembler File 221=clipsprite16.s
-GNU Assembler File 222=clipsprite32.s
-GNU Assembler File 223=ptrtohandle.s
+GNU Assembler File 217=startup\_save_sp.s
+GNU Assembler File 217 Folder=startup
+GNU Assembler File 218=startup\_reference_symbols.s
+GNU Assembler File 218 Folder=startup
+GNU Assembler File 219=sprite8.s
+GNU Assembler File 220=sprite16.s
+GNU Assembler File 221=sprite32.s
+GNU Assembler File 222=clipsprite8.s
+GNU Assembler File 223=clipsprite16.s
+GNU Assembler File 224=clipsprite32.s
+GNU Assembler File 225=ptrtohandle.s
 Text File 1=License.txt
 Text File 2=startup\Startup.txt
 Text File 2 Folder=startup

+ 8 - 4
tigcc/include/C/default.h

@@ -141,11 +141,15 @@ _INCLUDE_PATCH(__execute_in_ghost_space);
 #if (!defined (NO_AMS_CHECK)) && ((MIN_AMS>101 && (defined (USE_TI89))) || (MIN_AMS>100 && (defined (USE_TI92PLUS))) || (MIN_AMS>206 && (defined (USE_V200))))
 #define _NEED_AMS_CHECK
  _INCLUDE_PATCH(__MIN_AMS_required);
-#if (MIN_AMS>=300)
+#if (MIN_AMS>=310)
+  _INCLUDE_PATCH(__MIN_AMS_3_10);
+#if (MIN_AMS>310)
+#warning Cannot check for AMS versions greater than 3.10
+#endif
+#elif (MIN_AMS>=301)
+  _INCLUDE_PATCH(__MIN_AMS_3_01);
+#elif (MIN_AMS>=300)
   _INCLUDE_PATCH(__MIN_AMS_3_00);
-#if (MIN_AMS>300)
-#warning Cannot check for AMS versions greater than 3.00
-#endif
 #elif (MIN_AMS>=209)
   _INCLUDE_PATCH(__MIN_AMS_2_09);
 #if (MIN_AMS>209)