может тут кому-то будет интересно - стало любопытно каким макаром родные Mil-CD софтины делают разлочку G1, оказалось совсем не так как хоумбрю/пиратка.
если помните, перед запуском бинарников биос пишет в 5F74E4 типа магическое число - 42FE, которое как я и предполагал не отфонарное, а реальный конечный адрес данных которые будут прогоняться через схему защиты.
собсно в бинарнике милцд встречается такой код:
Код:
8C1DF142  D10C  MOV.L     #h'A0001000, R1
8C1DF144  D20C  MOV.L     #h'8C001000, R2
8C1DF146  D30D  MOV.L     #h'00000C00, R3
8C1DF148  6016  MOV.L     @R1+, R0
8C1DF14A  2202  MOV.L     R0, @R2
8C1DF14C  4310  DT        R3
8C1DF14E  8FFB  BF/S      h'8C1DF148
8C1DF150  7204  ADD       #h'04, R2
8C1DF152  D00B  MOV.L     #h'000000C0, R0
8C1DF154  6316  MOV.L     @R1+, R3
8C1DF156  4010  DT        R0
8C1DF158  8BFC  BF        h'8C1DF154
 
выглядит бесполезно, т.к. он копирует кусок БИОСа 1000 - 3FFF в раму, то есть область сисколлов, которые и так уже там лежат, и потом еще читает следующие 300h байтов, то есть до адреса 42FF
знакомая цифирка, да ? на единичку больше того якобы "магического" 42FE )
короче это и есть родная "прокачка".
а кусок данных 1000 - 42FE (сисколы с последующими 256 байт "мусора" и еще 511 байт нулей) обладает волшебной контрольной суммой и разлочивает схему защиты.
вот как разлочка для милцд была задумана и реализована самой Сегой