跳轉到內容

AROS/使用者/常見問題

華夏公益教科書
AROS 華夏公益教科書的導航欄
AROS 使用者
AROS 使用者文件
AROS 使用者常見問題
AROS 使用者應用程式
AROS 使用者 DOS Shell
AROS/使用者/AmigaLegacy
AROS 開發文件
AROS 開發者文件
從 AmigaOS/SDL 移植軟體
Zune 初學者指南
Zune .MUI 類
SDL 初學者指南
AROS 開發者構建系統
特定平臺
AROS x86 完整系統 HCL
AROS x86 音訊/影片支援
AROS x86 網路支援
AROS 英特爾 AMD x86 安裝
AROS 儲存支援 IDE SATA 等
AROS Poseidon USB 支援
x86-64 支援
摩托羅拉 68k Amiga 支援
Linux 和 FreeBSD 支援
Windows Mingw 和 MacOSX 支援
Android 支援
Arm 樹莓派支援
PPC Power Architecture
其他
AROS 公共許可證

AROS 是什麼?

[編輯 | 編輯原始碼]

有關維基百科的描述,請檢視 此處。有關詳細描述,請檢視 此處

[編輯 | 編輯原始碼]

歐洲法律規定,對軟體進行逆向工程以實現互操作性是合法的。它還規定,分發透過此類技術獲得的知識是非法的。基本上,這意味著你可以反彙編或資源任何軟體來編寫相容的軟體(例如,反彙編 Word 來編寫一個程式,將 Word 文件轉換為 ASCII 文字是合法的)。

當然也存在限制:如果可以透過其他方式獲得資訊,你不能反彙編軟體。你也不得告訴他人你學到的東西。因此,“Windows 內部”這樣的書籍是非法的,或者至少法律地位不明確。

由於我們避免使用反彙編技術,而是使用常見的可用知識(包括程式設計手冊),這些知識不屬於任何 NDA,因此上述內容不直接適用於 AROS。這裡的關鍵是法律的意圖:編寫與其他軟體相容的軟體是合法的。因此,我們認為 AROS 受法律保護。

不過,專利和標頭檔案是一個不同的問題。我們可以在歐洲使用專利演算法,因為歐洲法律不允許對演算法進行專利保護。但是,在美國獲得專利的演算法使用的程式碼不得進口到美國。AmigaOS 中的專利演算法示例包括螢幕拖動和選單的工作方式。因此,我們避免以完全相同的方式實現這些功能。另一方面,標頭檔案必須相容,但與原始檔案儘可能不同。

為了避免任何麻煩,我們向 Amiga Inc. 申請了官方許可。他們對這項工作持積極態度,但對法律影響非常擔憂。我們建議你將 Amiga Inc. 沒有向我們傳送任何停止和停止函作為積極訊號。不幸的是,除了雙方良好的意願之外,還沒有達成任何具有法律效力的協議。

你們不能實現功能 XYZ 嗎?

[編輯 | 編輯原始碼]

嗯,

  1. If it was really important, it probably would be in the original OS. ;-)
  2. Why don't you do it yourself and send a patch to us?

這種態度的原因是,周圍有很多人認為他們的功能是最重要的,如果該功能沒有立即內建,AROS 就沒有未來。我們的立場是,AmigaOS(AROS 旨在實現)可以執行現代作業系統應該執行的所有操作。我們看到 AmigaOS 有可以改進的地方,但如果我們這樣做,誰來編寫作業系統的其餘部分?最終,我們會對原始 AmigaOS 進行很多改進,這將破壞大多數可用軟體,但毫無價值,因為作業系統的其餘部分將會丟失。

因此,我們決定阻止在作業系統中實現任何主要新功能,直到它或多或少完成。我們現在越來越接近這一目標,並且 AROS 中已實現了一些在 AmigaOS 中不可用的創新。

AROS 與 AmigaOS 的相容性如何?

[編輯 | 編輯原始碼]

非常相容,它允許你執行 AROS(如果你願意,可以在你的經典 Amiga 硬體上執行),並且允許你執行 AROS 和大多數經典 Amiga 程式、遊戲和演示,只要它們是相容的,請檢視相容性列表 此處

二進位制檔案:我們預計 AROS 將在 68k 系列 Amiga 硬體上執行現有軟體,不會出現問題。在其他硬體上,可以執行現有軟體透過整合的 Amiga 模擬器(“emumiga”或“Janus-UAE”),或者必須重新編譯程式碼(見下文)。

原始碼:將程式從 AmigaOS 移植到 AROS 目前主要是一個重新編譯的問題,偶爾需要進行一些調整。當然,有些程式不適用,但這適用於大多數現代程式。我們將提供一個預處理器,你可以在程式碼上使用它,它將更改可能導致 AROS 崩潰的任何程式碼,並/或警告你有關此類程式碼。有關將軟體移植到 AROS 的更多資訊,請參閱 Aros/Developer/Porting_software

為什麼你們只針對 3.1 的相容性?

[編輯 | 編輯原始碼]

