From 26a624ecb3218dd1e85d207ae3be050287e03883 Mon Sep 17 00:00:00 2001 From: Fife Date: Fri, 29 Apr 2016 21:28:59 +0200 Subject: [PATCH] Retrait des fichiers inutiles --- ALD.G1A | Bin 22628 -> 0 bytes AddinInfo.txt | 12 - Ald.c | 26 - Ald.dlr | 1 - Ald.dlw | 113 - Ald.g1w | 16 - Debug/Addin.mak | 120 - Debug/Ald.lst | 203 - Debug/Ald.obj | Bin 5288 -> 0 bytes Debug/FXADDINror.abs | Bin 41700 -> 0 bytes Debug/FXADDINror.bin | Bin 22116 -> 0 bytes Debug/FXADDINror.dbg | Bin 60448 -> 0 bytes Debug/FXADDINror.fsy | 223 - Debug/FXADDINror.map | 1406 ----- Debug/MonochromeLib.lst | 10631 -------------------------------------- Debug/MonochromeLib.obj | Bin 79096 -> 0 bytes FXSH_Build.bat | 22 - INIT/CasioRAM.mem | Bin 48532 -> 0 bytes INIT/CasioRAMCPU.mem | Bin 80 -> 0 bytes MainIcon.bmp | Bin 138 -> 0 bytes README.md | 1 - eActivityIcon.bmp | Bin 106 -> 0 bytes 22 files changed, 12774 deletions(-) delete mode 100644 ALD.G1A delete mode 100644 AddinInfo.txt delete mode 100644 Ald.c delete mode 100644 Ald.dlr delete mode 100644 Ald.dlw delete mode 100644 Ald.g1w delete mode 100644 Debug/Addin.mak delete mode 100644 Debug/Ald.lst delete mode 100644 Debug/Ald.obj delete mode 100644 Debug/FXADDINror.abs delete mode 100644 Debug/FXADDINror.bin delete mode 100644 Debug/FXADDINror.dbg delete mode 100644 Debug/FXADDINror.fsy delete mode 100644 Debug/FXADDINror.map delete mode 100644 Debug/MonochromeLib.lst delete mode 100644 Debug/MonochromeLib.obj delete mode 100644 FXSH_Build.bat delete mode 100644 INIT/CasioRAM.mem delete mode 100644 INIT/CasioRAMCPU.mem delete mode 100644 MainIcon.bmp delete mode 100644 README.md delete mode 100644 eActivityIcon.bmp diff --git a/ALD.G1A b/ALD.G1A deleted file mode 100644 index 411c7fca3df9a5188660a599a2ce594223f9cc78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22628 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 .DATA.L _ML_clear_screen - 00000028 <00000000> .DATA.L L350 - 0000002C <00000000> .DATA.L _PrintXY - 00000030 <00000000> .DATA.L _ML_display_vram - 00000034 <00000000> .DATA.L _Sleep - Ald.c 11 } - Ald.c 12 - Ald.c 13 #pragma section _BR_Size - Ald.c 14 unsigned long BR_Size; - Ald.c 15 #pragma section - Ald.c 16 - Ald.c 17 - Ald.c 18 #pragma section _TOP - Ald.c 19 - Ald.c 20 int InitializeSystem(int isAppli, unsigned short OptionNum) -P_T 00000000 _InitializeSystem: ; function: InitializeSystem - ; frame size=0 - Ald.c 21 { - Ald.c 22 return INIT_ADDIN_APPLICATION(isAppli, OptionNum); - 00000000 D301 MOV.L L359+2,R3 ; _INIT_ADDIN_APPLICATION - 00000002 432B JMP @R3 - 00000004 0009 NOP - 00000006 L359: - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:39 PAGE 2 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000006 0000 .DATA.W 0 - 00000008 <00000000> .DATA.L _INIT_ADDIN_APPLICATION - Ald.c 23 } - Ald.c 24 - Ald.c 25 #pragma section - Ald.c 26 -C 00000000 L350: - 00000000 54657374 .SDATA "Test" - 00000004 00 .DATA.B H'00 -B_B 00000000 _BR_Size: ; static: BR_Size - 00000000 00000004 .RES.L 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:39 PAGE 1 - - -******** STATISTICS INFORMATION ******** - - -********** ERROR INFORMATION *********** - -NUMBER OF ERRORS: 0 -NUMBER OF WARNINGS: 1 - - - - -******* SOURCE LINE INFORMATION ******** - -COMPILED SOURCE LINE: 26 - - - -******* SECTION SIZE INFORMATION ******* - -PROGRAM SECTION (P): 00000038 Byte(s) -PROGRAM SECTION (P_BR_Size): 00000000 Byte(s) -PROGRAM SECTION (P_TOP): 0000000C Byte(s) -CONSTANT SECTION (C): 00000005 Byte(s) -CONSTANT SECTION (C_BR_Size): 00000000 Byte(s) -CONSTANT SECTION (C_TOP): 00000000 Byte(s) -DATA SECTION (D): 00000000 Byte(s) -DATA SECTION (D_BR_Size): 00000000 Byte(s) -DATA SECTION (D_TOP): 00000000 Byte(s) -BSS SECTION (B): 00000000 Byte(s) -BSS SECTION (B_BR_Size): 00000004 Byte(s) -BSS SECTION (B_TOP): 00000000 Byte(s) - - TOTAL PROGRAM SIZE: 0000004D Byte(s) - - - -********** LABEL INFORMATION *********** - -NUMBER OF EXTERNAL REFERENCE SYMBOLS: 5 -NUMBER OF EXTERNAL DEFINITION SYMBOLS: 3 -NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 11 - - - - - - - - - - - - - - - - - - - - - - -*** COMMAND PARAMETER *** - - - -subcommand=C:\Users\gabillef\AppData\Local\Temp\hmkCDF9.tmp - diff --git a/Debug/Ald.obj b/Debug/Ald.obj deleted file mode 100644 index dcf417e6d7fbf4bac8ed662ac4790331ff7463c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5288 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 C+gO4C diff --git a/Debug/FXADDINror.bin b/Debug/FXADDINror.bin deleted file mode 100644 index cfed2032bca2c8567c0ed54aae1de2e8536be6e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22116 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 W;1BA8JcKdJ?1wbWU$8v!`Tq;V%QWi% diff --git a/Debug/FXADDINror.dbg b/Debug/FXADDINror.dbg deleted file mode 100644 index 70e16009425a4f514c24237afc5e3dc9eab1f7f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60448 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 diff --git a/Debug/FXADDINror.fsy b/Debug/FXADDINror.fsy deleted file mode 100644 index 1716640..0000000 --- a/Debug/FXADDINror.fsy +++ /dev/null @@ -1,223 +0,0 @@ -;HITACHI OPTIMIZING LINKAGE EDITOR GENERATED FILE 2016.04.29 -;fsymbol = P - -;SECTION NAME = P - .export _AddIn_main -_AddIn_main: .equ h'0030020c - .export _ML_vram_adress -_ML_vram_adress: .equ h'00300244 - .export _ML_clear_vram -_ML_clear_vram: .equ h'00300260 - .export _ML_clear_screen -_ML_clear_screen: .equ h'003002bc - .export _ML_display_vram -_ML_display_vram: .equ h'003002f6 - .export _ML_set_contrast -_ML_set_contrast: .equ h'00300340 - .export _ML_get_contrast -_ML_get_contrast: .equ h'0030034c - .export _ML_pixel -_ML_pixel: .equ h'00300368 - .export _ML_point -_ML_point: .equ h'003003f4 - .export _ML_pixel_test -_ML_pixel_test: .equ h'00300462 - .export _ML_line -_ML_line: .equ h'003004c6 - .export _ML_horizontal_line -_ML_horizontal_line: .equ h'0030059c - .export _ML_vertical_line -_ML_vertical_line: .equ h'00300844 - .export _ML_rectangle -_ML_rectangle: .equ h'00300978 - .export _ML_polygon -_ML_polygon: .equ h'00300a74 - .export _ML_filled_polygon -_ML_filled_polygon: .equ h'00300b88 - .export _ML_circle -_ML_circle: .equ h'00300de8 - .export _ML_filled_circle -_ML_filled_circle: .equ h'00300eda - .export _ML_ellipse -_ML_ellipse: .equ h'00300f8c - .export _ML_ellipse_in_rect -_ML_ellipse_in_rect: .equ h'0030123e - .export _ML_filled_ellipse -_ML_filled_ellipse: .equ h'00301296 - .export _ML_filled_ellipse_in_rect -_ML_filled_ellipse_in_rect: .equ h'00301552 - .export _ML_horizontal_scroll -_ML_horizontal_scroll: .equ h'003015aa - .export _ML_vertical_scroll -_ML_vertical_scroll: .equ h'003016e2 - .export _ML_bmp_or -_ML_bmp_or: .equ h'00301774 - .export _ML_bmp_and -_ML_bmp_and: .equ h'003018da - .export _ML_bmp_xor -_ML_bmp_xor: .equ h'00301a50 - .export _ML_bmp_or_cl -_ML_bmp_or_cl: .equ h'00301bb4 - .export _ML_bmp_and_cl -_ML_bmp_and_cl: .equ h'00301e02 - .export _ML_bmp_xor_cl -_ML_bmp_xor_cl: .equ h'0030205c - .export _ML_bmp_8_or -_ML_bmp_8_or: .equ h'003022aa - .export _ML_bmp_8_and -_ML_bmp_8_and: .equ h'00302366 - .export _ML_bmp_8_xor -_ML_bmp_8_xor: .equ h'0030242c - .export _ML_bmp_8_or_cl -_ML_bmp_8_or_cl: .equ h'003024ea - .export _ML_bmp_8_and_cl -_ML_bmp_8_and_cl: .equ h'003025d8 - .export _ML_bmp_8_xor_cl -_ML_bmp_8_xor_cl: .equ h'003026c6 - .export _ML_bmp_16_or -_ML_bmp_16_or: .equ h'003027b4 - .export _ML_bmp_16_and -_ML_bmp_16_and: .equ h'0030287e - .export _ML_bmp_16_xor -_ML_bmp_16_xor: .equ h'0030294c - .export _ML_bmp_16_or_cl -_ML_bmp_16_or_cl: .equ h'00302a1c - .export _ML_bmp_16_and_cl -_ML_bmp_16_and_cl: .equ h'00302b2e - .export _ML_bmp_16_xor_cl -_ML_bmp_16_xor_cl: .equ h'00302c48 - .export _ML_bmp_or_zoom -_ML_bmp_or_zoom: .equ h'00302d5a - .export _ML_bmp_and_zoom -_ML_bmp_and_zoom: .equ h'00302f04 - .export _ML_bmp_xor_zoom -_ML_bmp_xor_zoom: .equ h'003030b0 - .export _ML_bmp_or_rotate -_ML_bmp_or_rotate: .equ h'0030325c - .export _ML_bmp_and_rotate -_ML_bmp_and_rotate: .equ h'00303494 - .export _ML_bmp_xor_rotate -_ML_bmp_xor_rotate: .equ h'003036ce - .export ___LINK_PROTECT -___LINK_PROTECT: .equ h'00303908 - .export _SetQuitHandler -_SetQuitHandler: .equ h'0030390c - .export _OnAppCloseDefault -_OnAppCloseDefault: .equ h'00303912 - .export __INITSCT_ADDIN -__INITSCT_ADDIN: .equ h'00303966 - .export _INIT_ADDIN_APPLICATION -_INIT_ADDIN_APPLICATION: .equ h'003039ae - .export __addd -__addd: .equ h'00303af4 - .export __subdr -__subdr: .equ h'00303a3c - .export __subd -__subd: .equ h'00303a24 - .export __adds -__adds: .equ h'00303dba - .export __subs -__subs: .equ h'00303db4 - .export __divdr -__divdr: .equ h'003040ac - .export __divd -__divd: .equ h'003040c0 - .export __dtoi -__dtoi: .equ h'00304224 - .export __dtou -__dtou: .equ h'00304224 - .export __dtos -__dtos: .equ h'003042b0 - .export __gtd -__gtd: .equ h'0030438c - .export __itod -__itod: .equ h'00304434 - .export __itos -__itos: .equ h'00304488 - .export __lts -__lts: .equ h'003044e0 - .export __muld -__muld: .equ h'003045fc - .export __muls -__muls: .equ h'0030476c - .export __negd -__negd: .equ h'003048ac - .export __stou -__stou: .equ h'003048cc - .export __stoi -__stoi: .equ h'003048cc - .export __divls -__divls: .equ h'00304924 - .export __modls -__modls: .equ h'003049d8 - .export _abs -_abs: .equ h'00304aa0 - .export _cosf -_cosf: .equ h'00304ab0 - .export _sinf -_sinf: .equ h'00304b20 - .export _Bdel_cychdr -_Bdel_cychdr: .equ h'00304b90 - .export _BfileFLS_CloseFile -_BfileFLS_CloseFile: .equ h'00304ba0 - .export _Bkey_Set_RepeatTime_Default -_Bkey_Set_RepeatTime_Default: .equ h'00304bb0 - .export _CallbackAtQuitMainFunction -_CallbackAtQuitMainFunction: .equ h'00304bc0 - .export _flsFindClose -_flsFindClose: .equ h'00304bd0 - .export _free -_free: .equ h'00304be0 - .export _GLibAddinAplExecutionCheck -_GLibAddinAplExecutionCheck: .equ h'00304bf0 - .export _Hmem_SetMMU -_Hmem_SetMMU: .equ h'00304c00 - .export _malloc -_malloc: .equ h'00304c10 - .export _PrintXY -_PrintXY: .equ h'00304c20 - .export _GetSDKLibraryVersion -_GetSDKLibraryVersion: .equ h'00304c30 - .export _SetTimer -_SetTimer: .equ h'00304c36 - .export _KillTimer -_KillTimer: .equ h'00304c8a - .export _Sleep -_Sleep: .equ h'00304cce - .export __istos -__istos: .equ h'00304d30 - .export __stois -__stois: .equ h'00304dd4 - .export __in_coss -__in_coss: .equ h'00304e40 - .export __in_sins -__in_sins: .equ h'00304fa0 - .export _Bcre_cychdr -_Bcre_cychdr: .equ h'00305118 - .export _BSrl_DummyWAIT -_BSrl_DummyWAIT: .equ h'00305128 - .export _Bsta_cychdr -_Bsta_cychdr: .equ h'00305138 - .export _Bstp_cychdr -_Bstp_cychdr: .equ h'00305148 - .export __in_adds -__in_adds: .equ h'00305164 - .export __in_subs -__in_subs: .equ h'00305158 - .export __in_fmods -__in_fmods: .equ h'003053c4 - .export __istypes -__istypes: .equ h'0030544c - .export __quick_odd_mvn -__quick_odd_mvn: .equ h'00305490 - .export __quick_evn_mvn -__quick_evn_mvn: .equ h'00305484 - .export __app_coss -__app_coss: .equ h'00305528 - .export __app_sins -__app_sins: .equ h'00305578 - .export __in_muls -__in_muls: .equ h'003055e4 - .export __polinos -__polinos: .equ h'00305694 - .end diff --git a/Debug/FXADDINror.map b/Debug/FXADDINror.map deleted file mode 100644 index 0ff0b77..0000000 --- a/Debug/FXADDINror.map +++ /dev/null @@ -1,1406 +0,0 @@ -Hitachi Optimizing Linkage Editor (Ver. 7.1.03.000)29-Apr-2016 12:29:47 - -*** Options *** - --subcommand=C:\Users\gabillef\AppData\Local\Temp\hmkEAAE.tmp -noprelink -sdebug -rom D=R -nomessage -list "F:\AldTest\Debug\FXADDINror.map" -show symbol -nooptimize -start P_TOP,P,C,D,C$VTBL,C$INIT/0300200,B_BR_Size,B,R/08100000 -fsymbol P -nologo -input "F:\AldTest\Debug\Ald.obj" "F:\AldTest\Debug\MonochromeLib.obj" -input "F:\Casio\fx-9860G SDK\OS\FX\lib\setup.obj" -library "F:\Casio\fx-9860G SDK\OS\FX\lib\fx9860G_library.lib" -output "F:\AldTest\Debug\FXADDINror.abs" --nomessage=1100 -end - -*** Error information *** - -*** Mapping List *** - -SECTION START END SIZE ALIGN - -P_TOP - 00300200 0030020b c 4 -P - 0030020c 003056fb 54f0 4 -C - 003056fc 0030584f 154 4 -D - 00305850 00305863 14 4 -B_BR_Size - 08100000 08100003 4 4 -B - 08100004 08100007 4 4 -R - 08100008 0810001b 14 4 - -*** Symbol List *** - -SECTION= -FILE= START END SIZE - SYMBOL ADDR SIZE INFO COUNTS OPT - -SECTION=P_TOP -FILE=F:\AldTest\Debug\Ald.obj - 00300200 0030020b c - _InitializeSystem - 00300200 c func ,g * - -SECTION=P -FILE=F:\AldTest\Debug\Ald.obj - 0030020c 00300243 38 - _AddIn_main - 0030020c 38 func ,g * -FILE=F:\AldTest\Debug\MonochromeLib.obj - 00300244 00303907 36c4 - _ML_vram_adress - 00300244 1c func ,g * - _ML_clear_vram - 00300260 5c func ,g * - _ML_clear_screen - 003002bc 3a func ,g * - _ML_display_vram - 003002f6 4a func ,g * - _ML_set_contrast - 00300340 c func ,g * - _ML_get_contrast - 0030034c 1c func ,g * - _ML_pixel - 00300368 8c func ,g * - _ML_point - 003003f4 6e func ,g * - _ML_pixel_test - 00300462 64 func ,g * - _ML_line - 003004c6 d6 func ,g * - _ML_horizontal_line - 0030059c 2a8 func ,g * - _ML_vertical_line - 00300844 134 func ,g * - _ML_rectangle - 00300978 fc func ,g * - _ML_polygon - 00300a74 74 func ,g * - _ML_filled_polygon_quicksord_partition - 00300ae8 62 func ,l * - _ML_filled_polygon_quicksord - 00300b4a 3e func ,l * - _ML_filled_polygon - 00300b88 260 func ,g * - _ML_circle - 00300de8 f2 func ,g * - _ML_filled_circle - 00300eda b2 func ,g * - _ML_ellipse - 00300f8c 2b2 func ,g * - _ML_ellipse_in_rect - 0030123e 58 func ,g * - _ML_filled_ellipse - 00301296 2bc func ,g * - _ML_filled_ellipse_in_rect - 00301552 58 func ,g * - _ML_horizontal_scroll - 003015aa 138 func ,g * - _ML_vertical_scroll - 003016e2 92 func ,g * - _ML_bmp_or - 00301774 166 func ,g * - _ML_bmp_and - 003018da 176 func ,g * - _ML_bmp_xor - 00301a50 164 func ,g * - _ML_bmp_or_cl - 00301bb4 24e func ,g * - _ML_bmp_and_cl - 00301e02 25a func ,g * - _ML_bmp_xor_cl - 0030205c 24e func ,g * - _ML_bmp_8_or - 003022aa bc func ,g * - _ML_bmp_8_and - 00302366 c6 func ,g * - _ML_bmp_8_xor - 0030242c be func ,g * - _ML_bmp_8_or_cl - 003024ea ee func ,g * - _ML_bmp_8_and_cl - 003025d8 ee func ,g * - _ML_bmp_8_xor_cl - 003026c6 ee func ,g * - _ML_bmp_16_or - 003027b4 ca func ,g * - _ML_bmp_16_and - 0030287e ce func ,g * - _ML_bmp_16_xor - 0030294c d0 func ,g * - _ML_bmp_16_or_cl - 00302a1c 112 func ,g * - _ML_bmp_16_and_cl - 00302b2e 11a func ,g * - _ML_bmp_16_xor_cl - 00302c48 112 func ,g * - _ML_bmp_or_zoom - 00302d5a 1aa func ,g * - _ML_bmp_and_zoom - 00302f04 1ac func ,g * - _ML_bmp_xor_zoom - 003030b0 1ac func ,g * - _ML_bmp_or_rotate - 0030325c 238 func ,g * - _ML_bmp_and_rotate - 00303494 23a func ,g * - _ML_bmp_xor_rotate - 003036ce 23a func ,g * -FILE=F:\Casio\fx-9860G SDK\OS\FX\lib\setup.obj - 00303908 00303a23 11c - ___LINK_PROTECT - 00303908 4 func ,g * - _SetQuitHandler - 0030390c 6 func ,g * - _OnAppCloseDefault - 00303912 54 func ,g * - __INITSCT_ADDIN - 00303966 48 func ,g * - _INIT_ADDIN_APPLICATION - 003039ae 76 func ,g * -FILE=r_addd - 00303a24 00303db3 390 - __subd - 00303a24 0 none ,g * - __subdr - 00303a3c 0 none ,g * - exception1 - 00303a54 0 none ,l * - return_NaN - 00303a68 0 none ,l * - return_inf - 00303a70 0 none ,l * - exception2 - 00303a74 0 none ,l * - p2_denorm_check - 00303a88 0 none ,l * - p1_denorm - 00303a94 0 none ,l * - return_p2 - 00303aa0 0 none ,l * - return_p1 - 00303aa8 0 none ,l * - p1_normalize - 00303ab6 0 none ,l * - p1_norm_loop - 00303ac0 0 none ,l * - end_p1_norm - 00303aca 0 none ,l * - p2_normalize - 00303aca 0 none ,l * - p2_norm_loop - 00303ad4 0 none ,l * - end_p2_norm - 00303ade 0 none ,l * - swap_end - 00303ae6 0 none ,l * - return_zero - 00303aea 0 none ,l * - __addd - 00303af4 0 none ,g * - sub_in - 00303b06 0 none ,l * - rotation - 00303b26 0 none ,l * - exception_return - 00303b52 0 none ,l * - sftr1 - 00303b94 0 none ,l * - e_sftr31 - 00303b98 0 none ,l * - e_sftr55 - 00303bbe 0 none ,l * - sftr_loop - 00303bc4 0 none ,l * - end_sftr - 00303bcc 0 none ,l * - mantissa_sub - 00303bf0 0 none ,l * - man_sub1 - 00303bf8 0 none ,l * - normalize - 00303c06 0 none ,l * - norm32_end - 00303c10 0 none ,l * - norm16_end - 00303c20 0 none ,l * - over_norm - 00303c26 0 none ,l * - overnorm_end - 00303c52 0 none ,l * - norm_loop - 00303c58 0 none ,l * - end_calc - 00303c80 0 none ,l * - end_norm - 00303c80 0 none ,l * - denormalize_loop - 00303c88 0 none ,l * - round - 00303c90 0 none ,l * - end_denormal - 00303c90 0 none ,l * - round_carry - 00303ca8 0 none ,l * - end_round - 00303cae 0 none ,l * - return_value - 00303cae 0 none ,l * - return - 00303ccc 0 none ,l * - plus_zero - 00303cec 0 none ,l * - swap - 00303cf6 0 none ,l * - EXP_INF - 00303d10 0 none ,l * - MMASK - 00303d14 0 none ,l * - MSB - 00303d18 0 none ,l * - LOWMASK - 00303d1c 0 none ,l * - CARRY_CHECK - 00303d20 0 none ,l * - NORMAL - 00303d24 0 none ,l * - SIGN - 00303d28 0 none ,l * - HALF - 00303d2c 0 none ,l * - sftrtbl - 00303d30 0 none ,l * -FILE=r_adds - 00303db4 0030401f 26c - __subs - 00303db4 0 none ,g * - __adds - 00303dba 0 none ,g * - rotation - 00303dd4 0 none ,l * - exception_return - 00303dfe 0 none ,l * - label - 00303e1e 0 none ,l * - e_sftr26 - 00303e22 0 none ,l * - or_sticky - 00303e26 0 none ,l * - end_sftr - 00303e2c 0 none ,l * - mantissa_sub - 00303e46 0 none ,l * - normalize - 00303e50 0 none ,l * - n_sftl_8 - 00303e66 0 none ,l * - n_sftl_4 - 00303e72 0 none ,l * - n_sftl_2 - 00303e80 0 none ,l * - n_sftl_1 - 00303e88 0 none ,l * - normal - 00303e90 0 none ,l * - end_calc - 00303e92 0 none ,l * - denormalize_loop - 00303e9a 0 none ,l * - end_denormal - 00303ea0 0 none ,l * - round_carry - 00303eb0 0 none ,l * - end_round - 00303eb4 0 none ,l * - return_value - 00303eb4 0 none ,l * - return - 00303ec2 0 none ,l * - exception1 - 00303ed0 0 none ,l * - return_NaN - 00303ede 0 none ,l * - return_inf - 00303ee4 0 none ,l * - exception2 - 00303ee8 0 none ,l * - p2_denorm_check - 00303ef4 0 none ,l * - p1_denorm - 00303efc 0 none ,l * - p1_norm_loop - 00303f04 0 none ,l * - end_p1_norm - 00303f0a 0 none ,l * - p2_normalize - 00303f0a 0 none ,l * - p2_norm_loop - 00303f0e 0 none ,l * - end_p2_norm - 00303f14 0 none ,l * - plus_zero - 00303f18 0 none ,l * - return_zero - 00303f1a 0 none ,l * - return_parm1 - 00303f20 0 none ,l * - e_sftr7 - 00303f28 0 none ,l * - e_sftr5 - 00303f2a 0 none ,l * - e_sftr3 - 00303f2c 0 none ,l * - e_sftr1 - 00303f2e 0 none ,l * - e_sftr6 - 00303f32 0 none ,l * - e_sftr4 - 00303f34 0 none ,l * - e_sftr2 - 00303f36 0 none ,l * - e_sftr15 - 00303f3a 0 none ,l * - e_sftr13 - 00303f3e 0 none ,l * - e_sftr11 - 00303f42 0 none ,l * - e_sftr9 - 00303f46 0 none ,l * - e_sftr14 - 00303f50 0 none ,l * - e_sftr12 - 00303f54 0 none ,l * - e_sftr10 - 00303f58 0 none ,l * - e_sftr8 - 00303f5c 0 none ,l * - e_sftr23 - 00303f62 0 none ,l * - e_sftr21 - 00303f66 0 none ,l * - e_sftr19 - 00303f6a 0 none ,l * - e_sftr17 - 00303f6e 0 none ,l * - e_sftr22 - 00303f78 0 none ,l * - e_sftr20 - 00303f7c 0 none ,l * - e_sftr18 - 00303f80 0 none ,l * - e_sftr16 - 00303f84 0 none ,l * - e_sftr25 - 00303f8a 0 none ,l * - e_sftr24 - 00303f98 0 none ,l * - a_sftrtbl - 00303fa4 0 none ,l * - EXP_INF - 0030400c 0 none ,l * - HALF - 00304010 0 none ,l * - LRS - 00304014 0 none ,l * - MAN_1 - 00304018 0 none ,l * - NaN - 0030401c 0 none ,l * -FILE=r_divd - 00304020 00304223 204 - exception1 - 00304020 0 none ,l * - exception2 - 00304030 0 none ,l * - exception3 - 0030403c 0 none ,l * - normalize1 - 00304054 0 none ,l * - p1_norm_loop - 0030405e 0 none ,l * - end_p1_norm - 00304068 0 none ,l * - exception4 - 0030406c 0 none ,l * - ex4 - 00304078 0 none ,l * - p2_norm_loop - 00304082 0 none ,l * - end_p2_norm - 0030408c 0 none ,l * - return_zero - 00304090 0 none ,l * - return_inf - 0030409a 0 none ,l * - return_NaN - 003040a2 0 none ,l * - __divdr - 003040ac 0 none ,g * - __divd - 003040c0 0 none ,g * - divdr_in - 003040d0 0 none ,l * - exception_return3 - 00304112 0 none ,l * - exception_return4 - 00304116 0 none ,l * - div_loop - 00304130 0 none ,l * - man_sub - 00304146 0 none ,l * - over_sub - 00304154 0 none ,l * - end_man_cal - 0030415c 0 none ,l * - end_sticky_cal - 00304164 0 none ,l * - end_norm - 00304170 0 none ,l * - denormalize_loop - 0030417c 0 none ,l * - round_denormal - 00304188 0 none ,l * - end_round_d - 003041a0 0 none ,l * - end_denormal - 003041a4 0 none ,l * - round_carry - 003041ba 0 none ,l * - end_round - 003041c0 0 none ,l * - return_value - 003041c0 0 none ,l * - return - 003041de 0 none ,l * - EXP_INF - 00304208 0 none ,l * - MMASK - 0030420c 0 none ,l * - MSB - 00304210 0 none ,l * - DENOM_CHECK - 00304214 0 none ,l * - BIAS - 00304218 0 none ,l * - COUNT - 0030421c 0 none ,l * - CARRY_CHECK - 00304220 0 none ,l * -FILE=r_dtoi - 00304224 003042af 8c - __dtou - 00304224 0 none ,g * - __dtoi - 00304224 0 none ,g * - loop_sftl - 00304264 0 none ,l * - shift_low - 0030426e 0 none ,l * - shift_low1 - 00304276 0 none ,l * - shift_r - 00304280 0 none ,l * - shift_r1 - 00304282 0 none ,l * - end_shift - 00304288 0 none ,l * - return - 0030428e 0 none ,l * - end_nagate - 0030428e 0 none ,l * - return_zero - 0030429c 0 none ,l * - EXP_INF - 003042a0 0 none ,l * - MMASK - 003042a4 0 none ,l * - MSB - 003042a8 0 none ,l * - BIAS - 003042ac 0 none ,l * -FILE=r_dtos - 003042b0 0030438b dc - __dtos - 003042b0 0 none ,g * - end_sticky - 00304306 0 none ,l * - denormalize_loop - 0030430e 0 none ,l * - end_denormal - 00304318 0 none ,l * - round_carry - 00304328 0 none ,l * - end_round - 0030432c 0 none ,l * - return - 0030433c 0 none ,l * - exception - 0030434a 0 none ,l * - return_inf - 00304352 0 none ,l * - return_NaN - 0030435a 0 none ,l * - return_zero - 00304360 0 none ,l * - EXP_INF - 00304368 0 none ,l * - MMASK - 0030436c 0 none ,l * - SMASK - 00304370 0 none ,l * - DEF_BIAS - 00304374 0 none ,l * - MSB - 00304378 0 none ,l * - INFS - 0030437c 0 none ,l * - CARRY_CHECK - 00304380 0 none ,l * - RET_INF - 00304384 0 none ,l * - NaN - 00304388 0 none ,l * -FILE=r_gtd - 0030438c 00304433 a8 - __gtd - 0030438c 0 none ,g * - exception_return1 - 003043be 0 none ,l * - exception_return2 - 003043c2 0 none ,l * - exception_return3 - 003043c6 0 none ,l * - minus - 003043d8 0 none ,l * - sign_def - 003043e0 0 none ,l * - return - 003043e4 0 none ,l * - exception1 - 003043f8 0 none ,l * - exception2 - 00304404 0 none ,l * - exception3 - 00304410 0 none ,l * - false - 00304428 0 none ,l * - EXP_INF - 0030442c 0 none ,l * - MMASK - 00304430 0 none ,l * -FILE=r_itod - 00304434 00304487 54 - __itod - 00304434 0 none ,g * - end_negate - 00304448 0 none ,l * - sftl_loop - 0030444a 0 none ,l * - return - 0030446c 0 none ,l * - return_zero - 0030447c 0 none ,l * - EXP_32 - 00304484 0 none ,l * -FILE=r_itos - 00304488 003044df 58 - __itos - 00304488 0 none ,g * - end_negate - 0030449c 0 none ,l * - sftl_loop - 0030449e 0 none ,l * - end_round - 003044ba 0 none ,l * - return_value - 003044ba 0 none ,l * - return_zero - 003044d0 0 none ,l * - EXP_32 - 003044d4 0 none ,l * - LRS - 003044d8 0 none ,l * - MAN_1 - 003044dc 0 none ,l * -FILE=r_lts - 003044e0 00304557 78 - __lts - 003044e0 0 none ,g * - exception_return1 - 00304504 0 none ,l * - exception_return2 - 00304508 0 none ,l * - exception_return3 - 0030450c 0 none ,l * - minus - 0030451a 0 none ,l * - sign_def - 00304520 0 none ,l * - return - 00304524 0 none ,l * - exception1 - 00304530 0 none ,l * - exception2 - 00304538 0 none ,l * - exception3 - 00304540 0 none ,l * - false - 00304550 0 none ,l * - EXP_INF - 00304554 0 none ,l * -FILE=r_muld - 00304558 0030476b 214 - exception1 - 00304558 0 none ,l * - parm2_NaN_check - 00304574 0 none ,l * - exception2 - 00304580 0 none ,l * - exception3 - 00304598 0 none ,l * - ex3 - 003045a4 0 none ,l * - p1_norm_loop - 003045ae 0 none ,l * - end_p1_norm - 003045b8 0 none ,l * - exception4 - 003045bc 0 none ,l * - ex4 - 003045c8 0 none ,l * - p2_norm_loop - 003045d2 0 none ,l * - end_p2_norm - 003045dc 0 none ,l * - return_zero - 003045e0 0 none ,l * - return_inf - 003045ea 0 none ,l * - return_NaN - 003045f2 0 none ,l * - __muld - 003045fc 0 none ,g * - exception_return3 - 00304652 0 none ,l * - exception_return4 - 00304656 0 none ,l * - mul_man1 - 00304698 0 none ,l * - end_normalize - 003046bc 0 none ,l * - end_sticky - 003046c2 0 none ,l * - denormalize_loop - 003046ca 0 none ,l * - round_denormal - 003046d6 0 none ,l * - end_round_d - 003046ec 0 none ,l * - end_denormal - 003046f0 0 none ,l * - round_carry - 00304702 0 none ,l * - end_round - 00304708 0 none ,l * - return_value - 00304708 0 none ,l * - return - 00304726 0 none ,l * - EXP_INF - 00304754 0 none ,l * - MMASK - 00304758 0 none ,l * - MSB - 0030475c 0 none ,l * - CARRY_CHECK - 00304760 0 none ,l * - BIAS - 00304764 0 none ,l * - DEN_CARRY - 00304768 0 none ,l * -FILE=r_muls - 0030476c 003048ab 140 - __muls - 0030476c 0 none ,g * - exception_return3 - 003047a4 0 none ,l * - exception_return4 - 003047a8 0 none ,l * - end_calc_sticky - 003047ca 0 none ,l * - denormal - 003047da 0 none ,l * - end_normalize - 003047dc 0 none ,l * - denormalize_loop - 003047e4 0 none ,l * - round_denormal - 003047ee 0 none ,l * - end_round_d - 00304802 0 none ,l * - end_denormal - 00304806 0 none ,l * - round_carry - 00304816 0 none ,l * - end_round - 0030481a 0 none ,l * - return_value - 0030481a 0 none ,l * - return - 00304828 0 none ,l * - exception1 - 00304838 0 none ,l * - parm2_NaN_check - 0030484c 0 none ,l * - exception2 - 00304854 0 none ,l * - exception3 - 00304864 0 none ,l * - p1_norm_loop - 0030486c 0 none ,l * - end_p1_norm - 00304872 0 none ,l * - exception4 - 00304876 0 none ,l * - p2_normalize - 0030487a 0 none ,l * - p2_norm_loop - 0030487e 0 none ,l * - end_p2_norm - 00304884 0 none ,l * - return_zero - 00304888 0 none ,l * - return_inf - 00304890 0 none ,l * - return_NaN - 00304896 0 none ,l * - EXP_INF - 0030489c 0 none ,l * - LRS - 003048a0 0 none ,l * - MAN_1 - 003048a4 0 none ,l * - NaN - 003048a8 0 none ,l * -FILE=r_negd - 003048ac 003048cb 20 - __negd - 003048ac 0 none ,g * -FILE=r_stoi - 003048cc 00304923 58 - __stoi - 003048cc 0 none ,g * - __stou - 003048cc 0 none ,g * - loop_sftl - 003048fc 0 none ,l * - shift_r - 00304906 0 none ,l * - loop_sftr - 00304908 0 none ,l * - end_shift - 0030490e 0 none ,l * - return - 00304914 0 none ,l * - end_nagate - 00304914 0 none ,l * - return_zero - 0030491c 0 none ,l * - EXP_INF - 00304920 0 none ,l * -FILE=__divls - 00304924 003049d7 b4 - __divls - 00304924 0 none ,g * - divls_zero - 003049c2 0 none ,l * - A_errno - 003049d0 0 none ,l * - n_zerono - 003049d4 0 none ,l * -FILE=__modls - 003049d8 00304a9f c8 - __modls - 003049d8 0 none ,g * - modls_L - 00304a7e 0 none ,l * - modls_zero - 00304a8a 0 none ,l * - A_errno - 00304a98 0 none ,l * - n_zerono - 00304a9c 0 none ,l * -FILE=abs - 00304aa0 00304aad e - _abs - 00304aa0 e func ,g * -FILE=cosf - 00304ab0 00304b1f 70 - _cosf - 00304ab0 70 func ,g * -FILE=sinf - 00304b20 00304b8f 70 - _sinf - 00304b20 70 func ,g * -FILE=_Bdel_cychdr - 00304b90 00304b9f 10 - _Bdel_cychdr - 00304b90 0 none ,g * -FILE=_BfileFLS_CloseFile - 00304ba0 00304baf 10 - _BfileFLS_CloseFile - 00304ba0 0 none ,g * -FILE=_Bkey_Set_RepeatTime_Default - 00304bb0 00304bbf 10 - _Bkey_Set_RepeatTime_Default - 00304bb0 0 none ,g * -FILE=_CallbackAtQuitMainFunction - 00304bc0 00304bcf 10 - _CallbackAtQuitMainFunction - 00304bc0 0 none ,g * -FILE=_flsFindClose - 00304bd0 00304bdf 10 - _flsFindClose - 00304bd0 0 none ,g * -FILE=_free - 00304be0 00304bef 10 - _free - 00304be0 0 none ,g * -FILE=_GLibAddinAplExecutionCheck - 00304bf0 00304bff 10 - _GLibAddinAplExecutionCheck - 00304bf0 0 none ,g * -FILE=_Hmem_SetMMU - 00304c00 00304c0f 10 - _Hmem_SetMMU - 00304c00 0 none ,g * -FILE=_malloc - 00304c10 00304c1f 10 - _malloc - 00304c10 0 none ,g * -FILE=_PrintXY - 00304c20 00304c2f 10 - _PrintXY - 00304c20 0 none ,g * -FILE=timer - 00304c30 00304d2f 100 - _GetSDKLibraryVersion - 00304c30 6 func ,g * - _SetTimer - 00304c36 54 func ,g * - _KillTimer - 00304c8a 44 func ,g * - _Sleep - 00304cce 62 func ,g * -FILE=__istos - 00304d30 00304dd3 a4 - __istos - 00304d30 0 none ,g * - denormalize_loop - 00304d56 0 none ,l * - round_denormal - 00304d64 0 none ,l * - end_round_d - 00304d78 0 none ,l * - end_denormal - 00304d7c 0 none ,l * - end_round - 00304d90 0 none ,l * - return_value - 00304d90 0 none ,l * - exception1 - 00304da0 0 none ,l * - return_zero - 00304da8 0 none ,l * - return_inf - 00304dae 0 none ,l * - return_NaN - 00304db4 0 none ,l * - IEEE_INF - 00304dc0 0 none ,l * - IN_INF - 00304dc4 0 none ,l * - IN_ZERO - 00304dc8 0 none ,l * - LRS - 00304dcc 0 none ,l * - MAN_1 - 00304dd0 0 none ,l * -FILE=__stois - 00304dd4 00304e3f 6c - __stois - 00304dd4 0 none ,g * - exception_return - 00304dec 0 none ,l * - return_value - 00304df4 0 none ,l * - exception1 - 00304e04 0 none ,l * - exception2 - 00304e0c 0 none ,l * - norm_loop - 00304e14 0 none ,l * - end_norm - 00304e1a 0 none ,l * - return_zero - 00304e1e 0 none ,l * - return_inf - 00304e24 0 none ,l * - return_NaN - 00304e2a 0 none ,l * - IEEE_INF - 00304e34 0 none ,l * - IN_INF - 00304e38 0 none ,l * - IN_ZERO - 00304e3c 0 none ,l * -FILE=_in_coss - 00304e40 00304f9f 160 - __in_coss - 00304e40 160 func ,g * -FILE=_in_sins - 00304fa0 00305117 178 - __in_sins - 00304fa0 178 func ,g * -FILE=_Bcre_cychdr - 00305118 00305127 10 - _Bcre_cychdr - 00305118 0 none ,g * -FILE=_BSrl_DummyWAIT - 00305128 00305137 10 - _BSrl_DummyWAIT - 00305128 0 none ,g * -FILE=_Bsta_cychdr - 00305138 00305147 10 - _Bsta_cychdr - 00305138 0 none ,g * -FILE=_Bstp_cychdr - 00305148 00305157 10 - _Bstp_cychdr - 00305148 0 none ,g * -FILE=__i_adds - 00305158 003053c3 26c - __in_subs - 00305158 0 none ,g * - __in_adds - 00305164 0 none ,g * - swap_end - 00305184 0 none ,l * - e_sftr31 - 003051ae 0 none ,l * - or_sticky - 003051b2 0 none ,l * - end_sftr - 003051ba 0 none ,l * - mantissa_sub - 003051d4 0 none ,l * - normalize - 003051e0 0 none ,l * - n_sftl_8 - 003051f6 0 none ,l * - n_sftl_4 - 00305200 0 none ,l * - n_sftl_2 - 0030520e 0 none ,l * - n_sftl_1 - 00305218 0 none ,l * - normal - 00305220 0 none ,l * - end_calc - 00305228 0 none ,l * - return_value - 00305228 0 none ,l * - exception1 - 00305238 0 none ,l * - exception2 - 0030524c 0 none ,l * - return_NaN - 00305254 0 none ,l * - plus_zero - 0030525c 0 none ,l * - return_zero - 0030525e 0 none ,l * - e_sftr7 - 00305264 0 none ,l * - e_sftr5 - 00305266 0 none ,l * - e_sftr3 - 00305268 0 none ,l * - e_sftr1 - 0030526a 0 none ,l * - e_sftr6 - 0030526e 0 none ,l * - e_sftr4 - 00305270 0 none ,l * - e_sftr2 - 00305272 0 none ,l * - e_sftr15 - 00305276 0 none ,l * - e_sftr13 - 00305278 0 none ,l * - e_sftr11 - 0030527a 0 none ,l * - e_sftr9 - 0030527c 0 none ,l * - e_sftr14 - 00305282 0 none ,l * - e_sftr12 - 00305284 0 none ,l * - e_sftr10 - 00305286 0 none ,l * - e_sftr8 - 00305288 0 none ,l * - e_sftr23 - 0030528c 0 none ,l * - e_sftr21 - 0030528e 0 none ,l * - e_sftr19 - 00305290 0 none ,l * - e_sftr17 - 00305292 0 none ,l * - e_sftr22 - 00305298 0 none ,l * - e_sftr20 - 0030529a 0 none ,l * - e_sftr18 - 0030529c 0 none ,l * - e_sftr16 - 0030529e 0 none ,l * - e_sftr29 - 003052a2 0 none ,l * - e_sftr27 - 003052a4 0 none ,l * - e_sftr25 - 003052a6 0 none ,l * - e_sftr30 - 003052ae 0 none ,l * - e_sftr28 - 003052b0 0 none ,l * - e_sftr26 - 003052b2 0 none ,l * - e_sftr24 - 003052b4 0 none ,l * - table - 003052bc 0 none ,l * - INF - 003053b4 0 none ,l * - ZERO - 003053b8 0 none ,l * - STICKY - 003053bc 0 none ,l * - HALF - 003053c0 0 none ,l * -FILE=__i_fmds - 003053c4 0030544b 88 - __in_fmods - 003053c4 0 none ,g * - div_loop - 003053ea 0 none ,l * - end_loop - 003053f8 0 none ,l * - normalize_loop - 00305400 0 none ,l * - end_calc_mantissa - 00305400 0 none ,l * - end_normalize - 0030540e 0 none ,l * - return_value - 0030540e 0 none ,l * - exception1 - 00305420 0 none ,l * - return_prm1 - 00305424 0 none ,l * - qshift_ret_z - 00305428 0 none ,l * - sft_loop - 0030542a 0 none ,l * - return_zero - 00305434 0 none ,l * - return_NaN - 0030543a 0 none ,l * - INF - 00305444 0 none ,l * - ZERO - 00305448 0 none ,l * -FILE=__istyps - 0030544c 00305483 38 - __istypes - 0030544c 0 none ,g * - exception1 - 00305468 0 none ,l * - set_NaN - 00305472 0 none ,l * - exception2 - 00305476 0 none ,l * - INF - 0030547c 0 none ,l * - ZERO - 00305480 0 none ,l * -FILE=__q_fmvn - 00305484 00305527 a4 - __quick_evn_mvn - 00305484 0 none ,g * - __quick_odd_mvn - 00305490 0 none ,g * - A_FMVN_TBL - 0030549c 0 none ,l * - FMVN_64 - 003054a2 0 none ,l * - FMVN_60 - 003054a6 0 none ,l * - FMVN_56 - 003054aa 0 none ,l * - FMVN_52 - 003054ae 0 none ,l * - FMVN_48 - 003054b2 0 none ,l * - FMVN_44 - 003054b6 0 none ,l * - FMVN_40 - 003054ba 0 none ,l * - FMVN_36 - 003054be 0 none ,l * - FMVN_32 - 003054c2 0 none ,l * - FMVN_28 - 003054c6 0 none ,l * - FMVN_24 - 003054ca 0 none ,l * - FMVN_20 - 003054ce 0 none ,l * - FMVN_16 - 003054d2 0 none ,l * - FMVN_12 - 003054d6 0 none ,l * - FMVN_8 - 003054da 0 none ,l * - FMVN_4 - 003054de 0 none ,l * - FMVN_0 - 003054e0 0 none ,l * - FMVN_TBL - 003054e4 0 none ,l * -FILE=_a_coss - 00305528 00305577 50 - __app_coss - 00305528 50 func ,g * -FILE=_a_sins - 00305578 003055e3 6c - __app_sins - 00305578 6c func ,g * -FILE=__i_muls - 003055e4 00305693 b0 - __in_muls - 003055e4 0 none ,g * - denormal - 0030561e 0 none ,l * - end_normalize - 00305622 0 none ,l * - end_sticky - 00305634 0 none ,l * - return_value - 00305634 0 none ,l * - exception1 - 00305644 0 none ,l * - p2zero_check - 00305654 0 none ,l * - exception2 - 0030565e 0 none ,l * - p1zero_check - 0030566e 0 none ,l * - return_zero - 00305678 0 none ,l * - return_inf - 0030567e 0 none ,l * - return_NaN - 00305684 0 none ,l * - INF - 0030568c 0 none ,l * - ZERO - 00305690 0 none ,l * -FILE=__polins - 00305694 003056fb 68 - __polinos - 00305694 0 none ,g * - start - 003056be 0 none ,l * - A_in_adds - 003056f4 0 none ,l * - A_in_muls - 003056f8 0 none ,l * - -SECTION=C -FILE=addin_sct - 00305704 00305717 14 - _B_BGN - 00305704 0 none ,g * - _B_END - 00305708 0 none ,g * - _R_BGN - 0030570c 0 none ,g * - _R_END - 00305710 0 none ,g * - _D_ROM - 00305714 0 none ,g * -FILE=consts - 00305718 003057df c8 - __IFNANS - 00305718 8 data ,g * - __IFZEROS - 00305720 8 data ,g * - __IFINFS - 00305728 8 data ,g * - __IFONES - 00305730 8 data ,g * - __HALFS - 00305738 8 data ,g * - __QUOTS - 00305740 8 data ,g * - __TWOS - 00305748 8 data ,g * - __FOURS - 00305750 8 data ,g * - __PAIS - 00305758 8 data ,g * - __2PAIS - 00305760 8 data ,g * - __HLFPAIS - 00305768 8 data ,g * - __QUOPAIS - 00305770 8 data ,g * - __LOGE2S - 00305778 8 data ,g * - __NIFZEROS - 00305780 8 data ,g * - __NIFINFS - 00305788 8 data ,g * - __NIFONES - 00305790 8 data ,g * - __NHALFS - 00305798 8 data ,g * - __NQUOTS - 003057a0 8 data ,g * - __NTWOS - 003057a8 8 data ,g * - __NFOURS - 003057b0 8 data ,g * - __NPAIS - 003057b8 8 data ,g * - __N2PAIS - 003057c0 8 data ,g * - __NHLFPAIS - 003057c8 8 data ,g * - __NQUOPAIS - 003057d0 8 data ,g * - __NLOGE2S - 003057d8 8 data ,g * -FILE=_a_coss - 003057e0 00305817 38 - _cos_coef$297 - 003057e0 38 data ,l * -FILE=_a_sins - 00305818 0030584f 38 - _sin_coef$297 - 00305818 38 data ,l * - -SECTION=B_BR_Size -FILE=F:\AldTest\Debug\Ald.obj - 08100000 08100003 4 - _BR_Size - 08100000 4 data ,g * - -SECTION=B -FILE=_errno - 08100004 08100007 4 - __errno - 08100004 4 data ,g * - -SECTION=R -FILE=F:\AldTest\Debug\MonochromeLib.obj - 08100008 08100017 10 - _SysCallCode - 08100008 c data ,l * - _SysCall - 08100014 4 data ,l * -FILE=F:\Casio\fx-9860G SDK\OS\FX\lib\setup.obj - 08100018 0810001b 4 - _gb_OnAppClose - 08100018 4 data ,g * - -Absolute value symbols -FILE=__divls - zerodiv - 0000044e 0 none ,l * -FILE=__modls - zerodiv - 0000044e 0 none ,l * -FILE=_Bdel_cychdr - __JumpTableTOP - 80010070 0 none ,l * -FILE=_BfileFLS_CloseFile - __JumpTableTOP - 80010070 0 none ,l * -FILE=_Bkey_Set_RepeatTime_Default - __JumpTableTOP - 80010070 0 none ,l * -FILE=_CallbackAtQuitMainFunction - __JumpTableTOP - 80010070 0 none ,l * -FILE=_flsFindClose - __JumpTableTOP - 80010070 0 none ,l * -FILE=_free - __JumpTableTOP - 80010070 0 none ,l * -FILE=_GLibAddinAplExecutionCheck - __JumpTableTOP - 80010070 0 none ,l * -FILE=_Hmem_SetMMU - __JumpTableTOP - 80010070 0 none ,l * -FILE=_malloc - __JumpTableTOP - 80010070 0 none ,l * -FILE=_PrintXY - __JumpTableTOP - 80010070 0 none ,l * -FILE=_Bcre_cychdr - __JumpTableTOP - 80010070 0 none ,l * -FILE=_BSrl_DummyWAIT - __JumpTableTOP - 80010070 0 none ,l * -FILE=_Bsta_cychdr - __JumpTableTOP - 80010070 0 none ,l * -FILE=_Bstp_cychdr - __JumpTableTOP - 80010070 0 none ,l * - -*** Delete Symbols *** - -SYMBOL SIZE INFO - -*** Variable Accessible with Abs8 *** - -SYMBOL SIZE COUNTS OPTIMIZE - -*** Variable Accessible with Abs16 *** - -SYMBOL SIZE COUNTS OPTIMIZE - -*** Function Call *** - -SYMBOL COUNTS OPTIMIZE diff --git a/Debug/MonochromeLib.lst b/Debug/MonochromeLib.lst deleted file mode 100644 index 015e25e..0000000 --- a/Debug/MonochromeLib.lst +++ /dev/null @@ -1,10631 +0,0 @@ -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 1 - -************ OBJECT LISTING ************ - -FILE NAME: F:\AldTest\MonochromeLib.c - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 1 /*************************************************************/ - Monochrome 2 /** MonochromeLib - monochrome graphic library for fx-9860G **/ - Monochrome 3 /** MonochromeLib is free software **/ - Monochrome 4 /** **/ - Monochrome 5 /** @author Pierre "PierrotLL" Le Gall **/ - Monochrome 6 /** @contact legallpierre89@gmail.com **/ - Monochrome 7 /** **/ - Monochrome 8 /** @file MonochromeLib.c **/ - Monochrome 9 /** Code file of MonochromeLib **/ - Monochrome 10 /** **/ - Monochrome 11 /** @date 11-22-2011 **/ - Monochrome 12 /*************************************************************/ - Monochrome 13 - Monochrome 14 #include "MonochromeLib.h" - Monochrome 15 #include - Monochrome 16 #include "fxlib.h" - Monochrome 17 #include "mathf.h" - Monochrome 18 - Monochrome 19 - Monochrome 20 /******************************/ - Monochrome 21 /** Dependencies management **/ - Monochrome 22 /******************************/ - Monochrome 23 - Monochrome 24 #ifdef ML_ALL - Monochrome 25 #define ML_CLEAR_VRAM - Monochrome 26 #define ML_CLEAR_SCREEN - Monochrome 27 #define ML_DISPLAY_VRAM - Monochrome 28 #define ML_SET_CONTRAST - Monochrome 29 #define ML_GET_CONTRAST - Monochrome 30 #define ML_PIXEL - Monochrome 31 #define ML_POINT - Monochrome 32 #define ML_PIXEL_TEST - Monochrome 33 #define ML_LINE - Monochrome 34 #define ML_HORIZONTAL_LINE - Monochrome 35 #define ML_VERTICAL_LINE - Monochrome 36 #define ML_RECTANGLE - Monochrome 37 #define ML_POLYGON - Monochrome 38 #define ML_FILLED_POLYGON - Monochrome 39 #define ML_CIRCLE - Monochrome 40 #define ML_FILLED_CIRCLE - Monochrome 41 #define ML_ELLIPSE - Monochrome 42 #define ML_ELLIPSE_IN_RECT - Monochrome 43 #define ML_FILLED_ELLIPSE - Monochrome 44 #define ML_FILLED_ELLIPSE_IN_RECT - Monochrome 45 #define ML_HORIZONTAL_SCROLL - Monochrome 46 #define ML_VERTICAL_SCROLL - Monochrome 47 #define ML_BMP_OR - Monochrome 48 #define ML_BMP_AND - Monochrome 49 #define ML_BMP_XOR - Monochrome 50 #define ML_BMP_OR_CL - Monochrome 51 #define ML_BMP_AND_CL - Monochrome 52 #define ML_BMP_XOR_CL - Monochrome 53 #define ML_BMP_8_OR - Monochrome 54 #define ML_BMP_8_AND - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 2 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 55 #define ML_BMP_8_XOR - Monochrome 56 #define ML_BMP_8_OR_CL - Monochrome 57 #define ML_BMP_8_AND_CL - Monochrome 58 #define ML_BMP_8_XOR_CL - Monochrome 59 #define ML_BMP_16_OR - Monochrome 60 #define ML_BMP_16_AND - Monochrome 61 #define ML_BMP_16_XOR - Monochrome 62 #define ML_BMP_16_OR_CL - Monochrome 63 #define ML_BMP_16_AND_CL - Monochrome 64 #define ML_BMP_16_XOR_CL - Monochrome 65 #define ML_BMP_OR_ZOOM - Monochrome 66 #define ML_BMP_AND_ZOOM - Monochrome 67 #define ML_BMP_XOR_ZOOM - Monochrome 68 #define ML_BMP_OR_ROTATE - Monochrome 69 #define ML_BMP_AND_ROTATE - Monochrome 70 #define ML_BMP_XOR_ROTATE - Monochrome 71 #endif - Monochrome 72 - Monochrome 73 #ifdef ML_POLYGON - Monochrome 74 #define ML_LINE - Monochrome 75 #endif - Monochrome 76 - Monochrome 77 #ifdef ML_LINE - Monochrome 78 #define ML_PIXEL - Monochrome 79 #endif - Monochrome 80 - Monochrome 81 #ifdef ML_POINT - Monochrome 82 #define ML_PIXEL - Monochrome 83 #define ML_RECTANGLE - Monochrome 84 #endif - Monochrome 85 - Monochrome 86 #ifdef ML_RECTANGLE - Monochrome 87 #define ML_HORIZONTAL_LINE - Monochrome 88 #endif - Monochrome 89 - Monochrome 90 #ifdef ML_FILLED_POLYGON - Monochrome 91 #define ML_HORIZONTAL_LINE - Monochrome 92 #endif - Monochrome 93 - Monochrome 94 #ifdef ML_CIRCLE - Monochrome 95 #define ML_PIXEL - Monochrome 96 #endif - Monochrome 97 - Monochrome 98 #ifdef ML_FILLED_CIRCLE - Monochrome 99 #define ML_HORIZONTAL_LINE - Monochrome 100 #endif - Monochrome 101 - Monochrome 102 #ifdef ML_ELLIPSE_IN_RECT - Monochrome 103 #define ML_ELLIPSE - Monochrome 104 #endif - Monochrome 105 - Monochrome 106 #ifdef ML_ELLIPSE - Monochrome 107 #define ML_PIXEL - Monochrome 108 #endif - Monochrome 109 - Monochrome 110 #ifdef ML_FILLED_ELLIPSE_IN_RECT - Monochrome 111 #define ML_FILLED_ELLIPSE - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 3 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 112 #endif - Monochrome 113 - Monochrome 114 #ifdef ML_FILLED_ELLIPSE - Monochrome 115 #define ML_HORIZONTAL_LINE - Monochrome 116 #endif - Monochrome 117 - Monochrome 118 - Monochrome 119 /***************/ - Monochrome 120 /** Functions **/ - Monochrome 121 /***************/ - Monochrome 122 - Monochrome 123 #define sgn(x) (x<0?-1:1) - Monochrome 124 #define rnd(x) ((int)(x+0.5)) - Monochrome 125 - Monochrome 126 //Thanks to Simon Lothar for this function - Monochrome 127 - Monochrome 128 static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070}; - Monochrome 129 static int (*SysCall)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode; - Monochrome 130 - Monochrome 131 char* ML_vram_adress() -P 00000000 _ML_vram_adress: ; function: ML_vram_adress - ; frame size=8 - 00000000 4F22 STS.L PR,@-R15 - Monochrome 132 { - Monochrome 133 return (char*)((*SysCall)(0, 0, 0, 0, 309)); - 00000002 E700 MOV #0,R7 - 00000004 D344 MOV.L L1650+4,R3 ; __$SysCall - 00000006 6673 MOV R7,R6 - 00000008 9284 MOV.W L1650,R2 ; H'0135 - 0000000A 6573 MOV R7,R5 - 0000000C 6032 MOV.L @R3,R0 - 0000000E 2F26 MOV.L R2,@-R15 - 00000010 400B JSR @R0 - 00000012 6473 MOV R7,R4 - Monochrome 134 } - 00000014 7F04 ADD #4,R15 - 00000016 4F26 LDS.L @R15+,PR - 00000018 000B RTS - 0000001A 0009 NOP - Monochrome 135 - Monochrome 136 - Monochrome 137 #ifdef ML_CLEAR_VRAM - Monochrome 138 void ML_clear_vram() - 0000001C _ML_clear_vram: ; function: ML_clear_vram - ; frame size=8 - 0000001C 2FD6 MOV.L R13,@-R15 - 0000001E 4F22 STS.L PR,@-R15 - Monochrome 139 { - Monochrome 140 int i, end, *pointer_long, vram; - Monochrome 141 char *pointer_byte; - Monochrome 142 vram = (int)ML_vram_adress(); - 00000020 BFEE BSR _ML_vram_adress - 00000022 0009 NOP - 00000024 6703 MOV R0,R7 - Monochrome 143 end = 4-vram&3; - 00000026 E004 MOV #4,R0 - 00000028 3078 SUB R7,R0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 4 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000002A E603 MOV #3,R6 - 0000002C 2609 AND R0,R6 - Monochrome 144 pointer_byte = (char*)vram; - 0000002E 6D73 MOV R7,R13 - Monochrome 145 for(i=0 ; i .DATA.L __$SysCall - 0000011C B4000000 .DATA.L H'B4000000 - 00000120 B4010000 .DATA.L H'B4010000 - Monochrome 205 #endif - Monochrome 206 - Monochrome 207 #ifdef ML_PIXEL - Monochrome 208 void ML_pixel(int x, int y, ML_Color color) - 00000124 _ML_pixel: ; function: ML_pixel - ; frame size=16 - 00000124 2FE6 MOV.L R14,@-R15 - 00000126 6E43 MOV R4,R14 - 00000128 2FD6 MOV.L R13,@-R15 - 0000012A 6D53 MOV R5,R13 - 0000012C 4F22 STS.L PR,@-R15 - 0000012E 7FFC ADD #-4,R15 - Monochrome 209 { - Monochrome 210 char* vram = ML_vram_adress(); - 00000130 BF66 BSR _ML_vram_adress - 00000132 2F62 MOV.L R6,@R15 - Monochrome 211 if(x&~127 || y&~63) return; - 00000134 E280 MOV #-128,R2 - 00000136 22E8 TST R14,R2 - 00000138 8F35 BF/S L1131 - 0000013A 6603 MOV R0,R6 - 0000013C E1C0 MOV #-64,R1 - 0000013E 21D8 TST R13,R1 - 00000140 8B31 BF L1131 - 00000142 64D3 MOV R13,R4 - 00000144 957C MOV.W L1651,R5 ; H'0080 - 00000146 63E3 MOV R14,R3 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 8 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000148 60F2 MOV.L @R15,R0 - 0000014A 4408 SHLL2 R4 - 0000014C 4408 SHLL2 R4 - 0000014E 4321 SHAR R3 - 00000150 4321 SHAR R3 - 00000152 4321 SHAR R3 - 00000154 343C ADD R3,R4 - 00000156 346C ADD R6,R4 - 00000158 E307 MOV #7,R3 - 0000015A 23E9 AND R14,R3 - 0000015C 633B NEG R3,R3 - 0000015E 8801 CMP/EQ #1,R0 - 00000160 8D08 BT/S L1101 - 00000162 453C SHAD R3,R5 - 00000164 8800 CMP/EQ #0,R0 - 00000166 8908 BT L1102 - 00000168 8802 CMP/EQ #2,R0 - 0000016A 890A BT L1103 - 0000016C 8803 CMP/EQ #3,R0 - 0000016E 890C BT L1104 - 00000170 A019 BRA L1131 - 00000172 0009 NOP - 00000174 L1101: ; case label - Monochrome 212 switch(color) - Monochrome 213 { - Monochrome 214 case ML_BLACK: - Monochrome 215 vram[(y<<4)+(x>>3)] |= 128>>(x&7); - 00000174 6340 MOV.B @R4,R3 - Monochrome 216 break; - 00000176 A011 BRA L1648 - 00000178 235B OR R5,R3 - 0000017A L1102: ; case label - Monochrome 217 case ML_WHITE: - Monochrome 218 vram[(y<<4)+(x>>3)] &= ~(128>>(x&7)); - 0000017A 6557 NOT R5,R5 - 0000017C 6340 MOV.B @R4,R3 - Monochrome 219 break; - 0000017E A00D BRA L1648 - 00000180 2359 AND R5,R3 - 00000182 L1103: ; case label - Monochrome 220 case ML_XOR: - Monochrome 221 vram[(y<<4)+(x>>3)] ^= 128>>(x&7); - 00000182 6140 MOV.B @R4,R1 - 00000184 215A XOR R5,R1 - Monochrome 222 break; - 00000186 A00E BRA L1131 - 00000188 2410 MOV.B R1,@R4 - 0000018A L1104: ; case label - Monochrome 223 case ML_CHECKER: - Monochrome 224 if(y&1^x&1) vram[(y<<4)+(x>>3)] &= ~(128>>(x&7)); - 0000018A E601 MOV #1,R6 - 0000018C 2D69 AND R6,R13 - 0000018E 2E69 AND R6,R14 - 00000190 2DEA XOR R14,R13 - 00000192 2DD8 TST R13,R13 - 00000194 8904 BT L1133 - 00000196 6557 NOT R5,R5 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 9 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000198 6340 MOV.B @R4,R3 - 0000019A 2359 AND R5,R3 - 0000019C L1648: - 0000019C A003 BRA L1131 - 0000019E 2430 MOV.B R3,@R4 - 000001A0 L1133: - Monochrome 225 else vram[(y<<4)+(x>>3)] |= 128>>(x&7); - 000001A0 6140 MOV.B @R4,R1 - 000001A2 215B OR R5,R1 - 000001A4 2410 MOV.B R1,@R4 - Monochrome 226 break; - Monochrome 227 } - Monochrome 228 } - 000001A6 L1131: - 000001A6 7F04 ADD #4,R15 - 000001A8 4F26 LDS.L @R15+,PR - 000001AA 6DF6 MOV.L @R15+,R13 - 000001AC 000B RTS - 000001AE 6EF6 MOV.L @R15+,R14 - Monochrome 229 #endif - Monochrome 230 - Monochrome 231 #ifdef ML_POINT - Monochrome 232 void ML_point(int x, int y, int width, ML_Color color) - 000001B0 _ML_point: ; function: ML_point - ; frame size=36 - 000001B0 2FE6 MOV.L R14,@-R15 - Monochrome 233 { - Monochrome 234 if(width < 1) return; - 000001B2 E301 MOV #1,R3 - 000001B4 2FD6 MOV.L R13,@-R15 - 000001B6 3633 CMP/GE R3,R6 - 000001B8 2FC6 MOV.L R12,@-R15 - 000001BA 6D53 MOV R5,R13 - 000001BC 2FB6 MOV.L R11,@-R15 - 000001BE 6C43 MOV R4,R12 - 000001C0 4F22 STS.L PR,@-R15 - 000001C2 7FFC ADD #-4,R15 - 000001C4 8F24 BF/S L1136 - 000001C6 2F72 MOV.L R7,@R15 - Monochrome 235 if(width == 1) ML_pixel(x, y, color); - 000001C8 6063 MOV R6,R0 - 000001CA 8801 CMP/EQ #1,R0 - 000001CC 8B09 BF L1137 - 000001CE 65D3 MOV R13,R5 - 000001D0 66F2 MOV.L @R15,R6 - 000001D2 64C3 MOV R12,R4 - 000001D4 7F04 ADD #4,R15 - 000001D6 4F26 LDS.L @R15+,PR - 000001D8 6BF6 MOV.L @R15+,R11 - 000001DA 6CF6 MOV.L @R15+,R12 - 000001DC 6DF6 MOV.L @R15+,R13 - 000001DE AFA1 BRA _ML_pixel - 000001E0 6EF6 MOV.L @R15+,R14 - 000001E2 L1137: - Monochrome 236 else - Monochrome 237 { - Monochrome 238 int padding, pair; - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 10 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 239 padding = width>>1; - 000001E2 6E63 MOV R6,R14 - Monochrome 240 pair = !(width&1); - Monochrome 241 ML_rectangle(x-padding+pair, y-padding+pair, x+padding, y+padding, 0, 0, color); - 000001E4 63F2 MOV.L @R15,R3 - 000001E6 E200 MOV #0,R2 - 000001E8 2F36 MOV.L R3,@-R15 - 000001EA 67D3 MOV R13,R7 - 000001EC 2F26 MOV.L R2,@-R15 - 000001EE 65D3 MOV R13,R5 - 000001F0 2F26 MOV.L R2,@-R15 - 000001F2 64C3 MOV R12,R4 - 000001F4 4E21 SHAR R14 - 000001F6 EB01 MOV #1,R11 - 000001F8 2B69 AND R6,R11 - 000001FA 2BB8 TST R11,R11 - 000001FC 0B29 MOVT R11 - 000001FE 37EC ADD R14,R7 - 00000200 66C3 MOV R12,R6 - 00000202 36EC ADD R14,R6 - 00000204 35E8 SUB R14,R5 - 00000206 35BC ADD R11,R5 - 00000208 34E8 SUB R14,R4 - 0000020A B293 BSR _ML_rectangle - 0000020C 34BC ADD R11,R4 - 0000020E 7F0C ADD #12,R15 - Monochrome 242 } - Monochrome 243 } - 00000210 L1136: - 00000210 7F04 ADD #4,R15 - 00000212 4F26 LDS.L @R15+,PR - 00000214 6BF6 MOV.L @R15+,R11 - 00000216 6CF6 MOV.L @R15+,R12 - 00000218 6DF6 MOV.L @R15+,R13 - 0000021A 000B RTS - 0000021C 6EF6 MOV.L @R15+,R14 - Monochrome 244 #endif - Monochrome 245 - Monochrome 246 #ifdef ML_PIXEL_TEST - Monochrome 247 ML_Color ML_pixel_test(int x, int y) - 0000021E _ML_pixel_test: ; function: ML_pixel_test - ; frame size=12 - Monochrome 248 { - Monochrome 249 char *vram, byte; - Monochrome 250 if(x&~127 || y&~63) return ML_TRANSPARENT; - 0000021E E380 MOV #-128,R3 - 00000220 2FE6 MOV.L R14,@-R15 - 00000222 6E43 MOV R4,R14 - 00000224 4F22 STS.L PR,@-R15 - 00000226 23E8 TST R14,R3 - 00000228 7FFC ADD #-4,R15 - 0000022A 8F04 BF/S L1141 - 0000022C 2F52 MOV.L R5,@R15 - 0000022E E3C0 MOV #-64,R3 - 00000230 62F2 MOV.L @R15,R2 - 00000232 2238 TST R3,R2 - 00000234 8905 BT L1140 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 11 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000236 L1141: - 00000236 E0FF MOV #-1,R0 - 00000238 7F04 ADD #4,R15 - 0000023A 4F26 LDS.L @R15+,PR - 0000023C 000B RTS - 0000023E 6EF6 MOV.L @R15+,R14 - 00000240 L1651: - 00000240 0080 .DATA.W H'0080 - 00000242 L1140: - Monochrome 251 vram = ML_vram_adress(); - 00000242 BEDD BSR _ML_vram_adress - 00000244 0009 NOP - 00000246 6403 MOV R0,R4 - Monochrome 252 byte = 1<<(7-(x&7)); - Monochrome 253 return (vram[(y<<4)+(x>>3)] & byte ? ML_BLACK : ML_WHITE); - 00000248 60F2 MOV.L @R15,R0 - 0000024A E507 MOV #7,R5 - 0000024C E601 MOV #1,R6 - 0000024E 62E3 MOV R14,R2 - 00000250 2259 AND R5,R2 - 00000252 6353 MOV R5,R3 - 00000254 3328 SUB R2,R3 - 00000256 6563 MOV R6,R5 - 00000258 453C SHAD R3,R5 - 0000025A 4008 SHLL2 R0 - 0000025C 4008 SHLL2 R0 - 0000025E 4E21 SHAR R14 - 00000260 4E21 SHAR R14 - 00000262 4E21 SHAR R14 - 00000264 30EC ADD R14,R0 - 00000266 655E EXTS.B R5,R5 - 00000268 004C MOV.B @(R0,R4),R0 - 0000026A 2058 TST R5,R0 - 0000026C 8904 BT L1143 - 0000026E 6063 MOV R6,R0 - 00000270 7F04 ADD #4,R15 - 00000272 4F26 LDS.L @R15+,PR - 00000274 000B RTS - 00000276 6EF6 MOV.L @R15+,R14 - 00000278 L1143: - 00000278 E000 MOV #0,R0 - Monochrome 254 - Monochrome 255 } - 0000027A L1142: - 0000027A 7F04 ADD #4,R15 - 0000027C 4F26 LDS.L @R15+,PR - 0000027E 000B RTS - 00000280 6EF6 MOV.L @R15+,R14 - Monochrome 256 #endif - Monochrome 257 - Monochrome 258 #ifdef ML_LINE - Monochrome 259 void ML_line(int x1, int y1, int x2, int y2, ML_Color color) - 00000282 _ML_line: ; function: ML_line - ; frame size=40 - 00000282 2FE6 MOV.L R14,@-R15 - 00000284 2FD6 MOV.L R13,@-R15 - Monochrome 260 { - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 12 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 261 int i, x, y, dx, dy, sx, sy, cumul; - Monochrome 262 x = x1; - Monochrome 263 y = y1; - Monochrome 264 dx = x2 - x1; - 00000286 6E63 MOV R6,R14 - 00000288 2FC6 MOV.L R12,@-R15 - 0000028A 3E48 SUB R4,R14 - 0000028C 2FB6 MOV.L R11,@-R15 - 0000028E 6C53 MOV R5,R12 - 00000290 2FA6 MOV.L R10,@-R15 - 00000292 6B43 MOV R4,R11 - 00000294 2F96 MOV.L R9,@-R15 - Monochrome 265 dy = y2 - y1; - 00000296 6A73 MOV R7,R10 - 00000298 2F86 MOV.L R8,@-R15 - Monochrome 266 sx = sgn(dx); - 0000029A 4E11 CMP/PZ R14 - 0000029C 4F22 STS.L PR,@-R15 - 0000029E 7FF8 ADD #-8,R15 - 000002A0 59FA MOV.L @(40,R15),R9 - 000002A2 8D02 BT/S L1145 - 000002A4 3A58 SUB R5,R10 - 000002A6 A001 BRA L1146 - 000002A8 E8FF MOV #-1,R8 - 000002AA L1145: - 000002AA E801 MOV #1,R8 - 000002AC L1146: - Monochrome 267 sy = sgn(dy); - 000002AC 4A11 CMP/PZ R10 - 000002AE 8901 BT L1147 - 000002B0 A001 BRA L1148 - 000002B2 E2FF MOV #-1,R2 - 000002B4 L1147: - 000002B4 E201 MOV #1,R2 - 000002B6 L1148: - 000002B6 1F21 MOV.L R2,@(4,R15) - Monochrome 268 dx = abs(dx); - 000002B8 D326 MOV.L L1652+2,R3 ; _abs - 000002BA 430B JSR @R3 - 000002BC 64E3 MOV R14,R4 - 000002BE 6D03 MOV R0,R13 - Monochrome 269 dy = abs(dy); - 000002C0 D224 MOV.L L1652+2,R2 ; _abs - 000002C2 420B JSR @R2 - 000002C4 64A3 MOV R10,R4 - 000002C6 6E03 MOV R0,R14 - Monochrome 270 ML_pixel(x, y, color); - 000002C8 6693 MOV R9,R6 - 000002CA 65C3 MOV R12,R5 - 000002CC BF2A BSR _ML_pixel - 000002CE 64B3 MOV R11,R4 - Monochrome 271 if(dx > dy) - 000002D0 3DE7 CMP/GT R14,R13 - 000002D2 8F1B BF/S L1149 - 000002D4 E401 MOV #1,R4 - Monochrome 272 { - Monochrome 273 cumul = dx / 2; - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 13 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000002D6 6AD3 MOV R13,R10 - 000002D8 E300 MOV #0,R3 - 000002DA 33A7 CMP/GT R10,R3 - 000002DC 3A3E ADDC R3,R10 - 000002DE 4A21 SHAR R10 - Monochrome 274 for(i=1 ; i dx) - 000002EA 3AD7 CMP/GT R13,R10 - 000002EC 8F03 BF/S L1152 - 000002EE 3B8C ADD R8,R11 - Monochrome 279 { - Monochrome 280 cumul -= dx; - Monochrome 281 y += sy; - 000002F0 52F1 MOV.L @(4,R15),R2 - 000002F2 3AD8 SUB R13,R10 - 000002F4 3C2C ADD R2,R12 - 000002F6 L1152: - Monochrome 282 } - Monochrome 283 ML_pixel(x, y, color); - 000002F6 6693 MOV R9,R6 - 000002F8 65C3 MOV R12,R5 - 000002FA BF13 BSR _ML_pixel - 000002FC 64B3 MOV R11,R4 - 000002FE 62F2 MOV.L @R15,R2 - 00000300 7201 ADD #1,R2 - 00000302 32D3 CMP/GE R13,R2 - 00000304 8FF0 BF/S L1151 - 00000306 2F22 MOV.L R2,@R15 - 00000308 A019 BRA L1153 - 0000030A 0009 NOP - 0000030C L1149: - Monochrome 284 } - Monochrome 285 } - Monochrome 286 else - Monochrome 287 { - Monochrome 288 cumul = dy / 2; - 0000030C 6AE3 MOV R14,R10 - 0000030E E300 MOV #0,R3 - 00000310 33A7 CMP/GT R10,R3 - 00000312 3A3E ADDC R3,R10 - 00000314 4A21 SHAR R10 - Monochrome 289 for(i=1 ; i dy) - 00000322 3AE7 CMP/GT R14,R10 - 00000324 8F02 BF/S L1156 - 00000326 3C1C ADD R1,R12 - Monochrome 294 { - Monochrome 295 cumul -= dy; - 00000328 3AE8 SUB R14,R10 - Monochrome 296 x += sx; - 0000032A 3B8C ADD R8,R11 - 0000032C L1156: - Monochrome 297 } - Monochrome 298 ML_pixel(x, y, color); - 0000032C 6693 MOV R9,R6 - 0000032E 65C3 MOV R12,R5 - 00000330 BEF8 BSR _ML_pixel - 00000332 64B3 MOV R11,R4 - 00000334 63F2 MOV.L @R15,R3 - 00000336 7301 ADD #1,R3 - 00000338 33E3 CMP/GE R14,R3 - 0000033A 8FF0 BF/S L1155 - 0000033C 2F32 MOV.L R3,@R15 - 0000033E L1153: - Monochrome 299 } - Monochrome 300 } - Monochrome 301 } - 0000033E 7F08 ADD #8,R15 - 00000340 4F26 LDS.L @R15+,PR - 00000342 68F6 MOV.L @R15+,R8 - 00000344 69F6 MOV.L @R15+,R9 - 00000346 6AF6 MOV.L @R15+,R10 - 00000348 6BF6 MOV.L @R15+,R11 - 0000034A 6CF6 MOV.L @R15+,R12 - 0000034C 6DF6 MOV.L @R15+,R13 - 0000034E 000B RTS - 00000350 6EF6 MOV.L @R15+,R14 - 00000352 L1652: - 00000352 0000 .DATA.W 0 - 00000354 <00000000> .DATA.L _abs - Monochrome 302 #endif - Monochrome 303 - Monochrome 304 #ifdef ML_HORIZONTAL_LINE - Monochrome 305 void ML_horizontal_line(int y, int x1, int x2, ML_Color color) - 00000358 _ML_horizontal_line: ; function: ML_horizontal_line - ; frame size=44 - 00000358 2FE6 MOV.L R14,@-R15 - 0000035A 2FD6 MOV.L R13,@-R15 - 0000035C 2FC6 MOV.L R12,@-R15 - 0000035E 6C53 MOV R5,R12 - 00000360 2FB6 MOV.L R11,@-R15 - 00000362 6B63 MOV R6,R11 - 00000364 2FA6 MOV.L R10,@-R15 - 00000366 2F96 MOV.L R9,@-R15 - 00000368 2F86 MOV.L R8,@-R15 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 15 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000036A 4F22 STS.L PR,@-R15 - 0000036C 7FF4 ADD #-12,R15 - 0000036E 2F42 MOV.L R4,@R15 - Monochrome 306 { - Monochrome 307 int i; - Monochrome 308 char checker; - Monochrome 309 char* vram = ML_vram_adress(); - 00000370 BE46 BSR _ML_vram_adress - 00000372 1F72 MOV.L R7,@(8,R15) - Monochrome 310 if(y&~63 || (x1<0 && x2<0) || (x1>127 && x2>127)) return; - 00000374 62F2 MOV.L @R15,R2 - 00000376 6603 MOV R0,R6 - 00000378 E3C0 MOV #-64,R3 - 0000037A 2238 TST R3,R2 - 0000037C 8901 BT L1653 - 0000037E A134 BRA L1160 - 00000380 0009 NOP - 00000382 L1653: - 00000382 4C11 CMP/PZ R12 - 00000384 8903 BT L1159 - 00000386 4B11 CMP/PZ R11 - 00000388 8901 BT L1654 - 0000038A A12E BRA L1160 - 0000038C 0009 NOP - 0000038E L1654: - 0000038E L1159: - 0000038E E37F MOV #127,R3 - 00000390 3C37 CMP/GT R3,R12 - 00000392 8B03 BF L1157 - 00000394 3B37 CMP/GT R3,R11 - 00000396 8B01 BF L1655 - 00000398 A127 BRA L1160 - 0000039A 0009 NOP - 0000039C L1655: - 0000039C L1157: - Monochrome 311 if(x1 > x2) - 0000039C 3CB7 CMP/GT R11,R12 - 0000039E 8F03 BF/S L1161 - Monochrome 312 { - Monochrome 313 i = x1; - Monochrome 314 x1 = x2; - Monochrome 315 x2 = i; - Monochrome 316 } - Monochrome 317 if(x1 < 0) x1 = 0; - 000003A0 E800 MOV #0,R8 - 000003A2 64C3 MOV R12,R4 - 000003A4 6CB3 MOV R11,R12 - 000003A6 6B43 MOV R4,R11 - 000003A8 L1161: - 000003A8 4C11 CMP/PZ R12 - 000003AA 8D01 BT/S L1162 - Monochrome 318 if(x2 > 127) x2 = 127; - 000003AC E47F MOV #127,R4 - 000003AE 6C83 MOV R8,R12 - 000003B0 L1162: - 000003B0 3B47 CMP/GT R4,R11 - 000003B2 8F01 BF/S L1163 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 16 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000003B4 E707 MOV #7,R7 - 000003B6 6B43 MOV R4,R11 - 000003B8 L1163: - 000003B8 9436 MOV.W L1656,R4 ; H'00FF - 000003BA 65C3 MOV R12,R5 - 000003BC 6DF2 MOV.L @R15,R13 - 000003BE 69C3 MOV R12,R9 - 000003C0 4521 SHAR R5 - 000003C2 4521 SHAR R5 - 000003C4 4521 SHAR R5 - 000003C6 6EB3 MOV R11,R14 - 000003C8 4E21 SHAR R14 - 000003CA 4E21 SHAR R14 - 000003CC 4E21 SHAR R14 - 000003CE 4D08 SHLL2 R13 - 000003D0 4D08 SHLL2 R13 - 000003D2 2979 AND R7,R9 - 000003D4 6AB3 MOV R11,R10 - 000003D6 60C3 MOV R12,R0 - 000003D8 4011 CMP/PZ R0 - 000003DA 8F02 BF/S L1164 - 000003DC 2A79 AND R7,R10 - 000003DE A005 BRA L1165 - 000003E0 C907 AND #7,R0 - 000003E2 L1164: - 000003E2 6007 NOT R0,R0 - 000003E4 7001 ADD #1,R0 - 000003E6 C907 AND #7,R0 - 000003E8 6007 NOT R0,R0 - 000003EA 7001 ADD #1,R0 - 000003EC L1165: - 000003EC 6303 MOV R0,R3 - 000003EE 60B3 MOV R11,R0 - 000003F0 4011 CMP/PZ R0 - 000003F2 8B01 BF L1166 - 000003F4 A005 BRA L1167 - 000003F6 C907 AND #7,R0 - 000003F8 L1166: - 000003F8 6007 NOT R0,R0 - 000003FA 7001 ADD #1,R0 - 000003FC C907 AND #7,R0 - 000003FE 6007 NOT R0,R0 - 00000400 7001 ADD #1,R0 - 00000402 L1167: - 00000402 3308 SUB R0,R3 - 00000404 7307 ADD #7,R3 - 00000406 633B NEG R3,R3 - 00000408 6043 MOV R4,R0 - 0000040A 403C SHAD R3,R0 - 0000040C 1F01 MOV.L R0,@(4,R15) - 0000040E 50F2 MOV.L @(8,R15),R0 - 00000410 8801 CMP/EQ #1,R0 - 00000412 890A BT L1105 - 00000414 8800 CMP/EQ #0,R0 - 00000416 8932 BT L1106 - 00000418 8802 CMP/EQ #2,R0 - 0000041A 8963 BT L1107 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 17 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000041C 8803 CMP/EQ #3,R0 - 0000041E 8B01 BF L1657 - 00000420 A08F BRA L1108 - 00000422 0009 NOP - 00000424 L1657: - 00000424 A0E1 BRA L1160 - 00000426 0009 NOP - 00000428 L1656: - 00000428 00FF .DATA.W H'00FF - 0000042A L1105: ; case label - Monochrome 319 switch(color) - Monochrome 320 { - Monochrome 321 case ML_BLACK: - Monochrome 322 if(x1>>3 != x2>>3) - 0000042A 35E0 CMP/EQ R14,R5 - 0000042C 891E BT L1169 - Monochrome 323 { - Monochrome 324 vram[(y<<4)+(x1>>3)] |= 255 >> (x1&7); - 0000042E 60D3 MOV R13,R0 - 00000430 305C ADD R5,R0 - 00000432 639B NEG R9,R3 - 00000434 016C MOV.B @(R0,R6),R1 - Monochrome 325 vram[(y<<4)+(x2>>3)] |= 255 << 7-(x2&7); - 00000436 37A8 SUB R10,R7 - 00000438 6243 MOV R4,R2 - 0000043A 423C SHAD R3,R2 - 0000043C 212B OR R2,R1 - 0000043E 447C SHAD R7,R4 - 00000440 0614 MOV.B R1,@(R0,R6) - Monochrome 326 for(i=(x1>>3)+1 ; i>3 ; i++) - 00000442 7501 ADD #1,R5 - 00000444 60E3 MOV R14,R0 - 00000446 30DC ADD R13,R0 - 00000448 036C MOV.B @(R0,R6),R3 - 0000044A 35E3 CMP/GE R14,R5 - 0000044C 234B OR R4,R3 - 0000044E 64D3 MOV R13,R4 - 00000450 0634 MOV.B R3,@(R0,R6) - 00000452 345C ADD R5,R4 - 00000454 346C ADD R6,R4 - 00000456 8F02 BF/S L1658 - 00000458 E6FF MOV #-1,R6 - 0000045A A0C6 BRA L1160 - 0000045C 0009 NOP - 0000045E L1658: - 0000045E L1171: - 0000045E 7501 ADD #1,R5 - Monochrome 327 vram[(y<<4) + i] = 255; - 00000460 2460 MOV.B R6,@R4 - 00000462 35E3 CMP/GE R14,R5 - 00000464 8FFB BF/S L1171 - 00000466 7401 ADD #1,R4 - 00000468 A0BF BRA L1160 - 0000046A 0009 NOP - 0000046C L1169: - Monochrome 328 } - Monochrome 329 else vram[(y<<4)+(x1>>3)] |= (255>>(x1%8 + 7-x2%8))<<(7-(x2&7)); - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 18 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000046C 53F1 MOV.L @(4,R15),R3 - 0000046E 60D3 MOV R13,R0 - 00000470 305C ADD R5,R0 - 00000472 37A8 SUB R10,R7 - 00000474 026C MOV.B @(R0,R6),R2 - 00000476 437C SHAD R7,R3 - 00000478 223B OR R3,R2 - Monochrome 330 break; - 0000047A A0B6 BRA L1160 - 0000047C 0624 MOV.B R2,@(R0,R6) - 0000047E L1106: ; case label - Monochrome 331 case ML_WHITE: - Monochrome 332 if(x1>>3 != x2>>3) - 0000047E 35E0 CMP/EQ R14,R5 - 00000480 8920 BT L1173 - Monochrome 333 { - Monochrome 334 vram[(y<<4)+(x1>>3)] &= 255 << 8-(x1&7); - 00000482 60D3 MOV R13,R0 - 00000484 305C ADD R5,R0 - 00000486 E308 MOV #8,R3 - 00000488 3398 SUB R9,R3 - 0000048A 6243 MOV R4,R2 - 0000048C 423C SHAD R3,R2 - Monochrome 335 vram[(y<<4)+(x2>>3)] &= 255 >> 1+(x2&7); - Monochrome 336 for(i=(x1>>3)+1 ; i>3 ; i++) - 0000048E 7501 ADD #1,R5 - 00000490 036C MOV.B @(R0,R6),R3 - 00000492 35E3 CMP/GE R14,R5 - 00000494 2329 AND R2,R3 - 00000496 0634 MOV.B R3,@(R0,R6) - 00000498 60E3 MOV R14,R0 - 0000049A 30DC ADD R13,R0 - 0000049C 026C MOV.B @(R0,R6),R2 - 0000049E 63A3 MOV R10,R3 - 000004A0 7301 ADD #1,R3 - 000004A2 633B NEG R3,R3 - 000004A4 443C SHAD R3,R4 - 000004A6 2249 AND R4,R2 - 000004A8 0624 MOV.B R2,@(R0,R6) - 000004AA 64D3 MOV R13,R4 - 000004AC 345C ADD R5,R4 - 000004AE 8F02 BF/S L1659 - 000004B0 346C ADD R6,R4 - 000004B2 A09A BRA L1160 - 000004B4 0009 NOP - 000004B6 L1659: - 000004B6 L1175: - 000004B6 7501 ADD #1,R5 - Monochrome 337 vram[(y<<4) + i] = 0; - 000004B8 2480 MOV.B R8,@R4 - 000004BA 35E3 CMP/GE R14,R5 - 000004BC 8FFB BF/S L1175 - 000004BE 7401 ADD #1,R4 - 000004C0 A093 BRA L1160 - 000004C2 0009 NOP - 000004C4 L1173: - Monochrome 338 } - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 19 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 339 else vram[(y<<4)+(x1>>3)] &= (255<<8-(x1&7)) | (255>>1+(x2&7)); - 000004C4 60D3 MOV R13,R0 - 000004C6 305C ADD R5,R0 - 000004C8 E308 MOV #8,R3 - 000004CA 3398 SUB R9,R3 - 000004CC 6243 MOV R4,R2 - 000004CE 423C SHAD R3,R2 - 000004D0 63A3 MOV R10,R3 - 000004D2 7301 ADD #1,R3 - 000004D4 633B NEG R3,R3 - 000004D6 6143 MOV R4,R1 - 000004D8 413C SHAD R3,R1 - 000004DA 221B OR R1,R2 - 000004DC 036C MOV.B @(R0,R6),R3 - 000004DE 2329 AND R2,R3 - Monochrome 340 break; - 000004E0 A083 BRA L1160 - 000004E2 0634 MOV.B R3,@(R0,R6) - 000004E4 L1107: ; case label - Monochrome 341 case ML_XOR: - Monochrome 342 if(x1>>3 != x2>>3) - 000004E4 35E0 CMP/EQ R14,R5 - 000004E6 891E BT L1177 - Monochrome 343 { - Monochrome 344 vram[(y<<4)+(x1>>3)] ^= 255 >> (x1&7); - 000004E8 60D3 MOV R13,R0 - 000004EA 305C ADD R5,R0 - 000004EC 016C MOV.B @(R0,R6),R1 - Monochrome 345 vram[(y<<4)+(x2>>3)] ^= 255 << 7-(x2&7); - 000004EE 37A8 SUB R10,R7 - 000004F0 639B NEG R9,R3 - 000004F2 6243 MOV R4,R2 - 000004F4 423C SHAD R3,R2 - 000004F6 212A XOR R2,R1 - 000004F8 0614 MOV.B R1,@(R0,R6) - 000004FA 6343 MOV R4,R3 - 000004FC 60E3 MOV R14,R0 - 000004FE 30DC ADD R13,R0 - 00000500 026C MOV.B @(R0,R6),R2 - Monochrome 346 for(i=(x1>>3)+1 ; i<(x2>>3) ; i++) - 00000502 7501 ADD #1,R5 - 00000504 437C SHAD R7,R3 - 00000506 223A XOR R3,R2 - 00000508 0624 MOV.B R2,@(R0,R6) - 0000050A 63D3 MOV R13,R3 - 0000050C 335C ADD R5,R3 - 0000050E 35E3 CMP/GE R14,R5 - 00000510 8D6B BT/S L1160 - 00000512 363C ADD R3,R6 - 00000514 L1179: - Monochrome 347 vram[(y<<4) + i] ^= 255; - 00000514 6360 MOV.B @R6,R3 - 00000516 7501 ADD #1,R5 - 00000518 234A XOR R4,R3 - 0000051A 35E3 CMP/GE R14,R5 - 0000051C 2630 MOV.B R3,@R6 - 0000051E 8FF9 BF/S L1179 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 20 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000520 7601 ADD #1,R6 - 00000522 A062 BRA L1160 - 00000524 0009 NOP - 00000526 L1177: - Monochrome 348 } - Monochrome 349 else vram[(y<<4)+(x1>>3)] ^= (255>>((x1&7) + 7-(x2&7)))<<(7-(x2&7)); - 00000526 60D3 MOV R13,R0 - 00000528 305C ADD R5,R0 - 0000052A 6393 MOV R9,R3 - 0000052C 33A8 SUB R10,R3 - 0000052E 7307 ADD #7,R3 - 00000530 633B NEG R3,R3 - 00000532 443C SHAD R3,R4 - 00000534 036C MOV.B @(R0,R6),R3 - 00000536 E207 MOV #7,R2 - 00000538 32A8 SUB R10,R2 - 0000053A 442C SHAD R2,R4 - 0000053C 234A XOR R4,R3 - Monochrome 350 break; - 0000053E A054 BRA L1160 - 00000540 0634 MOV.B R3,@(R0,R6) - 00000542 L1108: ; case label - Monochrome 351 case ML_CHECKER: - Monochrome 352 checker = (y&1 ? 85 : 170); - 00000542 60F2 MOV.L @R15,R0 - 00000544 C801 TST #1,R0 - 00000546 8901 BT L1181 - 00000548 A001 BRA L1182 - 0000054A EC55 MOV #85,R12 - 0000054C L1181: - 0000054C 9C57 MOV.W L1660,R12 ; H'00AA - 0000054E L1182: - Monochrome 353 if(x1>>3 != x2>>3) - 0000054E 35E0 CMP/EQ R14,R5 - 00000550 8932 BT L1183 - Monochrome 354 { - Monochrome 355 vram[(y<<4)+(x1>>3)] &= 255 << 8-(x1&7); - 00000552 63D3 MOV R13,R3 - 00000554 335C ADD R5,R3 - 00000556 336C ADD R6,R3 - 00000558 1F31 MOV.L R3,@(4,R15) - 0000055A 629B NEG R9,R2 - 0000055C 7208 ADD #8,R2 - 0000055E 6143 MOV R4,R1 - 00000560 412C SHAD R2,R1 - 00000562 6230 MOV.B @R3,R2 - 00000564 2219 AND R1,R2 - Monochrome 356 vram[(y<<4)+(x2>>3)] &= 255 >> 1+(x2&7); - 00000566 6143 MOV R4,R1 - 00000568 2320 MOV.B R2,@R3 - 0000056A 63E3 MOV R14,R3 - 0000056C 33DC ADD R13,R3 - 0000056E 336C ADD R6,R3 - 00000570 2F32 MOV.L R3,@R15 - 00000572 62A3 MOV R10,R2 - 00000574 6030 MOV.B @R3,R0 - 00000576 7201 ADD #1,R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 21 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000578 622B NEG R2,R2 - 0000057A 412C SHAD R2,R1 - 0000057C 2019 AND R1,R0 - Monochrome 357 vram[(y<<4)+(x1>>3)] |= checker & 255>>(x1&7); - 0000057E 629B NEG R9,R2 - 00000580 2300 MOV.B R0,@R3 - 00000582 6143 MOV R4,R1 - 00000584 53F1 MOV.L @(4,R15),R3 - 00000586 412C SHAD R2,R1 - 00000588 6230 MOV.B @R3,R2 - 0000058A 21C9 AND R12,R1 - 0000058C 221B OR R1,R2 - 0000058E 2320 MOV.B R2,@R3 - Monochrome 358 vram[(y<<4)+(x2>>3)] |= checker & 255<<7-(x2&7); - 00000590 63F2 MOV.L @R15,R3 - 00000592 37A8 SUB R10,R7 - 00000594 6230 MOV.B @R3,R2 - Monochrome 359 for(i=(x1>>3)+1 ; i>3 ; i++) - 00000596 7501 ADD #1,R5 - 00000598 447C SHAD R7,R4 - 0000059A 24C9 AND R12,R4 - 0000059C 224B OR R4,R2 - 0000059E 64D3 MOV R13,R4 - 000005A0 2320 MOV.B R2,@R3 - 000005A2 35E3 CMP/GE R14,R5 - 000005A4 345C ADD R5,R4 - 000005A6 8D20 BT/S L1160 - 000005A8 346C ADD R6,R4 - 000005AA L1185: - 000005AA 7501 ADD #1,R5 - Monochrome 360 vram[(y<<4) + i] = checker; - 000005AC 24C0 MOV.B R12,@R4 - 000005AE 35E3 CMP/GE R14,R5 - 000005B0 8FFB BF/S L1185 - 000005B2 7401 ADD #1,R4 - 000005B4 A019 BRA L1160 - 000005B6 0009 NOP - 000005B8 L1183: - Monochrome 361 } - Monochrome 362 else - Monochrome 363 { - Monochrome 364 vram[(y<<4)+(x1>>3)] &= (255<<8-(x1&7)) | (255>>1+(x2&7)); - 000005B8 63D3 MOV R13,R3 - 000005BA 335C ADD R5,R3 - 000005BC 336C ADD R6,R3 - 000005BE E208 MOV #8,R2 - 000005C0 2F32 MOV.L R3,@R15 - 000005C2 6143 MOV R4,R1 - 000005C4 3298 SUB R9,R2 - 000005C6 412C SHAD R2,R1 - 000005C8 62A3 MOV R10,R2 - 000005CA 7201 ADD #1,R2 - 000005CC 622B NEG R2,R2 - 000005CE 6043 MOV R4,R0 - 000005D0 402C SHAD R2,R0 - 000005D2 210B OR R0,R1 - 000005D4 6230 MOV.B @R3,R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 22 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 365 vram[(y<<4)+(x1>>3)] |= checker & (255>>(x1%8 + 7-x2%8))<<(7-(x2&7)); - 000005D6 37A8 SUB R10,R7 - 000005D8 2219 AND R1,R2 - 000005DA 2320 MOV.B R2,@R3 - 000005DC 63F2 MOV.L @R15,R3 - 000005DE 52F1 MOV.L @(4,R15),R2 - 000005E0 6130 MOV.B @R3,R1 - 000005E2 427C SHAD R7,R2 - 000005E4 22C9 AND R12,R2 - 000005E6 212B OR R2,R1 - 000005E8 2310 MOV.B R1,@R3 - Monochrome 366 } - Monochrome 367 break; - Monochrome 368 } - Monochrome 369 } - 000005EA L1160: - 000005EA 7F0C ADD #12,R15 - 000005EC 4F26 LDS.L @R15+,PR - 000005EE 68F6 MOV.L @R15+,R8 - 000005F0 69F6 MOV.L @R15+,R9 - 000005F2 6AF6 MOV.L @R15+,R10 - 000005F4 6BF6 MOV.L @R15+,R11 - 000005F6 6CF6 MOV.L @R15+,R12 - 000005F8 6DF6 MOV.L @R15+,R13 - 000005FA 000B RTS - 000005FC 6EF6 MOV.L @R15+,R14 - 000005FE L1660: - 000005FE 00AA .DATA.W H'00AA - Monochrome 370 - Monochrome 371 #endif - Monochrome 372 - Monochrome 373 #ifdef ML_VERTICAL_LINE - Monochrome 374 void ML_vertical_line(int x, int y1, int y2, ML_Color color) - 00000600 _ML_vertical_line: ; function: ML_vertical_line - ; frame size=24 - 00000600 2FE6 MOV.L R14,@-R15 - 00000602 6E53 MOV R5,R14 - 00000604 2FD6 MOV.L R13,@-R15 - 00000606 6D63 MOV R6,R13 - 00000608 2FC6 MOV.L R12,@-R15 - 0000060A 6C43 MOV R4,R12 - 0000060C 4F22 STS.L PR,@-R15 - 0000060E 7FF8 ADD #-8,R15 - Monochrome 375 { - Monochrome 376 int i, j; - Monochrome 377 char checker, byte, *vram = ML_vram_adress(); - 00000610 BCF6 BSR _ML_vram_adress - 00000612 2F72 MOV.L R7,@R15 - Monochrome 378 if(x&~127 || (y1<0 && y2<0) || (y1>63 && y2>63)) return; - 00000614 E380 MOV #-128,R3 - 00000616 23C8 TST R12,R3 - 00000618 8D02 BT/S L1661 - 0000061A 1F01 MOV.L R0,@(4,R15) - 0000061C A084 BRA L1190 - 0000061E 0009 NOP - 00000620 L1661: - 00000620 4E11 CMP/PZ R14 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 23 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000622 8903 BT L1189 - 00000624 4D11 CMP/PZ R13 - 00000626 8901 BT L1662 - 00000628 A07E BRA L1190 - 0000062A 0009 NOP - 0000062C L1662: - 0000062C L1189: - 0000062C E33F MOV #63,R3 - 0000062E 3E37 CMP/GT R3,R14 - 00000630 8B03 BF L1187 - 00000632 3D37 CMP/GT R3,R13 - 00000634 8B01 BF L1663 - 00000636 A077 BRA L1190 - 00000638 0009 NOP - 0000063A L1663: - 0000063A L1187: - Monochrome 379 if(y1 > y2) - 0000063A 3ED7 CMP/GT R13,R14 - 0000063C 8B02 BF L1191 - Monochrome 380 { - Monochrome 381 int tmp = y1; - 0000063E 64E3 MOV R14,R4 - Monochrome 382 y1 = y2; - 00000640 6ED3 MOV R13,R14 - Monochrome 383 y2 = tmp; - 00000642 6D43 MOV R4,R13 - 00000644 L1191: - Monochrome 384 } - Monochrome 385 if(y1 < 0) y1 = 0; - 00000644 4E11 CMP/PZ R14 - 00000646 8D01 BT/S L1192 - Monochrome 386 if(y2 > 63) y2 = 63; - 00000648 E43F MOV #63,R4 - 0000064A EE00 MOV #0,R14 - 0000064C L1192: - 0000064C 3D47 CMP/GT R4,R13 - 0000064E 8B00 BF L1193 - 00000650 6D43 MOV R4,R13 - 00000652 L1193: - Monochrome 387 - Monochrome 388 i = (y1<<4)+(x>>3); - 00000652 64E3 MOV R14,R4 - 00000654 9747 MOV.W L1664,R7 ; H'0080 - 00000656 E607 MOV #7,R6 - 00000658 60F2 MOV.L @R15,R0 - 0000065A 65C3 MOV R12,R5 - 0000065C 4408 SHLL2 R4 - 0000065E 4408 SHLL2 R4 - 00000660 4521 SHAR R5 - 00000662 4521 SHAR R5 - 00000664 4521 SHAR R5 - 00000666 345C ADD R5,R4 - Monochrome 389 j = (y2<<4)+(x>>3); - 00000668 4D08 SHLL2 R13 - 0000066A 4D08 SHLL2 R13 - 0000066C 35DC ADD R13,R5 - 0000066E 8801 CMP/EQ #1,R0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 24 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000670 5DF1 MOV.L @(4,R15),R13 - 00000672 8D08 BT/S L1109 - 00000674 3D4C ADD R4,R13 - 00000676 8800 CMP/EQ #0,R0 - 00000678 8915 BT L1110 - 0000067A 8802 CMP/EQ #2,R0 - 0000067C 8923 BT L1111 - 0000067E 8803 CMP/EQ #3,R0 - 00000680 8932 BT L1112 - 00000682 A051 BRA L1190 - 00000684 0009 NOP - 00000686 L1109: ; case label - Monochrome 390 switch(color) - Monochrome 391 { - Monochrome 392 case ML_BLACK: - Monochrome 393 byte = 128>>(x&7); - 00000686 2C69 AND R6,R12 - 00000688 6CCB NEG R12,R12 - 0000068A 6E73 MOV R7,R14 - 0000068C 4ECC SHAD R12,R14 - Monochrome 394 for( ; i<=j ; i+=16) - 0000068E 3457 CMP/GT R5,R4 - 00000690 8D4A BT/S L1190 - 00000692 66D3 MOV R13,R6 - 00000694 L1196: - Monochrome 395 vram[i] |= byte; - 00000694 6260 MOV.B @R6,R2 - 00000696 7410 ADD #16,R4 - 00000698 22EB OR R14,R2 - 0000069A 3457 CMP/GT R5,R4 - 0000069C 2620 MOV.B R2,@R6 - 0000069E 8FF9 BF/S L1196 - 000006A0 7610 ADD #16,R6 - Monochrome 396 break; - 000006A2 A041 BRA L1190 - 000006A4 0009 NOP - 000006A6 L1110: ; case label - Monochrome 397 case ML_WHITE: - Monochrome 398 byte = ~(128>>(x&7)); - 000006A6 2C69 AND R6,R12 - 000006A8 6CCB NEG R12,R12 - 000006AA 47CC SHAD R12,R7 - 000006AC 6E77 NOT R7,R14 - Monochrome 399 for( ; i<=j ; i+=16) - 000006AE 3457 CMP/GT R5,R4 - 000006B0 8D3A BT/S L1190 - 000006B2 66D3 MOV R13,R6 - 000006B4 L1198: - Monochrome 400 vram[i] &= byte; - 000006B4 6260 MOV.B @R6,R2 - 000006B6 7410 ADD #16,R4 - 000006B8 22E9 AND R14,R2 - 000006BA 3457 CMP/GT R5,R4 - 000006BC 2620 MOV.B R2,@R6 - 000006BE 8FF9 BF/S L1198 - 000006C0 7610 ADD #16,R6 - Monochrome 401 break; - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 25 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000006C2 A031 BRA L1190 - 000006C4 0009 NOP - 000006C6 L1111: ; case label - Monochrome 402 case ML_XOR: - Monochrome 403 byte = 128>>(x&7); - 000006C6 2C69 AND R6,R12 - 000006C8 6CCB NEG R12,R12 - 000006CA 6E73 MOV R7,R14 - 000006CC 4ECC SHAD R12,R14 - Monochrome 404 for( ; i<=j ; i+=16) - 000006CE 3457 CMP/GT R5,R4 - 000006D0 8D2A BT/S L1190 - 000006D2 66D3 MOV R13,R6 - 000006D4 L1200: - Monochrome 405 vram[i] ^= byte; - 000006D4 6260 MOV.B @R6,R2 - 000006D6 7410 ADD #16,R4 - 000006D8 22EA XOR R14,R2 - 000006DA 3457 CMP/GT R5,R4 - 000006DC 2620 MOV.B R2,@R6 - 000006DE 8FF9 BF/S L1200 - 000006E0 7610 ADD #16,R6 - Monochrome 406 break; - 000006E2 A021 BRA L1190 - 000006E4 0009 NOP - 000006E6 L1664: - 000006E6 0080 .DATA.W H'0080 - 000006E8 L1112: ; case label - Monochrome 407 case ML_CHECKER: - Monochrome 408 byte = 128>>(x&7); - 000006E8 26C9 AND R12,R6 - 000006EA 666B NEG R6,R6 - 000006EC 6073 MOV R7,R0 - 000006EE 406C SHAD R6,R0 - Monochrome 409 checker = y1&1^x&1; - 000006F0 E701 MOV #1,R7 - 000006F2 27E9 AND R14,R7 - 000006F4 E301 MOV #1,R3 - 000006F6 2C39 AND R3,R12 - 000006F8 27CA XOR R12,R7 - 000006FA 66D3 MOV R13,R6 - 000006FC 6ED3 MOV R13,R14 - Monochrome 410 for( ; i<=j ; i+=16) - 000006FE 3457 CMP/GT R5,R4 - 00000700 8D12 BT/S L1190 - 00000702 6D07 NOT R0,R13 - 00000704 L1202: - Monochrome 411 { - Monochrome 412 if(checker) vram[i] &= ~byte; - 00000704 637E EXTS.B R7,R3 - 00000706 2338 TST R3,R3 - 00000708 8D04 BT/S L1203 - Monochrome 413 else vram[i] |= byte; - Monochrome 414 checker = !checker; - 0000070A 677E EXTS.B R7,R7 - 0000070C 62E0 MOV.B @R14,R2 - 0000070E 22D9 AND R13,R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 26 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000710 A003 BRA L1204 - 00000712 2E20 MOV.B R2,@R14 - 00000714 L1203: - 00000714 6160 MOV.B @R6,R1 - 00000716 210B OR R0,R1 - 00000718 2610 MOV.B R1,@R6 - 0000071A L1204: - 0000071A 2778 TST R7,R7 - 0000071C 0729 MOVT R7 - 0000071E 7410 ADD #16,R4 - 00000720 7610 ADD #16,R6 - 00000722 3457 CMP/GT R5,R4 - 00000724 8FEE BF/S L1202 - 00000726 7E10 ADD #16,R14 - 00000728 L1190: - Monochrome 415 } - Monochrome 416 break; - Monochrome 417 } - Monochrome 418 } - 00000728 7F08 ADD #8,R15 - 0000072A 4F26 LDS.L @R15+,PR - 0000072C 6CF6 MOV.L @R15+,R12 - 0000072E 6DF6 MOV.L @R15+,R13 - 00000730 000B RTS - 00000732 6EF6 MOV.L @R15+,R14 - Monochrome 419 #endif - Monochrome 420 - Monochrome 421 #ifdef ML_RECTANGLE - Monochrome 422 void ML_rectangle(int x1, int y1, int x2, int y2, int border_width, ML_Color border_color, ML_Color fill_c - +olor) - 00000734 _ML_rectangle: ; function: ML_rectangle - ; frame size=48 - 00000734 2FE6 MOV.L R14,@-R15 - 00000736 2FD6 MOV.L R13,@-R15 - 00000738 2FC6 MOV.L R12,@-R15 - 0000073A 6D43 MOV R4,R13 - 0000073C 2FB6 MOV.L R11,@-R15 - 0000073E 6C63 MOV R6,R12 - 00000740 2FA6 MOV.L R10,@-R15 - Monochrome 423 { - Monochrome 424 int i; - Monochrome 425 if(x1 > x2) - 00000742 3DC7 CMP/GT R12,R13 - 00000744 2F96 MOV.L R9,@-R15 - 00000746 2F86 MOV.L R8,@-R15 - 00000748 4F22 STS.L PR,@-R15 - 0000074A 7FF0 ADD #-16,R15 - 0000074C 5EFC MOV.L @(48,R15),R14 - 0000074E 8F03 BF/S L1206 - 00000750 5BFD MOV.L @(52,R15),R11 - Monochrome 426 { - Monochrome 427 i = x1; - 00000752 64D3 MOV R13,R4 - Monochrome 428 x1 = x2; - 00000754 6DC3 MOV R12,R13 - Monochrome 429 x2 = i; - 00000756 6C43 MOV R4,R12 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 27 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000758 L1206: - Monochrome 430 } - Monochrome 431 if(y1 > y2) - 00000758 3577 CMP/GT R7,R5 - 0000075A 8B02 BF L1207 - Monochrome 432 { - Monochrome 433 i = y1; - 0000075C 6453 MOV R5,R4 - Monochrome 434 y1 = y2; - 0000075E 6573 MOV R7,R5 - Monochrome 435 y2 = i; - 00000760 6743 MOV R4,R7 - 00000762 L1207: - 00000762 64C3 MOV R12,R4 - 00000764 34D8 SUB R13,R4 - 00000766 E300 MOV #0,R3 - 00000768 3347 CMP/GT R4,R3 - 0000076A 343E ADDC R3,R4 - 0000076C 4421 SHAR R4 - 0000076E 7401 ADD #1,R4 - 00000770 3E47 CMP/GT R4,R14 - 00000772 8B00 BF L1208 - Monochrome 436 } - Monochrome 437 if(border_width > (x2-x1)/2+1) border_width = (x2-x1)/2+1; - 00000774 6E43 MOV R4,R14 - 00000776 L1208: - 00000776 6473 MOV R7,R4 - 00000778 3458 SUB R5,R4 - 0000077A E300 MOV #0,R3 - 0000077C 3347 CMP/GT R4,R3 - 0000077E 343E ADDC R3,R4 - 00000780 4421 SHAR R4 - 00000782 7401 ADD #1,R4 - 00000784 3E47 CMP/GT R4,R14 - 00000786 8F01 BF/S L1209 - 00000788 6353 MOV R5,R3 - Monochrome 438 if(border_width > (y2-y1)/2+1) border_width = (y2-y1)/2+1; - 0000078A 6E43 MOV R4,R14 - 0000078C L1209: - 0000078C 33EC ADD R14,R3 - 0000078E 6873 MOV R7,R8 - 00000790 1F33 MOV.L R3,@(12,R15) - 00000792 62D3 MOV R13,R2 - 00000794 32EC ADD R14,R2 - 00000796 61C3 MOV R12,R1 - 00000798 1F22 MOV.L R2,@(8,R15) - 0000079A 60B3 MOV R11,R0 - 0000079C 31E8 SUB R14,R1 - 0000079E 88FF CMP/EQ #-1,R0 - 000007A0 2F12 MOV.L R1,@R15 - 000007A2 8D2D BT/S L1210 - 000007A4 38E8 SUB R14,R8 - 000007A6 4E15 CMP/PL R14 - 000007A8 8B2A BF L1210 - Monochrome 439 if(border_color != ML_TRANSPARENT && border_width > 0) - Monochrome 440 { - Monochrome 441 for(i=0 ; i t[i]) - 000008C8 62D2 MOV.L @R13,R2 - 000008CA 3C27 CMP/GT R2,R12 - 000008CC 8F08 BF/S L1224 - 000008CE 7701 ADD #1,R7 - Monochrome 480 { - Monochrome 481 j++; - Monochrome 482 tmp = t[j]; - Monochrome 483 t[j] = t[i]; - 000008D0 6352 MOV.L @R5,R3 - 000008D2 7E01 ADD #1,R14 - 000008D4 60E3 MOV R14,R0 - 000008D6 4008 SHLL2 R0 - 000008D8 304C ADD R4,R0 - 000008DA 6102 MOV.L @R0,R1 - 000008DC 2032 MOV.L R3,@R0 - Monochrome 484 t[i] = tmp; - 000008DE 2512 MOV.L R1,@R5 - 000008E0 L1224: - 000008E0 7504 ADD #4,R5 - 000008E2 3763 CMP/GE R6,R7 - 000008E4 8FF0 BF/S L1223 - 000008E6 7D04 ADD #4,R13 - 000008E8 L1222: - Monochrome 485 } - Monochrome 486 } - Monochrome 487 t[r] = t[j+1]; - 000008E8 53F1 MOV.L @(4,R15),R3 - 000008EA 65E3 MOV R14,R5 - 000008EC 4508 SHLL2 R5 - 000008EE 354C ADD R4,R5 - 000008F0 7504 ADD #4,R5 - Monochrome 488 t[j+1] = x; - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 32 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 489 return j + 1; - 000008F2 60E3 MOV R14,R0 - 000008F4 6252 MOV.L @R5,R2 - 000008F6 7001 ADD #1,R0 - 000008F8 2322 MOV.L R2,@R3 - 000008FA 25C2 MOV.L R12,@R5 - Monochrome 490 } - 000008FC 7F08 ADD #8,R15 - 000008FE 6CF6 MOV.L @R15+,R12 - 00000900 6DF6 MOV.L @R15+,R13 - 00000902 000B RTS - 00000904 6EF6 MOV.L @R15+,R14 - Monochrome 491 - Monochrome 492 static void ML_filled_polygon_quicksord(int* t, int p, int r) - 00000906 __$ML_filled_polygon_quicksord: ; function: ML_filled_polygon_quicksord - ; frame size=20 - 00000906 2FE6 MOV.L R14,@-R15 - 00000908 2FD6 MOV.L R13,@-R15 - 0000090A 6E53 MOV R5,R14 - 0000090C 2FC6 MOV.L R12,@-R15 - 0000090E 6D63 MOV R6,R13 - 00000910 4F22 STS.L PR,@-R15 - 00000912 7FFC ADD #-4,R15 - 00000914 2F42 MOV.L R4,@R15 - 00000916 L1226: - Monochrome 493 { - Monochrome 494 int q; - Monochrome 495 if(p < r) - 00000916 3ED3 CMP/GE R13,R14 - 00000918 890E BT L1227 - Monochrome 496 { - Monochrome 497 q = ML_filled_polygon_quicksord_partition(t, p, r); - 0000091A 66D3 MOV R13,R6 - 0000091C 65E3 MOV R14,R5 - 0000091E BFC1 BSR __$ML_filled_polygon_quicksord_partition - 00000920 64F2 MOV.L @R15,R4 - 00000922 6C03 MOV R0,R12 - Monochrome 498 ML_filled_polygon_quicksord(t, p, q-1); - 00000924 6603 MOV R0,R6 - 00000926 76FF ADD #-1,R6 - 00000928 65E3 MOV R14,R5 - 0000092A BFEC BSR __$ML_filled_polygon_quicksord - 0000092C 64F2 MOV.L @R15,R4 - Monochrome 499 ML_filled_polygon_quicksord(t, q+1, r); - 0000092E 65D3 MOV R13,R5 - 00000930 64C3 MOV R12,R4 - 00000932 7401 ADD #1,R4 - 00000934 AFEF BRA L1226 - 00000936 6E43 MOV R4,R14 - 00000938 L1227: - Monochrome 500 } - Monochrome 501 } - 00000938 7F04 ADD #4,R15 - 0000093A 4F26 LDS.L @R15+,PR - 0000093C 6CF6 MOV.L @R15+,R12 - 0000093E 6DF6 MOV.L @R15+,R13 - 00000940 000B RTS - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 33 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000942 6EF6 MOV.L @R15+,R14 - Monochrome 502 - Monochrome 503 - Monochrome 504 void ML_filled_polygon(const int *x, const int *y, int nb_vertices, ML_Color color) - 00000944 _ML_filled_polygon: ; function: ML_filled_polygon - ; frame size=108 - ; used runtime library name: - ; __divls, __modls, __addd, __dtoi, __itod - 00000944 2FE6 MOV.L R14,@-R15 - Monochrome 505 { - Monochrome 506 int i, j, dx, dy, ymin, ymax; - Monochrome 507 int *cut_in_line, nb_cut; - Monochrome 508 if(nb_vertices < 3) return; - 00000946 E303 MOV #3,R3 - 00000948 2FD6 MOV.L R13,@-R15 - 0000094A 2FC6 MOV.L R12,@-R15 - 0000094C 2FB6 MOV.L R11,@-R15 - 0000094E 6B63 MOV R6,R11 - 00000950 2FA6 MOV.L R10,@-R15 - 00000952 3B33 CMP/GE R3,R11 - 00000954 2F96 MOV.L R9,@-R15 - 00000956 6A53 MOV R5,R10 - 00000958 2F86 MOV.L R8,@-R15 - 0000095A 4F22 STS.L PR,@-R15 - 0000095C 4F12 STS.L MACL,@-R15 - 0000095E 7FD8 ADD #-40,R15 - 00000960 1F44 MOV.L R4,@(16,R15) - 00000962 8D02 BT/S L1665 - 00000964 1F73 MOV.L R7,@(12,R15) - 00000966 A100 BRA L1229 - 00000968 0009 NOP - 0000096A L1665: - Monochrome 509 cut_in_line = malloc(nb_vertices*sizeof(int)); - 0000096A 64B3 MOV R11,R4 - 0000096C D384 MOV.L L1666,R3 ; _malloc - 0000096E 430B JSR @R3 - 00000970 4408 SHLL2 R4 - 00000972 6D03 MOV R0,R13 - Monochrome 510 if(!cut_in_line) return; - 00000974 2DD8 TST R13,R13 - 00000976 8B01 BF L1667 - 00000978 A0F7 BRA L1229 - 0000097A 0009 NOP - 0000097C L1667: - Monochrome 511 ymin = ymax = y[0]; - 0000097C 6EA2 MOV.L @R10,R14 - Monochrome 512 for(i=1 ; i ymax) ymax = y[i]; - 0000099C 53F6 MOV.L @(24,R15),R3 - 0000099E 6262 MOV.L @R6,R2 - 000009A0 3237 CMP/GT R3,R2 - 000009A2 8F02 BF/S L1234 - 000009A4 7401 ADD #1,R4 - 000009A6 6252 MOV.L @R5,R2 - 000009A8 1F26 MOV.L R2,@(24,R15) - 000009AA L1234: - 000009AA 7504 ADD #4,R5 - 000009AC 7604 ADD #4,R6 - 000009AE 34B3 CMP/GE R11,R4 - 000009B0 8FEE BF/S L1232 - 000009B2 7704 ADD #4,R7 - 000009B4 L1231: - Monochrome 516 } - Monochrome 517 for(i=ymin ; i<=ymax ; i++) - 000009B4 A0C7 BRA L1235 - 000009B6 6CE3 MOV R14,R12 - 000009B8 L1236: - Monochrome 518 { - Monochrome 519 nb_cut = 0; - 000009B8 E900 MOV #0,R9 - Monochrome 520 for(j=0 ; j=i) || (y[j]>=i && y[(j+1)%nb_vertices]<=i)) - 000009C8 60E3 MOV R14,R0 - 000009CA 4008 SHLL2 R0 - 000009CC 04AE MOV.L @(R0,R10),R4 - 000009CE 34C7 CMP/GT R12,R4 - 000009D0 8908 BT L1241 - 000009D2 61E3 MOV R14,R1 - 000009D4 D36B MOV.L L1666+4,R3 ; __modls - 000009D6 7101 ADD #1,R1 - 000009D8 430B JSR @R3 - 000009DA 60B3 MOV R11,R0 - 000009DC 4008 SHLL2 R0 - 000009DE 02AE MOV.L @(R0,R10),R2 - 000009E0 32C3 CMP/GE R12,R2 - 000009E2 890A BT L1240 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 35 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000009E4 L1241: - 000009E4 34C3 CMP/GE R12,R4 - 000009E6 8B56 BF L1239 - 000009E8 D366 MOV.L L1666+4,R3 ; __modls - 000009EA 61E3 MOV R14,R1 - 000009EC 7101 ADD #1,R1 - 000009EE 430B JSR @R3 - 000009F0 60B3 MOV R11,R0 - 000009F2 4008 SHLL2 R0 - 000009F4 02AE MOV.L @(R0,R10),R2 - 000009F6 32C7 CMP/GT R12,R2 - 000009F8 894D BT L1239 - 000009FA L1240: - Monochrome 523 { - Monochrome 524 dy = abs(y[j]-y[(j+1)%nb_vertices]); - 000009FA 60E3 MOV R14,R0 - 000009FC 51F2 MOV.L @(8,R15),R1 - 000009FE 4008 SHLL2 R0 - 00000A00 D360 MOV.L L1666+4,R3 ; __modls - 00000A02 04AE MOV.L @(R0,R10),R4 - 00000A04 430B JSR @R3 - 00000A06 60B3 MOV R11,R0 - 00000A08 D25F MOV.L L1666+8,R2 ; _abs - 00000A0A 4008 SHLL2 R0 - 00000A0C 03AE MOV.L @(R0,R10),R3 - 00000A0E 420B JSR @R2 - 00000A10 3438 SUB R3,R4 - Monochrome 525 if(dy) - 00000A12 2008 TST R0,R0 - 00000A14 8D3F BT/S L1239 - 00000A16 1F05 MOV.L R0,@(20,R15) - Monochrome 526 { - Monochrome 527 dx = x[(j+1)%nb_vertices]-x[j]; - 00000A18 51F1 MOV.L @(4,R15),R1 - 00000A1A D25A MOV.L L1666+4,R2 ; __modls - 00000A1C 420B JSR @R2 - 00000A1E 60B3 MOV R11,R0 - 00000A20 53F4 MOV.L @(16,R15),R3 - Monochrome 528 cut_in_line[nb_cut] = x[j] + rnd(abs(i-y[j]+sgn(i-y[j])/2)*dx/dy); - 00000A22 64C3 MOV R12,R4 - 00000A24 4008 SHLL2 R0 - 00000A26 023E MOV.L @(R0,R3),R2 - 00000A28 60F2 MOV.L @R15,R0 - 00000A2A 013E MOV.L @(R0,R3),R1 - 00000A2C 1F18 MOV.L R1,@(32,R15) - 00000A2E 3218 SUB R1,R2 - 00000A30 1F27 MOV.L R2,@(28,R15) - 00000A32 6193 MOV R9,R1 - 00000A34 4108 SHLL2 R1 - 00000A36 31DC ADD R13,R1 - 00000A38 2F16 MOV.L R1,@-R15 - 00000A3A 7FF8 ADD #-8,R15 - 00000A3C 50F3 MOV.L @(12,R15),R0 - 00000A3E 02AE MOV.L @(R0,R10),R2 - 00000A40 3428 SUB R2,R4 - 00000A42 4411 CMP/PZ R4 - 00000A44 8D02 BT/S L1243 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 36 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000A46 1F2C MOV.L R2,@(48,R15) - 00000A48 A001 BRA L1244 - 00000A4A E4FF MOV #-1,R4 - 00000A4C L1243: - 00000A4C E401 MOV #1,R4 - 00000A4E L1244: - 00000A4E E300 MOV #0,R3 - 00000A50 52FC MOV.L @(48,R15),R2 - 00000A52 3347 CMP/GT R4,R3 - 00000A54 343E ADDC R3,R4 - 00000A56 4421 SHAR R4 - 00000A58 D34B MOV.L L1666+8,R3 ; _abs - 00000A5A 3428 SUB R2,R4 - 00000A5C 430B JSR @R3 - 00000A5E 34CC ADD R12,R4 - 00000A60 51FA MOV.L @(40,R15),R1 - 00000A62 0017 MUL.L R1,R0 - 00000A64 D349 MOV.L L1666+12,R3; __divls - 00000A66 011A STS MACL,R1 - 00000A68 430B JSR @R3 - 00000A6A 50F8 MOV.L @(32,R15),R0 - 00000A6C D248 MOV.L L1666+16,R2; __itod - 00000A6E 7FF8 ADD #-8,R15 - 00000A70 420B JSR @R2 - 00000A72 2FF6 MOV.L R15,@-R15 - 00000A74 D148 MOV.L L1666+24,R1; __addd - 00000A76 E300 MOV #0,R3 - 00000A78 2F36 MOV.L R3,@-R15 - 00000A7A D346 MOV.L L1666+20,R3; H'3FE00000 - 00000A7C 2F36 MOV.L R3,@-R15 - 00000A7E 62F3 MOV R15,R2 - 00000A80 7210 ADD #16,R2 - 00000A82 410B JSR @R1 - 00000A84 2F26 MOV.L R2,@-R15 - 00000A86 D345 MOV.L L1666+28,R3; __dtoi - 00000A88 430B JSR @R3 - 00000A8A 0009 NOP - 00000A8C 52F9 MOV.L @(36,R15),R2 - Monochrome 529 nb_cut++; - 00000A8E 7901 ADD #1,R9 - 00000A90 63F6 MOV.L @R15+,R3 - 00000A92 302C ADD R2,R0 - 00000A94 2302 MOV.L R0,@R3 - 00000A96 L1239: - 00000A96 7E01 ADD #1,R14 - 00000A98 62F2 MOV.L @R15,R2 - 00000A9A 3EB3 CMP/GE R11,R14 - 00000A9C 7204 ADD #4,R2 - 00000A9E 2F22 MOV.L R2,@R15 - 00000AA0 53F1 MOV.L @(4,R15),R3 - 00000AA2 7301 ADD #1,R3 - 00000AA4 1F31 MOV.L R3,@(4,R15) - 00000AA6 51F2 MOV.L @(8,R15),R1 - 00000AA8 7101 ADD #1,R1 - 00000AAA 8F8D BF/S L1238 - 00000AAC 1F12 MOV.L R1,@(8,R15) - 00000AAE L1237: - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 37 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 530 } - Monochrome 531 } - Monochrome 532 } - Monochrome 533 ML_filled_polygon_quicksord(cut_in_line, 0, nb_cut-1); - 00000AAE 6693 MOV R9,R6 - 00000AB0 76FF ADD #-1,R6 - 00000AB2 E500 MOV #0,R5 - 00000AB4 1F61 MOV.L R6,@(4,R15) - 00000AB6 BF26 BSR __$ML_filled_polygon_quicksord - 00000AB8 64D3 MOV R13,R4 - Monochrome 534 j = 0; - 00000ABA EE00 MOV #0,R14 - 00000ABC 6493 MOV R9,R4 - Monochrome 535 while(j .DATA.L _malloc - 00000B84 <00000000> .DATA.L __modls - 00000B88 <00000000> .DATA.L _abs - 00000B8C <00000000> .DATA.L __divls - 00000B90 <00000000> .DATA.L __itod - 00000B94 3FE00000 .DATA.L H'3FE00000 - 00000B98 <00000000> .DATA.L __addd - 00000B9C <00000000> .DATA.L __dtoi - 00000BA0 <00000000> .DATA.L _free - Monochrome 551 #endif - Monochrome 552 - Monochrome 553 #ifdef ML_CIRCLE - Monochrome 554 void ML_circle(int x, int y, int radius, ML_Color color) - 00000BA4 _ML_circle: ; function: ML_circle - ; frame size=40 - 00000BA4 2FE6 MOV.L R14,@-R15 - 00000BA6 2FD6 MOV.L R13,@-R15 - 00000BA8 2FC6 MOV.L R12,@-R15 - 00000BAA 2FB6 MOV.L R11,@-R15 - 00000BAC 2FA6 MOV.L R10,@-R15 - 00000BAE 6B53 MOV R5,R11 - 00000BB0 2F96 MOV.L R9,@-R15 - 00000BB2 6A43 MOV R4,R10 - 00000BB4 2F86 MOV.L R8,@-R15 - 00000BB6 6863 MOV R6,R8 - 00000BB8 4F22 STS.L PR,@-R15 - Monochrome 555 { - Monochrome 556 int plot_x, plot_y, d; - Monochrome 557 - Monochrome 558 if(radius < 0) return; - 00000BBA 4811 CMP/PZ R8 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 40 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000BBC 7FF8 ADD #-8,R15 - 00000BBE 8F60 BF/S L1256 - 00000BC0 6C73 MOV R7,R12 - Monochrome 559 plot_x = 0; - 00000BC2 ED00 MOV #0,R13 - Monochrome 560 plot_y = radius; - 00000BC4 6E83 MOV R8,R14 - Monochrome 561 d = 1 - radius; - 00000BC6 E901 MOV #1,R9 - 00000BC8 3988 SUB R8,R9 - Monochrome 562 - Monochrome 563 ML_pixel(x, y+plot_y, color); - 00000BCA 66C3 MOV R12,R6 - 00000BCC 65B3 MOV R11,R5 - 00000BCE 35EC ADD R14,R5 - 00000BD0 BAA8 BSR _ML_pixel - 00000BD2 64A3 MOV R10,R4 - Monochrome 564 if(radius) - 00000BD4 2888 TST R8,R8 - 00000BD6 890E BT L1257 - Monochrome 565 { - Monochrome 566 ML_pixel(x, y-plot_y, color); - 00000BD8 66C3 MOV R12,R6 - 00000BDA 65B3 MOV R11,R5 - 00000BDC 35E8 SUB R14,R5 - 00000BDE BAA1 BSR _ML_pixel - 00000BE0 64A3 MOV R10,R4 - Monochrome 567 ML_pixel(x+plot_y, y, color); - 00000BE2 66C3 MOV R12,R6 - 00000BE4 65B3 MOV R11,R5 - 00000BE6 64A3 MOV R10,R4 - 00000BE8 BA9C BSR _ML_pixel - 00000BEA 34EC ADD R14,R4 - Monochrome 568 ML_pixel(x-plot_y, y, color); - 00000BEC 66C3 MOV R12,R6 - 00000BEE 65B3 MOV R11,R5 - 00000BF0 64A3 MOV R10,R4 - 00000BF2 BA97 BSR _ML_pixel - 00000BF4 34E8 SUB R14,R4 - 00000BF6 L1257: - Monochrome 569 } - Monochrome 570 while(plot_y > plot_x) - 00000BF6 4E15 CMP/PL R14 - 00000BF8 8B43 BF L1256 - 00000BFA L1259: - Monochrome 571 { - Monochrome 572 if(d < 0) - 00000BFA 4911 CMP/PZ R9 - 00000BFC 8904 BT L1260 - Monochrome 573 d += 2*plot_x+3; - 00000BFE 63D3 MOV R13,R3 - 00000C00 4300 SHLL R3 - 00000C02 7303 ADD #3,R3 - 00000C04 A006 BRA L1261 - 00000C06 393C ADD R3,R9 - 00000C08 L1260: - Monochrome 574 else - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 41 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 575 { - Monochrome 576 d += 2*(plot_x-plot_y)+5; - 00000C08 63D3 MOV R13,R3 - 00000C0A 33E8 SUB R14,R3 - 00000C0C 4300 SHLL R3 - 00000C0E 7305 ADD #5,R3 - 00000C10 393C ADD R3,R9 - Monochrome 577 plot_y--; - 00000C12 7EFF ADD #-1,R14 - 00000C14 L1261: - Monochrome 578 } - Monochrome 579 plot_x++; - 00000C14 7D01 ADD #1,R13 - Monochrome 580 if(plot_y >= plot_x) - 00000C16 3ED3 CMP/GE R13,R14 - 00000C18 8B17 BF L1262 - Monochrome 581 { - Monochrome 582 ML_pixel(x+plot_x, y+plot_y, color); - 00000C1A 66C3 MOV R12,R6 - 00000C1C 65B3 MOV R11,R5 - 00000C1E 35EC ADD R14,R5 - 00000C20 2F52 MOV.L R5,@R15 - 00000C22 64A3 MOV R10,R4 - 00000C24 34DC ADD R13,R4 - 00000C26 BA7D BSR _ML_pixel - 00000C28 1F41 MOV.L R4,@(4,R15) - Monochrome 583 ML_pixel(x-plot_x, y+plot_y, color); - 00000C2A 66C3 MOV R12,R6 - 00000C2C 65F2 MOV.L @R15,R5 - 00000C2E 68A3 MOV R10,R8 - 00000C30 38D8 SUB R13,R8 - 00000C32 BA77 BSR _ML_pixel - 00000C34 6483 MOV R8,R4 - Monochrome 584 ML_pixel(x+plot_x, y-plot_y, color); - 00000C36 66C3 MOV R12,R6 - 00000C38 65B3 MOV R11,R5 - 00000C3A 35E8 SUB R14,R5 - 00000C3C 2F52 MOV.L R5,@R15 - 00000C3E BA71 BSR _ML_pixel - 00000C40 54F1 MOV.L @(4,R15),R4 - Monochrome 585 ML_pixel(x-plot_x, y-plot_y, color); - 00000C42 66C3 MOV R12,R6 - 00000C44 65F2 MOV.L @R15,R5 - 00000C46 BA6D BSR _ML_pixel - 00000C48 6483 MOV R8,R4 - 00000C4A L1262: - Monochrome 586 } - Monochrome 587 if(plot_y > plot_x) - 00000C4A 3ED7 CMP/GT R13,R14 - 00000C4C 8B17 BF L1263 - Monochrome 588 { - Monochrome 589 ML_pixel(x+plot_y, y+plot_x, color); - 00000C4E 66C3 MOV R12,R6 - 00000C50 65B3 MOV R11,R5 - 00000C52 35DC ADD R13,R5 - 00000C54 2F52 MOV.L R5,@R15 - 00000C56 64A3 MOV R10,R4 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 42 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000C58 34EC ADD R14,R4 - 00000C5A BA63 BSR _ML_pixel - 00000C5C 1F41 MOV.L R4,@(4,R15) - Monochrome 590 ML_pixel(x-plot_y, y+plot_x, color); - 00000C5E 66C3 MOV R12,R6 - 00000C60 65F2 MOV.L @R15,R5 - 00000C62 68A3 MOV R10,R8 - 00000C64 38E8 SUB R14,R8 - 00000C66 BA5D BSR _ML_pixel - 00000C68 6483 MOV R8,R4 - Monochrome 591 ML_pixel(x+plot_y, y-plot_x, color); - 00000C6A 66C3 MOV R12,R6 - 00000C6C 65B3 MOV R11,R5 - 00000C6E 35D8 SUB R13,R5 - 00000C70 2F52 MOV.L R5,@R15 - 00000C72 BA57 BSR _ML_pixel - 00000C74 54F1 MOV.L @(4,R15),R4 - Monochrome 592 ML_pixel(x-plot_y, y-plot_x, color); - 00000C76 66C3 MOV R12,R6 - 00000C78 65F2 MOV.L @R15,R5 - 00000C7A BA53 BSR _ML_pixel - 00000C7C 6483 MOV R8,R4 - 00000C7E L1263: - 00000C7E 3ED7 CMP/GT R13,R14 - 00000C80 89BB BT L1259 - 00000C82 L1256: - Monochrome 593 } - Monochrome 594 } - Monochrome 595 } - 00000C82 7F08 ADD #8,R15 - 00000C84 4F26 LDS.L @R15+,PR - 00000C86 68F6 MOV.L @R15+,R8 - 00000C88 69F6 MOV.L @R15+,R9 - 00000C8A 6AF6 MOV.L @R15+,R10 - 00000C8C 6BF6 MOV.L @R15+,R11 - 00000C8E 6CF6 MOV.L @R15+,R12 - 00000C90 6DF6 MOV.L @R15+,R13 - 00000C92 000B RTS - 00000C94 6EF6 MOV.L @R15+,R14 - Monochrome 596 #endif - Monochrome 597 - Monochrome 598 #ifdef ML_FILLED_CIRCLE - Monochrome 599 void ML_filled_circle(int x, int y, int radius, ML_Color color) - 00000C96 _ML_filled_circle: ; function: ML_filled_circle - ; frame size=36 - Monochrome 600 { - Monochrome 601 int plot_x, plot_y, d; - Monochrome 602 - Monochrome 603 if(radius < 0) return; - 00000C96 4611 CMP/PZ R6 - 00000C98 2FE6 MOV.L R14,@-R15 - 00000C9A 2FD6 MOV.L R13,@-R15 - 00000C9C 2FC6 MOV.L R12,@-R15 - 00000C9E 6C43 MOV R4,R12 - 00000CA0 2FB6 MOV.L R11,@-R15 - 00000CA2 2FA6 MOV.L R10,@-R15 - 00000CA4 2F96 MOV.L R9,@-R15 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 43 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000CA6 6A53 MOV R5,R10 - 00000CA8 2F86 MOV.L R8,@-R15 - 00000CAA 4F22 STS.L PR,@-R15 - 00000CAC 7FFC ADD #-4,R15 - 00000CAE 8F41 BF/S L1265 - 00000CB0 6B73 MOV R7,R11 - Monochrome 604 plot_x = 0; - 00000CB2 ED00 MOV #0,R13 - Monochrome 605 plot_y = radius; - 00000CB4 6E63 MOV R6,R14 - Monochrome 606 d = 1 - radius; - 00000CB6 E901 MOV #1,R9 - 00000CB8 3968 SUB R6,R9 - Monochrome 607 - Monochrome 608 ML_horizontal_line(y, x-plot_y, x+plot_y, color); - 00000CBA 67B3 MOV R11,R7 - 00000CBC 66C3 MOV R12,R6 - 00000CBE 36EC ADD R14,R6 - 00000CC0 65C3 MOV R12,R5 - 00000CC2 35E8 SUB R14,R5 - 00000CC4 BB48 BSR _ML_horizontal_line - 00000CC6 64A3 MOV R10,R4 - Monochrome 609 while(plot_y > plot_x) - 00000CC8 4E15 CMP/PL R14 - 00000CCA 8B33 BF L1265 - 00000CCC L1267: - Monochrome 610 { - Monochrome 611 if(d < 0) - 00000CCC 4911 CMP/PZ R9 - 00000CCE 8904 BT L1268 - Monochrome 612 d += 2*plot_x+3; - 00000CD0 63D3 MOV R13,R3 - 00000CD2 4300 SHLL R3 - 00000CD4 7303 ADD #3,R3 - 00000CD6 A018 BRA L1269 - 00000CD8 393C ADD R3,R9 - 00000CDA L1268: - Monochrome 613 else { - Monochrome 614 d += 2*(plot_x-plot_y)+5; - 00000CDA 63D3 MOV R13,R3 - 00000CDC 33E8 SUB R14,R3 - 00000CDE 4300 SHLL R3 - 00000CE0 7305 ADD #5,R3 - 00000CE2 393C ADD R3,R9 - Monochrome 615 plot_y--; - 00000CE4 7EFF ADD #-1,R14 - Monochrome 616 ML_horizontal_line(y+plot_y+1, x-plot_x, x+plot_x, color); - 00000CE6 67B3 MOV R11,R7 - 00000CE8 68C3 MOV R12,R8 - 00000CEA 38DC ADD R13,R8 - 00000CEC 6683 MOV R8,R6 - 00000CEE 65C3 MOV R12,R5 - 00000CF0 35D8 SUB R13,R5 - 00000CF2 64A3 MOV R10,R4 - 00000CF4 2F52 MOV.L R5,@R15 - 00000CF6 34EC ADD R14,R4 - 00000CF8 BB2E BSR _ML_horizontal_line - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 44 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000CFA 7401 ADD #1,R4 - Monochrome 617 ML_horizontal_line(y-plot_y-1, x-plot_x, x+plot_x, color); - 00000CFC 65F2 MOV.L @R15,R5 - 00000CFE 64A3 MOV R10,R4 - 00000D00 67B3 MOV R11,R7 - 00000D02 6683 MOV R8,R6 - 00000D04 34E8 SUB R14,R4 - 00000D06 BB27 BSR _ML_horizontal_line - 00000D08 74FF ADD #-1,R4 - 00000D0A L1269: - Monochrome 618 } - Monochrome 619 plot_x++; - 00000D0A 7D01 ADD #1,R13 - Monochrome 620 if(plot_y >= plot_x) - 00000D0C 3ED3 CMP/GE R13,R14 - 00000D0E 8B0F BF L1270 - Monochrome 621 { - Monochrome 622 ML_horizontal_line(y+plot_x, x-plot_y, x+plot_y, color); - 00000D10 67B3 MOV R11,R7 - 00000D12 66C3 MOV R12,R6 - 00000D14 36EC ADD R14,R6 - 00000D16 68C3 MOV R12,R8 - 00000D18 2F62 MOV.L R6,@R15 - 00000D1A 64A3 MOV R10,R4 - 00000D1C 38E8 SUB R14,R8 - 00000D1E 6583 MOV R8,R5 - 00000D20 BB1A BSR _ML_horizontal_line - 00000D22 34DC ADD R13,R4 - Monochrome 623 ML_horizontal_line(y-plot_x, x-plot_y, x+plot_y, color); - 00000D24 66F2 MOV.L @R15,R6 - 00000D26 6583 MOV R8,R5 - 00000D28 67B3 MOV R11,R7 - 00000D2A 64A3 MOV R10,R4 - 00000D2C BB14 BSR _ML_horizontal_line - 00000D2E 34D8 SUB R13,R4 - 00000D30 L1270: - 00000D30 3ED7 CMP/GT R13,R14 - 00000D32 89CB BT L1267 - 00000D34 L1265: - Monochrome 624 } - Monochrome 625 } - Monochrome 626 } - 00000D34 7F04 ADD #4,R15 - 00000D36 4F26 LDS.L @R15+,PR - 00000D38 68F6 MOV.L @R15+,R8 - 00000D3A 69F6 MOV.L @R15+,R9 - 00000D3C 6AF6 MOV.L @R15+,R10 - 00000D3E 6BF6 MOV.L @R15+,R11 - 00000D40 6CF6 MOV.L @R15+,R12 - 00000D42 6DF6 MOV.L @R15+,R13 - 00000D44 000B RTS - 00000D46 6EF6 MOV.L @R15+,R14 - Monochrome 627 #endif - Monochrome 628 - Monochrome 629 #ifdef ML_ELLIPSE - Monochrome 630 void ML_ellipse(int x, int y, int radius1, int radius2, ML_Color color) - 00000D48 _ML_ellipse: ; function: ML_ellipse - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 45 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - ; frame size=128 - ; used runtime library name: - ; __adds, __addd, __subdr, __muld, __dtos, __itos, __itod, __gtd, __lts - 00000D48 2FE6 MOV.L R14,@-R15 - 00000D4A 2FD6 MOV.L R13,@-R15 - 00000D4C 2FC6 MOV.L R12,@-R15 - 00000D4E 6C73 MOV R7,R12 - 00000D50 2FB6 MOV.L R11,@-R15 - 00000D52 2FA6 MOV.L R10,@-R15 - 00000D54 2F96 MOV.L R9,@-R15 - 00000D56 6A63 MOV R6,R10 - 00000D58 2F86 MOV.L R8,@-R15 - 00000D5A 6953 MOV R5,R9 - 00000D5C 4F22 STS.L PR,@-R15 - 00000D5E 6843 MOV R4,R8 - 00000D60 4F12 STS.L MACL,@-R15 - Monochrome 631 { - Monochrome 632 int plot_x, plot_y; - Monochrome 633 float d1, d2; - Monochrome 634 if(radius1 < 1 || radius2 < 1) return; - 00000D62 E401 MOV #1,R4 - 00000D64 7FE8 ADD #-24,R15 - 00000D66 3A43 CMP/GE R4,R10 - 00000D68 8D02 BT/S L1669 - 00000D6A 5BFF MOV.L @(60,R15),R11 - 00000D6C A13A BRA L1273 - 00000D6E 0009 NOP - 00000D70 L1669: - 00000D70 3C43 CMP/GE R4,R12 - 00000D72 8901 BT L1670 - 00000D74 A136 BRA L1273 - 00000D76 0009 NOP - 00000D78 L1670: - Monochrome 635 plot_x = 0; - Monochrome 636 plot_y = radius2; - Monochrome 637 d1 = radius2*radius2 - radius1*radius1*radius2 + radius1*radius1/4; - 00000D78 0AA7 MUL.L R10,R10 - 00000D7A ED00 MOV #0,R13 - 00000D7C 6EC3 MOV R12,R14 - 00000D7E 001A STS MACL,R0 - 00000D80 4011 CMP/PZ R0 - 00000D82 8D01 BT/S L1274 - 00000D84 1F02 MOV.L R0,@(8,R15) - 00000D86 7003 ADD #3,R0 - 00000D88 L1274: - 00000D88 52F2 MOV.L @(8,R15),R2 - 00000D8A 4021 SHAR R0 - 00000D8C 02C7 MUL.L R12,R2 - 00000D8E 4021 SHAR R0 - 00000D90 021A STS MACL,R2 - 00000D92 3028 SUB R2,R0 - 00000D94 0CC7 MUL.L R12,R12 - 00000D96 031A STS MACL,R3 - 00000D98 1F35 MOV.L R3,@(20,R15) - 00000D9A D212 MOV.L L1671+2,R2 ; __itos - 00000D9C 420B JSR @R2 - 00000D9E 303C ADD R3,R0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 46 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000DA0 2F02 MOV.L R0,@R15 - Monochrome 638 ML_pixel(x, y+plot_y, color); - 00000DA2 66B3 MOV R11,R6 - 00000DA4 6593 MOV R9,R5 - 00000DA6 35EC ADD R14,R5 - 00000DA8 B9BC BSR _ML_pixel - 00000DAA 6483 MOV R8,R4 - Monochrome 639 ML_pixel(x, y-plot_y, color); - 00000DAC 66B3 MOV R11,R6 - 00000DAE 6593 MOV R9,R5 - 00000DB0 35E8 SUB R14,R5 - Monochrome 640 while(radius1*radius1*(plot_y-.5) > radius2*radius2*(plot_x+1)) - 00000DB2 A045 BRA L1649 - 00000DB4 6483 MOV R8,R4 - 00000DB6 L1276: - 00000DB6 64D3 MOV R13,R4 - 00000DB8 61F2 MOV.L @R15,R1 - 00000DBA 4400 SHLL R4 - 00000DBC D30A MOV.L L1671+6,R3 ; __lts - 00000DBE 7403 ADD #3,R4 - 00000DC0 04C7 MUL.L R12,R4 - 00000DC2 041A STS MACL,R4 - 00000DC4 04C7 MUL.L R12,R4 - 00000DC6 041A STS MACL,R4 - 00000DC8 430B JSR @R3 - 00000DCA E000 MOV #0,R0 - 00000DCC 8800 CMP/EQ #0,R0 - 00000DCE 890F BT L1277 - Monochrome 641 { - Monochrome 642 if(d1 < 0) - Monochrome 643 { - Monochrome 644 d1 += radius2*radius2*(2*plot_x+3); - 00000DD0 D204 MOV.L L1671+2,R2 ; __itos - 00000DD2 420B JSR @R2 - 00000DD4 6043 MOV R4,R0 - 00000DD6 D305 MOV.L L1671+10,R3; __adds - 00000DD8 430B JSR @R3 - 00000DDA 61F2 MOV.L @R15,R1 - 00000DDC 2F02 MOV.L R0,@R15 - Monochrome 645 plot_x++; - 00000DDE A018 BRA L1278 - 00000DE0 7D01 ADD #1,R13 - 00000DE2 L1671: - 00000DE2 0000 .DATA.W 0 - 00000DE4 <00000000> .DATA.L __itos - 00000DE8 <00000000> .DATA.L __lts - 00000DEC <00000000> .DATA.L __adds - 00000DF0 L1277: - Monochrome 646 } else { - Monochrome 647 d1 += radius2*radius2*(2*plot_x+3) + radius1*radius1*(-2*plot_y+2); - 00000DF0 D3BA MOV.L L1672+2,R3 ; __itos - 00000DF2 62E3 MOV R14,R2 - 00000DF4 4200 SHLL R2 - 00000DF6 E002 MOV #2,R0 - 00000DF8 3028 SUB R2,R0 - 00000DFA 00A7 MUL.L R10,R0 - 00000DFC 001A STS MACL,R0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 47 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000DFE 00A7 MUL.L R10,R0 - 00000E00 001A STS MACL,R0 - 00000E02 430B JSR @R3 - 00000E04 304C ADD R4,R0 - 00000E06 D2B6 MOV.L L1672+6,R2 ; __adds - 00000E08 420B JSR @R2 - 00000E0A 61F2 MOV.L @R15,R1 - 00000E0C 2F02 MOV.L R0,@R15 - Monochrome 648 plot_x++; - 00000E0E 7D01 ADD #1,R13 - Monochrome 649 plot_y--; - 00000E10 7EFF ADD #-1,R14 - 00000E12 L1278: - Monochrome 650 } - Monochrome 651 ML_pixel(x+plot_x, y+plot_y, color); - 00000E12 66B3 MOV R11,R6 - 00000E14 6593 MOV R9,R5 - 00000E16 35EC ADD R14,R5 - 00000E18 1F51 MOV.L R5,@(4,R15) - 00000E1A 6483 MOV R8,R4 - 00000E1C 34DC ADD R13,R4 - 00000E1E B981 BSR _ML_pixel - 00000E20 1F43 MOV.L R4,@(12,R15) - Monochrome 652 ML_pixel(x-plot_x, y+plot_y, color); - 00000E22 66B3 MOV R11,R6 - 00000E24 55F1 MOV.L @(4,R15),R5 - 00000E26 6483 MOV R8,R4 - 00000E28 34D8 SUB R13,R4 - 00000E2A B97B BSR _ML_pixel - 00000E2C 1F44 MOV.L R4,@(16,R15) - Monochrome 653 ML_pixel(x+plot_x, y-plot_y, color); - 00000E2E 66B3 MOV R11,R6 - 00000E30 6593 MOV R9,R5 - 00000E32 35E8 SUB R14,R5 - 00000E34 1F51 MOV.L R5,@(4,R15) - 00000E36 B975 BSR _ML_pixel - 00000E38 54F3 MOV.L @(12,R15),R4 - Monochrome 654 ML_pixel(x-plot_x, y-plot_y, color); - 00000E3A 66B3 MOV R11,R6 - 00000E3C 55F1 MOV.L @(4,R15),R5 - 00000E3E 54F4 MOV.L @(16,R15),R4 - 00000E40 L1649: - 00000E40 B970 BSR _ML_pixel - 00000E42 0009 NOP - 00000E44 D2A7 MOV.L L1672+10,R2; __itod - 00000E46 7FF8 ADD #-8,R15 - 00000E48 50F4 MOV.L @(16,R15),R0 - 00000E4A 7FF8 ADD #-8,R15 - 00000E4C 420B JSR @R2 - 00000E4E 2FF6 MOV.L R15,@-R15 - 00000E50 D3A4 MOV.L L1672+10,R3; __itod - 00000E52 60E3 MOV R14,R0 - 00000E54 7FF0 ADD #-16,R15 - 00000E56 430B JSR @R3 - 00000E58 2FF6 MOV.L R15,@-R15 - 00000E5A E200 MOV #0,R2 - 00000E5C D1A3 MOV.L L1672+18,R1; __addd - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 48 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000E5E 2F26 MOV.L R2,@-R15 - 00000E60 D2A1 MOV.L L1672+14,R2; H'BFE00000 - 00000E62 2F26 MOV.L R2,@-R15 - 00000E64 63F3 MOV R15,R3 - 00000E66 7310 ADD #16,R3 - 00000E68 410B JSR @R1 - 00000E6A 2F36 MOV.L R3,@-R15 - 00000E6C D0A0 MOV.L L1672+22,R0; __muld - 00000E6E 62F3 MOV R15,R2 - 00000E70 7210 ADD #16,R2 - 00000E72 400B JSR @R0 - 00000E74 2F26 MOV.L R2,@-R15 - 00000E76 60D3 MOV R13,R0 - 00000E78 D39A MOV.L L1672+10,R3; __itod - 00000E7A 7FF8 ADD #-8,R15 - 00000E7C 7001 ADD #1,R0 - 00000E7E 00C7 MUL.L R12,R0 - 00000E80 001A STS MACL,R0 - 00000E82 00C7 MUL.L R12,R0 - 00000E84 001A STS MACL,R0 - 00000E86 430B JSR @R3 - 00000E88 2FF6 MOV.L R15,@-R15 - 00000E8A D29A MOV.L L1672+26,R2; __gtd - 00000E8C 420B JSR @R2 - 00000E8E 0009 NOP - 00000E90 8800 CMP/EQ #0,R0 - 00000E92 8B90 BF L1276 - Monochrome 655 } - Monochrome 656 d2 = radius2*radius2*(plot_x+.5)*(plot_x+.5) + radius1*radius1*(plot_y-1)*(plot_y-1) - radius1*rad - +ius1*radius2*radius2; - 00000E94 D393 MOV.L L1672+10,R3; __itod - 00000E96 7FE0 ADD #-32,R15 - 00000E98 50FD MOV.L @(52,R15),R0 - 00000E9A 7FF8 ADD #-8,R15 - 00000E9C 430B JSR @R3 - 00000E9E 2FF6 MOV.L R15,@-R15 - 00000EA0 D290 MOV.L L1672+10,R2; __itod - 00000EA2 60D3 MOV R13,R0 - 00000EA4 7FF0 ADD #-16,R15 - 00000EA6 420B JSR @R2 - 00000EA8 2FF6 MOV.L R15,@-R15 - 00000EAA E300 MOV #0,R3 - 00000EAC D18F MOV.L L1672+18,R1; __addd - 00000EAE 2F36 MOV.L R3,@-R15 - 00000EB0 D391 MOV.L L1672+30,R3; H'3FE00000 - 00000EB2 2F36 MOV.L R3,@-R15 - 00000EB4 62F3 MOV R15,R2 - 00000EB6 7210 ADD #16,R2 - 00000EB8 410B JSR @R1 - 00000EBA 2F26 MOV.L R2,@-R15 - 00000EBC D08C MOV.L L1672+22,R0; __muld - 00000EBE 63F3 MOV R15,R3 - 00000EC0 7310 ADD #16,R3 - 00000EC2 400B JSR @R0 - 00000EC4 2F36 MOV.L R3,@-R15 - 00000EC6 60D3 MOV R13,R0 - 00000EC8 D286 MOV.L L1672+10,R2; __itod - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 49 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000ECA 7FF0 ADD #-16,R15 - 00000ECC 420B JSR @R2 - 00000ECE 2FF6 MOV.L R15,@-R15 - 00000ED0 D186 MOV.L L1672+18,R1; __addd - 00000ED2 E300 MOV #0,R3 - 00000ED4 2F36 MOV.L R3,@-R15 - 00000ED6 D388 MOV.L L1672+30,R3; H'3FE00000 - 00000ED8 2F36 MOV.L R3,@-R15 - 00000EDA 62F3 MOV R15,R2 - 00000EDC 7210 ADD #16,R2 - 00000EDE 410B JSR @R1 - 00000EE0 2F26 MOV.L R2,@-R15 - 00000EE2 63F3 MOV R15,R3 - 00000EE4 D082 MOV.L L1672+22,R0; __muld - 00000EE6 7310 ADD #16,R3 - 00000EE8 400B JSR @R0 - 00000EEA 2F36 MOV.L R3,@-R15 - 00000EEC D37D MOV.L L1672+10,R3; __itod - 00000EEE 64E3 MOV R14,R4 - 00000EF0 74FF ADD #-1,R4 - 00000EF2 7FF8 ADD #-8,R15 - 00000EF4 0447 MUL.L R4,R4 - 00000EF6 001A STS MACL,R0 - 00000EF8 00A7 MUL.L R10,R0 - 00000EFA 001A STS MACL,R0 - 00000EFC 00A7 MUL.L R10,R0 - 00000EFE 001A STS MACL,R0 - 00000F00 430B JSR @R3 - 00000F02 2FF6 MOV.L R15,@-R15 - 00000F04 D179 MOV.L L1672+18,R1; __addd - 00000F06 62F3 MOV R15,R2 - 00000F08 7210 ADD #16,R2 - 00000F0A 410B JSR @R1 - 00000F0C 2F26 MOV.L R2,@-R15 - 00000F0E 50F6 MOV.L @(24,R15),R0 - 00000F10 D374 MOV.L L1672+10,R3; __itod - 00000F12 7FF8 ADD #-8,R15 - 00000F14 00C7 MUL.L R12,R0 - 00000F16 001A STS MACL,R0 - 00000F18 00C7 MUL.L R12,R0 - 00000F1A 001A STS MACL,R0 - 00000F1C 430B JSR @R3 - 00000F1E 2FF6 MOV.L R15,@-R15 - 00000F20 D176 MOV.L L1672+34,R1; __subdr - 00000F22 62F3 MOV R15,R2 - 00000F24 7210 ADD #16,R2 - 00000F26 410B JSR @R1 - 00000F28 2F26 MOV.L R2,@-R15 - 00000F2A D375 MOV.L L1672+38,R3; __dtos - 00000F2C 430B JSR @R3 - 00000F2E 0009 NOP - 00000F30 2F02 MOV.L R0,@R15 - 00000F32 6483 MOV R8,R4 - 00000F34 34D8 SUB R13,R4 - 00000F36 6383 MOV R8,R3 - 00000F38 1F42 MOV.L R4,@(8,R15) - Monochrome 657 while(plot_y > 0) - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 50 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000F3A 4E15 CMP/PL R14 - 00000F3C 33DC ADD R13,R3 - 00000F3E 1F31 MOV.L R3,@(4,R15) - 00000F40 8F50 BF/S L1273 - 00000F42 1F44 MOV.L R4,@(16,R15) - 00000F44 L1280: - Monochrome 658 { - Monochrome 659 if(d2 < 0) - 00000F44 61F2 MOV.L @R15,R1 - 00000F46 D36F MOV.L L1672+42,R3; __lts - 00000F48 430B JSR @R3 - 00000F4A E000 MOV #0,R0 - 00000F4C 8800 CMP/EQ #0,R0 - 00000F4E 8921 BT L1281 - Monochrome 660 { - Monochrome 661 d2 += radius2*radius2*(2*plot_x+2) + radius1*radius1*(-2*plot_y+3); - 00000F50 60D3 MOV R13,R0 - 00000F52 4000 SHLL R0 - 00000F54 7002 ADD #2,R0 - 00000F56 63E3 MOV R14,R3 - 00000F58 00C7 MUL.L R12,R0 - 00000F5A E203 MOV #3,R2 - 00000F5C 001A STS MACL,R0 - 00000F5E 4300 SHLL R3 - 00000F60 00C7 MUL.L R12,R0 - 00000F62 3238 SUB R3,R2 - 00000F64 D35D MOV.L L1672+2,R3 ; __itos - 00000F66 001A STS MACL,R0 - 00000F68 02A7 MUL.L R10,R2 - 00000F6A 021A STS MACL,R2 - 00000F6C 02A7 MUL.L R10,R2 - 00000F6E 021A STS MACL,R2 - 00000F70 430B JSR @R3 - 00000F72 302C ADD R2,R0 - 00000F74 D25A MOV.L L1672+6,R2 ; __adds - 00000F76 420B JSR @R2 - 00000F78 61F2 MOV.L @R15,R1 - Monochrome 662 plot_y--; - 00000F7A 7EFF ADD #-1,R14 - 00000F7C 2F02 MOV.L R0,@R15 - Monochrome 663 plot_x++; - 00000F7E 7D01 ADD #1,R13 - 00000F80 53F2 MOV.L @(8,R15),R3 - 00000F82 73FF ADD #-1,R3 - 00000F84 1F32 MOV.L R3,@(8,R15) - 00000F86 52F1 MOV.L @(4,R15),R2 - 00000F88 7201 ADD #1,R2 - 00000F8A 1F21 MOV.L R2,@(4,R15) - 00000F8C 51F4 MOV.L @(16,R15),R1 - 00000F8E 71FF ADD #-1,R1 - 00000F90 A00F BRA L1282 - 00000F92 1F14 MOV.L R1,@(16,R15) - 00000F94 L1281: - Monochrome 664 } else { - Monochrome 665 d2 += radius1*radius1*(-2*plot_y+3); - 00000F94 D351 MOV.L L1672+2,R3 ; __itos - 00000F96 62E3 MOV R14,R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 51 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000F98 4200 SHLL R2 - 00000F9A E003 MOV #3,R0 - 00000F9C 3028 SUB R2,R0 - 00000F9E 00A7 MUL.L R10,R0 - 00000FA0 001A STS MACL,R0 - 00000FA2 00A7 MUL.L R10,R0 - 00000FA4 430B JSR @R3 - 00000FA6 001A STS MACL,R0 - 00000FA8 D24D MOV.L L1672+6,R2 ; __adds - 00000FAA 420B JSR @R2 - 00000FAC 61F2 MOV.L @R15,R1 - Monochrome 666 plot_y--; - 00000FAE 7EFF ADD #-1,R14 - 00000FB0 2F02 MOV.L R0,@R15 - 00000FB2 L1282: - Monochrome 667 } - Monochrome 668 ML_pixel(x+plot_x, y+plot_y, color); - 00000FB2 66B3 MOV R11,R6 - 00000FB4 6593 MOV R9,R5 - 00000FB6 35EC ADD R14,R5 - 00000FB8 1F53 MOV.L R5,@(12,R15) - 00000FBA 6483 MOV R8,R4 - 00000FBC B8B2 BSR _ML_pixel - 00000FBE 34DC ADD R13,R4 - Monochrome 669 ML_pixel(x-plot_x, y+plot_y, color); - 00000FC0 55F3 MOV.L @(12,R15),R5 - 00000FC2 66B3 MOV R11,R6 - 00000FC4 B8AE BSR _ML_pixel - 00000FC6 54F4 MOV.L @(16,R15),R4 - Monochrome 670 if(plot_y > 0) - 00000FC8 4E15 CMP/PL R14 - 00000FCA 8B09 BF L1283 - Monochrome 671 { - Monochrome 672 ML_pixel(x+plot_x, y-plot_y, color); - 00000FCC 66B3 MOV R11,R6 - 00000FCE 6593 MOV R9,R5 - 00000FD0 35E8 SUB R14,R5 - 00000FD2 1F53 MOV.L R5,@(12,R15) - 00000FD4 B8A6 BSR _ML_pixel - 00000FD6 54F1 MOV.L @(4,R15),R4 - Monochrome 673 ML_pixel(x-plot_x, y-plot_y, color); - 00000FD8 55F3 MOV.L @(12,R15),R5 - 00000FDA 66B3 MOV R11,R6 - 00000FDC B8A2 BSR _ML_pixel - 00000FDE 54F2 MOV.L @(8,R15),R4 - 00000FE0 L1283: - 00000FE0 4E15 CMP/PL R14 - 00000FE2 89AF BT L1280 - 00000FE4 L1273: - Monochrome 674 } - Monochrome 675 } - Monochrome 676 } - 00000FE4 7F18 ADD #24,R15 - 00000FE6 4F16 LDS.L @R15+,MACL - 00000FE8 4F26 LDS.L @R15+,PR - 00000FEA 68F6 MOV.L @R15+,R8 - 00000FEC 69F6 MOV.L @R15+,R9 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 52 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00000FEE 6AF6 MOV.L @R15+,R10 - 00000FF0 6BF6 MOV.L @R15+,R11 - 00000FF2 6CF6 MOV.L @R15+,R12 - 00000FF4 6DF6 MOV.L @R15+,R13 - 00000FF6 000B RTS - 00000FF8 6EF6 MOV.L @R15+,R14 - Monochrome 677 #endif - Monochrome 678 - Monochrome 679 #ifdef ML_ELLIPSE_IN_RECT - Monochrome 680 void ML_ellipse_in_rect(int x1, int y1, int x2, int y2, ML_Color color) - 00000FFA _ML_ellipse_in_rect: ; function: ML_ellipse_in_rect - ; frame size=24 - 00000FFA 2FE6 MOV.L R14,@-R15 - 00000FFC 2FD6 MOV.L R13,@-R15 - 00000FFE 6E43 MOV R4,R14 - 00001000 2FC6 MOV.L R12,@-R15 - Monochrome 681 { - Monochrome 682 int radius1, radius2; - Monochrome 683 if(x1 > x2) - 00001002 3E67 CMP/GT R6,R14 - 00001004 2FB6 MOV.L R11,@-R15 - 00001006 4F22 STS.L PR,@-R15 - 00001008 8F03 BF/S L1284 - 0000100A 6D53 MOV R5,R13 - Monochrome 684 { - Monochrome 685 int tmp = x1; - 0000100C 64E3 MOV R14,R4 - Monochrome 686 x1 = x2; - 0000100E 6E63 MOV R6,R14 - Monochrome 687 x2 = tmp; - 00001010 6643 MOV R4,R6 - 00001012 L1284: - Monochrome 688 } - Monochrome 689 if(y1 > y2) - 00001012 3D77 CMP/GT R7,R13 - 00001014 8F03 BF/S L1285 - Monochrome 690 { - Monochrome 691 int tmp = y1; - Monochrome 692 y1 = y2; - Monochrome 693 y2 = tmp; - Monochrome 694 } - Monochrome 695 radius1 = (x2-x1)/2; - 00001016 36E8 SUB R14,R6 - 00001018 64D3 MOV R13,R4 - 0000101A 6D73 MOV R7,R13 - 0000101C 6743 MOV R4,R7 - 0000101E L1285: - 0000101E 6B63 MOV R6,R11 - Monochrome 696 radius2 = (y2-y1)/2; - Monochrome 697 ML_ellipse(x1+radius1, y1+radius2, radius1, radius2, color); - 00001020 52F5 MOV.L @(20,R15),R2 - 00001022 65D3 MOV R13,R5 - 00001024 2F26 MOV.L R2,@-R15 - 00001026 64E3 MOV R14,R4 - 00001028 E300 MOV #0,R3 - 0000102A 33B7 CMP/GT R11,R3 - 0000102C 3B3E ADDC R3,R11 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 53 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000102E 4B21 SHAR R11 - 00001030 37D8 SUB R13,R7 - 00001032 6C73 MOV R7,R12 - 00001034 33C7 CMP/GT R12,R3 - 00001036 3C3E ADDC R3,R12 - 00001038 4C21 SHAR R12 - 0000103A 67C3 MOV R12,R7 - 0000103C 66B3 MOV R11,R6 - 0000103E 35CC ADD R12,R5 - 00001040 BE82 BSR _ML_ellipse - 00001042 34BC ADD R11,R4 - Monochrome 698 } - 00001044 7F04 ADD #4,R15 - 00001046 4F26 LDS.L @R15+,PR - 00001048 6BF6 MOV.L @R15+,R11 - 0000104A 6CF6 MOV.L @R15+,R12 - 0000104C 6DF6 MOV.L @R15+,R13 - 0000104E 000B RTS - 00001050 6EF6 MOV.L @R15+,R14 - Monochrome 699 #endif - Monochrome 700 - Monochrome 701 #ifdef ML_FILLED_ELLIPSE - Monochrome 702 void ML_filled_ellipse(int x, int y, int radius1, int radius2, ML_Color color) - 00001052 _ML_filled_ellipse: ; function: ML_filled_ellipse - ; frame size=124 - ; used runtime library name: - ; __adds, __addd, __subdr, __muld, __dtos, __itos, __itod, __gtd, __lts - 00001052 2FE6 MOV.L R14,@-R15 - 00001054 2FD6 MOV.L R13,@-R15 - 00001056 2FC6 MOV.L R12,@-R15 - 00001058 2FB6 MOV.L R11,@-R15 - 0000105A 6C73 MOV R7,R12 - 0000105C 2FA6 MOV.L R10,@-R15 - 0000105E 6B63 MOV R6,R11 - 00001060 2F96 MOV.L R9,@-R15 - 00001062 6953 MOV R5,R9 - 00001064 2F86 MOV.L R8,@-R15 - 00001066 6843 MOV R4,R8 - 00001068 4F22 STS.L PR,@-R15 - Monochrome 703 { - Monochrome 704 int plot_x, plot_y; - Monochrome 705 float d1, d2; - Monochrome 706 if(radius1 < 1 || radius2 < 1) return; - 0000106A E401 MOV #1,R4 - 0000106C 4F12 STS.L MACL,@-R15 - 0000106E 3B43 CMP/GE R4,R11 - 00001070 7FEC ADD #-20,R15 - 00001072 8D02 BT/S L1673 - 00001074 5AFE MOV.L @(56,R15),R10 - 00001076 A13F BRA L1288 - 00001078 0009 NOP - 0000107A L1673: - 0000107A 3C43 CMP/GE R4,R12 - 0000107C 8901 BT L1674 - 0000107E A13B BRA L1288 - 00001080 0009 NOP - 00001082 L1674: - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 54 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 707 plot_x = 0; - 00001082 ED00 MOV #0,R13 - Monochrome 708 plot_y = radius2; - Monochrome 709 d1 = radius2*radius2 - radius1*radius1*radius2 + radius1*radius1/4; - 00001084 0BB7 MUL.L R11,R11 - 00001086 6EC3 MOV R12,R14 - 00001088 001A STS MACL,R0 - 0000108A 4011 CMP/PZ R0 - 0000108C 8D01 BT/S L1289 - 0000108E 1F02 MOV.L R0,@(8,R15) - 00001090 7003 ADD #3,R0 - 00001092 L1289: - 00001092 4021 SHAR R0 - 00001094 52F2 MOV.L @(8,R15),R2 - 00001096 4021 SHAR R0 - 00001098 02C7 MUL.L R12,R2 - 0000109A 021A STS MACL,R2 - 0000109C 0CC7 MUL.L R12,R12 - 0000109E 3028 SUB R2,R0 - 000010A0 D20E MOV.L L1672+2,R2 ; __itos - 000010A2 031A STS MACL,R3 - 000010A4 1F34 MOV.L R3,@(16,R15) - 000010A6 420B JSR @R2 - 000010A8 303C ADD R3,R0 - Monochrome 710 while(radius1*radius1*(plot_y-.5) > radius2*radius2*(plot_x+1)) - 000010AA A04E BRA L1290 - 000010AC 2F02 MOV.L R0,@R15 - 000010AE L1291: - 000010AE 64D3 MOV R13,R4 - 000010B0 61F2 MOV.L @R15,R1 - 000010B2 4400 SHLL R4 - 000010B4 D313 MOV.L L1672+42,R3; __lts - 000010B6 7403 ADD #3,R4 - 000010B8 04C7 MUL.L R12,R4 - 000010BA 041A STS MACL,R4 - 000010BC 04C7 MUL.L R12,R4 - 000010BE 041A STS MACL,R4 - 000010C0 430B JSR @R3 - 000010C2 E000 MOV #0,R0 - 000010C4 8800 CMP/EQ #0,R0 - 000010C6 891F BT L1292 - Monochrome 711 { - Monochrome 712 if(d1 < 0) - Monochrome 713 { - Monochrome 714 d1 += radius2*radius2*(2*plot_x+3); - 000010C8 D204 MOV.L L1672+2,R2 ; __itos - 000010CA 420B JSR @R2 - 000010CC 6043 MOV R4,R0 - 000010CE D304 MOV.L L1672+6,R3 ; __adds - 000010D0 430B JSR @R3 - 000010D2 61F2 MOV.L @R15,R1 - 000010D4 2F02 MOV.L R0,@R15 - Monochrome 715 plot_x++; - 000010D6 A038 BRA L1290 - 000010D8 7D01 ADD #1,R13 - 000010DA L1672: - 000010DA 0000 .DATA.W 0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 55 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000010DC <00000000> .DATA.L __itos - 000010E0 <00000000> .DATA.L __adds - 000010E4 <00000000> .DATA.L __itod - 000010E8 BFE00000 .DATA.L H'BFE00000 - 000010EC <00000000> .DATA.L __addd - 000010F0 <00000000> .DATA.L __muld - 000010F4 <00000000> .DATA.L __gtd - 000010F8 3FE00000 .DATA.L H'3FE00000 - 000010FC <00000000> .DATA.L __subdr - 00001100 <00000000> .DATA.L __dtos - 00001104 <00000000> .DATA.L __lts - 00001108 L1292: - Monochrome 716 } else { - Monochrome 717 d1 += radius2*radius2*(2*plot_x+3) + radius1*radius1*(-2*plot_y+2); - 00001108 D3A0 MOV.L L1675+2,R3 ; __itos - 0000110A 62E3 MOV R14,R2 - 0000110C 4200 SHLL R2 - 0000110E E002 MOV #2,R0 - 00001110 3028 SUB R2,R0 - 00001112 00B7 MUL.L R11,R0 - 00001114 001A STS MACL,R0 - 00001116 00B7 MUL.L R11,R0 - 00001118 001A STS MACL,R0 - 0000111A 430B JSR @R3 - 0000111C 304C ADD R4,R0 - 0000111E D29C MOV.L L1675+6,R2 ; __adds - 00001120 420B JSR @R2 - 00001122 61F2 MOV.L @R15,R1 - 00001124 2F02 MOV.L R0,@R15 - Monochrome 718 ML_horizontal_line(y+plot_y, x-plot_x, x+plot_x, color); - 00001126 67A3 MOV R10,R7 - 00001128 6683 MOV R8,R6 - 0000112A 36DC ADD R13,R6 - 0000112C 1F61 MOV.L R6,@(4,R15) - 0000112E 6583 MOV R8,R5 - 00001130 35D8 SUB R13,R5 - 00001132 6493 MOV R9,R4 - 00001134 1F53 MOV.L R5,@(12,R15) - 00001136 B90F BSR _ML_horizontal_line - 00001138 34EC ADD R14,R4 - Monochrome 719 ML_horizontal_line(y-plot_y, x-plot_x, x+plot_x, color); - 0000113A 67A3 MOV R10,R7 - 0000113C 56F1 MOV.L @(4,R15),R6 - 0000113E 6493 MOV R9,R4 - 00001140 55F3 MOV.L @(12,R15),R5 - 00001142 B909 BSR _ML_horizontal_line - 00001144 34E8 SUB R14,R4 - Monochrome 720 plot_x++; - 00001146 7D01 ADD #1,R13 - Monochrome 721 plot_y--; - 00001148 7EFF ADD #-1,R14 - 0000114A L1290: - 0000114A 7FF8 ADD #-8,R15 - 0000114C D291 MOV.L L1675+10,R2; __itod - 0000114E 50F4 MOV.L @(16,R15),R0 - 00001150 7FF8 ADD #-8,R15 - 00001152 420B JSR @R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 56 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001154 2FF6 MOV.L R15,@-R15 - 00001156 60E3 MOV R14,R0 - 00001158 D38E MOV.L L1675+10,R3; __itod - 0000115A 7FF0 ADD #-16,R15 - 0000115C 430B JSR @R3 - 0000115E 2FF6 MOV.L R15,@-R15 - 00001160 D18E MOV.L L1675+18,R1; __addd - 00001162 E200 MOV #0,R2 - 00001164 2F26 MOV.L R2,@-R15 - 00001166 D28C MOV.L L1675+14,R2; H'BFE00000 - 00001168 2F26 MOV.L R2,@-R15 - 0000116A 63F3 MOV R15,R3 - 0000116C 7310 ADD #16,R3 - 0000116E 410B JSR @R1 - 00001170 2F36 MOV.L R3,@-R15 - 00001172 62F3 MOV R15,R2 - 00001174 D08A MOV.L L1675+22,R0; __muld - 00001176 7210 ADD #16,R2 - 00001178 400B JSR @R0 - 0000117A 2F26 MOV.L R2,@-R15 - 0000117C D385 MOV.L L1675+10,R3; __itod - 0000117E 60D3 MOV R13,R0 - 00001180 7001 ADD #1,R0 - 00001182 7FF8 ADD #-8,R15 - 00001184 00C7 MUL.L R12,R0 - 00001186 001A STS MACL,R0 - 00001188 00C7 MUL.L R12,R0 - 0000118A 001A STS MACL,R0 - 0000118C 430B JSR @R3 - 0000118E 2FF6 MOV.L R15,@-R15 - 00001190 D284 MOV.L L1675+26,R2; __gtd - 00001192 420B JSR @R2 - 00001194 0009 NOP - 00001196 8800 CMP/EQ #0,R0 - 00001198 8B89 BF L1291 - Monochrome 722 } - Monochrome 723 } - Monochrome 724 ML_horizontal_line(y+plot_y, x-plot_x, x+plot_x, color); - 0000119A 67A3 MOV R10,R7 - 0000119C 6683 MOV R8,R6 - 0000119E 36DC ADD R13,R6 - 000011A0 1F61 MOV.L R6,@(4,R15) - 000011A2 6583 MOV R8,R5 - 000011A4 35D8 SUB R13,R5 - 000011A6 6493 MOV R9,R4 - 000011A8 1F53 MOV.L R5,@(12,R15) - 000011AA B8D5 BSR _ML_horizontal_line - 000011AC 34EC ADD R14,R4 - Monochrome 725 ML_horizontal_line(y-plot_y, x-plot_x, x+plot_x, color); - 000011AE 67A3 MOV R10,R7 - 000011B0 56F1 MOV.L @(4,R15),R6 - 000011B2 6493 MOV R9,R4 - 000011B4 55F3 MOV.L @(12,R15),R5 - 000011B6 B8CF BSR _ML_horizontal_line - 000011B8 34E8 SUB R14,R4 - Monochrome 726 d2 = radius2*radius2*(plot_x+.5)*(plot_x+.5) + radius1*radius1*(plot_y-1)*(plot_y-1) - radius1*rad - +ius1*radius2*radius2; - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 57 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000011BA 7FE0 ADD #-32,R15 - 000011BC D275 MOV.L L1675+10,R2; __itod - 000011BE 50FC MOV.L @(48,R15),R0 - 000011C0 7FF8 ADD #-8,R15 - 000011C2 420B JSR @R2 - 000011C4 2FF6 MOV.L R15,@-R15 - 000011C6 60D3 MOV R13,R0 - 000011C8 D372 MOV.L L1675+10,R3; __itod - 000011CA 7FF0 ADD #-16,R15 - 000011CC 430B JSR @R3 - 000011CE 2FF6 MOV.L R15,@-R15 - 000011D0 D172 MOV.L L1675+18,R1; __addd - 000011D2 E200 MOV #0,R2 - 000011D4 2F26 MOV.L R2,@-R15 - 000011D6 D274 MOV.L L1675+30,R2; H'3FE00000 - 000011D8 2F26 MOV.L R2,@-R15 - 000011DA 63F3 MOV R15,R3 - 000011DC 7310 ADD #16,R3 - 000011DE 410B JSR @R1 - 000011E0 2F36 MOV.L R3,@-R15 - 000011E2 62F3 MOV R15,R2 - 000011E4 D06E MOV.L L1675+22,R0; __muld - 000011E6 7210 ADD #16,R2 - 000011E8 400B JSR @R0 - 000011EA 2F26 MOV.L R2,@-R15 - 000011EC D369 MOV.L L1675+10,R3; __itod - 000011EE 60D3 MOV R13,R0 - 000011F0 7FF0 ADD #-16,R15 - 000011F2 430B JSR @R3 - 000011F4 2FF6 MOV.L R15,@-R15 - 000011F6 E200 MOV #0,R2 - 000011F8 D168 MOV.L L1675+18,R1; __addd - 000011FA 2F26 MOV.L R2,@-R15 - 000011FC D26A MOV.L L1675+30,R2; H'3FE00000 - 000011FE 2F26 MOV.L R2,@-R15 - 00001200 63F3 MOV R15,R3 - 00001202 7310 ADD #16,R3 - 00001204 410B JSR @R1 - 00001206 2F36 MOV.L R3,@-R15 - 00001208 D065 MOV.L L1675+22,R0; __muld - 0000120A 62F3 MOV R15,R2 - 0000120C 7210 ADD #16,R2 - 0000120E 400B JSR @R0 - 00001210 2F26 MOV.L R2,@-R15 - 00001212 64E3 MOV R14,R4 - 00001214 D35F MOV.L L1675+10,R3; __itod - 00001216 7FF8 ADD #-8,R15 - 00001218 74FF ADD #-1,R4 - 0000121A 0447 MUL.L R4,R4 - 0000121C 001A STS MACL,R0 - 0000121E 00B7 MUL.L R11,R0 - 00001220 001A STS MACL,R0 - 00001222 00B7 MUL.L R11,R0 - 00001224 001A STS MACL,R0 - 00001226 430B JSR @R3 - 00001228 2FF6 MOV.L R15,@-R15 - 0000122A 62F3 MOV R15,R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 58 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000122C D15B MOV.L L1675+18,R1; __addd - 0000122E 7210 ADD #16,R2 - 00001230 410B JSR @R1 - 00001232 2F26 MOV.L R2,@-R15 - 00001234 50F6 MOV.L @(24,R15),R0 - 00001236 7FF8 ADD #-8,R15 - 00001238 D356 MOV.L L1675+10,R3; __itod - 0000123A 00C7 MUL.L R12,R0 - 0000123C 001A STS MACL,R0 - 0000123E 00C7 MUL.L R12,R0 - 00001240 001A STS MACL,R0 - 00001242 430B JSR @R3 - 00001244 2FF6 MOV.L R15,@-R15 - 00001246 62F3 MOV R15,R2 - 00001248 D158 MOV.L L1675+34,R1; __subdr - 0000124A 7210 ADD #16,R2 - 0000124C 410B JSR @R1 - 0000124E 2F26 MOV.L R2,@-R15 - 00001250 D357 MOV.L L1675+38,R3; __dtos - 00001252 430B JSR @R3 - 00001254 0009 NOP - Monochrome 727 while(plot_y > 0) - 00001256 4E15 CMP/PL R14 - 00001258 2F02 MOV.L R0,@R15 - 0000125A 53F3 MOV.L @(12,R15),R3 - 0000125C 1F32 MOV.L R3,@(8,R15) - 0000125E 52F1 MOV.L @(4,R15),R2 - 00001260 1F24 MOV.L R2,@(16,R15) - 00001262 53F3 MOV.L @(12,R15),R3 - 00001264 1F31 MOV.L R3,@(4,R15) - 00001266 8B47 BF L1288 - 00001268 L1295: - Monochrome 728 { - Monochrome 729 if(d2 < 0) - 00001268 61F2 MOV.L @R15,R1 - 0000126A D252 MOV.L L1675+42,R2; __lts - 0000126C 420B JSR @R2 - 0000126E E000 MOV #0,R0 - 00001270 8800 CMP/EQ #0,R0 - 00001272 8921 BT L1296 - Monochrome 730 { - Monochrome 731 d2 += radius2*radius2*(2*plot_x+2) + radius1*radius1*(-2*plot_y+3); - 00001274 60D3 MOV R13,R0 - 00001276 4000 SHLL R0 - 00001278 7002 ADD #2,R0 - 0000127A 63E3 MOV R14,R3 - 0000127C 00C7 MUL.L R12,R0 - 0000127E E203 MOV #3,R2 - 00001280 001A STS MACL,R0 - 00001282 4300 SHLL R3 - 00001284 00C7 MUL.L R12,R0 - 00001286 3238 SUB R3,R2 - 00001288 D340 MOV.L L1675+2,R3 ; __itos - 0000128A 001A STS MACL,R0 - 0000128C 02B7 MUL.L R11,R2 - 0000128E 021A STS MACL,R2 - 00001290 02B7 MUL.L R11,R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 59 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001292 021A STS MACL,R2 - 00001294 430B JSR @R3 - 00001296 302C ADD R2,R0 - 00001298 D23D MOV.L L1675+6,R2 ; __adds - 0000129A 420B JSR @R2 - 0000129C 61F2 MOV.L @R15,R1 - Monochrome 732 plot_y--; - 0000129E 7EFF ADD #-1,R14 - 000012A0 2F02 MOV.L R0,@R15 - Monochrome 733 plot_x++; - 000012A2 7D01 ADD #1,R13 - 000012A4 53F2 MOV.L @(8,R15),R3 - 000012A6 73FF ADD #-1,R3 - 000012A8 1F32 MOV.L R3,@(8,R15) - 000012AA 52F4 MOV.L @(16,R15),R2 - 000012AC 7201 ADD #1,R2 - 000012AE 1F24 MOV.L R2,@(16,R15) - 000012B0 51F1 MOV.L @(4,R15),R1 - 000012B2 71FF ADD #-1,R1 - 000012B4 A00F BRA L1297 - 000012B6 1F11 MOV.L R1,@(4,R15) - 000012B8 L1296: - Monochrome 734 } else { - Monochrome 735 d2 += radius1*radius1*(-2*plot_y+3); - 000012B8 D334 MOV.L L1675+2,R3 ; __itos - 000012BA 62E3 MOV R14,R2 - 000012BC 4200 SHLL R2 - 000012BE E003 MOV #3,R0 - 000012C0 3028 SUB R2,R0 - 000012C2 00B7 MUL.L R11,R0 - 000012C4 001A STS MACL,R0 - 000012C6 00B7 MUL.L R11,R0 - 000012C8 430B JSR @R3 - 000012CA 001A STS MACL,R0 - 000012CC D230 MOV.L L1675+6,R2 ; __adds - 000012CE 420B JSR @R2 - 000012D0 61F2 MOV.L @R15,R1 - Monochrome 736 plot_y--; - 000012D2 7EFF ADD #-1,R14 - 000012D4 2F02 MOV.L R0,@R15 - 000012D6 L1297: - Monochrome 737 } - Monochrome 738 ML_horizontal_line(y+plot_y, x-plot_x, x+plot_x, color); - 000012D6 67A3 MOV R10,R7 - 000012D8 55F1 MOV.L @(4,R15),R5 - 000012DA 6493 MOV R9,R4 - 000012DC 6683 MOV R8,R6 - 000012DE 36DC ADD R13,R6 - 000012E0 B83A BSR _ML_horizontal_line - 000012E2 34EC ADD R14,R4 - Monochrome 739 if(plot_y > 0) - 000012E4 4E15 CMP/PL R14 - 000012E6 8B05 BF L1298 - Monochrome 740 ML_horizontal_line(y-plot_y, x-plot_x, x+plot_x, color); - 000012E8 56F4 MOV.L @(16,R15),R6 - 000012EA 6493 MOV R9,R4 - 000012EC 55F2 MOV.L @(8,R15),R5 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 60 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000012EE 67A3 MOV R10,R7 - 000012F0 B832 BSR _ML_horizontal_line - 000012F2 34E8 SUB R14,R4 - 000012F4 L1298: - 000012F4 4E15 CMP/PL R14 - 000012F6 89B7 BT L1295 - 000012F8 L1288: - Monochrome 741 } - Monochrome 742 } - 000012F8 7F14 ADD #20,R15 - 000012FA 4F16 LDS.L @R15+,MACL - 000012FC 4F26 LDS.L @R15+,PR - 000012FE 68F6 MOV.L @R15+,R8 - 00001300 69F6 MOV.L @R15+,R9 - 00001302 6AF6 MOV.L @R15+,R10 - 00001304 6BF6 MOV.L @R15+,R11 - 00001306 6CF6 MOV.L @R15+,R12 - 00001308 6DF6 MOV.L @R15+,R13 - 0000130A 000B RTS - 0000130C 6EF6 MOV.L @R15+,R14 - Monochrome 743 #endif - Monochrome 744 - Monochrome 745 #ifdef ML_FILLED_ELLIPSE_IN_RECT - Monochrome 746 void ML_filled_ellipse_in_rect(int x1, int y1, int x2, int y2, ML_Color color) - 0000130E _ML_filled_ellipse_in_rect: ; function: ML_filled_ellipse_in_rect - ; frame size=24 - 0000130E 2FE6 MOV.L R14,@-R15 - 00001310 2FD6 MOV.L R13,@-R15 - 00001312 6E43 MOV R4,R14 - 00001314 2FC6 MOV.L R12,@-R15 - Monochrome 747 { - Monochrome 748 int radius1, radius2; - Monochrome 749 if(x1 > x2) - 00001316 3E67 CMP/GT R6,R14 - 00001318 2FB6 MOV.L R11,@-R15 - 0000131A 4F22 STS.L PR,@-R15 - 0000131C 8F03 BF/S L1299 - 0000131E 6D53 MOV R5,R13 - Monochrome 750 { - Monochrome 751 int tmp = x1; - 00001320 64E3 MOV R14,R4 - Monochrome 752 x1 = x2; - 00001322 6E63 MOV R6,R14 - Monochrome 753 x2 = tmp; - 00001324 6643 MOV R4,R6 - 00001326 L1299: - Monochrome 754 } - Monochrome 755 if(y1 > y2) - 00001326 3D77 CMP/GT R7,R13 - 00001328 8F03 BF/S L1300 - Monochrome 756 { - Monochrome 757 int tmp = y1; - Monochrome 758 y1 = y2; - Monochrome 759 y2 = tmp; - Monochrome 760 } - Monochrome 761 radius1 = (x2-x1)/2; - 0000132A 36E8 SUB R14,R6 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 61 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000132C 64D3 MOV R13,R4 - 0000132E 6D73 MOV R7,R13 - 00001330 6743 MOV R4,R7 - 00001332 L1300: - 00001332 6B63 MOV R6,R11 - Monochrome 762 radius2 = (y2-y1)/2; - Monochrome 763 ML_filled_ellipse(x1+radius1, y1+radius2, radius1, radius2, color); - 00001334 52F5 MOV.L @(20,R15),R2 - 00001336 65D3 MOV R13,R5 - 00001338 2F26 MOV.L R2,@-R15 - 0000133A 64E3 MOV R14,R4 - 0000133C E300 MOV #0,R3 - 0000133E 33B7 CMP/GT R11,R3 - 00001340 3B3E ADDC R3,R11 - 00001342 4B21 SHAR R11 - 00001344 37D8 SUB R13,R7 - 00001346 6C73 MOV R7,R12 - 00001348 33C7 CMP/GT R12,R3 - 0000134A 3C3E ADDC R3,R12 - 0000134C 4C21 SHAR R12 - 0000134E 67C3 MOV R12,R7 - 00001350 66B3 MOV R11,R6 - 00001352 35CC ADD R12,R5 - 00001354 BE7D BSR _ML_filled_ellipse - 00001356 34BC ADD R11,R4 - Monochrome 764 } - 00001358 7F04 ADD #4,R15 - 0000135A 4F26 LDS.L @R15+,PR - 0000135C 6BF6 MOV.L @R15+,R11 - 0000135E 6CF6 MOV.L @R15+,R12 - 00001360 6DF6 MOV.L @R15+,R13 - 00001362 000B RTS - 00001364 6EF6 MOV.L @R15+,R14 - Monochrome 765 #endif - Monochrome 766 - Monochrome 767 #ifdef ML_HORIZONTAL_SCROLL - Monochrome 768 void ML_horizontal_scroll(int scroll) - 00001366 _ML_horizontal_scroll: ; function: ML_horizontal_scroll - ; frame size=80 - 00001366 2FE6 MOV.L R14,@-R15 - 00001368 2FD6 MOV.L R13,@-R15 - 0000136A 2FC6 MOV.L R12,@-R15 - 0000136C 2FB6 MOV.L R11,@-R15 - 0000136E 2FA6 MOV.L R10,@-R15 - 00001370 2F96 MOV.L R9,@-R15 - 00001372 2F86 MOV.L R8,@-R15 - 00001374 4F22 STS.L PR,@-R15 - 00001376 7FD0 ADD #-48,R15 - Monochrome 769 { - Monochrome 770 int i, j; - Monochrome 771 char line[16], shift, *vram; - Monochrome 772 unsigned char next; - Monochrome 773 unsigned short word; - Monochrome 774 vram = ML_vram_adress(); - 00001378 D30F MOV.L L1675+46,R3; _ML_vram_adress - 0000137A 430B JSR @R3 - 0000137C 6C43 MOV R4,R12 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 62 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000137E 6E03 MOV R0,R14 - Monochrome 775 scroll %= 128; - 00001380 4C11 CMP/PZ R12 - 00001382 8F1B BF/S L1301 - 00001384 E37F MOV #127,R3 - 00001386 A01E BRA L1302 - 00001388 2C39 AND R3,R12 - 0000138A L1675: - 0000138A 0000 .DATA.W 0 - 0000138C <00000000> .DATA.L __itos - 00001390 <00000000> .DATA.L __adds - 00001394 <00000000> .DATA.L __itod - 00001398 BFE00000 .DATA.L H'BFE00000 - 0000139C <00000000> .DATA.L __addd - 000013A0 <00000000> .DATA.L __muld - 000013A4 <00000000> .DATA.L __gtd - 000013A8 3FE00000 .DATA.L H'3FE00000 - 000013AC <00000000> .DATA.L __subdr - 000013B0 <00000000> .DATA.L __dtos - 000013B4 <00000000> .DATA.L __lts - 000013B8 <00000000> .DATA.L _ML_vram_adress - 000013BC L1301: - 000013BC 6CC7 NOT R12,R12 - 000013BE 7C01 ADD #1,R12 - 000013C0 2C39 AND R3,R12 - 000013C2 6CC7 NOT R12,R12 - 000013C4 7C01 ADD #1,R12 - 000013C6 L1302: - Monochrome 776 shift = 8-(scroll&7); - 000013C6 E107 MOV #7,R1 - 000013C8 21C9 AND R12,R1 - 000013CA E008 MOV #8,R0 - 000013CC 3018 SUB R1,R0 - Monochrome 777 for(i=0 ; i<64 ; i++) - 000013CE E700 MOV #0,R7 - 000013D0 80F4 MOV.B R0,@(4,R15) - 000013D2 6DE3 MOV R14,R13 - 000013D4 6A73 MOV R7,R10 - 000013D6 6873 MOV R7,R8 - 000013D8 69E3 MOV R14,R9 - 000013DA 790F ADD #15,R9 - 000013DC 64F3 MOV R15,R4 - 000013DE 7420 ADD #32,R4 - 000013E0 6343 MOV R4,R3 - 000013E2 7310 ADD #16,R3 - 000013E4 1F32 MOV.L R3,@(8,R15) - 000013E6 4C21 SHAR R12 - 000013E8 4C21 SHAR R12 - 000013EA 4C21 SHAR R12 - 000013EC 1FC4 MOV.L R12,@(16,R15) - 000013EE 6243 MOV R4,R2 - 000013F0 1F25 MOV.L R2,@(20,R15) - 000013F2 6123 MOV R2,R1 - 000013F4 710F ADD #15,R1 - 000013F6 EC0F MOV #15,R12 - 000013F8 1F16 MOV.L R1,@(24,R15) - 000013FA 740E ADD #14,R4 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 63 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000013FC 1F47 MOV.L R4,@(28,R15) - 000013FE L1303: - Monochrome 778 { - Monochrome 779 for(j=0 ; j<16 ; j++) line[j] = vram[(i<<4)+((j-(scroll>>3)+15)&15)]; - 000013FE 6473 MOV R7,R4 - 00001400 53F4 MOV.L @(16,R15),R3 - 00001402 66A3 MOV R10,R6 - 00001404 3438 SUB R3,R4 - 00001406 6543 MOV R4,R5 - 00001408 54F5 MOV.L @(20,R15),R4 - 0000140A 4608 SHLL2 R6 - 0000140C 750F ADD #15,R5 - 0000140E 4608 SHLL2 R6 - 00001410 L1304: - 00001410 6053 MOV R5,R0 - 00001412 20C9 AND R12,R0 - 00001414 306C ADD R6,R0 - 00001416 03EC MOV.B @(R0,R14),R3 - 00001418 2430 MOV.B R3,@R4 - 0000141A 7401 ADD #1,R4 - 0000141C 52F2 MOV.L @(8,R15),R2 - 0000141E 3422 CMP/HS R2,R4 - 00001420 8FF6 BF/S L1304 - 00001422 7501 ADD #1,R5 - Monochrome 780 next = line[15]; - 00001424 56F6 MOV.L @(24,R15),R6 - Monochrome 781 vram[(i<<4)+15] = 0; - Monochrome 782 for(j=15 ; j>0 ; j--) - 00001426 6BC3 MOV R12,R11 - 00001428 6660 MOV.B @R6,R6 - 0000142A 6483 MOV R8,R4 - 0000142C 2970 MOV.B R7,@R9 - 0000142E 740F ADD #15,R4 - 00001430 55F7 MOV.L @(28,R15),R5 - 00001432 L1305: - Monochrome 783 { - Monochrome 784 word = next << shift; - 00001432 666C EXTU.B R6,R6 - 00001434 84F4 MOV.B @(4,R15),R0 - Monochrome 785 next = line[j-1]; - Monochrome 786 vram[(i<<4)+j] |= *((char*)&word+1); - 00001436 63F3 MOV R15,R3 - 00001438 460D SHLD R0,R6 - 0000143A 6043 MOV R4,R0 - 0000143C 2F61 MOV.W R6,@R15 - 0000143E E201 MOV #1,R2 - 00001440 6650 MOV.B @R5,R6 - 00001442 7BFF ADD #-1,R11 - 00001444 323C ADD R3,R2 - 00001446 4B15 CMP/PL R11 - 00001448 6320 MOV.B @R2,R3 - 0000144A 02EC MOV.B @(R0,R14),R2 - 0000144C 223B OR R3,R2 - Monochrome 787 vram[(i<<4)+j-1] = *((char*)&word); - 0000144E 63F3 MOV R15,R3 - 00001450 0E24 MOV.B R2,@(R0,R14) - 00001452 70FF ADD #-1,R0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 64 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001454 1F03 MOV.L R0,@(12,R15) - 00001456 6230 MOV.B @R3,R2 - 00001458 0E24 MOV.B R2,@(R0,R14) - 0000145A 54F3 MOV.L @(12,R15),R4 - 0000145C 8DE9 BT/S L1305 - 0000145E 75FF ADD #-1,R5 - Monochrome 788 } - Monochrome 789 word = next << shift; - 00001460 84F4 MOV.B @(4,R15),R0 - Monochrome 790 vram[(i<<4)] |= *((char*)&word+1); - 00001462 63F3 MOV R15,R3 - 00001464 666C EXTU.B R6,R6 - 00001466 460D SHLD R0,R6 - 00001468 2F61 MOV.W R6,@R15 - 0000146A 7A01 ADD #1,R10 - 0000146C 8431 MOV.B @(1,R3),R0 - 0000146E 7810 ADD #16,R8 - 00001470 62D0 MOV.B @R13,R2 - Monochrome 791 vram[(i<<4)+15] |= *((char*)&word); - 00001472 63F3 MOV R15,R3 - 00001474 220B OR R0,R2 - 00001476 2D20 MOV.B R2,@R13 - 00001478 6330 MOV.B @R3,R3 - 0000147A 84DF MOV.B @(15,R13),R0 - 0000147C 203B OR R3,R0 - 0000147E E340 MOV #64,R3 - 00001480 80DF MOV.B R0,@(15,R13) - 00001482 3A33 CMP/GE R3,R10 - 00001484 7D10 ADD #16,R13 - 00001486 8FBA BF/S L1303 - 00001488 7910 ADD #16,R9 - Monochrome 792 } - Monochrome 793 } - 0000148A 7F30 ADD #48,R15 - 0000148C 4F26 LDS.L @R15+,PR - 0000148E 68F6 MOV.L @R15+,R8 - 00001490 69F6 MOV.L @R15+,R9 - 00001492 6AF6 MOV.L @R15+,R10 - 00001494 6BF6 MOV.L @R15+,R11 - 00001496 6CF6 MOV.L @R15+,R12 - 00001498 6DF6 MOV.L @R15+,R13 - 0000149A 000B RTS - 0000149C 6EF6 MOV.L @R15+,R14 - Monochrome 794 #endif - Monochrome 795 - Monochrome 796 #ifdef ML_VERTICAL_SCROLL - Monochrome 797 void ML_vertical_scroll(int scroll) - 0000149E _ML_vertical_scroll: ; function: ML_vertical_scroll - ; frame size=104 - 0000149E 2FE6 MOV.L R14,@-R15 - 000014A0 2FD6 MOV.L R13,@-R15 - 000014A2 2FC6 MOV.L R12,@-R15 - 000014A4 2FB6 MOV.L R11,@-R15 - 000014A6 2FA6 MOV.L R10,@-R15 - 000014A8 2F86 MOV.L R8,@-R15 - 000014AA 4F22 STS.L PR,@-R15 - Monochrome 798 { - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 65 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 799 int i, j; - Monochrome 800 char column[64], *vram = ML_vram_adress(); - 000014AC D31F MOV.L L1676,R3 ; _ML_vram_adress - 000014AE 7FB4 ADD #-76,R15 - 000014B0 430B JSR @R3 - 000014B2 2F42 MOV.L R4,@R15 - 000014B4 1F01 MOV.L R0,@(4,R15) - Monochrome 801 scroll %= 64; - 000014B6 60F2 MOV.L @R15,R0 - 000014B8 4011 CMP/PZ R0 - 000014BA 8B01 BF L1306 - 000014BC A005 BRA L1307 - 000014BE C93F AND #63,R0 - 000014C0 L1306: - 000014C0 6007 NOT R0,R0 - 000014C2 7001 ADD #1,R0 - 000014C4 C93F AND #63,R0 - 000014C6 6007 NOT R0,R0 - 000014C8 7001 ADD #1,R0 - 000014CA L1307: - Monochrome 802 for(i=0 ; i<16 ; i++) - 000014CA EC00 MOV #0,R12 - 000014CC 2F02 MOV.L R0,@R15 - 000014CE 6EF3 MOV R15,R14 - 000014D0 67C3 MOV R12,R7 - 000014D2 7E0C ADD #12,R14 - 000014D4 68E3 MOV R14,R8 - 000014D6 7840 ADD #64,R8 - 000014D8 EA10 MOV #16,R10 - 000014DA EB3F MOV #63,R11 - 000014DC ED40 MOV #64,R13 - 000014DE 63E3 MOV R14,R3 - 000014E0 1F32 MOV.L R3,@(8,R15) - 000014E2 L1308: - 000014E2 51F1 MOV.L @(4,R15),R1 - 000014E4 54F2 MOV.L @(8,R15),R4 - 000014E6 317C ADD R7,R1 - 000014E8 6513 MOV R1,R5 - Monochrome 803 { - Monochrome 804 for(j=0 ; j<64 ; j++) column[j] = vram[(j<<4)+i]; - 000014EA L1309: - 000014EA 6250 MOV.B @R5,R2 - 000014EC 2420 MOV.B R2,@R4 - 000014EE 7401 ADD #1,R4 - 000014F0 3482 CMP/HS R8,R4 - 000014F2 8FFA BF/S L1309 - 000014F4 7510 ADD #16,R5 - Monochrome 805 for(j=0 ; j<64 ; j++) vram[(j<<4)+i] = column[(j-scroll+64)&63]; - 000014F6 66C3 MOV R12,R6 - 000014F8 63F2 MOV.L @R15,R3 - 000014FA 64C3 MOV R12,R4 - 000014FC 3438 SUB R3,R4 - 000014FE 7440 ADD #64,R4 - 00001500 6513 MOV R1,R5 - 00001502 L1310: - 00001502 6043 MOV R4,R0 - 00001504 20B9 AND R11,R0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 66 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001506 7601 ADD #1,R6 - 00001508 03EC MOV.B @(R0,R14),R3 - 0000150A 7401 ADD #1,R4 - 0000150C 2530 MOV.B R3,@R5 - 0000150E 36D3 CMP/GE R13,R6 - 00001510 8FF7 BF/S L1310 - 00001512 7510 ADD #16,R5 - 00001514 7701 ADD #1,R7 - 00001516 37A3 CMP/GE R10,R7 - 00001518 8BE3 BF L1308 - Monochrome 806 } - Monochrome 807 } - 0000151A 7F4C ADD #76,R15 - 0000151C 4F26 LDS.L @R15+,PR - 0000151E 68F6 MOV.L @R15+,R8 - 00001520 6AF6 MOV.L @R15+,R10 - 00001522 6BF6 MOV.L @R15+,R11 - 00001524 6CF6 MOV.L @R15+,R12 - 00001526 6DF6 MOV.L @R15+,R13 - 00001528 000B RTS - 0000152A 6EF6 MOV.L @R15+,R14 - 0000152C L1676: - 0000152C <00000000> .DATA.L _ML_vram_adress - Monochrome 808 #endif - Monochrome 809 - Monochrome 810 #ifdef ML_BMP_OR - Monochrome 811 void ML_bmp_or(const unsigned char *bmp, int x, int y, int width, int height) - 00001530 _ML_bmp_or: ; function: ML_bmp_or - ; frame size=60 - 00001530 2FE6 MOV.L R14,@-R15 - 00001532 6E63 MOV R6,R14 - 00001534 2FD6 MOV.L R13,@-R15 - 00001536 2FC6 MOV.L R12,@-R15 - 00001538 2FB6 MOV.L R11,@-R15 - 0000153A 6B43 MOV R4,R11 - 0000153C 2FA6 MOV.L R10,@-R15 - 0000153E 6A53 MOV R5,R10 - 00001540 2F96 MOV.L R9,@-R15 - 00001542 6973 MOV R7,R9 - 00001544 2F86 MOV.L R8,@-R15 - Monochrome 812 { - Monochrome 813 unsigned short line; - Monochrome 814 char shift, *screen, *p=(char*)&line; - Monochrome 815 int i, j, begin=0, end=height, real_width=(width-1>>3<<3)+8; - 00001546 6C93 MOV R9,R12 - 00001548 4F22 STS.L PR,@-R15 - 0000154A E800 MOV #0,R8 - 0000154C 4F12 STS.L MACL,@-R15 - 0000154E 7CFF ADD #-1,R12 - 00001550 7FE8 ADD #-24,R15 - 00001552 6DF3 MOV R15,R13 - 00001554 54FF MOV.L @(60,R15),R4 - 00001556 4C21 SHAR R12 - 00001558 2F82 MOV.L R8,@R15 - 0000155A 7D04 ADD #4,R13 - 0000155C 1F45 MOV.L R4,@(20,R15) - 0000155E 4C21 SHAR R12 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 67 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001560 4C21 SHAR R12 - 00001562 62C3 MOV R12,R2 - 00001564 4208 SHLL2 R2 - 00001566 4200 SHLL R2 - 00001568 7208 ADD #8,R2 - Monochrome 816 if(!bmp || x<0 || x>128-width || y<1-height || y>63 || width<1 || height<1) return; - 0000156A 2BB8 TST R11,R11 - 0000156C 8F02 BF/S L1677 - 0000156E 1F23 MOV.L R2,@(12,R15) - 00001570 A085 BRA L1313 - 00001572 0009 NOP - 00001574 L1677: - 00001574 4A11 CMP/PZ R10 - 00001576 8901 BT L1678 - 00001578 A081 BRA L1313 - 0000157A 0009 NOP - 0000157C L1678: - 0000157C 933D MOV.W L1679,R3 ; H'0080 - 0000157E 3398 SUB R9,R3 - 00001580 3A37 CMP/GT R3,R10 - 00001582 8B01 BF L1680 - 00001584 A07B BRA L1313 - 00001586 0009 NOP - 00001588 L1680: - 00001588 E301 MOV #1,R3 - 0000158A 3348 SUB R4,R3 - 0000158C 3E33 CMP/GE R3,R14 - 0000158E 8B76 BF L1313 - 00001590 E33F MOV #63,R3 - 00001592 3E37 CMP/GT R3,R14 - 00001594 8973 BT L1313 - 00001596 E001 MOV #1,R0 - 00001598 3903 CMP/GE R0,R9 - 0000159A 8B70 BF L1313 - 0000159C 3403 CMP/GE R0,R4 - 0000159E 8B6E BF L1313 - Monochrome 817 if(y < 0) begin = -y; - 000015A0 4E11 CMP/PZ R14 - 000015A2 8D02 BT/S L1314 - Monochrome 818 if(y+height > 64) end = 64-y; - 000015A4 E540 MOV #64,R5 - 000015A6 62EB NEG R14,R2 - 000015A8 2F22 MOV.L R2,@R15 - 000015AA L1314: - 000015AA 34EC ADD R14,R4 - 000015AC 3457 CMP/GT R5,R4 - 000015AE 8B01 BF L1315 - 000015B0 35E8 SUB R14,R5 - 000015B2 1F55 MOV.L R5,@(20,R15) - 000015B4 L1315: - Monochrome 819 shift = 8-(x&7); - 000015B4 E307 MOV #7,R3 - 000015B6 23A9 AND R10,R3 - 000015B8 E208 MOV #8,R2 - 000015BA 3238 SUB R3,R2 - Monochrome 820 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 000015BC D30F MOV.L L1679+2,R3 ; _ML_vram_adress - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 68 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000015BE E010 MOV #16,R0 - 000015C0 430B JSR @R3 - 000015C2 0F24 MOV.B R2,@(R0,R15) - 000015C4 61F2 MOV.L @R15,R1 - 000015C6 63A3 MOV R10,R3 - 000015C8 3E1C ADD R1,R14 - 000015CA 4E08 SHLL2 R14 - 000015CC 4E08 SHLL2 R14 - 000015CE 30EC ADD R14,R0 - 000015D0 4321 SHAR R3 - 000015D2 4321 SHAR R3 - 000015D4 4321 SHAR R3 - 000015D6 6503 MOV R0,R5 - 000015D8 353C ADD R3,R5 - Monochrome 821 for(i=begin ; i .DATA.L _ML_vram_adress - 00001600 L1317: - 00001600 57F2 MOV.L @(8,R15),R7 - 00001602 E010 MOV #16,R0 - 00001604 0767 MUL.L R6,R7 - 00001606 4C15 CMP/PL R12 - Monochrome 822 { - Monochrome 823 for(j=0 ; j>3 ; j++) - 00001608 6483 MOV R8,R4 - 0000160A 071A STS MACL,R7 - 0000160C 8F18 BF/S L1318 - 0000160E 0EFC MOV.B @(R0,R15),R14 - 00001610 L1319: - Monochrome 824 { - Monochrome 825 line = bmp[i*(real_width>>3)+j]<>3)+j] & -1<<(real_width-width))<>3<<3)+8; - 000016AA E800 MOV #0,R8 - 000016AC 4F22 STS.L PR,@-R15 - 000016AE 6983 MOV R8,R9 - 000016B0 4F12 STS.L MACL,@-R15 - 000016B2 7FE8 ADD #-24,R15 - 000016B4 1F71 MOV.L R7,@(4,R15) - 000016B6 6DF3 MOV R15,R13 - 000016B8 54FF MOV.L @(60,R15),R4 - 000016BA 1F45 MOV.L R4,@(20,R15) - 000016BC 5CF1 MOV.L @(4,R15),R12 - 000016BE 7CFF ADD #-1,R12 - 000016C0 4C21 SHAR R12 - 000016C2 4C21 SHAR R12 - 000016C4 4C21 SHAR R12 - 000016C6 62C3 MOV R12,R2 - 000016C8 4208 SHLL2 R2 - 000016CA 4200 SHLL R2 - 000016CC 7208 ADD #8,R2 - Monochrome 843 if(!bmp || x<0 || x>128-width || y<1-height || y>63 || width<1 || height<1) return; - 000016CE 2AA8 TST R10,R10 - 000016D0 8F02 BF/S L1682 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 71 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000016D2 1F24 MOV.L R2,@(16,R15) - 000016D4 A08E BRA L1324 - 000016D6 0009 NOP - 000016D8 L1682: - 000016D8 4B11 CMP/PZ R11 - 000016DA 8901 BT L1683 - 000016DC A08A BRA L1324 - 000016DE 0009 NOP - 000016E0 L1683: - 000016E0 53F1 MOV.L @(4,R15),R3 - 000016E2 9140 MOV.W L1684,R1 ; H'0080 - 000016E4 3138 SUB R3,R1 - 000016E6 3B17 CMP/GT R1,R11 - 000016E8 8B01 BF L1685 - 000016EA A083 BRA L1324 - 000016EC 0009 NOP - 000016EE L1685: - 000016EE E001 MOV #1,R0 - 000016F0 3048 SUB R4,R0 - 000016F2 3E03 CMP/GE R0,R14 - 000016F4 8901 BT L1686 - 000016F6 A07D BRA L1324 - 000016F8 0009 NOP - 000016FA L1686: - 000016FA E13F MOV #63,R1 - 000016FC 3E17 CMP/GT R1,R14 - 000016FE 8979 BT L1324 - 00001700 E001 MOV #1,R0 - 00001702 3303 CMP/GE R0,R3 - 00001704 8B76 BF L1324 - 00001706 E201 MOV #1,R2 - 00001708 3423 CMP/GE R2,R4 - 0000170A 8B73 BF L1324 - Monochrome 844 if(y < 0) begin = -y; - 0000170C 4E11 CMP/PZ R14 - 0000170E 8D01 BT/S L1325 - Monochrome 845 if(y+height > 64) end = 64-y; - 00001710 E540 MOV #64,R5 - 00001712 69EB NEG R14,R9 - 00001714 L1325: - 00001714 34EC ADD R14,R4 - 00001716 3457 CMP/GT R5,R4 - 00001718 8F02 BF/S L1326 - Monochrome 846 shift = 8-(x&7); - 0000171A E307 MOV #7,R3 - 0000171C 35E8 SUB R14,R5 - 0000171E 1F55 MOV.L R5,@(20,R15) - 00001720 L1326: - 00001720 23B9 AND R11,R3 - 00001722 E008 MOV #8,R0 - 00001724 3038 SUB R3,R0 - Monochrome 847 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 00001726 D311 MOV.L L1684+6,R3 ; _ML_vram_adress - 00001728 430B JSR @R3 - 0000172A 80FC MOV.B R0,@(12,R15) - 0000172C 3E9C ADD R9,R14 - 0000172E 4E08 SHLL2 R14 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 72 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001730 4E08 SHLL2 R14 - 00001732 30EC ADD R14,R0 - 00001734 62B3 MOV R11,R2 - 00001736 4221 SHAR R2 - 00001738 4221 SHAR R2 - 0000173A 4221 SHAR R2 - 0000173C 6503 MOV R0,R5 - 0000173E 352C ADD R2,R5 - 00001740 52F4 MOV.L @(16,R15),R2 - 00001742 E308 MOV #8,R3 - Monochrome 848 for(i=begin ; i .DATA.L _ML_vram_adress - 00001770 L1328: - 00001770 57F2 MOV.L @(8,R15),R7 - 00001772 4C15 CMP/PL R12 - 00001774 84FC MOV.B @(12,R15),R0 - Monochrome 849 { - Monochrome 850 for(j=0 ; j>3 ; j++) - 00001776 6483 MOV R8,R4 - 00001778 0767 MUL.L R6,R7 - 0000177A 071A STS MACL,R7 - 0000177C 8F19 BF/S L1329 - 0000177E 6E03 MOV R0,R14 - 00001780 L1330: - Monochrome 851 { - Monochrome 852 line = ~((unsigned char)~bmp[i*(real_width>>3)+j]<>3)+j] | (unsigned char)-1>>8-(width&7))<>3<<3)+8; - 00001822 6C93 MOV R9,R12 - 00001824 4F22 STS.L PR,@-R15 - 00001826 E800 MOV #0,R8 - 00001828 4F12 STS.L MACL,@-R15 - 0000182A 7CFF ADD #-1,R12 - 0000182C 7FE8 ADD #-24,R15 - 0000182E 6DF3 MOV R15,R13 - 00001830 54FF MOV.L @(60,R15),R4 - 00001832 4C21 SHAR R12 - 00001834 2F82 MOV.L R8,@R15 - 00001836 7D04 ADD #4,R13 - 00001838 1F45 MOV.L R4,@(20,R15) - 0000183A 4C21 SHAR R12 - 0000183C 4C21 SHAR R12 - 0000183E 62C3 MOV R12,R2 - 00001840 4208 SHLL2 R2 - 00001842 4200 SHLL R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 75 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001844 7208 ADD #8,R2 - Monochrome 870 if(!bmp || x<0 || x>128-width || y<1-height || y>63 || width<1 || height<1) return; - 00001846 2BB8 TST R11,R11 - 00001848 8F02 BF/S L1688 - 0000184A 1F23 MOV.L R2,@(12,R15) - 0000184C A085 BRA L1335 - 0000184E 0009 NOP - 00001850 L1688: - 00001850 4A11 CMP/PZ R10 - 00001852 8901 BT L1689 - 00001854 A081 BRA L1335 - 00001856 0009 NOP - 00001858 L1689: - 00001858 933D MOV.W L1690,R3 ; H'0080 - 0000185A 3398 SUB R9,R3 - 0000185C 3A37 CMP/GT R3,R10 - 0000185E 8B01 BF L1691 - 00001860 A07B BRA L1335 - 00001862 0009 NOP - 00001864 L1691: - 00001864 E301 MOV #1,R3 - 00001866 3348 SUB R4,R3 - 00001868 3E33 CMP/GE R3,R14 - 0000186A 8B76 BF L1335 - 0000186C E33F MOV #63,R3 - 0000186E 3E37 CMP/GT R3,R14 - 00001870 8973 BT L1335 - 00001872 E001 MOV #1,R0 - 00001874 3903 CMP/GE R0,R9 - 00001876 8B70 BF L1335 - 00001878 3403 CMP/GE R0,R4 - 0000187A 8B6E BF L1335 - Monochrome 871 if(y < 0) begin = -y; - 0000187C 4E11 CMP/PZ R14 - 0000187E 8D02 BT/S L1336 - Monochrome 872 if(y+height > 64) end = 64-y; - 00001880 E540 MOV #64,R5 - 00001882 62EB NEG R14,R2 - 00001884 2F22 MOV.L R2,@R15 - 00001886 L1336: - 00001886 34EC ADD R14,R4 - 00001888 3457 CMP/GT R5,R4 - 0000188A 8B01 BF L1337 - 0000188C 35E8 SUB R14,R5 - 0000188E 1F55 MOV.L R5,@(20,R15) - 00001890 L1337: - Monochrome 873 shift = 8-(x&7); - 00001890 E307 MOV #7,R3 - 00001892 23A9 AND R10,R3 - 00001894 E208 MOV #8,R2 - 00001896 3238 SUB R3,R2 - Monochrome 874 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 00001898 D30F MOV.L L1690+2,R3 ; _ML_vram_adress - 0000189A E010 MOV #16,R0 - 0000189C 430B JSR @R3 - 0000189E 0F24 MOV.B R2,@(R0,R15) - 000018A0 61F2 MOV.L @R15,R1 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 76 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000018A2 63A3 MOV R10,R3 - 000018A4 3E1C ADD R1,R14 - 000018A6 4E08 SHLL2 R14 - 000018A8 4E08 SHLL2 R14 - 000018AA 30EC ADD R14,R0 - 000018AC 4321 SHAR R3 - 000018AE 4321 SHAR R3 - 000018B0 4321 SHAR R3 - 000018B2 6503 MOV R0,R5 - 000018B4 353C ADD R3,R5 - Monochrome 875 for(i=begin ; i .DATA.L _ML_vram_adress - 000018DC L1339: - 000018DC 57F2 MOV.L @(8,R15),R7 - 000018DE E010 MOV #16,R0 - 000018E0 0767 MUL.L R6,R7 - 000018E2 4C15 CMP/PL R12 - Monochrome 876 { - Monochrome 877 for(j=0 ; j>3 ; j++) - 000018E4 6483 MOV R8,R4 - 000018E6 071A STS MACL,R7 - 000018E8 8F18 BF/S L1340 - 000018EA 0EFC MOV.B @(R0,R15),R14 - 000018EC L1341: - Monochrome 878 { - Monochrome 879 line = bmp[i*(real_width>>3)+j]<>3)+j] & -1<<(real_width-width))<127 || y<1-height || y>63 || height<1 || width<1) return; - 00001998 53F5 MOV.L @(20,R15),R3 - 0000199A 2338 TST R3,R3 - 0000199C 8B01 BF L1693 - 0000199E A103 BRA L1346 - 000019A0 0009 NOP - 000019A2 L1693: - 000019A2 E201 MOV #1,R2 - 000019A4 53F2 MOV.L @(8,R15),R3 - 000019A6 3238 SUB R3,R2 - 000019A8 3523 CMP/GE R2,R5 - 000019AA 8901 BT L1694 - 000019AC A0FC BRA L1346 - 000019AE 0009 NOP - 000019B0 L1694: - 000019B0 E17F MOV #127,R1 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 79 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000019B2 3517 CMP/GT R1,R5 - 000019B4 8B01 BF L1695 - 000019B6 A0F7 BRA L1346 - 000019B8 0009 NOP - 000019BA L1695: - 000019BA E001 MOV #1,R0 - 000019BC 3048 SUB R4,R0 - 000019BE 3903 CMP/GE R0,R9 - 000019C0 8901 BT L1696 - 000019C2 A0F1 BRA L1346 - 000019C4 0009 NOP - 000019C6 L1696: - 000019C6 E23F MOV #63,R2 - 000019C8 3927 CMP/GT R2,R9 - 000019CA 8B01 BF L1697 - 000019CC A0EC BRA L1346 - 000019CE 0009 NOP - 000019D0 L1697: - 000019D0 E001 MOV #1,R0 - 000019D2 3403 CMP/GE R0,R4 - 000019D4 8901 BT L1698 - 000019D6 A0E7 BRA L1346 - 000019D8 0009 NOP - 000019DA L1698: - 000019DA 52F2 MOV.L @(8,R15),R2 - 000019DC 3203 CMP/GE R0,R2 - 000019DE 8901 BT L1699 - 000019E0 A0E2 BRA L1346 - 000019E2 0009 NOP - 000019E4 L1699: - Monochrome 899 p = (char*)&line; - Monochrome 900 real_width = (width-1>>3<<3)+8; - 000019E4 52F2 MOV.L @(8,R15),R2 - 000019E6 6BF3 MOV R15,R11 - 000019E8 72FF ADD #-1,R2 - 000019EA 4221 SHAR R2 - 000019EC 4221 SHAR R2 - 000019EE 4221 SHAR R2 - 000019F0 4208 SHLL2 R2 - 000019F2 4200 SHLL R2 - 000019F4 7208 ADD #8,R2 - Monochrome 901 if(y < 0) begin_y = -y; - 000019F6 4911 CMP/PZ R9 - 000019F8 1F23 MOV.L R2,@(12,R15) - 000019FA 8D02 BT/S L1347 - 000019FC E600 MOV #0,R6 - 000019FE A001 BRA L1348 - 00001A00 689B NEG R9,R8 - 00001A02 L1347: - Monochrome 902 else begin_y = 0; - 00001A02 6863 MOV R6,R8 - 00001A04 L1348: - Monochrome 903 if(y+height > 64) end_y = 64-y; - 00001A04 E740 MOV #64,R7 - 00001A06 6393 MOV R9,R3 - 00001A08 334C ADD R4,R3 - 00001A0A 3377 CMP/GT R7,R3 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 80 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001A0C 8B03 BF L1349 - 00001A0E 3798 SUB R9,R7 - 00001A10 A002 BRA L1350 - 00001A12 1F7C MOV.L R7,@(48,R15) - 00001A14 L1692: - 00001A14 0081 .DATA.W H'0081 - 00001A16 L1349: - Monochrome 904 else end_y = height; - 00001A16 1F4C MOV.L R4,@(48,R15) - 00001A18 L1350: - Monochrome 905 shift = 8-(x&7); - 00001A18 E307 MOV #7,R3 - 00001A1A 2359 AND R5,R3 - 00001A1C E408 MOV #8,R4 - 00001A1E 3438 SUB R3,R4 - 00001A20 4511 CMP/PZ R5 - 00001A22 8D0A BT/S L1351 - 00001A24 6E4E EXTS.B R4,R14 - Monochrome 906 if(x<0) - Monochrome 907 { - Monochrome 908 begin_x = -x>>3; - 00001A26 6C5B NEG R5,R12 - 00001A28 4C21 SHAR R12 - 00001A2A 4C21 SHAR R12 - 00001A2C 4C21 SHAR R12 - Monochrome 909 if(shift != 8) bool1 = 0; - 00001A2E 60E3 MOV R14,R0 - 00001A30 8808 CMP/EQ #8,R0 - 00001A32 8903 BT L1353 - 00001A34 E01C MOV #28,R0 - 00001A36 A001 BRA L1353 - 00001A38 0F64 MOV.B R6,@(R0,R15) - 00001A3A L1351: - Monochrome 910 } else begin_x = 0; - 00001A3A 6C63 MOV R6,R12 - 00001A3C L1353: - 00001A3C 9343 MOV.W L1700,R3 ; H'0080 - 00001A3E 6253 MOV R5,R2 - 00001A40 4221 SHAR R2 - 00001A42 4221 SHAR R2 - 00001A44 4221 SHAR R2 - 00001A46 1F21 MOV.L R2,@(4,R15) - 00001A48 54F3 MOV.L @(12,R15),R4 - 00001A4A 74FF ADD #-1,R4 - 00001A4C 51F3 MOV.L @(12,R15),R1 - 00001A4E 4421 SHAR R4 - 00001A50 4421 SHAR R4 - 00001A52 4421 SHAR R4 - 00001A54 315C ADD R5,R1 - 00001A56 3137 CMP/GT R3,R1 - 00001A58 8B04 BF L1354 - Monochrome 911 if(x+real_width > 128) end_x = 15-(x>>3), bool2 = 0; - 00001A5A ED0F MOV #15,R13 - 00001A5C 3D28 SUB R2,R13 - 00001A5E E034 MOV #52,R0 - 00001A60 A001 BRA L1355 - 00001A62 0F64 MOV.B R6,@(R0,R15) - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 81 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001A64 L1354: - Monochrome 912 else end_x = real_width-1>>3; - 00001A64 6D43 MOV R4,R13 - 00001A66 L1355: - Monochrome 913 bool3 = (end_x == real_width-1>>3); - 00001A66 3D40 CMP/EQ R4,R13 - Monochrome 914 screen = ML_vram_adress()+(y+begin_y<<4)+(x>>3); - 00001A68 D317 MOV.L L1700+2,R3 ; _ML_vram_adress - 00001A6A 61F3 MOV R15,R1 - 00001A6C 0029 MOVT R0 - 00001A6E 712C ADD #44,R1 - 00001A70 430B JSR @R3 - 00001A72 2100 MOV.B R0,@R1 - 00001A74 53F1 MOV.L @(4,R15),R3 - 00001A76 61B3 MOV R11,R1 - Monochrome 915 - Monochrome 916 for(i=begin_y ; i .DATA.L _ML_vram_adress - 00001ACC L1357: - Monochrome 917 { - Monochrome 918 if(begin_x < end_x) - 00001ACC 3CD3 CMP/GE R13,R12 - 00001ACE 8938 BT L1358 - Monochrome 919 { - Monochrome 920 line = bmp[i*(real_width>>3)+begin_x] << shift; - 00001AD0 53F8 MOV.L @(32,R15),R3 - 00001AD2 64C3 MOV R12,R4 - 00001AD4 6230 MOV.B @R3,R2 - 00001AD6 E01C MOV #28,R0 - 00001AD8 622C EXTU.B R2,R2 - 00001ADA 42ED SHLD R14,R2 - 00001ADC 2F21 MOV.W R2,@R15 - 00001ADE 03FC MOV.B @(R0,R15),R3 - 00001AE0 2338 TST R3,R3 - 00001AE2 8D04 BT/S L1359 - 00001AE4 34AC ADD R10,R4 - Monochrome 921 if(bool1) screen[begin_x] |= *p; - 00001AE6 63B0 MOV.B @R11,R3 - 00001AE8 6140 MOV.B @R4,R1 - 00001AEA 213B OR R3,R1 - 00001AEC 2410 MOV.B R1,@R4 - 00001AEE L1359: - Monochrome 922 if(shift!=8) screen[begin_x+1] |= *(p+1); - 00001AEE 60E3 MOV R14,R0 - 00001AF0 8808 CMP/EQ #8,R0 - 00001AF2 8904 BT L1360 - 00001AF4 52F1 MOV.L @(4,R15),R2 - 00001AF6 6320 MOV.B @R2,R3 - 00001AF8 8441 MOV.B @(1,R4),R0 - 00001AFA 203B OR R3,R0 - 00001AFC 8041 MOV.B R0,@(1,R4) - 00001AFE L1360: - Monochrome 923 for(j=begin_x+1 ; j>3)+j] << shift; - Monochrome 926 screen[j] |= *p; - Monochrome 927 if(shift!=8) screen[j+1] |= *(p+1); - 00001B16 60E3 MOV R14,R0 - 00001B18 6360 MOV.B @R6,R3 - 00001B1A 8808 CMP/EQ #8,R0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 83 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001B1C 633C EXTU.B R3,R3 - 00001B1E 43ED SHLD R14,R3 - 00001B20 2F31 MOV.W R3,@R15 - 00001B22 62B0 MOV.B @R11,R2 - 00001B24 6170 MOV.B @R7,R1 - 00001B26 212B OR R2,R1 - 00001B28 8D05 BT/S L1363 - 00001B2A 2710 MOV.B R1,@R7 - 00001B2C 52F1 MOV.L @(4,R15),R2 - 00001B2E 6320 MOV.B @R2,R3 - 00001B30 6150 MOV.B @R5,R1 - 00001B32 213B OR R3,R1 - 00001B34 2510 MOV.B R1,@R5 - 00001B36 L1363: - 00001B36 7401 ADD #1,R4 - 00001B38 7501 ADD #1,R5 - 00001B3A 7701 ADD #1,R7 - 00001B3C 34D3 CMP/GE R13,R4 - 00001B3E 8FEA BF/S L1362 - 00001B40 7601 ADD #1,R6 - 00001B42 L1358: - Monochrome 928 } - Monochrome 929 } - Monochrome 930 line = bmp[i*(real_width>>3)+end_x]; - Monochrome 931 if(bool3) line &= -1<127 || y<1-height || y>63 || height<1 || width<1) return; - 00001BE6 53F5 MOV.L @(20,R15),R3 - 00001BE8 2338 TST R3,R3 - 00001BEA 8B01 BF L1701 - 00001BEC A109 BRA L1370 - 00001BEE 0009 NOP - 00001BF0 L1701: - 00001BF0 53F2 MOV.L @(8,R15),R3 - 00001BF2 E201 MOV #1,R2 - 00001BF4 3238 SUB R3,R2 - 00001BF6 3523 CMP/GE R2,R5 - 00001BF8 8901 BT L1702 - 00001BFA A102 BRA L1370 - 00001BFC 0009 NOP - 00001BFE L1702: - 00001BFE E17F MOV #127,R1 - 00001C00 3517 CMP/GT R1,R5 - 00001C02 8B01 BF L1703 - 00001C04 A0FD BRA L1370 - 00001C06 0009 NOP - 00001C08 L1703: - 00001C08 E001 MOV #1,R0 - 00001C0A 3048 SUB R4,R0 - 00001C0C 3903 CMP/GE R0,R9 - 00001C0E 8901 BT L1704 - 00001C10 A0F7 BRA L1370 - 00001C12 0009 NOP - 00001C14 L1704: - 00001C14 E23F MOV #63,R2 - 00001C16 3927 CMP/GT R2,R9 - 00001C18 8B01 BF L1705 - 00001C1A A0F2 BRA L1370 - 00001C1C 0009 NOP - 00001C1E L1705: - 00001C1E E001 MOV #1,R0 - 00001C20 3403 CMP/GE R0,R4 - 00001C22 8901 BT L1706 - 00001C24 A0ED BRA L1370 - 00001C26 0009 NOP - 00001C28 L1706: - 00001C28 52F2 MOV.L @(8,R15),R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 86 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001C2A 3203 CMP/GE R0,R2 - 00001C2C 8901 BT L1707 - 00001C2E A0E8 BRA L1370 - 00001C30 0009 NOP - 00001C32 L1707: - Monochrome 948 p = (char*)&line; - 00001C32 6BF3 MOV R15,R11 - Monochrome 949 real_width = (width-1>>3<<3)+8; - 00001C34 52F2 MOV.L @(8,R15),R2 - 00001C36 72FF ADD #-1,R2 - 00001C38 4221 SHAR R2 - 00001C3A 4221 SHAR R2 - 00001C3C 4221 SHAR R2 - 00001C3E 4208 SHLL2 R2 - 00001C40 4200 SHLL R2 - 00001C42 7208 ADD #8,R2 - 00001C44 1F23 MOV.L R2,@(12,R15) - Monochrome 950 if(y < 0) begin_y = -y; - 00001C46 4911 CMP/PZ R9 - 00001C48 8D02 BT/S L1371 - 00001C4A E600 MOV #0,R6 - 00001C4C A001 BRA L1372 - 00001C4E 689B NEG R9,R8 - 00001C50 L1371: - Monochrome 951 else begin_y = 0; - 00001C50 6863 MOV R6,R8 - 00001C52 L1372: - Monochrome 952 if(y+height > 64) end_y = 64-y; - 00001C52 E740 MOV #64,R7 - 00001C54 6393 MOV R9,R3 - 00001C56 334C ADD R4,R3 - 00001C58 3377 CMP/GT R7,R3 - 00001C5A 8B02 BF L1373 - 00001C5C 3798 SUB R9,R7 - 00001C5E A001 BRA L1374 - 00001C60 1F7C MOV.L R7,@(48,R15) - 00001C62 L1373: - Monochrome 953 else end_y = height; - 00001C62 1F4C MOV.L R4,@(48,R15) - 00001C64 L1374: - Monochrome 954 shift = 8-(x&7); - 00001C64 E307 MOV #7,R3 - 00001C66 2359 AND R5,R3 - 00001C68 E408 MOV #8,R4 - 00001C6A 3438 SUB R3,R4 - 00001C6C 4511 CMP/PZ R5 - 00001C6E 8D0A BT/S L1375 - 00001C70 6E4E EXTS.B R4,R14 - Monochrome 955 if(x<0) - Monochrome 956 { - Monochrome 957 begin_x = -x>>3; - 00001C72 6C5B NEG R5,R12 - 00001C74 4C21 SHAR R12 - 00001C76 4C21 SHAR R12 - 00001C78 4C21 SHAR R12 - Monochrome 958 if(shift != 8) bool1 = 0; - 00001C7A 60E3 MOV R14,R0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 87 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001C7C 8808 CMP/EQ #8,R0 - 00001C7E 8903 BT L1377 - 00001C80 E01C MOV #28,R0 - 00001C82 A001 BRA L1377 - 00001C84 0F64 MOV.B R6,@(R0,R15) - 00001C86 L1375: - Monochrome 959 } else begin_x = 0; - 00001C86 6C63 MOV R6,R12 - 00001C88 L1377: - 00001C88 9343 MOV.W L1708,R3 ; H'0080 - 00001C8A 6253 MOV R5,R2 - 00001C8C 4221 SHAR R2 - 00001C8E 4221 SHAR R2 - 00001C90 4221 SHAR R2 - 00001C92 1F21 MOV.L R2,@(4,R15) - 00001C94 54F3 MOV.L @(12,R15),R4 - 00001C96 74FF ADD #-1,R4 - 00001C98 51F3 MOV.L @(12,R15),R1 - 00001C9A 4421 SHAR R4 - 00001C9C 4421 SHAR R4 - 00001C9E 4421 SHAR R4 - 00001CA0 315C ADD R5,R1 - 00001CA2 3137 CMP/GT R3,R1 - 00001CA4 8B04 BF L1378 - Monochrome 960 if(x+real_width > 128) end_x = 15-(x>>3), bool2 = 0; - 00001CA6 ED0F MOV #15,R13 - 00001CA8 3D28 SUB R2,R13 - 00001CAA E034 MOV #52,R0 - 00001CAC A001 BRA L1379 - 00001CAE 0F64 MOV.B R6,@(R0,R15) - 00001CB0 L1378: - Monochrome 961 else end_x = real_width-1>>3; - 00001CB0 6D43 MOV R4,R13 - 00001CB2 L1379: - Monochrome 962 bool3 = (end_x == real_width-1>>3); - 00001CB2 3D40 CMP/EQ R4,R13 - Monochrome 963 screen = ML_vram_adress()+(y+begin_y<<4)+(x>>3); - 00001CB4 D317 MOV.L L1708+2,R3 ; _ML_vram_adress - 00001CB6 61F3 MOV R15,R1 - 00001CB8 0029 MOVT R0 - 00001CBA 712C ADD #44,R1 - 00001CBC 430B JSR @R3 - 00001CBE 2100 MOV.B R0,@R1 - 00001CC0 53F1 MOV.L @(4,R15),R3 - 00001CC2 61B3 MOV R11,R1 - Monochrome 964 - Monochrome 965 for(i=begin_y ; i .DATA.L _ML_vram_adress - 00001D18 L1381: - Monochrome 966 { - Monochrome 967 if(begin_x < end_x) - 00001D18 3CD3 CMP/GE R13,R12 - 00001D1A 893C BT L1382 - Monochrome 968 - Monochrome 969 { - Monochrome 970 line = ~((unsigned char)~bmp[i*(real_width>>3)+begin_x]<>3)+j]<>3)+end_x]; - Monochrome 981 if(bool3) line &= -1<127 || y<1-height || y>63 || height<1 || width<1) return; - 00001E40 53F5 MOV.L @(20,R15),R3 - 00001E42 2338 TST R3,R3 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 92 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001E44 8B01 BF L1709 - 00001E46 A103 BRA L1394 - 00001E48 0009 NOP - 00001E4A L1709: - 00001E4A E201 MOV #1,R2 - 00001E4C 53F2 MOV.L @(8,R15),R3 - 00001E4E 3238 SUB R3,R2 - 00001E50 3523 CMP/GE R2,R5 - 00001E52 8901 BT L1710 - 00001E54 A0FC BRA L1394 - 00001E56 0009 NOP - 00001E58 L1710: - 00001E58 E17F MOV #127,R1 - 00001E5A 3517 CMP/GT R1,R5 - 00001E5C 8B01 BF L1711 - 00001E5E A0F7 BRA L1394 - 00001E60 0009 NOP - 00001E62 L1711: - 00001E62 E001 MOV #1,R0 - 00001E64 3048 SUB R4,R0 - 00001E66 3903 CMP/GE R0,R9 - 00001E68 8901 BT L1712 - 00001E6A A0F1 BRA L1394 - 00001E6C 0009 NOP - 00001E6E L1712: - 00001E6E E23F MOV #63,R2 - 00001E70 3927 CMP/GT R2,R9 - 00001E72 8B01 BF L1713 - 00001E74 A0EC BRA L1394 - 00001E76 0009 NOP - 00001E78 L1713: - 00001E78 E001 MOV #1,R0 - 00001E7A 3403 CMP/GE R0,R4 - 00001E7C 8901 BT L1714 - 00001E7E A0E7 BRA L1394 - 00001E80 0009 NOP - 00001E82 L1714: - 00001E82 52F2 MOV.L @(8,R15),R2 - 00001E84 3203 CMP/GE R0,R2 - 00001E86 8901 BT L1715 - 00001E88 A0E2 BRA L1394 - 00001E8A 0009 NOP - 00001E8C L1715: - Monochrome 998 p = (char*)&line; - Monochrome 999 real_width = (width-1>>3<<3)+8; - 00001E8C 52F2 MOV.L @(8,R15),R2 - 00001E8E 6BF3 MOV R15,R11 - 00001E90 72FF ADD #-1,R2 - 00001E92 4221 SHAR R2 - 00001E94 4221 SHAR R2 - 00001E96 4221 SHAR R2 - 00001E98 4208 SHLL2 R2 - 00001E9A 4200 SHLL R2 - 00001E9C 7208 ADD #8,R2 - Monochrome 1000 if(y < 0) begin_y = -y; - 00001E9E 4911 CMP/PZ R9 - 00001EA0 1F23 MOV.L R2,@(12,R15) - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 93 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001EA2 8D02 BT/S L1395 - 00001EA4 E600 MOV #0,R6 - 00001EA6 A001 BRA L1396 - 00001EA8 689B NEG R9,R8 - 00001EAA L1395: - Monochrome 1001 else begin_y = 0; - 00001EAA 6863 MOV R6,R8 - 00001EAC L1396: - Monochrome 1002 if(y+height > 64) end_y = 64-y; - 00001EAC E740 MOV #64,R7 - 00001EAE 6393 MOV R9,R3 - 00001EB0 334C ADD R4,R3 - 00001EB2 3377 CMP/GT R7,R3 - 00001EB4 8B02 BF L1397 - 00001EB6 3798 SUB R9,R7 - 00001EB8 A001 BRA L1398 - 00001EBA 1F7C MOV.L R7,@(48,R15) - 00001EBC L1397: - Monochrome 1003 else end_y = height; - 00001EBC 1F4C MOV.L R4,@(48,R15) - 00001EBE L1398: - Monochrome 1004 shift = 8-(x&7); - 00001EBE E307 MOV #7,R3 - 00001EC0 2359 AND R5,R3 - 00001EC2 E408 MOV #8,R4 - 00001EC4 3438 SUB R3,R4 - 00001EC6 4511 CMP/PZ R5 - 00001EC8 8D0A BT/S L1399 - 00001ECA 6E4E EXTS.B R4,R14 - Monochrome 1005 if(x<0) - Monochrome 1006 { - Monochrome 1007 begin_x = -x>>3; - 00001ECC 6C5B NEG R5,R12 - 00001ECE 4C21 SHAR R12 - 00001ED0 4C21 SHAR R12 - 00001ED2 4C21 SHAR R12 - Monochrome 1008 if(shift != 8) bool1 = 0; - 00001ED4 60E3 MOV R14,R0 - 00001ED6 8808 CMP/EQ #8,R0 - 00001ED8 8903 BT L1401 - 00001EDA E01C MOV #28,R0 - 00001EDC A001 BRA L1401 - 00001EDE 0F64 MOV.B R6,@(R0,R15) - 00001EE0 L1399: - Monochrome 1009 } else begin_x = 0; - 00001EE0 6C63 MOV R6,R12 - 00001EE2 L1401: - 00001EE2 6253 MOV R5,R2 - 00001EE4 9342 MOV.W L1716,R3 ; H'0080 - 00001EE6 4221 SHAR R2 - 00001EE8 4221 SHAR R2 - 00001EEA 4221 SHAR R2 - 00001EEC 1F21 MOV.L R2,@(4,R15) - 00001EEE 54F3 MOV.L @(12,R15),R4 - 00001EF0 51F3 MOV.L @(12,R15),R1 - 00001EF2 74FF ADD #-1,R4 - 00001EF4 4421 SHAR R4 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 94 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00001EF6 4421 SHAR R4 - 00001EF8 4421 SHAR R4 - 00001EFA 315C ADD R5,R1 - 00001EFC 3137 CMP/GT R3,R1 - 00001EFE 8B04 BF L1402 - Monochrome 1010 if(x+real_width > 128) end_x = 15-(x>>3), bool2 = 0; - 00001F00 ED0F MOV #15,R13 - 00001F02 3D28 SUB R2,R13 - 00001F04 E034 MOV #52,R0 - 00001F06 A001 BRA L1403 - 00001F08 0F64 MOV.B R6,@(R0,R15) - 00001F0A L1402: - Monochrome 1011 else end_x = real_width-1>>3; - 00001F0A 6D43 MOV R4,R13 - 00001F0C L1403: - Monochrome 1012 bool3 = (end_x == real_width-1>>3); - Monochrome 1013 screen = ML_vram_adress()+(y+begin_y<<4)+(x>>3); - 00001F0C D318 MOV.L L1716+4,R3 ; _ML_vram_adress - 00001F0E 3D40 CMP/EQ R4,R13 - 00001F10 0029 MOVT R0 - 00001F12 61F3 MOV R15,R1 - 00001F14 712C ADD #44,R1 - 00001F16 430B JSR @R3 - 00001F18 2100 MOV.B R0,@R1 - 00001F1A 6A93 MOV R9,R10 - 00001F1C 53F1 MOV.L @(4,R15),R3 - 00001F1E 61B3 MOV R11,R1 - Monochrome 1014 - Monochrome 1015 for(i=begin_y ; i .DATA.L _ML_vram_adress - 00001F74 L1405: - Monochrome 1016 { - Monochrome 1017 if(begin_x < end_x) - 00001F74 3CD3 CMP/GE R13,R12 - 00001F76 8938 BT L1406 - Monochrome 1018 { - Monochrome 1019 line = bmp[i*(real_width>>3)+begin_x] << shift; - 00001F78 53F8 MOV.L @(32,R15),R3 - 00001F7A 64C3 MOV R12,R4 - 00001F7C 6230 MOV.B @R3,R2 - 00001F7E E01C MOV #28,R0 - 00001F80 622C EXTU.B R2,R2 - 00001F82 42ED SHLD R14,R2 - 00001F84 2F21 MOV.W R2,@R15 - 00001F86 03FC MOV.B @(R0,R15),R3 - 00001F88 2338 TST R3,R3 - 00001F8A 8D04 BT/S L1407 - 00001F8C 34AC ADD R10,R4 - Monochrome 1020 if(bool1) screen[begin_x] ^= *p; - 00001F8E 63B0 MOV.B @R11,R3 - 00001F90 6140 MOV.B @R4,R1 - 00001F92 213A XOR R3,R1 - 00001F94 2410 MOV.B R1,@R4 - 00001F96 L1407: - Monochrome 1021 if(shift!=8) screen[begin_x+1] ^= *(p+1); - 00001F96 60E3 MOV R14,R0 - 00001F98 8808 CMP/EQ #8,R0 - 00001F9A 8904 BT L1408 - 00001F9C 52F1 MOV.L @(4,R15),R2 - 00001F9E 6320 MOV.B @R2,R3 - 00001FA0 8441 MOV.B @(1,R4),R0 - 00001FA2 203A XOR R3,R0 - 00001FA4 8041 MOV.B R0,@(1,R4) - 00001FA6 L1408: - Monochrome 1022 for(j=begin_x+1 ; j>3)+j] << shift; - Monochrome 1025 screen[j] ^= *p; - Monochrome 1026 if(shift!=8) screen[j+1] ^= *(p+1); - 00001FBE 60E3 MOV R14,R0 - 00001FC0 6360 MOV.B @R6,R3 - 00001FC2 8808 CMP/EQ #8,R0 - 00001FC4 633C EXTU.B R3,R3 - 00001FC6 43ED SHLD R14,R3 - 00001FC8 2F31 MOV.W R3,@R15 - 00001FCA 62B0 MOV.B @R11,R2 - 00001FCC 6170 MOV.B @R7,R1 - 00001FCE 212A XOR R2,R1 - 00001FD0 8D05 BT/S L1411 - 00001FD2 2710 MOV.B R1,@R7 - 00001FD4 52F1 MOV.L @(4,R15),R2 - 00001FD6 6320 MOV.B @R2,R3 - 00001FD8 6150 MOV.B @R5,R1 - 00001FDA 213A XOR R3,R1 - 00001FDC 2510 MOV.B R1,@R5 - 00001FDE L1411: - 00001FDE 7401 ADD #1,R4 - 00001FE0 7501 ADD #1,R5 - 00001FE2 7701 ADD #1,R7 - 00001FE4 34D3 CMP/GE R13,R4 - 00001FE6 8FEA BF/S L1410 - 00001FE8 7601 ADD #1,R6 - 00001FEA L1406: - Monochrome 1027 } - Monochrome 1028 } - Monochrome 1029 line = bmp[i*(real_width>>3)+end_x]; - Monochrome 1030 if(bool3) line &= -1<120 || y<-7 || y>63) return; - 00002080 53F1 MOV.L @(4,R15),R3 - 00002082 6943 MOV R4,R9 - 00002084 2338 TST R3,R3 - 00002086 8D43 BT/S L1418 - 00002088 6CF3 MOV R15,R12 - 0000208A 4D11 CMP/PZ R13 - 0000208C 8B40 BF L1418 - 0000208E E278 MOV #120,R2 - 00002090 3D27 CMP/GT R2,R13 - 00002092 893D BT L1418 - 00002094 E1F9 MOV #-7,R1 - 00002096 3E13 CMP/GE R1,R14 - 00002098 8B3A BF L1418 - 0000209A E03F MOV #63,R0 - 0000209C 3E07 CMP/GT R0,R14 - 0000209E 8937 BT L1418 - Monochrome 1046 if(y < 0) begin = -y; - 000020A0 4E11 CMP/PZ R14 - 000020A2 8D01 BT/S L1419 - Monochrome 1047 if(y > 56) end = 64-y; - 000020A4 E338 MOV #56,R3 - 000020A6 6BEB NEG R14,R11 - 000020A8 L1419: - 000020A8 3E37 CMP/GT R3,R14 - 000020AA 8F02 BF/S L1420 - Monochrome 1048 shift = 8-(x&7); - 000020AC E307 MOV #7,R3 - 000020AE E940 MOV #64,R9 - 000020B0 39E8 SUB R14,R9 - 000020B2 L1420: - 000020B2 23D9 AND R13,R3 - Monochrome 1049 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 000020B4 D24B MOV.L L1717+2,R2 ; _ML_vram_adress - 000020B6 6A43 MOV R4,R10 - 000020B8 420B JSR @R2 - 000020BA 3A38 SUB R3,R10 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 99 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000020BC 63BE EXTS.B R11,R3 - 000020BE 33EC ADD R14,R3 - 000020C0 4308 SHLL2 R3 - 000020C2 4308 SHLL2 R3 - 000020C4 303C ADD R3,R0 - 000020C6 4D21 SHAR R13 - 000020C8 53F1 MOV.L @(4,R15),R3 - 000020CA 6EC3 MOV R12,R14 - 000020CC 4D21 SHAR R13 - 000020CE 4D21 SHAR R13 - 000020D0 6603 MOV R0,R6 - 000020D2 36DC ADD R13,R6 - Monochrome 1050 for(i=begin ; i120 || y<-7 || y>63) return; - 0000213C 53F1 MOV.L @(4,R15),R3 - 0000213E 6943 MOV R4,R9 - 00002140 2338 TST R3,R3 - 00002142 8D45 BT/S L1426 - 00002144 6CF3 MOV R15,R12 - 00002146 4D11 CMP/PZ R13 - 00002148 8B42 BF L1426 - 0000214A E278 MOV #120,R2 - 0000214C 3D27 CMP/GT R2,R13 - 0000214E 893F BT L1426 - 00002150 E1F9 MOV #-7,R1 - 00002152 3E13 CMP/GE R1,R14 - 00002154 8B3C BF L1426 - 00002156 E03F MOV #63,R0 - 00002158 3E07 CMP/GT R0,R14 - 0000215A 8939 BT L1426 - Monochrome 1066 if(y < 0) begin = -y; - 0000215C 4E11 CMP/PZ R14 - 0000215E 8D01 BT/S L1427 - Monochrome 1067 if(y > 56) end = 64-y; - 00002160 E338 MOV #56,R3 - 00002162 6BEB NEG R14,R11 - 00002164 L1427: - 00002164 3E37 CMP/GT R3,R14 - 00002166 8F02 BF/S L1428 - Monochrome 1068 shift = 8-(x&7); - 00002168 E307 MOV #7,R3 - 0000216A E940 MOV #64,R9 - 0000216C 39E8 SUB R14,R9 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 101 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000216E L1428: - 0000216E 23D9 AND R13,R3 - Monochrome 1069 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 00002170 D21C MOV.L L1717+2,R2 ; _ML_vram_adress - 00002172 6A43 MOV R4,R10 - 00002174 420B JSR @R2 - 00002176 3A38 SUB R3,R10 - 00002178 63BE EXTS.B R11,R3 - 0000217A 33EC ADD R14,R3 - 0000217C 4308 SHLL2 R3 - 0000217E 4308 SHLL2 R3 - 00002180 303C ADD R3,R0 - 00002182 4D21 SHAR R13 - 00002184 53F1 MOV.L @(4,R15),R3 - 00002186 6EC3 MOV R12,R14 - 00002188 4D21 SHAR R13 - 0000218A 4D21 SHAR R13 - 0000218C 6603 MOV R0,R6 - 0000218E 36DC ADD R13,R6 - Monochrome 1070 for(i=begin ; i .DATA.L _ML_vram_adress - Monochrome 1078 #endif - Monochrome 1079 - Monochrome 1080 #ifdef ML_BMP_8_XOR - Monochrome 1081 void ML_bmp_8_xor(const unsigned char *bmp, int x, int y) - 000021E8 _ML_bmp_8_xor: ; function: ML_bmp_8_xor - ; frame size=40 - 000021E8 2FE6 MOV.L R14,@-R15 - Monochrome 1082 { - Monochrome 1083 unsigned short line; - Monochrome 1084 char i, shift, begin=0, end=8, *screen, *p=(char*)&line; - Monochrome 1085 if(!bmp || x<0 || x>120 || y<-7 || y>63) return; - 000021EA 6343 MOV R4,R3 - 000021EC 2FD6 MOV.L R13,@-R15 - 000021EE 6E63 MOV R6,R14 - 000021F0 2FC6 MOV.L R12,@-R15 - 000021F2 ED08 MOV #8,R13 - 000021F4 2FB6 MOV.L R11,@-R15 - 000021F6 2338 TST R3,R3 - 000021F8 2FA6 MOV.L R10,@-R15 - 000021FA 6B53 MOV R5,R11 - 000021FC 2F96 MOV.L R9,@-R15 - 000021FE EA00 MOV #0,R10 - 00002200 2F86 MOV.L R8,@-R15 - 00002202 69D3 MOV R13,R9 - 00002204 4F22 STS.L PR,@-R15 - 00002206 7FF8 ADD #-8,R15 - 00002208 1F41 MOV.L R4,@(4,R15) - 0000220A 8D42 BT/S L1434 - 0000220C 6CF3 MOV R15,R12 - 0000220E 4B11 CMP/PZ R11 - 00002210 8B3F BF L1434 - 00002212 E278 MOV #120,R2 - 00002214 3B27 CMP/GT R2,R11 - 00002216 893C BT L1434 - 00002218 E1F9 MOV #-7,R1 - 0000221A 3E13 CMP/GE R1,R14 - 0000221C 8B39 BF L1434 - 0000221E E03F MOV #63,R0 - 00002220 3E07 CMP/GT R0,R14 - 00002222 8936 BT L1434 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 103 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 1086 if(y < 0) begin = -y; - 00002224 4E11 CMP/PZ R14 - 00002226 8D01 BT/S L1435 - Monochrome 1087 if(y > 56) end = 64-y; - 00002228 E338 MOV #56,R3 - 0000222A 6AEB NEG R14,R10 - 0000222C L1435: - 0000222C 3E37 CMP/GT R3,R14 - 0000222E 8F02 BF/S L1436 - Monochrome 1088 shift = 8-(x&7); - 00002230 E307 MOV #7,R3 - 00002232 E940 MOV #64,R9 - 00002234 39E8 SUB R14,R9 - 00002236 L1436: - 00002236 23B9 AND R11,R3 - Monochrome 1089 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 00002238 D255 MOV.L L1718,R2 ; _ML_vram_adress - 0000223A 68D3 MOV R13,R8 - 0000223C 420B JSR @R2 - 0000223E 3838 SUB R3,R8 - 00002240 63AE EXTS.B R10,R3 - 00002242 33EC ADD R14,R3 - 00002244 4308 SHLL2 R3 - 00002246 4308 SHLL2 R3 - 00002248 303C ADD R3,R0 - 0000224A 4B21 SHAR R11 - 0000224C 53F1 MOV.L @(4,R15),R3 - 0000224E 679E EXTS.B R9,R7 - 00002250 4B21 SHAR R11 - 00002252 4B21 SHAR R11 - 00002254 6503 MOV R0,R5 - 00002256 35BC ADD R11,R5 - Monochrome 1090 for(i=begin ; i127 || y<-7 || y>63) return; - 000022CC 53F1 MOV.L @(4,R15),R3 - 000022CE 6A43 MOV R4,R10 - 000022D0 2338 TST R3,R3 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 105 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000022D2 8D53 BT/S L1442 - 000022D4 6BF3 MOV R15,R11 - 000022D6 E3F9 MOV #-7,R3 - 000022D8 3D33 CMP/GE R3,R13 - 000022DA 8B4F BF L1442 - 000022DC E17F MOV #127,R1 - 000022DE 3D17 CMP/GT R1,R13 - 000022E0 894C BT L1442 - 000022E2 3E33 CMP/GE R3,R14 - 000022E4 8B4A BF L1442 - 000022E6 E23F MOV #63,R2 - 000022E8 3E27 CMP/GT R2,R14 - 000022EA 8947 BT L1442 - Monochrome 1106 if(y < 0) begin = -y; - 000022EC 4E11 CMP/PZ R14 - 000022EE 8D01 BT/S L1443 - Monochrome 1107 if(y > 56) end = 64-y; - 000022F0 E238 MOV #56,R2 - 000022F2 6AEB NEG R14,R10 - 000022F4 L1443: - 000022F4 3E27 CMP/GT R2,R14 - 000022F6 8B02 BF L1444 - 000022F8 E040 MOV #64,R0 - 000022FA 30E8 SUB R14,R0 - 000022FC 80F8 MOV.B R0,@(8,R15) - 000022FE L1444: - Monochrome 1108 shift = 8-(x&7); - 000022FE E307 MOV #7,R3 - 00002300 23D9 AND R13,R3 - 00002302 6853 MOV R5,R8 - Monochrome 1109 if(x < 0) bool1 = 0; - 00002304 4D11 CMP/PZ R13 - 00002306 8D01 BT/S L1445 - 00002308 3838 SUB R3,R8 - 0000230A 6943 MOV R4,R9 - 0000230C L1445: - Monochrome 1110 if(x>120 || shift==8) bool2 = 0; - 0000230C E378 MOV #120,R3 - 0000230E 3D37 CMP/GT R3,R13 - 00002310 8902 BT L1447 - 00002312 608E EXTS.B R8,R0 - 00002314 8808 CMP/EQ #8,R0 - 00002316 8B00 BF L1446 - 00002318 L1447: - 00002318 6C43 MOV R4,R12 - 0000231A L1446: - Monochrome 1111 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 0000231A D31D MOV.L L1718,R3 ; _ML_vram_adress - 0000231C 430B JSR @R3 - 0000231E 0009 NOP - 00002320 53F1 MOV.L @(4,R15),R3 - 00002322 62AE EXTS.B R10,R2 - 00002324 32EC ADD R14,R2 - 00002326 4208 SHLL2 R2 - 00002328 4208 SHLL2 R2 - 0000232A 302C ADD R2,R0 - 0000232C 4D21 SHAR R13 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 106 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000232E 4D21 SHAR R13 - 00002330 4D21 SHAR R13 - 00002332 6503 MOV R0,R5 - 00002334 84F8 MOV.B @(8,R15),R0 - 00002336 35DC ADD R13,R5 - Monochrome 1112 for(i=begin ; i .DATA.L _ML_vram_adress - Monochrome 1120 #endif - Monochrome 1121 - Monochrome 1122 #ifdef ML_BMP_8_AND_CL - Monochrome 1123 void ML_bmp_8_and_cl(const unsigned char *bmp, int x, int y) - 00002394 _ML_bmp_8_and_cl: ; function: ML_bmp_8_and_cl - ; frame size=44 - 00002394 2FE6 MOV.L R14,@-R15 - 00002396 6E63 MOV R6,R14 - 00002398 2FD6 MOV.L R13,@-R15 - Monochrome 1124 { - Monochrome 1125 unsigned short line; - Monochrome 1126 char i, shift, begin=0, end=8, bool1=1, bool2=1, *screen, *p=(char*)&line; - 0000239A E601 MOV #1,R6 - 0000239C 2FC6 MOV.L R12,@-R15 - 0000239E 6D53 MOV R5,R13 - 000023A0 2FB6 MOV.L R11,@-R15 - 000023A2 6C63 MOV R6,R12 - 000023A4 2FA6 MOV.L R10,@-R15 - 000023A6 E508 MOV #8,R5 - 000023A8 2F96 MOV.L R9,@-R15 - 000023AA 6053 MOV R5,R0 - 000023AC 2F86 MOV.L R8,@-R15 - 000023AE 6963 MOV R6,R9 - 000023B0 4F22 STS.L PR,@-R15 - 000023B2 7FF4 ADD #-12,R15 - 000023B4 1F41 MOV.L R4,@(4,R15) - 000023B6 E400 MOV #0,R4 - 000023B8 80F8 MOV.B R0,@(8,R15) - 000023BA 6A43 MOV R4,R10 - Monochrome 1127 if(!bmp || x<-7 || x>127 || y<-7 || y>63) return; - 000023BC 53F1 MOV.L @(4,R15),R3 - 000023BE 2338 TST R3,R3 - 000023C0 8D55 BT/S L1454 - 000023C2 6BF3 MOV R15,R11 - 000023C4 E3F9 MOV #-7,R3 - 000023C6 3D33 CMP/GE R3,R13 - 000023C8 8B51 BF L1454 - 000023CA E17F MOV #127,R1 - 000023CC 3D17 CMP/GT R1,R13 - 000023CE 894E BT L1454 - 000023D0 3E33 CMP/GE R3,R14 - 000023D2 8B4C BF L1454 - 000023D4 E23F MOV #63,R2 - 000023D6 3E27 CMP/GT R2,R14 - 000023D8 8949 BT L1454 - Monochrome 1128 if(y < 0) begin = -y; - 000023DA 4E11 CMP/PZ R14 - 000023DC 8D01 BT/S L1455 - Monochrome 1129 if(y > 56) end = 64-y; - 000023DE E238 MOV #56,R2 - 000023E0 6AEB NEG R14,R10 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 108 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000023E2 L1455: - 000023E2 3E27 CMP/GT R2,R14 - 000023E4 8B02 BF L1456 - 000023E6 E040 MOV #64,R0 - 000023E8 30E8 SUB R14,R0 - 000023EA 80F8 MOV.B R0,@(8,R15) - 000023EC L1456: - Monochrome 1130 shift = 8-(x&7); - 000023EC E307 MOV #7,R3 - 000023EE 23D9 AND R13,R3 - 000023F0 6853 MOV R5,R8 - Monochrome 1131 if(x < 0) bool1 = 0; - 000023F2 4D11 CMP/PZ R13 - 000023F4 8D01 BT/S L1457 - 000023F6 3838 SUB R3,R8 - 000023F8 6943 MOV R4,R9 - 000023FA L1457: - Monochrome 1132 if(x>120 || shift==8) bool2 = 0; - 000023FA E378 MOV #120,R3 - 000023FC 3D37 CMP/GT R3,R13 - 000023FE 8902 BT L1459 - 00002400 608E EXTS.B R8,R0 - 00002402 8808 CMP/EQ #8,R0 - 00002404 8B00 BF L1458 - 00002406 L1459: - 00002406 6C43 MOV R4,R12 - 00002408 L1458: - Monochrome 1133 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 00002408 D358 MOV.L L1719,R3 ; _ML_vram_adress - 0000240A 430B JSR @R3 - 0000240C 0009 NOP - 0000240E 62AE EXTS.B R10,R2 - 00002410 53F1 MOV.L @(4,R15),R3 - 00002412 4D21 SHAR R13 - 00002414 32EC ADD R14,R2 - 00002416 4208 SHLL2 R2 - 00002418 4208 SHLL2 R2 - 0000241A 302C ADD R2,R0 - 0000241C 4D21 SHAR R13 - 0000241E 4D21 SHAR R13 - 00002420 6503 MOV R0,R5 - 00002422 35DC ADD R13,R5 - 00002424 84F8 MOV.B @(8,R15),R0 - Monochrome 1134 for(i=begin ; i127 || y<-7 || y>63) return; - 000024A8 53F1 MOV.L @(4,R15),R3 - 000024AA 6A43 MOV R4,R10 - 000024AC 2338 TST R3,R3 - 000024AE 8D53 BT/S L1466 - 000024B0 6BF3 MOV R15,R11 - 000024B2 E3F9 MOV #-7,R3 - 000024B4 3D33 CMP/GE R3,R13 - 000024B6 8B4F BF L1466 - 000024B8 E17F MOV #127,R1 - 000024BA 3D17 CMP/GT R1,R13 - 000024BC 894C BT L1466 - 000024BE 3E33 CMP/GE R3,R14 - 000024C0 8B4A BF L1466 - 000024C2 E23F MOV #63,R2 - 000024C4 3E27 CMP/GT R2,R14 - 000024C6 8947 BT L1466 - Monochrome 1150 if(y < 0) begin = -y; - 000024C8 4E11 CMP/PZ R14 - 000024CA 8D01 BT/S L1467 - Monochrome 1151 if(y > 56) end = 64-y; - 000024CC E238 MOV #56,R2 - 000024CE 6AEB NEG R14,R10 - 000024D0 L1467: - 000024D0 3E27 CMP/GT R2,R14 - 000024D2 8B02 BF L1468 - 000024D4 E040 MOV #64,R0 - 000024D6 30E8 SUB R14,R0 - 000024D8 80F8 MOV.B R0,@(8,R15) - 000024DA L1468: - Monochrome 1152 shift = 8-(x&7); - 000024DA E307 MOV #7,R3 - 000024DC 23D9 AND R13,R3 - 000024DE 6853 MOV R5,R8 - Monochrome 1153 if(x < 0) bool1 = 0; - 000024E0 4D11 CMP/PZ R13 - 000024E2 8D01 BT/S L1469 - 000024E4 3838 SUB R3,R8 - 000024E6 6943 MOV R4,R9 - 000024E8 L1469: - Monochrome 1154 if(x>120 || shift==8) bool2 = 0; - 000024E8 E378 MOV #120,R3 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 111 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000024EA 3D37 CMP/GT R3,R13 - 000024EC 8902 BT L1471 - 000024EE 608E EXTS.B R8,R0 - 000024F0 8808 CMP/EQ #8,R0 - 000024F2 8B00 BF L1470 - 000024F4 L1471: - 000024F4 6C43 MOV R4,R12 - 000024F6 L1470: - Monochrome 1155 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 000024F6 D31D MOV.L L1719,R3 ; _ML_vram_adress - 000024F8 430B JSR @R3 - 000024FA 0009 NOP - 000024FC 53F1 MOV.L @(4,R15),R3 - 000024FE 62AE EXTS.B R10,R2 - 00002500 32EC ADD R14,R2 - 00002502 4208 SHLL2 R2 - 00002504 4208 SHLL2 R2 - 00002506 302C ADD R2,R0 - 00002508 4D21 SHAR R13 - 0000250A 4D21 SHAR R13 - 0000250C 4D21 SHAR R13 - 0000250E 6503 MOV R0,R5 - 00002510 84F8 MOV.B @(8,R15),R0 - 00002512 35DC ADD R13,R5 - Monochrome 1156 for(i=begin ; i .DATA.L _ML_vram_adress - Monochrome 1164 #endif - Monochrome 1165 - Monochrome 1166 #ifdef ML_BMP_16_OR - Monochrome 1167 void ML_bmp_16_or(const unsigned short *bmp, int x, int y) - 00002570 _ML_bmp_16_or: ; function: ML_bmp_16_or - ; frame size=36 - 00002570 2FE6 MOV.L R14,@-R15 - Monochrome 1168 { - Monochrome 1169 unsigned long line; - Monochrome 1170 char i, shift, begin=0, end=16, *screen, *p=(char*)&line+1; - Monochrome 1171 if(!bmp || x<0 || x>112 || y<-15 || y>63) return; - 00002572 6343 MOV R4,R3 - 00002574 2FD6 MOV.L R13,@-R15 - 00002576 6E63 MOV R6,R14 - 00002578 2FC6 MOV.L R12,@-R15 - 0000257A 2338 TST R3,R3 - 0000257C 2FB6 MOV.L R11,@-R15 - 0000257E EC00 MOV #0,R12 - 00002580 2FA6 MOV.L R10,@-R15 - 00002582 6B53 MOV R5,R11 - 00002584 2F96 MOV.L R9,@-R15 - 00002586 E910 MOV #16,R9 - 00002588 4F22 STS.L PR,@-R15 - 0000258A 7FF8 ADD #-8,R15 - 0000258C 1F41 MOV.L R4,@(4,R15) - 0000258E 6DF3 MOV R15,R13 - 00002590 8D4A BT/S L1478 - 00002592 7D01 ADD #1,R13 - 00002594 4B11 CMP/PZ R11 - 00002596 8B47 BF L1478 - 00002598 E270 MOV #112,R2 - 0000259A 3B27 CMP/GT R2,R11 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 113 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000259C 8944 BT L1478 - 0000259E E1F1 MOV #-15,R1 - 000025A0 3E13 CMP/GE R1,R14 - 000025A2 8B41 BF L1478 - 000025A4 E03F MOV #63,R0 - 000025A6 3E07 CMP/GT R0,R14 - 000025A8 893E BT L1478 - Monochrome 1172 if(y < 0) begin = -y; - 000025AA 4E11 CMP/PZ R14 - 000025AC 8D01 BT/S L1479 - Monochrome 1173 if(y > 48) end = 64-y; - 000025AE E330 MOV #48,R3 - 000025B0 6CEB NEG R14,R12 - 000025B2 L1479: - 000025B2 3E37 CMP/GT R3,R14 - 000025B4 8F02 BF/S L1480 - Monochrome 1174 shift = 8-(x&7); - 000025B6 E307 MOV #7,R3 - 000025B8 E940 MOV #64,R9 - 000025BA 39E8 SUB R14,R9 - 000025BC L1480: - Monochrome 1175 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 000025BC D285 MOV.L L1720+2,R2 ; _ML_vram_adress - 000025BE 23B9 AND R11,R3 - 000025C0 EA08 MOV #8,R10 - 000025C2 420B JSR @R2 - 000025C4 3A38 SUB R3,R10 - 000025C6 63CE EXTS.B R12,R3 - 000025C8 33EC ADD R14,R3 - 000025CA 4308 SHLL2 R3 - 000025CC 4308 SHLL2 R3 - 000025CE 303C ADD R3,R0 - 000025D0 53F1 MOV.L @(4,R15),R3 - 000025D2 679E EXTS.B R9,R7 - 000025D4 4B21 SHAR R11 - 000025D6 4B21 SHAR R11 - 000025D8 4B21 SHAR R11 - 000025DA 6403 MOV R0,R4 - 000025DC 34BC ADD R11,R4 - Monochrome 1176 for(i=begin ; i112 || y<-15 || y>63) return; - 0000263A 6343 MOV R4,R3 - 0000263C 2FE6 MOV.L R14,@-R15 - 0000263E 2338 TST R3,R3 - 00002640 2FD6 MOV.L R13,@-R15 - 00002642 6E63 MOV R6,R14 - 00002644 2FC6 MOV.L R12,@-R15 - 00002646 EC00 MOV #0,R12 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 115 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002648 2FB6 MOV.L R11,@-R15 - 0000264A 6B53 MOV R5,R11 - 0000264C 2FA6 MOV.L R10,@-R15 - 0000264E 2F96 MOV.L R9,@-R15 - 00002650 4F22 STS.L PR,@-R15 - 00002652 E910 MOV #16,R9 - 00002654 7FF8 ADD #-8,R15 - 00002656 6DF3 MOV R15,R13 - 00002658 1F41 MOV.L R4,@(4,R15) - 0000265A 8D4C BT/S L1486 - 0000265C 7D01 ADD #1,R13 - 0000265E 4B11 CMP/PZ R11 - 00002660 8B49 BF L1486 - 00002662 E270 MOV #112,R2 - 00002664 3B27 CMP/GT R2,R11 - 00002666 8946 BT L1486 - 00002668 E1F1 MOV #-15,R1 - 0000266A 3E13 CMP/GE R1,R14 - 0000266C 8B43 BF L1486 - 0000266E E03F MOV #63,R0 - 00002670 3E07 CMP/GT R0,R14 - 00002672 8940 BT L1486 - Monochrome 1193 if(y < 0) begin = -y; - 00002674 4E11 CMP/PZ R14 - 00002676 8D01 BT/S L1487 - Monochrome 1194 if(y > 48) end = 64-y; - 00002678 E330 MOV #48,R3 - 0000267A 6CEB NEG R14,R12 - 0000267C L1487: - 0000267C 3E37 CMP/GT R3,R14 - 0000267E 8F02 BF/S L1488 - Monochrome 1195 shift = 8-(x&7); - 00002680 E307 MOV #7,R3 - 00002682 E940 MOV #64,R9 - 00002684 39E8 SUB R14,R9 - 00002686 L1488: - 00002686 23B9 AND R11,R3 - Monochrome 1196 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 00002688 D252 MOV.L L1720+2,R2 ; _ML_vram_adress - 0000268A EA08 MOV #8,R10 - 0000268C 420B JSR @R2 - 0000268E 3A38 SUB R3,R10 - 00002690 63CE EXTS.B R12,R3 - 00002692 33EC ADD R14,R3 - 00002694 4308 SHLL2 R3 - 00002696 4308 SHLL2 R3 - 00002698 303C ADD R3,R0 - 0000269A 4B21 SHAR R11 - 0000269C 53F1 MOV.L @(4,R15),R3 - 0000269E 679E EXTS.B R9,R7 - 000026A0 4B21 SHAR R11 - 000026A2 4B21 SHAR R11 - 000026A4 6403 MOV R0,R4 - 000026A6 34BC ADD R11,R4 - Monochrome 1197 for(i=begin ; i112 || y<-15 || y>63) return; - 0000270A 6343 MOV R4,R3 - 0000270C 2FD6 MOV.L R13,@-R15 - 0000270E 6E63 MOV R6,R14 - 00002710 2FC6 MOV.L R12,@-R15 - 00002712 2338 TST R3,R3 - 00002714 2FB6 MOV.L R11,@-R15 - 00002716 EC00 MOV #0,R12 - 00002718 2FA6 MOV.L R10,@-R15 - 0000271A 6B53 MOV R5,R11 - 0000271C 2F96 MOV.L R9,@-R15 - 0000271E E910 MOV #16,R9 - 00002720 4F22 STS.L PR,@-R15 - 00002722 7FF8 ADD #-8,R15 - 00002724 1F41 MOV.L R4,@(4,R15) - 00002726 6DF3 MOV R15,R13 - 00002728 8D4A BT/S L1494 - 0000272A 7D01 ADD #1,R13 - 0000272C 4B11 CMP/PZ R11 - 0000272E 8B47 BF L1494 - 00002730 E270 MOV #112,R2 - 00002732 3B27 CMP/GT R2,R11 - 00002734 8944 BT L1494 - 00002736 E1F1 MOV #-15,R1 - 00002738 3E13 CMP/GE R1,R14 - 0000273A 8B41 BF L1494 - 0000273C E03F MOV #63,R0 - 0000273E 3E07 CMP/GT R0,R14 - 00002740 893E BT L1494 - Monochrome 1214 if(y < 0) begin = -y; - 00002742 4E11 CMP/PZ R14 - 00002744 8D01 BT/S L1495 - Monochrome 1215 if(y > 48) end = 64-y; - 00002746 E330 MOV #48,R3 - 00002748 6CEB NEG R14,R12 - 0000274A L1495: - 0000274A 3E37 CMP/GT R3,R14 - 0000274C 8F02 BF/S L1496 - Monochrome 1216 shift = 8-(x&7); - 0000274E E307 MOV #7,R3 - 00002750 E940 MOV #64,R9 - 00002752 39E8 SUB R14,R9 - 00002754 L1496: - Monochrome 1217 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 00002754 D21F MOV.L L1720+2,R2 ; _ML_vram_adress - 00002756 23B9 AND R11,R3 - 00002758 EA08 MOV #8,R10 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 118 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000275A 420B JSR @R2 - 0000275C 3A38 SUB R3,R10 - 0000275E 63CE EXTS.B R12,R3 - 00002760 33EC ADD R14,R3 - 00002762 4308 SHLL2 R3 - 00002764 4308 SHLL2 R3 - 00002766 303C ADD R3,R0 - 00002768 53F1 MOV.L @(4,R15),R3 - 0000276A 679E EXTS.B R9,R7 - 0000276C 4B21 SHAR R11 - 0000276E 4B21 SHAR R11 - 00002770 4B21 SHAR R11 - 00002772 6403 MOV R0,R4 - 00002774 34BC ADD R11,R4 - Monochrome 1218 for(i=begin ; i .DATA.L _ML_vram_adress - Monochrome 1227 #endif - Monochrome 1228 - Monochrome 1229 #ifdef ML_BMP_16_OR_CL - Monochrome 1230 void ML_bmp_16_or_cl(const unsigned short *bmp, int x, int y) - 000027D8 _ML_bmp_16_or_cl: ; function: ML_bmp_16_or_cl - ; frame size=48 - 000027D8 2FE6 MOV.L R14,@-R15 - Monochrome 1231 { - Monochrome 1232 unsigned long line; - Monochrome 1233 char i, shift, begin=0, end=16, bool1=1, bool2=1, bool3=1, *screen, *p=(char*)&line+1; - 000027DA E010 MOV #16,R0 - 000027DC 2FD6 MOV.L R13,@-R15 - 000027DE 6E53 MOV R5,R14 - 000027E0 2FC6 MOV.L R12,@-R15 - 000027E2 6D63 MOV R6,R13 - 000027E4 2FB6 MOV.L R11,@-R15 - 000027E6 E501 MOV #1,R5 - 000027E8 2FA6 MOV.L R10,@-R15 - 000027EA 2F96 MOV.L R9,@-R15 - 000027EC 2F86 MOV.L R8,@-R15 - 000027EE 6953 MOV R5,R9 - 000027F0 4F22 STS.L PR,@-R15 - 000027F2 6B93 MOV R9,R11 - 000027F4 7FF0 ADD #-16,R15 - 000027F6 6CF3 MOV R15,R12 - 000027F8 1F41 MOV.L R4,@(4,R15) - 000027FA E400 MOV #0,R4 - 000027FC 80FC MOV.B R0,@(12,R15) - 000027FE 6A43 MOV R4,R10 - 00002800 6053 MOV R5,R0 - 00002802 80F8 MOV.B R0,@(8,R15) - Monochrome 1234 if(!bmp || x<-15 || x>127 || y<-15 || y>63) return; - 00002804 53F1 MOV.L @(4,R15),R3 - 00002806 2338 TST R3,R3 - 00002808 8D65 BT/S L1502 - 0000280A 7C01 ADD #1,R12 - 0000280C E3F1 MOV #-15,R3 - 0000280E 3E33 CMP/GE R3,R14 - 00002810 8B61 BF L1502 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 120 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002812 E17F MOV #127,R1 - 00002814 3E17 CMP/GT R1,R14 - 00002816 895E BT L1502 - 00002818 3D33 CMP/GE R3,R13 - 0000281A 8B5C BF L1502 - 0000281C E23F MOV #63,R2 - 0000281E 3D27 CMP/GT R2,R13 - 00002820 8959 BT L1502 - Monochrome 1235 if(y < 0) begin = -y; - 00002822 4D11 CMP/PZ R13 - 00002824 8D01 BT/S L1503 - Monochrome 1236 if(y > 48) end = 64-y; - 00002826 E230 MOV #48,R2 - 00002828 6ADB NEG R13,R10 - 0000282A L1503: - 0000282A 3D27 CMP/GT R2,R13 - 0000282C 8B02 BF L1504 - 0000282E E040 MOV #64,R0 - 00002830 30D8 SUB R13,R0 - 00002832 80FC MOV.B R0,@(12,R15) - 00002834 L1504: - Monochrome 1237 shift = 8-(x&7); - 00002834 E307 MOV #7,R3 - 00002836 23E9 AND R14,R3 - 00002838 E808 MOV #8,R8 - Monochrome 1238 if(x < 0) bool1 = 0; - 0000283A 4E11 CMP/PZ R14 - 0000283C 8D01 BT/S L1505 - 0000283E 3838 SUB R3,R8 - 00002840 6943 MOV R4,R9 - 00002842 L1505: - Monochrome 1239 if(x<-8 || x>119) bool2 = 0; - 00002842 E3F8 MOV #-8,R3 - 00002844 3E33 CMP/GE R3,R14 - 00002846 8B02 BF L1507 - 00002848 E177 MOV #119,R1 - 0000284A 3E17 CMP/GT R1,R14 - 0000284C 8B01 BF L1506 - 0000284E L1507: - 0000284E 6043 MOV R4,R0 - 00002850 80F8 MOV.B R0,@(8,R15) - 00002852 L1506: - Monochrome 1240 if(x>111 || shift==8) bool3 = 0; - 00002852 E36F MOV #111,R3 - 00002854 3E37 CMP/GT R3,R14 - 00002856 8902 BT L1509 - 00002858 608E EXTS.B R8,R0 - 0000285A 8808 CMP/EQ #8,R0 - 0000285C 8B00 BF L1508 - 0000285E L1509: - 0000285E 6B43 MOV R4,R11 - 00002860 L1508: - Monochrome 1241 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 00002860 D367 MOV.L L1721,R3 ; _ML_vram_adress - 00002862 430B JSR @R3 - 00002864 0009 NOP - 00002866 62AE EXTS.B R10,R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 121 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002868 53F1 MOV.L @(4,R15),R3 - 0000286A 4E21 SHAR R14 - 0000286C 32DC ADD R13,R2 - 0000286E 4208 SHLL2 R2 - 00002870 4208 SHLL2 R2 - 00002872 302C ADD R2,R0 - 00002874 4E21 SHAR R14 - 00002876 4E21 SHAR R14 - 00002878 6403 MOV R0,R4 - 0000287A 34EC ADD R14,R4 - 0000287C 84FC MOV.B @(12,R15),R0 - Monochrome 1242 for(i=begin ; i127 || y<-15 || y>63) return; - 00002916 53F1 MOV.L @(4,R15),R3 - 00002918 2338 TST R3,R3 - 0000291A 8D67 BT/S L1517 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 123 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000291C 7C01 ADD #1,R12 - 0000291E E3F1 MOV #-15,R3 - 00002920 3E33 CMP/GE R3,R14 - 00002922 8B63 BF L1517 - 00002924 E17F MOV #127,R1 - 00002926 3E17 CMP/GT R1,R14 - 00002928 8960 BT L1517 - 0000292A 3D33 CMP/GE R3,R13 - 0000292C 8B5E BF L1517 - 0000292E E23F MOV #63,R2 - 00002930 3D27 CMP/GT R2,R13 - 00002932 895B BT L1517 - Monochrome 1259 if(y < 0) begin = -y; - 00002934 4D11 CMP/PZ R13 - 00002936 8D01 BT/S L1518 - Monochrome 1260 if(y > 48) end = 64-y; - 00002938 E230 MOV #48,R2 - 0000293A 6ADB NEG R13,R10 - 0000293C L1518: - 0000293C 3D27 CMP/GT R2,R13 - 0000293E 8B02 BF L1519 - 00002940 E040 MOV #64,R0 - 00002942 30D8 SUB R13,R0 - 00002944 80FC MOV.B R0,@(12,R15) - 00002946 L1519: - Monochrome 1261 shift = 8-(x&7); - 00002946 E307 MOV #7,R3 - 00002948 23E9 AND R14,R3 - 0000294A E808 MOV #8,R8 - Monochrome 1262 if(x < 0) bool1 = 0; - 0000294C 4E11 CMP/PZ R14 - 0000294E 8D01 BT/S L1520 - 00002950 3838 SUB R3,R8 - 00002952 6943 MOV R4,R9 - 00002954 L1520: - Monochrome 1263 if(x<-8 || x>119) bool2 = 0; - 00002954 E3F8 MOV #-8,R3 - 00002956 3E33 CMP/GE R3,R14 - 00002958 8B02 BF L1522 - 0000295A E177 MOV #119,R1 - 0000295C 3E17 CMP/GT R1,R14 - 0000295E 8B01 BF L1521 - 00002960 L1522: - 00002960 6043 MOV R4,R0 - 00002962 80F8 MOV.B R0,@(8,R15) - 00002964 L1521: - Monochrome 1264 if(x>111 || shift==8) bool3 = 0; - 00002964 E36F MOV #111,R3 - 00002966 3E37 CMP/GT R3,R14 - 00002968 8902 BT L1524 - 0000296A 608E EXTS.B R8,R0 - 0000296C 8808 CMP/EQ #8,R0 - 0000296E 8B00 BF L1523 - 00002970 L1524: - 00002970 6B43 MOV R4,R11 - 00002972 L1523: - Monochrome 1265 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 124 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002972 D323 MOV.L L1721,R3 ; _ML_vram_adress - 00002974 430B JSR @R3 - 00002976 0009 NOP - 00002978 53F1 MOV.L @(4,R15),R3 - 0000297A 62AE EXTS.B R10,R2 - 0000297C 32DC ADD R13,R2 - 0000297E 4208 SHLL2 R2 - 00002980 4208 SHLL2 R2 - 00002982 302C ADD R2,R0 - 00002984 4E21 SHAR R14 - 00002986 4E21 SHAR R14 - 00002988 4E21 SHAR R14 - 0000298A 6403 MOV R0,R4 - 0000298C 84FC MOV.B @(12,R15),R0 - 0000298E 34EC ADD R14,R4 - Monochrome 1266 for(i=begin ; i .DATA.L _ML_vram_adress - Monochrome 1275 #endif - Monochrome 1276 - Monochrome 1277 #ifdef ML_BMP_16_XOR_CL - Monochrome 1278 void ML_bmp_16_xor_cl(const unsigned short *bmp, int x, int y) - 00002A04 _ML_bmp_16_xor_cl: ; function: ML_bmp_16_xor_cl - ; frame size=48 - 00002A04 2FE6 MOV.L R14,@-R15 - Monochrome 1279 { - Monochrome 1280 unsigned long line; - Monochrome 1281 char i, shift, begin=0, end=16, bool1=1, bool2=1, bool3=1, *screen, *p=(char*)&line+1; - 00002A06 E010 MOV #16,R0 - 00002A08 2FD6 MOV.L R13,@-R15 - 00002A0A 6E53 MOV R5,R14 - 00002A0C 2FC6 MOV.L R12,@-R15 - 00002A0E 6D63 MOV R6,R13 - 00002A10 2FB6 MOV.L R11,@-R15 - 00002A12 E501 MOV #1,R5 - 00002A14 2FA6 MOV.L R10,@-R15 - 00002A16 2F96 MOV.L R9,@-R15 - 00002A18 2F86 MOV.L R8,@-R15 - 00002A1A 6953 MOV R5,R9 - 00002A1C 4F22 STS.L PR,@-R15 - 00002A1E 6B93 MOV R9,R11 - 00002A20 7FF0 ADD #-16,R15 - 00002A22 6CF3 MOV R15,R12 - 00002A24 1F41 MOV.L R4,@(4,R15) - 00002A26 E400 MOV #0,R4 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 126 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002A28 80FC MOV.B R0,@(12,R15) - 00002A2A 6A43 MOV R4,R10 - 00002A2C 6053 MOV R5,R0 - 00002A2E 80F8 MOV.B R0,@(8,R15) - Monochrome 1282 if(!bmp || x<-15 || x>127 || y<-15 || y>63) return; - 00002A30 53F1 MOV.L @(4,R15),R3 - 00002A32 2338 TST R3,R3 - 00002A34 8D65 BT/S L1532 - 00002A36 7C01 ADD #1,R12 - 00002A38 E3F1 MOV #-15,R3 - 00002A3A 3E33 CMP/GE R3,R14 - 00002A3C 8B61 BF L1532 - 00002A3E E17F MOV #127,R1 - 00002A40 3E17 CMP/GT R1,R14 - 00002A42 895E BT L1532 - 00002A44 3D33 CMP/GE R3,R13 - 00002A46 8B5C BF L1532 - 00002A48 E23F MOV #63,R2 - 00002A4A 3D27 CMP/GT R2,R13 - 00002A4C 8959 BT L1532 - Monochrome 1283 if(y < 0) begin = -y; - 00002A4E 4D11 CMP/PZ R13 - 00002A50 8D01 BT/S L1533 - Monochrome 1284 if(y > 48) end = 64-y; - 00002A52 E230 MOV #48,R2 - 00002A54 6ADB NEG R13,R10 - 00002A56 L1533: - 00002A56 3D27 CMP/GT R2,R13 - 00002A58 8B02 BF L1534 - 00002A5A E040 MOV #64,R0 - 00002A5C 30D8 SUB R13,R0 - 00002A5E 80FC MOV.B R0,@(12,R15) - 00002A60 L1534: - Monochrome 1285 shift = 8-(x&7); - 00002A60 E307 MOV #7,R3 - 00002A62 23E9 AND R14,R3 - 00002A64 E808 MOV #8,R8 - Monochrome 1286 if(x < 0) bool1 = 0; - 00002A66 4E11 CMP/PZ R14 - 00002A68 8D01 BT/S L1535 - 00002A6A 3838 SUB R3,R8 - 00002A6C 6943 MOV R4,R9 - 00002A6E L1535: - Monochrome 1287 if(x<-8 || x>119) bool2 = 0; - 00002A6E E3F8 MOV #-8,R3 - 00002A70 3E33 CMP/GE R3,R14 - 00002A72 8B02 BF L1537 - 00002A74 E177 MOV #119,R1 - 00002A76 3E17 CMP/GT R1,R14 - 00002A78 8B01 BF L1536 - 00002A7A L1537: - 00002A7A 6043 MOV R4,R0 - 00002A7C 80F8 MOV.B R0,@(8,R15) - 00002A7E L1536: - Monochrome 1288 if(x>111 || shift==8) bool3 = 0; - 00002A7E E36F MOV #111,R3 - 00002A80 3E37 CMP/GT R3,R14 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 127 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002A82 8902 BT L1539 - 00002A84 608E EXTS.B R8,R0 - 00002A86 8808 CMP/EQ #8,R0 - 00002A88 8B00 BF L1538 - 00002A8A L1539: - 00002A8A 6B43 MOV R4,R11 - 00002A8C L1538: - Monochrome 1289 screen = ML_vram_adress()+(y+begin<<4)+(x>>3); - 00002A8C D349 MOV.L L1722+2,R3 ; _ML_vram_adress - 00002A8E 430B JSR @R3 - 00002A90 0009 NOP - 00002A92 62AE EXTS.B R10,R2 - 00002A94 53F1 MOV.L @(4,R15),R3 - 00002A96 4E21 SHAR R14 - 00002A98 32DC ADD R13,R2 - 00002A9A 4208 SHLL2 R2 - 00002A9C 4208 SHLL2 R2 - 00002A9E 302C ADD R2,R0 - 00002AA0 4E21 SHAR R14 - 00002AA2 4E21 SHAR R14 - 00002AA4 6403 MOV R0,R4 - 00002AA6 34EC ADD R14,R4 - 00002AA8 84FC MOV.B @(12,R15),R0 - Monochrome 1290 for(i=begin ; i> 14 ; - 00002B86 E1F2 MOV #-14,R1 - 00002B88 53F3 MOV.L @(12,R15),R3 - Monochrome 1316 height_z = height * zoom_h14 >> 14; - 00002B8A E050 MOV #80,R0 - 00002B8C 62F2 MOV.L @R15,R2 - 00002B8E 0237 MUL.L R3,R2 - 00002B90 00FE MOV.L @(R0,R15),R0 - 00002B92 E3F2 MOV #-14,R3 - 00002B94 041A STS MACL,R4 - 00002B96 441C SHAD R1,R4 - 00002B98 51F2 MOV.L @(8,R15),R1 - Monochrome 1317 nb_width = width + 7 >> 3; - 00002B9A 7207 ADD #7,R2 - 00002B9C 0017 MUL.L R1,R0 - 00002B9E 4221 SHAR R2 - 00002BA0 071A STS MACL,R7 - 00002BA2 473C SHAD R3,R7 - 00002BA4 4221 SHAR R2 - 00002BA6 4221 SHAR R2 - Monochrome 1318 - Monochrome 1319 if (x < 0) begin_x = -x; - 00002BA8 4E11 CMP/PZ R14 - 00002BAA 8D0D BT/S L1549 - 00002BAC 1F27 MOV.L R2,@(28,R15) - 00002BAE A00C BRA L1550 - 00002BB0 66EB NEG R14,R6 - 00002BB2 L1722: - 00002BB2 0000 .DATA.W 0 - 00002BB4 <00000000> .DATA.L _ML_vram_adress - 00002BB8 <00000000> .DATA.L __lts - 00002BBC 46800000 .DATA.L H'46800000 - 00002BC0 <00000000> .DATA.L __muls - 00002BC4 <00000000> .DATA.L __stoi - 00002BC8 L1549: - Monochrome 1320 else begin_x = 0; - 00002BC8 E600 MOV #0,R6 - 00002BCA L1550: - Monochrome 1321 if (x+width_z > 128) end_x = 128-x; - 00002BCA 63E3 MOV R14,R3 - 00002BCC 9574 MOV.W L1724,R5 ; H'0080 - 00002BCE 334C ADD R4,R3 - 00002BD0 3357 CMP/GT R5,R3 - 00002BD2 8B03 BF L1551 - 00002BD4 6353 MOV R5,R3 - 00002BD6 33E8 SUB R14,R3 - 00002BD8 A001 BRA L1552 - 00002BDA 1F3A MOV.L R3,@(40,R15) - 00002BDC L1551: - Monochrome 1322 else end_x = width_z; - 00002BDC 1F4A MOV.L R4,@(40,R15) - 00002BDE L1552: - Monochrome 1323 if (y < 0) begin_y = -y; - 00002BDE 4A11 CMP/PZ R10 - 00002BE0 8D03 BT/S L1553 - Monochrome 1324 else begin_y = 0; - Monochrome 1325 if (y+height_z > 64) end_y = 64-y; - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 131 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002BE2 E440 MOV #64,R4 - 00002BE4 62AB NEG R10,R2 - 00002BE6 A002 BRA L1554 - 00002BE8 1F28 MOV.L R2,@(32,R15) - 00002BEA L1553: - 00002BEA E100 MOV #0,R1 - 00002BEC 1F18 MOV.L R1,@(32,R15) - 00002BEE L1554: - 00002BEE 63A3 MOV R10,R3 - 00002BF0 337C ADD R7,R3 - 00002BF2 3347 CMP/GT R4,R3 - 00002BF4 8F03 BF/S L1555 - Monochrome 1326 else end_y = height_z; - Monochrome 1327 - Monochrome 1328 for (iz=begin_x; iz> 3; - 00002C1A 6303 MOV R0,R3 - 00002C1C 4321 SHAR R3 - 00002C1E 4321 SHAR R3 - 00002C20 4321 SHAR R3 - Monochrome 1332 bit = 0x80 >> (i & 7); - 00002C22 24D9 AND R13,R4 - 00002C24 1F36 MOV.L R3,@(24,R15) - 00002C26 6253 MOV R5,R2 - 00002C28 644B NEG R4,R4 - 00002C2A 424C SHAD R4,R2 - 00002C2C 1F25 MOV.L R2,@(20,R15) - 00002C2E 67A3 MOV R10,R7 - Monochrome 1333 x_screen = x+iz; - 00002C30 2F92 MOV.L R9,@R15 - 00002C32 6193 MOV R9,R1 - Monochrome 1334 - Monochrome 1335 for (jz=begin_y; jz>3)] |= 128>>(x_screen&7); - 00002C7C 6313 MOV R1,R3 - 00002C7E 2338 TST R3,R3 - 00002C80 8D04 BT/S L1561 - 00002C82 2F12 MOV.L R1,@R15 - 00002C84 53F4 MOV.L @(16,R15),R3 - 00002C86 6270 MOV.B @R7,R2 - 00002C88 223B OR R3,R2 - 00002C8A 2720 MOV.B R2,@R7 - 00002C8C L1561: - 00002C8C 7401 ADD #1,R4 - 00002C8E 7710 ADD #16,R7 - 00002C90 34C3 CMP/GE R12,R4 - 00002C92 8FE4 BF/S L1560 - 00002C94 36EC ADD R14,R6 - 00002C96 L1559: - 00002C96 7801 ADD #1,R8 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 133 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002C98 7901 ADD #1,R9 - 00002C9A 3BEC ADD R14,R11 - 00002C9C L1557: - 00002C9C 52FA MOV.L @(40,R15),R2 - 00002C9E 3823 CMP/GE R2,R8 - 00002CA0 8BB6 BF L1558 - 00002CA2 L1546: - Monochrome 1341 } - Monochrome 1342 } - Monochrome 1343 } - 00002CA2 7F2C ADD #44,R15 - 00002CA4 4F16 LDS.L @R15+,MACL - 00002CA6 4F26 LDS.L @R15+,PR - 00002CA8 68F6 MOV.L @R15+,R8 - 00002CAA 69F6 MOV.L @R15+,R9 - 00002CAC 6AF6 MOV.L @R15+,R10 - 00002CAE 6BF6 MOV.L @R15+,R11 - 00002CB0 6CF6 MOV.L @R15+,R12 - 00002CB2 6DF6 MOV.L @R15+,R13 - 00002CB4 000B RTS - 00002CB6 6EF6 MOV.L @R15+,R14 - 00002CB8 L1724: - 00002CB8 0080 .DATA.W H'0080 - 00002CBA 4000 .DATA.W H'4000 - 00002CBC <00000000> .DATA.L __divls - Monochrome 1344 #endif - Monochrome 1345 - Monochrome 1346 #ifdef ML_BMP_AND_ZOOM - Monochrome 1347 void ML_bmp_and_zoom(const unsigned char *bmp, int x, int y, int width, int height, float zoom_w, float zo - +om_h) - 00002CC0 _ML_bmp_and_zoom: ; function: ML_bmp_and_zoom - ; frame size=80 - ; used runtime library name: - ; __divls, __muls, __stoi, __lts - 00002CC0 2FE6 MOV.L R14,@-R15 - 00002CC2 E054 MOV #84,R0 - Monochrome 1348 { - Monochrome 1349 int i, j, iz, jz, width_z, height_z, nb_width, i3, bit, x_screen, pixel; - Monochrome 1350 int zoom_w14, zoom_h14; - Monochrome 1351 int begin_x, end_x, begin_y, end_y; - Monochrome 1352 char* vram = ML_vram_adress(); - 00002CC4 D338 MOV.L L1725+4,R3 ; _ML_vram_adress - 00002CC6 6E53 MOV R5,R14 - 00002CC8 2FD6 MOV.L R13,@-R15 - 00002CCA 2FC6 MOV.L R12,@-R15 - 00002CCC 2FB6 MOV.L R11,@-R15 - 00002CCE 2FA6 MOV.L R10,@-R15 - 00002CD0 2F96 MOV.L R9,@-R15 - 00002CD2 6A63 MOV R6,R10 - 00002CD4 2F86 MOV.L R8,@-R15 - 00002CD6 4F22 STS.L PR,@-R15 - 00002CD8 4F12 STS.L MACL,@-R15 - 00002CDA 7FD4 ADD #-44,R15 - 00002CDC 1F41 MOV.L R4,@(4,R15) - 00002CDE 2F72 MOV.L R7,@R15 - 00002CE0 0DFE MOV.L @(R0,R15),R13 - 00002CE2 E058 MOV #88,R0 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 134 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002CE4 430B JSR @R3 - 00002CE6 0CFE MOV.L @(R0,R15),R12 - 00002CE8 1F09 MOV.L R0,@(36,R15) - Monochrome 1353 - Monochrome 1354 if (!bmp) return; - 00002CEA 53F1 MOV.L @(4,R15),R3 - 00002CEC 2338 TST R3,R3 - 00002CEE 8B01 BF L1726 - 00002CF0 A0B1 BRA L1563 - 00002CF2 0009 NOP - 00002CF4 L1726: - Monochrome 1355 if (zoom_h < 0) zoom_h = 0; - 00002CF4 D32D MOV.L L1725+8,R3 ; __lts - 00002CF6 61C3 MOV R12,R1 - 00002CF8 430B JSR @R3 - 00002CFA E000 MOV #0,R0 - 00002CFC 8800 CMP/EQ #0,R0 - 00002CFE 8D01 BT/S L1564 - Monochrome 1356 if (zoom_w < 0) zoom_w = 0; - 00002D00 61D3 MOV R13,R1 - 00002D02 EC00 MOV #0,R12 - 00002D04 L1564: - 00002D04 D229 MOV.L L1725+8,R2 ; __lts - 00002D06 420B JSR @R2 - 00002D08 E000 MOV #0,R0 - 00002D0A 8800 CMP/EQ #0,R0 - 00002D0C 8900 BT L1565 - 00002D0E ED00 MOV #0,R13 - 00002D10 L1565: - Monochrome 1357 zoom_w14 = zoom_w * 16384; - 00002D10 D027 MOV.L L1725+12,R0; H'46800000 - 00002D12 D328 MOV.L L1725+16,R3; __muls - 00002D14 430B JSR @R3 - 00002D16 61D3 MOV R13,R1 - 00002D18 D227 MOV.L L1725+20,R2; __stoi - 00002D1A 420B JSR @R2 - 00002D1C 0009 NOP - 00002D1E 1F03 MOV.L R0,@(12,R15) - Monochrome 1358 zoom_h14 = zoom_h * 16384; - 00002D20 D023 MOV.L L1725+12,R0; H'46800000 - 00002D22 D324 MOV.L L1725+16,R3; __muls - 00002D24 430B JSR @R3 - 00002D26 61C3 MOV R12,R1 - 00002D28 D223 MOV.L L1725+20,R2; __stoi - 00002D2A 420B JSR @R2 - 00002D2C 0009 NOP - Monochrome 1359 width_z = width * zoom_w14 >> 14 ; - 00002D2E E1F2 MOV #-14,R1 - 00002D30 1F02 MOV.L R0,@(8,R15) - Monochrome 1360 height_z = height * zoom_h14 >> 14; - 00002D32 E050 MOV #80,R0 - 00002D34 53F3 MOV.L @(12,R15),R3 - 00002D36 62F2 MOV.L @R15,R2 - 00002D38 00FE MOV.L @(R0,R15),R0 - 00002D3A 0237 MUL.L R3,R2 - 00002D3C 041A STS MACL,R4 - 00002D3E 441C SHAD R1,R4 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 135 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002D40 51F2 MOV.L @(8,R15),R1 - 00002D42 E3F2 MOV #-14,R3 - 00002D44 0017 MUL.L R1,R0 - Monochrome 1361 nb_width = width + 7 >> 3; - 00002D46 7207 ADD #7,R2 - 00002D48 071A STS MACL,R7 - 00002D4A 473C SHAD R3,R7 - 00002D4C 4221 SHAR R2 - 00002D4E 4221 SHAR R2 - 00002D50 4221 SHAR R2 - Monochrome 1362 - Monochrome 1363 if (x < 0) begin_x = -x; - 00002D52 4E11 CMP/PZ R14 - 00002D54 8D02 BT/S L1566 - 00002D56 1F27 MOV.L R2,@(28,R15) - 00002D58 A001 BRA L1567 - 00002D5A 66EB NEG R14,R6 - 00002D5C L1566: - Monochrome 1364 else begin_x = 0; - 00002D5C E600 MOV #0,R6 - 00002D5E L1567: - Monochrome 1365 if (x+width_z > 128) end_x = 128-x; - 00002D5E 63E3 MOV R14,R3 - 00002D60 9520 MOV.W L1725,R5 ; H'0080 - 00002D62 334C ADD R4,R3 - 00002D64 3357 CMP/GT R5,R3 - 00002D66 8B03 BF L1568 - 00002D68 6353 MOV R5,R3 - 00002D6A 33E8 SUB R14,R3 - 00002D6C A001 BRA L1569 - 00002D6E 1F3A MOV.L R3,@(40,R15) - 00002D70 L1568: - Monochrome 1366 else end_x = width_z; - 00002D70 1F4A MOV.L R4,@(40,R15) - 00002D72 L1569: - Monochrome 1367 if (y < 0) begin_y = -y; - 00002D72 4A11 CMP/PZ R10 - 00002D74 8D03 BT/S L1570 - Monochrome 1368 else begin_y = 0; - Monochrome 1369 if (y+height_z > 64) end_y = 64-y; - 00002D76 E440 MOV #64,R4 - 00002D78 62AB NEG R10,R2 - 00002D7A A002 BRA L1571 - 00002D7C 1F28 MOV.L R2,@(32,R15) - 00002D7E L1570: - 00002D7E E100 MOV #0,R1 - 00002D80 1F18 MOV.L R1,@(32,R15) - 00002D82 L1571: - 00002D82 63A3 MOV R10,R3 - 00002D84 337C ADD R7,R3 - 00002D86 3347 CMP/GT R4,R3 - 00002D88 8F03 BF/S L1572 - Monochrome 1370 else end_y = height_z; - Monochrome 1371 - Monochrome 1372 for (iz=begin_x; iz .DATA.L _ML_vram_adress - 00002DAC <00000000> .DATA.L __lts - 00002DB0 46800000 .DATA.L H'46800000 - 00002DB4 <00000000> .DATA.L __muls - 00002DB8 <00000000> .DATA.L __stoi - 00002DBC L1575: - Monochrome 1373 { - Monochrome 1374 i = (iz << 14) / zoom_w14; - 00002DBC D352 MOV.L L1727,R3 ; __divls - 00002DBE 61B3 MOV R11,R1 - 00002DC0 430B JSR @R3 - 00002DC2 50F3 MOV.L @(12,R15),R0 - 00002DC4 6403 MOV R0,R4 - Monochrome 1375 i3 = i >> 3; - 00002DC6 6303 MOV R0,R3 - 00002DC8 4321 SHAR R3 - 00002DCA 4321 SHAR R3 - 00002DCC 4321 SHAR R3 - Monochrome 1376 bit = 0x80 >> (i & 7); - 00002DCE 24D9 AND R13,R4 - 00002DD0 1F36 MOV.L R3,@(24,R15) - 00002DD2 6253 MOV R5,R2 - 00002DD4 644B NEG R4,R4 - 00002DD6 424C SHAD R4,R2 - 00002DD8 1F25 MOV.L R2,@(20,R15) - 00002DDA 67A3 MOV R10,R7 - Monochrome 1377 x_screen = x+iz; - 00002DDC 2F92 MOV.L R9,@R15 - 00002DDE 6193 MOV R9,R1 - Monochrome 1378 - Monochrome 1379 for (jz=begin_y; jz>3)] &= ~(128>>(x_screen&7)); - 00002E2E 6313 MOV R1,R3 - 00002E30 2338 TST R3,R3 - 00002E32 8F05 BF/S L1578 - 00002E34 2F12 MOV.L R1,@R15 - 00002E36 E010 MOV #16,R0 - 00002E38 6270 MOV.B @R7,R2 - 00002E3A 03FC MOV.B @(R0,R15),R3 - 00002E3C 2239 AND R3,R2 - 00002E3E 2720 MOV.B R2,@R7 - 00002E40 L1578: - 00002E40 7401 ADD #1,R4 - 00002E42 7710 ADD #16,R7 - 00002E44 34C3 CMP/GE R12,R4 - 00002E46 8FE3 BF/S L1577 - 00002E48 36EC ADD R14,R6 - 00002E4A L1576: - 00002E4A 7801 ADD #1,R8 - 00002E4C 7901 ADD #1,R9 - 00002E4E 3BEC ADD R14,R11 - 00002E50 L1574: - 00002E50 52FA MOV.L @(40,R15),R2 - 00002E52 3823 CMP/GE R2,R8 - 00002E54 8BB2 BF L1575 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 138 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002E56 L1563: - Monochrome 1384 } - Monochrome 1385 } - Monochrome 1386 } - 00002E56 7F2C ADD #44,R15 - 00002E58 4F16 LDS.L @R15+,MACL - 00002E5A 4F26 LDS.L @R15+,PR - 00002E5C 68F6 MOV.L @R15+,R8 - 00002E5E 69F6 MOV.L @R15+,R9 - 00002E60 6AF6 MOV.L @R15+,R10 - 00002E62 6BF6 MOV.L @R15+,R11 - 00002E64 6CF6 MOV.L @R15+,R12 - 00002E66 6DF6 MOV.L @R15+,R13 - 00002E68 000B RTS - 00002E6A 6EF6 MOV.L @R15+,R14 - Monochrome 1387 #endif - Monochrome 1388 - Monochrome 1389 #ifdef ML_BMP_XOR_ZOOM - Monochrome 1390 void ML_bmp_xor_zoom(const unsigned char *bmp, int x, int y, int width, int height, float zoom_w, float zo - +om_h) - 00002E6C _ML_bmp_xor_zoom: ; function: ML_bmp_xor_zoom - ; frame size=80 - ; used runtime library name: - ; __divls, __muls, __stoi, __lts - 00002E6C 2FE6 MOV.L R14,@-R15 - 00002E6E E054 MOV #84,R0 - Monochrome 1391 { - Monochrome 1392 int i, j, iz, jz, width_z, height_z, nb_width, i3, bit, x_screen, pixel; - Monochrome 1393 int zoom_w14, zoom_h14; - Monochrome 1394 int begin_x, end_x, begin_y, end_y; - Monochrome 1395 char* vram = ML_vram_adress(); - 00002E70 D326 MOV.L L1727+4,R3 ; _ML_vram_adress - 00002E72 6E53 MOV R5,R14 - 00002E74 2FD6 MOV.L R13,@-R15 - 00002E76 2FC6 MOV.L R12,@-R15 - 00002E78 2FB6 MOV.L R11,@-R15 - 00002E7A 2FA6 MOV.L R10,@-R15 - 00002E7C 2F96 MOV.L R9,@-R15 - 00002E7E 6A63 MOV R6,R10 - 00002E80 2F86 MOV.L R8,@-R15 - 00002E82 4F22 STS.L PR,@-R15 - 00002E84 4F12 STS.L MACL,@-R15 - 00002E86 7FD4 ADD #-44,R15 - 00002E88 1F41 MOV.L R4,@(4,R15) - 00002E8A 2F72 MOV.L R7,@R15 - 00002E8C 0DFE MOV.L @(R0,R15),R13 - 00002E8E E058 MOV #88,R0 - 00002E90 430B JSR @R3 - 00002E92 0CFE MOV.L @(R0,R15),R12 - 00002E94 1F09 MOV.L R0,@(36,R15) - Monochrome 1396 - Monochrome 1397 if (!bmp) return; - 00002E96 53F1 MOV.L @(4,R15),R3 - 00002E98 2338 TST R3,R3 - 00002E9A 8B01 BF L1728 - 00002E9C A0AD BRA L1580 - 00002E9E 0009 NOP - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 139 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00002EA0 L1728: - Monochrome 1398 if (zoom_h < 0) zoom_h = 0; - 00002EA0 D31B MOV.L L1727+8,R3 ; __lts - 00002EA2 61C3 MOV R12,R1 - 00002EA4 430B JSR @R3 - 00002EA6 E000 MOV #0,R0 - 00002EA8 8800 CMP/EQ #0,R0 - 00002EAA 8D01 BT/S L1581 - Monochrome 1399 if (zoom_w < 0) zoom_w = 0; - 00002EAC 61D3 MOV R13,R1 - 00002EAE EC00 MOV #0,R12 - 00002EB0 L1581: - 00002EB0 D217 MOV.L L1727+8,R2 ; __lts - 00002EB2 420B JSR @R2 - 00002EB4 E000 MOV #0,R0 - 00002EB6 8800 CMP/EQ #0,R0 - 00002EB8 8900 BT L1582 - 00002EBA ED00 MOV #0,R13 - 00002EBC L1582: - Monochrome 1400 zoom_w14 = zoom_w * 16384; - 00002EBC D015 MOV.L L1727+12,R0; H'46800000 - 00002EBE D316 MOV.L L1727+16,R3; __muls - 00002EC0 430B JSR @R3 - 00002EC2 61D3 MOV R13,R1 - 00002EC4 D215 MOV.L L1727+20,R2; __stoi - 00002EC6 420B JSR @R2 - 00002EC8 0009 NOP - 00002ECA 1F03 MOV.L R0,@(12,R15) - Monochrome 1401 zoom_h14 = zoom_h * 16384; - 00002ECC D011 MOV.L L1727+12,R0; H'46800000 - 00002ECE D312 MOV.L L1727+16,R3; __muls - 00002ED0 430B JSR @R3 - 00002ED2 61C3 MOV R12,R1 - 00002ED4 D211 MOV.L L1727+20,R2; __stoi - 00002ED6 420B JSR @R2 - 00002ED8 0009 NOP - Monochrome 1402 width_z = width * zoom_w14 >> 14 ; - 00002EDA E1F2 MOV #-14,R1 - 00002EDC 1F02 MOV.L R0,@(8,R15) - Monochrome 1403 height_z = height * zoom_h14 >> 14; - 00002EDE E050 MOV #80,R0 - 00002EE0 53F3 MOV.L @(12,R15),R3 - 00002EE2 62F2 MOV.L @R15,R2 - 00002EE4 00FE MOV.L @(R0,R15),R0 - 00002EE6 0237 MUL.L R3,R2 - 00002EE8 041A STS MACL,R4 - 00002EEA 441C SHAD R1,R4 - 00002EEC 51F2 MOV.L @(8,R15),R1 - 00002EEE E3F2 MOV #-14,R3 - 00002EF0 0017 MUL.L R1,R0 - Monochrome 1404 nb_width = width + 7 >> 3; - 00002EF2 7207 ADD #7,R2 - 00002EF4 071A STS MACL,R7 - 00002EF6 473C SHAD R3,R7 - 00002EF8 4221 SHAR R2 - 00002EFA 4221 SHAR R2 - 00002EFC 4221 SHAR R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 140 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 1405 - Monochrome 1406 if (x < 0) begin_x = -x; - 00002EFE 4E11 CMP/PZ R14 - 00002F00 8D0E BT/S L1583 - 00002F02 1F27 MOV.L R2,@(28,R15) - 00002F04 A00D BRA L1584 - 00002F06 66EB NEG R14,R6 - 00002F08 L1727: - 00002F08 <00000000> .DATA.L __divls - 00002F0C <00000000> .DATA.L _ML_vram_adress - 00002F10 <00000000> .DATA.L __lts - 00002F14 46800000 .DATA.L H'46800000 - 00002F18 <00000000> .DATA.L __muls - 00002F1C <00000000> .DATA.L __stoi - 00002F20 L1583: - Monochrome 1407 else begin_x = 0; - 00002F20 E600 MOV #0,R6 - 00002F22 L1584: - Monochrome 1408 if (x+width_z > 128) end_x = 128-x; - 00002F22 63E3 MOV R14,R3 - 00002F24 9574 MOV.W L1729,R5 ; H'0080 - 00002F26 334C ADD R4,R3 - 00002F28 3357 CMP/GT R5,R3 - 00002F2A 8B03 BF L1585 - 00002F2C 6353 MOV R5,R3 - 00002F2E 33E8 SUB R14,R3 - 00002F30 A001 BRA L1586 - 00002F32 1F3A MOV.L R3,@(40,R15) - 00002F34 L1585: - Monochrome 1409 else end_x = width_z; - 00002F34 1F4A MOV.L R4,@(40,R15) - 00002F36 L1586: - Monochrome 1410 if (y < 0) begin_y = -y; - 00002F36 4A11 CMP/PZ R10 - 00002F38 8D03 BT/S L1587 - Monochrome 1411 else begin_y = 0; - Monochrome 1412 if (y+height_z > 64) end_y = 64-y; - 00002F3A E440 MOV #64,R4 - 00002F3C 62AB NEG R10,R2 - 00002F3E A002 BRA L1588 - 00002F40 1F28 MOV.L R2,@(32,R15) - 00002F42 L1587: - 00002F42 E100 MOV #0,R1 - 00002F44 1F18 MOV.L R1,@(32,R15) - 00002F46 L1588: - 00002F46 63A3 MOV R10,R3 - 00002F48 337C ADD R7,R3 - 00002F4A 3347 CMP/GT R4,R3 - 00002F4C 8F03 BF/S L1589 - Monochrome 1413 else end_y = height_z; - Monochrome 1414 - Monochrome 1415 for (iz=begin_x; iz> 3; - 00002F72 6303 MOV R0,R3 - 00002F74 4321 SHAR R3 - 00002F76 4321 SHAR R3 - 00002F78 4321 SHAR R3 - Monochrome 1419 bit = 0x80 >> (i & 7); - 00002F7A 24D9 AND R13,R4 - 00002F7C 1F36 MOV.L R3,@(24,R15) - 00002F7E 6253 MOV R5,R2 - 00002F80 644B NEG R4,R4 - 00002F82 424C SHAD R4,R2 - 00002F84 1F25 MOV.L R2,@(20,R15) - 00002F86 67A3 MOV R10,R7 - Monochrome 1420 x_screen = x+iz; - 00002F88 2F92 MOV.L R9,@R15 - 00002F8A 6193 MOV R9,R1 - Monochrome 1421 - Monochrome 1422 for (jz=begin_y; jz>3)] ^= 128>>(x_screen&7); - 00002FD4 6313 MOV R1,R3 - 00002FD6 2338 TST R3,R3 - 00002FD8 8D04 BT/S L1595 - 00002FDA 2F12 MOV.L R1,@R15 - 00002FDC 53F4 MOV.L @(16,R15),R3 - 00002FDE 6270 MOV.B @R7,R2 - 00002FE0 223A XOR R3,R2 - 00002FE2 2720 MOV.B R2,@R7 - 00002FE4 L1595: - 00002FE4 7401 ADD #1,R4 - 00002FE6 7710 ADD #16,R7 - 00002FE8 34C3 CMP/GE R12,R4 - 00002FEA 8FE4 BF/S L1594 - 00002FEC 36EC ADD R14,R6 - 00002FEE L1593: - 00002FEE 7801 ADD #1,R8 - 00002FF0 7901 ADD #1,R9 - 00002FF2 3BEC ADD R14,R11 - 00002FF4 L1591: - 00002FF4 52FA MOV.L @(40,R15),R2 - 00002FF6 3823 CMP/GE R2,R8 - 00002FF8 8BB6 BF L1592 - 00002FFA L1580: - Monochrome 1427 } - Monochrome 1428 } - Monochrome 1429 } - 00002FFA 7F2C ADD #44,R15 - 00002FFC 4F16 LDS.L @R15+,MACL - 00002FFE 4F26 LDS.L @R15+,PR - 00003000 68F6 MOV.L @R15+,R8 - 00003002 69F6 MOV.L @R15+,R9 - 00003004 6AF6 MOV.L @R15+,R10 - 00003006 6BF6 MOV.L @R15+,R11 - 00003008 6CF6 MOV.L @R15+,R12 - 0000300A 6DF6 MOV.L @R15+,R13 - 0000300C 000B RTS - 0000300E 6EF6 MOV.L @R15+,R14 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 143 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00003010 L1729: - 00003010 0080 .DATA.W H'0080 - 00003012 4000 .DATA.W H'4000 - 00003014 <00000000> .DATA.L __divls - Monochrome 1430 #endif - Monochrome 1431 - Monochrome 1432 #ifdef ML_BMP_OR_ROTATE - Monochrome 1433 void ML_bmp_or_rotate(const unsigned char *bmp, int x, int y, int width, int height, int angle) - 00003018 _ML_bmp_or_rotate: ; function: ML_bmp_or_rotate - ; frame size=128 - ; used runtime library name: - ; __modls, __muls, __muld, __divdr, __negd, __dtos, __stoi, __itod - 00003018 2FE6 MOV.L R14,@-R15 - 0000301A E058 MOV #88,R0 - Monochrome 1434 { - Monochrome 1435 int i, j, i3, dx, dy, ox, oy, xr, yr, nb_width, pixel, bit; - Monochrome 1436 int cosinus, sinus; - Monochrome 1437 char* vram = ML_vram_adress(); - 0000301C D347 MOV.L L1730+12,R3; _ML_vram_adress - 0000301E 2FD6 MOV.L R13,@-R15 - 00003020 2FC6 MOV.L R12,@-R15 - 00003022 2FB6 MOV.L R11,@-R15 - 00003024 2FA6 MOV.L R10,@-R15 - 00003026 2F96 MOV.L R9,@-R15 - 00003028 2F86 MOV.L R8,@-R15 - 0000302A E900 MOV #0,R9 - 0000302C 4F22 STS.L PR,@-R15 - 0000302E 4F12 STS.L MACL,@-R15 - 00003030 7FD0 ADD #-48,R15 - 00003032 1F47 MOV.L R4,@(28,R15) - 00003034 1F55 MOV.L R5,@(20,R15) - 00003036 1F66 MOV.L R6,@(24,R15) - 00003038 1F74 MOV.L R7,@(16,R15) - 0000303A 430B JSR @R3 - 0000303C 0EFE MOV.L @(R0,R15),R14 - 0000303E 1F0B MOV.L R0,@(44,R15) - Monochrome 1438 - Monochrome 1439 if (!bmp) return; - 00003040 53F7 MOV.L @(28,R15),R3 - 00003042 2338 TST R3,R3 - 00003044 8B01 BF L1731 - 00003046 A0F8 BRA L1597 - 00003048 0009 NOP - 0000304A L1731: - Monochrome 1440 ox = x + width / 2; - 0000304A E200 MOV #0,R2 - 0000304C 51F5 MOV.L @(20,R15),R1 - Monochrome 1441 oy = y + height / 2; - 0000304E E054 MOV #84,R0 - Monochrome 1442 angle %= 360; - 00003050 946E MOV.W L1730,R4 ; H'0168 - 00003052 53F4 MOV.L @(16,R15),R3 - 00003054 3237 CMP/GT R3,R2 - 00003056 332E ADDC R2,R3 - 00003058 4321 SHAR R3 - 0000305A 331C ADD R1,R3 - 0000305C 1F32 MOV.L R3,@(8,R15) - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 144 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 0000305E 02FE MOV.L @(R0,R15),R2 - 00003060 D337 MOV.L L1730+16,R3; __modls - 00003062 E000 MOV #0,R0 - 00003064 3027 CMP/GT R2,R0 - 00003066 320E ADDC R0,R2 - 00003068 50F6 MOV.L @(24,R15),R0 - 0000306A 4221 SHAR R2 - 0000306C 320C ADD R0,R2 - 0000306E 6043 MOV R4,R0 - 00003070 1F21 MOV.L R2,@(4,R15) - 00003072 430B JSR @R3 - 00003074 61E3 MOV R14,R1 - 00003076 6E03 MOV R0,R14 - Monochrome 1443 if (angle < 0) angle += 360; - 00003078 4E11 CMP/PZ R14 - 0000307A 8900 BT L1598 - 0000307C 3E4C ADD R4,R14 - 0000307E L1598: - Monochrome 1444 if (angle == 0) {cosinus = 16384; sinus = 0;} - 0000307E 2EE8 TST R14,R14 - 00003080 9457 MOV.W L1730+2,R4 ; H'4000 - 00003082 8B01 BF L1599 - 00003084 A00B BRA L1096 - 00003086 6D43 MOV R4,R13 - 00003088 L1599: - Monochrome 1445 else if (angle == 90) {cosinus = 0; sinus = -16384;} - 00003088 9554 MOV.W L1730+4,R5 ; H'C000 - 0000308A 60E3 MOV R14,R0 - 0000308C 885A CMP/EQ #90,R0 - 0000308E 8B02 BF L1601 - 00003090 6D93 MOV R9,R13 - 00003092 A043 BRA L1600 - 00003094 6B53 MOV R5,R11 - 00003096 L1601: - Monochrome 1446 else if (angle == 180) {cosinus = -16384; sinus = 0;} - 00003096 924E MOV.W L1730+6,R2 ; H'00B4 - 00003098 3E20 CMP/EQ R2,R14 - 0000309A 8B02 BF L1603 - 0000309C 6D53 MOV R5,R13 - 0000309E L1096: - 0000309E A03D BRA L1600 - 000030A0 6B93 MOV R9,R11 - 000030A2 L1603: - Monochrome 1447 else if (angle == 270) {cosinus = 0; sinus = 16384;} - 000030A2 9349 MOV.W L1730+8,R3 ; H'010E - 000030A4 3E30 CMP/EQ R3,R14 - 000030A6 8B02 BF L1605 - 000030A8 6D93 MOV R9,R13 - 000030AA A037 BRA L1600 - 000030AC 6B43 MOV R4,R11 - 000030AE L1605: - Monochrome 1448 else - Monochrome 1449 { - Monochrome 1450 cosinus = cosf(-3.14 * angle / 180.0) * 16384; - 000030AE 60E3 MOV R14,R0 - 000030B0 D124 MOV.L L1730+20,R1; __itod - 000030B2 7FE0 ADD #-32,R15 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 145 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000030B4 410B JSR @R1 - 000030B6 2FF6 MOV.L R15,@-R15 - 000030B8 D023 MOV.L L1730+24,R0; H'51EB851F - 000030BA 2F06 MOV.L R0,@-R15 - 000030BC D023 MOV.L L1730+28,R0; H'40091EB8 - 000030BE 2F06 MOV.L R0,@-R15 - 000030C0 D023 MOV.L L1730+32,R0; __muld - 000030C2 61F3 MOV R15,R1 - 000030C4 7110 ADD #16,R1 - 000030C6 400B JSR @R0 - 000030C8 2F16 MOV.L R1,@-R15 - 000030CA E108 MOV #8,R1 - 000030CC 31FC ADD R15,R1 - 000030CE 2F16 MOV.L R1,@-R15 - 000030D0 D120 MOV.L L1730+36,R1; __negd - 000030D2 410B JSR @R1 - 000030D4 0009 NOP - 000030D6 E000 MOV #0,R0 - 000030D8 2F06 MOV.L R0,@-R15 - 000030DA D01F MOV.L L1730+40,R0; H'40668000 - 000030DC 2F06 MOV.L R0,@-R15 - 000030DE 61F3 MOV R15,R1 - 000030E0 D01E MOV.L L1730+44,R0; __divdr - 000030E2 7110 ADD #16,R1 - 000030E4 400B JSR @R0 - 000030E6 2F16 MOV.L R1,@-R15 - 000030E8 D11D MOV.L L1730+48,R1; __dtos - 000030EA 410B JSR @R1 - 000030EC 0009 NOP - 000030EE 1F03 MOV.L R0,@(12,R15) - 000030F0 D21C MOV.L L1730+52,R2; _cosf - 000030F2 420B JSR @R2 - 000030F4 6403 MOV R0,R4 - 000030F6 D11C MOV.L L1730+56,R1; H'46800000 - 000030F8 D31C MOV.L L1730+60,R3; __muls - 000030FA 430B JSR @R3 - 000030FC 0009 NOP - 000030FE D21C MOV.L L1730+64,R2; __stoi - 00003100 420B JSR @R2 - 00003102 0009 NOP - Monochrome 1451 sinus = sinf(-3.14 * angle / 180.0) * 16384; - 00003104 D31B MOV.L L1730+68,R3; _sinf - 00003106 6D03 MOV R0,R13 - 00003108 430B JSR @R3 - 0000310A 54F3 MOV.L @(12,R15),R4 - 0000310C D116 MOV.L L1730+56,R1; H'46800000 - 0000310E D217 MOV.L L1730+60,R2; __muls - 00003110 420B JSR @R2 - 00003112 0009 NOP - 00003114 D316 MOV.L L1730+64,R3; __stoi - 00003116 430B JSR @R3 - 00003118 0009 NOP - 0000311A 6B03 MOV R0,R11 - 0000311C L1600: - Monochrome 1452 } - Monochrome 1453 nb_width = width + 7 >> 3; - 0000311C 52F4 MOV.L @(16,R15),R2 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 146 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - Monochrome 1454 - Monochrome 1455 for (i=0; i .DATA.L _ML_vram_adress - 00003140 <00000000> .DATA.L __modls - 00003144 <00000000> .DATA.L __itod - 00003148 51EB851F .DATA.L H'51EB851F - 0000314C 40091EB8 .DATA.L H'40091EB8 - 00003150 <00000000> .DATA.L __muld - 00003154 <00000000> .DATA.L __negd - 00003158 40668000 .DATA.L H'40668000 - 0000315C <00000000> .DATA.L __divdr - 00003160 <00000000> .DATA.L __dtos - 00003164 <00000000> .DATA.L _cosf - 00003168 46800000 .DATA.L H'46800000 - 0000316C <00000000> .DATA.L __muls - 00003170 <00000000> .DATA.L __stoi - 00003174 <00000000> .DATA.L _sinf - 00003178 L1608: - Monochrome 1456 { - Monochrome 1457 bit = 0x80 >> (i & 7); - 00003178 6263 MOV R6,R2 - 0000317A 22A9 AND R10,R2 - 0000317C 622B NEG R2,R2 - 0000317E 6383 MOV R8,R3 - 00003180 432C SHAD R2,R3 - Monochrome 1458 i3 = i >> 3; - 00003182 6563 MOV R6,R5 - 00003184 1F38 MOV.L R3,@(32,R15) - Monochrome 1459 dx = x + i - ox; - Monochrome 1460 for (j=0; j> 14); - 000031BC 54F9 MOV.L @(36,R15),R4 - Monochrome 1464 yr = oy + (dx * sinus + dy * cosinus >> 14); - 000031BE E1F2 MOV #-14,R1 - 000031C0 50F1 MOV.L @(4,R15),R0 - 000031C2 65E3 MOV R14,R5 - 000031C4 52F2 MOV.L @(8,R15),R2 - 000031C6 05B7 MUL.L R11,R5 - 000031C8 031A STS MACL,R3 - 000031CA 3438 SUB R3,R4 - 000031CC 05D7 MUL.L R13,R5 - 000031CE E3F2 MOV #-14,R3 - 000031D0 443C SHAD R3,R4 - 000031D2 342C ADD R2,R4 - 000031D4 53FA MOV.L @(40,R15),R3 - 000031D6 051A STS MACL,R5 - 000031D8 353C ADD R3,R5 - 000031DA 451C SHAD R1,R5 - Monochrome 1465 if (!(xr < 0 || xr > 127 || yr < 0 || yr > 63)) - 000031DC 4411 CMP/PZ R4 - 000031DE 8F20 BF/S L1611 - 000031E0 350C ADD R0,R5 - 000031E2 E17F MOV #127,R1 - 000031E4 3417 CMP/GT R1,R4 - 000031E6 891C BT L1611 - 000031E8 4511 CMP/PZ R5 - 000031EA 8B1A BF L1611 - 000031EC E33F MOV #63,R3 - 000031EE 3537 CMP/GT R3,R5 - 000031F0 8917 BT L1611 - Monochrome 1466 { - Monochrome 1467 pixel = bmp[i3 + nb_width * j] & bit; - 000031F2 6170 MOV.B @R7,R1 - 000031F4 53F8 MOV.L @(32,R15),R3 - 000031F6 611C EXTU.B R1,R1 - 000031F8 2139 AND R3,R1 - Monochrome 1468 if (pixel != 0) vram[(yr<<4)+(xr>>3)] |= 128>>(xr&7); - 000031FA 2118 TST R1,R1 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 148 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000031FC 8D11 BT/S L1611 - 000031FE 1F13 MOV.L R1,@(12,R15) - 00003200 50FB MOV.L @(44,R15),R0 - 00003202 6183 MOV R8,R1 - 00003204 6253 MOV R5,R2 - 00003206 4208 SHLL2 R2 - 00003208 4208 SHLL2 R2 - 0000320A 6343 MOV R4,R3 - 0000320C 4321 SHAR R3 - 0000320E 4321 SHAR R3 - 00003210 4321 SHAR R3 - 00003212 323C ADD R3,R2 - 00003214 6343 MOV R4,R3 - 00003216 23A9 AND R10,R3 - 00003218 633B NEG R3,R3 - 0000321A 413C SHAD R3,R1 - 0000321C 032C MOV.B @(R0,R2),R3 - 0000321E 231B OR R1,R3 - 00003220 0234 MOV.B R3,@(R0,R2) - 00003222 L1611: - 00003222 7C01 ADD #1,R12 - 00003224 62F2 MOV.L @R15,R2 - 00003226 E054 MOV #84,R0 - 00003228 03FE MOV.L @(R0,R15),R3 - 0000322A 372C ADD R2,R7 - 0000322C 3C33 CMP/GE R3,R12 - 0000322E 8FC5 BF/S L1610 - 00003230 7E01 ADD #1,R14 - 00003232 L1609: - 00003232 7601 ADD #1,R6 - 00003234 L1607: - 00003234 53F4 MOV.L @(16,R15),R3 - 00003236 3633 CMP/GE R3,R6 - 00003238 8B9E BF L1608 - 0000323A L1597: - Monochrome 1469 } - Monochrome 1470 } - Monochrome 1471 } - Monochrome 1472 } - 0000323A 7F30 ADD #48,R15 - 0000323C 4F16 LDS.L @R15+,MACL - 0000323E 4F26 LDS.L @R15+,PR - 00003240 68F6 MOV.L @R15+,R8 - 00003242 69F6 MOV.L @R15+,R9 - 00003244 6AF6 MOV.L @R15+,R10 - 00003246 6BF6 MOV.L @R15+,R11 - 00003248 6CF6 MOV.L @R15+,R12 - 0000324A 6DF6 MOV.L @R15+,R13 - 0000324C 000B RTS - 0000324E 6EF6 MOV.L @R15+,R14 - Monochrome 1473 #endif - Monochrome 1474 - Monochrome 1475 #ifdef ML_BMP_AND_ROTATE - Monochrome 1476 void ML_bmp_and_rotate(const unsigned char *bmp, int x, int y, int width, int height, int angle) - 00003250 _ML_bmp_and_rotate: ; function: ML_bmp_and_rotate - ; frame size=128 - ; used runtime library name: - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 149 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - ; __modls, __muls, __muld, __divdr, __negd, __dtos, __stoi, __itod - 00003250 2FE6 MOV.L R14,@-R15 - 00003252 E058 MOV #88,R0 - Monochrome 1477 { - Monochrome 1478 int i, j, i3, dx, dy, ox, oy, xr, yr, nb_width, pixel, bit; - Monochrome 1479 int cosinus, sinus; - Monochrome 1480 char* vram = ML_vram_adress(); - 00003254 D31B MOV.L L1732+4,R3 ; _ML_vram_adress - 00003256 2FD6 MOV.L R13,@-R15 - 00003258 2FC6 MOV.L R12,@-R15 - 0000325A 2FB6 MOV.L R11,@-R15 - 0000325C 2FA6 MOV.L R10,@-R15 - 0000325E 2F96 MOV.L R9,@-R15 - 00003260 2F86 MOV.L R8,@-R15 - 00003262 E900 MOV #0,R9 - 00003264 4F22 STS.L PR,@-R15 - 00003266 4F12 STS.L MACL,@-R15 - 00003268 7FD0 ADD #-48,R15 - 0000326A 1F47 MOV.L R4,@(28,R15) - 0000326C 1F55 MOV.L R5,@(20,R15) - 0000326E 1F66 MOV.L R6,@(24,R15) - 00003270 1F74 MOV.L R7,@(16,R15) - 00003272 430B JSR @R3 - 00003274 0EFE MOV.L @(R0,R15),R14 - 00003276 1F0B MOV.L R0,@(44,R15) - Monochrome 1481 - Monochrome 1482 if (!bmp) return; - 00003278 53F7 MOV.L @(28,R15),R3 - 0000327A 2338 TST R3,R3 - 0000327C 8B01 BF L1733 - 0000327E A0F9 BRA L1614 - 00003280 0009 NOP - 00003282 L1733: - Monochrome 1483 ox = x + width / 2; - 00003282 E200 MOV #0,R2 - 00003284 51F5 MOV.L @(20,R15),R1 - Monochrome 1484 oy = y + height / 2; - 00003286 E054 MOV #84,R0 - Monochrome 1485 angle %= 360; - 00003288 941A MOV.W L1732,R4 ; H'0168 - 0000328A 53F4 MOV.L @(16,R15),R3 - 0000328C 3237 CMP/GT R3,R2 - 0000328E 332E ADDC R2,R3 - 00003290 4321 SHAR R3 - 00003292 331C ADD R1,R3 - 00003294 1F32 MOV.L R3,@(8,R15) - 00003296 02FE MOV.L @(R0,R15),R2 - 00003298 D30B MOV.L L1732+8,R3 ; __modls - 0000329A E000 MOV #0,R0 - 0000329C 3027 CMP/GT R2,R0 - 0000329E 320E ADDC R0,R2 - 000032A0 50F6 MOV.L @(24,R15),R0 - 000032A2 4221 SHAR R2 - 000032A4 320C ADD R0,R2 - 000032A6 6043 MOV R4,R0 - 000032A8 1F21 MOV.L R2,@(4,R15) - 000032AA 430B JSR @R3 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 150 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000032AC 61E3 MOV R14,R1 - 000032AE 6E03 MOV R0,R14 - Monochrome 1486 if (angle < 0) angle += 360; - 000032B0 4E11 CMP/PZ R14 - 000032B2 8900 BT L1615 - 000032B4 3E4C ADD R4,R14 - 000032B6 L1615: - Monochrome 1487 if (angle == 0) {cosinus = 16384; sinus = 0;} - 000032B6 2EE8 TST R14,R14 - 000032B8 9403 MOV.W L1732+2,R4 ; H'4000 - 000032BA 8B07 BF L1616 - 000032BC A011 BRA L1097 - 000032BE 6D43 MOV R4,R13 - 000032C0 L1732: - 000032C0 0168 .DATA.W H'0168 - 000032C2 4000 .DATA.W H'4000 - 000032C4 <00000000> .DATA.L _ML_vram_adress - 000032C8 <00000000> .DATA.L __modls - 000032CC L1616: - Monochrome 1488 else if (angle == 90) {cosinus = 0; sinus = -16384;} - 000032CC 9552 MOV.W L1734,R5 ; H'C000 - 000032CE 60E3 MOV R14,R0 - 000032D0 885A CMP/EQ #90,R0 - 000032D2 8B02 BF L1618 - 000032D4 6D93 MOV R9,R13 - 000032D6 A043 BRA L1617 - 000032D8 6B53 MOV R5,R11 - 000032DA L1618: - Monochrome 1489 else if (angle == 180) {cosinus = -16384; sinus = 0;} - 000032DA 924C MOV.W L1734+2,R2 ; H'00B4 - 000032DC 3E20 CMP/EQ R2,R14 - 000032DE 8B02 BF L1620 - 000032E0 6D53 MOV R5,R13 - 000032E2 L1097: - 000032E2 A03D BRA L1617 - 000032E4 6B93 MOV R9,R11 - 000032E6 L1620: - Monochrome 1490 else if (angle == 270) {cosinus = 0; sinus = 16384;} - 000032E6 9347 MOV.W L1734+4,R3 ; H'010E - 000032E8 3E30 CMP/EQ R3,R14 - 000032EA 8B02 BF L1622 - 000032EC 6D93 MOV R9,R13 - 000032EE A037 BRA L1617 - 000032F0 6B43 MOV R4,R11 - 000032F2 L1622: - Monochrome 1491 else - Monochrome 1492 { - Monochrome 1493 cosinus = cosf(-3.14 * angle / 180.0) * 16384; - 000032F2 60E3 MOV R14,R0 - 000032F4 D121 MOV.L L1734+8,R1 ; __itod - 000032F6 7FE0 ADD #-32,R15 - 000032F8 410B JSR @R1 - 000032FA 2FF6 MOV.L R15,@-R15 - 000032FC D020 MOV.L L1734+12,R0; H'51EB851F - 000032FE 2F06 MOV.L R0,@-R15 - 00003300 D020 MOV.L L1734+16,R0; H'40091EB8 - 00003302 2F06 MOV.L R0,@-R15 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 151 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00003304 D020 MOV.L L1734+20,R0; __muld - 00003306 61F3 MOV R15,R1 - 00003308 7110 ADD #16,R1 - 0000330A 400B JSR @R0 - 0000330C 2F16 MOV.L R1,@-R15 - 0000330E E108 MOV #8,R1 - 00003310 31FC ADD R15,R1 - 00003312 2F16 MOV.L R1,@-R15 - 00003314 D11D MOV.L L1734+24,R1; __negd - 00003316 410B JSR @R1 - 00003318 0009 NOP - 0000331A E000 MOV #0,R0 - 0000331C 2F06 MOV.L R0,@-R15 - 0000331E D01C MOV.L L1734+28,R0; H'40668000 - 00003320 2F06 MOV.L R0,@-R15 - 00003322 61F3 MOV R15,R1 - 00003324 D01B MOV.L L1734+32,R0; __divdr - 00003326 7110 ADD #16,R1 - 00003328 400B JSR @R0 - 0000332A 2F16 MOV.L R1,@-R15 - 0000332C D11A MOV.L L1734+36,R1; __dtos - 0000332E 410B JSR @R1 - 00003330 0009 NOP - 00003332 1F03 MOV.L R0,@(12,R15) - 00003334 D219 MOV.L L1734+40,R2; _cosf - 00003336 420B JSR @R2 - 00003338 6403 MOV R0,R4 - 0000333A D119 MOV.L L1734+44,R1; H'46800000 - 0000333C D319 MOV.L L1734+48,R3; __muls - 0000333E 430B JSR @R3 - 00003340 0009 NOP - 00003342 D219 MOV.L L1734+52,R2; __stoi - 00003344 420B JSR @R2 - 00003346 0009 NOP - Monochrome 1494 sinus = sinf(-3.14 * angle / 180.0) * 16384; - 00003348 D318 MOV.L L1734+56,R3; _sinf - 0000334A 6D03 MOV R0,R13 - 0000334C 430B JSR @R3 - 0000334E 54F3 MOV.L @(12,R15),R4 - 00003350 D113 MOV.L L1734+44,R1; H'46800000 - 00003352 D214 MOV.L L1734+48,R2; __muls - 00003354 420B JSR @R2 - 00003356 0009 NOP - 00003358 D313 MOV.L L1734+52,R3; __stoi - 0000335A 430B JSR @R3 - 0000335C 0009 NOP - 0000335E 6B03 MOV R0,R11 - 00003360 L1617: - Monochrome 1495 } - Monochrome 1496 nb_width = width + 7 >> 3; - 00003360 52F4 MOV.L @(16,R15),R2 - Monochrome 1497 - Monochrome 1498 for (i=0; i .DATA.L __itod - 00003380 51EB851F .DATA.L H'51EB851F - 00003384 40091EB8 .DATA.L H'40091EB8 - 00003388 <00000000> .DATA.L __muld - 0000338C <00000000> .DATA.L __negd - 00003390 40668000 .DATA.L H'40668000 - 00003394 <00000000> .DATA.L __divdr - 00003398 <00000000> .DATA.L __dtos - 0000339C <00000000> .DATA.L _cosf - 000033A0 46800000 .DATA.L H'46800000 - 000033A4 <00000000> .DATA.L __muls - 000033A8 <00000000> .DATA.L __stoi - 000033AC <00000000> .DATA.L _sinf - 000033B0 L1625: - Monochrome 1499 { - Monochrome 1500 bit = 0x80 >> (i & 7); - 000033B0 6263 MOV R6,R2 - 000033B2 22A9 AND R10,R2 - 000033B4 622B NEG R2,R2 - 000033B6 6383 MOV R8,R3 - 000033B8 432C SHAD R2,R3 - Monochrome 1501 i3 = i >> 3; - 000033BA 6563 MOV R6,R5 - 000033BC 1F38 MOV.L R3,@(32,R15) - Monochrome 1502 dx = x + i - ox; - Monochrome 1503 for (j=0; j> 14); - 000033F4 54F9 MOV.L @(36,R15),R4 - Monochrome 1507 yr = oy + (dx * sinus + dy * cosinus >> 14); - 000033F6 E1F2 MOV #-14,R1 - 000033F8 50F1 MOV.L @(4,R15),R0 - 000033FA 65E3 MOV R14,R5 - 000033FC 52F2 MOV.L @(8,R15),R2 - 000033FE 05B7 MUL.L R11,R5 - 00003400 031A STS MACL,R3 - 00003402 3438 SUB R3,R4 - 00003404 05D7 MUL.L R13,R5 - 00003406 E3F2 MOV #-14,R3 - 00003408 443C SHAD R3,R4 - 0000340A 342C ADD R2,R4 - 0000340C 53FA MOV.L @(40,R15),R3 - 0000340E 051A STS MACL,R5 - 00003410 353C ADD R3,R5 - 00003412 451C SHAD R1,R5 - Monochrome 1508 if (!(xr < 0 || xr > 127 || yr < 0 || yr > 63)) - 00003414 4411 CMP/PZ R4 - 00003416 8F21 BF/S L1628 - 00003418 350C ADD R0,R5 - 0000341A E17F MOV #127,R1 - 0000341C 3417 CMP/GT R1,R4 - 0000341E 891D BT L1628 - 00003420 4511 CMP/PZ R5 - 00003422 8B1B BF L1628 - 00003424 E33F MOV #63,R3 - 00003426 3537 CMP/GT R3,R5 - 00003428 8918 BT L1628 - Monochrome 1509 { - Monochrome 1510 pixel = bmp[i3 + nb_width * j] & bit; - 0000342A 6170 MOV.B @R7,R1 - 0000342C 53F8 MOV.L @(32,R15),R3 - 0000342E 611C EXTU.B R1,R1 - 00003430 2139 AND R3,R1 - Monochrome 1511 if (pixel == 0) vram[(yr<<4)+(xr>>3)] &= ~(128>>(xr&7)); - 00003432 2118 TST R1,R1 - 00003434 8F12 BF/S L1628 - 00003436 1F13 MOV.L R1,@(12,R15) - 00003438 50FB MOV.L @(44,R15),R0 - 0000343A 6183 MOV R8,R1 - 0000343C 6253 MOV R5,R2 - 0000343E 4208 SHLL2 R2 - 00003440 4208 SHLL2 R2 - 00003442 6343 MOV R4,R3 - 00003444 4321 SHAR R3 - 00003446 4321 SHAR R3 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 154 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00003448 4321 SHAR R3 - 0000344A 323C ADD R3,R2 - 0000344C 6343 MOV R4,R3 - 0000344E 23A9 AND R10,R3 - 00003450 633B NEG R3,R3 - 00003452 413C SHAD R3,R1 - 00003454 032C MOV.B @(R0,R2),R3 - 00003456 6117 NOT R1,R1 - 00003458 2319 AND R1,R3 - 0000345A 0234 MOV.B R3,@(R0,R2) - 0000345C L1628: - 0000345C 62F2 MOV.L @R15,R2 - 0000345E E054 MOV #84,R0 - 00003460 03FE MOV.L @(R0,R15),R3 - 00003462 7C01 ADD #1,R12 - 00003464 372C ADD R2,R7 - 00003466 3C33 CMP/GE R3,R12 - 00003468 8FC4 BF/S L1627 - 0000346A 7E01 ADD #1,R14 - 0000346C L1626: - 0000346C 7601 ADD #1,R6 - 0000346E L1624: - 0000346E 53F4 MOV.L @(16,R15),R3 - 00003470 3633 CMP/GE R3,R6 - 00003472 8B9D BF L1625 - 00003474 L1614: - Monochrome 1512 } - Monochrome 1513 } - Monochrome 1514 } - Monochrome 1515 } - 00003474 7F30 ADD #48,R15 - 00003476 4F16 LDS.L @R15+,MACL - 00003478 4F26 LDS.L @R15+,PR - 0000347A 68F6 MOV.L @R15+,R8 - 0000347C 69F6 MOV.L @R15+,R9 - 0000347E 6AF6 MOV.L @R15+,R10 - 00003480 6BF6 MOV.L @R15+,R11 - 00003482 6CF6 MOV.L @R15+,R12 - 00003484 6DF6 MOV.L @R15+,R13 - 00003486 000B RTS - 00003488 6EF6 MOV.L @R15+,R14 - Monochrome 1516 #endif - Monochrome 1517 - Monochrome 1518 #ifdef ML_BMP_XOR_ROTATE - Monochrome 1519 void ML_bmp_xor_rotate(const unsigned char *bmp, int x, int y, int width, int height, int angle) - 0000348A _ML_bmp_xor_rotate: ; function: ML_bmp_xor_rotate - ; frame size=128 - ; used runtime library name: - ; __modls, __muls, __muld, __divdr, __negd, __dtos, __stoi, __itod - 0000348A E058 MOV #88,R0 - Monochrome 1520 { - Monochrome 1521 int i, j, i3, dx, dy, ox, oy, xr, yr, nb_width, pixel, bit; - Monochrome 1522 int cosinus, sinus; - Monochrome 1523 char* vram = ML_vram_adress(); - 0000348C D31C MOV.L L1735+6,R3 ; _ML_vram_adress - 0000348E 2FE6 MOV.L R14,@-R15 - 00003490 2FD6 MOV.L R13,@-R15 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 155 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00003492 2FC6 MOV.L R12,@-R15 - 00003494 2FB6 MOV.L R11,@-R15 - 00003496 2FA6 MOV.L R10,@-R15 - 00003498 2F96 MOV.L R9,@-R15 - 0000349A E900 MOV #0,R9 - 0000349C 2F86 MOV.L R8,@-R15 - 0000349E 4F22 STS.L PR,@-R15 - 000034A0 4F12 STS.L MACL,@-R15 - 000034A2 7FD0 ADD #-48,R15 - 000034A4 1F47 MOV.L R4,@(28,R15) - 000034A6 1F55 MOV.L R5,@(20,R15) - 000034A8 1F66 MOV.L R6,@(24,R15) - 000034AA 1F74 MOV.L R7,@(16,R15) - 000034AC 430B JSR @R3 - 000034AE 0EFE MOV.L @(R0,R15),R14 - 000034B0 1F0B MOV.L R0,@(44,R15) - Monochrome 1524 - Monochrome 1525 if (!bmp) return; - 000034B2 53F7 MOV.L @(28,R15),R3 - 000034B4 2338 TST R3,R3 - 000034B6 8B01 BF L1736 - 000034B8 A0F9 BRA L1631 - 000034BA 0009 NOP - 000034BC L1736: - Monochrome 1526 ox = x + width / 2; - 000034BC 53F4 MOV.L @(16,R15),R3 - 000034BE E200 MOV #0,R2 - 000034C0 51F5 MOV.L @(20,R15),R1 - Monochrome 1527 oy = y + height / 2; - 000034C2 E054 MOV #84,R0 - Monochrome 1528 angle %= 360; - 000034C4 9419 MOV.W L1735,R4 ; H'0168 - 000034C6 3237 CMP/GT R3,R2 - 000034C8 332E ADDC R2,R3 - 000034CA 4321 SHAR R3 - 000034CC 331C ADD R1,R3 - 000034CE 1F32 MOV.L R3,@(8,R15) - 000034D0 02FE MOV.L @(R0,R15),R2 - 000034D2 E000 MOV #0,R0 - 000034D4 D30B MOV.L L1735+10,R3; __modls - 000034D6 3027 CMP/GT R2,R0 - 000034D8 320E ADDC R0,R2 - 000034DA 4221 SHAR R2 - 000034DC 50F6 MOV.L @(24,R15),R0 - 000034DE 320C ADD R0,R2 - 000034E0 1F21 MOV.L R2,@(4,R15) - 000034E2 6043 MOV R4,R0 - 000034E4 430B JSR @R3 - 000034E6 61E3 MOV R14,R1 - 000034E8 6E03 MOV R0,R14 - Monochrome 1529 if (angle < 0) angle += 360; - 000034EA 4E11 CMP/PZ R14 - 000034EC 8900 BT L1632 - 000034EE 3E4C ADD R4,R14 - 000034F0 L1632: - Monochrome 1530 if (angle == 0) {cosinus = 16384; sinus = 0;} - 000034F0 9404 MOV.W L1735+2,R4 ; H'4000 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 156 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 000034F2 2EE8 TST R14,R14 - 000034F4 8B08 BF L1633 - 000034F6 A012 BRA L1098 - 000034F8 6D43 MOV R4,R13 - 000034FA L1735: - 000034FA 0168 .DATA.W H'0168 - 000034FC 4000 .DATA.W H'4000 - 000034FE 0000 .DATA.W 0 - 00003500 <00000000> .DATA.L _ML_vram_adress - 00003504 <00000000> .DATA.L __modls - 00003508 L1633: - Monochrome 1531 else if (angle == 90) {cosinus = 0; sinus = -16384;} - 00003508 9552 MOV.W L1737,R5 ; H'C000 - 0000350A 60E3 MOV R14,R0 - 0000350C 885A CMP/EQ #90,R0 - 0000350E 8B02 BF L1635 - 00003510 6D93 MOV R9,R13 - 00003512 A043 BRA L1634 - 00003514 6B53 MOV R5,R11 - 00003516 L1635: - Monochrome 1532 else if (angle == 180) {cosinus = -16384; sinus = 0;} - 00003516 924C MOV.W L1737+2,R2 ; H'00B4 - 00003518 3E20 CMP/EQ R2,R14 - 0000351A 8B02 BF L1637 - 0000351C 6D53 MOV R5,R13 - 0000351E L1098: - 0000351E A03D BRA L1634 - 00003520 6B93 MOV R9,R11 - 00003522 L1637: - Monochrome 1533 else if (angle == 270) {cosinus = 0; sinus = 16384;} - 00003522 9347 MOV.W L1737+4,R3 ; H'010E - 00003524 3E30 CMP/EQ R3,R14 - 00003526 8B02 BF L1639 - 00003528 6D93 MOV R9,R13 - 0000352A A037 BRA L1634 - 0000352C 6B43 MOV R4,R11 - 0000352E L1639: - Monochrome 1534 else - Monochrome 1535 { - Monochrome 1536 cosinus = cosf(-3.14 * angle / 180.0) * 16384; - 0000352E 60E3 MOV R14,R0 - 00003530 D121 MOV.L L1737+8,R1 ; __itod - 00003532 7FE0 ADD #-32,R15 - 00003534 410B JSR @R1 - 00003536 2FF6 MOV.L R15,@-R15 - 00003538 D020 MOV.L L1737+12,R0; H'51EB851F - 0000353A 2F06 MOV.L R0,@-R15 - 0000353C D020 MOV.L L1737+16,R0; H'40091EB8 - 0000353E 2F06 MOV.L R0,@-R15 - 00003540 D020 MOV.L L1737+20,R0; __muld - 00003542 61F3 MOV R15,R1 - 00003544 7110 ADD #16,R1 - 00003546 400B JSR @R0 - 00003548 2F16 MOV.L R1,@-R15 - 0000354A E108 MOV #8,R1 - 0000354C 31FC ADD R15,R1 - 0000354E 2F16 MOV.L R1,@-R15 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 157 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00003550 D11D MOV.L L1737+24,R1; __negd - 00003552 410B JSR @R1 - 00003554 0009 NOP - 00003556 E000 MOV #0,R0 - 00003558 2F06 MOV.L R0,@-R15 - 0000355A D01C MOV.L L1737+28,R0; H'40668000 - 0000355C 2F06 MOV.L R0,@-R15 - 0000355E 61F3 MOV R15,R1 - 00003560 D01B MOV.L L1737+32,R0; __divdr - 00003562 7110 ADD #16,R1 - 00003564 400B JSR @R0 - 00003566 2F16 MOV.L R1,@-R15 - 00003568 D11A MOV.L L1737+36,R1; __dtos - 0000356A 410B JSR @R1 - 0000356C 0009 NOP - 0000356E 1F03 MOV.L R0,@(12,R15) - 00003570 D219 MOV.L L1737+40,R2; _cosf - 00003572 420B JSR @R2 - 00003574 6403 MOV R0,R4 - 00003576 D119 MOV.L L1737+44,R1; H'46800000 - 00003578 D319 MOV.L L1737+48,R3; __muls - 0000357A 430B JSR @R3 - 0000357C 0009 NOP - 0000357E D219 MOV.L L1737+52,R2; __stoi - 00003580 420B JSR @R2 - 00003582 0009 NOP - Monochrome 1537 sinus = sinf(-3.14 * angle / 180.0) * 16384; - 00003584 D318 MOV.L L1737+56,R3; _sinf - 00003586 6D03 MOV R0,R13 - 00003588 430B JSR @R3 - 0000358A 54F3 MOV.L @(12,R15),R4 - 0000358C D113 MOV.L L1737+44,R1; H'46800000 - 0000358E D214 MOV.L L1737+48,R2; __muls - 00003590 420B JSR @R2 - 00003592 0009 NOP - 00003594 D313 MOV.L L1737+52,R3; __stoi - 00003596 430B JSR @R3 - 00003598 0009 NOP - 0000359A 6B03 MOV R0,R11 - 0000359C L1634: - Monochrome 1538 } - Monochrome 1539 nb_width = width + 7 >> 3; - 0000359C 52F4 MOV.L @(16,R15),R2 - Monochrome 1540 - Monochrome 1541 for (i=0; i .DATA.L __itod - 000035BC 51EB851F .DATA.L H'51EB851F - 000035C0 40091EB8 .DATA.L H'40091EB8 - 000035C4 <00000000> .DATA.L __muld - 000035C8 <00000000> .DATA.L __negd - 000035CC 40668000 .DATA.L H'40668000 - 000035D0 <00000000> .DATA.L __divdr - 000035D4 <00000000> .DATA.L __dtos - 000035D8 <00000000> .DATA.L _cosf - 000035DC 46800000 .DATA.L H'46800000 - 000035E0 <00000000> .DATA.L __muls - 000035E4 <00000000> .DATA.L __stoi - 000035E8 <00000000> .DATA.L _sinf - 000035EC L1642: - Monochrome 1542 { - Monochrome 1543 bit = 0x80 >> (i & 7); - 000035EC 6263 MOV R6,R2 - 000035EE 22A9 AND R10,R2 - 000035F0 622B NEG R2,R2 - 000035F2 6383 MOV R8,R3 - 000035F4 432C SHAD R2,R3 - Monochrome 1544 i3 = i >> 3; - 000035F6 6563 MOV R6,R5 - 000035F8 1F38 MOV.L R3,@(32,R15) - Monochrome 1545 dx = x + i - ox; - Monochrome 1546 for (j=0; j> 14); - 00003630 54F9 MOV.L @(36,R15),R4 - Monochrome 1550 yr = oy + (dx * sinus + dy * cosinus >> 14); - 00003632 E1F2 MOV #-14,R1 - 00003634 50F1 MOV.L @(4,R15),R0 - 00003636 65E3 MOV R14,R5 - 00003638 52F2 MOV.L @(8,R15),R2 - 0000363A 05B7 MUL.L R11,R5 - 0000363C 031A STS MACL,R3 - 0000363E 3438 SUB R3,R4 - 00003640 05D7 MUL.L R13,R5 - 00003642 E3F2 MOV #-14,R3 - 00003644 443C SHAD R3,R4 - 00003646 342C ADD R2,R4 - 00003648 53FA MOV.L @(40,R15),R3 - 0000364A 051A STS MACL,R5 - 0000364C 353C ADD R3,R5 - 0000364E 451C SHAD R1,R5 - Monochrome 1551 if (!(xr < 0 || xr > 127 || yr < 0 || yr > 63)) - 00003650 4411 CMP/PZ R4 - 00003652 8F20 BF/S L1645 - 00003654 350C ADD R0,R5 - 00003656 E17F MOV #127,R1 - 00003658 3417 CMP/GT R1,R4 - 0000365A 891C BT L1645 - 0000365C 4511 CMP/PZ R5 - 0000365E 8B1A BF L1645 - 00003660 E33F MOV #63,R3 - 00003662 3537 CMP/GT R3,R5 - 00003664 8917 BT L1645 - Monochrome 1552 { - Monochrome 1553 pixel = bmp[i3 + nb_width * j] & bit; - 00003666 6170 MOV.B @R7,R1 - 00003668 53F8 MOV.L @(32,R15),R3 - 0000366A 611C EXTU.B R1,R1 - 0000366C 2139 AND R3,R1 - Monochrome 1554 if (pixel != 0) vram[(yr<<4)+(xr>>3)] ^= 128>>(xr&7); - 0000366E 2118 TST R1,R1 - 00003670 8D11 BT/S L1645 - 00003672 1F13 MOV.L R1,@(12,R15) - 00003674 50FB MOV.L @(44,R15),R0 - 00003676 6183 MOV R8,R1 - 00003678 6253 MOV R5,R2 - 0000367A 4208 SHLL2 R2 - 0000367C 4208 SHLL2 R2 - 0000367E 6343 MOV R4,R3 - 00003680 4321 SHAR R3 - 00003682 4321 SHAR R3 - 00003684 4321 SHAR R3 - 00003686 323C ADD R3,R2 - 00003688 6343 MOV R4,R3 - 0000368A 23A9 AND R10,R3 - 0000368C 633B NEG R3,R3 - 0000368E 413C SHAD R3,R1 - 00003690 032C MOV.B @(R0,R2),R3 - 00003692 231A XOR R1,R3 - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 160 - - -SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT - - 00003694 0234 MOV.B R3,@(R0,R2) - 00003696 L1645: - 00003696 7C01 ADD #1,R12 - 00003698 62F2 MOV.L @R15,R2 - 0000369A E054 MOV #84,R0 - 0000369C 03FE MOV.L @(R0,R15),R3 - 0000369E 372C ADD R2,R7 - 000036A0 3C33 CMP/GE R3,R12 - 000036A2 8FC5 BF/S L1644 - 000036A4 7E01 ADD #1,R14 - 000036A6 L1643: - 000036A6 7601 ADD #1,R6 - 000036A8 L1641: - 000036A8 53F4 MOV.L @(16,R15),R3 - 000036AA 3633 CMP/GE R3,R6 - 000036AC 8B9E BF L1642 - 000036AE L1631: - Monochrome 1555 } - Monochrome 1556 } - Monochrome 1557 } - Monochrome 1558 } - 000036AE 7F30 ADD #48,R15 - 000036B0 4F16 LDS.L @R15+,MACL - 000036B2 4F26 LDS.L @R15+,PR - 000036B4 68F6 MOV.L @R15+,R8 - 000036B6 69F6 MOV.L @R15+,R9 - 000036B8 6AF6 MOV.L @R15+,R10 - 000036BA 6BF6 MOV.L @R15+,R11 - 000036BC 6CF6 MOV.L @R15+,R12 - 000036BE 6DF6 MOV.L @R15+,R13 - 000036C0 000B RTS - 000036C2 6EF6 MOV.L @R15+,R14 - Monochrome 1559 #endif -D 00000000 __$SysCallCode: ; static: SysCallCode - 00000000 D201422B60 .DATA.L H'D201422B,H'60F20000,H'80010070 - F200008001 - 0070 - 0000000C __$SysCall: ; static: SysCall - 0000000C <00000000> .DATA.L __$SysCallCode - - - - - - - - - - - - - - - - - - - - - - -SH SERIES C/C++ Compiler (Ver. 6.0C) 29-Apr-2016 12:29:42 PAGE 1 - - -******** STATISTICS INFORMATION ******** - - -********** ERROR INFORMATION *********** - -NUMBER OF ERRORS: 0 -NUMBER OF WARNINGS: 0 - - - - -******* SOURCE LINE INFORMATION ******** - -COMPILED SOURCE LINE: 1558 - - - -******* SECTION SIZE INFORMATION ******* - -PROGRAM SECTION (P): 000036C4 Byte(s) -CONSTANT SECTION (C): 00000000 Byte(s) -DATA SECTION (D): 00000010 Byte(s) -BSS SECTION (B): 00000000 Byte(s) - - TOTAL PROGRAM SIZE: 000036D4 Byte(s) - - - -********** LABEL INFORMATION *********** - -NUMBER OF EXTERNAL REFERENCE SYMBOLS: 21 -NUMBER OF EXTERNAL DEFINITION SYMBOLS: 47 -NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 581 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*** COMMAND PARAMETER *** - - - -subcommand=C:\Users\gabillef\AppData\Local\Temp\hmkDA78.tmp - diff --git a/Debug/MonochromeLib.obj b/Debug/MonochromeLib.obj deleted file mode 100644 index a7002024d049844df4f08a387c2909eabad25bc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79096 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

8L5AU$5jB;@Jmmv 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 RnjS{;1L_%D7~ug-A^`uH*u4M% diff --git a/INIT/CasioRAMCPU.mem b/INIT/CasioRAMCPU.mem deleted file mode 100644 index fd09ac75d7a0890cee6d651751a28246d1cf2ae6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80 gcmZ?q3C_&*P0eKh0RaXF7BB-!2rwKVi4W8U06^pgsQ>@~ diff --git a/MainIcon.bmp b/MainIcon.bmp deleted file mode 100644 index 3fe372c9c7b7586ed1cf1617a1d19826afba9aa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ?r?P7ocJ0PV2#Bx9^48)8;2m(Gpe3%b{!2&?y|NsABX8r&Fe}F3g*t0+UqsXEN z#_IPK|EPv4{;>~#z`_#9z`}l?v4w$w$)(_(g^MSr=MmSJUM{YBUM?;tJdb#AFt8K= HF~~3g5xO7P diff --git a/README.md b/README.md deleted file mode 100644 index 5d340d1..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -AldBasiClib diff --git a/eActivityIcon.bmp b/eActivityIcon.bmp deleted file mode 100644 index 104a2c651f2dbfc33e0b65de5f0d53cf41cdede1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmZ?r&0>H6J0PV2#Iiul4aAH<2m(4le3%b{!2&?y|NsABCXoKoz`(%Kz`%TB$2$v; drJSB8mcI1zSgPmcvE+p3i5(muIR*}pIsl798%Y2F