Забавно так смотреть, как показано то, что по сути уже много лет назад умерло и сейчас только представляет интерес, для тех кто не наигрался в детстве. На новых устройствах это уже всё совсем по другому, даже на казалось бы совсем простых контроллерах пределы уже во много раз больше. НО видео хорошее и не лишнее, а то вдруг деградируем снова и надо понимать, что делать :-) Спасибо!
@TheTalants Жыл бұрын
Спасибо.
@TheTalants Жыл бұрын
Да, современная электроника умеет уже в разы больше. Здесь скорее спортивный интерес. Не являясь программистом/ электронщиком, попробовать решить задачку по написанию программы на системе с ограниченными ресурсами. Что то вроде проверить себя на слабо. Жалко только времени на это увлечение не хватает.
@DespicabIeMe4 жыл бұрын
РУН, ПОКЕ... Детство вспомнилось, аж прослезился.
@bombidaebombidae55604 жыл бұрын
ран
@IExSet4 жыл бұрын
Кстати я так же называл (РУН, ГОСУБ, РЕТУРН, ГОТО, МИКРОСОФТ и т.п.) вплоть до институтских времён, хотя к тому времени прошёл школьный курс английского вполне неплохой и ещё дополнительно изучал по самоучителям :-) Потом препады начали стыдить, типа надо рАн, мАЙкрософт и т.д.
@maratimamov95052 жыл бұрын
Здравствуйте, Константин! При помощи вашей видео-шпаргалки, мне наконец-то удалось разобраться, как работать с ассемблером ALASM509, на железе Дельта С-128. В ней нет дисковода, и долго ломал голову, как бы запустить на нем ALASM. Вчера все получилось. Сохранив на смартфон tap-образы файлов alasm_64.c и sts7.c, загрузил их в 1 и 7 страницы соответственно. И было мне счастье))). Теперь сохраняюсь, на смартфон, с 4 или 6 страницы с текстами ALASM и также в них загружаю. КРАСОТА! ЛЕПОТА!
@slv85074 жыл бұрын
Помню на Profi 512 экспериментировал с портом 7FFD. Научился включать расширенный режим экрана, который в CP/M режиме используется. Радости не было предела :) Потом текстовый редактор под этот режим писал. Спасибо за ролик!
@SerjCrimea Жыл бұрын
Привет. Интересен алгоритм написания текстового редактора для ZX. Я накидал определенную схему, но она тормозит при некоторых операциях :) Особенно интересно редактирование строки, вставляя символ или кусок текста, каков алгоритм действий?. На ПК у меня текст на 64к делится как страница и за счет скорости тормозов нет :) А на Спеке этот алгоритм тормозит :(
@slv8507 Жыл бұрын
@@SerjCrimea Привет. У меня было довольно просто. Подгрузил файл в память. Взял из файла строку во временный буфер и с ней работаю. Потом, вставляю ее назад в файл в памяти. Часть файла, та что после строки, переношу используя стек. До переключения страниц, чтобы уместить большой файл, дела не дошло. Комп глючил все чаще :(
@IExSet4 жыл бұрын
Отличное видео, так мало вменяемого материала по этим темам !!!
@TheTalants4 жыл бұрын
спасибо
@KostsovKonstantin4 жыл бұрын
эх ностальгия ... когда-то в 96 году писал на ассемблере код отображения картинок и символов. Там была, даже не знаю как обозвать, через/через/через/через строчная развёртка. Z80 - первый проц, ассемблер для которого освоил и собственно первые программы на ассемблере. Вот я был бесконечно счастлив, когда куски от букв, записанных фраз прилетели туда, куда нужно. От arduino и STM32 нет столько радости, сколько было от ZX spectrum. А друг, с которым писал игры, который знал лучше меня как программировать, успехами которого я воодушевлялся - стал фотографом. И не умеет программировать даже ардуинки ... :(.
@TheTalants4 жыл бұрын
Согласен, мне тоже z80 больше нравится программировать. Причем сам не знаю почему.
@8BitTeaParty4 жыл бұрын
Хм, по алгоритму и использованию в машинном коде, на ассемблере если будем делать, то всё будет также примерно. Хех, скорее всего даже будем применять это видео как инструкцию для ZX Evo. Всё так-же, запись в порты и установка экрана она была как и на ассемблере в 5 и 7-ой банк! :) Необходимо будет вспомнить еще порты для Пентагона 128К и уточнить этот вопрос. По факту совместимость нам хотя бы на уровне библиотек важна. :)
@TheTalants4 жыл бұрын
Так zx evolution ранее penteva (pentagon evolution) как бы и есть от части сам Пентагон. Более того его вроде бы разрабатывала фирма МикроАрт, которая и разработала в последствии АТМ Турбо. Ну в общем все они одним миром мазаны.
@VadRov4 жыл бұрын
Константин, что-то мне подсказывает, что в 10 строке должно быть CLEAR 32767, а не CLEAR 32768, потому что с 32768 первый адрес вновь подключаемой страницы памяти. Выполнение CLEAR N эквивалентно LD SP, N в ассемблерном варианте. В регистровой паре SP у нас адрес вершина стека. При помещении в стек нового значения адрес в SP уменьшается, т.е. стек растет вниз, к младшим адресам.
@TheTalants4 жыл бұрын
Да всё верно. Но в данном конкретном случае, ...так рука взяла... Если быть совсем точным, она у меня всегда так берёт. Просто данный адрес с детства калёным железом в памяти выжжено. Я уже не задумываюсь, когда его набираю. Ну а так правильно, стек растет в сторону уменьшения и когда я ему выставляю это значение, то следующее помещенное число в стек будет именно по адресу 32767 🤔
@TheTalants4 жыл бұрын
К слову в basic эта команда делает вроде бы несколько больше чем просто ld sp, nn. Она там вроде ещё и символы пользователя помещает... Но я не уверен. Не помню точно. В своих программах положение пользовательских символов я всё равно определяю вручную. Но в целом Вы правы, более правильно писать CLEAR 32767. Но поскольку я всё же подменяю страницы начиная с адреса 49152(c000), то для показать, это вроде как не критично.
@VadRov4 жыл бұрын
@@TheTalants , да, насколько помню, CLEAR не только устанавливает новую вершину, так что, в каком-то смысле LD SP, ADDR, конечно, не полный эквивалент CLEAR ADDR)). Я на синклер-бейсике программировал с 1993 г. по 1994 г. Потом перешел на машинные коды (вставка в бейсик микропрограмм на ассемблере) и полностью на ассемблер. Программировал на ассемблере GENS из пакета DevPack от HiSoft. Надеюсь, все правильно написал (названия), т.к. давно это было)). Был у меня Кишеневский компьютер Синтез-2. Программы на магнитной ленте (и чтение, и запись). Сначала сделал ему турбо (7 МГц, процессор стоял Z80H, так что, проблем с турбой не было), а потом расширил до 128 кБ память. Ковокс делал. Эх, славные были времена)).
@TheTalants4 жыл бұрын
@@VadRov ну у меня схема была примерно такая же. Только компьютер был изначально Дельта С, а потом Pentagon 48, с которым уже и проводил эксперименты по улучшению (по выше описанной Вами схеме). Ассемблер изначально тоже gens использовал, но на Пентагоне на Tasm (так что ли...) У которого была удобная ide и работал так же удобно с дисками. Сейчас уже многое забыл... Вот в роликах вспоминаю потихоньку 🙂
@SerjCrimea Жыл бұрын
На Спеку интересен вывод графики и т.п. с современными способами. Ибо прикладной софт уже не актуален :) Я помню в 90х писал IDE для БД, наподобие DBASE. А вот графика, особенно на флагман ZX EVO очень интересна. Где рисовать графику, шрифты, процедуры вывода, скроллинг. Этой инфы нет, а демки и игры выходят :(
@TheTalants Жыл бұрын
Это вероятно в профильных чатах типа Телеграм проще узнавать. Я что знал +/- в своих роликах вроде бы опубликовал. Плюс по ZX Evolution есть довольно подробное руководство. Я просто не считаю себя достаточно компетентным, что бы в деталях освещать данные темы.
@8BitTeaParty4 жыл бұрын
На 10-ой минуте примерно, на схеме упомянты биты А14 и А15, но на самой схеме их нету. Т.е. да, понятно что они отвечают за окно в адресном пространстве, но куда и как если что уходят эти сигналы, можно было бы отметить на схемке. По схеме банки памяти кстати аналогичны Пентагону 128К кажется, но нужно будет уточнить, и есть-ли в ZX Evolution режим Пентагона?
@TheTalants4 жыл бұрын
На самом деле в этом компьютере (возможно из соображений совместимости) банки памяти можно переключать разными способами. Даже не обязательно по тем портам, которые привел я в пример. Что например касается Пентагон 1024, то там порт 7ffd используется полностью, т.е. 6 и 7 биты так же задействованы...
@lvdmhm4 жыл бұрын
@@TheTalants биты 7 6 5 2 1 0 если точнее
@TheTalants4 жыл бұрын
@@lvdmhm спасибо. Учту на будущее.
@Michael_Kaa3 жыл бұрын
128 палец вверх был мой. Конечно это сомнительное достижение, но все же.
@TheTalants3 жыл бұрын
Какое достижение? 🤔 Если речь о работе с памятью, то я это действо со школы умею, а ролик так назвал, потому что не знаю как больше назвать 🙄
@Michael_Kaa3 жыл бұрын
@@TheTalants Прошу прощения за двусмысленный коммент. Сомнительным достижением я считаю поставить 128-ой лайк. А видео для меня крайне полезное, как доделаю свой zs scorpion эта информация мне будет очень нужна.
@Franc_Net3 жыл бұрын
Константин, благодарю за информацию. Теоретически теперь понимаю как это работает. У меня был (есть) 48к Спека. Потом я пропал в мир MSDOS ;) И пропустил 128 кб. Хочу вернуться к Спеке и что-то пописать. Эмуляторов куча. Вопрос. Загружая, переключая банки, по 16к это быстро происходит? И к примеру из Ассемблера можно сохранить на диск, эмулируемый? В общем снимите ролик как с дисководом работать? Получается программа ограничена ращмером диска? Ибо подгружая новые данные, памяти хватает теперь.? Ибо раньше даже в буфер принтера сохранял ;) И про ПЗУ. Я с ПЗУ48к знаком, адреса подпрограмм и т.д. А с ПЗУ 128к как обстоит? Или ПЗУ 128к не используется? Тогда как калькулятором пользоваться? И числами более 65535? Я на 48к хранил их в 5 байтной форме и использовал ПЗУ для этого. Команды калькулятора хранил в DB....
@TheTalants3 жыл бұрын
Всё что буду писать ниже, не стоит воспринимать за прям 100% информацию... Я не являюсь программистом и здесь лучше спросить более грамотных товарищей. Тем не менее (далее цитата и как бы мой субъективный ответ): Цитата: Загружая, переключая банки, по 16к это быстро происходит? Ответ: Достаточно быстро. зачастую в ассемблере две, три команды... LD BC, номер порта диспетчера страниц LD A, номер страницы OUT (c),A ; собственно само переключение... Цитата: И к примеру из Ассемблера можно сохранить на диск, эмулируемый? Ответ: Можно, почему бы нет... Цитата: Получается программа ограничена ращмером диска? Ибо подгружая новые данные, памяти хватает теперь.? Ответ: Ну если говорить за клон спектрума ZX Evolution, то и собственной памяти предостаточно да и работать можно с жестким диском, что тоже как бы открывает дополнительные возможности. Цитата: Я с ПЗУ48к знаком, адреса подпрограмм и т.д. А с ПЗУ 128к как обстоит? Или ПЗУ 128к не используется? Тогда как калькулятором пользоваться? И числами более 65535? Я на 48к хранил их в 5 байтной форме и использовал ПЗУ для этого. Команды калькулятора хранил в DB.... Ответ: В своё время я когда осваивал ZX Spectrum у меня были машины только с 48К ПЗУ, поэтому работая с калькулятором, я в принципе поступал так же как и Вы, да собственно как советовали в книжке "Как написать игру для ZX Spectrum на Ассемблере". По своему субъективному мнению (повторюсь я не программист), работая с ассемблером, если не писать узкоспециализированный направленный на математические вычисления код, то такие большие величины редко когда требуются. В тех же играх зачастую двух байт хватает за глаза... Но это только мое мнение, могу ошибаться. Но на сегодняшний день, программируя такие компьютеры как ZX Evolution и Sprinter на ассемблере, я стараюсь не использовать ПЗУ спектрума, поскольку пробую писать код под такие операционные системы как NedoOS и Estex DSS, а там в верхних адресах находятся как раз сами операционные системы, ну и собственно при написании программы чаще пользуешься системными вызовами ДОС... ПОВТОРЮСЬ, я не программист и на эту тему лучше спросить более квалифицированных людей. Данные ролики я скорее пилю больше для себя, что бы разобраться в вопросе. Но если кому помогу, то почему бы и нет :-)
@Franc_Net3 жыл бұрын
@@TheTalants Спасибо за ответ. Мне кончно под MSDOS проще писать. Есть задумка игры, может она и в Спеку влезет, с новыми его способностями. Я Си подучил (вспомнил). Что скажете по поводу ZX EVO SDK? Писали на нём? На мой взгляд перспективно там всё. И проще чем на Ассемблере. Понятно что больше памяти сожрет :) Если есть впечатления, и особенно по размеру кода, поделитесь :)
@TheTalants3 жыл бұрын
@@Franc_Net на моем канале простенькая демошка поздравление с новым годом как раз на этом evo SDK написанно. Штука интересная, но до полноценного си не дотягивает и имеет ряд ограничений, как например не умеет работать с дисками. Машинный код (не помню сколько точно) вроде бы не больше 50килобайт, но могу ошибаться... Остальная память вроде как может отводиться под графику и музыку. Но они вроде при компиляции кода inkbinятся в отведенное для них адресное пространство (но опять-таки это как мне думается, в вопросе не разбирался, могу ошибаться).
@8BitTeaParty4 жыл бұрын
Константин, отличное видео, подробно и наглядно! Оставлю общие комменатарии для поддержки и для информации, остальное уж в чат наверное. ;) Конечно, памяти в 4 Мегайбайта для Спектрума это очень много. Если не сказать более решительно. Помнится на моделях с 256Кб уже казалось что памяти очень много. Но то, что страницы памяти в ZX Evolution можно установить в любую часть адресного пространства, это очень удобно. Хм, кстати, видно улучшилось качество захвата картинки, что было применено? ;)
@TheTalants4 жыл бұрын
OSB 👍
@TheTalants4 жыл бұрын
Это позволило запустить на этой машине CP/M которая грузится как раз на место ПЗУ. А здесь она к тому же с завода в ПЗУ прошита 😏
@lvdmhm4 жыл бұрын
256к памяти было уже маловато для работы с ALASMом например. Мне аж пришлось в скорпион мегабайт паять :)
@Michael_Kaa3 жыл бұрын
На обычных клонах Спектрума ПЗУ кстати перезаписать невозможно. Ну по крайней мере на тех клонах спека которые я знаю. Про ZX Evolution не в курсе его схемотехники.
@TheTalants3 жыл бұрын
На zx evolution можно. Там даже в основной менюшке есть пункт, обновить ПЗУ. Плюс в работе можно отключать его и на место ПЗУ подставлять страницу ОЗУ, что даёт возможность пользоваться всеми 64кб...
@Michael_Kaa3 жыл бұрын
@@TheTalants Теневое ОЗУ годная штука. А про Evolution я не знал, что у него такая фича есть.
@Michael_Kaa3 жыл бұрын
@@TheTalants Так это получается для Evolution теоретически можно создать вирус распространяемый через дискеты.
@TheTalants3 жыл бұрын
@@Michael_Kaa не задумывался на этот счёт. Наверное можно 🤔
@yuriytratorov38914 жыл бұрын
Почему везде слышу с "зэикс спектрум"?
@TheTalants4 жыл бұрын
Видимо так прижилось. Так же как и Ксерокс, вместо Зирокс. А так не знаю. Все так говорят и я так говорю. 🙄
@MsDimkaM4 жыл бұрын
Константин, почитай тут forum.nedopc.com/viewtopic.php?f=30&t=1449
@TheTalants4 жыл бұрын
Я видел эту тему. Почему то твой коммент в спаме оказался, только что увидел 🤔