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

User Tag List

Страница 6 из 15 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 143

Тема: Адаптация программ к системе +3DOS

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

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    а как мне при просмотре каталога узнать начальный адрес кодового блока и его длину в байтах ?
    Клон этого не знает. Читай описание +3dos, в заголовках файлов эта инфа содержится. Смотри мой исх. бута zyx для +3. У каждого файла в +3DOS есть запись 128 байт, перед файлом. В ней сигнатура и данные для спеткрума. А файл сам, является нормальным файлом CP/M. Т.е. его длина кратна 128 байт. Иными словами, его можно рассматривать как набор записей по 128 байт. Запись номер 0 является заголовком, хеадером файла.

    The format of the header record is as follows:

    Bytes 0...7 - +3DOS signature - 'PLUS3DOS'
    Byte 8 - 1Ah (26) Soft-EOF (end of file)
    Byte 9 - Issue number
    Byte 10 - Version number
    Bytes 11...14 - Length of the file in bytes, 32 bit number,
    least significant byte in lowest address
    Bytes 15...22 - +3 BASIC header data
    Bytes 23...126 - Reserved (set to 0)
    Byte 127 - Checksum (sum of bytes 0...126 modulo 256)

    Байты 15-22
    Note that +3 BASIC makes use of the first 7 of these 8 bytes as
    follows:

    +---------------+-------+-------+-------+-------+-------+-------+-------+
    | BYTE | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
    +---------------+-------+-------+-------+-------+-------+-------+-------+
    | Program 0 file length 8000h or LINE offset to prog |
    | Numeric array 1 file length xxx name xxx xxx |
    | Character array 2 file length xxx name xxx xxx |
    | CODE or SCREEN$ 3 file length load address xxx xxx |
    +-----------------------------------------------------------------------+
    Последний раз редактировалось Vadim; 20.11.2012 в 06:58.

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

    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
    [свернуть]

  2. #52
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,774
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    извиняюсь, не уточнил.
    как это сделать простым способом (из бейсика).
    есть аналог команды LIST ?

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

    По умолчанию

    Насколько я знаю - нет. Я делаю так: экспортирую файлы из образа DSK в файлы. Открываю их HEX редактором, сразу видно и старт и длину.Можно и не экспортировать, просто у меня получалась логическая цепочка, что это было нужно, потом тем же редактором подрезал файл, что бы он точно соотв. длине, и удалял заголовок 128 байт. Всё это делалось для переброски в trdos. Для обратного действия я написал утилиту под QDOS для пришивания хеадера к файлу из образа SCL.

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

    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
    [свернуть]

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

    По умолчанию

    понятно, а вообще есть утилита под WIN (кажется BlockEditor), она позволяет просматривать содержимое диска и экспортировать файлы.

  5. #55
    Guru Аватар для Addison
    Регистрация
    07.01.2006
    Адрес
    г. Москва
    Сообщений
    3,442
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Клон этого не знает.
    Не занимайся провокацией в моей теме.
    Создавай с Гудбоем свою и там обсуждай свои вопросы, чего я знаю или не знаю я доказал своими адаптированными играми, в том числе и с загрузчиками в машинном коде. Моей адаптацией игры Elite к +3dos пользуется весь мир, причем она получилась даже лучше тех адаптаций, которые были сделаны для TR-DOS.

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

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    понятно, а вообще есть утилита под WIN (кажется BlockEditor)
    Да, очень полезная утилита. Она понимает много форматов, в т.ч. TZX, удобно распаковывать блоки из tzx файла. Хотя там есть минусы. И с +3 умеет работать, но я её не применял для этих целей, нашёл позднее уже.

    Цитата Сообщение от Клон Посмотреть сообщение
    Моей адаптацией игры Elite к +3dos пользуется весь мир, причем она получилась даже лучше тех адаптаций, которые были сделаны для TR-DOS.
    О да, ты велик!! Только судя по той тупости, что ты писал выше видно, что знания твои крайне скудны. Да, сделал адаптацию одной игры как полагается и что? Гордиться до скончания лет? Где твои кодовые загрузчики? Сколько ты игр адаптировал? С горстку может и наберётся. Ты даже мотор отключать не научился, а это даже из бейсика делается легко.

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

    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. #57
    Junior
    Регистрация
    19.09.2009
    Адрес
    Saint Petersburg, Russia
    Сообщений
    3
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Клон Посмотреть сообщение
    Цитата Сообщение от Клон Посмотреть сообщение
    Ссылки сдохли, хвост облез.

  8. #58
    Guru Аватар для ZX_NOVOSIB
    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,547
    Спасибо Благодарностей отдано 
    233
    Спасибо Благодарностей получено 
    258
    Поблагодарили
    178 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Клон Посмотреть сообщение
    Сделано это из-за того, что для +3DOS заюзана 7-я страница и ее периодически нужно включать, когда отрабатывается процедура +3DOS в бейсике. Поэтому если в игре банк памяти переключается некорректно (без сохранения содержимого порта 7FFDh в переменной BANK_M), то при возникновении прерывания первого рода IM1 отрабатывает процедура RST38 и меняет банк памяти на тот, который записан в переменной BANK_M. В случае DIZZY2 происходит несанкционированное переключение банка 6, куда подгружена музыка, на банк 0, где расположен основной код игр. Это приводит к зависанию в самом начале при воспроизведении приветственного крика.
    Всю тему читал, и смежные тоже читал, но так и не могу многие вещи понять, голова дымится уже. Я думал, что +2AB и +3 - это одно и тоже. Токо в +2AB контроллер дисковода обрезали (ПЗУ у них кстати одно на двоих, просто есть версия пзу 4.0, её в основном ставили в +3; и есть 4.1, её в основном ставили в +2AB), но получается, что +3 всё же отличается в плане совместимости от +2AB, причем в худшую сторону?

    Спрошу проще, на конкретном примере. У меня есть +2B, в него воткнут BDI и Multiface3. Я гружу TR-DOS игрушки, они прекрасно грузятся и работают. Мультифейсом снапшоты этих игрушек прекрасно сохраняются на ленту, и потом прекрасно загружаются и работают. На +3 все эти действия будут столь же прекрасны? (если снапшоты уже не на ленту сейвить, а на дисковод +3) Или "из-за 7-ой страницы" уже будут какие-то проблемы, как в вышеприведенной диззи-2?

    И второй момент. Как в +3DOS правильно сделать файл DISK., чтобы он запускался из Loader'a? В спектакуляторе делаю файл в бейсике, сохраняю его как DISK, по нажатию на Loader он загружается, но не автостартует! а просто выдается сообщение O.K. типа загружено, как будто я MERGE делал. Пробовал сохранить так: SAVE "a: DISK" LINE 1 - один хрен не автостартует. В чём проблема?

  9. #59
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,774
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    На +3 все эти действия будут столь же прекрасны? (если снапшоты уже не на ленту сейвить, а на дисковод +3)
    а что мешает проверить под эмулем ?

  10. #60
    Guru Аватар для ZX_NOVOSIB
    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,547
    Спасибо Благодарностей отдано 
    233
    Спасибо Благодарностей получено 
    258
    Поблагодарили
    178 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    а что мешает проверить под эмулем ?
    мешает отсутствие адекватного эмуля, способного одновременно сэмулировать и +3 и BDI и MF3. Через какие-то костыли, это, с горем пополам, могут сэмулировать 2 эмуля: RealSpectrum и x128. Но обоим эмулям доверия нет. Они врут. Я по реалу ориентируюсь, ведь в конечном итоге всё это для реала. Причем RS врёт в пессимистическую сторону, т.е. в нём глючит то, что на реале отлично работает. А x128 врёт в оптимистическую сторону, т.е. в нём проходит то, что не проходит у меня на реале.

    Ну а вообще, +3, из-за этой 7-ой страницы, получается более капризен чем +2AB? Или проблема только в Dizzy-2?

    Или ты имел ввиду, что мне надо, взяв какую-нибудь явно проблемную игру, протестить на эмуле просто связку +2AB+MF3, а потом +3+MF? Я это сделал:

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

    Скачал оригинальную Dizzy-2 c zxdenied.ru, попробовал её запустить с лоадера в +2AB - сбрасывается. Через USR0 - запускается. Сделал tap-снапшот. Этот снапшот потом успешно грузится просто из лоадера (usr0 уже не требуется)

    Поменял модель на +3. Из лоадера тоже сбрасывается, из usr0 тоже работает. Сделал снапшот на +3 диск, потом загрузил его из лоадера (назвал DISK). Всё работает. Не смотря на то, что для загрузки снапшота использовалась +3DOS(?), юзалась(?) 7-ая страница, всё прошло гладко. Получается +3 не уступает в совместимости своему бездисководному брату?
    [свернуть]


    И почему, блин, когда я в MF3 называю снапшот DISK, то он потом из лоадера не только загружается, но и автостартует. А когда я в бейсике набиваю програмку, сохраняю её как DISK, то она из лоадера просто грузится, но не автостартует? Или это глюки эмуля и на реале всё будет окей?
    Куплю корпус и материнку от Spectrum +2/+3

Страница 6 из 15 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Адаптация текстового редактора
    от Raydac в разделе Софт
    Ответов: 1
    Последнее: 09.06.2008, 14:27
  2. Ответов: 75
    Последнее: 26.01.2006, 03:06
  3. Компилирование готовых программ
    от CityAceE в разделе Программирование
    Ответов: 3
    Последнее: 02.11.2005, 12:42
  4. TR-DOS -> 3DOS?
    от dhau в разделе Оси
    Ответов: 4
    Последнее: 02.02.2005, 16:29
  5. Тестирование программ
    от Vitamin в разделе Программирование
    Ответов: 5
    Последнее: 23.01.2005, 21:46

Ваши права

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