English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 26 February 2021, 17:09   #21
heavy
noodle
 
Join Date: Jun 2007
Location: europe
Posts: 242
vbl issue

test
rubiks.S

Last edited by heavy; 26 February 2021 at 17:31.
heavy is offline  
Old 26 February 2021, 22:56   #22
Arnaud.68000
Registered User

Arnaud.68000's Avatar
 
Join Date: Nov 2020
Location: France
Posts: 18
For your VBL issue, change IFD by IFNE, I do not know what IFD does although ASM2 accepts it.
Here are the commands i found, maybe you wanted a similar one :

Quote:
IFC Conditional Assembly String Equality Test.
IFDEF Conditional Assembly Symbol Definition Test.
IFEQ Conditional Assembly Equal to Zero Test.
IFGE Conditional Assembly Nonnegative Test.
IFGT Conditional Assembly Greater than Zero Test.
IFLE Conditional Assembly Nonpositive Test.
IFLT Conditional Assembly Less than Zero Test.
IFNC Conditional Assembly String Inequality Test.
IFNDEF Conditional Assembly Symbol Not Defined Test.
IFNE Conditional Assembly Unequal to Zero Test.

I read your code and have changed mine using SECTION.
That's clear that the code is more simple, thanks.

WaitVBL:
Why do you prefer use a variable RASTER=300 instead of using parameters DISPLAY_Y+DISPLAY_DY ?
Same question for the copperlist


CopperList

What does ?
Quote:
dc.w $ffdf,$fffe
dc.w $2c0f,$fffe,$100,0
and why do you duplicate END instruction ?
Quote:
;Fin
dc.l -2
dc.l -2
Arnaud.68000 is offline  
Old 26 February 2021, 23:07   #23
heavy
noodle
 
Join Date: Jun 2007
Location: europe
Posts: 242
IFDEF not recognized by asmtwo (not diff. with IFNE or IFD, try it yourself....)
I have no more vbl issue with the nop added if DEBUG disabled
and no more bug with coplist when adding or removing lines

raster=300 just for testing other values !
for the coplist, just because it's too long and for testing other values too

$ffdf,$fffe => more than 256 lines, just a test when adding lines on coplist

Last edited by heavy; 26 February 2021 at 23:14.
heavy is offline  
Old 26 February 2021, 23:13   #24
Arnaud.68000
Registered User

Arnaud.68000's Avatar
 
Join Date: Nov 2020
Location: France
Posts: 18
I use ASM Two 0.96w and IFNE is recognized.

I have VBL issue with your code using IFD, if i replace by IFNE your code is working

Amazing !

Last edited by Arnaud.68000; 26 February 2021 at 23:21.
Arnaud.68000 is offline  
Old 26 February 2021, 23:20   #25
heavy
noodle
 
Join Date: Jun 2007
Location: europe
Posts: 242
what ??? I talk about IFDEF
IFNE is recognized
IFD is recognized

I also use ASMTwo 0.96w and ASMone 1.0.5 / TFA

too many timing problem (the code, winuae 32, winuae 64)

Last edited by heavy; 26 February 2021 at 23:26.
heavy is offline  
Old 26 February 2021, 23:37   #26
Arnaud.68000
Registered User

Arnaud.68000's Avatar
 
Join Date: Nov 2020
Location: France
Posts: 18
Yes, i confirm IFNE and IFD are recognized with ASW-Two, I tested on a simpe code.

If I replace (also in my code) IFNE by IFD I got a VBL issue... I need to understand.
Maybe a mistake on a variable ?



For timing, I use winUAE 64, A500 OCS, cycle-exact (full)
I don't know if it solves the pb
Arnaud.68000 is offline  
Old 27 February 2021, 12:25   #27
Antiriad_UK
OCS forever!

