Создать ответ 
 
Рейтинг темы:
  • Голосов: 0 - Средняя оценка: 0
  • 1
  • 2
  • 3
  • 4
  • 5
BIOS protection by Holly
Автор Сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7236
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #12
RE: need help with dreamcast HDD IDE
(16.06.2014 15:02)MetalliC писал(а):  
(16.06.2014 14:16)SWAT писал(а):  Я просто изменил в KOS код прокачки, вместо чтения всего биоса, я читал в цикле только первые 4 байта. Результат ожидаемый, зависло на инициализации привода.
может слишком рано оно попыталось инитить привод ?
можешь попробовать читать сколько и было но без инкремента ? чтоб уже наверняка убедиться.

Я именно так и сделал, без инкремента читал просто всегда первое слово, но нужное количество раз.

(16.06.2014 15:02)MetalliC писал(а):  
(16.06.2014 14:16)SWAT писал(а):  Трюк с записью вместо чтения тоже не прошел Sad
жаль, а как пробовал ?
скопировал родной биос в RAM а затем после записи 5f74e4 читал его из рамы и писал в адреса от 0x100 до 0x1fffff ?

Да, именно так. Без оптимизаций процессором этих данных, а так же из некэшируемой области. В общем учел все шероховатости, но это не помогло как не крути Sad
Только писал я его с нулевого адреса, как он и проверяется в общем то в KOS, там все 2 МБ прокачиваются, я до сих пор не пойму откуда вообще этот оффсет взялся.
Из кода биоса понятно, что прокачивается он абсолютно весь:

PHP код:
    /* initialize ROM checksum */
    
*HW32(0xa05f74e4) = 0x001fffff;

    
/* switch to double precision (for 64bit copying below) */
    
reg[FPSCR] = 0x00140001;

    
src = (uint64_t *)0xa0000000;
    
dst = (uint64_t *)0x8c000000;
    for (
032i++) {    /* skip the system variables */
        
(void)*src++;        
        
dst++;
    }
    for (
02016i++)     /* copy a0000100-a0004000 to 8c000100 */
        
*dst++ = *src++;

    for (
02048i++) {
        (
void)*(src++);
        
dst++;
    }
    for (
0258048i++)     /* copy a0008000-a0200000 to 8c008000 */
        
*(dst++) = *(src++);

    
/* back to single precision */
    
reg[FPSCR] = 0x00040001

Первые 256 байт просто не копируются в память, но они тоже прокачиваются через шину, об этом говорит вот эта строка:

PHP код:
(void)*src++; 

Вот так выглядит прокачка в KOS:
PHP код:
uint32 p;
    
volatile uint32 *react = (uint32*)0xa05f74e4,
                     *
bios = (uint32*)0xa0000000;

    
/* Reactivate drive: send the BIOS size and then read each
       word across the bus so the controller can verify it. */
    
*react 0x1fffff;

    for(
00x200000 4p++) {
        (
void)bios[p];
    } 

[Изображение: barbers.png]
(Последний раз сообщение было отредактировано 17.06.2014 в 08:23, отредактировал пользователь SWAT.)
17.06.2014 08:19
Вебсайт Найти все сообщения Цитировать это сообщение
Создать ответ 


Сообщения в этой теме
BIOS protection by Holly - OzOnE - 12.06.2014, 21:48
RE: BIOS protection by Holly - cybdyn - 18.06.2014, 14:36
RE: BIOS protection by Holly - SWAT - 18.06.2014, 15:57
RE: BIOS protection by Holly - cybdyn - 18.06.2014, 14:39
RE: BIOS protection by Holly - cybdyn - 18.06.2014, 14:51
RE: BIOS protection by Holly - cybdyn - 18.06.2014, 17:22
RE: BIOS protection by Holly - SWAT - 18.06.2014, 18:11
RE: BIOS protection by Holly - OzOnE - 18.06.2014, 18:34
RE: BIOS protection by Holly - cvgs - 18.09.2014, 18:31
RE: BIOS protection by Holly - SWAT - 18.09.2014, 18:57
RE: BIOS protection by Holly - shadow - 19.09.2014, 07:07
RE: BIOS protection by Holly - SWAT - 19.09.2014, 08:11
RE: BIOS protection by Holly - shadow - 19.09.2014, 10:13
RE: BIOS protection by Holly - SWAT - 19.09.2014, 10:44
RE: BIOS protection by Holly - shadow - 19.09.2014, 11:00
RE: BIOS protection by Holly - SWAT - 19.09.2014, 13:00
RE: BIOS protection by Holly - shadow - 19.09.2014, 13:24
RE: BIOS protection by Holly - SWAT - 19.09.2014, 13:45
RE: BIOS protection by Holly - SWAT - 20.09.2014, 09:28
RE: BIOS protection by Holly - cvgs - 20.09.2014, 09:54
RE: BIOS protection by Holly - shadow - 22.09.2014, 10:28
RE: BIOS protection by Holly - SWAT - 22.09.2014, 12:47
RE: BIOS protection by Holly - shadow - 06.10.2014, 14:02
RE: BIOS protection by Holly - SWAT - 06.10.2014, 15:08
RE: BIOS protection by Holly - SWAT - 09.10.2014, 11:31
RE: BIOS protection by Holly - alex - 21.06.2016, 13:27
RE: BIOS protection by Holly - SWAT - 07.06.2016, 09:01
RE: BIOS protection by Holly - SWAT - 07.06.2016, 14:30
RE: BIOS protection by Holly - SWAT - 20.06.2016, 10:34
RE: BIOS protection by Holly - SWAT - 21.06.2016, 09:25
RE: BIOS protection by Holly - SWAT - 22.06.2016, 21:10
RE: BIOS protection by Holly - SWAT - 21.06.2016, 14:36
RE: BIOS protection by Holly - SWAT - 23.06.2016, 08:33
RE: BIOS protection by Holly - SWAT - 24.06.2016, 08:14
RE: BIOS protection by Holly - SWAT - 24.06.2016, 14:43
RE: BIOS protection by Holly - alex - 24.06.2016, 18:19
RE: BIOS protection by Holly - cvgs - 24.06.2016, 21:06
RE: BIOS protection by Holly - alex - 24.06.2016, 21:47
RE: BIOS protection by Holly - SWAT - 25.06.2016, 09:01
RE: BIOS protection by Holly - SWAT - 24.06.2016, 19:30
RE: BIOS protection by Holly - alex - 26.06.2016, 11:11
RE: BIOS protection by Holly - alex - 24.06.2016, 19:44
RE: BIOS protection by Holly - alex - 24.06.2016, 21:08
RE: BIOS protection by Holly - cvgs - 24.06.2016, 21:18
RE: BIOS protection by Holly - cvgs - 24.06.2016, 21:22
RE: BIOS protection by Holly - SWAT - 24.06.2016, 21:36
RE: BIOS protection by Holly - SWAT - 26.06.2016, 12:31
RE: BIOS protection by Holly - cybdyn - 26.09.2016, 11:23
RE: BIOS protection by Holly - SWAT - 11.11.2016, 07:38
RE: need help with dreamcast HDD IDE - SWAT - 17.06.2014 08:19

Похожие темы
Тема: Автор Ответов: Просмотров: Посл. сообщение
  BIOS Guest 22 66318 27.06.2005 15:39
Посл. сообщение: STIV

Переход:


Пользователи просматривают эту тему: 7 Гость(ей)