Важная информация

User Tag List

Показано с 1 по 6 из 6

Тема: Autobooting TRD disk?

  1. #1
    Member Аватар для morcar1975
    Регистрация
    28.02.2018
    Адрес
    Cardiff, Wales, UK
    Сообщений
    124
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    105
    Поблагодарили
    38 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Autobooting TRD disk?

    How do you make an autobooting TRD disk?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,069
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    82
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Либо, писать стандартными средствами на диск файл-оболочку с именем boot.B.
    Либо, специальными средствами формировать на диске нестандартной длины 9 сектор 0 дорожки.

    http://zxpress.ru/book_articles.php?id=459
    Когда есть, но не знаешь где - это все равно, что нету.

  4. #3
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,748
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,167
    Поблагодарили
    766 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    some versions of trdos start the boot file at once

  5. #4
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,053
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от morcar1975 Посмотреть сообщение
    How do you make an autobooting TRD disk?
    It is actually a buffer overflow exploit.

    1) As the first step in accessing disk by any command or on startup, TR-DOS reads track 0, sector 9 (1-based) into a buffer.

    2) The reading routine does not check the length of the sector.

    3) If you use a custom format of Track 0 such that the sector 9 is longer than 256 bytes, the buffer will overflow.

    4) Past the sector buffer, the BASIC channel/streams table is located which typically gets overwritten.

    5) The TR-DOS does not crash on buffer overflow per se. Instead, it checks a certain location in the buffer to be equal to 0x10 - the TR-DOS file system marker. If the value does not match, TR-DOS will print a message "Disc error" on the lower screen area where BASIC errors also get printed, via RST 16 print-char routine. This is Channel 0 in the channel table.

    6) Because the channel table is overwritten, an attempt to print the "Disc error" message via RST 16 can be routed to any user-specified address. For sensible results, the Sector 9 data is constructed such that the overwritten Channel 0 print-character routine would point somewhere into the sector buffer where your boot code was just loaded.

    7) Upon gaining control, the boot code performs further actions (boots an OS or loads an application). Unless the boot-sector contents are crafted exquisitely carefully, the BASIC program area gets corrupted along with the channel table, so applications that use the "boot sector" approach typically don't rely on BASIC or even the TR-DOS itself (they often use custom disk access routines and IM 2 interrupts).

    8) It is common to have the boot-sector be 1024 bytes long for maximum flexibility of the boot code, but a 512-byte boot sector should also work.
    Последний раз редактировалось Barmaley_m; 24.12.2018 в 04:33.

  6. #5
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от morcar1975 Посмотреть сообщение
    How do you make an autobooting TRD disk?
    В TR-DOS'е, кстати, запускается файл boot по сбросу (reset) в ПЗУ TR-DOS и только с диска A. Если в TR-DOS зашли через меню или из бейсика (любого) никакого запуска файла boot не происходит.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  7. #6
    Member
    Регистрация
    18.08.2005
    Адрес
    Саратов
    Сообщений
    97
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А в скорпиёне 2 вида ТЫРдоса (48к и 128к), причем оба с автозапуском

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Оригинальный ZX и beta-disk
    от megabyte в разделе Внешние накопители
    Ответов: 3
    Последнее: 11.09.2012, 02:31
  2. ROM-DISK и Кеш
    от AlexFantasy в разделе Память
    Ответов: 11
    Последнее: 23.02.2010, 19:31
  3. Коммандеры VS RAM-DISK?
    от Keeper в разделе Софт
    Ответов: 3
    Последнее: 15.07.2009, 19:12
  4. TRD image -> floppy disk
    от Error404 в разделе Утилиты
    Ответов: 13
    Последнее: 28.01.2007, 20:15
  5. Beta Disk контроллер!
    от poison в разделе Внешние накопители
    Ответов: 17
    Последнее: 02.05.2006, 14:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •