DOTW's Sprite Compiler (DSC) Copyright (C) 1995 by DOTW Productions All rights are reserved DSC is a command-line based sprite compiler. It is executable under the GNO/ME shell (and maybe ORCA/M shell, though I've never tried that). DSC provides an alternative to Mr. Sprite (from those cool folks in France) and vsc (by Joseph T. Lee aka OrionPax). It was written to aid my software development as both Mr. Sprite and vsc have their own quirks and do not meet my needs. Mr. Sprite's desktop metaphor slows my productivity when I have to compile some 50+ sprites and it does not generate optimized codes. vsc accepts rIcons as input but I store my graphics in Apple Preferred Format ($c0) files. I do not have the means to convert them to rIcons nor do I really want to go through all that trouble. So DSC was born. :) DSC Features: - command-line interface for easy compilation via shell scripts - accepts the very common Apple Preferred Format ($c0) graphics files generated by almost everything painting program - Version 1.2 now supports both $c0 and screen dump $c1 files, and it autodetects them without requiring any external flags - generates stack-based (PEA/etc) codes for solid block sprites without mask (cf. Mr. Sprite does not support this) - supports register-caching for the above by using the X, Y and D registers for the 3 most commonly occuring pixel patterns (idea "stolen" from vsc, thanks OrionPax! :) - Version 1.2 will use the A register for caching in block sprites only if it generates even more optimized code - generates load/store direct-page (LDA/STA) codes for sprites with mask or "holes" in them. This may generate the same codes as Mr. Sprite, although DSC attempts to optimize them whenever possible - supports register-caching for the above too, by using the X and Y registers for the 2 most commonly occuring pixel patterns (cf. Mr. Sprite does not support this as well) - provides cycle-counting feature in verbose mode, so that you can know how long it takes to draw your sprite. Great for programmers writing timing critical codes in programs like demos - outputs ORCA/M compatible 65816 assembly source codes. DSC also uses ENTRY to define a global label vs ANOP (used by Mr. Sprite) which only defines a local label, and DSC returns via RTL instead of RTS for more practical long subroutine calls, especially in a large >64k program DSC has been put to practical use in my software development of the arcade game DOTW (see below). A 280x160 full scrolling background improves from 15 fps (via Mr. Sprite's codes) to 18-20 fps (via DSC's codes). Not a bad speed improvement, IMHO.