removed separate kvm compatibility mode

This commit is contained in:
dekunukem
2022-05-06 21:00:08 +01:00
parent f998598ea3
commit 2d941c4e1d
22 changed files with 699 additions and 700 deletions

View File

@@ -43,7 +43,6 @@
#define PROTOCOL_MICROSOFT_SERIAL_MOUSE 5
#define PROTOCOL_ADB_MOUSE 6
#define PROTOCOL_GENERIC_GAMEPORT_GAMEPAD 7
#define PROTOCOL_PS2_MOUSE_KVM 8
typedef struct
{

View File

@@ -19,7 +19,7 @@ uint8_t ps2mouse_write(uint8_t data, uint8_t timeout_ms);
void ps2mouse_host_req_reply(uint8_t cmd, mouse_event* mevent);
void ps2mouse_release_lines(void);
uint8_t ps2mouse_get_outgoing_data(mouse_event* this_event, ps2_outgoing_buf* pbuf);
uint8_t ps2mouse_send_update(ps2_outgoing_buf* pbuf, uint8_t inhibit_timeout_ms);
uint8_t ps2mouse_send_update(ps2_outgoing_buf* pbuf);
uint8_t ps2mouse_write_nowait(uint8_t data);
void ps2mouse_reset(void);
void ps2mouse_restore_defaults(void);

View File

File diff suppressed because one or more lines are too long

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -27,7 +27,20 @@ Project File Date: 03/28/2022
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'ibmpc'
"ibmpc\ibmpc.axf" - 0 Error(s), 0 Warning(s).
compiling main.c...
../Src/main.c(476): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B1_GPIO_Port, GAMEPAD_B1_Pin, !(this_gamepad_event->button_1));
../Src/main.c(477): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B2_GPIO_Port, GAMEPAD_B2_Pin, !(this_gamepad_event->button_2));
../Src/main.c(478): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B3_GPIO_Port, GAMEPAD_B3_Pin, !(this_gamepad_event->button_3));
../Src/main.c(479): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(GAMEPAD_B4_GPIO_Port, GAMEPAD_B4_Pin, !(this_gamepad_event->button_4));
../Src/main.c: 4 warnings, 0 errors
linking...
Program Size: Code=16912 RO-data=768 RW-data=128 ZI-data=2320
FromELF: creating hex file...
"ibmpc\ibmpc.axf" - 0 Error(s), 4 Warning(s).
<h2>Software Packages used:</h2>
@@ -50,7 +63,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.3.0
Build Time Elapsed: 00:00:00
Build Time Elapsed: 00:00:02
</pre>
</body>
</html>

View File

@@ -11,7 +11,7 @@
:10009000E7000008E7000008E7000008E7000008A4
:1000A000E7000008B51E0008E7000008E7000008A8
:1000B000E7000008A9270008E7000008E70000089B
:1000C0000348854600F04EF800480047C52E00085A
:1000C0000348854600F04EF800480047C12E00085E
:1000D000900900200448804704480047FEE7FEE7F7
:1000E000FEE7FEE7FEE7FEE721220008C100000868
:1000F00030B50B46014600202022012409E00D46C0
@@ -23,7 +23,7 @@
:10015000F6E710B513460A4604461946FFF7F0FFC6
:10016000204610BD064C0125064E05E0E36807CC8D
:100170002B430C3C98471034B442F7D3FFF7A4FF4D
:10018000144500083445000810B5022000F042F87C
:10018000F04400081045000810B5022000F042F8C5
:1001900010BD70B50024014620314A78022A03D0F0
:1001A00004218163012416E0026813680E25AB4325
:1001B0001360026813685B085B0013600122056C22
@@ -31,7 +31,7 @@
:1001D000002900D08847204670BD31B500F0E2F814
:1001E000009C0546601C00D0641C00F0DBF8401B3E
:1001F000A042FAD338BD000000B5022807D105207F
:1002000002F046FD002802D001490120087200BD1D
:1002000002F044FD002802D001490120087200BD1F
:100210004800002010B504494A69024202D04861F2
:10022000FFF7EAFF10BD000000040140F8B500230D
:1002300093E0224601249C40A44622407ED04C6894
@@ -179,10 +179,10 @@
:100B10006068072109028843E9680843606000F0C3
:100B20002DF86168084A0906090F515CC840074959
:100B300008600020FFF790FE0020F8BD0020024072
:100B40000010024088130000F944000870000020E3
:100B40000010024088130000D54400087000002007
:100B50000148006870470000700000200448054903
:100B600000684968044A4905490F515CC84070470C
:100B700070000020001002400945000830B516A39F
:100B70007000002000100240E544000830B516A3C4
:100B80000FCB89B06C460FC417A30FCB0FC41A4903
:100B90004A680C20144604401848042C05D0184B11
:100BA000082C04D00C2C00D1184609B030BD94029A
@@ -301,12 +301,12 @@
:1012B000544C0126203C2078534FDE2801D07E720A
:1012C00090E0A07808280BD0092810D000250B2822
:1012D00030D003284AD001284FD0022879D081E0AD
:1012E0004848A2792179203001F0DCFC7AE061796C
:1012E0004848A2792179203001F0DAFC7AE061796E
:1012F000207901F073FB434A2C321080E179A07908
:1013000001F06CFB40425080207A3E49404210710F
:10131000607A5071607B9071A07B1072E07BD0711D
:10132000207C5072607C907237482C31143001F070
:10133000B3FF57E03348217938300170617941704B
:10133000ABFF57E033482179383001706179417053
:10134000A1798170E179C170057145718571C571AF
:10135000217A0172617A4172A17A8172E17AC17255
:10136000014629481C3001F05BFB3BE001210022D3
@@ -669,14 +669,14 @@
:1029B00000900029F5DC08E00B980B990078491C81
:1029C0000B91109A0F999047761C0199481E01901F
:1029D0000029F1DC6D1C28E70928010009020143E8
:1029E00008B2704700B5014600F0ECFB411800F05A
:1029F000E9FB8842FBD300BD10B502490860FEF731
:1029E00008B2704700B5014600F0E4FB411800F062
:1029F000E1FB8842FBD300BD10B502490860FEF739
:102A000083FD10BD0000002013B564230122694638
:102A10000248FEF718FF00981CBD000010020020BD
:102A200070B50D46044600F020F8002801D00120C2
:102A300070BD20780C226168504308182946FDF7C4
:102A40006DFB2078A178401CFDF752FB217000201F
:102A500070BD10B5044681700C20484300F03AFB6D
:102A500070BD10B5044681700C20484300F032FB75
:102A60006060204600F026F810BD10B5044681785D
:102A70000078401CFDF73CFB6078814201D10120C9
:102A800010BD002010BD41780278914201D1002094
@@ -689,431 +689,428 @@
:102AF00000221E4D0121C9032846FDF74CFCA07899
:102B000000282AD0002201213046FDF744FCE0785D
:102B1000002824D00022012189032846FDF73BFC30
:102B2000207AFF25291A032000F030FB607A291A49
:102B3000002000F02BFBA07A291A022000F026FBCF
:102B4000E07A291A012000F021FB0648FFF7A6FFD2
:102B2000207AFF25291A032000F028FB607A291A51
:102B3000002000F023FBA07A291A022000F01EFBDF
:102B4000E07A291A012000F019FB0648FFF7A6FFDA
:102B500070BD0122C4E70122CBE70122D3E70122A5
:102B6000D9E7000064000020001400480008004875
:102B700070B50C4C012202212046FDF70CFC0A4DD9
:102B80000122D1032846FDF706FC0122114620460A
:102B9000FDF701FC012291032846FDF7FCFB00F044
:102BA000DFFA70BD001400480008004870B5440604
:102BB000C109640EC901102C25D2224D285D0028C0
:102BC00021D0002920D002281DD11F482300FFF763
:102BD00003FE0918060D1810181816101800FF2308
:102BE00001330246590000F0E1FB0AE001F094FADB
:102BF00007E010230246202101F02AF801E0FFF748
:102C0000B7FF0120285570BD0128FCD102202855AE
:102C10002300FFF7E1FD0906070C060F0606140F57
:102C20000600F0E700F086FD00F094FD70BD01F0B5
:102C3000C3FA70BD01F0A6F801F094F870BDFFF77B
:102C400097FF70BD7D03002000040048002802D0DB
:102C5000ED2901D3002070470B4882780B48012AE8
:102C600004D0022A06D0032A08D00BE08E2909D20C
:102C7000042206E08E2905D2022202E08E2901D22A
:102C800003224254012070470400002080000020ED
:102C9000102803D20249085C012800D000207047A8
:102CA0007D03002070B515460E46044600F022F85C
:102CB000002801D0012070BD217860684654217839
:102CC000A06845542078A178401CFDF711FA2170C6
:102CD000002070BD70B50D4604468170284600F096
:102CE000F9F96060284600F0F5F9A060204600F090
:102CF0002BF870BD10B5044681780078401CFDF7B4
:102D0000F7F96078814201D1012010BD002010BD8B
:102D100010B543780478A34201D1012010BD446866
:102D2000E35C0B7081684078085C1070002010BD77
:102D300010B5044640782178884204D0A178401C20
:102D4000FDF7D6F9617010BD10B504460020207063
:102D50006070A1786068FDF7FAF9A178A068FDF7C6
:102D6000F6F910BDF3B581B00746FF20694608703B
:102D7000524C3946A078FFF769FF002814D100268D
:102D8000ED3FA6700125032102224D483B00FFF7CD
:102D900023FD1388820B660B585049403D36302A7C
:102DA0002422201E0B0F0B0014220121FA2075E0B3
:102DB00014220121FA2000F039FD00F0CBFCFF20A5
:102DC0004E30FDF70AFAFA220021AA2066E0A1702F
:102DD000EAE7A270E8E7A570E6E700214554491C40
:102DE0008E29FBDBE0E700228154521C8E2AFBDB9C
:102DF000DAE700214254491C8E29FBDBD4E700218D
:102E000004224254491C8E29FBDBCDE700F0A2FCD2
:102E1000CAE700F09FFC14220121FA2000F006FD11
:102E20006670FEBD14220121FA2000F0FFFC6570DF
:102E3000FEBD14220121FA2000F0F8FC1E21684694
:102E400036E014220121FA2000F0F0FC14220021C7
:102E5000AB2000F0EBFC1422002183201EE01422A2
:102E60000121FA2000F0E2FC1E21684600F0E4FB9C
:102E70000028DDD114220121FA2000F0D7FC684699
:102E80000078002803D00328D2D82070FEBD142279
:102E90000021207802E014220121EE2000F0C6FC7F
:102EA000FEBD14220121FA2000F0C0FC1E21029870
:102EB00000F0C2FB00288BD0FEBD00000400002003
:102EC000800000201CB56A486A4C8089A081FDF70B
:102ED000B3FCFFF76FF9FEF755FEFEF7FFFEFEF7B6
:102EE00027FFFEF743FFFEF76BFFFEF78FFF6348F8
:102EF00061490160032141606149C1608160FDF762
:102F000059FC002800D0FEE75C48FDF785FC002155
:102F10000420019100900B4622785A495AA0FFF7ED
:102F20004BFC56487430FFF767FD00F00BFAFF25A5
:102F300001355A4E6F0032462B463946104600F096
:102F400035FA32462B463946104601F0EFF8324644
:102F500010232021104600F07BFE0220FFF798FE90
:102F6000002801D001F0D8F810214D48FFF7B2FE3B
:102F700040481021143000F0A8F93E4810211C30C0
:102F8000FFF767FD00F0ECF8454820216038FDF7B9
:102F9000DEF8434A3948203A1146202340391030A0
:102FA000FEF710F9A1893FA0FFF706FC00F0C8F872
:102FB000002812D13FA0FFF7FFFB00270821304671
:102FC000FDF7E5F93220FDF708F97F1C0A2FF5DB44
:102FD000012208213046FDF7DEF9192000F0ECFE51
:102FE0000927FF062548FDF717FC0420FFF750FED0
:102FF000002804D10820FFF74BFE002809D001214A
:10300000C9033046FDF7BEF9002802D000F0F4FEF7
:1030100006E00520FFF73CFE002801D000F0DAF8BA
:103020000120FFF735FE002808D029463846FDF775
:10303000A9F9002802D000F09FFB0CE00220FFF766
:1030400027FE002807D029463846FDF79BF90028BF
:1030500001D001F0D1F80720FFF71AFE002801D0B7
:10306000FFF734FD607A0028BCD000F0E1FF0000DB
:10307000C0F7FF1F48000020003000405C01002026
:10308000FF0F0000C244000825730A7265762564AC
:10309000207625642E25642E25640A00000400484D
:1030A00050030020666C6173685F73697A653A202B
:1030B00025640A004469676974616C20706F74202C
:1030C0006E6F7420726573706F6E64696E67210A2B
:1030D00000000000F0B50B30C108C900144F0026F5
:1030E000144A0FE003688B420BD38B4205D95C1A5C
:1030F0004318456830C3083B00E04368136002C0D2
:1031000004E0021D10680028ECD13046002803D1ED
:103110003868002801D00020F0BD064A064810603B
:10312000064A121AD208D20044C001203860D7E7FC
:103130007C000020780000209403002090050020EF
:1031400010B56423012258210448FDF7D5F9002861
:1031500001D0002010BD012010BD00001001002092
:1031600010B5094C002204212046FDF714F9012076
:10317000FDF733F8012204212046FDF70CF9012068
:10318000FDF72BF810BD00000004004803B583B024
:10319000042802D3FF2005B000BD08496423085C61
:1031A00001210007020E04A80293019100900B4632
:1031B00058210348FDF72EFAEDE70000BE44000851
:1031C00010010020024800680068406A7047000053
:1031D0000000002070B52E4C207A0025002807D072
:1031E0004D20E0710122E11D2A48FEF790FB257277
:1031F0002748143000F083F8002806D0A17A00296F
:1032000004D02348143000F085F870BD2049C02256
:103210000E310D808D700A708279002A01D0E02273
:103220000A70027A002A03D00A7810231A430A701F
:103230000022825E4088404200B2030603D50B782C
:1032400008252B430B70430603D50B7804252B432D
:103250000B70130603D50B7802252B430B70530616
:103260000125002B02DA0B782B430B709206920E8D
:1032700080064A70800E88700548143000F04AF8C5
:10328000034903220E310348FEF741FBA57270BDCE
:10329000480000208002002070B50D46044600F072
:1032A00020F8002801D0012070BD20780C22616830
:1032B000504308182946FCF731FF2078A178401CBC
:1032C000FCF716FF2170002070BD10B50446817018
:1032D0000C204843FFF7FEFE6060204600F026F811
:1032E00010BD10B5044681780078401CFCF700FF43
:1032F0006078814201D1012010BD002010BD4178CD
:103300000278914201D10020704740680C2251435D
:103310004018704710B5044640782178884204D0A0
:10332000A178401CFCF7E4FE617010BD10B50021CF
:103330000170417081780C2251434068FCF707FF0F
:1033400010BD000010B510210648FCF700FF012158
:103350000448022241708270017102724271C1718F
:1033600010BD00007D03002070B50F4DA988A8682E
:10337000FDF708F80446E988E868FDF703F8012836
:1033800002D0002809D00AE0012C02D0002C02D083
:1033900005E0032070BD022070BD012C01D000208B
:1033A00070BD012070BD00000400002010B5054C68
:1033B000A060A180E260E38000F0BCF900F0CAF9EF
:1033C00010BD00000400002010B50C4A5378002BFB
:1033D00008D01278012A07D0022A08D0032A09D07F
:1033E000072010BD012010BD00F00AF810BD00F04C
:1033F0001DF810BD00F0E2F810BD00000400002030
:1034000010B5532805D9572803D0582801D00320D8
:1034100010BD002907D01422002100F007FA00286F
:10342000F6D0082010BD80210843F4E710B55928D4
:1034300010D2614A145CFF2C7ED0002902D01422E5
:103440000021ABE014220021F02000F0EFF9002869
:1034500073D1F4E7632816D077285AD00246603A31
:103460001F2A6BD8544A5932101860380478FF2C40
:1034700062D000297ED014220021E02000F0D6F98D
:1034800000285AD188E000291CD014220021E02015
:1034900000F0CCF9002850D114220021122000F0B5
:1034A000C5F9002849D114220021E02000F0BEF91E
:1034B00000287DD1142200217C2000F0B7F90028DB
:1034C00076D110BD14220021E02000F0AFF90028D1
:1034D0006ED114220021F02000F0A8F9002867D155
:1034E000142200217C2000F0A1F9002860D11422D0
:1034F0000021E02000F09AF9002859D1142200217F
:10350000F02000F093F9002852D11422002112205B
:10351000D3E70029A6D014220021E12000F086F98B
:10352000002845D114220021104600F07FF9002820
:103530003ED11422002102E02CE039E03AE077206D
:1035400000F074F9002833D114220021E12000F0AA
:103550006DF900282CD114220021F02000F066F92A
:10356000002825D114220021104600F05FF9002820
:103570001ED100E014E014220021F02000F056F9E2
:10358000002815D114220021772000F04FF90028DF
:103590000ED110BD022010BD1422012120468CE75F
:1035A00014220021E02000F041F9002800D149E771
:1035B000082010BD032010BD4544000810B5C328E5
:1035C00001D3052010BD1A4A145CFF2C03D08E2CA9
:1035D00003D3062010BD022010BD16480129025D4C
:1035E00004D0002910D002291BD01EE0022A03D0EB
:1035F000012A01D0032A18D114220021204600F00C
:1036000015F900280BD110E0022A01D0012A0CD1B3
:1036100014220021F02000F009F90028ECD0082045
:1036200010BD012AE8D0042AE6D0002010BD000019
:10363000F442000880000020F3B581B00F46002559
:103640000126FCF7AFFE3A4C206107E0FCF7AAFE2A
:103650002169401AB84201D30420FEBDFFF784FE61
:103660000128F3D11220FFF7BDF90022A188A0683C
:10367000FCF791FE2420FFF7B5F90122A188A0688C
:10368000FCF789FE1220FFF7ADF9E188E068FCF74E
:1036900079FE012800D135437004060C1220FFF793
:1036A000A1F90022A188A068FCF775FE2420FFF78D
:1036B00099F90122A188A068FCF76DFE1220FFF79E
:1036C00091F9FF2EE1D91220FFF78CF90022A18891
:1036D000A068FCF760FE2420FFF784F90122A1888E
:1036E000A068FCF758FE1220FFF77CF91220FFF7C4
:1036F00079F90022E188E068FCF74DFE0022A188FC
:10370000A068FCF748FE2420FFF76CF90122A1888D
:10371000A068FCF740FE1220FFF764F90122E1885F
:10372000E068FCF738FE019805700020FEBD00003F
:103730000400002010B5064C0122A188A068FCF707
:103740002AFE0122E188E068FCF725FE10BD00009A
:103750000400002010B505480221017001214170CC
:103760008E2203490348FCF7D9FC10BD0400002059
:10377000B74300088000002038B5FFF7F5FD284C5E
:103780000228A07114D0012815D003280FD1221DC2
:10379000511E2448FFF7BCFA002808D12179E078AF
:1037A000FFF712FE082836D01E48FFF7C1FA38BDD1
:1037B000FFF7C0FF38BDFF216846017018480A2195
:1037C000401CFFF739FF69466078FFF7CBFA68467F
:1037D0000478FF2CEED0134820216038FCF7B7FCAA
:1037E0001048CD2160380170014620314978417080
:1037F00081218170E2070121002A00D0C170A20757
:1038000000D50171620700D54171012251030648BC
:10381000FCF7C1FD38BD0120FCF7DFFC38BD00001E
:10382000480000205003002000080048F8B5154665
:103830000E460746FCF7B6FD0C4C206107E0FCF78E
:10384000B1FD2169401AA84201D30120F8BDFFF75C
:103850008BFD0328F3D1002E03D0AF208000FFF7AB
:10386000C1F8384600F004F8F8BD0000040000205C
:10387000F8B5474C054601260022E188E068FCF7D0
:103880008AFD1220FFF7AEF80022A188A068FCF79D
:1038900082FD2420FFF7A6F80122A188A068FCF78A
:1038A0007AFD1220FFF79EF8A188A068FCF76AFD58
:1038B000002868D00027E80701D0012200E000229C
:1038C000E188E068FCF767FD1220FFF78BF8002223
:1038D000A188A068FCF75FFD2420FFF783F8012290
:1038E000A188A068FCF757FD1220FFF77BF8A1889C
:1038F000A068FCF747FD002845D0E807C00F464008
:103900006D087F1C082FD6DB002E01D0012200E0BD
:103910000022E188E068FCF73EFD1220FFF762F824
:103920000022A188A068FCF736FD2420FFF75AF892
:103930000122A188A068FCF72EFD1220FFF752F8A3
:10394000A188A068FCF71EFD00281CD00122E18898
:10395000E068FCF720FD1220FFF744F80022A18860
:10396000A068FCF718FD2420FFF73CF80122A1888D
:10397000A068FCF710FD1220FFF734F8C820FFF70D
:1039800031F80020F8BDFFF7D5FE0820F8BD000093
:103990000400002010B5164C61892069FCF7F2FC88
:1039A000012805D12189E068FCF7ECFC012806D04C
:1039B00061892069FCF7E6FC012802D007E00320BA
:1039C00010BD2189E068FCF7DDFC002806D0618984
:1039D0002069FCF7D7FC002802D007E0022010BDC8
:1039E0002189E068FCF7CEFC0128F8D0002010BD4A
:1039F00018000020F8B5374E054630780C460028F0
:103A000004D0B079002803D00620F8BD0120F8BD0D
:103A10000821601CFCF79BFB0320207008206070CD
:103A2000A879002801D009206070287A0221002896
:103A300002D0607808436070E8790422002802D040
:103A40006078104360700020285E1023002802DA9E
:103A50006078184360700220285E2027002802DA70
:103A60006078384360702878A070A878E07070792A
:103A7000032806D0042806D0002800D02270002099
:103A8000F8BD28791EE0687A002802D02079184312
:103A90002071A87A002802D02079384320710520AF
:103AA0002856002801DD207903E0002803DA207978
:103AB0000E210843207104202856002804DD2079B7
:103AC000012105E02071D9E70028D7DA20790F21FC
:103AD0000843F7E718000020F8B500250E46FF2838
:103AE00010D0E63800210127584C0300FEF774FE81
:103AF00011A0A69063619B9B9B5A9B549B331E1CF9
:103B00001A179B0000F03EF91421FA2000F0ECF99E
:103B1000FA21AA2000F0DBF91421002075E000F062
:103B20003DF980E021707EE027707CE01421FA20CE
:103B300000F0DAF945489621401C00F097F800287B
:103B40002FD142492079143162780A5407286AD269
:103B5000401C207167E01421FA2000F0C5F921799A
:103B6000022916D93948143040182038C17F50290D
:103B70000FD1817F642902D0C82905D009E0407F98
:103B8000C82806D1032003E0407FC82801D10420C3
:103B900060711421607938E01421FA2000F0A4F952
:103BA000A771F8BD1421FA2000F09EF90220A0713F
:103BB000F8BDA17137E01421FA2000F095F9A07941
:103BC000012800D140252078002801D0202005437D
:103BD000E078022801D110200543B079002801D0F7
:103BE00004200543F079002801D002200543307AF3
:103BF000002800D03D431421284600F068F9142124
:103C0000A07800F064F91421607800F060F9F8BD44
:103C10001421FA2000F068F90C489621801C00F06D
:103C200025F80028F3D11421FA2000F05DF9F8BD41
:103C30001421FA2000F058F9E770F8BD1421FA2099
:103C400000F052F90220E070F8BD000018000020DA
:103C500010B5054CE06021812261638100F092F88B
:103C600000F080F810BD000018000020F3B581B00E
:103C70000F4600250126FCF795FB044606E0FCF7FD
:103C800091FB001BB84201D30420FEBDFFF782FE6A
:103C90000128F4D11220FEF7A5FE314C0022218923
:103CA000E068FCF778FB2420FEF79CFE01222189C6
:103CB000E068FCF770FB1220FEF794FE6189206932
:103CC000FCF760FB012800D135437004060C12207C
:103CD000FEF788FE00222189E068FCF75CFB2420C7
:103CE000FEF780FE01222189E068FCF754FB1220D8
:103CF000FEF778FEFF2EE1D91220FEF773FE0022B8
:103D00002189E068FCF747FB2420FEF76BFE0122C7
:103D10002189E068FCF73FFB1220FEF763FE1220CA
:103D2000FEF760FE002261892069FCF734FB002267
:103D30002189E068FCF72FFB2420FEF753FE0122C7
:103D40002189E068FCF727FB1220FEF74BFE0122D9
:103D500061892069FCF71FFB019805700020FEBDFA
:103D60001800002010B5064C01222189E068FCF7FC
:103D700012FB012261892069FCF70DFB10BD0000D8
:103D80001800002000B500F009F803490020087170
:103D900048618861487100BD180000200548642111
:103DA0004170022181700121C17000210170817177
:103DB000704700001800002010B500F075F80028CA
:103DC00007D16421AA2000F082F86421002000F0CD
:103DD0007EF810BD70B50E460546002407E0281990
:103DE0004078314600F073F8002804D1641C28782C
:103DF000A042F4DC002070BD70B5FFF7CBFD274C6E
:103E00000228607111D0012812D020461430FFF72B
:103E100076FA002808D02249FFF7ECFD002812D0DE
:103E200020461430FFF776FA70BDFFF79BFF70BD98
:103E30001A480A21801CFFF719FF1949A078183980
:103E4000FFF74AFE70BDC8220820FEF721FF0028B8
:103E500000D0012211461248FFF7BCFF002817D0FE
:103E6000104D012208212846FCF795FAFCF79AFA32
:103E7000044604E0FCF796FA001B192803D8FFF764
:103E800089FD0328F6D1002208212846FCF783FA91
:103E900002481430FFF74AFA70BD000048000020C5
:103EA000740300200004004870B50546FCF77AFA58
:103EB000044606E0FCF776FA001BA84201D3042072
:103EC00070BDFFF767FD0328F4D1002070BD10B569
:103ED00004460846FFF7E8FF002801D0042010BD83
:103EE000204600F013F810BD10B504460846FFF751
:103EF000DBFF002801D0042010BDAF208000FEF7BA
:103F000071FD204600F002F810BD0000F8B5474CE6
:103F100005460126002261892069FCF73CFA12203F
:103F2000FEF760FD00222189E068FCF734FA2420C6
:103F3000FEF758FD01222189E068FCF72CFA1220D7
:103F4000FEF750FD2189E068FCF71CFA002868D0D4
:103F50000027E80701D0012200E0002261892069E2
:103F6000FCF719FA1220FEF73DFD00222189E068D6
:103F7000FCF711FA2420FEF735FD01222189E068C3
:103F8000FCF709FA1220FEF72DFD2189E068FCF705
:103F9000F9F9002845D0E807C00F46406D087F1C9E
:103FA000082FD6DB002E01D0012200E0002261891B
:103FB0002069FCF7F0F91220FEF714FD0022218998
:103FC000E068FCF7E8F92420FEF70CFD01222189C6
:103FD000E068FCF7E0F91220FEF704FD2189E068B3
:103FE000FCF7D0F900281CD0012261892069FCF778
:103FF000D2F91220FEF7F6FC00222189E068FCF7D6
:10400000CAF92420FEF7EEFC01222189E068FCF7C2
:10401000C2F91220FEF7E6FCFA20FEF7E3FC0020CE
:10402000F8BDFFF79FFE0820F8BD00001800002033
:1040300011A0FEF7C1FB134D0024295D12A0FEF76D
:10404000BBFB641C202CF8DB10A0FEF7B5FB134D66
:10405000002408212846FCF79AF96420FCF7BDF8F3
:10406000641C642CF5DBBFF34F8F0E490C48C8600D
:10407000BFF34F8F00BFFDE7535049204552524FC9
:10408000520A000010030020256420000A726562B5
:104090006F6F74696E672E2E2E0A000000040048B0
:1040A0000400FA0500ED00E070B50646FCF77AF969
:1040B0000446084D06E0FCF775F9001BB04201D933
:1040C000042070BD29886868FCF75CF90028F2D0EC
:1040D000002070BD3400002010B50E4C21886068AF
:1040E000FCF750F9012802D1FCF75CF9E060FCF71D
:1040F00059F9E168401A14280BD9C820FFF7D4FFFA
:104100001420FCF76AF8AA2000F094F80A20FCF7C3
:1041100064F810BD3400002010B500F05DF8FCF725
:1041200041F90149C86010BD3400002010B5034CAE
:1041300060602180A260638010BD00003400002018
:1041400070B5044666380300FEF746FB0A140608FD
:104150000A0C0E101216181A482413E04A2411E013
:104160004B240FE04E240DE04F240BE0502409E0D7
:10417000512407E0472405E0522403E0532401E0E2
:10418000532C0BD8022902D000290DD00EE0FCF7E9
:1041900009F9084D2969401A502801D8002070BD3E
:1041A000FCF700F9286101E080200443204600F07C
:1041B00041F870BD3400002010B5064C0122218862
:1041C0006068FCF7E8F801226188A068FCF7E3F872
:1041D00010BD00003400002010B5064C01222188DB
:1041E0006068FCF7D8F800226188A068FCF7D3F873
:1041F00010BD00003400002010B5FFF76DFF0B4A22
:104200000B48511EFEF784FD00280AD10748001F05
:104210000179C078FFF794FF452803D00448FEF7E2
:1042200087FD10BD0120FBF7D8FF10BD4C0000201A
:104230005003002070B52E4C054621886068FCF7BD
:10424000A1F800282AD0002221886068FCF7A3F892
:104250000520FEF7C7FB01226188A068FCF79BF8E8
:104260006E20FEF7BFFB6188A068FCF78BF8002882
:1042700014D0012221886068FCF78DF84120FEF7F8
:10428000B1FB002221886068FCF785F81E20FEF74C
:10429000A9FB0026E80705D0012204E0FFF79CFFF8
:1042A000452070BD00226188A068FCF774F80122E7
:1042B00021886068FCF76FF84120FEF793FB00222D
:1042C00021886068FCF767F81E20FEF78BFB6D08FD
:1042D000761C082EDEDB012221886068FCF75BF883
:1042E00000226188A068FCF756F8002070BD00002D
:1042F00034000020FF08161E26252E363D3E46457A
:104300004E55660D151D242D2C353C43444D545BF4
:104310005A111C1B232B34333B424B4C520E125C64
:104320001A22212A32313A41494A597E1929140761
:104330000F171F272F373F474F765F6C757D4E6BEA
:1043400073747C69727A7071FFFF13565EFFFFFF12
:10435000FFFFFFFF79584A5739FF6E636F616A6547
:10436000606D6764FFFFFFFFFFFFFF62FFFFFFFF5E
:10437000FF8B8C8DFFFFFFFFFFFFFFFFFFFFFFFFA6
:10438000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
:10439000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:1043A000FFFFFFFFFFFFFFFFFFFFFF0810182028A0
:1043B0003038404850575F010101010101010303FA
:1043C00001010101010103010202010201010301D6
:1043D00002010101010103010101010101010301C8
:1043E00001010101010103010101010101010301B9
:1043F00003010101010103010101010101010301A7
:104400000101010101010301010101010103030394
:104410000201010101030301010301010301030181
:104420000301030303030303030303030303030160
:104430000303010103030101010101030101010162
:104440000101010101FF76161E26252E363D3E464E
:10445000454E55660D151D242D2C353C43444D54B9
:104460005B5A141C1B232B34333B424B4C520E1211
:104470005D1A22212A32313A41494A597C11295880
:104480000506040C030B830A0109777E6C757D7B9E
:104490006B73747969727A7071FFFF6178075A14CF
:1044A0004AFF11FF6C757D6B7469727A7071FFFF42
:1044B000FFFFFFFFFFFFFFFFFFFFFF1F272F000191
:1044C00006075553423456432050726F746F636F22
:1044D0006C20426F6172640A49424D205043204370
:1044E0006F6D70617469626C650A64656B754E7599
:1044F0006B656D2032303232000000000000000099
:10450000000102030406070809000000000102037D
:104510000400000034450008000000208000000076
:10452000F2270008B44500088000002010090000B0
:104530000228000800000000020100000000000046
:102BA000D7FA70BD001400480008004870B544060C
:102BB000C109640EC901102C24D2214D285D0028C2
:102BC00020D000291FD002281CD11E482300FFF767
:102BD00003FE0817050C170F17171517FF230133EE
:102BE0000246590000F0D8FB0AE001F083FA07E042
:102BF00010230246202101F021F801E0FFF7B8FF81
:102C00000120285570BD0128FCD102202855230041
:102C1000FFF7E2FD0805060B050E05051305F1E7B4
:102C200000F07EFD00F08CFD70BD01F0B3FA70BDC8
:102C300001F09EF801F08CF870BDFFF799FF70BDB0
:102C40007D03002000040048002802D0ED2901D3B4
:102C5000002070470B4882780B48012A04D0022AD2
:102C600006D0032A08D00BE08E2909D2042206E000
:102C70008E2905D2022202E08E2901D2032242547B
:102C8000012070470400002080000020102803D29B
:102C90000249085C012800D0002070477D03002015
:102CA00070B515460E46044600F022F8002801D003
:102CB000012070BD2178606846542178A068455491
:102CC0002078A178401CFDF713FA2170002070BD18
:102CD00070B50D4604468170284600F0F3F9606037
:102CE000284600F0EFF9A060204600F02BF870BDF8
:102CF00010B5044681780078401CFDF7F9F960783A
:102D0000814201D1012010BD002010BD10B54378D3
:102D10000478A34201D1012010BD4468E35C0B702C
:102D200081684078085C1070002010BD10B5044622
:102D300040782178884204D0A178401CFDF7D8F96A
:102D4000617010BD10B50446002020706070A1783D
:102D50006068FDF7FCF9A178A068FDF7F8F910BDEF
:102D6000F3B581B00746FF2069460870524C3946DA
:102D7000A078FFF769FF002814D10026ED3FA67068
:102D80000125032102224D483B00FFF725FD138852
:102D9000820B660B585049403D36302A2422201EB3
:102DA0000B0F0B0014220121FA2075E014220121DF
:102DB000FA2000F031FD00F0C3FCFF204E30FDF79B
:102DC0000CFAFA220021AA2066E0A170EAE7A270BC
:102DD000E8E7A570E6E700214554491C8E29FBDB96
:102DE000E0E700228154521C8E2AFBDBDAE7002147
:102DF0004254491C8E29FBDBD4E7002104224254B3
:102E0000491C8E29FBDBCDE700F09AFCCAE700F0F5
:102E100097FC14220121FA2000F0FEFC6670FEBD32
:102E200014220121FA2000F0F7FC6570FEBD142287
:102E30000121FA2000F0F0FC1E21684636E0142241
:102E40000121FA2000F0E8FC14220021AB2000F060
:102E5000E3FC1422002183201EE014220121FA2029
:102E600000F0DAFC1E21684600F0DCFB0028DDD112
:102E700014220121FA2000F0CFFC684600780028D7
:102E800003D00328D2D82070FEBD14220021207860
:102E900002E014220121EE2000F0BEFCFEBD14224F
:102EA0000121FA2000F0B8FC1E21029800F0BAFBC4
:102EB00000288BD0FEBD0000040000208000002010
:102EC0001CB56748674C8089A081FDF7B5FCFFF70A
:102ED00071F9FEF757FEFEF701FFFEF729FFFEF737
:102EE00045FFFEF76DFFFEF791FF60485E49016008
:102EF000032141605E49C1608160FDF75BFC0028F1
:102F000000D0FEE75948FDF787FC0021042001911D
:102F100000900B462278574957A0FFF74DFC5348C5
:102F20007430FFF769FD00F005FAFF250135574EB3
:102F30006F0032462B463946104600F02DFA3246D5
:102F40002B463946104601F0DFF832461023202187
:102F5000104600F073FE0220FFF798FE002801D013
:102F600001F0C8F810214A48FFF7B2FE3D48102191
:102F7000143000F0A2F93B4810211C30FFF769FD26
:102F800000F0E6F8424820216038FDF7E0F8404ABA
:102F90003648203A1146202340391030FEF712F906
:102FA000A1893CA0FFF708FC00F0C2F8002812D16C
:102FB0003CA0FFF701FC002708213046FDF7E7F9A8
:102FC0003220FDF70AF97F1C0A2FF5DB01220821C8
:102FD0003046FDF7E0F9192000F0E4FE0927FF066E
:102FE0002248FDF719FC0420FFF750FE002809D005
:102FF0000121C9033046FDF7C5F9002802D000F0D1
:10300000F1FE06E00520FFF741FE002801D000F0A8
:10301000D9F80120FFF73AFE002808D029463846A3
:10302000FDF7B0F9002802D000F09CFB0CE0022074
:10303000FFF72CFE002807D029463846FDF7A2F9F5
:10304000002801D001F0C6F80720FFF71FFE002876
:1030500001D0FFF73BFD607A0028C1D000F0D6FF19
:10306000C0F7FF1F48000020003000405C01002036
:10307000FF0F00009E44000825730A7265762564E0
:10308000207625642E25642E25640A00000400485D
:1030900050030020666C6173685F73697A653A203B
:1030A00025640A004469676974616C20706F74203C
:1030B0006E6F7420726573706F6E64696E67210A3B
:1030C00000000000F0B50B30C108C900144F002605
:1030D000144A0FE003688B420BD38B4205D95C1A6C
:1030E0004318456830C3083B00E04368136002C0E2
:1030F00004E0021D10680028ECD13046002803D1FE
:103100003868002801D00020F0BD064A064810604B
:10311000064A121AD208D20044C001203860D7E70C
:103120007C000020780000209403002090050020FF
:1031300010B56423012258210448FDF7DDF9002869
:1031400001D0002010BD012010BD000010010020A2
:1031500010B5094C002204212046FDF71CF901207E
:10316000FDF73BF8012204212046FDF714F9012068
:10317000FDF733F810BD00000004004803B583B02C
:10318000042802D3FF2005B000BD08496423085C71
:1031900001210007020E04A80293019100900B4642
:1031A00058210348FDF736FAEDE700009A4400087D
:1031B00010010020024800680068406A7047000063
:1031C0000000002070B52E4C207A0025002807D082
:1031D0004D20E0710122E11D2A48FEF798FB25727F
:1031E0002748143000F083F8002806D0A17A00297F
:1031F00004D02348143000F085F870BD2049C02267
:103200000E310D808D700A708279002A01D0E02283
:103210000A70027A002A03D00A7810231A430A702F
:103220000022825E4088404200B2030603D50B783C
:1032300008252B430B70430603D50B7804252B433D
:103240000B70130603D50B7802252B430B70530626
:103250000125002B02DA0B782B430B709206920E9D
:1032600080064A70800E88700548143000F04AF8D5
:10327000034903220E310348FEF749FBA57270BDD6
:10328000480000208002002070B50D46044600F082
:1032900020F8002801D0012070BD20780C22616840
:1032A000504308182946FCF739FF2078A178401CC4
:1032B000FCF71EFF2170002070BD10B50446817020
:1032C0000C204843FFF7FEFE6060204600F026F821
:1032D00010BD10B5044681780078401CFCF708FF4B
:1032E0006078814201D1012010BD002010BD4178DD
:1032F0000278914201D10020704740680C2251436E
:103300004018704710B5044640782178884204D0B0
:10331000A178401CFCF7ECFE617010BD10B50021D7
:103320000170417081780C2251434068FCF70FFF17
:1033300010BD000010B510210548FCF708FF012161
:10334000034802224170827001714271C17110BD47
:103350007D03002070B50F4DA988A868FDF712F80D
:103360000446E988E868FDF70DF8012802D0002836
:1033700009D00AE0012C02D0002C02D005E0032085
:1033800070BD022070BD012C01D0002070BD012055
:1033900070BD00000400002010B5054CA060A180A5
:1033A000E260E38000F0BCF900F0CAF910BD000053
:1033B0000400002010B50C4A5378002B08D0127876
:1033C000012A07D0022A08D0032A09D0072010BDFD
:1033D000012010BD00F00AF810BD00F01DF810BD6E
:1033E00000F0E2F810BD00000400002010B55328E2
:1033F00005D9572803D0582801D0032010BD002933
:1034000007D01422002100F007FA0028F6D0082087
:1034100010BD80210843F4E710B5592810D2614A45
:10342000145CFF2C7ED0002902D014220021ABE0D6
:1034300014220021F02000F0EFF9002873D1F4E706
:10344000632816D077285AD00246603A1F2A6BD8D4
:10345000544A5932101860380478FF2C62D0002981
:103460007ED014220021E02000F0D6F900285AD1A5
:1034700088E000291CD014220021E02000F0CCF9C3
:10348000002850D114220021122000F0C5F9002894
:1034900049D114220021E02000F0BEF900287DD19E
:1034A000142200217C2000F0B7F9002876D110BD4D
:1034B00014220021E02000F0AFF900286ED1142280
:1034C0000021F02000F0A8F9002867D11422002183
:1034D0007C2000F0A1F9002860D114220021E02016
:1034E00000F09AF9002859D114220021F02000F0B0
:1034F00093F9002852D1142200211220D3E7002989
:10350000A6D014220021E12000F086F9002845D140
:1035100014220021104600F07FF900283ED1142229
:10352000002102E02CE039E03AE0772000F074F965
:10353000002833D114220021E12000F06DF9002889
:103540002CD114220021F02000F066F9002825D1AA
:1035500014220021104600F05FF900281ED100E07F
:1035600014E014220021F02000F056F9002815D1B3
:1035700014220021772000F04FF900280ED110BD51
:10358000022010BD1422012120468CE714220021C4
:10359000E02000F041F9002800D149E7082010BDE3
:1035A000032010BD2144000810B5C32801D3052015
:1035B00010BD1A4A145CFF2C03D08E2C03D30620B6
:1035C00010BD022010BD16480129025D04D000295B
:1035D00010D002291BD01EE0022A03D0012A01D0FC
:1035E000032A18D114220021204600F015F90028E2
:1035F0000BD110E0022A01D0012A0CD114220021A3
:10360000F02000F009F90028ECD0082010BD012AB4
:10361000E8D0042AE6D0002010BD0000D042000807
:1036200080000020F3B581B00F4600250126FCF78D
:10363000B9FE3A4C206107E0FCF7B4FE2169401A5C
:10364000B84201D30420FEBDFFF784FE0128F3D168
:103650001220FFF7C7F90022A188A068FCF79BFEA3
:103660002420FFF7BFF90122A188A068FCF793FE90
:103670001220FFF7B7F9E188E068FCF783FE012824
:1036800000D135437004060C1220FFF7ABF900227D
:10369000A188A068FCF77FFE2420FFF7A3F9012290
:1036A000A188A068FCF777FE1220FFF79BF9FF2E98
:1036B000E1D91220FFF796F90022A188A068FCF753
:1036C0006AFE2420FFF78EF90122A188A068FCF78A
:1036D00062FE1220FFF786F91220FFF783F900221D
:1036E000E188E068FCF757FE0022A188A068FCF79B
:1036F00052FE2420FFF776F90122A188A068FCF78A
:103700004AFE1220FFF76EF90122E188E068FCF71B
:1037100042FE019805700020FEBD0000040000205C
:1037200010B5064C0122A188A068FCF734FE0122E6
:10373000E188E068FCF72FFE10BD000004000020C7
:1037400010B5054802210170012141708E22034904
:103750000348FCF7E3FC10BD04000020934300087D
:103760008000002038B5FFF7F5FD284C0228A07135
:1037700014D0012815D003280FD1221D511E244832
:10378000FFF7C4FA002808D12179E078FFF712FE8C
:10379000082836D01E48FFF7C9FA38BDFFF7C0FF2A
:1037A00038BDFF216846017018480A21401CFFF708
:1037B00039FF69466078FFF7D3FA68460478FF2C32
:1037C000EED0134820216038FCF7C1FC1048CD2111
:1037D0006038017001462031497841708121817043
:1037E000E2070121002A00D0C170A20700D50171B3
:1037F000620700D54171012251030648FCF7CBFD59
:1038000038BD0120FCF7E9FC38BD0000480000206D
:103810005003002000080048F8B515460E4607463C
:10382000FCF7C0FD0C4C206107E0FCF7BBFD2169F3
:10383000401AA84201D30120F8BDFFF78BFD0328F1
:10384000F3D1002E03D0AF208000FFF7CBF838462D
:1038500000F004F8F8BD000004000020F8B5474C63
:10386000054601260022E188E068FCF794FD12205D
:10387000FFF7B8F80022A188A068FCF78CFD24208F
:10388000FFF7B0F80122A188A068FCF784FD1220A0
:10389000FFF7A8F8A188A068FCF774FD002868D09D
:1038A0000027E80701D0012200E00022E188E0685B
:1038B000FCF771FD1220FFF795F80022A188A0689F
:1038C000FCF769FD2420FFF78DF80122A188A0688C
:1038D000FCF761FD1220FFF785F8A188A068FCF7CE
:1038E00051FD002845D0E807C00F46406D087F1CF9
:1038F000082FD6DB002E01D0012200E00022E18853
:10390000E068FCF748FD1220FFF76CF80022A18860
:10391000A068FCF740FD2420FFF764F80122A1888D
:10392000A068FCF738FD1220FFF75CF8A188A068BA
:10393000FCF728FD00281CD00122E188E068FCF794
:103940002AFD1220FFF74EF80022A188A068FCF79C
:1039500022FD2420FFF746F80122A188A068FCF789
:103960001AFD1220FFF73EF8C820FFF73BF80020B1
:10397000F8BDFFF7D5FE0820F8BD000004000020C8
:1039800010B5164C61892069FCF7FCFC012805D1B3
:103990002189E068FCF7F6FC012806D061892069DE
:1039A000FCF7F0FC012802D007E0032010BD2189BC
:1039B000E068FCF7E7FC002806D061892069FCF785
:1039C000E1FC002802D007E0022010BD2189E06858
:1039D000FCF7D8FC0128F8D0002010BD180000200A
:1039E000F8B5374E054630780C46002804D0B0793B
:1039F000002803D00620F8BD0120F8BD0821601C76
:103A0000FCF7A5FB0320207008206070A87900282F
:103A100001D009206070287A0221002802D0607845
:103A200008436070E8790422002802D060781043CF
:103A300060700020285E1023002802DA60781843A6
:103A400060700220285E2027002802DA6078384360
:103A500060702878A070A878E0707079032806D08C
:103A6000042806D0002800D022700020F8BD287954
:103A70001EE0687A002802D0207918432071A87AC5
:103A8000002802D0207938432071052028560028CC
:103A900001DD207903E0002803DA20790E210843B4
:103AA000207104202856002804DD2079012105E03A
:103AB0002071D9E70028D7DA20790F210843F7E7EA
:103AC00018000020F8B500250E46FF2810D0E63873
:103AD00000210127584C0300FEF77EFE11A0A6909E
:103AE00063619B9B9B5A9B549B331E1C1A179B0024
:103AF00000F03EF91421FA2000F0E4F9FA21AA209E
:103B000000F0D3F91421002075E000F03DF980E0C9
:103B100021707EE027707CE01421FA2000F0D2F9B9
:103B200045489621401C00F097F800282FD14249C3
:103B30002079143162780A5407286AD2401C207117
:103B400067E01421FA2000F0BDF92179022916D985
:103B50003948143040182038C17F50290FD1817F57
:103B6000642902D0C82905D009E0407FC82806D1C1
:103B7000032003E0407FC82801D104206071142194
:103B8000607938E01421FA2000F09CF9A771F8BDA3
:103B90001421FA2000F096F90220A071F8BDA1715D
:103BA00037E01421FA2000F08DF9A079012800D126
:103BB00040252078002801D020200543E078022805
:103BC00001D110200543B079002801D0042005431D
:103BD000F079002801D002200543307A002800D077
:103BE0003D431421284600F060F91421A07800F02C
:103BF0005CF91421607800F058F9F8BD1421FA201E
:103C000000F060F90C489621801C00F025F800288F
:103C1000F3D11421FA2000F055F9F8BD1421FA204F
:103C200000F050F9E770F8BD1421FA2000F04AF9CD
:103C30000220E070F8BD00001800002010B5054C0F
:103C4000E06021812261638100F092F800F080F849
:103C500010BD000018000020F3B581B00F4600250C
:103C60000126FCF79FFB044606E0FCF79BFB001BCC
:103C7000B84201D30420FEBDFFF782FE0128F4D133
:103C80001220FEF7AFFE314C00222189E068FCF7DC
:103C900082FB2420FEF7A6FE01222189E068FCF7C2
:103CA0007AFB1220FEF79EFE61892069FCF76AFB11
:103CB000012800D135437004060C1220FEF792FE55
:103CC00000222189E068FCF766FB2420FEF78AFECB
:103CD00001222189E068FCF75EFB1220FEF782FEDC
:103CE000FF2EE1D91220FEF77DFE00222189E06837
:103CF000FCF751FB2420FEF775FE01222189E068C4
:103D0000FCF749FB1220FEF76DFE1220FEF76AFE5B
:103D1000002261892069FCF73EFB00222189E068CE
:103D2000FCF739FB2420FEF75DFE01222189E068C3
:103D3000FCF731FB1220FEF755FE01226189206954
:103D4000FCF729FB019805700020FEBD180000203B
:103D500010B5064C01222189E068FCF71CFB01220A
:103D600061892069FCF717FB10BD000018000020D6
:103D700000B500F009F80349002008714861886126
:103D8000487100BD180000200548642141700221DF
:103D900081700121C17000210170817170470000A4
:103DA0001800002010B500F06DF8002807D164213C
:103DB000AA2000F07AF86421002000F076F810BD07
:103DC00070B50546002407E028194078C82100F0A6
:103DD0006CF8002804D1641C2878A042F4DC002090
:103DE00070BD000070B5FFF7CBFD234C0228607159
:103DF00011D0012812D020461430FFF778FA00289D
:103E000008D01E49FFF7ECFD002812D020461430E0
:103E1000FFF778FA70BDFFF79BFF70BD16480A21C7
:103E2000801CFFF719FF1549A0781839FFF74AFEE3
:103E300070BD1248FFF7C4FF002817D0104D0122B3
:103E400008212846FCF7A7FAFCF7ACFA044604E080
:103E5000FCF7A8FA001B192803D8FFF791FD0328E7
:103E6000F6D1002208212846FCF795FA02481430C2
:103E7000FFF754FA70BD00004800002074030020D2
:103E80000004004870B50546FCF78CFA044606E0CD
:103E9000FCF788FA001BA84201D3042070BDFFF78D
:103EA0006FFD0328F4D1002070BD10B5044608460C
:103EB000FFF7E8FF002801D0042010BD204600F0E5
:103EC00013F810BD10B504460846FFF7DBFF0028C5
:103ED00001D0042010BDAF208000FEF783FD2046F6
:103EE00000F002F810BD0000F8B5474C0546012669
:103EF000002261892069FCF74EFA1220FEF772FD5C
:103F000000222189E068FCF746FA2420FEF76AFDCA
:103F100001222189E068FCF73EFA1220FEF762FDDB
:103F20002189E068FCF72EFA002868D00027E8070E
:103F300001D0012200E0002261892069FCF72BFA00
:103F40001220FEF74FFD00222189E068FCF723FADA
:103F50002420FEF747FD01222189E068FCF71BFAC7
:103F60001220FEF73FFD2189E068FCF70BFA0028DC
:103F700045D0E807C00F46406D087F1C082FD6DBF0
:103F8000002E01D0012200E0002261892069FCF7A7
:103F900002FA1220FEF726FD00222189E068FCF7D4
:103FA000FAF92420FEF71EFD01222189E068FCF7C2
:103FB000F2F91220FEF716FD2189E068FCF7E2F91C
:103FC00000281CD0012261892069FCF7E4F9122045
:103FD000FEF708FD00222189E068FCF7DCF92420C7
:103FE000FEF700FD01222189E068FCF7D4F91220D8
:103FF000FEF7F8FCFA20FEF7F5FC0020F8BDFFF70D
:10400000A7FE0820F8BD00001800002011A0FEF750
:10401000D3FB134D0024295D12A0FEF7CDFB641CD9
:10402000202CF8DB10A0FEF7C7FB134D002408215D
:104030002846FCF7ACF96420FCF7CFF8641C642C2C
:10404000F5DBBFF34F8F0E490C48C860BFF34F8FAD
:1040500000BFFDE7535049204552524F520A00001D
:1040600010030020256420000A7265626F6F746976
:104070006E672E2E2E0A0000000400480400FA0588
:1040800000ED00E070B50646FCF78CF90446084DDB
:1040900006E0FCF787F9001BB04201D9042070BD8F
:1040A00029886868FCF76EF90028F2D0002070BDFE
:1040B0003400002010B50E4C21886068FCF762F9CE
:1040C000012802D1FCF76EF9E060FCF76BF9E168BA
:1040D000401A14280BD9C820FFF7D4FF1420FCF78E
:1040E0007CF8AA2000F094F80A20FCF776F810BDBE
:1040F0003400002010B500F05DF8FCF753F90149D9
:10410000C86010BD3400002010B5034C60602180F1
:10411000A260638010BD00003400002070B504462A
:1041200066380300FEF758FB0A1406080A0C0E1046
:104130001216181A482413E04A2411E04B240FE009
:104140004E240DE04F240BE0502409E0512407E0F9
:10415000472405E0522403E0532401E0532C0BD8FC
:10416000022902D000290DD00EE0FCF71BF9084D02
:104170002969401A502801D8002070BDFCF712F9B7
:10418000286101E080200443204600F041F870BD22
:104190003400002010B5064C012221886068FCF72D
:1041A000FAF801226188A068FCF7F5F810BD00005C
:1041B0003400002010B5064C012221886068FCF70D
:1041C000EAF800226188A068FCF7E5F810BD00005D
:1041D0003400002010B5FFF76DFF0B4A0B48511E4D
:1041E000FEF794FD00280AD10748001F0179C07826
:1041F000FFF794FF452803D00448FEF797FD10BD54
:104200000120FBF7EAFF10BD4C0000205003002006
:1042100070B52E4C054621886068FCF7B3F800287D
:104220002AD0002221886068FCF7B5F80520FEF747
:10423000D9FB01226188A068FCF7ADF86E20FEF77B
:10424000D1FB6188A068FCF79DF8002814D00122FA
:1042500021886068FCF79FF84120FEF7C3FB00222D
:1042600021886068FCF797F81E20FEF7BBFB00264C
:10427000E80705D0012204E0FFF79CFF452070BD50
:1042800000226188A068FCF786F801222188606816
:10429000FCF781F84120FEF7A5FB00222188606829
:1042A000FCF779F81E20FEF79DFB6D08761C082EA2
:1042B000DEDB012221886068FCF76DF8002261884E
:1042C000A068FCF768F8002070BD000034000020F2
:1042D000FF08161E26252E363D3E46454E55660DD8
:1042E000151D242D2C353C43444D545B5A111C1B89
:1042F000232B34333B424B4C520E125C1A22212AA0
:1043000032313A41494A597E192914070F171F279C
:104310002F373F474F765F6C757D4E6B73747C69AA
:10432000727A7071FFFF13565EFFFFFFFFFFFFFF02
:1043300079584A5739FF6E636F616A65606D6764CB
:10434000FFFFFFFFFFFFFF62FFFFFFFFFF8B8C8D73
:10435000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:10436000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:10437000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:10438000FFFFFFFFFFFFFF081018202830384048CC
:1043900050575F0101010101010103030101010106
:1043A00001010301020201020101030102010101F5
:1043B00001010301010101010101030101010101E9
:1043C00001010301010101010101030103010101D7
:1043D00001010301010101010101030101010101C9
:1043E00001010301010101010103030302010101B4
:1043F000010303010103010103010301030103039D
:104400000303030303030303030303010303010182
:104410000303010101010103010101010101010186
:1044200001FF76161E26252E363D3E46454E556624
:104430000D151D242D2C353C43444D545B5A141C42
:104440001B232B34333B424B4C520E125D1A22215C
:104450002A32313A41494A597C1129580506040C3F
:10446000030B830A0109777E6C757D7B6B7374790E
:1044700069727A7071FFFF6178075A144AFF11FF61
:104480006C757D6B7469727A7071FFFFFFFFFFFFBF
:10449000FFFFFFFFFFFFFF1F272F000106075553F8
:1044A000423456432050726F746F636F6C20426FBA
:1044B0006172640A49424D20504320436F6D706120
:1044C0007469626C650A64656B754E756B656D2009
:1044D0003230323200000000000000000001020310
:1044E00004060708090000000001020304000000A0
:1044F000104500080000002080000000F22700089E
:1045000090450008800000201009000002280008E3
:104510000000000002010000000000000000000098
:10452000000000000000000000000000000000008B
:10453000000000000000000000000000000000007B
:10454000000000000000000000000000000000006B
:10455000000000000000000000000000000000005B
:10456000000000000000000000000000000000004B
:10457000000000000000000000000000000000003B
:10458000000000000000000000000000000000002B
:10459000000000000000000000000000000000001B
:1045A0000000000000127A0000000000000000007F
:0445B0000000000007
:1045800000127A000000000000000000000000009F
:04000005080000C12E
:00000001FF

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [ibmpc\ibmpc.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image ibmpc\ibmpc.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Fri May 06 17:32:07 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Fri May 06 20:56:08 2022
<BR><P>
<H3>Maximum Stack Usage = 212 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -977,7 +977,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;handle_protocol_switch
</UL>
<P><STRONG><a name="[60]"></a>handle_protocol_switch</STRONG> (Thumb, 152 bytes, Stack size 16 bytes, main.o(i.handle_protocol_switch))
<P><STRONG><a name="[60]"></a>handle_protocol_switch</STRONG> (Thumb, 148 bytes, Stack size 16 bytes, main.o(i.handle_protocol_switch))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = handle_protocol_switch &rArr; gameport_init &rArr; mcp4451_reset &rArr; HAL_Delay
</UL>
<BR>[Calls]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xtkb_release_lines
@@ -999,8 +999,7 @@ Global Symbols
</UL>
<P><STRONG><a name="[3a]"></a>is_protocol_enabled</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, main.o(i.is_protocol_enabled))
<BR><BR>[Called By]<UL><LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_update
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_EXTI_Callback
</UL>
@@ -1067,7 +1066,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2kb_update
</UL>
<P><STRONG><a name="[26]"></a>main</STRONG> (Thumb, 426 bytes, Stack size 16 bytes, main.o(i.main))
<P><STRONG><a name="[26]"></a>main</STRONG> (Thumb, 416 bytes, Stack size 16 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 212<LI>Call Chain = main &rArr; SystemClock_Config &rArr; HAL_RCC_ClockConfig &rArr; HAL_RCC_GetSysClockFreq &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_USART3_UART_Init
@@ -1207,7 +1206,7 @@ Global Symbols
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_update
</UL>
<P><STRONG><a name="[b4]"></a>protocol_status_lookup_init</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, main.o(i.protocol_status_lookup_init))
<P><STRONG><a name="[b4]"></a>protocol_status_lookup_init</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, main.o(i.protocol_status_lookup_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = protocol_status_lookup_init
</UL>
<BR>[Calls]<UL><LI><a href="#[32]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
@@ -1434,7 +1433,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[d4]"></a>ps2mouse_send_update</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, ps2mouse.o(i.ps2mouse_send_update))
<P><STRONG><a name="[d4]"></a>ps2mouse_send_update</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, ps2mouse.o(i.ps2mouse_send_update))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = ps2mouse_send_update &rArr; ps2mouse_write &rArr; ps2mouse_write_nowait &rArr; ps2mouse_release_lines
</UL>
<BR>[Calls]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_write
@@ -1442,7 +1441,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_update
</UL>
<P><STRONG><a name="[bb]"></a>ps2mouse_update</STRONG> (Thumb, 162 bytes, Stack size 16 bytes, main.o(i.ps2mouse_update))
<P><STRONG><a name="[bb]"></a>ps2mouse_update</STRONG> (Thumb, 146 bytes, Stack size 16 bytes, main.o(i.ps2mouse_update))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = ps2mouse_update &rArr; ps2mouse_host_req_reply &rArr; ps2mouse_write_delay_start &rArr; ps2mouse_write_nowait &rArr; ps2mouse_release_lines
</UL>
<BR>[Calls]<UL><LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ps2mouse_send_update
@@ -1456,7 +1455,6 @@ Global Symbols
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_reset
<LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_pop
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_peek
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;is_protocol_enabled
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

