Jump to content
IGNORED

Effectus suggestions and bug reports


Recommended Posts

35 minutes ago, funkheld said:

at effectus there is no clear line with the print.
you do not know which print to use for the different resolutions.

graphics (10) is the test.

 

printde (6, test ")
printde ("test")
print ("test")

 

???

 

 

Screenshot_2020-07-08_10-28-34.png

Screenshot_2020-07-08_10-29-48.png

PROC MAIN()
  GRAPHICS(12) ; 0, 1, 2, 12, 13
  PRINTDE(6,">")
  PRINT("TEST")
  DO OD
RETURN

 

atari000.png

Edited by zbyti
moronic...
  • Like 2
Link to comment
Share on other sites

hello, thanks for the info.

 

not funktion :

resulution is "20x12" !!!

--------------------------

POSITION(2,11)      ???
PRINTD(6,"CHECKED <")

---------------------------

 

16*12 = 192 scanline is Graphics(2)

 


; Effectus example
; - - - - - - - - - - - - - - - - - -
; Character set redefinition demo

BYTE CH=$2FC,
     RAMTOP=$6A,
     CHBAS=$2F4

CARD TOPMEM
CHAR key

BYTE ARRAY
  ; NEW CHARACTER DATA
  CHECK=[0 1 3 6 140 216 112 32],
  SMILEY=[60 66 165 129 165 153 66 60]

PROC MAIN() 

; TEXT MODE 2   
GRAPHICS(2)

; RESERVE MEMORY FOR NEW CHARACTER SET
TOPMEM=RAMTOP-8
CHBAS=TOPMEM
TOPMEM==*256

; CLEAR RESERVED MEMORY
;SETBLOCK(TOPMEM,1023,0)

; VECTOR TO PAGE ADDRESS OF NEW SET
CHBAS=TOPMEM/256

; COPY ATARI CHARACTERS
MOVEBLOCK(TOPMEM,57344,1023)

; REDEFINE SOME CHARACTERS
MOVEBLOCK(TOPMEM+28*8,CHECK,8)   ; <
MOVEBLOCK(TOPMEM+30*8,SMILEY,8)  ; >
  
; DEMO      
POSITION(2,2)
PRINTDE(6,">")
PRINTDE(6,"")
PRINTD(6,"CHECKED <")

 

POSITION(2,11)
PRINTD(6,"CHECKED <")

 

; CHECK FOR SPACE KEY PRESSED
CH=255
DO 
UNTIL CH=33
OD

CH=255

key=GETD(7)

RETURN

 

 

Bild4.jpg

test.jpg

Edited by funkheld
Link to comment
Share on other sites

25 minutes ago, funkheld said:

can you localize the error?

Of course we can! Error is between chair and monitor :]

; DEMO
POSITION(2,2)
PRINTDE(6,">")
PRINTDE(6,"")
PRINTD(6,"CHECKED <")

POSITION(2,9)
PRINTD(6,"CHECKED <")
PRINT("FOUR LINES OF GR.0 :P")

 

 

atari000.png

Edited by zbyti
FOUR LINES OF GR.0
  • Haha 1
Link to comment
Share on other sites

Quote

Support for INCLUDE directive added (to read other Action!/Effectus files in the program)
  - Currently it is one-level based (only files from the main program can be called through INCLUDE directive)
  - Filename in INCLUDE directive is searched in the same directory as the main parsed program
  - ":" separator in file path is ignored, only last part of the file path is recognized as a file, f.e: INCLUDE "D1:TEST02.EFF"

 

Link to comment
Share on other sites

when I run the program "wohin.eff" in windows
with effectus compile the include doesn't make sense.

 

gruss
 

 

wohin.eff :

------------------------------------------

INCLUDE "D1: TEST02.EFF"

PROC Main()

CHAR key

key=GETD(7)

RETURN

------------------------------------------
 

Edited by funkheld
Link to comment
Share on other sites

  • 2 weeks later...

[suggestion]

 

Please add to Effectus little more Mad Pascal ;) librarypath and uses, for example: 

{$librarypath 'blibs'}

uses b_system;

and then we can: 

PAS {
  SystemOff;
}

; or

DEFINE SYSTEMOFF="PAS{SystemOff}"

and we good :D 

Edited by zbyti
SystemOff
  • Like 1
Link to comment
Share on other sites

8 hours ago, zbyti said:

I thought the new changes are already on the GitHub ;)

Sorry, my bad :)

Updates are merged to GitHub now!

 

Btw... I used notation of Proc and Func as extension for Effectus routines in PAS {} code blocks, because Effectus already uses this notation when it creates PROCedures and FUNCtions in Mad Pascal auto-generated code listing. Is it ok, or we go for eff_ way?

 

Edited by Gury
Link to comment
Share on other sites

[BUG REPORT]

; Effectus example
; ----------------
; Vertical scrolling demo

pas {
const
  lms = $4000;
  text = '...EFFECTUS RULEZ...'~;
  dl : array [0..9] of byte = (
    $70,$70,$70,$70,
    $67,lo(word(@text)),hi(word(@text)),
    $41,lo(word(@dl)),hi(word(@dl))
  );
}

byte
  ch=$2fc,
  vscrol=$d405
card
  sdlstl=$230

proc main()
  byte i=$e0

  pas {
    sdlstl := word(@dl);
  }

  i=$f
  while ch=$ff do
    while i do
      i==-1
      vscrol=i
      wait(3)
    od
    wait(50)
    while i<$f do
      i==+1
      vscrol=i
      wait(2)
    od
  od
  graphics(0)
return

goes to:

// Effectus auto-generated Mad Pascal source code listing
program vscrollPrg;

uses
  Crt, Graph;

// Effectus example
// ----------------
// Vertical scrolling demo
  const
  lms = $4000;
  text = '...EFFECTUS RULEZ...'~;
  dl : array [0..9] of byte = (
  $70,$70,$70,$70,
  $67,lo(word(@text)),hi(word(@text)),
  $41,lo(word(@dl)),hi(word(@dl))
  );
var
  ch : byte absolute $2fc;
  vscrol : byte absolute $d405;
  sdlstl : word absolute $230;

procedure MAINProc;
  sdlstl := word(@dl);
var
  i : byte absolute $e0;
begin  // 1
  i := $f;
 while ch=$ff do begin
 while i > 0 do begin
  Dec(i);
  vscrol := i;
  end;
 while i<$f do begin
  Inc(i);
  vscrol := i;
  end;
  end;
  InitGraph(0);
end;

begin
  MAINProc;
end.

Variable declarations mus be first in procedure.

  • Like 1
Link to comment
Share on other sites

Fine example ?

 

Yes, I am aware of this variable issue as this also appears in some other situations. Effectus sometimes doesn't differentiate between variable block and remaining block of code. It would be really easier if Action! language had some way to direct where variable block starts and ends.

I will look at this problem.

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...