diff options
author | Zach Eveland <zeveland@blacklabel-development.com> | 2011-10-23 16:49:36 -0400 |
---|---|---|
committer | Zach Eveland <zeveland@blacklabel-development.com> | 2011-10-23 16:49:36 -0400 |
commit | 4f19d9bc8e4bd5c09eb21fd2e25748d5574e37c4 (patch) | |
tree | 7a45fb9da4d6bc0a2096a53ec12cb28004458849 | |
parent | 8d5361044e84cb3e80d83e35f1946fb4f37a3079 (diff) |
bootloader responds properly now. nearly there - still have an issue with it falling out of sync after completing most operations
-rw-r--r-- | bootloaders/nuevo_diskloader/DiskLoader.elf.hex | 172 | ||||
-rw-r--r-- | bootloaders/nuevo_diskloader/DiskLoader.hex | 285 | ||||
-rw-r--r-- | bootloaders/nuevo_diskloader/src/CDC.cpp | 4 | ||||
-rw-r--r-- | bootloaders/nuevo_diskloader/src/DiskLoader.cpp | 41 | ||||
-rw-r--r-- | bootloaders/nuevo_diskloader/src/USBCore.cpp | 10 |
5 files changed, 350 insertions, 162 deletions
diff --git a/bootloaders/nuevo_diskloader/DiskLoader.elf.hex b/bootloaders/nuevo_diskloader/DiskLoader.elf.hex new file mode 100644 index 0000000..4c4e33e --- /dev/null +++ b/bootloaders/nuevo_diskloader/DiskLoader.elf.hex @@ -0,0 +1,172 @@ +:10700000B8C00000DBC00000D9C00000D7C000003D
+:10701000D5C00000D3C00000D1C00000CFC0000028
+:10702000CDC00000CBC0000089C30000FBC300003E
+:10703000C5C00000C3C00000C1C00000BFC0000048
+:10704000BDC00000BBC00000B9C00000B7C0000058
+:10705000B5C00000B3C00000B1C00000AFC0000068
+:10706000ADC00000ABC00000A9C00000A7C0000078
+:10707000A5C00000A3C00000A1C000009FC0000088
+:107080009DC000009BC0000099C0000097C0000098
+:1070900095C0000093C0000091C000008FC00000A8
+:1070A0008DC000008BC0000089C0000056C1080BD5
+:1070B00000020202010009040000010202000005B2
+:1070C0002400100105240101010424020605240600
+:1070D00000010705810310004009040100020A00B5
+:1070E000000007050202400000070583024000007F
+:1070F000410142144505560455026403740300001F
+:107100001E958702011003000403090422030000F6
+:10711000000000000000000000000000000000006F
+:107120000000000000000000000000000000180344
+:10713000410072006400750069006E006F0020005D
+:107140004C004C00430012010002000000404123AB
+:10715000880000010102000112010002020000404B
+:107160004123880000010102000100C18081F8383C
+:10717000023C11241FBECFEFDAE0DEBFCDBF11E02D
+:10718000A0E0B1E0E0E8FAE702C005900D92A83176
+:10719000B107D9F711E0A8E1B1E001C01D92A73A0B
+:1071A000B107E1F711E7C2E7D1E703C02297FE017B
+:1071B00061D4CE36D107D1F7D0D060C421CFDC0165
+:1071C00080910001909101018F5F9F4F61F4ED91DB
+:1071D000FC9111970480F581E02DCD0109959093E4
+:1071E00001018093000180910001909101010895B7
+:1071F0008EE091E090931901809318010895DF9338
+:10720000CF930F92CDB7DEB76983809109018823B0
+:1072100051F083E0BE016F5F7F4F41E050E0AAD1A3
+:107220001816190614F080E090E00F90CF91DF91CE
+:10723000089583E079C220910001309101018FEF20
+:107240002F3F380739F08FEF9FEF90930101809324
+:10725000000103C082E066D19C01C901089582E06B
+:1072600024D1282F80910001909101018F5F9F4FC1
+:1072700009F02F5F822F90E00895FC0180818E5FDE
+:10728000808380E86EEA70E742E450E0FFC1FC01D1
+:1072900081819081913A49F48132C1F480E062E0C9
+:1072A00071E047E050E0F2D10FC0913279F48032C2
+:1072B00031F482E091E067E070E024D205C08232D0
+:1072C00029F482818093090181E0089580E0089586
+:1072D000FF920F931F93CF93DF93982F8B01FF247F
+:1072E00088E76030780738F4FF24F39483E0FB01EB
+:1072F00080935700E895C42FD0E0892F6AE171E0B0
+:10730000AE01DCD0FF2019F107B600FCFDCFD5950A
+:10731000C7954C2FF801AAE1B1E020E031E009C0A7
+:107320008D919D910C0130935700E8951124329670
+:107330002F5F2417A8F385E0F80180935700E895A4
+:1073400007B600FCFDCF81E180935700E895DF91FF
+:10735000CF911F910F91FF90089588E10FB6F89497
+:1073600080936000109260000FBE3F9A209A6E9A40
+:1073700090E8909361001092610081E885BF95BF0D
+:1073800001E005BF02E005BF769A289A479886EA91
+:1073900091E022D2789484E180939A0180E18093F5
+:1073A0009B01EE24FF2488E191E059DF18161906AD
+:1073B000D4F788E191E03FDF182F80EF90E7FC01E0
+:1073C0002491319602964491211711F02223B9F7A6
+:1073D00010929D0110929C0150E082E06AE171E000
+:1073E0006DD0113479F460911A016058633028F03F
+:1073F000683111F064E001C063E0C62FD0E0CD5FDA
+:10740000DE480EC0163571F480911A01803311F0F8
+:1074100011E022C080911C01C82FD0E0C050DF488D
+:1074200011E022C0153721F413E0C0E0D1E71CC001
+:10743000153539F4E0901A01F0901B01EE0CFF1C99
+:107440000AC0143631F482E0B70140911B0140DFDD
+:1074500002C0143721F010E0C7E0D1E705C0109159
+:107460001B01E701E10EF11C83E06AE971E041E0F4
+:1074700050E080D0112329F0412F50E083E8BE0175
+:1074800079D083E46BE971E041E050E073D08BCFB9
+:10749000FC0104C08091F100819361506623D1F713
+:1074A000289884E680939F0108959FB7F894877089
+:1074B0008093E9008091F2009FBF0895282F80916A
+:1074C000A0018823C1F057FF1AC015C028989093D7
+:1074D0009F018091F1008193E217F307B9F74115FD
+:1074E000510539F08091F200882319F48BE68093DE
+:1074F000E800AFBF02C04FEF5FEFCA010895AFB71A
+:10750000F89427702093E9008091F200282F30E052
+:10751000241735070CF4A901FB019B01240F311D31
+:1075200094E6DACFDF93CF930F92CDB7DEB7BE01EB
+:107530006F5F7F4F41E050E0C1DF019719F08FEF9F
+:107540009FEF02C0898190E00F90CF91DF91089565
+:107550002FB7F89487708093E9008091E80085FD4B
+:1075600002C090E004C08091F20090E4981B2FBF0D
+:10757000892F08955F926F927F928F929F92AF9220
+:10758000BF92CF92DF92EF92FF920F931F93CF9310
+:10759000DF93F82E6A018091A001882319F44FEF40
+:1075A0005FEF63C08B01EA0157E0E52EEF208F2DDE
+:1075B00090E040E2842E912C882299223AE3532EC7
+:1075C00020E4A22EB12CA822B92280EE682E8EE2F1
+:1075D000782E43C08F2DBCDF282F882321F4C301D0
+:1075E0000197F1F73AC090E0C817D9070CF42C2F97
+:1075F000C21BD1094FB7F894E092E90081149104BD
+:1076000021F406C01092F10021502223D9F719C0AD
+:10761000F7FC03C0F801922F10C0C801322F06C03A
+:10762000FC010196E491E093F10031503323C1F75E
+:1076300006C081918093F10091509923D1F7020FF8
+:10764000111D8091E80085FF05C0209729F4A11441
+:10765000B10411F05092E8004FBF209709F0BACF63
+:10766000769884E680939E01A601CA01DF91CF91AE
+:107670001F910F91FF90EF90DF90CF90BF90AF9050
+:107680009F908F907F906F905F9008950F931F93BE
+:10769000182FFB01A091A301B091A401BA010EEF34
+:1076A0002AC017FF02C0949101C090812091A101CE
+:1076B0003091A2012A173B07ACF48091E800857055
+:1076C000E1F38091E80082FF03C04FEF5FEF16C047
+:1076D0009093F100C90101968F739070892B11F47A
+:1076E0000093E8002F5F3F4F3093A2012093A10148
+:1076F0006150704031966115710599F6CA011F916C
+:107700000F910895CF93DF939C01EB018091E800E6
+:1077100082FFFCCFC9016C2FBBDE8BEF8093E800AA
+:10772000CE01DF91CF9108958093E9008091F2001E
+:10773000882319F08AE38093E80008951F920F923E
+:107740000FB60F9211242F933F938F938091E100F6
+:107750001092E100282F83FF0FC01092E90081E012
+:107760008093EB001092EC0082E38093ED00109286
+:10777000A00188E08093F00022FF26C083E0809380
+:10778000E9008091F200882319F08AE38093E800F1
+:1077900080919E01882351F080919E0181508093B9
+:1077A0009E0180919E01882309F4769A80919F0121
+:1077B000882351F080919F01815080939F01809197
+:1077C0009F01882309F4289A8F913F912F910F9060
+:1077D0000FBE0F901F9018951092A00181E080932A
+:1077E000D70080EA8093D80082E189BD09B400FE09
+:1077F000FDCF80E98093D8008CE08093E200109266
+:10780000E00008950895DF93CF930F92CDB7DEB7D0
+:107810001982CE01019631DD898190E00F90CF91E0
+:10782000DF9108951F920F920FB60F921124EF92DD
+:10783000FF921F932F933F934F935F936F937F9389
+:107840008F939F93AF93BF93EF93FF93DF93CF9368
+:10785000CDB7DEB76197DEBFCDBF1092E900809152
+:10786000E80083FFECC0CE01019668E011DE82EFF4
+:107870008093E800998197FF05C08091E80080FF20
+:10788000FCCF03C08EEF8093E800292F30E0C901C0
+:1078900080769070892B09F0B3C08A81882329F4FF
+:1078A0001092F1001092F100BFC0813009F4BCC009
+:1078B000833009F4B9C0853049F48091E80080FF35
+:1078C000FCCF8B8180688093E300AEC0863009F0E6
+:1078D0006DC01C81EF80F8841230A9F51092E90088
+:1078E0001092A2011092A1011092A4011092A30182
+:1078F0008ADF99E0FE013996DF01292F1D922A9532
+:10790000E9F799871A8791E09E8790E8988B9AEF1C
+:10791000998B2091A1013091A201275F3F4F3C87B5
+:107920002B878D871092E9001092A2011092A1017D
+:10793000F092A401E092A30180E0BF0149E050E091
+:10794000A5DE61DF71C01092E9001092A2011092D1
+:10795000A101F092A401E092A301113071F488E03A
+:10796000E816F10411F41093A5018091A501882374
+:1079700009F062C0E6E4F1E713C0133009F058C023
+:107980008B81882319F4E8E0F1E70AC0823019F40A
+:10799000ECE0F1E705C0813009F04AC0EEE2F1E722
+:1079A000449150E080E8BF0171DE3EC0873009F4A9
+:1079B0003FC0883021F481E08093F10035C08930E8
+:1079C00099F523703070232B99F5EBE6F1E791E000
+:1079D00031E026E39093E9003093EB0084918093AB
+:1079E000EC002093ED009F5F3196943099F78EE77D
+:1079F0008093EA001092EA008B818093A00114C06A
+:107A00008F8198851092E9001092A2011092A10135
+:107A10009093A4018093A3018D81882349F4CE0122
+:107A2000019635DC882321F08EEF8093E80007C0B3
+:107A300081E28093EB0003C0E8E5F1E7B1CF619606
+:107A4000DEBFCDBFCF91DF91FF91EF91BF91AF919D
+:107A50009F918F917F916F915F914F913F912F9166
+:107A60001F91FF90EF900F900FBE0F901F901895F1
+:107A7000EE0FFF1F0590F491E02D0994F894FFCFCD
+:107A8000FFFF00E1000000000000000000002F39AF
+:087A9000DF381B391939FF38FA
+:040000030000700089
+:00000001FF
diff --git a/bootloaders/nuevo_diskloader/DiskLoader.hex b/bootloaders/nuevo_diskloader/DiskLoader.hex index c7ae611..4c4e33e 100644 --- a/bootloaders/nuevo_diskloader/DiskLoader.hex +++ b/bootloaders/nuevo_diskloader/DiskLoader.hex @@ -1,6 +1,6 @@ :10700000B8C00000DBC00000D9C00000D7C000003D
:10701000D5C00000D3C00000D1C00000CFC0000028
-:10702000CDC00000CBC00000BEC3000031C40000D2
+:10702000CDC00000CBC0000089C30000FBC300003E
:10703000C5C00000C3C00000C1C00000BFC0000048
:10704000BDC00000BBC00000B9C00000B7C0000058
:10705000B5C00000B3C00000B1C00000AFC0000068
@@ -8,7 +8,7 @@ :10707000A5C00000A3C00000A1C000009FC0000088
:107080009DC000009BC0000099C0000097C0000098
:1070900095C0000093C0000091C000008FC00000A8
-:1070A0008DC000008BC0000089C0000073C1080BB8
+:1070A0008DC000008BC0000089C0000056C1080BD5
:1070B00000020202010009040000010202000005B2
:1070C0002400100105240101010424020605240600
:1070D00000010705810310004009040100020A00B5
@@ -21,159 +21,152 @@ :107140004C004C00430012010002000000404123AB
:10715000880000010102000112010002020000404B
:107160004123880000010102000100C18081F8383C
-:10717000383C11241FBECFEFDAE0DEBFCDBF11E0F7
-:10718000A0E0B1E0ECEEFAE702C005900D92A83164
+:10717000023C11241FBECFEFDAE0DEBFCDBF11E02D
+:10718000A0E0B1E0E0E8FAE702C005900D92A83176
:10719000B107D9F711E0A8E1B1E001C01D92A73A0B
:1071A000B107E1F711E7C2E7D1E703C02297FE017B
-:1071B00097D4CE36D107D1F7EDD096C421CFDC01DC
+:1071B00061D4CE36D107D1F7D0D060C421CFDC0165
:1071C00080910001909101018F5F9F4F61F4ED91DB
:1071D000FC9111970480F581E02DCD0109959093E4
:1071E00001018093000180910001909101010895B7
:1071F0008EE091E090931901809318010895DF9338
:10720000CF930F92CDB7DEB76983809109018823B0
-:1072100051F083E0BE016F5F7F4F41E050E0EDD160
+:1072100051F083E0BE016F5F7F4F41E050E0AAD1A3
:107220001816190614F080E090E00F90CF91DF91CE
-:10723000089583E0AEC220910001309101018FEFEB
+:10723000089583E079C220910001309101018FEF20
:107240002F3F380739F08FEF9FEF90930101809324
-:10725000000103C082E0A9D19C01C901089582E028
-:1072600067D1282F80910001909101018F5F9F4F7E
+:10725000000103C082E066D19C01C901089582E06B
+:1072600024D1282F80910001909101018F5F9F4FC1
:1072700009F02F5F822F90E00895FC0180818E5FDE
-:10728000808380E86EEA70E742E450E034C286EA28
-:1072900091E0EDD2F8940C94003C0895CF93DF93E5
-:1072A000EC0189819881913A49F4813251F580E06D
-:1072B00062E071E047E050E01ED221C0913209F552
-:1072C000803231F482E091E067E070E050D217C084
-:1072D0008232B9F480910901882371F08091020112
-:1072E00090910301A0910401B0910501805B94404D
-:1072F000A040B04009F4CBDF8A818093090181E08E
-:1073000001C080E0DF91CF910895FF920F931F930A
-:10731000CF93DF93982F8B01FF2488E760307807A5
-:1073200038F4FF24F39483E0FB0180935700E89541
-:10733000C42FD0E0892F6AE171E0AE0102D1FF20B5
-:1073400019F107B600FCFDCFD595C7954C2FF80174
-:10735000AAE1B1E020E031E009C08D919D910C01DE
-:1073600030935700E895112432962F5F2417A8F325
-:1073700085E0F80180935700E89507B600FCFDCF43
-:1073800081E180935700E895DF91CF911F910F9194
-:10739000FF90089588E10FB6F894809360001092F2
-:1073A00060000FBE3F9A209A6E9A90E89093610019
-:1073B0001092610081E885BF95BF01E005BF02E042
-:1073C00005BF769A289A479886EA91E03AD278944F
-:1073D00084E180939A0180E180939B01EE24FF2455
-:1073E00088E191E03CDF18161906D4F788E191E0B6
-:1073F00022DFC82E80EF90E7FC012491319602969F
-:1074000044912C1511F02223B9F710929D0110928E
-:107410009C0150E082E06AE171E093D0F1E4CF1684
-:1074200079F480911A018058833028F0883111F066
-:1074300084E001C083E0C82FD0E0CD5FDE4811C0FA
-:1074400086E5C81691F480911A01803321F08701F6
-:10745000DD24D3942BC080911C01C82FD0E0C050F4
-:10746000DF488701DD24D3942AC0E5E7CE1631F446
-:10747000870123E0D22EC0E0D1E721C0F5E5CF1689
-:1074800039F400911A0110911B01000F111F0DC05A
-:1074900084E6C81631F482E0B70140911B0135DF64
-:1074A00003C0E4E7CE1629F08701DD24C7E0D1E769
-:1074B00006C0D0901B01E70187010D0D111D88E169
-:1074C00091E0CDDE18161906E4F488E191E0B3DE10
-:1074D000EE24FF24809709F083CF13C088E191E068
-:1074E00069918DDEF394FD14C8F383E46BE971E0D8
-:1074F00041E050E082D0F1E5CF1609F46FCF78017A
-:107500006FCF83E06AE971E041E050E076D0DD20A2
-:1075100061F3FF24E8CFFC0104C08091F100819366
-:1075200061506623D1F7289884E680939F010895DF
-:107530009FB7F89487708093E9008091F2009FBF15
-:107540000895282F8091A0018823C1F057FF1AC009
-:1075500015C0289890939F018091F1008193E217C4
-:10756000F307B9F74115510539F08091F2008823EE
-:1075700019F48BE68093E800AFBF02C04FEF5FEFD6
-:10758000CA010895AFB7F89427702093E90080915D
-:10759000F200282F30E0241735070CF4A901FB0175
-:1075A0009B01240F311D94E6DACFDF93CF930F9226
-:1075B000CDB7DEB7BE016F5F7F4F41E050E0C1DF66
-:1075C000019719F08FEF9FEF02C0898190E00F9033
-:1075D000CF91DF9108952FB7F89487708093E900D9
-:1075E0008091E80085FD02C090E004C08091F20027
-:1075F00090E4981B2FBF892F08957F928F929F92BE
-:10760000AF92BF92CF92DF92EF92FF920F931F93B0
-:10761000CF93DF93F82E6A018091A001882319F49B
-:107620004FEF5FEF59C08B01EA0157E0E52EEF20E5
-:107630008F2D90E040E2842E912C882299223AE30B
-:10764000732E20E4A22EB12CA822B9223DC08F2D8A
-:10765000C2DF282F90E0C817D9070CF42C2FC21BCB
-:10766000D1094FB7F894E092E9008114910421F414
-:1076700006C01092F10021502223D9F719C0F7FC5F
-:1076800003C0F801922F10C0C801322F06C0FC01C0
-:107690000196E491E093F10031503323C1F706C025
-:1076A00081918093F10091509923D1F7020F111D20
-:1076B0008091E80085FF05C0209729F4A114B1044A
-:1076C00011F07092E8004FBF209709F0C0CF769874
-:1076D00084E680939E01A601CA01DF91CF911F919C
-:1076E0000F91FF90EF90DF90CF90BF90AF909F9061
-:1076F0008F907F9008950F931F93182FFB01A091F7
-:10770000A301B091A401BA010EEF2AC017FF02C075
-:10771000949101C090812091A1013091A2012A177A
-:107720003B07ACF48091E8008570E1F38091E800BC
-:1077300082FF03C04FEF5FEF16C09093F100C901C5
-:1077400001968F739070892B11F40093E8002F5FDE
-:107750003F4F3093A2012093A101615070403196B8
-:107760006115710599F6CA011F910F910895CF9384
-:10777000DF939C01EB018091E80082FFFCCFC901FF
-:107780006C2FC9DE8BEF8093E800CE01DF91CF91A3
-:1077900008958093E9008091F200882319F08AE32C
-:1077A0008093E80008951F920F920FB60F92112454
-:1077B0002F933F938F938091E1001092E100282F47
-:1077C00083FF0FC01092E90081E08093EB001092DC
-:1077D000EC0082E38093ED001092A00188E080939A
-:1077E000F00022FF26C083E08093E9008091F20040
-:1077F000882319F08AE38093E80080919E01882312
-:1078000051F080919E01815080939E0180919E0154
-:10781000882309F4769A80919F01882351F0809102
-:107820009F01815080939F0180919F01882309F4DB
-:10783000289A8F913F912F910F900FBE0F901F901C
-:1078400018951092A00181E08093D70080EA809380
-:10785000D80082E189BD09B400FEFDCF80E98093A4
-:10786000D8008CE08093E2001092E0000895089523
-:107870000895DF93CF930F92CDB7DEB71982CE0173
-:107880000196FBDC898190E00F90CF91DF91089504
-:107890001F920F920FB60F921124EF92FF921F9337
-:1078A0002F933F934F935F936F937F938F939F9308
-:1078B000AF93BF93EF93FF93DF93CF93CDB7DEB733
-:1078C0006197DEBFCDBF1092E9008091E80083FF91
-:1078D000ECC0CE01019668E01EDE82EF8093E800E6
-:1078E000998197FF05C08091E80080FFFCCF03C01D
-:1078F0008EEF8093E800292F30E0C90180769070E8
-:10790000892B09F0B3C08A81882329F41092F100F1
-:107910001092F100BFC0813009F4BCC0833009F47B
-:10792000B9C0853049F48091E80080FFFCCF8B819D
-:1079300080688093E300AEC0863009F06DC01C8182
-:10794000EF80F8841230A9F51092E9001092A2019C
-:107950001092A1011092A4011092A3018ADF99E074
-:10796000FE013996DF01292F1D922A95E9F79987A3
-:107970001A8791E09E8790E8988B9AEF998B2091D7
-:10798000A1013091A201275F3F4F3C872B878D8754
-:107990001092E9001092A2011092A101F092A401AC
-:1079A000E092A30180E0BF0149E050E0A4DE61DF86
-:1079B00071C01092E9001092A2011092A101F09200
-:1079C000A401E092A301113071F488E0E816F104FB
-:1079D00011F41093A5018091A501882309F062C0DC
-:1079E000E6E4F1E713C0133009F058C08B81882317
-:1079F00019F4E8E0F1E70AC0823019F4ECE0F1E7AD
-:107A000005C0813009F04AC0EEE2F1E7449150E050
-:107A100080E8BF0170DE3EC0873009F43FC0883087
-:107A200021F481E08093F10035C0893099F523700D
-:107A30003070232B99F5EBE6F1E791E031E026E396
-:107A40009093E9003093EB0084918093EC002093B5
-:107A5000ED009F5F3196943099F78EE78093EA00AE
-:107A60001092EA008B818093A00114C08F819885C9
-:107A70001092E9001092A2011092A1019093A4012A
-:107A80008093A3018D81882349F4CE01019606DC01
-:107A9000882321F08EEF8093E80007C081E2809375
-:107AA000EB0003C0E8E5F1E7B1CF6196DEBFCDBFE3
-:107AB000CF91DF91FF91EF91BF91AF919F918F9106
-:107AC0007F916F915F914F913F912F911F91FF9007
-:107AD000EF900F900FBE0F901F901895EE0FFF1FA5
-:0C7AE0000590F491E02D0994F894FFCF7C
-:107AEC00FFFF00E1000000000000000000002F3943
-:087AFC00DF381B391939FF388E
+:10728000808380E86EEA70E742E450E0FFC1FC01D1
+:1072900081819081913A49F48132C1F480E062E0C9
+:1072A00071E047E050E0F2D10FC0913279F48032C2
+:1072B00031F482E091E067E070E024D205C08232D0
+:1072C00029F482818093090181E0089580E0089586
+:1072D000FF920F931F93CF93DF93982F8B01FF247F
+:1072E00088E76030780738F4FF24F39483E0FB01EB
+:1072F00080935700E895C42FD0E0892F6AE171E0B0
+:10730000AE01DCD0FF2019F107B600FCFDCFD5950A
+:10731000C7954C2FF801AAE1B1E020E031E009C0A7
+:107320008D919D910C0130935700E8951124329670
+:107330002F5F2417A8F385E0F80180935700E895A4
+:1073400007B600FCFDCF81E180935700E895DF91FF
+:10735000CF911F910F91FF90089588E10FB6F89497
+:1073600080936000109260000FBE3F9A209A6E9A40
+:1073700090E8909361001092610081E885BF95BF0D
+:1073800001E005BF02E005BF769A289A479886EA91
+:1073900091E022D2789484E180939A0180E18093F5
+:1073A0009B01EE24FF2488E191E059DF18161906AD
+:1073B000D4F788E191E03FDF182F80EF90E7FC01E0
+:1073C0002491319602964491211711F02223B9F7A6
+:1073D00010929D0110929C0150E082E06AE171E000
+:1073E0006DD0113479F460911A016058633028F03F
+:1073F000683111F064E001C063E0C62FD0E0CD5FDA
+:10740000DE480EC0163571F480911A01803311F0F8
+:1074100011E022C080911C01C82FD0E0C050DF488D
+:1074200011E022C0153721F413E0C0E0D1E71CC001
+:10743000153539F4E0901A01F0901B01EE0CFF1C99
+:107440000AC0143631F482E0B70140911B0140DFDD
+:1074500002C0143721F010E0C7E0D1E705C0109159
+:107460001B01E701E10EF11C83E06AE971E041E0F4
+:1074700050E080D0112329F0412F50E083E8BE0175
+:1074800079D083E46BE971E041E050E073D08BCFB9
+:10749000FC0104C08091F100819361506623D1F713
+:1074A000289884E680939F0108959FB7F894877089
+:1074B0008093E9008091F2009FBF0895282F80916A
+:1074C000A0018823C1F057FF1AC015C028989093D7
+:1074D0009F018091F1008193E217F307B9F74115FD
+:1074E000510539F08091F200882319F48BE68093DE
+:1074F000E800AFBF02C04FEF5FEFCA010895AFB71A
+:10750000F89427702093E9008091F200282F30E052
+:10751000241735070CF4A901FB019B01240F311D31
+:1075200094E6DACFDF93CF930F92CDB7DEB7BE01EB
+:107530006F5F7F4F41E050E0C1DF019719F08FEF9F
+:107540009FEF02C0898190E00F90CF91DF91089565
+:107550002FB7F89487708093E9008091E80085FD4B
+:1075600002C090E004C08091F20090E4981B2FBF0D
+:10757000892F08955F926F927F928F929F92AF9220
+:10758000BF92CF92DF92EF92FF920F931F93CF9310
+:10759000DF93F82E6A018091A001882319F44FEF40
+:1075A0005FEF63C08B01EA0157E0E52EEF208F2DDE
+:1075B00090E040E2842E912C882299223AE3532EC7
+:1075C00020E4A22EB12CA822B92280EE682E8EE2F1
+:1075D000782E43C08F2DBCDF282F882321F4C301D0
+:1075E0000197F1F73AC090E0C817D9070CF42C2F97
+:1075F000C21BD1094FB7F894E092E90081149104BD
+:1076000021F406C01092F10021502223D9F719C0AD
+:10761000F7FC03C0F801922F10C0C801322F06C03A
+:10762000FC010196E491E093F10031503323C1F75E
+:1076300006C081918093F10091509923D1F7020FF8
+:10764000111D8091E80085FF05C0209729F4A11441
+:10765000B10411F05092E8004FBF209709F0BACF63
+:10766000769884E680939E01A601CA01DF91CF91AE
+:107670001F910F91FF90EF90DF90CF90BF90AF9050
+:107680009F908F907F906F905F9008950F931F93BE
+:10769000182FFB01A091A301B091A401BA010EEF34
+:1076A0002AC017FF02C0949101C090812091A101CE
+:1076B0003091A2012A173B07ACF48091E800857055
+:1076C000E1F38091E80082FF03C04FEF5FEF16C047
+:1076D0009093F100C90101968F739070892B11F47A
+:1076E0000093E8002F5F3F4F3093A2012093A10148
+:1076F0006150704031966115710599F6CA011F916C
+:107700000F910895CF93DF939C01EB018091E800E6
+:1077100082FFFCCFC9016C2FBBDE8BEF8093E800AA
+:10772000CE01DF91CF9108958093E9008091F2001E
+:10773000882319F08AE38093E80008951F920F923E
+:107740000FB60F9211242F933F938F938091E100F6
+:107750001092E100282F83FF0FC01092E90081E012
+:107760008093EB001092EC0082E38093ED00109286
+:10777000A00188E08093F00022FF26C083E0809380
+:10778000E9008091F200882319F08AE38093E800F1
+:1077900080919E01882351F080919E0181508093B9
+:1077A0009E0180919E01882309F4769A80919F0121
+:1077B000882351F080919F01815080939F01809197
+:1077C0009F01882309F4289A8F913F912F910F9060
+:1077D0000FBE0F901F9018951092A00181E080932A
+:1077E000D70080EA8093D80082E189BD09B400FE09
+:1077F000FDCF80E98093D8008CE08093E200109266
+:10780000E00008950895DF93CF930F92CDB7DEB7D0
+:107810001982CE01019631DD898190E00F90CF91E0
+:10782000DF9108951F920F920FB60F921124EF92DD
+:10783000FF921F932F933F934F935F936F937F9389
+:107840008F939F93AF93BF93EF93FF93DF93CF9368
+:10785000CDB7DEB76197DEBFCDBF1092E900809152
+:10786000E80083FFECC0CE01019668E011DE82EFF4
+:107870008093E800998197FF05C08091E80080FF20
+:10788000FCCF03C08EEF8093E800292F30E0C901C0
+:1078900080769070892B09F0B3C08A81882329F4FF
+:1078A0001092F1001092F100BFC0813009F4BCC009
+:1078B000833009F4B9C0853049F48091E80080FF35
+:1078C000FCCF8B8180688093E300AEC0863009F0E6
+:1078D0006DC01C81EF80F8841230A9F51092E90088
+:1078E0001092A2011092A1011092A4011092A30182
+:1078F0008ADF99E0FE013996DF01292F1D922A9532
+:10790000E9F799871A8791E09E8790E8988B9AEF1C
+:10791000998B2091A1013091A201275F3F4F3C87B5
+:107920002B878D871092E9001092A2011092A1017D
+:10793000F092A401E092A30180E0BF0149E050E091
+:10794000A5DE61DF71C01092E9001092A2011092D1
+:10795000A101F092A401E092A301113071F488E03A
+:10796000E816F10411F41093A5018091A501882374
+:1079700009F062C0E6E4F1E713C0133009F058C023
+:107980008B81882319F4E8E0F1E70AC0823019F40A
+:10799000ECE0F1E705C0813009F04AC0EEE2F1E722
+:1079A000449150E080E8BF0171DE3EC0873009F4A9
+:1079B0003FC0883021F481E08093F10035C08930E8
+:1079C00099F523703070232B99F5EBE6F1E791E000
+:1079D00031E026E39093E9003093EB0084918093AB
+:1079E000EC002093ED009F5F3196943099F78EE77D
+:1079F0008093EA001092EA008B818093A00114C06A
+:107A00008F8198851092E9001092A2011092A10135
+:107A10009093A4018093A3018D81882349F4CE0122
+:107A2000019635DC882321F08EEF8093E80007C0B3
+:107A300081E28093EB0003C0E8E5F1E7B1CF619606
+:107A4000DEBFCDBFCF91DF91FF91EF91BF91AF919D
+:107A50009F918F917F916F915F914F913F912F9166
+:107A60001F91FF90EF900F900FBE0F901F901895F1
+:107A7000EE0FFF1F0590F491E02D0994F894FFCFCD
+:107A8000FFFF00E1000000000000000000002F39AF
+:087A9000DF381B391939FF38FA
:040000030000700089
:00000001FF
diff --git a/bootloaders/nuevo_diskloader/src/CDC.cpp b/bootloaders/nuevo_diskloader/src/CDC.cpp index 6c5e8dc..827899d 100644 --- a/bootloaders/nuevo_diskloader/src/CDC.cpp +++ b/bootloaders/nuevo_diskloader/src/CDC.cpp @@ -92,8 +92,8 @@ bool WEAK CDC_Setup(Setup& setup) if (CDC_SET_CONTROL_LINE_STATE == r) { - if (0 != _usbLineInfo.lineState && 1200 == _usbLineInfo.dwDTERate) // auto-reset is triggered when the port, already open at 1200 bps, is closed - Reboot(); +// if (0 != _usbLineInfo.lineState && 1200 == _usbLineInfo.dwDTERate) // auto-reset is triggered when the port, already open at 1200 bps, is closed +// Reboot(); _usbLineInfo.lineState = setup.wValueL; return true; } diff --git a/bootloaders/nuevo_diskloader/src/DiskLoader.cpp b/bootloaders/nuevo_diskloader/src/DiskLoader.cpp index 86d62e4..2f41f25 100644 --- a/bootloaders/nuevo_diskloader/src/DiskLoader.cpp +++ b/bootloaders/nuevo_diskloader/src/DiskLoader.cpp @@ -116,13 +116,14 @@ int main() _inSync = STK_INSYNC; _ok = STK_OK; + for (;;) { u8* packet = _flashbuf; u16 address = 0; for (;;) { - while (Serial.available() <= 0) + while (Serial.available() < 1) ; u8 cmd = Serial.read(); @@ -185,20 +186,42 @@ int main() USB_Send(CDC_TX, &_inSync, 1); if (send) { - u8 i; - for (i=0; i<send; i++) { -// Serial.write(0xFF); // this works -// Serial.write(*pgm + i); // this doesn't - Serial.write(pgm[i]); - } +// u8 i; +// for (i=0; i<send; i++) { +//// Serial.write(0xFF); // this works +//// Serial.write(*pgm + i); // this doesn't +// Serial.write(pgm[i]); +// } + USB_Send(CDC_TX|TRANSFER_PGM, pgm, send); } // Send ok // Serial.write(STK_OK); USB_Send(CDC_TX|TRANSFER_RELEASE, &_ok, 1); - if ('Q' == cmd) - break; +// if ('Q' == cmd) +// break; + } + } + + /* + for (;;) + { + for (;;) + { + while (Serial.available() < 1) + ; + u8 cmd = Serial.read(); + + if (cmd == '1') + { + L_LED_ON(); + } + +// USB_Send(CDC_TX, &_inSync, 1); +// +// USB_Send(CDC_TX|TRANSFER_RELEASE, &_ok, 1); } } + */ } diff --git a/bootloaders/nuevo_diskloader/src/USBCore.cpp b/bootloaders/nuevo_diskloader/src/USBCore.cpp index 8b7ef82..abb529a 100644 --- a/bootloaders/nuevo_diskloader/src/USBCore.cpp +++ b/bootloaders/nuevo_diskloader/src/USBCore.cpp @@ -268,14 +268,14 @@ int USB_Send(u8 ep, const void* d, int len) while (len) { u8 n = USB_SendSpace(ep); -// if (n == 0) -// { + if (n == 0) + { // if (!(--timeout)) // return -1; // delay(1); -// _delay_ms(1); -// continue; -// } + _delay_ms(3); + continue; + } if (n > len) n = len; |