View File

@@ -291,7 +291,6 @@ Section Cross References
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_release_lines) for ps2mouse_release_lines
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_read) for ps2mouse_read
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_host_req_reply) for ps2mouse_host_req_reply
main.o(i.ps2mouse_update) refers to main.o(i.is_protocol_enabled) for is_protocol_enabled
main.o(i.ps2mouse_update) refers to ps2mouse.o(i.ps2mouse_send_update) for ps2mouse_send_update
main.o(i.ps2mouse_update) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
main.o(i.ps2mouse_update) refers to stm32f0xx_hal.o(i.HAL_GetTick) for HAL_GetTick
@@ -2020,71 +2019,71 @@ Image Symbol Table
i.gamepad_update 0x08002acc Section 0 main.o(i.gamepad_update)
i.gameport_init 0x08002b70 Section 0 main.o(i.gameport_init)
i.handle_protocol_switch 0x08002bac Section 0 main.o(i.handle_protocol_switch)
i.handle_set3_commands 0x08002c4c Section 0 ps2kb.o(i.handle_set3_commands)
i.is_protocol_enabled 0x08002c90 Section 0 main.o(i.is_protocol_enabled)
i.kb_buf_add 0x08002ca4 Section 0 helpers.o(i.kb_buf_add)
i.kb_buf_init 0x08002cd4 Section 0 helpers.o(i.kb_buf_init)
i.kb_buf_is_full 0x08002cf4 Section 0 helpers.o(i.kb_buf_is_full)
i.kb_buf_peek 0x08002d10 Section 0 helpers.o(i.kb_buf_peek)
i.kb_buf_pop 0x08002d30 Section 0 helpers.o(i.kb_buf_pop)
i.kb_buf_reset 0x08002d48 Section 0 helpers.o(i.kb_buf_reset)
i.keyboard_reply 0x08002d64 Section 0 ps2kb.o(i.keyboard_reply)
i.main 0x08002ec4 Section 0 main.o(i.main)
i.malloc 0x080030d4 Section 0 malloc.o(i.malloc)
i.mcp4451_is_available 0x08003140 Section 0 mcp4451.o(i.mcp4451_is_available)
i.mcp4451_reset 0x08003160 Section 0 mcp4451.o(i.mcp4451_reset)
i.mcp4451_write_wiper 0x0800318c Section 0 mcp4451.o(i.mcp4451_write_wiper)
i.micros 0x080031c4 Section 0 delay_us.o(i.micros)
i.microsoft_serial_mouse_update 0x080031d4 Section 0 main.o(i.microsoft_serial_mouse_update)
i.mouse_buf_add 0x08003298 Section 0 helpers.o(i.mouse_buf_add)
i.mouse_buf_init 0x080032ca Section 0 helpers.o(i.mouse_buf_init)
i.mouse_buf_is_full 0x080032e2 Section 0 helpers.o(i.mouse_buf_is_full)
i.mouse_buf_peek 0x080032fe Section 0 helpers.o(i.mouse_buf_peek)
i.mouse_buf_pop 0x08003314 Section 0 helpers.o(i.mouse_buf_pop)
i.mouse_buf_reset 0x0800332c Section 0 helpers.o(i.mouse_buf_reset)
i.protocol_status_lookup_init 0x08003344 Section 0 main.o(i.protocol_status_lookup_init)
i.ps2kb_get_bus_status 0x08003368 Section 0 ps2kb.o(i.ps2kb_get_bus_status)
i.ps2kb_init 0x080033ac Section 0 ps2kb.o(i.ps2kb_init)
i.ps2kb_press_key 0x080033c8 Section 0 ps2kb.o(i.ps2kb_press_key)
i.ps2kb_press_key_scancode_1 0x08003400 Section 0 ps2kb.o(i.ps2kb_press_key_scancode_1)
i.ps2kb_press_key_scancode_2 0x0800342c Section 0 ps2kb.o(i.ps2kb_press_key_scancode_2)
i.ps2kb_press_key_scancode_3 0x080035bc Section 0 ps2kb.o(i.ps2kb_press_key_scancode_3)
i.ps2kb_read 0x08003638 Section 0 ps2kb.o(i.ps2kb_read)
i.ps2kb_release_lines 0x08003734 Section 0 ps2kb.o(i.ps2kb_release_lines)
i.ps2kb_reset 0x08003754 Section 0 ps2kb.o(i.ps2kb_reset)
i.ps2kb_update 0x08003778 Section 0 main.o(i.ps2kb_update)
i.ps2kb_write 0x0800382c Section 0 ps2kb.o(i.ps2kb_write)
i.ps2kb_write_nowait 0x08003870 Section 0 ps2kb.o(i.ps2kb_write_nowait)
i.ps2mouse_get_bus_status 0x08003994 Section 0 ps2mouse.o(i.ps2mouse_get_bus_status)
i.ps2mouse_get_outgoing_data 0x080039f4 Section 0 ps2mouse.o(i.ps2mouse_get_outgoing_data)
i.ps2mouse_host_req_reply 0x08003ad8 Section 0 ps2mouse.o(i.ps2mouse_host_req_reply)
i.ps2mouse_init 0x08003c50 Section 0 ps2mouse.o(i.ps2mouse_init)
i.ps2mouse_read 0x08003c6c Section 0 ps2mouse.o(i.ps2mouse_read)
i.ps2mouse_release_lines 0x08003d64 Section 0 ps2mouse.o(i.ps2mouse_release_lines)
i.ps2mouse_reset 0x08003d84 Section 0 ps2mouse.o(i.ps2mouse_reset)
i.ps2mouse_restore_defaults 0x08003d9c Section 0 ps2mouse.o(i.ps2mouse_restore_defaults)
i.ps2mouse_send_bat 0x08003db8 Section 0 ps2mouse.o(i.ps2mouse_send_bat)
i.ps2mouse_send_update 0x08003dd4 Section 0 ps2mouse.o(i.ps2mouse_send_update)
i.ps2mouse_update 0x08003df8 Section 0 main.o(i.ps2mouse_update)
i.ps2mouse_wait_for_idle 0x08003ea8 Section 0 ps2mouse.o(i.ps2mouse_wait_for_idle)
i.ps2mouse_write 0x08003ece Section 0 ps2mouse.o(i.ps2mouse_write)
i.ps2mouse_write_delay_start 0x08003ee8 Section 0 ps2mouse.o(i.ps2mouse_write_delay_start)
i.ps2mouse_write_nowait 0x08003f0c Section 0 ps2mouse.o(i.ps2mouse_write_nowait)
i.spi_error_dump_reboot 0x08004030 Section 0 main.o(i.spi_error_dump_reboot)
i.wait_for_clk_high 0x080040a8 Section 0 xt_kb.o(i.wait_for_clk_high)
i.xtkb_check_for_softreset 0x080040d8 Section 0 xt_kb.o(i.xtkb_check_for_softreset)
i.xtkb_enable 0x08004118 Section 0 xt_kb.o(i.xtkb_enable)
i.xtkb_init 0x0800412c Section 0 xt_kb.o(i.xtkb_init)
i.xtkb_press_key 0x08004140 Section 0 xt_kb.o(i.xtkb_press_key)
i.xtkb_release_lines 0x080041b8 Section 0 xt_kb.o(i.xtkb_release_lines)
i.xtkb_reset_bus 0x080041d8 Section 0 xt_kb.o(i.xtkb_reset_bus)
i.xtkb_update 0x080041f8 Section 0 main.o(i.xtkb_update)
i.xtkb_write 0x08004234 Section 0 xt_kb.o(i.xtkb_write)
.constdata 0x080042f4 Section 458 ps2kb.o(.constdata)
.constdata 0x080044be Section 4 mcp4451.o(.constdata)
.constdata 0x080044c2 Section 55 main.o(.constdata)
.constdata 0x080044f9 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x08004509 Section 8 system_stm32f0xx.o(.constdata)
i.handle_set3_commands 0x08002c48 Section 0 ps2kb.o(i.handle_set3_commands)
i.is_protocol_enabled 0x08002c8c Section 0 main.o(i.is_protocol_enabled)
i.kb_buf_add 0x08002ca0 Section 0 helpers.o(i.kb_buf_add)
i.kb_buf_init 0x08002cd0 Section 0 helpers.o(i.kb_buf_init)
i.kb_buf_is_full 0x08002cf0 Section 0 helpers.o(i.kb_buf_is_full)
i.kb_buf_peek 0x08002d0c Section 0 helpers.o(i.kb_buf_peek)
i.kb_buf_pop 0x08002d2c Section 0 helpers.o(i.kb_buf_pop)
i.kb_buf_reset 0x08002d44 Section 0 helpers.o(i.kb_buf_reset)
i.keyboard_reply 0x08002d60 Section 0 ps2kb.o(i.keyboard_reply)
i.main 0x08002ec0 Section 0 main.o(i.main)
i.malloc 0x080030c4 Section 0 malloc.o(i.malloc)
i.mcp4451_is_available 0x08003130 Section 0 mcp4451.o(i.mcp4451_is_available)
i.mcp4451_reset 0x08003150 Section 0 mcp4451.o(i.mcp4451_reset)
i.mcp4451_write_wiper 0x0800317c Section 0 mcp4451.o(i.mcp4451_write_wiper)
i.micros 0x080031b4 Section 0 delay_us.o(i.micros)
i.microsoft_serial_mouse_update 0x080031c4 Section 0 main.o(i.microsoft_serial_mouse_update)
i.mouse_buf_add 0x08003288 Section 0 helpers.o(i.mouse_buf_add)
i.mouse_buf_init 0x080032ba Section 0 helpers.o(i.mouse_buf_init)
i.mouse_buf_is_full 0x080032d2 Section 0 helpers.o(i.mouse_buf_is_full)
i.mouse_buf_peek 0x080032ee Section 0 helpers.o(i.mouse_buf_peek)
i.mouse_buf_pop 0x08003304 Section 0 helpers.o(i.mouse_buf_pop)
i.mouse_buf_reset 0x0800331c Section 0 helpers.o(i.mouse_buf_reset)
i.protocol_status_lookup_init 0x08003334 Section 0 main.o(i.protocol_status_lookup_init)
i.ps2kb_get_bus_status 0x08003354 Section 0 ps2kb.o(i.ps2kb_get_bus_status)
i.ps2kb_init 0x08003398 Section 0 ps2kb.o(i.ps2kb_init)
i.ps2kb_press_key 0x080033b4 Section 0 ps2kb.o(i.ps2kb_press_key)
i.ps2kb_press_key_scancode_1 0x080033ec Section 0 ps2kb.o(i.ps2kb_press_key_scancode_1)
i.ps2kb_press_key_scancode_2 0x08003418 Section 0 ps2kb.o(i.ps2kb_press_key_scancode_2)
i.ps2kb_press_key_scancode_3 0x080035a8 Section 0 ps2kb.o(i.ps2kb_press_key_scancode_3)
i.ps2kb_read 0x08003624 Section 0 ps2kb.o(i.ps2kb_read)
i.ps2kb_release_lines 0x08003720 Section 0 ps2kb.o(i.ps2kb_release_lines)
i.ps2kb_reset 0x08003740 Section 0 ps2kb.o(i.ps2kb_reset)
i.ps2kb_update 0x08003764 Section 0 main.o(i.ps2kb_update)
i.ps2kb_write 0x08003818 Section 0 ps2kb.o(i.ps2kb_write)
i.ps2kb_write_nowait 0x0800385c Section 0 ps2kb.o(i.ps2kb_write_nowait)
i.ps2mouse_get_bus_status 0x08003980 Section 0 ps2mouse.o(i.ps2mouse_get_bus_status)
i.ps2mouse_get_outgoing_data 0x080039e0 Section 0 ps2mouse.o(i.ps2mouse_get_outgoing_data)
i.ps2mouse_host_req_reply 0x08003ac4 Section 0 ps2mouse.o(i.ps2mouse_host_req_reply)
i.ps2mouse_init 0x08003c3c Section 0 ps2mouse.o(i.ps2mouse_init)
i.ps2mouse_read 0x08003c58 Section 0 ps2mouse.o(i.ps2mouse_read)
i.ps2mouse_release_lines 0x08003d50 Section 0 ps2mouse.o(i.ps2mouse_release_lines)
i.ps2mouse_reset 0x08003d70 Section 0 ps2mouse.o(i.ps2mouse_reset)
i.ps2mouse_restore_defaults 0x08003d88 Section 0 ps2mouse.o(i.ps2mouse_restore_defaults)
i.ps2mouse_send_bat 0x08003da4 Section 0 ps2mouse.o(i.ps2mouse_send_bat)
i.ps2mouse_send_update 0x08003dc0 Section 0 ps2mouse.o(i.ps2mouse_send_update)
i.ps2mouse_update 0x08003de4 Section 0 main.o(i.ps2mouse_update)
i.ps2mouse_wait_for_idle 0x08003e84 Section 0 ps2mouse.o(i.ps2mouse_wait_for_idle)
i.ps2mouse_write 0x08003eaa Section 0 ps2mouse.o(i.ps2mouse_write)
i.ps2mouse_write_delay_start 0x08003ec4 Section 0 ps2mouse.o(i.ps2mouse_write_delay_start)
i.ps2mouse_write_nowait 0x08003ee8 Section 0 ps2mouse.o(i.ps2mouse_write_nowait)
i.spi_error_dump_reboot 0x0800400c Section 0 main.o(i.spi_error_dump_reboot)
i.wait_for_clk_high 0x08004084 Section 0 xt_kb.o(i.wait_for_clk_high)
i.xtkb_check_for_softreset 0x080040b4 Section 0 xt_kb.o(i.xtkb_check_for_softreset)
i.xtkb_enable 0x080040f4 Section 0 xt_kb.o(i.xtkb_enable)
i.xtkb_init 0x08004108 Section 0 xt_kb.o(i.xtkb_init)
i.xtkb_press_key 0x0800411c Section 0 xt_kb.o(i.xtkb_press_key)
i.xtkb_release_lines 0x08004194 Section 0 xt_kb.o(i.xtkb_release_lines)
i.xtkb_reset_bus 0x080041b4 Section 0 xt_kb.o(i.xtkb_reset_bus)
i.xtkb_update 0x080041d4 Section 0 main.o(i.xtkb_update)
i.xtkb_write 0x08004210 Section 0 xt_kb.o(i.xtkb_write)
.constdata 0x080042d0 Section 458 ps2kb.o(.constdata)
.constdata 0x0800449a Section 4 mcp4451.o(.constdata)
.constdata 0x0800449e Section 55 main.o(.constdata)
.constdata 0x080044d5 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x080044e5 Section 8 system_stm32f0xx.o(.constdata)
.data 0x20000000 Section 4 delay_us.o(.data)
.data 0x20000004 Section 20 ps2kb.o(.data)
.data 0x20000018 Section 28 ps2mouse.o(.data)
@@ -2300,77 +2299,77 @@ Image Symbol Table
gamepad_buf_reset 0x08002ab5 Thumb Code 22 helpers.o(i.gamepad_buf_reset)
gamepad_update 0x08002acd Thumb Code 150 main.o(i.gamepad_update)
gameport_init 0x08002b71 Thumb Code 52 main.o(i.gameport_init)
handle_protocol_switch 0x08002bad Thumb Code 152 main.o(i.handle_protocol_switch)
handle_set3_commands 0x08002c4d Thumb Code 60 ps2kb.o(i.handle_set3_commands)
is_protocol_enabled 0x08002c91 Thumb Code 16 main.o(i.is_protocol_enabled)
kb_buf_add 0x08002ca5 Thumb Code 48 helpers.o(i.kb_buf_add)
kb_buf_init 0x08002cd5 Thumb Code 32 helpers.o(i.kb_buf_init)
kb_buf_is_full 0x08002cf5 Thumb Code 28 helpers.o(i.kb_buf_is_full)
kb_buf_peek 0x08002d11 Thumb Code 32 helpers.o(i.kb_buf_peek)
kb_buf_pop 0x08002d31 Thumb Code 24 helpers.o(i.kb_buf_pop)
kb_buf_reset 0x08002d49 Thumb Code 28 helpers.o(i.kb_buf_reset)
keyboard_reply 0x08002d65 Thumb Code 342 ps2kb.o(i.keyboard_reply)
main 0x08002ec5 Thumb Code 426 main.o(i.main)
malloc 0x080030d5 Thumb Code 92 malloc.o(i.malloc)
mcp4451_is_available 0x08003141 Thumb Code 26 mcp4451.o(i.mcp4451_is_available)
mcp4451_reset 0x08003161 Thumb Code 38 mcp4451.o(i.mcp4451_reset)
mcp4451_write_wiper 0x0800318d Thumb Code 46 mcp4451.o(i.mcp4451_write_wiper)
micros 0x080031c5 Thumb Code 10 delay_us.o(i.micros)
microsoft_serial_mouse_update 0x080031d5 Thumb Code 188 main.o(i.microsoft_serial_mouse_update)
mouse_buf_add 0x08003299 Thumb Code 50 helpers.o(i.mouse_buf_add)
mouse_buf_init 0x080032cb Thumb Code 24 helpers.o(i.mouse_buf_init)
mouse_buf_is_full 0x080032e3 Thumb Code 28 helpers.o(i.mouse_buf_is_full)
mouse_buf_peek 0x080032ff Thumb Code 22 helpers.o(i.mouse_buf_peek)
mouse_buf_pop 0x08003315 Thumb Code 24 helpers.o(i.mouse_buf_pop)
mouse_buf_reset 0x0800332d Thumb Code 22 helpers.o(i.mouse_buf_reset)
protocol_status_lookup_init 0x08003345 Thumb Code 30 main.o(i.protocol_status_lookup_init)
ps2kb_get_bus_status 0x08003369 Thumb Code 62 ps2kb.o(i.ps2kb_get_bus_status)
ps2kb_init 0x080033ad Thumb Code 22 ps2kb.o(i.ps2kb_init)
ps2kb_press_key 0x080033c9 Thumb Code 50 ps2kb.o(i.ps2kb_press_key)
ps2kb_press_key_scancode_1 0x08003401 Thumb Code 44 ps2kb.o(i.ps2kb_press_key_scancode_1)
ps2kb_press_key_scancode_2 0x0800342d Thumb Code 396 ps2kb.o(i.ps2kb_press_key_scancode_2)
ps2kb_press_key_scancode_3 0x080035bd Thumb Code 114 ps2kb.o(i.ps2kb_press_key_scancode_3)
ps2kb_read 0x08003639 Thumb Code 246 ps2kb.o(i.ps2kb_read)
ps2kb_release_lines 0x08003735 Thumb Code 26 ps2kb.o(i.ps2kb_release_lines)
ps2kb_reset 0x08003755 Thumb Code 24 ps2kb.o(i.ps2kb_reset)
ps2kb_update 0x08003779 Thumb Code 166 main.o(i.ps2kb_update)
ps2kb_write 0x0800382d Thumb Code 62 ps2kb.o(i.ps2kb_write)
ps2kb_write_nowait 0x08003871 Thumb Code 286 ps2kb.o(i.ps2kb_write_nowait)
ps2mouse_get_bus_status 0x08003995 Thumb Code 92 ps2mouse.o(i.ps2mouse_get_bus_status)
ps2mouse_get_outgoing_data 0x080039f5 Thumb Code 224 ps2mouse.o(i.ps2mouse_get_outgoing_data)
ps2mouse_host_req_reply 0x08003ad9 Thumb Code 370 ps2mouse.o(i.ps2mouse_host_req_reply)
ps2mouse_init 0x08003c51 Thumb Code 22 ps2mouse.o(i.ps2mouse_init)
ps2mouse_read 0x08003c6d Thumb Code 244 ps2mouse.o(i.ps2mouse_read)
ps2mouse_release_lines 0x08003d65 Thumb Code 26 ps2mouse.o(i.ps2mouse_release_lines)
ps2mouse_reset 0x08003d85 Thumb Code 20 ps2mouse.o(i.ps2mouse_reset)
ps2mouse_restore_defaults 0x08003d9d Thumb Code 22 ps2mouse.o(i.ps2mouse_restore_defaults)
ps2mouse_send_bat 0x08003db9 Thumb Code 28 ps2mouse.o(i.ps2mouse_send_bat)
ps2mouse_send_update 0x08003dd5 Thumb Code 36 ps2mouse.o(i.ps2mouse_send_update)
ps2mouse_update 0x08003df9 Thumb Code 162 main.o(i.ps2mouse_update)
ps2mouse_wait_for_idle 0x08003ea9 Thumb Code 38 ps2mouse.o(i.ps2mouse_wait_for_idle)
ps2mouse_write 0x08003ecf Thumb Code 26 ps2mouse.o(i.ps2mouse_write)
ps2mouse_write_delay_start 0x08003ee9 Thumb Code 34 ps2mouse.o(i.ps2mouse_write_delay_start)
ps2mouse_write_nowait 0x08003f0d Thumb Code 286 ps2mouse.o(i.ps2mouse_write_nowait)
spi_error_dump_reboot 0x08004031 Thumb Code 72 main.o(i.spi_error_dump_reboot)
wait_for_clk_high 0x080040a9 Thumb Code 44 xt_kb.o(i.wait_for_clk_high)
xtkb_check_for_softreset 0x080040d9 Thumb Code 60 xt_kb.o(i.xtkb_check_for_softreset)
xtkb_enable 0x08004119 Thumb Code 16 xt_kb.o(i.xtkb_enable)
xtkb_init 0x0800412d Thumb Code 14 xt_kb.o(i.xtkb_init)
xtkb_press_key 0x08004141 Thumb Code 116 xt_kb.o(i.xtkb_press_key)
xtkb_release_lines 0x080041b9 Thumb Code 26 xt_kb.o(i.xtkb_release_lines)
xtkb_reset_bus 0x080041d9 Thumb Code 26 xt_kb.o(i.xtkb_reset_bus)
xtkb_update 0x080041f9 Thumb Code 52 main.o(i.xtkb_update)
xtkb_write 0x08004235 Thumb Code 186 xt_kb.o(i.xtkb_write)
linux_keycode_to_ps3_scancode_lookup_codeset3 0x080042f4 Data 195 ps2kb.o(.constdata)
scancode_set3_default_status 0x080043b7 Data 142 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_single_byte_codeset2 0x08004445 Data 89 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_special_codeset2 0x0800449e Data 32 ps2kb.o(.constdata)
mcp4451_wiper_id_to_reg_addr_lookup 0x080044be Data 4 mcp4451.o(.constdata)
boot_message 0x080044c2 Data 55 main.o(.constdata)
AHBPrescTable 0x080044f9 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x08004509 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x08004514 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08004534 Number 0 anon$$obj.o(Region$$Table)
handle_protocol_switch 0x08002bad Thumb Code 148 main.o(i.handle_protocol_switch)
handle_set3_commands 0x08002c49 Thumb Code 60 ps2kb.o(i.handle_set3_commands)
is_protocol_enabled 0x08002c8d Thumb Code 16 main.o(i.is_protocol_enabled)
kb_buf_add 0x08002ca1 Thumb Code 48 helpers.o(i.kb_buf_add)
kb_buf_init 0x08002cd1 Thumb Code 32 helpers.o(i.kb_buf_init)
kb_buf_is_full 0x08002cf1 Thumb Code 28 helpers.o(i.kb_buf_is_full)
kb_buf_peek 0x08002d0d Thumb Code 32 helpers.o(i.kb_buf_peek)
kb_buf_pop 0x08002d2d Thumb Code 24 helpers.o(i.kb_buf_pop)
kb_buf_reset 0x08002d45 Thumb Code 28 helpers.o(i.kb_buf_reset)
keyboard_reply 0x08002d61 Thumb Code 342 ps2kb.o(i.keyboard_reply)
main 0x08002ec1 Thumb Code 416 main.o(i.main)
malloc 0x080030c5 Thumb Code 92 malloc.o(i.malloc)
mcp4451_is_available 0x08003131 Thumb Code 26 mcp4451.o(i.mcp4451_is_available)
mcp4451_reset 0x08003151 Thumb Code 38 mcp4451.o(i.mcp4451_reset)
mcp4451_write_wiper 0x0800317d Thumb Code 46 mcp4451.o(i.mcp4451_write_wiper)
micros 0x080031b5 Thumb Code 10 delay_us.o(i.micros)
microsoft_serial_mouse_update 0x080031c5 Thumb Code 188 main.o(i.microsoft_serial_mouse_update)
mouse_buf_add 0x08003289 Thumb Code 50 helpers.o(i.mouse_buf_add)
mouse_buf_init 0x080032bb Thumb Code 24 helpers.o(i.mouse_buf_init)
mouse_buf_is_full 0x080032d3 Thumb Code 28 helpers.o(i.mouse_buf_is_full)
mouse_buf_peek 0x080032ef Thumb Code 22 helpers.o(i.mouse_buf_peek)
mouse_buf_pop 0x08003305 Thumb Code 24 helpers.o(i.mouse_buf_pop)
mouse_buf_reset 0x0800331d Thumb Code 22 helpers.o(i.mouse_buf_reset)
protocol_status_lookup_init 0x08003335 Thumb Code 28 main.o(i.protocol_status_lookup_init)
ps2kb_get_bus_status 0x08003355 Thumb Code 62 ps2kb.o(i.ps2kb_get_bus_status)
ps2kb_init 0x08003399 Thumb Code 22 ps2kb.o(i.ps2kb_init)
ps2kb_press_key 0x080033b5 Thumb Code 50 ps2kb.o(i.ps2kb_press_key)
ps2kb_press_key_scancode_1 0x080033ed Thumb Code 44 ps2kb.o(i.ps2kb_press_key_scancode_1)
ps2kb_press_key_scancode_2 0x08003419 Thumb Code 396 ps2kb.o(i.ps2kb_press_key_scancode_2)
ps2kb_press_key_scancode_3 0x080035a9 Thumb Code 114 ps2kb.o(i.ps2kb_press_key_scancode_3)
ps2kb_read 0x08003625 Thumb Code 246 ps2kb.o(i.ps2kb_read)
ps2kb_release_lines 0x08003721 Thumb Code 26 ps2kb.o(i.ps2kb_release_lines)
ps2kb_reset 0x08003741 Thumb Code 24 ps2kb.o(i.ps2kb_reset)
ps2kb_update 0x08003765 Thumb Code 166 main.o(i.ps2kb_update)
ps2kb_write 0x08003819 Thumb Code 62 ps2kb.o(i.ps2kb_write)
ps2kb_write_nowait 0x0800385d Thumb Code 286 ps2kb.o(i.ps2kb_write_nowait)
ps2mouse_get_bus_status 0x08003981 Thumb Code 92 ps2mouse.o(i.ps2mouse_get_bus_status)
ps2mouse_get_outgoing_data 0x080039e1 Thumb Code 224 ps2mouse.o(i.ps2mouse_get_outgoing_data)
ps2mouse_host_req_reply 0x08003ac5 Thumb Code 370 ps2mouse.o(i.ps2mouse_host_req_reply)
ps2mouse_init 0x08003c3d Thumb Code 22 ps2mouse.o(i.ps2mouse_init)
ps2mouse_read 0x08003c59 Thumb Code 244 ps2mouse.o(i.ps2mouse_read)
ps2mouse_release_lines 0x08003d51 Thumb Code 26 ps2mouse.o(i.ps2mouse_release_lines)
ps2mouse_reset 0x08003d71 Thumb Code 20 ps2mouse.o(i.ps2mouse_reset)
ps2mouse_restore_defaults 0x08003d89 Thumb Code 22 ps2mouse.o(i.ps2mouse_restore_defaults)
ps2mouse_send_bat 0x08003da5 Thumb Code 28 ps2mouse.o(i.ps2mouse_send_bat)
ps2mouse_send_update 0x08003dc1 Thumb Code 34 ps2mouse.o(i.ps2mouse_send_update)
ps2mouse_update 0x08003de5 Thumb Code 146 main.o(i.ps2mouse_update)
ps2mouse_wait_for_idle 0x08003e85 Thumb Code 38 ps2mouse.o(i.ps2mouse_wait_for_idle)
ps2mouse_write 0x08003eab Thumb Code 26 ps2mouse.o(i.ps2mouse_write)
ps2mouse_write_delay_start 0x08003ec5 Thumb Code 34 ps2mouse.o(i.ps2mouse_write_delay_start)
ps2mouse_write_nowait 0x08003ee9 Thumb Code 286 ps2mouse.o(i.ps2mouse_write_nowait)
spi_error_dump_reboot 0x0800400d Thumb Code 72 main.o(i.spi_error_dump_reboot)
wait_for_clk_high 0x08004085 Thumb Code 44 xt_kb.o(i.wait_for_clk_high)
xtkb_check_for_softreset 0x080040b5 Thumb Code 60 xt_kb.o(i.xtkb_check_for_softreset)
xtkb_enable 0x080040f5 Thumb Code 16 xt_kb.o(i.xtkb_enable)
xtkb_init 0x08004109 Thumb Code 14 xt_kb.o(i.xtkb_init)
xtkb_press_key 0x0800411d Thumb Code 116 xt_kb.o(i.xtkb_press_key)
xtkb_release_lines 0x08004195 Thumb Code 26 xt_kb.o(i.xtkb_release_lines)
xtkb_reset_bus 0x080041b5 Thumb Code 26 xt_kb.o(i.xtkb_reset_bus)
xtkb_update 0x080041d5 Thumb Code 52 main.o(i.xtkb_update)
xtkb_write 0x08004211 Thumb Code 186 xt_kb.o(i.xtkb_write)
linux_keycode_to_ps3_scancode_lookup_codeset3 0x080042d0 Data 195 ps2kb.o(.constdata)
scancode_set3_default_status 0x08004393 Data 142 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_single_byte_codeset2 0x08004421 Data 89 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_special_codeset2 0x0800447a Data 32 ps2kb.o(.constdata)
mcp4451_wiper_id_to_reg_addr_lookup 0x0800449a Data 4 mcp4451.o(.constdata)
boot_message 0x0800449e Data 55 main.o(.constdata)
AHBPrescTable 0x080044d5 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x080044e5 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x080044f0 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08004510 Number 0 anon$$obj.o(Region$$Table)
us_timer 0x20000000 Data 4 delay_us.o(.data)
ps2kb_current_scancode_set 0x20000004 Data 1 ps2kb.o(.data)
ps2kb_data_reporting_enabled 0x20000005 Data 1 ps2kb.o(.data)
@@ -2445,9 +2444,9 @@ Memory Map of the image
Image Entry point : 0x080000c1
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000045b4, Max: 0x00010000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00004590, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00004534, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00004510, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@@ -2599,96 +2598,97 @@ Memory Map of the image
0x08002aca 0x08002aca 0x00000002 PAD
0x08002acc 0x08002acc 0x000000a4 Code RO 621 i.gamepad_update main.o
0x08002b70 0x08002b70 0x0000003c Code RO 622 i.gameport_init main.o
0x08002bac 0x08002bac 0x000000a0 Code RO 623 i.handle_protocol_switch main.o
0x08002c4c 0x08002c4c 0x00000044 Code RO 300 i.handle_set3_commands ps2kb.o
0x08002c90 0x08002c90 0x00000014 Code RO 624 i.is_protocol_enabled main.o
0x08002ca4 0x08002ca4 0x00000030 Code RO 159 i.kb_buf_add helpers.o
0x08002cd4 0x08002cd4 0x00000020 Code RO 160 i.kb_buf_init helpers.o
0x08002cf4 0x08002cf4 0x0000001c Code RO 162 i.kb_buf_is_full helpers.o
0x08002d10 0x08002d10 0x00000020 Code RO 163 i.kb_buf_peek helpers.o
0x08002d30 0x08002d30 0x00000018 Code RO 164 i.kb_buf_pop helpers.o
0x08002d48 0x08002d48 0x0000001c Code RO 165 i.kb_buf_reset helpers.o
0x08002d64 0x08002d64 0x00000160 Code RO 301 i.keyboard_reply ps2kb.o
0x08002ec4 0x08002ec4 0x00000210 Code RO 625 i.main main.o
0x080030d4 0x080030d4 0x0000006c Code RO 4238 i.malloc mc_p.l(malloc.o)
0x08003140 0x08003140 0x00000020 Code RO 503 i.mcp4451_is_available mcp4451.o
0x08003160 0x08003160 0x0000002c Code RO 504 i.mcp4451_reset mcp4451.o
0x0800318c 0x0800318c 0x00000038 Code RO 505 i.mcp4451_write_wiper mcp4451.o
0x080031c4 0x080031c4 0x00000010 Code RO 14 i.micros delay_us.o
0x080031d4 0x080031d4 0x000000c4 Code RO 626 i.microsoft_serial_mouse_update main.o
0x08003298 0x08003298 0x00000032 Code RO 166 i.mouse_buf_add helpers.o
0x080032ca 0x080032ca 0x00000018 Code RO 167 i.mouse_buf_init helpers.o
0x080032e2 0x080032e2 0x0000001c Code RO 169 i.mouse_buf_is_full helpers.o
0x080032fe 0x080032fe 0x00000016 Code RO 170 i.mouse_buf_peek helpers.o
0x08003314 0x08003314 0x00000018 Code RO 171 i.mouse_buf_pop helpers.o
0x0800332c 0x0800332c 0x00000016 Code RO 172 i.mouse_buf_reset helpers.o
0x08003342 0x08003342 0x00000002 PAD
0x08003344 0x08003344 0x00000024 Code RO 627 i.protocol_status_lookup_init main.o
0x08003368 0x08003368 0x00000044 Code RO 302 i.ps2kb_get_bus_status ps2kb.o
0x080033ac 0x080033ac 0x0000001c Code RO 303 i.ps2kb_init ps2kb.o
0x080033c8 0x080033c8 0x00000038 Code RO 304 i.ps2kb_press_key ps2kb.o
0x08003400 0x08003400 0x0000002c Code RO 305 i.ps2kb_press_key_scancode_1 ps2kb.o
0x0800342c 0x0800342c 0x00000190 Code RO 306 i.ps2kb_press_key_scancode_2 ps2kb.o
0x080035bc 0x080035bc 0x0000007c Code RO 307 i.ps2kb_press_key_scancode_3 ps2kb.o
0x08003638 0x08003638 0x000000fc Code RO 308 i.ps2kb_read ps2kb.o
0x08003734 0x08003734 0x00000020 Code RO 309 i.ps2kb_release_lines ps2kb.o
0x08003754 0x08003754 0x00000024 Code RO 310 i.ps2kb_reset ps2kb.o
0x08003778 0x08003778 0x000000b4 Code RO 628 i.ps2kb_update main.o
0x0800382c 0x0800382c 0x00000044 Code RO 311 i.ps2kb_write ps2kb.o
0x08003870 0x08003870 0x00000124 Code RO 312 i.ps2kb_write_nowait ps2kb.o
0x08003994 0x08003994 0x00000060 Code RO 401 i.ps2mouse_get_bus_status ps2mouse.o
0x080039f4 0x080039f4 0x000000e4 Code RO 402 i.ps2mouse_get_outgoing_data ps2mouse.o
0x08003ad8 0x08003ad8 0x00000178 Code RO 403 i.ps2mouse_host_req_reply ps2mouse.o
0x08003c50 0x08003c50 0x0000001c Code RO 404 i.ps2mouse_init ps2mouse.o
0x08003c6c 0x08003c6c 0x000000f8 Code RO 405 i.ps2mouse_read ps2mouse.o
0x08003d64 0x08003d64 0x00000020 Code RO 406 i.ps2mouse_release_lines ps2mouse.o
0x08003d84 0x08003d84 0x00000018 Code RO 407 i.ps2mouse_reset ps2mouse.o
0x08003d9c 0x08003d9c 0x0000001c Code RO 408 i.ps2mouse_restore_defaults ps2mouse.o
0x08003db8 0x08003db8 0x0000001c Code RO 409 i.ps2mouse_send_bat ps2mouse.o
0x08003dd4 0x08003dd4 0x00000024 Code RO 410 i.ps2mouse_send_update ps2mouse.o
0x08003df8 0x08003df8 0x000000b0 Code RO 629 i.ps2mouse_update main.o
0x08003ea8 0x08003ea8 0x00000026 Code RO 411 i.ps2mouse_wait_for_idle ps2mouse.o
0x08003ece 0x08003ece 0x0000001a Code RO 412 i.ps2mouse_write ps2mouse.o
0x08003ee8 0x08003ee8 0x00000022 Code RO 413 i.ps2mouse_write_delay_start ps2mouse.o
0x08003f0a 0x08003f0a 0x00000002 PAD
0x08003f0c 0x08003f0c 0x00000124 Code RO 414 i.ps2mouse_write_nowait ps2mouse.o
0x08004030 0x08004030 0x00000078 Code RO 630 i.spi_error_dump_reboot main.o
0x080040a8 0x080040a8 0x00000030 Code RO 541 i.wait_for_clk_high xt_kb.o
0x080040d8 0x080040d8 0x00000040 Code RO 542 i.xtkb_check_for_softreset xt_kb.o
0x08004118 0x08004118 0x00000014 Code RO 543 i.xtkb_enable xt_kb.o
0x0800412c 0x0800412c 0x00000014 Code RO 544 i.xtkb_init xt_kb.o
0x08004140 0x08004140 0x00000078 Code RO 545 i.xtkb_press_key xt_kb.o
0x080041b8 0x080041b8 0x00000020 Code RO 546 i.xtkb_release_lines xt_kb.o
0x080041d8 0x080041d8 0x00000020 Code RO 547 i.xtkb_reset_bus xt_kb.o
0x080041f8 0x080041f8 0x0000003c Code RO 631 i.xtkb_update main.o
0x08004234 0x08004234 0x000000c0 Code RO 548 i.xtkb_write xt_kb.o
0x080042f4 0x080042f4 0x000001ca Data RO 314 .constdata ps2kb.o
0x080044be 0x080044be 0x00000004 Data RO 506 .constdata mcp4451.o
0x080044c2 0x080044c2 0x00000037 Data RO 637 .constdata main.o
0x080044f9 0x080044f9 0x00000010 Data RO 3933 .constdata system_stm32f0xx.o
0x08004509 0x08004509 0x00000008 Data RO 3934 .constdata system_stm32f0xx.o
0x08004511 0x08004511 0x00000003 PAD
0x08004514 0x08004514 0x00000020 Data RO 4305 Region$$Table anon$$obj.o
0x08002bac 0x08002bac 0x0000009c Code RO 623 i.handle_protocol_switch main.o
0x08002c48 0x08002c48 0x00000044 Code RO 300 i.handle_set3_commands ps2kb.o
0x08002c8c 0x08002c8c 0x00000014 Code RO 624 i.is_protocol_enabled main.o
0x08002ca0 0x08002ca0 0x00000030 Code RO 159 i.kb_buf_add helpers.o
0x08002cd0 0x08002cd0 0x00000020 Code RO 160 i.kb_buf_init helpers.o
0x08002cf0 0x08002cf0 0x0000001c Code RO 162 i.kb_buf_is_full helpers.o
0x08002d0c 0x08002d0c 0x00000020 Code RO 163 i.kb_buf_peek helpers.o
0x08002d2c 0x08002d2c 0x00000018 Code RO 164 i.kb_buf_pop helpers.o
0x08002d44 0x08002d44 0x0000001c Code RO 165 i.kb_buf_reset helpers.o
0x08002d60 0x08002d60 0x00000160 Code RO 301 i.keyboard_reply ps2kb.o
0x08002ec0 0x08002ec0 0x00000204 Code RO 625 i.main main.o
0x080030c4 0x080030c4 0x0000006c Code RO 4238 i.malloc mc_p.l(malloc.o)
0x08003130 0x08003130 0x00000020 Code RO 503 i.mcp4451_is_available mcp4451.o
0x08003150 0x08003150 0x0000002c Code RO 504 i.mcp4451_reset mcp4451.o
0x0800317c 0x0800317c 0x00000038 Code RO 505 i.mcp4451_write_wiper mcp4451.o
0x080031b4 0x080031b4 0x00000010 Code RO 14 i.micros delay_us.o
0x080031c4 0x080031c4 0x000000c4 Code RO 626 i.microsoft_serial_mouse_update main.o
0x08003288 0x08003288 0x00000032 Code RO 166 i.mouse_buf_add helpers.o
0x080032ba 0x080032ba 0x00000018 Code RO 167 i.mouse_buf_init helpers.o
0x080032d2 0x080032d2 0x0000001c Code RO 169 i.mouse_buf_is_full helpers.o
0x080032ee 0x080032ee 0x00000016 Code RO 170 i.mouse_buf_peek helpers.o
0x08003304 0x08003304 0x00000018 Code RO 171 i.mouse_buf_pop helpers.o
0x0800331c 0x0800331c 0x00000016 Code RO 172 i.mouse_buf_reset helpers.o
0x08003332 0x08003332 0x00000002 PAD
0x08003334 0x08003334 0x00000020 Code RO 627 i.protocol_status_lookup_init main.o
0x08003354 0x08003354 0x00000044 Code RO 302 i.ps2kb_get_bus_status ps2kb.o
0x08003398 0x08003398 0x0000001c Code RO 303 i.ps2kb_init ps2kb.o
0x080033b4 0x080033b4 0x00000038 Code RO 304 i.ps2kb_press_key ps2kb.o
0x080033ec 0x080033ec 0x0000002c Code RO 305 i.ps2kb_press_key_scancode_1 ps2kb.o
0x08003418 0x08003418 0x00000190 Code RO 306 i.ps2kb_press_key_scancode_2 ps2kb.o
0x080035a8 0x080035a8 0x0000007c Code RO 307 i.ps2kb_press_key_scancode_3 ps2kb.o
0x08003624 0x08003624 0x000000fc Code RO 308 i.ps2kb_read ps2kb.o
0x08003720 0x08003720 0x00000020 Code RO 309 i.ps2kb_release_lines ps2kb.o
0x08003740 0x08003740 0x00000024 Code RO 310 i.ps2kb_reset ps2kb.o
0x08003764 0x08003764 0x000000b4 Code RO 628 i.ps2kb_update main.o
0x08003818 0x08003818 0x00000044 Code RO 311 i.ps2kb_write ps2kb.o
0x0800385c 0x0800385c 0x00000124 Code RO 312 i.ps2kb_write_nowait ps2kb.o
0x08003980 0x08003980 0x00000060 Code RO 401 i.ps2mouse_get_bus_status ps2mouse.o
0x080039e0 0x080039e0 0x000000e4 Code RO 402 i.ps2mouse_get_outgoing_data ps2mouse.o
0x08003ac4 0x08003ac4 0x00000178 Code RO 403 i.ps2mouse_host_req_reply ps2mouse.o
0x08003c3c 0x08003c3c 0x0000001c Code RO 404 i.ps2mouse_init ps2mouse.o
0x08003c58 0x08003c58 0x000000f8 Code RO 405 i.ps2mouse_read ps2mouse.o
0x08003d50 0x08003d50 0x00000020 Code RO 406 i.ps2mouse_release_lines ps2mouse.o
0x08003d70 0x08003d70 0x00000018 Code RO 407 i.ps2mouse_reset ps2mouse.o
0x08003d88 0x08003d88 0x0000001c Code RO 408 i.ps2mouse_restore_defaults ps2mouse.o
0x08003da4 0x08003da4 0x0000001c Code RO 409 i.ps2mouse_send_bat ps2mouse.o
0x08003dc0 0x08003dc0 0x00000022 Code RO 410 i.ps2mouse_send_update ps2mouse.o
0x08003de2 0x08003de2 0x00000002 PAD
0x08003de4 0x08003de4 0x000000a0 Code RO 629 i.ps2mouse_update main.o
0x08003e84 0x08003e84 0x00000026 Code RO 411 i.ps2mouse_wait_for_idle ps2mouse.o
0x08003eaa 0x08003eaa 0x0000001a Code RO 412 i.ps2mouse_write ps2mouse.o
0x08003ec4 0x08003ec4 0x00000022 Code RO 413 i.ps2mouse_write_delay_start ps2mouse.o
0x08003ee6 0x08003ee6 0x00000002 PAD
0x08003ee8 0x08003ee8 0x00000124 Code RO 414 i.ps2mouse_write_nowait ps2mouse.o
0x0800400c 0x0800400c 0x00000078 Code RO 630 i.spi_error_dump_reboot main.o
0x08004084 0x08004084 0x00000030 Code RO 541 i.wait_for_clk_high xt_kb.o
0x080040b4 0x080040b4 0x00000040 Code RO 542 i.xtkb_check_for_softreset xt_kb.o
0x080040f4 0x080040f4 0x00000014 Code RO 543 i.xtkb_enable xt_kb.o
0x08004108 0x08004108 0x00000014 Code RO 544 i.xtkb_init xt_kb.o
0x0800411c 0x0800411c 0x00000078 Code RO 545 i.xtkb_press_key xt_kb.o
0x08004194 0x08004194 0x00000020 Code RO 546 i.xtkb_release_lines xt_kb.o
0x080041b4 0x080041b4 0x00000020 Code RO 547 i.xtkb_reset_bus xt_kb.o
0x080041d4 0x080041d4 0x0000003c Code RO 631 i.xtkb_update main.o
0x08004210 0x08004210 0x000000c0 Code RO 548 i.xtkb_write xt_kb.o
0x080042d0 0x080042d0 0x000001ca Data RO 314 .constdata ps2kb.o
0x0800449a 0x0800449a 0x00000004 Data RO 506 .constdata mcp4451.o
0x0800449e 0x0800449e 0x00000037 Data RO 637 .constdata main.o
0x080044d5 0x080044d5 0x00000010 Data RO 3933 .constdata system_stm32f0xx.o
0x080044e5 0x080044e5 0x00000008 Data RO 3934 .constdata system_stm32f0xx.o
0x080044ed 0x080044ed 0x00000003 PAD
0x080044f0 0x080044f0 0x00000020 Data RO 4305 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08004534, Size: 0x00000990, Max: 0x00004000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08004510, Size: 0x00000990, Max: 0x00004000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08004534 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x08004538 0x00000014 Data RW 315 .data ps2kb.o
0x20000018 0x0800454c 0x0000001c Data RW 415 .data ps2mouse.o
0x20000034 0x08004568 0x00000014 Data RW 549 .data xt_kb.o
0x20000048 0x0800457c 0x00000024 Data RW 638 .data main.o
0x2000006c 0x080045a0 0x00000004 Data RW 3228 .data stm32f0xx_hal.o
0x20000070 0x080045a4 0x00000004 Data RW 3935 .data system_stm32f0xx.o
0x20000074 0x080045a8 0x00000004 Data RW 4279 .data mc_p.l(stdout.o)
0x20000078 0x080045ac 0x00000004 Data RW 4282 .data mc_p.l(mvars.o)
0x2000007c 0x080045b0 0x00000004 Data RW 4283 .data mc_p.l(mvars.o)
0x20000000 0x08004510 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x08004514 0x00000014 Data RW 315 .data ps2kb.o
0x20000018 0x08004528 0x0000001c Data RW 415 .data ps2mouse.o
0x20000034 0x08004544 0x00000014 Data RW 549 .data xt_kb.o
0x20000048 0x08004558 0x00000024 Data RW 638 .data main.o
0x2000006c 0x0800457c 0x00000004 Data RW 3228 .data stm32f0xx_hal.o
0x20000070 0x08004580 0x00000004 Data RW 3935 .data system_stm32f0xx.o
0x20000074 0x08004584 0x00000004 Data RW 4279 .data mc_p.l(stdout.o)
0x20000078 0x08004588 0x00000004 Data RW 4282 .data mc_p.l(mvars.o)
0x2000007c 0x0800458c 0x00000004 Data RW 4283 .data mc_p.l(mvars.o)
0x20000080 - 0x0000008e Zero RW 313 .bss ps2kb.o
0x2000010e 0x080045b4 0x00000002 PAD
0x2000010e 0x08004590 0x00000002 PAD
0x20000110 - 0x0000027d Zero RW 632 .bss main.o
0x2000038d 0x080045b4 0x00000003 PAD
0x2000038d 0x08004590 0x00000003 PAD
0x20000390 - 0x00000200 Zero RW 2 HEAP startup_stm32f072xb.o
0x20000590 - 0x00000400 Zero RW 1 STACK startup_stm32f072xb.o
@@ -2701,11 +2701,11 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
52 10 0 4 0 506987 delay_us.o
532 0 0 0 0 11880 helpers.o
3000 366 55 36 637 22620 main.o
532 0 0 0 0 11852 helpers.o
2964 358 55 36 637 22556 main.o
132 22 4 0 0 2287 mcp4451.o
1846 108 458 20 142 12199 ps2kb.o
1514 66 0 28 0 11530 ps2mouse.o
1512 66 0 28 0 11470 ps2mouse.o
28 8 192 0 1536 628 startup_stm32f072xb.o
122 18 0 4 0 3603 stm32f0xx_hal.o
178 28 0 0 0 10499 stm32f0xx_hal_cortex.o
@@ -2727,9 +2727,9 @@ Image component sizes
528 52 0 20 0 5894 xt_kb.o
----------------------------------------------------------------------
16146 1046 768 116 2320 653240 Object Totals
16110 1038 768 116 2320 653088 Object Totals
0 0 32 0 0 0 (incl. Generated)
32 0 3 0 5 0 (incl. Padding)
34 0 3 0 5 0 (incl. Padding)
----------------------------------------------------------------------
@@ -2773,15 +2773,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
16948 1090 768 128 2320 646324 Grand Totals
16948 1090 768 128 2320 646324 ELF Image Totals
16948 1090 768 128 0 0 ROM Totals
16912 1082 768 128 2320 646172 Grand Totals
16912 1082 768 128 2320 646172 ELF Image Totals
16912 1082 768 128 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 17716 ( 17.30kB)
Total RO Size (Code + RO Data) 17680 ( 17.27kB)
Total RW Size (RW Data + ZI Data) 2448 ( 2.39kB)
Total ROM Size (Code + RO Data + RW Data) 17844 ( 17.43kB)
Total ROM Size (Code + RO Data + RW Data) 17808 ( 17.39kB)
==============================================================================

