# # Transition effects for SHR slideshows # # Each Mega-Attract Module that is an SHR slideshow (see ATTRACT.CONF) # will use a single transition effect for the length of the module. # Transition effects are loaded in the order listed in this file. Each line # of this file is a filename (not including comments, like this one). The # name of the next transition effect is stored in the global prefs, so this # file should not contain duplicates. # # Transition effects are binary files loaded at $A000 and called with main # memory banked in (read/write) and the next SHR graphic already loaded at # $2000/main. A transition effect has full use of zero page (main), # $0200-$07FF (main), and $A000-$BEFF/main. $BF00-$BFFF/main is reserved for # the ProDOS shim. LC RAM banks 1 and 2 are reserved for the launcher. # # /!\ You can not assume auxiliary memory exists! No, really. # # Consider this (supported) configuration: Apple ][+, 64K, VidHD card. # This machine is capable of displaying SHR graphics by copying pixel and # palette data from $2000-$9FFF/main to $2000-$9FFF/aux, despite the fact # that auxiliary memory does not exist and the writes will actually go to # main memory. However, the VidHD card notices and respects the WRITEAUXMEM # softswitch and will cache the data in its internal cache and ultimately # display it. # # Even worse, this means that SHR transitions must be careful about writing # to aux anything other than the current value of that address in main, # because in some (supported) configurations, those writes will actually # be altering main memory. Example: you want to clear the palettes space # before progressively fading them in. Writing all zeros to the palettes # in "auxiliary" memory will actually overwrite the original palettes in # main memory. # # Important: LC RAM bank 1 will be read/write on entry and must be read/write # on exit. If you need ROM routines, you are responsible for switching to ROM # then switching back to RAM bank 1 (read/write) before returning. However, # you can leave WRITEAUXMEM active; the calling code unconditionally switches # back to WRITEMAINMEM after the transition code returns. # # This file is converted to a binary data structure (SFX.IDX) during build # then added to TOTAL.DATA on the final disk image. # SHR.80BOXES SHR.FIZZLE SHR.RIPPLE SHR.TWOPASS.LR SHR.RADIAL SHR.80.SNAKE SHR.SOFT.IRIS SHR.DIAGONAL SHR.80.DOWN SHR.IRIS.IN SHR.LR SHR.RADIAL2 SHR.80.SPIRAL SHR.FADEIN SHR.SOFTIRIS.IN SHR.80.SIDE2 SHR.LR2 SHR.80.ARROW SHR.IRIS SHR.UD [eof]