Не чётности, а именно контрольная сумма !!! Если бы в заголовке было бы 272, и при этом сам блок был бы 273 байта, то есть 1х(255)+272х(n) байт, то небыло бы никаких ошибок !!! Васик принял бы 272 байта данных и распознал бы их как тело васик программы. Но за счёт того, что передача данных не остановилась, васик вынужден убедиться, что переданные данные верны !!! Для этого передаётся последний 274-ый байт контрольной суммы !!! Это очень важно !!! Поскольку это гипер редкость !!! Я вообще удивлён, что васик такое поддерживает !!!
Вообще, когда я начал писать лоадер, я в первую очередь проверил, а запускается ли прога, если в заголовке указать N-байт, но в реальности передать больше !!! И в итоге я с первого раза написал что-то, сигнализирующее мне, что таки васик запустил мой код. И я не думая об этом супер байте контроьльной суммы, вижу, что всё запустилось и всё работает !!! Хотя в реальности мне просто повезло !!! 1 из 256 случаев, когда мой тестовый код совпал с контрольной суммой и составлял значение "0" ... Чистая визуха ... Уже дальше, методом эксперементов я вычислил, что при не соответствии длины нужна контрольная сумма !!! Так я и пришёл к тому, что можно оборвать на ходу загрузку, запустить лоадер и синхронизироваться снова !!!
Просто перед любым блоком. не имея значения данные это или заголовок !!! Напрмер данные для LET'ов, имеет кодж 254 !!! То есть можно сделать SAVE "BLABLABLA" DATA ... И срхранятся все значения LET'ов !!! Ну типа А=ХХХ, В=YYY !!! Но вообще-то любой блок имеет этот код !!! Есть много загрузчиков, которые используют для распознания уровня этот байт !!! Например ACADEMY(TAU-CETI), первый уровень 128, второй 129 и т.д.
ОООоооочень хотел поступить по-своему !!! Но к сожалению был стандарт ТАР и нет других направлений !!! На эту тему идеально сказано:
Думаю. что и вправде не известно как себя повела бы запись на мафоне !!! Но с другой стороны мафон такое же тупое устройство, и оно сохраняет значения 0 или 1(макс или мин) !!! Но самое верное - проверить ... Вообще очень интересный вопрос ... Если вс
Добавлено через 7 минут
Не чётности, а именно контрольная сумма !!! Если бы в заголовке было бы 272, и при этом сам блок был бы 273 байта, то есть 1х(255)+272х(n) байт, то небыло бы никаких ошибок !!! Васик принял бы 272 байта данных и распознал бы их как тело васик программы. Но за счёт того, что передача данных не остановилась, васик вынужден убедиться, что переданные данные верны !!! Для этого передаётся последний 274-ый байт контрольной суммы !!! Это очень важно !!! Поскольку это гипер редкость !!! Я вообще удивлён, что васик такое поддерживает !!!
Вообще, когда я начал писать лоадер, я в первую очередь проверил, а запускается ли прога, если в заголовке указать N-байт, но в реальности передать больше !!! И в итоге я с первого раза написал что-то, сигнализирующее мне, что таки васик запустил мой код. И я не думая об этом супер байте контроьльной суммы, вижу, что всё запустилось и всё работает !!! Хотя в реальности мне просто повезло !!! 1 из 256 случаев, когда мой тестовый код совпал с контрольной суммой и составлял значение "0" ... Чистая визуха ... Уже дальше, методом эксперементов я вычислил, что при не соответствии длиных нужна контрольная сумма !!! Так я и пришёл к тому, что можно оборвать на ходу загрузку, запустить лоадер и синхронизироваться снова !!!
Просто перед любым блоком, не имея значения данные это или заголовок !!! Напрмер данные для LET'ов, имеет код 254 !!! То есть можно сделать SAVE "BLABLABLA" DATA ... И срхранятся все значения LET'ов !!! Ну типа А=ХХХ, В=YYY !!! Но вообще-то любой блок имеет этот код !!! Есть много загрузчиков, которые используют для распознания уровня(игры) этот байт !!! Например ACADEMY(TAU-CETI), первый уровень 128, второй 129 и т.д.
ОООоооочень хотел поступить по-своему !!! Но к сожалению был стандарт ТАР и нет других направлений !!! На эту тему идеально сказано:
Думаю. что и вправде не известно как себя повела бы запись на мафоне !!! Но с другой стороны мафон такое же тупое устройство, и оно сохраняет значения 0 или 1(макс или мин) !!! Но самое верное - проверить ... Вообще очень интересный вопрос ... Если мафон сохраняет в точностит с действием OUT'ов, однозначно, стандартный SAVE не рационален !!!





Ответить с цитированием