Here is my latest "LOG" file.
I have finished the v32 and v36 firmwares, all tho, not much good
as they don't seem to work at least on a v46 or v47 drive.
Maybe the hardware is different on the early drives, but looking thru
the code it looks like the v32 and v36 are BETA firmwares and may
not work on a RETAIL x360 drive.
Tough-luck for those ordering "ebay" replacement drives, as currently
without an external programmer it looks like those v32/v36 drives
are dead for "original usage" in a x360 system.
Looking at way to upgrade the firmware to a valid working version
like v46 or v47, or maybe even v59.
Finishing porting the F900 code to the other working versions of drives,
and now working on merging it with the "c4e" code.
Been busy doing other things over the double-long weekend with
Canada Day and USA Day (July 4), but I am now back on track to
getting things completed.
------------------------------------------------------------------------
FW:garyopa_v1.5_r0606.30
========================
ALL KNOWN HITACHI FIRMWARES
===========================
GDR-3120L v32 - Apr/04/05 - Original not in x360
GDR-3120L v36 - Jun/20/05 - Original not in x360
GDR-3120L v46 - Jul/27/05 - The "Launch" of x360
GDR-3120L v47 - Jul/27/05 - XMAS version of x360
GDR-3120L v59 - Jan/24/06 - After Feb'06 of x360
FLASHSEC47_WIN - Only needed for FW v59 flasher!
==============
- v59 RAM is moved DOWN by 4
xADDR v47 v59 - v47 used as BASE REF
----- --- --- -----------------------
:88B6 A5 A9 - SET BIT >5A5
:8AF7 34 35 - Usage: Flashsec47
:8AF8 37 39
ROM:90003000 = CUSTOM CODE
==========================
- v32 RAM is moved UP by 4
- v36 RAM is moved UP by 8
- v46 RAM is not moved!
- v59 RAM is moved DOWN by 4
xADDR v32 v36 v46 v47 v59 - v47 used as BASE REF
----- --- --- --- --- --- --------------------
:3009 BD 41 67 7D EE - JMP >90035785
:300A 22 22 27 27 29
:3020 89 0D 33 49 BA - JMP >90035768
:3021 22 22 27 27 29
:306C 5A DE 04 1A 8B - JMP >90035785
:306D 22 21 27 27 29
:3116 5E 46 4D 4D BE - JMP >9001C862
:3117 94 92 97 97 99
:313C CD B5 BC BC 2D - JMP >9001C8F7
:313D 94 92 97 97 9A
:320D CE CA D2 D2 D6 - movbu (>8D2),D0
:3212 63 E0 0E 1D 8E - JMP >9002722E
:3213 3C 3A 40 40 42
:3217 CE CA D2 D2 D6 - movbu (>8D2),D0
:324C CF CB D3 D3 D7 - movbu (>8D3),D0
:325F CF CB D3 D3 D7 - movbu (>8D3),D0
:3262 FD F9 01 01 05 - movbu D0,(>701)
:3263 06 06 07 07 07
:3265 F5 F1 F9 F9 FD - movbu (>6F9),D0
:3268 FE FA 02 02 06 - movbu D0,(>702)
:3269 06 06 07 07 07
:326B F6 F2 FA FA FE - movbu (>6FA),D0
:326E FF FB 03 03 07 - movbu D0,(>703)
:326F 06 06 07 07 07
:3271 F7 F3 FB FB FF - movbu (>6FB),D0
:3274 00 FC 04 04 08 - movbu D0,(>704)
:3275 07 06 07 07 07
:3277 F8 F4 FC FC 00 - movbu (>6FC),D0
:3278 06 06 06 06 07
:327A 01 FD 05 05 09 - movbu D0,(>705)
:327B 07 06 07 07 07
:3280 02 FE 06 06 0A - movbu D0,(>706)
:3281 07 06 07 07 07
:3286 03 FF 07 07 0B - movbu D0,(>707)
:3287 07 06 07 07 07
:328C 04 00 08 08 0C - movbu D0,(>708)
:3292 05 01 09 09 0D - movbu D0,(>709)
:32AB CF CB D3 D3 D7 - movbu (>8D3),D0
:32BE CF CB D3 D3 D7 - movbu (>8D3),D0
:32C1 FD F9 01 01 05 - movbu D0,(>701)
:32C2 06 06 07 07 07
:32C4 F5 F1 F9 F9 FD - movbu (>6F9),D0
:32C7 FE FA 02 02 06 - movbu D0,(>702)
:32C8 06 06 07 07 07
:32CA F6 F2 FA FA FE - movbu (>6FA),D0
:32CD FF FB 03 03 07 - movbu D0,(>703)
:32CE 06 06 07 07 07
:32D0 F7 F3 FB FB FF - movbu (>6FB),D0
:32D3 00 FC 04 04 08 - movbu D0,(>704)
:32D4 07 06 07 07 07
:32D6 F8 F4 FC FC 00 - movbu (>6FC),D0
:32D7 06 06 06 06 07
:32D9 01 FD 05 05 09 - movbu D0,(>705)
:32DA 07 06 07 07 07
:32DF 02 FE 06 06 0A - movbu D0,(>706)
:32E0 07 06 07 07 07
:32E5 03 FF 07 07 0B - movbu D0,(>707)
:32E6 07 06 07 07 07
:32EB 04 00 08 08 0C - movbu D0,(>708)
:32F1 05 01 09 09 0D - movbu D0,(>709)
:3302 BB B7 BF BF C3 - btst ' ',(>ABF)
:3309 94 90 98 98 9C - btst ' ',(>598)
:3311 48 35 3C 3C AD - CALL >9001CD4C
:3312 97 95 9A 9A 9C
:331F 3A 27 2E 2E 9F - CALL >9001CD4C
:3320 97 95 9A 9A 9C
:332D 4B 38 3F 3F B0 - CALL >9001CD6B
:332E 97 95 9A 9A 9C
:333B A4 91 98 98 09 - CALL >9001CDD2
:333C 97 95 9A 9A 9D
:3346 D7 C4 CB CB 3C - CALL >9001CD10
:3347 96 94 99 99 9C
:3350 CD BA C1 C1 32 - CALL >9001CD10
:3351 96 94 99 99 9C
:3357 F4 F0 F8 F8 FC - movbu (>6F8),D0
:335A CE CA D2 D2 D6 - movbu (>8D2),D1
:335D 9C F0 0F 1E 8F - CALL >9002817A
:335E 4A 48 4E 4E 50
:3364 23 77 96 A5 16 - CALL >90028108
:3365 4A 48 4D 4D 50
:336D D5 D1 D9 D9 DD - movbu D0,(>6D9)
ROM:9001C000 = DRT DECRYPT
==========================
- v32 moved UP by >2EF / >2F4 bytes!
- v36 moved UP by >507 bytes!
- v46 same ADDR as v47 chunk!
- v59 moved DOWN by >271 bytes!
32ADDR 36ADDR v46/47 59ADDR gdr 32 36 46/7 59 - v47 used as BASE REF
------ ------ ------ ------ --- -- -- ---- -- --------------------
:1C56D :1C355 :1C85C :1CACD FC DC DC DC DC - JMP >90003100
:1C56E :1C356 :1C85D :1CACE DC 93 AB A4 33
:1C56F :1C357 :1C85E :1CACF 1C 6B 6D 68 66
:1C570 :1C358 :1C85F :1CAD0 64 FE FE FE FE
:1C571 :1C359 :1C860 :1CAD1 03 FF FF FF FF
:1C572 :1C35A :1C861 :1CAD2 80 CB CB CB CB - NOP
ROM:90024000 = MODE B/A - v46 & v47 flash block
ROM:90025000 = MODE B/A - v59 only! flash block
======================= - s4e F900.BIN usage! / Switch back to Mode A!!
- v32 <no need, non-working drive>
- v36 <no need, non-working drive>
- v46 same ADDR as v47 chunk!
- v59 moved DOWN by >271 bytes!
v46/47 59ADDR gdr s4e - v47 BASE REF / s4e F900.BIN
------ ------ --- --- ----------------------------
:24F76 :251E7 C8 CA - BEQ >90024F80 / BRA (same)
ROM:90026000 = CHALLENGE - v32 & v36 flash block
ROM:90027000 = CHALLENGE - V46/47/59 flash block
========================
- v32 moved UP by >381 / >3BA / >382 bytes!
- v36 moved UP by >53D / >52E bytes!
- v46 moved UP by >00F bytes!
- v59 moved DOWN by >271 bytes!
32ADDR 36ADDR 46ADDR 47ADDR 59ADDR gdr 32 36 46 47 59 - v47 used as BASE REF
------ ------ ------ ------ ------ --- -- -- -- -- -- --------------------
:26D97 :26BDB :27109 :27118 :27389 C9 CA CA CA CA CA - BNE > BRA
:26E6F :26CEC :2721A :27229 :2749A 34 DC DC DC DC DC - JMP >90003200
:26E70 :26CED :2721B :2722A :2749B D2 91 14 E6 D7 66
:26E71 :26CEE :2721C :2722B :2749C 08 C3 C5 BF BF BD
:26E72 :26CEF :2721D :2722C :2749D A0 FD FD FD FD FD
:26E73 :26CF0 :2721E :2722D :2749E 00 FF FF FF FF FF
:26F28 :26DA5 :272D3 :272E2 :27553 C8 CA CA CA CA CA - BEQ > BRA
:26F34 :26DB1 :272DF :272EE :2755F C8 CA CA CA CA CA - BEQ > BRA
:26F40 :26DBD :272EB :272FA :2756B C8 CA CA CA CA CA - BEQ > BRA
:26F4C :26DC9 :272F7 :27306 :27577 C8 CA CA CA CA CA - BEQ > BRA
46ADDR 47ADDR 59ADDR gdr s4e - v47 BASE REF / s4e F900.BIN
------ ------ ------ --- --- -------------------------------
:27096 :270A5 :27316 C9 CA - BNE >900270B0 / BRA >900270D3
:27097 :270A6 :27317 0B 2E
:270E3 :270F2 :27363 C2 CA - BGE >900270F7 / BRA >9002716A
:270E4 :270F3 :27364 05 78
:274FC :2750B :2777C C9 CA - BNE >9002751E / BRA >90027585
:274FD :2750C :2777D 13 7A
:275F4 :27603 :27874 C9 CA - BNE >9002762A / BRA (same)
:27621 :27630 :278A1 34 F8 - movbu >6F9,D0 / movbu (A0),D0
:27622 :27631 :278A2 F9 40
:27623 :27632 :278A3 06 00
:27627 :27636 :278A7 34 F8 - movbu >6FA,D0 / movbu (1,A0),D0
:27628 :27637 :278A8 FA 40
:27629 :27638 :278A9 06 01
:2762D :2763C :278AD 34 F8 - movbu >6FB,D0 / movbu (2,A0),D0
:2762E :2763D :278AE FB 40
:2762F :2763E :278AF 06 02
:27633 :27642 :278B3 34 F8 - movbu >6FC,D0 / movbu (3,A0),D0
:27634 :27643 :278B4 FC 40
:27635 :27644 :278B5 06 03
:277D3 :277E2 :27A53 C9 CA - BNE >900277F5 / BRA >9002785C
:277D4 :277E3 :27A54 13 7A
:278E4 :278F3 :27B64 C8 CA - BEQ >900278F7 / BRA >90027912
:278E5 :278F4 :27B65 04 1F
:27909 :27918 :27B89 34 F8 - movbu >6F9,D0 / movbu (A0),D0
:2790A :27919 :27B8A F9 40
:2790B :2791A :27B8B 06 00
:2790F :2791E :27B8F 34 F8 - movbu >6FA,D0 / movbu (1,A0),D0
:27910 :2791F :27B90 FA 40
:27911 :27920 :27B91 06 01
:27915 :27924 :27B95 34 F8 - movbu >6FB,D0 / movbu (2,A0),D0
:27916 :27925 :27B96 FB 40
:27917 :27926 :27B97 06 02
:2791B :2792A :27B9B 34 F8 - movbu >6FC,D0 / movbu (3,A0),D0
:2791C :2792B :27B9C FC 40
:2791D :2792C :27B9D 06 03
ROM:90035000 = SS READ
======================
- v32 moved UP by >4C0 bytes!
- v36 moved UP by >53C bytes!
- v46 moved UP by >016 bytes!
- v59 moved DOWN by >271 bytes!
32ADDR 36ADDR 46ADDR 47ADDR 59ADDR gdr 32 36 46 47 59 - v47 used as BASE REF
------ ------ ------ ------ ------ --- -- -- -- -- -- --------------------
:351EC :35170 :35696 :356AC :3591D 06 05 05 05 05 05 - FFFD06F0 > 605F0
:351ED :35171 :35697 :356AD :3591E FD 06 06 06 06 06 (SS XBOX)
:351EE :35172 :35698 :356AE :3591F FF 00 00 00 00 00
:351F3 :35177 :3569D :356B3 :35924 70 10 10 10 10 10 - FFFD0970 > FFFD0210
:351F4 :35178 :3569E :356B4 :35925 09 02 02 02 02 02 (SS ORIG)
:351FC :35180 :356A6 :356BC :3592D 02 FB FB FB FB FB - FFFD0210 > 4FB10
:351FD :35181 :356A7 :356BD :3592E FD 04 04 04 04 04 (SS X360)
:351FE :35182 :356A8 :356BE :3592F FF 00 00 00 00 00
:3524E :351D2 :356F8 :3570E :3597F C9 CA CA CA CA CA - BNE > BRA
:3526A :351EE :35714 :3572A :3599B C8 CA CA CA CA CA - BEQ > BRA
:352A6 :3522A :35750 :35766 :359D7 C8 CA CA CA CA CA - BEQ > BRA
:352BB :3523F :35765 :3577B :359EC FC DC DC DC DC DC - JMP >90003000
:352BC :35240 :35766 :3577C :359ED C8 45 C1 9B 85 14
:352BD :35241 :35767 :3577D :359EE 00 DD DD D8 D8 D6
:352BE :35242 :35768 :3577E :359EF 10 FC FC FC FC FC
:352BF :35243 :35769 :3577F :359F0 31 FF FF FF FF FF
:352C0 :35244 :3576A :35780 :359F1 0F CB CB CB CB CB - NOP
ROM:9003E000 = CHECKSUM - FOUR bytes starting at :3E7FC are all SET to 00/ZERO!
======================= - The same TRICK for all Hitachi's to DISABLE checksum!