amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Suche [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- 2 3 4 5 6 Letzte Ergebnisse der Suche: 307 Treffer (30 pro Seite)
bruZard   Nutzer

09.03.2021, 19:44 Uhr

[ - Direktlink - ]
Thema: IRC Kanal
Brett: Forum und Interna

Amiga Discord Kanäle: https://disboard.org/de/servers/tag/amiga
 
bruZard   Nutzer

18.01.2021, 18:56 Uhr

[ - Direktlink - ]
Thema: Die Cola hat Corona
Brett: Get a Life

@cartman:
Ja, Du hast einen Denkfehler. Wie einige hier. Was glaubst Du passiert wenn man den Impfstoff testet? Denkst Du dass man die Probanden aktiv infiziert? Natürlich nicht! Darum kann man auch noch keine Aussage treffen ob sich Geimpfte erneut infizieren können oder ob sie danach noch ansteckend sind oder wie sich allgemein das Virus bei Geimpften verhält. Man konnte nur feststellen dass sich eine Immunität einzustellen scheint, indem man sich das Antikörperbild im Blut angeschaut hat.

Wissenschaft ist nicht eine Wahrheit zu postulieren.
 
bruZard   Nutzer

09.01.2021, 20:56 Uhr

[ - Direktlink - ]
Thema: Die Cola hat Corona
Brett: Get a Life

Normalerweise äußere ich mich nicht in Schwurbler-Diskussionen. Aber jetzt will ich es mal wissen.

Nehmen wir an es gäbe keine Pandemie. Nehmen wir an das Virus wäre so harmlos wie eine Grippe, eine Übersterblichkeit gibt es nicht und alles ist total übertrieben.
Man schließt die Schulen und die Kitas, die Restaurants und die Friseure und tut auch sonst alles um die Wirtschaft zu schwächen.

Das alles passiert weltweit und gerade hat man in China zwei Großstädte dicht gemacht.

Warum? Wenn das alles nicht echt ist. Warum sollte man dann das alles tun? Es müsste ja eine weltweite Verschwörung für einen bestimmten Zweck dahinter stecken.

Mit Blick auf Deutschland sehe ich, dass nicht einmal 16 Ministerpräsidenten sich einigen können. Wie können es alle Regierungen der Welt dann schaffen ein Problem zu halluzinieren das nicht existiert?

Floppy, Du alte Glaskugel mit Quellen die keine sind. Wie ist zu erklären dass die ganze Welt im Ausnahmezustand ist, obwohl das alles nur Fake ist.
 
bruZard   Nutzer

10.04.2019, 07:42 Uhr

[ - Direktlink - ]
Thema: Die Lügenbande, Teil zwo ! ;-)
Brett: Get a Life

Zitat:
Original von Archeon:
Moin Moin

Hier mal ein Anstoss.. Früher hieß es...Freiwillig jetzt heist es wiedersprechen sonst ist man ein paar Organe los!

Früher war das Impfen freiwillig - Umgedreht wird zu pflicht
Früher war Organspende freiwilig - Umgedreht man muss wiedersprechen
Früher konnte man sein Fingerabdruck speichern umgedreht ab 2021 ist es pflicht
Früher (Schweden) war RFID unter der Haut freiwillig ab 2022 soll es für jeden Bürger Pflicht werden. (Link... Dank §13 darf ich es nicht mehr)
Kennst du noch so paar umgedrehte Dinge...

Ich habe echt kein Lust mehr in dieser Zeit zu sein... Gebt mir ne Zeit Maschine bzw. baut mir eine Zeit Maschine in ein LKW mit Anhänger ein und ich bin weg.. Mit Möbeln und Automaten.

--
Ich liebe Arcadespiele :)

[ Dieser Beitrag wurde von Archeon am 09.04.2019 um 13:35 Uhr geändert. ]

Du musst Deine Tabletten unbedingt in der Dosis und Reihenfolge nehmen wie sie verschrieben wurden, sonst passiert sowas wie Dein Beitrag hier!

#mussmanwissen
 
bruZard   Nutzer

15.05.2018, 08:37 Uhr

[ - Direktlink - ]
Thema: Sicherheit Forum
Brett: Forum und Interna

@_PAB_:
Offensichtlich sichert AmigaNews Passwörter im Klartext.
 
bruZard   Nutzer

16.09.2013, 20:17 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

In Vorbereitung auf das nächste Release habe ich die Domain www.amigamonkey.de eingerichtet. Im Wesentlichen werden es interne Änderungen und Verbesserungen sein die das nächste Release auszeichnen. So kann man nun die Compiler Optionen in der Config anpassen um bspw. speziell 68000 oder vielleicht 68040 Code zu erzeugen ...

Beispiel:
code:
'--------------------
' Classic / AmigaOS4 / MorphOS / AROS
'
' AmiDevCpp Path
AMIDEVCPP			= "{SYSTEMDRIVE}CrosscompilerAmiDevCpp"

' classic 68k
BUILD_68K			= true
GCC_RELEASE_68K		= "-noixemul -O6 -o"
GCC_DEBUG_68K		= "-noixemul -g -O6 -o"
GCC_PROFILE_68K		= "-noixemul -O6 -o"

' AmigaOS4
BUILD_OS4			= false
GCC_RELEASE_OS4		= "-O6 -lauto -lamiga -o"
GCC_DEBUG_OS4		= "-g -O6 -lauto -lamiga -o"
GCC_PROFILE_OS4		= "-O6 -lauto -lamiga -o"

' MorphOS
BUILD_MOS			= false
GCC_RELEASE_MOS		= ""
GCC_DEBUG_MOS		= ""
GCC_PROFILE_MOS		= ""

' AROS 32 Bit
BUILD_AROS32		= false
GCC_RELEASE_AROS32	= ""
GCC_DEBUG_AROS32	= ""
GCC_PROFILE_AROS32	= ""