嗯,說實話,這是一個誤解。基本開發旨在實現“至少”在 AmigaOS v3.1 中使用的 API。但是,在開發過程中,由於 AmigaOS 3.1 不支援必要的功能,因此需要對計劃進行一些修改。最終結果是功能集介於 OS 3.1 和 3.9 之間,但是 3.1 仍然是我們目標的_基礎_。

還有其他開發不符合此框架,因為它們不涉及任何作業系統的 API,例如 HIDDS 和實現和支援它們的相應技術。

為此,開發人員可以自由地改進底層的 AmigaOS 技術,只要他們能夠在幾乎不需要任何努力的情況下繼續支援現有的 AmigaOS 功能和 API。

AROS 可用於哪些硬體架構?

[編輯 | 編輯原始碼]

目前,AROS 作為原生和託管版本(在 Windows、Linux、FreeBSD 和 NetBSD 下)適用於 i386 架構(即 IBM PC AT 兼容克隆),並且作為託管版本(Linux 和 NetBSD)適用於 m68k 架構(例如 Amiga、Atari 和 Macintosh)以及託管在 ARM Linux 發行版之上。正在進行移植到 SUN SPARC(在 Solaris 下託管)和 Palm 相容手持裝置(原生)的工作,這些移植的完成程度各不相同。

AROS 會移植到 PPC 嗎?

[編輯 | 編輯原始碼]

Michael Schulz 在 Sam-440 板上進行了移植,以及另一個移植到 EFIKA 5200B。

此外,一個在 Linux-PPC 上執行的 AROS 系統已經存在。

為什麼使用 Linux 和 X11?

[編輯 | 編輯原始碼]

我們使用 Linux 和 X11 來加速開發。例如,如果您實現了一個開啟視窗的新函式,您只需編寫該單個函式,而無需在 layers.library、graphics.library、大量的裝置驅動程式以及該函式可能需要使用的其他部分中編寫數百個其他函式。

AROS 的目標當然是要獨立於 Linux 和 X11(但如果人們真的想要,它仍然可以在它們上面執行),並且隨著 AROS 的原生版本,這正在慢慢成為現實。不過,我們仍然需要使用 Linux 進行開發,因為好的開發工具還沒有移植到 AROS 上。

為什麼在執行 AROS 後,X11 中的自動重複功能停止工作?

[編輯 | 編輯原始碼]

這是一個 AROS 的長期存在的錯誤。退出 AROS 後,執行以下命令來重新啟用自動重複功能。

> xset r on

您打算如何使 AROS 可移植?

[編輯 | 編輯原始碼]

與 AmigaOS 相比,AROS 的主要新功能之一是 HIDD(硬體獨立裝置驅動程式)系統,它將使我們能夠非常輕鬆地將 AROS 移植到不同的硬體上。基本上,核心作業系統庫不會直接訪問硬體,而是透過 HIDD,HIDD 使用面向物件的系統進行編碼,這使得替換 HIDD 和重用程式碼變得很容易。

您認為 AROS 會成功嗎?

[編輯 | 編輯原始碼]

我們每天都從很多人那裡聽到 AROS 不會成功的訊息。他們中的大多數人要麼不知道我們在做什麼,要麼認為 Amiga 已經死了。在向那些不知道的人解釋了我們正在做什麼之後,大多數人同意這是有可能的。後者則會造成更多問題。好吧,Amiga 現在死了嗎?那些仍然使用 Amiga 的人可能會告訴你它還沒有死。當 Commodore 破產時,你的 A500 或 A4000 爆炸了嗎?當 Amiga Technologies 破產時,它爆炸了嗎?

事實是,很少有新的軟體為 Amiga 開發(儘管 Aminet 仍然執行得很好),硬體的開發速度也比較慢(但現在出現了最令人驚歎的小工具)。Amiga 社群(仍然活著)似乎在坐等。如果有人釋出一款類似 1984 年 Amiga 的產品,那麼那臺機器將會再次興盛。誰知道呢,也許你還會收到一個貼著“AROS”標籤的 CD 光碟。

如果 AROS 無法編譯,我該怎麼辦?

[編輯 | 編輯原始碼]

請在 AROS 使用者郵件列表中釋出包含詳細資訊(例如,您收到的錯誤訊息)的郵件,或者成為開發人員並訂閱 AROS 開發人員列表,並在那裡釋出,有人會嘗試幫助您。

AROS 會有記憶體保護、SVM、RT 等功能嗎?

[編輯 | 編輯原始碼]

這是一個熱烈討論的話題,有些人說有,有些人說沒有 - 只有時間才能證明一切......

我可以成為測試版測試員嗎?

[編輯 | 編輯原始碼]

當然,沒問題。事實上,我們希望儘可能多的測試版測試員,所以每個人都歡迎!不過,我們沒有測試版測試員的名單,所以您只需下載 AROS,測試您想測試的內容,然後向我們傳送一份報告即可。

AROS 和 UAE 之間的關係是什麼?

[編輯 | 編輯原始碼]

