Подтвердить что ты не робот

Как скопировать и скомпилировать приложение Amiga?

Я хотел бы запрограммировать приложение для Amiga, просто для удовольствия!

Пожалуйста, может кто-нибудь опубликовать шаг за шагом, основываясь на следующем:

  • То, какие инструменты программирования я должен использовать, есть ли уже установленные?
  • Я ограничена текстовыми редакторами или доступны ли IDE и инструменты для отладки?
  • Если инструменты уже не установлены, как это сделать? Есть ли свободные?
  • Я бы хотел изучить традиционный язык Amiga, не могли бы вы рекомендовать его?
  • Что я должен использовать для компиляции языка, который вы предлагаете?
  • Пожалуйста, можете ли вы предложить инструменты, которые я могу использовать для отладки предлагаемого языка?
  • Есть ли какие-нибудь библиотеки, о которых я должен знать, например, библиотеки GUI?

Некоторые примечания...

  • Я запускаю Workbench 3.1 из эмулятора WinUAE.
  • Из Workbench я могу получить доступ к файлам с моего жесткого диска Windows.
  • Я хотел бы скомпилировать и скомпилировать его из Workbench, если это возможно.
  • Я запускаю WinUAE в режиме A1200, не уверен, что это важно.
  • Там уже установлено приложение MEmacs.
  • Я хорошо знаю С++ и С#, возможно, есть аналогичный язык Amiga.
  • Я знаю, что вы можете писать код с C и С++, но я хочу изучить новый язык.

Обновление:

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

4b9b3361

Ответ 1

Примечание: Пожалуйста, не откладывайте ответ; это постоянный поток.
 Спасибо за все ваши ответы: -)

Прошло несколько дней, выяснив это. Эти инструкции предназначены для AMOS Pro, не стесняйтесь либо публиковать свой собственный ответ на другом языке, либо обновлять этот ответ (это сообщество wiki).

Инструкции Workbench:

  • Установите Amiga Forever 2008 (плюс версия включает Workbench 3.1).
  • Используйте Amiga Forever или WinUAE в качестве эмулятора (я предпочитаю WinUAE).
  • Установите Amiga Workbench 3.1 на собственный жесткий диск.
  • Если вы используете WinUEA, просто используйте конфигурационный файл af_3x (установленный с Amiga Forever).
  • Ознакомьтесь с Workbench и оболочкой Amiga (см. ресурсы).

Инструкции AMOS Pro:

AMOS Pro - это IDE, которая немного напоминает что-то от старого взлома хакера, плюс вы можете даже включить эти раздражающие звуки, которые вы слышите в фильмах. Разве это не здорово? Во всяком случае, на пути к...

  • Приобретите диски для AMOSPro (всего 6 дисков в v2.00).
  • Вставьте диск AMOSPro_System и установите AMOS Pro в соответствии с инструкциями.
  • После установки откройте каталог AMOS_Pro и запустите AMOSPro.
  • Если вы не знаете AMOS, узнайте некоторые основы кодирования AMOS.
  • Тип: Print "Hello world!"
  • Нажмите F1 для запуска (делает то же самое, что красный треугольник справа от логотипа AMOS).
  • Rejoyce, поскольку "Hello world!" появляется в белом тексте на оранжевом фоне.
  • TODO: Узнайте, как скомпилировать это как двоичный файл (?), который можно запустить из Workbench.

AMOS Pro: Привет, мир! <А3 >

Вот еще несколько AMOS-кода для удовольствия.

Input "Who are you? ";S2$
S1$="Oh, hello "
S3$=", nice to see you!"
Print S1$+S2$+S3$