' AROS 64 Bit
BUILD_AROS64		= false
GCC_RELEASE_AROS64	= ""
GCC_DEBUG_AROS64	= ""
GCC_PROFILE_AROS64	= ""

' AROS PPC
BUILD_AROSPPC		= false
GCC_RELEASE_AROSPPC	= ""
GCC_DEBUG_AROSPPC	= ""
GCC_PROFILE_AROSPPC	= ""

Diese Config ist noch nicht komplett (wie man sieht), aber sie funktioniert tadellos ;)
 
bruZard   Nutzer

15.08.2013, 20:01 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Sorry, bin beruflich gerade extrem eingespannt und finde kaum Zeit etwas privates zu erledigen.
Trotzdem will ich hier ein paar Sachen nennen die auf der ToDo stehen und die ich so schnell wie möglich umsetzen möchte:

  • Fullscreen : bisher kann man ja nur Programme erstellen die in einem Fenster auf der Workbench laufen und somit dieselbe Palette teilen.
  • Laden von Images über Datatypes ohne über das Format nachdenken zu müssen (wenn es ein PNG ist gibt es halt einen Alphakanal etc.)
  • Portierung von "Trans" (dem eigentlichen Transpiler) auf AOS3 und AROS, so dass Windows nicht mehr benötigt wird.


Von der Idee "Mojo" zu reimplementieren habe ich mich mittlerweile verabschiedet. Klar, der Mojo-Style würde es ermöglichen bisher geschriebene Monkey-Programme mit geringfügigen Änderungen für Amigane Systeme zu kompilieren. Aber die Performance wäre unter aller Sau, zudem existiert nicht wirklich viel Monkey-Source den man mal eben kompilieren könnte.

Bei den "Bananas" (so heissen die Examples) werde ich einige interessante heraus picken und auf Amiga-Monkey umschreiben.

Ansonsten bleibt nur: Geduld wahren ... meine Freizeit ist extrem knapp bemessen und meine Frau verhaut mich wenn ich auch diese wenige Zeit am Rechner verbringe.
 
bruZard   Nutzer

17.07.2013, 19:32 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Noch nicht, eigentlich wollte ich das OS4 Target gleich mitbringen aber das wird wohl noch nichts. Ich beeile mich aber.
 
bruZard   Nutzer

08.07.2013, 17:58 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Dankeschön! ;)

0.14 wird Ende der Woche fertig sein.
 
bruZard   Nutzer

28.06.2013, 17:07 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

@tbone:
Die Performance sollte sich im Rahmen normaler C++ Programme bewegen, denn nichts anderes wird hier erzeugt. Trans (der Monkey Transpiler) erzeugt aus dem Monkey Source C++ welches dann an den GCC geschickt wird.
 
bruZard   Nutzer

27.06.2013, 20:28 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Version 0.13 ist wie versprochen nur schlappe 800kb klein und setzt Version 0.12 voraus. Einfach das Archiv entpacken und über 0.12 kopieren.

    Was ist neu?
  • Window Flags (WFLG_) habe ich von amiga.intuition nach amiga.window verschoben
  • Intuition.OpenWindowTags() habe ich entfernt, Fenster werden jetzt grundsätzlich über die Klasse "Window" verwaltet
  • Window.Title:Void(title:String) ändert den Fenstertitel. Das funktioniert nun auch endlich auf AROS 64
  • amiga.window importiert nun amiga.rastport, in Vorbereitung auf 0.14 in dem wieder Zeichenmethoden eingeführt werden.


http://amigamonkey.colorflow.de/downloads/amigamonkey.0.13.zip
 
bruZard   Nutzer

26.06.2013, 19:59 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Version 0.12 erweitert die Liste der kompilierbaren Ziele um:

- AROS i386
- AROS 64Bit
- AROS PPC

ausführbare Beispiele für AmigaOS3.x und die drei AROS Ziele finden sich unter bananasbasicbasic.buildamiga

http://amigamonkey.colorflow.de/downloads/amigamonkey.0.12.zip (ca. 23MB)

Ab Version 0.13 werden die Updates kumulativ sein damit man nicht jedesmal das riesen Paket herunter laden muss.
 
bruZard   Nutzer

22.06.2013, 21:54 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Prinzipiell muss ich die Versionierung von vorn beginnen da mit den massiven Änderungen die Mark Sibly an Monkey vorgenommen hat, auch ich wieder von vorn beginnen muss. Also findet ihr nun unter http://amigamonkey.colorflow.de/downloads/AmigaMonkey.zip praktisch die Version 0.1

Neu ist die Trennung der Module in Amiga spezifische Definitionen. Während "Exec" noch kein eigenes Modul hat, aber per Default immer definiert ist, gibt es nun das Modul "amiga.intuition" und das Modul "amiga.window".

Man kann nun entweder das Modul "amiga" importieren und somit alles was es so gibt für dieses Target, oder aber man importiert ganz gezielt einzelne Module ... je nach dem was man mit seinem Programm machen will. Das hat zum Einen den Zweck dass man damit das Executable verkleinert (kleiner als 143kb geht leider nicht), zum Anderen dass spezifische Module leichter hinzugefügt werden können. Außerdem bietet es die Möglichkeit eine Ähnlichkeit zur Amiga C/C++ Programmierung zu erreichen. Ich weiß ... Monkey sieht kaum aus wie C/C++, aber auch kaum noch wie Basic obwohl es ein Basic-Dialekt ist.

Ein lauffähiges AmigaMonkey Programm:
code:
Strict

Import amiga.intuition


' der Einsprungspunkt eines jeden Monkey Programms
Function Main:Int()
	New AmigaMonkey()' wir instantiieren unser Programm
	Return 0
End

Class AmigaMonkey
	Method New()
		' zuerst ein paar Angaben wie unser Fenster aussehen soll...
		Local windowFlags:Int	= WFLG_DRAGBAR | WFLG_CLOSEGADGET | WFLG_ACTIVATE
		' ...dann sagen wir auf welche Ereignisse das Fenster reagieren soll...
		Local idcmpFlags:Int	= IDCMP_CLOSEWINDOW | IDCMP_MOUSEMOVE |  IDCMP_INTUITICKS
		' ...und jetzt öffnen wir das Fenster...
		Self.myWindow = New Window("Hallo Amiga", 20, 20, 320, 256, windowFlags, idcmpFlags)
		' ...und hüpfen in die Hauptschleife:
		Self.main()
		
	End
	
	
	Method main:Void()
		Local exitFlag:Bool = False
		
		While Not exitFlag
			' wenn Intuition meldet dass der Closebutton des Fensters
			' gedrückt wurde....
			If Self.myWindow.WaitEvent() = IDCMP_CLOSEWINDOW exitFlag = True
		Wend
		
		' ...schliessen wir das Fenster und beenden das Programm
		Self.myWindow.Close()
	End
	
	Private
	Field myWindow:Window
End


Dies tut recht wenig ... es öffnet ein Fenster an der Position 20, 20 mit den Dimensionen 320x256, setzt den Titel des Fensters auf "Hallo Amiga" und wartet dann in der Methode "main" darauf dass das Fenster geschlossen wird. Der Garbage Collector kümmert sich dann um die Freigabe des allokierten Speichers (was in älteren Versionen des Targets noch nicht ging).

Die Window-Flags (WFLG_) und IDCMP Flags sind direkt nutzbar wie man oben in den Definitionen sehen kann. Derzeit nutzt die Klasse "Window" nur die Methode "OpenWindowTags", die anderen Möglichkeiten ("OpenWindowTagList" etc..) können aber problemlos nach gereicht werden.

Das oben verlinkte Archiv beinhaltet eine fast komplette Monkey-Installation in der Version V71b. Ich habe aus meiner Pro-Version alles entfernt was nicht Public Domain ist. Somit kann man das Archiv direkt nutzen und muss nichts mehr hinzu kopieren. Das Programm "monkey" ist eine recht gute IDE und das Target "Amiga" ist per Default eingestellt.

Zwei Textdateien erklären weitere wichtige Dinge zum Umgang mit diesem Archiv:
"amiga.changelog.txt" ist halt das Changelog ...
"amiga.readme.txt" erzählt etwas mehr über die Installation und Verwendung ....


Als nächstes muss ich die String Klasse anfassen .... leider hat Mark Sibly diese (und auch andere Konstrukte) nicht in einen Namespace gesperrt so dass ich sie wieder einmal umbenennen und bearbeiten muss. Wenn das passiert ist sollten auch die Ziele MorphOS, AROS32 und AROSPPC wieder funktionieren.
 
bruZard   Nutzer

12.06.2013, 20:34 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Mehr als ein Jahr hat es gedauert bis sich der Tornado über Monkey gelegt und Mark Sibly das System so gut wie komplett neu definiert hat. Das neue Target-System ist nun stabil und wird wohl vorerst keine weiteren Änderungen erfahren. Somit habe ich damit begonnen das Amiga-Target auf dieses völlig neue System anzupassen.

Dieser Source:
Bild: http://amigamonkey.colorflow.de/pics/amigamonkey02.jpg

erzeugt schonmal folgende Ausgabe:
Bild: http://amigamonkey.colorflow.de/pics/amigamonkey01.jpg

Warum das jetzt so spannend ist? In den letzten Versionen des Targets musste ich tief in essentielle Teile von Monkey eingreifen um solch eine Ausgabe erzeugen zu können. Jetzt hat sich tatsächlich nur das Target geändert, AmiDevCpp übersetzt den verbesserten Standard Module-Code nun ohne zu murren oder mit Amiga relevanten Definitionen zu kollidieren.
Das bedeutet dass ich AmigaMonkey C++ Code endlich in einen Namespace sperren kann und nicht mehr mit Mark Siblys Bezeichnern in Konflikt gerate. Das hat den Vorteil dass zum Einen der GC (GarbageCollector) endlich funktioniert und außerdem zum ersten Mal überhaupt das Modul "Reflection" verwendet werden kann.

In den letzten Versionen des Targets wurde alles in ein Modul gepackt um die Einfachheit von Monkey zu transportieren. Der Vorteil: Man kann so loslegen wie die Monkey-Folks es weltweit tun. Der Nachteil: Je umfangreicher das Modul wird, umso größer wird das Executable. Die Lösung: Amiga Libraries (dos, intuition, graphics etc.) werden in einzelnen Modulen gewrapped welche wiederum im optionalen Modul "amiga" in Monkey kompatible Funktionen gefasst werden. Wer also alles haben will importiert "amiga", wer differenzierter arbeiten möchte darf die Libraries einzeln importieren.

Mit der neuen Monkey Version (derzeit V71b) muss ich auch mit der Portierung von Trans (transcc) von vorn beginnen und es muss derzeit immer noch unter Windows via AmiDevCpp für Amiga und Derivate kompiliert werden. Die Liste sieht folgendes vor:

- AmigaOS3
- AmigaOS4
- AROS32
- AROS64
- AROSPPC
- MOS

...funktionieren tun derzeit die Ziele AOS3, AROS32 und AROSPPC

eine Config für alle Ziele sieht derzeit so aus:
Zitat:
AMIDEVCPP_PATH = "C:AmiDevCPP"
BUILD_AOS3 = "true"
BUILD_AOS4 = "true"
BUILD_AROS32 = "true"
BUILD_AROS64 = "true"
BUILD_AROSPPC = "true"
BUILD_MOS = "true"


Sobald mehr geht als die substanziellen Spracheigenschaften (Class, Function, Method etc.) werde ich eine neue Version hochladen.

--
PanzerZ| Monkey
 
bruZard   Nutzer

