Комментарии 165
UPD: это старость, видимо
«Борьба с магнитофоном» была: помнится все выходные изолировали платы магнитофона фольгой от шоколадок, иначе он безбожно гудел и ничего не загружал. Мотали вату на спички, протирали, регулировали. И вот настал момент, когда программа загружается без ошибок одну минуту, другую. Мы уже в предвкушении, что вот оно, наконец, заработало. И тут магнитофон падает с мягкого стула на пол, тянет за собой наспех припаянные провода. И все начинается сначала :)
Не знаю, у меня в мозгу навечно прошиты рефлексы при звуке пилотона. Начинаешь прислушиваться, не зажевало ли ленту.
Bruce Lee — одна из культовых спектрумовских игр.
Exolon — вы в курсе что там вроде если с 8 на 9-й экран спрыгнуть сверху, то можно получить бессмертие (или с 13 на 14, уже точно не помню) — такая пасхалка от авторов.
Krakout на спектруме был более популярен, чем арканоид. Как я помню, там на 21 уровне сложно с плюющимся «врагом». А в плане привычного «горизонтального» играли в Batty.
Ну и да, мой ник — из тех времен…
А в саботере как раз надо было пролететь подальше, дождаться, пока он сам спрыгнет, потом правильно встать на половину ящика и по потайной лестнице вниз, там бессмертие в сверкающем чудо-сундучке :)
В Саботере не обязательно было пролететь, просто в левой части здания была эта скрытая лестница.
Кстати, если спрыгнуть со здания слева и оказаться на обрыве, который находится прямо справа от «невидимой комнаты», То можно сальтом в эту стену влететь и телепортирваьтся в самую правую часть здания. Эту штуку я сам нашел без описаний )
И бездонный ящик перфоленты есть в левой части здания в подвалах, но к нему нужно приходит не с пустыми руками.
… простая но умная игра, учит думать о последствиях
Но это лечилось большим электролитическим конденсатором впаянным на выходе блока питания.
До этого я иногда даже специально холодильник «превентивно» отключал прежде чем засесть за комп из-за чего на меня родственники ругались.
Но потом разбирая какую-то электронную рухлядь выдрал из ее большой кондер (ЕМНИП 20 000 мкФ), впаял его в БП и включающиеся без спроса холодильники, соседы с перфораторами или элекросварщики варящие трубы во дворе перестали беспокоить.
Так что приходится пафосно превозмогать, подробно разбираться во всей этой кухне и дорабатывать, дорабатывать, дорабатывать…
Лет через 15 уцелевшие акриловые Пруши и ДСПшные ультумбочки коллекционеры будут собирать по частям на eBay…
Впечатляет надежность системы: запись очевидно шумная, скорость плавает, магнитофон фонит и стрекочет. Но работает
Здорово. 20 лет назад всё перечисленное (шумы, плавания и фон) приводили R Tape loading error.
Но пользоваться этим могли только владельцы хороших магнитофонов, типа маяк-240, или буржуйские. На ширпотребе в турбоскорости могло хватить на 10-20 загрузок, и то…
Но в целом это был вопрос везения. У кого-то и собственноручно записанные кассеты не грузились толком.
Я просто помню, что когда я перешел с раздолбаного Весна на маяк — у меня все в турборежиме стало работать месяцами без перезаписи.
Загрузку с такой кассеты можно было раза в четыре ускорить, но это было геморно, переделывать загрузчики и не везде легко, да и экономически не выгодно…
Ходовой магнитофон был Электроника серии 302, например, 302-1.
Krakout — мда, ностальгия, одна из игр, где заставка загружалась не просто скрином в видеопамять, а с изысками — и что-то я второй такой не помню, хотя на спектруме играл относительно много.
А доступность данных обеспечивается в первую очередь очень низкой плотностью записи и формально универсальным способом самой записи — пятно бита на пленке в ощутимые доли квадратного миллиметра куда как медленнее теряет намагниченность, чем на жестком диске, скажем, а формат записи «звуковая дорожка» существует до сих пор и вряд ли когда-либо полностью прейдет.
Вплоть до собственного загрузчика, который грузил данные не подряд, а в художественном порядке.
Помню была ещё история, я в садик ходил, наприглашал в гости «на компьютере» поиграть, в субботу. День наступил, в квартиру позвонились. И тут я вспомнил. Никому ничего не рассказал же. В общем, получил своё атата за это.
Krakout — мда, ностальгия, одна из игр, где заставка загружалась не просто скрином в видеопамять, а с изысками — и что-то я второй такой не помню, хотя на спектруме играл относительно много.В Technician Ted во время загрузки по экрану гуляли человечки:
В Deviants во время загрузки можно было поиграть в игру (и, насколько помню, от успеха зависела дальнейшая сложность).
А уж игр с просто нестандартной загрузкой картинки по две-три на кассету попадалось всегда.
Венцом творения была игра пятнашки, которую можно было собирать, чтобы не скучать во время загрузки ) Ну и все вышеперечисленное вместе
Когда запускал эмулятор с возможностью загрузки звуковых файлов, была идея попробовать найти все эти творения, но вот с реализацией пока туго )
62, 33, 0,64,17,0,27,55, 205, 86, 5, 201
Ну и собственно по аресу 5, 201 можно найти вшитый загрузчик, расковырять его и дописать свои эффекты.
221, 33, 0, 64, 17, 0, 27, 55, 205, 86, 5, 201
Я эти команды наизусть помню еще с 90-х (ну почти помню).
в IX помещаем стартовый адрес экрана
в DE длину (0,27)
потом сбрасываем флаг
и вызываем процедуру по адресу 86,5.
201- return назад в бейсик.
У меня на телефоне звук загрузки какой-то игры в качестве рингтона. Очень хорошо слышно. Да и «знающие люди» радуются.
Насколько я помню, большинство игр грузило картинку прямо в видеопамять, поэтому она постепенно появлялась на экране под «чириканье», а потом раскрашивалась под «пчелиный гудёж». Вот так. Это был ZX Spectrum 48K.
Здесь же все во всех видео я слышу как грузится картинка, но не вижу этого процесса. Это такой случайный подбор игр, модель спектрума или поведение эмулятора?
Вариант 2 — грузить сжатую картинку в оперативную память, потом распаковывать в видеопамять. Ну или можно несжатую.
Либо вместо бордера мигает цветами в хвосте ракеты (Academy), либо разные варианты счетчика.
В общем все на что воображение гораздо.
Но да, как тут написали ранее, тактов на различные эффекты хватало (за счёт снижения надёжности, впрочем).
Заливаем экран одним цветом (и фон и пиксели), заружаем в экранную память картинку (вы ничего не видите), загружаем куда-то эти 768 байт цветов и мгновенно их перемещаем (на ассемблере переместить 1кб было не такой уж долгой процедурой). Тем более, заставка на этот момент загружена, и можно было выполнить перемещение «между треками».
Если же действительно заставка идет отдельным треком, то переместить между треками можно и 7 кб без проблем.
Здесь же все во всех видео я слышу как грузится картинка, но не вижу этого процесса
У спектрума интересный видеобуффер, там по 1 биту на пиксель, а весь экран поделен на квадраты 8х8, в каждом из которых один цвет фона и один цвет «чернил» (и вроде бы бит яркости, но это не точно). Картинки на заставках сначала загружали пиксели, а в самом конце подгружали цвета для квадратов и раскрашивали
Стандартный загрузчик просто грузит в видеопамять, которая организована так, что сперва пиксели, затем цвет квадратиков 8x8 пикселей.
Но вы можете написать свой загрузчик, который будет грузить гусеничкой, или сперва закрасит экран в черный по черному, затем загрузит пиксели и снова загрузит уже цвета поверх нарисованной картинки.
А можно вообще много чего сделать.

Длительности полупериодов сигнала указаны в тактах 3.5 Mhz-вого Z80. Эта инфа позволяла писать кастомные загрузчики с ленты, которые в процессе загрузки успевали делать что-то еще, помимо самой загрузки. Ну типа загрузчика титульного скрина в krackout из видео, что в статье.
Устроена так: 32 байта на горизонтальную линию — 256 бит. Каждые следующие 32 байта на экране отображались ниже на 8 пикселей. И так восмь раз. Затем вторая скан линия и снова 8 раз через 8 пикселей вниз. Ровно 2kb на блок, занимающий ровно одну треть экрана. И таких блоков 3 штуки. Итого 6144 байта. Это была битовая матрица. Далее идут 768 байт аттрибутов, каждый байт отвечал за матрицу 8x8 пикселей, указывая, в какой цвет красить нули, а в какой единицы на битовом поле.
Очень заморочено. В ПЗУ есть кусок кода, который вычисляет в этой схеме адрес следующего байта относительно произвольного, который на экране расположен на один пиксель ниже. Как сейчас помню, эта операция занимала 191 такт. Сделать это быстрее мне тогда не удалось. Между тем такая операция очень важна при рисовании спрайтов в произвольной Y координате в играх. Вобщем, мы крутились как могли.
Не думаю, что одна команда (трёх не нужно: ADD HL,DE например) замедлила бы её ещё сильнее.
А тормоза ПЗУ это вообще отдельная песня. Особенно доставляла зависимость скорости выполнения оператора в бейсик-программе от его удаленности от начала строки. Эх, были же времена…
Сколько же неудобств в рисовании графики это в свое время вызывало (при программировании), просто ужас.
Более того был такой компьютер «Profi» и с 512kb и аж с мегабайтом памяти и с процессором на 7 мегагерц. Вобщем — мечта любого мальчугана желавшего именно спектрум. Так вот, работал он и как обычный спектрум, а в режиме CP/M имел разрешение экрана 512x240 точек. Тоесть в 2 раза больше спектрумовского. И мне казалось, ну уж там-то сделали по уму… Ан нет… Оказалось, что там экран рисуется точно так же как и на Спекки и кроме этого там есть еще четные горизонтальные байты и нечетные и сначала заполняются нечетные, потом четные. Вот где настоящий ад!
можно создавать заранее таблицу переадресации
занимает память, но быстрее
К примеру, для кода и данных игры максимум доступной памяти — 42240 байт. Ну экзотику, когда код в видеопамяти и закрыт аттрибутами, я не рассматриваю. Так делали редко. Если использовать backbuffer, да потратиться на такие вот таблицы (например, еще обязательно нужна была таблица переходов с прерывания по таймеру 50 раз в секунду — 256 байт, ну или там, таблица синусов, таблица умножений, таблица квадратных корней, много всяких таблиц), то на графику и код оставалось с гулькин нос. Впрочем, было интересно.
Разработчик руководствовался тем, что было желание (а точнее не ходимость) обеспечить таким образом регенерацию DRAM. Вместо того, чтобы тратить такты СРU на регенерацию, сделали так, что она обеспечивалась автоматически при вычитывании для каждого кадра области экрана.
Там надо стрелять в самолеты, а корабли бомбить. Даже до суши не долетели… Так ждал…
Кстати, вспомнилась проблема. У друга был спектрум с советским магнитофоном, а у меня был спектрум с двумя дисководами 5,25 и магнитофон sanyo (какой-то бумбокс двухкассетный 1989 года). Так вот на Sanyo нам не удалось запустить ни одной игры! С его мафона грузился и его и мой комп. С Sanyo вообще ничего не получалось.
Может быть кто-то сможет разрешить эту загадку для меня?
.
…
в инете есть каталог со всеми играми и прогами для спектрума
и не нужно ничего загружать уже давно
но еще до инета, в 1998 году, писал свой загрузчик с ленты для ibm на асме, причем он позволял грузить с любой скоростью. ставил скорость ленты в 2 раза больше и загружал быстрее (=8
причем скорость можно было ставить любую в любой момент времени, была автоподстройка с обратным анализом
подключал дисководы и даже принтер и графопостроитель с com портом (добавил пару микросхем и написал драйвер).
Как появился дисковод дисковод стал использовать Mons и Gens. Асемблер и дизасемблер
Первым делом чтоб а aerowolf вертолетик имел не 3 жизни а 255.
Да у некоторых игр был более быстрый загрузчик но не всегда с первого раза все грузилось с кассеты.
Пару лет других компов в обозрении ни у кого не было так что все использовали ZX48 и 128
потом пришли уже 8088 и 8086 компы, причем тоже самодельные, но это уже другая история.
Он был у друга, и я помню это нечеткое гуляющее изображение на черно-белом ТВ (вроде 40*25 символов) и эту металлическую коробку с пластмассовыми клавишами. Тоже грузили что-то с «мафона», но его интересовали игры, меня — хоть как-то попрограммировать на бейсике.
Из своих у меня в то время был только один — Commodore с зеленым монохромным экраном 40*25, который привез из-за границы отец. Дискеты — какие дискеты? От малейшего щелчка он вырубался, поэтому весь код был записан в тетрадке на листочке и терпеливо набивался от руки. Документация? Какая нафиг дока… тем не менее, обнаружил совершенно случайно достаточно много недокументируемого функционала — комп иногда сам начинал «чудить» и выдавать на экран какие-то команды, оказывающиеся потом полезными. Особо толку тот «коммодоре» не принес и быстро надоел — у него еще долго светились пиксели после выключения питания, поэтому я набросал код, который псевдографикой выводил всякие обзывки на моего брата, и даже когда тот подбегал и выдергивал шнур, они светились в темноте. Брат ничего не понимал в «этом» и называл программы «таблицами», я их до сих пор так сам про себя называю. Но зато я сейчас — старый жалкий кодеришка, которому стремно сказать, кем он работает, а брат тот — бывший моряк, ныне держит бизнес, и женат на дочке олигарха.
Коммодоре после полугода пользования однажды совсем перестал включаться, и после был сдан на цветмет (сдача которого как раз в те времена процветала).
У одноклассника была Yamaha MSX, он же познакомил меня с Бейсик-ом, а то в школе был вечно закрытый класс с УКНЦ.
Кому ещё преподавали Информатику по этому учебнику?



У меня где-то валяются тетрадки тех пары сотен игр что я взламывал пользуясь обычным магнитофоном и peek/poke. Собственно патроны и жизни в Commando я взломал зная всего лишь 17 инструкций ассемблера, среди которых была dec ax ;)
Основная часть того, что выпускал Билл Гилберт это не взлом жизней/патронов а в основном замена оригинального загрузчика на свой с целью слома защиты от копирования. Что-то в самой игре он ковырял едва ли в 10%.
Там еще на заставке в коридоре солдат стоит, которую рисовал мой друг (я однажды случайно нашел в гугле эту картинку, поэтому есть высокий шанс, что программу кто-то тоже перенес с пленки).
P.S. vk заблочен, и я свой аккаунт там тоже заблокировал, новый регистрировать не хочу.
Elite (конечно)
Laser Squad (прародитель ufo/jagged alliance)
Nether Earth
Hero Quest
Dizzy, Down to Earth, Sabotuer, Dictator, Jet Set Willy, Exolon, Elite, Match Point и конечно же R-Type (мы 3 джойстика об него сломали, в т.ч. один батя сам делал)
У меня был ZX Spectrum-48k, собранный какими-то мастерами на работе у родителей. К нему прилагась одна кассета с играми и игровой джойстик, приблизительно такой. Загружался я с "чуда" советской мысли Романтик-309С-1. Как и на фото передняя панель кассетного отделения всегда была снята, т.к. лентопротяжный механизм не справлялся и очень любил кушать кассеты. Приходилось ему "помогать" отверткой. Когда появился загручик Leshij, пришло обегчение. Игры стали грузиться раза в 2,5 быстрее и при сбое можно было немного назад отматать пленку и продолжить загрузку. Это было счастье!
Древности: ZX Spectrum, программы на кассетах и высокая чёткость