Action!-Fragen

1, 2

Action!-Fragen

von eda70 » Di 11. Mai 2010, 16:23
1. Wie kann ich denn herausfinden, welche Version ich nutze?

2. Eine PROCedur kann ich immer erst später im Code aufrufen, also das funktioniert nicht, oder:
Code: Alles auswählen
proc1()
return
proc2()
  proc3()
return
proc3()
return
proc main
  proc1
  proc2
return


3. Wie bekommt man eigentlich ein Listing am einfachsten aus einem Texteditor in den Action!-Editor?

4. Wenn ich auf Speicherzellen zugreifen will, kann ich ja einfach eine Variable drauf legen.
Wie geht das bei einem Bereich, also bspw. dem Bildschirmspeicher (BS).
Mit BSADR=88 habe ich die Adresse des BS.
Wenn ich jetzt an 165.er Stelle des BS etwas lesen und dann schreiben will, kann ich das mit
A= PeekC(BSADR+165): A=A+$8080: PokeC(BSADR+165,A)
machen. Das klappt. Aber das müßte doch noch einfacher gehen, oder?
Warum geht eigentlich PokeC(BSADR+165, PeekC(BSADR+165)+$8080) nicht? Zumindest hat es bei mir nicht funktioniert.

Re: Action!-Fragen

von FlorianD » Di 11. Mai 2010, 20:38
1. Im Monitor tippen
Code: Alles auswählen
?$B000 [RETURN]


Dann kommt was wie
Code: Alles auswählen
45055,$B000 = 0 $0730 48 1840^

die 0 rechts neben dem = bedeutet Version 3.0
steht da 6 heißt das 3.6

2. Da Action! ein One-Pass-Compiler ist, können Proceduren nur Proceduren aufrufen, die vor ihnen im Speicher liegen.

3. was für ein Editor? Ein normaler auf dem Computer, während Action! im Emulator läuft? Geht meines Wissens leider nicht.

4. In den Klammern der Procedur kann man zwar rechnen, aber keine Funktionen aufrufen.
a=gerade(1+2) geht
a=gerade(1+rand()) geht nicht

Re: Action!-Fragen

von eda70 » Di 11. Mai 2010, 22:07
Vielen Dank schon mal für die Antworten.

1. Im Monitor getippt:
Code: Alles auswählen
45055,$B000 = | $0102 2 258
Das "|"-Zeichen ist das auf der B-Taste.
Was sagt mir das jetzt? In der Statuszeile des Editors steht "ACTION! (c)1983 ACS"

2. Ok, das habe ich mir schon fast gedacht, als es nicht ging. (Wollte nur den Fehler vorm Rechner ausschließen.) ;)

3. Ja ein normaler Windows-(oder je nach Gusto)-Editor. Mit dem AtrUtil geht es. Man kann via 'insert txt' ein vorher gespeichertes Textfile in ein ATR bekommen, was Action! dann lesen kann. Der Tabulator wird aber für Einrückungen nicht erkannt. Und auch die Sonderzeichen gehen halt nicht.
Mit view kann man mit dem Tool die *.act-Files eines ATR einsehen und im Editor öffnen, aber nicht direkt bearbeiten.
Sonderbarerweise kann das Tool nach dem man ein txt-file eingefügt hat, das ATR nicht mehr öffnen. Im Emu wird das ATR aber scheinbar problemlos gelesen.

4. Ah, danke. Das erklärt, das es nicht geklappt hat. Allerdings könnte ich mir in meinem Beispiel einen Schritt sparen:
A= PeekC(BSADR+165): PokeC(BSADR+165,A+$8080)

Oder gibt es in Action! eine Funktion zum Setzten bzw. Löschen von Bits?

Gibt es ausser dem von Walter übersetzten Buch und dem BBS-Tut noch weitere Dokus?
Das Buch hat meiner Meinung nach zu wenig Beispiele und das Tut ist halt doch sehr knapp.

Re: Action!-Fragen

von CharlieChaplin » Di 11. Mai 2010, 22:20
Hmm,
Stichwort Action, meinereiner hat drei Action Tutorials in der Sammlung, ob die brauchbar sind kann ich als nicht-Programmierer nicht beurteilen. Daneben habe ich noch zwei versch. Action-Mags (mit Programmierecken und zahlreichen Beispielen) in meiner Sammlung, eines stammt von Carten Strotmann, das andere von einem Club aus Lübeck. Last not least sind noch ca. 20 versch. Images gefüllt mit Action Sources und ein wenig Kleinkram vorhanden... (zusammen, ungepackt ca. 6MB; gezippt halt weniger)

An PDF`s habe ich 1) das Action-Programmiersystem (Abbuc-Handbuch, von Walter Lojek ca. 3MB), 2) The Action Toolkit (von OSS, 872KB), 3) Action Reference Manual (von OSS, ca. 23MB) und 4) Action noch schneller (aus CK 1986, Peter`s Assemblerecke, Peter Finzel, 410KB). Wobei es die meisten dieser PDF`s bei Carsten Strotmann`s Wiki oder im atari-age forum gibt. Lass mich wissen, wenn du etwas davon haben willst...
-Andreas Koch.

Re: Action!-Fragen

von eda70 » Di 11. Mai 2010, 22:36
@CharlieChaplin: Vielen Dank für das Angebot, ich melde mich per mail.

Hier auch noch ein interessanter Link rund um Action!

Re: Action!-Fragen

von cas » So 16. Mai 2010, 11:15
eda70 hat geschrieben:Oder gibt es in Action! eine Funktion zum Setzten bzw. Löschen von Bits?


Von http://atariwiki.strotmann.de/wiki/Wiki ... 0Functions

Es gibt bestimmt auch schnellere Versionen in Assembler:

Code: Alles auswählen
;----------------------------------
; set a bit in a byte

BYTE FUNC SetBit (BYTE value,bit)

  BYTE dumm

  dumm=1
  dumm==LSH bit
  value==%dumm

RETURN (value)

;----------------------------------
; clears a bit in a byte

BYTE FUNC ClearBit (BYTE value,bit)

  BYTE dumm

  dumm=1
  dumm==LSH bit
  dumm==!$FF
  value==&dumm

RETURN (value)

;-----------------------------------
; query if bit is set

BYTE FUNC AskBit (BYTE value,bit)

  BYTE dumm
 
  dumm=1
  dumm==LSH bit
  value==&dumm
  IF value>0 THEN
   value=1
  FI

RETURN (value)

Re: Action!-Fragen

von eda70 » So 16. Mai 2010, 21:21
Danke für die Infos. Die Funktionen hate ich mittlerweile auch schon entdeckt.
Ich wollte mit dem Setzen von Bits (eigentlich dem bit 7) Zeichen invertieren.
Mache jetzt ein XOR $80. Das hat den Vorteil, beim ersten Aufruf wird das Bit gesetzt und beim zweiten wieder gelöscht.

Re: Action!-Fragen

von eda70 » Mi 19. Mai 2010, 17:01
eda70 hat geschrieben:Wenn ich jetzt an 165.er Stelle des BS etwas lesen und dann schreiben will, kann ich das mit
A= PeekC(BSADR+165): A=A+$8080: PokeC(BSADR+165,A)

es geht auch:
Code: Alles auswählen
CARD POINTER pbs
    ...
    pbs=BSADR+165
    pbs^== xor $8080
    ...

Die Pointer sind cool 8)
Täuscht mich das oder ist die Version schneller als das peekc und pokec?

Re: Action!-Fragen

von cas » Fr 21. Mai 2010, 22:14
eda70 hat geschrieben:Täuscht mich das oder ist die Version schneller als das peekc und pokec?


PokeC und PeekC sind Funktionsaufrufe und daher um ein vielfaches langsamer in ACTION! (und anderen C-ähnlichen Sprachen). Ein POINTER Zugriff kann in 2-3 Maschinensprachebefehle übersetzt werden, ein Funktionsaufruf mit Parameterübergabe sind sicher 10-15 Befehle.

-- Carsten

Re: Action!-Fragen

von eda70 » Di 25. Mai 2010, 22:07
Kann man mit logischen Ausdrücken rechnen?
also sowas:
a= (2=4)+(4=4)
a sollte dann 1 sein (0+1) - (falsch+wahr)
Geht das? Wenn ich ein Ergebnis ausgeben will bekomme ich immer Error 17.

Re: Action!-Fragen

von FlorianD » Mi 26. Mai 2010, 22:15
a= (2=4)+(4=4)
a sollte dann 1 sein (0+1) - (falsch+wahr)

nein, das ist nur wahr (=1) wenn Du sowas wie
if (2=4) or (4=4) then
a=1
else
a=0
fi

sagst.

boolean als Variablentyp gibt es nicht.
+ ist nicht gleich AND

Grüße,
Florian

Re: Action!-Fragen

von eda70 » Mi 25. Mai 2011, 15:15
eda70 hat geschrieben:3. Wie bekommt man eigentlich ein Listing am einfachsten aus einem Texteditor in den Action!-Editor?

Mit Altirra per copy & <paste from clipboard> ...
Sehr nützlich...

Re: Action!-Fragen

von funkheld » Mo 15. Aug 2011, 11:57
Hallo,ich möchte dieses Action testen auf dem Atari-emu.

Wer kann mir bitte sagen welche Atr da zur Verfügung stehen und die auch funktionsfähig sind beim Programm erstellen.
Bitte die ATr für Action die zusammengehören.

danke.

gruss

Re: Action!-Fragen

von Tron04 » Mo 15. Aug 2011, 13:25
funkheld hat geschrieben:Wer kann mir bitte sagen welche Atr da zur Verfügung stehen und die auch funktionsfähig sind beim Programm erstellen.


Hi, eigentlich hast du die notwendigen Links schon bekommen...
-> viewtopic.php?f=10&t=6259&p=48044#p48037

Aber hier nochmal eine kleine Hilfe :D
http://tinyurl.com/3h2ssla

Re: Action!-Fragen

von eda70 » Mo 15. Aug 2011, 13:45
funkheld hat geschrieben:Hallo,ich möchte dieses Action testen auf dem Atari-emu.

Dafür kannst du dein Action!-Modul auslesen, das ROM auf den PC übertragen und dann kann man es auch mit dem Emu nutzen.
Für das Action!-Modul gab es auch eine Diskette: das Action! Toolkit mit hilfreichen Programmbeispielen.
Zum Abspeichern eignet sich jedes eigene ATR.
Ich hoffe, dass beantwortet deine Fragen...

Re: Action!-Fragen

von funkheld » Di 16. Aug 2011, 09:08
Jup, danke. Habe jetzt auf der Polenseite mehrere ATR gefundenVersion 1,2 und 3 und ein Rom.
Welches Acton wird von euch benutzt, sind die Unterschiede gravierend ?

Wo wird das ROM im Altirra reingepackt bzw in welchen Schacht .

danke.

gruss

Re: Action!-Fragen

von dl7ukk » Di 16. Aug 2011, 10:33
Hi
funkheld hat geschrieben:Jup, danke. Habe jetzt auf der Polenseite mehrere ATR gefundenVersion 1,2 und 3 und ein Rom.
Welches Acton wird von euch benutzt, sind die Unterschiede gravierend ?

Wo wird das ROM im Altirra reingepackt bzw in welchen Schacht .

danke.

gruss


links über der Tastatur, aber nur Bit für Bit. :mrgreen:

Re: Action!-Fragen

von mp-one » Di 16. Aug 2011, 10:47
funkheld hat geschrieben:Wo wird das ROM im Altirra reingepackt bzw in welchen Schacht .


Normalerweise über "File|Attach cart.". Ob Action als secondary cart z.B. mit SDX funktioniert, habe ich noch nicht getestet.

Re: Action!-Fragen

von Tron04 » Di 16. Aug 2011, 11:47
funkheld hat geschrieben:Habe jetzt auf der Polenseite mehrere ATR gefundenVersion 1,2 und 3 und ein Rom.
Welches Acton wird von euch benutzt, sind die Unterschiede gravierend ?


Das mit den Action Versionen ist eine kleine Wissenschaft für sich.
Falls Du Dich schlau machen willst, geht es hier weiter:
viewtopic.php?f=10&t=5659

Viel Spaß! :)

Re: Action!-Fragen

von funkheld » Di 16. Aug 2011, 13:35
Ich habe die"Action! (v2).atr" und die "Action! (v3).atr" mal gestartet im Emu und dann erscheint das Bild.
Nach dem D1> habe ich eingegeben" Action.com" und dann kommt "Error".

Dies geschieht bei Ver2 und ver3.

Hmmm..., woran liegt der Fehler..., falsche Eingabe...?

http://www.roboternetz.de/community/alb ... ntid=19666 >>> das geht nicht.

Wo kann man hier Bilder einstellen ?

danke.

gruss
1, 2