Changeset 914
- Timestamp:
- 07/25/10 05:12:47 (3 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
-
include/camera.h (modified) (1 diff)
-
platform/d10/notes.txt (modified) (4 diffs)
-
platform/d10/sub/100a/boot.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/camera.h
r911 r914 916 916 #undef CAM_HAS_ERASE_BUTTON 917 917 #undef CAM_USE_ZOOM_FOR_MF 918 // TODO 919 // #define CAM_MULTIPART 1 918 #define CAM_MULTIPART 1 920 919 #undef CAM_HAS_IRIS_DIAPHRAGM 921 920 #define CAM_HAS_ND_FILTER 1 -
trunk/platform/d10/notes.txt
r907 r914 13 13 - dark frame subtraction control. Don't try to use this, it will break horribly. 14 14 - USB remote support 15 - multi partition support16 15 17 16 Working/completed … … 23 22 - Tv bracketing in continuous mode 24 23 - histogram 24 - multi partition support 25 - motion detection 25 26 26 27 Scripts tested successfully … … 30 31 - romlog.lua 31 32 - badpixel.lua 33 - mdfb digic 3 32 34 33 35 Known issues: … … 40 42 41 43 Untested: 42 - motion detection43 44 - most shooting overrides and equivalent script commands 44 45 - pretty much everything else ;) -
trunk/platform/d10/sub/100a/boot.c
r907 r914 304 304 " MOVNE R0, R5\n" 305 305 " BLNE sub_FF8773D4\n" // PostLogicalEventToUI 306 " BL sub_FF872598 \n" // -> TODO306 " BL sub_FF872598_my\n" // -> TODO 307 307 " BL core_spytask_can_start\n" // + safe to start spytask 308 308 " CMP R4, #0\n" … … 315 315 } 316 316 317 // DONE TO HERE 318 #if 0 319 // below copy/paste from SD990, needs update! 320 void __attribute__((naked,noinline)) sub_FF876C24_my() { 317 void __attribute__((naked,noinline)) sub_FF872598_my() { 321 318 asm volatile ( 322 " STMFD SP!, {R4,LR}\n" 323 " BL sub_FF8592B8_my\n" // -> 324 //" BL nullsub_93\n" 325 " LDR R4, =0x5824\n" 326 " LDR R0, [R4,#4]\n" 327 " CMP R0, #0\n" 328 " BNE loc_FF876C58\n" 329 " BL sub_FF858780\n" 330 " BL sub_FF909EBC\n" 331 " BL sub_FF858780\n" 332 " BL sub_FF854654\n" 333 " BL sub_FF858680\n" 334 " BL sub_FF909F88\n" 335 "loc_FF876C58:\n" 336 " MOV R0, #1\n" 337 " STR R0, [R4]\n" 338 " LDMFD SP!, {R4,PC}\n" 319 " STMFD SP!, {R4,LR}\n" 320 " MOV R0, #3\n" 321 " BL sub_FF855974_my\n" // -> (Mounter.c) 322 //" BL nullsub_64\n" 323 " LDR R4, =0x2E20\n" 324 " LDR R0, [R4,#4]\n" 325 " CMP R0, #0\n" 326 " BNE loc_FF8725D0\n" 327 " BL sub_FF854D38\n" 328 " BL sub_FF902984\n" 329 " BL sub_FF854D38\n" 330 " BL sub_FF850D8C\n" 331 " BL sub_FF854C38\n" 332 " BL sub_FF902A50\n" 333 "loc_FF8725D0:\n" 334 " MOV R0, #1\n" 335 " STR R0, [R4]\n" 336 " LDMFD SP!, {R4,PC}\n" 337 339 338 ); 340 339 } 341 340 342 void __attribute__((naked,noinline)) sub_FF85 92B8_my() {341 void __attribute__((naked,noinline)) sub_FF855974_my() { 343 342 asm volatile ( 344 " STMFD SP!, {R4-R6,LR}\n" 345 " MOV R6, #0\n" 346 " MOV R0, R6\n" 347 " BL sub_FF858D78\n" 348 " LDR R4, =0x19BC8\n" 349 " MOV R5, #0\n" 350 " LDR R0, [R4,#0x38]\n" 351 " BL sub_FF8597D8\n" 352 " CMP R0, #0\n" 353 " LDREQ R0, =0x2A20\n" 354 " STREQ R5, [R0,#0x10]\n" 355 " STREQ R5, [R0,#0x14]\n" 356 " STREQ R5, [R0,#0x18]\n" 357 " MOV R0, R6\n" 358 " BL sub_FF858DB8\n" // LOCATION: Mounter.c:824 359 " MOV R0, R6\n" 360 " BL sub_FF8590F4_my\n" // -> 361 " MOV R5, R0\n" 362 " MOV R0, R6\n" 363 " BL sub_FF859160\n" // LOCATION: Mounter.c:8 364 " LDR R1, [R4,#0x3C]\n" 365 " AND R2, R5, R0\n" 366 " CMP R1, #0\n" 367 " MOV R0, #0\n" 368 " MOVEQ R0, #0x80000001\n" 369 " BEQ loc_FF85934C\n" 370 " LDR R3, [R4,#0x2C]\n" 371 " CMP R3, #2\n" 372 " MOVEQ R0, #4\n" 373 " CMP R1, #5\n" 374 " ORRNE R0, R0, #1\n" 375 " BICEQ R0, R0, #1\n" 376 " CMP R2, #0\n" 377 " BICEQ R0, R0, #2\n" 378 " ORREQ R0, R0, #0x80000000\n" 379 " BICNE R0, R0, #0x80000000\n" 380 " ORRNE R0, R0, #2\n" 381 "loc_FF85934C:\n" 382 " STR R0, [R4,#0x40]\n" 383 " LDMFD SP!, {R4-R6,PC}\n" 343 " STMFD SP!, {R4-R8,LR}\n" 344 " MOV R6, R0\n" 345 " BL sub_FF8558DC\n" // Mounter.c 0 346 " LDR R1, =0x10770\n" 347 " MOV R5, R0\n" 348 " ADD R4, R1, R0,LSL#7\n" 349 " LDR R0, [R4,#0x70]\n" 350 " CMP R0, #4\n" 351 " LDREQ R1, =0x6D8\n" 352 " LDREQ R0, =0xFF855400\n" // "Mounter.c" 353 " BLEQ sub_FF81B284\n" // DebugAssert 354 " MOV R1, R6\n" 355 " MOV R0, R5\n" 356 " BL sub_FF855348\n" // Mounter.c 0 357 " LDR R0, [R4,#0x38]\n" 358 " BL sub_FF855EA0\n" 359 " CMP R0, #0\n" 360 " STREQ R0, [R4,#0x70]\n" 361 " MOV R0, R5\n" 362 " BL sub_FF855420\n" 363 " MOV R0, R5\n" 364 " BL sub_FF855714_my\n" // -> 365 " MOV R7, R0\n" 366 " MOV R0, R5\n" 367 " BL sub_FF855778\n" // Mounter.c 7 368 " LDR R1, [R4,#0x3C]\n" 369 " AND R2, R7, R0\n" 370 " CMP R1, #0\n" 371 " MOV R0, #0\n" 372 " MOVEQ R0, #0x80000001\n" 373 " BEQ loc_FF855A1C\n" 374 " LDR R3, [R4,#0x2C]\n" 375 " CMP R3, #2\n" 376 " MOVEQ R0, #4\n" 377 " CMP R1, #5\n" 378 " ORRNE R0, R0, #1\n" 379 " BICEQ R0, R0, #1\n" 380 " CMP R2, #0\n" 381 " BICEQ R0, R0, #2\n" 382 " ORREQ R0, R0, #0x80000000\n" 383 " BICNE R0, R0, #0x80000000\n" 384 " ORRNE R0, R0, #2\n" 385 "loc_FF855A1C:\n" 386 " CMP R6, #7\n" 387 " STR R0, [R4,#0x40]\n" 388 " LDMNEFD SP!, {R4-R8,PC}\n" 389 " MOV R0, R6\n" 390 " BL sub_FF85592C\n" 391 " CMP R0, #0\n" 392 " LDMEQFD SP!, {R4-R8,LR}\n" 393 " LDREQ R0, =0xFF855C18\n" // "EmemMountError" 394 " BEQ sub_FF8115A8\n" // qPrintf 395 " LDMFD SP!, {R4-R8,PC}\n" 396 384 397 ); 385 398 } 386 399 387 void __attribute__((naked,noinline)) sub_FF85 90F4_my() {400 void __attribute__((naked,noinline)) sub_FF855714_my() { 388 401 asm volatile ( 389 " STMFD SP!, {R4-R6,LR}\n" 390 " LDR R5, =0x2A20\n" 391 " MOV R6, R0\n" 392 " LDR R0, [R5,#0x14]\n" 393 " CMP R0, #0\n" 394 " MOVNE R0, #1\n" 395 " LDMNEFD SP!, {R4-R6,PC}\n" 396 " MOV R0, #0x17\n" 397 " MUL R1, R0, R6\n" 398 " LDR R0, =0x19BC8\n" 399 " ADD R4, R0, R1,LSL#2\n" 400 " LDR R0, [R4,#0x38]\n" 401 " MOV R1, R6\n" 402 " BL sub_FF858E84_my\n" // -> was Mounter.c 403 " CMP R0, #0\n" 404 " LDMEQFD SP!, {R4-R6,PC}\n" 405 " LDR R0, [R4,#0x38]\n" 406 " MOV R1, R6\n" 407 " BL sub_FF858FEC\n" // LOCATION: Mounter.c:0 408 " CMP R0, #0\n" 409 " LDMEQFD SP!, {R4-R6,PC}\n" 410 " MOV R0, R6\n" 411 " BL sub_FF858980\n" 412 " CMP R0, #0\n" 413 " MOVNE R1, #1\n" 414 " STRNE R1, [R5,#0x14]\n" 415 " LDMFD SP!, {R4-R6,PC}\n" 416 ); 417 } 418 419 void __attribute__((naked,noinline)) sub_FF858E84_my() { 402 " STMFD SP!, {R4-R6,LR}\n" 403 " MOV R5, R0\n" 404 " LDR R0, =0x10770\n" 405 " ADD R4, R0, R5,LSL#7\n" 406 " LDR R0, [R4,#0x70]\n" 407 " TST R0, #2\n" 408 " MOVNE R0, #1\n" 409 " LDMNEFD SP!, {R4-R6,PC}\n" 410 " LDR R0, [R4,#0x38]\n" 411 " MOV R1, R5\n" 412 " BL sub_FF8554A4_my\n" // -> (Mounter.c) 413 " CMP R0, #0\n" 414 " LDMEQFD SP!, {R4-R6,PC}\n" 415 " LDR R0, [R4,#0x38]\n" 416 " MOV R1, R5\n" 417 " BL sub_FF855610\n" // Mounter.c 418 " CMP R0, #0\n" 419 " LDMEQFD SP!, {R4-R6,PC}\n" 420 " MOV R0, R5\n" 421 " BL sub_FF854F30\n" 422 " CMP R0, #0\n" 423 " LDRNE R1, [R4,#0x70]\n" 424 " ORRNE R1, R1, #2\n" 425 " STRNE R1, [R4,#0x70]\n" 426 " LDMFD SP!, {R4-R6,PC}\n" 427 ); 428 } 429 void __attribute__((naked,noinline)) sub_FF8554A4_my() { 420 430 asm volatile ( 421 " STMFD SP!, {R4-R8,LR}\n" 422 " MOV R8, R0\n" 423 " MOV R0, #0x17\n" 424 " MUL R1, R0, R1\n" 425 " LDR R0, =0x19BC8\n" 426 " MOV R6, #0\n" 427 " ADD R7, R0, R1,LSL#2\n" 428 " LDR R0, [R7,#0x3C]\n" 429 " MOV R5, #0\n" 430 " CMP R0, #6\n" 431 " ADDLS PC, PC, R0,LSL#2\n" 432 " B loc_FF858FD0\n" 433 " B loc_FF858EE8\n" 434 " B loc_FF858ED0\n" 435 " B loc_FF858ED0\n" 436 " B loc_FF858ED0\n" 437 " B loc_FF858ED0\n" 438 " B loc_FF858FC8\n" 439 " B loc_FF858ED0\n" 440 "loc_FF858ED0:\n" 441 // jumptable FF858EAC entries 1-4,6 442 " MOV R2, #0\n" 443 " MOV R1, #0x200\n" 444 " MOV R0, #2\n" 445 " BL sub_FF870BA0\n" 446 " MOVS R4, R0\n" 447 " BNE loc_FF858EF0\n" 448 "loc_FF858EE8:\n" 449 // jumptable FF858EAC entry 0 450 " MOV R0, #0\n" 451 " LDMFD SP!, {R4-R8,PC}\n" 452 "loc_FF858EF0:\n" 453 " LDR R12, [R7,#0x4C]\n" 454 " MOV R3, R4\n" 455 " MOV R2, #1\n" 456 " MOV R1, #0\n" 457 " MOV R0, R8\n" 458 " BLX R12\n" 459 " CMP R0, #1\n" 460 " BNE loc_FF858F1C\n" 461 " MOV R0, #2\n" 462 " BL sub_FF870CEC\n" // LOCATION: ExMemMan.c:0 463 " B loc_FF858EE8\n" 464 "loc_FF858F1C:\n" 465 " MOV R0, R8\n" 466 " BL sub_FF9214E8\n" 467 "MOV R1, R4\n" // pointer to MBR in R1 468 "BL mbr_read_dryos\n" // total sectors count in R0 before and after call 431 " STMFD SP!, {R4-R8,LR}\n" 432 " MOV R8, R0\n" 433 " LDR R0, =0x10770\n" 434 " MOV R7, #0\n" 435 " ADD R5, R0, R1,LSL#7\n" 436 " LDR R0, [R5,#0x3C]\n" 437 " MOV R6, #0\n" 438 " CMP R0, #7\n" 439 " ADDLS PC, PC, R0,LSL#2\n" 440 " B loc_FF8555F4\n" 441 " B loc_FF855504\n" 442 " B loc_FF8554EC\n" 443 " B loc_FF8554EC\n" 444 " B loc_FF8554EC\n" 445 " B loc_FF8554EC\n" 446 " B loc_FF8555EC\n" 447 " B loc_FF8554EC\n" 448 " B loc_FF8554EC\n" 449 "loc_FF8554EC:\n" 450 // jumptable FF8554C4 entries 1-4,6,7 451 " MOV R2, #0\n" 452 " MOV R1, #0x200\n" 453 " MOV R0, #2\n" 454 " BL sub_FF86C664\n" 455 " MOVS R4, R0\n" 456 " BNE loc_FF85550C\n" 457 "loc_FF855504:\n" 458 // jumptable FF8554C4 entry 0 459 " MOV R0, #0\n" 460 " LDMFD SP!, {R4-R8,PC}\n" 461 "loc_FF85550C:\n" 462 " LDR R12, [R5,#0x4C]\n" 463 " MOV R3, R4\n" 464 " MOV R2, #1\n" 465 " MOV R1, #0\n" 466 " MOV R0, R8\n" 467 " BLX R12\n" 468 " CMP R0, #1\n" 469 " BNE loc_FF855538\n" 470 " MOV R0, #2\n" 471 " BL sub_FF86C7B0\n" // ExMemMan.c 0 472 " B loc_FF855504\n" 473 "loc_FF855538:\n" 474 475 " LDR R1, [R5,#0x68]\n" 476 " MOV R0, R8\n" 477 " BLX R1\n" 478 "MOV R1, R4\n" // pointer to MBR in R1 479 "BL mbr_read_dryos\n" // total sectors count in R0 before and after call 469 480 470 481 // Start of DataGhost's FAT32 autodetection code … … 496 507 "dg_sd_fat32_end:\n" 497 508 // End of DataGhost's FAT32 autodetection code 498 " LDRB R1, [R4,#0x1C9]\n" 499 " LDRB R3, [R4,#0x1C8]\n" 500 " LDRB R12, [R4,#0x1CC]\n" 501 " MOV R1, R1,LSL#24\n" 502 " ORR R1, R1, R3,LSL#16\n" 503 " LDRB R3, [R4,#0x1C7]\n" 504 " LDRB R2, [R4,#0x1BE]\n" 505 //" LDRB LR, [R4,#0x1FF]\n" // - 506 " ORR R1, R1, R3,LSL#8\n" 507 " LDRB R3, [R4,#0x1C6]\n" 508 " CMP R2, #0\n" 509 " CMPNE R2, #0x80\n" 510 " ORR R1, R1, R3\n" 511 " LDRB R3, [R4,#0x1CD]\n" 512 " MOV R3, R3,LSL#24\n" 513 " ORR R3, R3, R12,LSL#16\n" 514 " LDRB R12, [R4,#0x1CB]\n" 515 " ORR R3, R3, R12,LSL#8\n" 516 " LDRB R12, [R4,#0x1CA]\n" 517 " ORR R3, R3, R12\n" 518 //" LDRB R12, [R4,#0x1FE]\n" // - 519 " LDRB R12, [LR,#0x1FE]\n" // + 520 " LDRB LR, [LR,#0x1FF]\n" // + 521 " MOV R4, #0\n" 522 " BNE loc_FF858FA4\n" 523 " CMP R0, R1\n" 524 " BCC loc_FF858FA4\n" 525 " ADD R2, R1, R3\n" 526 " CMP R2, R0\n" 527 " CMPLS R12, #0x55\n" 528 " CMPEQ LR, #0xAA\n" 529 " MOVEQ R6, R1\n" 530 " MOVEQ R5, R3\n" 531 " MOVEQ R4, #1\n" 532 "loc_FF858FA4:\n" 533 " MOV R0, #2\n" 534 " BL sub_FF870CEC\n" // LOCATION: ExMemMan.c:0 535 " CMP R4, #0\n" 536 " BNE loc_FF858FDC\n" 537 " MOV R6, #0\n" 538 " MOV R0, R8\n" 539 " BL sub_FF9214E8\n" 540 " MOV R5, R0\n" 541 " B loc_FF858FDC\n" 542 "loc_FF858FC8:\n" 543 // jumptable FF858EAC entry 5 544 " MOV R5, #0x40\n" 545 " B loc_FF858FDC\n" 546 "loc_FF858FD0:\n" 547 // jumptable FF858EAC default entry 548 " LDR R1, =0x37A\n" 549 " LDR R0, =0xFF858E78\n" // "Mounter.c" 550 " BL sub_FF81B1CC\n" // DebugAssert 551 " loc_FF858FDC:\n" 552 " STR R6, [R7,#0x44]!\n" 553 " MOV R0, #1\n" 554 " STR R5, [R7,#4]\n" 555 " LDMFD SP!, {R4-R8,PC}\n" 556 ); 557 } 558 #endif 559 509 " LDRB R1, [R4,#0x1C9]\n" 510 " LDRB R3, [R4,#0x1C8]\n" 511 " LDRB R12, [R4,#0x1CC]\n" 512 " MOV R1, R1,LSL#24\n" 513 " ORR R1, R1, R3,LSL#16\n" 514 " LDRB R3, [R4,#0x1C7]\n" 515 " LDRB R2, [R4,#0x1BE]\n" 516 //" LDRB LR, [R4,#0x1FF]\n" 517 " ORR R1, R1, R3,LSL#8\n" 518 " LDRB R3, [R4,#0x1C6]\n" 519 " CMP R2, #0\n" 520 " CMPNE R2, #0x80\n" 521 " ORR R1, R1, R3\n" 522 " LDRB R3, [R4,#0x1CD]\n" 523 " MOV R3, R3,LSL#24\n" 524 " ORR R3, R3, R12,LSL#16\n" 525 " LDRB R12, [R4,#0x1CB]\n" 526 " ORR R3, R3, R12,LSL#8\n" 527 " LDRB R12, [R4,#0x1CA]\n" 528 " ORR R3, R3, R12\n" 529 //" LDRB R12, [R4,#0x1FE]\n" 530 " LDRB R12, [LR,#0x1FE]\n" // + 531 " LDRB LR, [LR,#0x1FF]\n" // + 532 " MOV R4, #0\n" 533 " BNE loc_FF8555C4\n" 534 " CMP R0, R1\n" 535 " BCC loc_FF8555C4\n" 536 " ADD R2, R1, R3\n" 537 " CMP R2, R0\n" 538 " CMPLS R12, #0x55\n" 539 " CMPEQ LR, #0xAA\n" 540 " MOVEQ R7, R1\n" 541 " MOVEQ R6, R3\n" 542 " MOVEQ R4, #1\n" 543 "loc_FF8555C4:\n" 544 " MOV R0, #2\n" 545 " BL sub_FF86C7B0\n" // ExMemMan.c 0 546 " CMP R4, #0\n" 547 " BNE loc_FF855600\n" 548 " LDR R1, [R5,#0x68]\n" 549 " MOV R7, #0\n" 550 " MOV R0, R8\n" 551 " BLX R1\n" 552 " MOV R6, R0\n" 553 " B loc_FF855600\n" 554 "loc_FF8555EC:\n" 555 // jumptable FF8554C4 entry 5 556 " MOV R6, #0x40\n" 557 " B loc_FF855600\n" 558 "loc_FF8555F4:\n" 559 // jumptable FF8554C4 default entry 560 " LDR R1, =0x5C9\n" 561 " LDR R0, =0xFF855400\n" // "Mounter.c" 562 " BL sub_FF81B1CC\n" // DebugAssert 563 "loc_FF855600:\n" 564 " STR R7, [R5,#0x44]!\n" 565 " MOV R0, #1\n" 566 " STR R6, [R5,#4]\n" 567 " LDMFD SP!, {R4-R8,PC}\n" 568 ); 569 } 560 570 561 571 #if 0
Note: See TracChangeset
for help on using the changeset viewer.