zbyti Posted November 13, 2020 Share Posted November 13, 2020 (edited) 5 hours ago, JesperGravgaard said: However, I am somewhat unsure in which tests "higher is better" and in which "lower is better". Is there a list showing this somewhere, that I have missed? @zbyti maybe you can point me in the right direction. If the title of the benchmark contains word FRAMES the score is a number of iterations (for example in 200 frames) and more is better. In other cases score means execution time in frames and less is better. Edited November 13, 2020 by zbyti FRAMES / TICKS / JIFFIES :D 2 Quote Link to comment Share on other sites More sharing options...
fenrock Posted November 13, 2020 Share Posted November 13, 2020 I've amend the kickc results to show an arrow for "high" or "low" being better. (I've simply hacked the benchmark name to include \x1c for up arrow, \x1d for down arrow) Current results (after @JesperGravgaard kindly changed all ASM blocks to pure C) : 2 Quote Link to comment Share on other sites More sharing options...
zbyti Posted November 13, 2020 Share Posted November 13, 2020 2 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted November 15, 2020 Share Posted November 15, 2020 I've updated to MP 1.6.4. See errors below when I try to change from "function f():a" to procedure p(var a)" when a is s struct. @tebe Since the link of the MADS page goes to the releases overview, it would probably best to not mention a version there anymore. // Datenstrukturen für Variablen im Spiel type hund_aktion = ( hund_stehen=0, hund_hoch=1, hund_runter=2, hund_links=3, hund_rechts=4); //const hund_stehen: hund_aktion=0; //const hund_hoch: hund_aktion=1; //const hund_runter: hund_aktion=2; // hund_hoch=1, hund_runter=2, hund_links=3, hund_rechts=4); type thund = record aussehen: zeichen; spalte: zahl; zeile: zahl; alte_spalte: zahl; alte_zeile: zahl; aktion: hund_aktion; aktion_dauer: zahl; end; function AnimiereHund2(hund: thund): thund; begin if hund.aktion_dauer = 0 then begin hund.aktion:=hund_aktion(Random(5)); hund.aktion_dauer:=Random(5); end; AnimiereHund2:=hund; end; procedure AnimiereHund(var hund: thund); begin if hund.aktion_dauer = 0 then begin hund.aktion:=hund_aktion(Random(5)); hund.aktion_dauer:=Random(5); end; end; Mad Pascal Compiler version 1.6.4 [2020/10/04] for 6502 Compiling pas\Lilly.pas pas\lfiguren.pas (153,8) Error: Incompatible types: got "HUND.AKTION" expected "ENUM" ERROR: MP error occurred. See messages above. Quote Link to comment Share on other sites More sharing options...
zbyti Posted November 15, 2020 Share Posted November 15, 2020 (edited) Mad Pascal Compiler version 1.6.5 [2020/11/03] for 6502 Compiling hello.pas hello.pas (10,27) Error: Identifier not found 'ZEICHEN' @JAC! Can you provide a complete example? EDIT: okay all in all I wouldn't take care of it anyway Edited November 15, 2020 by zbyti all types, begin .. end. Quote Link to comment Share on other sites More sharing options...
zbyti Posted December 5, 2020 Share Posted December 5, 2020 (edited) My joystick example: const JOY_LEFT = %1000; JOY_RIGHT = %0100; JOY_UP = %0010; JOY_DOWN = %0001; var bHposp0 : byte absolute 0; bHposp1 : byte absolute 1; bShipY : byte absolute 2; joyDirection : byte absolute 3; bMask : byte absolute $ff; bIter : byte absolute $fd; wShipX : word absolute 0; HPOSP01 : word absolute $D000; procedure copyShip; begin Move(pointer(GFX_SHIP_ADR), pointer(P0_ADR + bShipY), GFX_SHIP_SEG); Move(pointer(GFX_SHIP_ADR + GFX_SHIP_SEG), pointer(P1_ADR + bShipY), GFX_SHIP_SEG); end; procedure moveShip; begin bMask := %1100; for bIter := 1 downto 0 do begin case (joyDirection and bMask) of JOY_RIGHT: begin if bHposp1 < SHIP_RIGHT_LIMIT then begin Inc(wShipX,$0101); HPOSP01 := wShipX; end; end; JOY_LEFT: begin if bHposp0 > SHIP_LEFT_LIMIT then begin Dec(wShipX,$0101); HPOSP01 := wShipX; end; end; JOY_UP: begin if bShipY > SHIP_TOP_LIMIT then begin Dec(bShipY); copyShip; end; end; JOY_DOWN: begin if bShipY < SHIP_BOTTOM_LIMIT then begin Inc(bShipY); copyShip; end; end; end; bMask := %0011; end; end; joyDirection := PORTA; if (joyDirection and %1111) <> %1111 then moveShip; main.xex Edited December 6, 2020 by zbyti XEX 1 Quote Link to comment Share on other sites More sharing options...
Gury Posted December 5, 2020 Share Posted December 5, 2020 Nice, good code demonstration! New Scramble port on the way 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted December 5, 2020 Share Posted December 5, 2020 21 minutes ago, Gury said: Nice, good code demonstration! New Scramble port on the way Rather some kind of tutorial game 1 Quote Link to comment Share on other sites More sharing options...
Gury Posted December 5, 2020 Share Posted December 5, 2020 If this ship flies some more time, it will reach new battle zone. Maybe even meets the pilot, who still fights his war in Scramble. 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted December 6, 2020 Share Posted December 6, 2020 New Mad-Pascal 1.6.5 master arrived. Quote Link to comment Share on other sites More sharing options...
zbyti Posted December 9, 2020 Share Posted December 9, 2020 (edited) WIP English Mad Pascal documentation is now partially converted to MkDocs http://zbyti.great-site.net/mp-docs-en/ Edited December 9, 2020 by zbyti MkDocs link 5 2 Quote Link to comment Share on other sites More sharing options...
Gury Posted December 9, 2020 Share Posted December 9, 2020 (edited) Great work, very clear and informative! I like the layout of the site look and information covered, everything is on hand. Zbyti, go for it, thank you Edited December 9, 2020 by Gury 1 Quote Link to comment Share on other sites More sharing options...
tebe Posted December 13, 2020 Author Share Posted December 13, 2020 Zbyti helped create new doc for MadPascal http://mads.atari8.info/doc/en/index.html http://mads.atari8.info/doc/pl/index.html 3 3 Quote Link to comment Share on other sites More sharing options...
Gury Posted December 14, 2020 Share Posted December 14, 2020 Great representation and topic organization! Most appreciated! 1 Quote Link to comment Share on other sites More sharing options...
tebe Posted January 3, 2021 Author Share Posted January 3, 2021 new MP on GitHub, https://github.com/tebe6502/Mad-Pascal 1 2 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted January 3, 2021 Share Posted January 3, 2021 (edited) 4 hours ago, tebe said: new MP on GitHub, https://github.com/tebe6502/Mad-Pascal New? It shows the most recent version 1.6.4 with a release date of October 4, 2020. Also, will updates no longer appear on http://mads.atari8.info? Edited January 3, 2021 by MrFish redundant language Quote Link to comment Share on other sites More sharing options...
zbyti Posted January 3, 2021 Share Posted January 3, 2021 13 minutes ago, MrFish said: New? It shows the most recent version 1.6.4 with a release date of October 4, 2020. Also, will updates no longer appear on http://mads.atari8.info any more? Mad Pascal "daily" users used to treat master branch as "most recent version" of MP. website probably is not up to date because (I hope) soon will be new Quote Link to comment Share on other sites More sharing options...
dmsc Posted January 3, 2021 Share Posted January 3, 2021 Hi! 1 hour ago, MrFish said: New? It shows the most recent version 1.6.4 with a release date of October 4, 2020. Well, tebe has not updated the version number since Oct 12, when he uploaded 1.6.5: https://github.com/tebe6502/Mad-Pascal/commit/bc01ebd He always include the "mp.exe" file in the repo, so you can just download as a ZIP and use from there. You can see all the changes via google-translate: https://translate.google.com/translate?sl=auto&tl=en&u=https://github.com/tebe6502/Mad-Pascal/blob/master/CHANGELOG Have Fun! Quote Link to comment Share on other sites More sharing options...
+MrFish Posted January 4, 2021 Share Posted January 4, 2021 I see. alright, thanks, I'm just interested in release versions, not betas. Quote Link to comment Share on other sites More sharing options...
zbyti Posted January 5, 2021 Share Posted January 5, 2021 (edited) New MP arrive, one regression fixed. Edited January 5, 2021 by zbyti Quote Link to comment Share on other sites More sharing options...
funkheld Posted January 5, 2021 Share Posted January 5, 2021 Hi good afternoon. how are the two demo programs for the c64 compiled under windows. thanks. greeting Quote Link to comment Share on other sites More sharing options...
Atlan_Roland Posted January 9, 2021 Share Posted January 9, 2021 Hi! I'd like to load data from a rather large file at certain positions. See example code. Unfortunately the "seek" function seems to only work in SDX (I tested with xBootDOS and DOS25) Since I have no experience yet on what alternative method could be used to set a file handle to a certain position in a file, I'd be grateful if somebody has an idea how to manage that. procedure seek_map(chunk: byte); begin buf := pointer(TXT1+40); //Test: Point to text area //buf := pointer(TILES_BUFFER); // Open file Assign(fil, 'D1:BRIT.DAT'); // Read data Reset(fil,1); Seek(fil,chunk*256); // SEEK does not work? BlockRead(fil, buf, 40); // Test: show 40 characters at TXT1 // Close file Close(fil); end; Quote Link to comment Share on other sites More sharing options...
tebe Posted January 9, 2021 Author Share Posted January 9, 2021 (edited) DOS 2.5 and similar set sector number, only SDX file positions unti SYSTEM procedure Seek(var f: file; a: cardinal); assembler; (* @description: Set file position (SDX only) @param: f - file handle @param: a - new position *) asm { txa:pha mwa f :bp2 ldy #s@file.chanel lda (:bp2),y tax lda #37 sta iccmd,x ldy #s@file.record lda (:bp2),y sta eax iny lda (:bp2),y sta eax+1 lda #$00 sta eax+2 sta eax+3 mva a ecx mva a+1 ecx+1 mva a+2 ecx+2 mva a+3 ecx+3 jsr imulECX mva eax icax3,x mva eax+1 icax4,x mva eax+2 icax5,x m@call ciov sty IOResult pla:tax }; end; Edited January 9, 2021 by tebe 1 Quote Link to comment Share on other sites More sharing options...
xxl Posted January 9, 2021 Share Posted January 9, 2021 51 minutes ago, Atlan_Roland said: Unfortunately the "seek" function seems to only work in SDX (I tested with xBootDOS and DOS25) hmmm https://xxl.atari.pl/xbootdos/ xBootDOS xbootdos.atr 1 Quote Link to comment Share on other sites More sharing options...
Atlan_Roland Posted January 9, 2021 Share Posted January 9, 2021 Thank you very much TeBe and XXL! I (theoretically) get the concept now; but i couldn't put it down in code; my assembler skills - an knowledge of the OS system calls - are to little yet. Maybe equivalent implementations of the BASIC POINT and NOTE commands - or some set/getsector() functions - would be a nice future addition to the MAD Pascal library 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.