final test for set 3
							
								
								
									
										
											BIN
										
									
								
								captures/IBM PCard on infoview terminal.sal
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -111,7 +111,7 @@ | ||||
|       <RegID>0</RegID> | ||||
|       <MDITabState> | ||||
|         <Len>622</Len> | ||||
|         <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000500000003000000010000003E433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF42433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C5372635C7073326D6F7573652E63000000000A7073326D6F7573652E6300000000FFDC7800FFFFFFFF3F433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C496E635C7073326B622E6800000000077073326B622E6800000000BECEA100FFFFFFFF3F433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C5372635C7073326B622E6300000000077073326B622E6300000000F0A0A100FFFFFFFF42433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C496E635C7073326D6F7573652E68000000000A7073326D6F7573652E6800000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000006C08000066000000000F000037030000</Data> | ||||
|         <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000500000000000000010000003E433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF42433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C5372635C7073326D6F7573652E63000000000A7073326D6F7573652E6300000000FFDC7800FFFFFFFF3F433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C496E635C7073326B622E6800000000077073326B622E6800000000BECEA100FFFFFFFF3F433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C5372635C7073326B622E6300000000077073326B622E6300000000F0A0A100FFFFFFFF42433A5C55736572735C616C6C656E5C4465736B746F705C7265706F735C757362327073325C6669726D776172655C69626D70635C496E635C7073326D6F7573652E68000000000A7073326D6F7573652E6800000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000006C08000066000000000F000037030000</Data> | ||||
|       </MDITabState> | ||||
|     </MDIClientArea> | ||||
|     <ViewEx> | ||||
| @@ -3603,12 +3603,12 @@ | ||||
|     <ActiveMDIGroup>0</ActiveMDIGroup> | ||||
|     <MDIGroup> | ||||
|       <Size>100</Size> | ||||
|       <ActiveTab>3</ActiveTab> | ||||
|       <ActiveTab>0</ActiveTab> | ||||
|       <Doc> | ||||
|         <Name>../Src/main.c</Name> | ||||
|         <ColumnNumber>11</ColumnNumber> | ||||
|         <TopLine>327</TopLine> | ||||
|         <CurrentLine>352</CurrentLine> | ||||
|         <ColumnNumber>26</ColumnNumber> | ||||
|         <TopLine>54</TopLine> | ||||
|         <CurrentLine>64</CurrentLine> | ||||
|         <Folding>1</Folding> | ||||
|         <ContractedFolders></ContractedFolders> | ||||
|         <PaneID>0</PaneID> | ||||
| @@ -3633,9 +3633,9 @@ | ||||
|       </Doc> | ||||
|       <Doc> | ||||
|         <Name>..\Src\ps2kb.c</Name> | ||||
|         <ColumnNumber>12</ColumnNumber> | ||||
|         <TopLine>861</TopLine> | ||||
|         <CurrentLine>896</CurrentLine> | ||||
|         <ColumnNumber>23</ColumnNumber> | ||||
|         <TopLine>711</TopLine> | ||||
|         <CurrentLine>746</CurrentLine> | ||||
|         <Folding>1</Folding> | ||||
|         <ContractedFolders></ContractedFolders> | ||||
|         <PaneID>0</PaneID> | ||||
|   | ||||
| @@ -27,10 +27,6 @@ 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' | ||||
| compiling ps2kb.c... | ||||
| linking... | ||||
| Program Size: Code=16864 RO-data=768 RW-data=128 ZI-data=2320   | ||||
| FromELF: creating hex file... | ||||
| "ibmpc\ibmpc.axf" - 0 Error(s), 0 Warning(s). | ||||
|  | ||||
| <h2>Software Packages used:</h2> | ||||
| @@ -54,7 +50,7 @@ Package Vendor: Keil | ||||
| <h2>Collection of Component Files used:</h2> | ||||
|  | ||||
|    * Component: ARM::CMSIS:CORE:5.3.0 | ||||
| Build Time Elapsed:  00:00:01 | ||||
| Build Time Elapsed:  00:00:00 | ||||
| </pre> | ||||
| </body> | ||||
| </html> | ||||
|   | ||||
| @@ -11,7 +11,7 @@ | ||||
| :10009000E7000008E7000008E7000008E7000008A4 | ||||
| :1000A000E7000008B51E0008E7000008E7000008A8 | ||||
| :1000B000E7000008A9270008E7000008E70000089B | ||||
| :1000C0000348854600F04EF800480047612E0008BE | ||||
| :1000C0000348854600F04EF800480047C52E00085A | ||||
| :1000D000900900200448804704480047FEE7FEE7F7 | ||||
| :1000E000FEE7FEE7FEE7FEE721220008C100000868 | ||||
| :1000F00030B50B46014600202022012409E00D46C0 | ||||
| @@ -23,7 +23,7 @@ | ||||
| :10015000F6E710B513460A4604461946FFF7F0FFC6 | ||||
| :10016000204610BD064C0125064E05E0E36807CC8D | ||||
| :100170002B430C3C98471034B442F7D3FFF7A4FF4D | ||||
| :10018000C0440008E044000810B5022000F042F826 | ||||
| :10018000144500083445000810B5022000F042F87C | ||||
| :1001900010BD70B50024014620314A78022A03D0F0 | ||||
| :1001A00004218163012416E0026813680E25AB4325 | ||||
| :1001B0001360026813685B085B0013600122056C22 | ||||
| @@ -31,7 +31,7 @@ | ||||
| :1001D000002900D08847204670BD31B500F0E2F814 | ||||
| :1001E000009C0546601C00D0641C00F0DBF8401B3E | ||||
| :1001F000A042FAD338BD000000B5022807D105207F | ||||
| :1002000002F024FD002802D001490120087200BD3F | ||||
| :1002000002F046FD002802D001490120087200BD1D | ||||
| :100210004800002010B504494A69024202D04861F2 | ||||
| :10022000FFF7EAFF10BD000000040140F8B500230D | ||||
| :1002300093E0224601249C40A44622407ED04C6894 | ||||
| @@ -179,10 +179,10 @@ | ||||
| :100B10006068072109028843E9680843606000F0C3 | ||||
| :100B20002DF86168084A0906090F515CC840074959 | ||||
| :100B300008600020FFF790FE0020F8BD0020024072 | ||||
| :100B40000010024088130000A54400087000002037 | ||||
| :100B40000010024088130000F944000870000020E3 | ||||
| :100B50000148006870470000700000200448054903 | ||||
| :100B600000684968044A4905490F515CC84070470C | ||||
| :100B70007000002000100240B544000830B516A3F4 | ||||
| :100B700070000020001002400945000830B516A39F | ||||
| :100B80000FCB89B06C460FC417A30FCB0FC41A4903 | ||||
| :100B90004A680C20144604401848042C05D0184B11 | ||||
| :100BA000082C04D00C2C00D1184609B030BD94029A | ||||
| @@ -301,18 +301,18 @@ | ||||
| :1012B000544C0126203C2078534FDE2801D07E720A | ||||
| :1012C00090E0A07808280BD0092810D000250B2822 | ||||
| :1012D00030D003284AD001284FD0022879D081E0AD | ||||
| :1012E0004848A2792179203001F0BAFC7AE061798E | ||||
| :1012E0004848A2792179203001F0DCFC7AE061796C | ||||
| :1012F000207901F073FB434A2C321080E179A07908 | ||||
| :1013000001F06CFB40425080207A3E49404210710F | ||||
| :10131000607A5071607B9071A07B1072E07BD0711D | ||||
| :10132000207C5072607C907237482C31143001F070 | ||||
| :101330007FFF57E03348217938300170617941707F | ||||
| :10133000B3FF57E03348217938300170617941704B | ||||
| :10134000A1798170E179C170057145718571C571AF | ||||
| :10135000217A0172617A4172A17A8172E17AC17255 | ||||
| :10136000014629481C3001F05BFB3BE001210022D3 | ||||
| :1013700049032648FFF70FF834E02248202140387F | ||||
| :10138000FEF7E5FE1F48CD214038017061784170BD | ||||
| :1013900080238370C6703978017145710321817192 | ||||
| :1013900080238370C6703978017145710421817191 | ||||
| :1013A000C5710822002105468D356C5C002C0CD0DF | ||||
| :1013B000022C02D0012C03D005E0815403E008E0A8 | ||||
| :1013C0000C461C438454521CD2B2491C1029ECDB3D | ||||
| @@ -669,14 +669,14 @@ | ||||
| :1029B00000900029F5DC08E00B980B990078491C81 | ||||
| :1029C0000B91109A0F999047761C0199481E01901F | ||||
| :1029D0000029F1DC6D1C28E70928010009020143E8 | ||||
| :1029E00008B2704700B5014600F0B8FB411800F08E | ||||
| :1029F000B5FB8842FBD300BD10B502490860FEF765 | ||||
| :1029E00008B2704700B5014600F0ECFB411800F05A | ||||
| :1029F000E9FB8842FBD300BD10B502490860FEF731 | ||||
| :102A000083FD10BD0000002013B564230122694638 | ||||
| :102A10000248FEF718FF00981CBD000010020020BD | ||||
| :102A200070B50D46044600F020F8002801D00120C2 | ||||
| :102A300070BD20780C226168504308182946FDF7C4 | ||||
| :102A40006DFB2078A178401CFDF752FB217000201F | ||||
| :102A500070BD10B5044681700C20484300F006FBA1 | ||||
| :102A500070BD10B5044681700C20484300F03AFB6D | ||||
| :102A60006060204600F026F810BD10B5044681785D | ||||
| :102A70000078401CFDF73CFB6078814201D10120C9 | ||||
| :102A800010BD002010BD41780278914201D1002094 | ||||
| @@ -689,425 +689,431 @@ | ||||
| :102AF00000221E4D0121C9032846FDF74CFCA07899 | ||||
| :102B000000282AD0002201213046FDF744FCE0785D | ||||
| :102B1000002824D00022012189032846FDF73BFC30 | ||||
| :102B2000207AFF25291A032000F0FCFA607A291A7E | ||||
| :102B3000002000F0F7FAA07A291A022000F0F2FA39 | ||||
| :102B4000E07A291A012000F0EDFA0648FFF7A6FF07 | ||||
| :102B2000207AFF25291A032000F030FB607A291A49 | ||||
| :102B3000002000F02BFBA07A291A022000F026FBCF | ||||
| :102B4000E07A291A012000F021FB0648FFF7A6FFD2 | ||||
| :102B500070BD0122C4E70122CBE70122D3E70122A5 | ||||
| :102B6000D9E7000064000020001400480008004875 | ||||
| :102B700070B50C4C012202212046FDF70CFC0A4DD9 | ||||
| :102B80000122D1032846FDF706FC0122114620460A | ||||
| :102B9000FDF701FC012291032846FDF7FCFB00F044 | ||||
| :102BA000ABFA70BD001400480008004870B5440638 | ||||
| :102BA000DFFA70BD001400480008004870B5440604 | ||||
| :102BB000C109640EC901102C25D2224D285D0028C0 | ||||
| :102BC00021D0002920D002281DD11F482300FFF763 | ||||
| :102BD00003FE0918060D1810181816101800FF2308 | ||||
| :102BE00001330246590000F0ADFB0AE001F06AFA39 | ||||
| :102BF00007E010230246202100F0F6FF01E0FFF776 | ||||
| :102BE00001330246590000F0E1FB0AE001F094FADB | ||||
| :102BF00007E010230246202101F02AF801E0FFF748 | ||||
| :102C0000B7FF0120285570BD0128FCD102202855AE | ||||
| :102C10002300FFF7E1FD0906070C060F0606140F57 | ||||
| :102C20000600F0E700F052FD00F060FD70BD01F01D | ||||
| :102C300099FA70BD01F072F801F060F870BDFFF70D | ||||
| :102C400097FF70BD7D03002000040048102803D2C8 | ||||
| :102C50000249085C012800D0002070477D03002055 | ||||
| :102C600070B515460E46044600F022F8002801D043 | ||||
| :102C7000012070BD2178606846542178A0684554D1 | ||||
| :102C80002078A178401CFDF733FA2170002070BD38 | ||||
| :102C900070B50D4604468170284600F0E7F9606083 | ||||
| :102CA000284600F0E3F9A060204600F02BF870BD44 | ||||
| :102CB00010B5044681780078401CFDF719FA607859 | ||||
| :102CC000814201D1012010BD002010BD10B5437814 | ||||
| :102CD0000478A34201D1012010BD4468E35C0B706D | ||||
| :102CE00081684078085C1070002010BD10B5044663 | ||||
| :102CF00040782178884204D0A178401CFDF7F8F98B | ||||
| :102D0000617010BD10B50446002020706070A1787D | ||||
| :102D10006068FDF71CFAA178A068FDF718FA10BDED | ||||
| :102D2000F8B50E46FF216A4611700146ED394A4C4E | ||||
| :102D300001254A480B00FFF74FFD137F793D5B3DAE | ||||
| :102D40004D453E34312A231C163D3D3D8A0B3D0046 | ||||
| :102D500014220121FA2000F035FD00F0C7FCFA2210 | ||||
| :102D60000021AA2065E000214554491C8E29FBDB87 | ||||
| :102D70006DE0002103224254491C8E29FBDB66E0F2 | ||||
| :102D8000002102224254491C8E29FBDB5FE0002116 | ||||
| :102D900004224254491C8E29FBDB58E000F0A6FCBB | ||||
| :102DA00055E000F0A3FC14220121FA2000F00AFDF6 | ||||
| :102DB00000206070F8BD14220121FA2000F002FD0D | ||||
| :102DC0006570F8BD14220121FA2000F0FBFC1E21E1 | ||||
| :102DD000684638E014220121FA2000F0F3FC1422A6 | ||||
| :102DE0000021AB2000F0EEFC14220021832020E023 | ||||
| :102DF00014220121FA2000F0E5FC1E21684600F0B3 | ||||
| :102E0000E7FB0028DDD114220121FA2000F0DAFCD2 | ||||
| :102E100068460078002803D00328D2D82070F8BD77 | ||||
| :102E2000207801F0D1F81422002102E014220121BF | ||||
| :102E3000EE2000F0C7FCF8BD14220121FA2000F0BA | ||||
| :102E4000C1FC1E21304600F0C3FB0028F3D1142240 | ||||
| :102E50000121FA20EDE7000004000020800000209E | ||||
| :102E60001CB56948694C8089A081FDF7E5FCFFF736 | ||||
| :102E7000A1F9FEF787FEFEF731FFFEF759FFFEF7D7 | ||||
| :102E800075FFFEF79DFFFEF7C1FF6149614803250D | ||||
| :102E900022C06149416001600838FDF78BFC0028C1 | ||||
| :102EA00000D0FEE75B48FDF7B7FC00200190034629 | ||||
| :102EB0000095227859495AA0FFF77EFC5548743096 | ||||
| :102EC000FFF79AFD00F00AFAFF250135594E6F0011 | ||||
| :102ED00032462B463946104600F034FA32462B462D | ||||
| :102EE0003946104601F0F8F83246102320211046EA | ||||
| :102EF00000F07AFE0220FFF7A9FE002801D001F0C1 | ||||
| :102F0000E1F810214C48FFF7C3FE4048102114306F | ||||
| :102F100000F0A7F93D4810211C30FFF79AFD00F0A2 | ||||
| :102F2000EBF8454820216038FDF711F9424A39484D | ||||
| :102F3000203A1146202340391030FEF743F9A18989 | ||||
| :102F40003EA0FFF739FC00F0C7F8002812D13FA0DF | ||||
| :102F5000FFF732FC002708213046FDF718FA32202F | ||||
| :102F6000FDF73BF97F1C0A2FF5DB012208213046D3 | ||||
| :102F7000FDF711FA192000F0EBFE0927FF0625489E | ||||
| :102F8000FDF74AFC0420FFF761FE002804D1082069 | ||||
| :102F9000FFF75CFE002809D00121C9033046FDF788 | ||||
| :102FA000F1F9002802D000F0F3FE06E00520FFF75B | ||||
| :102FB0004DFE002801D000F0D9F80120FFF746FEB1 | ||||
| :102FC000002808D029463846FDF7DCF9002802D051 | ||||
| :102FD00000F09EFB0CE00220FFF738FE002807D02F | ||||
| :102FE00029463846FDF7CEF9002801D001F0DAF87D | ||||
| :102FF0000720FFF72BFE002801D0FFF767FD607A5E | ||||
| :103000000028BCD000F0EAFFC0F7FF1F48000020F6 | ||||
| :10301000003000405C010020FF0F00006E440008FB | ||||
| :1030200025730A7265762564207625642E25642E24 | ||||
| :1030300025640A000004004850030020666C617398 | ||||
| :10304000685F73697A653A2025640A004469676994 | ||||
| :1030500074616C20706F74206E6F74207265737071 | ||||
| :103060006F6E64696E67210A00000000F0B50B30D6 | ||||
| :10307000C108C900144F0026144A0FE003688B42B0 | ||||
| :103080000BD38B4205D95C1A4318456830C3083B03 | ||||
| :1030900000E04368136002C004E0021D10680028CD | ||||
| :1030A000ECD13046002803D13868002801D0002038 | ||||
| :1030B000F0BD064A06481060064A121AD208D2002D | ||||
| :1030C00044C001203860D7E77C0000207800002051 | ||||
| :1030D000940300209005002010B56423012258219C | ||||
| :1030E0000448FDF709FA002801D0002010BD012096 | ||||
| :1030F00010BD00001001002010B5094C0022042171 | ||||
| :103100002046FDF748F90120FDF767F80122042168 | ||||
| :103110002046FDF740F90120FDF75FF810BD0000E3 | ||||
| :103120000004004803B583B0042802D3FF2005B093 | ||||
| :1031300000BD08496423085C01210007020E04A8B1 | ||||
| :103140000293019100900B4658210348FDF762FA63 | ||||
| :10315000EDE700006A440008100100200248006802 | ||||
| :103160000068406A704700000000002070B52E4CD7 | ||||
| :10317000207A0025002807D04D20E0710122E11DB2 | ||||
| :103180002A48FEF7C4FB25722748143000F083F864 | ||||
| :10319000002806D0A17A002904D02348143000F07A | ||||
| :1031A00085F870BD2049C0220E310D808D700A70E7 | ||||
| :1031B0008279002A01D0E0220A70027A002A03D024 | ||||
| :1031C0000A7810231A430A700022825E4088404227 | ||||
| :1031D00000B2030603D50B7808252B430B7043067A | ||||
| :1031E00003D50B7804252B430B70130603D50B78FE | ||||
| :1031F00002252B430B7053060125002B02DA0B78B6 | ||||
| :103200002B430B709206920E80064A70800E8870D7 | ||||
| :103210000548143000F04AF8034903220E310348F0 | ||||
| :10322000FEF775FBA57270BD4800002080020020EB | ||||
| :1032300070B50D46044600F020F8002801D00120AA | ||||
| :1032400070BD20780C226168504308182946FCF7AD | ||||
| :1032500065FF2078A178401CFCF74AFF2170002010 | ||||
| :1032600070BD10B5044681700C204843FFF7FEFE88 | ||||
| :103270006060204600F026F810BD10B50446817845 | ||||
| :103280000078401CFCF734FF6078814201D10120B6 | ||||
| :1032900010BD002010BD41780278914201D100207C | ||||
| :1032A000704740680C2251434018704710B50446DF | ||||
| :1032B00040782178884204D0A178401CFCF718FFA0 | ||||
| :1032C000617010BD10B500210170417081780C2231 | ||||
| :1032D00051434068FCF73BFF10BD000010B51021C2 | ||||
| :1032E0000648FCF734FF0121044802224170827035 | ||||
| :1032F000017102724271C17110BD00007D03002096 | ||||
| :1033000070B50F4D6988A868FDF73CF80446A98898 | ||||
| :10331000E868FDF737F8012802D0002809D00AE054 | ||||
| :10332000012C02D0002C02D005E0032070BD022049 | ||||
| :1033300070BD012C01D0002070BD012070BD0000C7 | ||||
| :103340000400002010B5054CA0606180E260A380FD | ||||
| :1033500000F0BCF900F0CAF910BD00000400002024 | ||||
| :1033600010B50C4A5378002B08D01278012A07D0E8 | ||||
| :10337000022A08D0032A09D0072010BD012010BD61 | ||||
| :1033800000F00AF810BD00F01DF810BD00F0E2F8E2 | ||||
| :1033900010BD00000400002010B5532805D957289F | ||||
| :1033A00003D0582801D0032010BD002907D01422D3 | ||||
| :1033B000002100F007FA0028F6D0082010BD802177 | ||||
| :1033C0000843F4E710B5592810D2614A145CFF2C69 | ||||
| :1033D0007ED0002902D014220021ABE0142200216B | ||||
| :1033E000F02000F0EFF9002873D1F4E7632816D03D | ||||
| :1033F00077285AD00246603A1F2A6BD8544A59326D | ||||
| :10340000101860380478FF2C62D000297ED0142276 | ||||
| :103410000021E02000F0D6F900285AD188E00029E8 | ||||
| :103420001CD014220021E02000F0CCF9002850D15B | ||||
| :1034300014220021122000F0C5F9002849D11422DD | ||||
| :103440000021E02000F0BEF900287DD114220021E7 | ||||
| :103450007C2000F0B7F9002876D110BD142200219D | ||||
| :10346000E02000F0AFF900286ED114220021F020F6 | ||||
| :1034700000F0A8F9002867D1142200217C2000F078 | ||||
| :10348000A1F9002860D114220021E02000F09AF96F | ||||
| :10349000002859D114220021F02000F093F90028CF | ||||
| :1034A00052D1142200211220D3E70029A6D01422E1 | ||||
| :1034B0000021E12000F086F9002845D114220021E6 | ||||
| :1034C000104600F07FF900283ED11422002102E0CE | ||||
| :1034D0002CE039E03AE0772000F074F9002833D18D | ||||
| :1034E00014220021E12000F06DF900282CD11422D3 | ||||
| :1034F0000021F02000F066F9002825D114220021D7 | ||||
| :10350000104600F05FF900281ED100E014E01422FC | ||||
| :103510000021F02000F056F9002815D114220021D6 | ||||
| :10352000772000F04FF900280ED110BD022010BD09 | ||||
| :103530001422012120468CE714220021E02000F013 | ||||
| :1035400041F9002800D149E7082010BD032010BD33 | ||||
| :10355000F143000810B5C32801D3052010BD1A4A55 | ||||
| :10356000145CFF2C03D08E2C03D3062010BD022048 | ||||
| :1035700010BD16480129025D04D0002910D002298F | ||||
| :103580001BD01EE0022A03D0012A01D0032A18D141 | ||||
| :1035900014220021204600F015F900280BD110E07C | ||||
| :1035A000022A01D0012A0CD114220021F02000F0BF | ||||
| :1035B00009F90028ECD0082010BD012AE8D0042A1F | ||||
| :1035C000E6D0002010BD0000A042000880000020CE | ||||
| :1035D000F3B581B00F4600250126FCF7E3FE3A4C17 | ||||
| :1035E000206107E0FCF7DEFE2169401AB84201D3F2 | ||||
| :1035F0000420FEBDFFF784FE0128F3D11220FFF75F | ||||
| :10360000F1F900226188A068FCF7C5FE2420FFF7CD | ||||
| :10361000E9F901226188A068FCF7BDFE1220FFF7DE | ||||
| :10362000E1F9A188E068FCF7ADFE012800D135433F | ||||
| :103630007004060C1220FFF7D5F900226188A068FB | ||||
| :10364000FCF7A9FE2420FFF7CDF901226188A068CC | ||||
| :10365000FCF7A1FE1220FFF7C5F9FF2EE1D91220D9 | ||||
| :10366000FFF7C0F900226188A068FCF794FE2420CF | ||||
| :10367000FFF7B8F901226188A068FCF78CFE1220E0 | ||||
| :10368000FFF7B0F91220FFF7ADF90022A188E0683A | ||||
| :10369000FCF781FE00226188A068FCF77CFE2420F4 | ||||
| :1036A000FFF7A0F901226188A068FCF774FE1220E0 | ||||
| :1036B000FFF798F90122A188E068FCF76CFE0198F9 | ||||
| :1036C00005700020FEBD00000400002010B5064C6F | ||||
| :1036D00001226188A068FCF75EFE0122A188E068F3 | ||||
| :1036E000FCF759FE10BD00000400002010B505488D | ||||
| :1036F00003210170012141708E2203490348FCF728 | ||||
| :103700000DFD10BD04000020634300088000002070 | ||||
| :1037100038B5FFF7F5FD284C0228A07114D0012818 | ||||
| :1037200015D003280FD1221D511E2448FFF7CEFAD1 | ||||
| :10373000002808D12179E078FFF712FE082836D05A | ||||
| :103740001E48FFF7D3FA38BDFFF7C0FF38BDFF2191 | ||||
| :103750006846017018480A21401CFFF739FF694686 | ||||
| :103760006078FFF7DDFA68460478FF2CEED0134846 | ||||
| :1037700020216038FCF7EBFC1048CD216038017047 | ||||
| :10378000014620314978417081218170E207012191 | ||||
| :10379000002A00D0C170A20700D50171620700D5D0 | ||||
| :1037A0004171012251030648FCF7F5FD38BD0120A7 | ||||
| :1037B000FCF713FD38BD0000480000205003002036 | ||||
| :1037C00000080048F8B515460E460746FCF7EAFD26 | ||||
| :1037D0000C4C206107E0FCF7E5FD2169401AA84286 | ||||
| :1037E00001D30120F8BDFFF78BFD0328F3D1002E94 | ||||
| :1037F00003D0AF208000FFF7F5F8384600F004F85A | ||||
| :10380000F8BD000004000020F8B5474C054601262D | ||||
| :103810000022A188E068FCF7BEFD1220FFF7E2F865 | ||||
| :1038200000226188A068FCF7B6FD2420FFF7DAF8D3 | ||||
| :1038300001226188A068FCF7AEFD1220FFF7D2F8E4 | ||||
| :103840006188A068FCF79EFD002868D00027E80783 | ||||
| :1038500001D0012200E00022A188E068FCF79BFD76 | ||||
| :103860001220FFF7BFF800226188A068FCF793FDE3 | ||||
| :103870002420FFF7B7F801226188A068FCF78BFDD0 | ||||
| :103880001220FFF7AFF86188A068FCF77BFD0028E5 | ||||
| :1038900045D0E807C00F46406D087F1C082FD6DBD7 | ||||
| :1038A000002E01D0012200E00022A188E068FCF790 | ||||
| :1038B00072FD1220FFF796F800226188A068FCF7DD | ||||
| :1038C0006AFD2420FFF78EF801226188A068FCF7CA | ||||
| :1038D00062FD1220FFF786F86188A068FCF752FDB0 | ||||
| :1038E00000281CD00122A188E068FCF754FD1220BA | ||||
| :1038F000FFF778F800226188A068FCF74CFD2420CF | ||||
| :10390000FFF770F801226188A068FCF744FD1220DF | ||||
| :10391000FFF768F8C820FFF765F80020F8BDFFF74B | ||||
| :10392000D5FE0820F8BD00000400002010B5164C9C | ||||
| :1039300061892069FCF726FD012805D12189E0680D | ||||
| :10394000FCF720FD012806D061892069FCF71AFDEB | ||||
| :10395000012802D007E0032010BD2189E068FCF7B0 | ||||
| :1039600011FD002806D061892069FCF70BFD0028B5 | ||||
| :1039700002D007E0022010BD2189E068FCF702FDBB | ||||
| :103980000128F8D0002010BD18000020F8B5374EEF | ||||
| :10399000054630780C46002804D0B079002803D0C2 | ||||
| :1039A0000620F8BD0120F8BD0821601CFCF7CFFB04 | ||||
| :1039B0000320207008206070A879002801D0092019 | ||||
| :1039C0006070287A0221002802D060780843607075 | ||||
| :1039D000E8790422002802D060781043607000204B | ||||
| :1039E000285E1023002802DA6078184360700220F5 | ||||
| :1039F000285E2027002802DA607838436070287833 | ||||
| :103A0000A070A878E0707079032806D0042806D04A | ||||
| :103A1000002800D022700020F8BD28791EE0687AC6 | ||||
| :103A2000002802D0207918432071A87A002802D0FB | ||||
| :103A300020793843207105202856002801DD20799F | ||||
| :103A400003E0002803DA20790E21084320710420C6 | ||||
| :103A50002856002804DD2079012105E02071D9E7EE | ||||
| :103A60000028D7DA20790F210843F7E71800002053 | ||||
| :103A7000F8B500250E46FF2810D0E63800210127B2 | ||||
| :103A8000584C0300FEF7A8FE11A0A69063619B9B13 | ||||
| :103A90009B5A9B549B331E1C1A179B0000F03EF947 | ||||
| :103AA0001421FA2000F0ECF9FA21AA2000F0DBF949 | ||||
| :103AB0001421002075E000F03DF980E021707EE0E7 | ||||
| :103AC00027707CE01421FA2000F0DAF945489621AD | ||||
| :103AD000401C00F097F800282FD14249207914317A | ||||
| :103AE00062780A5407286AD2401C207167E01421CA | ||||
| :103AF000FA2000F0C5F92179022916D93948143085 | ||||
| :103B000040182038C17F50290FD1817F642902D00D | ||||
| :103B1000C82905D009E0407FC82806D1032003E06A | ||||
| :103B2000407FC82801D1042060711421607938E0F9 | ||||
| :103B30001421FA2000F0A4F9A771F8BD1421FA208D | ||||
| :103B400000F09EF90220A071F8BDA17137E01421A8 | ||||
| :103B5000FA2000F095F9A079012800D140252078BD | ||||
| :103B6000002801D020200543E078022801D1102050 | ||||
| :103B70000543B079002801D004200543F0790028DE | ||||
| :103B800001D002200543307A002800D03D431421A3 | ||||
| :103B9000284600F068F91421A07800F064F9142197 | ||||
| :103BA000607800F060F9F8BD1421FA2000F068F99F | ||||
| :103BB0000C489621801C00F025F80028F3D1142130 | ||||
| :103BC000FA2000F05DF9F8BD1421FA2000F058F950 | ||||
| :103BD000E770F8BD1421FA2000F052F90220E070DD | ||||
| :103BE000F8BD00001800002010B5054CE0602181F0 | ||||
| :103BF0002261638100F092F800F080F810BD0000AF | ||||
| :103C000018000020F3B581B00F4600250126FCF70F | ||||
| :103C1000C9FB044606E0FCF7C5FB001BB84201D314 | ||||
| :103C20000420FEBDFFF782FE0128F4D11220FEF72A | ||||
| :103C3000D9FE314C00222189E068FCF7ACFB24203E | ||||
| :103C4000FEF7D0FE01222189E068FCF7A4FB1220D8 | ||||
| :103C5000FEF7C8FE61892069FCF794FB012800D1BA | ||||
| :103C600035437004060C1220FEF7BCFE00222189A9 | ||||
| :103C7000E068FCF790FB2420FEF7B4FE01222189C6 | ||||
| :103C8000E068FCF788FB1220FEF7ACFEFF2EE1D9BE | ||||
| :103C90001220FEF7A7FE00222189E068FCF77BFBDB | ||||
| :103CA0002420FEF79FFE01222189E068FCF773FBC8 | ||||
| :103CB0001220FEF797FE1220FEF794FE0022618983 | ||||
| :103CC0002069FCF768FB00222189E068FCF763FBB0 | ||||
| :103CD0002420FEF787FE01222189E068FCF75BFBC8 | ||||
| :103CE0001220FEF77FFE012261892069FCF753FB59 | ||||
| :103CF000019805700020FEBD1800002010B5064C8C | ||||
| :103D000001222189E068FCF746FB012261892069D4 | ||||
| :103D1000FCF741FB10BD00001800002000B500F0CA | ||||
| :103D200009F803490020087148618861487100BDA5 | ||||
| :103D30001800002005486421417002218170012192 | ||||
| :103D4000C1700021017081717047000018000020CF | ||||
| :103D500010B500F075F8002807D16421AA2000F002 | ||||
| :103D600082F86421002000F07EF810BD70B50E4688 | ||||
| :103D70000546002407E028194078314600F073F822 | ||||
| :103D8000002804D1641C2878A042F4DC002070BD17 | ||||
| :103D900070B5FFF7CBFD274C0228607111D00128C8 | ||||
| :103DA00012D020461430FFF776FA002808D02249B6 | ||||
| :103DB000FFF7ECFD002812D020461430FFF776FA0A | ||||
| :103DC00070BDFFF79BFF70BD1A480A21801CFFF7EA | ||||
| :103DD00019FF1949A0781839FFF74AFE70BDC822AB | ||||
| :103DE0000820FEF733FF002800D0012211461248B8 | ||||
| :103DF000FFF7BCFF002817D0104D012208212846EC | ||||
| :103E0000FCF7C9FAFCF7CEFA044604E0FCF7CAFA5C | ||||
| :103E1000001B192803D8FFF789FD0328F6D10022DB | ||||
| :103E200008212846FCF7B7FA02481430FFF74AFA8F | ||||
| :103E300070BD00004800002074030020000400480A | ||||
| :103E400070B50546FCF7AEFA044606E0FCF7AAFAA0 | ||||
| :103E5000001BA84201D3042070BDFFF767FD0328B3 | ||||
| :103E6000F4D1002070BD10B504460846FFF7E8FF06 | ||||
| :103E7000002801D0042010BD204600F013F810BD2A | ||||
| :103E800010B504460846FFF7DBFF002801D00420E8 | ||||
| :103E900010BDAF208000FEF7A5FD204600F002F81F | ||||
| :103EA00010BD0000F8B5474C054601260022618987 | ||||
| :103EB0002069FCF770FA1220FEF794FD0022218998 | ||||
| :103EC000E068FCF768FA2420FEF78CFD01222189C6 | ||||
| :103ED000E068FCF760FA1220FEF784FD2189E068B3 | ||||
| :103EE000FCF750FA002868D00027E80701D001222B | ||||
| :103EF00000E0002261892069FCF74DFA1220FEF7EC | ||||
| :103F000071FD00222189E068FCF745FA2420FEF7C4 | ||||
| :103F100069FD01222189E068FCF73DFA1220FEF7D5 | ||||
| :103F200061FD2189E068FCF72DFA002845D0E807FB | ||||
| :103F3000C00F46406D087F1C082FD6DB002E01D035 | ||||
| :103F4000012200E0002261892069FCF724FA122096 | ||||
| :103F5000FEF748FD00222189E068FCF71CFA2420C6 | ||||
| :103F6000FEF740FD01222189E068FCF714FA1220D7 | ||||
| :103F7000FEF738FD2189E068FCF704FA00281CD020 | ||||
| :103F8000012261892069FCF706FA1220FEF72AFD5A | ||||
| :103F900000222189E068FCF7FEF92420FEF722FDCB | ||||
| :103FA00001222189E068FCF7F6F91220FEF71AFDDC | ||||
| :103FB000FA20FEF717FD0020F8BDFFF79FFE08204E | ||||
| :103FC000F8BD000018000020012803D0032803D00A | ||||
| :103FD00041207047432070473F20704711A0FEF7F3 | ||||
| :103FE000EBFB134D0024295D12A0FEF7E5FB641CDA | ||||
| :103FF000202CF8DB10A0FEF7DFFB134D0024082176 | ||||
| :104000002846FCF7C4F96420FCF7E7F8641C642C2C | ||||
| :10401000F5DBBFF34F8F0E490C48C860BFF34F8FDD | ||||
| :1040200000BFFDE7535049204552524F520A00004D | ||||
| :1040300010030020256420000A7265626F6F7469A6 | ||||
| :104040006E672E2E2E0A0000000400480400FA05B8 | ||||
| :1040500000ED00E070B50646FCF7A4F90446084DF3 | ||||
| :1040600006E0FCF79FF9001BB04201D9042070BDA7 | ||||
| :1040700029886868FCF786F90028F2D0002070BD16 | ||||
| :104080003400002010B50E4C21886068FCF77AF9E6 | ||||
| :10409000012802D1FCF786F9E060FCF783F9E168BA | ||||
| :1040A000401A14280BD9C820FFF7D4FF1420FCF7BE | ||||
| :1040B00094F8AA2000F094F80A20FCF78EF810BDBE | ||||
| :1040C0003400002010B500F05DF8FCF76BF90149F1 | ||||
| :1040D000C86010BD3400002010B5034C6060218022 | ||||
| :1040E000A260638010BD00003400002070B504465B | ||||
| :1040F00066380300FEF770FB0A1406080A0C0E105F | ||||
| :104100001216181A482413E04A2411E04B240FE039 | ||||
| :104110004E240DE04F240BE0502409E0512407E029 | ||||
| :10412000472405E0522403E0532401E0532C0BD82C | ||||
| :10413000022902D000290DD00EE0FCF733F9084D1A | ||||
| :104140002969401A502801D8002070BDFCF72AF9CF | ||||
| :10415000286101E080200443204600F041F870BD52 | ||||
| :104160003400002010B5064C012221886068FCF75D | ||||
| :1041700012F901226188A068FCF70DF910BD00005A | ||||
| :104180003400002010B5064C012221886068FCF73D | ||||
| :1041900002F900226188A068FCF7FDF810BD00005C | ||||
| :1041A0003400002010B5FFF76DFF0B4A0B48511E7D | ||||
| :1041B000FEF78CFD00280AD10748001F0179C0785E | ||||
| :1041C000FFF794FF452803D00448FEF78FFD10BD8C | ||||
| :1041D0000120FCF702F810BD4C0000205003002025 | ||||
| :1041E00070B52E4C054621886068FCF7CBF8002896 | ||||
| :1041F0002AD0002221886068FCF7CDF80520FEF760 | ||||
| :10420000F1FB01226188A068FCF7C5F86E20FEF77B | ||||
| :10421000E9FB6188A068FCF7B5F8002814D00122FA | ||||
| :1042200021886068FCF7B7F84120FEF7DBFB00222D | ||||
| :1042300021886068FCF7AFF81E20FEF7D3FB00264C | ||||
| :10424000E80705D0012204E0FFF79CFF452070BD80 | ||||
| :1042500000226188A068FCF79EF80122218860682E | ||||
| :10426000FCF799F84120FEF7BDFB00222188606829 | ||||
| :10427000FCF791F81E20FEF7B5FB6D08761C082EA2 | ||||
| :10428000DEDB012221886068FCF785F80022618866 | ||||
| :10429000A068FCF780F8002070BD0000340000200A | ||||
| :1042A000FF08161E26252E363D3E46454E55660D08 | ||||
| :1042B000151D242D2C353C43444D545B5A111C1BB9 | ||||
| :1042C000232B34333B424B4C520E125C1A22212AD0 | ||||
| :1042D00032313A41494A597E192914070F171F27CD | ||||
| :1042E0002F373F474F765F6C757D4E6B73747C69DB | ||||
| :1042F000727A7071FFFF13565EFFFFFFFFFFFFFF33 | ||||
| :1043000079584A5739FF6E636F616A65606D6764FB | ||||
| :10431000FFFFFFFFFFFFFF62FFFFFFFFFF8B8C8DA3 | ||||
| :10432000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D | ||||
| :10433000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D | ||||
| :10434000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D | ||||
| :10435000FFFFFFFFFFFFFF081018202830384048FC | ||||
| :1043600050575F0101010101010103030101010136 | ||||
| :104370000101030102020102010103010201010125 | ||||
| :104380000101030101010101010103010101010119 | ||||
| :104390000101030101010101010103010301010107 | ||||
| :1043A00001010301010101010101030101010101F9 | ||||
| :1043B00001010301010101010103030302010101E4 | ||||
| :1043C00001030301010301010301030103010303CD | ||||
| :1043D00003030303030303030303030103030101B3 | ||||
| :1043E00003030101010101030101010101010101B7 | ||||
| :1043F00001FF76161E26252E363D3E46454E556655 | ||||
| :104400000D151D242D2C353C43444D545B5A141C72 | ||||
| :104410001B232B34333B424B4C520E125D1A22218C | ||||
| :104420002A32313A41494A597C1129580506040C6F | ||||
| :10443000030B830A0109777E6C757D7B6B7374793E | ||||
| :1044400069727A7071FFFF6178075A144AFF11FF91 | ||||
| :104450006C757D6B7469727A7071FFFFFFFFFFFFEF | ||||
| :10446000FFFFFFFFFFFFFF1F272F00010607555328 | ||||
| :10447000423456432050726F746F636F6C20426FEA | ||||
| :104480006172640A49424D20504320436F6D706150 | ||||
| :104490007469626C650A64656B754E756B656D2039 | ||||
| :1044A0003230323200000000000000000001020340 | ||||
| :1044B00004060708090000000001020304000000D0 | ||||
| :1044C000E04400080000002080000000F2270008FF | ||||
| :1044D0006045000880000020100900000228000844 | ||||
| :1044E00000000000030100000000000000000000C8 | ||||
| :1044F00000000000000000000000000000000000BC | ||||
| :1045000000000000000000000000000000000000AB | ||||
| :10451000000000000000000000000000000000009B | ||||
| :10452000000000000000000000000000000000008B | ||||
| :10453000000000000000000000000000000000007B | ||||
| :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 | ||||
| :10454000000000000000000000000000000000006B | ||||
| :1045500000127A00000000000000000000000000CF | ||||
| :10455000000000000000000000000000000000005B | ||||
| :10456000000000000000000000000000000000004B | ||||
| :10457000000000000000000000000000000000003B | ||||
| :10458000000000000000000000000000000000002B | ||||
| :10459000000000000000000000000000000000001B | ||||
| :1045A0000000000000127A0000000000000000007F | ||||
| :0445B0000000000007 | ||||
| :04000005080000C12E | ||||
| :00000001FF | ||||
|   | ||||
| @@ -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>#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Fri May 06 13:31:45 2022 | ||||
| <BR><P>#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Fri May 06 17:32:07 2022 | ||||
| <BR><P> | ||||
| <H3>Maximum Stack Usage =        212 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> | ||||
| Call chain for Maximum Stack Depth:</H3> | ||||
| @@ -281,6 +281,7 @@ Global Symbols | ||||
| </UL> | ||||
| <BR>[Called By]<UL><LI><a href="#[d7]">>></a>   xtkb_check_for_softreset | ||||
| <LI><a href="#[a0]">>></a>   mcp4451_reset | ||||
| <LI><a href="#[ae]">>></a>   keyboard_reply | ||||
| <LI><a href="#[be]">>></a>   xtkb_update | ||||
| <LI><a href="#[bf]">>></a>   spi_error_dump_reboot | ||||
| <LI><a href="#[bd]">>></a>   ps2kb_update | ||||
| @@ -320,7 +321,7 @@ Global Symbols | ||||
| <LI><a href="#[d2]">>></a>   ps2mouse_read | ||||
| <LI><a href="#[cc]">>></a>   ps2mouse_get_bus_status | ||||
| <LI><a href="#[cb]">>></a>   ps2kb_write_nowait | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_read | ||||
| <LI><a href="#[b1]">>></a>   ps2kb_read | ||||
| <LI><a href="#[c5]">>></a>   ps2kb_get_bus_status | ||||
| <LI><a href="#[26]">>></a>   main | ||||
| </UL> | ||||
| @@ -341,7 +342,7 @@ Global Symbols | ||||
| <LI><a href="#[d2]">>></a>   ps2mouse_read | ||||
| <LI><a href="#[cb]">>></a>   ps2kb_write_nowait | ||||
| <LI><a href="#[a5]">>></a>   ps2kb_release_lines | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_read | ||||
| <LI><a href="#[b1]">>></a>   ps2kb_read | ||||
| <LI><a href="#[bb]">>></a>   ps2mouse_update | ||||
| <LI><a href="#[bd]">>></a>   ps2kb_update | ||||
| <LI><a href="#[26]">>></a>   main | ||||
| @@ -357,11 +358,11 @@ Global Symbols | ||||
| <LI><a href="#[d6]">>></a>   wait_for_clk_high | ||||
| <LI><a href="#[3f]">>></a>   HAL_I2C_Mem_Write | ||||
| <LI><a href="#[3d]">>></a>   HAL_I2C_IsDeviceReady | ||||
| <LI><a href="#[37]">>></a>   HAL_Delay | ||||
| <LI><a href="#[d3]">>></a>   ps2mouse_wait_for_idle | ||||
| <LI><a href="#[d2]">>></a>   ps2mouse_read | ||||
| <LI><a href="#[af]">>></a>   ps2kb_write | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_read | ||||
| <LI><a href="#[37]">>></a>   HAL_Delay | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_write | ||||
| <LI><a href="#[b1]">>></a>   ps2kb_read | ||||
| <LI><a href="#[89]">>></a>   SPI_WaitFlagStateUntilTimeout | ||||
| <LI><a href="#[88]">>></a>   SPI_WaitFifoStateUntilTimeout | ||||
| <LI><a href="#[85]">>></a>   SPI_CloseRxTx_ISR | ||||
| @@ -890,8 +891,8 @@ Global Symbols | ||||
| <LI><a href="#[cf]">>></a>   ps2mouse_write_delay_start | ||||
| <LI><a href="#[d2]">>></a>   ps2mouse_read | ||||
| <LI><a href="#[cb]">>></a>   ps2kb_write_nowait | ||||
| <LI><a href="#[af]">>></a>   ps2kb_write | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_read | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_write | ||||
| <LI><a href="#[b1]">>></a>   ps2kb_read | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[94]"></a>delay_us_init</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, delay_us.o(i.delay_us_init)) | ||||
| @@ -993,6 +994,10 @@ Global Symbols | ||||
| <BR>[Called By]<UL><LI><a href="#[58]">>></a>   HAL_SPI_TxRxCpltCallback | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[af]"></a>handle_set3_commands</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, ps2kb.o(i.handle_set3_commands)) | ||||
| <BR><BR>[Called By]<UL><LI><a href="#[ae]">>></a>   keyboard_reply | ||||
| </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]">>></a>   ps2mouse_update | ||||
| <LI><a href="#[26]">>></a>   main | ||||
| @@ -1049,19 +1054,20 @@ Global Symbols | ||||
| <BR>[Called By]<UL><LI><a href="#[ab]">>></a>   kb_buf_init | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[ae]"></a>keyboard_reply</STRONG> (Thumb, 310 bytes, Stack size 24 bytes, ps2kb.o(i.keyboard_reply)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = keyboard_reply ⇒ ps2kb_write ⇒ ps2kb_write_nowait ⇒ ps2kb_release_lines | ||||
| <P><STRONG><a name="[ae]"></a>keyboard_reply</STRONG> (Thumb, 342 bytes, Stack size 32 bytes, ps2kb.o(i.keyboard_reply)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = keyboard_reply ⇒ ps2kb_write ⇒ ps2kb_write_nowait ⇒ ps2kb_release_lines | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[b1]">>></a>   scancode_set_reply_lookup | ||||
| <LI><a href="#[af]">>></a>   ps2kb_write | ||||
| <BR>[Calls]<UL><LI><a href="#[37]">>></a>   HAL_Delay | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_write | ||||
| <LI><a href="#[a6]">>></a>   ps2kb_reset | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_read | ||||
| <LI><a href="#[b1]">>></a>   ps2kb_read | ||||
| <LI><a href="#[af]">>></a>   handle_set3_commands | ||||
| <LI><a href="#[a1]">>></a>   __ARM_common_switch8 | ||||
| </UL> | ||||
| <BR>[Called By]<UL><LI><a href="#[bd]">>></a>   ps2kb_update | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[26]"></a>main</STRONG> (Thumb, 424 bytes, Stack size 16 bytes, main.o(i.main)) | ||||
| <P><STRONG><a name="[26]"></a>main</STRONG> (Thumb, 426 bytes, Stack size 16 bytes, main.o(i.main)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 212<LI>Call Chain = main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_RCC_GetSysClockFreq ⇒ __aeabi_uidivmod | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[84]">>></a>   MX_USART3_UART_Init | ||||
| @@ -1072,13 +1078,13 @@ Global Symbols | ||||
| <LI><a href="#[7c]">>></a>   MX_GPIO_Init | ||||
| <LI><a href="#[b5]">>></a>   xtkb_init | ||||
| <LI><a href="#[a3]">>></a>   xtkb_enable | ||||
| <LI><a href="#[37]">>></a>   HAL_Delay | ||||
| <LI><a href="#[a0]">>></a>   mcp4451_reset | ||||
| <LI><a href="#[b7]">>></a>   mcp4451_is_available | ||||
| <LI><a href="#[b9]">>></a>   ps2mouse_send_bat | ||||
| <LI><a href="#[a4]">>></a>   ps2mouse_init | ||||
| <LI><a href="#[59]">>></a>   HAL_GPIO_WritePin | ||||
| <LI><a href="#[ba]">>></a>   HAL_GPIO_ReadPin | ||||
| <LI><a href="#[37]">>></a>   HAL_Delay | ||||
| <LI><a href="#[a2]">>></a>   ps2kb_init | ||||
| <LI><a href="#[b6]">>></a>   mouse_buf_init | ||||
| <LI><a href="#[ab]">>></a>   kb_buf_init | ||||
| @@ -1122,8 +1128,8 @@ Global Symbols | ||||
| <P><STRONG><a name="[a0]"></a>mcp4451_reset</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, mcp4451.o(i.mcp4451_reset)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = mcp4451_reset ⇒ HAL_Delay | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[37]">>></a>   HAL_Delay | ||||
| <LI><a href="#[59]">>></a>   HAL_GPIO_WritePin | ||||
| <BR>[Calls]<UL><LI><a href="#[59]">>></a>   HAL_GPIO_WritePin | ||||
| <LI><a href="#[37]">>></a>   HAL_Delay | ||||
| </UL> | ||||
| <BR>[Called By]<UL><LI><a href="#[26]">>></a>   main | ||||
| <LI><a href="#[9f]">>></a>   gameport_init | ||||
| @@ -1214,8 +1220,8 @@ Global Symbols | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[ba]">>></a>   HAL_GPIO_ReadPin | ||||
| </UL> | ||||
| <BR>[Called By]<UL><LI><a href="#[af]">>></a>   ps2kb_write | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_read | ||||
| <BR>[Called By]<UL><LI><a href="#[b0]">>></a>   ps2kb_write | ||||
| <LI><a href="#[b1]">>></a>   ps2kb_read | ||||
| <LI><a href="#[bd]">>></a>   ps2kb_update | ||||
| </UL> | ||||
|  | ||||
| @@ -1242,7 +1248,7 @@ Global Symbols | ||||
| <P><STRONG><a name="[c7]"></a>ps2kb_press_key_scancode_1</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, ps2kb.o(i.ps2kb_press_key_scancode_1)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = ps2kb_press_key_scancode_1 ⇒ ps2kb_write ⇒ ps2kb_write_nowait ⇒ ps2kb_release_lines | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[af]">>></a>   ps2kb_write | ||||
| <BR>[Calls]<UL><LI><a href="#[b0]">>></a>   ps2kb_write | ||||
| </UL> | ||||
| <BR>[Called By]<UL><LI><a href="#[c6]">>></a>   ps2kb_press_key | ||||
| </UL> | ||||
| @@ -1250,7 +1256,7 @@ Global Symbols | ||||
| <P><STRONG><a name="[c8]"></a>ps2kb_press_key_scancode_2</STRONG> (Thumb, 396 bytes, Stack size 8 bytes, ps2kb.o(i.ps2kb_press_key_scancode_2)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = ps2kb_press_key_scancode_2 ⇒ ps2kb_write ⇒ ps2kb_write_nowait ⇒ ps2kb_release_lines | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[af]">>></a>   ps2kb_write | ||||
| <BR>[Calls]<UL><LI><a href="#[b0]">>></a>   ps2kb_write | ||||
| </UL> | ||||
| <BR>[Called By]<UL><LI><a href="#[c6]">>></a>   ps2kb_press_key | ||||
| </UL> | ||||
| @@ -1258,12 +1264,12 @@ Global Symbols | ||||
| <P><STRONG><a name="[c9]"></a>ps2kb_press_key_scancode_3</STRONG> (Thumb, 114 bytes, Stack size 8 bytes, ps2kb.o(i.ps2kb_press_key_scancode_3)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = ps2kb_press_key_scancode_3 ⇒ ps2kb_write ⇒ ps2kb_write_nowait ⇒ ps2kb_release_lines | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[af]">>></a>   ps2kb_write | ||||
| <BR>[Calls]<UL><LI><a href="#[b0]">>></a>   ps2kb_write | ||||
| </UL> | ||||
| <BR>[Called By]<UL><LI><a href="#[c6]">>></a>   ps2kb_press_key | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[b0]"></a>ps2kb_read</STRONG> (Thumb, 246 bytes, Stack size 32 bytes, ps2kb.o(i.ps2kb_read)) | ||||
| <P><STRONG><a name="[b1]"></a>ps2kb_read</STRONG> (Thumb, 246 bytes, Stack size 32 bytes, ps2kb.o(i.ps2kb_read)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = ps2kb_read ⇒ ps2kb_get_bus_status | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[38]">>></a>   HAL_GetTick | ||||
| @@ -1298,12 +1304,12 @@ Global Symbols | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[bd]"></a>ps2kb_update</STRONG> (Thumb, 166 bytes, Stack size 16 bytes, main.o(i.ps2kb_update)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = ps2kb_update ⇒ keyboard_reply ⇒ ps2kb_write ⇒ ps2kb_write_nowait ⇒ ps2kb_release_lines | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ps2kb_update ⇒ keyboard_reply ⇒ ps2kb_write ⇒ ps2kb_write_nowait ⇒ ps2kb_release_lines | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[37]">>></a>   HAL_Delay | ||||
| <LI><a href="#[59]">>></a>   HAL_GPIO_WritePin | ||||
| <BR>[Calls]<UL><LI><a href="#[59]">>></a>   HAL_GPIO_WritePin | ||||
| <LI><a href="#[37]">>></a>   HAL_Delay | ||||
| <LI><a href="#[a5]">>></a>   ps2kb_release_lines | ||||
| <LI><a href="#[b0]">>></a>   ps2kb_read | ||||
| <LI><a href="#[b1]">>></a>   ps2kb_read | ||||
| <LI><a href="#[c6]">>></a>   ps2kb_press_key | ||||
| <LI><a href="#[c5]">>></a>   ps2kb_get_bus_status | ||||
| <LI><a href="#[ae]">>></a>   keyboard_reply | ||||
| @@ -1314,7 +1320,7 @@ Global Symbols | ||||
| <BR>[Called By]<UL><LI><a href="#[26]">>></a>   main | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[af]"></a>ps2kb_write</STRONG> (Thumb, 62 bytes, Stack size 24 bytes, ps2kb.o(i.ps2kb_write)) | ||||
| <P><STRONG><a name="[b0]"></a>ps2kb_write</STRONG> (Thumb, 62 bytes, Stack size 24 bytes, ps2kb.o(i.ps2kb_write)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = ps2kb_write ⇒ ps2kb_write_nowait ⇒ ps2kb_release_lines | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[38]">>></a>   HAL_GetTick | ||||
| @@ -1336,7 +1342,7 @@ Global Symbols | ||||
| <LI><a href="#[a5]">>></a>   ps2kb_release_lines | ||||
| <LI><a href="#[92]">>></a>   delay_us | ||||
| </UL> | ||||
| <BR>[Called By]<UL><LI><a href="#[af]">>></a>   ps2kb_write | ||||
| <BR>[Called By]<UL><LI><a href="#[b0]">>></a>   ps2kb_write | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[cc]"></a>ps2mouse_get_bus_status</STRONG> (Thumb, 92 bytes, Stack size 8 bytes, ps2mouse.o(i.ps2mouse_get_bus_status)) | ||||
| @@ -1499,10 +1505,6 @@ Global Symbols | ||||
| <LI><a href="#[d0]">>></a>   ps2mouse_write | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[b1]"></a>scancode_set_reply_lookup</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, ps2kb.o(i.scancode_set_reply_lookup)) | ||||
| <BR><BR>[Called By]<UL><LI><a href="#[ae]">>></a>   keyboard_reply | ||||
| </UL> | ||||
|  | ||||
| <P><STRONG><a name="[bf]"></a>spi_error_dump_reboot</STRONG> (Thumb, 72 bytes, Stack size 0 bytes, main.o(i.spi_error_dump_reboot)) | ||||
| <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = spi_error_dump_reboot ⇒ __2printf | ||||
| </UL> | ||||
| @@ -1527,9 +1529,9 @@ Global Symbols | ||||
| </UL> | ||||
| <BR>[Calls]<UL><LI><a href="#[d8]">>></a>   xtkb_write | ||||
| <LI><a href="#[d6]">>></a>   wait_for_clk_high | ||||
| <LI><a href="#[37]">>></a>   HAL_Delay | ||||
| <LI><a href="#[38]">>></a>   HAL_GetTick | ||||
| <LI><a href="#[ba]">>></a>   HAL_GPIO_ReadPin | ||||
| <LI><a href="#[37]">>></a>   HAL_Delay | ||||
| </UL> | ||||
| <BR>[Called By]<UL><LI><a href="#[be]">>></a>   xtkb_update | ||||
| </UL> | ||||
|   | ||||
| @@ -43,11 +43,14 @@ Section Cross References | ||||
|     helpers.o(i.mouse_buf_is_full) refers to uidiv.o(.text) for __aeabi_uidivmod | ||||
|     helpers.o(i.mouse_buf_pop) refers to uidiv.o(.text) for __aeabi_uidivmod | ||||
|     helpers.o(i.mouse_buf_reset) refers to memseta.o(.text) for __aeabi_memclr | ||||
|     ps2kb.o(i.handle_set3_commands) refers to ps2kb.o(.data) for .data | ||||
|     ps2kb.o(i.handle_set3_commands) refers to ps2kb.o(.bss) for .bss | ||||
|     ps2kb.o(i.keyboard_reply) refers to ps2kb.o(i.handle_set3_commands) for handle_set3_commands | ||||
|     ps2kb.o(i.keyboard_reply) refers to ps2kb.o(i.__ARM_common_switch8) for __ARM_common_switch8 | ||||
|     ps2kb.o(i.keyboard_reply) refers to ps2kb.o(i.ps2kb_write) for ps2kb_write | ||||
|     ps2kb.o(i.keyboard_reply) refers to ps2kb.o(i.ps2kb_reset) for ps2kb_reset | ||||
|     ps2kb.o(i.keyboard_reply) refers to stm32f0xx_hal.o(i.HAL_Delay) for HAL_Delay | ||||
|     ps2kb.o(i.keyboard_reply) refers to ps2kb.o(i.ps2kb_read) for ps2kb_read | ||||
|     ps2kb.o(i.keyboard_reply) refers to ps2kb.o(i.scancode_set_reply_lookup) for scancode_set_reply_lookup | ||||
|     ps2kb.o(i.keyboard_reply) refers to ps2kb.o(.data) for .data | ||||
|     ps2kb.o(i.keyboard_reply) refers to ps2kb.o(.bss) for .bss | ||||
|     ps2kb.o(i.ps2kb_get_bus_status) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_ReadPin) for HAL_GPIO_ReadPin | ||||
| @@ -2017,71 +2020,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.is_protocol_enabled                    0x08002c4c   Section        0  main.o(i.is_protocol_enabled) | ||||
|     i.kb_buf_add                             0x08002c60   Section        0  helpers.o(i.kb_buf_add) | ||||
|     i.kb_buf_init                            0x08002c90   Section        0  helpers.o(i.kb_buf_init) | ||||
|     i.kb_buf_is_full                         0x08002cb0   Section        0  helpers.o(i.kb_buf_is_full) | ||||
|     i.kb_buf_peek                            0x08002ccc   Section        0  helpers.o(i.kb_buf_peek) | ||||
|     i.kb_buf_pop                             0x08002cec   Section        0  helpers.o(i.kb_buf_pop) | ||||
|     i.kb_buf_reset                           0x08002d04   Section        0  helpers.o(i.kb_buf_reset) | ||||
|     i.keyboard_reply                         0x08002d20   Section        0  ps2kb.o(i.keyboard_reply) | ||||
|     i.main                                   0x08002e60   Section        0  main.o(i.main) | ||||
|     i.malloc                                 0x0800306c   Section        0  malloc.o(i.malloc) | ||||
|     i.mcp4451_is_available                   0x080030d8   Section        0  mcp4451.o(i.mcp4451_is_available) | ||||
|     i.mcp4451_reset                          0x080030f8   Section        0  mcp4451.o(i.mcp4451_reset) | ||||
|     i.mcp4451_write_wiper                    0x08003124   Section        0  mcp4451.o(i.mcp4451_write_wiper) | ||||
|     i.micros                                 0x0800315c   Section        0  delay_us.o(i.micros) | ||||
|     i.microsoft_serial_mouse_update          0x0800316c   Section        0  main.o(i.microsoft_serial_mouse_update) | ||||
|     i.mouse_buf_add                          0x08003230   Section        0  helpers.o(i.mouse_buf_add) | ||||
|     i.mouse_buf_init                         0x08003262   Section        0  helpers.o(i.mouse_buf_init) | ||||
|     i.mouse_buf_is_full                      0x0800327a   Section        0  helpers.o(i.mouse_buf_is_full) | ||||
|     i.mouse_buf_peek                         0x08003296   Section        0  helpers.o(i.mouse_buf_peek) | ||||
|     i.mouse_buf_pop                          0x080032ac   Section        0  helpers.o(i.mouse_buf_pop) | ||||
|     i.mouse_buf_reset                        0x080032c4   Section        0  helpers.o(i.mouse_buf_reset) | ||||
|     i.protocol_status_lookup_init            0x080032dc   Section        0  main.o(i.protocol_status_lookup_init) | ||||
|     i.ps2kb_get_bus_status                   0x08003300   Section        0  ps2kb.o(i.ps2kb_get_bus_status) | ||||
|     i.ps2kb_init                             0x08003344   Section        0  ps2kb.o(i.ps2kb_init) | ||||
|     i.ps2kb_press_key                        0x08003360   Section        0  ps2kb.o(i.ps2kb_press_key) | ||||
|     i.ps2kb_press_key_scancode_1             0x08003398   Section        0  ps2kb.o(i.ps2kb_press_key_scancode_1) | ||||
|     i.ps2kb_press_key_scancode_2             0x080033c4   Section        0  ps2kb.o(i.ps2kb_press_key_scancode_2) | ||||
|     i.ps2kb_press_key_scancode_3             0x08003554   Section        0  ps2kb.o(i.ps2kb_press_key_scancode_3) | ||||
|     i.ps2kb_read                             0x080035d0   Section        0  ps2kb.o(i.ps2kb_read) | ||||
|     i.ps2kb_release_lines                    0x080036cc   Section        0  ps2kb.o(i.ps2kb_release_lines) | ||||
|     i.ps2kb_reset                            0x080036ec   Section        0  ps2kb.o(i.ps2kb_reset) | ||||
|     i.ps2kb_update                           0x08003710   Section        0  main.o(i.ps2kb_update) | ||||
|     i.ps2kb_write                            0x080037c4   Section        0  ps2kb.o(i.ps2kb_write) | ||||
|     i.ps2kb_write_nowait                     0x08003808   Section        0  ps2kb.o(i.ps2kb_write_nowait) | ||||
|     i.ps2mouse_get_bus_status                0x0800392c   Section        0  ps2mouse.o(i.ps2mouse_get_bus_status) | ||||
|     i.ps2mouse_get_outgoing_data             0x0800398c   Section        0  ps2mouse.o(i.ps2mouse_get_outgoing_data) | ||||
|     i.ps2mouse_host_req_reply                0x08003a70   Section        0  ps2mouse.o(i.ps2mouse_host_req_reply) | ||||
|     i.ps2mouse_init                          0x08003be8   Section        0  ps2mouse.o(i.ps2mouse_init) | ||||
|     i.ps2mouse_read                          0x08003c04   Section        0  ps2mouse.o(i.ps2mouse_read) | ||||
|     i.ps2mouse_release_lines                 0x08003cfc   Section        0  ps2mouse.o(i.ps2mouse_release_lines) | ||||
|     i.ps2mouse_reset                         0x08003d1c   Section        0  ps2mouse.o(i.ps2mouse_reset) | ||||
|     i.ps2mouse_restore_defaults              0x08003d34   Section        0  ps2mouse.o(i.ps2mouse_restore_defaults) | ||||
|     i.ps2mouse_send_bat                      0x08003d50   Section        0  ps2mouse.o(i.ps2mouse_send_bat) | ||||
|     i.ps2mouse_send_update                   0x08003d6c   Section        0  ps2mouse.o(i.ps2mouse_send_update) | ||||
|     i.ps2mouse_update                        0x08003d90   Section        0  main.o(i.ps2mouse_update) | ||||
|     i.ps2mouse_wait_for_idle                 0x08003e40   Section        0  ps2mouse.o(i.ps2mouse_wait_for_idle) | ||||
|     i.ps2mouse_write                         0x08003e66   Section        0  ps2mouse.o(i.ps2mouse_write) | ||||
|     i.ps2mouse_write_delay_start             0x08003e80   Section        0  ps2mouse.o(i.ps2mouse_write_delay_start) | ||||
|     i.ps2mouse_write_nowait                  0x08003ea4   Section        0  ps2mouse.o(i.ps2mouse_write_nowait) | ||||
|     i.scancode_set_reply_lookup              0x08003fc8   Section        0  ps2kb.o(i.scancode_set_reply_lookup) | ||||
|     i.spi_error_dump_reboot                  0x08003fdc   Section        0  main.o(i.spi_error_dump_reboot) | ||||
|     i.wait_for_clk_high                      0x08004054   Section        0  xt_kb.o(i.wait_for_clk_high) | ||||
|     i.xtkb_check_for_softreset               0x08004084   Section        0  xt_kb.o(i.xtkb_check_for_softreset) | ||||
|     i.xtkb_enable                            0x080040c4   Section        0  xt_kb.o(i.xtkb_enable) | ||||
|     i.xtkb_init                              0x080040d8   Section        0  xt_kb.o(i.xtkb_init) | ||||
|     i.xtkb_press_key                         0x080040ec   Section        0  xt_kb.o(i.xtkb_press_key) | ||||
|     i.xtkb_release_lines                     0x08004164   Section        0  xt_kb.o(i.xtkb_release_lines) | ||||
|     i.xtkb_reset_bus                         0x08004184   Section        0  xt_kb.o(i.xtkb_reset_bus) | ||||
|     i.xtkb_update                            0x080041a4   Section        0  main.o(i.xtkb_update) | ||||
|     i.xtkb_write                             0x080041e0   Section        0  xt_kb.o(i.xtkb_write) | ||||
|     .constdata                               0x080042a0   Section      458  ps2kb.o(.constdata) | ||||
|     .constdata                               0x0800446a   Section        4  mcp4451.o(.constdata) | ||||
|     .constdata                               0x0800446e   Section       55  main.o(.constdata) | ||||
|     .constdata                               0x080044a5   Section       16  system_stm32f0xx.o(.constdata) | ||||
|     .constdata                               0x080044b5   Section        8  system_stm32f0xx.o(.constdata) | ||||
|     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) | ||||
|     .data                                    0x20000000   Section        4  delay_us.o(.data) | ||||
|     .data                                    0x20000004   Section       20  ps2kb.o(.data) | ||||
|     .data                                    0x20000018   Section       28  ps2mouse.o(.data) | ||||
| @@ -2298,81 +2301,82 @@ Image Symbol Table | ||||
|     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) | ||||
|     is_protocol_enabled                      0x08002c4d   Thumb Code    16  main.o(i.is_protocol_enabled) | ||||
|     kb_buf_add                               0x08002c61   Thumb Code    48  helpers.o(i.kb_buf_add) | ||||
|     kb_buf_init                              0x08002c91   Thumb Code    32  helpers.o(i.kb_buf_init) | ||||
|     kb_buf_is_full                           0x08002cb1   Thumb Code    28  helpers.o(i.kb_buf_is_full) | ||||
|     kb_buf_peek                              0x08002ccd   Thumb Code    32  helpers.o(i.kb_buf_peek) | ||||
|     kb_buf_pop                               0x08002ced   Thumb Code    24  helpers.o(i.kb_buf_pop) | ||||
|     kb_buf_reset                             0x08002d05   Thumb Code    28  helpers.o(i.kb_buf_reset) | ||||
|     keyboard_reply                           0x08002d21   Thumb Code   310  ps2kb.o(i.keyboard_reply) | ||||
|     main                                     0x08002e61   Thumb Code   424  main.o(i.main) | ||||
|     malloc                                   0x0800306d   Thumb Code    92  malloc.o(i.malloc) | ||||
|     mcp4451_is_available                     0x080030d9   Thumb Code    26  mcp4451.o(i.mcp4451_is_available) | ||||
|     mcp4451_reset                            0x080030f9   Thumb Code    38  mcp4451.o(i.mcp4451_reset) | ||||
|     mcp4451_write_wiper                      0x08003125   Thumb Code    46  mcp4451.o(i.mcp4451_write_wiper) | ||||
|     micros                                   0x0800315d   Thumb Code    10  delay_us.o(i.micros) | ||||
|     microsoft_serial_mouse_update            0x0800316d   Thumb Code   188  main.o(i.microsoft_serial_mouse_update) | ||||
|     mouse_buf_add                            0x08003231   Thumb Code    50  helpers.o(i.mouse_buf_add) | ||||
|     mouse_buf_init                           0x08003263   Thumb Code    24  helpers.o(i.mouse_buf_init) | ||||
|     mouse_buf_is_full                        0x0800327b   Thumb Code    28  helpers.o(i.mouse_buf_is_full) | ||||
|     mouse_buf_peek                           0x08003297   Thumb Code    22  helpers.o(i.mouse_buf_peek) | ||||
|     mouse_buf_pop                            0x080032ad   Thumb Code    24  helpers.o(i.mouse_buf_pop) | ||||
|     mouse_buf_reset                          0x080032c5   Thumb Code    22  helpers.o(i.mouse_buf_reset) | ||||
|     protocol_status_lookup_init              0x080032dd   Thumb Code    30  main.o(i.protocol_status_lookup_init) | ||||
|     ps2kb_get_bus_status                     0x08003301   Thumb Code    62  ps2kb.o(i.ps2kb_get_bus_status) | ||||
|     ps2kb_init                               0x08003345   Thumb Code    22  ps2kb.o(i.ps2kb_init) | ||||
|     ps2kb_press_key                          0x08003361   Thumb Code    50  ps2kb.o(i.ps2kb_press_key) | ||||
|     ps2kb_press_key_scancode_1               0x08003399   Thumb Code    44  ps2kb.o(i.ps2kb_press_key_scancode_1) | ||||
|     ps2kb_press_key_scancode_2               0x080033c5   Thumb Code   396  ps2kb.o(i.ps2kb_press_key_scancode_2) | ||||
|     ps2kb_press_key_scancode_3               0x08003555   Thumb Code   114  ps2kb.o(i.ps2kb_press_key_scancode_3) | ||||
|     ps2kb_read                               0x080035d1   Thumb Code   246  ps2kb.o(i.ps2kb_read) | ||||
|     ps2kb_release_lines                      0x080036cd   Thumb Code    26  ps2kb.o(i.ps2kb_release_lines) | ||||
|     ps2kb_reset                              0x080036ed   Thumb Code    24  ps2kb.o(i.ps2kb_reset) | ||||
|     ps2kb_update                             0x08003711   Thumb Code   166  main.o(i.ps2kb_update) | ||||
|     ps2kb_write                              0x080037c5   Thumb Code    62  ps2kb.o(i.ps2kb_write) | ||||
|     ps2kb_write_nowait                       0x08003809   Thumb Code   286  ps2kb.o(i.ps2kb_write_nowait) | ||||
|     ps2mouse_get_bus_status                  0x0800392d   Thumb Code    92  ps2mouse.o(i.ps2mouse_get_bus_status) | ||||
|     ps2mouse_get_outgoing_data               0x0800398d   Thumb Code   224  ps2mouse.o(i.ps2mouse_get_outgoing_data) | ||||
|     ps2mouse_host_req_reply                  0x08003a71   Thumb Code   370  ps2mouse.o(i.ps2mouse_host_req_reply) | ||||
|     ps2mouse_init                            0x08003be9   Thumb Code    22  ps2mouse.o(i.ps2mouse_init) | ||||
|     ps2mouse_read                            0x08003c05   Thumb Code   244  ps2mouse.o(i.ps2mouse_read) | ||||
|     ps2mouse_release_lines                   0x08003cfd   Thumb Code    26  ps2mouse.o(i.ps2mouse_release_lines) | ||||
|     ps2mouse_reset                           0x08003d1d   Thumb Code    20  ps2mouse.o(i.ps2mouse_reset) | ||||
|     ps2mouse_restore_defaults                0x08003d35   Thumb Code    22  ps2mouse.o(i.ps2mouse_restore_defaults) | ||||
|     ps2mouse_send_bat                        0x08003d51   Thumb Code    28  ps2mouse.o(i.ps2mouse_send_bat) | ||||
|     ps2mouse_send_update                     0x08003d6d   Thumb Code    36  ps2mouse.o(i.ps2mouse_send_update) | ||||
|     ps2mouse_update                          0x08003d91   Thumb Code   162  main.o(i.ps2mouse_update) | ||||
|     ps2mouse_wait_for_idle                   0x08003e41   Thumb Code    38  ps2mouse.o(i.ps2mouse_wait_for_idle) | ||||
|     ps2mouse_write                           0x08003e67   Thumb Code    26  ps2mouse.o(i.ps2mouse_write) | ||||
|     ps2mouse_write_delay_start               0x08003e81   Thumb Code    34  ps2mouse.o(i.ps2mouse_write_delay_start) | ||||
|     ps2mouse_write_nowait                    0x08003ea5   Thumb Code   286  ps2mouse.o(i.ps2mouse_write_nowait) | ||||
|     scancode_set_reply_lookup                0x08003fc9   Thumb Code    20  ps2kb.o(i.scancode_set_reply_lookup) | ||||
|     spi_error_dump_reboot                    0x08003fdd   Thumb Code    72  main.o(i.spi_error_dump_reboot) | ||||
|     wait_for_clk_high                        0x08004055   Thumb Code    44  xt_kb.o(i.wait_for_clk_high) | ||||
|     xtkb_check_for_softreset                 0x08004085   Thumb Code    60  xt_kb.o(i.xtkb_check_for_softreset) | ||||
|     xtkb_enable                              0x080040c5   Thumb Code    16  xt_kb.o(i.xtkb_enable) | ||||
|     xtkb_init                                0x080040d9   Thumb Code    14  xt_kb.o(i.xtkb_init) | ||||
|     xtkb_press_key                           0x080040ed   Thumb Code   116  xt_kb.o(i.xtkb_press_key) | ||||
|     xtkb_release_lines                       0x08004165   Thumb Code    26  xt_kb.o(i.xtkb_release_lines) | ||||
|     xtkb_reset_bus                           0x08004185   Thumb Code    26  xt_kb.o(i.xtkb_reset_bus) | ||||
|     xtkb_update                              0x080041a5   Thumb Code    52  main.o(i.xtkb_update) | ||||
|     xtkb_write                               0x080041e1   Thumb Code   186  xt_kb.o(i.xtkb_write) | ||||
|     linux_keycode_to_ps3_scancode_lookup_codeset3 0x080042a0   Data         195  ps2kb.o(.constdata) | ||||
|     scancode_set3_default_status             0x08004363   Data         142  ps2kb.o(.constdata) | ||||
|     linux_keycode_to_ps2_scancode_lookup_single_byte_codeset2 0x080043f1   Data          89  ps2kb.o(.constdata) | ||||
|     linux_keycode_to_ps2_scancode_lookup_special_codeset2 0x0800444a   Data          32  ps2kb.o(.constdata) | ||||
|     mcp4451_wiper_id_to_reg_addr_lookup      0x0800446a   Data           4  mcp4451.o(.constdata) | ||||
|     boot_message                             0x0800446e   Data          55  main.o(.constdata) | ||||
|     AHBPrescTable                            0x080044a5   Data          16  system_stm32f0xx.o(.constdata) | ||||
|     APBPrescTable                            0x080044b5   Data           8  system_stm32f0xx.o(.constdata) | ||||
|     Region$$Table$$Base                      0x080044c0   Number         0  anon$$obj.o(Region$$Table) | ||||
|     Region$$Table$$Limit                     0x080044e0   Number         0  anon$$obj.o(Region$$Table) | ||||
|     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) | ||||
|     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) | ||||
|     ps2kb_clk_pin                            0x20000006   Data           2  ps2kb.o(.data) | ||||
|     ps2kb_data_pin                           0x20000008   Data           2  ps2kb.o(.data) | ||||
|     ps2_receive_mode                         0x20000006   Data           1  ps2kb.o(.data) | ||||
|     ps2kb_clk_pin                            0x20000008   Data           2  ps2kb.o(.data) | ||||
|     ps2kb_data_pin                           0x2000000a   Data           2  ps2kb.o(.data) | ||||
|     ps2kb_clk_port                           0x2000000c   Data           4  ps2kb.o(.data) | ||||
|     ps2kb_data_port                          0x20000010   Data           4  ps2kb.o(.data) | ||||
|     ps2kb_wait_start                         0x20000014   Data           4  ps2kb.o(.data) | ||||
| @@ -2441,151 +2445,151 @@ Memory Map of the image | ||||
|  | ||||
|   Image Entry point : 0x080000c1 | ||||
|  | ||||
|   Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00004560, Max: 0x00010000, ABSOLUTE) | ||||
|   Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000045b4, Max: 0x00010000, ABSOLUTE) | ||||
|  | ||||
|     Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000044e0, Max: 0x00010000, ABSOLUTE) | ||||
|     Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00004534, Max: 0x00010000, ABSOLUTE) | ||||
|  | ||||
|     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object | ||||
|  | ||||
|     0x08000000   0x08000000   0x000000c0   Data   RO            3    RESET               startup_stm32f072xb.o | ||||
|     0x080000c0   0x080000c0   0x00000000   Code   RO         3962  * .ARM.Collect$$$$00000000  mc_p.l(entry.o) | ||||
|     0x080000c0   0x080000c0   0x00000004   Code   RO         4264    .ARM.Collect$$$$00000001  mc_p.l(entry2.o) | ||||
|     0x080000c4   0x080000c4   0x00000004   Code   RO         4267    .ARM.Collect$$$$00000004  mc_p.l(entry5.o) | ||||
|     0x080000c8   0x080000c8   0x00000000   Code   RO         4269    .ARM.Collect$$$$00000008  mc_p.l(entry7b.o) | ||||
|     0x080000c8   0x080000c8   0x00000000   Code   RO         4271    .ARM.Collect$$$$0000000A  mc_p.l(entry8b.o) | ||||
|     0x080000c8   0x080000c8   0x00000008   Code   RO         4272    .ARM.Collect$$$$0000000B  mc_p.l(entry9a.o) | ||||
|     0x080000d0   0x080000d0   0x00000000   Code   RO         4274    .ARM.Collect$$$$0000000D  mc_p.l(entry10a.o) | ||||
|     0x080000d0   0x080000d0   0x00000000   Code   RO         4276    .ARM.Collect$$$$0000000F  mc_p.l(entry11a.o) | ||||
|     0x080000d0   0x080000d0   0x00000004   Code   RO         4265    .ARM.Collect$$$$00002712  mc_p.l(entry2.o) | ||||
|     0x080000c0   0x080000c0   0x00000000   Code   RO         3963  * .ARM.Collect$$$$00000000  mc_p.l(entry.o) | ||||
|     0x080000c0   0x080000c0   0x00000004   Code   RO         4265    .ARM.Collect$$$$00000001  mc_p.l(entry2.o) | ||||
|     0x080000c4   0x080000c4   0x00000004   Code   RO         4268    .ARM.Collect$$$$00000004  mc_p.l(entry5.o) | ||||
|     0x080000c8   0x080000c8   0x00000000   Code   RO         4270    .ARM.Collect$$$$00000008  mc_p.l(entry7b.o) | ||||
|     0x080000c8   0x080000c8   0x00000000   Code   RO         4272    .ARM.Collect$$$$0000000A  mc_p.l(entry8b.o) | ||||
|     0x080000c8   0x080000c8   0x00000008   Code   RO         4273    .ARM.Collect$$$$0000000B  mc_p.l(entry9a.o) | ||||
|     0x080000d0   0x080000d0   0x00000000   Code   RO         4275    .ARM.Collect$$$$0000000D  mc_p.l(entry10a.o) | ||||
|     0x080000d0   0x080000d0   0x00000000   Code   RO         4277    .ARM.Collect$$$$0000000F  mc_p.l(entry11a.o) | ||||
|     0x080000d0   0x080000d0   0x00000004   Code   RO         4266    .ARM.Collect$$$$00002712  mc_p.l(entry2.o) | ||||
|     0x080000d4   0x080000d4   0x0000001c   Code   RO            4    .text               startup_stm32f072xb.o | ||||
|     0x080000f0   0x080000f0   0x0000002c   Code   RO         3965    .text               mc_p.l(uidiv.o) | ||||
|     0x0800011c   0x0800011c   0x00000024   Code   RO         3969    .text               mc_p.l(memcpya.o) | ||||
|     0x08000140   0x08000140   0x00000024   Code   RO         3971    .text               mc_p.l(memseta.o) | ||||
|     0x08000164   0x08000164   0x00000024   Code   RO         4294    .text               mc_p.l(init.o) | ||||
|     0x08000188   0x08000188   0x0000000a   Code   RO          772    i.EXTI0_1_IRQHandler  stm32f0xx_it.o | ||||
|     0x08000192   0x08000192   0x00000048   Code   RO         3409    i.HAL_DMA_Abort_IT  stm32f0xx_hal_dma.o | ||||
|     0x080001da   0x080001da   0x0000001c   Code   RO         3212    i.HAL_Delay         stm32f0xx_hal.o | ||||
|     0x080000f0   0x080000f0   0x0000002c   Code   RO         3966    .text               mc_p.l(uidiv.o) | ||||
|     0x0800011c   0x0800011c   0x00000024   Code   RO         3970    .text               mc_p.l(memcpya.o) | ||||
|     0x08000140   0x08000140   0x00000024   Code   RO         3972    .text               mc_p.l(memseta.o) | ||||
|     0x08000164   0x08000164   0x00000024   Code   RO         4295    .text               mc_p.l(init.o) | ||||
|     0x08000188   0x08000188   0x0000000a   Code   RO          773    i.EXTI0_1_IRQHandler  stm32f0xx_it.o | ||||
|     0x08000192   0x08000192   0x00000048   Code   RO         3410    i.HAL_DMA_Abort_IT  stm32f0xx_hal_dma.o | ||||
|     0x080001da   0x080001da   0x0000001c   Code   RO         3213    i.HAL_Delay         stm32f0xx_hal.o | ||||
|     0x080001f6   0x080001f6   0x00000002   PAD | ||||
|     0x080001f8   0x080001f8   0x0000001c   Code   RO          607    i.HAL_GPIO_EXTI_Callback  main.o | ||||
|     0x08000214   0x08000214   0x00000018   Code   RO         3346    i.HAL_GPIO_EXTI_IRQHandler  stm32f0xx_hal_gpio.o | ||||
|     0x0800022c   0x0800022c   0x00000158   Code   RO         3347    i.HAL_GPIO_Init     stm32f0xx_hal_gpio.o | ||||
|     0x08000384   0x08000384   0x0000000a   Code   RO         3349    i.HAL_GPIO_ReadPin  stm32f0xx_hal_gpio.o | ||||
|     0x0800038e   0x0800038e   0x00000008   Code   RO         3350    i.HAL_GPIO_TogglePin  stm32f0xx_hal_gpio.o | ||||
|     0x08000396   0x08000396   0x0000000c   Code   RO         3351    i.HAL_GPIO_WritePin  stm32f0xx_hal_gpio.o | ||||
|     0x080001f8   0x080001f8   0x0000001c   Code   RO          608    i.HAL_GPIO_EXTI_Callback  main.o | ||||
|     0x08000214   0x08000214   0x00000018   Code   RO         3347    i.HAL_GPIO_EXTI_IRQHandler  stm32f0xx_hal_gpio.o | ||||
|     0x0800022c   0x0800022c   0x00000158   Code   RO         3348    i.HAL_GPIO_Init     stm32f0xx_hal_gpio.o | ||||
|     0x08000384   0x08000384   0x0000000a   Code   RO         3350    i.HAL_GPIO_ReadPin  stm32f0xx_hal_gpio.o | ||||
|     0x0800038e   0x0800038e   0x00000008   Code   RO         3351    i.HAL_GPIO_TogglePin  stm32f0xx_hal_gpio.o | ||||
|     0x08000396   0x08000396   0x0000000c   Code   RO         3352    i.HAL_GPIO_WritePin  stm32f0xx_hal_gpio.o | ||||
|     0x080003a2   0x080003a2   0x00000002   PAD | ||||
|     0x080003a4   0x080003a4   0x0000000c   Code   RO         3216    i.HAL_GetTick       stm32f0xx_hal.o | ||||
|     0x080003b0   0x080003b0   0x0000004a   Code   RO         1330    i.HAL_I2CEx_ConfigAnalogFilter  stm32f0xx_hal_i2c_ex.o | ||||
|     0x080003fa   0x080003fa   0x00000048   Code   RO         1331    i.HAL_I2CEx_ConfigDigitalFilter  stm32f0xx_hal_i2c_ex.o | ||||
|     0x080003a4   0x080003a4   0x0000000c   Code   RO         3217    i.HAL_GetTick       stm32f0xx_hal.o | ||||
|     0x080003b0   0x080003b0   0x0000004a   Code   RO         1331    i.HAL_I2CEx_ConfigAnalogFilter  stm32f0xx_hal_i2c_ex.o | ||||
|     0x080003fa   0x080003fa   0x00000048   Code   RO         1332    i.HAL_I2CEx_ConfigDigitalFilter  stm32f0xx_hal_i2c_ex.o | ||||
|     0x08000442   0x08000442   0x00000002   PAD | ||||
|     0x08000444   0x08000444   0x000000b4   Code   RO          917    i.HAL_I2C_Init      stm32f0xx_hal_i2c.o | ||||
|     0x080004f8   0x080004f8   0x0000011c   Code   RO          918    i.HAL_I2C_IsDeviceReady  stm32f0xx_hal_i2c.o | ||||
|     0x08000614   0x08000614   0x00000154   Code   RO          936    i.HAL_I2C_Mem_Write  stm32f0xx_hal_i2c.o | ||||
|     0x08000768   0x08000768   0x0000004c   Code   RO          839    i.HAL_I2C_MspInit   stm32f0xx_hal_msp.o | ||||
|     0x080007b4   0x080007b4   0x00000064   Code   RO         1380    i.HAL_IWDG_Init     stm32f0xx_hal_iwdg.o | ||||
|     0x08000818   0x08000818   0x00000010   Code   RO         1381    i.HAL_IWDG_Refresh  stm32f0xx_hal_iwdg.o | ||||
|     0x08000828   0x08000828   0x00000010   Code   RO         3220    i.HAL_IncTick       stm32f0xx_hal.o | ||||
|     0x08000838   0x08000838   0x00000020   Code   RO         3221    i.HAL_Init          stm32f0xx_hal.o | ||||
|     0x08000858   0x08000858   0x00000022   Code   RO         3222    i.HAL_InitTick      stm32f0xx_hal.o | ||||
|     0x08000444   0x08000444   0x000000b4   Code   RO          918    i.HAL_I2C_Init      stm32f0xx_hal_i2c.o | ||||
|     0x080004f8   0x080004f8   0x0000011c   Code   RO          919    i.HAL_I2C_IsDeviceReady  stm32f0xx_hal_i2c.o | ||||
|     0x08000614   0x08000614   0x00000154   Code   RO          937    i.HAL_I2C_Mem_Write  stm32f0xx_hal_i2c.o | ||||
|     0x08000768   0x08000768   0x0000004c   Code   RO          840    i.HAL_I2C_MspInit   stm32f0xx_hal_msp.o | ||||
|     0x080007b4   0x080007b4   0x00000064   Code   RO         1381    i.HAL_IWDG_Init     stm32f0xx_hal_iwdg.o | ||||
|     0x08000818   0x08000818   0x00000010   Code   RO         1382    i.HAL_IWDG_Refresh  stm32f0xx_hal_iwdg.o | ||||
|     0x08000828   0x08000828   0x00000010   Code   RO         3221    i.HAL_IncTick       stm32f0xx_hal.o | ||||
|     0x08000838   0x08000838   0x00000020   Code   RO         3222    i.HAL_Init          stm32f0xx_hal.o | ||||
|     0x08000858   0x08000858   0x00000022   Code   RO         3223    i.HAL_InitTick      stm32f0xx_hal.o | ||||
|     0x0800087a   0x0800087a   0x00000002   PAD | ||||
|     0x0800087c   0x0800087c   0x00000044   Code   RO          840    i.HAL_MspInit       stm32f0xx_hal_msp.o | ||||
|     0x080008c0   0x080008c0   0x00000014   Code   RO         3504    i.HAL_NVIC_EnableIRQ  stm32f0xx_hal_cortex.o | ||||
|     0x080008d4   0x080008d4   0x00000008   Code   RO         3508    i.HAL_NVIC_SetPriority  stm32f0xx_hal_cortex.o | ||||
|     0x080008dc   0x080008dc   0x00000120   Code   RO         3132    i.HAL_RCCEx_PeriphCLKConfig  stm32f0xx_hal_rcc_ex.o | ||||
|     0x080009fc   0x080009fc   0x00000154   Code   RO         3030    i.HAL_RCC_ClockConfig  stm32f0xx_hal_rcc.o | ||||
|     0x08000b50   0x08000b50   0x0000000c   Code   RO         3035    i.HAL_RCC_GetHCLKFreq  stm32f0xx_hal_rcc.o | ||||
|     0x08000b5c   0x08000b5c   0x00000020   Code   RO         3037    i.HAL_RCC_GetPCLK1Freq  stm32f0xx_hal_rcc.o | ||||
|     0x08000b7c   0x08000b7c   0x00000088   Code   RO         3038    i.HAL_RCC_GetSysClockFreq  stm32f0xx_hal_rcc.o | ||||
|     0x08000c04   0x08000c04   0x000003d8   Code   RO         3041    i.HAL_RCC_OscConfig  stm32f0xx_hal_rcc.o | ||||
|     0x08000fdc   0x08000fdc   0x00000002   Code   RO         1413    i.HAL_SPI_ErrorCallback  stm32f0xx_hal_spi.o | ||||
|     0x0800087c   0x0800087c   0x00000044   Code   RO          841    i.HAL_MspInit       stm32f0xx_hal_msp.o | ||||
|     0x080008c0   0x080008c0   0x00000014   Code   RO         3505    i.HAL_NVIC_EnableIRQ  stm32f0xx_hal_cortex.o | ||||
|     0x080008d4   0x080008d4   0x00000008   Code   RO         3509    i.HAL_NVIC_SetPriority  stm32f0xx_hal_cortex.o | ||||
|     0x080008dc   0x080008dc   0x00000120   Code   RO         3133    i.HAL_RCCEx_PeriphCLKConfig  stm32f0xx_hal_rcc_ex.o | ||||
|     0x080009fc   0x080009fc   0x00000154   Code   RO         3031    i.HAL_RCC_ClockConfig  stm32f0xx_hal_rcc.o | ||||
|     0x08000b50   0x08000b50   0x0000000c   Code   RO         3036    i.HAL_RCC_GetHCLKFreq  stm32f0xx_hal_rcc.o | ||||
|     0x08000b5c   0x08000b5c   0x00000020   Code   RO         3038    i.HAL_RCC_GetPCLK1Freq  stm32f0xx_hal_rcc.o | ||||
|     0x08000b7c   0x08000b7c   0x00000088   Code   RO         3039    i.HAL_RCC_GetSysClockFreq  stm32f0xx_hal_rcc.o | ||||
|     0x08000c04   0x08000c04   0x000003d8   Code   RO         3042    i.HAL_RCC_OscConfig  stm32f0xx_hal_rcc.o | ||||
|     0x08000fdc   0x08000fdc   0x00000002   Code   RO         1414    i.HAL_SPI_ErrorCallback  stm32f0xx_hal_spi.o | ||||
|     0x08000fde   0x08000fde   0x00000002   PAD | ||||
|     0x08000fe0   0x08000fe0   0x000000d4   Code   RO         1416    i.HAL_SPI_IRQHandler  stm32f0xx_hal_spi.o | ||||
|     0x080010b4   0x080010b4   0x000000b8   Code   RO         1417    i.HAL_SPI_Init      stm32f0xx_hal_spi.o | ||||
|     0x0800116c   0x0800116c   0x00000054   Code   RO          842    i.HAL_SPI_MspInit   stm32f0xx_hal_msp.o | ||||
|     0x080011c0   0x080011c0   0x00000002   Code   RO         1423    i.HAL_SPI_RxCpltCallback  stm32f0xx_hal_spi.o | ||||
|     0x08000fe0   0x08000fe0   0x000000d4   Code   RO         1417    i.HAL_SPI_IRQHandler  stm32f0xx_hal_spi.o | ||||
|     0x080010b4   0x080010b4   0x000000b8   Code   RO         1418    i.HAL_SPI_Init      stm32f0xx_hal_spi.o | ||||
|     0x0800116c   0x0800116c   0x00000054   Code   RO          843    i.HAL_SPI_MspInit   stm32f0xx_hal_msp.o | ||||
|     0x080011c0   0x080011c0   0x00000002   Code   RO         1424    i.HAL_SPI_RxCpltCallback  stm32f0xx_hal_spi.o | ||||
|     0x080011c2   0x080011c2   0x00000002   PAD | ||||
|     0x080011c4   0x080011c4   0x000000d4   Code   RO         1428    i.HAL_SPI_TransmitReceive_IT  stm32f0xx_hal_spi.o | ||||
|     0x08001298   0x08001298   0x0000017c   Code   RO          608    i.HAL_SPI_TxRxCpltCallback  main.o | ||||
|     0x08001414   0x08001414   0x00000018   Code   RO         3510    i.HAL_SYSTICK_CLKSourceConfig  stm32f0xx_hal_cortex.o | ||||
|     0x0800142c   0x0800142c   0x00000002   Code   RO         3511    i.HAL_SYSTICK_Callback  stm32f0xx_hal_cortex.o | ||||
|     0x080011c4   0x080011c4   0x000000d4   Code   RO         1429    i.HAL_SPI_TransmitReceive_IT  stm32f0xx_hal_spi.o | ||||
|     0x08001298   0x08001298   0x0000017c   Code   RO          609    i.HAL_SPI_TxRxCpltCallback  main.o | ||||
|     0x08001414   0x08001414   0x00000018   Code   RO         3511    i.HAL_SYSTICK_CLKSourceConfig  stm32f0xx_hal_cortex.o | ||||
|     0x0800142c   0x0800142c   0x00000002   Code   RO         3512    i.HAL_SYSTICK_Callback  stm32f0xx_hal_cortex.o | ||||
|     0x0800142e   0x0800142e   0x00000002   PAD | ||||
|     0x08001430   0x08001430   0x00000030   Code   RO         3512    i.HAL_SYSTICK_Config  stm32f0xx_hal_cortex.o | ||||
|     0x08001460   0x08001460   0x00000008   Code   RO         3513    i.HAL_SYSTICK_IRQHandler  stm32f0xx_hal_cortex.o | ||||
|     0x08001468   0x08001468   0x00000048   Code   RO         2405    i.HAL_TIMEx_MasterConfigSynchronization  stm32f0xx_hal_tim_ex.o | ||||
|     0x080014b0   0x080014b0   0x00000034   Code   RO         1751    i.HAL_TIM_Base_Init  stm32f0xx_hal_tim.o | ||||
|     0x080014e4   0x080014e4   0x00000024   Code   RO          844    i.HAL_TIM_Base_MspInit  stm32f0xx_hal_msp.o | ||||
|     0x08001508   0x08001508   0x00000018   Code   RO         1754    i.HAL_TIM_Base_Start  stm32f0xx_hal_tim.o | ||||
|     0x08001520   0x08001520   0x000000ee   Code   RO         1760    i.HAL_TIM_ConfigClockSource  stm32f0xx_hal_tim.o | ||||
|     0x0800160e   0x0800160e   0x00000002   Code   RO         2974    i.HAL_UARTEx_WakeupCallback  stm32f0xx_hal_uart_ex.o | ||||
|     0x08001610   0x08001610   0x00000002   Code   RO         2649    i.HAL_UART_ErrorCallback  stm32f0xx_hal_uart.o | ||||
|     0x08001430   0x08001430   0x00000030   Code   RO         3513    i.HAL_SYSTICK_Config  stm32f0xx_hal_cortex.o | ||||
|     0x08001460   0x08001460   0x00000008   Code   RO         3514    i.HAL_SYSTICK_IRQHandler  stm32f0xx_hal_cortex.o | ||||
|     0x08001468   0x08001468   0x00000048   Code   RO         2406    i.HAL_TIMEx_MasterConfigSynchronization  stm32f0xx_hal_tim_ex.o | ||||
|     0x080014b0   0x080014b0   0x00000034   Code   RO         1752    i.HAL_TIM_Base_Init  stm32f0xx_hal_tim.o | ||||
|     0x080014e4   0x080014e4   0x00000024   Code   RO          845    i.HAL_TIM_Base_MspInit  stm32f0xx_hal_msp.o | ||||
|     0x08001508   0x08001508   0x00000018   Code   RO         1755    i.HAL_TIM_Base_Start  stm32f0xx_hal_tim.o | ||||
|     0x08001520   0x08001520   0x000000ee   Code   RO         1761    i.HAL_TIM_ConfigClockSource  stm32f0xx_hal_tim.o | ||||
|     0x0800160e   0x0800160e   0x00000002   Code   RO         2975    i.HAL_UARTEx_WakeupCallback  stm32f0xx_hal_uart_ex.o | ||||
|     0x08001610   0x08001610   0x00000002   Code   RO         2650    i.HAL_UART_ErrorCallback  stm32f0xx_hal_uart.o | ||||
|     0x08001612   0x08001612   0x00000002   PAD | ||||
|     0x08001614   0x08001614   0x00000134   Code   RO         2652    i.HAL_UART_IRQHandler  stm32f0xx_hal_uart.o | ||||
|     0x08001748   0x08001748   0x0000006c   Code   RO         2653    i.HAL_UART_Init     stm32f0xx_hal_uart.o | ||||
|     0x080017b4   0x080017b4   0x00000090   Code   RO          846    i.HAL_UART_MspInit  stm32f0xx_hal_msp.o | ||||
|     0x08001844   0x08001844   0x00000002   Code   RO         2659    i.HAL_UART_RxCpltCallback  stm32f0xx_hal_uart.o | ||||
|     0x08001846   0x08001846   0x000000c8   Code   RO         2661    i.HAL_UART_Transmit  stm32f0xx_hal_uart.o | ||||
|     0x0800190e   0x0800190e   0x00000058   Code   RO         2663    i.HAL_UART_Transmit_IT  stm32f0xx_hal_uart.o | ||||
|     0x08001614   0x08001614   0x00000134   Code   RO         2653    i.HAL_UART_IRQHandler  stm32f0xx_hal_uart.o | ||||
|     0x08001748   0x08001748   0x0000006c   Code   RO         2654    i.HAL_UART_Init     stm32f0xx_hal_uart.o | ||||
|     0x080017b4   0x080017b4   0x00000090   Code   RO          847    i.HAL_UART_MspInit  stm32f0xx_hal_msp.o | ||||
|     0x08001844   0x08001844   0x00000002   Code   RO         2660    i.HAL_UART_RxCpltCallback  stm32f0xx_hal_uart.o | ||||
|     0x08001846   0x08001846   0x000000c8   Code   RO         2662    i.HAL_UART_Transmit  stm32f0xx_hal_uart.o | ||||
|     0x0800190e   0x0800190e   0x00000058   Code   RO         2664    i.HAL_UART_Transmit_IT  stm32f0xx_hal_uart.o | ||||
|     0x08001966   0x08001966   0x00000002   PAD | ||||
|     0x08001968   0x08001968   0x0000000c   Code   RO          609    i.HAL_UART_TxCpltCallback  main.o | ||||
|     0x08001974   0x08001974   0x00000002   Code   RO          773    i.HardFault_Handler  stm32f0xx_it.o | ||||
|     0x08001976   0x08001976   0x00000022   Code   RO          959    i.I2C_Flush_TXDR    stm32f0xx_hal_i2c.o | ||||
|     0x08001998   0x08001998   0x00000074   Code   RO          967    i.I2C_IsAcknowledgeFailed  stm32f0xx_hal_i2c.o | ||||
|     0x08001a0c   0x08001a0c   0x0000006a   Code   RO          971    i.I2C_RequestMemoryWrite  stm32f0xx_hal_i2c.o | ||||
|     0x08001968   0x08001968   0x0000000c   Code   RO          610    i.HAL_UART_TxCpltCallback  main.o | ||||
|     0x08001974   0x08001974   0x00000002   Code   RO          774    i.HardFault_Handler  stm32f0xx_it.o | ||||
|     0x08001976   0x08001976   0x00000022   Code   RO          960    i.I2C_Flush_TXDR    stm32f0xx_hal_i2c.o | ||||
|     0x08001998   0x08001998   0x00000074   Code   RO          968    i.I2C_IsAcknowledgeFailed  stm32f0xx_hal_i2c.o | ||||
|     0x08001a0c   0x08001a0c   0x0000006a   Code   RO          972    i.I2C_RequestMemoryWrite  stm32f0xx_hal_i2c.o | ||||
|     0x08001a76   0x08001a76   0x00000002   PAD | ||||
|     0x08001a78   0x08001a78   0x00000024   Code   RO          974    i.I2C_TransferConfig  stm32f0xx_hal_i2c.o | ||||
|     0x08001a9c   0x08001a9c   0x00000048   Code   RO          975    i.I2C_WaitOnFlagUntilTimeout  stm32f0xx_hal_i2c.o | ||||
|     0x08001ae4   0x08001ae4   0x0000004e   Code   RO          977    i.I2C_WaitOnSTOPFlagUntilTimeout  stm32f0xx_hal_i2c.o | ||||
|     0x08001b32   0x08001b32   0x00000052   Code   RO          978    i.I2C_WaitOnTXISFlagUntilTimeout  stm32f0xx_hal_i2c.o | ||||
|     0x08001b84   0x08001b84   0x00000158   Code   RO          610    i.MX_GPIO_Init      main.o | ||||
|     0x08001cdc   0x08001cdc   0x00000054   Code   RO          611    i.MX_I2C2_Init      main.o | ||||
|     0x08001d30   0x08001d30   0x0000003c   Code   RO          612    i.MX_SPI1_Init      main.o | ||||
|     0x08001d6c   0x08001d6c   0x00000054   Code   RO          613    i.MX_TIM2_Init      main.o | ||||
|     0x08001dc0   0x08001dc0   0x0000004c   Code   RO          614    i.MX_USART1_UART_Init  main.o | ||||
|     0x08001e0c   0x08001e0c   0x0000005c   Code   RO          615    i.MX_USART3_UART_Init  main.o | ||||
|     0x08001e68   0x08001e68   0x00000002   Code   RO          774    i.NMI_Handler       stm32f0xx_it.o | ||||
|     0x08001a78   0x08001a78   0x00000024   Code   RO          975    i.I2C_TransferConfig  stm32f0xx_hal_i2c.o | ||||
|     0x08001a9c   0x08001a9c   0x00000048   Code   RO          976    i.I2C_WaitOnFlagUntilTimeout  stm32f0xx_hal_i2c.o | ||||
|     0x08001ae4   0x08001ae4   0x0000004e   Code   RO          978    i.I2C_WaitOnSTOPFlagUntilTimeout  stm32f0xx_hal_i2c.o | ||||
|     0x08001b32   0x08001b32   0x00000052   Code   RO          979    i.I2C_WaitOnTXISFlagUntilTimeout  stm32f0xx_hal_i2c.o | ||||
|     0x08001b84   0x08001b84   0x00000158   Code   RO          611    i.MX_GPIO_Init      main.o | ||||
|     0x08001cdc   0x08001cdc   0x00000054   Code   RO          612    i.MX_I2C2_Init      main.o | ||||
|     0x08001d30   0x08001d30   0x0000003c   Code   RO          613    i.MX_SPI1_Init      main.o | ||||
|     0x08001d6c   0x08001d6c   0x00000054   Code   RO          614    i.MX_TIM2_Init      main.o | ||||
|     0x08001dc0   0x08001dc0   0x0000004c   Code   RO          615    i.MX_USART1_UART_Init  main.o | ||||
|     0x08001e0c   0x08001e0c   0x0000005c   Code   RO          616    i.MX_USART3_UART_Init  main.o | ||||
|     0x08001e68   0x08001e68   0x00000002   Code   RO          775    i.NMI_Handler       stm32f0xx_it.o | ||||
|     0x08001e6a   0x08001e6a   0x00000002   PAD | ||||
|     0x08001e6c   0x08001e6c   0x00000044   Code   RO         3514    i.NVIC_SetPriority  stm32f0xx_hal_cortex.o | ||||
|     0x08001eb0   0x08001eb0   0x00000002   Code   RO          775    i.PendSV_Handler    stm32f0xx_it.o | ||||
|     0x08001e6c   0x08001e6c   0x00000044   Code   RO         3515    i.NVIC_SetPriority  stm32f0xx_hal_cortex.o | ||||
|     0x08001eb0   0x08001eb0   0x00000002   Code   RO          776    i.PendSV_Handler    stm32f0xx_it.o | ||||
|     0x08001eb2   0x08001eb2   0x00000002   PAD | ||||
|     0x08001eb4   0x08001eb4   0x00000010   Code   RO          776    i.SPI1_IRQHandler   stm32f0xx_it.o | ||||
|     0x08001ec4   0x08001ec4   0x00000036   Code   RO         1435    i.SPI_2linesRxISR_16BIT  stm32f0xx_hal_spi.o | ||||
|     0x08001efa   0x08001efa   0x0000005e   Code   RO         1436    i.SPI_2linesRxISR_8BIT  stm32f0xx_hal_spi.o | ||||
|     0x08001f58   0x08001f58   0x00000034   Code   RO         1437    i.SPI_2linesTxISR_16BIT  stm32f0xx_hal_spi.o | ||||
|     0x08001f8c   0x08001f8c   0x00000048   Code   RO         1438    i.SPI_2linesTxISR_8BIT  stm32f0xx_hal_spi.o | ||||
|     0x08001fd4   0x08001fd4   0x00000052   Code   RO         1441    i.SPI_CloseRxTx_ISR  stm32f0xx_hal_spi.o | ||||
|     0x08002026   0x08002026   0x00000012   Code   RO         1444    i.SPI_DMAAbortOnError  stm32f0xx_hal_spi.o | ||||
|     0x08002038   0x08002038   0x0000004c   Code   RO         1455    i.SPI_EndRxTxTransaction  stm32f0xx_hal_spi.o | ||||
|     0x08002084   0x08002084   0x00000096   Code   RO         1460    i.SPI_WaitFifoStateUntilTimeout  stm32f0xx_hal_spi.o | ||||
|     0x0800211a   0x0800211a   0x0000008c   Code   RO         1461    i.SPI_WaitFlagStateUntilTimeout  stm32f0xx_hal_spi.o | ||||
|     0x080021a6   0x080021a6   0x00000002   Code   RO          777    i.SVC_Handler       stm32f0xx_it.o | ||||
|     0x080021a8   0x080021a8   0x0000000c   Code   RO          778    i.SysTick_Handler   stm32f0xx_it.o | ||||
|     0x080021b4   0x080021b4   0x0000006c   Code   RO          616    i.SystemClock_Config  main.o | ||||
|     0x08002220   0x08002220   0x0000005c   Code   RO         3931    i.SystemInit        system_stm32f0xx.o | ||||
|     0x0800227c   0x0800227c   0x00000094   Code   RO         1837    i.TIM_Base_SetConfig  stm32f0xx_hal_tim.o | ||||
|     0x08002310   0x08002310   0x00000016   Code   RO         1844    i.TIM_ETR_SetConfig  stm32f0xx_hal_tim.o | ||||
|     0x08002326   0x08002326   0x00000010   Code   RO         1845    i.TIM_ITRx_SetConfig  stm32f0xx_hal_tim.o | ||||
|     0x08002336   0x08002336   0x00000022   Code   RO         1851    i.TIM_TI1_ConfigInputStage  stm32f0xx_hal_tim.o | ||||
|     0x08002358   0x08002358   0x00000026   Code   RO         1853    i.TIM_TI2_ConfigInputStage  stm32f0xx_hal_tim.o | ||||
|     0x0800237e   0x0800237e   0x000000ca   Code   RO         2666    i.UART_AdvFeatureConfig  stm32f0xx_hal_uart.o | ||||
|     0x08002448   0x08002448   0x00000074   Code   RO         2667    i.UART_CheckIdleState  stm32f0xx_hal_uart.o | ||||
|     0x080024bc   0x080024bc   0x00000014   Code   RO         2668    i.UART_DMAAbortOnError  stm32f0xx_hal_uart.o | ||||
|     0x080024d0   0x080024d0   0x0000001e   Code   RO         2678    i.UART_EndRxTransfer  stm32f0xx_hal_uart.o | ||||
|     0x080024ee   0x080024ee   0x0000001a   Code   RO         2679    i.UART_EndTransmit_IT  stm32f0xx_hal_uart.o | ||||
|     0x08002508   0x08002508   0x0000007a   Code   RO         2681    i.UART_Receive_IT   stm32f0xx_hal_uart.o | ||||
|     0x08001eb4   0x08001eb4   0x00000010   Code   RO          777    i.SPI1_IRQHandler   stm32f0xx_it.o | ||||
|     0x08001ec4   0x08001ec4   0x00000036   Code   RO         1436    i.SPI_2linesRxISR_16BIT  stm32f0xx_hal_spi.o | ||||
|     0x08001efa   0x08001efa   0x0000005e   Code   RO         1437    i.SPI_2linesRxISR_8BIT  stm32f0xx_hal_spi.o | ||||
|     0x08001f58   0x08001f58   0x00000034   Code   RO         1438    i.SPI_2linesTxISR_16BIT  stm32f0xx_hal_spi.o | ||||
|     0x08001f8c   0x08001f8c   0x00000048   Code   RO         1439    i.SPI_2linesTxISR_8BIT  stm32f0xx_hal_spi.o | ||||
|     0x08001fd4   0x08001fd4   0x00000052   Code   RO         1442    i.SPI_CloseRxTx_ISR  stm32f0xx_hal_spi.o | ||||
|     0x08002026   0x08002026   0x00000012   Code   RO         1445    i.SPI_DMAAbortOnError  stm32f0xx_hal_spi.o | ||||
|     0x08002038   0x08002038   0x0000004c   Code   RO         1456    i.SPI_EndRxTxTransaction  stm32f0xx_hal_spi.o | ||||
|     0x08002084   0x08002084   0x00000096   Code   RO         1461    i.SPI_WaitFifoStateUntilTimeout  stm32f0xx_hal_spi.o | ||||
|     0x0800211a   0x0800211a   0x0000008c   Code   RO         1462    i.SPI_WaitFlagStateUntilTimeout  stm32f0xx_hal_spi.o | ||||
|     0x080021a6   0x080021a6   0x00000002   Code   RO          778    i.SVC_Handler       stm32f0xx_it.o | ||||
|     0x080021a8   0x080021a8   0x0000000c   Code   RO          779    i.SysTick_Handler   stm32f0xx_it.o | ||||
|     0x080021b4   0x080021b4   0x0000006c   Code   RO          617    i.SystemClock_Config  main.o | ||||
|     0x08002220   0x08002220   0x0000005c   Code   RO         3932    i.SystemInit        system_stm32f0xx.o | ||||
|     0x0800227c   0x0800227c   0x00000094   Code   RO         1838    i.TIM_Base_SetConfig  stm32f0xx_hal_tim.o | ||||
|     0x08002310   0x08002310   0x00000016   Code   RO         1845    i.TIM_ETR_SetConfig  stm32f0xx_hal_tim.o | ||||
|     0x08002326   0x08002326   0x00000010   Code   RO         1846    i.TIM_ITRx_SetConfig  stm32f0xx_hal_tim.o | ||||
|     0x08002336   0x08002336   0x00000022   Code   RO         1852    i.TIM_TI1_ConfigInputStage  stm32f0xx_hal_tim.o | ||||
|     0x08002358   0x08002358   0x00000026   Code   RO         1854    i.TIM_TI2_ConfigInputStage  stm32f0xx_hal_tim.o | ||||
|     0x0800237e   0x0800237e   0x000000ca   Code   RO         2667    i.UART_AdvFeatureConfig  stm32f0xx_hal_uart.o | ||||
|     0x08002448   0x08002448   0x00000074   Code   RO         2668    i.UART_CheckIdleState  stm32f0xx_hal_uart.o | ||||
|     0x080024bc   0x080024bc   0x00000014   Code   RO         2669    i.UART_DMAAbortOnError  stm32f0xx_hal_uart.o | ||||
|     0x080024d0   0x080024d0   0x0000001e   Code   RO         2679    i.UART_EndRxTransfer  stm32f0xx_hal_uart.o | ||||
|     0x080024ee   0x080024ee   0x0000001a   Code   RO         2680    i.UART_EndTransmit_IT  stm32f0xx_hal_uart.o | ||||
|     0x08002508   0x08002508   0x0000007a   Code   RO         2682    i.UART_Receive_IT   stm32f0xx_hal_uart.o | ||||
|     0x08002582   0x08002582   0x00000002   PAD | ||||
|     0x08002584   0x08002584   0x0000015c   Code   RO         2682    i.UART_SetConfig    stm32f0xx_hal_uart.o | ||||
|     0x080026e0   0x080026e0   0x00000066   Code   RO         2683    i.UART_Transmit_IT  stm32f0xx_hal_uart.o | ||||
|     0x08002746   0x08002746   0x00000062   Code   RO         2684    i.UART_WaitOnFlagUntilTimeout  stm32f0xx_hal_uart.o | ||||
|     0x080027a8   0x080027a8   0x00000010   Code   RO          779    i.USART3_4_IRQHandler  stm32f0xx_it.o | ||||
|     0x080027b8   0x080027b8   0x00000020   Code   RO         4064    i.__0printf$3       mc_p.l(printf3.o) | ||||
|     0x080027d8   0x080027d8   0x0000001a   Code   RO          389    i.__ARM_common_switch8  ps2kb.o | ||||
|     0x080027f2   0x080027f2   0x0000000e   Code   RO         4306    i.__scatterload_copy  mc_p.l(handlers.o) | ||||
|     0x08002800   0x08002800   0x00000002   Code   RO         4307    i.__scatterload_null  mc_p.l(handlers.o) | ||||
|     0x08002802   0x08002802   0x0000000e   Code   RO         4308    i.__scatterload_zeroinit  mc_p.l(handlers.o) | ||||
|     0x08002810   0x08002810   0x000001cc   Code   RO         4071    i._printf_core      mc_p.l(printf3.o) | ||||
|     0x080029dc   0x080029dc   0x00000008   Code   RO          618    i.byte_to_int16_t   main.o | ||||
|     0x08002584   0x08002584   0x0000015c   Code   RO         2683    i.UART_SetConfig    stm32f0xx_hal_uart.o | ||||
|     0x080026e0   0x080026e0   0x00000066   Code   RO         2684    i.UART_Transmit_IT  stm32f0xx_hal_uart.o | ||||
|     0x08002746   0x08002746   0x00000062   Code   RO         2685    i.UART_WaitOnFlagUntilTimeout  stm32f0xx_hal_uart.o | ||||
|     0x080027a8   0x080027a8   0x00000010   Code   RO          780    i.USART3_4_IRQHandler  stm32f0xx_it.o | ||||
|     0x080027b8   0x080027b8   0x00000020   Code   RO         4065    i.__0printf$3       mc_p.l(printf3.o) | ||||
|     0x080027d8   0x080027d8   0x0000001a   Code   RO          390    i.__ARM_common_switch8  ps2kb.o | ||||
|     0x080027f2   0x080027f2   0x0000000e   Code   RO         4307    i.__scatterload_copy  mc_p.l(handlers.o) | ||||
|     0x08002800   0x08002800   0x00000002   Code   RO         4308    i.__scatterload_null  mc_p.l(handlers.o) | ||||
|     0x08002802   0x08002802   0x0000000e   Code   RO         4309    i.__scatterload_zeroinit  mc_p.l(handlers.o) | ||||
|     0x08002810   0x08002810   0x000001cc   Code   RO         4072    i._printf_core      mc_p.l(printf3.o) | ||||
|     0x080029dc   0x080029dc   0x00000008   Code   RO          619    i.byte_to_int16_t   main.o | ||||
|     0x080029e4   0x080029e4   0x00000014   Code   RO           12    i.delay_us          delay_us.o | ||||
|     0x080029f8   0x080029f8   0x00000010   Code   RO           13    i.delay_us_init     delay_us.o | ||||
|     0x08002a08   0x08002a08   0x00000018   Code   RO          619    i.fputc             main.o | ||||
|     0x08002a08   0x08002a08   0x00000018   Code   RO          620    i.fputc             main.o | ||||
|     0x08002a20   0x08002a20   0x00000032   Code   RO          152    i.gamepad_buf_add   helpers.o | ||||
|     0x08002a52   0x08002a52   0x00000018   Code   RO          153    i.gamepad_buf_init  helpers.o | ||||
|     0x08002a6a   0x08002a6a   0x0000001c   Code   RO          155    i.gamepad_buf_is_full  helpers.o | ||||
| @@ -2593,98 +2597,98 @@ Memory Map of the image | ||||
|     0x08002a9c   0x08002a9c   0x00000018   Code   RO          157    i.gamepad_buf_pop   helpers.o | ||||
|     0x08002ab4   0x08002ab4   0x00000016   Code   RO          158    i.gamepad_buf_reset  helpers.o | ||||
|     0x08002aca   0x08002aca   0x00000002   PAD | ||||
|     0x08002acc   0x08002acc   0x000000a4   Code   RO          620    i.gamepad_update    main.o | ||||
|     0x08002b70   0x08002b70   0x0000003c   Code   RO          621    i.gameport_init     main.o | ||||
|     0x08002bac   0x08002bac   0x000000a0   Code   RO          622    i.handle_protocol_switch  main.o | ||||
|     0x08002c4c   0x08002c4c   0x00000014   Code   RO          623    i.is_protocol_enabled  main.o | ||||
|     0x08002c60   0x08002c60   0x00000030   Code   RO          159    i.kb_buf_add        helpers.o | ||||
|     0x08002c90   0x08002c90   0x00000020   Code   RO          160    i.kb_buf_init       helpers.o | ||||
|     0x08002cb0   0x08002cb0   0x0000001c   Code   RO          162    i.kb_buf_is_full    helpers.o | ||||
|     0x08002ccc   0x08002ccc   0x00000020   Code   RO          163    i.kb_buf_peek       helpers.o | ||||
|     0x08002cec   0x08002cec   0x00000018   Code   RO          164    i.kb_buf_pop        helpers.o | ||||
|     0x08002d04   0x08002d04   0x0000001c   Code   RO          165    i.kb_buf_reset      helpers.o | ||||
|     0x08002d20   0x08002d20   0x00000140   Code   RO          300    i.keyboard_reply    ps2kb.o | ||||
|     0x08002e60   0x08002e60   0x0000020c   Code   RO          624    i.main              main.o | ||||
|     0x0800306c   0x0800306c   0x0000006c   Code   RO         4237    i.malloc            mc_p.l(malloc.o) | ||||
|     0x080030d8   0x080030d8   0x00000020   Code   RO          502    i.mcp4451_is_available  mcp4451.o | ||||
|     0x080030f8   0x080030f8   0x0000002c   Code   RO          503    i.mcp4451_reset     mcp4451.o | ||||
|     0x08003124   0x08003124   0x00000038   Code   RO          504    i.mcp4451_write_wiper  mcp4451.o | ||||
|     0x0800315c   0x0800315c   0x00000010   Code   RO           14    i.micros            delay_us.o | ||||
|     0x0800316c   0x0800316c   0x000000c4   Code   RO          625    i.microsoft_serial_mouse_update  main.o | ||||
|     0x08003230   0x08003230   0x00000032   Code   RO          166    i.mouse_buf_add     helpers.o | ||||
|     0x08003262   0x08003262   0x00000018   Code   RO          167    i.mouse_buf_init    helpers.o | ||||
|     0x0800327a   0x0800327a   0x0000001c   Code   RO          169    i.mouse_buf_is_full  helpers.o | ||||
|     0x08003296   0x08003296   0x00000016   Code   RO          170    i.mouse_buf_peek    helpers.o | ||||
|     0x080032ac   0x080032ac   0x00000018   Code   RO          171    i.mouse_buf_pop     helpers.o | ||||
|     0x080032c4   0x080032c4   0x00000016   Code   RO          172    i.mouse_buf_reset   helpers.o | ||||
|     0x080032da   0x080032da   0x00000002   PAD | ||||
|     0x080032dc   0x080032dc   0x00000024   Code   RO          626    i.protocol_status_lookup_init  main.o | ||||
|     0x08003300   0x08003300   0x00000044   Code   RO          301    i.ps2kb_get_bus_status  ps2kb.o | ||||
|     0x08003344   0x08003344   0x0000001c   Code   RO          302    i.ps2kb_init        ps2kb.o | ||||
|     0x08003360   0x08003360   0x00000038   Code   RO          303    i.ps2kb_press_key   ps2kb.o | ||||
|     0x08003398   0x08003398   0x0000002c   Code   RO          304    i.ps2kb_press_key_scancode_1  ps2kb.o | ||||
|     0x080033c4   0x080033c4   0x00000190   Code   RO          305    i.ps2kb_press_key_scancode_2  ps2kb.o | ||||
|     0x08003554   0x08003554   0x0000007c   Code   RO          306    i.ps2kb_press_key_scancode_3  ps2kb.o | ||||
|     0x080035d0   0x080035d0   0x000000fc   Code   RO          307    i.ps2kb_read        ps2kb.o | ||||
|     0x080036cc   0x080036cc   0x00000020   Code   RO          308    i.ps2kb_release_lines  ps2kb.o | ||||
|     0x080036ec   0x080036ec   0x00000024   Code   RO          309    i.ps2kb_reset       ps2kb.o | ||||
|     0x08003710   0x08003710   0x000000b4   Code   RO          627    i.ps2kb_update      main.o | ||||
|     0x080037c4   0x080037c4   0x00000044   Code   RO          310    i.ps2kb_write       ps2kb.o | ||||
|     0x08003808   0x08003808   0x00000124   Code   RO          311    i.ps2kb_write_nowait  ps2kb.o | ||||
|     0x0800392c   0x0800392c   0x00000060   Code   RO          400    i.ps2mouse_get_bus_status  ps2mouse.o | ||||
|     0x0800398c   0x0800398c   0x000000e4   Code   RO          401    i.ps2mouse_get_outgoing_data  ps2mouse.o | ||||
|     0x08003a70   0x08003a70   0x00000178   Code   RO          402    i.ps2mouse_host_req_reply  ps2mouse.o | ||||
|     0x08003be8   0x08003be8   0x0000001c   Code   RO          403    i.ps2mouse_init     ps2mouse.o | ||||
|     0x08003c04   0x08003c04   0x000000f8   Code   RO          404    i.ps2mouse_read     ps2mouse.o | ||||
|     0x08003cfc   0x08003cfc   0x00000020   Code   RO          405    i.ps2mouse_release_lines  ps2mouse.o | ||||
|     0x08003d1c   0x08003d1c   0x00000018   Code   RO          406    i.ps2mouse_reset    ps2mouse.o | ||||
|     0x08003d34   0x08003d34   0x0000001c   Code   RO          407    i.ps2mouse_restore_defaults  ps2mouse.o | ||||
|     0x08003d50   0x08003d50   0x0000001c   Code   RO          408    i.ps2mouse_send_bat  ps2mouse.o | ||||
|     0x08003d6c   0x08003d6c   0x00000024   Code   RO          409    i.ps2mouse_send_update  ps2mouse.o | ||||
|     0x08003d90   0x08003d90   0x000000b0   Code   RO          628    i.ps2mouse_update   main.o | ||||
|     0x08003e40   0x08003e40   0x00000026   Code   RO          410    i.ps2mouse_wait_for_idle  ps2mouse.o | ||||
|     0x08003e66   0x08003e66   0x0000001a   Code   RO          411    i.ps2mouse_write    ps2mouse.o | ||||
|     0x08003e80   0x08003e80   0x00000022   Code   RO          412    i.ps2mouse_write_delay_start  ps2mouse.o | ||||
|     0x08003ea2   0x08003ea2   0x00000002   PAD | ||||
|     0x08003ea4   0x08003ea4   0x00000124   Code   RO          413    i.ps2mouse_write_nowait  ps2mouse.o | ||||
|     0x08003fc8   0x08003fc8   0x00000014   Code   RO          312    i.scancode_set_reply_lookup  ps2kb.o | ||||
|     0x08003fdc   0x08003fdc   0x00000078   Code   RO          629    i.spi_error_dump_reboot  main.o | ||||
|     0x08004054   0x08004054   0x00000030   Code   RO          540    i.wait_for_clk_high  xt_kb.o | ||||
|     0x08004084   0x08004084   0x00000040   Code   RO          541    i.xtkb_check_for_softreset  xt_kb.o | ||||
|     0x080040c4   0x080040c4   0x00000014   Code   RO          542    i.xtkb_enable       xt_kb.o | ||||
|     0x080040d8   0x080040d8   0x00000014   Code   RO          543    i.xtkb_init         xt_kb.o | ||||
|     0x080040ec   0x080040ec   0x00000078   Code   RO          544    i.xtkb_press_key    xt_kb.o | ||||
|     0x08004164   0x08004164   0x00000020   Code   RO          545    i.xtkb_release_lines  xt_kb.o | ||||
|     0x08004184   0x08004184   0x00000020   Code   RO          546    i.xtkb_reset_bus    xt_kb.o | ||||
|     0x080041a4   0x080041a4   0x0000003c   Code   RO          630    i.xtkb_update       main.o | ||||
|     0x080041e0   0x080041e0   0x000000c0   Code   RO          547    i.xtkb_write        xt_kb.o | ||||
|     0x080042a0   0x080042a0   0x000001ca   Data   RO          314    .constdata          ps2kb.o | ||||
|     0x0800446a   0x0800446a   0x00000004   Data   RO          505    .constdata          mcp4451.o | ||||
|     0x0800446e   0x0800446e   0x00000037   Data   RO          636    .constdata          main.o | ||||
|     0x080044a5   0x080044a5   0x00000010   Data   RO         3932    .constdata          system_stm32f0xx.o | ||||
|     0x080044b5   0x080044b5   0x00000008   Data   RO         3933    .constdata          system_stm32f0xx.o | ||||
|     0x080044bd   0x080044bd   0x00000003   PAD | ||||
|     0x080044c0   0x080044c0   0x00000020   Data   RO         4304    Region$$Table       anon$$obj.o | ||||
|     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 | ||||
|  | ||||
|  | ||||
|     Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080044e0, Size: 0x00000990, Max: 0x00004000, ABSOLUTE) | ||||
|     Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08004534, Size: 0x00000990, Max: 0x00004000, ABSOLUTE) | ||||
|  | ||||
|     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object | ||||
|  | ||||
|     0x20000000   0x080044e0   0x00000004   Data   RW           15    .data               delay_us.o | ||||
|     0x20000004   0x080044e4   0x00000014   Data   RW          315    .data               ps2kb.o | ||||
|     0x20000018   0x080044f8   0x0000001c   Data   RW          414    .data               ps2mouse.o | ||||
|     0x20000034   0x08004514   0x00000014   Data   RW          548    .data               xt_kb.o | ||||
|     0x20000048   0x08004528   0x00000024   Data   RW          637    .data               main.o | ||||
|     0x2000006c   0x0800454c   0x00000004   Data   RW         3227    .data               stm32f0xx_hal.o | ||||
|     0x20000070   0x08004550   0x00000004   Data   RW         3934    .data               system_stm32f0xx.o | ||||
|     0x20000074   0x08004554   0x00000004   Data   RW         4278    .data               mc_p.l(stdout.o) | ||||
|     0x20000078   0x08004558   0x00000004   Data   RW         4281    .data               mc_p.l(mvars.o) | ||||
|     0x2000007c   0x0800455c   0x00000004   Data   RW         4282    .data               mc_p.l(mvars.o) | ||||
|     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) | ||||
|     0x20000080        -       0x0000008e   Zero   RW          313    .bss                ps2kb.o | ||||
|     0x2000010e   0x08004560   0x00000002   PAD | ||||
|     0x20000110        -       0x0000027d   Zero   RW          631    .bss                main.o | ||||
|     0x2000038d   0x08004560   0x00000003   PAD | ||||
|     0x2000010e   0x080045b4   0x00000002   PAD | ||||
|     0x20000110        -       0x0000027d   Zero   RW          632    .bss                main.o | ||||
|     0x2000038d   0x080045b4   0x00000003   PAD | ||||
|     0x20000390        -       0x00000200   Zero   RW            2    HEAP                startup_stm32f072xb.o | ||||
|     0x20000590        -       0x00000400   Zero   RW            1    STACK               startup_stm32f072xb.o | ||||
|  | ||||
| @@ -2698,9 +2702,9 @@ Image component sizes | ||||
|  | ||||
|         52         10          0          4          0     506987   delay_us.o | ||||
|        532          0          0          0          0      11880   helpers.o | ||||
|       2996        364         55         36        637      22620   main.o | ||||
|       3000        366         55         36        637      22620   main.o | ||||
|        132         22          4          0          0       2287   mcp4451.o | ||||
|       1766        100        458         20        142      11833   ps2kb.o | ||||
|       1846        108        458         20        142      12199   ps2kb.o | ||||
|       1514         66          0         28          0      11530   ps2mouse.o | ||||
|         28          8        192          0       1536        628   startup_stm32f072xb.o | ||||
|        122         18          0          4          0       3603   stm32f0xx_hal.o | ||||
| @@ -2723,7 +2727,7 @@ Image component sizes | ||||
|        528         52          0         20          0       5894   xt_kb.o | ||||
|  | ||||
|     ---------------------------------------------------------------------- | ||||
|      16062       1036        768        116       2320     652874   Object Totals | ||||
|      16146       1046        768        116       2320     653240   Object Totals | ||||
|          0          0         32          0          0          0   (incl. Generated) | ||||
|         32          0          3          0          5          0   (incl. Padding) | ||||
|  | ||||
| @@ -2769,15 +2773,15 @@ Image component sizes | ||||
|  | ||||
|       Code (inc. data)   RO Data    RW Data    ZI Data      Debug    | ||||
|  | ||||
|      16864       1080        768        128       2320     645958   Grand Totals | ||||
|      16864       1080        768        128       2320     645958   ELF Image Totals | ||||
|      16864       1080        768        128          0          0   ROM Totals | ||||
|      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 | ||||
|  | ||||
| ============================================================================== | ||||
|  | ||||
|     Total RO  Size (Code + RO Data)                17632 (  17.22kB) | ||||
|     Total RO  Size (Code + RO Data)                17716 (  17.30kB) | ||||
|     Total RW  Size (RW Data + ZI Data)              2448 (   2.39kB) | ||||
|     Total ROM Size (Code + RO Data + RW Data)      17760 (  17.34kB) | ||||
|     Total ROM Size (Code + RO Data + RW Data)      17844 (  17.43kB) | ||||
|  | ||||
| ============================================================================== | ||||
|  | ||||
|   | ||||
| @@ -74,7 +74,7 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893) | ||||
| I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893) | ||||
| I (../Inc/stm32f0xx_hal_conf.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_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/stm32f072xb.h)(0x5DFA0880) | ||||
| @@ -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) | ||||
|   | ||||
| @@ -68,7 +68,7 @@ UART_HandleTypeDef huart3; | ||||
| /* Private variables ---------------------------------------------------------*/ | ||||
| const uint8_t board_id = 1; | ||||
| const uint8_t version_major = 0; | ||||
| const uint8_t version_minor = 3; | ||||
| const uint8_t version_minor = 4; | ||||
| const uint8_t version_patch = 0; | ||||
| uint8_t hw_revision; | ||||
|  | ||||
|   | ||||
| @@ -509,7 +509,7 @@ GPIO_TypeDef* ps2kb_data_port; | ||||
| uint16_t ps2kb_data_pin; | ||||
| uint32_t ps2kb_wait_start; | ||||
|  | ||||
| uint8_t ps2kb_current_scancode_set = 3; | ||||
| uint8_t ps2kb_current_scancode_set = 2; | ||||
| uint8_t ps2kb_data_reporting_enabled = 1; | ||||
|  | ||||
| #define PS2KB_CLK_HI() HAL_GPIO_WritePin(ps2kb_clk_port, ps2kb_clk_pin, GPIO_PIN_SET) | ||||
| @@ -531,7 +531,7 @@ void ps2kb_release_lines(void) | ||||
|  | ||||
| void ps2kb_reset(void) | ||||
| { | ||||
|   ps2kb_current_scancode_set = 3; | ||||
|   ps2kb_current_scancode_set = 2; | ||||
|   ps2kb_data_reporting_enabled = 1; | ||||
|   memcpy(scancode_set3_current_status, scancode_set3_default_status, SET3_STATUS_LOOKUP_SIZE); | ||||
| } | ||||
| @@ -692,28 +692,72 @@ uint8_t ps2kb_write(uint8_t data, uint8_t delay_start, uint8_t timeout_ms) | ||||
|   return ps2kb_write_nowait(data); | ||||
| } | ||||
|  | ||||
| uint8_t scancode_set_reply_lookup(uint8_t set) | ||||
| #define PS2_RECEIVE_MODE_NORMAL 0 | ||||
| #define PS2_RECEIVE_MODE_TYPEMATIC_ONLY 1 | ||||
| #define PS2_RECEIVE_MODE_MAKE_BREAK 2 | ||||
| #define PS2_RECEIVE_MODE_MAKE_ONLY 3 | ||||
|  | ||||
| uint8_t ps2_receive_mode; | ||||
|  | ||||
| #define SET3_CMD_BACK_TO_NORMAL_MODE 0 | ||||
| #define SET3_CMD_CODE_UPDATED 1 | ||||
| #define SET3_CMD_ERROR 2 | ||||
|  | ||||
| uint8_t handle_set3_commands(uint8_t current_mode, uint8_t cmd) | ||||
| { | ||||
|   if(set == 1) | ||||
|     return 0x43; | ||||
|   if(set == 3) | ||||
|     return 0x3f; | ||||
|   return 0x41; | ||||
|   // printf("%x %x", current_mode, cmd); | ||||
|   if(current_mode == PS2_RECEIVE_MODE_NORMAL) | ||||
|     return SET3_CMD_BACK_TO_NORMAL_MODE; | ||||
|   if(current_mode != PS2_RECEIVE_MODE_NORMAL && cmd >= 0xED) | ||||
|     return SET3_CMD_BACK_TO_NORMAL_MODE; | ||||
|   if(ps2_receive_mode == PS2_RECEIVE_MODE_TYPEMATIC_ONLY && cmd < SET3_STATUS_LOOKUP_SIZE) | ||||
|     scancode_set3_current_status[cmd] = SET3_KEY_STATE_TYPEMATIC_ONLY; | ||||
|   else if(ps2_receive_mode == PS2_RECEIVE_MODE_MAKE_BREAK && cmd < SET3_STATUS_LOOKUP_SIZE) | ||||
|     scancode_set3_current_status[cmd] = SET3_KEY_STATE_MAKE_BREAK; | ||||
|   else if(ps2_receive_mode == PS2_RECEIVE_MODE_MAKE_ONLY && cmd < SET3_STATUS_LOOKUP_SIZE) | ||||
|     scancode_set3_current_status[cmd] = SET3_KEY_STATE_MAKE_ONLY; | ||||
|   return SET3_CMD_CODE_UPDATED; | ||||
| } | ||||
|  | ||||
| void keyboard_reply(uint8_t cmd, uint8_t *leds) | ||||
| { | ||||
|   uint8_t received = 255; | ||||
|   if(handle_set3_commands(ps2_receive_mode, cmd) == SET3_CMD_BACK_TO_NORMAL_MODE) | ||||
|   { | ||||
|     ps2_receive_mode = PS2_RECEIVE_MODE_NORMAL; | ||||
|   } | ||||
|   else | ||||
|   { | ||||
|     PS2KB_SENDACK(); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   switch (cmd) | ||||
|   { | ||||
| 	  case 0xFF: //reset | ||||
| 	    PS2KB_SENDACK(); | ||||
|       ps2kb_reset(); | ||||
|       HAL_Delay(333); // probably unnecessary, but that's what most keyboards do | ||||
| 	    ps2kb_write(0xAA, 0, 250); | ||||
|       // IBM battlecruiser 1394324 sends two extra keyboard ID bytes after reset | ||||
|       // ps2kb_write(0xBF, 0, PS2KB_WRITE_DEFAULT_TIMEOUT_MS); | ||||
|       // ps2kb_write(0xAC, 0, PS2KB_WRITE_DEFAULT_TIMEOUT_MS); | ||||
| 	    break; | ||||
| 	  case 0xFE: //resend | ||||
| 	    PS2KB_SENDACK(); | ||||
| 	    break; | ||||
|     case 0xFD: | ||||
|       ps2_receive_mode = PS2_RECEIVE_MODE_MAKE_ONLY; | ||||
|       PS2KB_SENDACK(); | ||||
|       break; | ||||
|     case 0xFC: | ||||
|       ps2_receive_mode = PS2_RECEIVE_MODE_MAKE_BREAK; | ||||
|       PS2KB_SENDACK(); | ||||
|       break; | ||||
|     case 0xFB: | ||||
|       ps2_receive_mode = PS2_RECEIVE_MODE_TYPEMATIC_ONLY; | ||||
|       PS2KB_SENDACK(); | ||||
|       break; | ||||
|     case 0xFA: // set all keys to all, set 3 only | ||||
|       for (int i = 0; i < SET3_STATUS_LOOKUP_SIZE; ++i) | ||||
|         scancode_set3_current_status[i] = SET3_KEY_STATE_ALL; | ||||
| @@ -756,6 +800,8 @@ void keyboard_reply(uint8_t cmd, uint8_t *leds) | ||||
| 	    PS2KB_SENDACK(); | ||||
| 	    ps2kb_write(0xAB, 0, PS2KB_WRITE_DEFAULT_TIMEOUT_MS); | ||||
| 	    ps2kb_write(0x83, 0, PS2KB_WRITE_DEFAULT_TIMEOUT_MS); | ||||
|       // ps2kb_write(0xBF, 0, PS2KB_WRITE_DEFAULT_TIMEOUT_MS); // ID for IBM battlecruiser 1394324 | ||||
|       // ps2kb_write(0xAC, 0, PS2KB_WRITE_DEFAULT_TIMEOUT_MS); | ||||
| 	    break; | ||||
| 	  case 0xF0: //get/change scan code set | ||||
| 	    PS2KB_SENDACK(); | ||||
| @@ -763,7 +809,7 @@ void keyboard_reply(uint8_t cmd, uint8_t *leds) | ||||
|       { | ||||
| 	    	PS2KB_SENDACK(); | ||||
|         if(received == 0) | ||||
|           ps2kb_write(scancode_set_reply_lookup(ps2kb_current_scancode_set), 0, PS2KB_WRITE_DEFAULT_TIMEOUT_MS); | ||||
|           ps2kb_write(ps2kb_current_scancode_set, 0, PS2KB_WRITE_DEFAULT_TIMEOUT_MS); | ||||
|         else if(received <= 3) | ||||
|           ps2kb_current_scancode_set = received; | ||||
|       } | ||||
| @@ -776,6 +822,9 @@ void keyboard_reply(uint8_t cmd, uint8_t *leds) | ||||
| 	    if(ps2kb_read(leds, 30) == PS2_OK) | ||||
| 	    	PS2KB_SENDACK(); | ||||
| 	    break; | ||||
|     default: | ||||
|       PS2KB_SENDACK(); | ||||
|       break; | ||||
|   } | ||||
| } | ||||
|  | ||||
|   | ||||
							
								
								
									
										23
									
								
								firmware/releases/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,23 @@ | ||||
| # USB4VC Firmware Release History | ||||
|  | ||||
| ## IBM PC Protocol Card | ||||
|  | ||||
| ### 0.4.0 | ||||
|  | ||||
| * Released 6 May 2022 | ||||
|  | ||||
| * Added PS/2 keyboard scancode set 3 support | ||||
|  | ||||
| * Removed separate PS/2 Mouse KVM compatibility mode | ||||
|  | ||||
| ### 0.3.0 | ||||
|  | ||||
| * Released 5 May 2022 | ||||
|  | ||||
| * Improved PS/2 host inhibit handling, should work more reliably now. | ||||
|  | ||||
| * Added PS/2 Mouse KVM compatibility mode, not sure if I wanna keep this. | ||||
|  | ||||
| ### 0.2.0 | ||||
|  | ||||
| * Initial Release | ||||
| @@ -194,9 +194,7 @@ Unsupported USB controllers might still work, but the default mapping might be w | ||||
|  | ||||
| ## Custom Gamepad Mapping | ||||
|  | ||||
| You can also create your own USB Gamepad mapping so suit your exact needs. | ||||
|  | ||||
| You can even have it **control mouse and keyboard**, in order to play games that did not have native gamepad support! | ||||
| You can also create your own USB Gamepad mapping or have it **control mouse and keyboard**, in order to play games that did not have native gamepad support! | ||||
|  | ||||
| [Download the configurator](https://github.com/dekuNukem/usb4vc-configurator/blob/master/README.md) and follow the instruction to set it up. | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,135 @@ | ||||
| "use strict";(()=>{var O=Object.defineProperty;var p=(M,N)=>O(M,"name",{value:N,configurable:!0});(globalThis.webpackChunk=globalThis.webpackChunk||[]).push([[5388],{13695:(M,N,l)=>{l.d(N,{X:()=>v,w:()=>u});/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */const a=new WeakMap,v=p(_=>(...c)=>{const h=_(...c);return a.set(h,!0),h},"directive"),u=p(_=>typeof _=="function"&&a.has(_),"isDirective")},66921:(M,N,l)=>{l.d(N,{V:()=>v,eC:()=>a,r4:()=>u});/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */const a=window.customElements!==void 0&&window.customElements.polyfillWrapFlushCallback!==void 0,v=p((_,c,h=null,r=null)=>{for(;c!==h;){const d=c.nextSibling;_.insertBefore(c,r),c=d}},"reparentNodes"),u=p((_,c,h=null)=>{for(;c!==h;){const r=c.nextSibling;_.removeChild(c),c=r}},"removeNodes")},31301:(M,N,l)=>{l.d(N,{J:()=>a,L:()=>v});/** | ||||
|  * @license | ||||
|  * Copyright (c) 2018 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */const a={},v={}},28356:(M,N,l)=>{l.d(N,{JG:()=>x,K1:()=>E,QG:()=>f,_l:()=>g,m:()=>w,nt:()=>m,pt:()=>r});var a=l(13695),v=l(66921),u=l(31301),_=l(3122),c=l(89823),h=l(60560);/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */const r=p(s=>s===null||!(typeof s=="object"||typeof s=="function"),"isPrimitive"),d=p(s=>Array.isArray(s)||!!(s&&s[Symbol.iterator]),"isIterable");class f{constructor(t,n,e){this.dirty=!0,this.element=t,this.name=n,this.strings=e,this.parts=[];for(let i=0;i<e.length-1;i++)this.parts[i]=this._createPart()}_createPart(){return new g(this)}_getValue(){const t=this.strings,n=t.length-1;let e="";for(let i=0;i<n;i++){e+=t[i];const V=this.parts[i];if(V!==void 0){const T=V.value;if(r(T)||!d(T))e+=typeof T=="string"?T:String(T);else for(const y of T)e+=typeof y=="string"?y:String(y)}}return e+=t[n],e}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}p(f,"AttributeCommitter");class g{constructor(t){this.value=void 0,this.committer=t}setValue(t){t!==u.J&&(!r(t)||t!==this.value)&&(this.value=t,(0,a.w)(t)||(this.committer.dirty=!0))}commit(){for(;(0,a.w)(this.value);){const t=this.value;this.value=u.J,t(this)}this.value!==u.J&&this.committer.commit()}}p(g,"AttributePart");class m{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild((0,h.IW)()),this.endNode=t.appendChild((0,h.IW)())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=(0,h.IW)()),t.__insert(this.endNode=(0,h.IW)())}insertAfterPart(t){t.__insert(this.startNode=(0,h.IW)()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){for(;(0,a.w)(this.__pendingValue);){const n=this.__pendingValue;this.__pendingValue=u.J,n(this)}const t=this.__pendingValue;t!==u.J&&(r(t)?t!==this.value&&this.__commitText(t):t instanceof c.j?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):d(t)?this.__commitIterable(t):t===u.L?(this.value=u.L,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const n=this.startNode.nextSibling;t=t==null?"":t;const e=typeof t=="string"?t:String(t);n===this.endNode.previousSibling&&n.nodeType===3?n.data=e:this.__commitNode(document.createTextNode(e)),this.value=t}__commitTemplateResult(t){const n=this.options.templateFactory(t);if(this.value instanceof _.R&&this.value.template===n)this.value.update(t.values);else{const e=new _.R(n,t.processor,this.options),i=e._clone();e.update(t.values),this.__commitNode(i),this.value=e}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const n=this.value;let e=0,i;for(const V of t)i=n[e],i===void 0&&(i=new m(this.options),n.push(i),e===0?i.appendIntoPart(this):i.insertAfterPart(n[e-1])),i.setValue(V),i.commit(),e++;e<n.length&&(n.length=e,this.clear(i&&i.endNode))}clear(t=this.startNode){(0,v.r4)(this.startNode.parentNode,t.nextSibling,this.endNode)}}p(m,"NodePart");class x{constructor(t,n,e){if(this.value=void 0,this.__pendingValue=void 0,e.length!==2||e[0]!==""||e[1]!=="")throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=n,this.strings=e}setValue(t){this.__pendingValue=t}commit(){for(;(0,a.w)(this.__pendingValue);){const n=this.__pendingValue;this.__pendingValue=u.J,n(this)}if(this.__pendingValue===u.J)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=u.J}}p(x,"BooleanAttributePart");class w extends f{constructor(t,n,e){super(t,n,e);this.single=e.length===2&&e[0]===""&&e[1]===""}_createPart(){return new A(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}p(w,"PropertyCommitter");class A extends g{}p(A,"PropertyPart");let C=!1;try{const s={get capture(){return C=!0,!1}};window.addEventListener("test",s,s),window.removeEventListener("test",s,s)}catch{}class E{constructor(t,n,e){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=n,this.eventContext=e,this.__boundHandleEvent=i=>this.handleEvent(i)}setValue(t){this.__pendingValue=t}commit(){for(;(0,a.w)(this.__pendingValue);){const V=this.__pendingValue;this.__pendingValue=u.J,V(this)}if(this.__pendingValue===u.J)return;const t=this.__pendingValue,n=this.value,e=t==null||n!=null&&(t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive),i=t!=null&&(n==null||e);e&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=o(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=u.J}handleEvent(t){typeof this.value=="function"?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}p(E,"EventPart");const o=p(s=>s&&(C?{capture:s.capture,passive:s.passive,once:s.once}:s.capture),"getOptions")},3122:(M,N,l)=>{l.d(N,{R:()=>u});var a=l(66921),v=l(60560);/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */class u{constructor(c,h,r){this.__parts=[],this.template=c,this.processor=h,this.options=r}update(c){let h=0;for(const r of this.__parts)r!==void 0&&r.setValue(c[h]),h++;for(const r of this.__parts)r!==void 0&&r.commit()}_clone(){const c=a.eC?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),h=[],r=this.template.parts,d=document.createTreeWalker(c,133,null,!1);let f=0,g=0,m,x=d.nextNode();for(;f<r.length;){if(m=r[f],!(0,v.pC)(m)){this.__parts.push(void 0),f++;continue}for(;g<m.index;)g++,x.nodeName==="TEMPLATE"&&(h.push(x),d.currentNode=x.content),(x=d.nextNode())===null&&(d.currentNode=h.pop(),x=d.nextNode());if(m.type==="node"){const w=this.processor.handleTextExpression(this.options);w.insertAfterNode(x.previousSibling),this.__parts.push(w)}else this.__parts.push(...this.processor.handleAttributeExpressions(x,m.name,m.strings,this.options));f++}return a.eC&&(document.adoptNode(c),customElements.upgrade(c)),c}}p(u,"TemplateInstance")},89823:(M,N,l)=>{l.d(N,{j:()=>_});var a=l(66921),v=l(60560);/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */const u=` ${v.Jw} `;class _{constructor(r,d,f,g){this.strings=r,this.values=d,this.type=f,this.processor=g}getHTML(){const r=this.strings.length-1;let d="",f=!1;for(let g=0;g<r;g++){const m=this.strings[g],x=m.lastIndexOf("<!--");f=(x>-1||f)&&m.indexOf("-->",x+1)===-1;const w=v.W5.exec(m);w===null?d+=m+(f?u:v.N):d+=m.substr(0,w.index)+w[1]+w[2]+v.$E+w[3]+v.Jw}return d+=this.strings[r],d}getTemplateElement(){const r=document.createElement("template");return r.innerHTML=this.getHTML(),r}}p(_,"TemplateResult");class c extends null{getHTML(){return`<svg>${super.getHTML()}</svg>`}getTemplateElement(){const r=super.getTemplateElement(),d=r.content,f=d.firstChild;return d.removeChild(f),reparentNodes(d,f.firstChild),r}}p(c,"SVGTemplateResult")},60560:(M,N,l)=>{l.d(N,{$E:()=>_,IW:()=>d,Jw:()=>a,N:()=>v,W5:()=>f,YS:()=>c,pC:()=>r});/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */const a=`{{lit-${String(Math.random()).slice(2)}}}`,v=`<!--${a}-->`,u=new RegExp(`${a}|${v}`),_="$lit$";class c{constructor(m,x){this.parts=[],this.element=x;const w=[],A=[],C=document.createTreeWalker(x.content,133,null,!1);let E=0,o=-1,s=0;const{strings:t,values:{length:n}}=m;for(;s<n;){const e=C.nextNode();if(e===null){C.currentNode=A.pop();continue}if(o++,e.nodeType===1){if(e.hasAttributes()){const i=e.attributes,{length:V}=i;let T=0;for(let y=0;y<V;y++)h(i[y].name,_)&&T++;for(;T-- >0;){const y=t[s],I=f.exec(y)[2],L=I.toLowerCase()+_,b=e.getAttribute(L);e.removeAttribute(L);const P=b.split(u);this.parts.push({type:"attribute",index:o,name:I,strings:P}),s+=P.length-1}}e.tagName==="TEMPLATE"&&(A.push(e),C.currentNode=e.content)}else if(e.nodeType===3){const i=e.data;if(i.indexOf(a)>=0){const V=e.parentNode,T=i.split(u),y=T.length-1;for(let I=0;I<y;I++){let L,b=T[I];if(b==="")L=d();else{const P=f.exec(b);P!==null&&h(P[2],_)&&(b=b.slice(0,P.index)+P[1]+P[2].slice(0,-_.length)+P[3]),L=document.createTextNode(b)}V.insertBefore(L,e),this.parts.push({type:"node",index:++o})}T[y]===""?(V.insertBefore(d(),e),w.push(e)):e.data=T[y],s+=y}}else if(e.nodeType===8)if(e.data===a){const i=e.parentNode;(e.previousSibling===null||o===E)&&(o++,i.insertBefore(d(),e)),E=o,this.parts.push({type:"node",index:o}),e.nextSibling===null?e.data="":(w.push(e),o--),s++}else{let i=-1;for(;(i=e.data.indexOf(a,i+1))!==-1;)this.parts.push({type:"node",index:-1}),s++}}for(const e of w)e.parentNode.removeChild(e)}}p(c,"Template");const h=p((g,m)=>{const x=g.length-m.length;return x>=0&&g.slice(x)===m},"endsWith"),r=p(g=>g.index!==-1,"isTemplatePartActive"),d=p(()=>document.createComment(""),"createMarker"),f=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/},36162:(M,N,l)=>{l.d(N,{_l:()=>a._l,nt:()=>a.nt,IW:()=>d.IW,XM:()=>c.X,dy:()=>A,r4:()=>h.r4,sY:()=>x,V:()=>h.V});var a=l(28356);/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */class v{handleAttributeExpressions(o,s,t,n){const e=s[0];return e==="."?new a.m(o,s.slice(1),t).parts:e==="@"?[new a.K1(o,s.slice(1),n.eventContext)]:e==="?"?[new a.JG(o,s.slice(1),t)]:new a.QG(o,s,t).parts}handleTextExpression(o){return new a.nt(o)}}p(v,"DefaultTemplateProcessor");const u=new v;var _=l(89823),c=l(13695),h=l(66921),r=l(31301),d=l(60560);/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */function f(E){let o=g.get(E.type);o===void 0&&(o={stringsArray:new WeakMap,keyString:new Map},g.set(E.type,o));let s=o.stringsArray.get(E.strings);if(s!==void 0)return s;const t=E.strings.join(d.Jw);return s=o.keyString.get(t),s===void 0&&(s=new d.YS(E,E.getTemplateElement()),o.keyString.set(t,s)),o.stringsArray.set(E.strings,s),s}p(f,"templateFactory");const g=new Map;/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */const m=new WeakMap,x=p((E,o,s)=>{let t=m.get(o);t===void 0&&((0,h.r4)(o,o.firstChild),m.set(o,t=new a.nt(Object.assign({templateFactory:f},s))),t.appendInto(o)),t.setValue(E),t.commit()},"render");var w=l(3122);/** | ||||
|  * @license | ||||
|  * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. | ||||
|  * This code may only be used under the BSD style license found at | ||||
|  * http://polymer.github.io/LICENSE.txt | ||||
|  * The complete set of authors may be found at | ||||
|  * http://polymer.github.io/AUTHORS.txt | ||||
|  * The complete set of contributors may be found at | ||||
|  * http://polymer.github.io/CONTRIBUTORS.txt | ||||
|  * Code distributed by Google as part of the polymer project is also | ||||
|  * subject to an additional IP rights grant found at | ||||
|  * http://polymer.github.io/PATENTS.txt | ||||
|  */(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.1.2");const A=p((E,...o)=>new _.j(E,o,"html",u),"html"),C=p((E,...o)=>new SVGTemplateResult(E,o,"svg",defaultTemplateProcessor),"svg")}}]);})(); | ||||
|  | ||||
| //# sourceMappingURL=5388-c04c1cb53660.js.map | ||||
| After Width: | Height: | Size: 958 KiB | 
| After Width: | Height: | Size: 15 KiB | 
| After Width: | Height: | Size: 212 KiB | 
| After Width: | Height: | Size: 65 KiB | 
| After Width: | Height: | Size: 128 KiB | 
| After Width: | Height: | Size: 196 KiB | 
| After Width: | Height: | Size: 4.3 KiB | 
| After Width: | Height: | Size: 72 KiB | 
| After Width: | Height: | Size: 4.4 KiB | 
| After Width: | Height: | Size: 315 KiB | 
| After Width: | Height: | Size: 1.3 MiB | 
| After Width: | Height: | Size: 240 KiB | 
| After Width: | Height: | Size: 91 KiB | 
| After Width: | Height: | Size: 86 KiB | 
| After Width: | Height: | Size: 3.3 KiB | 
| After Width: | Height: | Size: 229 KiB | 
| After Width: | Height: | Size: 190 KiB | 
| After Width: | Height: | Size: 1.3 MiB | 
| After Width: | Height: | Size: 445 KiB | 
| After Width: | Height: | Size: 79 KiB | 
| After Width: | Height: | Size: 104 KiB | 
| After Width: | Height: | Size: 92 KiB | 
| After Width: | Height: | Size: 144 KiB | 
| After Width: | Height: | Size: 119 KiB | 
| After Width: | Height: | Size: 113 KiB | 
| After Width: | Height: | Size: 69 KiB | 
| After Width: | Height: | Size: 87 KiB | 
| After Width: | Height: | Size: 1.6 KiB | 
| @@ -0,0 +1,3 @@ | ||||
| .wiki-rightbar .markdown-body .anchor{display:none}.wiki-rightbar .markdown-body h1{font-size:1.6em}.wiki-rightbar .markdown-body h2{font-size:1.4em}.wiki-rightbar p:last-child,.wiki-rightbar ul:last-child,.wiki-rightbar ol:last-child{margin-bottom:0}.wiki-footer .markdown-body,.wiki-rightbar .markdown-body{font-size:12px}.wiki-footer .markdown-body.wiki-writable>:nth-child(2),.wiki-rightbar .markdown-body.wiki-writable>:nth-child(2){margin-top:0 !important}.wiki-footer .markdown-body img{background:none}.wiki-pages-box .wiki-more-pages{display:none}.wiki-pages-box.wiki-show-more .wiki-more-pages,.wiki-pages-box .filterable-active .wiki-more-pages{display:block}.wiki-pages-box.wiki-show-more .wiki-more-pages-link,.wiki-pages-box .filterable-active .wiki-more-pages-link{display:none}.js-wiki-sidebar-toc-toggle-chevron{transition:transform 250ms ease-in-out;transform:rotate(-90deg)}.js-wiki-sidebar-toc-toggle-chevron.js-wiki-sidebar-toc-toggle-chevron-open{transform:rotate(0deg)}.filter-bar{padding:8px;background-color:var(--color-canvas-subtle);border-bottom:1px solid var(--color-border-muted)}.filter-bar::before{display:table;content:""}.filter-bar::after{display:table;clear:both;content:""} | ||||
|  | ||||
| /*# sourceMappingURL=wiki-f03dea458920.css.map*/ | ||||
							
								
								
									
										668
									
								
								resources/IBM 1397000 keyboard.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,668 @@ | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||||
| <html xmlns="http://www.w3.org/1999/xhtml"><head> | ||||
| <meta http-equiv="content-type" content="text/html; charset=windows-1252"> | ||||
| 	<meta name="generator" content="/bin/vi"> | ||||
| 	<title>IBM 1397000 keyboard</title> | ||||
|         <link href="http://www.seasip.info/index.html" rel="start"> | ||||
|         <link href="https://www.seasip.info/VintagePC/index.html" rel="up"> | ||||
|         <link rel="stylesheet" href="IBM%201397000%20keyboard_files/main.css" type="text/css"> | ||||
|         <link rel="stylesheet" href="IBM%201397000%20keyboard_files/vpc.css" type="text/css"> | ||||
| 	<style> | ||||
| 		.diff { color : #000000; background-color : #95FFFF; } | ||||
| 	</style> | ||||
| </head> | ||||
| <body bgcolor="#FFFFFF"> | ||||
| <div class="fixedbanner"><img src="IBM%201397000%20keyboard_files/5150.png" alt="" width="32" height="32" align="middle"> Vintage PC pages | ||||
| <br> <a href="http://www.seasip.info/index.html">Home</a> -> | ||||
| <a href="https://www.seasip.info/VintagePC/index.html">Vintage PCs</a> -> | ||||
| IBM 1397000 Keyboard | ||||
| </div> | ||||
| <div class="main"> | ||||
| 	<h1> The IBM 1397000 Keyboard</h1> | ||||
|  | ||||
| 	<p><strong>Note:</strong> You need a browser capable of displaying | ||||
| 	SVG images to see the keyboard layouts.</p> | ||||
|  | ||||
| 	<p>The IBM 1397000 keyboard (described on the box as the "IBM  | ||||
| 	Personal System/2 Host Connected Keyboard") is a 122-key Model M  | ||||
| 	terminal emulator keyboard.</p> | ||||
| 	 | ||||
| 	<p><img src="IBM%201397000%20keyboard_files/1397000.jpg" alt="" width="1005" height="413"></p> | ||||
| <p>This particular model uses the US layout and has a detachable SDL cable.</p>  | ||||
|  | ||||
| 	<p>Some serial numbers associated with this keyboard are:</p> | ||||
| <dl> | ||||
| <dt>1397000</dt><dd>The keyboard part number</dd> | ||||
| <dt>1397050</dt><dd>The keyboard FRU number</dd> | ||||
| <dt>1396400</dt><dd>The part number for the complete package (keyboard plus | ||||
| driver floppy)</dd> | ||||
| <dt>1396063</dt><dd>Controller PCB</dd> | ||||
| <dt>1396064</dt><dd>6805 Microcontroller</dd> | ||||
| </dl> | ||||
|  | ||||
| <h2>Identity</h2> | ||||
| <p>When sent an identify command (0xF2), the keyboard returns the byte  | ||||
| sequence 0xAB 0x86.</p> | ||||
|  | ||||
| <h2>Scancodes</h2> | ||||
| <p>The keys on the 1397000 are laid out like this:</p> | ||||
| <embed src="IBM%201397000%20keyboard_files/1227T_keytops.svg" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" width="1005" height="300"><p></p> | ||||
|  | ||||
| <p>The keyboard supports <a href="http://www.win.tue.nl/~aeb/linux/kbd/scancodes-10.html">all three IBM scancode sets</a>. The scancodes it returns are:</p> | ||||
|  | ||||
| <h3>Set 1</h3> | ||||
| <embed src="IBM%201397000%20keyboard_files/1227T_raw1.svg" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" width="1005" height="300"> | ||||
| <p><strong>Notes:</strong> | ||||
| </p><ul> | ||||
| 	<li>Smaller numbers shown in circles are holes in the keyboard with  | ||||
| 	no springs, corresponding to unused positions covered by double-sized  | ||||
| 	keys.</li> | ||||
| 	<li>As on other Model M keyboards I've seen, there's a second hole  | ||||
| 	under the spacebar, which doesn't respond when poked with a screwdriver | ||||
| 	and is therefore probably just for a stabiliser.</li> | ||||
| 	<li>Attn / SysRQ (shaded magenta) generates 71 if Alt is not held | ||||
| 	down, 54 if it is.</li> | ||||
| 	<li>Pause / ErInp (shaded yellow) generates the sequence  | ||||
| 	E11D,45,E19D,C5 when pressed (ie, Press fake Ctrl, press NumLock,  | ||||
| 	release fake Ctrl, release NumLock) and nothing on release. If  | ||||
| 	real Ctrl is held, it sends scancodes E145, E1C5 on press and  | ||||
| 	nothing on release.</li> | ||||
| 	<li>Print / PrtSc (shaded green) generates scancodes E02A, E037  | ||||
| 	(ie: Press fake Shift, press PrintScreen) on press, and E0B7, E0AA  | ||||
| 	on release. If any of Shift, Ctrl or Alt are pressed, it generates  | ||||
| 	only E037 on press and E0B7 on release.</li> | ||||
| 	<li>NumLk / ScrLk (shaded cyan) generates scancode 46 [Scroll Lock] | ||||
| 	if Shift is not pressed, 45 [Num lock] if Shift is pressed.</li> | ||||
| 	<li>Space / Slash / Break (shaded violet) generates E035 (Keypad /) if | ||||
| 	no Ctrl key is down. If one is it sends E046 E0C6 (Ctrl-Break down, | ||||
| 	Ctrl-Break up) on press, and nothing on release.</li> | ||||
| 	<li>A number of keys send fake shift press and release codes under | ||||
| 	various circumstances. I am assuming these to be the same as for the | ||||
| 	101-key PS/2 keyboard, listed | ||||
| <a href="http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html#fakeshifts">here</a>. | ||||
| </li></ul><p></p> | ||||
| <p>Set 1 is not intended to be translated by the keyboard controller. If you | ||||
| do turn translation on, you get these codes:</p> | ||||
| <embed src="IBM%201397000%20keyboard_files/1227T_xlated1.svg" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" width="1005" height="300"> | ||||
| <p><strong>Notes:</strong> | ||||
| </p><ul> | ||||
| 	<li>These are 'make' codes. The 'break' codes, being in the 80-FF  | ||||
| 	range, mostly avoid being translated; so (for example) A has the  | ||||
| 	make code 03 but the break code 9E.</li> | ||||
| </ul> | ||||
|  | ||||
| <h3>Set 2</h3> | ||||
| <embed src="IBM%201397000%20keyboard_files/1227T_raw2.svg" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" width="1005" height="300"> | ||||
| <p><strong>Notes:</strong> | ||||
| </p><ul> | ||||
| 	<li>The five highlighted keys, as in Set 1, send different key | ||||
| 	sequences depending on what shifts are pressed:</li> | ||||
| 	<li>Attn / SysRQ sends 19 if Alt is not pressed, 84 if it is.</li> | ||||
| 	<li>Pause / ErInp sends E114 77 E1F014 F077 if Ctrl is not pressed, | ||||
| 	E177 E1F077 if it is.</li> | ||||
| 	<li>Print / Prtsc sends E012 E07C if none of Shift / Ctrl / Alt is | ||||
| 	pressed, E07C if one is.</li> | ||||
| 	<li>NumLk / ScrLk sends 7E if Shift is not pressed, 77 if it is.</li> | ||||
| 	<li>Space / Slash / Break sends E04A if Ctrl is not pressed. If Ctrl | ||||
| 	is pressed it sends E07E E0F07E on press and nothing on release.</li> | ||||
| </ul><p></p> | ||||
| <p>These scancodes are expected to be translated by the keyboard controller, | ||||
| producing the same output that you'd get from (untranslated) Set 1:</p> | ||||
| <embed src="IBM%201397000%20keyboard_files/1227T_xlated2.svg" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" width="1005" height="300"> | ||||
|  | ||||
| <h3>Set 3</h3> | ||||
| <p>Set 3 uses the same position-based coding as the  | ||||
| <a href="https://www.seasip.info/VintagePC/ibm_1390876.html">122-key terminal keyboards</a> and the  | ||||
| <a href="https://www.seasip.info/VintagePC/ibm_6450225.html">84-key AT keyboard</a>. It is the only set to | ||||
| distinguish between the key position above Return (where Backslash is on a  | ||||
| 101-key keyboard) and the one to the left of Return (where Hash is on a  | ||||
| 102-key keyboard).</p> | ||||
| <embed src="IBM%201397000%20keyboard_files/1227T_raw3.svg" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" width="1005" height="300"> | ||||
| <p><strong>Notes:</strong> | ||||
| </p><ul> | ||||
| 	<li>Only the keys highlighted in grey return break codes (F0 xx).</li> | ||||
| 	<li>Compared to a 102-key keyboard, some keys have different Set 3  | ||||
| 	scancodes. For example, on a 102-key keyboard PgUp and PgDn have | ||||
| 	the set 3 scancodes 6F and 6D, respectively. On a 122-key keyboard | ||||
| 	they have set 3 scancodes 6E and 6F, because they're in different | ||||
| 	places.</li> | ||||
| </ul> | ||||
| <p></p> | ||||
| <p>After translation by the keyboard controller, these codes become:<br> | ||||
| <embed src="IBM%201397000%20keyboard_files/1227T_xlated3.svg" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" width="1005" height="300"> | ||||
| </p> | ||||
|  | ||||
| <p>So, here's my grand unified list of Set 3 scancodes, sorted by number.</p> | ||||
| <ul> | ||||
| 	<li>The "Key position" columns are an indication of position rather  | ||||
| 	than keycap.</li> | ||||
| 	<li>Keys where the set 1 / 2 scancode differs between the 122-key | ||||
| 	keyboard and a normal 101 / 102-key keyboard are  | ||||
| 	<span class="diff">highlighted</span>.</li> | ||||
| </ul> | ||||
|  | ||||
| <table border="1"> | ||||
| 	<thead> | ||||
| 		<tr> | ||||
| 			<th rowspan="2">Set 3 code</th> | ||||
| 			<th rowspan="2">Translated Set 3 code</th> | ||||
| 			<th colspan="3">122-key</th> | ||||
| 			<th colspan="3">101 / 102-key</th> | ||||
| 		</tr> | ||||
| 		<tr><th>Key position</th> | ||||
| 		<th>Set 2 code</th> | ||||
| 		<th>Set 1 code</th> | ||||
| 		<th>Key position</th> | ||||
| 		<th>Set 2 code</th> | ||||
| 		<th>Set 1 code</th> | ||||
| 	</tr></thead> | ||||
| 	<tbody> | ||||
| 	<tr><td>01</td><td>43</td><td>F9 (left function key block)</td> | ||||
| 		<td>5C</td><td>75</td></tr> | ||||
| 	<tr><td>02</td><td>--</td><td>Not assigned (why?)</td> | ||||
| 		<td>--</td><td>--</td></tr> | ||||
| 	<tr><td>03</td><td>3F</td><td>F5 (left function key block)</td> | ||||
| 		<td>53</td><td>74</td></tr> | ||||
| 	<tr><td>04</td><td>3D</td><td>F3 (left function key block)</td> | ||||
| 		<td>39</td><td>72</td></tr> | ||||
| 	<tr><td>05</td><td>3B</td><td>F1 (left function key block)</td> | ||||
| 		<td>19 / 84</td><td>71 / 54</td></tr> | ||||
| 	<tr><td>06</td><td>3C</td><td>F2 (left function key block)</td> | ||||
| 		<td>5F</td><td>76</td></tr> | ||||
| 	<tr><td>07</td><td>58</td><td>F1 (top function key block)</td> | ||||
| 		<td>05</td><td>3B</td> | ||||
| 		<td>same</td><td>05</td><td>3B</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>08</td><td>64</td><td>F13 (top function key block)</td> | ||||
| 		<td>1F</td><td>5B</td> | ||||
| 		<td>Esc</td><td>76</td><td>01</td></tr> | ||||
| 	<tr><td>09</td><td>44</td><td>F10 (left function key block)</td> | ||||
| 		<td>48</td><td>6C</td></tr> | ||||
| 	<tr><td>0A</td><td>42</td><td>F8 (left function key block)</td> | ||||
| 		<td>6F</td><td>6F</td></tr> | ||||
| 	<tr><td>0B</td><td>40</td><td>F6 (left function key block)</td> | ||||
| 		<td>50</td><td>6D</td></tr> | ||||
| 	<tr><td>0C</td><td>3E</td><td>F4 (left function key block)</td> | ||||
| 		<td>77 / E177</td><td>45 / E145</td></tr> | ||||
| 	<tr><td>0D</td><td>0F</td><td>Tab</td> | ||||
| 		<td>0D</td><td>0F</td> | ||||
| 		<td>same</td><td>0D</td><td>0F</td></tr> | ||||
| 	<tr><td>0E</td><td>29</td><td>Key to the left of 1</td> | ||||
| 		<td>0E</td><td>29</td> | ||||
| 		<td>same</td><td>0E</td><td>29</td></tr> | ||||
| 	<tr><td>0F</td><td>59</td><td>F2 (top function key block)</td> | ||||
| 		<td>06</td><td>3C</td> | ||||
| 		<td>same</td><td>06</td><td>3C</td></tr> | ||||
| 	<tr><td>10</td><td>65</td><td>F14 (top function key block)</td> | ||||
| 		<td>27</td><td>5C</td></tr> | ||||
| 	<tr><td>11</td><td>38</td><td>Left Ctrl</td> | ||||
| 		<td>14</td><td>1D</td> | ||||
| 		<td>same</td><td>14</td><td>1D</td></tr> | ||||
| 	<tr><td>12</td><td>2A</td><td>Left Shift</td> | ||||
| 		<td>12</td><td>2A</td> | ||||
| 		<td>same</td><td>12</td><td>2A</td></tr> | ||||
| 	<tr><td>13</td><td>70</td><td>\ (if adjacent to left Shift)</td> | ||||
| 		<td>61</td><td>56</td> | ||||
| 		<td>same</td><td>61</td><td>56</td></tr> | ||||
| 	<tr><td>14</td><td>1D</td><td>Caps Lock</td> | ||||
| 		<td>58</td><td>3A</td> | ||||
| 		<td>same</td><td>58</td><td>3A</td></tr> | ||||
| 	<tr><td>15</td><td>10</td><td>Q</td> | ||||
| 		<td>15</td><td>10</td> | ||||
| 		<td>same</td><td>15</td><td>10</td></tr> | ||||
| 	<tr><td>16</td><td>02</td><td>1</td> | ||||
| 		<td>16</td><td>02</td> | ||||
| 		<td>same</td><td>16</td><td>02</td></tr> | ||||
| 	<tr><td>17</td><td>5A</td><td>F3 (top function key block)</td> | ||||
| 		<td>04</td><td>3D</td> | ||||
| 		<td>same</td><td>04</td><td>3D</td></tr> | ||||
| 	<tr><td>18</td><td>66</td><td>F15 (top function key block)</td> | ||||
| 		<td>5E</td><td>5D</td></tr> | ||||
| 	<tr><td>19</td><td>71</td><td>Left Alt</td> | ||||
| 		<td>11</td><td>38</td> | ||||
| 		<td>same</td><td>11</td><td>38</td></tr> | ||||
| 	<tr><td>1A</td><td>2C</td><td>Z</td> | ||||
| 		<td>1A</td><td>2C</td> | ||||
| 		<td>same</td><td>1A</td><td>2C</td></tr> | ||||
| 	<tr><td>1B</td><td>1F</td><td>S</td> | ||||
| 		<td>1B</td><td>1F</td> | ||||
| 		<td>same</td><td>1B</td><td>1F</td></tr> | ||||
| 	<tr><td>1C</td><td>1E</td><td>A</td> | ||||
| 		<td>1C</td><td>1E</td> | ||||
| 		<td>same</td><td>1C</td><td>1E</td></tr> | ||||
| 	<tr><td>1D</td><td>11</td><td>W</td> | ||||
| 		<td>1D</td><td>11</td> | ||||
| 		<td>same</td><td>1D</td><td>11</td></tr> | ||||
| 	<tr><td>1E</td><td>03</td><td>2</td> | ||||
| 		<td>1E</td><td>03</td> | ||||
| 		<td>same</td><td>1E</td><td>03</td></tr> | ||||
| 	<tr><td>1F</td><td>5B</td><td>F4 (top function key block)</td> | ||||
| 		<td>0C</td><td>3E</td> | ||||
| 		<td>same</td><td>0C</td><td>3E</td></tr> | ||||
| 	<tr><td>20</td><td>67</td><td>F16 (top function key block)</td> | ||||
| 		<td>5E</td><td>63</td></tr> | ||||
| 	<tr><td>21</td><td>2E</td><td>C</td> | ||||
| 		<td>21</td><td>2E</td> | ||||
| 		<td>same</td><td>21</td><td>2E</td></tr> | ||||
| 	<tr><td>22</td><td>2D</td><td>X</td> | ||||
| 		<td>22</td><td>2D</td> | ||||
| 		<td>same</td><td>22</td><td>2D</td></tr> | ||||
| 	<tr><td>23</td><td>20</td><td>D</td> | ||||
| 		<td>23</td><td>20</td> | ||||
| 		<td>same</td><td>23</td><td>20</td></tr> | ||||
| 	<tr><td>24</td><td>12</td><td>E</td> | ||||
| 		<td>24</td><td>12</td> | ||||
| 		<td>same</td><td>24</td><td>12</td></tr> | ||||
| 	<tr><td>25</td><td>05</td><td>4</td> | ||||
| 		<td>25</td><td>05</td> | ||||
| 		<td>same</td><td>25</td><td>05</td></tr> | ||||
| 	<tr><td>26</td><td>04</td><td>3</td> | ||||
| 		<td>26</td><td>04</td> | ||||
| 		<td>same</td><td>26</td><td>04</td></tr> | ||||
| 	<tr><td>27</td><td>5C</td><td>F5 (top function key block)</td> | ||||
| 		<td>03</td><td>3F</td> | ||||
| 		<td>same</td><td>03</td><td>3F</td></tr> | ||||
| 	<tr><td>28</td><td>68</td><td>F17 (top function key block)</td> | ||||
| 		<td>08</td><td>64</td></tr> | ||||
| 	<tr><td>29</td><td>39</td><td>Spacebar</td> | ||||
| 		<td>29</td><td>39</td> | ||||
| 		<td>same</td><td>29</td><td>39</td></tr> | ||||
| 	<tr><td>2A</td><td>2F</td><td>V</td> | ||||
| 		<td>2A</td><td>2F</td> | ||||
| 		<td>same</td><td>2A</td><td>2F</td></tr> | ||||
| 	<tr><td>2B</td><td>21</td><td>F</td> | ||||
| 		<td>2B</td><td>21</td> | ||||
| 		<td>same</td><td>2B</td><td>21</td></tr> | ||||
| 	<tr><td>2C</td><td>14</td><td>T</td> | ||||
| 		<td>2C</td><td>14</td> | ||||
| 		<td>same</td><td>2C</td><td>14</td></tr> | ||||
| 	<tr><td>2D</td><td>13</td><td>R</td> | ||||
| 		<td>2D</td><td>13</td> | ||||
| 		<td>same</td><td>2D</td><td>13</td></tr> | ||||
| 	<tr><td>2E</td><td>06</td><td>5</td> | ||||
| 		<td>2E</td><td>06</td> | ||||
| 		<td>same</td><td>2E</td><td>06</td></tr> | ||||
| 	<tr><td>2F</td><td>5D</td><td>F6 (top function key block)</td> | ||||
| 		<td>0B</td><td>40</td> | ||||
| 		<td>same</td><td>0B</td><td>40</td></tr> | ||||
| 	<tr><td>30</td><td>69</td><td>F18 (top function key block)</td> | ||||
| 		<td>10</td><td>65</td></tr> | ||||
| 	<tr><td>31</td><td>31</td><td>N</td> | ||||
| 		<td>31</td><td>31</td> | ||||
| 		<td>same</td><td>31</td><td>31</td></tr> | ||||
| 	<tr><td>32</td><td>30</td><td>B</td> | ||||
| 		<td>32</td><td>30</td> | ||||
| 		<td>same</td><td>32</td><td>30</td></tr> | ||||
| 	<tr><td>33</td><td>23</td><td>H</td> | ||||
| 		<td>33</td><td>23</td> | ||||
| 		<td>same</td><td>33</td><td>23</td></tr> | ||||
| 	<tr><td>34</td><td>22</td><td>G</td> | ||||
| 		<td>34</td><td>22</td> | ||||
| 		<td>same</td><td>34</td><td>22</td></tr> | ||||
| 	<tr><td>35</td><td>15</td><td>Y</td> | ||||
| 		<td>35</td><td>15</td> | ||||
| 		<td>same</td><td>35</td><td>15</td></tr> | ||||
| 	<tr><td>36</td><td>07</td><td>6</td> | ||||
| 		<td>36</td><td>07</td> | ||||
| 		<td>same</td><td>36</td><td>07</td></tr> | ||||
| 	<tr><td>37</td><td>5E</td><td>F7 (top function key block)</td> | ||||
| 		<td>83</td><td>41</td> | ||||
| 		<td>same</td><td>83</td><td>41</td></tr> | ||||
| 	<tr><td>38</td><td>6A</td><td>F19 (top function key block)</td> | ||||
| 		<td>18</td><td>66</td></tr> | ||||
| 	<tr><td>39</td><td>72</td><td>Right Alt</td> | ||||
| 		<td>E011</td><td>E038</td> | ||||
| 		<td>same</td><td>E011</td><td>E038</td></tr> | ||||
| 	<tr><td>3A</td><td>32</td><td>M</td> | ||||
| 		<td>3A</td><td>32</td> | ||||
| 		<td>same</td><td>3A</td><td>32</td></tr> | ||||
| 	<tr><td>3B</td><td>24</td><td>J</td> | ||||
| 		<td>3B</td><td>24</td> | ||||
| 		<td>same</td><td>3B</td><td>24</td></tr> | ||||
| 	<tr><td>3C</td><td>16</td><td>U</td> | ||||
| 		<td>3C</td><td>16</td> | ||||
| 		<td>same</td><td>3C</td></tr> | ||||
| 	<tr><td>3D</td><td>08</td><td>7</td> | ||||
| 		<td>3D</td><td>08</td> | ||||
| 		<td>same</td><td>3D</td><td>08</td></tr> | ||||
| 	<tr><td>3E</td><td>09</td><td>8</td> | ||||
| 		<td>3E</td><td>09</td> | ||||
| 		<td>same</td><td>3E</td><td>09</td></tr> | ||||
| 	<tr><td>3F</td><td>5F</td><td>F8 (top function key block)</td> | ||||
| 		<td>0A</td><td>42</td> | ||||
| 		<td>same</td><td>0A</td><td>42</td></tr> | ||||
| 	<tr><td>40</td><td>6B</td><td>F20 (top function key block)</td> | ||||
| 		<td>20</td><td>67</td></tr> | ||||
| 	<tr><td>41</td><td>33</td><td><</td> | ||||
| 		<td>41</td><td>33</td> | ||||
| 		<td>same</td><td>41</td><td>33</td></tr> | ||||
| 	<tr><td>42</td><td>25</td><td>K</td> | ||||
| 		<td>42</td><td>25</td> | ||||
| 		<td>same</td><td>42</td><td>25</td></tr> | ||||
| 	<tr><td>43</td><td>17</td><td>I</td> | ||||
| 		<td>43</td><td>17</td> | ||||
| 		<td>same</td><td>43</td><td>17</td></tr> | ||||
| 	<tr><td>44</td><td>18</td><td>O</td> | ||||
| 		<td>44</td><td>18</td> | ||||
| 		<td>same</td><td>44</td><td>18</td></tr> | ||||
| 	<tr><td>45</td><td>0B</td><td>0</td> | ||||
| 		<td>45</td><td>0B</td> | ||||
| 		<td>same</td><td>45</td><td>0B</td></tr> | ||||
| 	<tr><td>46</td><td>0A</td><td>9</td> | ||||
| 		<td>46</td><td>0A</td> | ||||
| 		<td>same</td><td>46</td><td>0A</td></tr> | ||||
| 	<tr><td>47</td><td>60</td><td>F9 (top function key block)</td> | ||||
| 		<td>01</td><td>43</td> | ||||
| 		<td>same</td><td>01</td><td>43</td></tr> | ||||
| 	<tr><td>48</td><td>6C</td><td>F21 (top function key block)</td> | ||||
| 		<td>28</td><td>68</td></tr> | ||||
| 	<tr><td>49</td><td>34</td><td>></td> | ||||
| 		<td>49</td><td>34</td> | ||||
| 		<td>same</td><td>49</td><td>34</td></tr> | ||||
| 	<tr><td>4A</td><td>35</td><td>?</td> | ||||
| 		<td>4A</td><td>35</td> | ||||
| 		<td>same</td><td>4A</td><td>35</td></tr> | ||||
| 	<tr><td>4B</td><td>26</td><td>L</td> | ||||
| 		<td>4B</td><td>26</td> | ||||
| 		<td>same</td><td>4B</td><td>26</td></tr> | ||||
| 	<tr><td>4C</td><td>27</td><td>:</td> | ||||
| 		<td>4C</td><td>27</td> | ||||
| 		<td>same</td><td>4C</td><td>27</td></tr> | ||||
| 	<tr><td>4D</td><td>19</td><td>P</td> | ||||
| 		<td>4D</td><td>19</td> | ||||
| 		<td>same</td><td>4D</td><td>19</td></tr> | ||||
| 	<tr><td>4E</td><td>0C</td><td>-</td> | ||||
| 		<td>4E</td><td>0C</td> | ||||
| 		<td>same</td><td>4E</td><td>0C</td></tr> | ||||
| 	<tr><td>4F</td><td>61</td><td>F10 (top function key block)</td> | ||||
| 		<td>09</td><td>44</td> | ||||
| 		<td>same</td><td>09</td><td>44</td></tr> | ||||
| 	<tr><td>50</td><td>6D</td><td>F22 (top function key block)</td> | ||||
| 		<td>30</td><td>69</td></tr> | ||||
| 	<tr><td>51</td><td>73</td><td>Unused position under right Shift</td> | ||||
| 		<td>51</td><td>73</td> | ||||
| 		<td>same</td><td>51</td><td>73</td></tr> | ||||
| 	<tr><td>52</td><td>28</td><td>@</td> | ||||
| 		<td>52</td><td>28</td> | ||||
| 		<td>same</td><td>52</td><td>28</td></tr> | ||||
| 	<tr><td>53</td><td>74</td><td>\ (if adjacent to Enter)</td> | ||||
| 		<td>5D</td><td>2B</td> | ||||
| 		<td>same</td><td>5D</td><td>2B</td></tr> | ||||
| 	<tr><td>54</td><td>1A</td><td>[</td> | ||||
| 		<td>54</td><td>1A</td> | ||||
| 		<td>same</td><td>54</td><td>1A</td></tr> | ||||
| 	<tr><td>55</td><td>0D</td><td>+</td> | ||||
| 		<td>55</td><td>0D</td> | ||||
| 		<td>same</td><td>55</td><td>0D</td></tr> | ||||
| 	<tr><td>56</td><td>62</td><td>F11 (top function key block)</td> | ||||
| 		<td>78</td><td>57</td> | ||||
| 		<td>same</td><td>78</td><td>57</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>57</td><td>6E</td><td>F23 (top function key block)</td> | ||||
| 		<td>40</td><td>6A</td> | ||||
| 		<td>Print Screen / SysRQ</td><td>E07C / 84</td> | ||||
| 		<td>E037 / 54</td></tr> | ||||
| 	<tr><td>58</td><td>3A</td><td>Right Ctrl</td> | ||||
| 		<td>E014</td><td>E01D</td> | ||||
| 		<td>same</td><td>E014</td><td>E01D</td></tr> | ||||
| 	<tr><td>59</td><td>36</td><td>Right Shift</td> | ||||
| 		<td>59</td><td>36</td> | ||||
| 		<td>same</td><td>59</td><td>36</td></tr> | ||||
| 	<tr><td>5A</td><td>1C</td><td>Enter</td> | ||||
| 		<td>5A</td><td>1C</td> | ||||
| 		<td>same</td><td>5A</td><td>1C</td></tr> | ||||
| 	<tr><td>5B</td><td>1B</td><td>]</td> | ||||
| 		<td>5B</td><td>1B</td> | ||||
| 		<td>same</td><td>5B</td><td>1B</td></tr> | ||||
| 	<tr><td>5C</td><td>75</td><td>\ (if above Enter)</td> | ||||
| 		<td>5D</td><td>2B</td> | ||||
| 		<td>same</td><td>5D</td><td>2B</td></tr> | ||||
| 	<tr><td>5D</td><td>2B</td><td>\ (if adjacent to Backspace)</td> | ||||
| 		<td>6A</td><td>7D</td> | ||||
| 		<td>same</td><td>6A</td><td>7D</td></tr> | ||||
| 	<tr><td>5E</td><td>63</td><td>F12 (top function key block)</td> | ||||
| 		<td>07</td><td>58</td> | ||||
| 		<td>same</td><td>07</td><td>58</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>5F</td><td>76</td><td>F24 (top function key block)</td> | ||||
| 		<td>40</td><td>6B</td>		 | ||||
| 		<td>Scroll Lock</td><td>7E</td><td>46</td></tr> | ||||
| 	<tr><td>60</td><td>55</td><td>Cursor down</td> | ||||
| 		<td>E072</td><td>E050</td> | ||||
| 		<td>same</td><td>E072</td><td>E050</td></tr> | ||||
| 	<tr><td>61</td><td>56</td><td>Cursor left</td> | ||||
| 		<td>E06B</td><td>E04B</td> | ||||
| 		<td>same</td><td>E06B</td><td>E04B</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>62</td><td>77</td><td>Key between cursor keys</td> | ||||
| 		<td>E06C</td><td>E047</td> | ||||
| 	<td>Pause / Break</td><td>77 / E07E</td><td>45 / E046</td></tr> | ||||
| 	<tr><td>63</td><td>78</td><td>Cursor up</td> | ||||
| 		<td>E075</td><td>E048</td> | ||||
| 		<td>same</td><td>E075</td><td>E048</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>64</td><td>79</td><td>3x2 block, lower row, left column  | ||||
| 			(End)</td> | ||||
| 		<td>E069</td><td>E04F</td> | ||||
| 		<td>(Delete)</td><td>E071</td><td>E053</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>65</td><td>7A</td><td>3x2 block, lower row, middle  | ||||
| 			column (Insert)</td> | ||||
| 		<td>E070</td><td>E052</td> | ||||
| 		<td>(End)</td><td>E069</td><td>E04F</td></tr> | ||||
| 	<tr><td>66</td><td>0E</td><td>Backspace</td> | ||||
| 		<td>66</td><td>0E</td> | ||||
| 		<td>same</td><td>66</td><td>0E</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>67</td><td>7B</td><td>3x2 block, upper row, left column  | ||||
| 			(PA1)</td> | ||||
| 		<td>17</td><td>5A</td> | ||||
| 		<td>(Insert)</td><td>E070</td><td>E052</td></tr> | ||||
| 	<tr><td>68</td><td>7C</td><td>Unused position under keypad 0</td> | ||||
| 		<td>68</td><td>7C</td> | ||||
| 		<td>same</td><td>68</td><td>7C</td></tr> | ||||
| 	<tr><td>69</td><td>4F</td><td>Keypad 1</td> | ||||
| 		<td>69</td><td>4F</td> | ||||
| 		<td>same</td><td>69</td><td>4F</td></tr> | ||||
| 	<tr><td>6A</td><td>7D</td><td>Cursor right</td> | ||||
| 		<td>E074</td><td>E04D</td> | ||||
| 		<td>same</td><td>E074</td><td>E04D</td></tr> | ||||
| 	<tr><td>6B</td><td>4B</td><td>Keypad 4</td> | ||||
| 		<td>6B</td><td>4B</td> | ||||
| 		<td>same</td><td>6B</td><td>4B</td></tr> | ||||
| 	<tr><td>6C</td><td>47</td><td>Keypad 7</td> | ||||
| 		<td>6C</td><td>47</td> | ||||
| 		<td>same</td><td>6C</td><td>47</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>6D</td><td>7E</td><td>3x2 block, lower row, right column  | ||||
| 			(Delete)</td> | ||||
| 		<td>E071</td><td>E053</td> | ||||
| 		<td>(PgDn)</td><td>E07A</td><td>E051</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>6E</td><td>7F</td><td>3x2 block, upper row, middle column | ||||
| 		       	(PgUp)</td> | ||||
| 		<td>E07D</td><td>E049</td> | ||||
| 		<td>(Home)</td><td>E06C</td><td>E047</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>6F</td><td>6F</td><td>3x2 block, upper row, right column | ||||
| 		       	(PgDn)</td> | ||||
| 		<td>E07A</td><td>E051</td> | ||||
| 		<td>(PgUp)</td><td>E07D</td><td>E049</td></tr> | ||||
| 	<tr><td>70</td><td>52</td><td>Keypad 0</td> | ||||
| 		<td>70</td><td>52</td> | ||||
| 		<td>same</td><td>70</td><td>52</td></tr> | ||||
| 	<tr><td>71</td><td>53</td><td>Keypad .</td> | ||||
| 		<td>71</td><td>53</td> | ||||
| 		<td>same</td><td>71</td><td>53</td></tr> | ||||
| 	<tr><td>72</td><td>50</td><td>Keypad 2</td> | ||||
| 		<td>72</td><td>50</td> | ||||
| 		<td>same</td><td>72</td><td>50</td></tr> | ||||
| 	<tr><td>73</td><td>4C</td><td>Keypad 5</td> | ||||
| 		<td>73</td><td>4C</td> | ||||
| 		<td>same</td><td>73</td><td>4C</td></tr> | ||||
| 	<tr><td>74</td><td>4D</td><td>Keypad 6</td> | ||||
| 		<td>74</td><td>4D</td> | ||||
| 		<td>same</td><td>74</td><td>4D</td></tr> | ||||
| 	<tr><td>75</td><td>48</td><td>Keypad 8</td> | ||||
| 		<td>75</td><td>48</td> | ||||
| 		<td>same</td><td>75</td><td>48</td></tr> | ||||
| 	<tr class="diff"><td>76</td><td>01</td><td>Keypad top left corner | ||||
| 		(Esc)</td> | ||||
| 		<td>76</td><td>01</td> | ||||
| 		<td>(Num Lock)</td><td>77</td><td>46</td></tr> | ||||
| 	 | ||||
| 	<tr class="diff"><td>77</td><td>45</td><td>Keypad top row, second  | ||||
| 			column (NumLk / ScrLk)</td> | ||||
| 		<td>7E / 77</td><td>46 / 45</td> | ||||
| 		<td>(Keypad /)</td><td>E04A</td><td>E035</td></tr> | ||||
| 	<tr class="diff"><td>78</td><td>57</td><td>Unused position under  | ||||
| 			keypad Enter</td> | ||||
| 		<td>63</td><td>78</td> | ||||
| 		<td>same</td><td>63</td><td>78</td></tr> | ||||
| 	<tr><td>79</td><td>4E</td><td>Keypad Enter</td> | ||||
| 		<td>E05A</td><td>E01C</td> | ||||
| 		<td>same</td><td>E05A</td><td>E01C</td></tr> | ||||
| 	<tr><td>7A</td><td>51</td><td>Keypad 3</td> | ||||
| 		<td>7A</td><td>51</td> | ||||
| 		<td>same</td><td>7A</td><td>51</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>7B</td><td>4A</td><td>Keypad -</td> | ||||
| 		<td>7B</td><td>4A</td> | ||||
| 		<td>Unused position under Keypad +</td> | ||||
| 		<td>6D</td><td>7E</td></tr> | ||||
| 	<tr><td>7C</td><td>37</td><td>Keypad +</td> | ||||
| 		<td>79</td><td>4E</td> | ||||
| 		<td>same</td><td>79</td><td>4E</td></tr> | ||||
| 	<tr><td>7D</td><td>49</td><td>Keypad 9</td> | ||||
| 		<td>7D</td><td>49</td> | ||||
| 		<td>same</td><td>7D</td><td>49</td></tr> | ||||
| 	<tr><td>7E</td><td>46</td><td>Keypad top row, third column (*)</td> | ||||
| 		<td>7C</td><td>37</td> | ||||
| 		<td>same</td><td>7C</td><td>37</td></tr> | ||||
| 	<tr><td>83</td><td>41</td><td>F7 (left function key block)</td> | ||||
| 		<td>E07C</td><td>E037</td></tr> | ||||
| 	<tr class="diff"> | ||||
| 		<td>84</td><td>54</td><td>Keypad top right hand corner (/)</td> | ||||
| 		<td>E04A / E07E</td><td>E035 / E046</td> | ||||
| 		<td>(keypad -)</td><td>7B</td><td>4A</td></tr> | ||||
| 	<tr><td colspan="8">And the following six aren't present on | ||||
| 			the 122-key board, but are included for  | ||||
| 			completeness:</td></tr> | ||||
| 	<tr><td>8B</td><td>8B</td><td></td> | ||||
| 		<td></td><td></td> | ||||
| 		<td>Left Windows</td><td>E01F</td><td>E05B</td></tr> | ||||
| 	<tr><td>8C</td><td>8C</td><td></td> | ||||
| 		<td></td><td></td> | ||||
| 		<td>Right Windows</td><td>E027</td><td>E05C</td></tr> | ||||
| 	<tr><td>8D</td><td>8D</td><td></td> | ||||
| 		<td></td><td></td> | ||||
| 		<td>Menu</td><td>E02F</td><td>E05D</td></tr> | ||||
| 	<tr><td>none</td><td>none</td><td></td> | ||||
| 		<td></td><td></td> | ||||
| 		<td>Wake</td><td>E05E</td><td>E063</td></tr> | ||||
| 	<tr><td>none</td><td>none</td><td></td> | ||||
| 		<td></td><td></td> | ||||
| 		<td>Sleep</td><td>E03F</td><td>E05F</td></tr> | ||||
| 	<tr><td>none</td><td>none</td><td></td> | ||||
| 		<td></td><td></td> | ||||
| 		<td>Power</td><td>E037</td><td>E05E</td></tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <p>A minor oddity: A 122-key IBM board in set 3 can return 127 scancodes.  | ||||
| These are all in a nice consecutive 7-bit range, except for two. The key that | ||||
| (from diagrams) you'd expect to send 02h, sends 83h. And the 7Fh key sends  | ||||
| 84h. If the microcontroller on the motherboard is translating scancodes, it | ||||
| treats these pairs as identical: both 02h and 83h get mapped to 41h, and both  | ||||
| 7Fh and 84h get mapped to 54h.</p> | ||||
| <p>Possibly these two keys had some special meaning on the 3270-series  | ||||
| terminals where set 3 scancodes seem to have originated.</p> | ||||
|  | ||||
| <h2>Under Windows 3.0</h2> | ||||
| <p>The keyboard is supplied with a driver for Windows 3.0, which must be  | ||||
| installed by editing SYSTEM.INI. The driver makes scancodes from the extra | ||||
| keys on the keyboard register as Windows virtual keys.</p> | ||||
|  | ||||
| <p>Oddly, the VK codes returned by function keys F17-F24 do not match the  | ||||
| ones defined in <windows.h>. This appears to be because VK_F17 and  | ||||
| VK_F18 have different definitions in the Windows SDK and DDK, and VK_F19 and  | ||||
| up just aren't there. The same mismatch on VK_F17 and VK_F18 is still present  | ||||
| in the Windows 98 DDK. There is a brief mention in the DDK documentation that | ||||
| the 'wrong' F17 and F18 are specific to the Olivetti M24 102-key keyboard,  | ||||
| but that still doesn't explain why the same symbols were used for different | ||||
| keycodes, or why the DDK is missing VK_F19 to VK_F24.</p> | ||||
| <table border="1"> | ||||
| <thead><tr><th>Key</th><th>VK_ code in Windows 3.1 SDK</th><th>Driver returns</th></tr></thead> | ||||
| <tbody> | ||||
| <tr><td>F17</td><td>0x80</td><td>0xE0 (Olivetti F17)</td></tr> | ||||
| <tr><td>F18</td><td>0x81</td><td>0xE1 (Olivetti F18)</td></tr> | ||||
| <tr><td>F19</td><td>0x82</td><td>0x8A</td></tr> | ||||
| <tr><td>F20</td><td>0x83</td><td>0x8B</td></tr> | ||||
| <tr><td>F21</td><td>0x84</td><td>0x8C</td></tr> | ||||
| <tr><td>F22</td><td>0x85</td><td>0x8D</td></tr> | ||||
| <tr><td>F23</td><td>0x86</td><td>0x8E</td></tr> | ||||
| <tr><td>F24</td><td>0x87</td><td>0x8F</td></tr> | ||||
| </tbody> | ||||
| </table> | ||||
|  | ||||
| <h3>Driver Internals</h3> | ||||
| <p>Internally, the driver is very similar to the one that comes with Windows | ||||
| 3.0. The points of difference are:</p> | ||||
| <ul> | ||||
| <li>The keyboard subtype (obtained by <code>GetKeyboardType(1)</code> ) is  | ||||
| set to 1. The normal driver returns subtype 0.</li> | ||||
| <li>Scancode tables are longer to support the extra scan codes.</li> | ||||
| <li>The <code>GetKeyNameText()</code> function supports the extra scan  | ||||
| codes.</li> | ||||
| <li>If interrogated by <code>GetKeyboardType(2)</code>, the driver reports 24  | ||||
| function keys rather than 12.</li> | ||||
| <li>Keys with scancodes between 0x70 and 0x76 (ie: Attn, Clear, CrSel, ExSel | ||||
| and Zoom) generate key-down and key-up events when pressed, and nothing when | ||||
| released.</li> | ||||
| <li>Since SysRq is not on the same key as PrintScreen, the code that  | ||||
| distinguishes between SysRq and PrintScreen is slightly different.</li> | ||||
| <li>On keyboards with a Shift Lock (rather than Caps Lock) key, there is | ||||
| extra code in ToASCII() to distinguish real shifts from shifts generated | ||||
| by Shift Lock being on.</li> | ||||
| </ul> | ||||
|  | ||||
| <h2>Under Windows NT / 2000 / XP</h2> | ||||
| <p>The extra keys (F13-F24 and so on) return scancodes under Windows NT 3.5  | ||||
| and later. However, the VK_ codes they use do not match the keycaps.  | ||||
| This can be corrected with replacement layout DLLs. Suitable US/UK files  | ||||
| are available <a href="https://www.seasip.info/Misc/122key_nt.html">here</a>, with instructions | ||||
| how to generate your own in other languages.</p> | ||||
|  | ||||
| <h2>Under Linux</h2> | ||||
| <p>The following scripts allow the extra keys to be used under Linux (tested | ||||
| on Ubuntu 9.10, in X11):</p> | ||||
| <ol> | ||||
| <li><a href="https://www.seasip.info/Misc/keycodes_1227t">keycodes_1227t</a>: Assigns Linux keycodes to the  | ||||
| extra keys. Put this in (say) /usr/local/sbin: | ||||
| <blockquote> | ||||
| <kbd>sudo install -m 755 keycodes_1227t /usr/local/sbin</kbd> | ||||
| </blockquote> | ||||
| and then add a line to /etc/rc.local to call it, just before the "exit 0": | ||||
| <blockquote> | ||||
| <tt># By default this script does nothing.<br> | ||||
| <br> | ||||
| <b>/usr/local/sbin/keycodes_1227t</b><br> | ||||
| exit 0</tt> | ||||
| </blockquote> | ||||
| </li> | ||||
| <li><a href="https://www.seasip.info/Misc/xmodmap">xmodmap</a> should be saved in your home directory and | ||||
| renamed to <code>.Xmodmap</code>, with a leading dot and a capital X. The  | ||||
| next time you log in, you should be asked whether to load the file. Highlight | ||||
| the ".Xmodmap" file and click "Load".</li> | ||||
| <li>You will probably also need to add the option <tt>atkbd.softraw=0</tt> to | ||||
| the kernel command line. Edit <code> /boot/grub/menu.lst</code> and add it | ||||
| to the end of the line that starts <code>kernel</code>. | ||||
| </li></ol> | ||||
| <p>If this worked, you should be able to run <kbd>xev</kbd> and see keypresses | ||||
| on the extra keys being detected.</p> | ||||
| <hr> | ||||
| <p><a href="mailto:seasip.webmaster@gmail.com">John Elliott</a> | ||||
| 21 July 2011.</p> | ||||
| </div> | ||||
|  | ||||
|  | ||||
| </body></html> | ||||
							
								
								
									
										2883
									
								
								resources/IBM 1397000 keyboard_files/1227T_keytops.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 148 KiB | 
							
								
								
									
										2457
									
								
								resources/IBM 1397000 keyboard_files/1227T_raw1.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 117 KiB | 
							
								
								
									
										2447
									
								
								resources/IBM 1397000 keyboard_files/1227T_raw2.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 116 KiB | 
							
								
								
									
										2422
									
								
								resources/IBM 1397000 keyboard_files/1227T_raw3.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 115 KiB | 
							
								
								
									
										2457
									
								
								resources/IBM 1397000 keyboard_files/1227T_xlated1.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 117 KiB | 
							
								
								
									
										2457
									
								
								resources/IBM 1397000 keyboard_files/1227T_xlated2.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 117 KiB | 
							
								
								
									
										2426
									
								
								resources/IBM 1397000 keyboard_files/1227T_xlated3.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 115 KiB | 
							
								
								
									
										
											BIN
										
									
								
								resources/IBM 1397000 keyboard_files/1397000.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 130 KiB | 
							
								
								
									
										
											BIN
										
									
								
								resources/IBM 1397000 keyboard_files/5150.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 318 B | 
							
								
								
									
										69
									
								
								resources/IBM 1397000 keyboard_files/main.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,69 @@ | ||||
|  | ||||
| BODY { | ||||
| 	color: #000000; | ||||
| 	background-color: #FFFFFF; | ||||
| 	font-family: 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
| } | ||||
|  | ||||
| H1 { | ||||
| 	font-family: spectrum, 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
| 	color: #000080; | ||||
| 	background-color: #FFFFFF; | ||||
| } | ||||
|  | ||||
| H2 { | ||||
| 	font-family: spectrum, 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
| 	background-color: #FFFFFF; | ||||
|         color: #000080; | ||||
| } | ||||
|  | ||||
| H3 { | ||||
| 	font-family: spectrum, 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
| 	background-color: #FFFFFF; | ||||
|         color: #000080; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| .banner { | ||||
|         font-family: 'bitstream vera sans', tahoma, Helvetica, Arial, sans-serif; | ||||
| 	background-color: #E0FFFF; | ||||
| 	color: #000000; | ||||
| } | ||||
|  | ||||
|  | ||||
| .fixedbanner | ||||
| { | ||||
|         font-family: 'bitstream vera sans', tahoma, Helvetica, Arial, sans-serif; | ||||
| 	background-color:	#E0FFFF; | ||||
| 	color:			#000000; | ||||
| 	position:		fixed; | ||||
| 	width:			100%; | ||||
| 	height:			5em; | ||||
| 	top:			0; | ||||
| 	right:			0; | ||||
| 	left:			0; | ||||
| 	bottom:			auto; | ||||
| 	border-bottom:		1px solid black; | ||||
| 	z-index:		100; | ||||
| } | ||||
|  | ||||
| .main | ||||
| { | ||||
| 	position:		relative; | ||||
| 	padding:		4em 4em 4em 0em;	 | ||||
| 	width:			auto; | ||||
| 	height:			auto; | ||||
| 	top:			0em; | ||||
| 	right:			0; | ||||
| 	left:			0; | ||||
| 	bottom:			0; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| .imgp { | ||||
| 	text-align: center | ||||
| } | ||||
|  | ||||
							
								
								
									
										124
									
								
								resources/IBM 1397000 keyboard_files/vpc.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,124 @@ | ||||
|  | ||||
| BODY { | ||||
| 	font-family: 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
| } | ||||
|  | ||||
| H1 { | ||||
| 	font-family: 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
| 	color: #004000; | ||||
| 	background-color: #FFFFFF; | ||||
| } | ||||
|  | ||||
| H2 { | ||||
| 	font-family: 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
|         color: #004000; | ||||
| 	background-color: #FFFFFF; | ||||
| } | ||||
|  | ||||
| H3 { | ||||
| 	font-family: 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
|         color: #004000; | ||||
| 	background-color: #FFFFFF; | ||||
| } | ||||
|  | ||||
|  | ||||
| H4 { | ||||
| 	font-family: 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
|         color: #004000; | ||||
| 	background-color: #FFFFFF; | ||||
| } | ||||
|  | ||||
| H5 { | ||||
| 	font-family: 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
|         color: #004000; | ||||
| 	background-color: #FFFFFF; | ||||
| } | ||||
|  | ||||
|  | ||||
| H6 { | ||||
| 	font-family: 'bitstream vera sans', tahoma, helvetica, sans-serif; | ||||
|         color: #004000; | ||||
| 	background-color: #FFFFFF; | ||||
| } | ||||
|  | ||||
| DT {  | ||||
| 	font-weight: bold; | ||||
| } | ||||
|  | ||||
| .fixedbanner | ||||
| { | ||||
|         font-family: 'bitstream vera sans', tahoma, Helvetica, Arial, sans-serif; | ||||
| 	background-color:	#E0FFE0; | ||||
| 	color:			#000000; | ||||
| 	position:		fixed; | ||||
| 	width:			100%; | ||||
| 	height:			5em; | ||||
| 	top:			0; | ||||
| 	right:			0; | ||||
| 	left:			0; | ||||
| 	bottom:			auto; | ||||
| 	border-bottom:		1px solid black; | ||||
| 	z-index:		100; | ||||
| } | ||||
|  | ||||
| .main | ||||
| { | ||||
| 	position:		relative; | ||||
| 	padding:		4em 4em 4em 0em;	 | ||||
| 	width:			auto; | ||||
| 	height:			auto; | ||||
| 	top:			0em; | ||||
| 	right:			0; | ||||
| 	left:			0; | ||||
| 	bottom:			0; | ||||
| } | ||||
|  | ||||
|  | ||||
| .banner { | ||||
|         font-family: 'bitstream vera sans', tahoma, Helvetica, Arial, sans-serif; | ||||
| 	background-color: #E0FFE0; | ||||
| } | ||||
|  | ||||
| .imgp { | ||||
| 	text-align: center | ||||
| } | ||||
|  | ||||
|  | ||||
| .mm {  | ||||
| 	background-color: #000000; | ||||
| 	color: #000000; | ||||
| } | ||||
|  | ||||
| .m0 {  | ||||
| 	background-color: #000000; | ||||
| 	color: #00C000; | ||||
| } | ||||
|  | ||||
| .m1 {  | ||||
| 	background-color: #000000; | ||||
| 	color: #00C000; | ||||
| 	text-decoration: underline; | ||||
| } | ||||
|  | ||||
| .m2 {  | ||||
| 	background-color: #000000; | ||||
| 	color: #00FF00; | ||||
| } | ||||
|  | ||||
| .m3 {  | ||||
| 	background-color: #000000; | ||||
| 	color: #00FF00; | ||||
| 	text-decoration: underline; | ||||
| } | ||||
|  | ||||
|  | ||||
| .m4 {  | ||||
| 	background-color: #00C000; | ||||
| 	color: #000000; | ||||
| } | ||||
|  | ||||
| .m5 {  | ||||
| 	background-color: #00C000; | ||||
| 	color: #004000; | ||||
| } | ||||
| 	 | ||||