funkheld Posted July 8, 2020 Share Posted July 8, 2020 (edited) 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") ??? Edited July 8, 2020 by funkheld 1 Quote Link to comment Share on other sites More sharing options...
funkheld Posted July 8, 2020 Share Posted July 8, 2020 ----------------------------- beschaff dir mal das da und statte dich mich Grundwissen aus: ---------------------------- mit dem action! funktioniert dieses wenn ich es umsetze. lies dir mal meine eigenen programme in action!. die funktionieren, habe das action! damit total getestet. text-act.7z Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 8, 2020 Share Posted July 8, 2020 (edited) 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") ??? PROC MAIN() GRAPHICS(12) ; 0, 1, 2, 12, 13 PRINTDE(6,">") PRINT("TEST") DO OD RETURN Edited July 8, 2020 by zbyti moronic... 2 Quote Link to comment Share on other sites More sharing options...
funkheld Posted July 8, 2020 Share Posted July 8, 2020 (edited) 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 Edited July 8, 2020 by funkheld Quote Link to comment Share on other sites More sharing options...
funkheld Posted July 8, 2020 Share Posted July 8, 2020 dear friends. can you localize the error? thank you. greeting Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 8, 2020 Share Posted July 8, 2020 (edited) 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") Edited July 8, 2020 by zbyti FOUR LINES OF GR.0 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 8, 2020 Share Posted July 8, 2020 ; TEXT MODE 2 GRAPHICS(2+16) ; DEMO POSITION(2,2) PRINTDE(6,">") PRINTDE(6,"") PRINTD(6,"CHECKED <") POSITION(2,11) PRINTD(6,"CHECKED <") Quote Link to comment Share on other sites More sharing options...
funkheld Posted July 9, 2020 Share Posted July 9, 2020 thank you. greeting Quote Link to comment Share on other sites More sharing options...
funkheld Posted July 10, 2020 Share Posted July 10, 2020 Hi good afternoon. version 0.5.1 is wonderful. thank you. greeting Quote Link to comment Share on other sites More sharing options...
funkheld Posted July 10, 2020 Share Posted July 10, 2020 I do not understand that. I can not read D1 under windows if I compile the eff with effectus. greeting -------------------------- Example: INCLUDE "D1:LIBRARY.EFF" INCLUDE "H1:lib_test.eff" INCLUDE "TEST01.EFF" -------------------------- Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 10, 2020 Share Posted July 10, 2020 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" Quote Link to comment Share on other sites More sharing options...
Gury Posted July 10, 2020 Author Share Posted July 10, 2020 My mistake... I forgot to include the last one, thanks for the notice. Anyway, second description is enough to understand the way INCLUDE works. Quote Link to comment Share on other sites More sharing options...
funkheld Posted July 10, 2020 Share Posted July 10, 2020 (edited) 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 July 10, 2020 by funkheld Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 10, 2020 Share Posted July 10, 2020 2 minutes ago, funkheld said: when I run the program "wohin.eff" in windows with effectus compile the include doesn't make sense. This sentence is 100% correct Mister! 1 Quote Link to comment Share on other sites More sharing options...
funkheld Posted July 11, 2020 Share Posted July 11, 2020 then how can I compile test.eff on the atari800 on D1: ? greeting Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 11, 2020 Share Posted July 11, 2020 (edited) @funkheld It's easy, think a little. Edited July 28, 2020 by zbyti self-censorship 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 18, 2020 Share Posted July 18, 2020 [BUG REPORT] WHILE F#$FF DO G==-1 [$D0$FC] F==-1 G=9 OD goes to WHILE F<>$FF do begin Dec(G, 1[$D0$FC]); Dec(F); G := 9; // a3 end; test.eff test.pas Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 27, 2020 Share Posted July 27, 2020 (edited) I thought the new changes are already on the GitHub Edited July 27, 2020 by zbyti my bad 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 27, 2020 Share Posted July 27, 2020 (edited) [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 Edited July 28, 2020 by zbyti SystemOff 1 Quote Link to comment Share on other sites More sharing options...
Gury Posted July 28, 2020 Author Share Posted July 28, 2020 (edited) 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 July 28, 2020 by Gury Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 28, 2020 Share Posted July 28, 2020 (edited) 4 hours ago, Gury said: Is it ok, or we go for eff_ way? It's a matter of taste suffix PROC/FUNC is OK too :] Edited July 28, 2020 by zbyti matter of taste 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 28, 2020 Share Posted July 28, 2020 [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. 1 Quote Link to comment Share on other sites More sharing options...
Gury Posted July 28, 2020 Author Share Posted July 28, 2020 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. 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted July 28, 2020 Share Posted July 28, 2020 (edited) Quote It would be really easier if Action! language had some way to direct where variable block starts and ends. ? Edited July 28, 2020 by zbyti removed uninvited advice ;) 1 Quote Link to comment Share on other sites More sharing options...
Gury Posted July 28, 2020 Author Share Posted July 28, 2020 Hehe, I noticed your previous message. It's ok, I know you tried to give me good advice It's just that I was too lazy to prepare proper code in the first place. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.