Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > Sid Duzz It
2006-08-08 14:34
Stainless Steel

Registered: Mar 2003
Posts: 966
Sid Duzz It

Hi'yall,

I was wondering who else is using Shape's SDI editor around here. I would like to talk about the editor with other users about their experiences with it and maybe some technical blah blah aswell.

Cheers!
 
... 169 posts hidden. Click here to view all posts....
 
2010-08-02 02:03
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
yeah, let geir see your worktune, maybe he can give a crucial hint to fix stuff.
2010-08-09 11:51
Magnar

Registered: Aug 2009
Posts: 61
Finally, it's my turn to dump a problem into this thread. :)

I've made a song, using the v2 B7 normal speed routine.

When I compile the player and musicdata together in the Shape modified Turbo assembler, it works fine when I have the $0c00 and $1000 as starting pointers for the code of the player+musicdata etc.

Now, I need to recompile the song to $e000 instead. When I try to change the *=$1000 to *=$e000, it f*cks up when I hit F4 to compile the assembler code right after pass 1, with a nice error message of: illegal quantity

Ok, so.. just to try things differently, I changed $0c00 to $e000 and the music data from $1000 to $e400. Same error.

I then tried to change things from $0c00 to $4000 and $4400, and then ended up with branch errors...!

Changed back to $0c00 and $1000 as original, and the compile works fine....

Go figure, tell me what I'm doing wrong! :)

/Cheers Magnar
2010-08-09 13:24
Magnar

Registered: Aug 2009
Posts: 61
After some more experimenting in TASM, these are my results:

If I change $0c00 around to $0c12 or $1000 or $1436 or whatever, and the musicdata from $1000 to $2000 or $2402 or $2632 etc... as long as the compilation doesn't overwrite the sourcecode in TASM (which starts apparently around $48eb), it works fine to modify the starting pointers of the player and the music data.

All of this indicates that by changing the start pointer of either player or musicdata works as it should by changing the *= xxxx for each part.

However, trying to compile the musicdata to $e000 just doesn't work. It gives an error quantity error on line 479, which is:

*= *-((*-clear_wav)*rem_voff)

Why Turbo Assembler isn't able to compile this song to $e000 seems very strange to me.

Could it be that it just doesn't support placing code in $e000-$ffff area due to zeropage restrictions for TASM? Is there away around to manipulate this to make it work?

I remember that in old "v18" GT editor and player, all songs was saved and dumped in $e000 area, so I don't think the problem is within the player. It has to do with limits in the TASM somehow?

Good suggestions for an solution is highly appresiated!

Cheers Magnar

EDIT:
I found out that it is TASM that uses memory area $e000-$ffff for labels. I even tried to compile the song as far out as possible (in my case: $e644-$ffff). Which actually made a success in the compile, but the song was f*cked up.

Also, when I got back into TASM, the labels in the source code was altered, so it overwrote something nevertheless.

Is there a way to compile TASM source codes through VICE64 with a external assembler tool which doesn't actually use the memory area of the C64 emulation?

I am looking for work-arounds...

/Magnar

2010-08-09 14:09
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Because TASS is using 9000-CF00 of RAM, if you want to compile to above 9000, you must use the .offs option.

How to do:

.offs $3000 ; (E000+3000 = $1000)

*=$E000

music player+data here.


now the music will compile to $E000 but be relocated for $1000, so you can save it from there.

S"tune",8,1000,2000,e000 ;save+give startaddress e000 on file
2010-08-09 14:13
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
it is not possible to use another TASS for SDI 2 player source, because the asm is hacked to handle some very complex *=*x* something labels..
2010-08-09 15:13
Spinball

Registered: Sep 2002
Posts: 89
i have never used the sdi-tass but in all other tass-versions i have used in the past you could assembel to files.
try "backarrow"+5 and enter a filename. this way you can assemble code that overlaps memory used by the sources, labels or tass.
2010-08-09 15:22
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Quote: i have never used the sdi-tass but in all other tass-versions i have used in the past you could assembel to files.
try "backarrow"+5 and enter a filename. this way you can assemble code that overlaps memory used by the sources, labels or tass.


this only works if the whole source is in 1 memchunk.
when 0c00-0e00 and 1000-2000 etc. it dont work.. not in BMTASS anyway.
2010-08-09 15:23
Magnar

Registered: Aug 2009
Posts: 61
Quote: Because TASS is using 9000-CF00 of RAM, if you want to compile to above 9000, you must use the .offs option.

How to do:

.offs $3000 ; (E000+3000 = $1000)

*=$E000

music player+data here.


now the music will compile to $E000 but be relocated for $1000, so you can save it from there.

S"tune",8,1000,2000,e000 ;save+give startaddress e000 on file


Tried it, but it doesn't work... The song playback is corrupted.

And now I don't know if the reason for that is because the "music shower" from $0c00-1000 is having zeropage issues with init and playback the song from $e000 area, or... if the song I compiled into $1000 and saved to $e000-fa00 isn't working after the relocation.

What a mess! :D How to proceed?

Cheers
2010-08-09 19:49
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
i made a minimal player for Magnar to fix his issues... because changing the SDI 2 standard play in 8 places is stupid.. :)
2010-08-10 06:24
Devia

Registered: Oct 2004
Posts: 403
Use your favorite x-assembler by changing all the
*= *-((*-clear_wav)*rem_voff) 
into what it really is: Conditional assembly.

Maybe some x-ass even supports this syntax?
Previous - 1 | ... | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | ... | 18 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
hedning/G★P
Manical/MoonShine/Ho..
leonofsgr/Singular C..
Mythus/Delysid
Guests online: 381
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Codeboys & Endians  (9.7)
4 Mojo  (9.6)
5 Coma Light 13  (9.6)
6 Edge of Disgrace  (9.6)
7 Signal Carnival  (9.6)
8 Uncensored  (9.5)
9 Wonderland XIV  (9.5)
10 No Bounds  (9.5)
Top onefile Demos
1 Nine  (9.7)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.5)
6 Scan and Spin  (9.5)
7 Onscreen 5k  (9.5)
8 Grey  (9.5)
9 Dawnfall V1.1  (9.5)
10 Rainbow Connection  (9.5)
Top Groups
1 Artline Designs  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Performers  (9.3)
5 Censor Design  (9.3)
Top Cover Designers
1 Duce  (9.8)
2 Electric  (9.8)
3 Junkie  (9.6)
4 The Elegance  (9.5)
5 Mermaid  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.162 sec.