LINUX.ORG.RU
ФорумTalks

36 лет назад Билл Гейтс с другом в 4 часа утра...

 


0

1

Написали эту божественную игру!

Исходники: https://github.com/coding-horror/donkey.bas/blob/master/donkey.bas

Игорь обладает душой, и поэтому оптимизирован под 4.77Mhz процессор, поэтому посмотреть живую симуляцию: http://www.pcjs.org/devices/pcx86/machine/5150/cga/64kb/donkey/

Andy Hertzfeld (член первой команды Apple Macintosh) вспоминает, как они восприняли эту игру: http://www.folklore.org/StoryView.py?project=Macintosh&story=Donkey.txt

... but we were amazed that such a thoroughly bad game could be co-authored by Microsoft's co-founder, and that he would actually want to take credit for it in the comments.

Ничего не поделаешь, это флешь

★★★★☆

Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от lenin386

Ну, во-первых, не совсем уж только одно название изменили.

Доработали под требования IBM

Во-вторых, а что в этом плохого-то ? Сейчас все так делают, вообще все.

Да, сейчас «все» наёбывают. Что в этом плохого? (сарказм, типа)

Нда, тяжело тебе. А это ничего, что системые вызовы ядра Linux сделаны *С-Ю-Р-П-Р-А-А-А-Й-З*! Через прерывание. Какой удар.

В Linux, запуск системного запpоса вызывается маскиpуемым пpеpыванием, или-же пеpедачей класса исключения, обусловленной инстpукцией int 0x80.
Однако, над прерываниями есть слой абстракции в виде стандартной библиотеки. Что повышает переносимость программ.

*С-Ю-Р-П-Р-А-А-А-Й-З*!

И в чём сюрприз КЭП?

Дык ктобы спорил. Вот назови мне это хорошее программное обеспечение. ИМЯ

Не дал развиваться, поэтому и имён не знаем.

rezedent12 ☆☆☆
()
Ответ на: комментарий от matrixd

будите о них в балладах воспевать.

дайте людям выспаться

next_time ★★★★★
()
Ответ на: комментарий от lenin386

Не хотел я лезть всё это вспоминать... Можно. Но в Cинклере символов UDG (User Defined Graphics) - всего 20 (двадцать) штучек, а не 128 и не 32.

весь шрифт перепрограммируется, а не только псевдографика с цифровых клавиш.

Что касается возможности перепрограммировать «фонт» для остальных символов, то при такой постановке вопроса, сложновато будет отлаживаться - вместо текста на экране будет k@л.

перепрограммировать нужно только 18 символов из 128, для этой игры. с увеличением плавности нужно больше, но на алфавит + цифры нужно всего 36 символов :)

Всё это было очень медленно, даже отрисовка меню из ~10 пунктов на синклер бейсике - это несколько секунд.

лолшто? я щас пойду эмулятор запускать и мерять :D

waker ★★★★★
()
Ответ на: комментарий от lenin386

На бейсике ? Даже такую же не сделать.

Отлично там работали игры на бейсике. «как стать президентом» - полностью на бейсике, а «peep show» записывает в ОЗУ около 12 байт, потом меняет в них ~4 байта (адрес блока), запускает полученную подпрограмму и _быстро_ выводит нужную картинку на экран. Не замечаешь даже что это сделано на бейсике, так быстро оно рисуется. При тех мелких размерах кода что были на спектруме, на бейсике легко изготовить в памяти компа подпрограммы в машинных кодах, а потом патчить их и запускать. Это аналог ассемблерных вставок в более поздних языках.

Napilnik ★★★★★
()
Ответ на: комментарий от lenin386

А ещё можно вообще бейсик не использовать, ага. Одна подпрограмма - одна игра. Лол.

Сколько в память подпрограмм влезет, столько можно и пихать. А запускать через RANDOMIZE USR адрес.

Во-первых, в Синклере псевдографических символов с гулькин нос. 16 штук штоле, сейчас мне даже лень вспоминать.

