Как мне написать код и скомпилировать приложение Amiga?[закрыто]

StackOverflow https://stackoverflow.com/questions/705863

  •  22-08-2019
  •  | 
  •  

Вопрос

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

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

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

Некоторые вещи, которые следует отметить...

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

Обновлять:

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

Это было полезно?

Решение

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

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

Инструкции по рабочему столу:

  1. Установите Amiga Forever 2008 (версия Plus включает Workbench 3.1).
  2. В качестве эмулятора используйте Amiga Forever или WinUAE (я предпочитаю WinUAE).
  3. Установить Amiga Workbench 3.1 на специальный жесткий диск.
  4. Если вы используете WinUEA, просто используйте файл конфигурации af_3x (устанавливается вместе с Amiga Forever).
  5. Ознакомьтесь с Workbench и Amiga Shell (см. Ресурсы).

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

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

  1. Приобретите диски для AMOSPro (всего в версии 2.00 6 дисков).
  2. Вставьте диск AMOSPro_System и установите AMOS Pro по инструкции.
  3. После установки откройте каталог AMOS_Pro и запустите AMOSPro.
  4. Если вы не знаете АМОС, изучите некоторые основы кодирования AMOS.
  5. Тип: Print "Hello world!"
  6. Нажмите F1, чтобы запустить (осуществляет то же самое, что и красный треугольник справа от логотипа AMOS).
  7. Радуйтесь, как "Hello world!" отображается белым текстом на оранжевом фоне.
  8. ДЕЛАТЬ: Узнайте, как скомпилировать это как двоичный файл (?), который можно запустить из Workbench.

АМОС Про:Привет, мир!http://img7.imageshack.us/img7/7867/001tpe.png

Вот еще немного кода AMOS для развлечения.

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

Советы Амиги:

  • [Левая Амига] — это Окна ключ, [Правая Амига] — это Контекстное меню ключ.
  • Нажмите [Left Amiga]+A, чтобы переключиться между AMOS Pro и Workbench.
  • Британская клавиша [@ '] создает символ # или @ (сдвиг).
  • British [~ #] Key производит либо , либо | (сдвиг) персонаж.
  • Британский [¬ ] key produces either the ' or ~ (shift) or (альтернативный) персонаж.

Ресурсы:

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

ДЕЛАТЬ:

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

Другие советы

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

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

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

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

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

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

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

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

Для отладки я использовал только SAS/C (или Lattice, как его формально называли).

Существуют ли какие-либо библиотеки, о которых мне следует знать, например библиотеки GUI?

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

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

Язык Amiga, наиболее похожий на C++, — это C, и знание C даст вам лишь небольшую часть пути, поскольку дьявол кроется в деталях системных вызовов/библиотек.

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

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

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

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

Было несколько компиляторов C и по крайней мере один компилятор C++ — SAS/C.Вот ссылки еще на несколько Компиляторы Амиги

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

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

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

Еще одним забавным вариантом может быть довольно мощный ARexx язык сценариев.С его помощью вы можете многое сделать, например, управлять другими приложениями через их «порт ARexx», чтобы получить доступ к их функциям.Гораздо более высокий уровень, чем другие варианты, но его довольно легко заставить делать интересные вещи.

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

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

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

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

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

Basic и AREXX были единственными языками, которые поставлялись в предустановленном виде, и даже тогда BASIC существовал в двух диалектах (ABasic и AmigaBasic).Дополнительные инструменты можно найти в коллекции Фреда Фиша или в AmiNet.

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

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

Вы в значительной степени вернулись к циклу «редактирование-сохранение-компиляция-ссылка-запуск-сбой-почему-сбой-до-исправление-редактирование», IDE недоступны.Я бы посмотрел что-нибудь вроде DME (редактор макросов Диллона), также доступное в коллекции Фреда Фиша или в AmiNet (http://wuarchive.wustl.edu/pub/aminet/).Он предоставляет некоторые базовые возможности макростроительства, которые могут помочь.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Некоторые вещи, которые следует отметить...

Я использую Workbench 3.1 из эмулятора Winuae.

Прохладный.Вы готовы.Это был последний великий «классический» верстак.

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

Это поможет, но вам захочется как можно больше стать «родным».

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

См. выше.

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

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

Уже установлено приложение под названием Memacs.

Попробуйте, если вам нравится Emacs... в противном случае я бы посмотрел на некоторые встроенные инструменты.

Знайте C ++ и C# очень хорошо, может быть, есть похожий язык Amiga.Я знаю, что вы можете кодировать с C и C ++, но я хочу выучить новый язык.

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

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

Эмуляторы

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

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

Эй, если ты хочешь заниматься программированием для Amiga ради развлечения, есть НОВЫЙ часть программного обеспечения, которая потрясет ваш мир:

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

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

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

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

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

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

АМОС

Вот и все.

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

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

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

Игра с блиттером всегда доставляла мне удовольствие, но я все равно работал в этой области.

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

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

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

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

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

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

Шаг третий: разгонитесь до 88 миль в час.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top