24.02.2012, 21:20 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Monkey 0.26 kann jetzt von http://www.sedm.de/monkey/amonkey/AMonkey026.zip heruntergeladen werden. Hier das Changelog:

  • geändert : Die Mojo-Reimplementation heisst jetzt "Amiga"
  • geändert : Das Target selbst heisst jetzt auch "Amiga" und nicht mehr "AOS3"
  • geändert : Das Target besitzt nun ein eigenes Config File
  • geändert : Man kann jetzt für jede einzelne Plattform angeben ob sie kompiliert werden soll oder nicht. Auch die Aros Ziele sind nun einzeln definierbar
  • geändert : Der Pfad zu den AmiDevCPP Binaries wird jetzt in der Config angegeben und muss nicht mehr in die Windows PATH Variable eingetragen werden
  • geändert : Die Monkey Demo wird nicht mehr benötigt. Das oben verlinkte Archiv beinhaltet alles was man benötigt um Monkey Programme für den Amiga unter Windows zu kompilieren. Einzig AmiDevCPP muss noch heruntergeladen werden.
  • beachte : Zwar können alle Ziele in der Config auf True gesetzt werden, aber nur AmigaOS3.x, Aros386 und ArosPPC werden derzeit fehlerfrei übersetzt.
  • beachte: Bis "Trans" komplett auf Amiga/MorphOS/Aros portiert ist, muss die Datei config.winnt.txt angepasst werden, die Datei "config.amiga.txt" ist erst relevant wenn sie auf einem Amiga gelesen wird.

Beachte: Es gibt noch keine unabhängige Amiga/MOS/Aros Version von Monkey. Ich schätze dass diese mit Version 0.3 verfügbar sein wird. Auch Amiga Monkey 0.26 benötigt noch Windows um für AmigaOS3.x, AROSi386 und AROS PPC zu kompilieren.

Nebenbei:
Ich könnte Hilfe gebrauchen. Ich suche Folks die Bock auf eine neue OOP Sprache haben und mir helfen wollen Module für diese zu entwickeln. Keine Ahnung ... vielleicht mag jemand MUI kapseln, oder ein anderer OpenGL ... what ever.
Monkey importiert C++ Sourcen in einem sogenannten "Extern Block", in diesem weißt man Basic Funktionen die Namen der Funktionen im CPP zu. Es können auch ganze Klassen importiert werden und die Methoden für Monkey bekannt gemacht werden.

Wer Interesse hat soll mir einfach eine Mail schicken oder hier antworten.
--
PanzerZ| Monkey
 
bruZard   Nutzer

13.02.2012, 21:56 Uhr

[ - Direktlink - ]
Thema: Quo vadis, Amiga im Jahr 2008?
Brett: Amiga, AmigaOS 4

x86 funktioniert so gut _weil_ es alles mitschleppt was 1970 schon neu war. Diese Prozessor-Serie ist so bekloppt abwärts kompatibel dass man weinen könnte. Zudem interessiert es 2012 keinen Programmierer mehr was da noch im Prozzi schlummert, er verwendet extrem abstrahierte Frameworks die ihn nicht mal mehr in die Nähe der Hardware lassen und das ist auch gut so.
--
PanzerZ| Monkey
 
bruZard   Nutzer

13.02.2012, 20:46 Uhr

[ - Direktlink - ]
Thema: AmigaOne X1000 im Vergleich zu anderer PPC-Hardware
Brett: Amiga, AmigaOS 4

Der Thread-Titel fragt jetzt aber schon etwas anderes als Eure Beiträge beinhalten. Da will jemand wissen wie man den X1K mit anderer PPC Hardware vergleichen kann ...

Meine Meinung: Es ist egal. Das ist alles gleich lahm und unausgegoren. Zudem spielt der Prozzi keine Rolle. Ob da nun ein ARM, ein x86 oder 68k regiert ist sowas von Banane. Wenn das alles exordinär teuer und in so kleinen Nutzerkreisen passiert interessieren sich kompetente Entwickler einen Dreck für das System.

Klar kann man jetzt die Gardinen zumachen, den Aluminiumhut aufsetzen und die Leistung von IBrowse auf einem SAM mit der Leistung auf einem X1K betrachten. Man wird subjektiv feststellen dass man nichts feststellt.

--
PanzerZ| Monkey
 
bruZard   Nutzer

12.02.2012, 20:41 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Status:

Der Monkey Compiler "Trans" kann sich nun selbst fehlerfrei für AmigaOS3.x kompilieren. Leider läuft das erzeugte Binary aber noch nicht. Es wird noch die Trans-Version in die Shell ausgegeben, dann implodiert das System in einem hübschen Guru, hier muss noch einiges angepasst werden.
Wenn das aber irgendwann funktioniert benötigt man kein Windows mehr um Monkey für AOS3.x zu verwenden. Es wird dann halt notwendig sein den g++ nebst OS3.x NDK auf dem Rechner zu haben um Monkey Code in native Binaries zu kompilieren.
Für AROS, MorphOS und AOS4.x werden die Anpassungen vorgenommen sobald Trans auf AOS3.x läuft.

Noch eine andere (marginale) Änderung:
Viele haben mich gefragt warum das Target "aos3" heißt wenn es doch für diverse Amiga Derivate kompiliert. Ohne jetzt die Story nochmal aufzuschreiben: Ich habe das Target und das Modul geändert so dass sie nun beide "AMIGA" heissen. Bevor hier jemand fragt warum wer für AROS das AMIGA Target wählen soll: Mach es einfach, es funktioniert ;-)
Ja, Amiga User sind manchmal etwas "Monk" wenn es um schwabbelige Bezeichner geht ;-)

Da ich, wie bereits erwähnt, "Mojo" nicht portieren darf (nicht Public Domain) heißt mein Modul (welches Mojo nachahmt) "amiga", vorher hieß es "aos3". In Zukunft muss also "amiga" importiert werden anstelle von "aos3" ... leicht zu merken und es sind ja noch ein paar Tage bis ich Monkey native auf AOS3.x habe so dass sich jeder durch beständiges, wiederholtes lesen daran gewöhnen kann. Und "Ja", auch MorphOS und AROS User müssen dann "Import amiga" schreiben ;-) ;-)