Antiriad_UK's Avatar
 
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 378
Quote:
Originally Posted by a/b View Post
Eh, it's simple stuff made for a demo, nothing more nothing less. Didn't check Arnaud's code in detail, french gives me exception #4 ;p, but it looks like a completely different approach.
As I said, dual playfield is the critical part, makes rendering trivial. Simple "script", takes a series of +/- 1-6 (6 possible moves, sign determines rotation direction), selects one of 6 predefined poly/corner sets, generates inner 3d points, does some math and throws everything at the screen, Tops everything off with shiny line vectors to hide ugly edges ;P. The usual convex vector demo stuff.
Playfield priority (and the consequent remapping of colors) is based on the sum of corner z coords.
I really like that
Antiriad_UK is offline  
Old 27 February 2021, 14:17   #28
KONEY
OctaMED Music Composer

KONEY's Avatar
 
Join Date: Jan 2009
Location: Venice - Italy
Age: 46
Posts: 523
Did I compile the correct source?

Attached Thumbnails
Click image for larger version

Name:	002.png
Views:	171
Size:	7.9 KB
ID:	71053  
KONEY is offline  
Old 27 February 2021, 17:11   #29
heavy
noodle
 
Join Date: Jun 2007
Location: europe
Posts: 242
works fine today (original version and modified ones) !
depend of the start config used of winuae (a500 512k/512k ocs). problem with ecs mode

but with original version from github if you uncomment the line 1684 dc.w COLOR04,MIRROR_SCROLL_COLOR
no more cube and a guru

Last edited by heavy; 27 February 2021 at 17:19.
heavy is offline  
Old 27 February 2021, 23:21   #30
Arnaud.68000
Registered User

Arnaud.68000's Avatar
 
Join Date: Nov 2020
Location: France
Posts: 18
Not sure Koney, take the last release
https://github.com/Amiga68000/Rubiks...tag/2021-02-08

In "conf management" section of the code you may find :
Quote:
;--- Gestion de CONF ---
...
;2021-02-08 - debug fin rotation 90° => RotCour_TournerCoordsSelonAngle90 au lieu de RotCour_Tourner90EtCopierPOLYSauves
I will add a new release with tricks from Heavy to simplify the code.
Arnaud.68000 is offline  
Old 27 February 2021, 23:43   #31
Arnaud.68000
Registered User

Arnaud.68000's Avatar
 
Join Date: Nov 2020
Location: France
Posts: 18
Quote:
Originally Posted by heavy View Post
works fine today (original version and modified ones) !
depend of the start config used of winuae (a500 512k/512k ocs). problem with ecs mode

