Subject: Re: [stella] DASM 'upgrade' in progress From: Manuel Polik <cybergoth@xxxxxxxx> Date: Fri, 21 Mar 2003 08:01:19 +0100 |
Hi Andrew! > Input welcome. A year ago I was trying to get away from DASM, since I thought it was dead forever. I'm very thankful that now one of us is in control of it. Back then I ported Gunfight to TASM, XASM & ATASM to see how they work for me and was talking with the authors as well. Here's one of the suggestions I directed to the author of XASM for example and it'd be great if you could consider this for DASM: ---------------------------------------------------- This is a sprite of a 2600 game, the number '7': .byte $18 ; ...xx... .byte $18 ; ...xx... .byte $18 ; ...xx... .byte $0C ; ....xx.. .byte $06 ; .....xx. .byte $42 ; .x....x. .byte $7E ; .xxxxxx. As you can see, it is turned upside down. That is, because it is displayed with a decrementing loop to save cycles. Now I thought it'd be cool to have some assembler directive like that: .VERTSWAP .byte $7E ; .xxxxxx. .byte $42 ; .x....x. .byte $06 ; .....xx. .byte $0C ; ....xx.. .byte $18 ; ...xx... .byte $18 ; ...xx... .byte $18 ; ...xx... .VERTSWAPEND So one could *paint* the graphics as one sees them and the compiler would turn it upside down. When I now for any reason switch to an incrementing loop, all I'd have to do was deleting the directives. The second thing is similar: The Atari 2600 VCS has registers that are read in reversed order. (Only god knows why... ) To get the '7' to display there, you'd have to make your data look like this: .byte $7E ; .xxxxxx. .byte $42 ; .x....x. .byte $06 ; .xx..... .byte $0C ; ..xx.... .byte $18 ; ...xx... .byte $18 ; ...xx... .byte $18 ; ...xx... It'd of course be cool to have some directive like this: .HORSWAP .byte $7E ; .xxxxxx. .byte $42 ; .x....x. .byte $06 ; .....xx. .byte $0C ; ....xx.. .byte $18 ; ...xx... .byte $18 ; ...xx... .byte $18 ; ...xx... .HORSWAPEND Which would make the assembler horizontally reverse every byte. Best would be of course if you could even combine .VERTSWAP and .HORSWAP ---------------------------------------------------- The ".HORSWAP" was matching with the rest of the XASM syntax, this could of course be done any DASM style... Another thing I'd like to ask for is keeping a good "changes.txt", which keeps track of what and why you did and how this changes any current behaviour, what use it makes for the user and how it is utilized and what changes in the sources are possible (and required? I hope not, otherwize any new DASM should probably have commandline-switches for working "the old" way to keep all archive treasures compilable...) Maybe another idea was to have mode switches. For example I wouldn't like to have DASM add nibbles with "|" as Christopher thought of. To compile the Gunfight music for example this is exactly required as is, a logical ORing of two bytes. (The general idea with the variable .bitstring and defining variable length BITS is totally awesome though! Killer idea!) Greetings, Manuel ---------------------------------------------------------------------------------------------- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] DASM 'upgrade' in prog, Christopher Tumber | Thread | Re: [stella] DASM 'upgrade' in prog, Christopher Tumber |
Re: [stella] DASM 'upgrade' in prog, Christopher Tumber | Date | Re: [stella] DASM 'upgrade' in prog, Glenn Saunders |
Month |