Советы Amiga:

  • [Left Amiga] - клавиша Windows, [Right Amiga] - "Контекстное меню" .
  • Нажмите [Left Amiga] + A для переключения между AMOS Pro и Workbench.
  • Британский [@] ключ генерирует символ # или @(shift).
  • Британский ключ [~ #] создает либо\или | (сдвиг).
  • Британский символ [¬ ] key produces either the ' or ~ (shift) or (alt).

Ресурсы:

* Не обязательно при использовании WinUAE Amiga Forever config (af_3x).

TODO:

Я попытаюсь выполнить инструкции для каждого языка следующим образом.

  • Драко (благодаря avery-payne)
  • Amiga E (спасибо Paul Ruane)
  • SAS/C (спасибо Хэнку)
  • Modula-2 (спасибо JasonTrue)
  • ARexx (спасибо Nik)

Ответ 2

Это должен быть самый странный и в то же время довольно вдохновляющий вопрос.

Простите меня, как разработчика ex-Amiga, я отказался от платформы. Идея написать что-то сейчас для меня довольно абстрактна.

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

Инструменты программирования; либо 68k-ассемблер, либо C с SAS/C

Лично я всегда использовал CygnusEd для редактирования, и я не знаю никаких IDE. Я думаю, что SAS/C имеет какую-то туманную среду IDE, но я не могу быть уверен, что я использовал только отладчик исходного уровня (для меня это очень новая вещь).

В отношении бесплатных инструментов я участвовал в создании GCC и библиотек на Amiga, но я понятия не имею, что случилось с этим проектом. Вероятно, что-то на моем A3000 в сарае, но мало причин, чтобы узнать.

Единственным традиционным языком Amiga является встроенный ассемблер 68k. Но вы можете многое сделать с C, чтобы вы подробно прочитали 15 "RKM.

Кстати, Амос был мусором. Игрушка в свое время.

Чтобы отлаживать, я использовал только SAS/C (или Lattice, как это было официально известно).

Есть ли какие-нибудь библиотеки, о которых я должен знать, например, библиотеки графического интерфейса?

Много. Чтобы эффективно кодировать Amiga, вам действительно нужно научиться тому, как много чего связано с слоями операционной системы. В то время это было самым большим препятствием до Интернета, когда информация и знания были намного сложнее прийти.

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

Самый похожий язык Амиги для С++ - это C, и знание C лишь немного вас уловит, так как дьявол находится в деталях системных вызовов/библиотек.

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

Амос все еще мусор, даже сейчас.

Ответ 3

Конечно, вы должны использовать эмулятор - современный компьютер, работающий в ОАЭ, - это мир, отличный от A1200. Вы можете работать с хорошим высоким разрешением экрана, а производительность процессора на порядок выше (если вы хотите, чтобы она была быстрее, а это, конечно, все факультативно). О, и вы можете фактически получить доступ к аппаратным средствам ПК через библиотеки Amiga, предоставленные эмулятором, если хотите.

Справочные руководства Amiga - это место для запуска, если вы хотите нажать "оборудование". Devpac был сборщиком выбора для большинства людей.

Было несколько компиляторов C и, по крайней мере, один компилятор С++, SAS/C. Вот ссылки на несколько Компиляторы Amiga

Если вы хотите изучить новый язык, тогда Modula-2 может быть вариантом, но на самом деле C был языком выбора для большинства людей. Сама ОС была написана на C (по крайней мере, начиная с 2.0 и выше - BCPL до этого), а библиотеки имеют заголовки C, предназначенные для их доступа.

Язык ассемблера был очень популярен также для игр и демонстраций, и я могу лично поручиться за то, что это очень весело. Хорошие книги для этого:

  • Справочное руководство для программистов Motorola для 68k-68040, наиболее полная книга по набору инструкций. Доступно бесплатно для загрузки здесь
  • Справочное руководство по аппаратной части Amiga, для получения полного списка всех аппаратных регистров, способов их работы и способов их использования. Старые копии для продажи здесь

Другим интересным вариантом может быть довольно мощный ARexx скриптовый язык. Вы могли бы сделать довольно много с этим, например, управлять другими приложениями через их "порт ARexx", чтобы получить доступ к их функциям. Гораздо более высокий уровень, чем другие варианты, но довольно легко заставить его делать интересные вещи.

Ответ 4

Существует Amiga Developer CD 2.1, который содержит все необходимое: все SDK (включая классические для 1.3, 2.0 и 3.1 и более новый для 3.5, который также может быть использован на 3,9, насколько мне известно) и подходящий 68k C-компилятор.

Он по-прежнему доступен для некоторых вендоров, и я помню, как писал с ним кое-что. Это C, поэтому он должен быть довольно прямолинейным.

Нет поддержки AmigaOS4, но, опять же, Workbench 3.1 была последней реальной AmigaOS.

Ответ 5

Не забывайте ARexx, который поставляется с большинством установок Amiga. Это действительно замечательный язык, удивительно читаемый и простой в написании. В большинстве существующих приложений на Amiga есть крючки для ARexx, так что вы можете легко и эффективно собирать большие приложения из многих более мелких. Одним из моих любимых аспектов ARexx является его универсальная обработка строк. Несмотря на то, что это интерпретируемый язык, это удивительно быстро, особенно если вы хорошо использовали его связь с другими программами, чтобы сделать для него материал низкого уровня.

Ответ 6

Именно то, что инструменты программирования я следует использовать, есть ли уже установлен?

Базовые и AREXX были единственными языками, которые были предварительно упакованы, и даже тогда BASIC состоял из двух диалектов (ABasic и AmigaBasic). Вы хотите посмотреть на коллекцию Fred Fish или AmiNet для получения дополнительных инструментов.

Для покупки коммерческих компиляторов попробуйте компакт-диск разработчика Amiga, который доступен в Vesalia Online, хотя могут быть и другие.

Я ограничен текстовыми редакторами или есть ли IDE и инструменты для отладки доступны?

Вы в значительной степени возвращаетесь к циклу edit-save-compile-link-run-crash-whycrash-doh-fixit-edit, IDE не всегда доступны. Я бы посмотрел на что-то вроде DME (Dillon Macro Editor), также доступный в коллекции Fred Fish или AmiNet (http://wuarchive.wustl.edu/pub/aminet/). Он предоставляет некоторые базовые средства для создания макросов, которые помогут.

Если инструменты уже не установлены, как это можно сделать? Есть ли свободные?

Да. Опять же, Фред Фиш, или AmiNet.

Я хотел бы изучить традиционную Amiga язык, вы могли бы порекомендовать его?

Драко. Это было написано Крисом Грей. Это немного "примитивный", но он должен предоставить вам все, что вам нужно, включая правильные привязки и константы. Язык компилируется и работает со скоростью, сравнимой с C.

Что я должен использовать для компиляции язык, который вы предлагаете?

Manx или Lattice C были компиляторами C того времени (если вы можете найти их, удачи), а Manx стремится к 16 бит и решетке к 32 бит. Было несколько крошечных компиляторов на основе C. Есть 68k сборка (набор инструкций neato IMHO), Драко, паскаль-диалект, возможно Modula-2, а также DICE (бесплатный компилятор C, но вы ищете что-то еще)...

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

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

Есть ли библиотеки, которые я должен таких как библиотеки GUI?

Все библиотеки встроены. intuition.library - это имя библиотеки, которая обеспечивает базовую поддержку окон. gfx.library предоставит вам примитивы высокого уровня, а слои .library предоставят вам поддержку для предоставления уникального подхода к графике с использованием битовой плоскости. Прежде чем вы закроете это, вы захотите посмотреть exec, который был сердцем и душой ОС. Он обеспечивает упреждающую многозадачность, встроенные связанные примитивы списков, примитивы передачи сообщений, примитивы ввода-вывода и т.д. И был сильно повторно использован во всей системе. Если вы понимаете exec, вы поймете, что внутренняя среда нижнего уровня остальной системы.

Имейте в виду, что состояние системы будет больше похоже на встроенную игровую консоль, так как не будет защиты памяти, поддержки SMP и т.д. Все эти вещи не могут быть легко добавлены из-за конструктивных ограничений, которые были введены как раз перед отправкой первой Амиги. Я, кажется, помню, что проблема была связана с тем, как он будет обрабатывать несколько процессоров и защиту памяти, учитывая, что все микроядро работает в режиме непривилегированного ЦП.

И последнее, но не менее важное: магическое число - 4, это адрес памяти. Этот адрес является указателем на exec (который является не только микроядром, но и библиотекой), и с ним вы можете загрузиться в остальную систему через вызовы OpenLibrary(). Библиотеки, которые не могут быть расположены, будут автоматически загружаться с диска через AmigaDOS. Так как Amiga рассматривала проблему портативного кода - весь код был написан с использованием смещений в указатель на "базу" библиотеки, и не было никаких фиксированных адресов, кроме адреса 4. В каждой библиотеке есть таблица вызовов из 6 байтов на запись (инструкция перехода), которая затем переносит векторы в правильную точку входа. Было легко написать собственную библиотеку, если у вас был правильный формат для вашего "заголовка". Драйверы устройств "заимствовали" структуру библиотек и использовали одну и ту же концепцию для предоставления обработчиков ввода-вывода по умолчанию.

Извините, если имена немного ошибочны, эта информация не соответствует моей голове почти 20 лет назад...

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

Некоторые примечания...

Я запускаю Workbench 3.1 изнутри эмулятор WinUAE.

Круто. Вы настроены. Это был последний великий "классический" верстак.

Из Workbench я могу получить доступ к файлам с моего жесткого диска Windows.

Это поможет, но вы захотите пойти "на родной" как можно больше.

Я хотел бы закодировать и скомпилировать его из Workbench, если возможно.

См. выше.

Я запускаю WinUAE в режиме A1200, а не если это имеет значение.

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

Там уже приложение установленный MEmacs.

Попробуйте, если Emacs - это ваша вещь... иначе я бы посмотрел на некоторые из собственных инструментов.

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

Тогда Драко для тебя. Он имеет большинство привязок для библиотек, компилируется чисто и официально "мертвый" язык, учитывая, что он привязан к конкретной аппаратной платформе. Очень Amiga-специфический.:)

Удачи! Пусть все знают, как получилось...

Ответ 7

Эмуляторы

Операционные системы

  • AROS (попытка вернуть к жизни AmigaOS)

Ресурсы программирования

Ответ 8

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

AMOS

Вот и все.

Ответ 9

http://en.wikipedia.org/wiki/AmigaE

Это было похоже на C, но без указателей. У меня все еще есть мои книги API системы где-то дома.

Ответ 10

Эй, если вы хотите заниматься программированием Amiga для развлечения, есть НОВАЯ ПОМОЩЬ, которая будет качать ваш мир:

Голливуд 4.5 из Airsoft Softwair

Это очень простой и забавный язык, в основном предназначенный для мультимедийных презентаций. Это язык сценариев, основанный на синтаксисе Lua, но он также напоминает мне немного хорошего старого Amos из-за этого многих и мощных функций gfx и звука. Он очень прост в использовании, поставляется с отличной документацией и многими примерами. Кроме того, он является мультиплатформенным, интерпретатор/компилятор работает на всех платформах Amiga (включая OS 3.1, AROS, MorphOS...), а готовые скомпилированные скрипты даже без труда работают как на Windows, так и на Mac OS X!

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

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

http://dl.dropbox.com/u/2920309/BEF-win32.zip

Ответ 11

Я был программистом Amiga некоторое время и использовал только 68k Assembly Language. Справочники Amiga Reference были библиями и незаменимы. Что касается забавных программ, я подозреваю, что большинство из них были убиты на Amiga... просто найдите любую идею, и я уверен, что вы найдете существующий фрагмент кода.

Игра с блиттером всегда была для меня забавной, но в той области, в которой я работал, в любом случае.

Ответ 12

Я уверен, что вы можете найти эмулятор, как говорили другие люди, но я хотел добавить, что Modula-2 довольно популярен среди программистов Amiga.

Ответ 13

AMOS, как уже упоминалось ранее, является довольно приличным базовым диалектом, хотя я бы, вероятно, взглянул на Blitz Basic. Или прямое 68k сборка, используя, конечно, Asm-ONE. Asm-One - это среда IDE, просто не ожидайте поддержки инструментов уровня Visual Studio.

SAS/C было моим оружием выбора на платформе Amiga, хотя есть и порты других компиляторов C.

Ответ 14

Шаг первый, купите один из эти.

Шаг второй, купите один из эти и установите его.

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

Шаг третий, получите до 88 миль в час.