View File

@@ -40,7 +40,7 @@ F (..\Src\helpers.c)(0x61BCF9FD)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h)(0x5DFA0893)
@@ -78,7 +78,7 @@ F (..\Src\ps2kb.c)(0x62754D5E)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --ap
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)
I (../Drivers/CMSIS/Include/core_cmInstr.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
@@ -114,11 +114,11 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F072xB -DUSE_HAL_DRIVER -DSTM32F072xB
-o ibmpc\ps2kb.o --omf_browse ibmpc\ps2kb.crf --depend ibmpc\ps2kb.d)
-o ibmpc\ps2kb.o --omf_browse ibmpc\ps2kb.crf --depend ibmpc\ps2kb.d)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)
I (../Inc/helpers.h)(0x627045BC)
I (../Inc/helpers.h)(0x62757D10)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x62423606)
I (../Inc/main.h)(0x62423606)
@@ -152,12 +152,12 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (../Inc/shared.h)(0x61B61A00)
I (../Inc/ps2kb.h)(0x6274FBAF)
I (../Inc/ps2kb.h)(0x6274FBAF)
I (../Inc/delay_us.h)(0x617487C7)
F (..\Src\ps2mouse.c)(0x62757D48)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
-I.\RTE\_ibmpc
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
@@ -202,7 +202,7 @@ F (..\Src\xt_kb.c)(0x626F0101)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --ap
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (../Inc/shared.h)(0x61B61A00)
I (../Inc/ps2mouse.h)(0x6274FD32)
I (../Inc/ps2mouse.h)(0x62757D20)
I (../Inc/delay_us.h)(0x617487C7)
F (..\Inc\delay_us.h)(0x617487C7)()
F (..\Inc\helpers.h)(0x62757D10)()
@@ -239,7 +239,7 @@ I (../Inc/shared.h)(0x61B61A00)
I (../Drivers/CMSIS/Include/core_cmFunc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
@@ -275,10 +275,10 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Inc/helpers.h)(0x62757D10)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x62423606)
I (../Inc/main.h)(0x62423606)
I (../Inc/main.h)(0x62423606)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -170,7 +170,6 @@ void handle_protocol_switch(uint8_t spi_byte)
break;
case PROTOCOL_PS2_MOUSE:
case PROTOCOL_PS2_MOUSE_KVM:
ps2mouse_init(PS2MOUSE_CLK_GPIO_Port, PS2MOUSE_CLK_Pin, PS2MOUSE_DATA_GPIO_Port, PS2MOUSE_DATA_Pin);
break;
@@ -199,7 +198,6 @@ void handle_protocol_switch(uint8_t spi_byte)
break;
case PROTOCOL_PS2_MOUSE:
case PROTOCOL_PS2_MOUSE_KVM:
ps2mouse_reset();
ps2mouse_release_lines();
break;
@@ -326,10 +324,7 @@ void ps2mouse_update(void)
return;
}
uint8_t inhibit_timeout_ms = 200;
if(is_protocol_enabled(PROTOCOL_PS2_MOUSE_KVM))
inhibit_timeout_ms = 1;
if(ps2mouse_send_update(&my_ps2_outbuf, inhibit_timeout_ms) != PS2_OK)
if(ps2mouse_send_update(&my_ps2_outbuf) != PS2_OK)
{
HAL_GPIO_WritePin(ERR_LED_GPIO_Port, ERR_LED_Pin, GPIO_PIN_SET);
uint32_t enter_time = HAL_GetTick();
@@ -462,7 +457,6 @@ void protocol_status_lookup_init(void)
protocol_status_lookup[PROTOCOL_AT_PS2_KB] = PROTOCOL_STATUS_ENABLED;
protocol_status_lookup[PROTOCOL_XT_KB] = PROTOCOL_STATUS_DISABLED;
protocol_status_lookup[PROTOCOL_PS2_MOUSE] = PROTOCOL_STATUS_ENABLED;
protocol_status_lookup[PROTOCOL_PS2_MOUSE_KVM] = PROTOCOL_STATUS_DISABLED;
protocol_status_lookup[PROTOCOL_MICROSOFT_SERIAL_MOUSE] = PROTOCOL_STATUS_DISABLED;
protocol_status_lookup[PROTOCOL_GENERIC_GAMEPORT_GAMEPAD] = PROTOCOL_STATUS_ENABLED;
}
@@ -604,7 +598,7 @@ int main(void)
/* USER CODE BEGIN 3 */
// If both enabled, PS2 mouse takes priority
if((is_protocol_enabled(PROTOCOL_PS2_MOUSE) || is_protocol_enabled(PROTOCOL_PS2_MOUSE_KVM)) && IS_PS2MOUSE_PRESENT())
if(is_protocol_enabled(PROTOCOL_PS2_MOUSE) && IS_PS2MOUSE_PRESENT())
ps2mouse_update();
else if(is_protocol_enabled(PROTOCOL_MICROSOFT_SERIAL_MOUSE))
microsoft_serial_mouse_update();

View File

@@ -390,14 +390,13 @@ uint8_t ps2mouse_write_nowait(uint8_t data)
return PS2_OK;
}
uint8_t ps2mouse_send_update(ps2_outgoing_buf* pbuf, uint8_t inhibit_timeout_ms)
uint8_t ps2mouse_send_update(ps2_outgoing_buf* pbuf)
{
uint8_t write_result;
for (int i = 0; i < pbuf->size; ++i)
{
// return error if inhibited or interrupted while transmitting
// kvm mode = 3, direct mode = 200
write_result = ps2mouse_write(pbuf->data[i], inhibit_timeout_ms);
write_result = ps2mouse_write(pbuf->data[i], 200);
if(write_result)
return write_result;
}