FAQ Xbox port - Přenesení programů na platformu Xbox - Často Kladené Otázky
 


FreeBASIC na Xbox - Obecné otázky
Začínáme s FreeBASIC na Xbox - Otázky



Zpět na Hlavní stránku



FreeBASIC na Xbox - Odpovědi na obecné otázky



Mohu ve FreeBASIC skutečně vytvořit Xbox hry?

Teoreticky ano. Kopie FreeBASIC 0.13 byla přenesena na Xbox v červenci 2005 a produkovala pracující spustitelné soubory. Nicméně změny v kompilátoru verze 0.14 kompatibilitu narušily.

Xbox port je v současné době v zombie režimu; nikdo z projektového týmu v tuto chvíli nemá tuto konzolu - původní porting realizoval SJ Zero, ale jeho práce byla narušena změnami v knihovnách vyšších verzí.

Porting je pozastaven, dokud nebude kompletní backend portu GCC, protože se předpokládá, že dokončení tohoto portu opraví i port na Xbox.


Jak ve FreeBASIC udělám port na Xbox?

FreeBASIC na Xbox je možný díky vývojářům open source, kteří vytvořili OpenXDK, legální software 'Development kit for Xbox'. OpenXDK je vytvořen pro Unixová prostředí, které je zcela kompatibilní se zdroji FreeBASIC.

Port byl vytvořen tak, že nutí FreeBASIC runtime knihovnu použít OpenXDK verzi Glibc namísto verze mingw32. Když se sestavují se správnými flagy, vytvoří se něco, co je podobné standardnímu EXE souboru. CXBE pak odřízne Windows PE hlavičku z tohoto spustitelného souboru a nahradí ji hlavičkou Xbox.

Ve skutečnosti je celé portování o změně runtime knihovny. Provázání určitým způsobem, umožní CXBE nástroji vytvořit Xbox spustitelný soubor.


Co takhle port na Xbox 360?

Xbox jede na Intel Pentium 3 a derivátu NVIDIA nForce chipsetu, s NVIDIA video čipem a NVIDIA SoundStorm zvukové kartě. To je důvod, proč bylo možné a poměrně jednoduché udělat port na Xbox.

Na druhé straně Xbox 360 používá cizí CPU a podobně i ostatní hardware. FreeBASIC nemůže v současné době produkovat spustitelné soubory pro Xbox 360.

Jsou tu totiž i další problémy. OpenXDK má nedostatečnou ekvivalenci pro Xbox 360. Vynucení portu na Xbox 360 použitím XDK by poškozovalo autorská práva na software, vytvořené (kým jiným?) Microsoftem. To by bylo nelegální a mohlo by to vyvolat další z justičních parodií, tentokrát pro FreeBASIC.

Díky firmě Microsoft je proto v současnosti naprosto nemožné uvažovat o portu FreeBASIC na Xbox 360.


A co port na PlayStation nebo jiné konzole?

Xbox jede na Intel Pentium 3 a derivátu NVIDIA nForce chipsetu, s NVIDIA video čipem a NVIDIA SoundStorm zvukové kartě. To je důvod, proč bylo možné a poměrně jednoduché udělat port na Xbox.

PlayStation používá čip RISC, pro který FreeBASIC v současné době nemůže kód vyrábět. Téměř všechny konzole využívají jiný, než x86 CPU. FreeBASIC zastavil další vývoj. Přestože je to možné, je to i náročné. Můžete v tom pokračovat sami.

Dalším problémem je absence ekvivalence k OpenXDK pro mnoho konzolí. To by nutilo libovolný portovací software k použití komerčního. Takový software by musel vyrobit výrobce dané konzole. Port na další konzole musí být s ohledem na autorská práva v současnosti považován za nemožný. Nicméně port na mnoho konzolí a dalších platforem by možný byl, nebýt výše uvedených skutečností.


Proč nepoužívat emulátor, dokud developer nevydá mód Xbox?

Není znám emulátor Xbox, kerý by fungoval s kódem FreeBASICu. Pro spuštění vyrobených programů je potřeba mít legitimní hardware konzole. To dělá z vývoje emulátoru naprostou zbytečnost.


Proč nepoužít Microsoft XDK?

Existují dva hlavní důvody, proč nepoužít Microsoft XDK. Jedním je Microsoft a druhým je Microsoft.

1) Microsoftovské XDK je kus kódu, chráněný autorským právem a jeho použití by tedy bylo v rozporu se zákonem. FreeBASIC by riskoval odvetné právní kroky. Krom toho, žádný člen FreeBASIC týmu neměl nikdy přístup k právům Microsoft XDK, aby FreeBASIC tímto kódem nakazil legálně.

2) OpenXDK je vyvíjen skupinou kolem GCC a systémů na bázi UNIX jako MinGW nebo Cygwin. To znamená, že do FreeBASIC by mohl být zabudován s minimálním úsilím. Na druhé straně, Microsoft XDK je vyvinut pro programy - kompilátory na bázi Microsoft a jejich integrace by byla pravděpodobně obtížná.

NOTE: PROTECTION OF MICROSOFT'S COPYRIGHT, AND BY PROXY OF FREEBASIC, IS OF PRIMARY IMPORTANCE IN THIS PROJECT. WE DO NOT WANT HELP FROM ANYONE WITH THE XDK, NOR DO WE WANT HELP FROM ANYONE WITH A DEBUGGER XBOX. ANY ATTEMPT TO OFFER THE XDK OR XDK RELATED HELP SHALL BE FORWARDED TO THE PROPER LAW ENFORCEMENT AGENCIES.
(česky zhruba: ... Nechceme nic od Mrkvochvostu, ani XDK a související ani vidět!!! ...)

Proč nepoužívat pro ladění a opravy Microsoft debugger?

Jsou dva velmi dobré důvody, proč nepoužívat Microsoft debugger:

1) Microsoft XDK je software chráněné autorskými právy a jeho použití by bylo nezákonné.

2) Microsoft debugger vyžaduje speciálně upravený Xbox, který ani SJ Zero, ani žádný jiný člen našeho vývojového týmu nemá. Upřímně nikdo, z těch co na původním portu pracovali není přesvědčen, že by Microsoft debugger by ve finále skutečně s FreeBASIC pracoval. Microsoft debugger neumí číst FreeBASIC laděné soubory, máme důvodnou pochybnost, že by FreeBASIC debugger uměl číst ladící soubory Xbox. Bez ohledu na to, bod #1 přebíjí jakýkoliv pokus.

NOTE: PROTECTION OF MICROSOFT'S COPYRIGHT, AND BY PROXY OF FREEBASIC, IS OF PRIMARY IMPORTANCE IN THIS PROJECT. WE DO NOT WANT HELP FROM ANYONE WITH THE XDK, NOR DO WE WANT HELP FROM ANYONE WITH A DEBUGGER XBOX. ANY ATTEMPT TO OFFER THE XDK OR XDK RELATED HELP SHALL BE FORWARDED TO THE PROPER LAW ENFORCEMENT AGENCIES.
(česky zhruba totéž, co výše: ... Nechceme nic od Mrkvochvostu, ani XDK a související ani vidět!!! ...)



Není to nelegální? Může Vás Microsoft žalovat??

Autorské právo je důležité pro ochranu komerčních firem jako Microsoft, i pro malé projekty, jako je FreeBASIC. Bez copyrightu by nikdo nemohl prosadit svá práva ke kódu (v našem případě GPL). Obecně lze říci, že problematika autorských práv je největší brzdou všech projektů, včetně open source, jako je tento.

Vzhledem k tomu je FreeBASIC projekt portu na Xbox vytvořen pomocí nástrojů, jejihž legalita je jistá. Verze FreeBASIC pro Xbox není nezákonná. Ochraně FreeBASIC před jakýmkoliv nelegálním kódem od Microsoftu byla věnována veliká pozornost. V tomto duchu budeme pokračovat i nadále.



Začínáme s FreeBASIC na Xbox - Odpovědi na Vaše otázky



Co je potřeba ke kompilaci Xbox hry s FreeBASIC?

Tento port v současné době není dostupný. Až bude k dispozici, bude stačit mít kopii FreeBASIC pro Xbox.


Jak získáte vstupt?

Zpočátku bude vstup realizován prostřednictvím SDL; gfxlib port ještě není dokončen. Jeden z vývojářů pracuje na generické SDL verzi gfxlib, která by měla poskytovat plnou funkčnost gfxlib pro Xbox port.


Poběží to jen na některých Xboxech?

FreeBASIC pro Xbox spustitelné soubory poběží pouze na módech Xbox. Tvorba módů Xbox není tak jednoduchá, jako loading a savegame v nějaké hře. Více informací je na Xbox-Linux website (v době překladu nefunkční link).


Je pro práci potřebný i jiný jazyk, jako C či ASM?

Ne. FreeBASIC pro Xbox je vše, co budete potřebovat.


Potřebuji speciální knihovny??

Ne. FreeBASIC pro Xbox přijde se všemi potřebnými knihovnami.


Mohu použít premade funkce, jako Inkey, line atd.?

V současné době vstupní a výstupní příkazy, jako Inkey či Line k dispozici nejsou. Ostatní I/O funkce však ano, včetně souborových I/O. Jeden z vývojářů pracuje na generické SDL verzi gfxlib, od které se očekává, že poskytne pro port Xbox všechny žádané funkce.


Co dalšího bych měl vědět?

Spustitelné soubory, vytvořené FreeBASIC pro Xbox, jsou prosty autorsky chráněného kódu Microsoftu. To Vás opravňuje k jeho legální distribuci.

Zdrojové soubory Windows a Linux, které jsou určeny k použití SDL a rtlib, budou schopny kompilování pro Xbox mimo něj. Xbox má podporu klávesnice a gamepad portů (proprietální připojení USB), vstupní režim bude muset být upraven tak, aby fungoval přes/jako gamepad.

Překlad: Gmisiycs 21.2.2016