UAE 是一個 Amiga 模擬器,因此它與 AROS 的目標有所不同。UAE 想要在二進位制層面上相容,即使是遊戲和訪問硬體的程式碼,而 AROS 想要擁有原生應用程式。因此,AROS 比 UAE 快得多,但在 UAE 下可以執行更多軟體。

我們與 UAE 的作者保持著鬆散的聯絡,UAE 的程式碼很有可能出現在 AROS 中,反之亦然。例如,UAE 開發人員對作業系統的原始碼感興趣,因為如果某些或所有作業系統函式可以用原生程式碼替換,UAE 就可以更快地執行某些應用程式。另一方面,AROS 可以從整合 Amiga 模擬中獲益。

由於大多數程式一開始不會在 AROS 上可用,Fabio Alemagna 將 UAE 移植到了 AROS,因此您至少可以在一個模擬盒子裡執行舊程式。

AROS 和 Haage & Partner 之間的關係是什麼?

[編輯 | 編輯原始碼]

Haage & Partner 在 AmigaOS 3.5 和 3.9 中使用了 AROS 的一部分,例如顏色輪和漸變滑塊小部件以及 SetENV 命令。這意味著在某種程度上,AROS 已經成為官方 AmigaOS 的一部分。但這並不意味著 AROS 和 Haage & Partner 之間有任何正式關係。AROS 是一個開源專案,任何人都可以在他們自己的專案中使用我們的程式碼,只要他們遵循許可證即可。

AROS 和 MorphOS 之間的關係是什麼?

[編輯 | 編輯原始碼]

AROS 和 MorphOS 之間的關係基本上與 AROS 和 Haage & Partner 之間的關係相同。MorphOS 使用 AROS 的一部分來加速他們的開發工作;根據我們許可證的條款。與 Haage & Partner 一樣,這對兩個團隊都有益,因為 MorphOS 團隊從 AROS 中獲得了開發的提升,而 AROS 則從 MorphOS 團隊獲得了對其原始碼的改進。AROS 和 MorphOS 之間沒有正式關係;這僅僅是開源開發的運作方式。

有哪些程式語言可用?

[編輯 | 編輯原始碼]

大多數 AROS 開發都是使用 ANSI C 完成的,透過在其他作業系統(如 Linux、FreeBSD 或 NetBSD)下交叉編譯原始碼。

  • C/C++,透過原生包含的 gcc/g++(最初由 Fabia Alemagna)或 Murks! IDE 或者在其他作業系統(Linux、Windows)下交叉編譯。
  • Python 是一種指令碼語言,因為它設計精良,功能豐富(面向物件程式設計、模組系統、許多有用的模組包含在內、語法簡潔...),所以它變得非常流行。
  • Regina 是一個可移植的符合 ANSI 標準的 REXX 直譯器。AROS 埠的目標是與經典 AmigaOS 的 ARexx 直譯器相容。
  • False 可以被歸類為一種奇特的語言,所以它很可能不會被用於嚴肅的開發,儘管它可能很有趣。
  • Lua
  • PortablE 是 Amiga E 的開源實現,用 E 從頭開始編寫,並且能夠自我編譯。可以在 http://cshandley.co.uk/portable 找到。
  • Ruby
  • Basic4SDL (b4sdl)

請參閱 AROS 開發人員文件 獲取更多資訊。

為什麼 AROS 中沒有 m68k 模擬器?

[編輯 | 編輯原始碼]

為了讓老的 Amiga 程式在 AROS 上執行,我們移植了 UAE 到 AROS。AROS 上的 UAE 版本可能會比其他版本的 UAE 更快一些,因為 AROS 所需的資源比其他作業系統少(這意味著 UAE 會獲得更多 CPU 時間),並且我們會嘗試修補 UAE 中的 kickstart ROM 以呼叫 AROS 函式,這將帶來另一個小的改進。當然,這僅適用於 AROS 的原生版本,不適用於託管版本。

但是,為什麼我們不直接在 AROS 上實現一個虛擬的 m68k CPU 來直接執行軟體呢?嗯,問題在於 m68k 軟體期望資料以大端格式儲存,而 AROS 也執行在小端 CPU 上。這裡的問題是 AROS 核心中的小端例程必須處理模擬中的大端資料。自動轉換似乎是不可能的(舉個例子:AmigaOS 中一個結構中的欄位有時包含一個 ULONG,有時包含兩個 WORD),因為我們無法判斷 RAM 中的幾個位元組是如何編碼的。

什麼是 Zune?

[編輯 | 編輯原始碼]

如果你在這個網站上看到了關於 Zune 的內容,它只是一個 MUI 的開源重新實現,MUI 是一個功能強大(如使用者友好和開發者友好)的面向物件的共享軟體 GUI 工具包,也是 AmigaOS 上的事實標準。Zune 是開發原生 AROS 應用程式的首選 GUI 工具包。至於名字本身,它沒有任何意義,但聽起來不錯。Zune 也是微軟推出的一個行動式 MP3 播放器/多媒體硬體產品,但與 AROS 的 Zune 無關。

華夏公益教科書