stay tuned...
--
PanzerZ| Monkey
 
bruZard   Nutzer

14.12.2011, 18:42 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

wawa fragte im a1k nochmal nach einer genaueren Beschreibung der Installation. Natürlich will ich Euch diesen Beitrag nicht vorenthalten.


  • 1. Das Ganze funktioniert nur wenn Du einen Windows-Rechner hast auf dem Du kompilieren kannst.

  • 2. Du benötigst:

  • 3. Installiere AmiDevCpp
  • 4. Entpacke die Monkey Demo irgendwo hin
  • 5. Entpacke das Amiga Target und kopiere den Inhalt über die Monkey Installation, es werden einige Dateien ersetzt und andere hinzugefügt.
  • 6. Füge den Pfad zu AmiDevCppusrlocalamigabin der Windows Umgebungsvariable PATH hinzu. Unter Windows 7 geht das mit Rechtsklick auf "Computer" -> Eigenschaften -> Erweiterte Systemeinstellungen -> Umgebungsvariablen. Dort in der unteren Liste die Variable PATH suchen, auf "Bearbeiten" klicken und an das Ende der Zeile den Pfad anhängen. Bitte daran denken dass einzelne Variablen durch ein Semikolon getrennt werden. Also erst ein Semikolon ans Ende der Zeile und dann den Pfad eintragen. Ggf. den Rechner neu starten.
  • 7. "Monk" aus dem Monkey-Verzeichnis starten
  • 8. Trage folgenden Source ein:
    code:
    import amigaos3
    
    Function Main()
      Print "Hallo Amiga!"
    End

  • 9. sichere den Quelltext irgendwo
  • 10. Klicke auf das Symbol mit der Rakete die nach oben zeigt
  • 11. Wähle als Ziel "aos3" aus und klicke auf "Build"
  • 12. wenn er kompiliert hat findest Du im Verzeichnis in das Du den Source gespeichert hast einen neuen Ordner mit dem Postfix ".build". Darin einen weiteren Ordner namens "aos3" und darin die Executables für OS3.x, AROSi386 und AROS-PPC
  • 13. kopiere "appAOS3" auf Deinen Amiga und starte das Programm


Obiges Beispiel ist Standard Monkey Source. Ich empfehle aber den "Mojo Style" da der prinzipiell von jedem Monkey-Coder da draussen verwendet wird. Dieser ist objektorientiert und das obige Beispiel sähe dann so aus:
code:
import amigaos3

Class HalloAmiga Extends App
  Field hallo:String

  Method OnCreate()
    hallo = "Hallo Amiga"
  End

  Method OnUpdate()
    ' leer, es gibt nichts zu "updaten"
  End

  Method OnRender()
    Print hallo
  End
End

Function Main()
  New HalloAmiga
End


Kommentare werden mit dem ' eingeleitet, mehrzeilige Kommentare startet man mit #rem und schliesst sie mit #endrem ab.
--
PanzerZ |
methusalem | basic

[ Dieser Beitrag wurde von bruZard am 14.12.2011 um 18:42 Uhr geändert. ]
 
bruZard   Nutzer

13.12.2011, 21:22 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

0.25 macht Monkey bunt!
Download AmigaMonkey 0.25

Changes:
Zitat:
12/13/2011 v0.25
added : class Image
added : Image.Width
added : Image.Height
added : Image.Depth
added : Image.Load:Void(filename:String, remapColors:Bool = False)
added : Image.Free:Void()
added : LoadImage:Image(filename:String)
added : LoadImage:Image(filename:String, remapColors:Byte)
added : Window.DrawImage:Void(img:Image, x:Int, y:Int)
added : DrawImage:Void(win:Window, img:Image, x:Int, y:Int)
added : DrawImage:Void(img:Image, x:Int, y:Int) [Mojo Style]
added : FreeImage:Void(img:Image)
added : Window.SetScreen:Void(pubScreen:String = "workbench")
added : SetScreen:Void(win:Window, pubScreen:String = "workbench")
added : SetScreen:Void(pubScreen:String = "workbench") [Mojo Style]
added : SetUpdateRate:Void(hertz:Int) [only with Mojo Style]
added : Window.getWidth:Int()
added : Window.getHeight:Int()
added : WindowWidth:Int(win:Window)
added : WindowHeight:Int(win:Window)
added : DeviceWidth:Int() [Mojo Style]
added : DeviceHeight:Int() [Mojo Style]
changed : MilliSecs() now returns a 64 bit value
changed : CreateWindow() now has the optional parameter "borderless"
fixed : ClsColor() now affects the BPen
fixed : in Mojo-Style now the workbench will be locked

Bild: http://www.sedm.de/monkey/drawImage.jpg
Der Source zum Bild:
code:
Import amigaos3

Class myApp extends App
	Field mx:Int
	Field my:int
	Field time:Int
	Field FPS:Int
	Field tmpFPS:Int
	Field tmpTime:int
	Field lastFPS:Int
	Field fnt:Font
	Field lastX:Int
	Field lastY:Int
	Field img:Image
	Field bg:Image
	
	Method OnCreate()
		fnt = LoadFont("helvetica.font", 16)
		img = LoadImage("amiga.data/monkey.iff")
		bg = LoadImage("amiga.data/background.jpg")
		
		SetFont(fnt)
		AppTitle("draw with Monkey")
		
		SetColor(255, 255, 0)
		ClsColor(200, 90, 0)
		Cls()
				
		lastX = 0
		lastY = 0
		
		SetUpdateRate(60)
	End
	
	Method OnUpdate()
		mx = MouseX()
		my = MouseY()
		tmpFPS = tmpFPS + 1
		tmpTime = MilliSecs()
		
		if tmpTime - time > 1000
			FPS		= tmpFPS
			tmpFPS	= 0
			time 	= tmpTime
		EndIf
	End
	
	Method OnRender()
		DrawImage(bg, 0, 0)
		
		if MouseDown() 
			DrawCircle(mx-1, my-1, 3)
			if lastX > 0 And lastY > 0 DrawLine(lastX, lastY, mx, my)
			lastX = mx
			lastY = my
		EndIf
		
		if tmpTime <> time DrawText("FPS: " + FPS, 10, 10)
		
		DrawImage(img, mx, my)
	End
End

Function Main()
	New myApp
End

Diesen Source kann man noch nicht für andere Targets übersetzen da Monkey Fonts nicht kennt, sondern dort ein Image lädt und die Chars als Frame behandelt. Das Amiga Target lädt einen AmigaFont als "DiskFont". Desweiteren imitiert das Amiga Target noch nicht das Verhalten von Mojo was das Filesystem angeht. Mojo erwartet Dateien in "[Name des Projekts].data". Innerhalb dieses Raums kann man dann beliebige Verzeichnisse verwenden. Das Amiga Target berücksichtigt dies noch nicht.

Prinzipiell könnt man jetzt schon Spiele mit Monkey für Amiga programmieren, leider gibt es noch keine Masken oder gar Alpha für Images und Tastatureingaben werden noch nicht berücksichtigt. Wer aber nur mit der Maus und mit rechteckigen Images klar kommt darf loslegen ;)

Ein weiterer Stolperstein ist dass Monkey sich verhält wie sich Systeme neben dem Amiga halt verhalten: Sie malen die Spielegrafik in jedem Frame neu. Mein Rechner malt Crysis2 in einer Sekunde 120 Mal neu. Ein Amiga schafft das leider nicht (außer er ist ein aktueller PPC Rechner oder eine WinUAE Emulation). Es wird noch zahlreiche Änderungen geben um zu gewährleisten dass man mit Monkey auch Spiele schreiben kann die auf einem 14MHz A1200 noch hinreichend laufen ... aber zunächst soll es erstmal komplett sein und funktionieren.

Auf zur 0.26 ... es gibt viel zu tun!
--
PanzerZ |
methusalem | basic
 
bruZard   Nutzer

11.12.2011, 22:08 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

danke fürs testen Jungs ;)

Version 0.24 ist am Start.

Zitat:
12/11/2011 v0.24
added : Window.DrawLine:Void(x1:Int, y1:Int, x2:Int, y2:Int)
added : DrawLine:Void(win:Window, x1:Int, y1:Int, x2:Int, y2:Int)
added : DrawLine:Void(x1:Int, y1:Int, x2:Int, y2:Int) [Mojo Style]
added : Window.DrawEllipse:Void(x:Int, y:Int, width:Int, height:Int)
added : DrawEllipse:Void(win:Window, x:Int, y:Int, width:Int, height:Int)
added : DrawEllipse:Void(x:Int, y:Int, width:Int, height:Int) [Mojo Style]
added : Window.DrawOval:Void(x:Int, y:Int, width:Int, height:Int)
added : DrawOval:Void(win:Window, x:Int, y:Int, width:Int, height:Int)
added : DrawOval:Void(x:Int, y:Int, width:Int, height:Int) [Mojo Style]
added : Window.DrawCircle:Void(x:Int, y:Int, radius:Int)
added : DrawCircle:Void(win:Window, x:Int, y:Int, radius:Int)
added : DrawCircle:Void(x:Int, y:Int, radius:Int) [Mojo Style]
changed : at start Monkey stets BPen to pen number 0


Ich weiß dass "DrawEllipse" und "DrawOval" dasselbe tun, aber wenn Monkey da redundant ist muss ich es auch sein ;)

Bild: http://www.sedm.de/monkey/linesAndCircles.jpg

Der Code zum Bild:
code:
Import amigaos3

Class myApp extends App
	Field mx:Int
	Field my:int
	Field time:Int
	Field FPS:Int
	Field tmpFPS:Int
	Field tmpTime:int
	Field lastFPS:Int
	Field fnt:Font
	Field lastX:Int
	Field lastY:Int
	
	Method OnCreate()
		fnt = LoadFont("helvetica.font", 16)
		SetFont(fnt)
		AppTitle("draw with Monkey")
		SetColor(255, 255, 0)
		ClsColor(200, 90, 0)
		Cls()
		
		lastX = 0
		lastY = 0
	End
	
	Method OnUpdate()
		mx = MouseX()
		my = MouseY()
		tmpFPS = tmpFPS + 1
		tmpTime = MilliSecs()
		
		if tmpTime - time > 1000
			FPS		= tmpFPS
			tmpFPS	= 0
			time 	= tmpTime
		EndIf
	End
	
	Method OnRender()
		if MouseDown() 
			DrawCircle(mx-1, my-1, 3)
			if lastX > 0 And lastY > 0 DrawLine(lastX, lastY, mx, my)
			lastX = mx
			lastY = my
		EndIf
		
		if tmpTime <> time DrawText("FPS: " + FPS + " Time: " + time, 10, 10)
	End
End

Function Main()
	New myApp
End


http://www.sedm.de/monkey/AmigaTarget.zip >> Download Amiga Monkey Target 0.24 (ca. 1.1MB)
--
PanzerZ |
methusalem | basic
 
bruZard   Nutzer

10.12.2011, 20:16 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Dank der Hilfe und der extremen Geduld einiger a1k Member kann ich heute Version 0.23 präsentieren. Neu sind die Funktionen MilliSecs(), LoadFont(), SetFont() und DrawText().
Zitat:
12/10/2011 v0.23
added : MilliSecs:Int()
added : Window.LoadFont:Font(fontName:String, size:Int)
added : Window.LoadFont:Font(fontName:String, size:Int, style:Int)
added : Window.LoadFont:Font(fontName:String, size:Int, style:Int, flags:Int)
added : Window.SetFont(font:Font)
added : Window.DrawText(text:String, x:Int, y:Int)
added : LoadFont:Font(win:Window, fontName:String, size:Int)
added : LoadFont:Font(win:Window, fontName:String, size:Int, style:Int)
added : LoadFont:Font(win:Window, fontName:String, size:Int, style:Int, flags:Int)
added : LoadFont:Font(fontName:String, size:Int) [Mojo Style]
added : LoadFont:Font(fontName:String, size:Int, style:Int) [Mojo Style]
added : LoadFont:Font(fontName:String, size:Int, style:Int, flags:Int) [Mojo Style]
added : SetFont(win:Window, font:Font)
added : SetFont(font:Font) [Mojo Style]
added : DrawText(win:Window, text:String, x:Int, y:Int)
added : DrawText(text:String, x:Int, y:Int) [Mojo Style]

LoadFont()
LoadFont() lädt derzeit nur Amiga Fonts per OpenDiskFont(), die überladenen Methoden für AFont.load() sind noch nicht in Monkey implementiert. Derzeit kann man nur den Namen und die Größe des gewünschten Fonts angeben.

SetFont()
LoadFont() und SetFont() müssen derzeit explizit aufgerufen werden wenn man mittels DrawText() etwas ins Fenster schreiben möchte. In Zukunft wird Monkey aber einen Default-Font laden (gibt es auf AOS4, AROS und MOS noch ROMFONT?)

DrawText()
Diese Funktion verwendet zwar schon den APen, der BPen ist aber zufällig. Wird noch geändert.

Hier ein Bild mit dem aktuellen Entwicklungsstand:
Bild: http://www.sedm.de/monkey/drawText.jpg

...und hier der Monkey Source im "mojo style" der dieses Bild erzeugt hat:
code:
Import amigaos3

Class myApp extends App
	Field mx:Int
	Field my:int
	Field time:Int
	Field FPS:Int
	Field tmpFPS:Int
	Field tmpTime:int
	Field lastFPS:Int
	Field fnt:Font
	
	Method OnCreate()
		fnt = LoadFont("helvetica.font", 16)
		SetFont(fnt)
		AppTitle("draw with Monkey")
		SetColor(255, 255, 0)
		ClsColor(90, 120, 200)
		Cls()
	End
	
	Method OnUpdate()
		mx = MouseX()
		my = MouseY()
		tmpFPS = tmpFPS + 1
		tmpTime = MilliSecs()
		
		if tmpTime - time > 1000
			FPS		= tmpFPS
			tmpFPS	= 0
			time 	= tmpTime
		EndIf
	End
	
	Method OnRender()
		if MouseDown() DrawRect(mx-1, my-1, 3, 3)
		if tmpTime <> time DrawText("FPS: " + FPS + " Time: " + time, 10, 10)
	End
End

Function Main()
	New myApp
End


Download AmigaTarget for Monkey v0.23 (~1.1MB)


Vielen Dank nochmal an alle Helfer, ohne Euch wäre ich noch nicht so weit!
--
PanzerZ |
methusalem | basic
 
bruZard   Nutzer

07.12.2011, 20:30 Uhr

[ - Direktlink - ]
Thema: Gesucht: Sekundentakt
Brett: Programmierung

Ich bekomme jetzt Daten aber die scheinen nicht zu stimmen. 9FPS in einem Programm das fast nichts tut? Zudem geht der Wert alle naselang in den negativen Bereich obwohl die Variable als unsigned deklariert ist.

Ich brauche doch einfach nur eine Möglichkeit zu jedem Zeitpunkt die Millisekunden zu erhalten der seit System- oder Programmstart vergangen sind :(
--
PanzerZ |
methusalem | basic
 
bruZard   Nutzer

07.12.2011, 16:57 Uhr

[ - Direktlink - ]
Thema: Gesucht: Sekundentakt
Brett: Programmierung

Wenn ich auf struct Device* TimerBase; umstelle läufts. Vielen Dank nochmal!
--
PanzerZ |
methusalem | basic
 
bruZard   Nutzer

07.12.2011, 16:44 Uhr

[ - Direktlink - ]
Thema: Gesucht: Sekundentakt
Brett: Programmierung

ok, einfach mal kompilieren ist nicht:

Zitat:
m68k-amigaos-g++ timer.cpp -O6 -o timer

timer.cpp:5: error: conflicting declaration 'Library*TimerBase' /usr/local/amiga/lib/gcc/m68k-amigaos/3.4.0/../../../../m68k-amigaos/sys-include/proto/timer.h:12: error: 'TimerBase' has a previous declaration as 'Device*TimerBase'
timer.cpp:5: error: type mismatch with previous external decl of 'Library*TimerBase' /usr/local/amiga/lib/gcc/m68k-amigaos/3.4.0/../../../../m68k-amigaos/sys-include/proto/timer.h:12: error: previous external decl of 'Device*TimerBase'
timer.cpp:5: error: declaration of 'Library*TimerBase' /usr/local/amiga/lib/gcc/m68k-amigaos/3.4.0/../../../../m68k-amigaos/sys-include/proto/timer.h:12: error: conflicts with previous declaration 'Device*TimerBase'

timer.cpp: In function 'int main()':
timer.cpp:22: error: cannot convert 'Library*' to 'Device*' in assignment
timer.cpp:51:2: warning: no newline at end of file


--
PanzerZ |
methusalem | basic
 
bruZard   Nutzer

07.12.2011, 16:38 Uhr

[ - Direktlink - ]
Thema: Gesucht: Sekundentakt
Brett: Programmierung

Hey, danke thomas. Ich schaue mir das mal an.
--
PanzerZ |
methusalem | basic
 
bruZard   Nutzer

06.12.2011, 22:19 Uhr

[ - Direktlink - ]
Thema: Gesucht: Sekundentakt
Brett: Programmierung

Dann hakelt der m68k Crosscompiler, oder das AmiDevCpp Paket ist nicht vollständig. Der g++ meckert jedenfalls dass GetSysTime() weder deklariert noch definiert wurde.
Ich mache mich da mal schlau. Trotzdem vielen Dank für Deine Hilfe!

--
PanzerZ |
methusalem | basic
 
bruZard   Nutzer

06.12.2011, 22:07 Uhr

[ - Direktlink - ]
Thema: Gesucht: Sekundentakt
Brett: Programmierung

GetSysTime existiert im OS3.x NDK nicht
--
PanzerZ |
methusalem | basic
 
bruZard   Nutzer

06.12.2011, 21:40 Uhr

[ - Direktlink - ]
Thema: AOS3/AROS Monkey Target
Brett: Amiga, AmigaOS 4

Version 0.22 ist nun online.

Neu ist zunächst die Änderung an der Datei "install.txt" welche jetzt "readme.txt" heißt. In dieser Datei gibt es nun Links zu den benötigten Dateien, Hints zu Sachen welche wo nicht funktionieren, und was man derzeit benötigt um Monkey Code zu schreiben und zu kompilieren:
Zitat:
AmigaTarget is a new compiler target for the new programming language "Monkey". You can get the
public domain version of Monkey from http://www.monkeycoder.co.nz/file/get.php?file=/Products/demos/MonkeyDemo45c.zip.

with this target you have the ability to compile a Monkey code for Amiga m68k (OS3.x required)
and for the targets AROSi386 and AROS-PPC.

this version is Alpha! at this time there is no Monkey codes wich you can compile for Amiga targets. Read the file
changes.txt to know wich functions are currently implemented.
"Monkey AmigaTarget" builds still run on a naked Amiga1200 with OS3.1

Requirements:
- WindowsXP or newer
- AmiDevCpp from http://amidevcpp.amiga-world.de/AmiDevCpp/info/AmiDevCpp_graceful_Bulldozer_v098_Setup.exe.php
- Monkey as demo from http://www.monkeycoder.co.nz/file/get.php?file=/Products/demos/MonkeyDemo45c.zip or the full version

Installation:
1. get Monkey Demo from http://www.monkeycoder.co.nz/file/get.php?file=/Products/demos/MonkeyDemo45c.zip
2. extract Monkey Demo
3. extract the AmigaTarget.zip Archive over the Monkey direćtory
4. install AmiDevCpp from http://amidevcpp.amiga-world.de/AmiDevCpp/info/AmiDevCpp_graceful_Bulldozer_v098_Setup.exe.php
5. add the AmiDevCpp path ([AMIDEVCPP]usrlocalamigabin) to your windows path variable

Ich weiß dass mein Englisch Scheisse ist, wer es korrigieren möchte ist herzlich eingeladen ;)

Die wichtigen Änderungen finden sich in der changes.txt:
Zitat:
12/06/2011 v0.22
added : ready to start winnt_config.txt to /bin/
added : Window.AppTitle:Void(title:String)
added : AppTitle:Void(win:Window, title:String)
added : AppTitle(title:String) [Mojo Style]
added : Window.DrawRect:Void(x:Int, y:Int, width:Int, height:Int)
added : DrawRect(win:Window, x:Int, y:Int, width:Int, height:Int)
added : DrawRect(x:Int, y:Int, width:Int, height:Int) [Mojo Style]
added : SetGraphicsMode:Void(mode:Int)
added : PNG Icon for AOS3 executables
changed : Plot() now called DrawPoint()
changed : added -noixemul to compiler options
changed : removed the targets AmigaOS4.x, MorphOS and AROS-64Bit
changed : /bin/winnt_config.txt is prepared. there is no more need to alter them.
fixed : MouseDown() was active at start
fixed : ClsColor() has changed the current pen


Das Archiv für die Version 0.22 kann wie gehabt unter http://www.sedm.de/monkey/AmigaTarget.zip herunter geladen werden.

Im Archiv enthalten sind Executables für AmigaOS3.x, AROSi386 und AROS-PPC.

Der "Mojo Style" läuft nun super was überhaupt notwendig war um irgendwann bestehende Monkey Codes zu kompilieren. Desweiteren wurden ein paar Fehler ausgebügelt. Hinzugekommen ist "DrawRect" welches es gestattet ein Rechteck in der aktuell gesetzten Farbe in das Fenster zu malen. Dieses Fenster kann nun automatisch erstellt werden (Mojo Style) oder selbst definiert werden indem man SetGraphicsMode() aufruft. Es gilt zu beachten dass im Mojo Style kein Fenster als Parameter für Funktionen angegeben werden muss. Im Amiga Mode muss dies aber passieren damit Monkey weiß welches Fenster angesprochen wird. Eine genaue Dokumentation dafür wird noch erstellt.

Bild: http://www.sedm.de/monkey/AmigaTarget_DrawRect.jpg

Wie man sieht funktioniert der Timer noch nicht. Das Timer-Device ist aber auch ein Biest ;)

[ Dieser Beitrag wurde von bruZard am 06.12.2011 um 22:27 Uhr geändert. ]
 
bruZard   Nutzer

06.12.2011, 19:34 Uhr

[ - Direktlink - ]
Thema: Gesucht: Sekundentakt
Brett: Programmierung

Sorry wenn ich diesen Zombie-Thread nochmal rauskrame, aber ich bekomme das mit dem Timer Device einfach nicht auf die Reihe. Könnte mal ein Fachmann den hier gezeigten "Uhren-Source" eindampfen und mir zeigen wie ich die vergangenen Millisekunden erhalte?

Ich habe versucht den hier gezeigten Source anzupassen, bin aber kläglich gescheitert. Der Overkill an Strukturen und Funktionsaufrufen ist einfach irre und für einen Windows-Programmierer kaum verständlich :look:
--
PanzerZ |
methusalem | basic
 
 
-1- 2 3 4 5 6 Letzte Ergebnisse der Suche: 307 Treffer (30 pro Seite)

Suchbegriffe
Schlüsselwörter      Benutzername
Suchoptionen
Nur in diesen Foren suchen
   nur ganze Wörter
Nur Titel anzeigen
alle Treffer anzeigen

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.