Просмотр полной версии : неправильный размер
в очередной раз уже сталкиваюсь с такой проблемой и не могу понять в чём тут дело.
на плёнке была запись одной программы.
при списывании её в образ получился файл размером 6366, списывал несколько раз - получался один и тот-же размер, так-что думаю мусорных байтов в конце нет.
позже я данный файл сохранил в виде образа памяти *.SNA и добавил туда немного кода.
да, программка написана на бейсике.
потом я всё это сохранил из эмулятора (ZX SPIN) в виде TAP файла.
каково-же было моё удивление когда я увидел размер получившегося файла.
он стал размером 6321.
какого ???
я же не удалял информацию, а наоборот добавлял.
как это возможно, куда делись 45 байт, кто может объяснить ?
во вложении архив содержащий 2 файла
1 - оригинал 6366 размер
2 - изменённый 6321 размер
значит значения различных переменных как-бы накапливаются и тоже сохраняются вместе записью, я правильно понял ?
просто удивляло такое, добавляешь что-то в программу а размер выходит ещё меньше чем у прошлой версии.
а нельзя как-то просмотреть значения таких переменных ?
SoftLight, большое спасибо за объяснения !
мне ещё интересно, какого максимального размера можно добиться на бейсике.
SoftLight, вижу ты раньше скачивал мой архивчик с моими играми и программами :)
в некоторых из них например (trion 2, S.l.B, космос) дело доходило до того что у меня на спектруме заканчивалась память и я в попытке дописать программу подчищал даже текст в print at находящийся.
а надо было наверно просто очистить данные с помощью clear.
у меня в trion 2 получился размер 39626 (это только сама бейсик программа), но в памяти ещё в довесок сидел шрифт из art studio, без него думаю больше бы получилось.
ZX-Editor вот так их расписывает:
null_device
26.07.2016, 20:16
какого максимального размера можно добиться на бейсике.
"Снизу" данные в памяти растут от области системных переменных (tr-dos\microdrive), к непосредственно бейсик программе, завершая ее областью данных бейсик программы (глобальных, числовых и строковых преременных, значений циклов и массивов). "Сверху", это граничено значением RAMTOP, и состоянием машинного стека.
дело доходило до того что у меня на спектруме заканчивалась память
CLEAR не поможет, если бейсик-программе нехватает свободного места в области между переменными и RAMTOP. Т.к. при работе, недостающая память снова будет занята ими.
Стоит использовать методы сокращения записи числовых значений и прочую "оптимизацию" занимаемой памяти.
В ряде случаев, переменные программы хранятся и загружаются вместе с ней, а в самом листинге нет явного обьявления переменных. Только обращение к ним.
- - - Добавлено - - -
Килобайт 35 наверное может быть доступно по идее.
Любая редактируемая строка, тоже должна где-то храниться, как и выполняемая в теущий момент (стек, все дела...). Так, что самими средствами интерпритатора всю память, использовать врятли получится.
Правда, есть "технология", позволяющая записывать самозапускающиеся файлы, которые грузятся от экранной области (или чуть ниже) и до конца памяти, что в теории затрудняло их копирование.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot