Hírek | Archívum | Fórum | IRC | Amiga | AmigaOS | FAQ | RSS

 - Fórumok - Keresés - Statisztika - Szabályzat - Pegasos.hu fórum
forum.amigaspirit.hu / Fejlesztés / Multiplatform fejlesztés Amigára
. 1 . 2 . 3 . 4 . 5 . >>
Szerző Üzenet
dekanyz
Tag

# Elküldve: 2012. Jún. 04. 22:27


Hali!

Tud valaki arról valamit, hogy mik az egyezések/különbségek a különböző Amiga rendszerek között egy fejlesztő szemszögéből? Elsősorban a modern rendszerekre gondolok. (MOS, OS4, AROS)

Esetleg van erről valami info valahol? Ha nincs, akkor jó lenne valahol összegyűjteni. A trollkodás helyett inkább valami értelmeset is lehetne csinálni, mint pld. ezt... nem? ;)

Chain-Q
Divatamigás

# Elküldve: 2012. Jún. 05. 00:55 - Szerkesztve: charlie


@dekanyz:
Jól nyomod öcsém! :) Akkor elkezdem pár alapfogalommal. :P

A közös pont nyilván egy modern GCC (4-es sorozat), az AmigaOS 3.1 API-ja és headerkészlete, valamint a MUI mint az egyetlen olyan GUI kit, amely mindhárom rendszeren jelen van.

Ami általában speciális: a PPC-68k kód közötti kereszthívások (pl. hookok esetében), OS4 esetén a librarykhoz tartozó interface-ek, illetve szinte valamennyi rendszeren a saját GUI kitje, ill. az ehhez tartozó extensionok. Ez legjellemzőbb pl. MorphOS-en, hogy a MUI-ban egy rakás olyan kiterjesztés van, ami máshol nem elérhető.

Egyedi még pl. a 64 bites DOS API minden rendszeren (AROS-on mostanában megy az iszapbirkózás, hogy a MorphOS vagy az OS4 API-ját másolják le), meg persze más a teljes RTG API, de mivel ebből már classicon is kétféle volt, ezért nem nagy újdonság.

Az efféle dolgok összegyűjtésére egy wiki oldal lenne a legmegfelelőbb. Ha valaki elkezdi én támogatom, és válaszolok amilyen kérdésre csak tudok.

dekanyz
Tag

# Elküldve: 2012. Jún. 05. 06:23 - Szerkesztve: dekanyz


Ezek szerint a MUI-n kivül létezik egyéb GUI kit is?

Miféle extension-okról van szó?

Kompromisszumokkal megoldható, hogy egy egyszerűbb alkalmazás leforduljon mindhátom rendszeren, vagy compiler direktivákat szoktak használni erre? (Tudom, hogy eléggé általános volt a kérdés. Egy egyszerűbb alkalmazást alapul véve). És ha igen, akkor mik ezek a kompromisszumok?

Chain-Q
Divatamigás

# Elküldve: 2012. Jún. 05. 11:23


@dekanyz:
Az OS4 hivatalosan egy Reaction nevű GUI kitet használ, de van MUI is, az AROS-on pedig egy MUI-reimplementáció van Zune néven.

Ezen kívül van még pár régebbi próbálkozás is, de többségük szóra sem érdemes.

A GUI extensionokról csak annyit, hogy pl. a MUI az alaprendszer mellett egy külső classokból álló gyűjtemény, amelyek különféle GUI elemek lehetnek. Hogy ebből mi van alapból a rendszerben, az rendszerenként eltérő lehet. Ugyanígy kiterjesztés lehet olyan API, amivel pl. alpha-s bitmapokat lehet rajzolni, vagy más GUI effektusokat programozni, hiszen ez nem, vagy csak mérsékelten volt megoldva a 3.1-ben.

Egy egyszerűbb alkalmazást meg lehet írni úgy, hogy mindhárom rendszerre leforduljon. A különbségeket #ifdef-elni szokták, de ha szerencséd van, elég csak pár helyen, nem kell a teljes kódot teletolni velük.

Lazi
Mr. AmiCon

# Elküldve: 2012. Dec. 09. 22:02


@charlie:

A platform detektalashoz talan jo lehet az exec/ FindPort("WORKBENCH"). Ha jol tudom ez csak 4.0-an letezo port.

Lazi
Mr. AmiCon

# Elküldve: 2013. Jan. 07. 19:45


@charlie:

Mit szolsz ehhez?

FindResident("MorphOS")
ha ez 0-at ad vissza es syslib version >= 50 akkor az valoszinu OS4.

http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=37121&forum=15#694537

Chain-Q
Divatamigás

# Elküldve: 2013. Jan. 08. 05:27


@Lázi:
Köszi, de ez még mindig heurisztika... Beletehetnék még ellenőrzéseket, hogy valószínűbben OS4 legyen, de attól még tény, hogy erre nincsen hivatalos megoldás. Bár valószínűleg ez lesz a dologból, azon egyszerű oknál fogva, hogy elég sok ware használja ezt, ezért ha valaha mégis törne a dolog, akkor nem csak az én cuccaim fogja érinteni, tehát elképzelhető, hogy valami megoldás lesz rá...

De azért ez nem túlságosan nyugtat meg...

Chain-Q
Divatamigás

# Elküldve: 2013. Ápr. 07. 01:51


Na most én kérdezek:

Van egy tök 68k-s executeable, teljesen classic kód, semmi mágia, amelyik megnyitja a ptreplay.library-t és lejátszik vele egy MOD fájlt.

68k-n működik (a 68k-s ptreplay.library-vel)
MorphOS-en működik (a MorphOS/PowerPC natív ptreplay.library-vel)
AmigaOS4-en széthal a vérbe, amikor az első ptreplay.library függvényt szeretném meghívni. Itt is a PPC natív ptreplay.library van feltelepítve. PPC-s appokból működik.

Mindhárom rendszeren *UGYANAZT* a binárist futtatjuk.

A kérdés: miért? És mit kell csinálni, hogy menjen.

Travis
Tag
# Elküldve: 2013. Ápr. 08. 20:42


Ha gondolod, küldj egy tesztprogit, és játszok vele. Egyébként nincs ötletem.

Derringer
Tag

# Elküldve: 2013. Ápr. 08. 23:50


csak tipp:

-os4 hangbeállítás
-próbálk ki egy más mod-ot, hogy azzal megy e. (esetleg eltérő prtotracker verzióval mentettet.)
lehet vmelyik sample/pattern érték nem igazán felel meg neki.

Lazi
Mr. AmiCon

# Elküldve: 2013. Ápr. 09. 10:32 - Szerkesztve: lazi


A ptreplay.library OS4 nativ valtozata a ptplay.library-t hasznalja module lejatszasra.
Az OS4 ptreplay_lib.lha -> ptplay.library 2.6 (2008.04.29.) 40824 bytes
Van nekem egy masik is -> ptplay.library 2.6 (2009.12.14.) 40780 bytes

Meretben, datumban is van kulonbseg. Szoval fingom sincs mi a gond, de esetleg megnezhetem, hatha megis valami recompile.

Kozben ezt talaltam:
(14-Dec-2009)
- Fixed an out of bounds LUT access in the getperiod function

dh1
Mr. DTP

# Elküldve: 2013. Ápr. 09. 10:34


Ahhha szoval nem is mi, hanem Csarli nem valaszolt ... ugyes huzas :P

dh1
Mr. DTP

# Elküldve: 2013. Ápr. 09. 10:35


Quoting: charlie
AmigaOS4-en széthal a vérbe


adj exe fileot tesztre!
lehet konfigok kozt is kulonbseg ... SAM vs Pega pl.

Lazi
Mr. AmiCon

# Elküldve: 2013. Ápr. 09. 10:39 - Szerkesztve: lazi


Ne banccsuk mar egymast :)

Quoting: dh1
Ahhha szoval nem is mi, hanem Csarli nem valaszolt ... ugyes huzas :P


Csak azutan valaszoltam, hogy lattam Charlie reklamaciojat arrol, hogy nem kapott valaszt.

dh1
Mr. DTP

# Elküldve: 2013. Ápr. 09. 10:45


Quoting: lazi
Ne banccsuk mar egymast :)


Jajj Csarli! Ugye nem ijedtel meg?! :)

Quoting: lazi
Csak azutan valaszoltam, hogy lattam Charlie reklamaciojat arrol, hogy nem kapott valaszt.


Vannak kerdesek amikre evek ota varok valaszt Csarlitol! :)
Szal 2 nap utan nincs valasz meg tok jo reszido ...

Amugy tesztfajl nelkul wtf? :D

Chain-Q
Divatamigás

# Elküldve: 2013. Ápr. 09. 11:51 - Szerkesztve: charlie


Nekem Reynolds tesztelt, nem tudom milyen hardveren, talan A1?... (Mert tudom hogy ugyse hiszi el senki, de nem vagyok zug-OS4-warez hasznalo, hiaba van gepem amin menne.)

De ezt:
http://aminet.net/package/util/libs/ptreplay_lib

Meg ezt:
http://aminet.net/package/util/libs/ptplaylib_os4

Szedettem le vele, mint dependecyket, csakugy minthogy a MorphOS alatti futtatashoz is ugyanigy Aminetrol szedheted le a szukseges libeket.

Amugy este majd rakok fel valamit... Nem nagyon akartam publicba linkelni a teljes waret amig meg nem mukodik... Szoval kiherelem a modplayert belole, egy kulon exebe, aztan meglatjuk.

Egyebkent en nem hibas library-t gyanitok, hanem hogy OS4-en kell valami bridge vagy glue kod egy 68k-s exe es egy PPC-s lib koze... Valami remlik errol, erre akartam rakerdezni, hatha valaki ert hozza... Jobban szeretem ha tudom hogy valami miert mukodik, meg miert nem, minthogy addig tesztelni, hogy valahogy takolva menjen aztan "oke, mostsenkinenyuljonhozza!!11". :)

dh1
Mr. DTP

# Elküldve: 2013. Ápr. 09. 12:09


Megkerdezzem Cobrat?

Lazi
Mr. AmiCon

# Elküldve: 2013. Ápr. 09. 21:23 - Szerkesztve: lazi


Na,kiprobaltam es mukodnie kell.
Eztet az eredeti 68k ptreplay.library peldat forditottam es szol szepen:
Kicsit fixeltem, hogy Asm-Pro-val menjen. Nincs fagyas, nincs GR.
Esetleg kuldd a modult es kiprobalom vele,

[code]
*****************************************************************************
* Auth ? Andreas [Pucko] P?lsson
* Desc ? A simple assembler example how to use 'ptreplay.library'
* should be compiled with DevPac 3.2 or changes has to be done.
* To exit just press CTRL_C
***>> GeNam 3.2 Options
* OPT AMIGA,CASE,CHKPC,DEBUG,EVEN,O-,OW+,P=68000
* OUTPUT Ram:Play
***>> Include-files
INCDIR asmpro:include/ Path to includefiles
INCLUDE Exec/Exec_Lib.I The Exec calls
INCLUDE Dos/Dos.I The return- & Sigbreak -values
INCLUDE Libraries/PTReplay.I The PTReplay inkludes
INCLUDE Libraries/PTReplay_Lib.I
***>> Program Macros
CALL MACRO Macro for Librarycalls
Jsr _LVO\1(A6)
ENDM

True Equ ~0
False Equ 0
***>> Program start
prStart
Sub.L #1,D0 ? Remove the last 'return'-
Move.B #$00,(A0,D0.L) character from the command
Lea _CmdLin(PC),A5 line and save the pointer
Move.L A0,(A5)

Lea _PtrNam(PC),A1 ? Open ptreplay.library
MoveQ.L #PTREPLAYVERSION,D0 Version is specified in the
MoveA.L 4.W,A6 includefile.
CALL OpenLibrary (libName,version)(a1,d0)
Lea _PtrLib(PC),A5 Save the library pointer
Move.L D0,(A5)

Tst.L D0 Check if open failed
Bne.S ptLibOK
MoveQ.L #RETURN_FAIL,D0 Return failure and exit
Bra.S prExit programme.

ptLibOK MoveA.L D0,A6 Lib opened, go on

Lea _CmdLin(PC),A0 The name of the module is
MoveA.L (A0),A0 in the commandline (hopefully)
CALL PTLoadModule (name)(A0)
Lea _PtrMod(PC),A5 Save the returned modulepointer
Move.L D0,(A5)
Tst.L D0 Check if no errors
Beq.S prClose

MoveA.L D0,A0 ? Play the module
CALL PTPlay (module)(A0)

MoveQ.L #0,D0 ? Set up a wait for CTRL_C
BSet #SIGBREAKB_CTRL_C,D0 so we can exit when finished
MoveA.L 4.W,A6 listening.
CALL Wait (signalSet)(d0)

Lea _PtrMod(PC),A0 ? Obtain the modulepointer
MoveA.L (A0),A0 and stop the playing.
Lea _PtrLib(PC),A6
MoveA.L (A6),A6
CALL PTStop (module)(A0)

Lea _PtrMod(PC),A0 ? Flush out the loaded module
MoveA.L (A0),A0
CALL PTUnloadModule (module)(A0)

prClose Lea _PtrLib(PC),A1
MoveA.L (A1),A1
MoveA.L 4.W,A6
CALL CloseLibrary (library)(a1)
prExit RTS
_CmdLin Dc.L $00000000
_PtrNam Dc.B 'ptreplay.library',$00
even
_mod dc.b 'mod.gameover',0
even
_PtrLib Dc.L $00000000
_PtrMod Dc.L $00000000
[/code]

Lazi
Mr. AmiCon

# Elküldve: 2013. Ápr. 09. 21:27


Jah es ezexerint OS4-en nem kell glue library. Habar valoban voltak #?.l.main fajlok bizonyos libekhez, de 4.1-es libs: -ben nincsenek ilyenek, szoval lehet, hogy valtozott a helyzet.

Chain-Q
Divatamigás

# Elküldve: 2013. Ápr. 11. 11:36 - Szerkesztve: charlie


@Lazi:
Igen, emlekeztem erre a glue code mizeriara, azert voltam kivancsi hogy mi a fasz van (tm). Nagyon koszi a tesztet, sokat segitett!

Igazabol Reynolds az egesz introt tesztelte, es fekete kepernyot kapott, es a zene nem indult el, ami azt jelentette, hogy a hatterben a modulplayer szal sem futott, ami az elso dolog a kepernyomegnyitas utan.

Viszont ha nem a modulplayer fossa arcon magat, akkor valami az demoengineben crashel szet, ami amugy classicon es MorphOS-en is megy.

Nem tudja valaki veletlenul, hogy a Petunia ismeri-e a 040+ utasitasokat? Mert van par az introban... (Azt tudom, hogy 020-as procinak mondja magat az OS meg a programok fele, de attol meg kezelheti pl. a MOVE16 utasitast, amit hasznalok es igazabol csak 040-en es felette van.)

dino
Kék troll

# Elküldve: 2013. Ápr. 11. 11:45 - Szerkesztve: dino


Quoting: charlie
Petunia ismeri-e a 040+ utasitasokat?


Emulált opkódok:
Minden egész opkód Amit a 68040 támogat, kivéve AZ MMU-ES gyorsítótár Vezérlő opkódokat.,
Minden 68881/882/68040 lebegőpontos koprocesszor opkód, kivéve: FSAVE. (Ezékiel koze tartoznak AZ un. Szoftveresen Támogatott 68040 opkódok is.)

Itt a forras:
http://amigos.amiga.hu/rachy/petunia_hu.html

Azota gondolom tortent nemi valtoztatas, vagy nem?

Lazi
Mr. AmiCon

# Elküldve: 2013. Ápr. 11. 11:49


Petunia tulajddonsagok:

Emulált opkódok:
minden integer opkód amit a 68040 támogat, kivéve az MMU- és gyorsítótár vezérlő opkódokat.,
minden 68881/882/68040 lebegőpontos koprocesszor opkód, kivéve: FSAVE. (Ezek közé tartoznak az un. szoftveresen támogatott 68040 opkódok is.)
Címzésmódok:

minden címzésmód, amit a 68020 és a későbbi processzorok támogatnak,

byte, word, longword, single, double, extended adatcímzés a lebegőpontos koprocesszor számára.

Forras: http://amigos.amiga.hu/rachy/petunia_hu.html

Lazi
Mr. AmiCon

# Elküldve: 2013. Ápr. 11. 11:51 - Szerkesztve: lazi


@dino:
Mint a villam. Neked ezek elore el vannak keszitve? Csak copy+paste? :-)

Egyebkent tudtommal semmi komoly valtozas nem volt.

Chain-Q
Divatamigás

# Elküldve: 2013. Ápr. 11. 11:52


@dino/Lazi:
Ja, thx, en is igy emlekeztem... :)

Lazi
Mr. AmiCon

# Elküldve: 2013. Ápr. 11. 13:07


Meg lehetne probalni a non-jit emulatorral is. (Prefs/Compatibility)

Esetleg serial debug mond valamit?

dino
Kék troll

# Elküldve: 2013. Ápr. 11. 15:01


Quoting: lazi
@dino:
Mint a villam. Neked ezek elore el vannak keszitve? Csak copy+paste? :-)


Hatha meg ertenek is hozza...:DD:DD:DD

Chain-Q
Divatamigás

# Elküldve: 2013. Ápr. 12. 02:35 - Szerkesztve: charlie


Köszi dh1-nek meg Ratmannak a tesztelést. A fejlemények:

1., Fut a ware. Vagyis valami tényleg a tesztgéppel volt gixer.
2., Ha az OS4-től RGB15PC overlayt kérsz, YUV overlayt fogsz kapni. Ránézésre az, vagy valami hasonló, mert a fehér (0xFFFF) az lila... Szóval teljesen szarok a szinek overlayben.
3., Az intro komplett időzítése megborul, ez laza timer.device problémának tűnik, főleg mivel ELSŐRE jól fut az intro, másodszorra viszont fejreáll az egész időzítés, mintha a ReadEClock() függvény marhaságokat adna vissza.

Mókás dolgok ezek... :)

Szerk: igazából ezek a dolgok csak azért zavarnak, mert így hogy egy timer.device szintjén is eltérések vannak, tesztgép nélkül elég nehéz kiadni valamit, hogy menjen minden platformon... És olyan sem nagyon volt az egész demoengine készülése alatt, hogy amit megírtam MorphOS-en, az classicon ne ment volna pöcc-röff, vagy fordítva... De majd meglátom mi okozza a timer.device problémát, meg hogy az overlayt meg lehet-e rugdosni, és akkor eldöntöm, hogy akarok-e azzal szenvedni, hogy mennek-e a release-ek OS4-en...

dh1
Mr. DTP

# Elküldve: 2013. Ápr. 12. 02:52 - Szerkesztve: dh1


Csarli, a szinvaltas most igy belegondolva lehet nalam is a rendszer problemaja. Csak mert amikor a PCI buszon levo Radeonon 3D-t probalok futtatni, ott is hasonlo bugok jonnek elo ... igaz az minigl, ogl, warp3d vagy sdl ... de a jelenseg hasonlo.

Pl. a Hurrican is PCI Radeonon szinvaltos lesz (SDL).
Alaplapi Radeonon jo ...

Plusz a PCI-n az ogl, minigl, sdl, warp3d iszonyat belassul, 0,1 fps se ...

Majd megnezem alaplapi Radeonnal is a demot ... hatha ez csak PCI Radeon bug es az is csak SAM440-re jellemzoen ...

Lazi
Mr. AmiCon

# Elküldve: 2013. Ápr. 12. 08:50


@charlie:

Kuldjel mar nekem is valamit, mert ugy latom itt mindenknek szararencere :-)

ratman
Kék troll

# Elküldve: 2013. Ápr. 12. 09:40


Enyim már nem. Sajnos megkókadt a diszk a gépben. :/
Kicseréltem, most stabil mint a beton.

@chain|Q: Akkor elviszed, ma, vagy mi lesz?

. 1 . 2 . 3 . 4 . 5 . >>
forum.amigaspirit.hu / Fejlesztés / Multiplatform fejlesztés Amigára
 
 

Powered by forum software miniBB™ © 2001-2024