Намного больше. На отредактированных псевдографических символах русификацию делали и ещё свободные оставались.

Нет, уж именно графон. Если вывод графона представляет собой слайд-шоу, то никакой динамичности не будет.

Подпрограмма выводит картинку в тысячу раз быстрее, а запустить и пропатчить её можно из бейсика в реальном режиме времени.

Napilnik ★★★★★
()
Ответ на: комментарий от Deleted

Сейчас написать тоже самое на бейсике - это будет тонна классов и прочей лабуды...

Теперешние продвинутые бейсики это слабое подобие лазаруса. Тучше сразу на нём писать.

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

это всё можно, но бейсик надо сравнивать с бейсиком. Сравнение бейсика и машинного кода по скорости - не корректно.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от rezedent12

Однако, над прерываниями есть слой абстракции в виде стандартной библиотеки

в ms-dos этот слой называется basic.

Не дал развиваться, поэтому и имён не знаем

Это называется «демагогия». С таким аргументом можно обвинить в убийстве конкурентов что угодно и кого угодно. Карла Маркса, например.

lenin386 ★★★★
()
Ответ на: комментарий от Napilnik

На отредактированных псевдографических символах русификацию делали

только те буквы, которым нет аналога в латинице.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

в ms-dos этот слой называется basic

:) шутка за 640

Не дал развиваться, поэтому и имён не знаем

Это называется «демагогия». С таким аргументом можно обвинить в убийстве конкурентов что угодно и кого угодно. Карла Маркса, например.

На безрыбье и краб - рыба. Нюанс в том что краб рыбу и гоняет с безрыбья что бы оно безрыбьем и оставалось.

Это точно так же как при живом Путине и его влиянии в СМИ говорить что кроме него достойных политиков в России нет.

rezedent12 ☆☆☆
()
Ответ на: комментарий от lenin386

только те буквы, которым нет аналога в латинице.

Это при лени или экономии памяти. У каждой латинской буквы в бейсике 48 существовал псевдографический двойник, по сути в тот бейсик были встроены фичи текстового процессора. Команды бейсика имели длину 1 байт, а имя файла - 8, и можно было приколоться и задать имя файла восемью словами RANDOMIZE.

Napilnik ★★★★★
()
Последнее исправление: Napilnik (всего исправлений: 1)
Ответ на: комментарий от rezedent12

:) шутка за 640

а тебя не смешит ЖАБА в качестве стандартной библиотеки в Андроиде, например ? Бейсик в то время был языком де-факто. Его в ПЗУ шили. И он там реально роль bios api выполнял.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от lenin386

это всё можно, но бейсик надо сравнивать с бейсиком. Сравнение бейсика и машинного кода по скорости - не корректно.

Бейсик 48 сравнивать корректно, потому что он был операционной системой персонального компьютера спектрум, и в его обязанности как раз входила загрузка ПО, наложение патчей перед использованием и запуск.

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

Причём тут это. Сравнение ЯВУ и машинного кода некорректно в любом случае. Б.Г. тоже мог вставочки сделать, и вызывать их, но он этого не сделал, и его код портабелен, красив и не прибит ржавыми гвоздями к платформе.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

В udg по умолчанию лежат квадратики всякие и линии, а не буквы.

Так на клавиатуре включаешь графический режим и пишешь вроде как буквами, но те буквы хоть и выглядят также, но это другой комплект, его можно перерисовать и основной это не затронет.

И длина имени файла - 10 символов.

С досом перепутал - там 8 символов до точки.

Napilnik ★★★★★
()
Ответ на: комментарий от lenin386

Причём тут это. Сравнение ЯВУ и машинного кода некорректно в любом случае.

Это как? Конкретный бейсик работает с машинным кодом в плотной связке, но скорость его работы нужно считать исключительно в сферических обезьянках, без машинного кода?

Б.Г. тоже мог вставочки сделать, и вызывать их, но он этого не сделал, и его код портабелен, красив и не прибит ржавыми гвоздями к платформе.

