Now I'am sure there are other equally cool benefits in the assembler you use, why dont you state these instead of assuming people are gonna use the script language in a bad way.
MEMORY { LOADERZP: start = $4c, size = $44, type = rw; # must not overlap STATUS ($90) ZPRAM: start = $fa, size = $06, type = rw; # the C STACK memory area must be defined in the applications's link file # when using the importldr function to dynamically link the loader STACK: start = $0100, size = $80, type = rw, define = yes; RAM: start = $1000, size = $c000, type = rw; # Plus/4 has screen and colours at $0800-$1000 RAM2: start = $1000, size = $f000, type = rw; } SEGMENTS { ZEROPAGE: load = ZPRAM, type = zp; CODE: load = RAM, type = ro; RODATA: load = RAM, type = ro, optional = yes; DATA: load = RAM, type = rw, optional = yes; BSS: load = RAM, type = rw, optional = yes; BITMAP: load = RAM2, type = bss, start = $4000, optional = yes, define = yes; # overlay with DISKIO_INSTALL COLRAM: load = RAM2, type = bss, start = $7000, optional = yes, define = yes; # $1000 on Plus/4 (SPRITES segment not used) SPRITES: load = RAM2, type = bss, start = $7400, optional = yes, define = yes; # no SPRITESHI segment: the sprites are always in this bank VERIFYBUFFER: load = RAM2, type = bss, start = $8000, optional = yes, define = yes; BITMAPHI: load = RAM2, type = bss, start = $c000, optional = yes, define = yes; # also location of IEEE-488 KERNAL extensions with SFD-1001 COLRAMHI: load = RAM2, type = bss, start = $f000, optional = yes, define = yes; # not used on Plus/4 # these three segments must be defined in the application's link file DISKIO_ZP: load = LOADERZP, type = zp, define = yes; DISKIO_INSTALL: load = RAM, start = $4000, define = yes; # fire and forget DISKIO: load = RAM, start = $6500, define = yes; # must not exceed $7000 (COLRAM) in this program # this segment must be defined if the loader links dynamically to the application DISKIO_IMPORT: load = RAM, start = $8000, define = yes, optional = yes; # fire and forget - however, dynlink code is in the CODE segment, too }
--- Lib1 --- .byte 23 --- Lib2 --- .align $100 .byte 0,1,2,3,3,4,..., $ff --- Lib3 --- .byte 23 --- Lib4 --- .align $100 .byte 0,1,2,3,3,4,..., $ff --- Lib5 --- .byte 23 --- Lib6 --- .align $100 .byte 0,1,2,3,3,4,..., $ff
instead of assuming people are gonna use the script language in a bad way
nothing wrong with kickass itself, its brilliant imho. as told what raises eyebrows is when people overuse it :)