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

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

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

Atari 8-bit - Первый Игровой Компьютер (Old-Games.RU Podcast №55)

Тема в разделе "Новости сайта", создана пользователем Virgil, 16 июн 2017.

  1. Virgil Администратор

    Virgil

    Администратор

    Регистрация:
    2 янв 2005
    Сообщения:
    11.272
    С чего всё началось? Когда производители компьютеров стали считать геймеров и сочувствующих частью своей целевой аудитории? Зачем "Атари", фирме, славившейся своими игровыми автоматами и приставкой 2600, создавать ещё и ПК? Какие игры поражали воображение в начале 1980-х? Это и многое другое вы сможете узнать в этом выпуске.

    Atari 8-bit - собирательное название семейства 8-битных компьютеров фирмы "Атари", производившихся с 1979 по 1992 годы.


    Список игр в выпуске:
    Frogger, Galaxian, Defender, Choplifter, Mario Bros., Pole Position, Qix, Star Raiders, Eastern Front (1941), Alternate Reality: City, Dungeon и другие.



    mp3
     
    Pyhesty, nop, Hypercam и 23 другим нравится это.
  2.  
  3. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    В A и HL можно читать из абсолютного адреса напрямую (и писать тоже).
    MIPSы — это ещё не всё. А как там с переходами, с вызовами, например? Сдвиги?
     
  4. MetalliC

    MetalliC

    Регистрация:
    20 апр 2009
    Сообщения:
    698
    угу, но я о том, что на практике часто нужна относительная адресация, какой-нибудь структуры данных или там графички/спрайта или таблички.
    а чтоб сделать LD A, (HL) сперва в HL надобно получить абсолютный адресок
    а что с ними ? вроде всё есть.
    всё это можно и самостоятельно увидеть в сети за секунды. а я такой же как и ты - в далеком прошлом кодил под Z80, с расчетами процедурок по тактам, всякими генерациями развернутого кода на десяток кил, извратами с переброской данных стеком. вобщем "прелестями" зилога сыт по горло, аж тошнит :D
    c 6502 на практике дела не имел.
     
  5. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Ну вот например я посмотрел Elite на C64 — очень, очень печально всё, а ведь должно почти вровень идти.
     
    nop нравится это.
  6. MetalliC

    MetalliC

    Регистрация:
    20 апр 2009
    Сообщения:
    698
    ммм... а что там печального ? по фпс на-глаз вроде +- те же яйца что на спеке. но мерцает как зараза.
    на реале там помнится при движняке, если кучка полицейских или таргонов на экране, игра превращалась в слайдшоу, если не в пошаговую стратегию.
     
  7. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Это на глаз, а я играть пробовал. Оно и на спектруме не сказать, что летает, а тут вообще ужас, ну и мерцание ведь тоже не на пустом месте — на чём-то сэкономили.
     
  8. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    @MetalliC,
    Никто в графике такой тормозной фигней не занимается. У Спектрума экранная память устроена как раз так, что перемещение между соседними байтами по вертикали/горизонтали (в большинстве случаев) осуществляется с помощью 8-битных инкрементов-декрементов H и L. А адрес может лежать также в BC или DE. Если нужно постоянно что-то "рассчитывать" в HL, для каждого байтика - это говнокод.
    Время доступа к регистрам таки лучше, чем к zero page и их довольно много.
    Сравним главную графическую операцию при рисовании векторной графики - заполнение фреймбуфера одним значением. Он, разумеется, больше, чем 256 байтов, и на C64 не пересекается ни с zero page, ни с областью стека.
    На z80 делается через 16-битный PUSH.
    Это 5.5 тактов на байт (проигнорим memory congestion).
    На 6502 приходит в голову либо индексная с дальнейшей модификацией 16-битного смещения, либо indirect, где указатель в 0-page. С первым вариантом куча проблем(цикл фиг развернешь, например), поэтому возьмем второй. Имеем STA ($12), Y ; INY
    Это 8 тактов на байт, не считая проверку на пересечение границы 256 байтов и в целом более сложный код из за отсутствия 16-битных операций. Это очень серьезный недостаток - невозможность целиком держать 16-битный адрес в регистрах, без необходимости каждый раз его считывать из памяти, пусть даже из zero page.

    Следовательно, с учетом разницы в частоте, ZX Spectrum выполняет данную операцию..
    быстрее почти в 5 раз

    P.S. И да, хоть и давно, но я писал ядра эмуляции геймбойного "недо-Z80" и 6502, а также кодил, в основном под Z80.
    P.P.S. Если как следует присмотреться к возможностям, предоставляемым индексными режимами и zero-page в 6502, то обнаружим, что зачастую они лишь являются костыльной заменой возможности хранить и обрабатывать в регистрах нормальные 16-битные числа.
     
    Последнее редактирование: 29 июн 2017
  9. Hypercam

    Hypercam

    Регистрация:
    21 июл 2012
    Сообщения:
    551
    13 лет Атари продавался, один из древних долгожителей. Не удивительно что игры аркадных автоматов положили начало для развития компьютерной индустрии. Ну конечно, что сравнивать монохромную графику и графику с 16 цветами вдобавок с разрешение 320Х195, понятно почему Атари стал лидировать на фоне других компьютеров, тем более графические сопроцессоры были созданы. Спасибо за рассказ про такой древний, но значимый компьютер!:)
     
  10. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    43 такта
     
  11. MetalliC

    MetalliC

    Регистрация:
    20 апр 2009
    Сообщения:
    698
    на счёт стека согласен, но как с практикой ? в Элите или в других играх чистят экран PUSH-ами ?

    пардон, никогда не верь интернетам лол, вот эта табличка ввела меня в заблуждение
     
  12. MetalliC

    MetalliC

    Регистрация:
    20 апр 2009
    Сообщения:
    698
    сам спросил сам и отвечу - таки да, в той же Элите и используется.
    в спектрумовской версии отрисовка игры делается в бэкбуфере в C000h, который каждый кадр чистится как раз PUSH-ами, а после "рендера" копируется в экранную область развернутым циклом из LDI.
    могу предположить, что в С64 версии по каким-то причинам не хватило памяти для бэкбуфера, и пришлось рисовать прямиком в экран, от чего и наблюдается зверское мерцание.

    @nop, с заполнением на 6502 вроде не на столько плохо, первой ссылкой по запросу "6502 memset" выдается такое - Memset on 6502 · sasq64/docs Wiki · GitHub так что есть и более быстрые варианты
     
  13. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Могу предположить, что в C64-версии его якобы трёхкратное преимущество процессора не пересилило, и сделали хоть так.
    Вы всерьёз думаете, что тогда программеры на +30-50% циклов ложили? Я немножко знаю, как тогда прогалось, даже для себя ±2 цикла это смерть была, а уж для коммерческого продукта.
     
  14. MetalliC

    MetalliC

    Регистрация:
    20 апр 2009
    Сообщения:
    698
    эмм.. какое такое преимущество ? речь была о том что процы С64 или спека или CPC где-то +- такие же по производительности в типичных для игр задачах
    использование стека геморойно, из-за прерываний. нужно или синхронизироваться с vblank, типа HALT-ом и сразу после этого чистить все буфера, либо на время операций стеком запрещать прерывания (с риском прозевать ирку). вобщем не всегда использование стека приемлемо.
    да я тоже немножко знаю, вон передачек или даж фильмов сколько, про то как в 80х прогали игры на тот же спектрум и прочие домашние компы, изрядной частью - щеглы вчера школу окончившие, или еще не. всяких продвинутых приемов ребята просто не знали.
     
    Последнее редактирование: 4 июл 2017
  15. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Где-то они не такие же, если смотреть по реальным играм. Elite.
     
  16. MetalliC

    MetalliC

    Регистрация:
    20 апр 2009
    Сообщения:
    698
    игры все разные, где-то одни лучше а где-то наоборот, может не будем глупостями типа холиворов заниматься ? :)
    из любопытства глянул более тяжелый случай - Battle Command: на спеке относительно шустро работает (если движняка сильного нет, иначе вплоть до слайдшоу), на С64 - ощутимо медленее, а на CPC еще тормознее, при том что нам Z80 быстрее чем в спектруме.
    может таки в реальных играх оно еще и от архитектуры машинок зависит, не ? ;)

    возвращаясь к собственно топику, в процессе заметил что запомнившихся старых 3D игр, типа Элиты, Battle и Carrier Command-ов, Starglider-ов - на Атари 8бит не было. кто-то в курсе почему так ? :hmmm:
     
  17. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161
    Просто 3d игры на Atari 8-bit это отдельная тема и для обсуждения их целой передачи не хватит. Ниже перечислю некоторые из таких игр, наиболее значимые для меня.

    Capture the Flag (1983)
    Задолго до Wolf3d и подобных. Возможно, первая maze-подобная игра, где повороты осуществлялись не на фиксированные 90 градусов.



    Rescue on Fractalus (1984)
    Первая из серии знаменитых игр от LucasFilm. Удивительная история создания, в которой фигурируют Star Trek, фрактальный алгоритм построения ландшафтов от будущих участников Pixar со статьей на SIGGRAPH, Джордж Лукас и проч. За все 80-е годы на микрокомпьютерах ничего похожего на "фрактальный" подход LucasFilm так и не было создано.



    Koronis Rift (1985)
    Развитие технологий предыдущей игры от LucasFilm.



    Mercenary (1985)
    В особенном представлении не нуждается. Такая же классика, как и Elite. Появилась впервые именно на Atari.

     
    Последнее редактирование: 4 июл 2017
    Uka, VladimIr V Y, Dimouse и ещё 1-му нравится это.
  18. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Буквально через месяцы после выхода C64, Atari 8-bit почти потеряли релевантность для игродевелоперов, которые всегда делали под наиболее массовые и дешевые платформы. А C64 стоил невероятно дешево для своего железа, потому что, как мы знаем, Commodore сам для себя выпускал чипы(кроме, возможно, RAM/PROM и кое-какой рассыпухи) и адски демпинговал.
    Судя по воспоминаниям девелоперов, что я читал, многие прошли мимо Atari сугубо из за их цены (хотя завидовали их обладателям) и отсутствия их в школах(там PET-ы и Apple II рулили).
    Первое поколение домашних 3D игр вышло как раз на Atari, начиная с того же, вдохновившего авторов более поздних космосимов, Star Raiders.
    Ну, еще Vectrex был, конечно.
    А тот же Carrier Command это уже, кажется, мультиплатформа с флагманской версией на 16-битном Atari ST.
     
    Последнее редактирование: 4 июл 2017
  19. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Тут ещё мало кто помнит политику Atari в отношении независимых разработчиков. На самом деле они яму сами себе выкопали.
     
  20. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    @true-grue, ты еще забыл Eidolon на том же движке

    А спектрум рулил таки в "3D" играх, потому что Z80 реально справлялся с операциями, свойственными для 3D графики намного быстрее 6502. CPC же тупо тормозил из за его слишком большого фреймбуфера.
     
  21. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161
    Действительно, правильно подмечено: к 85-86 годам 8-битные компьютеры от Atari полностью сдали свои позиции. То есть большая часть достойных игр была создана до этого времени. Но, надо сказать, поколение разработчиков постарше не прошло мимо этих компьютеров. Вот лишь несколько известных имен: Sid Meier, Brian Moriarty, Tim Cain.

    P.S. Я не забыл про Eidolon. Просто, на мой взгляд эта игра ничего нового не предложила с точки зрения 3d по сравнению с предыдущими вещами от LucasFilm.

    P.P.S. Политика в отношении независимых разработчиков у Atari была замечательная, они в этом смысле сильно опередили время. Если интересно, расскажу об этом подробнее.
     
    Последнее редактирование: 4 июл 2017
  22. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Ну так Атари была тогда в состоянии развала и хаоса вообще.
     
    Последнее редактирование модератором: 4 июл 2017
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление