User Tag List

Страница 142 из 202 ПерваяПервая ... 138139140141142143144145146 ... ПоследняяПоследняя
Показано с 1,411 по 1,420 из 2014

Тема: Sprinter. Второе пришествие

  1. #1411

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поставил себе очень мутную задачку - перекинуть Ивановского дума (вроде исходники есть, не ясно насколько рабочие) из режима трдос в нормальный режим, чтобы запускать можно было из под доса. Натскнулся, конечно же, на костыль в виде загрузки пользовательской конфы. Сижу штудирую инфу и нашёл несколько странных и не понятных моментов. Иван писал, что для запуска его дума была отдельная конфа, которая в операциях Акселя имела масштабирование (как говорил Иван - растягивание пикселя). Не понятно - это было дополнение к уже существующим операциям Акселя или это была их замена (полная или частичная)?
    Второй момент - загрузка конфы пользователя. Дословно в доке сказано:
    Для изменения схемы надо загрузить в последнюю страницу КЭШ-памяти
    блок данных конфигурации со смещения #100 и выставить флаг, которым является
    текстовая строка "FLEX_10K_LOADING", записанная по смещению #80 в этой же
    странице КЭШ-а. По смещению #90 надо записать двухбайтовый
    идентификационный номер прошивки. После этого надо произвести полный сброс,
    который осуществляется программно записью в специальную страницу памяти
    RESET_PAGE. Программа в ПЗУ, запускаемая по сбросу находит флаг
    FLEX_10K_LOADING и начинает загрузку данных в ППЛМ... и т.д.
    Что я сделал. Я взял какой-то экспериментальный образ Ивана где уже сидел код дума, но не было других данных. Т.е. там только boot и загрузчик flc.c. Так вот, через winhex вижу по смещению 5200h начало куска прошивки. Согласно доки, по смещению 100h метка, но до неё 128 байт FF, как и после неё. потом идёт некий кодовый блок. Если считать от 5200h и до конца файла, получается всего 16кб (т.е. включая метку и все начальные FF).
    Далее: исходя из того, что оригинальный файл прошивки альтеры весит 59кб, то файл пользовательской прошивки весит всего 16кб и это, в том числе, исходит из выше процитированной доки - последняя страница кэша. т.е. всего 16.кб. Вопрос: почему оригинальная прошивка альтеры занимает 59кб, а пользовательская только 16кб? А куда тогда при перепрошивке альтеры деваются работы (схема) с клавой, мышкой, турбой, звуком. винтом и другими частями тела машины? или эти 16кб только частично перекраивают Альтеру (например, затрагивают некий функционал по графике и звуку, остальное не трогается, т.к. лежит за пределами этих 16кб)?
    может кто разбирался или с Иваном общался на эту тему или доки какие то пояснительные есть? извините за многобукоф....
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

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

  3. #1412

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    что оригинальный файл прошивки альтеры весит 59кб
    Откуда такие сведения? Ты не забывай, что судя по доке в BIOS зашито 3 конфигурации Sprinter-а.
    Цитата Сообщение от Sayman Посмотреть сообщение
    только частично перекраивают Альтеру
    Такое не по силам простому обывателю, альтера либо полностью перешивается либо никак. Имхо при создании альтернативной конфы просто берется некий костяк существующей конфигурации с минимумом необходимого функционала и на нем допиливается нужное.

    ---------- Post added at 08:42 ---------- Previous post was at 07:40 ----------

    Цитата Сообщение от Sayman Посмотреть сообщение
    из режима трдос в нормальный режим
    Неблагодарное занятие, т.к. в Спринтер режиме нет доступа к DOS и BIOS через #3d13, который включается в режиме эмуляции Спектрума, а DOOM и DC работают именно в этом режиме (может быть не полностью, но то что я видел в дебаггере и исходниках - точно). Придется все вызовы переделывать, а их там до чертовой бабушки может быть...

  4. #1413

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как он хоть выглядел, этот ДУУМ? Стоит овчинка выделки?
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  5. #1414

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Error404, примерно так - https://www.youtube.com/watch?v=MDR5l-jYVMM
    По графике ничем не уступал тому DooM-у, что я видел на 486-м. Но это была не играбельная демка, просто тусишь по коридорам и все... Дальше демки оно не ушло, а жаль.

  6. #1415

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дмитрий,
    Откуда такие сведения? Ты не забывай, что судя по доке в BIOS зашито 3 конфигурации Sprinter-а.
    За давностью лет ты уже забыл как там всё работает. не переживай, я напомню)))
    смотрим в файлик карты биоса:
    Карта ПЗУ Спринтера (файл _sprin.bin):

    страница ПЗУ что зашито
    ~~~~~~~~~~~~ ~~~~~~~~~~
    1 I/O и Setup (0000h...3FFFh)
    2 чистая
    3 чистая
    4 чистая
    5 чистая
    6 чистая
    7 чистая
    8 чистая
    9 Биос (20000h...23FFFh)
    10 чистая
    11 чистая
    12 чистая
    13..16 Прошивка ППЛМ (30000h...3E84Fh)
    3E84Fh - 30000h = E84Fh (59471). Таким образом файл прошивки для альтеры занимает не более 59.4кб. Реально файл прошивки занимает 59215 байт. От куда я это взял? я зашёл в папку с исходниками для альтеры и компилированный файл пропустил через Ивановскую утилиту transtt3.com, которая перебирает файлик после Max Plus в бинарнник, который потом клеется в конце файла биоса.
    Файл пользовательской прошивки занимает всего 16кб. Вывод сделан на двух основаниях:
    1. я вытащил прошивку из дума и из TITD.
    2. в описании сказано, что для заливания пользовательской прошивки требуется запихать её в последнюю страницу кэша. Страница имеет размер 16кб. как то так.
    Неблагодарное занятие, т.к. в Спринтер режиме нет доступа к DOS и BIOS через #3d13, который включается в режиме эмуляции Спектрума...
    вот как раз через 3d13h они в биос и попадают.
    основание? да пжалста:
    Код:
    REDIR_3D13:
    	BIT 7,C
    	JP NZ,EXP_FNS
    	BIT 6,C
    	JP Z,AUTO_283C
    	RES 6,C
    	JP HD_CMD
    ...
    HD_CMD:
    	PUSH AF
    	DI
    	LD A,D_ROM16ON
    	OUT (07Ch),A
    	POP AF
    	RET
    ...
    EXP_FNS:
    	PUSH AF
    	DI
    	XOR A	; D_ROM16OFF
    	OUT (07Ch),A
    	POP AF
    	RET
    Это из исходника Tr-Dos`а для спринтера. тут без комментариев...
    любой вызов из трдоса имеет номера функции биоса и те же самые аргументы. Например, данные загружаются по рам дискам. Далее там есть процедура init_table, которая заготавливает таблицы для этих данных. Типа в каких страницах загружены спрайты, стены. карта, звуки и т.д.
    Код:
    ld a,0
    	ld c,0ceh	; получить идентификатор блока от рамдиска
    	call 3d13h
    	scf
    	and a
    	ret z		; нет рамдиска
    
    	ld hl,table_main
    	ld c,0c5h	; получить список страниц блока a
    	call 3d13h
    	ret c
    и т.д. Поэтому всё это прекрасно может ужиться в dss. Сейчас (ну не прям сейчас, а вообще) как раз разгребаю загрузку именно самих данных. толи переделывать по человечески, толи оставить загрузку по рамдискам...ну и загрузчик альтеры...
    Последний раз редактировалось Sayman; 28.12.2014 в 09:59.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  7. #1416

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    вот как раз через 3d13h они в биос и попадают.
    Ты как обычно, недопрочитав начинаешь свою теорию... прочитай мою фразу раз так 5

  8. #1417

    Регистрация
    08.05.2011
    Адрес
    г. Измаил, Украина
    Сообщений
    3,216
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да хватит спорить! делайте уже что то полезное -спринтере ждет запуска и теста !
    Радио-Губитель Канал на YouTube

  9. #1418

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дмитрий, берём в пример процедуру получения идентификации блока рамдиска, для начала в трдос:
    Код:
                 ld a,0      ;код рамдиска, в данном случае диск Е
    	ld c,0ceh	; получить идентификатор блока от рамдиска
    	call 3d13h
    как ты думаешь, каким образом трдос это сделает? в трдосе нет функционала работы ни с рам диском (частично) ни с винтом и вапще, есть только редирект на биос:
    Код:
    REDIR_3D13:
    	BIT 7,C
    	JP NZ,EXP_FNS
    	BIT 6,C
    	JP Z,AUTO_283C
    	RES 6,C
    	JP HD_CMD
    ...
    HD_CMD:
    	PUSH AF
    	DI
    	LD A,D_ROM16ON
    	OUT (07Ch),A
    	POP AF
    	RET
    ...
    EXP_FNS:
    	PUSH AF
    	DI
    	XOR A	; D_ROM16OFF
    	OUT (07Ch),A
    	POP AF
    	RET
    в данном случае после выполнения куска HD_CMD, а точнее сразу после OUT (07Ch),A включается кусок биоса (взято из исходника EXP.asz):
    Код:
    EXP_FNS_RET:			; Возврат в TR-DOS
    	PUSH AF
    	LD A,D_ROM16OFF
    	OUT (SYS_PORT_OFF),A
    	JP EXP_FNS		; Вход из TR-DOS
    тут, кажется, комментарии не требуются. Таким образом при выполнении команд биоса через 3d13 мы оказываемся в биосе. Как сделать тоже самое, но в dss:
    Код:
                 ld a,0
    	ld c,0ceh	; получить идентификатор блока от рамдиска
    	rst 8
    вот и всё. у меня это всё работает из dss, но пока в виде раскиданных по отдельности файликам и пока трассирую что и как в эмуле. чуть позже выкачу в тест загрузчик для palsw. если говорить именно про загрузку самой альтеры, то тут возникает вопрос: я обратил внимание, что при переключении на пользовательскую конфу есть установка байта конфигурации (какие железки будут доступны). Байт конфигурации расположен в системной странице FEh, по смещению 0134h или 0138h, на память сходу не вспомню. туда закидывается инфа о конфе, типа наличие ковокса, ау, винта и прочее. поскольку трассировать в трдосе я не могу в эмуле, то приходится шарица на дизасме загрузчика от дума и версий этих загрузчиков я нашёл уже 3 штуки.
    Последний раз редактировалось Sayman; 28.12.2014 в 11:48.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  10. #1419

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    palsw, если честно, даже не знаю почему не запускается мортал и дум из трдоса у тебя. для мортала возможно файлика не хватает, который в корне диска С надо кинуть...во вложении его засунул.
    Со скан диском всё плохо - такого нет. Тест памяти только sqrt.exe
    Вложения Вложения
    • Тип файла: zip PIC.ZIP (109.0 Кб, Просмотров: 116)
    • Тип файла: zip SQRT.ZIP (2.5 Кб, Просмотров: 119)
    Последний раз редактировалось Sayman; 28.12.2014 в 11:57.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  11. #1420

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sayman, не... ей Богу мы с тобой на разных языках говорим, я тебе за здравие, ты за упокой! Где я тебе писал, что из тырдоса невозможно биос вызвать??? его можно и там и там вызывать, просто в тырдос это делается через #3d13 с его премудростями, а в спринтере через RST, перепахать это можно, но напряжно, можно легко накосячить и фиг отыщеш... вот о чем я тебе написал, а ты тут уже навоображал.
    palsw, так и не нашел видео на котором запускаешь дум. скинь тогда список файлов в корне C, что у тебя на спринтере лежат, может там чего-то не хватает... буду дома - скину файло, что у меня осталось, там был образ флешки с рабочим думом, морталом и пр...
    Последний раз редактировалось Дмитрий; 28.12.2014 в 22:42.

Страница 142 из 202 ПерваяПервая ... 138139140141142143144145146 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Sprinter
    от lvd в разделе Sprinter
    Ответов: 42
    Последнее: 12.07.2015, 20:18
  2. Sprinter resurrection
    от WingLion в разделе Sprinter
    Ответов: 52
    Последнее: 10.01.2009, 00:32
  3. Sprinter или монитор?
    от newart в разделе Sprinter
    Ответов: 1
    Последнее: 03.02.2007, 09:45

Ваши права

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