diff --git a/Makefile b/Makefile index d9bd35224..08eca917f 100644 --- a/Makefile +++ b/Makefile @@ -32,9 +32,12 @@ dsk: md asm $(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/ATTRACT.CONF" >>build/log $(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/COVER" >>build/log $(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/COVER.A2FC" >>build/log - rsync -aP res/hgr/* build/I >>build/log - bin/buildfileinfo.py build/I >>build/log - $(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/I" "build/I" >>build/log + rsync -aP res/hgr/* build/HGR >>build/log + bin/buildfileinfo.py build/HGR >>build/log + $(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/HGR" "build/HGR" >>build/log + rsync -aP res/dhgr/* build/DHGR >>build/log + bin/buildfileinfo.py build/DHGR >>build/log + $(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/DHGR" "build/DHGR" >>build/log rsync -aP res/ss/* build/SS >>build/log $(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/SS" "build/SS" >>build/log # bin/do2po.py res/dsk/ build/po/ @@ -56,7 +59,8 @@ mount: dsk md: mkdir -p build/po mkdir -p build/X - mkdir -p build/I + mkdir -p build/HGR + mkdir -p build/DHGR mkdir -p build/SS clean: diff --git a/res/attract.conf b/res/attract.conf index fdcfc8c47..6ad7d63ce 100644 --- a/res/attract.conf +++ b/res/attract.conf @@ -1 +1 @@ -# # Mega-Attract-Mode configuration file # # Mega-Attract-Mode is split into modules. Each module can be a # short slideshow or a self-running demo (like a game's built-in # 'attract mode'). Modules are run in the order listed here, one # after the next, until interrupted by user input. The last-run # module is tracked in the master prefs file. # # Format: # key=value # # value must be one of # 1 for HGR slideshow (key is a file containing a list of HGR graphics) # 2 for DHGR slideshow (key is a file containing a list of DHGR graphics) # 3 for self-running demo (key is an executable binary file) # # Blank lines and lines beginning with '#' are ignored (like this one!) # A line beginning with '[' terminates the parsing # FAVORITES.CONF=1 AB.CONF=1 BRODERBUND.CONF=1 #DHGR.CONF=2 ACTIVISION.CONF=1 CD.CONF=1 ATARI.CONF=1 EFG.CONF=1 SIERRA.CONF=1 DATAMOST.CONF=1 HIJKL.CONF=1 DATASOFT.CONF=1 MNO.CONF=1 MICROFUN.CONF=1 PQR.CONF=1 PICCADILLY.CONF=1 S.CONF=1 SIRIUS.CONF=1 TUVWYXZ.CONF=1 [eof] \ No newline at end of file +# # Mega-Attract-Mode configuration file # # Mega-Attract-Mode is split into modules. Each module can be a # short slideshow or a self-running demo (like a game's built-in # 'attract mode'). Modules are run in the order listed here, one # after the next, until interrupted by user input. The last-run # module is tracked in the master prefs file. # # Format: # key=value # # value must be one of # 1 for HGR slideshow (key is a file containing a list of HGR graphics) # 2 for DHGR slideshow (key is a file containing a list of DHGR graphics) # 3 for self-running demo (key is an executable binary file) # # Blank lines and lines beginning with '#' are ignored (like this one!) # A line beginning with '[' terminates the parsing # FAVORITES.CONF=1 AB.CONF=1 BRODERBUND.CONF=1 DHGR.CONF=2 ACTIVISION.CONF=1 CD.CONF=1 ATARI.CONF=1 EFG.CONF=1 SIERRA.CONF=1 DATAMOST.CONF=1 HIJKL.CONF=1 DATASOFT.CONF=1 MNO.CONF=1 MICROFUN.CONF=1 PQR.CONF=1 PICCADILLY.CONF=1 S.CONF=1 SIRIUS.CONF=1 TUVWYXZ.CONF=1 [eof] \ No newline at end of file diff --git a/res/dhgr/BRUCE.LEE b/res/dhgr/BRUCE.LEE new file mode 100644 index 000000000..7409fbc42 Binary files /dev/null and b/res/dhgr/BRUCE.LEE differ diff --git a/res/dhgr/SPIDERBOT b/res/dhgr/SPIDERBOT new file mode 100644 index 000000000..e931b25a5 Binary files /dev/null and b/res/dhgr/SPIDERBOT differ diff --git a/res/dhgr/TETRIS128K b/res/dhgr/TETRIS128K new file mode 100644 index 000000000..1f8e3789f Binary files /dev/null and b/res/dhgr/TETRIS128K differ diff --git a/res/dhgr/VICTORY.ROAD b/res/dhgr/VICTORY.ROAD new file mode 100644 index 000000000..e81dbb9aa --- /dev/null +++ b/res/dhgr/VICTORY.ROAD @@ -0,0 +1 @@ +‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃与‘ä¸à¸Ä¹€“ă€ƒÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä¿Ä‘Ïùä‘Å‘Ä‘Ä‘Ç‘Ä‘äñÿ‘Ä¿ô‘ÄñÿÿÄ‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃一“䀎¸Ä€€€Äƒ€€ÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄÌÑđđđđđđđđ€ÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ³Ä€ÄƒÎ¹Î¹€€Î¹€€à‘€€à‘€ƒÄ‘à¹Î‘ŒÀ‘Ä‘Ä‘Ä‘Ä„‘„Ä‘À„ÄÀÄ€€„„„À€ÀÀ€Ä‘Ä‘Ä‘Ä‘ÄÀ„€À„Ä€„€€‘€€„€€€À„€‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä¹€€Ä¹Î¹à‘Ä‘ä¸Ä‘à€à‘€€Ä‘ä¸Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘„€„Ä€‘Ä‘À‘„Ä„Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä‘€“ĹΑ€€Ä‘ä¸Ä‘Ž€Ä‘à‘à‘ä¸Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±‘Ä‘ÄĻΑĹî‘Ä‘î‘Ĺî“Ä‘Œ„„ÄÀ‘Ä‘Ä‘Ä‘Å‘Ä‘Ç¿þ—Ïÿå‘Å‘Ä‘Ä‘Ç‘Ä‘äñÿýÏ¿ô‘üñÇÿÄ‘Ä‘À„„Ä‘ÀÄÀ‘„À„À‘„À‘ÄÀ‘„À„‘„€À€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃一‘ä¸à¸Ä¹Ž“ă€ƒÄÄÄ‘Ä‘Ä‘Ä‘Ä‘ÄñÄ‘ÄÑÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃一“䀀¸Ä€€€Äƒ€€ÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄÌÑđđđđđđđđ€ÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ€Ä€ÄƒÎ¹Î¹€ƒÎ¹€€à‘€»à‘à¸Ä‘à¹Î‘ÀÀ‘Ä‘Ä‘Ä‘Ä„‘„Ä‘À„ÄÀÄ€„„„„ÀÀÀÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä¹€€Ä¹Î¹à‘Ä‘ä¸Ä‘à€à‘€€Ä‘ä¸Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘À„Ä€ÀÄ‘€„Ä„Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä‘î‘ĹΑî»Ä‘ä»Ä‘ä»Ä‘î‘î‘ä»Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±‘Ä‘ÄÀÄ€à‘】đà‘〸đÀ„„ÌÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Åñü‘üñÅñÏñđđǑđĽÇñÇñÞ‘þñÞ‘Ä‘Ä‘À„€„Ä‘ÀÄ€„‘„À‘À€À‘„€À‘€€‘„À„‘„€À€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃䀀‘ä¸à¸Äƒà¸Äƒ€ƒÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃与¸ä€€¸ä€î€Äƒ€€ÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄÌÑđđđđđđđđ€ÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ€ÄƒÎ€Ä¹Î¹€¹Î¹î¸î‘à€à‘à¸Ä‘€ƒÄ‘ÀÀ‘Ä‘Ä‘Ä‘Ä„‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä‘€¸Ä¹Î¹à‘Αä¸Ä‘à€à‘€€Ä‘ä¸Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘đı‘Ä‘ÄÀ‘䀀‘Ä€€“Ä‘€‘ ÄÀđĀđđđđđđÅÑô‘ÄñÄùÄùÄ‘Ä‘Ç‘Ä‘ÄŸÇñÅñÏ“÷ñü‘Ä‘Ä‘À€„Ä‘ÀÄ„‘€À€‘À‘„€‘„À‘„€€„‘„€À€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃ä€à‘ä¸à¸Äƒà¸Äƒ€ƒÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃与¸Ä€€“ä€ä€Äƒ€€ÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄÀÑđđđđđđđđ€ÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘°Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ŒÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±ÄƒÎ€Ä¹Î¹à‘Αä¸Ä‘à€à‘à¸Ä‘€ƒÄ‘ÌÀ‘Ä‘Ä‘Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä‘€¸Ä¹Î¹à‘Αä¸Ä‘à€à‘€€Ä‘ä¸Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±€€€€€€€€€€€€€€€€€€€€€€€€€€€€ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘đı‘Ä‘ÄŒ‘䀀‘䀀¸Ä‘€‘ ÄÌđĀđđđđđđőä‘ÄñÄùÄŸÄ‘Ä‘÷‘Ä‘Ä“ÇÑÄÿÇ—çñÞ‘Ä‘Ä‘À„„Ä‘€Ä€„‘€€À€„€À€À€À‘€€À‘ÄÀ„„€€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃ä€à‘ä¸à¸Äƒà¸Äƒ€ƒÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃ä¸ä¸Äƒ€‘ä€Ä€Äƒ€¸ÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄÀÑđđđđđđđđ€ŒÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘ƒä»Ä¹î¹Î‘î»Ä¹î»î‘ä»Ä‘î»Ä¹Î‘î‘ÄÄ‘Ä‘Ä‘Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€À€„€„À€€€‘„€„À€€À„€Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±ÄƒÎ€Ä¹Î¹à‘Αä¸Ä‘à€à‘à¸Ä‘€€Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä‘€¸Ä¹Î¹€¹Î‘ä¸Ä‘€»à‘àƒÎ‘ä¸Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘„ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘³‘đČ䀀‘䀀¸Ä‘€‘ ÄÀÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄñÇ‘Å‘Ä‘ÇñÄùÄŸÄ‘Ä‘ÿ‘ü“Ä‘ÿ‘ÄñÇ—ÅñÇ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘„‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃ä€à‘ä¸à¸Äƒà¸Äƒ€ƒÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃ä»ä»Ä¹î‘ä»Ä»Ä¹î“ÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄÑđđđđđđđđ„€Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä€ä€Ä¹à¹Î‘€€Ä¹€€à‘Ž€Ä‘€€Ä¹Î‘à‘ÄÄ‘Ä‘Ä‘Ä‘Ä„‘„„À„ÀÀÄ€„„„„À€€ÀÄ‘Ä‘Ä‘Ä‘Ä€À€À„Ä„À‘„€À„À„€„‘ÀÄ‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Äƒà€Ä¹Î¹à‘Ä‘ä¸Ä‘à€à‘àƒÄ‘Ž€Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘À€€Ä€€„À„Ä„Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä‘€¸Ä¹Î¹€ƒÎ‘ä¸Ä‘€€à‘àƒÎ‘ä¸Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘„ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘€‘đČ与‘䀎¸Ä¹€“ăî€ÄÀÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Å‘Ä‘þñÄùÄŸÄ‘Ä‘÷‘Ä‘Ä“Ç‘ÄñÇ—ÿñÇ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃䀀‘ä¸à¸Ä€î€Äƒ€ƒÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃đđđđđđđđÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä°ä€Ä¹à¹Î‘€€Î¹€€à‘€€Î‘€€Ä¹Î‘à‘ÄÀ‘Ä‘Ä‘Ä‘Ä„‘„„À„ÄÀÄ€€„„„ÀÀÀ€Ä‘Ä‘Ä‘Ä‘Ä€À€€€„‘Ä„€À‘„€À„ÀÄ€€„‘€‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä¹à€Ä¹Î¹à‘Ä‘ä¸Ä‘à€à‘€€Ä‘Ž€Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘„„ÄÀÄ‘À„Ä„Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä‘€“Ĺι€€Î‘ä¸Ä‘€€à‘à¹à‘ä¸Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±‘Ä‘Ä‘€€€€€€€€€€€€€€€€€€€€„ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘€‘Ä‘ÄŒƒä¸Ž‘ä¸à¸Ä¹€“ă€ƒÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÅÑÄ‘üñÄùÄùÄ‘Ä‘Ç‘Ä‘ÄŸÇ‘ÄñÏ“ÄñÇ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃䀀‘ä¸à¸Ä€€€Äƒî€ÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä̃€€€€€€€€€€€€€€€€€€ÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘À‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀƒÄ€ÄƒÎ¹Î¹€€Î¹€€à‘€€à‘€€Ä‘à¹Î‘€À‘Ä‘Ä‘Ä‘Ä„‘„Ä‘Ä„ÄÀ‘Ä€„„‘„ÄÀÀ€Ä‘Ä‘Ä‘Ä‘ÄÀ€€À„ÄÀÀ‘„€À„‘À„€‘„‘À‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä¹€€Ä¹Î¹à‘Ä‘ä¸Ä‘à€à‘€€Ä‘Ž€Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘„„Ä€ÀÄ‘À„Ä„‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±Ä‘€“ĹΑ€€Î‘ä¸Ä‘€€Î‘à¹à‘ä¸Ä‘ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä€€€€€€€€‘Ä‘ÄÀ±‘Ä‘Ä‘‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘€„„ÄÀ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘À€€€„€Ä€À‘€À€„€À‘„€€‘€€€„‘€„„€€€€€€€€€‘Ä‘Ä‘Ä‘Ä‘Ä̃与‘ä¸à¸Ä¹€“ă€ƒÄÄÄ‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘Ä‘ÅñÄ‘üñÄñÏñđđǑđĽǑÄñÞ‘ÄñΑđđđđđđđđđđđđđđđđđđđđđÄÄÄÄÄÄÄÄÄ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢€œ¢€¢ˆ€À¢ÈðÀðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¾ˆ¢ˆú袟úˆ£¿ÿþ¯ˆ¢ˆòø¢ˆ¢ãŸ¿þ¢Ÿ¿þ§ø£ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢òÀ¢÷€¢œ€€§È€€ðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ816PATT¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ œðÈ€ˆ€ˆ€€€ˆ€€€‰‡€€‰‡Üðˆ‡‰€ˆ‚˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ ˆ ˆ € €‚ˆ‚ˆ¢€‚ˆ‚ˆ¢ˆ‚ˆ ˆ €¢ˆ €¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€‚ˆ ˆ‚€‚€‚ˆ ˆ‚ˆ ˆ€ˆ¢€‚ˆ €€€¢ˆ ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆ€€§ˆ€ˆ€‰¢ˆ¢¢ˆ‡‡‰‡€§ˆ¢¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ‚ˆ ˆ€ˆ¢€‚€¢€‚€¢€€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ‰ ˆòÀ¢ˆ€ˆò€ðˆ¢¢ˆ¢€ðˆ‡‰‡‰¢¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ˆ¢ˆ¢ˆ˜¢È÷ˆ¢ˆ÷‰¢ˆò‰¢ˆ÷Ý¢ˆ¢ ˆ‚à˜ˆ¢ˆ¢ˆ¢ˆÿˆ¢ˆþè¢Èúøÿ¿ÿþ¯ˆ¢ˆòø¢ˆ¢ãŸ¢þ¢Ÿ¢ˆÿø£ˆ¢ˆ €‚ˆ ˆ‚€ €€ˆ €‚ˆ €‚ˆ¢€‚ˆ¢€‚ˆ ˆ ˆ €‚ˆ¢ˆ €àÐ Ð࢈¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢÷œ¢€¢ˆ€À¢ÈðÀðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ§ˆ¢ˆ¿ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢òÀ¢€€¢œ€€§È€€ðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆàÐ Ð࢈¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ<<ðð𢈢ˆ†œðÈ€ˆ€ˆ€À€ˆ€€€‰‡Ü€‰‡ðˆ‡‰€ˆà™ˆ¢ˆ¢ˆ¢ˆ¢ˆ€ˆ€€ € €€ˆ‚ˆ¢€‚ˆ‚ˆ €€ˆ € €¢ˆ€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆ€€§ˆ€ˆ€‰¢ˆ¢¢ˆ‡‡‰‡€§ˆ¢¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ‚ˆ ˆ‚ˆ €€€¢€€ˆ €‚€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ<<ðð𢈢ˆ‰ ˆ¢¢ˆ÷ˆ¢Ý§ˆ¢Ý¢ˆ¢Ý§ˆ÷‰÷‰¢Ý¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ˆ¢ˆ¢ˆ¢œ€‰¢È€œ¢ˆò‰¢È€€¢ˆ€ˆ‚€ˆ¢ˆ¢ˆ¢ˆ¾ˆ¢ˆò¼£è¾ø㣼£ˆ¢ˆâž¢ˆ¢âœã¼£ø¢ˆ£ø¯ˆ¢ˆ €‚ˆ ˆ‚€ €€ˆ¢ˆ‚ˆ €‚ˆ €‚ˆ¢€‚ˆ ˆ ˆ €‚€¢ˆ ˆˆ€€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢€œ¢€¢Èð¢ÈðÀðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢¢€¢€€¢ððÈ€€ðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆˆ€€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢€€€€€€€€€€€€€€€€€€€€€€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰†È€œðˆ€ˆ€œ€ˆ÷÷‰‡‡‰‡ðˆòÜðˆà™ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆ‡€¢ˆ€ˆ€‰òˆ¢¢ˆ‡‡‰‡€ðˆ¢¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ˜ˆ¢ˆ¢€¢€œ¢œ€À¢ˆ‡œ¢È€€§ˆàˆ¢€€ˆ¢ˆ¢ˆ¢ˆ¾ˆ¢ˆòž§ù¯ˆ£¢¼¢ˆ¢ˆâ¢ˆ¢âˆã¼£è¢‰£ø¾ˆ¢ˆ€€‚ˆ¢ˆ€€ €€ˆ ˆ‚ˆ €‚ˆ €‚ˆ¢ˆ¢ˆ ˆ € € ˆ¢ˆ €€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢€‰¢€¢Èð¢ÈðÀðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢¢€¢œ€À¢ððÈ€€§ˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€‰ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‚¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ È€œðˆ€ˆ€‰‡ˆ¢¢ˆ‡‡‰‡ðˆòÜðˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆ‡€¢ˆ€ˆ€‰‡ˆ¢¢ˆ‡‡‰‡œðˆ¢¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰€€€€€€€€€€€€€€€€€€€€€€€€€€€€à˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ˜ˆ¢ˆ¢€€¢€œ¢€€¢ˆ‡œ¢È€€ðˆ†ˆ¢ˆ ˆ¢ˆ¢ˆ¢ˆ¾ˆ¢ˆò¯»¾ˆ£¢¼¢ˆ¢ˆâ‰¢ˆ¢ïâˆ÷üâÈâ‹£ø¾ˆ¢ˆ €‚ˆ¢ˆ‚€ €‚ˆ¢ˆ‚ˆ €‚ˆ €¢ˆ €‚ˆ ˆ €¢€‚€ ˆ €€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢€‰¢€¢Èð¢ÈðÀðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢¢¢È€œ¢§œðÈ€€¢ˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ‰ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢à ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ€ Ý§ˆ÷‰÷ˆ¢Ý§ˆ÷Ý÷‰¢Ý§ˆ¢Ý¢ˆ÷ˆ÷‰¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ‚€‚ˆ €€€€€‚ˆ ˆ‚ˆ ˆ€€¢ˆ‚ˆ €€€¢ˆ‚ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ È€œðˆ€ˆ€‰òˆ¢¢ˆ‡‡‰‡ðˆò€ðˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆ‡€¢ˆ€ˆ€œ€ˆ¢¢ˆ‡Ü€‰‡É€ˆ¢¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢à˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ€ˆ¢ˆ¢€˜¢÷œ¢€€¢ˆ‡œ¢È€€ðˆ†ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¾ˆÿˆò¯Ÿòˆ£¢ü¢ˆ¢ˆâˆ¢ÿ¢ÿâ‹¿¼ãÈâÿø¾ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢€‰¢€¢Èð¢ÈðÀðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢Ý¢Ý¢ˆ÷‰¢Ý§Ü÷ˆ÷Ý¢ˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ˜¢§ˆ€‰€ˆò€ðˆ€€€‰¢€ðˆò€§ˆ€ˆ‡‰¢˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€ˆ€€€ˆ€ˆ‚€€ˆ‚ˆ €€€€€€€‚ˆ€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€‚ˆ ˆ‚ˆ‚€‚ˆ¢€‚ˆ €¢ˆ¢ˆ‚ˆ¢€¢ˆ¢€‚ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ È€ðˆ€ˆ€‰¢ˆ¢¢ˆ‡‡‰‡Ýðˆ¢€§ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ‚ˆ €€ˆ €€€¢€€€¢€‚€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆ‡€¢ˆ€ˆ€À€ˆ¢¢ˆ‡€€‰‡É€ˆ¢¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢à˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ€ˆ¢ˆ¢€˜¢€œ¢÷€¢ˆ€À¢Èððˆæˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¾ˆ¢ˆò¯¢ˆ£¢¼¢ˆ¢ˆâ‰¢ˆ¢ï∾¼ãÈòãø¾ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢€œ¢€¢œð§ÈðÀðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ˜¢§ˆ€‰€ˆ‡€€ˆ€€€‰ò€€ˆ‡€ðˆ€ˆ‡‰¢˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ€ˆ ˆ€ˆ €¢ˆ‚ˆ‚€‚ˆ‚ˆ¢ˆ‚ˆ€ˆ €¢ˆ €¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€‚ˆ ˆ‚ˆ‚€‚ˆ¢€‚ˆ € ˆ¢ˆ‚ˆ¢€€€¢ˆ ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆ€§ˆ€ˆ€‰¢ˆ¢¢ˆ‡‡‰‡€ðˆ¢€§ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ‚ˆ ˆ‚ˆ¢€¢€¢€¢ˆ¢€€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆòÀ¢ˆ€ˆ€€€ˆ¢¢ˆ‡€€‰‡‰€‰¢¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ˆ¢ˆ¢ˆ‚€€€€€€€€€€€€€€€€€€€¢€‚à˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‚ˆ¢ˆ¢€€¢€œ¢€¢ˆ€À¢ÈðÀðˆ†ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¾ˆ¢ˆòž§¢ˆ£¢¼¢ˆ¢ˆâ¢ˆ¢âˆ¾¼£èºž£ø¾ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢‡œ¢€¢œ€€§Èððˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ€€€€€€€€€€€€€€€€€€¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ¢œðÈ€ˆ€ˆ€€€ˆ€€€‰‡€€‰‡€ðˆ‡‰€ˆ¢˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ ˆ ˆ€€€€€€‚ˆ‚ˆ‚ˆ‚ˆ¢ˆ‚€€ˆ€€¢ˆ €¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ €‚ˆ ˆ€ˆ‚€‚ˆ¢€‚ˆ €¢€¢ˆ‚ˆ¢€‚ˆ¢€ ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆ€€§ˆ€ˆ€‰¢ˆ¢¢ˆ‡‡‰‡€§ˆ¢€§ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ‚ˆ ˆ‚ˆ¢€€€¢€€ˆ¢€€ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ ˆòÀ¢ˆ€ˆ‡€€ˆ¢¢ˆò€€ˆ‡‰€‰¢¢ˆà˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€€€€€€€¢ˆ¢ˆ‰ˆ¢ˆ¢ˆ€¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢¢ˆ€à˜ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ€€‚ˆ €€€ €‚ˆ¢€‚ˆ €‚ˆ €‚ˆ €‚ˆ €€ˆ €€€¢ˆ €€€€€€€€€¢ˆ¢ˆ¢ˆ¢ˆ¢€ˆ¢€œ¢€¢ˆ€À¢ÈðÀðˆ¦ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¾ˆ¢ˆò¼£¯ˆ££¼£ˆ¢ˆâž¢ˆ¢âœ¾¼£ø¾¼£ø¯ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆ¢ˆˆˆˆˆˆˆˆˆ \ No newline at end of file diff --git a/res/ss/broderbund.conf b/res/ss/broderbund.conf index ec15d3a80..04a6ecbb5 100644 --- a/res/ss/broderbund.conf +++ b/res/ss/broderbund.conf @@ -1 +1 @@ -# # Broderbund Software slideshow # GALAXIAN SERPENTINE CHAMP.LODERUN LODE.RUNNER SNOGGLE PRINCEUNP DROL ALIEN.RAIN CHOPLIFTER RASTER.BLASTER DAVIDS.MAGIC GUMBALL APPLE.PANIC KARATEKA [eof] \ No newline at end of file +# # Broderbund Software slideshow # DAVIDS.MAGIC GALAXIAN SERPENTINE LODE.RUNNER SNOGGLE PRINCEUNP DROL CHAMP.LODERUN CHOPLIFTER ALIEN.RAIN KARATEKA APPLE.PANIC GUMBALL [eof] \ No newline at end of file diff --git a/src/4cade.a b/src/4cade.a index bece22781..7440db7f1 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -5,6 +5,13 @@ !source "src/constants.a" !source "src/macros.a" + sta $C00E + sta $C00C + sta $C004 + sta $C002 + sta $C000 + jsr $FB2F + jsr $FC58 jsr Has64K ; check for 64K (required) bcs @no64K jsr DisableAccelerator ; set to 1 MHz @@ -31,8 +38,6 @@ jmp Start @no64K - jsr $FB2F - jsr $FC58 ldy #@no64Klen - lda @s_no64K,y sta $6B6,y @@ -84,23 +89,15 @@ Start +STAY gSlideshowStore ; save pointer to free space for next store bit $C010 + jsr BlankHGR jsr AttractMode jmp Reboot AttractMode jsr okvs_nth ; get filename of next attract module !word gAttractModeStore -@index !byte 0 - +STAY PTR - jsr ResetPath - +LDADDR kAttractModeSlideshowDirectory - jsr AddToPath - +LDADDR kPathSeparator - jsr AddToPath - +LDAY PTR - jsr AddToPath - jsr LoadFile ; load attract module configuration file - !word gPathname +@index !byte 2 + +STAY @key inc @index ; increment module index for next time jsr okvs_len @@ -110,21 +107,66 @@ AttractMode lda #0 sta @index + + jsr okvs_get + !word gAttractModeStore +@key !word $FDFD + +STAY PTR + + jsr + + lda $C000 + bpl AttractMode + rts ++ + ldy #1 + lda (PTR),y + and #$0F + cmp #$01 + clc + beq @Slideshow + cmp #$02 + sec + beq @Slideshow + cmp #$03 + bne AttractMode + beq @SelfRunningDemo + +@Slideshow + php + jsr ResetPath + +LDADDR kAttractModeSlideshowDirectory + jsr AddToPath + +LDADDR kPathSeparator + jsr AddToPath + +LDAY @key + jsr AddToPath + jsr LoadFile ; load attract module configuration file + !word gPathname + jsr ParseKeyValueList ; parse slideshow configuration !word gSlideshowStore !word ldrlo2 ; (ldrlo2) points to load address + plp ; carry clear = HGR, carry set = DHGR + bcs @DHGRSlideshow + jsr okvs_iter !word gSlideshowStore !word HGRLoad + rts +@DHGRSlideshow + jsr BlankDHGR + jsr okvs_iter + !word gSlideshowStore + !word DHGRLoad + jmp BlankHGR - lda $C000 - bpl AttractMode +@SelfRunningDemo + ; TODO rts HGRLoad ldx $C000 - bmi @exit + bmi Exit +STAY PTR jsr ResetPath +LDADDR kHGRScreenshotDirectory @@ -136,11 +178,28 @@ HGRLoad jsr LoadFile !word gPathname jsr FizzleHGR + jmp WaitOnScreenshot + +DHGRLoad + ldx $C000 + bmi Exit + +STAY PTR + jsr ResetPath + +LDADDR kDHGRScreenshotDirectory + jsr AddToPath + +LDADDR kPathSeparator + jsr AddToPath + +LDAY PTR + jsr AddToPath + jsr LoadDHRFile + !word gPathname + jsr FizzleDHGR +WaitOnScreenshot ldx #0 ldy #0 @wait lda $C000 - bmi @exit - jsr @burn + bmi Exit +; jsr @burn dey bne @wait dex @@ -148,21 +207,72 @@ HGRLoad rts @burn jsr @burn2 @burn2 jsr @burn3 -@burn3 jsr @exit -@exit rts +@burn3 jsr Exit +Exit rts Reboot ldx #(@end-@start-1) - lda @start,x - sta $100,x + sta $300,x dex bpl - - jmp $100 + jmp $300 @start +READ_ROM_NO_WRITE jmp $FAA6 @end +Home + ldx #(@end-@start-1) +- lda @start,x + sta $300,x + dex + bpl - + jmp $300 +@start + ; this will be run from main memory + +READ_ROM_NO_WRITE + sta $C00C ; get out of DHGR mode + jsr $FB2F ; TEXT + jsr $FC58 ; HOME + +READ_RAM1_WRITE_RAM1 + rts +@end + +BlankHGR + jsr Home + jsr ClearHGR1 ; clear hi-res screen 1 + lda $c057 ; show hi-res screen 1 (now blank) + lda $c054 + lda $c052 + lda $c050 + rts +BlankDHGR + jsr Home + jsr ClearHGR1 ; clear hi-res screen 1 + sta $C005 + jsr ClearHGR1 ; clear hi-res screen 1 in auxmem + sta $C004 + sta $c00d + sta $c057 + sta $c054 + sta $c052 + sta $c050 + sta $c05e + rts +ClearHGR1 + ldx #$20 ; clear hi-res screen 1 + stx @a+2 + lda #0 + tay +@a sta $2000,y + iny + bne @a + inc @a+2 + dex + bne @a + rts + kGameListConfFile !byte @kGameListConfFile_e-@kGameListConfFile_b @kGameListConfFile_b diff --git a/src/glue.prorwts2.a b/src/glue.prorwts2.a index 75241f47c..9a25fd023 100644 --- a/src/glue.prorwts2.a +++ b/src/glue.prorwts2.a @@ -28,6 +28,51 @@ LoadFile +LDPARAM 1 +STAY namlo ; set filename + jsr traverse ; go to subdirectory, set up filename for read + + lda #cmdread ; read (instead of write) + sta reqcmd + lda #0 ; 0 = read into main memory + sta auxreq + lda #$FF ; read entire file (ProRWTS2 will figure out exact size) + sta sizehi + jmp hddopendir ; exit via ProRWTS2 + +;------------------------------------------------------------------------------ +; LoadDHRFile +; load .A2FC file (uncompressed double hi-res graphics) into memory +; all at once, using ProRWTS2 +; first $2000 bytes of file are loaded into auxiliary memory $2000..$3FFF +; second $2000 bytes of file are loaded into main memory $2000..$3FFF +; +; in: stack contains 2 bytes of parameters: +; +1 address of filename +; out: all flags clobbered +; all registers clobbered +; stack set to next instruction after parameters +;------------------------------------------------------------------------------ +LoadDHRFile + +PARAMS_ON_STACK 2 + +LDPARAM 1 + +STAY namlo ; set filename + + jsr traverse ; go to subdirectory, set up filename for read + + lda #$00 ; read first $2000 bytes + sta sizelo + lda #$20 + sta sizehi + lda #1 ; 1 = read into aux memory + sta auxreq + lda #cmdread ; read (instead of write) + sta reqcmd + jsr hddopendir ; call ProRWTS2 + lda #$20 ; read next $2000 bytes + sta sizehi + dec auxreq ; 0 = read into main memory + jmp hddrdwrpart ; call ProRWTS2 + +traverse +LDAY gRootDirectory sta @myreadblock+1 sty @myreadblock+3 ; reset 'root' directory (saved at program start) @@ -133,41 +178,4 @@ LoadFile pla sta (namlo), y @go - lda #cmdread ; read (instead of write) - sta reqcmd - lda #0 ; 0 = read into main memory - sta auxreq - lda #$FF ; read entire file (ProRWTS2 will figure out exact size) - sta sizehi - jmp hddopendir ; exit via ProRWTS2 - -;------------------------------------------------------------------------------ -; LoadDHRFile -; load .A2FC file (uncompressed double hi-res graphics) into memory -; all at once, using ProRWTS2 -; first $2000 bytes of file are loaded into auxiliary memory $2000..$3FFF -; second $2000 bytes of file are loaded into main memory $2000..$3FFF -; -; in: stack contains 2 bytes of parameters: -; +1 address of filename -; out: all flags clobbered -; all registers clobbered -; stack set to next instruction after parameters -;------------------------------------------------------------------------------ -LoadDHRFile - +PARAMS_ON_STACK 2 - +LDPARAM 1 - +STAY namlo ; set filename - lda #$00 ; read first $2000 bytes - sta sizelo - lda #$20 - sta sizehi - lda #1 ; 1 = read into aux memory - sta auxreq - lda #cmdread ; read (instead of write) - sta reqcmd - jsr hddopendir ; call ProRWTS2 - lda #$20 ; read next $2000 bytes - sta sizehi - dec auxreq ; 0 = read into main memory - jmp hddrdwrpart ; call ProRWTS2 + rts diff --git a/src/prodos.path.a b/src/prodos.path.a index 57f933cc9..1aa139091 100644 --- a/src/prodos.path.a +++ b/src/prodos.path.a @@ -15,8 +15,12 @@ kPathSeparator !raw "/" kHGRScreenshotDirectory - !byte 1 - !raw "I" + !byte 3 + !raw "HGR" + +kDHGRScreenshotDirectory + !byte 4 + !raw "DHGR" kAttractModeSlideshowDirectory !byte 2