1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

ZX Spectrum

Тема в разделе "IBM PC-несовместимое", создана пользователем balakshin, 13 мар 2008.

  1. balakshin

    balakshin

    Legacy

    Регистрация:
    11 июл 2007
    Сообщения:
    2.330
    В этой теме предлагаю обсуждать ZX Spectrum разных модификаций и его эмуляцию. Причем желательно только "официальные" ZX Spectrum. Для советских и не только клонов лучше создать отдельную тему, уж больно их много.

    ZX Spectrum у нас на Вики! Нужны люди, желающие поучаствовать в создании этой статьи (информацией, фотографиями и т.д.)!
    Раздел по ZX Spectrum у нас на сайте


    Темы у нас на форуме

    Полезные ресурсы по ZX Spectrum и его эмуляции

    Интересные ссылки

    Статьи по играм на ZX Spectrum на old-games.ru ;

    Подкасты Old-Games.Ru
     
    Последнее редактирование модератором: 15 сен 2018
    Octohum, Petr2000, William Blazkowicz и 20 другим нравится это.
  2.  
  3. d1nk

    d1nk

    Регистрация:
    20 июн 2012
    Сообщения:
    1.824
    Принёс вам ещё одну достаточно редкую игрушку, всплывшую в памяти:

    ATF: Advanced Tactical Fighter (1988) - MobyGames

    В виде условно существующего штурмовика, концепт которого одновременно содран с F-22 и X-29A, участвуем в войне двух условных ноунейм-фракций за некий условный архипелаг.

    В наличии протомеханика "динамической линии фронта" и возможность заправляться / ремонтироваться на дружественных аэродромах. Почти за 5 лет до появления Desert Strike, ага.
     
    Последнее редактирование: 28 апр 2024
    Octohum и AndyFox нравится это.
  4. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.248
    upload_2024-5-8_22-58-27.png

    Dizzy-4 48,128K - классическая версия+ 2024.

    Улучшения и исправления:

    * Тексты и экраны перепакованы и оптимизированы.
    * Отрисовка экранов убыстрена в разы.
    * Добавлено два уровня яркости атрибутов. Кроме того, сделана возможность размещать скрытые твердые поверхности, и скрытые прозрачные.
    * Исправлена малая листва на деревьях, и перерисованы многие деревья с уменьшением клешинга и других артефактов, местами немного улучшена графика.
    * Спрайт огня взят из Диззи-6 и теперь смотрится более красиво.

    * Запрещено выкладывать предметы ниже уровня нижнего знакоместа экрана.
    * Теперь факел не прожигает верхний потолок комнаты. Также нельзя с помощью факела перепрыгнуть стены центральной башни.
    * Исправлена ошибка столкновения с опасными обьектами в момент перехода Диззи с экрана на экран.
    * Убыстрен экран с привидениями на болоте.
    * Исправлен глюк с анимированным облачком, портящим другие персонажи и обьекты.
    * Исправлено появление из облачка джина и Доры. Раньше первым кадром был зеленый алмаз.
    * Теперь факела при старте игры горят уже во время облачка, из которого появляется Диззи.
    * После применения ручки колодца, ручка появляется на самом колодце.
    * Убрана возможность случайного открытия инвентаря в воздухе.
    * Исправлена ошибка застревания в яме с шипами, если Диззи ходил по яме из комнаты в комнату.
    * Исправлена синхронизация и равномерность салюта в конце игры. Кроме того, теперь салют идет не фиксированное время, а бесконечное, и его можно прервать нажатием клавиши.
    * Теперь алмаз за троллем сияет.
    * Исправлена ошибка в алгоритме появления облачков на экране с Гарпией. Теперь облачко появляется прямо под Диззи, как и было задумано изначально авторами игры.
    * Джин на экране с Дози появляется в строго определенном месте, чтобы не сливаться с деревьями.
    * Исправлена ошибка выкладывания предмета на другом конце экрана.
    * Теперь гарпия возвращается в гнездо.
    * AY-плеер оптимизирован и скорректирован.
    * Добавлена альтернативная AY-музыка (автор bfox). Переключать режимы музыки можно клавишей 'M'.
    * Сделан перевод на русский язык.
    * Добавлена пасхалка и кое-что еще.
     
    Pyhesty, Der_minez, Octohum и 6 другим нравится это.
  5. quazatron

    quazatron

    Регистрация:
    22 дек 2007
    Сообщения:
    564
    Отличная новость!

    Стартовал YRGB 2024 — известный конкурс разработки ретро-игр

    Теперь на конкурс принимаются игры исключительно для платформы ZX Spectrum.

    Бюджет призового фонда стал больше.

    Появились новые номинации:
     
    zabrus, SanTix, Octohum и 4 другим нравится это.
  6. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.210
    Может, уже было:
    _ 038.jpg _ 040.jpg
     
    lordi, Der_minez, Octohum и 4 другим нравится это.
  7. quazatron

    quazatron

    Регистрация:
    22 дек 2007
    Сообщения:
    564
     
    Octohum нравится это.
  8. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.248
    Osotos — увлекательная логическая аркада, игровой процесс которой нивелирует беспощадный таймер. На прохождение уровня даётся 99 секунд. За это время необходимо затолкать или уронить ящики на привидений, и собрать все звёзды.

    ai124.fastpic.org_thumb_2024_0925_35_145c6473f8d44e3a2949170e74347935.jpeg ai124.fastpic.org_thumb_2024_0925_37_84da14b3be7988d19acfa90209cfb837.jpeg ai124.fastpic.org_thumb_2024_0925_01_3cc556f16b0716ec4b2aee3c206c5e01.jpeg ai124.fastpic.org_thumb_2024_0925_7e_17299a7416d0dc7d34b779dcea0aed7e.jpeg ai124.fastpic.org_thumb_2024_0925_4f_01bf5131a0770a52dc30601dd2066c4f.jpeg

    Ссылка для скачивания — https://spectrumcomputing.co.uk/entry/43608/ZX-Spectrum/Osotos
     
    Pyhesty, Octohum и Yuriy_X нравится это.
  9. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.210
    Удивительно, насколько просто, оказывается, стало повторять примеры ассемблерных программ с помощью одной лишь смекалки и деатомайзера седьмого уровня книги в формате HTML и инструмента ZX Assembler в составе эмулятора EmuZWin.

    Текст можно просто скопировать из книги, вставить в окно ассемблера и нажать кнопку "Compile".
    Если компиляция прошла без ошибок (об этом будет сообщение в окне под основным кодом), машинный код будет размещен в память начиная с адреса, указанного в директиве ORG (в этом примере - 60000), откуда его можно запустить из Бейсика командой RANDOMIZE USR 60000.

    Пока заметил две проблемы:
    1. Директиву "ENT $" надо заменить на "ENTRYPOINT $", иначе выдаст ошибку.
    2. Русские буквы в комментариях заменит на "????????" (не всегда, но пока неясно, от чего это зависит).

    Это отрывок из книги "Как написать игру на ассемблере для ZX Spectrum".

    book.jpg

    В файле .asm обычный текст.

    В файле .ezx - слепок памяти для EmuZWin (модель Spectrum-48), где с адреса 60000 уже размещен машинный код длиной 337 байт. Просто запустить командой RUN.

    ent.jpg basic.PNG wgasm.PNG

     

    Вложения:

    • wgasm.zip
      Размер файла:
      27,6 КБ
      Просмотров:
      5
    Последнее редактирование: 16 окт 2024
    Pyhesty, Octohum, AndyFox и ещё 1-му нравится это.
  10. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.210
    screen.PNG wgasm2.PNG

    Похоже, нашел опечатку, причем она присутствует в разных электронных копиях книги.

    error.jpg

    Это строка формирует спрайт вертикальной рамки экрана голубого цвета (формат описан в предыдущем разделе, можно попробовать восстановить вручную).

    На картинках выше горизонтальная рамка отображается нормально, а вертикальная отсутствует.

    Может, у кого-то остался бумажный вариант книги?
    Есть подозрение, что эта опечатка в первоисточнике (это последний абзац главы 7).


    Kapul2.jpg

    В файле .ezx - слепок памяти для EmuZWin (модель Spectrum-48), где с адреса 60000 уже размещен машинный код. Запускать командой RANDOMIZE USR 60000.

    Дополнение:

    Нет, это не опечатка. Это спец. формат для параметров формирования рамки экрана. Видимо, GENS4 выражения типа "@#80" обрабатывает нормально, а вот ZX Assembler++ в составе EmuZWin - нет.

    noterror.png

    Дополнение 2:

    Потыкал биты.

    В строке DFRAME DEFB в числе 12 с помощью числа 80h взводим старший (седьмой) бит, задавая направление вывода спрайта - сверху вниз.

    Если 12 - это 0000 1100, то "12@#80" (он же "12@128") - это 1000 1100.

    Короче, для компиляции без ошибок в ZX Assembler++ надо "12@#80" (и "12@128") заменить на "140" (файл .asm в архиве).

    fine.PNG

    Отличная рамка! Теперь пример воспроизведен полностью.

    Блин, как в детстве побывал ))
     

    Вложения:

    • wgasm2.zip
      Размер файла:
      35,5 КБ
      Просмотров:
      5
    Последнее редактирование: 16 окт 2024
    Pyhesty, Колючий, Octohum и ещё 1-му нравится это.
  11. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.210
    Есть способ загнать в EmuZWin текст BASIC-программы (не набирая его вручную в самом эмуляторе)?

    То есть, допустим, на ПК имеется текст программы на Бейсике (например, в файле .txt), его требуется загрузить в виде листинга Бейсик-программы в EmuZWin в режиме "Модель Spectrum-48".

    Столкнулся с этой проблемой, пытаясь воспроизвести из книги пример "Битва с НЛО".

    Там основная часть программы - на Бейсике, причем с использованием дозагрузки кодового блока с дискеты из TR-DOS (RANDOMIZE USR 15619).

    В эмуляции Spectrum-48 набрать бейсик-часть без родной клавиатуры очень сложно, а набранная в эмуляции Spectrum-128 бейсик-часть вкупе с кодовым блоком, загружаемым в память через ZX Assembler++, вызывает сброс и перезагрузку (причем моментально, даже до ввода команды RUN).

    Подгрузить кодовый блок в Бейсик-программе (предварительно сохранив его в TAP-файл с помощью SAVE "..." CODE) тоже не выходит, так как этот эмулятор, кажется, не поддерживает запись.
     
    Последнее редактирование: 21 окт 2024
  12. Yuriy_X

    Yuriy_X

    Регистрация:
    27 авг 2018
    Сообщения:
    3.444
    Купите наклейки, только что сходу нашёл варианты и на OZON, и на Avito.
     
    Octohum и Kristobal Hozevich Hunta нравится это.
  13. Grue13 Ocelote.12

    Grue13

    Регистрация:
    26 апр 2006
    Сообщения:
    10.095
    А почему в Спектруме ассемблерный код выполняется по Бейсик-команде RANDOMIZE, которая по идее должна задавать seed для генератора псевдослучайных чисел? По крайней мере в Бейсиках на других платформах она так делает.

    Какова была логика у разработчиков-программистов Spectrum-а?
     
    Последнее редактирование: 21 окт 2024
    Kristobal Hozevich Hunta нравится это.
  14. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.210
    Последнее редактирование: 21 окт 2024
    Octohum, QuakerRUS и Grue13 нравится это.
  15. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.210
    Еще один пример из книги.

    1.PNG 2.PNG

    1. Выяснил, что ZX Assembler++ не может обработать инструкции GENS типа:

    Код:
    CP "0"
    CP "4"+1 ; проверка нажатия клавиш от "0" до "4" 
    Сверился по таблице кодов, нашел, что "0" - это 48, а "4" - 52.
    Заменил на:

    Код:
    CP 48
    CP 53
    2. В примере что-то с правильностью размещения BOLD-шрифта. Подвигал байты, теперь каждая строка заканчивается шаром, из которых сформирована рамка. Так даже интереснее, но где-то в коде явно ошибка.

    3. Опять комментарии на русском заменило на "???". Что-то с кодировкой, видимо, зависит, откуда копируется текст для вставки в ZX Assembler++.

    4. Какие-то проблемы с запуском этого примера в режиме модели Spectrum-128. Либо ZX Spectrum++ предназначен только для работы с моделью Spectrum-48. Возможно, это ответ и на предыдущий мой вопрос ))
     

    Вложения:

    • lm.zip
      Размер файла:
      56,2 КБ
      Просмотров:
      4
    Последнее редактирование: 22 окт 2024
    Octohum нравится это.
  16. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.248
    upload_2024-10-23_0-30-58.png

    Utok Bile Mysky — 30 лет спустя.

    Utok Bile Mysky (pentfix) // Virtual TR-DOS
     
    Pyhesty, Octohum и Yuriy_X нравится это.
  17. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.248
    upload_2024-10-23_11-46-20.png upload_2024-10-23_11-47-29.png

    Mermaid Madness - обновленный релиз.

    Mermaid Madness (48/128k) (bugfix) (mod) // Virtual TR-DOS
     
    Octohum и Yuriy_X нравится это.
  18. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.210
    Код правильный.

    Проблема оказалась в том, что GENS и ZX Assembler++ по-разному обрабатывают директиву DEFM
    (ZX Assembler++ устанавливает 7-ой бит в последнем байте строки. Зачем?).

    Если в примере из книги DEFM заменить на DEFB, то всё работает правильно.

    Короче, классический RTFM ))

    5.jpg 4.jpg 3.PNG
     
    Последнее редактирование: 23 окт 2024
    AndyFox и Octohum нравится это.
  19. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.248
    SCRtoImage1.png SCRtoImage2.png

    Tokimal.

    Tokimal (ZX Spectrum 128k) by Pat Morita Team

    Tokimal (128k only) // Virtual TR-DOS

    P. S. Новые релизы для TR-DOS здесь — https://zx-pk.ru/threads/5076-novye-tr-dos-relizy/
     
    Колючий и Octohum нравится это.
  20. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.210
    "БИТВА С НЛО" (пример из книги).

    ufo.png ufo_final.PNG ufo_final2.PNG

    Практически полноценная игра. Во вложении файл ufo_final.ezx для эмулятора EmuZWin.
    Запустить в режиме Spectrum-48 командой RUN (клавиша "R") -> Enter. Управление: клавиши "O/P" - влево/вправо, пробел - огонь, "E" - выход в Бейсик.

    Заметки:

    1. Можно набрать Бейсик-программу в режиме Spectrum-128 (побуквенный ввод), затем в командной строке набрать и выполнить команду SPECTRUM. Компьютер переключится в режим Spectrum-48 (ввод токенами), при этом листинг набранной Бейсик-программы будет доступен.

    Эмулятор EmuZWin отображает этот режим в заголовке основного окна как [Spectrum 128K (48K LOCK)].

    2. Для редактирования строки Бейсик-программы выбираем ее курсорными клавишами UP/DOWN, затем жмем CTRL+1 (EDIT), перенося ее в командную строку, редактируем, жмем Enter. На картинке с листингом курсор находится в строке 330.

    ufo_list.PNG ufo_list2.PNG

    3. Долго не мог понять, почему у меня по экрану вместо НЛО летают буквы "ABCD".
    Перепробовав всё, вспомнил, что UDG-символы в команде PRINT "ABCD" надо вводить буквами не в режиме "L", а в режиме "G" (CTRL+9). На картинке с листингом см. строки 200 и 340. Воспоминание разблокировано ))

    4. Не сразу понял, почему летающая тарелка оставляет за собой забавный шлейф из точек. Выяснилось, что в книге двумя точками авторы обозначили два пробела, затирающие фон за объектом. См. строку 330.

    ufo_space.jpg

    5. Звуки лазера (процедуры на ассемблере) красивые. Перемещение и стрельба (Бейсик) медленные. Интересный эффект попадания, основанный, кажется, на изменении фона знакоместа/спрайта (с желтого на красный, см. картинку).

    Теперь пример воспроизведен полностью. Отличная работа!
     

    Вложения:

    • ufo.zip
      Размер файла:
      39,5 КБ
      Просмотров:
      4
    Octohum, Колючий, Gamerun и ещё 1-му нравится это.
  21. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.210
    Еще один пример из книги - счетчик секунд (аналог механического одометра).

    Интересная реализация на базе прерывания IM2.
    Да и вообще интересный эффект - сидишь в интерпретаторе Бейсика, а счетчик тикает.

    Похожие счетчики были на загрузочных экранах Exolon, Zynaps и, кажется, Myth.

    Правки кода из книги минимальны - CP "" и DEFM.

    int.PNG int_1.PNG int_2.PNG

    1.jpg
     

    Вложения:

    • int.zip
      Размер файла:
      33,1 КБ
      Просмотров:
      5
    Последнее редактирование: 28 окт 2024
    quazatron, Octohum и AndyFox нравится это.
  22. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.248
    ai124.fastpic.org_big_2024_1120_80_d6158e6094921971c748dccfa77d8180.gif

    В игре Zombie Xtinction Defense нам предстоит отражать нашествие зомби. Жуткая стратегия, учитывающая персонал, ресурсы, баррикады и несколько типов турелей. Кстати, зомби тоже нескольких видов. Реализация для ZX Spectrum 48K.



    Официальный сайт — Zombie Xtinction Defense by Javi Prieto @ GeeseBumps
     
    Последнее редактирование: 20 ноя 2024
    Octohum, quazatron и Yuriy_X нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление