atarionline.pl Sztuczki w Action! - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1:
       
      CommentAuthorGeorge
    • CommentTime6 Oct 2009
     
    you must calculate euro=suma*nl AFTER you got input for euro and BEFORE you print the sum.
    • 2: CommentAuthorw1k
    • CommentTime6 Oct 2009
     
    InputS(euro)
    euro=suma*n1
    Print(suma)


    ? :(
    • 3: CommentAuthorGury
    • CommentTime6 Oct 2009
     
    Hi w1k, I suggest you first try examples in Action! environment, because it's accurate :)

    I also noticed your example is missing declaration for n1 and you used floating point number as the value. This is not supported in Action! language directly, so you must use additional library, which supports this facility. I will implement (probably with the help from other developers) floating point number operation in one of the next releases.

    You also must be careful not to mix numbers and strings when calculating on a variable of particular type.
    • 4:
       
      CommentAuthorGeorge
    • CommentTime6 Oct 2009
     
    rather suma=euro*n1 in general.
    and of course take what Gury said into consideration.
    Maybe start with integers first.
    • 5:
       
      CommentAuthorCosi
    • CommentTime6 Oct 2009
     
    Arr, still something's wrong with FOR. I looked into asm code, there's missing:
    inw i
    ldx i
    cpx #11
    jcc for_loop_1

    Actually, former versions didn't lack this code, so maybe something went wrong when you were adding support for STEP?
    • 6: CommentAuthorGury
    • CommentTime6 Oct 2009
     
    Hej Cosi, can you please provide me with the example where this happened?
    • 7:
       
      CommentAuthorCosi
    • CommentTime6 Oct 2009
     
    It was the same example as previously:
    PROC start()
    BYTE i
    PrintE("Test Effectusa!")
    FOR i = 1 TO 10
    DO
    PrintCE(i)
    DO
    RETURN

    When I added the missing code to .asm file, the example compiled successfully.
    • 8: CommentAuthorGury
    • CommentTime6 Oct 2009
     
    Hehe, I made the same mistake. It is the second DO, it should be OD :)
    • 9:
       
      CommentAuthorCosi
    • CommentTime6 Oct 2009
     
    Damn :D
    • 10: CommentAuthorw1k
    • CommentTime6 Oct 2009
     
    MODULE

    BYTE ARRAY euro(5)
    BYTE n1,n2
    PROC Main()

    n1=30.1260

    Put(125)
    Setcolor(2,3,2)
    PrintE("*** SLOVAK EUROCALCULATOR 0.2 ***")
    PutE()
    PrintE("Enter the amount in EURO")

    InputS(euro)
    n2=euro*n1
    PrintBE(n2)

    RETURN


    sorry, i dont understand it.. stupid lame :(( ohh
    • 11: CommentAuthorw1k
    • CommentTime7 Oct 2009
     
    BYTE FUNC LOBYTE(CARD P1)
    RETURN (P1)
    BYTE FUNC HIBYTE(BYTE P1,P2)
    RETURN (P2)
    PROC HLPROGRAM()
    BYTE LO,HI CARD I
    DO
    PUTE()
    PRINTE("insert number")
    I=INPUTC()
    LO=LOBYTE(I)
    HI=HIBYTE(I)
    PRINTB(LO)
    PRINT(" , ")
    PRINTBE(HI)
    OD
    RETURN


    this example doesnt work too
    • 12: CommentAuthorGury
    • CommentTime7 Oct 2009
     
    Hi w1k, it would be better for you to use commands InputB, InputC or InputI, depending on value you are manipulating on. Command InputS handles strings (arrays of characters). And please, for this example use Action! language, without using floating point values, sorry. Speaking of Effectus, it still does not support InputB and such... I hope in some other version.
    • 13: CommentAuthorw1k
    • CommentTime7 Oct 2009
     
    gury - ok :)
    • 14:
       
      CommentAuthorCosi
    • CommentTime19 Oct 2009
     
    Hello Gury!
    Just testing the latest version for Linux and found some bugs:
    - BYTE, CARD and INT are still case-sensitive
    - ARRAY doesn't work at all (!), the compiler outputs:
    ERROR: Undeclared label SET (BANK=0)
    - DO ... OD structures without a loop don't work either:
    ERROR: Undeclared label LOOP0 (BANK=0)
    • 15: CommentAuthorGury
    • CommentTime22 Oct 2009
     
    Hi Cosi,

    Can you please provide me with the examples you used for the test?
    • 16:
       
      CommentAuthorCosi
    • CommentTime22 Oct 2009
     
    I wrote something like:
    PROC Start()
    BYTE ARRAY k
    BYTE i
    CARD j
    INT m
    DO
    k(0)=1
    OD
    RETURN

    and tried to change every keyword to lower case.
    • 17: CommentAuthorw1k
    • CommentTime25 Oct 2009
     
    is effectus support for ALL INPUTS?
    • 18: CommentAuthorGury
    • CommentTime26 Oct 2009
     
    Thanks Cosi. I will check character sensitiveness and fix the problem for the next version.

    w1k - Unfortunatelly the current version supports just InputS command for handling strings, but all other functions (InputB, InputC, InputI...) are queued for implementation in one of the next versions. I am so sorry, but I am very busy lately (and real life), so my projects are on hold now, but I will return to them as soon as possible.

    In meantime, I hope someone will look up at the source code of Effectus and help me with implementing new features.
    • 19: CommentAuthorw1k
    • CommentTime26 Oct 2009
     
    gury: ok and good luck
    • 20: CommentAuthorw1k
    • CommentTime31 Dec 2009
     
    great action reference:

    ->link<-

    what's new with effectus?
    • 21: CommentAuthorGury
    • CommentTime6 Jan 2010
     
    Hello w1k,

    It's great reference, I will read it sometime, thanks. Concernig Effectus... The project is on hold, because I have no time for 2 months now. There is little time after work, but I hope I will return to old track. Till then, Source code is available, so anybody can continue with adding new features or modifying the source and the commands. Of course, I will return and bring more features.

    To you and all, Happy New Year 2010!
    Gury
    • 22: CommentAuthorw1k
    • CommentTime26 Jun 2010
     
    new version available :)
    0.0.14

    ->link<-
    • 23: CommentAuthorw1k
    • CommentTime24 Oct 2011
     
    hello, whats new with effectus?
    • 24:
       
      CommentAuthorKaz
    • CommentTime14 Mar 2019
     
    Przypominam, że najnowsza wersja to 0.2.3

    ->link<-

    i brakuje jej do końca niewiele:

    ->link<-
    • 25: CommentAuthorzbyti
    • CommentTime17 Nov 2019
     
    Effectus 0.3.1 (Version date 2.11.2019) ->link<-
    • 26:
       
      CommentAuthorbocianu
    • CommentTime17 Nov 2019
     
    To kto przepisuje Stary dom na action? :)
    • 27: CommentAuthorzbyti
    • CommentTime17 Nov 2019
     
    @TDC jak skończy inne swoje projekty ;)
    • 28: CommentAuthorzbyti
    • CommentTime11 May 2020 zmieniony
     
    wpis powtórzony intecjonalnie ->link<-

    Ciekawy sposób by móc pobawić się w Action! stroną zerową, bo w standardize mamy tylko parę komórek dla siebie, od $CA do $CE.

    DEFINE SaveTemps=[
    $A2 $07 ; LDX #7
    $B5 $C0 ; LOOP LDA $C0,X
    $48 ; PHA
    $B5 $A0 ; LDA $A0,X
    $48 ; PHA
    $B5 $80 ; LDA $80,X
    $48 ; PHA
    $B5 $A8 ; LDA $A8,X
    $48 ; PHA
    $CA ; DEX
    $10 $F1 ; BPL LOOP
    $A5 $D3 ; LDA $D3
    $48 ; PHA
    ]

    DEFINE GetTemps=[
    $68 ; PLA
    $85 $D3 ; STA $D3
    $A2 $00 ; LDX #0
    $68 ; LOOP PLA
    $95 $A8 ; STA $A8,X
    $68 ; PLA
    $95 $80 ; STA $80,X
    $68 ; PLA
    $95 $A0 ; STA $A0,X
    $68 ; PLA
    $95 $C0 ; STA $C0,X
    $E8 ; INX
    $E0 $08 ; CPX #8
    $D0 $EF ; BNE LOOP
    ]"

    ->link<-