Ну да, счас запустим его код на спектруме с 48 бейсиком - то то он на другой платформе заработает, обхохочешься.

980 SAMPLES$="NO"
Если это не ржавые гвозди то что? Где при объявлении новой переменной ключевое слово «LET»? Нетранспортабельное гуано у Б.Г. На его бейсике сходу писать без чтения талмудов невозможно, где уж выполнить где угодно.

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

Где при объявлении новой переменной ключевое слово «LET»?

оно не обязательно.

счас запустим его код на спектруме с 48 бейсиком

синклеровский бейсик не соответствует стандартам. И очень кастрирован.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

Но режимов - несколько. И все их можно использовать в комбинации.

Napilnik ★★★★★
()
Ответ на: комментарий от lenin386

Где при объявлении новой переменной ключевое слово «LET»?

оно не обязательно.

Как это не обязательно, если без ввода соответствующего ключевого слова ОС будет ожидать ввода определённой команды а не переменной? То «упрощение» которое ты предлагаешь сожрёт кучу лишних ресурсов при интерпретации программы, а значит для не торможения требует более быстрого железа.

синклеровский бейсик не соответствует стандартам.

Какие общие стандарты? Почти у каждого типа компьютеров был собственный стандарт на бейсик. Какое отношение стандарты бейсика компьютера А имеют к стандартам компьютера Б?

И очень кастрирован.

Настолько кастрирован что в использовании круче баша и позволяет писать не тормозные игры с графикой, по которым и не заметно что они на бейсике.

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

То «упрощение» которое ты предлагаешь сожрёт кучу лишних ресурсов при интерпретации программы, а значит для не торможения требует более быстрого железа.

и что?) вот сейчас все пишут на clojure - между тем оно даже в хорошем случае эдак в 5-10 медленней чистой java (upd: переборщил с оптимизмом, в 20 точно), а в позапрошлом году мы смаковали какой-то кусок на clojure который одним небольшим хинтом ускорялся в 1000 раз. Но пишущие на этом люди утверждают, что читаемость и красота важнее скорости исполнения

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от Napilnik

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

насчёт обязательности let https://ru.wikipedia.org/wiki/Бейсик#.D0.9E.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0....

использование вставок на машинном коде - это не бейсик и не показатель его крутизны. Это просто машинный код.

lenin386 ★★★★
()
Ответ на: комментарий от stevejobs

То «упрощение» которое ты предлагаешь сожрёт кучу лишних ресурсов при интерпретации программы, а значит для не торможения требует более быстрого железа.

и что?) вот сейчас все пишут на clojure - между тем оно даже в хорошем случае эдак в 5-10 медленней чистой java (upd: переборщил с оптимизмом, в 20 точно), а в позапрошлом году мы смаковали какой-то кусок на clojure который одним небольшим хинтом ускорялся в 1000 раз. Но пишущие на этом люди утверждают, что читаемость и красота важнее скорости исполнения

Ну так пусть пишут код для микроконтроллеров и пусть весь мир подождёт пока тормозная программа выполнится. Хотя, вместо микроконтроллеров можно использовать макбуки, и пусть все платят - красота спасёт мир:) Насчёт улучшения читаемости путём сокращения ключевых слов предваряющих текст я не согласен. Вот в баше всё в кучу, и в результате нужно разбираться что там что экранирует и схавает интерпретатор команду или похерит посчитав некорректной.

Napilnik ★★★★★
()
Ответ на: комментарий от lenin386

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

Половые проблемы ОС не печатающие часть управляющих символов. И там не все символы заменять надо а второй комплект хранящийся в памяти. В крайнем случае, перед редактированием в спектруме, можно их поменять чтобы видеть что редактируешь.

насчёт обязательности let https://ru.wikipedia.org/wiki

Там современными называют бейсики произошедшие от мелкомягкого диалекта. Просто их платформа выпускается дольше, вот и вся современность.

использование вставок на машинном коде - это не бейсик и не показатель его крутизны. Это просто машинный код.