but with original version from github if you uncomment the line 1684 dc.w COLOR04,MIRROR_SCROLL_COLOR
no more cube and a guru
Happy to read this.
I spread a new release including your modifications of the coppelist, it seams to be OK now.
Try to uncomment/comment miror lines (#3123) of the copperlist
https://github.com/Amiga68000/Rubiks...tag/2021-02-26
Arnaud.68000 is offline  
Old 28 February 2021, 00:20   #32
heavy
noodle
 
Join Date: Jun 2007
Location: europe
Posts: 242
that work (ocs mode)
I only "fix" the asmone issue with bsr/bra (pc) (nothing else modified)
try to use INCDIR directive for the include "font" , I have not the same dir and each time he ask me the "sources:" drive

rubiksf.S

questions : what the thing with JSR and BSR mixed (sometimes bsr, sometimes jsr) ? is jsr faster ? (I found this)
I'm just puzzled with the IFNE/IFD issue... the result should be the same
I prefere IFD if I often use the parameter as ON/OFF with ";" (DEBUG for example)
same thing with the coplist $FF00 instead of $FFFE. is it a skip ? I never seen/used before

try with ifd : so weird. both works for me
rubiksifd.S

another test with only BSR instead of JSR : better or worse?
rubiksbsr.S

Last edited by heavy; 28 February 2021 at 01:32.
heavy is offline  
Old 28 February 2021, 01:43   #33
phx
Natteravn

phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 1,862
Quote:
Originally Posted by heavy View Post
I only "fix" the asmone issue with bsr/bra (pc)
Which assembler accepts that? Probably doesn't do much syntax checking.

Quote:
questions : what the thing with JSR and BSR mixed (sometimes bsr, sometimes jsr) ? is jsr faster ?
BSR is faster and shorter. And it branches relative to the current PC, while JSR jumps to an absolute address and requires a relocation entry in an AmigaDOS executable.

Quote:
I'm just puzzled with the IFNE/IFD issue... the result should be the same
Careful! IFD means "if defined". So "ifne SYM" is not the same as "ifd SYM" when SYM is defined as zero. IFD checks if the symbol was defined at all, no matter which value it has.
phx is offline  
Old 28 February 2021, 10:17   #34
heavy
noodle
 
Join Date: Jun 2007
Location: europe
Posts: 242
Quote:
Originally Posted by phx View Post
Which assembler accepts that? Probably doesn't do much syntax checking.
ASMTwo

accept also ds xx,yy instead of dcb xx,yy

Quote:
BSR is faster and shorter. And it branches relative to the current PC, while JSR jumps to an absolute address and requires a relocation entry in an AmigaDOS executable.
he also use jsr (pc)

Quote:
Careful! IFD means "if defined". So "ifne SYM" is not the same as "ifd SYM" when SYM is defined as zero. IFD checks if the symbol was defined at all, no matter which value it has.
yes. I removed the value before using it.

@arnaud.68000
do you know this doc -> pdf

put your code in Fast with the first Section ,CODE
on winuae config with z-fast that work, else vbl issue

Last edited by heavy; 01 March 2021 at 00:23.
heavy is offline  
Old 28 February 2021, 18:46   #35
KONEY
OctaMED Music Composer

KONEY's Avatar
 
Join Date: Jan 2009
Location: Venice - Italy
Age: 46
Posts: 523
Quote:
Originally Posted by Arnaud.68000 View Post
Not sure Koney, take the last release
Now it works. I wonder why you're not using github as it's meant, like one can clone the project at its latest state...

anyway I love this thing and I'll study it for sure!

If you're interested I fixed a few things to allow Vasm digest it:

lines 440, 2027, 2088 removed the "(pc)" from BRA argument
line 1223 removed TAB before constant declaration
KONEY is offline  
Old 28 February 2021, 18:57   #36
heavy
noodle
 
Join Date: Jun 2007
Location: europe
Posts: 242
Quote:
Originally Posted by KONEY View Post
If you're interested I fixed a few things to allow Vasm digest it:

lines 440, 2027, 2088 removed the "(pc)" from BRA argument
line 1223 removed TAB before constant declaration
same fix than asmone, see previous posts
heavy is offline  
Old 01 March 2021, 00:11   #37
Arnaud.68000
Registered User

Arnaud.68000's Avatar
 
Join Date: Nov 2020
Location: France
Posts: 18
Thanks for you returns and interests

I will try to implement all your suggestions and read your codes

Quote:
do you know this doc -> pdf
--> ERR 404

Quote:
Now it works. I wonder why you're not using github as it's meant, like one can clone the project at its latest state...
I'm not confortable using Github, this is the first time I was using it, I will read tutos ;-)

For the copperlist, I resued it from the sinescroll source of YRAGAEL and changed nothing. To be honest, I have to improve my undersanding of copperlist.
https://www.stashofcode.fr/tag/sine-scroll/

I need also to use precise and optimized instructions, asmTwo is a little bit permissive ;-)

Quote:
rubiksbsr.S
is now my new version, hope that include all your modifications rubiks.S and rubiksifd.S

Last edited by Arnaud.68000; 01 March 2021 at 09:18.
Arnaud.68000 is offline  
Old 01 March 2021, 00:23   #38
heavy
noodle
 
Join Date: Jun 2007
Location: europe
Posts: 242
link fixed (crap after .pdf)
PDF
heavy is offline  
Old 01 March 2021, 00:34   #39
Arnaud.68000
Registered User

Arnaud.68000's Avatar
 
Join Date: Nov 2020
Location: France
Posts: 18
Quote:
Originally Posted by heavy View Post
link fixed (crap after .pdf)
PDF

No I did not know, seems to be usefull
Arnaud.68000 is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 16:01.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.
Page generated in 0.09890 seconds with 15 queries