User Tag List

Страница 3 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 21 по 30 из 53

Тема: Нестандартные методы загрузки с ленты

  1. #21

    Регистрация
    15.03.2009
    Адрес
    Киев
    Сообщений
    174
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    rasmer, спасибо. Оригинально. Я таких загрузчиков не видел ещё. Жаль лишь на оригинальных машинах не работает. Зато на наших клонах типа Пентагона/Скорпиона на ура идёт. Причём в 48К режиме полосы бегут в квадратике, а в 128К - на весь экран. Тоже удивила эта фича. Видимо, аппаратная особенность 128-ых машин. Я с ней не знаком, т.к. у самого испокон веков 48 машинка

    В самой Бейсик части всего одна строчка:
    1 RANDOMIZE USR VAL "23769" и сразу код, даже без каких-либо двоеточий. Это и понятно. Ничего другого в таком загрузчике просто быть не может Да и если убрать VAL с кавычками, такой загрузчик уже бы не работал Особенно ценно то, что такие чудеса очень хорошо ложаться в формат tap - никаких пауз, всё в реальном времени. Ещё раз спасибо, пойду в код загляну

  2. #22

    Регистрация
    20.01.2005
    Адрес
    Саранск
    Сообщений
    2,195
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    кстати - в тапке один МОНОБЛОКОВЫЙ бейсик файл
    мопед не мой - робуса...
    Мои интры: [Kukarachess][Super boot rmx][tRUSHE MOSAIc][BLAZE]
    Мои игры: [Overload][Removal]

    Список игр для ZX-Spectrum: [2015] [2014]

  3. #23

    Регистрация
    15.03.2009
    Адрес
    Киев
    Сообщений
    174
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rasmer Посмотреть сообщение
    кстати - в тапке один МОНОБЛОКОВЫЙ бейсик файл
    Так в том то и прелесть, хотя реально Бейсиковский файл всего 274 (!) байта (включая байт заголовка/данных и байт чётности). После загрузки Бейсика фактически идёт загрузка дальше без пилот-тона и других пауз, т.е. физически на ленте действительно только один сплошной файл данных.

  4. #24

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sabrewulf Посмотреть сообщение
    Жаль лишь на оригинальных машинах не работает.
    а почему на оригинальном спеке не идет?

  5. #25

    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так ... Сразу хочу сказать !!! Что нет никаких проблем с ORIGINAL Speccy !!! Я лично проверял на двух разных моделях ORIGINAL Speccy, и всё работает на ура !!! У меня два ORIGINAL Speccy:
    1 Spectrum 48k, английская сборка.
    2 Spectrum 128k +3, польская сборка.
    Я наоборот в коде специально сделал поддержку всяких левых пентагонов, что бы работало !!! То, что код лежит в тормозящей памяти так же учтено !!! Все задержки подогнаны и не привышают стандартов !!! Загрузчик чувствителен к ошибкам данных, так же как и стандартный бейсик. Тут я не делал особую защиту. Для чистоты эксперемента я записал на кассету всю игру и проверил загрузку !!! Вплоть до того, что руками притормаживал кассету. Всё загрузилось как положенно !!! Загрузчику так же всё равно какова полярность 0/1, синхронизация делается автоматом по старту самого лоадера !!! Так же проверен теневой экран на реальном спекки !!! Срабатывание которого происходит после каждого отрисованного ULA'ой папера. Не знаю, почему зашёл разговор за нераьотоспособность под ORIGINAL Speccy ???

    Добавлено через 7 минут
    Цитата Сообщение от Sabrewulf Посмотреть сообщение
    274 (!) байта (включая байт заголовка/данных и байт чётности)
    Хочу поправить, 273 байта !!! И к сожалению 273 лишь потому что нужно было поддержать пентагон !!! Реально, можно меньше !!!

    Я понимаю, что 1 байт не важен, но такова натура, сражаться за каждый бит !!!

    Добавлено через 27 минут
    Кстати ... Можно спокойно сделать так, что бы параллельно игралась музыка на AY !!! Только это не будет слушаться, поскольку писк(загрузка) будет мешать !!!
    Последний раз редактировалось Robus; 09.04.2009 в 15:23. Причина: Добавлено сообщение
    AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.

  6. #26

    Регистрация
    15.03.2009
    Адрес
    Киев
    Сообщений
    174
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus Посмотреть сообщение
    Так ... Сразу хочу сказать !!! Что нет никаких проблем с ORIGINAL Speccy !!! Я лично проверял на двух разных моделях ORIGINAL Speccy, и всё работает на ура !!!
    Хм, интересно. Мне остаётся только извиниться за дезинформацию.

    Цитата Сообщение от Robus Посмотреть сообщение
    Хочу поправить, 273 байта !!!
    Разве? В заголовке указано 272 байта. Если добавить 2 служебных получится как раз 274

    Цитата Сообщение от Robus Посмотреть сообщение
    Я понимаю, что 1 байт не важен, но такова натура, сражаться за каждый бит !!!
    Сам такой был когда кодил (правда это было уже на PC и под DOS)

  7. #27

    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sabrewulf Посмотреть сообщение
    В заголовке указано 272 байта. Если добавить 2 служебных получится как раз 274
    В загаловке 272 ... И ВАСИК загрузит 272 байта, и будет ждать молчания ... Но молчания нет, поскольку продолжаются передаваться данные ... Таким образом он считывает 273-ий байт, который является контрольной суммой всего блока ! После, ВАСИК видит что загрузка была с ошибкой и пытается проверить контрольную сумму и сравнивает её с 273-ои байтиком ... Если бы 273-ий байт был НЕверен, то мы бы увидили самую любимую и самую ненавистную фразу ВАСИКа "R-TYPE loading error". А что за "служебный байт" ??? Могу предположить, что это то-то в ТАРе ??? Наверное речь идёт о 255 !!! О коде который перед всеми стандартными блоками ВАСИКа !!!

    По настоящему, 273 байта это ещё не весь лоадер !!! Это только основа его ... Далее стирается экран и ловится кодовые биты с заголовком. Как только происходит захват(восстановление несущей), идёт загрузка всех управляющих функций. Вообще-то, я хотел сделать депакер, но не успел ... Нет времени !!! Уродская работа всё забирает !!!

    А вообще-то ТАР - гадость !!! Он поддерживает стандарт !!! А стандарт совершенно глупый !!! ПЗУ(1366) считывает 0 и 1, и меряет их длтельность и в зависимости от этого делает вывод был бит 0 или 1 !!! Но на каждый бит идёт двойная проверка !!! Всё что даёт в данном случае это защиту от ошибок а не восстановление ошибки. И можно было бы прекрасно обойтись просто одним измерением между 0 и 1 !!! В итоге получается скорость минимум в два раза больше !!! Не говоря уже о других примочках, которые можно было бы использовать !!! Атари мне в этом плане всегда нравился !!! Там столько было разновидностей загрузчиков, что в итоге эмуляторщикам пришлось честно мерять скважность между 0 и 1 и делать образы.

    По
    AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.

  8. #28

    Регистрация
    15.03.2009
    Адрес
    Киев
    Сообщений
    174
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus Посмотреть сообщение
    В загаловке 272 ... И ВАСИК загрузит 272 байта, и будет ждать молчания ... Но молчания нет, поскольку продолжаются передаваться данные ... Таким образом он считывает 273-ий байт, который является контрольной суммой всего блока
    Да, но перед 272 байтами идёт ещё один байт, который как раз и указывает загрузчику из ПЗУ, что это блок с кодом, а не заголовок. Далее, 274-ый байт чётности - без него мы имели бы R - Tape loading error.

    Цитата Сообщение от Robus Посмотреть сообщение
    А что за "служебный байт" ??? Могу предположить, что это то-то в ТАРе ??? Наверное речь идёт о 255 !!! О коде который перед всеми стандартными блоками ВАСИКа !!!
    Он самый, только он идёт не только в ТАПе, а и на ленте. А идёт этот байт не только перед стандартными блоками Васика, а перед любым блоком не являющемся заголовком.

    Цитата Сообщение от Robus Посмотреть сообщение
    По настоящему, 273 байта это ещё не весь лоадер !!! Это только основа его ... Далее стирается экран и ловится кодовые биты с заголовком.
    Это понятно - здорово сделано!

    Цитата Сообщение от Robus Посмотреть сообщение
    И можно было бы прекрасно обойтись просто одним измерением между 0 и 1 !!!
    Да, я сам об этом думал, и, если бы писал свой загрузчик то так бы и поступил - при стандартных таймингах скорость в 2 раза выше, а можно ж ведь ещё ускорить

  9. #29

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Робус, респект!

    Цитата Сообщение от Robus Посмотреть сообщение
    И можно было бы прекрасно обойтись просто одним измерением между 0 и 1 !!!
    думаю, это сделано, чтоб в сигнале не было постоянной составляющей. иначе хз как бы повел себя мафон.

  10. #30

    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking

    Цитата Сообщение от Sabrewulf Посмотреть сообщение
    Далее, 274-ый байт чётности - без него мы имели бы
    Не чётности, а именно контрольная сумма !!! Если бы в заголовке было бы 272, и при этом сам блок был бы 273 байта, то есть 1х(255)+272х(n) байт, то небыло бы никаких ошибок !!! Васик принял бы 272 байта данных и распознал бы их как тело васик программы. Но за счёт того, что передача данных не остановилась, васик вынужден убедиться, что переданные данные верны !!! Для этого передаётся последний 274-ый байт контрольной суммы !!! Это очень важно !!! Поскольку это гипер редкость !!! Я вообще удивлён, что васик такое поддерживает !!!
    Вообще, когда я начал писать лоадер, я в первую очередь проверил, а запускается ли прога, если в заголовке указать N-байт, но в реальности передать больше !!! И в итоге я с первого раза написал что-то, сигнализирующее мне, что таки васик запустил мой код. И я не думая об этом супер байте контроьльной суммы, вижу, что всё запустилось и всё работает !!! Хотя в реальности мне просто повезло !!! 1 из 256 случаев, когда мой тестовый код совпал с контрольной суммой и составлял значение "0" ... Чистая визуха ... Уже дальше, методом эксперементов я вычислил, что при не соответствии длины нужна контрольная сумма !!! Так я и пришёл к тому, что можно оборвать на ходу загрузку, запустить лоадер и синхронизироваться снова !!!


    Цитата Сообщение от Sabrewulf Посмотреть сообщение
    перед любым блоком не являющемся заголовком
    Просто перед любым блоком. не имея значения данные это или заголовок !!! Напрмер данные для LET'ов, имеет кодж 254 !!! То есть можно сделать SAVE "BLABLABLA" DATA ... И срхранятся все значения LET'ов !!! Ну типа А=ХХХ, В=YYY !!! Но вообще-то любой блок имеет этот код !!! Есть много загрузчиков, которые используют для распознания уровня этот байт !!! Например ACADEMY(TAU-CETI), первый уровень 128, второй 129 и т.д.

    Цитата Сообщение от Sabrewulf Посмотреть сообщение
    то так бы и поступил
    ОООоооочень хотел поступить по-своему !!! Но к сожалению был стандарт ТАР и нет других направлений !!! На эту тему идеально сказано:
    Цитата Сообщение от psb Посмотреть сообщение
    иначе хз как бы повел себя мафон
    Думаю. что и вправде не известно как себя повела бы запись на мафоне !!! Но с другой стороны мафон такое же тупое устройство, и оно сохраняет значения 0 или 1(макс или мин) !!! Но самое верное - проверить ... Вообще очень интересный вопрос ... Если вс

    Добавлено через 7 минут
    Цитата Сообщение от Sabrewulf Посмотреть сообщение
    Далее, 274-ый байт чётности - без него мы имели бы
    Не чётности, а именно контрольная сумма !!! Если бы в заголовке было бы 272, и при этом сам блок был бы 273 байта, то есть 1х(255)+272х(n) байт, то небыло бы никаких ошибок !!! Васик принял бы 272 байта данных и распознал бы их как тело васик программы. Но за счёт того, что передача данных не остановилась, васик вынужден убедиться, что переданные данные верны !!! Для этого передаётся последний 274-ый байт контрольной суммы !!! Это очень важно !!! Поскольку это гипер редкость !!! Я вообще удивлён, что васик такое поддерживает !!!
    Вообще, когда я начал писать лоадер, я в первую очередь проверил, а запускается ли прога, если в заголовке указать N-байт, но в реальности передать больше !!! И в итоге я с первого раза написал что-то, сигнализирующее мне, что таки васик запустил мой код. И я не думая об этом супер байте контроьльной суммы, вижу, что всё запустилось и всё работает !!! Хотя в реальности мне просто повезло !!! 1 из 256 случаев, когда мой тестовый код совпал с контрольной суммой и составлял значение "0" ... Чистая визуха ... Уже дальше, методом эксперементов я вычислил, что при не соответствии длиных нужна контрольная сумма !!! Так я и пришёл к тому, что можно оборвать на ходу загрузку, запустить лоадер и синхронизироваться снова !!!


    Цитата Сообщение от Sabrewulf Посмотреть сообщение
    перед любым блоком не являющемся заголовком
    Просто перед любым блоком, не имея значения данные это или заголовок !!! Напрмер данные для LET'ов, имеет код 254 !!! То есть можно сделать SAVE "BLABLABLA" DATA ... И срхранятся все значения LET'ов !!! Ну типа А=ХХХ, В=YYY !!! Но вообще-то любой блок имеет этот код !!! Есть много загрузчиков, которые используют для распознания уровня(игры) этот байт !!! Например ACADEMY(TAU-CETI), первый уровень 128, второй 129 и т.д.

    Цитата Сообщение от Sabrewulf Посмотреть сообщение
    то так бы и поступил
    ОООоооочень хотел поступить по-своему !!! Но к сожалению был стандарт ТАР и нет других направлений !!! На эту тему идеально сказано:
    Цитата Сообщение от psb Посмотреть сообщение
    иначе хз как бы повел себя мафон
    Думаю. что и вправде не известно как себя повела бы запись на мафоне !!! Но с другой стороны мафон такое же тупое устройство, и оно сохраняет значения 0 или 1(макс или мин) !!! Но самое верное - проверить ... Вообще очень интересный вопрос ... Если мафон сохраняет в точностит с действием OUT'ов, однозначно, стандартный SAVE не рационален !!!
    Последний раз редактировалось Robus; 09.04.2009 в 23:49. Причина: Добавлено сообщение
    AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.

Страница 3 из 6 ПерваяПервая 123456 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 61
    Последнее: 10.11.2013, 05:51
  2. Ответов: 4
    Последнее: 04.06.2008, 20:20
  3. По ходу загрузки с ленты...
    от anoubis в разделе Игры
    Ответов: 3
    Последнее: 13.08.2007, 10:39
  4. SEXMINES (проблема загрузки)
    от zxmike в разделе Игры
    Ответов: 0
    Последнее: 26.01.2007, 16:18
  5. Ответов: 18
    Последнее: 18.06.2006, 16:50

Ваши права

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