Ты ещё скажи что дёргание сишных функций питоном это не питон и не показатель его крутизны - смысл будет тот же. Ну и где требования писать графические и видео-редакторы на чистом питоне, без дёргания машкодов, чтобы замерить его производительность в чистом виде?

Napilnik ★★★★★
()
Последнее исправление: Napilnik (всего исправлений: 1)

Ладно, знатоки. Скажите лучше, куда делись строки до 940 и что там за код дравается с 1790 по 1880 строку? писидосовый бейсик имел ограничение на номера строк?

И как с современными бейсиками, так просто подравать и побипать можно?

Deleted
()
Ответ на: комментарий от lenin386

а тебя не смешит ЖАБА в качестве стандартной библиотеки в Андроиде, например ?

Не смешит, а просто ввергает в уныние.

Бейсик в то время был языком де-факто.

А сейчас он не язык по факту?

Его в ПЗУ шили. И он там реально роль bios api выполнял.

Костыли.

rezedent12 ☆☆☆
()
Ответ на: комментарий от Deleted

Ладно, знатоки. Скажите лучше, куда делись строки до 940 и что там за код дравается с 1790 по 1880 строку? писидосовый бейсик имел ограничение на номера строк?

Ты вообще знаешь для чего нумерация строк в нём нужна была? И что такое процесс редактирования и отладки программы?

Если ответишь на эти вопросы, то узнаешь ответ на свой вопрос.

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

В каких-то бейсиках было ограничение по нумерации. Но петушкам-то это неизвестно, вот и кукарекают.

Deleted
()
Ответ на: комментарий от rezedent12

Костыли.

Компьютер в то время покупали не для ютубчика и не для контактика. И даже не для игоря. Компьютер в то время покупался для программирования. Бейсик - это тогда было модно и молодёжно, и оно было не столько язык программирования, сколько язык диалога с машиной.

А сейчас он не язык по факту?

Нет, сейчас эту нишу заняла Жава.

lenin386 ★★★★
()
Ответ на: комментарий от Deleted

Скажите лучше, куда делись строки до 940 и что там за код дравается с 1790 по 1880 строку?

Не знаю, куда они делись, но полагаю, там был какой-то заремленый текст и сведения ою авторских правах и лицензиях. История версий, всё такое. Драваются там спрайты. Потом в оперативу.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от Napilnik

Ну и где требования писать графические и видео-редакторы на чистом питоне, без дёргания машкодов, чтобы замерить его производительность в чистом виде?

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

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Мне были интересны, в принципе, строки 1860, 1870 и 1880. Там кавычки открываются и не закрываются. Хотя, сомневаюсь, что кто-то помнит что это за финт. И самому лень копаться.

Deleted
()
Ответ на: комментарий от Deleted

В каких-то бейсиках было ограничение по нумерации. Но петушкам-то это неизвестно, вот и кукарекают.

«В каких то...»

16 битное целое со знаком.

Ты дурак.

rezedent12 ☆☆☆
()
Ответ на: комментарий от lenin386

Костыли.

Компьютер в то время покупали не для ютубчика и не для контактика. И даже не для игоря. Компьютер в то время покупался для программирования. Бейсик - это тогда было модно и молодёжно, и оно было не столько язык программирования, сколько язык диалога с машиной.

Как это меняет костыльность такого подхода? (Не понятно как вконтактий вообще пересекается с обсуждаемой темой)

А сейчас он не язык по факту?

Нет, сейчас эту нишу заняла Жава.

(рука лицо). «Де факто» - означает «по факту». BASIC - язык программирования, это факт. JAVA - язык программирования, это факт. Ты наверно мыслил «стандарт по факту», но даже так это нигде не стандартизировано какой язык считать кошерным для массовых устройств. Правильно было бы сформулировать «наиболее популярный язык», а не «язык де факто». Потому что фраза звучит не понятно и в своём буквальном понимании означает «Это язык программирования - это факт.». То есть ни о чём не говорит.

(Тут должно быть много ненависти по отношению к кретивщикам и их манере речи уничтожающей язык). Пожалуйста, не употребляй заимствования хотя бы правильным образом.

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

Как это меняет костыльность такого подхода?

В чём костыльность-то ? Ты хотел подпрограммы по фиксированному адресу - получи. Что не так-то ?

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от lenin386

Ты хотел подпрограммы по фиксированному адресу - получи. Что не так-то ?

Я такого не хотел.

rezedent12 ☆☆☆
()
Ответ на: комментарий от lenin386

Насчёт знака ты погорячился, и нулевой строки нет.

Возможно. Не проверял.

rezedent12 ☆☆☆
()
Ответ на: комментарий от lenin386

А на счёт того, что я дурак нет, да? Ну всё, капец тебе, ленин, экскаватор к твоему мавзолею уже выслан:)

На самом деле в каких-то древних диалектах было разграничение, «нижние» номера считались номерами самого бейсика или как-то так. Вот это я и надеялся услышать от уважаемой публики. А может и не бейсик... Хотя, скорее всего бейсик.

Deleted
()
Ответ на: комментарий от lenin386

А каком таком ? Компилируемых бейсиков для Спектрума нет.

Было как минимум два. Точных названий не помню. В памяти сохранилось, что рантайм был около 16Кб вне зависимости от размеров программы.

Известна ровно одна игра, созданная на сим продукте - «Durak». Реакция на клавиши тормознутая, спрайты двигаются мееедленно, и вообще у Б.Г. уровень сильно повыше.

У вас как обычно - «Я суслика не вижу, значит суслики не существуют».

это технодемка для демонстрации возможностей языка. Что не так ?

Так это еще и технодемка для демонстрации возможностей? Тогда вообще жесть.

Спектрум не ограничивал разработку только бейсиком.

Он ограничивал разработки только ассемблером. На любом ЯВУ, для спектрума программировать было невозможно. Точнее, программировать-то можно, но результат не впечатлял.

Силюсь понять, вы опровергаете мою мысль или подтверждаете ее?

andreyu ★★★★★
()
Ответ на: комментарий от lenin386

Ну, дорогой товарищ, ты просто забыл, что такое Синклер, или не знал никогда. 15 FPS - это на данной платформе немыслимое достижение, это суперплавно, доступно для демки м.б., не для игры.

Полная чушь. Сколько прерываний в секунду генерировалось, столько кадров и было. А задача программиста уложиться в одно прерывание, дабы не потерялась плавность.

Обычно там в играх FPS около 5.

Можно посмотреть на список этих обычных игр с fps около 5?

Это при программировании на ассемблере, А бейсик тебе даст дробное число FPS. Такой вот Z80 велик и ужасен.

Чего только люди не придумают для оправдания кривых рук.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

У вас как обычно - «Я суслика не вижу, значит суслики не существуют».

Ну, какбэ это. Есть в философии примерно такое утверждение. А вот утверждение «Я суслика не вижу, значит суслики существуют» - это уже ближе к религии или даже ещё кое к чему.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от rezedent12

Ты взялся за старое?

ВАСИК был шеллом ПК, смотри ю-туп, там старый пертун (по меркам ЛОРа) 8битный_гай все раскладывает по полочкам.

Причем васик был очень прост и нетребователен к ресурсам.
Такая себе диалоговая оболочка.

Deleted
()
Ответ на: комментарий от rezedent12

Пожалуйста, не употребляй заимствования хотя бы правильным образом.

И эти люди запрещают нам ковыряться в носу. Что хотел сказать афтар? %)

Nervous ★★★★★
()
Ответ на: комментарий от Deleted

Такая себе диалоговая оболочка.

В качестве диалоговой оболочки, да он не плох.

Но в качестве набора системных функций - это костыль.

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

ну так ничего же кроме васика в ПЗУ и не было.
ну может кто там мониторами баловался, для начальной загрузки.

но если у тебя шелл — васик, то куда деваться?
вот и простота.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.