Dumps offically working for PRG-ROM on NROM!!!
Found bug with setting map_n_part due to >/< instead of >=/<= for setting called_buff... Was also setting mem_type and part backwards in dump.c The had issues with usb timing out for more than 1 buffer read back Problem was due to lack of usbPoll while dumping during double buffering Adding usbPoll to page read to correct issue Appears to be issue with dumping first byte of this choplifter cart I'm testing with. Not so certain it's my bug though.. No matter what I do the first byte reads back 0x78 and copy I downloaded has 0x00. Setting my first byte to 0x00 also creates proper CRC32 according to bootgod's database. So need to look into this more to figure out what's going on.
This commit is contained in:
parent
49ec51e767
commit
c2359e67a5
|
|
@ -1,25 +1,25 @@
|
|||
:100000000C94E8000C945A080C9405010C9405011A
|
||||
:100000000C94E8000C9477090C9405010C940501FC
|
||||
:100010000C9405010C9405010C9405010C94050148
|
||||
:100020000C9405010C9405010C9405010C94050138
|
||||
:100030000C9405010C9405010C9405010C94050128
|
||||
:100040000C9405010C9405010C9405010C94050118
|
||||
:100050000C9405010C9405010C9405010C94050108
|
||||
:100060000C9405010C9405010C9405010C940501F8
|
||||
:100070000C9405010C9405010C940501AE04B00428
|
||||
:10008000B304B504B804BA04BD04BF04C204C40474
|
||||
:10009000C604C904CB04CD04CF04D104D304D504D1
|
||||
:1000A000D7044A054A054A054A05D904DB04DD049C
|
||||
:1000B000DF044A054A054A054A05E104E304E5046C
|
||||
:1000C000E704E904EB04ED04EF04F104F304F504A0
|
||||
:1000D000F704F904FB04FD04FF044A054A054A0538
|
||||
:1000E0004A05010503054805050507050B050E052D
|
||||
:1000F000120515051B051805140517051A051D051C
|
||||
:100100001F05210523052505270529052B052D0597
|
||||
:100110002F05310533053505370539053B053D0507
|
||||
:100120003F054A054A054A054A0544054105430578
|
||||
:10013000470557055B0559055D0563056A056C05AF
|
||||
:100140006E0570057A057D05D105D305D505D70562
|
||||
:10015000D905DB05DD05DF05E105E305E505E90575
|
||||
:100070000C9405010C9405010C940501CB05CD05EC
|
||||
:10008000D005D205D505D705DA05DC05DF05E10584
|
||||
:10009000E305E605E805EA05EC05EE05F005F205E1
|
||||
:1000A000F4056706670667066706F605F805FA05AC
|
||||
:1000B000FC056706670667066706FE05000602067A
|
||||
:1000C0000406060608060A060C060E0610061206A8
|
||||
:1000D0001406160618061A061C0667066706670643
|
||||
:1000E00067061E06200665062206240628062B063D
|
||||
:1000F0002F063206380635063106340637063A062C
|
||||
:100100003C063E06400642064406460648064A06A7
|
||||
:100110004C064E06500652065406560658065A0617
|
||||
:100120005C06670667066706670661065E06600688
|
||||
:1001300064067406780676067A06800687068906BF
|
||||
:100140008B068D0697069A06EE06F006F206F40672
|
||||
:10015000F606F806FA06FC06FE0600070207060782
|
||||
:10016000090212000101008096090400000000004D
|
||||
:10017000000012011001FF000008C016DC0500029B
|
||||
:10018000010200011E0349004E004C0020005200F5
|
||||
|
|
@ -28,283 +28,318 @@
|
|||
:1001B000740065004E00650073004C006900760015
|
||||
:1001C000650073002E0063006F006D0004030904D6
|
||||
:1001D00011241FBECFEFD4E0DEBFCDBF11E0A0E001
|
||||
:1001E000B1E0E2E3F3E102C005900D92A230B10765
|
||||
:1001F000D9F713E0A2E0B1E001C01D92A938B10720
|
||||
:10020000E1F70E946E090C9497090C940000CF92BC
|
||||
:1001E000B1E0ECE6F5E102C005900D92A230B10756
|
||||
:1001F000D9F713E0A2E0B1E001C01D92AD38B1071C
|
||||
:10020000E1F70E948B0A0C94B40A0C940000CF9280
|
||||
:10021000DF92EF92FF92CF93DF93DB01F701E601CC
|
||||
:10022000813549F18036F1F0803509F044C01296ED
|
||||
:100230008C911297808313968C91139781831496D7
|
||||
:100240008C911497828315968C91159783831696BB
|
||||
:100250008C911697848317968C911797858318969F
|
||||
:100260008C9123C0A22FB0E0AE5FBE4F8C918083F3
|
||||
:1002700088818F5F1DC019968C91199780831A967B
|
||||
:100280008C911A9781831B968C911B9782831C9665
|
||||
:100290008C911C9783831D968C911D9784831E9649
|
||||
:1002A0008C911E9785831F968C9186838881895FA8
|
||||
:1002B000888380E001C084EBDF91CF91FF90EF90C5
|
||||
:1002C000DF90CF900895FC01809142039091430309
|
||||
:1002D00040814078403851F48681D9018C938091D7
|
||||
:1002E000420390914303409345030FC04FEFD90160
|
||||
:1002F0004C93268120935C0322E433E030935E0329
|
||||
:1003000020935D0320E92093450310924603228148
|
||||
:10031000213711F02034D1F4A0915D03B0915E0338
|
||||
:100320000D90BC91A02D25812C93A0915D03B091DF
|
||||
:100330005E030D90BC91A02D248111962C93E09129
|
||||
:100340005D03F0915E0324812E5F24830895E2E033
|
||||
:10035000F1E09FEF8FEF919321E0E231F207D1F7C7
|
||||
:10036000809345038093350380934803809338033B
|
||||
:1003700080932503809315038093280380931803AB
|
||||
:100380000895FB01813389F038F4882359F08033D4
|
||||
:1003900099F4418722870EC0823351F0833361F490
|
||||
:1003A000278708C00E94A70105C04387248702C091
|
||||
:1003B0004587268780E0089584EB0895CF93DF93E7
|
||||
:1003C000FC0150E0CA01820F911D41970CF046C01C
|
||||
:1003D000222309F445C083818F3F09F043C0868101
|
||||
:1003E0008F3F09F041C080E090E0EA01CE5FDE4F30
|
||||
:1003F000821750F40196DE01A80FB91F11973C91A6
|
||||
:100400003F3FB1F381EC31C066831382822F829526
|
||||
:10041000880F807E81508283148215821086178215
|
||||
:10042000118612861386148615861786CA0135E052
|
||||
:10043000880F991F3A95E1F78E5E9E4F91838083D6
|
||||
:1004400080E090E04E5F5E4F821730F4FA01E80FD3
|
||||
:10045000F91F60830196F8CF80E007C08EEB05C0DE
|
||||
:1004600082EC03C08FEB01C080ECDF91CF91089547
|
||||
:100470000F93FB01642F422F202F803888F088389B
|
||||
:1004800058F08059883060F40583242F30E0362BF3
|
||||
:100490003087278380E005C0CF010F910C94DE01E7
|
||||
:1004A00086EB0F910895CF92DF92EF92FF920F9318
|
||||
:1004B000CF93DF93FC01EB016A0182819FEC980FDF
|
||||
:1004C0009E3270F49381913071F050F0923029F0A7
|
||||
:1004D0009330C1F562E173E008C062E273E005C0E9
|
||||
:1004E00062E473E002C062E373E0803768F4803551
|
||||
:1004F00080F4803408F047C00381248145810E9444
|
||||
:10050000C101888381E03CC0803868F4960140E0F6
|
||||
:100510003CC07E019FEFE91AF90A038124814581DD
|
||||
:100520000E9407013DC0982F97709130A1F080F094
|
||||
:10053000923029F0933031F462E173E00EC062E250
|
||||
:1005400073E00BC086E8888381E0D6018C9329C0D4
|
||||
:1005500062E473E002C062E373E0803F50F4803CE9
|
||||
:1005600058F48038E0F00381248145810E943802EC
|
||||
:1005700017C0883F40F013C0DB01CD91DC9186812C
|
||||
:10058000F60180830EC096014FEFCF01DF91CF912E
|
||||
:100590000F91FF90EF90DF90CF900C94630185E86E
|
||||
:1005A0008883CE01DF91CF910F91FF90EF90DF9084
|
||||
:1005B000CF90089580915103803D59F410924603E5
|
||||
:1005C00082E493E00E940303811103C088ED8093CD
|
||||
:1005D0004503E0915D03F0915E039281848198135D
|
||||
:1005E00002C088E9838380915103803F59F41092BF
|
||||
:1005F000460382E493E00E942F03811103C088ED3B
|
||||
:10060000809345030895EF92FF920F931F93CF932A
|
||||
:10061000DF931F92CDB7DEB77C01FC019781906814
|
||||
:10062000F70164818281681788F4F70100811181E4
|
||||
:10063000060F111D892F99830E942C04F8018083D5
|
||||
:10064000F70184818F5F84839981EACF80E00F90E6
|
||||
:10065000DF91CF911F910F91FF90EF9008950F932D
|
||||
:100660001F93CF93DF93EC011F8110689C818A81D7
|
||||
:10067000981790F54AEA65E585E50E94040445E58A
|
||||
:100680006AEA8AE20E94040440EA65E585E50E9480
|
||||
:1006900004046C81E881F981E60FF11D4081812F0E
|
||||
:1006A0000E9404046C81812F0E942C04082F6C810D
|
||||
:1006B000812F0E942C040813F5CF8C81E881F981E9
|
||||
:1006C000E80FF11D9081091304C08F5F8C83599846
|
||||
:1006D000CDCF519A599ACACF80E0DF91CF911F9127
|
||||
:1006E0000F91089511B88FEF82B914B885B917B872
|
||||
:1006F00088B98AB184718AB98BB18B6E8BB95098E5
|
||||
:1007000058985198599A08950E947203399A419ABB
|
||||
:10071000389A40983A9A429A3C9A449A3D9A459A15
|
||||
:100720003F9A479A47988FEF84B915B8479A4798E8
|
||||
:1007300014B812B881B914B885B95998519A089566
|
||||
:100740000E947203399A419A3C9A449A3D9A459A7A
|
||||
:10075000509A589A3F9A479A4798579A5F9A5F9843
|
||||
:100760008FEF84B915B8479A479814B884B915B86B
|
||||
:100770005F9A5F9814B812B881B914B885B95998BE
|
||||
:10078000519A0895813049F028F0823051F40E9446
|
||||
:10079000A00305C00E94720302C00E94840380E08F
|
||||
:1007A000089586E90895FC0181E080835898509A65
|
||||
:1007B000000089B181835098589890818181892364
|
||||
:1007C000891308C08AEA86838483828385E58583CA
|
||||
:1007D000838308955098589A89B1818389B182831F
|
||||
:1007E00089B1838389B1848389B1858389B1868303
|
||||
:1007F000509858980895803829F4CB010E94D3036B
|
||||
:1008000080E0089587E908959FEF94B985B9479AE4
|
||||
:10081000479862B945B95898509A5098589A14B860
|
||||
:100820000895509858984098419A429A62B99FEF1B
|
||||
:1008300094B985B9479A479814B800000000409AC7
|
||||
:1008400087FD41980000000000000000000000004B
|
||||
:1008500083B14098419A089562B99FEF94B985B9E0
|
||||
:10086000479A479814B8409A87FD419800000000C5
|
||||
:100870000000000083B14098419A0895509858981C
|
||||
:100880009FEF94B962B985B9479A4798429845B99C
|
||||
:10089000409A87FD4198000000004098419A429A92
|
||||
:1008A00014B808959FEF94B9803208F4806885B930
|
||||
:1008B000479A479814B862B94498000000000000B5
|
||||
:1008C000000083B1449A0895CF93DF93982F862F29
|
||||
:1008D000642FE901913839F0923851F0903859F489
|
||||
:1008E0000E94110402C00E942C04888380E004C08E
|
||||
:1008F0000E945204FACF81EADF91CF9108959FEFD1
|
||||
:1009000094B9803208F4806885B9479A479862B9EB
|
||||
:1009100045B9000045980000459A14B80895982FED
|
||||
:10092000862F642F422F913049F028F0923051F4F5
|
||||
:100930000E943E0405C00E94040402C00E947F047D
|
||||
:1009400080E0089580EA089590E08B35910508F0E5
|
||||
:10095000A1C0FC01E25CFF4F0C94910911B895C055
|
||||
:100960008FEF81B992C012B890C08FEF82B98DC05D
|
||||
:1009700014B88BC08FEF84B988C015B886C08FEFCC
|
||||
:1009800085B983C017B881C018B87FC08FEF88B908
|
||||
:100990007CC038987AC0389A78C0409876C0409A1F
|
||||
:1009A00074C0399872C0399A70C041986EC0419A2B
|
||||
:1009B0006CC03A986AC03A9A68C0429866C0429A37
|
||||
:1009C00064C03B9862C03B9A60C043985EC0439A43
|
||||
:1009D0005CC03C985AC03C9A58C0449856C0449A4F
|
||||
:1009E00054C03D9852C03D9A50C045984EC0459A5B
|
||||
:1009F0004CC03E984AC03E9A48C0469846C0469A67
|
||||
:100A000044C03F9842C03F9A40C0479A3EC08AB116
|
||||
:100A100084718AB93AC08BB1847102C08BB18B6E7C
|
||||
:100A20008BB933C0509831C05898509A2EC0509806
|
||||
:100A3000589A2BC05098589828C0519826C0519A5F
|
||||
:100A400024C0599822C0599A20C053981EC0539A66
|
||||
:100A50001CC05B981AC05B9A18C0559816C0559A6E
|
||||
:100A600014C05D9812C05D9A10C056980EC0569A78
|
||||
:100A70000CC05E980AC05E9A08C0579806C0579A84
|
||||
:100A800004C05F9A02C05F9A5F9880E00895479A19
|
||||
:100A90004798FBCF8CE8089590E0FC01E058F109FD
|
||||
:100AA000EB30F105A0F5E756FF4F0C94910962B9C0
|
||||
:100AB00022C08FEF84B965B91EC08FEF84B965B9C4
|
||||
:100AC000479A479805C08FEF84B965B95F9A5F98D8
|
||||
:100AD00014B811C061B90FC064B90DC067B90BC0BB
|
||||
:100AE0009AB1862F846189238AB98AB16B7E682B7B
|
||||
:100AF0006AB901C068B980E008959BB1862F84610E
|
||||
:100B000089238BB98BB16B7E682B6BB9F4CF8DE8E1
|
||||
:100B10000895813A61F0823AB9F0803A11F58FEF89
|
||||
:100B200084B965B9479A479814B842B916C08FEF8F
|
||||
:100B300084B965B9479A479814B842B967FF02C0AB
|
||||
:100B400041980BC0419A09C042B98FEF84B9603215
|
||||
:100B500030F415B8479A479814B880E0089565B9FD
|
||||
:100B6000F9CF8EE80895803B61F422B98FEF84B904
|
||||
:100B700045B9479A479865B95F9A5F9814B880E07D
|
||||
:100B800008958FE80895CF93DF93EB0190E0805CA8
|
||||
:100B900091098C309105F8F48C559F4FFC010C9411
|
||||
:100BA000910980B113C083B111C086B10FC089B162
|
||||
:100BB0000DC082B10BC085B109C088B107C08BB12F
|
||||
:100BC00005C081B103C084B101C087B1888380E0D2
|
||||
:100BD00003C08AB1FBCF80E9DF91CF9108950F93D5
|
||||
:100BE000811102C0589A01C058988FEF84B922B978
|
||||
:100BF00045B9479A479805B9459800000000459ABD
|
||||
:100C0000419A14B858980F9108950F93022F81308C
|
||||
:100C100061F030F0823089F4242F462F60E008C064
|
||||
:100C2000242F462F6FEF81E004C0242F462F6FEF53
|
||||
:100C300080E00E94EF0580E001C08AEA0F910895EC
|
||||
:100C40000F93811102C0589A01C058988FEF84B950
|
||||
:100C500002B925B9479A479845B95F9A5F9814B881
|
||||
:100C60004498000000000000000083B1449A419ABB
|
||||
:100C700058980F9108950F931F93CF93DF93E80136
|
||||
:100C8000813851F0823891F08038A9F4022F242F56
|
||||
:100C9000462F6FEF81E005C0022F242F462F6FEF04
|
||||
:100CA00080E00E942006888380E006C0022F242F67
|
||||
:100CB000462F60E0F5CF8BEADF91CF911F910F9126
|
||||
:100CC00008950F931F93CF93DF931F92CDB7DEB795
|
||||
:100CD000FC0182E593E090936E0380936D0319828B
|
||||
:100CE000808187FF02C081E089838181833009F49C
|
||||
:100CF0004BC028F48130D1F08230C1F179C0853009
|
||||
:100D000009F467C008F454C0863009F071C010922D
|
||||
:100D1000520380915A0380935303E0915D03F09155
|
||||
:100D20005E0382818093540383E060C08281803BB4
|
||||
:100D300038F4803A88F4803858F40E94A40459C0EA
|
||||
:100D4000803C78F42481458163810E94B30551C0C1
|
||||
:100D500064810E944C054DC0448165810E948905D3
|
||||
:100D600048C063E573E00E94C3051DC082818038DE
|
||||
:100D700018F40E94C2033DC063E573E00E94FB03C8
|
||||
:100D80008093520388E032C08281803830F423811E
|
||||
:100D9000448165810E948F042CC023E533E04481A7
|
||||
:100DA00065810E9464048093520389818F5F1EC015
|
||||
:100DB0008281803830F42381448165810E94050658
|
||||
:100DC00018C003E513E02481458163810E943B063E
|
||||
:100DD000EACFAE014F5F5F4F62E573E0CF010E9443
|
||||
:100DE000530290936E0380936D0305C0898303C003
|
||||
:100DF00080E88093520389810F90DF91CF911F91FA
|
||||
:100E00000F910895E0915D03F0915E03448120818C
|
||||
:100E10003181582FFC01742F781B972F9E0F8E2F36
|
||||
:100E2000851B861730F48191D901A90FB11D8C93D0
|
||||
:100E3000F4CFE0915D03F0915E038481860F84839B
|
||||
:100E400090915C03961B90935C0310925A03640F7D
|
||||
:100E50008281861302C088E9838381E0911180E05A
|
||||
:100E60000895CF93DF9360916F03635067FDA4C033
|
||||
:100E700080916C03CCE0D0E0C81BD109CD58DC4F89
|
||||
:100E800080916B038D3209F085C0683009F092C003
|
||||
:100E900083EC80935F038AE58093010110925B03EA
|
||||
:100EA0008881807621F0CE010E94610660C08A812F
|
||||
:100EB000109268039981911106C01092690328E687
|
||||
:100EC00033E082E050C0953019F4809370033DC048
|
||||
:100ED0009630A9F59B81913019F482E791E004C026
|
||||
:100EE000923041F480E691E090936E0380936D031D
|
||||
:100EF00082E121C09330F1F4811108C08CEC91E0C3
|
||||
:100F000090936E0380936D0384E015C0813041F4AB
|
||||
:100F100082EA91E090936E0380936D038AE20BC0A6
|
||||
:100F2000823041F484E891E090936E0380936D03E6
|
||||
:100F30008EE101C080E090E490935B0318C098308C
|
||||
:100F400079F0993031F48093720328E633E080E041
|
||||
:100F50000AC081E09A3009F080E028E633E003C05F
|
||||
:100F600022E733E081E030936E0320936D038F3FDF
|
||||
:100F700039F4988197FD8E8190E890935B0307C0C8
|
||||
:100F80009F81911104C09E81981708F4892F809346
|
||||
:100F9000000110C080915B0387FF0CC0CE010E944E
|
||||
:100FA00002078F3F21F48EE18093010103C081117C
|
||||
:100FB0001092000110926F038091010184FF4DC0D7
|
||||
:100FC000809100018F3F09F448C0C82F893008F094
|
||||
:100FD000C8E08C1B8093000180915F0398E889270B
|
||||
:100FE00080935F03CC2361F180916D0390916E0338
|
||||
:100FF00020915B0326FF12C0A0E6B3E02FE533E0AB
|
||||
:1010000020953095280F391F4C2F4A0FF901EA0F10
|
||||
:10101000FB1FE491ED934A13F9CF09C0E0E6F3E03A
|
||||
:10102000DC012C2F2E0F3D9131932E13FCCF019616
|
||||
:101030002FEF2C0F820F911D90936E0380936D0301
|
||||
:101040006C2F80E693E00E945608CC5FCC3019F0FC
|
||||
:101050008FEF80930001C093010184E199B19471F5
|
||||
:1010600031F48150D9F71092700310926A03DF9126
|
||||
:10107000CF910895E9E6F0E0808182608083E89A6C
|
||||
:101080000895A82FB92F80E090E041E050EA6095E4
|
||||
:1010900030E009C02D9182279795879510F084271D
|
||||
:1010A0009527305EC8F36F5FA8F30895EADF8D934C
|
||||
:1010B0009D930895CF93CFB7CF93DF93C3954C9B68
|
||||
:1010C000E9F74C9B0BC04C9B09C04C9B07C04C9B49
|
||||
:1010D00005C04C9B03C04C9B01C089C06F93C0915D
|
||||
:1010E0006C03DD27CD58DC4F2F9365E54C9B03C087
|
||||
:1010F0002F916F91E6CF0F931F934F9320E040E124
|
||||
:101100005F9309B1047104FB27F93F9350E03BE082
|
||||
:1011100039C0147140642F77012F5F5F1EC0406893
|
||||
:1011200019B114712F7752501FC0406409B12F7745
|
||||
:101130000471D1F15F5F00C023C0406219B12F7705
|
||||
:10114000147191F15F5F00C025C0047110275150E8
|
||||
:1011500012F45D5F0000115027952C3F19B1C8F6BD
|
||||
:1011600014710127015027952C3FC8F64227499357
|
||||
:1011700009B1047110274F73115027952C3FA8F621
|
||||
:101180004695469519B1147179F0012701502795BC
|
||||
:101190002C3F98F66B5A60F3315009B1B0F600C09D
|
||||
:1011A00011E01CBB002717C03B503195C31BD0403A
|
||||
:1011B00011E01CBB0881033CF9F00B34E9F02091ED
|
||||
:1011C0006A031981110F1213EDCF093651F10D3257
|
||||
:1011D00011F0013E39F7009371033F915F914F91F8
|
||||
:1011E0001F910F912F916F91CCB3C0FD67CFDF910D
|
||||
:1011F000CF91CFBFCF91189520917103222369F32E
|
||||
:1012000010916F03112339F534303AF130936F03A5
|
||||
:1012100020936B0310916C033BE0311B30936C0304
|
||||
:101220001CC000916F030130B4F40AE53091010154
|
||||
:1012300034FD14C000930101CFE5D3E013C00527AE
|
||||
:1012400010E000C000000BB91AC0052710E0221FF3
|
||||
:101250001DC010E021C04AE502C032ED432FC4E1B9
|
||||
:10126000D0E032E01AB114615C9A0BB11AB954E1C2
|
||||
:1012700020E865E320FF05270BB9279517951C3F4C
|
||||
:10128000F0F66695B8F7B1F720FF05270BB927955B
|
||||
:1012900017951C3FD0F62795179517FF05270000D7
|
||||
:1012A0001C3F0BB9B0F629913A9519F70B7E1091B6
|
||||
:1012B0007003110FC651D0400BB911F010936A039F
|
||||
:1012C00011E01CBB00611AB11B7E402F4B7E54E025
|
||||
:1012D0005A95F1F70BB91AB94BB97FCF2EE088E1D7
|
||||
:1012E00090E00FB6F894A895809360000FBE20930D
|
||||
:1012F00060000E943A08549A80E0815041F0A8951D
|
||||
:10130000EFE9FFE03197F1F700C00000F6CF549805
|
||||
:101310000E9472037894A8950E9431070E94DA0215
|
||||
:10132000FACFEE0FFF1F0590F491E02D0994F89489
|
||||
:02133000FFCFED
|
||||
:02133200FF5A60
|
||||
:10022000813579F1F0F4803509F04BC012968C914C
|
||||
:100230001297808313968C911397818314968C91D7
|
||||
:100240001497828315968C911597838316968C91BB
|
||||
:100250001697848317968C911797858318968C919F
|
||||
:100260002AC0803629F0813661F58091300105C0C1
|
||||
:10027000A22FB0E0AF5ABE4F8C91808388818F5FF0
|
||||
:100280001DC019968C91199780831A968C911A9794
|
||||
:1002900081831B968C911B9782831C968C911C9753
|
||||
:1002A00083831D968C911D9784831E968C911E9737
|
||||
:1002B00085831F968C9186838881895F888380E0FF
|
||||
:1002C00001C084EBDF91CF91FF90EF90DF90CF9052
|
||||
:1002D0000895CF93DF93FC01DB01E9018091410197
|
||||
:1002E0009091420120812078203849F4368138836A
|
||||
:1002F000442309F445C08D919C9111970CC02FEFB8
|
||||
:100300002883268120932F01442351F170936203A7
|
||||
:100310006093610320E913962C93139714961C9213
|
||||
:100320002281213711F02034F1F5A0916103B091C1
|
||||
:1003300062030D90BC91A02D25812C93A0916103A7
|
||||
:10034000B09162030D90BC91A02D248111962C9345
|
||||
:10035000E0916103F091620324812E5F248323C026
|
||||
:10036000A0911D01B0911E01B0936203A09361039F
|
||||
:1003700020E913962C93A0911D01B0911E01CECFC0
|
||||
:10038000A0911D01B0911E0113963C911397383D29
|
||||
:1003900021F48D919C911197ECCF2FEF288320E1D0
|
||||
:1003A00020933001E8CFDF91CF910895E1E5F1E0AE
|
||||
:1003B0009FEF8FEF919321E0E136F207D1F7809321
|
||||
:1003C000440180932201809347018093250180930B
|
||||
:1003D000340180931001809337018093130181E0F1
|
||||
:1003E000809330010895FB01803391F038F4882325
|
||||
:1003F00061F08130B9F42093300112C0823371F082
|
||||
:1004000050F0833379F427870BC00E94D60108C0CF
|
||||
:100410004187228705C04387248702C045872687F6
|
||||
:1004200080E0089584EB0895CF93DF93FC0150E0C2
|
||||
:10043000CA01820F911D41970CF047C0222309F495
|
||||
:1004400046C083818F3F09F044C086818F3F09F009
|
||||
:1004500042C080E090E0EA01CF5ADE4F821750F4AC
|
||||
:100460000196DE01A80FB91F11973C913F3FB1F3F0
|
||||
:1004700081EC32C066831382822F8295880F807E42
|
||||
:10048000815082831482158210861782118612860B
|
||||
:1004900013861486158616861786CA0135E0880FDE
|
||||
:1004A000991F3A95E1F78F599E4F9183808380E0A1
|
||||
:1004B00090E04F5A5E4F821730F4FA01E80FF91FAF
|
||||
:1004C00060830196F8CF80E007C08EEB05C082EC18
|
||||
:1004D00003C08FEB01C080ECDF91CF9108950F93A3
|
||||
:1004E000FB01642F422F202F803888F0883858F085
|
||||
:1004F0008059883060F40583242F30E0362B308714
|
||||
:10050000278380E005C0CF010F910C94140286EB85
|
||||
:100510000F910895CF92DF92EF92FF920F93CF93B6
|
||||
:10052000DF93FC01EB016A01828190ED980F90331B
|
||||
:1005300070F49381913071F050F0923029F0933043
|
||||
:10054000C1F56DE071E008C061E371E005C061E4F0
|
||||
:1005500071E002C06FE171E0803768F4803580F4AB
|
||||
:10056000803408F047C00381248145810E94F30153
|
||||
:10057000888381E03CC0803868F4960140E03CC04C
|
||||
:100580007E019FEFE91AF90A0381248145810E94C7
|
||||
:1005900007013DC0982F97709130A1F080F0923004
|
||||
:1005A00029F0933031F46DE071E00EC061E371E049
|
||||
:1005B0000BC086E8888381E0D6018C9329C061E472
|
||||
:1005C00071E002C06FE171E0803F50F4803C58F46C
|
||||
:1005D0008038E0F00381248145810E946F0217C0BA
|
||||
:1005E000883F40F013C0DB01CD91DC918681F6019C
|
||||
:1005F00080830EC096014FEFCF01DF91CF910F9115
|
||||
:10060000FF90EF90DF90CF900C94690185E888838C
|
||||
:10061000CE01DF91CF910F91FF90EF90DF90CF90BF
|
||||
:10062000089590914401809122018F3F29F481E047
|
||||
:100630009F3F19F480E001C082E0909134019F3F18
|
||||
:1006400009F083E0909110019F3F09F084E0089544
|
||||
:10065000623049F421E08134920739F121E08F3191
|
||||
:10066000920761F10895633069F421E081349207C3
|
||||
:10067000E1F021E08F319207D9F021E08133920738
|
||||
:10068000E9F008956430E1F421E08134920769F0E3
|
||||
:1006900021E08F31920761F021E08133920759F018
|
||||
:1006A00021E08D30920751F008958FE191E0089597
|
||||
:1006B00081E391E008958DE091E0089581E491E077
|
||||
:1006C0000895CF93DF93D09130018D2F8F7D823DA0
|
||||
:1006D00001F50E941103C82F8093020121E431E04B
|
||||
:1006E00030931E0120931D01D23D99F4C901D1E040
|
||||
:1006F000DC1728F46C2F0E942803DF5FF9CF90935A
|
||||
:100700001E0180931D0120E8FC01238380ED80936E
|
||||
:10071000300180913001823F19F480EF80933001E5
|
||||
:10072000C0913001C03D31F580911D0190911E01B5
|
||||
:10073000FC0123812038F1F4609102010E9428031A
|
||||
:1007400090931E0180931D01FC011482C3830E94BB
|
||||
:10075000BD03E0911D01F0911E01882311F08383F8
|
||||
:1007600009C088ED8383258187819085820F911D43
|
||||
:1007700090878783DF91CF9108950F93CF93DF9375
|
||||
:10078000EC016F8189858C3061F028F48A3039F072
|
||||
:100790008B3081F002C08F3068F083EC0CC0606851
|
||||
:1007A00001C060660FEF2A814E81888199810E9485
|
||||
:1007B0008A058C8380E0DF91CF910F9108950F938C
|
||||
:1007C0001F93CF93DF93EC011F8110689C818A8176
|
||||
:1007D000981790F54AEA65E585E50E94B00445E57D
|
||||
:1007E0006AEA8AE20E94B00440EA65E585E50E9473
|
||||
:1007F000B0046C81E881F981E60FF11D4081812F01
|
||||
:100800000E94B0046C81812F0E94D804082F6C8153
|
||||
:10081000812F0E94D8040813F5CF8C81E881F981DB
|
||||
:10082000E80FF11D9081091304C08F5F8C835998E4
|
||||
:10083000CDCF519A599ACACF80E0DF91CF911F91C5
|
||||
:100840000F91089511B88FEF82B914B885B917B810
|
||||
:1008500088B98AB184718AB98BB18B6E8BB9509883
|
||||
:1008600058985198599A08950E942204399A419AA9
|
||||
:10087000389A40983A9A429A3C9A449A3D9A459AB4
|
||||
:100880003F9A479A47988FEF84B915B8479A479887
|
||||
:1008900014B812B881B914B885B908950E94220419
|
||||
:1008A000399A419A3C9A449A3D9A459A509A589A54
|
||||
:1008B0003F9A479A4798579A5F9A5F988FEF84B903
|
||||
:1008C00015B8479A479814B884B915B85F9A5F98D5
|
||||
:1008D00014B812B881B914B885B90895813049F0B7
|
||||
:1008E00028F0823051F40E944E0405C00E94220478
|
||||
:1008F00002C00E94340480E0089586E90895FC0156
|
||||
:1009000081E080835898509A000089B18183509883
|
||||
:100910005898908181818923891308C08AEA868347
|
||||
:100920008483828385E58583838308955098589ACC
|
||||
:1009300089B1818389B1828389B1838389B18483B9
|
||||
:1009400089B1858389B186835098589808958038F5
|
||||
:1009500029F4CB010E947F0480E0089587E908957F
|
||||
:100960009FEF94B985B9479A479862B945B95898A5
|
||||
:10097000509A5098589A14B808955098589840989A
|
||||
:10098000419A429A62B99FEF94B985B9479A4798BC
|
||||
:1009900014B800000000409A87FD41980000000054
|
||||
:1009A000000000000000000083B14098419A0895C3
|
||||
:1009B00062B99FEF94B985B9479A479814B8409A9D
|
||||
:1009C00087FD4198000000000000000083B14098BE
|
||||
:1009D000419A0895509858989FEF94B962B985B993
|
||||
:1009E000479A4798429845B9409A87FD4198000038
|
||||
:1009F00000004098419A429A14B808959FEF94B924
|
||||
:100A0000803208F4806885B9479A479814B862B96B
|
||||
:100A10004498000000000000000083B1449A08954B
|
||||
:100A20009FEF94B9803208F4806885B9479A479857
|
||||
:100A300062B945B9000045980000459A14B8089578
|
||||
:100A4000982F862F642F422F913049F028F0923052
|
||||
:100A500051F40E94EA0405C00E94B00402C00E9442
|
||||
:100A6000100580E0089580EA08958FEF84B984E04E
|
||||
:100A700085B9479A479829B188E085B9479A479838
|
||||
:100A800089B1807214B891E0422F407225FD90E048
|
||||
:100A900031E0882311F030E002C0911114C021E050
|
||||
:100AA000411101C020E0811103C0222381F003C065
|
||||
:100AB000222329F00AC0332351F082E108959923BB
|
||||
:100AC00031F083E1089580E1089581E108958FEF89
|
||||
:100AD0000895CF93DF93982F862F642FE9019138E3
|
||||
:100AE00069F028F4903891F40E94BD040CC092384B
|
||||
:100AF00041F0933859F40E94350505C00E94D8048E
|
||||
:100B000002C00E94FE04888380E001C081EADF9178
|
||||
:100B1000CF910895EF92FF920F93CF93DF9300D080
|
||||
:100B20001F92CDB7DEB77C018FEF84B965B9479AC4
|
||||
:100B3000479814B8409A67FD419842B980E0011186
|
||||
:100B400003C00000000008C02B834A8389830E94F1
|
||||
:100B50004E0889814A812B8193B1F701E80FF11D7D
|
||||
:100B600090834F5F42B98F5F281748F74098419AAA
|
||||
:100B70000F900F900F90DF91CF910F91FF90EF901A
|
||||
:100B8000089590E08B35910508F0A1C0FC01E25C6E
|
||||
:100B9000FF4F0C94AE0A11B895C08FEF81B992C087
|
||||
:100BA00012B890C08FEF82B98DC014B88BC08FEF90
|
||||
:100BB00084B988C015B886C08FEF85B983C017B8CF
|
||||
:100BC00081C018B87FC08FEF88B97CC038987AC0D0
|
||||
:100BD000389A78C0409876C0409A74C0399872C0EC
|
||||
:100BE000399A70C041986EC0419A6CC03A986AC0F8
|
||||
:100BF0003A9A68C0429866C0429A64C03B9862C004
|
||||
:100C00003B9A60C043985EC0439A5CC03C985AC00F
|
||||
:100C10003C9A58C0449856C0449A54C03D9852C01B
|
||||
:100C20003D9A50C045984EC0459A4CC03E984AC027
|
||||
:100C30003E9A48C0469846C0469A44C03F9842C033
|
||||
:100C40003F9A40C0479A3EC08AB184718AB93AC07F
|
||||
:100C50008BB1847102C08BB18B6E8BB933C050984D
|
||||
:100C600031C05898509A2EC05098589A2BC050981E
|
||||
:100C7000589828C0519826C0519A24C0599822C02B
|
||||
:100C8000599A20C053981EC0539A1CC05B981AC032
|
||||
:100C90005B9A18C0559816C0559A14C05D9812C03A
|
||||
:100CA0005D9A10C056980EC0569A0CC05E980AC045
|
||||
:100CB0005E9A08C0579806C0579A04C05F9A02C04F
|
||||
:100CC0005F9A5F9880E00895479A4798FBCF8CE839
|
||||
:100CD000089590E0FC01E058F109EB30F105A0F532
|
||||
:100CE000E756FF4F0C94AE0A62B922C08FEF84B969
|
||||
:100CF00065B91EC08FEF84B965B9479A479805C09A
|
||||
:100D00008FEF84B965B95F9A5F9814B811C061B963
|
||||
:100D10000FC064B90DC067B90BC09AB1862F84614A
|
||||
:100D200089238AB98AB16B7E682B6AB901C068B918
|
||||
:100D300080E008959BB1862F846189238BB98BB1A4
|
||||
:100D40006B7E682B6BB9F4CF8DE80895813A61F022
|
||||
:100D5000823AB9F0803A11F58FEF84B965B9479AB4
|
||||
:100D6000479814B842B916C08FEF84B965B9479A4D
|
||||
:100D7000479814B842B967FF02C041980BC0419A26
|
||||
:100D800009C042B98FEF84B9603230F415B8479A80
|
||||
:100D9000479814B880E0089565B9F9CF8EE80895B2
|
||||
:100DA000803B61F422B98FEF84B945B9479A4798DF
|
||||
:100DB00065B95F9A5F9814B880E008958FE8089548
|
||||
:100DC000CF93DF93EB0190E0805C91098C3091052B
|
||||
:100DD000F8F48C559F4FFC010C94AE0A80B113C0FF
|
||||
:100DE00083B111C086B10FC089B10DC082B10BC0F3
|
||||
:100DF00085B109C088B107C08BB105C081B103C0FE
|
||||
:100E000084B101C087B1888380E003C08AB1FBCF81
|
||||
:100E100080E9DF91CF9108950F93811102C0589A14
|
||||
:100E200001C058988FEF84B922B945B9479A4798BD
|
||||
:100E300005B9459800000000459A419A14B85898A1
|
||||
:100E40000F9108950F93022F813061F030F08230BE
|
||||
:100E500089F4242F462F60E008C0242F462F6FEF1F
|
||||
:100E600081E004C0242F462F6FEF80E00E940C0722
|
||||
:100E700080E001C08AEA0F9108950F93811102C0AA
|
||||
:100E8000589A01C058988FEF84B902B925B9479A8A
|
||||
:100E9000479845B95F9A5F9814B8449800000000DD
|
||||
:100EA0000000000083B1449A419A58980F91089528
|
||||
:100EB0000F931F93CF93DF93E801813851F082386D
|
||||
:100EC00091F08038A9F4022F242F462F6FEF81E094
|
||||
:100ED00005C0022F242F462F6FEF80E00E943D07B0
|
||||
:100EE000888380E006C0022F242F462F60E0F5CFD4
|
||||
:100EF0008BEADF91CF911F910F9108950F931F936C
|
||||
:100F0000CF93DF931F92CDB7DEB7FC0183E091E072
|
||||
:100F100090937203809371031982808187FF02C0CE
|
||||
:100F200081E089838181833009F44BC028F48130CA
|
||||
:100F3000D1F08230C1F179C0853009F467C008F47E
|
||||
:100F400054C0863009F071C01092030180910B01EA
|
||||
:100F500080930401E0916103F091620382818093A8
|
||||
:100F6000050183E060C08281803B38F4803A88F4D8
|
||||
:100F7000803858F40E94C10559C0803C78F424811F
|
||||
:100F8000458163810E94D00651C064810E94690638
|
||||
:100F90004DC0448165810E94A60648C064E071E0AE
|
||||
:100FA0000E94E0061DC08281803818F40E946E0401
|
||||
:100FB0003DC064E071E00E94A7048093030188E0D3
|
||||
:100FC00032C08281803830F42381448165810E945F
|
||||
:100FD00020052CC024E031E0448165810E94690530
|
||||
:100FE0008093030189818F5F1EC08281803830F435
|
||||
:100FF0002381448165810E94220718C004E011E02A
|
||||
:101000002481458163810E945807EACFAE014F5F7A
|
||||
:101010005F4F63E071E0CF010E948A0290937203F8
|
||||
:101020008093710305C0898303C080E88093030126
|
||||
:1010300089810F90DF91CF911F910F910895E091D9
|
||||
:101040006103F0916203448120813181582FFC01BA
|
||||
:10105000742F781B972F9E0F8E2F851B861730F4C9
|
||||
:101060008191D901A90FB11D8C93F4CFE091610357
|
||||
:10107000F09162038481860F848390912F01961BE7
|
||||
:1010800090932F0110920B01640F8281861302C08E
|
||||
:1010900088E9838381E0911180E00895CF93DF9305
|
||||
:1010A00060917303635067FDA4C080917003CCE02E
|
||||
:1010B000D0E0C81BD109C958DC4F80916F038D3235
|
||||
:1010C00009F085C0683009F092C083EC8093630317
|
||||
:1010D0008AE58093010110920C018881807621F0CD
|
||||
:1010E000CE010E947E0760C08A8110926C039981B4
|
||||
:1010F000911106C010926D032CE633E082E050C0DF
|
||||
:10110000953019F4809374033DC09630A9F59B8106
|
||||
:10111000913019F482E791E004C0923041F480E606
|
||||
:1011200091E0909372038093710382E121C0933028
|
||||
:10113000F1F4811108C08CEC91E0909372038093DC
|
||||
:10114000710384E015C0813041F482EA91E090930C
|
||||
:101150007203809371038AE20BC0823041F484E809
|
||||
:1011600091E090937203809371038EE101C080E05F
|
||||
:1011700090E490930C0118C0983079F0993031F4D4
|
||||
:10118000809376032CE633E080E00AC081E09A3059
|
||||
:1011900009F080E02CE633E003C026E733E081E08D
|
||||
:1011A00030937203209371038F3F39F4988197FD38
|
||||
:1011B0008E8190E890930C0107C09F81911104C02B
|
||||
:1011C0009E81981708F4892F8093000110C08091A8
|
||||
:1011D0000C0187FF0CC0CE010E941F088F3F21F435
|
||||
:1011E0008EE18093010103C08111109200011092E1
|
||||
:1011F00073038091010184FF4DC0809100018F3FF6
|
||||
:1012000009F448C0C82F893008F0C8E08C1B8093CF
|
||||
:1012100000018091630398E8892780936303CC23BE
|
||||
:1012200061F1809171039091720320910C0126FF6E
|
||||
:1012300012C0A4E6B3E023E633E020953095280FF2
|
||||
:10124000391F4C2F4A0FF901EA0FFB1FE491ED9370
|
||||
:101250004A13F9CF09C0E4E6F3E0DC012C2F2E0F8E
|
||||
:101260003D9131932E13FCCF01962FEF2C0F820F5F
|
||||
:10127000911D90937203809371036C2F84E693E029
|
||||
:101280000E947309CC5FCC3019F08FEF809300017E
|
||||
:10129000C093010184E199B1947131F48150D9F77F
|
||||
:1012A0001092740310926E03DF91CF910895E9E6D6
|
||||
:1012B000F0E0808182608083E89A0895A82FB92F9A
|
||||
:1012C00080E090E041E050EA609530E009C02D9167
|
||||
:1012D00082279795879510F084279527305EC8F36D
|
||||
:1012E0006F5FA8F30895EADF8D939D930895CF93E0
|
||||
:1012F000CFB7CF93DF93C3954C9BE9F74C9B0BC0C3
|
||||
:101300004C9B09C04C9B07C04C9B05C04C9B03C029
|
||||
:101310004C9B01C089C06F93C0917003DD27C958F1
|
||||
:10132000DC4F2F9365E54C9B03C02F916F91E6CF67
|
||||
:101330000F931F934F9320E040E15F9309B1047135
|
||||
:1013400004FB27F93F9350E03BE039C0147140643F
|
||||
:101350002F77012F5F5F1EC0406819B114712F777E
|
||||
:1013600052501FC0406409B12F770471D1F15F5F03
|
||||
:1013700000C023C0406219B12F77147191F15F5FF3
|
||||
:1013800000C025C004711027515012F45D5F0000A9
|
||||
:10139000115027952C3F19B1C8F61471012701503F
|
||||
:1013A00027952C3FC8F64227499309B104711027AD
|
||||
:1013B0004F73115027952C3FA8F64695469519B1C5
|
||||
:1013C000147179F00127015027952C3F98F66B5A3C
|
||||
:1013D00060F3315009B1B0F600C011E01CBB00272A
|
||||
:1013E00017C03B503195C31BD04011E01CBB088196
|
||||
:1013F000033CF9F00B34E9F020916E031981110FD1
|
||||
:101400001213EDCF093651F10D3211F0013E39F7CB
|
||||
:10141000009375033F915F914F911F910F912F9111
|
||||
:101420006F91CCB3C0FD67CFDF91CF91CFBFCF918C
|
||||
:10143000189520917503222369F3109173031123EA
|
||||
:1014400039F534303AF13093730320936F031091E0
|
||||
:1014500070033BE0311B309370031CC00091730399
|
||||
:101460000130B4F40AE53091010134FD14C0009359
|
||||
:101470000101C3E6D3E013C0052710E000C000005F
|
||||
:101480000BB91AC0052710E0221F1DC010E021C0B3
|
||||
:101490004AE502C032ED432FC4E1D0E032E01AB198
|
||||
:1014A00014615C9A0BB11AB954E120E865E320FF9E
|
||||
:1014B00005270BB9279517951C3FF0F66695B8F7E9
|
||||
:1014C000B1F720FF05270BB9279517951C3FD0F6DC
|
||||
:1014D0002795179517FF052700001C3F0BB9B0F69D
|
||||
:1014E00029913A9519F70B7E10917403110FC6518B
|
||||
:1014F000D0400BB911F010936E0311E01CBB0061DA
|
||||
:101500001AB11B7E402F4B7E54E05A95F1F70BB970
|
||||
:101510001AB94BB97FCF2EE088E190E00FB6F8946E
|
||||
:10152000A895809360000FBE209360000E94570929
|
||||
:10153000549A80E0815041F0A895EFE9FFE031979F
|
||||
:10154000F1F700C00000F6CF54980E94220478946E
|
||||
:10155000A8950E944E080E946103FACFEE0FFF1F6C
|
||||
:0C1560000590F491E02D0994F894FFCF61
|
||||
:02156C00FF5A24
|
||||
:00000001FF
|
||||
|
|
|
|||
|
|
@ -54,11 +54,11 @@ uint8_t raw_bank_status[NUM_RAW_BANKS];
|
|||
//uint8_t * buffer_usb_call( setup_packet *spacket, uint8_t *rv, uint16_t *rlen)
|
||||
uint8_t * buffer_usb_call( setup_packet *spacket, uint8_t *rv, uint8_t *rlen)
|
||||
{
|
||||
buffer *called_buff; //= &buff0; //used to point to buffer that was called based on opcode
|
||||
buffer *called_buff = &buff0; //used to point to buffer that was called based on opcode init no warn
|
||||
uint8_t *rptr = rv; //used for return pointer set to small rv buffer by default
|
||||
|
||||
//some opcodes place buffer number in misc/data
|
||||
if ( (spacket->opcode > BUFFN_INMISC_MIN) && (spacket->opcode < BUFFN_INMISC_MAX) ) {
|
||||
if ( (spacket->opcode >= BUFFN_INMISC_MIN) && (spacket->opcode <= BUFFN_INMISC_MAX) ) {
|
||||
// called_buff = &buff1;
|
||||
switch ( spacket->miscdata ) {
|
||||
//2 buffers minimum support
|
||||
|
|
@ -653,7 +653,7 @@ void update_buffers()
|
|||
|
||||
}
|
||||
|
||||
|
||||
//usbPoll();
|
||||
//this will get entered on first and all successive calls
|
||||
if ( operation == DUMPING ) {
|
||||
//buffer_payload will pass cur_buff to usb driver on next IN transfer
|
||||
|
|
@ -671,7 +671,7 @@ void update_buffers()
|
|||
//send buffer off to dump
|
||||
result = dump_page( cur_buff );
|
||||
if (result != SUCCESS) {
|
||||
cur_buff->status = PROBLEM;
|
||||
cur_buff->status = result;
|
||||
} else {
|
||||
cur_buff->status = DUMPED;
|
||||
//increment page_num so everything is ready for next dump
|
||||
|
|
@ -679,6 +679,7 @@ void update_buffers()
|
|||
cur_buff->page_num += cur_buff->reload;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define _buffer_h
|
||||
|
||||
#include <avr/io.h>
|
||||
#include "usbdrv.h"
|
||||
#include "types.h"
|
||||
#include "logic.h"
|
||||
#include "usb.h"
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
uint8_t dump_page( buffer *buff ) {
|
||||
|
||||
uint8_t addrH = buff->page_num; //A15:8 while accessing page
|
||||
uint8_t addrX; //A23:16 while accessing page
|
||||
//warn uint8_t addrX; //A23:16 while accessing page
|
||||
|
||||
//TODO use mapper to set mapper controlled address bits
|
||||
|
||||
|
|
@ -18,10 +18,10 @@ uint8_t dump_page( buffer *buff ) {
|
|||
switch ( buff->mem_type ) {
|
||||
case PRGROM:
|
||||
addrH |= 0x80; //$8000
|
||||
//uint8_t nes_cpu_page_rd( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t last )
|
||||
buff->cur_byte = nes_cpu_page_rd( buff->data, addrH, buff->id,
|
||||
//uint8_t nes_cpu_page_rd( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t last, uint8_t poll )
|
||||
buff->cur_byte = nes_cpu_page_rd_poll( buff->data, addrH, buff->id,
|
||||
//id contains MSb of page when <256B buffer
|
||||
(buff->last_idx | buff->id) );
|
||||
buff->last_idx, ~FALSE );
|
||||
break;
|
||||
case CHRROM: //$0000
|
||||
//buff->cur_byte = nes_ppu_page_rd( buff->data, addrH, buff->id,
|
||||
|
|
@ -29,12 +29,12 @@ uint8_t dump_page( buffer *buff ) {
|
|||
break;
|
||||
case PRGRAM:
|
||||
addrH |= 0x60; //$6000
|
||||
buff->cur_byte = nes_cpu_page_rd( buff->data, addrH, buff->id,
|
||||
(buff->last_idx | buff->id) );
|
||||
buff->cur_byte = nes_cpu_page_rd_poll( buff->data, addrH, buff->id,
|
||||
buff->last_idx, ~FALSE );
|
||||
break;
|
||||
case SNESROM:
|
||||
case SNESRAM:
|
||||
addrX = ((buff->page_num)>>8);
|
||||
//warn addrX = ((buff->page_num)>>8);
|
||||
break;
|
||||
default:
|
||||
return ERR_BUFF_UNSUP_MEM_TYPE;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define _dump_h
|
||||
|
||||
#include <avr/io.h>
|
||||
#include "usbdrv.h"
|
||||
#include "types.h"
|
||||
#include "logic.h"
|
||||
#include "usb.h"
|
||||
|
|
|
|||
|
|
@ -391,10 +391,12 @@ uint8_t ciram_a10_mirroring( void )
|
|||
return UNKNOWN;
|
||||
}
|
||||
|
||||
/* Desc:NES CPU Page Read
|
||||
/* Desc:NES CPU Page Read with optional USB polling
|
||||
* decode A15 from addrH to set /ROMSEL as expected
|
||||
* float EXP0
|
||||
* toggle M2 as NES would
|
||||
* if poll is true calls usbdrv.h usbPoll fuction
|
||||
* this is needed to keep from timing out when double buffering usb data
|
||||
* Pre: nes_init() setup of io pins
|
||||
* num_bytes can't exceed 256B page boundary
|
||||
* Post:address left on bus
|
||||
|
|
@ -403,7 +405,7 @@ uint8_t ciram_a10_mirroring( void )
|
|||
* data buffer filled starting at first to last
|
||||
* Rtn: Index of last byte read
|
||||
*/
|
||||
uint8_t nes_cpu_page_rd( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t last )
|
||||
uint8_t nes_cpu_page_rd_poll( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t len, uint8_t poll )
|
||||
{
|
||||
uint8_t i;
|
||||
|
||||
|
|
@ -416,19 +418,20 @@ uint8_t nes_cpu_page_rd( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t la
|
|||
_ROMSEL_LO(); //romsel trails M2 during CPU operations
|
||||
}
|
||||
|
||||
//set lower address bits
|
||||
ADDR_OUT = first; //doing this prior to entry and right after latching
|
||||
//gives longest delay between address out and latching data
|
||||
for( i=0; i<=last; i++ ) {
|
||||
//set lower address bits
|
||||
for( i=0; i<=len; i++ ) {
|
||||
//couple more NOP's waiting for data
|
||||
//zero nop's returned previous databus value
|
||||
NOP(); //one nop got most of the bits right
|
||||
NOP(); //two nop got all the bits right
|
||||
NOP(); //add third nop for some extra
|
||||
//might need to wait longer for some carts...
|
||||
|
||||
if ( poll == FALSE ) {
|
||||
NOP(); //one prob good enough considering the if/else
|
||||
NOP();
|
||||
} else {
|
||||
usbPoll();
|
||||
}
|
||||
//latch data
|
||||
data[i] = DATA_IN;
|
||||
//set lower address bits
|
||||
ADDR_OUT = ++first;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define _nes_h
|
||||
|
||||
#include <avr/io.h>
|
||||
#include "usbdrv.h"
|
||||
#include "pinport.h"
|
||||
#include "shared_dictionaries.h"
|
||||
#include "shared_errors.h"
|
||||
|
|
@ -17,6 +18,6 @@ void nes_cpu_wr( uint8_t addrH, uint8_t addrL, uint8_t data );
|
|||
uint8_t nes_ppu_rd( uint8_t addrH, uint8_t addrL );
|
||||
void nes_ppu_wr( uint8_t addrH, uint8_t addrL, uint8_t data );
|
||||
uint8_t ciram_a10_mirroring( void );
|
||||
uint8_t nes_cpu_page_rd( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t last );
|
||||
uint8_t nes_cpu_page_rd_poll( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t last, uint8_t poll );
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -92,9 +92,7 @@ error:
|
|||
int set_mem_n_part( USBtransfer *transfer, int buff_num, int mem_type, int part_num )
|
||||
{
|
||||
return dictionary_call( transfer, DICT_BUFFER, SET_MEM_N_PART,
|
||||
//( (mem_type<<8) | (part_num) ), buff_num, USB_IN, NULL, 1);
|
||||
( (mem_type<<8) | (part_num) ), 1, USB_IN, NULL, 1);
|
||||
// 0xAABB, buff_num, USB_IN, NULL, 1);
|
||||
( (mem_type<<8) | (part_num) ), buff_num, USB_IN, NULL, 1);
|
||||
}
|
||||
|
||||
/* Desc:Set buffer mapper and map_var
|
||||
|
|
@ -106,7 +104,6 @@ int set_map_n_mapvar( USBtransfer *transfer, int buff_num, int mapper, int map_v
|
|||
{
|
||||
return dictionary_call( transfer, DICT_BUFFER, SET_MAP_N_MAPVAR,
|
||||
( (mapper<<8) | (map_var) ), buff_num, USB_IN, NULL, 1);
|
||||
// 0xCCDD, buff_num, USB_IN, NULL, 1);
|
||||
}
|
||||
|
||||
/* Desc:Set buffer manager operation
|
||||
|
|
|
|||
|
|
@ -50,63 +50,64 @@ int dump_cart( USBtransfer* transfer, rom_image *rom, cartridge *cart )
|
|||
//set reload to 256 = 1 when translated to page_num (done in allocate buffers funct)
|
||||
//set page_num to non-zero if offset arg sent
|
||||
//set mem_type and part_num to designate how to get/write data
|
||||
//check(! set_mem_n_part( transfer, buff0, MASKROM, PRGROM ), "Unable to set mem_type and part");
|
||||
//check(! set_mem_n_part( transfer, buff1, MASKROM, PRGROM ), "Unable to set mem_type and part");
|
||||
check(! set_mem_n_part( transfer, buff0, 0x12, 0x34 ), "Unable to set mem_type and part");
|
||||
check(! set_mem_n_part( transfer, buff1, 0x56, 0x78 ), "Unable to set mem_type and part");
|
||||
check(! set_mem_n_part( transfer, buff0, PRGROM, MASKROM ), "Unable to set mem_type and part");
|
||||
check(! set_mem_n_part( transfer, buff1, PRGROM, MASKROM ), "Unable to set mem_type and part");
|
||||
//set multiple and add_mult only when flashing
|
||||
//set mapper, map_var, and function to designate read/write algo
|
||||
|
||||
//just dump visible NROM memory to start
|
||||
//check(! set_map_n_mapvar( transfer, buff0, NROM, NILL ), "Unable to set mapper and map_var");
|
||||
//check(! set_map_n_mapvar( transfer, buff1, NROM, NILL ), "Unable to set mapper and map_var");
|
||||
check(! set_map_n_mapvar( transfer, buff0, 0x89, 0xAB ), "Unable to set mapper and map_var");
|
||||
check(! set_map_n_mapvar( transfer, buff1, 0xCD, 0XEF ), "Unable to set mapper and map_var");
|
||||
check(! set_map_n_mapvar( transfer, buff0, NROM, NILL ), "Unable to set mapper and map_var");
|
||||
check(! set_map_n_mapvar( transfer, buff1, NROM, NILL ), "Unable to set mapper and map_var");
|
||||
|
||||
//tell buffers what function to use for dumping
|
||||
//TODO when start implementing other mappers
|
||||
dictionary_call_debug( transfer, DICT_NES, NES_CPU_RD, 0x8000, NILL,
|
||||
USB_IN, NULL, RV_DATA0_IDX+1);
|
||||
|
||||
//debugging print out buffer elements
|
||||
get_buff_operation( transfer );
|
||||
get_buff_elements( transfer, buff0 );
|
||||
get_buff_elements( transfer, buff1 );
|
||||
//get_buff_operation( transfer );
|
||||
//get_buff_elements( transfer, buff0 );
|
||||
//get_buff_elements( transfer, buff1 );
|
||||
|
||||
debug("setting operation STARTDUMP");
|
||||
debug("\n\nsetting operation STARTDUMP");
|
||||
//inform buffer manager to start dumping operation now that buffers are initialized
|
||||
check(! set_buff_operation( transfer, STARTDUMP ), "Unable to set buffer operation");
|
||||
|
||||
get_buff_operation( transfer );
|
||||
get_buff_elements( transfer, buff0 );
|
||||
get_buff_elements( transfer, buff1 );
|
||||
// get_buff_operation( transfer );
|
||||
// get_buff_elements( transfer, buff0 );
|
||||
// get_buff_elements( transfer, buff1 );
|
||||
//manager updates buffer status' so they'll start dumping
|
||||
//once they're full manager prepares them to be read back on USB payloads
|
||||
//once the next payload request happens manager knows last buffer can start dumping again
|
||||
//buffer updates it's elements and goes off to dump next page
|
||||
|
||||
debug("first payload");
|
||||
check(! payload_in( transfer, data, buff_size ), "Error with payload IN");
|
||||
check(! append_to_file( rom, data, buff_size ), "Error with file append");
|
||||
|
||||
get_buff_operation( transfer );
|
||||
get_buff_elements( transfer, buff0 );
|
||||
get_buff_elements( transfer, buff1 );
|
||||
|
||||
debug("second payload");
|
||||
check(! payload_in( transfer, data, buff_size ), "Error with payload IN");
|
||||
check(! append_to_file( rom, data, buff_size ), "Error with file append");
|
||||
|
||||
get_buff_operation( transfer );
|
||||
get_buff_elements( transfer, buff0 );
|
||||
get_buff_elements( transfer, buff1 );
|
||||
|
||||
//now just need to call series of payload IN transfers to retrieve data
|
||||
//for( i=0; i<(32*KByte/buff_size); i++) {
|
||||
// for( i=0; i<(8*KByte/buff_size); i++) {
|
||||
// //payload transfer in and append to file
|
||||
// if ( i % 32 == 0 ) debug("payload in #%d", i);
|
||||
// debug("first payload");
|
||||
// check(! payload_in( transfer, data, buff_size ), "Error with payload IN");
|
||||
// check(! append_to_file( rom, data, buff_size ), "Error with file append");
|
||||
// }
|
||||
//
|
||||
// debug("first payload done");
|
||||
// get_buff_operation( transfer );
|
||||
// get_buff_elements( transfer, buff0 );
|
||||
// get_buff_elements( transfer, buff1 );
|
||||
//
|
||||
// debug("second payload");
|
||||
// check(! payload_in( transfer, data, buff_size ), "Error with payload IN");
|
||||
// check(! append_to_file( rom, data, buff_size ), "Error with file append");
|
||||
//
|
||||
// get_buff_operation( transfer );
|
||||
// get_buff_elements( transfer, buff0 );
|
||||
// get_buff_elements( transfer, buff1 );
|
||||
|
||||
//now just need to call series of payload IN transfers to retrieve data
|
||||
//for( i=0; i<(256*KByte/buff_size); i++) {
|
||||
for( i=0; i<(32*KByte/buff_size); i++) {
|
||||
//for( i=0; i<(8*KByte/buff_size); i++) {
|
||||
//payload transfer in and append to file
|
||||
if ( i % 256 == 0 ) debug("payload in #%d", i);
|
||||
check(! payload_in( transfer, data, buff_size ), "Error with payload IN");
|
||||
if (i==0) printf("first byte: %x\n", data[0]);
|
||||
check(! append_to_file( rom, data, buff_size ), "Error with file append");
|
||||
}
|
||||
debug("payload done");
|
||||
|
||||
//TODO flush file from time to time..?
|
||||
|
|
|
|||
|
|
@ -2,9 +2,126 @@
|
|||
|
||||
int test_function( USBtransfer *transfer )
|
||||
{
|
||||
|
||||
debug("testing");
|
||||
dictionary_call_debug( transfer, DICT_IO, IO_RESET, 0, 0, USB_IN,
|
||||
NULL, 1);
|
||||
dictionary_call_debug( transfer, DICT_IO, NES_INIT, 0, 0, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nreset");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BUFFER_RESET, 0, 0, USB_IN,
|
||||
NULL, 1);
|
||||
|
||||
debug("\nallocate 0"); // id:base, numbanks
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, ALLOCATE_BUFFER0, 0x0E00, 4, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nallocate 1"); // id:base, numbanks
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, ALLOCATE_BUFFER1, 0x8104, 4, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nallocate 2"); // id:base, numbanks
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, ALLOCATE_BUFFER2, 0x2208, 6, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nallocate 3"); // id:base, numbanks
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, ALLOCATE_BUFFER3, 0x330E, 2, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nmapvar 2: 21,22");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, SET_MAP_N_MAPVAR, 0x2122, 2, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nmapvar 0: e1,1e");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, SET_MAP_N_MAPVAR, 0xe11e, 0, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nmapvar 1: 11,12");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, SET_MAP_N_MAPVAR, 0x1112, 1, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nmapvar 3: 31,33");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, SET_MAP_N_MAPVAR, 0x3133, 3, USB_IN,
|
||||
NULL, 1);
|
||||
|
||||
|
||||
debug("\npri elements");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_PRI_ELEMENTS, 0, 0, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_PRI_ELEMENTS, 0, 1, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_PRI_ELEMENTS, 0, 2, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_PRI_ELEMENTS, 0, 3, USB_IN,
|
||||
NULL, 8);
|
||||
debug("\nsec elements");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_SEC_ELEMENTS, 0, 0, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_SEC_ELEMENTS, 0, 1, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_SEC_ELEMENTS, 0, 2, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_SEC_ELEMENTS, 0, 3, USB_IN,
|
||||
NULL, 8);
|
||||
|
||||
///////////////////////////////
|
||||
debug("\nmem_part 0: ea,eb");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, SET_MEM_N_PART, 0xeaeb, 0, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nmem_part 1: 1a,1b");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, SET_MEM_N_PART, 0x1a1b, 1, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nmem_part 2: 2a,2b");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, SET_MEM_N_PART, 0x2a2b, 2, USB_IN,
|
||||
NULL, 1);
|
||||
debug("\nmem_part 3: 3a,3b");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, SET_MEM_N_PART, 0x3a3b, 3, USB_IN,
|
||||
NULL, 1);
|
||||
///////////////////////////////
|
||||
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_PRI_ELEMENTS, 0, 0, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_PRI_ELEMENTS, 0, 1, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_PRI_ELEMENTS, 0, 2, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_PRI_ELEMENTS, 0, 3, USB_IN,
|
||||
NULL, 8);
|
||||
debug("\nsec elements");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_SEC_ELEMENTS, 0, 0, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_SEC_ELEMENTS, 0, 1, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_SEC_ELEMENTS, 0, 2, USB_IN,
|
||||
NULL, 8);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, GET_SEC_ELEMENTS, 0, 3, USB_IN,
|
||||
NULL, 8);
|
||||
/*debug("\nraw bank status");
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 0, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 1, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 2, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 3, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 4, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 5, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 6, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 7, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 8, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 9, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 10, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 11, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 12, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 13, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 14, 0, USB_IN,
|
||||
NULL, 2);
|
||||
dictionary_call_debug( transfer, DICT_BUFFER, RAW_BANK_STATUS, 15, 0, USB_IN,
|
||||
NULL, 2);
|
||||
*/
|
||||
//debug("uninit");
|
||||
//get_buff_elements( transfer, 0 );
|
||||
//get_buff_elements( transfer, 1 );
|
||||
|
|
@ -327,7 +444,7 @@ int test_function( USBtransfer *transfer )
|
|||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
return -1;
|
||||
//error:
|
||||
// return -1;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ enum buff_mem_type {
|
|||
#define STARTFLASH 0xF2
|
||||
#define FLASHED 0xF4
|
||||
#define FLASH_WAIT 0xF8
|
||||
#define STOPPED 0xFE
|
||||
#define UNALLOC 0xFF
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue