создание img для Bochs'a

Тема в разделе "WASM.OS.DEVEL", создана пользователем Seppuku, 31 янв 2009.

  1. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Phantom_84
    ты сам это зделал? молодец)))
     
  2. serrox

    serrox New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2011
    Сообщения:
    10
    <тут был коментарий. К сожалению не обратил внимание кому пишет abcd008. Извините> =)
     
  3. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Версия более новая, НО...
    По идее старые исходники должны компилироваться в новой версии без корректировки (orgimage/finimage содержат лишь то, что раньше было непосредственно в исходниках).
     
  4. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    А я всё думал, вспомнит ли Phantom_84 в этой теме про альтернативу. :)

    Ну раз пошла такая пьянка, сделаем ссылки взаимными: альтернативный вариант.
     
  5. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Я исправляюсь... Из жестко закодированных констант сейчас во включаемых файлах остались только размеры секторов (512 байт и 2 Кб (CD/DVD)). Например:
    Код (Text):
    1. macro reset id
    2. {
    3. local start,count,value,disp
    4. aligndata IP_CLUSTERSIZE*512
    5. if id#_size>0
    6. start=(id/512-$$/512-IP_RESERVEDSECTORS-IP_FATS*IP_FATSIZE-IP_ROOTSIZE)/IP_CLUSTERSIZE+2
    7. count=(id#_size+IP_CLUSTERSIZE*512-1)/(IP_CLUSTERSIZE*512)
    8. repeat count
    9. value=start+%
    10. disp=$$+IP_RESERVEDSECTORS*512+2*(value-1)
    11. if %=count
    12. times IP_FATS store word 0FFFFh at (%-1)*IP_FATSIZE*512+disp
    13. else
    14. times IP_FATS store word value at (%-1)*IP_FATSIZE*512+disp
    15. end if
    16. end repeat
    17. end if
    18. }
    На ваше замечание про стиль и комменты я позволил себе наплевать, т.к., повторяю, данные включаемые файлы предназначены для использования, а не для изучения.
     
  6. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Phantom_84
    Да я не против. Но Вам самому так проще, или Вы принципиально не хотите сделать код более читабельным?

    Кстати, помнится, я приводил аргументы, согласно которым полноценное использование Ваших макросов без их изучения невозможно.
     
  7. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Мне не проще, а без разницы. Я не стремился сделать код более читабельным, т.к. не преследовал этой цели.

    Возможно. Достаточно иметь примеры и список зарезервированных идентификаторов.
     
  8. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Phantom_84
    А вот и недостаточно. Чтобы встроить пользовательский загрузчик, нужно знать, на какие захардкоженые значения полей BPB завязаны Ваши макросы. В противном случае образ может получиться невалидным.
     
  9. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Мне кажется, здесь только вы используете "нестандартные" значения полей BPB для флоппика. Практически все эти поля заполняют еще на этапе написания загрузчика для флоппика. А я так вообще использую жестко закодированные константы в загрузчике для флоппика (т.е. даже не обращаюсь к полям BPB). Повторяю, флоппик - это особый случай. Мне достаточно 99,9% популярности самого распространенного формата, чтобы чувствовать себя комфортно. При необходимости универсальность может быть достигнута без особых проблем, только думаю, что в отношении флоппика универсальность уже мало кому нужна. Есть масса более актуальных задач.
     
  10. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Phantom_84
    Не важно, стандартные они или нет. Я говорю о том, что Вы полагаетесь на то, что пользователь Ваших макросов не только должен знать и самостоятельно заполнять BPB, но ещё и быть уверенным, что Вы используете те же значения (пусть даже они стандартные) в макросах. А для этого необходимо в них ковыряться.
     
  11. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    l_inc
    да по уму он это писал для себя а вам просто выложил для создания образа диска.
    чего мог и не делать. если так отнасится то потом может и не помочь)

    а для виртуальных машин я знаю только 144 и 288 форматы img файлов.
    так как сам биос в режиме иуляции умеет работать только с ними(это так )
     
  12. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    OK, я использую "стандартные" для флоппика значения полей BPB!!! Пусть это будет третий пункт в моих "Достаточно..."

    Сейчас я довожу до нужной кондиции mkfat16.inc, в котором из жестко закодированных констант, как я уже сказал, остался только размер сектора. Из этого файла легко получить mkfat12.inc (возможно, будет и обобщенная версия для FAT1x). А из последнего - универсальный mkfloppy.inc, лишенный "недостатка", о котором ты говоришь.
     
  13. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Спасибо за поддержку))) Это действительно так. Только боюсь упреков типа: "Решил выложить, изволь сделать код читабельным и максимально универсальным")))

    Зы) Посты почти синхронные. Мой последний пост для l_inc, если кому не понятно.
     
  14. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Удалено. Причина: чисто эмоциональное сообщение.
     
  15. BOTOKILLER

    BOTOKILLER New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2011
    Сообщения:
    10
    А я вообще с образами флопов и СД не мучаюсь - открываю в хекс едиторах VDI образ харда и бинарник и копи+паст))))
    Зато все видно как оно есть)))
     
  16. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Phantom_84
    Ну во-первых, Вы сами просили оценку. Ну ладно, это было в прошлый раз. Но в этот раз Вы ведь тоже сами завели разговор об улучшении своих макросов, не так ли?

    Во-вторых, Вы ведь понимаете, что в повышении Вами юзабельности своих макросов моя практическая выгода нулевая. Я просто общаюсь с разбирающимся человеком по теме. Не более. Вот, например, на "высокоаргументированное" замечание abcd008 о поддержке форматов мне и ответить-то нечего. :derisive:
     
  17. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Не совсем так. Я ответил на вопрос, что выложенная в данный момент версия новее, чем та, о которой здесь шел разговор ранее, но в ней ничего принципиально нового нет, так чисто косметические изменения (которые лично мне не сильно нравятся, но сделаны в угоду отдельным товарищам), а действительно существенные нововведения еще впереди.
     
  18. serrox

    serrox New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2011
    Сообщения:
    10
    я то же их использую, забавы ради, но могу сказать: я быстро разобрался что надо сделать что б все было правильно.
     
  19. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Разобраться в этом не трудно, сложнее видоизменять каждый раз. При помощи параметров это делать значительно легче. Например:
    Код (Text):
    1. include "mkfat16.inc"
    2.  
    3. IP_FATS = 1
    4. IP_FATSIZE = 1 ; противоречит канонической FAT16, но все же
    5. IP_ROOTSIZE = 1
    6.  
    7. orgimage "boot.bin"
    8. ...
     
  20. Eugene22

    Eugene22 New Member

    Публикаций:
    0
    Регистрация:
    20 авг 2011
    Сообщения:
    9
    Прочитал тему, но все равно непонятно, как записать в образ, созданный в боксе, свой загрузчик и прочие файлы. Вот я создал образ жесткого диска с помощью bximage.exe, как туда теперь засунуть программу начальной загрузки?