`8IBM i шp@љ Hy џџNMHzдР<А<b Hz`&O`р?< NA.KNu (Ver. 18.4.91) p Hello !! I am your personal boot sector GUARDIAN As long as I display this message YOUR BOOT SECTOR IS NOT INFECTED BY ANY VIRUS --------------------------------------- This guardian was placed on your diskette by FASTCOPY PRO (c) 1991 ICP Verlag, Martin Backschat q ЌљџџџO`€ №џ №џ №џ @`€ Рр! #@%`'€) +Р-№џ/1 3@џo7№џ9 ;Р=р?A C@E`G€I KРMрOQ S@U`W№џџЏџЯ]р_№џџ/c@e`g€i kРџџџoq s@u`w€y {Р}р ƒ@…`‡€‰ ‹Р№џ ‘ “@ •` —€ ™  ›Р р Ÿ Ё џџџЅ` Ї€ Љ  џџџ­р Џ Б Г№џџo З€ Й  ЛР Нр џ С У№џџo Ч€ Щ  ЫР Эр Я б г@ е` з€ й  лР нр пс у@џoч€щ ыРэряё ѓ@ѕ`ї€љ ћР§рџ!Aџo Ё С сџ!AaЁџџџс!!#A%ёџџ)Ё+С-с/1!3ёџ5a7џЏ;С=с?A!CAEaGIЁKСMсOQ!SAUaWџЏ[С]с_a!cAeagiЁkСmсoq!sAuawџЏ{С}с!ƒA…a‡‰Ё‹Сс‘!“A•a—™Ё›СсŸЁ!ЃAЅaЇЉЁЋС­сџџџџ/ГAЕaЗЙЁЛСНсПС!УAХaЧЩЁЫСЭсЯџ/гAеaџйЁлСнспс!уAхaчёџщЁыСэсяё!ѓAѕaїљЁћС§сџ ђџB b ‚ Ђ Т т !"!ђџb!‚!Ђ!Т!т!"!""#B"%b"'‚")Ђ"+Т"-т"/#1"#3ђџ5b#7‚#9Ђ#;Т#=т#?$A"$CB$Eb$G‚$IЂ$KТ$Mт$O%Q"%Sђџџo%W‚%YЂ%џЯ%]т%_ђџџ/&cB&eb&g‚&iЂ&kТ&mт&o'q"'sB'џo'w‚'yЂ'{Т'}т'("(ƒB(…b(‡‚(‰Ђ(‹Т(т()‘")“B)џo)—‚)™Ђ)›Т)т)Ÿ*Ё"*ЃB*Ѕb*Ї‚*ЉЂ*ЋТ*­т*Џ+Б"+ГB+џџџЗ‚+ЙЂ+ЛТ+џя+П,џ/,УB,џo,Ч‚,ЩЂ,ЫТ,ЭђџЯ-б"-гB-еb-з‚-йЂ-џџџљџџџO`€ №џ №џ №џ @`€ Рр! #@%`'€) +Р-№џ/1 3@џo7№џ9 ;Р=р?A C@E`G€I KРMрOQ S@U`W№џџЏџЯ]р_№џџ/c@e`g€i kРџџџoq s@u`w€y {Р}р ƒ@…`‡€‰ ‹Р№џ ‘ “@ •` —€ ™  ›Р р Ÿ Ё џџџЅ` Ї€ Љ  џџџ­р Џ Б Г№џџo З€ Й  ЛР Нр џ С У№џџo Ч€ Щ  ЫР Эр Я б г@ е` з€ й  лР нр пс у@џoч€щ ыРэряё ѓ@ѕ`ї€љ ћР§рџ!Aџo Ё С сџ!AaЁџџџс!!#A%ёџџ)Ё+С-с/1!3ёџ5a7џЏ;С=с?A!CAEaGIЁKСMсOQ!SAUaWџЏ[С]с_a!cAeagiЁkСmсoq!sAuawџЏ{С}с!ƒA…a‡‰Ё‹Сс‘!“A•a—™Ё›СсŸЁ!ЃAЅaЇЉЁЋС­сџџџџ/ГAЕaЗЙЁЛСНсПС!УAХaЧЩЁЫСЭсЯџ/гAеaџйЁлСнспс!уAхaчёџщЁыСэсяё!ѓAѕaїљЁћС§сџ ђџB b ‚ Ђ Т т !"!ђџb!‚!Ђ!Т!т!"!""#B"%b"'‚")Ђ"+Т"-т"/#1"#3ђџ5b#7‚#9Ђ#;Т#=т#?$A"$CB$Eb$G‚$IЂ$KТ$Mт$O%Q"%Sђџџo%W‚%YЂ%џЯ%]т%_ђџџ/&cB&eb&g‚&iЂ&kТ&mт&o'q"'sB'џo'w‚'yЂ'{Т'}т'("(ƒB(…b(‡‚(‰Ђ(‹Т(т()‘")“B)џo)—‚)™Ђ)›Т)т)Ÿ*Ё"*ЃB*Ѕb*Ї‚*ЉЂ*ЋТ*­т*Џ+Б"+ГB+џџџЗ‚+ЙЂ+ЛТ+џя+П,џ/,УB,џo,Ч‚,ЩЂ,ЫТ,ЭђџЯ-б"-гB-еb-з‚-йЂ-џџџNORTH 14 –GAS_FACE 9–mINTOBORD  –ЃINTRO_1 #–ДSPHINCTER ,–ФTWINMENU M–VICROLL S–&X BINY–4CFONT1 PI1 –9B}GRASS NEO –Y€}MYSETRONS "–yXеSINE72 DAT (–ЏиDPDEMO L–АPREDATORINTŠ–TTWB_INTRO –ЕDESKTOP INF !лоPOWER_PD E!. –.. –1PLANE FNT –8BOUNCE BSC – АBOUNCE PTH – FONT PI1 –"}LAP9 MUS –.ŽNIK_FONTS –5Y NORTH PI1 –8"}RASTER PTH $–XRASTPATHBSC &–YЈSINE1 BSC )–[lSINE1 DAT ,–`vNORTHYINS /–a–-??џџџџџџџџџ№№№џџџџџџџџџ№№№№№№№№№№џџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџррџџџџџџџџџррџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџўўќќўўџџџџџџџџџўўќ№????џџџџџџџџџџј№№№№№№№№№јџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№№№№№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџџџџџџџџџџџџўўќ№????џџџџџџџџџџјџџџџџџџџџјџџџџџџџџџџџџџџџџџџџџўўўўўўўўўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ??џџџџџџџџџџјџџџџџџџџџјјјјјјјјјјјџџџџџџџџџџўўўўўўўўўџџџџџџџџџџ????џџџџџџџџџџјїїїїїїїїї№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјўџџџџџџџџџџџџџџџџџџ№№№№№№№№№№№џџџџџџџџџџ№№№№№№№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўўўўўўўўўўўўўџџџџџџџџџРРРРРРРРРРРРРРРРРР??№№№№№№јџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўўќ№№№№№№№№№№ёѓїџџџџџїѓё№№№№№№№№№№№?џџџџџџўџџџџџџ?ўџџџџџўќј№рР€€Рр№јќўџџџџџџ?№№№№№№№№№№№№№№№№№№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ€Рр№јќўџџџџџџџџџџїѓё№№№№№№№№№№№?џџџџџџџџџїчЧ‡џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџРрр№јќўџџџџџџџџџџїѓё№№№№№№№№№№№‡Ччїџџџџџџџџџ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџ?????џџџџџџџџџџј№№№№№№№№№јџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџџџџџџџџџџџџўўќ№??џџџџџџџџџ№№№џџџџџџџџџ№№№№№№№№№№џџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџџўўќ№????џџџџџџџџџџј№№№№№№№№№јўџџџџџџџџџџџџџџџџџџџ ?џПпяїћ§ўџ№ќўўџџџџџџџџџџџџџџџПпяїћ§ўќј№`??џџџџџџџџџ№№№џџџџџџџџџѓё№№№№№№№№џџџџџџџџџџџџџџџџџџџџџ?№ќўўџџџџџџџџџџџџџўўќ№Рр№јќўџџџџ????џџџџџџџџџџјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџўўќ№џџџџџџџџџџџџџџџџџџџџўўўўўўўўўўўўўўўўўўўўўџџџџџџџџџџ??№№№№№№№№№№№№№№№№№№№№јџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўўќ№?№№№№№№№№№№№№№№№№јќўџџџџ??џџџџўќј№рР€џџџџџџџџџџџџџџџџўќј№рР€№№№№№№№№№№№№ёѓїџџџџџџџџџўќј№рР€‡Ччїџџџџџџџџџ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ??~<Рр№јќўџџџџџџ??џџџџџўќј№рР€?џџџџџџџўџџџџџ?џџџџџџўќј№рР€€Рр№јќўџџџџџ??Рр№јќўџџџџџџ??џџџџџџџўўўўўўўўўўўўўўўўўџџџџџџўќј№рР€?џџџџџџџџџ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџўќј№рРџџџџџџџџџџџџџџџџџўќј№рР€џџџџџџџџџ????џџџџџџџџџџјёѓїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџћѓуЧџџџџџџџџџџ№ќўџџџџџџџџџџџџџџџџџџџџџџџџўўќ№?????????????????џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ€€€€€€€€€€€€€€€€€€€€€€№№№№№№№№№????џџџџџџџџџџџџџџџџџџџ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјўџџџџџџџџџџџџџџўўќ№џџџџџџџџџџџџџџџџџџџ?????????џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќўўўўўўўўўўўўўўўўўўўўўўўўўўўўќ№??џџџџџџўќџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџўўќ№????џџџџџџџџџџјџџџџџџџџџ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџўўќ№?џџџџџџџџџ?џџџџџџўќј№рР€џџџџџџџџџџџџџџџўќј№рР€џџџџџџџџўќј№рР€????????џџџџџџџџџ№№џџџџџџџџџ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџўўќќўўџџџџџџџџџўўќ№????џџџџџџџџџ№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўўўўўўўўўўўўўўўўўўўўўўўўўўўў????јјјјјјјјр????????ќќќќќќќќјјјјјјјјјјјјјјјј?????????????????????Р№јјќќќќќќќќќќќќќјј№Рќќќќќќќќ??????????џџџџџџџџџџџџџџџџџџџџќќќќќќќќќќџџџџџџџџќр????јјјјјјјјрџџџџџџџџџџўќќќќќќќќќўџџџџџџџџџџррррррррррррррррррррџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџџџџџџџџџџџџўўќ№џџџџџџџџќр??џџџџџџџџџџџџџџџџџџџ№№ррррррррџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџўўќ№€Рр№јќўџџџџџџџџџџїѓё№№№№№№№№№№№?џџџџџџџџџїчЧ‡џџџџџџџџџџџџџџџџџџџџџџў§ћїяпПџў§ћїяпП??џџџџџџџџџџџџџџџџџџџјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџў§ћїяпПў§ћїяпПџџџџџџџџџџџџџџџџџџ№№№№№№№№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№ќўўџџџџџџџџџџџџџџџџџџџџџџџўўќ№NPJ –ўџ  <bЌ џ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џ№РРРРьюѓžЧэю{ŸљјЧЯлmчг™‡ёНЮмџџ№€J BOUNCE FOR LOGO€€finalџpџЮ€$0incџpџдџ|џ$€€Bюџ$finalџ@џ&џpџžџd*BOUNCE.PTHfB€€ 8 €*џlџџшџlџ*€*џlџ‘џшџlџ‘*€(фџpџ€,јџ>loop%џpџџшџ,€&ў(мџpџмџd(фzf&€$ў(рџpџоd(фzf$€:ў<џ,vd(мz,flџKvd(рzFf:€(ў(фџpџ(фџvџ0inc(€ўVЬwrite€ьџ>loop%€€(юџ$finalџ@џš&(€ І €€€ џVwrite€"ўюџ$finalџ@"€ў&рp&рx€*ў&рџpџЄџd(рџzџ“f*€ў&рp&рv€ў„џ&l€&ў„џ&ld&рџbџf&€ ўŒ € ž € !$(+/259<?CFILORUX[^acfhkmprtwy{}€‚„…‡ˆŠ‹ŒŽ‘‘’’““““”““““’’‘‘ŽŒ‹Šˆ‡…„‚€}{ywtrpmkhfca^[XUROLIFC?<952/+($!  !$(+/259<?CFILORUX[^acfhkmprtwy{}€‚„…‡ˆŠ‹ŒŽ‘‘’’““““”““““’’‘‘ŽŒ‹Šˆ‡…„‚€}{ywtrpmkhfca^[XUROLIFC?<952/+($!  !$(+/259<?CFILORUX[^acfhkmprtwy{}€‚„…‡ˆŠ‹ŒŽ‘‘’’““““”““““’’‘‘ŽŒ‹Šˆ‡…„‚€}{ywtrpmkhfca^[XUROLIFC?<952/+($!  !$(+/259<?CFILORUX[^acfhkmprtwy{}€‚„…‡ˆŠ‹ŒŽ‘‘’’““““”““““’’‘‘ŽŒ‹Šˆ‡…„‚€}{ywtrpmkhfca^[XUROLIFC?<952/+($!  !$(+/259<?CFILORUX[^acfhkmprtwy{}€‚„…‡ˆŠ‹ŒŽ‘‘’’““““”““““’’‘‘ŽŒ‹Šˆ‡…„‚€}{ywtrpmkhfca^[XUROLIFC?<952/+($!  !$(+/259<?CFILORUX[^acfhkmprtwy{}€‚„…‡ˆŠ‹ŒŽ‘‘’’““““”““““’’‘‘ŽŒ‹Šˆ‡…„‚€}{ywtrpmkhfca^[XUROLIFC?<952/+($!  !$(+/259<?CFILORUX[^acfhkmprtwy{}€‚„…‡ˆŠ‹ŒŽ‘‘’’““““”““““’’‘‘ŽŒ‹Šˆ‡…„‚€}{ywtrpmkhfca^[XUROLIFC?<952/+($!  !$(+/259<?CFILORUX[^acfhkmprtwy{}€‚„…‡ˆŠ‹ŒŽ‘‘’’““““”““““’’‘‘ŽŒ‹Šˆ‡…„‚€}{ywtrpmkhfca^[XUROLIFC?<952/+($!  0@P`"Dwџџџџџ№џ№џ№џ№џџџџџ№џ№џ№џ№џџџџџџџџџџџџџџџџџ№џ№џ№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџќџќџќџќџџџџџќџќџќџќџџџџџџџџџџџџџџџџџќџќџќџќџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџ?џ?џ?џ?џџўџўџўџўџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџ?џ?џ?џ?џџўџўџўџўџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџ№№№№џџџџррррџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџўўўўџџџџ№№№№џџџџррррџџџџјјјј№№№№џџџџјјјјјјјјјјјј№№№№џџџџўўўўџџџџ№№№№џџџџџџџџџџџџџџџџ№№№№№№№№џџџџџџџџўўўўџџџџўўўўїїїїџјџјџјџјџџџџџџџџџџџџўўўўџџџџџџџџџџџџџџџџџџџџџўџўџўџў№№№№№№№№џџџџџџџџўўўўџџџџўўўўїїїїџўџўџўџўџџџџџџџџџџџџўўўўџџџџџџџџџџџџџџџџџџџџџўџўџўџў№№№№№№№№џџџџџџџџўўўўџџџџўўўўїїїїџџџџџџџџџџџџџџџџџџџџўўўўџџџџџџџџџџџџџџџџџџџџџќџќџќџќ№№№№№№№№џџџџџџџџўўўўџџџџўўўўїїїїџџџџџџџџџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџџџџџџќџќџќџќ№№№№№№№№џџџџџџџџўўўўџџџџўўўўїїїїџџџџџџџџџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџџџџџџўџўџўџў№№№№№№№№џџџџџџџџўўўўџџџџўўўўїїїїџџџџџџџџџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџџџџџџўџўџўџў№№№№№№№№џџџџџџџџўўўўџџџџўўўўїїїїџџџџџџџџџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№№№№№џџџџџџџџўўўўџџџџўўўўїїїїџџџџџџџџџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№№№№№џџџџџџџџўўўўџџџџўўўўїїїїџџџџџџџџџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџррррџџџџјјјј№№№№џџџџјјјјјјјј№№№№џџџџџџџџџџџџџџџџўўўўјјјјџџџџ№№№№џџџџррррџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјјјџџџџџџџџџџџџ№№№№џџџџўўўўџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјјјџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјјјџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјјјџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјјјџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјјјџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџџџџџџџџ№№№№џџџџџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџјјјј?џ?џ?џ?џџџџџџџџџ№№№№џџџџџџџџџРџРџРџР?џ?џ?џ?џџўџўџўџў№№№№џџџџџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџјјјј?џ?џ?џ?џџџџџџџџџ№№№№џџџџџџџџџРџРџРџР?џ?џ?џ?џџўџўџўџў№№№№џџџџџџџџџќџќџќџќџџџџџџџџџџџџџџџџџќџќџќџќџџџџџџџџџџџџјјјјџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџќџќџќџќ№№№№џџџџџџџџџ№џ№џ№џ№џџџџџџџџџџџџџџџџџ№џ№џ№џ№џџџџџџџџџџџџјјјјџџџџџџџџџџџџ№№№№џџџџџџџџџРџРџРџРџџџџџ№џ№џ№џ№№№№№ўўўў№№№№€€€€џџџџРРРРџџџџџџџџџ№џ№џ№џ№џџџџџ№џ№џ№џ№џџџџџ№џ№џ№џ№џџџџџ№џ№џ№џ№џџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџ№№№№РРРРџџџџррррџџџџџџџџџќџќџќџќџџџџџќџќџќџќџџџџџќџќџќџќџџџџџќџќџќџќџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџ№№№№ррррџџџџррррџџџџ?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџџџџџџџџџџџџџџџџџџџџ№№№№џџџџ№№№№№№№№џџџџ№№№№џџџџ?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџџџџџџџџџџџџџџџџџџџџ№№№№џџџџ№№№№јјјјџџџџјјјјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџ№№№№ќќќќџџџџќќќќџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№?ў?ў?ў?ў№№№№ўўўў?џ?џ?џ?џўўўўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№ќќќќ№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џјџјџјџј№№№№џџџџџџџџџџџџџџџџ‡џ‡џ‡џ‡џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџёёёёџ№џ№џ№џ№№№№№џџџџџџџџџџџџџџџџЧџЧџЧџЧџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџѓѓѓѓџрџрџрџр№№№№џџџџџџџџџџџџџџџџчџчџчџчџјјјјџџџџ№№№№џџџџјјјјџџџџ№№№№џџџџјјјјўўўўїїїїџРџРџРџР№№№№џџџџџџџџџџџџџџџџїџїџїџїџ№№№№џџџџ№№№№џџџџ№№№№џџџџ№№№№џџџџџџџџџ№џ№џ№џ№ўўўўџџџџџ€џ€џ€џ€№№№№џџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџќџќџќџќўўўўџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџўџўџўџўўўўўџџџџўўўў№№№№џџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџўџўџўџўўўўўџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџўўўўџџџџџ€џ€џ€џ€№№№№џџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџџџџџџџџџџџџўўўўїїїїџРџРџРџР№№№№їїїїїџїџїџїџїїїїџџџџџџџџ№№№№џџџџџџџџџўџўџўџў№№№№ џ џ џ џџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџўўўўѓѓѓѓџрџрџрџр№№№№ѓѓѓѓчџчџчџчџѓѓѓѓџџџџџџџџ№№№№џџџџџџџџџўџўџўџў№№№№џџџџџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџўўўўёёёёџ№џ№џ№џ№№№№№ёёёёЧџЧџЧџЧџёёёёџџџџџџџџ№№№№џџџџџџџџџќџќџќџќ№№№№????џџџџџќџќџќџќџџџџџџџџџџџџўўўў№№№№џјџјџјџј№№№№№№№№‡џ‡џ‡џ‡џ№№№№џџџџџџџџјјјјџџџџџџџџџ№џ№џ№џ№јјјјППППџџџџџ№џ№џ№џ№џџџџўўўў№№№№ќќќќџџџџџџџџџџџџ№№№№џџџџ№№№№џџџџџџџџџџџџџџџџ№№№№ўўўўџпџпџпџпѓѓѓѓџРџРџРџРџџџџўўўў№№№№?ў?ў?ў?ўџџџџџџџџџџџџ№№№№џџџџ№№№№?џ?џ?џ?џџџџџџџџџџџџџ№№№№џџџџяяяяёёёёџрџрџрџрџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџ№№№№џџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџПїПїПїПї№№№№џ№џ№џ№џ№џџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџ№№№№џџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџпћпћпћпћ№№№№јјјјџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџ№№№№џџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџя§я§я§я§№№№№?ќ?ќ?ќ?ќџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџ№№№№џџџџ№№№№џџџџџџџџџџџџџџџџ№№№№џџџџїўїўїўїў№№№№ўўўўџџџџџџџџџџџџўўўў№№№№џџџџџџџџџџџџџџџџ№№№№џџџџ№№№№џџџџ?џ?џ?џ?џџўџўџўџў№№№№?џ?џ?џ?џћќћќћќћќ№№№№џџџџџџџџџўџўџўџўўўўў№№№№џџџџџџџџџџџџџџџџ№№№№џџџџ№№№№џџџџ?џ?џ?џ?џџўџўџўџў№№№№?џ?џ?џ?џ§ј§ј§ј§ј№№№№џџџџџџџџџўџўџўџўўўўў№№№№џџџџџџџџџџџџ№№№№џџџџ№№№№џџџџџќџќџќџќ№№№№џџџџў№ў№ў№ў№№№№№џџџџџџџџџќџќџќџќўўўў№№№№????џџџџџџџџџџџџ№№№№џџџџ№№№№????џџџџџ№џ№џ№џ№№№№№џџџџџ`џ`џ`џ`№№№№џџџџџџџџџ№џ№џ№џ№ўўўў№№№№џџџџ№№№№џџџџ№№№№џџџџРРРРџџџџРРРРџџџџџџџџџџџџџџџџџџџџџ№џ№џ№џ№џ€џ€џ€џ€џџџџџјџјџјџјџџџџџќџќџќџќ№№№№џџџџ№№№№џџџџ№№№№џџџџррррџџџџррррџџџџџџџџџџџџџџџџџџџџџќџќџќџќџ€џ€џ€џ€џџџџџўџўџўџўџџџџџўџўџўџў№№№№џџџџ№№№№џџџџ№№№№џџџџ№№№№џџџџ№№№№џџџџџџџџџџџџџџџџ?џ?џ?џ?џџўџўџўџўџ€џ€џ€џ€џџџџџџџџџџџџџџџџџўџўџўџў№№№№џџџџ№№№№џџџџ№№№№џџџџјјјјџџџџјјјјџџџџџџџџџџџџџџџџ?џ?џ?џ?џџџџџџџџџџ€џ€џ€џ€џџџџџџџџџџџџџџџџџўџўџўџў№№№№џџџџ№№№№џџџџ№№№№џџџџќќќќџџџџќќќќџџџџџџџџџџџџџџџџџџџџџџџџџџџџ????џ€џ€џ€џ€џџџџџџџџџџџџџџџџџўџўџўџў№№№№џџџџ№№№№џџџџ№№№№џџџџ?ў?ў?ў?ўџџџџ?ў?ў?ў?ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџ????џ€џ€џ€џ€џџџџџџџџџџџџџџџџџўџўџўџў№№№№џџџџ№№№№џџџџ№№№№џџџџџџџџ?ў?ў?ў?ўџџџџ?ў?ў?ў?ўџџџџџџџџџџџџџџџџџџџџџџџџ????џ€џ€џ€џ€џџџџџџџџџџџџџџџџџўџўџўџў№№№№џџџџ№№№№џџџџ№№№№џџџџџџџџџќџќџќџќџџџџџќџќџќџќџџџџџџџџџџџџџџџџџџџџџџџџ????џ€џ€џ€џ€џџџџџџџџџџџџџџџџџўџўџўџў№№№№џџџџ№№№№џџџџ№№№№џџџџџџџџџјџјџјџјџџџџџјџјџјџјџџџџџўџўџўџўџџџџџџџџџџџџ????џ€џ€џ€џ€џџџџџџџџџџџџџџџџџўџўџўџў№№№№џџџџ№№№№џџџџ№№№№џџџџџџџџџ№џ№џ№џ№џџџџџ№џ№џ№џ№ќќќќџџџџџџџџџџџџ????џ€џ€џ€џ€џџџџџџџџџџџџџџџџџўџўџўџў№№№№џџџџ№№№№џџџџ№№№№џџџџџџџџџрџрџрџрџџџџџрџрџрџрџјџјџјџјјјјјџџџџџџџџ????џ€џ€џ€џ€џџџџўўўў№№№№џџџџ№№№№џџџџ№№№№‡џ‡џ‡џ‡џџџџџџРџРџРџРџџџџџРџРџРџРџ№џ№џ№џ№ёёёёџџџџџџџџ????џ€џ€џ€џ€џџџџџџџџџџџџ????џўџўџўџў№№№№џџџџ№№№№џџџџёёёёЧџЧџЧџЧџџ€џ€џ€џ€џ€џ€џ€џ€џрџрџрџрѓѓѓѓџџџџџџџџџ€џ€џ€џ€џџџџџџџџџџџџ????џўџўџўџў№№№№џџџџ№№№№џџџџѓѓѓѓчџчџчџчџ????џџџџ????џџџџџРџРџРџРїїїїџџџџџџџџџ€џ€џ€џ€?џ?џ?џ?џџџџџџџџџ????џўџўџўџў№№№№џџџџ№№№№џџџџїїїїїџїџїџїџ????ўўўўўўўўџ€џ€џ€џ€џџџџџџџџџџџџџ€џ€џ€џ€?џ?џ?џ?џџџџџџџџџ????џўџўџўџў№№№№џџџџ№№№№џџџџџџџџџџџџџџџџџџџџўўўўџџџџџџџџџџџџџџџџџ€џ€џ€џ€џџџџџџџџџџџџ????џўџўџўџў№№№№џџџџ?ј?ј?ј?јўўўўџџџџџџџџџџџџџџџџџ€џ€џ€џ€ўўўў????ўўўўџџџџџџџџџџџџџ€џ€џ€џ€џџџџџўџўџўџў????џўџўџўџў№№№№џџџџќќќќќќќќџџџџџџџџџџџџџџџџџРџРџРџРўўўўќќќќџџџџћџћџћџћџџ€џ€џ€џ€џџџџџўџўџўџў????џўџўџўџў№№№№џџџџўўўў?ј?ј?ј?јџџџџџџџџџџџџџџџџџрџрџрџрўўўўџџџџјјјјџџџџѓџѓџѓџѓџџ€џ€џ€џ€џџџџџќџќџќџќ????џўџўџўџў№№№№џџџџџџџџ№№№№џџџџџџџџџџџџџџџџџ№џ№џ№џ№ўўўўџџџџ№№№№џџџџуџуџуџуџџ€џ€џ€џ€џџџџџ№џ№џ№џ№????џўџўџўџўјјјјџџџџџџџџџрџрџрџрџџџџџџџџџџџџџџџџјјјјўўўўџџџџррррџџџџЧџЧџЧџЧџџ€џ€џ€џ€№№№№ўўўўџџџџџџџџџџџџџџџџџРџРџРџРџџџџџџџџџџџџўўўў?ќ?ќ?ќ?ќўўўўџџџџРРРРџџџџџџџџџџџџџ€џ€џ€џ€№№№№џџџџџўџўџўџўџџџџџџџџџџџџџџџџџ€џ€џ€џ€џџџџџџџџџџџџ?ќ?ќ?ќ?ќўўўўўўўўџџџџџџџџџџџџџџџџџџџџџџџџ????џ№џ№џ№џ№џџџџџџџџџџџџџџџџџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјјјџџџџўўўўџџџџџџџџџџџџџџџџџџџџџџџџ????џ№џ№џ№џ№џџџџџџџџџџџџџџџџџўџўџўџўџџџџџџџџџџџџ????ўўўўўўўў?џ?џ?џ?џ№№№№џџџџўўўў?џ?џ?џ?џџџџџџџџџџџџџџџџџџџџџ????џ№џ№џ№џ№џџџџџџџџџџџџџџџџџўџўџўџўџџџџџџџџџџџџќќќќќќќќџџџџррррџџџџўўўўџџџџџџџџџџџџџџџџџџџџџџџџ????џ№џ№џ№џ№џџџџџџџџџџџџџџџџџўџўџўџўџџџџџџџџџџџџјјјјјјјјџџџџРРРРџџџџўўўўџџџџџџџџџџџџџџџџџџџџџџџџ????џ№џ№џ№џ№џџџџџџџџџџџџџџџџџўџўџўџў?џ?џ?џ?џџўџўџўџў№№№№№№№№џџџџ€€€€џџџџўўўўџџџџџџџџџџџџ?џ?џ?џ?џџўџўџўџў????џ№џ№џ№џ№?џ?џ?џ?џџџџџџџџџџџџџџўџўџўџў?џ?џ?џ?џџўџўџўџўррррррррџџџџўўўўџџџџџџџџџџџџ?џ?џ?џ?џџўџўџўџў????џ№џ№џ№џ№?џ?џ?џ?џџџџџџџџџџџџџџўџўџўџўџџџџџќџќџќџќРРРРРРРРџџџџ~~~~????ўўўўџџџџџџџџџџџџџџџџџќџќџќџќ????џ№џ№џ№џ№џџџџџџџџџџџџџџџџџќџќџќџќџџџџџ№џ№џ№џ№€€€€€€€€џџџџ<<<<ўўўўџџџџџџџџџџџџџџџџџ№џ№џ№џ№????џ№џ№џ№џ№џџџџџџџџџџџџџџџџџ№џ№џ№џ№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№џ№џ№џ№џџџџџ№џ№џ№џ№????џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќџќџќџќџџџџџќџќџќџќџџџџџџџџџџџџџџџџџџџџ?џ?џ?џ?џџџџџџџџџџџџџџџџџџџџџ?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџ?џ?џ?џ?џџџџџџџџџџџџџџџџџџџџџ?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџўџўџўјјјјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџўџўџўјјјјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџўџўџўџџџџџџџџџџџџџџџџџўџўџўџўјјјј?ў?ў?ў?ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџќќќќ№№№№џџџџ№№№№ўўўўјјјјќќќќџџџџјјјјјјјјџјџјџјџј№№№№џџџџ№№№№ўўўўјјјјџџџџџџџџџџџџџџџџџ№џ№џ№џ№џџџџџ№џ№џ№џ№џ№џ№џ№џ№џџџџџџџџџџџџџџџџџўџўџўџўјјјјџџџџџџџџџџџџџџџџџќџќџќџќџџџџџќџќџќџќџрџрџрџр?џ?џ?џ?џџўџўџўџўџџџџџўџўџўџўјјјјџџџџџџџџџџџџџџџџџўџўџўџўџџџџџўџўџўџўџРџРџРџР?џ?џ?џ?џџўџўџўџўџџџџџўџўџўџўјјјјџџџџџџџџџџџџџџџџџўџўџўџўџџџџџўџўџўџўџ€џ€џ€џ€џџџџџќџќџќџќџџџџџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќџќџќџќџџџџџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ????ўўўў?џ?џ?џ?џџўџўџўџўџџџџџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќќќќ?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјјјџџџџџџџџџџџџ?џ?џ?џ?џџўџўџўџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№№№№џџџџџџџџџџџџџџџџџўџўџўџўџџџџџџџџџџџџџџџџ№№№№џџџџџџџџрррр№№№№џџџџџџџџџўџўџўџўџџџџџџџџ№№№№џџџџџџџџРРРР№№№№џџџџўўўўјјјјјјјјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ€€€€џџџџџџџџџџџџўўўўјјјјјјјјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўўўўјјјј????ќќќќјјјјџџџџџџџџџџџџџџџџџџџџџџџџџџџџ?ў?ў?ў?ўџџџџџџџџџџџџўўўўјјјј????ќќќќјјјјџџџџџџџџџџџџџџџџџџџџџџџџџџџџќќќќџџџџџџџџџџџџўўўўјјјј????ќќќќјјјјџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјјјџџџџџџџџџџџџўўўўјјјј????ќќќќјјјјџџџџџџџџџўџўџўџў?џ?џ?џ?џџўџўџўџў№№№№?џ?џ?џ?џџўџўџўџўўўўў????јјјј????ќќќќјјјјџџџџџџџџџўџўџўџў?џ?џ?џ?џџўџўџўџўрррр?џ?џ?џ?џџўџўџўџўўўўў????јјјј????ќќќќјјјјџџџџџџџџџќџќџќџќџџџџџќџќџќџќРРРРџџџџџќџќџќџќўўўў????рррр????ќќќќџџџџџџџџџ№џ№џ№џ№џџџџџ№џ№џ№џ№€€€€џџџџџ№џ№џ№џ№ўўўў????????ќќќќРРРРџџџџррррџџџџ№№№№џџџџџ№џ№џ№џ№№№№№џџџџјјјјџџџџррррџџџџќќќќџџџџџџџџџќџќџќџќјјјјџџџџјјјјџџџџррррџџџџўўўўџџџџџџџџџўџўџўџўјјјјџџџџјјјјџџџџррррџџџџўўўўџџџџџџџџџўџўџўџў????ќќќќџџџџјјјјџџџџррррџџџџџџџџџџџџџџџџџџџџџџџџ????ќќќќџџџџјјјјџџџџррррџџџџџџџџџџџџџџџџџџџџџџџџ????ќќќќџџџџјјјјџџџџррррџџџџџџџџџџџџџџџџџџџџџџџџ????ќќќќџџџџ?ј?ј?ј?јџџџџррррџџџџџџџџџџџџџџџџџџџџџџџџ????ќќќќџџџџ?ј?ј?ј?јџџџџррррџџџџџџџџџџџџџџџџџџџџџџџџ????ќќќќќќќќ?р?р?р?рџџџџррррџџџџџџџџќќќќџџџџџџџџџџџџ????ќќќќрррр????ўўўўџџџџррррџџџџ????ќќќќќќќќџџџџџџџџџџџџџџџџ????ќќќќќќќќџџџџџџџџџџџџџџџџ????ќќќќќќќќџџџџ?џ?џ?џ?џџџџџџџџџ????ќќќќ?џ?џ?џ?џџќџќџќџќќќќќџџџџ?џ?џ?џ?џџџџџџџџџ????ќќќќ?џ?џ?џ?џџќџќџќџќќќќќџџџџџџџџџџџџџџџџ????ќќќќ?џ?џ?џ?џџќџќџќџќќќќќџџџџџџџџџўџўџўџўјјјј?џ?џ?џ?џџќџќџќџќќќќќџџџџџџџџџўџўџўџўјјјј?џ?џ?џ?џџќџќџќџќќќќќџџџџџџџџџќџќџќџќ№№№№?џ?џ?џ?џџќџќџќџќќќќќџџџџџџџџџ№џ№џ№џ№РРРР?џ?џ?џ?џџќџќџќџќўўўўџџџџ№№№№?џ?џ?џ?џџќџќџќџќџџџџррррџџџџџџџџ№№№№?џ?џ?џ?џџќџќџќџќџџџџррррџџџџџџџџ????ќќќќ?џ?џ?џ?џџќџќџќџќџџџџррррџџџџџџџџрррр????ќќќќџџџџррррџџџџџџџџрррр????ќќќќџџџџррррџџџџџџџџрррр????ќќќќџџџџррррџџџџџџџџрррр????ќќќќџџџџррррџџџџўўўўрррр????ќќќќџџџџррррџџџџўўўўрррр????ќќќќџџџџррррџџџџќќќќрррр????ќќќќџџџџррррџџџџ№№№№рррр` `(`і/Aњ œРРќ _NuHчџўa: fX~Cњ2М@Cњ Eњ$‰Cњ ˆEњ $‰Cњ>Eњј$‰CњtEњњ$‰Cњ:Eњд$‰CњS(j8PRh0( @ f BAњЂ0М`Aњp0AњЮCњEњ>€€€Mњ>KњvJmgB."B.&B.*LюHјˆNuS]f;AњRaИAњˆaАAњОaЈKњFAњ6aО?_@A"Aњ^aЈ?_@ A&Aњ†a’?_@A*0-g@?AњІat"h гш )сfBm>CњИоGоGвЧ|?€`Ÿ``РG]LжџHјџˆNuz|>:ˆ"h"гш&@ @gОh(ft&h4$PешЕЫf!E$Prj,j*B№ №fB<` рf B;B!E&ТЧ&zзС!K"Ј "h"гш&AJAgz!E8A&IJЈ&fжЧkџўQ JkXAв($zЪэaдС!ERZAџZ|@.@@Z!J $zэaдС!J!E0EETЈ&Nu~G J(gS(`"hгш0 сgў рf)€?!@0"hгР тfBЈ|RЈ0`Р щf.ќ ˆщˆќ ˆќˆќ ˆќ ˆTЈ0`џŽ чf)@џэ@"zквР!I!G0`џt шfiTЈ0`џJ фfG*i TЈ0`< хf|*RЈ0`џ цf |*RЈ0` уfVЈ0ii"hгш0Q+RЈ0J(gS(`NS(fHh"h гш шf TЈi`Ь сg рf)€?[€!@`ЦQ-RЈ(+kа(а(,@Cњќа@2вР0(!(*‚f•VC•`. f"еVC•h (+j D ` й( `•VCеJ( g(  C(.J(gS(`V(и(Jjf&f’(dЧr`в(Вe‡Aт ’dA eвAdјаA G.( g~2(H$(8v чЁд!B8HBB(-’(QШџ(Aњк0ЈBhNu4:ф2:тJBgtAњ~KњЬBA!B(|z@$zЌэ`дР!ERZ@џZt|@.BBZ!J $zpэ`дР!J!E0B(B(RA;ANuсџџ " &*@ю M Ž й / Ž ї gрaшw ІGь—GћГp0єЛ…S#іЫЃ}Y8њнТЉ‘{eQ>, §юсдШНВЈŸ–Ž†~wpjd^YTOKGC?;852/,*'%#! тц стх“ц Ÿф˜žœх•стц стх“ц—”ŒŽŒ‹стх“цстцртцртщц стц стцстц ртц стх“ц—”ŒˆŒ‹Žртх“цžŸф•žœ›šр тхŸстцстхŸцс с`  с с  с с с с  с с  с  с  с       сс с с с        00 00 0  0           0000000002323535753532320<:8753532,.0357    79:<>?<? 77 7 7 77>AC №   № №џ   №№ №   №№ё№№ё№ №      №     №№ №   № №џ   №      №     №№ё№№ё;SOUND CHIP PLAYER ROUT BY MAD MAX .MUSIC COMPOSED BY LAP .(C) LAP 90 . MUSIC #9 P;STEAL font program bra skip filename: dc.b "1plane.FNT",0 ;destination name even pic: incbin "font.pi1" ;source picture even skip bsr set_super dc.w $a00a bsr get_screen_base bsr get_old_palette bsr set_new_palette bsr get_original_rez bsr set_low_rez move.l screen_base,a1 lea pic+34,a0 move.w #32000/4-1,d0 loop: move.l (a0)+,(a1)+ dbf d0,loop move.l screen_base,a0 move.l a0,a6 lea buffer,a1 moveq #4,d2 repeat move.l a6,a0 move.w #(10*4)-1,d1 across: move.w #31-1,d0 shift: move.b (a0),d7 or.b 2(a0),d7 or.b 4(a0),d7 or.b 6(a0),d7 move.b d7,(a1)+ not.b (a0) not.b 2(a0) not.b 4(a0) not.b 6(a0) add.w #160,a0 bsr pause dbf d0,shift sub.w #(160*31)-1,a0 move.w a0,d0 btst.l #0,d0 bne.s .ok addq.w #6,a0 .ok dbf d1,across add.w #32*160,a6 dbf d2,repeat move.l a1,a5 ;now save bsr f_create move.l a5,a1 bsr f_write bsr f_close wait: bsr get_key CMP.B #27,D0 ;Wait for ESC. bne wait bsr set_old_palette bsr set_med_rez dc.w $a009 bsr set_user MOVE.W #$0,-(SP) ; RETURN TO GEM DESKTOP. TRAP #1 RTS *********************** * SUBROUTINES SECTION * *********************** f_create: move.w #0,-(sp) pea filename move.w #$3c,-(sp) trap #1 add.l #8,sp move.w d0,handle rts f_write: lea buffer,a0 sub.l a0,a1 move.l #buffer,-(sp) move.l a1,-(sp) move.w handle,-(sp) move.w #$40,-(sp) trap #1 add.l #12,sp rts f_close: move.w handle,-(sp) move.w #$3e,-(sp) trap #1 addq.l #4,sp rts pause: move.w d0,-(sp) move.w #100,d0 pau: nop dbf d0,pau move.w (sp)+,d0 rts get_key: move.w #7,-(sp) trap #1 addq.l #2,sp rts set_super: clr.l -(sp) ;Set super stack equal move.w #$20,-(sp) ; to user stack before call trap #1 addq.l #6,sp ;correct stack move.l d0,stack_save ;save old supervisor stack value rts set_user: move.l stack_save,-(sp) move.w #$20,-(sp) trap #1 ;back to user addq.l #6,sp ;correct stack rts get_old_palette: move.w #8-1,d0 lea $ff8240,a0 lea old_palette,a1 get_old: move.l (a0)+,(a1)+ dbf D0,get_old rts set_new_palette: lea pic+2,a0 bra set_pal set_old_palette: lea old_palette,a0 set_pal: lea $ff8240,a1 move.w #8-1,d0 set_p: move.l (a0)+,(a1)+ dbf d0,set_p rts get_screen_base: move.w #3,-(sp) trap #14 addq.l #2,sp move.l d0,screen_base rts get_original_rez: move.w #4,-(sp) trap #14 addq.l #2,sp move.w d0,original_rez rts set_low_rez: clr.w -(sp) bra set_rez set_med_rez: move.w #1,-(sp) set_rez: move.l #-1,-(sp) move.l #-1,-(sp) move.w #5,-(sp) trap #14 add.l #12,sp rts **************** * DATA SECTION * **************** stack_save: dc.l 0 screen_base dc.l 0 original_rez: dc.w 0 handle: dc.w 0 old_palette: ds.w 16 even buffer: ds.l 10000 Gppppќќџџўџџџ№џџџџŸџ€џќџџўџчџџџ№?џџџјўќ?џџџ‡џџџќџџџџŸџ€џќ?џџџ‡џчџџџќ?џџџјўќ?џџџ‡џџџќџџџџŸџ€џќ?џџџ‡џчџџџќ?џџџјџќџџџЧџџџўџџџџŸџ€џќџџџЧџчџџџў?џџџјџ€ќџџџЧџџџўџџџџŸџ€џќџџџЧџчџџџў?џџџјџРќџџџџчџџџџџџџџŸџ€џќџџџџчџчџџџџ?џџџјџРќџџџџчџџџџџџџџŸџ€џќџџџџчџчџџџџ?џџџјџрќџџџџчџџџџџџџџŸџ€џќџџџџчџчџџџџ?џџџјџ№ќџџџџчџџџџџџџџŸџ€џќџџџџчџчџџџџ?џџџјџјќџџџџчџџџџџџџџŸџ€џќџџџџчџчџџџџ?џџџјџјќџџџџчџџџџџџџџŸџ€џќџџџџчџчџџџџ?џџџјџќќџџџџчџџџџџџџџŸџ€џќџџџџчџчџџџџ?џџџјџўќџќџчџр?џџ№џ€џќџќџчџчџр?џ?џџўќџќџчџр?џџ№џ€џќџќџчџчџр?џ?џџџќџќџчџр?џџ№џ€џќџќџчџчџр?џ?џџџќџќџчџр?џџ№џ€џќџќџчџчџр?џ?џџџŸќџќџчџр?џџ№џ€џќџќџчџр?џ?џџџпќџќџчџр?џџ№џ€џќџќџчџр?џ?џџџџќџќџчџр?џџ№џ€џќџќџчџр?џ?џџџџќџќџчџр?џџ№џ€џќџќџчџр?џ?џџџџќџќџчџр?џџ№џџџќџџџўџчџр?џ?џџџ€џџџќџќџчџр?џџ№џџџќџџџџ‡џчџр?џ?џџџ€џџџќџќџчџр?џџ№џџџќџџџџ‡џчџр?џ?џџџ€џџџќџќџчџр?џџ№џџџќџџџџЧџчџр?џ?џџџ€џџџќџќџчџџџџџ№џџџќџџџџЧџчџр?џ?џџџ€џџџќџќџчџџџўџ№џџџќџџџџчџчџр?џ?џџџ€џџџќџќџчџџџўџ№џџџќџџџџчџчџр?џ?џџџ€џџџќџќџчџџџўџ№џџџќџџџчџчџр?џ?џџџ€џџџќџќџчџџџќџ№џџџќџџџчџчџр?џ?џџџ€џџџќџќџчџџџ№џ№џџџќ?џџџчџчџр?џ?џџџ€џџџќџќџчџџџ№џ№џџџќ?џџџчџчџр?џ?џџџ€џџџќџќџчџџџќџ№џџџќџџџчџчџр?џ?џџџ€џџџќџќџчџџџўџ№џ€џќџчџчџр?џ?џ§џџќџќџчџџџўџ№џ€џќџчџчџр?џ?џ§џџќџќџчџџџўџ№џ€џќџчџчџр?џ?џќџџќџќџчџџџџџ№џ€џќџчџчџр?џ?џќџќџќџчџр?џџ№џ€џќџќџчџчџр?џ?џќ?џќџќџчџр?џџ№џ€џќџќџчџчџр?џ?џќ?џќџќџчџр?џџ№џ€џќџќџчџчџр?џ?џќ?џќџќџчџр?џџ№џ€џќџќџчџчџр?џ?џќџќџќџчџр?џџ№џ€џќџќџчџчџџџџ?џџџјќџќџџџџчџр?џџ№џ€џќџќџчџчџџџџ?џџџјќџќџџџџчџр?џџ№џ€џќџџџџчџчџџџџ?џџџјќџќџџџџчџр?џџ№џ€џќџџџџчџчџџџџ?џџџјќџќџџџџчџр?џџ№џ€џќџџџџчџчџџџџ?џџџјќџќџџџџчџр?џџ№џ€џќџџџџчџчџџџџ?џџџјќџќџџџџЧџр?џџ№џ€џќџџџџчџчџџџў?џџџјќџќџџџЧџр?џџ№џ€џќџџџЧџчџџџў?џџџјќќџџџЧџр?џџ№џ€џќџџџЧџчџџџў?џџџјќ?ќ?џџџ‡џр?џџ№џ€џќџџџЧџчџџџќ?џџџјќќ?џџџ‡џр?џџ№џ€џќ?џџџ‡џчџџџ№?џџџјќќџџўџр?џџ№џ€џќџџўџчџџџ№?џџџјр<р<р<?џ?џ?џсџсџсџџУџУџУџџџџџџѓРѓРѓРсссџџџџџџ???џјџјџјџџџќќќрррўўўр<р<р<џџџёџёџёџџуџуџуџџџџџџѓРѓРѓРуууџџџџџџ???џќџќџќџџџќќќрррўўў№<№<№<џџџџџџљџљџљџџѓџѓџѓџџџџџџѓРѓРѓРчччџџџџџџЯ?Я?Я?џўџўџўџџџќќќ?р?р?рўўў№<№<№<јјјљрљрљр№№№рррРРРчччРРРЯ<Я<Я<>>>xxx}р}р}роооx>><<<<<<№№№yрyрyр№№№рррџџџџчџчџчџџџџџџ<<<џџџррр|||<<<№№№yџyџyџџрџрџррррџџџџуџуџуџџџџџџ<<<џџџрррјјј<<<№№№yџyџyџџРџРџРрррџџџџсџсџсџџџџџџЯ<Я<Я<џџџссс№№№<<<№№№yџyџyџџрџрџррррРРРрррЯ<Я<Я<xxxуууррр<<<№№№yрyрyр№№№рррРРРрррЯ<Я<Я<xxxчччРРРМММ№№№yрyрyр№№№рррРРРрррЯ<Я<Я<xxxчччџџџџџџРРРМММ№№№yрyрyр№№№рррРРРччч€€€Я<Я<Я<xxxчччџџџџџџРРРќќќјјјљрљрљр№№№рррРРРчччРРРЯ<Я<Я<>>>xxxчччџџџџџџРРРќќќџџџџџџљрљрљр№№№рррРРРчччџџџџџџЯ?Я?Я?џўџўџўџџџќќќрррќќќџџџёрёрёр№№№рррРРРуууџџџџџџ???џќџќџќџџџќќќрррќќќ?џ?џ?џсрсрср№№№рррРРРсссџџџџџџ???џјџјџјџџџќќќррр8€8€8€€€€G№G№G№ќќќРРРјјј‚‚‚РРРxРxРxРРРРЧёЧёЧёўўўрррќ?ќ?ќ?УУУРРРxpxpxpёёёЧЧЧУУУppp†8†8†8уЧуЧуЧ8p8p8pѓѓѓЧЧЧРРРppp€8€8€8уЯуЯуЯ8p8p8pџџџЧЧЧРРРppp€8€8€8уџуџуџ8p8p8pПППGGGРРРppp€8€8€8т§т§т§8p8p8pŽŽŽGсGсGсппп№№№О?О?О?т9т9т9€€€8p8p8pŒŒŒGGGЧЧЧpppŽ8Ž8Ž8т1т1т18p8p8p€€€GGGЧЧЧpppŽ8Ž8Ž8ттт8p8p8p€€€GGGЧЧЧpppŽ8Ž8Ž8ттт8р8р8р€€€GGGяяяpppо8о8о8ттт8€8€8€€€€G№G№G№ќќќpppј8ј8ј8тттРРР??????‡р‡р‡р~~~РРРќќќўўў???†††???№№№џџџсссўўўўўў€€€AУAУAУ€€€Ž8Ž8Ž8у€у€у€111ЧЧЧ8р8р8рAAAРРРУУУ€€€ž8ž8ž8у€у€у€ЧЧЧxрxрxрРРРУУУ€€€ў8ў8ў8у€у€у€ЧЧЧјрјрјрРРРƒƒƒ€€€њ8њ8њ8у€у€у€ЧЧЧшршршр€€€€€€r?r?r?јјјџ€џ€џ€ёёёџџџШќШќШќ€€€b8b8b8888у€у€у€qqqЧЧЧˆрˆрˆр<<<€€€888888у€у€у€qqqЧЧЧррр<<<xxx€€€888888у€у€у€qqqЧЧЧрррxxxppp888xxxу€у€у€ёёёЧЧЧрррpppФФФ???‡р‡р‡ру€у€у€СССЧЧЧўўўРРРФФФ???‡р‡р‡р~~~РРРќќќўўўРРРЦЦЦ???№№№џџџсссўўўўўўРРР€€€Ž8Ž8Ž8у€у€у€111ЧЧЧ8р8р8р€€€ž8ž8ž8у€у€у€ЧЧЧxрxрxр???€€€ў8ў8ў8у€у€у€ЧЧЧјрјрјр????ƒ?ƒ?ƒ€€€њ8њ8њ8у€у€у€ЧЧЧшршршр???€€€УУУ€€€r?r?r?јјјџ€џ€џ€ёёёџџџШќШќШќРРРУУУ€€€b8b8b8888у€у€у€qqqЧЧЧˆрˆрˆрРРРУУУ€€€888888у€у€у€qqqЧЧЧрррРРРAУAУAУ€€€888888у€у€у€qqqЧЧЧрррAAAРРРcЧcЧcЧ888xxxу€у€у€ёёёЧЧЧрррcccРРР??????‡р‡р‡ру€у€у€СССЧЧЧўўў???ТТТјјјјјј€€€УУУќ?ќ?ќ?УќУќУќ?Р?Р?РСССРРРŽ8Ž8Ž8у†у†у†8`8`8` С С СРРРŽ8Ž8Ž8у€у€у€8889С9С9СРРРŽ8Ž8Ž8у€у€у€qСqСqСРРРŽ8Ž8Ž8у€у€у€AСAСAСРРРŽ8Ž8Ž8у€у€у€€€€сссРРРŽ8Ž8Ž8у€у€у€€€€СССРРРŽ8Ž8Ž8у€у€у€рррСССРРРŽ8Ž8Ž8у†у†у† р р рУУУ€€€ž=ž=ž=уЮуЮуЮ1р1р1рТТТјјјјјј€€€ШЬадкотшь№іњў  $(,048<@DFJNPTVZ\`bdhjlnprtvxz||~€€‚‚‚„„„„„†„„„„„‚‚‚€€~||zxvtrpnljhdb`\ZVTPNJFD@<840,($  ўњі№ьштокдаЬЦТОКДАЌІЂž˜”Œ†‚~zvrnjfb^ZVRNJHD@>:842.,*&$"   "$&*,.248:>@DHJNRVZ^bfjnrvz~‚†Œ”˜žЂІЌАДКОТNPJ –ўџ  пюсJтьŠ 8 џ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џ№РРРРьюѓžЧэю{ŸљјЧЯлmчг™‡ёНЮмџџ№€"H *** Raster Path ***"€€ivfinalџpџЮ€$i‚incџpџдџ|џ€$€i’changeџpџа€€Bюџivfinalџ@џ&џpџžџd*RASTER.PTHfB€€ 8 €*џlџџшџlџ*€*џlџ‘џшџlџ‘*€(фџpџ€,јџi loop%џpџџшџ,€ў(рџpџоd(фf€8ў<џloop%|lџdvd(рz_f8€(ў(фџpџ(фџvџi‚inc(€ўVс$write€ьџi loop%€€(юџivfinalџ@џš&(€ І €€€ џVwrite€"ўюџivfinalџ@"€8ў&рџpџЄџddџvџd(рџzџ_ff8€4ў„џ&ldd&рџzџfџ`џf4€4ў„џ&ldd&рџzџfџbџf4€ ўŒ € ž €NPJ –ўџ ѕ>іzќ  џ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џџ№џ№РРРРьюѓžЧэю{ŸљјЧЯлmчг™‡ёНЮмџџ№€4H( PROG TO WORK OUT BOB TABLES AND PATHS4€>H2 Written by MAC SYS DATA of Persistence Of Vision>€€$finalp€€ ў˜џll€lŠ € ўЊџll€lŠ € ў8 €€˜џ*SINE1.DAT€(4handle%p џ*SINE1.dat(€€€ў(мp€2ўјџ(€pџшџzдџъџЃз z2€"ў(рpdоџ(€fzF"€ў(рpЮџd(рf€ў(рp(рvZ€ў<џ(мl(р€ў(мp(мv€ў(рp(рz €Bўюџ$finalpџ@іЖџDџNO_WRITEB€.ў„d4handle%fld(р|f.€$ў„d4handle%fl(р$€6 NO_WRITE€ўьџ(€€€š4handle%€ ў~ € ў € ў € ў €€ў(мp€2ўјџ(€pџшџzдџъџЃз z2€Fў(рpdоџ(€fzvdоџd(€zf|fzF€ў(рpЮџd(рf€ў(рp(рvf€ў<џ(мl(р€ў(мp(мv€ў(рp(рz €Bўюџfinalpџ@џDџNO_WRITE2B€,„dhandle%fld(р|f,€"„dhandle%fl(р"€6 NO_WRITE2€ўьџ(€€€€ў(мp€2ўјџ(€pџшџzдџъџЃз z2€^ў(рpdоџ(€fzvdоџd(€zf|fzzdмџd(€zff^€ў(рpЮџd(рf€ў(рp(рvf€ў<џ(мl(р€ў(мp(мv€ў(рp(рz €Bўюџfinalpџ@џDџNO_WRITE3B€,„dhandle%fld(р|f,€"„dhandle%fl(р"€6 NO_WRITE3€ўьџ(€€ ў € ў €ў(мp€2ўјџ(€pџшџzдџъџЃз z2€Dў(рpdоџ(€fz-vdоd(€zf|fzD€ў(рpЮџd(рf€ў(рp(рvf€ў<џ(мl(р€ў(мp(мv€ў(рp(рz €Bўюџfinalpџ@џDџNO_WRITE4B€,„dhandle%fld(р|f,€"„dhandle%fl(р"€6 NO_WRITE4€ўьџ(€€€ў(мp€2ўјџ(€pџшџzдџъџЃз z2€vў(рpdоџd(€zf|fzvdоd(€zf|fzvdоd(€z|fzfv€ў(рpЮџd(рf€ў(рp(рvf€ў<џ(мl(р€ў(мp(мv€ў(рp(рz €Bўюџfinalpџ@џDџNO_WRITE5B€,„dhandle%fld(р|f,€"„dhandle%fl(р"€6 NO_WRITE5€ўьџ(€€ ў €ў(мp€2ўјџ(€pџшџzдџъџЃз z2€*ў(рpdоd(€zfzf*€ў(рpЮџd(рf€ў(рp(рvf€ў<џ(мl(р€ў(мp(мv€ў(рp(рz €Bўюџfinalpџ@џDџNO_WRITE6B€,„dhandle%fld(р|f,€"„dhandle%fl(р"€6 NO_WRITE6€ўьџ(€€ ў €ў(мp€2ўјџ(€pџшџzдџъџЃз y2€*ў(рpdоdz(€ffz:*€ў(рpЮџd(рf€ў(рp(рvf€ў<џ(мl(р€ў(мp(мv€ў(рp(рz €Bўюџfinalpџ@џDџNO_WRITE7B€,„dhandle%fld(р|f,€"„dhandle%fl(р"€6 NO_WRITE7€ўьџ(€€€ў(мp€2ўјџ(€pџшџzдџъџЃз y2€Nў(рpdоdz(€ffџz2џvџdоџd(€zfz fN€ў(рpЮџd(рf€ў(рp(рvf€ў<џ(мl(р€ў(мp(мv€ў(рp(рz €Bўюџfinalpџ@џDџNO_WRITE8B€.ў„dhandle%fld(р|f.€$ў„dhandle%fl(р$€6 NO_WRITE8€ўьџ(€€€€šhandle%8@8р9€:Р;`<=@=р? ?Р@`A B@BрD DРFF G@GрI IРJ`K L@LрM€N O`PP Q@QрR€SРT`UU V@VрW€X XРY`Y`ZZ [@[р\€\€] ]Р^`^`__ _ `@`@`р`рa€a€b b b bРbРbРbРc`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`c`bРbРbРb b b a€a€`р`р`@`@_ _ _^`^`]Р] \€\€[р[@Z ZZY`XРX W€VрV@U UT`SРS QрQ@P PO`NРM€LрL@K J`IРI H€G@F FDРD C€B@A A?Р? =р=@< ;`:Р9€8р8@76`5 4€3р2 20Р0 /€.@- -+Р+ *€)@( (&Р& %€$р# #"`!Р €р@ `Р€р@ `Р  €р@ ``Р €€рр@  `` Р Р Р € € € € € € € € € € € € € € € € € Р Р Р``  @@р€€ РР` @рр€ Р` @р€ Р @р €! "`## $@$р& &Р'`( )@)р+ +Р,`- .@.р0 0Р22 3@4€5 5Р77 * * NORTHSIDE menu converted from Erik Plankton's bit for KNOCK KNOCK * * Code does NOT use O/S (except for set super/user) * * All code Н Machine System DataП of Persistence Of Vision * Dec '91 * * bsr set_super or.b #2,$ffff820a.w ;50hz movem.l $ffff8240.w,d0-d7 ;get old pal movem.l d0-d7,old_pal move.l $44e.w,org_screen_base ;get screen base clr.b $ffff8260.w ;low rez move.b #$12,$fffffc02.w ;no mouse bsr set_up ;set up screen for flipping lea screen_base,a6 move.l (a6),4(a6) ;************************************************************************ ;* LAP 9 * ;* ----- * ;* Stolen by: MAC SYS DATA of P.O.V. 25/11/91 21:23 * ;* From: MAGGIE 4 * ;* Include files:- * ;* LAP9.MUS into TUNE * ;************************************************************************ ; only one tune moveq #1,d0 jsr tune lea old_wave_1,a0 lea old_wave_2,a1 move.l a0,d0 move.l a1,d1 eor.l d0,d1 move.w d1,old_wave_switch bsr show_pic bsr start_interrupts wait bsr vsync bsr set_screen bsr set_rasters move.w old_wave_switch,d0 and.l #$ff,d0 eor.l d0,old_wave_pointer cmp.b #$01,key+1 ;exit with ESCape beq exit move.w key,d0 bsr change_hz cmp.w #$c53,d0 beq reset lea demo_keys,a0 .next move.w (a0)+,d1 bmi wait cmp.b d1,d0 beq.s .run bra.s .next .run and.w #$ff00,d1 lsr.w #8,d1 lsl.w #2,d1 lea filenames,a0 add.w d1,a0 move.l (a0),a0 lea $200.w,a1 REPT 4 move.l (a0)+,(a1)+ ENDR move.w sr,-(sp) or.w #$700,sr move.l old_118,$118.w move.l old_70,$70.w move.l old_120,$120.w move.b a07_bak,$fffffa07.w move.b a09_bak,$fffffa09.w move.b a13_bak,$fffffa13.w move.b a17_bak,$fffffa17.w clr.b $fffffa1b.w move.w (sp)+,sr move.l #0,d0 jsr tune stop_tune lea $ffff8800.w,a0 move.l #$8080000,(a0) move.l #$9090000,(a0) move.l #$a0a0000,(a0) movem.l black,d0-d7 movem.l d0-d7,$ffff8240.w tst.w hz_col beq.s .skip clr.b $ffff820a.w .skip move.l org_screen_base,d6 lsr.l #8,d6 lea $ffff8201.w,a5 movep.w d6,(a5) move.b #$8,$fffffc02.w bsr set_user clr.w -(sp) trap #1 exit move.w sr,-(sp) or.w #$700,sr move.l old_118,$118.w move.l old_70,$70.w move.l old_120,$120.w move.b a07_bak,$fffffa07.w move.b a09_bak,$fffffa09.w move.b a13_bak,$fffffa13.w move.b a17_bak,$fffffa17.w clr.b $fffffa1b.w move.w (sp)+,sr move.l #0,d0 jsr tune lea $ffff8800.w,a0 move.l #$8080000,(a0) move.l #$9090000,(a0) move.l #$a0a0000,(a0) movem.l old_pal,d0-d7 movem.l d0-d7,$ffff8240.w move.l org_screen_base,d6 lsr.l #8,d6 lea $ffff8201.w,a5 movep.w d6,(a5) move.b #1,$ffff8260.w ;med rez for assem move.b #$8,$fffffc02.w bsr set_user clr.w -(sp) trap #1 reset move.l $4.w,-(sp) rts change_hz tst.w clock bne.s .end cmp.b #$0b,d0 beq.s .ok cmp.b #$70,d0 beq.s .ok rts .ok eor.w #$002,hz_col move.w #10,clock rts .end subq.w #1,clock rts ******************* * CUSTOM ROUTINES * ******************* set_rasters lea rast_colours,a0 move.w #200-1,d0 .lo move.w hz_col,(a0)+ dbf d0,.lo lea colour_bar,a0 lea rast_colours,a1 lea raster_path,a2 move.w path_ptr,d2 moveq #30-1,d0 ;number of rasterbars .loop move.l a0,a4 move.l a1,a3 add.w (a2,d2),a3 move.w (a4)+,(a3)+ ;width of bar - 1 line =word add.w #(2*3),d2 ;gap between lines and.w #(2*256)-1,d2 add.w #2,a0 ;increase through colours dbf d0,.loop add.w #6,path_ptr and.w #(2*256)-1,path_ptr rts new_120 move.w $300.w,$ffff8240.w movem.l d6/a6,-(sp) move.l raster_pos,a6 move.w (a6)+,$300.w move.l a6,raster_pos move.w 800(a6),$ffff8240+2.w ;ERIK PLANKTON logo colour move.l 420(a6),$ffff8240+12.w move.w 380(a6),d6 swap d6 move.w 380(a6),d6 move.l d6,$ffff8240+28.w move.l d6,$ffff8240+16.w ;scrollers colours move.l d6,$ffff8240+20.w movem.l (sp)+,d6/a6 null rte new_70 clr.w vsync_flag clr.b $fffffa1b.w move.l #new_120,$120.w move.b #1,$fffffa21.w move.b #8,$fffffa1b.w movem.l d0-d7/a0-a6,-(sp) move.w hz_col,$ffff8240.w movem.l pic+4,d0-d6 movem.l d0-d6,$ffff8242.w bsr tune+8 move.l raster_pos,a6 move.w (a6)+,$300.w move.l a6,raster_pos movem.l (sp)+,d0-d7/a0-a6 move.l #rast_colours,raster_pos rte new_118 movem.l d0,-(sp) move.b $fffffc02.w,d0 cmp.b #$1d,d0 bne.s .k1 bset #2,key .k1 cmp.b #$9d,d0 bne.s .k2 bclr #2,key .k2 cmp.b #$38,d0 bne.s .k3 bset #3,key .k3 cmp.b #$b8,d0 bne.s .k4 bclr #3,key .k4 move.b d0,key+1 bclr #6,$fffffa11.w movem.l (sp)+,d0 rte vsync move.w #-1,vsync_flag aa tst.w vsync_flag bne.s aa rts *********************** * SUBROUTINES SECTION * *********************** set_up move.l #screens,d0 clr.b d0 move.l d0,screen_base move.l d0,d1 add.l #32000,d1 eor.l d0,d1 move.l d1,scr_xor rts start_interrupts move.w sr,-(sp) ;set for interrupts or.w #$700,sr move.l $70.w,old_70 move.l $120.w,old_120 move.l $118.w,old_118 move.l #new_70,$70.w move.l #null,120.w move.l #new_118,$118.w move.b $fffffa07.w,a07_bak move.b $fffffa09.w,a09_bak move.b $fffffa13.w,a13_bak move.b $fffffa17.w,a17_bak clr.b $fffffa1b.w move.b #1,$fffffa07.w move.b #$40,$fffffa09.w move.b #1,$fffffa13.w bclr.b #3,$fffffa17.w move.w (sp)+,sr rts set_screen lea screen_base,a6 move.l (a6),d6 move.l d6,4(a6) move.l scr_xor,d7 eor.l d7,d6 move.l d6,screen_base lsr.l #8,d6 lea $ffff8201.w,a5 movep.w d6,(a5) rts set_super clr.l -(sp) ;Set super stack equal move.w #$20,-(sp) ; to user stack before call trap #1 addq.l #6,sp ;correct stack move.l d0,stack_save ;save old supervisor stack value rts set_user move.l stack_save,-(sp) move.w #$20,-(sp) trap #1 ;back to user addq.l #6,sp ;correct stack rts show_pic lea pic+34,a0 move.l screen_base,a1 lea 32000(a1),a2 move.w #32000/4-1,d0 .loop move.l (a0),(a1)+ move.l (a0)+,(a2)+ dbf d0,.loop rts **************** SECTION DATA **************** pic incbin "A:\NORTH.14\north.pi1 tune incbin "A:\NORTH.14\lap9.mus even scroll_pointer dc.l init_scroll_text+7 init_scroll_text dcb.b 100," " scroll_text dc.b " IVOR BIGGUN PRESENTS - NORTHSIDE MENU 14. " DC.B " MENU CODED BY MAC SYS DATA OF P.O.V., GRAFIX BY OZ AND M.S.D., " DC.B "MUSIC BY LAP (COMPOSITION 9). " DC.B "NOTHSIDE TEXT HERE... " DC.B " BYE........................" DC.B "...................................................." DC.B " " dc.b $ff even char_offset dc.w 0 font dcb.b 31*4,0 incbin "A:\NORTH.14\1plane.fnt even old_wave_switch dc.w 0 old_wave_pointer dc.l old_wave_1 old_wave_1 dc.l waves old_wave_2 dc.l waves wave_pointer dc.l waves waves incbin "A:\NORTH.14\sine1.dat" waves_end incbin "A:\NORTH.14\sine1.dat" even font_offsets ; ! " # $ % & ' ( ) * + , - . / dc.b 0,41,43,00,00,00,00,46,44,45,00,00,38,42,39,48 ; 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ dc.b 27,28,29,30,31,32,33,34,35,36,40,00,00,00,00,47,00 ; A B C D E F G H I J K L M N O P Q dc.b 01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17 ; R S T U V W X Y Z [ \ ] ^ _ ` a b c dc.b 18,19,20,21,22,23,24,25,26,40,00,41,00,00,00,00,00,00 ; d e f g h i j k l m n o p q r s t u dc.b 50,00,00,00,00,00,00,00,00,48,00,00,00,00,00,49,00,00 colour_bar dc.w $0ff,$07f,$06f,$05f,$04f,$03f,$02f,$01f dc.w $00f,$107,$206,$305,$405,$503,$602,$701 dc.w $f00,$f80,$f10,$f90,$f20,$fa0,$f30,$fb0 dc.w $f40,$fc0,$f50,$fd0,$f60,$fe0 path_ptr dc.w 0 raster_path incbin "A:\NORTH.14\RASTER.PTH rast_colours dcb.w 200,0 hz_col dc.w 0000 ;null byte due to the way I did it dcb.w 11,$000 ;don't do no rasters in logo ; Holy shit loads of raster colour like things for the scroller. dc.w $800,$100,$900 dc.w $200,$a00,$300,$b00,$480,$c10,$590 dc.w $d20,$6a0,$e30,$7b0,$f40,$7c0,$650 dc.w $5d0,$468,$3e1,$279,$1f2,$0fa,$0f3 dc.w $0fb,$074,$0ec,$065,$0dd,$056,$0ce dc.w $047,$0bf,$83e dc.w $1a6,$92d,$295,$a1c,$304,$b0b,$483 dc.w $c1a,$592,$d29,$6a1,$e38,$7b0,$f48 dc.w $7c1,$e59,$6d2,$d6a,$5e3,$c7b,$4f4 dc.w $b6c,$355,$a4d,$236,$92e,$117,$80f dc.w $006,$805,$104,$903,$202,$a01 dc.w $300,$b80,$410,$c90,$520,$da0,$630 dc.w $eb0,$740,$fc0,$f50,$fd0,$f60,$fe0 dc.w $f70,$ff0,$770,$ee0,$660,$dd0,$550 dc.w $cc0,$440,$bb0,$338,$aa1,$229,$992 dc.w $11a,$883,$00b,$004,$00c,$005,$00d dc.w $006,$00e,$007,$08f dc.w $01f,$09f,$02f,$0a7,$03e,$0b6 dc.w $04d,$0c5,$05c,$0d4,$06b,$0e3,$07a dc.w $0f2,$0f9,$071,$0e8,$060,$0d0,$050 dc.w $0c0,$040,$0b0,$030,$0a0,$020,$090 dc.w $818,$181,$909,$202,$a0a,$303,$b0b dc.w $404,$c0c,$505,$d0d,$606,$e0e,$707 dc.w $f0f,$f07,$f0e,$f06,$f0d,$f05,$f0c dc.w $f04,$f0b,$f03,$f0a,$f82,$f19,$f91 dc.w $f28,$fa0,$f30,$fb0,$f40,$fc0,$f50 dc.w $fd0,$f60,$fe0,$f70,$ff0 dc.w $770,$660,$550,$440,$330,$220,$110 ;colours for ERIK LOGO dc.w $800,$800,$100,$100,$900,$900,$200,$200,$a00,$a00 dc.w $300,$300,$b00,$b00,$400,$400,$c00,$c00,$500,$500 dc.w $d00,$d00,$600,$600,$e00,$e00,$700,$700,$f00,$f00 dc.w $f80,$f80,$f10,$f10,$f90,$f90,$f20,$f20,$fa0,$fa0 dc.w $f30,$f30,$fb0,$fb0,$f40,$f40,$fc0,$fc0,$f50,$f50 dc.w $fd0,$fd0,$f60,$f60,$fe0,$fe0,$f70,$f70,$ff0,$ff0 dc.w $ff8,$ff8,$ff1,$ff1,$ff9,$ff9,$ff2,$ff2,$ffa,$ffa dc.w $ff3,$ff3,$ffb,$ffb,$ff4,$ff4,$ffc,$ffc,$ff5,$ff5 dc.w $ffd,$ffd,$ff6,$ff6,$ffe,$ffe,$ff7,$ff7,$fff,$fff dc.w $7ff,$7ff,$eff,$eff,$6ff,$6ff,$dff,$dff,$5ff,$5ff dc.w $cff,$cff,$4ff,$4ff,$bff,$bff,$3ff,$3ff,$aff,$aff dc.w $2ff,$2ff,$9ff,$9ff,$1ff,$1ff,$8ff,$8ff,$0ff,$0ff dc.w $07f,$07f,$0ef,$0ef,$06f,$06f,$0df,$0df,$05f,$05f dc.w $0cf,$0cf,$04f,$04f,$0bf,$0bf,$03f,$03f,$0af,$0af dc.w $02f,$02f,$09f,$09f,$01f,$01f,$08f,$08f,$00f,$00f dc.w $087,$087,$01e,$01e,$096,$096,$02d,$02d,$0a5,$0a5 dc.w $03c,$03c,$0b4,$0b4,$04b,$04b,$0c3,$0c3,$05a,$05a dc.w $0d2,$0d2,$069,$069,$0e1,$0e1,$078,$078,$0f0,$0f0 dc.w $070,$070,$0e0,$0e0,$060,$060,$0d0,$0d0,$050,$050 dc.w $0c0,$0c0,$040,$040,$0b0,$0b0,$030,$030,$0a0,$0a0 dc.w $020,$020,$090,$090,$010,$010,$080,$080,$000,$000 bounce_offset dc.w 0 bounce_table incbin "A:\NORTH.14\bounce.pth demo_keys dc.b 0, $02 ;keyboard 1 dc.b 1, $03 ; " 2 dc.b 2, $04 dc.b 3, $05 dc.b 4, $06 ; " 5 dc.b 0, $6d ;keypad 1 dc.b 1, $6e dc.b 2, $6f dc.b 3, $6a dc.b 4, $6b ; " 5 dc.b -1, -1 filenames dc.l exec1 dc.l exec2 dc.l exec3 dc.l exec4 dc.l exec5 exec1 dc.b "filename.1",0 even exec2 dc.b "filename.2",0 even exec3 dc.b "filename.3",0 even exec4 dc.b "filename.4",0 even exec5 dc.b "filename.5",0 even clock dc.w 10 black dcb.w 16,0 **************** SECTION BSS **************** screen_base ds.l 1 ds.l 1 scr_xor ds.l 1 org_screen_base ds.l 1 old_pal ds.w 16 stack_save ds.l 1 vsync_flag ds.w 1 old_70 ds.l 1 old_120 ds.l 1 old_118 ds.l 1 a07_bak ds.w 1 a09_bak ds.w 1 a13_bak ds.w 1 a17_bak ds.w 1 key ds.w 1 raster_pos ds.l 1 ds.b 256 screens ds.b 32000 ds.b 32000 . 9–m.. 9–FONT PI1 ;–nB}GAS_FACES C–ŽяQ''GWG'7GW7wш?шш?шш?шш?шш?шш?ш=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џtПѕ?џtПѕ?џt?5??РtПѕ?џt?5??Рt?~u>€iш?џh?~(>?Рi??рh~h>€h?~>рh?~(>?РR§б?џR=~>рR=?рR}~>?РP}|<рR?р%ћЁ?џ$;~>р%ћ?Ÿ`${~!>?Р$ћ|!рKѕA?џKѕ??РHѕ|A<€K•?pWш~?џV(~>рWш~?џWш~?џTh|<€W~?№oг}?§oѓ}?рoг}?§oг}?§n|>=Рn3|> №Ѕ:ћ%:~;РЅ:ћЅ:ћ%:рe:~рJt ?ѕъt ?рJt ?ѕJt ?ѕjt ?•`Ъt ?5Р>–(щ>–(щ>–(щ>–(щ>–(щ>–(щ=./б=./б=./б=./б=./б=./б?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў аа.ш?шш?шш?шш?шш?шш?шш?шш?шш?шz_пјџ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џtППєџ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џщџыџtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џвџџаџiш?џiш?џiш?џiш?џiш?џh|<рh|h<€h?x(8?Рhx8рЅћџЃџR§б?џR§б?џR§б?џR§б?џR‘?Ÿ`Qx8№P}|?Р';x8№${~>р—ыўƒџKѕA?џKѕA?џHx8рKѕA?џJu~>рIЭxA8Ч8Ju~>?РJu~>рK5??РЏа§џWш~?џW(~??РWј|<№Wш~?џTш|?РTш|=Рiгx8}€i“y9p?Kt џїЅ:ћe:~рЅ:ћ%:~{€Ѕ8xћ8|јe:~;Р0pр58| №ў”шыJt ?ѕЪt ?5РJt ?ѕ~Jt >5РJt =ѕњt >№Ъt ?5Рњp 8№ъt >р},P/џг>–(щ>–(щ>–(щ>ж()Р>–(щ>–(щ>–(щ>–(щ>–(щz\ _џЃ=./б=./б=./б=./б=./б=./б=./б=./б=./б`ўў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ўш?шш?шш?шш?шш?шш?шш?шш?шш?шш?ш=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џi?(??Рhx8рh|<рhx8рh|<рh|<рh?~(>?Рi?(??Рaqˆ1piш?џR=~>рQ§x8№QЭx8№S|<№Qx8№Qx8№R=~>рR=?рSЭpС0Ч8Px8р$;|<р ;x!8?Р!ћxЁ8ч%;?№ Ыx8Ч8!Ыx8Ч8%ћ?р%ћ?Ÿ`&kp!0g˜'ћ|<№I5x8рK•|<рHx8рJu~>рH|<јHЭxA8Ч8KѕA?џK5??РL=x87ШKѕA?џS(p0рW˜~?pQˆx8№Tш|?РW(~?рVhv6 №Px8р`p0рi“y9phЫx8Х8lг|<}€hЫx8Х8o›|>јn3|>рns|>рcЫq3 јoѓ|< №58x №58| №8|јЅ8|{€8|ј5: №х:рх:;Р0qƒxЅ:ћjt ?•`ъt >рњt >№Ъt >u€њt >№~jt >рJt ?ѕJt ?ѕzp8Х8Jt ?ѕ>–(щ>–(щ>–(щ>–(щ>–(щ>ж()Р>–(щ>–(щ>–(щ>–(щ=./б=./б=./б=./б=./б=./б=./б=./б=./б=./б?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ўш?шш?шш?ш аа.ш?шш?шш?шш?шш?ш=/oќ?џ=/oќ?џ=/oќ?џz_пјџ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ:__њ?џ:__њ?џ:__њ?џtППєџ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џtПѕ?џtПѕ?џtПѕ?џщџыџt~>рpq1рpp0рpx8№t?|5рT|<№ЉјxјQшx8џQШx8Ч8QШx8Я0Tш|<€S˜p1№fKp0e˜oг}?=Рi“x8 №йЧјx‹phУx8Э0iЫx8Х8i›x8…xlг|<}€i“y9p-8x3Ш%:~{€•8x‹p9KpјЧ88|ј0pј58x №Ѕ8|{€58| №ъt >рЪt ?5РsJp 0Х0ђрpјњt >№њp 9№ъt <рЪt >u€ъt >р>–(щ>–(щ>ž(yсќPљ№>–(щ>–(щ>–(щ>–(щ>–(щ=./б=./б=./бz\ _џЃ=./б=./б=./б=./б=./б?А ў?ў?А ў?ў?А ў?ў`ўў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ўш?шш?шш?шш?шш?шш?шш?шш?шш?шш?ш=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ=/oќ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џ:__њ?џtПѕ?џtПѕ?џtПѕ?џtПѕ?џpyХ9Я0pПxѕ8џpŸs•3Ÿ `tПѕ?џp?x58?Рpx8рh|<рiOyШ9Я0h|ш<џh~>рh|€<‡xhџ|h<€aq1№iOyШ9Я0cp0рhЯ|<№PЭx8№QЭxС8Ч8R}~Q>€R=?№P|<№P§|Q<€Pp0№QЭxС8Ч8Rq1pPЭ|A?Р%;?р$;|<№$ћ|!<€"›p0№ Ыx8Ч8#›q1p$Ы|?РK5?рH5|<рHѕ|A<€C•q1№HMxA8GИC•q1pH|<јQШx8Ч8Px8јVh~>?РW(~?рTˆ|<рTШ|=Рn3|>рl“|< №l |<јc“q1pi‹x8…xa“q1plг|<}€8xƒx8xCИe:~;Рe8|р…8xKА=8|ј•0q‹p8xУ858x №Ѕ8x{€|t<јyJp8Х8 t ?5РyЪp 85РZt<хъt >рzp 9Х0yJp8Х8ъt <рJt <ѕ?ў(~ќ?ž(|с>і(‰`?–(|щ>–(щ>–(щ>–(щ?ž(|с>–(щ>–(щ=./б=./б=./б=./б=./б=./б=./б=./б=./б=./б?А џџ?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ў?А ў?ўш?шш?шш?ш аа,ш?шш?ш аа.ш?шш?ш=/oќ?џ=/oќ?џ=/oќ?џz^пјў=/oќ?џ=/oќ?џz_пјџ=/oќ?џ=/oќ?џ:__њ?џ:__њ?џ:__њ?џtОПєў:__њ?џ:__њ?џtППєџ:__њ?џ:__њ?џtПѕ?џt|U<_ px8№с>у*c>РtПѕ?џtПѕ?џсч‹gŸ`psХ3Я 0t|<№aq1рiŸx8№j|<јв>ёqрaOsШ3Я 0aOsШ3Я 0ЦŸу€cpiy€9‡xiЯx8јPЭx8pQ§xС8Я0P§|рIѕxA8џ“*№qрI•x8pBЭpA0Ч8kјx?РJu~>рHx8№Qˆx8Ÿ`W˜~?pQшx8яЃ0ёqрQ˜x8pSHp1GИЃ№p?РVh~>?РTј|<јi“x8pi“y9piЫx8Х8в&№pрi“x8pb p0јЧ‡рa›`nS|>=РiУx8e˜…8xЫ058x №8|ј8 p јр58| №8xј'` у‡pe:~;Р 8xќsJp0Х8ъt =рњt >№џєш| №~jt >рyкp8EИўДрsЫ 0Ъt ?5Рњt<ј>ž(yс>–(щ>–(щ},P.џв>ж()Р?–(|щ},P/џг>–(щ>–(щ=./б=./б=./бz\ ^џЂ=./б=./бz\ _џЃ=./б=./б?А ў?ў?А ў?ў?А ў?ў`ќќ?А ў?ў?А ў?ў`ўў?А ў?ў?А ў?ў™‡џџЬЬ№№џџџ33џџџцfјxџ€џџ TEXT Begin: DC.B '#',$CF DC.L L0000 DC.B 'O',$F8,' ',$00,'#',$F9 DC.L L00AE DC.L PALT1 DC.B '#',$F9 DC.L L00AF DC.L PALT2 DC.B '#',$F9 DC.L L00B0 DC.L PALT3 DC.B '#',$F9 DC.L L00B1 DC.L PALT4 DC.B '#',$F9 DC.L L00B2 DC.L PALT5 DC.B '#',$F9 DC.L L00B3 DC.L PALT6 DC.B '#',$F9 DC.L L00B4 DC.L PALT7 DC.B '#',$F9 DC.L L00B5 DC.L PALT8 DC.B 'Hz',$00,',?<',$00,'&' DC.B 'NN\O.y' DC.L L0000 DC.B 'Bg/9' DC.L L002F DC.B '/',$17,'?<',$00,$05,'NN' DC.B 'O',$EF,$00,$0C,'B',$A7,'NA' L0000:DCB.W 2,0 MOVE.W #2,-(A7) TRAP #$E ADDQ.W #2,A7 MOVE.L D0,L002F MOVEM.L FONTPALT,D0-D7 ;MOVE FONT PALETTE INTO DATA REGISTERS MOVEM.L D0-D7,$FFFF8240.W ;MOVE D0 TO D7 INTO PALETTE MEMORY MOVE.B $484.W,L002E CLR.B $484.W MOVE.L #1,D0 BSR MUSIC CLR.W -(A7) PEA $78018 MOVE.L (A7),-(A7) MOVE.W #5,-(A7) TRAP #$E LEA 12(A7),A7 LEA $70000,A0 L0001:CLR.W (A0)+ CMPA.L #$80000,A0 BNE.B L0001 BSR L0032 BSR L003F MOVE.L #L001B,L001A MOVE.L $70.W,-(A7) MOVE.L #L0017,$70.W LEA TEXT1,A0 BSR L0005 MOVE.L #$FA,D1 BSR L0006 LEA TEXT2,A0 BSR L0005 MOVE.L #$96,D1 BSR L0006 LEA TEXT3,A0 BSR L0005 MOVE.L #$96,D1 BSR L0006 LEA TEXT4,A0 BSR L0005 MOVE.L #$96,D1 BSR L0006 LEA TEXT5,A0 BSR L0005 MOVE.L #L004A,L0045 L0002:MOVE.W #8,-(A7) TRAP #1 ADDQ.W #2,A7 CMP.B #$30,D0 BNE.B L0003 BCHG #1,$FFFF820A.W L0003:CMP.B #$20,D0 BNE.B L0002 MOVE.L (A7)+,$70.W BSR L002D MOVE.B L002E,$484.W LEA $FFFF8240.W,A0 CLR.W (A0)+ MOVEQ #$E,D0 L0004:MOVE.W #$777,(A0)+ DBF D0,L0004 RTS L0005:MOVEA.L #$70000,A1 BSR L0029 BSR L0021 RTS L0006:MOVE.W L001D,D0 L0007:CMP.W L001D,D0 BEQ.B L0007 DBF D1,L0006 RTS FONTHEADER:DC.B $00,$00 PALT1:DCB.W 2,0 PALT2:DCB.W 2,0 PALT3:DCB.W 2,0 PALT4:DCB.W 2,0 PALT5:DCB.W 2,0 PALT6:DCB.W 2,0 PALT7:DCB.W 2,0 PALT8:DCB.W 2,0 L0011:MOVE.W D0,FONTHEADER TST.W D0 BEQ L0013 CMP.W #$F,D0 BLE L0012 MOVE.W #$F,D0 L0012:MOVE.L PALT1,(A5) MOVE.L PALT2,4(A5) MOVE.L PALT3,8(A5) MOVE.L PALT4,12(A5) MOVE.L PALT5,160(A5) MOVE.L PALT6,164(A5) MOVE.L PALT7,168(A5) MOVE.L PALT8,172(A5) LEA -1760(A5),A5 DBF D0,L0012 L0013:MOVE.W #$F,D5 SUB.W FONTHEADER,D5 BMI L0015 L0014:CLR.L (A5) CLR.L 4(A5) CLR.L 8(A5) CLR.L 12(A5) CLR.L 160(A5) CLR.L 164(A5) CLR.L 168(A5) CLR.L 172(A5) LEA -1760(A5),A5 DBF D5,L0014 L0015:RTS L0016:CLR.W D0 MOVE.B #9,$FF8800.L MOVE.B $FF8800.L,D0 LEA $7EE00,A5 JSR L0011 CLR.W D0 MOVE.B #$A,$FF8800.L MOVE.B $FF8800.L,D0 LEA $7EE90,A5 JSR L0011 RTS L0017:MOVEM.L A0-A6/D0-D7,-(A7) MOVE SR,-(A7) MOVE #$2700,SR ADDQ.W #1,L001D BSR PLAYROUT BSR L0016 BSR L0040 MOVE (A7)+,SR NEG.W L001C TST.W L001C BMI L0019 MOVEA.L L001A,A0 MOVE.W $FFFF8252.L,$FFFF8250.L MOVE.W $FFFF8254.L,$FFFF8252.L MOVE.W $FFFF8256.L,$FFFF8254.L MOVE.W $FFFF8258.L,$FFFF8256.L MOVE.W $FFFF825A.L,$FFFF8258.L MOVE.W $FFFF825C.L,$FFFF825A.L MOVE.W $FFFF825E.L,$FFFF825C.L MOVE.W (A0),$FFFF825E.L ADDA.L #2,A0 CMPA.L #L001C,A0 BNE L0018 MOVEA.L #L001B,A0 L0018:MOVE.L A0,L001A L0019:MOVEM.L (A7)+,A0-A6/D0-D7 RTE L001A:DCB.W 2,0 L001B:DC.B $00,$07,$00,$06,$00,$05,$00,$04 DC.B $00,$03,$00,$02,$00,$01,$00,$10 DC.B $00,' ',$00,'0',$00,'@',$00,'P' DC.B $00,'`',$00,'p',$00,'q',$00,'r' DC.B $00,'s',$00,'t',$00,'u',$00,'v' DC.B $00,'w',$07,'q',$07,'q',$07,'s' DC.B $07,'t',$07,'u',$07,'v',$07,'w' DC.B $06,'g',$05,'W',$04,'G',$03,'7' DC.B $02,$27,$01,$17 L001C:DC.B $00,$01 L001D:DC.B $00,$00 L001E:DC.B $00,$00 L001F:DC.B $00,$00 L0020:DCB.W 2,0 L0021:MOVE.W #1,L001E MOVE.L #$6680,L0020 L0022:MOVE.W L001E,L001F LEA $70000,A5 LEA $78018,A6 ADDA.L L0020,A5 MOVE.W L001D,D0 L0023:CMP.W L001D,D0 BEQ.B L0023 L0024:MOVEM.L (A5)+,A0-A4/D0-D7 MOVEM.L A0-A4/D0-D7,(A6) MOVEM.L (A5)+,A0-A4/D0-D7 MOVEM.L A0-A4/D0-D7,52(A6) MOVE.L (A5),104(A6) MOVE.L 4(A5),108(A6) LEA 56(A5),A5 LEA 160(A6),A6 SUBQ.W #1,L001F BNE.B L0024 SUBI.L #$A0,L0020 ADDQ.W #1,L001E CMPI.W #$B4,L001E BNE.B L0022 LEA $70000,A0 MOVE.L #$1F40,D0 L0025:CLR.L (A0)+ DBF D0,L0025 RTS L0026:DCB.W 2,0 L0027:DCB.W 2,0 L0028:RTS L0029:MOVE.L A1,L0026 MOVE.L A1,L0027 L002A:TST.B (A0) BMI.B L0028 CLR.L D0 MOVE.B (A0)+,D0 CMP.B #$D,D0 BNE.B L002B MOVE.L L0027,L0026 ADDI.L #$960,L0026 ADDI.L #$960,L0027 BRA.B L002A L002B:SUBI.B #$20,D0 ASL.W #2,D0 LEA L0031,A6 MOVEA.L 0(A6,D0.W),A5 ADDA.L #FONTDATA,A5 MOVEA.L L0026,A6 MOVEQ #$F,D0 L002C:MOVE.L (A5),(A6) MOVE.W 4(A5),4(A6) LEA 160(A5),A5 LEA 160(A6),A6 DBF D0,L002C ADDQ.L #8,L0026 BRA.B L002A L002D:MOVE.L #$8080000,$FFFF8800.W MOVE.L #$9090000,$FFFF8800.W MOVE.L #$A0A0000,$FFFF8800.W RTS DCB.W 2,0 L002E:DCB.W 17,0 L002F:DCB.W 2,0 L0030:DCB.W 2,0 L0031:DCB.W 126,0 L0032:MOVEQ #$1F,D0 LEA L0031(PC),A3 L0033:ADDQ.L #1,D0 MOVE.L D0,D1 BSR.B L0034 SUBI.L #$20,D1 ASL.W #4,D1 ADD.L L0030,D1 MOVE.L D1,(A3)+ CMP.L #$5E,D0 BNE.B L0033 RTS L0034:CMP.B #$52,D1 BLT.B L0035 MOVE.L #$60E0,L0030 RTS L0035:CMP.B #$48,D1 BLT.B L0036 MOVE.L #$4D80,L0030 RTS L0036:CMP.B #$3E,D1 BLT.B L0037 MOVE.L #$3A20,L0030 RTS L0037:CMP.B #$34,D1 BLT.B L0038 MOVE.L #$26C0,L0030 RTS L0038:CMP.B #$2A,D1 BLT.B L0039 MOVE.L #$1360,L0030 RTS L0039:CLR.L L0030 RTS TEXT1:DC.B '<><><><><><><>',$0D DC.B '> <',$0D DC.B '< AUTOMATION >',$0D DC.B '> <',$0D DC.B '< COMPACT >',$0D DC.B '> DISK <',$0D DC.B '< >',$0D DC.B '> NUMBER <',$0D DC.B '< 479. >',$0D DC.B '> <',$0D DC.B '<><><><><><><>',$0D,$FF TEXT2:DC.B '<><><><><><><>',$0D DC.B '> <',$0D DC.B '< HEROS >',$0D DC.B '> OF THE <',$0D DC.B '< LANCE. >',$0D DC.B '> <',$0D DC.B '< ONE >',$0D DC.B '> DISK <',$0D DC.B '< VERSION >',$0D DC.B '> <',$0D DC.B '<><><><><><><>',$0D,$FF TEXT3:DC.B '<><><><><><><>',$0D DC.B '> <',$0D DC.B '< HACK AND >',$0D DC.B '> PACK BY: <',$0D DC.B '< >',$0D DC.B '> SHAREZ JEK <',$0D DC.B '< >',$0D DC.B '> (GOODAY <',$0D DC.B '< BRUCE) >',$0D DC.B '> <',$0D DC.B '<><><><><><><>',$0D,$FF TEXT4:DC.B '<><><><>' DC.B '<><><>',$0D,'>' DC.B ' ' DC.B ' <',$0D,'< ' DC.B ' CODING' DC.B ' >',$0D,'> ' DC.B ' BY: ' DC.B ' <',$0D,'< T' DC.B 'HE LAW! ' DC.B ' >',$0D,'> ' DC.B ' ' DC.B '<',$0D,'< I' DC.B 'DEA >' DC.B $0D,'> B' DC.B 'Y: <',$0D DC.B '< THE FL' DC.B 'AVE! >',$0D,'>' DC.B ' ' DC.B ' <',$0D,'<>' DC.B '<><><><>' DC.B '<><>',$0D,$FF TEXT5:DC.B '<><><><>' DC.B '<><><>',$0D,'>' DC.B ' ' DC.B ' <',$0D,'< ' DC.B 'HIT SPAC' DC.B 'E! >',$0D,'> ' DC.B ' ' DC.B ' <',$0D,'< ' DC.B ' AND ' DC.B ' >',$0D,'> ' DC.B ' ' DC.B '<',$0D,'< ENJ' DC.B 'OY...! >' DC.B $0D,'> ' DC.B ' <',$0D DC.B '< THE FL' DC.B 'AVE! >',$0D,'>' DC.B ' ' DC.B ' <',$0D,'<>' DC.B '<><><><>' DC.B '<><>',$0D,$FF L003F:MOVE.L #L0049,L0045 MOVE.L #FONTDATA,L0048 MOVE.L #$7F300,L0047 RTS L0040:SUBQ.W #1,L0044 BNE L0042 MOVE.W #2,L0044 MOVEQ #0,D1 MOVEA.L L0045,A0 MOVE.B (A0),D1 SUBI.B #$20,D1 CMP.B #$DF,D1 BNE.B L0041 CLR.B D1 MOVE.L #L004A,L0045 L0041:ADDQ.L #1,L0045 ASL.W #2,D1 LEA L0031(PC),A3 MOVE.L 0(A3,D1.W),D1 MOVEA.L L0048,A5 ADDA.L D1,A5 LEA L0046(PC),A4 MOVEM.L (A5),D4-D7 MOVEM.L D4-D7,(A4) MOVEM.L 160(A5),D4-D7 MOVEM.L D4-D7,160(A4) MOVEM.L 320(A5),D4-D7 MOVEM.L D4-D7,320(A4) MOVEM.L 480(A5),D4-D7 MOVEM.L D4-D7,480(A4) LEA 640(A5),A5 LEA 640(A4),A4 MOVEM.L (A5),D4-D7 MOVEM.L D4-D7,(A4) MOVEM.L 160(A5),D4-D7 MOVEM.L D4-D7,160(A4) MOVEM.L 320(A5),D4-D7 MOVEM.L D4-D7,320(A4) MOVEM.L 480(A5),D4-D7 MOVEM.L D4-D7,480(A4) LEA 640(A5),A5 LEA 640(A4),A4 MOVEM.L (A5),D4-D7 MOVEM.L D4-D7,(A4) MOVEM.L 160(A5),D4-D7 MOVEM.L D4-D7,160(A4) MOVEM.L 320(A5),D4-D7 MOVEM.L D4-D7,320(A4) MOVEM.L 480(A5),D4-D7 MOVEM.L D4-D7,480(A4) LEA 640(A5),A5 LEA 640(A4),A4 MOVEM.L (A5),D4-D7 MOVEM.L D4-D7,(A4) MOVEM.L 160(A5),D4-D7 MOVEM.L D4-D7,160(A4) MOVEM.L 320(A5),D4-D7 MOVEM.L D4-D7,320(A4) MOVEM.L 480(A5),D4-D7 MOVEM.L D4-D7,480(A4) LEA 640(A5),A5 LEA 640(A4),A4 MOVEM.L (A5),D4-D7 MOVEM.L D4-D7,(A4) MOVEM.L 160(A5),D4-D7 MOVEM.L D4-D7,160(A4) MOVEM.L 320(A5),D4-D7 MOVEM.L D4-D7,320(A4) MOVEM.L 480(A5),D4-D7 MOVEM.L D4-D7,480(A4) LEA 640(A5),A5 LEA 640(A4),A4 L0042:MOVEA.L L0047,A1 LEA L0046(PC),A3 MOVEQ #$14,D6 L0043:MOVEP.L 1(A1),D0 MOVEP.L D0,0(A1) MOVEP.L 8(A1),D0 MOVEP.L D0,1(A1) MOVEP.L 9(A1),D0 MOVEP.L D0,8(A1) MOVEP.L 16(A1),D0 MOVEP.L D0,9(A1) MOVEP.L 17(A1),D0 MOVEP.L D0,16(A1) MOVEP.L 24(A1),D0 MOVEP.L D0,17(A1) MOVEP.L 25(A1),D0 MOVEP.L D0,24(A1) MOVEP.L 32(A1),D0 MOVEP.L D0,25(A1) MOVEP.L 33(A1),D0 MOVEP.L D0,32(A1) MOVEP.L 40(A1),D0 MOVEP.L D0,33(A1) MOVEP.L 41(A1),D0 MOVEP.L D0,40(A1) MOVEP.L 48(A1),D0 MOVEP.L D0,41(A1) MOVEP.L 49(A1),D0 MOVEP.L D0,48(A1) MOVEP.L 56(A1),D0 MOVEP.L D0,49(A1) MOVEP.L 57(A1),D0 MOVEP.L D0,56(A1) MOVEP.L 64(A1),D0 MOVEP.L D0,57(A1) MOVEP.L 65(A1),D0 MOVEP.L D0,64(A1) MOVEP.L 72(A1),D0 MOVEP.L D0,65(A1) MOVEP.L 73(A1),D0 MOVEP.L D0,72(A1) MOVEP.L 80(A1),D0 MOVEP.L D0,73(A1) MOVEP.L 81(A1),D0 MOVEP.L D0,80(A1) MOVEP.L 88(A1),D0 MOVEP.L D0,81(A1) MOVEP.L 89(A1),D0 MOVEP.L D0,88(A1) MOVEP.L 96(A1),D0 MOVEP.L D0,89(A1) MOVEP.L 97(A1),D0 MOVEP.L D0,96(A1) MOVEP.L 104(A1),D0 MOVEP.L D0,97(A1) MOVEP.L 105(A1),D0 MOVEP.L D0,104(A1) MOVEP.L 112(A1),D0 MOVEP.L D0,105(A1) MOVEP.L 113(A1),D0 MOVEP.L D0,112(A1) MOVEP.L 120(A1),D0 MOVEP.L D0,113(A1) MOVEP.L 121(A1),D0 MOVEP.L D0,120(A1) MOVEP.L 128(A1),D0 MOVEP.L D0,121(A1) MOVEP.L 129(A1),D0 MOVEP.L D0,128(A1) MOVEP.L 136(A1),D0 MOVEP.L D0,129(A1) MOVEP.L 137(A1),D0 MOVEP.L D0,136(A1) MOVEP.L 144(A1),D0 MOVEP.L D0,137(A1) MOVEP.L 145(A1),D0 MOVEP.L D0,144(A1) MOVEP.L 152(A1),D0 MOVEP.L D0,145(A1) MOVEP.L 153(A1),D0 MOVEP.L D0,152(A1) MOVEP.L 0(A3),D0 MOVEP.L D0,153(A1) LEA 160(A3),A3 LEA 160(A1),A1 SUBQ.W #1,D6 BNE L0043 LEA L0046(PC),A1 MOVEP.L 1(A1),D0 MOVEP.L D0,0(A1) MOVEP.L 8(A1),D0 MOVEP.L D0,1(A1) MOVEP.L 9(A1),D0 MOVEP.L D0,8(A1) MOVEP.L 16(A1),D0 MOVEP.L D0,9(A1) MOVEP.L 161(A1),D0 MOVEP.L D0,160(A1) MOVEP.L 168(A1),D0 MOVEP.L D0,161(A1) MOVEP.L 169(A1),D0 MOVEP.L D0,168(A1) MOVEP.L 176(A1),D0 MOVEP.L D0,169(A1) MOVEP.L 321(A1),D0 MOVEP.L D0,320(A1) MOVEP.L 328(A1),D0 MOVEP.L D0,321(A1) MOVEP.L 329(A1),D0 MOVEP.L D0,328(A1) MOVEP.L 336(A1),D0 MOVEP.L D0,329(A1) MOVEP.L 481(A1),D0 MOVEP.L D0,480(A1) MOVEP.L 488(A1),D0 MOVEP.L D0,481(A1) MOVEP.L 489(A1),D0 MOVEP.L D0,488(A1) MOVEP.L 496(A1),D0 MOVEP.L D0,489(A1) MOVEP.L 641(A1),D0 MOVEP.L D0,640(A1) MOVEP.L 648(A1),D0 MOVEP.L D0,641(A1) MOVEP.L 649(A1),D0 MOVEP.L D0,648(A1) MOVEP.L 656(A1),D0 MOVEP.L D0,649(A1) MOVEP.L 801(A1),D0 MOVEP.L D0,800(A1) MOVEP.L 808(A1),D0 MOVEP.L D0,801(A1) MOVEP.L 809(A1),D0 MOVEP.L D0,808(A1) MOVEP.L 816(A1),D0 MOVEP.L D0,809(A1) MOVEP.L 961(A1),D0 MOVEP.L D0,960(A1) MOVEP.L 968(A1),D0 MOVEP.L D0,961(A1) MOVEP.L 969(A1),D0 MOVEP.L D0,968(A1) MOVEP.L 976(A1),D0 MOVEP.L D0,969(A1) MOVEP.L 1121(A1),D0 MOVEP.L D0,1120(A1) MOVEP.L 1128(A1),D0 MOVEP.L D0,1121(A1) MOVEP.L 1129(A1),D0 MOVEP.L D0,1128(A1) MOVEP.L 1136(A1),D0 MOVEP.L D0,1129(A1) MOVEP.L 1281(A1),D0 MOVEP.L D0,1280(A1) MOVEP.L 1288(A1),D0 MOVEP.L D0,1281(A1) MOVEP.L 1289(A1),D0 MOVEP.L D0,1288(A1) MOVEP.L 1296(A1),D0 MOVEP.L D0,1289(A1) MOVEP.L 1441(A1),D0 MOVEP.L D0,1440(A1) MOVEP.L 1448(A1),D0 MOVEP.L D0,1441(A1) MOVEP.L 1449(A1),D0 MOVEP.L D0,1448(A1) MOVEP.L 1456(A1),D0 MOVEP.L D0,1449(A1) MOVEP.L 1601(A1),D0 MOVEP.L D0,1600(A1) MOVEP.L 1608(A1),D0 MOVEP.L D0,1601(A1) MOVEP.L 1609(A1),D0 MOVEP.L D0,1608(A1) MOVEP.L 1616(A1),D0 MOVEP.L D0,1609(A1) MOVEP.L 1761(A1),D0 MOVEP.L D0,1760(A1) MOVEP.L 1768(A1),D0 MOVEP.L D0,1761(A1) MOVEP.L 1769(A1),D0 MOVEP.L D0,1768(A1) MOVEP.L 1776(A1),D0 MOVEP.L D0,1769(A1) MOVEP.L 1921(A1),D0 MOVEP.L D0,1920(A1) MOVEP.L 1928(A1),D0 MOVEP.L D0,1921(A1) MOVEP.L 1929(A1),D0 MOVEP.L D0,1928(A1) MOVEP.L 1936(A1),D0 MOVEP.L D0,1929(A1) MOVEP.L 2081(A1),D0 MOVEP.L D0,2080(A1) MOVEP.L 2088(A1),D0 MOVEP.L D0,2081(A1) MOVEP.L 2089(A1),D0 MOVEP.L D0,2088(A1) MOVEP.L 2096(A1),D0 MOVEP.L D0,2089(A1) MOVEP.L 2241(A1),D0 MOVEP.L D0,2240(A1) MOVEP.L 2248(A1),D0 MOVEP.L D0,2241(A1) MOVEP.L 2249(A1),D0 MOVEP.L D0,2248(A1) MOVEP.L 2256(A1),D0 MOVEP.L D0,2249(A1) MOVEP.L 2401(A1),D0 MOVEP.L D0,2400(A1) MOVEP.L 2408(A1),D0 MOVEP.L D0,2401(A1) MOVEP.L 2409(A1),D0 MOVEP.L D0,2408(A1) MOVEP.L 2416(A1),D0 MOVEP.L D0,2409(A1) MOVEP.L 2561(A1),D0 MOVEP.L D0,2560(A1) MOVEP.L 2568(A1),D0 MOVEP.L D0,2561(A1) MOVEP.L 2569(A1),D0 MOVEP.L D0,2568(A1) MOVEP.L 2576(A1),D0 MOVEP.L D0,2569(A1) MOVEP.L 2721(A1),D0 MOVEP.L D0,2720(A1) MOVEP.L 2728(A1),D0 MOVEP.L D0,2721(A1) MOVEP.L 2729(A1),D0 MOVEP.L D0,2728(A1) MOVEP.L 2736(A1),D0 MOVEP.L D0,2729(A1) MOVEP.L 2881(A1),D0 MOVEP.L D0,2880(A1) MOVEP.L 2888(A1),D0 MOVEP.L D0,2881(A1) MOVEP.L 2889(A1),D0 MOVEP.L D0,2888(A1) MOVEP.L 2896(A1),D0 MOVEP.L D0,2889(A1) MOVEP.L 3041(A1),D0 MOVEP.L D0,3040(A1) MOVEP.L 3048(A1),D0 MOVEP.L D0,3041(A1) MOVEP.L 3049(A1),D0 MOVEP.L D0,3048(A1) MOVEP.L 3056(A1),D0 MOVEP.L D0,3049(A1) RTS L0044:DC.B $00,$01 L0045:DCB.W 2,0 L0046:DCB.W 1600,0 L0047:DCB.W 2,0 L0048:DCB.W 130,0 L0049:DC.B ' NEON LIGHTS MODS DISK ONE!!!! ' DC.B ' ' DC.B ' ' DC.B ' ' DC.B ' ' DC.B ' ' DC.B ' ' DC.B ' ' DC.B ' ' L004A:DC.B ' HELLO DUDES, WELCOME......... ' DC.B ' ' DC.B ' ' DC.B ' ' DC.B ' ' DC.B $FF MUSIC: INCBIN A:\JOCHEN.MUS PLAYROUT: EQU MUSIC+8 FONTPALT: INCBIN 'A:\FONT.PI1" FONTDATA: EQU FONTPALT+34 L00AE:DC.B $19,$99,$07,$87 L00AF:DC.B $00,$7F,$FF,$FF L00B0:DC.B $CC,$CC,$F0,$F0 L00B1:DC.B $FF,$00,$FF,$FF,$00,$00,$00,$00 DCB.W 70,0 L00B2:DC.B '33',$0F,$0F L00B3:DC.B $00,$FF,$FF,$FF L00B4:DC.B $E6,'f',$F8,'x' L00B5:DC.B $FF,$80,$FF,$FF,$00,$00,$00,$00 DCB.W 71,0 DC.B $00,$04,$00,$08,$00,$0C,$00,$03 DC.B $00,$07,$00,$0B,$00,$0F,$00,$01 DC.B $00,$01,$00,$01,$00,$01,$00,$80 DC.B $00,'T',$00,'*',$00,$00 ZUEND: END .  –Ѓ..  –MUSIC MUS –Є MUSIC S –ЋUINTRO S –Ќ•HчџўaNLпџNuHчџўašLпџNuHчџўaDLпџNuHчa”LпNuHчџўaФLпџNuHч`aLпNuGњјША<fB+~SА<fа:0R+~ + ~fB+~aџœB+€H€РќAњ puzћtCњb~|B)B),Qщ-Qщ.AњЎ#H#HAња0p3H3| 0s€бЫ#Hвќ0T@QЯџКBЋzQыPы†PыPыrNu!цЦЄуЊуЊ ђђ’ ` !цжьуЊуЊ! ђђ’ `!цы уЭуа  ђ—ђ’ `$ џђ_јHрNuGњїnыŒf(|Š9џњf|HŠ`9џ‚ f|+ŠJ+rfJЋvgО:џИб+‹eДaXJ+rgа:џ™gJ+sg S+‚fS+sgzџ}‚zџ}ˆ:џeб+†dAњўШaфAњў№aмAњџaд+sAњўЊaШ7@„@Nzџ<O:џ% ’drAVAњўВa 7@„@PzџQ:ў§ ’drAWAњўКax7@„@RzўьS:ўе ’drAXzўиTJ+vg0kўвzNz–O:њfzŒT+ UС+Uz~VJ+wg.zmPzfQ:тfzZT+UуС+UzKWJ+xg.z;Rz4S:Шfz&T+$UхС+UzX+?U@СFќ'BJЋzfќџˆњфџˆJ+zf4ќџˆњШџˆќџˆњЙџˆќџˆњАџˆ J+{f4ќџˆњџˆќџˆњџˆќ џˆњwџˆJ+|f4ќџˆњXџˆќџˆњIџˆќ џˆњ>џˆ$ќџˆ9џˆ:!БЦБУџˆFС`§HGњєЖQыr`м@ТFќ'ќџˆ9џˆ?Сџˆќџˆќџˆќ џˆќџˆќ џˆќџˆFТNuGњєXJ+gPыrNu ш к в р ˜ О И  Ц Ќ ` @ € р  ю і ќ В ў № тYzќ™‚`$Yuzќt`YY1| `XQы`њц0( 4hдРT@Js f4hp2s гЫ1@ `д(/:ќ=ЕРЕ@‰Pш`Д(/8:ќЕРЕ@‰Qш`”(/ џ:ћџРС+‰Pш`zBhшYY`fY€``Y.`Zшш`LY*Q)Y+|@,`8B(,`2ш`*B(`Vш`NPш-`Qш-`S(f|B("hpkŠ@J(g@‡$h$!J R(Rhшh!IJ(-g.J+vg+Цg J+wg+рgJ+xg+њgPш-Nu(fNu(gR(NuS(NuА<ИeJ e"e&а@Eњn4rеЫ!J!J`џDR@`џ:а@Eњj4rеЫ!J$b`џ"@а@Eњ§М4rNѓ ~(g$S(dh$h *kRЈ @(h((а:њFа(."hg"h!IаCњаrвС0(,g\()у (+gf*f’(*dш,r`в(*ВeЈ,A+т ’dA eуIdјаA Gg$(SfBF(jFџмh1FаF`D џ:љ‡f:љ{ Cˆ<:9ЕЦ(/Е(-j(-(/8FЦ|ˆCU(Nuђ4ђ??џю M Ž й / Ž ї gрaшw ІGь—GћГp0єЛ…S#іЫЃ}Y8њнТЉ‘{eQ>, §юсдШНВЈŸ–Ž†~wpjd^YTOKGC?;852/,*'%#!JKNQTWZ]`cegikmu€‡‡ŠŠ  ŒŒŒ„…‡ƒ €‚ фрш2.6$d`h0ТОь Єь Ію" Њє( Ўј, Ж4 К8 Ф > жD мHьŠˆис*)ч.щ-”2тTHЮї<ŽŠˆис%$ч*щ)ртPDіЮ8ŽŠˆис ч%щ$стMAѕЮ5Ž:ERŠˆитя5ŽŠˆир€т$ю<ŽŠˆис€т-эЮEŽlЇŠвˆр$)0$)0$)0$)0$)0$ияˆ<ŽŠиˆс)х)с0х0с5ф5юˆAŽŠиˆс,х-с3х5с8х9эЮEŽєhhh{кhhh†нhhh{рhhh†з‘‘‘Šдсˆв‹дŠŒ„(+Šв‹дŠŒ„20Šв‹дŠŒ„(+Šв‹дŠŒ„20Šв‹дŠ Œ„(+Š в‹дŠ Œ„20Š‡Šгˆру!с‡зˆЯџ89:Р‡зˆЯџDEFР‡Šгˆр""у"!"!"$"с!‡^ЁЮЮ†А†Ю›ЮHдHЮзкккдкккЮз55Ю…к…д…зRnММЮ ЮРхРЮєЮЮ  Ю@@ЮЉЉЉV€ууЮQЮ,Q,ЮЮЮЮЮЮpЮ………Z“Є‡“ь‡“ ‡ŠйˆРяаыQ‡ŠйˆРя!!!!раъM‡ŠйˆЮс€ысысыяеЩHсРащL‡Šдˆџ  ‰зGЯFРEЯ„0DР‰‡Šиˆу‡Šиˆс€у $ $ $ $"$"$"$"$ "$" "$" "$" "$с"Ю‡ŠзˆџAGдїаыLQ‡Šзˆр€џDўJвсˆ555555555555555555555555раыHъM‡Šзˆс€џG§Mвр€сˆ:<=?=<8<=?=<:<=?=<8<=?=р<сРаыGщL‡Šлˆт3333?‰‚3333?‰‚3333?‰‚3333?‰‡ŠˆЮйџ‰‰‡Šлˆр€т5555A‚5555A‚5555A‚5555сA‡Šˆзс‡Šлˆс€т6666B‚6666B‚6666B‚6666рB‡Šˆзр€ср‡Šгˆс ус ус ус ус ус‰Ю ус ус ус ус ус‰ ус ус ус ус ус‰‡ŠеˆфEхEцEчEшEфFфQхQцQчQшQфRфEхEцEчEшEфF‡ŠеˆфFхFцFчFшFфGфRхRцRчRшRфSфFхFцFчFшFфG‡Šзˆс                ‡ŠзˆЮфCFHIKцJфADFGIцHф@CEFHцGр@CEFHG@CEFHG@CEFHG@CEFHG@CEFHтG‡ŠзˆЮџSRQP‡Šеˆсусусусусусусусус‡ŠзˆЮў+)сў+)сў'&с‡ŠзˆЮў.-сў.-сў+*с‡Šдˆї ‡ŠгˆЮу$&т$р'у&$"$&т$р'у&$"$&т$р'у&$"$&т$р'у&$"‡ŠзˆЮіHIJKуі<=>?у‡ŠдˆРс‡ŠбˆЮс‡ч‡‰ў‡‰џ‡‰‡‰‡‰‡‰‡GњшВ<fjQыvH€а@Aњ’0pбЫp CњМиQШџќzГЮ7zЎ\+ЦfzЁbzЃЯzŸа:–H€а@Eњю4rеЫ'Jв'JжRd|vNuВ<fjQыwH€а@Aњ"0pбЫp CњfиQШџќz]ш7zX^+рfzKbzMщzIъ:@H€а@Eњ~4rеЫ'Jь'J№Re|wNuQыxH€а@AњИ0pбЫp CњиQШџќz 7z`+њfzћbz§zљ:№H€а@Eњ4rеЫ'J'J Rf|xNuNuGњцЪaдJ+vk№gaJ+wgaШJ+xgax`жJ+РfJ+Ьf QыvB+VNuS+РJ+Юf4J+ЬfJ+ЩgdS+Щz3Ю:3g::%вA]:гA\S+Ю:g S+аf@аJ+Шgj 0:ібk\`0:ь‘k\+ЦfzѕubS+Яf"zзЯ$zмj А<€f$zЪ'Jж@dNuJ+кfJ+цf QыwB+WNuS+кJ+шf4J+цfJ+уgdS+уz“ш:“g:з:…вA_:zгA^S+ш:wg S+ъf@ъJ+тgj 0:Vбk^`0:L‘k^+рfzєНbS+щf"z7щ$z<j А<€f$z*'J№@eNuJ+єfJ+f QыxB+XNuS+єJ+f4J+fJ+§gdS+§zѓ:ѓg::хвAa:кгA`S+:зg S+f@J+ќgj 0:Жбk``0:Ќ‘k`+њfzєbS+f"z—$zœj А<€f$zŠ'J @fNuОЬкші .<JXft‚žЌКШжфђdїџ њ<їџcї c@ўџc c ўџcd @ўџcK’іџc( !іџ )іџc-cіџ-Pі-Pі- Aіџc- Aіџc- Aіџc- Aіџc<(ўcџ<(ўcџ<їџ џ <їџ џ cїc2`Aіџcџїџc(іџccіџїFV^qv{€ŸЈЖИКМО џ џ  џ      џ џ џ€ € € € €:H8ххы,хы*:Nu№кЧМGњсаBЋvBkVB+X|?U`эix€“НТьђ"2\hpx{~ ‡ ‡  ‡  ‡ ‡  ‡ ‡  ‡ ‡  ‡ ‡ ‡ ‡ ‡‡џ‡Nq* archipelagos music- on line labelled 'playmus', values of d0 can * be 0 for death tune, 1 for new screen tune, 2 for completed screen tune, * 3 for countdown tune and 4,5,6,7,8,9,10,11 and 12 for different tunes. music INCBIN "a:\intobord\music.mus" playmus moveq.l #4,d0 bsr music move.l $456.w,a0 move.l #music+14,4(a0) rts opt d+ ; ** Don't forget to DE-ALLOCATE MEMORY 1ST !! start1 move.l #mystack,a7 move.w #3,-(sp) trap #14 addq.l #2,sp sub.l #32000,d0 Make room for border. move.l d0,screen start bsr super bsr mouseoff clr.b $484 All off bsr savecols bsr hblon bsr setscr Log it on bsr playmus jsr movepic1 setcols move.l #pic1+2,a0 pallette bsr setpal bsr vsync bsr strung Remove this if using STEWS prog move.w #15,rotter Set to let routine pickup 1st char ***** scroll prog ****** main move.l #$600ff,-(sp) Test keypress. trap #1 addq.l #4,sp tst.b d0 bne exit Who pressed a key! bsr vsync ; ** A6 - Is current graphic pointer and must be preserved throughout ; ** the plotting of a WHOLE character. shift cmp.w #15,rotter Finished plotting. blt.s oldlet NO. .nextch movea.l text,a0 YES.Get new char. clr.w rotter Reset plot & rotation counter. move.b (a0)+,d0 Get a character. bne.s nxtlet If last char move.l #texto,text bra.s .nextch nxtlet move.l a0,text Save addr of next char. lea nfont,a0 Use pre-shifted grafix font. andi.l #$ff,d0 Clear rubbish. sub.l #32,d0 get rid of ASCII coding. beq.s zerod Space is 1st char , no calc asl.w #7,d0 Size of grafix string (128 bytes). add.l d0,a0 The grafix chars address. zerod move.l a0,a6 Save it for later. oldlet move.l border,a0 Start of scroll area. movea.l a6,a1 Get current grafix addr. moveq.w #15,d7 Graphic height addq.w #1,rotter Update rotation & plot counter. move.w rotter,d2 Get it ready for rotating. iloop REPT 4 move.w (a1)+,d0 Get graphic WORD. lsl.w d2,d0 Rotate D2 times. roxl $98(a0) roxl $90(a0) roxl $88(a0) roxl $80(a0) roxl $78(a0) roxl $70(a0) roxl $68(a0) roxl $60(a0) roxl $58(a0) roxl $50(a0) roxl $48(a0) roxl $40(a0) roxl $38(a0) roxl $30(a0) roxl $28(a0) roxl $20(a0) roxl $18(a0) roxl $10(a0) roxl 8(a0) roxl (a0)+ ENDR lea $98(a0),a0 Next pixel line to scroll. dbf d7,iloop bra main text dc.l texto texto dc.b 131,132,133,134,135,136,137,138,139 dc.b " For GANDALF , BITBOX , MAVERICK " dc.b " This was coded by J.P.M 1990 " dc.b " GOOD LUCK GUY'S " dc.b " Hey Jason look no mouse!! " dc.b 0 ****** Back to desktop ********* exit andi.w #$df,d0 Force to uppercase bsr hbloff bsr mouseon bsr restcols dc.w $a009 clr.l $4d2 Remove music program bsr musicoff Kill P.S.G bsr user clr.w -(sp) trap #1 ******************************** * ROUTINES * ******************************** vsync addq.w #1,vcount cmpi.w #3,vcount 2=slow / 3=medium /4=fast. blt.s .exit clr.w vcount move.l $462,d0 .1 cmp.l $462,d0 beq.s .1 .exit rts vcount dc.w 0 hblon move.l $120,oldtb move.l $70,old4 move.l $70,new4b+2 move.b $fffffa07,old07 move.b $fffffa09,old09 move.b $fffffa0f,old0f move.b $fffffa11,old11 move.b $fffffa1b,old1b move.l $456,oldvblq and.b #$df,$fffa09 and.b #$fe,$fffa07 move.l #killb,$120 move.l #new4,$70 or.b #1,$fffffa07 or.b #1,$fffffa13 rts hbloff move.w sr,-(sp) move.w #$2700,sr move.b old07(pc),$fffffa07 move.b old09(pc),$fffffa09 move.b old0f(pc),$fffffa0f move.b old11(pc),$fffffa11 move.b old1b(pc),$fffffa1b move.l oldvblq,$456 move.l oldtb,$120 move.l old4,$70 move.w (sp)+,sr rts old4 dc.l 0 oldtb dc.l 0 old07 dc.b 0 old09 dc.b 0 old0f dc.b 0 old11 dc.b 0 old1b dc.b 0 oldvblq dc.l 0 EVEN ; ** This is the VBL handler new4 clr.b $fffffa1b.w move.b #199,$fffa21 kill the border move.b #8,$fffffa1b move.l #killb,$120 Timer B vector new4b jmp $12345678 Old vbl vector. ; ** The HBL routine for the border. killb clr.b $fffffa1b.w timer stop movem.l d0-d1/a0-a1,-(sp) move.w #$fa21,a1 Timer b reg move.b #8,$fffffa1b.w enable timer b. move.b (a1),d0 wait4 cmp.b (a1),d0 wait last scanline beq wait4 clr.b $ffff820a.w 60 Hz moveq #3,d0 nopi2 nop wait a while dbf d0,nopi2 move.b #2,$ffff820a.w 50 Hz movem.l (sp)+,d0-d1/a0-a1 move.l #blank,$120 bclr #0,$fffffa0f.w end of interrupt rte blank move.b #8,$fffffa1b.w enable timer b. bclr #0,$fffffa0f.w end of interrupt rte super clr.l -(sp) move.w #$20,-(sp) trap #1 add.l #6,sp move.l d0,oldsp rts user move.l #oldsp,-(sp) move.w #$20,-(sp) trap #1 add.l #6,sp rts ; ** Starting : foreground screen is scr1=f8000 ; ** : background '' is scr2=e8600 setscr move.w #0,-(sp) move.l screen,-(sp) move.l screen,-(sp) move.w #5,-(sp) trap #14 add.l #12,sp move.l screen,a0 add.l #160*200,a0 move.l a0,border rts setpal move.l a0,-(sp) move.w #6,-(sp) trap #14 addq.l #6,sp rts restcols move.l #$ff8240,a1 move.l #oldcols,a0 move.w #15,d0 loop1 move.w (a0)+,(a1)+ dbf d0,loop1 rts savecols move.l #$ff8240,a0 move.l #oldcols,a1 move.w #15,d0 loop5 move.w (a0)+,(a1)+ dbf d0,loop5 rts movepic1 move.l #pic1+34,a0 move.l screen,a1 move.l #$7d00-1,d0 loop move.b (a0)+,(a1)+ dbf d0,loop move.w #5120,d1 Border size move.l screen,a0 move.l (a0),d0 Fetch screen contents add.l #160*200,a0 point to the border m2lp move.l d0,(a0)+ move screen background to border dbf d1,m2lp rts musicoff lea $ffff8800.w,a0 move.l #$8080000,(a0) clear psg channel a, move.l #$9090000,(a0) b... move.l #$a0a0000,(a0) and c. move.b #6,$484.w keyclick back rts ; ** Turn the graphic data in a continous string. ; ** Speeds up data access. Used to reduce instruction count ; ** during the horrendously slow scroll loop. ; ** Only use with 16x16 font and make sure to create the ; ** font in ASCII order for quicker access. strung movem.l d0-d7/a0-a6,-(sp) lea nfont,a0 Start of strung out data. lea font+34,a3 Start of graphic data. moveq #5,d4 Number of rows of chars. outlp moveq #19,d5 Chars across. movea.l a3,a1 Save start of row for later. movea.l a1,a2 Save row start. midlp0 moveq #15,d3 Grafix height 16. midlp moveq #3,d6 Words in char width. inlp move.w (a1)+,(a0)+ dbf d6,inlp lea 152(a1),a1 Next graphic row - 8. dbf d3,midlp Do whole graphic 16x16. addq.l #8,a2 Next grafix block. movea.l a2,a1 Next char along the row. dbf d5,midlp0 Do all 20 char in this row. lea $a00(a3),a3 Next graphics row. dbf d4,outlp All 6 rows. movem.l (sp)+,d0-d7/a0-a6 rts mouseoff move.l #moff,-(sp) mouse off clr.w -(sp) move.w #25,-(sp) trap #14 addq.l #8,sp dc.w $a00a rts mouseon move.l #mon,-(sp) mouse on clr.w -(sp) move.w #25,-(sp) trap #14 addq.l #8,sp dc.w $a009 rts include 'a:\intobord\music.s' ******************************** * data * ******************************** moff dc.b $12 mon dc.b $8 border dc.l 0 screen dc.l $f8000 oldsp dc.l 0 oldcols ds.w 16 chrsize dc.w 0 rotter dc.w 0 graff dc.l 0 nfont ds.w 5120 font incbin "a:\font.pi1" pic1 incbin "a:\pic.pi1" ds.l 510 mystack dc.w 0 EVEN finish . $–Д.. $–STANDED S &–Еž$X BIN)–ПC******************************************** * MENU CODE BY DODGY KING TWIN PIC + MUSIC * ******************************************** opt d+ stack move.l $4(a7),a5 move.l 4(a5),scradd Screen address. move.l #$100,d0 move.l d0,-(a7) move.l a5,-(a7) add.l #$100,a5 Start of prog. move.l #$4a0000,-(a7) trap #1 add.l #$c,a7 dc.w $a00a Hide mouse bsr setup clr.l -(sp) Into super move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,oldsp Save old super stack and.b #$fe,$484 Keyclick off. lea music,a0 music is outrun move.l #$33462,a2 must go here move.w #5000,d0 size of music sloop: move.b (a0)+,(a2)+ shift it dbf d0,sloop jsr $33462 music maestro move.w #$ffff,d0 pause for a moment fxlp: dbf d0,fxlp bsr setscr Initialise the screen. move.l #text,a0 Start of scroll text. bsr start Initialise graphics and text. main1 bsr main Scroll routine. move.l #$600ff,-(sp) Test keypress. trap #1 addq.l #4,sp tst.b d0 beq.s main1 No key. Keep looping. keys: sub.w #$30,d0 Strip off ASCII code. beq hertz ZERO to chnage hertz. bmi.s main1 NO keys below zero. cmpi.b #7,d0 Six games only. bge.s main1 Anything above 6 is no good. subq.w #1,d0 Adjustment for looping. move.w d0,d6 Copy the keycode. bsr fade end menu clr.l $4da clear VBL list moveq #$b,d0 reset sound chip lea moff,a0 mlp: move.b d0,$ffff8800 move.b (a0)+,$ffff8802 dbf d0,mlp ; ** Clear the screen move.l scradd,a0 move.w #$7d00,d0 lp2: clr.b (a0)+ dbf d0,lp2 ; ** Restore old colors. lea oldcols(pc),a1 move.l #$ff8240,a0 move.w #7,d0 lp1: move.l (a1)+,(a0)+ dbf d0,lp1 move.w d6,d0 Copy keycode selection. cmpi.w #1,d0 Game 1 is inside a folder. bne.s super Not 1 so skip SET PATHNAME. lea folders,a0 Address of folder names. move.l a0,-(sp) path: move.w #$3b,-(sp) Set pathname. trap #1 addq.l #4,sp super move.l oldsp,-(sp) Back to user mode. move.w #$20,-(sp) trap #1 addq.l #6,sp ; ** The 1st game (keycode zero) is a GEM game so re-enable the ; ** mouse. move.w d6,d6 Quick test for zero. bne.s scont dc.w $a009 mouse is on. scont bsr setup gaming: lea games-12,a0 Address of games names-12 for the ADD.L #12,A0 gloop: add.l #12,a0 dbf d6,gloop Loop through all names until keycode is zero. ; ** Okay , got the game name. Now LOAD and RUN. move.l #$50000,-(sp) move.l #$50000,-(sp) pea (a0) clr.w -(sp) move.w #$4b,-(sp) trap #1 add.l #16,sp invade: clr.w -(sp) Reset RUNS next file in the AUTO folder. trap #1 hertz: eori.b #$fe,$ff820a Toggle 50/60 hertz. bra main1 ; ** Set screen resolution and screen addresses. setup move.w #0,-(sp) Screen mode. move.l #$ffffffff,-(sp) move.l #$ffffffff,-(sp) move.w #5,-(sp) trap #14 add.l #12,sp rts folders dc.b "pento\",0 setscr: movem.l $ff8240,d0-d7 Fast color pickup (all 16). movem.l d0-d7,oldcols Save them for later. move.l scradd,d0 Get screen address add.l #$7260,d0 * * Add offset to scroll area. move.l d0,screen Save it for the scroller. move.l d0,oldlet+2 Insert scroll area into scroll routine. movem.l pic+2,d0-d7 Get picture colors. movem.l d0-d7,$ff8240 Set the colors. move.l #pic+34,a0 Address of picture. bsr curtain Drop the screen. rts moff dc.b 0,0,0,0,$f8,0,0,0,0,0,0,7 ; ** Curtain effect on screen. ; ** A0 Has TRUE address of the screen. ; ** All registers are preserved. curtain movem.l d0-d7/a0-a6,-(A7) move.l scradd,A1 move.W #$7D00,D3 cmain move.W #1,D1 move.W D3,D2 lea 0(A0,D3.W),A3 lea 0(A1,D3.W),A4 L1DFF8 move.W d1,d5 L1DFFA move.W #$27,d4 L1DFFE move.L -(A3),-(A4) dbf d4,L1DFFE CMPA.L a4,a1 beq.s L1E018 subq.w #1,d5 beq.s L1E014 add.l #$A0,A3 bra.s L1DFFA L1E014 addq.w #1,d1 bra.s L1DFF8 L1E018 sub.w #$a0,d3 bne.s cmain movem.l (A7)+,d0-d7/a0-a6 rts start move.l a0,texto Text start. bsr strung move.w #15,rotter Make it change char. rts ***** scroll prog ****** main addq.w #1,vcount cmpi.w #4,vcount No of syncs between writes. bne.s shift move.l $462,d0 vsync cmp.l $462,d0 VBL due? beq.s vsync No. clr.w vcount ; ** A6 - Is current graphic pointer and must be preserved. shift cmp.w #15,rotter Finished plotting. blt.s oldlet NO. movea.l texto,a0 YES.Get new char. clr.w rotter Reset plot & rotation counter. move.b (a0)+,d0 Get a character. bne.s nxtlet If last char move.l #text,texto Then repeat message. bra.s shift nxtlet move.l a0,texto Save addr of next char. cmpi.b #$ff,d0 bne.s nopaws No pause. swap d1 move.w #10,d1 lp11: move.w #$ffff,d0 lp12: dbf d0,lp12 dbf d1,lp11 swap d1 bra.s main nopaws move.l nfont,a0 Use PRE-SHIFTED font. andi.l #$ff,d0 Clear rubbish. sub.l #32,d0 Subtract ASCII code. beq.s zerod If SPACE no need to calculate. mulu #128,d0 Size of grafix string. add.l d0,a0 The grafix chars address. zerod move.l a0,a6 Save it for later. ; ** Setscrn initialise the address below to the scroll area. oldlet move.l #$ff260,a0 Start of scroll area. movea.l a6,a1 Get current grafix addr. moveq.w #15,d7 Graphic height addq.w #1,rotter Update rotation & plot counter. move.w rotter,d2 Get it ready for rotating. oloop moveq #3,d6 4 words of grafix iloop move.w (a1)+,d0 Get graphic WORD. lsl.w d2,d0 Rotate D2 times. roxl $98(a0) roxl $90(a0) roxl $88(a0) roxl $80(a0) roxl $78(a0) roxl $70(a0) roxl $68(a0) roxl $60(a0) roxl $58(a0) roxl $50(a0) roxl $48(a0) roxl $40(a0) roxl $38(a0) roxl $30(a0) roxl $28(a0) roxl $20(a0) roxl $18(a0) roxl $10(a0) roxl 8(a0) roxl (a0)+ dbf d6,iloop lea $98(a0),a0 Next pixel line to scroll. dbf d7,oloop rts ; ** Turn the graphic data in a continous string. ; ** Speeds up data access. strung move.l nfont,a0 Start of strung out data. lea font+34,a3 Start of graphic data. moveq #5,d4 Number of rows of chars. outlp move.w #19,d5 Chars across. movea.l a3,a1 Save start of row for later. movea.l a1,a2 Save row start. midlp0 moveq #15,d3 Grafix height 16. midlp move.w #3,d6 Words in char width. inlp move.w (a1)+,(a0)+ dbf d6,inlp add.l #152,a1 Next graphic row - 8. dbf d3,midlp Do whole graphic 16x16. addq.l #8,a2 Next grafix block. movea.l a2,a1 Next char along the row. dbf d5,midlp0 Do all 20 char in this row. add.l #$a00,a3 Next graphics row. dbf d4,outlp All 6 rows. rts EVEN vcount dc.w 0 Vsync counter rotter dc.w 0 Counter for grafix plotting texto dc.l 0 Points to next character in message screen dc.l $7f39a Screen address , set to scroll area later. scrpos dc.l 0 build ds.l 64 Old build buffer for grafix EVEN ; ** Each game CAN BE 12 characters long. So FILENAMES are padded ; ** with zeros to make them all 12 characters long. Makes calculating ; ** FILENAMES to use easier. Just move through them in STEPS of 12. games dc.b "kspread2.prg" dc.b "trimbase.prg" dc.b "dmst.prg",0,0,0,0 dc.b "digicalc.prg" dc.b "homeacc.prg",0 dc.b "swiftcal.prg" fade movem.l d0-d6/a0,-(sp) fade1 clr.l d0 lea $ff8240,a0 colour registers move.w #$f,d6 sixteen colours mloop move.w (a0),d1 and.w #$777,d1 cmp.w #$777,d1 beq.s putback move.w #$700,d2 moveq #2,d3 ilp move.w d1,d4 and.w d2,d4 move.w #$777,d5 and.w d2,d5 cmp.w d5,d4 beq.s divit move.w d2,d4 and.w #$111,d4 add.w d4,d1 moveq #1,d0 divit lsr.w #4,d2 dbf d3,ilp putback move.w d1,(a0)+ dbf d6,mloop move.w #$ff00,d1 pause dbf d1,pause tst.l d0 movem.l (sp)+,d0-d6/a0 rts oldsp dc.l 0 text dc.b "YES IT'S BUSINESS DISK 1 FROM DODGYSOFT CREDITS:- CODE BY DODGY KING AND ROYAL JESTER, GRAPHICS BY BROKEN LANCE, FONT BY DODGY KING, MUSIC RIPPED BY DODGY KING " dc.b "COMPILED, PART-PACKED, AND GENERALLY BUGGERED ABOUT BY BROKEN LANCE " DC.B "NOW THATS OVER WE WILL GO TO THE GREETINGS, PERSONAL HI TO FRED, KEI, SHAUGHAN, ANDY, DAVE.... " DC.B "NORMAL GREET'S GO TO:- POMPEY PIRATES, THE MEDWAY BOYS, AUTOMATION, BBC, HOTLINE, FCC AND YOU..... " DC.B "HANDS UP OUT THERE EVERYONE WHO HAS PUT A STOS GAME ON THEIR MENUES...... WHAT? NO ONE OWNING UP? " DC.B "I'M NOT SURPRISED, BUT WE KNOW WHO YOU ARE.... " DC.B "DODGYSOFT CONSISTS OF DODGY QUEEN, DODGY KING, ROYAL JESTER, AND BROKEN LANCE.... WELL THATS ABOUT IT FOR NOW, WATCH OUT FOR OUR NEXT MENU " DC.B "IT'S COMING ROUND AGAIN >>>>> >>>>> >>>>> >>>>> " dc.b " ",0 EVEN ******** DATA ******** oldcols ds.l 8 scradd dc.l 0 Screen address. chrsize dc.w 0 Grafix height. cmask ds.w 16 font incbin "a:\font.pi1",0 music incbin "a:\x.bin",0 EVEN scrbuf ds.b 0 pic incbin "a:\pic.pi1",0 ;menu pic EVEN nfont dc.l $60000 Nљ5( -Outrun music in desktop- Use Alt and Help to toggle between the two sound tracks Press any keyThank you to the Lost Boys for the demo which made this all posible !------ hcywNqNqNqNqNqNqNqNqNqNqNq/<5\?<&NN\NqNqNqNqNqNqNqNqќ„#ќ5„#ќ5рк0<NЙ:ўNuHчџџ095Д@3Р5ДА|c B@3Р5ДNЙ:ўLпџџNuHчр№B@GњџаJ+g\9џџ‚ fS+"f|"`DS+$fzџЫ$AњXa*a"azџЗAњBCњЩEњџ‹aо6aд7AaЬ7AJ+ g:| | 0<+!F2тIа@аAа@BаA7@Aа@6€+ўЪ+ўтJ+g‚S+ f B+ Qы`pJ+g"S+fzџ :џ:џтeH@Aбk2:ўјгkJ+gS+f zўю7zўр| 7zўкЋњ:ўгтd R+њzўУ@<ј+Ъg +тg +њg $AљџˆCљџˆМ›B›М›М›М›М›М›М€М›М ›М ›М ›М ›gМ €QгLпNu/AњўB(BB( _NuAњў.ˆ/Aњ§ћQшQаBh _Nu$K(дшJrfB"KвђT@``Pш `ZY`TYаY`FY@а@а`0аа`&B`"Y&аа`аќS( fD0"KвшА<Аe" e e{Ќ`фR@ `м@`жА<€e*а$KдћbNвgfR( NuS( Nu|№`0BhJ( kB(B( @ hB(Te |@%h “Ы1INuюvHlpV‚B~z<ORUacfjаќ (№d(d(;lа( R( qm(№Rа+'eQРРBA(R1j(Aа( а(а2;2gю((fТ(`Р%+39CQTtxŸІю M Ž к /  ї hсaщw ЇGэ˜GќДp1єМ†S$іЬЄ~Z8њоУЊ’{fR?- §ясеЩОГЉŸ–Ž†wqjd_YTPKGC?<852/-*(&$" а(АfP@т dAв@PgJ(f(H‚еhвh`S(B(gpgg zћ4Рg@NuHч€РEњњ№H€РќAњ †аРCњњюQщp2иQШџќ3Pџю3hџ№2КњоPщLпNuHчрРH€чCњњАQщ|"|$r{9#AњJ4;0T| 0МB(1B1q аќQЩџмPщLпNuўBtмў<>@d ќ I I I Л Л " " ‚ I I I I Л Л " " ‚ ў  6 I I I Л Л " " Й Л " "иппп п я я я S — я я я я S — б щ ы я я я S Qќќ # # U e e e B B ~ ~ ~ ~ М М e e e e B B ~ ~ ~ ~ М М М М М , , , , W e e e B B ~ ~ ~ ~ @ B ~ ~ ~ ~ Г ­ ­ ­ а w wЩЩЩЩ6 J B B B д  њ i i “ “ “ Ÿ “ “ “ ёссссRCCC€’–›€ ‰ ‡&&&&&((((+++++((((+++++----+++++0000-----000022222000022222444422222444Д‡‡€Œ ˜‹ˆ+)ї №  №-,+*)ј №*(і ЫЪЩШЧі-,+*)('&%$#"!№ №ћ ќ  №  ѓ ј?NMLkŠЉизжедгвṉРА†учухсучуТ‚Z&‚Z&‚Z&Ручухсучуучухсучу€€€учухсучуСnсnуnсn…‰ЦА†у-с0х(у+*с-у&*с+у-с0х(у+*€€€…‰АФсnhnhhnnnnhnnhnnnnhnnhhnhnhnhnhnn…сnhnhhnnnnhnnhnnnnhnnhhnhnэ€…‰АХ†у$#!с!у#$с$у#!#!су!#с#у!#!су!#с#у!у$#!с!у#$с$у#!…‹СДуАсДŠАДуŠАсДŠАЕуŠ!А!с!Е!Š!А!ЕуŠ!А!с!Е!Š!А!…‰А†Р‹уŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠ…уч учучсусчуч учучухсу…‰А†Щх42у7х42у0х2/ѓ+х0/у2х0/у(-с/я-щ€х42у7х42у0х2/ѓ+х0/у2х0/у(/я-ч€у+щ)у+с-ч+у)(&с(э$ы€щ)у+с-ч+у(0ч/ѓ-у+щ)у+с-ч+у)(&с(э$ы€щ)у+с-ч+у(0ч/я-ч€…Ъ†ГїАЦу9€Цџ2€ЧЗч-у-ч-у+ч-…САс‚<(‚<(‚<(‚<(‚<$‚<$‚<$‚<$‚<!‚<!‚<!‚<!‚<х€АЦѓСЖуnчnnуnчnуnчnЧчучуч…џ€АЦџ8ѓ€Ч†уТ†Бч‹‡у‡ч‡Ву‡Бу‡СсXX…у‡€Сnn€nn€n€nn€nn€…с(ШАXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX…АФсnhhhhhhhhhnhnhhh…АуЧ€!$&(&(+--02478Ця9ѓ€Чч€у$ч$у&ч&ч€у&ч&у(ч(…АуЧ€  Ця!ѓ€Чч€Иу ч у ч ч€у ч у ч …Ы‹ ‡nФnnnnnnnnnhnhnnn…3'.3'.13Ъ†Ат)05)05)05)05)050'.3'.3'.…ФтnhnhnhnhnhnhnhnрhŒiŒjтnhnhnhnhnhnhnhnh…ЬхhФтnhnhnh…ЬхhhФтnЬхhФтn…шхРА†х СnРт ш х т шхтх…т‰єЪс"'#($)%*&+ ',!(-").‰…хШXXXXСАсnn‹hу€сŠhТ‚<‚<‚<‚<‚<‚<…А†Ъё'„т*ш1х0т„.х0є*х„065т„3х5њ0ш€т„0х31ё0ƒт,ї)џ*у„*т.1х0.т,ї)т„),0х.џ/ч€ф„/т4№3у„4т8њ7…Ч†т‹        ŠŠ""""""""ŠŠŠ        ŠŠŠŠ"…т†ЭД,,Сnn‹hnЭ,,СnnnnЭ‡,,СnnЭЕ''СnnŠhnЭ''СnnnnЭ‡''СnnЭ..СnnŠhnЭ..СnnnnЭ‡..СnnЭ))СnnŠhnЭ))СnnnnЭ‡))СnnЭД**СnnŠhnЭ**СnnnnЭ‡**СnnЭЙ%%СnnŠhnЭ%%СnnnnЭ‡%%СnnЭЕ((СnnŠhnЭ((СnnnnЭ‡((СnnЭД''СnnŠhnЭ'њ'…тЫnЧА СnЧ  ДСАnЫnЧ СnЧ  ЕСАn…ѓ5щ€х3т:х8њ5ы€т503њ5ы€т:х8њ5ї€Цт„0ш3х1ъ€у„0т1„1ш5ы3х1ъ€у„0т1„1ш5т„0ш3х1€т„031х353ю0т,€ш,т)у)*,х.т,х.т,х.т,х.т,х.т,х0т.х0т.х0т.11х0.т2х3т5х3т5х3т5х3т5х3т58:ѓ8ц€х&')т*х,т*х,т*х,т*х,т*х,т*х.т,х.т,х.т,2/.х5т32х3т5х3т5х3т5х3т5х3т65њ1ї=…Ст‹ hЭЙ*СnnЭ*СnnnЭ*СnnЭю*СтŠhЭЕ)СnnЭ)СnnnЭ)СnnЭю)… тТ …тСnТА…С‹ nЭСhhŠnЭтАЭ%%СŠnЭ%СhhŠnЭ%$$СŠnЭ$СhhŠnЭ$ СŠnЭ СhhŠnЭ …€КС‡‡‡‡‡‡‡…ЮїhˆЮрhїeЮїrˆџњ?џ аџњаџ @џњ@џ  мџњмUџ rџњr T џєTUx њ*џжњUˆ ZџьZU@ џ2ШЊџBhзџU№ dџ№њ$џмњU„ 8 џm` dџџUџ]Р xџўЋџ]Р x. ,–Ф.. ,–32 PI1/–ХB}MENU PI14–хB}MENU1 S 9–р'PANTHER MUS =–˜.` @&FPW0ww№№№№џџџџ?р?р?р?р€€€€№№№№џџџџ?р?р?р?рРРРРџ№џ№џ№џ№џџџџ№№№№№№№№џџџџ?р?р?р?рјјјј????ррррџ№џ№џ№џ№џџџџќќќќ№№№pџџџЧ?р?р?р8рјјјј№№№№џ№џ№џ№џ№џџџџўўўў№№№pџџџЧ?р?р?р8р€€€€јјјјџџџї№№№№???>џ№џ№џ№рpџџџџџџп№№№pџџџЧ?р?р?р8рјјј8џџџч№№№№???<џ№џ№џ№рpџџџџџџЯppp№џџџџ?р?р?р?р::::____јјј8яяяз№№№№}}}zъ№ъ№ъ№ѕpеееЋя€я€я€з€ppp№џџџџ?р?р?р?р++++DDDDјјј8зззЏ№№№pzzzuџ№џ№џ№џ№џџџџз€з€з€ы€ppp№џџџџ?р?р?р?р::::ФФФФјјјјџ№№№ppppџ№џ№џ№џ№џџџџУ€У€У€џ€ppp№ррррјјјјџ№№№ppppџ№џ№џ№џ№џџџџУ€У€У€џ€№pp№РРРРјјјј=^<<?ў№№№№uppрррры€У€У€џ€№pp№<<<<€€€€((((~p~p~p~pzМx=?О^ўpzuррррУ€з€ы€џ€€€€€x}z<|МќpuzррррУ€ы€з€џ€№№№№уууущщщщ№№џџ{ў{ўћўћўppррррУ€У€џ€џ€№№№№ ррџџѓўѓўѓўѓўppџ№џ№џ№џ№џџџџУ€У€џ€џ€№№№№њњњњ Сеџџуўуўуўуўpuџ№џ№џ№џ№џџџџУ€ы€џ€џ€p№№№"""" ƒЋџџУŽУўУŽУўpzџ№џ№џ№џ№џџџџУ€з€џ€џ€p№№№"""" џџџƒŽƒўƒŽƒўxрpџ№џ№џ№џџџЧ€џ€џ€џ€p№№№####ш€ш€ш€ш€џџџŽўŽў<???рpџ№џ№џ№џџџЯџџџ№№№№јјјј<?ў?ў?ўўўўў>???рpџ№џ№џ№џџџпџџџ№№№№?ќ?ќ?ќ?ќўўўўџ№џ№џ№џ№џџџџўўўў№№№№?ј?ј?ј?јўўўўџ№џ№џ№џ№џџџџќќќќ?№?№?№?№џ№џ№џ№џ№џџџџ№№№№xxxx||||||||ќќќќџџџџџРџРџРџРџџџџќќќќ?џ?џ?џ?џџРџРџРџРџџџџџРџРџРџР~~~~ќќќќ????џџџџџ№џ№џ№џ№џџџџќќќќ?џ?џ?џ?џџ№џ№џ№џ№џџџџџ№џ№џ№џ№oќќќмјјјјџџџџџјџјџјџјџџџџќќќќ?џ?џ?џ?џџјџјџјџјџџџџџјџјџјџј€€€g€ќќќœјјјјџџџїџџџрџќџќџќМџџџќќќ?џ?џ?џ8џќџќџќМџџџџќџќџќМwРwРwРkРМММ\јјјјџџџчџџџрџќџќџќœџџџќќќ?џ?џ?џ8џќџќџќœџџџџќџќџќœkрkрkрuр\\\МxxxИяяяз=ъ=ъ=ъ:ѕЋоЋоЋоWЎ___Ў\\\М888?џоооџЎЊЊЊUЋоЋоЋоWЎ`№`№`№№<<<?ќ888јзззЏ:џ:џ:џ=џџЎџЎџЎџоўўўџМММ\?џ?џ?џ?џџЎџЎџЎџоџџџџџЎџЎџЎџоpxpxpxјx=?О^ў8с=с:с?сУŽыозЎџўМ\ќ8џ=џ:џ?џџРџРџРџРџџџџџŽџЎџоџўооџџџџ?ў?ў?џ?џ?ў?ўџўџў????ррррx}z<|Мќ8р:р=р?руŽїЎыоџў\Мќ8р:р=р?рŽоЎўџџ€€џ€џ€88јј8???рррр№№џџxxјј8р8р?р?рsŽsŽўўќќ8р8р?р?рŽŽўўWџџƒРЋРџРџР8Ијј8???ррррќќќќррџџ№№№№8џ8џ?џ?џџŽџŽџўџўўўџџўўџўџў8џ8џ?џ?џџўџўџўџўџџџџџŽџŽџўџўЏџџСрерџрџр8xјј8???ррррќќќќСеџџрррр8џ:џ?џ?џџŽџЎџўџўўўџџўПўџўџў8џ:џ?џ?џџўџўџўџўџџџџџŽџЎџўџў<?џ?џ?џр№џ№џ№џ№8јјј????ррррќќќќƒЋџџРРРР8џ=џ?џ?џџŽџоџўџўўџџџў_ўџўџў8џ=џ?џ?џџўџўџўџўџџџџџŽџоџўџўx<ќќќ№xџјџјџј8јјј????ррррќќќџџџ€€€€8р?џ?џ?џŽџўџўџўџџџџўџўџў8р?џ?џ?џџўџўџўџџџŽџўџўџўpxјјјx<ќќќјјјј????ррррќќќџџџрџџџœџќџќџќџџџџўџўџўрџџџџўџўџўџџџœџќџќџќ№№№№?ќ?ќ?ќ?ќјјјјррррќќќ<?ў?ў?ўрџџџМџќџќџќџџџџўџўџўрџџџџўџўџўџџџМџќџќџќррррќќќќјјјјРРРРќќќќ?ќ?ќ?ќ?ќџџџџџјџјџјџјџџџџџўџўџўџўџџџџџўџўџўџўџџџџџјџјџјџјРРРРќќќќ€€€€ќќќќ?ј?ј?ј?јџџџџџ№џ№џ№џ№џџџџџўџўџўџўџџџџџўџўџўџўџџџџџ№џ№џ№џ№ќќќќ?№?№?№?№џџџџџРџРџРџРџџџџџўџўџўџўџџџџџўџўџўџўџџџџџРџРџРџР>>> ? ? ???????>>>€€€€РРРР?џ?џ?џ?џџўџўџўџў333000333€€€€РРРР?џ?џ?џ?џџўџўџўџў333333000333яяя"r"r"r'О'О'ОћРћРћР?€?€?€?€РРРР?џ?џ?џ?џџўџўџўџў>>>3 3 3 > > >>>>Ђ#Ђ#Ђ#(((‚ ‚ ‚ €€€{€РРРqР?џ?џ?џ8рџўџўџў333???000666ЯЯЯ>">">"ЈЈЈѓРѓРѓРџ€џ€џ€ѓ€?џ?џ?џ?џџўџўџўџўРРРqР?џ?џ?џ8рџўџўџў333303030000000333(((""""""hhh‚€‚€‚€№№№№јјјјї€ї€ї€ы€?џ?џ?џ?џџўџўџўџў{Р{Р{РuР=р=р=р:џџў>>>3?3?3???????333ШШШ"r"r"r'ˆ'ˆ'ˆњ`њ`њ`№№№№јјјјы€ы€ы€з€?џ?џ?џ?џџўџўџўџўuУuУuУ{Уўўўў:џ:џ:џ=џџўџўџўџў№№№№јјјјƒ€ƒ€ƒ€џ€8888qУqУqУУўўўў8џ8џ8џ?џџўџўџўџўссс˜`˜`˜`ёёё™ј™ј™јЂyЂyЂyф>ф>ф>ppp№888ј€€€џ€8888qУqУqУУўўўў8џ8џ8џ?џџўџўџўџўБББи№и№и№™™™™€™€™€ Ђ‚Ђ‚Ђ‚   ppp№888јЏџ8888uУqУqУУЎŽŽў:р8р8р?р™™™љ˜љ˜љ˜™™™™€™€™€ ЂrЂrЂr<<<ppp№888ј=<<?^ў?џ?џ?џ?џџўџўџўџў{УqУqУУоŽŽў=р8р8р?р™™™љ˜љ˜љ˜№№№ё№ё№ё№Ђ Ђ Ђ    №№№№јјјјxxќ<<ќ?џ?џ?џ?џџўџўџўџўУqУqУУўŽŽў?џ8џ8џ?џџРџРџРџР™™™ЙјЙјЙј˜˜˜a€a€a€žёžёžёчОчОчО№№№№јјјјџ№№џјxxј?џ?џ?џ?џџўџўџўџўУqУqУУўŽŽў?џ8џ8џ?џџ№џ№џ№џ№БББ™˜™˜™˜a˜a˜a˜a€a€a€№№№№јјјјѕърџ№№№№{џuџqџџпќЏќќџќ=ъ:ѕ8р?џЋјWјјџјссс™˜™˜™˜a№a№a№aјaјaјыеСџррррuџ{џqџџЏќпќќџќ:ѕ=ъ8р?џWМЋќМџќ№№№№јјјјƒџƒџРРРР?џ?џ?џ?џџўџўџўџўqџџqџџќџќќџќ?р?џ?р?џœџќœџќууусусусуУ1У1У1у№у№у№}}@@№№№№јјјјџџ€€€€?џ?џ?џ?џџўџўџўџўyУџyУџŽџќŽџќ?џ?џ?џ?џџŽџўџŽџў333333333c3c3c30Р0Р0РA”A”@@№№№№јјјјЏWџ€€€€?џ?џ?џ?џџўџўџўџў=У=ы?з?џŽЏ\оМџќ?џ?џ?џ?џџŽџоџЎџў333333333333333РРРyTyTOOp№p№8ј8јƒзЋџРРРР8888?У?з?ы?џŽоМЏ\џќŽЎоўуууу3у3у3333333РРРA4A4@@p№p№8ј8јССџџрррр8888џџџџќќџќџќŽŽўўc3c3c3333333РРР}}РРp№p№8ј8јррџџ№№№№8888џџџџќќџќџќ?џ?џ?џ?џџŽџŽџўџў333333c3c3c30Р0Р0Р№№№№јјјј№ѕџџxxјј?џ?џ?џ?џџўџўџўџўџџџџќЏќџќџќ?џ?џ?џ?џџŽџЎџўџў1у1у1уСёСёСёрРрРрР№№№№јјјјxz<Мќќ?џ?џ?џ?џџўџўџўџўŽоўў?џ?џ?џ?џџŽџоџўџўI€I€I€№№№№јјјј<???ўўў?џ?џ?џ?џџўџўџўџўŽўўў8?џ?џ?џŽџўџўџў33333333333030IIII(Œ(Œ(Œ PСPСPС$’$’$’$’8888џџџŽўўў8?џ?џ?џœџќџќџќсссссссссссрср 0 0 0 0Ш†Ш†Ш†Р``````У У У У xxxx€џ€џ€џ€Žўўў8?џ?џ?џМџќџќџќџџџџџџџџџџџјџјyyyyшŒшŒшŒрPСPСPСчžчžчžчžррррџ€џ€џ€џ€ўўўў?џ?џ?џ?џџјџјџјџјсссссссссссрср 0 0 0 0ЧЧЧРI€I€I€У У У У џ€џ€џ€џ€ўўўў?џ?џ?џ?џџ№џ№џ№џ№33333333333030IIII $’$’$’$’џ€џ€џ€џ€ўўўў?џ?џ?џ?џџРџРџРџР?џ?џ?џ?џџРџРџРџР€€€€?џ?џ?џ?џџ№џ№џ№џ№џџџџџРџРџРџР?џ?џ?џ?џџРџРџРџРџџџџџўџўџўџўџџџџџрџрџрџрџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўРРРР?џ?џ?џ?џџјџјџјџјџџџџџ№џ№џ№џ№?џ?џ?џ?џџ№џ№џ№џ№џџџџџўџўџўџўџџџџџјџјџјџјџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўрррр?џ?џ?џ8џќџќџќ<џџџџџјџјџјџј?џ?џ?џ?џџјџјџјџјџџџџџўџўџўџўџџџџџќџќџќџќџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџў№№№№?џ?џ?џ8џќџќџќџџџрџќџќџќМ?џ?џ?џ8рџќџќџќМџџџрџўџўџўџџџpџўџўџўоџџџрџўџўџўџџџрџўџўџўџџџрџўџўџўјјјx:Њ:Њ:Њ=UЊЎЊЎЊЎU^џџџрџќџќџќœ?џ?џ?џ8рџќџќџќœџџџрџўџўџўџџџpџўџўџўЮџџџрџўџўџўџџџрџўџўџўџџџрџўџўџў|||М?џ?џ?џ?џџоџоџоџЎ=ъ=ъ=ъ:ѕЋоЋоЋоWЎ=ъ=ъ=ъ:ѕЋоЋоЋоWЎ=ѕ=ѕ=ѕ:ъU^U^U^ЊЎѕѕѕzUюUюUюЋж=ъ=ъ=ъ:ѕЊЎЊЎЊЎU^=ъ=ъ=ъ:ѕЊЎЊЎЊЎU^=ъ=ъ=ъ:ѕЊЎЊЎЊЎU^ў?џ?џ?џ?џџŽџŽџŽџў:џ:џ:џ=џџЎџЎџЎџо:џ:џ:џ=џџЎџЎџЎџо:џ:џ:џ=џџўџўџўџўџџзџзџзџя:џ:џ:џ=џџўџўџўџў:џ:џ:џ=џџўџўџўџў:џ:џ:џ=џџўџўџўџўџ?џ?џ?џ?џџŽџŽџŽџў8џ8џ8џ?џџŽџŽџŽџў8џ8џ8џ?џџŽџŽџŽџў8џ8џ8џ?џџўџўџўџўџџЧџЧџЧџџ8џ8џ8џ?џџўџўџўџў8џ8џ8џ?џџўџўџўџў8џ8џ8џ?џџўџўџўџўWџ€€€€оŽŽў8џ8џ8џ?џџŽџŽџŽџў8џ8џ8џ?џџŽџŽџŽџў8џ8џ8џ?џџўџўџўџўџџЧџЧџЧџџ8џ8џ8џ?џџўџўџўџў8џ8џ8џ?џџўџўџўџў8џ8џ8џ?џџўџўџўџўЋƒƒџРРРРЎŽŽў:р8р8р?рЎŽŽў:р8р8р?рЎŽŽў:р8р8р?рppp№зЧЧџ:р8р8р?р=р8р8р?р:р8р8р?рџССџррррџўџŽџŽџў=р8р8р?роŽŽў=р8р8р?роŽŽў=р8р8р?р№pp№яЧЧџ=р8р8р?р:р8р8р?р=ч8ч8ч?чџўџўџўџўџррџ№№№№џўџŽџŽџў?џ8џ8џ?џџўџŽџŽџў?џ8џ8џ?џџўџŽџŽџў?р8р8р?р№pp№џЧЧџ?џ8џ8џ?џџўџўџўџў?џ8џ8џ?џџўџўџўџў?ч8ч8ч?чџўџўџўџўњѕ№џјxxјџоџЎџŽџў?џ8џ8џ?џџўџŽџŽџў?џ8џ8џ?џџўџŽџŽџў?р8р8р?р№pp№џЧЧџ?џ8џ8џ?џџўџўџўџў?џ8џ8џ?џџўџўџўџў?ч8ч8ч?чџўџўџўџў}zx|М<ќ.џоџў:ѕ=ъ8р?џWЎЋоŽџў=ъ:ѕ8р?џЋмWЌŒџќ=р:р8р?рp№p№язЧџ=ѕ:ъ8р?џU^ЊЎџў=ъ:ѕ8р?џЊЎU^џў=ч:ч8ч?чЋоWЎŽџў<?<?ўўџќџќ=ъ:ѕ8р?џЋоWЎŽџў:ѕ=ъ8р?џWЈЋиˆџј:р=р8р?р№pp№зяЧџ:ъ=ѕ8р?џЊЎU^џў:ѕ=ъ8р?џU^ЊЎџў:ч=ч8ч?чWЎЋоŽџўџџ<џќ<џќ8р?џ8р?џŽџўŽџў8р?џ8р?џŒџќŒџќ8р?р8р?рp№p№ЧџЧџ8р?џ8р?џџўџў8р?џ8р?џџўџў8ч?ч8ч?чџŽџўџŽџў_Џџџјџјџјџј8џ?џ8џ?џџŽџўџŽџў8џ?џ8џ?џџŽџўџŽџў8р?р8р?рp№p№ЧџЧџ8џ?џ8џ?џџўџўџўџў8џ?џ8џ?џџўџўџўџў8ч?ч8ч?чџŽџўџŽџў<>=?О^ўџ№џ№џ№џ№8џ=џ:џ?џџŽџоџЎџў8џ=џ:џ?џџŽџЎџоџў8р=р:р?рp№p№Чязџ8џ:џ=џ?џџўџўџўџў8џ=џ:џ?џџўџўџўџў8ч=ч:ч?чџŽџоџЎџўxx<<ќќџРџРџРџР8р:р=р?рŽЎоў8р:р=р?рŽоЎў8р:р=р?рpp№№Чзяџ8р=р:р?р8р:р=р?р8р:р=р?рŽЎоў№№џџxxјј8р8р?р?рŽŽўў8р8р?р?рŽŽўў8р8р?р?рpp№№ЧЧџџ8р8р?р?р8р8р?р?р8р8р?р?рŽŽўўръџџ№№№№№№№№8р8р?р?рŽŽўў8џ8џ?џ?џџŽџŽџўџў8џ8џ?џ?џџўџўџўџўџџџЧџЧџџџџ8џ8џ?џ?џџўџўџўџў8р8р?р?р8џ8џ?џ?џџŽџŽџўџўСеџџрррр№№№№8р:р?р?рŽЎўў8џ:џ?џ?џџŽџЎџўџў8џ:џ?џ?џџўџўџўџўџџџЧџзџџџџ8џ:џ?џ?џџўџўџўџў8р:р?р?р8џ:џ?џ?џџŽџЎџўџўƒџџџРРРР№№№№8р=р?р?рŽоўў8џ=џ?џ?џџŽџоџўџў8џ=џ?џ?џџўџўџўџўџџџџЧџяџџџџ8џ=џ?џ?џџўџўџўџў8р=р?р?р8џ=џ?џ?џџŽџоџўџўџџџ€€€€p№№№8р?р?р?рŽўўў8р?џ?џ?џŽџўџўџў8р?џ?џ?џџўџўџўpџџџЧџџџџџџ8р?џ?џ?џџўџўџў8р?р?р?р8р?џ?џ?џŽџўџўџўџџџp№№№8р?р?р?рŽўўў8р?џ?џ?џœџќџќџќрџџџџўџўџўpџџџЮџўџўџўрџџџџўџўџў8р?р?р?ррџџџœџќџќџќўўўўp№№№8р?р?р?рŽўўў8р?џ?џ?џМџќџќџќрџџџџўџўџўpџџџоџўџўџўрџџџџўџўџў8р?р?р?ррџџџМџќџќџќќќќќ№№№№?р?р?р?рўўўў?џ?џ?џ?џџјџјџјџјџџџџџўџўџўџўџџџџџќџќџќџќџџџџџўџўџўџў?р?р?р?рџџџџџјџјџјџјјјјј№№№№?р?р?р?рўўўў?џ?џ?џ?џџ№џ№џ№џ№џџџџџўџўџўџўџџџџџјџјџјџјџџџџџўџўџўџў?р?р?р?рџџџџџ№џ№џ№џ№№№№№?р?р?р?рўўўў?џ?џ?џ?џџРџРџРџРџџџџџўџўџўџўџџџџџрџрџрџрџџџџџўџўџўџў?р?р?р?рџџџџџРџРџРџР?р?р?р?рўўўўџџџџџўџўџўџўџџџџ?р?р?р?рџџџџ?р?р?р?р?р?р?р?рўўўў?р?р?р?рўўўўџџџџџ€џ€џ€џ€џџџџџ€џ€џ€џ€џџџџџРџРџРџР?р?р?р?рўўўўџџџџџўџўџўџўџџџџ?р?р?р?рўўўў?р?р?р?р?№?№?№?№ўўўў?№?№?№?№ўўўўџџџџџрџрџрџрџџџџџрџрџрџрџџџџџ№џ№џ№џ№?р?р?р?рўўўўџџџџџўџўџўџўџџџџ?р?р?р?р?ќ?ќ?ќ?ќ?р?р?р?р?ј?ј?ј?јўўўў?ј?ј?ј?јўўўўџџџџџ№џ№џ№џ№џџџџџ№џ№џ№џ№џџџџџјџјџјџј?р?р?р8рўўўŽџџџџўџўџўџџџЧ?р?р?р8рјјјxx?р?р?р8р?ќ?ќ?ќ8ќўўўŽ?ќ?ќ?ќ8ќўўўŽ?џ?џ?џ=РџјџјџјxџџџqРџјџјџјxџџџрџќџќџќМ?р?р?р8рўўўŽџџџџўџўџўџџџЧ?р?р?р8рџ№џ№џ№№№?р?р?р8р?ў?ў?ў8ю?ў?ў?ў;Ž?ў?ў?ў8юўўўŽ?џ?џ?џ9Рџјџјџј8џџџqРџјџјџј8џџџрџќџќџќœ=р=р=р:роооЎ___Ў]^]^]^ОЎяяяз=с=с=с:сѕрѕрѕрыр=р=р=р:р=я=я=я:ї{о{о{оwЎ=ї=ї=ї:яоооЎ{е{е{еuъWМWМWМЏ\uеuеuе{ъWМWМWМЏ\=ѕ=ѕ=ѕ:ъWоWоWоЋЎ:р:р:р=рЎЎЎоўўўџПўПўПў_ўзззя:у:у:у=уыРыРыРзР:р:р:р=р:ї:ї:ї=ыїЎїЎїЎыо:ы:ы:ы=їƒЎƒЎƒЎƒоuџuџuџ{џџ\џ\џ\џМ{џ{џ{џuџџ\џ\џ\џМ:џ:џ:џ=џџЎџЎџЎџо8р8р8р?рŽŽŽўўўўџўўўџўЧЧЧџ8ч8ч8ч?ч‡€‡€‡€џ€8р8р8р?р8с8с8с?џУŽУŽУŽџў8с8с8с?џУŽУŽУŽУўqџqџqџџџџџџќqџqџqџџџџџџќ8џ8џ8џ?џџŽџŽџŽџў8р8р8р?рŽŽŽўўўўџўўўџўЧЧЧџ8я8я8я?яџ8р8р8р?р8№8№8№?џ‡Ž‡Ž‡Žџў8№8№8№?џуŽуŽуŽуўqџqџqџџџџџџќqџqџqџџџџџџќ8џ8џ8џ?џџŽџŽџŽџў:р8р8р?рЎŽŽў\ќзЧЧџ:ў8ў8ў?џОў:р8р8р?р=§8ј8ј?џ_оŽŽџў:§8ј8ј?џsЎsŽsŽѓў{РqРqРРМќ{РqРqРРМќ:р8р8р?рЎŽŽў=џ8џ8џ?џџоџŽџŽџўМќяЧЧџ=§8ќ8ќ?џ|<<ќ=р8р8р?р:ў8ќ8ќ?џПЎŽŽџў=ў8ќ8ќ?џЛо;Ž;ŽћўuРqРqРР\ќuџqџqџџџ\џџџќ=р8р8р?роŽŽў?џ8џ8џ?џџўџŽџŽџўќќџЧЧџ?џ8ј8ј?џјxxј?р8р8р?р?я8ю8ю?яћў;Ž;Žћў?я8ю8ю?яџўŽŽџўРqРqРРќќџqџqџџџќџџџќ?р8р8р?рўŽŽў?џ8џ8џ?џџўџŽџŽџўќќџЧЧџ?џ8№8№?џ№№№№?р8р8р?р?ч8ч8ч?чѓўsŽsŽѓў?ч8ч8ч?чџўŽŽџўРqРqРРќќџqџqџџџќџџџќ?р8р8р?рўŽŽў=ѕ:ъ8р?џWоЋЎŽџў\МќязЧџ=ѕ:ы8с?џрррр=р:р8р?р=у:у8у?ууоуЎуŽуў=у:у8у?узоЏЎ‡Žџў{РuРqРРМ\ќ{ъuеqРџЏМW\џќ=р:р8р?роЎŽў:ъ=ѕ8р?џЋЎWоŽџўМ\ќзяЧџ:ы=ї8у?џРРРР:р=р8р?р:с=с8с?сУЎУоУŽУў:с=с8с?сыЎзоУŽџўuР{РqРР\Мќuе{ъqРџWxЏИ8џј:р=р8р?рѓЎѓоѓŽѓў8р?џ8р?џŽџўŽџўќќЧџЧџ8у?џ8у?џ€€€€8р?р8р?р8р?р8р?рƒŽƒўƒŽƒў8р?р8р?руŽџўуŽџўqРРqРРќќqРџqРџxџјxџј8с?с8с?сћŽћўћŽћў8џ?џ8џ?џџŽџўџŽџўќќ№№№№ЧџЧџ8у?џ8у?џ€€€€8р?р8р?р8р?р8р?рŽўŽў8р?р8р?рsŽўsŽўqРРqРРќќqџџqџџџ№џ№џ№џ№8у?у8у?уŸŽџўŸŽџў8џ=џ:џ?џџŽџоџЎџў\Мќ№№№№Чязџ8у=ї:ы?џ€€€€8р=р:р?р8р=р:р?рŽоЎў8р=р:р?р;Ž?о;Ў?ўqР{РuРРМ\ќqџ{џuџџџрџрџрџр8у=у:у?уŽЏопЎџў8џ:џ=џ?џџŽџЎџоџўМ\ќ№№№№Чзяџ8у:ы=ї?џРРРР8р:р=р?р8р:р=р?рŽЎоў8р:р=р?рŽЎоўqРuР{РР\Мќqџuџ{џџџ€џ€џ€џ€8с:с=с?сЧŽзЎяоџў8р8р?р?рŽŽўўќќpp№№ЧЧџџ8с8с?џ?џрррр8р8р?р?р8р8р?р?рŽŽўў8р8р?р?рŽŽўўqРqРРРќќqРqРРР8р8р?р?руŽуŽџўџў8р8р?р?рŽŽўўўўџџўўџўџўџџџЧџЧџџџџ8№8№?џ?џ№№№№8џ8џ?џ?џџўџўџўџў8р8р?р?рŽŽўў8р8р?р?рŽŽўўqџqџџџџџџќџќqРqРРР8џ8џ?џ?џџŽџŽџўџў8р:р?р?рŽЎўўўўџџўПўџўџўџџџЧџзџџџџ8ј:њ?џ?џxјјј8џ:џ?џ?џџўџўџўџў8р:р?р?рŽЎўў8р:р?р?рŽЎўўqџuџџџџџ\џќџќqРuРРР8џ:џ?џ?џџŽџЎџўџў8р=р?р?рŽоўўўџџџў_ўџўџўџџџџЧџяџџџџ8ќ=§?џ?џ<|ќќ8џ=џ?џ?џџўџўџўџў8р=р?р?рŽоўў8р=р?р?рŽоўўqџ{џџџџџМџќџќqР{РРР8џ=џ?џ?џџŽџоџўџў8р?р?р?рŽўўўџџџџўџўџўpџџџЧџџџџџџ8ў?џ?џ?џўўў8р?џ?џ?џџўџўџў8р?р?р?рŽўўў8р?р?р?рŽўўўqРџџџџќџќџќqРРРР8р?џ?џ?џŽџўџўџў8р?р?р?рŽўўўџџџџўџўџўpџџџЮџўџўџў8я?я?я?яџџџрџџџџўџўџў8р?р?р?рŽўўў8р?р?р?рŽўўў9Р?џ?џ?џ8џјџјџјqРРРРрџџџŽџўџўџў8р?р?р?рŽўўўџџџџўџўџўpџџџоџўџўџў8ч?ч?ч?ч‡€џ€џ€џ€рџџџџўџўџў8р?р?р?рŽўўў8р?р?р?рŽўўў=Р?џ?џ?џxџјџјџјqРРРРрџџџŽџўџўџў?р?р?р?рўўўўџџџџџўџўџўџўџџџџџќџќџќџќ?у?у?у?уџРџРџРџРџџџџџўџўџўџў?р?р?р?рўўўў?р?р?р?рўўўўџџџџџ№џ№џ№џ№РРРРџџџџџўџўџўџў?р?р?р?рўўўўџџџџџўџўџўџўџџџџџјџјџјџј?с?с?с?сџрџрџрџрџџџџџўџўџўџў?р?р?р?рўўўў?р?р?р?рўўўўџџџџџрџрџрџрРРРРџџџџџўџўџўџў?р?р?р?рўўўўџџџџџўџўџўџўџџџџџрџрџрџр?р?р?р?рџ№џ№џ№џ№џџџџџўџўџўџў?р?р?р?рўўўў?р?р?р?рўўўўџџџџџ€џ€џ€џ€РРРРџџџџџўџўџўџўџџџџџ€џ€џ€џ€џџџџџўџўџўџўџџџџџўџўџўџў?р?р?р?рўўўў?Р?Р?Р?Рўўўў?р?р?р?рўўўў||||>>>>||||>>>>џџџџџўџўџўџўџџџџџрџрџрџрџџџџџўџўџўџўџџџџџўџўџўџў?р?р?р?рўўўў?р?р?р?рўўўў?р?р?р?рўўўў~~~~~~~~~~~~~~~~џџџџџўџўџўџўџџџџџ№џ№џ№џ№џџџџџўџўџўџўџџџџџўџўџўџў?р?р?р?рўўўў?р?р?р?рўўўў?р?р?р?рўўўўўўўўўўўўџџџџџўџўџўџўџџџqРџјџјџјxџџџрџўџўџўџџџџўџўџў?р?р?р8рўўўŽ№№№pўўўŽ?р?р?р8рўўўŽ€€€w€ўўўю€€€w€ўўўюџџџџўџўџўџџџqРџјџјџј8џџџрџўџўџўџџџџўџўџў?р?р?р8рўўўŽ№№№pўўўŽ?р?р?р8рўўўŽРРРsРўўўЮРРРsРўўўЮџџџџўџўџў{ъ{ъ{ъuеЏМЏМЏМW\=р=р=р:џџў___Ў^Ў^Ў^ЎН^=р=р=р:роооЎppp№ЎЎЎо=р=р=р:роооЎ{р{р{рuроооЎ{р{р{рuроооЎUUUЊU^U^U^ЊЎuџuџuџ{џџ\џ\џ\џМ:џ:џ:џ=џџўџўџўџўўўўџПўПўПў_ў:р:р:р=рЎЎЎоИИИx\\\М:р:р:р=рЎЎЎоu№u№u№z№ЎЎЎ^u№u№u№z№ЎЎЎ^џџџџџўџўџўџўqџqџqџџџџџџќ8џ8џ8џ?џџўџўџўџўўўўџўўўџў8р8р8р?рŽŽŽў888јќ8р8р8р?рŽŽŽўpxpxpxјўpxpxpxјўџџџџџўџўџўџўqџqџqџџџџџџќ8џ8џ8џ?џџўџўџўџўўўўџўўўџў8р8р8р?рŽŽŽў888јќ8р8р8р?рŽŽŽўxў>ўсџсџјјјјqџ{џuџџџџМџ\џќџџџџџŽџоџЎџўМ\ќ8р=р:р?рŽоЎўЧязџ8р=р:р?р8ю:я=ю?я;Žћо;Ўћўx}z>~Оў<>=?<М|ќ‡ЏзџррррqРuР{РР\МќŽЎоў\Мќ8р:р=р?рŽЎоўуїыџёРћРѕРџР8ќ=§:ў?џŽ_ЎПоџў№њѕџџџ8xИј_Пџ€€€€qРqРРРќќŽŽўўќќ8р8р?р?рŽŽўўууџџёРёРџРџР8ј8њ?§?џŽЏŽ_ўџўррџџї€ї€џ€џ€88јј~~ўўqРqРРРќќ?џ?џ?џ?џџŽџŽџўџўќќ8џ8џ?џ?џџŽџŽџўџўууџџёРёРџРџР8№8№?џ?џ‡Ž‡ŽџўџўССџџуРуРџРџР88јјџџџџџўџўџўџўqРuРРР\ќќ?џ?џ?џ?џџŽџЎџўџўМќќ8џ:џ?џ?џџŽџЎџўџўquу€ы€џ€џ€8с:с?џ?џУŽУЎџўџўƒЋџџСрерџрџр8xјјџџџџџўџўџўџўqР{РРРМќќ?џ?џ?џ?џџŽџоџўџў\ќќ8џ=џ?џ?џџŽџоџўџўq{у€ї€џ€џ€8у=ы?џ?џуŽыоџўџўWџџр№ъ№џ№џ№8ИјјџџџџџўџўџўџўqРРРРќќќ8?џ?џ?џŽџўџўџўќќќ8р?џ?џ?џŽџўџўџўqу€џ€џ€џ€8ч?џ?џ?џsŽўўўџџџ№xџјџјџј8јјјџџџџўџўџўqРРРРќќќ8?џ?џ?џœџќџќџќќќќрџџџœџќџќџќ9???чџџџ8ю?ў?ў?ў;Ž?ў?ў?ў<?ў?ў?ўx<ќќќ8јјјџџџџўџўџўqРРРРќќќ8?џ?џ?џМџќџќџќќќќрџџџМџќџќџќ9???чџџџ8ќ?ќ?ќ?ќŽўўўx<ќќќ<?ў?ў?ў8јјјџџџџўџўџўРРРРќќќќ?џ?џ?џ?џџјџјџјџјќќќќџџџџџјџјџјџј????џџџџ?ј?ј?ј?јўўўўјјјјўўўўјјјјџџџџџўџўџўџўРРРРќќќќ?џ?џ?џ?џџ№џ№џ№џ№ќќќќџџџџџ№џ№џ№џ№ўўўў?№?№?№?№ўўўў№№№№ўўўўјјјјџџџџџўџўџўџўРРРРќќќќ?џ?џ?џ?џџРџРџРџРќќќќџџџџџРџРџРџРўўўў?р?р?р?рўўўўррррўўўўјјјјџџџџџўџўџўџў  €T*јˆ§нњЉћКќЫњˆћ˜ўЛљШјЙџл§ЉўЫџнџюџџ@1Ш +ѓdюџ‰їљ@џџ?№џџџРёё№№ џ§џ№їў№№Р=џ§?Р џџџ№џћџѓ6џwџ4ў?Р€Nћn ў€@œўџџЛ # TїEџџI џяџћџ№ џџџ№ џџ№№ џ§џ№ іћ №№џє џ№џі џ№џїџѓџРџР™ћ0Bџђd3яГHЌ™§fˆпнW"šњяџРТчУ<џџџсџџџсџџссџѕ џс §ясс џэџсџѕ џсџџџчOџЯ0џ€~~X#{€€$ШvЮ‰1Њ ЏЯP0џћ"РB…еї-Ж§џ(ішї^ч_ р хысссѓ срA$_% ксчссчфсрŸ`ў€р‡xр ‡ x_‡€ € €і~§џџ№Ћ}я‚"џw T—ћџйћџc€уƒ|+”ы—hРУг<,УУ(зш(УРˆ>‹Сt<ЫУ4<УУ82ћђ УР>Сј<#pу€РP…_… z??ћР``‡ўрџсfaя}‚@џяD‰–€џRџџv8і; Ф3рѓу Р $учУУло$!УРH>KСД<їг,ѓУ4#їуУРC €є<4аєп Р@"O"Ан – –ѕi00Щџн`"ѓїъ>€џџ `‚A[Ыџп ?џџy@љGИ%hЅoZ€X@пЧ 8‡‡‡‘xn‡€{„№xhчяч‡•pj‡€|ƒ№xL€Ьž3a€ ОA§ффї  оhŸ `їџтБРџџЪ4С€'пжБџП@!џџќРќЧ8ићп рxџp‡‡"џЂ]џ€hxo‡x џЇXч‡> О Aє€€јшxўрў@^Ё§ЅЅљZˆˆw‡œСcћМџC1ФЊA?л $–џ—h˜`ЛD€єАєП @,@ьOАР0?рРшџшџ №ћџ№0Pџ_ Яt7t7‹Ш`ђo №ќ>Сќ<$?$Рл< іџ 0 0ѕЯпр §:џћP€{ў„ M,!]џЦїŒsžхџяDќDџЛаџп №pАП€@sџsŒџ №њџ№џŸ`џt2t2‹Э і/ а№Рќџќ?@ќ@ПќККяE^œ^œЁcЁяы§nџюA€ѕџ ]*№гџ ЩЁћсйџћџ1ё№ ьср! ?ПР@ў‘nў`ё€рРўо!ў…о…пz №ррј€јќрјCeCeМšd`d`›Ÿ*ўѓ,{Џ„Pѕ˜џџ2aAЦ?џY‚џЏPMп}п‚ АОАПO@€§Ÿ`јџŸ`ўрPўQЎ ь?Ррџсў— — hє€цžaр€џїыђы р( ( зђ4%4%Ык"€"џй‚o‡џxџ€$€€Њ ,Пџ€йЗ"Hю_яџАМАПO@€џП@№?Aќ}‚ќ<€ЈМЋCT<€РП?@Р?B§~ќ(СР<ррџџ"nтn‘РйЁйЁ&^JJјЕQЪQџЌАПџ@ џО…UHПџsЏџџўgџ€}С}С‚>€§П@ќ?€ђМ C№<ƒ@ПC@М< р>ЧќBџ~ќ<PSћЌ@Р|?ƒР<ї€ѓкУк<%Р..џбj”j”•k–Z–џh џ€§v ‹Ћ ”џџk™kП”@О џўџўџџ€јџјрx‡рx@xG‡Иx†€yџџјx‡џxџш‚z}…€x()џжчb{т{„€„„{ы'—'—иhрpО|О~AК@џџ xxxxxxxx€йљA€Сљјxљxxxеx€xссррž Њ‹?рџџџџ№№ ћт№№џџ№ћЫїѓ№џ№№њџ№џџ№ќ<џџУ?џџџРџџџџџџџџџџџџџџџџџџџџР9§ж!ч‡џП@`u€:ПЗПЗ@Hѓѕ №№‚‚ј}№ј№№№шџ№ўђ №№рўя№ИИђG №X [уЄУ)Х):жРБ Б N_\k\kЃ”0А0АЯOРМРН?B:ŽћŸ`т =ўfcџџюпюп №№†y>?рР љъсрJKхДсрŸ`рђычс ёыссaљ€рР Сщ>р 'ЇиX‡”†”yk€))юж Ъ Ъђ5  ќєџџў8hўk”D'ЗџH~CџћйЮйю&с"ч"нVWџЈџ эссрРСх>схџсџщяссяџсџрћўр–—џhџя‡xчРсР?р„„ю{V‹V‹ЉtІІ№YЊђЊђU seїo/јџЎЧЏџPN–N–БiХ я іИЛџDџ8ћо!УР03лЬ$У уџУџ,ћягУ8ћџУџ?џ?РР<,/џаџ п# мЯ њЭњ2Р $ $ілЦ_Ц_9 ТkТk=”JvJЕ€скч%г—Ц_ў ЭпЯп0 Ї‡Ї‡XxтЋтDАГџLџ|Ц€9РШЫл4$Упџ Уџ<гџ4гУ;ћџРџmСm§’<€ƒџ|џdЯg0˜Я wЩw6ˆРКИКИEGЙДЙДFKЃeЃe\š˜ц˜џgвпп -ІoўљšџКEћ%џeš:Љ:FХpwџˆўhoo€8Пр@‡0ЗџH‡џП—Ph—‡xљџўЉЉљVxипџ џAп јžЏŸЏ`P€d'd'›и==Т€bSbSЌњŽњЯ09ѓПћ@ŸП…7ї@ћЙџљlѓlѓ“ Šzкz…ОМОМACћцћцŒAŒAsОЕPЗQHЎЁћЅћBрСрС>/в/ва-ПЊПЊ@U‡ћ‡ћxЖѓЖѓI %д%дк+ррpŒfŒfs™ЇюЇяX7ђї€ыџџ5ЙЗљH‹ы‹ыtРсас?ю?юРъMъMВў€ў€хˆхЉVРНъНBџыџыПџПџ@ПјПј@ВВMrхПхП@ђђс uјuјŠЌоЌоS!§н§п ѓџ€Gпџ/џъlюl“OOАр"‡Њ‡xћ[ћ[Єошош!В0В0MЯ‘ƒ™Уf< Џ_@'о'ои!<§<§У№d№d›олол!$џ›џ›d{“{“„llџlџ“јјщћњћњншнў">њџњяFяFЙввљ-“[“$l1g1gޘb#b#м‚с‚с}((бз.ЕѕР ћэћэgьgь˜ўžўža-К-КвEюџюџ7 7 Шђ(э(эзЋЋTщџnџn‘yуyћ†?§ЈџЈWЭЯэЯ0™™ёf[чч$7Е7ЕШJцьН!Н!Bо]V]VЂЉO/_€аƒрƒр|НыНыBЯєЯє0 sИsИŒGцЎцЎQгцгц,mћmћ’ЕБЕБJNЅїЅїZїчїч;ОП@]ч§чћ#ћ#мy№yђ† С‡A‡>xіі ў[Ў[ЎЄQџзˆа(ИјќЧѓи ОпОпA вв-рœЪœЪc5nCnC‘МЉЉ€Vооъ!ooooддь+&п&пй ›c›d€w§џ^п^пЁ НОНОBAьѕьєГдГдL+тqтqŽ__чПџџћDEКO…V†z‡‡xbўЮўЮ1џлџл$+_+_д жижи)'іќіќ 6Э6ЭЩ2ъLъLГи`и`'Ÿ‡‡x€uкu ŠхНхНBdYg]˜ЂcY{X„ нр"АсћћџџЧр ЊЊЋи@X€'Ё<Ё<^УŸџŸџ`їYїYІ§W§WЈrЖrЖICЎCЎМQ€Щ€Щ6ЄьЄь[щŸщŸ`??ЈПёџћћјџwWј9Bџп ёї”?џ€@€UUUTЋмЋTЂІЂІ]YcЊћЊUЊшЊшUВВMˆџтџџ{(ў€pp7€џџР‡ї%/яџ€€ˆ$Оъ„ОьŒЋ0њjњО№<Оў<<џџќ0џљ№GПп@ <?џР?ќ€Р}0н3џџ<Žџџ7СџСРџПœ€пџ юЇ_BРOнУUcџ}рx€}§xx _ўј џ€рzџўx€џўј љ џЪ'џџџџ\ћ§6ћЖ ƒџ§œ€@€šŠ€ПиУ*1ћњрx€ћџxxџ€јџўј!џџxј€јнпџ и$џяLџџ*ћўu>њџћ   ‘€жwGпѓР№џџ№№џїџ№џџџ№їў№џѓ џ№Пџџ€џџШџ§ џўƒиџ џy ` 0?Ў.Џџўѓ№џћ№№ѓП@№ џї№№џО№№т№d џўПО‰ џћќїџџњ ‚ Аp#нyїї§чсїћссˆџП@№я§ссџћр{яџрџџ`џяёџU DН§Яџь џєРA€‚E@b*{&чяычсящссїП@№ џџссўр2џџрТ„ў§§џ€џџLЛџ0џџ@пы Ј‚„€qpw\uЯпїЯУплУУ:џя0№$ячУУPРР џћР–џџїџ`џџHы§0 џћ$@ЗѕHСQ2т.ЂџИ0.џџџУџћУУїџ№,яП@Р<œУП@ќџїџ˜џћ 7џџ @џ€Aћћ ћПцїћњЊ e@ot`пџџџ‡џї‡‡ яoр"€їП@€HHЋџРџџўx8џ§}пРџџ џйџџ€>§Се  0JЪЎ8яЂр*^яџg‡ЇН‡€џп јb@џї€Рлџ$€Ђџџў ШџњZЏџё@џџ%яО џџЈ€џћыЛнDiР<< пџЯoџ`їџ№џ/ащ€џ€џџќМzџџUџјџџ џџ џџ2 ѓ€з0р+Л›К( >:Р+><яџЯџї0џџќ 0ў€G0яџ€$џПџџџръџG%џџ€ўў0 џџ%џ€Н:@Pa3їВT ПUUљyџпž џu џџј џў` џџ&_џ€Ylпџ p ѕ§ч’џўџїiџ§џџїu@€8ю џК ПЊ&ћx€Пџ€@џђ€@џп ~Pџџ ћП„пў0№џџ№Ёњџqxћ§fџџwџџ€ПО@њ;Pџ twq?д]ї№€§€<<€ џї<џџќ<`~?<€џџ<Œ"џы 9Нџ@ѓџ€Фаџџ џџ0*џў€Пџ@wѓ/ЉAџяА€ШџОЛџ№Нџ<<џџ<@ПП@<<€ќ=МAяџ<„џџb oџ€œСџџzїў&;џџџ›dЩџў`ўюJп€E‘Pџчр§xxџџxћџxxћ€|xћџx€Ўпџ?џР˜‹џџdќї˜џџ (wП@рџ§`ѕїTD1 ПћЂŽ ЋП@ћярџџxxџћxћўxx„џxxАџџxЈџшФ§ў‘џћhєљ§pДџџ0Фџќ”џћњы `€—`@хw wзРџџ№№ `џџ№ђќ№№џџ№№ яї№„џ§‚Fћџ[юџџ, яП@™0џџ@їџ ˆџ€§}PфŽуЎЦ#Л€ћџ ЏвРџџ№џџџ№џ ѓџ№џџџ№џ џџ№џНџ§№ЂХѓџ ИџП@9ЗПH@€9џџ|ы§ФЮџ1ЛўІ( Ч€DХO пй0WЧћџсџџџсџуџсџ џџсџџџсџ6џр!єsџŒAЉч­RЭџ€ѕ4џџЃЬџэ+рЏїP џTb@ц€ЩŠЎ'€џ› г€џџрFџџџy€уџ  nџџџ џџсџ`џыр@Ъyы†xчќяФпџ 7џЗHЁџјрXїџћџ §ОNп„нŸWпТџ`_WќџРџМџџџzТџџ@џџ(џџУџjџяРTэе§*?{џ€ѕ9ћћ˜љџџ@ЃпЃ \iPљџ€џџоР ЃяЙЏџџДїџ"џпA`ћcœыђџџyцРo€§hХж8(3тџяŽбџѓ НќП@чўb§nљП@ ћћ€—/hафCќo@oџ€љ!џлtџџФ@їџnп—@ƒUŸЊ`mАџ§ьшCїуътшˆЏП@@Dџ є/ўяџ[ї_‡ pї>сфЃ;Пџ@Й_Пп@ їYї€џўс"Ь A‹л ћП]уџџап? РŒјџ‰§п 3Іџџщ…G§Пі@ b5цЗH’џВMпџџџћ§ћЯ0яџ Эц2?ППў@ћџ{џ€џЙџљџрA“ШСA_п пЯaЧџЯ0$€ПП@@Ипчќџ„šџџрiGїpЩпП @Ђ:>џA€$З'џ˜ьџюџџэџm€oї'ŸH`Пўљ#мјнџ џ<џ}‚z џэ;ўЪ:л$P‹їыџ~џ~ѓќѓџ „ џџ4…Пџ@ІќїџчcOќѕ№рўсУ Я90ЦGџџџпчџОAпђpїGјж(№?Фџ#§пџџїƒ ]ьDs§ћFЧ‰8pя~?џРdafу™`џЯ§п zШџ§ќpC№Йџўџџџџ—я—яџџџџ џѓћџћ§ч<сќmџзџ(.Ÿў`АА@§Лљў=Н`‚ё€`сž}…€џж(ж4@<i€†gєkєŒР Рf€џЫй< Уё P 0@€ ;Я/’кm%’цбцяФ€ЧР@Й€h€h€‚.џюˆqрр€/o?БР?БТ>@Т>@BР@ Ÿ`€`(ъDD€"wмQˆq€@€рю<@4€ШD4€„@@рž@€@x…ќ€bwœа№№ќё8€Ц8€@ м @€@ ўИў€€"wœp€pщ†эз 0L0€@Р@ м€@€р8Ј а Цvїw P d€Ÿф РE4р8€ 1УB1С‚€ц`€рh`` ŽАџ@ P p pр`ˆp€€€€8Рx@1бG№с€kр00H`` сџ  Ь0а ЯРРЯ€@PР2Єb€€€ж"єОM?Еќ?љС€bЁ€@ p0pрр<џ  hAˆф ŸњŸњ 3р*  ШЭcgфќgќЧ€pЗ€@  р€`€—џ  0Ті(ш7я?ш  А:  €В2€С’Чю~ЧќУtЗ@@И@ @  рNїя   т іgЮлЧќ?Ц@šШš@@IHŒРŽўM>Яўтн€>Р€p€ @ #ЁРТ їяD€  PјјжŽЎљMЮР„„Р ч'Р' ЭNѓ?Яўht€`€`€`0$€ƒчљY`@ yyЧ ПMјŽЯpТТp–ŽŸ€Уцќ?чџP=h@ @ @ 0"ˆyy† @P=}іЮљТ?Чš˜ј`zј€xwyxС$ўУ?чџ`:P @€@  Cd€?П@DР@A5tЧПDјƒЧмРф(<шиPЦ>Pљџ€Шцї?чџ yP Р №Пп@ Q#6=жЎnљяЮ~ђ >^ќ    ЃУ?ЃќџŠ5ѕТїџ z@ €€ ~РРРР„Пџ@ я pDPPHNOћЧ$ќЫ?яЯCѓ?Gќ4С?ўџƒ„“ћdїџ rР@ €n€@џџ'ХРФ 6$3У€ПЈќGя‡8ј9џ€<4€<#*\Р?ъ7€0џ7џџџћџџџ |@  Fˆ€?џП@,o7B`Ж ГAУџУў9ЭР€€€СџG‡џРя№1@№Р€7RM­ЯџЪџ…€јР@01ь005_Ш@Р@пнЫЩЩи‹РxР Р€"ъ pЦ Яў‰ђF •€`€ѓЭџ> А €р Ц" Пя@рррџья„„wWhи` `JQ‡ь €  s€ЫXяјЏ @XxЊ`€@ ,Nv thУ@ŸЃ бќ.ќќќ?ќ ? vмИ1 04}…џ{PBPУ<€уРІЯџOљ€9UV ?Ьџў№2ЬаРђ^#!""ёџџџџЧЫР?РРyс€1џР`„gі €€т€ Lќяќуp ŒrЋ((и€Р@ tAјџџјщ! п Cџ<џ€џџџѓќќќ?@Ќ .Обёџџ„ў>'5љш"РЖ фx`R`@@@€Јрџ˜`uˆB ~уўббббџ€€€џлО +іOцOў !=HАў§ јрѓ`€LQL š ѕ€$0„‰8Р€€@<0ƒірўˆŽ ;ИРžйaйййџџџРџРџРџ‡јO>><€љ4Hџџ€юˆ€€5 €ЧвќC i€hhh w'џ Ш % bŸHР‰ŠУћ€ћћћѓ№№№џс-ўF‚`№џНƒљиў0ЭHОЕD€`( оћ‰(ˆDKc ўœ Тъ]м\\я§o§o§o§џ№џ & ``˜ўџП›Пп@0JќџёJ№J№QџЌ§оE %ŸŠ8P@ўмEСD DїsЗњM ВџЗѕ?@Яу…0№ ƒэ~ьььџўўўў~~|}€|‚8И!џџq}qюояўђпто |€€џџџЛ"џэwуљџљ€§sТŒРРYџІŸј`ѓyр €›rљƒ p|}ќ‚||џџџџџ”Р’ РXSWƒ?џ~c~яћ"€ћџ'zџНq9џІП I {ЃP@!9ч@ŸџќcГќя{~$р(ђ  `0Я|<ќР||ўџBџBџBџш_јрчр @†%РЯ‹ G?€МcќчƒџчcџџсРџќФЈ%—„Т$ИFПбр пџ"ps“\mћ ‡р"‡ЯпЖ~v66ќќќќјлћффр Т48И8<0Ž}џу@џџСяМ€€ж7C(ШўwџІbBПЦ­…ŸЏцЋoџeЄљв5џс?§ _Я\NNN‡Эx0Пќ??єtttќ@§_ќ€ќЈч‘ аxР8П•Œџ€ћ@?яzcўюA†CsAp џ“‹ќŸH’3ј?ў01їџууРРРыџ ќП??љ999јџџјјˆ€…€€W<€њ& џћBі/љђйч _@ 4pw z€€я~Ј €Œ~mѓџџя~цџ˜€€џџќ;ћ;;ќ РџРР8рфррˆS=џ@XВзё8|їіŒ˜D!Чга$Э=1РxЇе> г§ёгџqаqаŸ№ џџШШШќѓџ№№8|п§пџп§п§ё q„<„€F€FFFРžущРР`‚Ž Ђ?оур#Р#РТ[Ь0 g~€€wќЬ„јсbjžџa€=џџџїћћћ—№ž(р'€ zпХ??€;€;€;ЬџЬџЬџЬџШРШРŸ€€€žјс€€ @БФE\јzјŠ8 8@>ѓџлФ; џ„„„и и и и €KK  Н   sРŽ#рР(ќџ˜/ˆи?Х~ ?€3pа.>ŸXo—яlœG7ИЯўџѓ€ђ€ђ€пџd`D`D`[РЛ‹Я€€€џјџјџјџј'‹ ‰b@@@6`6A6@6@‚\  і‚ 8Э1ьС,ш7 нК —sр&рd†_ГARГеш*_xo‡їЮ§ёРРЯїєФФџп€?€€Џп   џ§?§?§?§т`p0200шт@M@@@@‡с dра:gˆ€r˜ {Ь?К‹Šv/№аі>/}јƒ џтяѓ,  Ёп^?ЦљРРРќ~ ~ ~ ~фМ­ рР˜€‡€€" М0‚€pсР€ќ ! 2VЂg€ }w}€__Чљh ‹о€Рџ?љяЧћ8ФРР§}У'РРРў?F?F?F?A€@LyЫшАШ Ші8xP"„†€ Ј@VPv 6+ъpA;ƒ…tzШpwЯPœџу~љяYЖoo§НТ]РРУЄТТТўўўўў€ь (ŠB` СРi ш8CCЮР@uг`@W`ŽЩ€N}Хёјџp™џч+ФдП„„џџџ§Р Р Р УОТТТпсT&b­вРлв вМƒР@B`pЁ0зуƒŸЦ0ир'Ѓџмяї8 Ÿ§џ3Ÿ1Ÿ1пОтNТТаяРРРАЁHсЌ€ИЈoЈœC@@<Ш‚р1€Л€€^cџџТoТ=€№|уџхьџџяь_кБ№б@.џc_мўџїџ/Г'Г'Гџ?†п††и€Р€Р€Р€ЦЦЦЦlаƒ ‚8@…'*Ё@  јCЂ"р""ˆ88€lъ‘У—О,€!ь?Р@>џџџ   љџїђёђёђпџЭ/С/С/С/ћьћьћьћьU^†Ђ`№уШˆaрррр 0 pp1_ €ј5d‡BЁУќp хџаєрџpbpbpbŸ~ЯoУoУoУoџьџьџьџь2ў€”ъ иц)љ@РЩŠРРA8?р  ўўМу„€ рцљ?€Ј џЬРРћћŒ€€b>žўrrr=ўЧOУOУOУOџыџыџыџыb{„ Lc€e€ќ €Р€B3М‡c` .џ^+` ИИ€[^I4Eђ{} žџпјРРzШ‡ЪHHГ   <~žЮOТOТOТOџГџГџГџГ3PK" ˆш Ћ Шч Оytјpp№џЄ~FРBрd.x Ÿ?чоX@@§ЁУљРРC’ƒŽ€€x>Aо@@ЯУУУоЯоЯоЯоЯKѓ %X a@YfD,€0 AP рЫ@@}€|і)rlqžAЧ—h`„œн ў# НlЧhhh~|3ч2@2@ја™„€€CЯяуууццццpЙ Т” Ab‚'м Э$нBЭЭL @Цx€CeрO“ЕнјЫXы/Œ щ1ŽŸІv*нлћќиxиxШЦќі††€О—о€€э†с†с†с†эŸэŸэŸэŸш&вˆ `a T'џ€`ЦxЦnЦhЦh€€€F%лƒ‡(@/€ПТЯѕ@@уЪ1KѕЄК00bВ>Яє2Ян<Н9џ'Œ!Œ!ŒМ^@nЈПп€€щЇсЇсЇсЇћПћПћПћП{ˆ ЊЃЈ  ЮћЪ[J[J[|Ї˜[ŸРyџ=ЯB…†ц­Щ„d$џoЫї<€€Мѓ3Œ€€ЌY M~žчгргргргs>s>s>s>1ƒРD@›†e#dWddЧ<пˆv œ_?@ќzxPPŽ о?†.™xФcџр‰чёЛЙƒ0ƒ0єџД№№№ћPдšџугргргрг‘~‘~‘~‘~8žРR‚˜ ‚, ЙўА>АА`Р @Мh'˜x``§њ,Кœ˜8мr6LWDDxрЄŸ є|ћжDO@B@BНЧљїТЎ~фафафафат§т§т§т§p  й3`Бd Р d €{pП;X§№љv/іPa;дЮTTxрљppј4љ§з–б„б„џж є д дѓц ццўцуйрYрYрYё§ё§ё§ё§(D­ " ё? ™`šт€@€@ўzt€_`§ џќћў™ ™ Tч‚њѕ:00срF<@@=“ќќпжмдмд7џш'''ўfNNN_чЧпЧушрhрhрhбџбћбћбћж%PЉв=П Ў№ЂЂ п &4eB$$7€ЩџDїјvќD!D ˜ЭљЭFё€іp№№ЯњРџџŸƒŸƒŸƒў2Ж>чG_Gѓь№l№l№lCџCуCуCуšdЂ Ъ(@Œрˆˆ€$ьb0ГC""ќ"џ`3##wёЇћ!!+ œпЁЂќЇЧ  <ѓшяянѓЭуЭу§Пћ@7ч‡Ÿ‡qшp(p(p(GџGЧGЧGЧ€@F–XЪ`ЭрШ Ш Д$C`1“јЄ€ОР^wГu7!@!~D0Лћ‘МЃџ  |уЌўя|:|*|*Чљ#‡€€П_ wч3ш0(0(0(OїO‡O‡O‡!€ @Ч`†р€ € /@10r#  №8€'gѓq{D@dМыУ•К8}Ая~оѓx>22гї€€ПщС№ррџ777ѓє№4№4№4?я???АuCP`–   ` "1бр№{€MAAїччw„@„@аqnY;Чк>яњўўщ >((ќуШШШ} М<<џ???ћіј6ј6ј6?я>>>‚$‚m Р爂€ /‘Fі7 Р`?GП†њo‚‚€їi[?ˆсPППџмщ+iiоѓороророИџџ{{{ЛчИ'И'И'џпќќќАKШSР•€€€є А'@Р ?їІ>я€€3€=AРзŠp1џ0џџ|§Џ{yyляУyУУŸўёџџћћћИуИ#И#И#џпррр*€ЉP€M€@@€rœ!ђР` ю†<І Щ €ЙЂвО/ `1џ’џџl§— ћxШџШ8Ш8ыџд‡П§Z{yyЛљИИИџП€;€;€; T€N€„€њ ”ѓ` р oБЏ@1С`63  Сrџx‰‡§hОзIџЁЉЉЉi>ŸТџ[YYН№МММџ s s s  КЈ€о€€B ш€ ЁVT€H€М`xюЯЏQА"—!0џР+пЈ<њ™џфdŽџИ§зббЙјИИИ~|D|D|D|@и!TФ€@8 Dа„Lђќ@У‡#уp2""ЗшџРџџ>є‘џљ)‡ ,Жџј џ‰‰‰Й№ИИИ|xDXDXDX8˜@€BЄ7і&& „@(bр‚№Ќ@Я!ј# І0yџяўМЖ€€џќGpp„уџќџ   љ№јјј8љ0й0й0й€ !%VЈР0P0"Š`‚€ мМ€`€ OŽ ќ3 ІpyпџП 4ћ џћяuu-Ѓџм,,џћјјјјXћXлXлXл"?‡ Ё  „0D:‚€ўР‚!Н§!! ЙП5˜є~џџ$њџрчŸх€х€ћњџЬ00џ 9 9 9ћџјјј`ћ`ы`ы`ы"€PF.ER .„ Dђ€ќ€†сm§aaQ;0'›є~?00пч  Lнљ H HџџL?LLё}яІ §*((СKРРРрћ`ы`ы`ы"€Ёй@‚Œhд@ќƒNMў@@ №ѓ18“§|ЧРР‚љё,ўљџšoѓўпpPPџ:88Й•888№ћ0‹0‹0‹"J@JŒВDT`јУ‘DUWH@џі;ў|#щoмјџК((ёџЯPРР?§L" ќK|||№§0Э0Э0Э!„3: Ќ(((Р€ №ƒ€п€ЇЦБ џОФРРгџъ]рќPPў{Ѕѕ 0 0Тџџ\€ € -џZ€€€ўј= G(h PР (@ №Ÿзо@ ћVФРРƒƒљ#\аuє€PPѓйч€С€СВџпV-џZ€€€џ|<P‚†Hх €Јј   0К1фƒД‘@Юў0€, ч.М€€Ml‡0 ƒјВ“ёlOAAfџŸг%џў!!!џР€€€L@@@  їЕP Ѕ0Р0–‘эФИ@% прРРЪh 1ƒ}к€ућ|maaуџŸё‚A‚Aџў111џ№№№№ffff?qJ P•0‹К„‡pƒАр9š‚ј ‡€€њЌеБB љЋ#џўs"s"sџџт‚Ё!!§№Т№Р№Р№СФФФФ€NР#P 0Е Ч‡b€ тљ(”щпРР(FдяЈќЊџ~~џџ„ц‚版€џјјјј№јјјј § Њ @Ъ@‡ш€€Чs$Šю†пРРќм.и!c @˜рЁCџ|CxCxŸџf‚џя€€џМќММџхT+рš a%Aъ€V“ Žђ)DёN@@§тюНш ш ˜ѕ#Eџ7yqqппј#‚ѕз+€ € О„^?€$%Њ#`Ш * x )‰ W“@џчђ_@@aцџ``”ў)Pљ/qppПѓџ00РhЯїР`Р`ѓŒя€€€€€€1аETРф AЕY BџПўa› г§l @ @ˆў€€PљNHHљ-'ї Рљ_f@@@@чйяРРю‰D‰D‰D! ™Ј@#~€ƒŠDYx~xŸўў>ў>џџўё —с;ўюр**Ь>A9 Шёщ/ рИЏїіУЯ§Р5Р5Р5PHBЉT ACTEE№ћ№ќ=ќ<ММџџ<<>џ<€{Ÿд ћ§Р`š`kˆчЁ>^ `ŸџцџЧњРРР AЛЈ'ы‡Š1№ѕ№;*пщ>пЭР$џ(AЭ В€€љБўOрр№ŸћPџПѓё№№№AРЖ PСDєрсрxџxџxј~јyјxx|~xxy џxпžџя$€$$0нСŸѓЋщv pџ`ŸpјУx@x@x@‚JиŠЈ p‚ HљУљљјxјјјx@|p{xx|џџxx|џ€x?псqџю€ х]ˆB@)Џ ї ‡ ‡И9їі ђ ћaŸ№ќ<<<kB…P(H€Фtѓћѓ№є№є№№њї№№№ќџ№№іџ№?…?ђ˜§Ѕ€€ф€SH@c_№ џю  ј#}Aџ№ў  €Kъ -„Œ‚ъѓџџѓ№№№№№№ў§ќ№№џћ№№№њР№?‚џ?yЛ†ф€€рнpТ€РgЫ nіg;н љgЋ€ы№ўџџџџ8bUP@Ї0єTHƒGчџячсрчрсрџљљёсящссрїBр~~№Ѓ^§€`OЧZcЁќ Ш€}ї@?ї`џџџџџ„Р* ВтJ,€џЯџџсџсџсџџљљщсяхёссџћџсџруПр‘6ъЯ€€ ФђX ]‡2:ш,?џ BўЛ?ъ№яџџџџ$5@ Г@(дDџџџУџУџУџїћѓѓУпЧУУУџїџУџР?Ч<Р<БЮm€€їaxDƒЛŸрўџрр"џUз№Чџ8 !€Њ ‚J’ †3?33УџУџУџџџџУУыЫУУУџуџУџР?Ш=Р=сR§€U‘Њљ‡„?ј~oџ```џЃю№§џBpU@ Я ’єgўgg‡ў‡ў‡ўџџџЧ‡џП‡‡‡џчџ‡џ€џ€€х єРЪ ‡ №oџ``ў_U№<#ЧќБ*€‰–@/hHgўчg‡€‡€‡€џџџ‡—пџ‡‡€уЄ€џyyс WўH@еb(тf.№Doџ``€ПЋ#№x‡№AU0€РЏд<Я|я<Я€џџџпїРџQёёрsяl`№ш‹ш!№/л €оReё№џр Р*€rЈ<МO<€???/џџюˆїљёш„)џ>(Іџцh Џє/я Рї#трўСP„ЄU$ˆ&@&дxy^x€~~џ~з€яљсјћџќјŸпXђ/я €џр=тР5с @$ЊGp€‚ш€Lxz^xŸ€~~Оп~УящсјЛџМИџ ЋјЏ_ €џш?р€o№@#U-сVD№<№>№<=П€<<џ=ќ<ќ|<џў<<ї€чSиРы+џ<(ў4_Мхџ ї№/№‡}јBЊz•(N№<і?№<>?€<<<<<<М<|<<o€Ч_ЩСр ћш4€‚ КЇП€€`ПаАѓъ TpSд€ рxтрxxћ€xxx|xxxxјџxx€ЃWФ€В@џф8 Gуў ?ерџї€`Њ900*рx№рxјјјx{x|xxјџџјю€ћ§љœ@џр˜ЏЃўpџŠ р џџ‚ET™ дР№єўР№џ№џ№џ№№ѓ№ќ№№џєџџџ№еџѓџѕџё@їџљXGЁџ x?‰ r˜@џ- Ј@QjkЊР№РјР№џ№џ№џ№№ѓ№є№№џТ?џ?РјРџђџѕџ№@џџПќ РЛџ№§ќ8 >a ›џІDUTбC дсёсџсџсџссусєсрџ€ў€yAџёџцџрЄџ§ќ€™ џњ1}сŸ?c ЩЪЈЊЌR*Р€€zШ(Ђ‚#ЭП ћќ РЉНџњ яР~oƒUPH д€ё5DЦ7Ш(Ÿџ §~ы џџ@ Qw„їw*Ј SЧ( €џшЂЎ*HЫџ0џђ €МЯ0њџrя№ОUP!DT€з№@RpK~§џ\Яћџuw№ ƒ   JЈ1Ј€€0Ъ№‹ш0KњЊЛ ‚О_ћ~Јыр >P№еPА T € ŸаA@Р0Ouе]Š_ф№Р< Њ €(Ј0€ОЈ:рŠ+П !џŽ{Р8`@е@@€Сд€€„QPP€7~џQyР|P€š* р\Ј–€РЪ € Ђ€3ў?ўИыМР*фU@1€P €Р@]€5ќ ?я]q˜Њ€€‚@ЧЈPШ€€Щ"*€@#р џрЕ8ю DU@\P`Š€Щ\@@№0ƒн€Ф~&Њ€„ Ј T€(Ј‚>Ј ђ ˆŸЊј{Ш{Ш{Шœ‰œ‰œ‰яОџОяО№ё№ѕP€qd]Tдџ€@ЯA№‚(‚k‚(ˆЪЈЪˆЪ Њ  ˆˆˆ@ФЈ h€"  ‚€т4рЈsЯsЯsЯˆЊЈъˆЊі>т>˜˜˜РPK@€PL€`№  €T* opt d+ Debug info ; ** Height is used by scroll routine and table creator. ; ** DO NOT ADJUST. Adjust each routine individually if needed. ; ** Always create fonts within a 32 x 32 block in degas. height equ 33 Grafix height ; ** Don't forget to deallocate. efload lea mystack,sp move.l sp,d0 subi.l #efload-$0120,d0 move.l d0,-(sp) pea efload-$0100(pc) memory clr.w -(sp) move.w #$4a,-(sp) trap #1 adda.w #$0c,sp start1 move.w #3,-(sp) Get screen address trap #14 addq.l #2,sp move.l d0,clram+2 sub.l #16384,d0 move.l d0,scradd add.l #160*200,d0 Border position move.l d0,scr2 ; ** Get V.U position. move.l scradd,d0 Restore screen move.l #160*195,d0 move.l d0,plot Channel 1 add.l #320,d0 move.l d0,plot+4 Channel 2 add.l #320,d0 move.l d0,plot+8 Channel 3 bsr clram bsr super bsr create Pre-calculate char table bsr hblon bsr mouseoff bsr musicon bsr savecols bsr setpal bsr setscr bsr movepic move.l $502,salth move.l #alth,$502 turn off alt/help (RTS) clr.b $484 ; ** Less planes means longer waits between each sync, which ; ** means more speed. main addq.w #1,vcount cmpi.w #3,vcount Between vsync's (less planes=less syncs) bne.s nosync move.l $466,d0 sync cmp.l $466,d0 VBL due? beq.s sync No. clr.w vcount nosync bsr shift Scroll.... move.l #$600ff,-(sp) Test keypress. trap #1 addq.l #4,sp back cmp.w #$32,d0 Spaced out man! beq exit noway bra main Key pressed shift tst.w chrwidth Finished plotting. bne.s oldlet NO. movea.l text,a0 YES.Get new char. moveq #0,d0 Clear char reg. Paranoid eh! nostop move.b (a0)+,d0 Get char. bne.s nxtlet Last char? move.l #texto,text YES! repeat message. bra.s shift nxtlet move.l a0,text Save addr of next char. lea font+34,a0 PI1 font start sub.b #32,d0 beq.s zerod lea tabs(pc),a2 add.w d0,d0 WORD align into font access table move.w (a2,d0.w),d0 add.l d0,a0 add offset to char in font. zerod clr.w bflag move.l a0,graf move.w #1,rotter move.w #31,chrwidth Graphic width. oldlet subq.w #1,chrwidth move.l scr2,a0 Start of scroll area. movea.l graf,a1 tst.w bflag bne.s .2 cmpi.w #15,chrwidth are we in 2nd half bgt .1 No still doing top half move.w #1,rotter move.w #255,bflag .2 addq.l #8,a1 fix to 2nd half of char .1 moveq.w #height-1,d7 Graphic height-1 move.w rotter,d2 ; ** The REPT below should equal the number of planes used. oloop iloop REPT 3 LESS planes=LESS reps=FAST!! move.w (a1)+,d0 lsl.w d2,d0 roxl $98(a0) roxl $90(a0) roxl $88(a0) roxl $80(a0) roxl $78(a0) roxl $70(a0) roxl $68(a0) roxl $60(a0) roxl $58(a0) roxl $50(a0) roxl $48(a0) roxl $40(a0) roxl $38(a0) roxl $30(a0) roxl $28(a0) roxl $20(a0) roxl $18(a0) roxl $10(a0) roxl $8(a0) roxl (a0)+ ENDR planes addq.l #2,a0 +0=4 plane,+2=3 plane,+4=2 plane +6=1 plane addq.l #2,a1 '' '' '' '' lea 152(a1),a1 lea 152(a0),a0 Next line to scroll. dbf d7,oloop addq.w #1,d2 move.w d2,rotter rts graf dc.l 0 bflag dc.w 0 rotter dc.w 1 text dc.l texto texto dc.b " 89 89 WHOA!!!!!! WERE FINALLY THERE,,,,,,WELCOME TO MENU 1 FROM A NEW CRACKING GROUP CALLED " DC.B "THE SPHINCTER MUSCLE'S:- 89 89 WELL BAZZER 67 67 EAT YOUR HEART OUT AS I'M ON MY WAY...... " DC.B "I HAVE BEEN SLOGING AWAY AT ASSEMBLER USING THE BRILLIANT 'DEV PACK' AND AS MANY REFERENCE BOOKS " DC.B "THAT I CAN GET MY GRUBBY HANDS ON. 67 I HAVE SENT YOU SOME SYNCRO SYSTEMS MENUS OF WHICH CARL (THE PUNTER) IS NOW A MEMBER... " DC.B "HOW IS KEG'S (FROM THE EGO TRIPPER'S) ,,, MAN IS HE A LAMER!!!... BAZ 67 67 I HAVE ALSO SENT YOU GENISIS INC MENU 2.. WHAT A BRILLIANT INTRO" DC.B " IT ALMOST BRINGS WATER TO YOUR EYES, AND THE SLAGGING OFF IS A1" DC.B " I HAVE ALSO SENT ADRENALIN 5 WITH A320 AIR BUS.." DC.B " I HAVE NOT SEEN THIS YET BUT HAVE BEEN TOLD IT'S A GOOD" DC.B " SIM..BAZ 67 67 THIS WILL BE MY 1ST MENU INTRO BUT I HAVE NOT PUT ANY LOADER ROUTS IN YET" DC.B " OR DECIDED WHAT PROGS TO DO...SO YOU ARE PRIVILIGED TO SEE THIS 1ST 89 89 ....PRESS -2- FOR SESK TOP OR AS THEY SAY LETS WRAP>>>>>>>>> " dc.b 0 me dc.b 'CODE BY DODGY KING! - LEAVE THIS IN OR YOU WILL HAVE TO CONTEND WITH DODGY QUEEN!' **************************************** ******** ROUTINES ************** **************************************** clram move.l #0,d0 lea finish,a1 moveq #0,d1 sub.l a1,d0 lsr.l #2,d0 quick divide by 4. .1 move.l d1,(a1)+ subq.l #1,d0 bne.s .1 rts alth dc.w $4e75 RTS on alt/help super clr.l -(sp) move.w #$20,-(sp) trap #1 add.l #6,sp move.l d0,oldsp rts user move.l oldsp,-(sp) move.w #$20,-(sp) trap #1 add.l #6,sp rts setscr move.w #0,-(sp) move.l scradd,-(sp) move.l scradd,-(sp) move.w #5,-(sp) trap #14 add.l #12,sp rts setpal move.l #pic+2,-(sp) move.w #6,-(sp) trap #14 addq.l #6,sp rts restcols move.l #$ff8240,a1 move.l #oldcols,a0 moveq #15,d0 loop1 move.w (a0)+,(a1)+ dbf d0,loop1 rts savecols move.l #$ff8240,a0 move.l #oldcols,a1 moveq #15,d0 loop5 move.w (a0)+,(a1)+ dbf d0,loop5 rts mouseoff move.l #moff,-(sp) mouse off clr.w -(sp) move.w #25,-(sp) trap #14 addq.l #8,sp dc.w $a00a rts mouseon move.l #mon,-(sp) mouse on clr.w -(sp) move.w #25,-(sp) trap #14 addq.l #8,sp dc.w $a009 rts movepic lea pic+34,a0 move.l scradd,a1 move.w #32000-1,d0 plop move.b (a0)+,(a1)+ dbf d0,plop ; ** Fill border with same grafix as the piccy. moveq #0,d2 move.l #160*38/4,d0 .2 move.l d2,(a1)+ dbf d0,.2 rts rts exit bsr hbloff bsr restcols bsr mouseon bsr setscr bsr musicoff move.b #6,$484 move.l salth,$502 Restore ALT/HELP bsr user clr.w -(sp) trap #1 ***LOADER ROUTS TO GO HERE**** musicoff MOVEA.L #$FF8800,A0 MOVE.L #$8080000,(A0) MOVE.L #$9090000,(A0) MOVE.L #$A0A0000,(A0) CLR.L $4D2 SHADDDUP!! clr.l $4d6 V.U 's off rts ; ** Panther music by David Whittaker ; ** 1 Tune. musicon moveq #2,d7 bsr muz move.l #muz+$e,$4d2 move.l #flash,$4d6 V.U Meters rts muz incbin 'panther.mus' hblon move.l $120,oldtb save old timer B move.l $70,old4 save old hbl move.l $70,new4b+2 install old hbl in new hbl move.b $fffa07,old07 save old int enable A move.b $fffa09,old09 save old int enable B move.b $fffa0f,old0f save old int in service A move.b $fffa11,old11 save old int in service B move.b $fffa1b,old1b save old timer B control and.b #$df,$fffa09 switch off timer C and.b #$fe,$fffa07 switch off timer B move.l #new4,$70 install new hbl or.b #1,$fffa07 switch on timer B or.b #1,$fffa13 int mask reg A rts hbloff move.w sr,-(sp) tidy up old int move.w #$2700,sr move.b old07(pc),$fffa07 move.b old09(pc),$fffa09 move.b old0f(pc),$fffa0f move.b old11(pc),$fffa11 move.b old1b(pc),$fffa1b move.l oldtb,$120 install old timer B move.l old4,$70 install old hbl move.w (sp)+,sr rts ***** New HBL handler ***** new4 clr.b $fffa1b stop timer B move.b #199,$fffa21 kill the border move.l #killbord,$120 install new timer B vector move.b #8,$fffa1b enable timer B new4b jmp $12345678 old vbl vector. killbord clr.b $fffa1b stop timer B movem.l d0-d1/a0-a1,-(sp) move.w #$fa21,a1 timer B data reg (counter) move.b #8,$fffa1b enable int b. move.b (a1),d0 wait4 cmp.b (a1),d0 wait for next raster line beq.s wait4 move.b #0,$ff820a 60 Hz moveq #3,d0 (3 goes here.. 1 for flash) nopi2 nop wait a while between sync change dbf d0,nopi2 move.b #2,$ff820a 50 Hz move.l #dummy,$120 movem.l (sp)+,d0-d1/a0-a1 bclr #0,$fffa0f end of interrupt rte ; ** Seems to stop border flickering. dummy clr.b $fffffa1b.w movem.l d0/a0,-(sp) bclr #0,$fffffa0f.w move.b #8,$fffffa1b.w movem.l (sp)+,d0/a0 rte ; ** Create table to access font data. ; ** Gotta cut down on those accesses times! ; ** Uses HEIGHT which is EQUated at the top of this source. create lea tabs(pc),a0 moveq #0,d2 .1 moveq #0,d1 move.w d2,d0 divu #10,d0 Number chars in row. move.w d0,d1 row into D1. mulu #160*height,d1 Block width of rows. swap d0 any Remainder back. ext.l d0 Clear it. lsl.l #4,d0 Multiply by 16 add.w d0,d1 move.w d1,(a0)+ addq.w #1,d2 cmpi.w #80,d2 Number of chars in font blt.s .1 rts ; ** Mini V.U meters. ; ** Lazy technique this, simply invert the screen!! flash moveq #0,d0 move.l d0,d2 Use for clearing move.b #8,$ffff8800.w Select channel 1 move.b $ffff8800.w,d0 Read data. lea plot,a1 Get screen tables move.l scradd,a0 add.l (a1)+,a0 Get 1st bar movea.l a0,a2 Copy for clearing moveq #0,d2 REPT 32 move.b d2,(a2)+ ENDR add.w d0,d0 .3 not.b (a0)+ Invert the screen dbf d0,.3 Plot it moveq #0,d0 move.b #9,$ffff8800.w Select channel 2 move.b $ffff8800.w,d0 get DATA move.l scradd,a0 add.l (a1)+,a0 Get 2nd bar movea.l a0,a2 movea.l a0,a2 Copy for clearing moveq #0,d2 REPT 32 move.b d2,(a2)+ ENDR add.w d0,d0 .4 not.b (a0)+ dbf d0,.4 moveq #0,d0 move.b #10,$ffff8800.w Select channel 3 move.b $ffff8800.w,d0 read the DATA move.l scradd,a0 add.l (a1),a0 Get 3rd bar movea.l a0,a2 Copy for clearing moveq #0,d2 REPT 32 move.b d2,(a2)+ ENDR add.w d0,d0 .5 not.b (a0)+ dbf d0,.5 rts plot ds.l 4 ds.w 128 mystack dc.w 10 tabs ds.w 128 scradd dc.l 0 physical screen scr2 dc.l 0 oldsp dc.l 0 save stack oldcols ds.w 16 save old colours chrwidth dc.w 0 counter for char width vcount dc.w 0 counter for vsync salth dc.l 0 old alt/help vector sng dc.l 0 song start mon dc.b $08 moff dc.b $12 old4 dc.l 0 oldtb dc.l 0 old07 dc.b 0 old09 dc.b 0 old0f dc.b 0 old11 dc.b 0 old1b dc.b 0 even ************************************ font incbin "a:32.pi1" pic incbin "a:menu.pi1" finishHчџўa, §юсдШНВЈŸ–Ž†~wpjd^YTOKGC?;852/,*'%#! ц ч ъ э № є ї њ §     €‡‡Š Œ  ŒŒŒƒ„…‡ €+  Ў@ДДДДЩЩЩЩЩъЩъЩъЩъДДДДДДДДЩъЩъЩъЩъДДДДДДДДЩъЩъЩъЩъДДДДДДДДЩъЩъЩъЩъДДДДДДДД/@Qb/@Qb/@Qb/@Qb/@Qb/@Qb/@Qb/@QbssssŠ˜ŠЄŠ˜ŠЄАМШдАМШрŠ˜ŠЄŠ˜ŠЄАМШдАМШрьь§§р‹б$+""$+$. '‡ˆŠзс ‹брсгŠз ‹бргсŠз‡Šзс ‹брасŠз‹бргсŠз‡ˆрŠв     ‡    ‡‡    ‡‡‡ˆрŠв$$++))++$$++''))‡сиŠ$,+Щ$,+Р‡с$,+"Щ..0Р‡с$,+"Щ..+Р‡с'.,Щ'.,Р‡с%,*Щ%,*Р‡с*1*Щ*1*Р‡с+2+Щ+2+Р‡с+2+2+Щ23Р‡д’ їС$чТ"їС$чТ"‡’ дяТ'Т%ТТ„0Р’‡‰‡‰‡яŠа€€€яŠа€‡GњямBЋаBk B+ |? џ`їЪ]em‘™ЈЗШйъў 03 ‡ ‡  ‡  ‡  ‡ ‡ ‡ ‡ ‡  ‡  ‡  ‡ ‡ ‡ ‡ ‡Nq џ% џ  џ џ џ џ џџ џ  џ џZ џZ џ џ џ џ  џ 0$0   #$%†g  џ џLPc„ЊаьїnкfŠИељ !BqЫзуя )FLRbiyРѓ§"kДеі5Tf~К*<OfŒžВдшќ)@WnЎЫаз0Zp‡ќ5Xџ/‡ч‚РС+РС0РС+РС0‡џ‚ТJŽяGŽџEŽCŽBŽя@Žџ?Ž>Ž<Ž;Ž;‡яџ‚УHŽяHŽџGŽEŽCŽCŽCŽяCŽџBŽяBŽџ@‡чя4Ž9Ž@ŽчEŽџCŽя>Ž<Žџ<Ž>Žя>Ž@Žџ@‡я/Ž6Ž;ŽџBŽ@Ž@ŽBŽя9Žџ;Ž;‡ч‚РС+РС0‡ч‚РС+РС0‡э‚кŽс„€ŽэХ@Žс„ @ŽэФŽс„€ŽэХCŽс„0DŽчФїџэкŽс„€ŽэХ@Žс„њ @ŽуФCŽщХCŽс„CŽуФBŽщХBŽс„0BŽчФїџ‡э‚кŽс„€ŽэХ;Žс„0;ŽэФŽс„€ŽэХ>Žс„0>ŽчФїџэкŽс„€ŽэХ;Žс„њ;ŽуФ>ŽщХ>Žс„>ŽуФ=ŽщХ=Žс„0=ŽчФїџ‡с‚Шусусусусус!‡у‚Ц,Ч0сЦ,,уЧ0Ц,Ч0сЦ,,уЧ0‡у‚Щ4с>;?у@;с;у>с=у@х4с>;?у@с9у;сC;у=сE=у4с>;?у@;с;у>с=у@х4с>;?у@с9у7с77у9с74‡с‚Шусусусус‡ь4р9;>ы@с>@э;у9с9у7с4х2я4ы@с>@ч;х>уCсCуBс@>97‡э4р>?ы@с>@CуCс@у@с>у>с999у74‡с‚Шусусусусу‡џЪ@Žћ@Žс„ @Ž„р4Žй‡у‚Ы‡у‚Ц,Ч0Ц,,Ч0Ц,,Ч0Ц,Ч0Ц,Ч0‡ч‚Ь@у>@чу>ч@ѓ;ч@у>@;ї:уFћEу>џ@Ž@Žу‡ч‚Ь@у>@чу>ч@ѓ;ч@у>@FџEчEуCEчуCчEѓ@чEуCE@ї?у?>ч;у9;чу:ч;уAч@уFџEŽћEу>@‡у‚Ы!‡у‚Ы#‡у‚Ы$‡ч‚Э@у@>ч@у>@ч>уCBA@џ@Žя@‡у<=>?‡уFEDCчCу@Cч@у>@ч@у?><9‡ч;у9;чу:ч;уAч@уFџEŽћEу>@‡ћ‚и.Ž‡ы‚и-Ž‡у„к4ŽFŽ„к4ŽFŽ‡у„€4Ž‡у„к4ŽCŽ„к4ŽCŽ‡џЪXŽїXŽу„0XŽ„а4Žй‡ч‚ЯуŽ„€Žяа@чЯуŽ„€ŽяаCчЯуŽ„€ŽаFчFу„ўEŽ‡ч‚ЯуŽ„€Žяа;чЯуŽ„€Žяа>чЯуŽ„€ŽаAчAу„ў@Ž‡чFŽї„ FŽ‡чAŽї„ AŽ‡уF„§EŽFEDŽыC‡уA„§@ŽA@?ы>‡у‚ЯŽ„€Žча@у„`@ŽЯŽ„€ŽаCчCу„`CŽЯ"""Ž„€"ŽчаFуEEЯŽ„€ŽчаDC‡у‚ЯŽ„€Žча;у„@;ŽЯŽ„€Žа>ч>у„@>ŽЯŽ„€ŽчаAу@@ЯŽ„€Žча?>‡у‚Я"""Ž„€"ŽчаFуEEЯŽ„€ŽчаDC‡у‚ЯŽ„€ŽчаAу@@ЯŽ„€Žча?>‡у‚Яча44‡у‚Ячы„ў3Žу4‡у‚Ы‡у‚г,д0г,,д0г,,д0г,,,д0г,‡сGFGFDCDCGFGFDCDC‡џ‚б45:ы87ч5џ45ы4ѓ2ы75ч2‡ч4Ž„№4Ž@у5ŽчAу7ŽCŽ„ CŽч8у;GчFŽ„FŽ:т8с:т8ч7Ž„є7ŽCт5с7т5‡у‚в4578:;A@@@>>>;>;:>AGFDFDCAC?>;78754чу;ч>у;ч>уA@>ч@у>чAуDCA@їCу>;‡у4ч5у4ч8у4ч5у4чA@у>@@чAу@чCу@чAу@чDCуAC‡у@@@>78CA@@@>78ч>‡тCсDтCуA@т>с@т>у;>‡сDCDCтAс@тAсDCDCтAс@тA‡у/458;>ч@у458;@AчDу8:;>AFчGу;>CDFGJ‡сJGJGIFGLJGJGIFGL‡џ‚в@Žћ@Žс„ @Ž„р4Ž‡уMMLMMMLMMMLMMMLMMMLMJIGFDCA>:875‡у‚жKGCNHMDACNHMDALG‡у‚з(""(""(""(""(""(‡у‚Ычуыуч‡ч‚Ыу$чучуч$у‡ч‚Ыу"чучуч у‡ч‚Ыу"чучучу‡ы‚г,у,яЧ0уг,ч,у,ыЧ0уд0‡џ‚Ь@AFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡ы@ѓ>ыCѓAыCѓAыDѓCы@ѓ>ы>ѓ<џ<Ž<‡џŽ‡џ‚Я+Ž+‡џAFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡џ‚б@‡у‚Ычучуч‡ї‚и-у+ћ.у-џ4уы25ч4ї-у+џ.уы-ѓ+ч)у(ы4ч+‡у‚Ычуыуч‡у‚Ычучуч‡ч-у4ч7у2ы9у4ч:97-у4ч7у2ы9у4ч<:79у9ч7у0я2ї‚й>чи9у9ч7у0я2їй>чи.у-ч4у2ы5у2ч7524у2ч5у4ы7у5ч:9:4у4ч2у)я(їй@чи4у4ч2у)я(їй@‡џ‚ЫŽŽŽŽŽŽŽ‡у‚в@CчA@у>я@уЬ@CEчEув@CчA@у>я@уЬ9::ч9‡џ‚б(Ž(Ž)Ž)Ž)Ž)Ž+Ž+Ž$Ž$Ž&Ž&Ž&Ž&Ž(Ž)‡џ‚б'Ž'‡чуыуч‡ч‚Ыу$чучуч$у‡ч‚Ыу"чучуч у‡ч‚Ыу"чучучу‡ы‚г,яЧьŽŽ Žч0удь@џAFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡џ‚ЬAFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡ы@ѓ>ыCѓAыCѓAыDѓCы@ѓ>ы>ѓ<џ<Ž<‡џŽ‡џ‚Я+Ž+‡џAFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡џ‚бј-у+ћ.у-џ4уы25ч4ї-у+џ.уы-ѓ+ч)у(ы4ч+‡у‚Ычучуч‡ї‚и+ћ.у-џ4уы25ч4ї-у+џ.уы-ѓ+ч)у(ы4ч+‡у‚Ычуыуч‡у‚Ычучуч‡ч-у4ч7у2ы9у4ч:97-у4ч7у2ы9у4ч<:79у9ч7у0я2ї‚йљŽŽїŽ№ŽђŽљ>чи-4у2ы5у2ч7524у2ч5у4ы7у5ч:9:4у4ч2у)я(їйєŽŽђŽщŽшŽљ@‡џ‚ЫŽŽŽŽŽŽŽ‡у‚вCчA@у>я@уЬCEчEувCчA@у>я@уЬ::ч9‡џ‚б(Ž(Ž)Ž)Ž)Ž)Ž+Ž+Ž$Ž$Ž&Ž&Ž&Ž&Ž(Ž)‡џ‚б'Ž'‡ѓыгьŽч0угьŽ Žч0удџЬсџFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡ч‚ЫітŽіѓџѓыгьŽч0угьŽ Žч0удџЬсџFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡ы‚гьŽч0угьŽ Žч0удџЬсџFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡џ‚ЬсџFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡ы@ѓ>ыCѓAыCѓAыDѓCы@ѓ>ы>ѓ<џ<Ž<‡џŽ‡џ‚Я+Ž+‡џAFыDCчAџ@Aы@ѓ>ы><ч8ї7у<ч@у<чA@уAџFучDу8чCу7чAџ@Aы@ѓ>ыCAч>‡џ‚бїиыŽюŽэŽєCŽы25ч4ї-у+џ.уы-ѓ+ч)у(ы4ч+‡у‚ЫќњќњќCчуч‡ї‚иыŽюŽэŽєCŽы25ч4ї-у+џ.уы-ѓ+ч)у(ы4ч+‡у‚ЫіѕіѕіKуч‡у‚ЫњјњјњCчуч‡ч-у4ч7у2ы9у4ч:97-у4ч7у2ы9у4ч<:79у9ч7у0я2ї‚йј9у9ч7у0я2їйј.у-ч4у2ы5у2ч7524у2ч5у4ы7у5ч:9:4у4ч2у)я(їйј4у4ч2у)я(їйџЫŽŽŽŽŽŽŽ‡џ‚ЫŽŽŽŽŽŽŽ‡у‚вчA@у>я@уЬEчEувчA@у>я@уЬњŽŽљŽџб(Ž(Ž)Ž)Ž)Ž)Ž+Ž+Ž$Ž$Ž&Ž&Ž&Ž&Ž(Ž)‡џ‚б(Ž(Ž)Ž)Ž)Ž)Ž+Ž+Ž$Ž$Ž&Ž&Ž&Ž&Ž(Ž)‡џ‚б'Ž'‡   !!""!!!!  "!!!!#%#'#%#')--+)233455666677778888"332))";6688888888111111119::::<4332) !!!!==<9=88>88>11>::>>>>>>>>>>>>>==<9==33џ  00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>џ    §ю"§о§к$&$($&$(*..,*////////////§ж////////////////§Ю////////////////////>====§ю====§џ====§ю====џтхœц—”стх #Se‚RPстцртх“цстхšц—“ŒˆŒˆŒŒˆстхšцž хš“•”стцустцус  с       с р  р  с с  с  с с с с  с с  ссс с  с с с  с с  с  с с с  с. N–.. N–TWINMENUS O–($******************************************** * MENU CODE BY DODGY KING TWIN PIC + MUSIC * ******************************************** opt d+ stack move.l $4(a7),a5 move.l 4(a5),scradd Screen address. move.l #$100,d0 move.l d0,-(a7) move.l a5,-(a7) add.l #$100,a5 Start of prog. move.l #$4a0000,-(a7) trap #1 add.l #$c,a7 dc.w $a00a Hide mouse bsr setup clr.l -(sp) Into super move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,oldsp Save old super stack and.b #$fe,$484 Keyclick off. lea music,a0 music is outrun move.l #$33462,a2 must go here move.w #5000,d0 size of music sloop: move.b (a0)+,(a2)+ shift it dbf d0,sloop jsr $33462 music maestro move.w #$ffff,d0 pause for a moment fxlp: dbf d0,fxlp bsr setscr Initialise the screen. move.l #text,a0 Start of scroll text. bsr start Initialise graphics and text. main1 bsr main Scroll routine. move.l #$600ff,-(sp) Test keypress. trap #1 addq.l #4,sp tst.b d0 beq.s main1 No key. Keep looping. keys: sub.w #$30,d0 Strip off ASCII code. beq hertz ZERO to chnage hertz. bmi.s main1 NO keys below zero. cmpi.b #5,d0 Five games only. bge.s main1 Anything above 5 is no good. subq.w #1,d0 Adjustment for looping. move.w d0,d6 Copy the keycode. bsr fade end menu clr.l $4da clear VBL list moveq #$b,d0 reset sound chip lea moff,a0 mlp: move.b d0,$ffff8800 move.b (a0)+,$ffff8802 dbf d0,mlp ; ** Clear the screen move.l scradd,a0 move.w #$7d00,d0 lp2: clr.b (a0)+ dbf d0,lp2 ; ** Restore old colors. lea oldcols(pc),a1 move.l #$ff8240,a0 move.w #7,d0 lp1: move.l (a1)+,(a0)+ dbf d0,lp1 move.w d6,d0 Copy keycode selection. cmpi.w #1,d0 Game 1 is inside a folder. bne.s super Not 1 so skip SET PATHNAME. lea folders,a0 Address of folder names. move.l a0,-(sp) path: move.w #$3b,-(sp) Set pathname. trap #1 addq.l #4,sp super move.l oldsp,-(sp) Back to user mode. move.w #$20,-(sp) trap #1 addq.l #6,sp ; ** The 1st game (keycode zero) is a GEM game so re-enable the ; ** mouse. move.w d6,d6 Quick test for zero. bne.s scont dc.w $a009 mouse is on. scont bsr setup gaming: lea games-12,a0 Address of games names-12 for the ADD.L #12,A0 gloop: add.l #12,a0 dbf d6,gloop Loop through all names until keycode is zero. ; ** Okay , got the game name. Now LOAD and RUN. move.l #$50000,-(sp) move.l #$50000,-(sp) pea (a0) clr.w -(sp) move.w #$4b,-(sp) trap #1 add.l #16,sp invade: clr.w -(sp) Reset RUNS next file in the AUTO folder. trap #1 hertz: eori.b #$fe,$ff820a Toggle 50/60 hertz. bra main1 ; ** Set screen resolution and screen addresses. setup move.w #0,-(sp) Screen mode. move.l #$ffffffff,-(sp) move.l #$ffffffff,-(sp) move.w #5,-(sp) trap #14 add.l #12,sp rts folders dc.b "pento\",0 setscr: movem.l $ff8240,d0-d7 Fast color pickup (all 16). movem.l d0-d7,oldcols Save them for later. move.l scradd,d0 Get screen address add.l #$7260,d0 Add offset to scroll area. move.l d0,screen Save it for the scroller. move.l d0,oldlet+2 Insert scroll area into scroll routine. movem.l pic+2,d0-d7 Get picture colors. movem.l d0-d7,$ff8240 Set the colors. move.l #pic+34,a0 Address of picture. bsr setscr2 Drop the screen. rts setscr2 clr.w -(sp) move.l #$f8000,-(sp) move.l #$f8000,-(sp) move.w #5,-(sp) trap #14 add.l #12,sp movepic2 move.l #piccy2,a0 move.l #$f8000,a1 bsr inpic mess move.w #15,d1 outloop move.l scradd,a3 move.w #$3e8e,d0 loop1 ror (a3)+ dbf d0,loop1 dbf d1,outloop mess2 move.w #15,d1 outloop3 move.l scradd,a3 move.w #$3e8e,d0 loop3 rol (a3)+ dbf d0,loop3 dbf d1,outloop3 outloop2 move.l #$f8000,a0 move.l #pic+34,a3 move.l a0,a1 move.l #$7d00,d0 move.l a3,a2 add.l d0,a1 add.l d0,a2 move.w #$3e80,d0 loop2 rept 7 lsl (a3) roxl (a0) lsl (a2) roxl (a1) endr lsl -(a2) roxl -(a1) lsl (a3)+ roxl (a0)+ dbf d0,loop2 rts inpic: add.l #34,a0 move.l #$7d00,d0 loop move.b (a0)+,(a1)+ dbf d0,loop rts moff dc.b 0,0,0,0,$f8,0,0,0,0,0,0,7 start move.l a0,texto Text start. bsr strung move.w #15,rotter Make it change char. rts ***** scroll prog ****** main addq.w #1,vcount cmpi.w #4,vcount No of syncs between writes. bne.s shift move.l $462,d0 vsync cmp.l $462,d0 VBL due? beq.s vsync No. clr.w vcount ; ** A6 - Is current graphic pointer and must be preserved. shift cmp.w #15,rotter Finished plotting. blt.s oldlet NO. movea.l texto,a0 YES.Get new char. clr.w rotter Reset plot & rotation counter. move.b (a0)+,d0 Get a character. bne.s nxtlet If last char move.l #text,texto Then repeat message. bra.s shift nxtlet move.l a0,texto Save addr of next char. cmpi.b #$ff,d0 bne.s nopaws No pause. swap d1 move.w #10,d1 lp11: move.w #$ffff,d0 lp12: dbf d0,lp12 dbf d1,lp11 swap d1 bra.s main nopaws move.l nfont,a0 Use PRE-SHIFTED font. andi.l #$ff,d0 Clear rubbish. sub.l #32,d0 Subtract ASCII code. beq.s zerod If SPACE no need to calculate. mulu #128,d0 Size of grafix string. add.l d0,a0 The grafix chars address. zerod move.l a0,a6 Save it for later. ; ** Setscrn initialise the address below to the scroll area. oldlet move.l #$ff260,a0 Start of scroll area. movea.l a6,a1 Get current grafix addr. moveq.w #15,d7 Graphic height addq.w #1,rotter Update rotation & plot counter. move.w rotter,d2 Get it ready for rotating. oloop moveq #3,d6 4 words of grafix iloop move.w (a1)+,d0 Get graphic WORD. lsl.w d2,d0 Rotate D2 times. roxl $98(a0) roxl $90(a0) roxl $88(a0) roxl $80(a0) roxl $78(a0) roxl $70(a0) roxl $68(a0) roxl $60(a0) roxl $58(a0) roxl $50(a0) roxl $48(a0) roxl $40(a0) roxl $38(a0) roxl $30(a0) roxl $28(a0) roxl $20(a0) roxl $18(a0) roxl $10(a0) roxl 8(a0) roxl (a0)+ dbf d6,iloop lea $98(a0),a0 Next pixel line to scroll. dbf d7,oloop rts ; ** Turn the graphic data in a continous string. ; ** Speeds up data access. strung move.l nfont,a0 Start of strung out data. lea font+34,a3 Start of graphic data. moveq #5,d4 Number of rows of chars. outlp move.w #19,d5 Chars across. movea.l a3,a1 Save start of row for later. movea.l a1,a2 Save row start. midlp0 moveq #15,d3 Grafix height 16. midlp move.w #3,d6 Words in char width. inlp move.w (a1)+,(a0)+ dbf d6,inlp add.l #152,a1 Next graphic row - 8. dbf d3,midlp Do whole graphic 16x16. addq.l #8,a2 Next grafix block. movea.l a2,a1 Next char along the row. dbf d5,midlp0 Do all 20 char in this row. add.l #$a00,a3 Next graphics row. dbf d4,outlp All 6 rows. rts EVEN vcount dc.w 0 Vsync counter rotter dc.w 0 Counter for grafix plotting texto dc.l 0 Points to next character in message screen dc.l $7f39a Screen address , set to scroll area later. scrpos dc.l 0 build ds.l 64 Old build buffer for grafix EVEN ; ** Each game CAN BE 12 characters long. So FILENAMES are padded ; ** with zeros to make them all 12 characters long. Makes calculating ; ** FILENAMES to use easier. Just move through them in STEPS of 12. games dc.b "wildlife.prg" dc.b "clown.prg",0,0,0 fade movem.l d0-d6/a0,-(sp) fade1 clr.l d0 lea $ff8240,a0 colour registers move.w #$f,d6 sixteen colours mloop move.w (a0),d1 and.w #$777,d1 cmp.w #$777,d1 beq.s putback move.w #$700,d2 moveq #2,d3 ilp move.w d1,d4 and.w d2,d4 move.w #$777,d5 and.w d2,d5 cmp.w d5,d4 beq.s divit move.w d2,d4 and.w #$111,d4 add.w d4,d1 moveq #1,d0 divit lsr.w #4,d2 dbf d3,ilp putback move.w d1,(a0)+ dbf d6,mloop move.w #$ff00,d1 pause dbf d1,pause tst.l d0 movem.l (sp)+,d0-d6/a0 rts oldsp dc.l 0 text dc.b "YES IT'S MENU 36 FROM DODGYSOFT CREDITS:- CODE BY DODGY KING AND ROYAL JESTER, GRAPHICS BY BROKEN LANCE, FONT BY DODGY KING, MUSIC RIPPED BY DODGY KING " DC.B "NOW THATS OVER WE WILL GO TO THE GREETINGS, PERSONAL HI TO FRED, KEI, BROKEN LANCE, ACE, MARTIN..... " DC.B "NORMAL GREET'S GO TO:- POMPEY PIRATES, THE MEDWAY BOYS, AUTOMATION, BBC, HOTLINE, FCC AND YOU..... " DC.B "DODGYSOFT CONSISTS OF DODGY QUEEN, DODGY KING AND ROYAL JESTER..... WELL THATS ABOUT IT FOR NOW, WATCH OUT FOR OUR NEXT MENU " DC.B "IT'S COMING ROUND AGAIN >>>>> >>>>> >>>>> >>>>> " dc.b " ",0 EVEN ******** DATA ******** oldcols ds.l 8 scradd dc.l 0 Screen address. chrsize dc.w 0 Grafix height. cmask ds.w 16 font incbin "a:\font.pi1",0 music incbin "a:\x.bin",0 EVEN scrbuf ds.b 0 pic incbin "a:\pic.pi1",0 ;menu pic piccy2 incbin "a:\pic2.pi1",0 ;first pic on show EVEN nfont dc.l $50000 . S–&.. S–VICROLL S U–'Й2 opt a+ USE_BACKGROUND equ 0 * Define this for background picture *DISPLAY_VSYNC equ 0 * Define this for CPU time border indication PALETTE_0 equ $ff8240 NUMLINES equ 4 * Number of lines of characters on the DEGAS screen CHPERLINE equ 20 * Number of characters per line on the DEGAS screen NUMCHARS equ NUMLINES*CHPERLINE * Total number of characters in the DUOASCII font SIZECHAR equ 4*16*4 * Size of one shifted character SIZESHIFTEDSET equ SIZECHAR*NUMCHARS * Size of one shifted set section data wafflement: dc.b "RIGHT THEN OFF WE GO! " dc.b "THIS IS ANOTHER MENU FROM DODGYSOFT! DO YOU THINK THIS SCROLLTEXT IS A BIT SLOW? IF YES " dc.b "PRESS 'Y' IF NO PRESS 'N'....................................WELL! MORE OF YOU PRESSED 'Y' SO HERE WE GO! ~2 " dc.b " DODGYSOFT ARE:- DODGY KING, DODGY QUEEN, ROYAL JESTER AND BROKEN LANCE. " DC.B "CREDTIS GO TO:- DODGY KING (FOR THE CODE AND FONT), DODGY QUEEN (FOR THE MUSIC RIPPING), " DC.B "BROKEN LANCE (FOR THE GRAPHICS)...... WE MUST SPEED THIS THING UP AGAIN! DUE TO THE AMOUNT OF PEOPLE THAT PRESSED 'Y' (FOR THE SPEED) ~3 " DC.B "IT'S EGO TRIP TIME! GREETZ GO TO :- CAPTAIN WIBBLE, AUTOMATION, THE MEDWAY BOYS, THE REPLICANTS, THE EMPIRE, " DC.B "HOTLINE, BBC, FCC AND YOU!..... " dc.b 0 waffle_end: dc.b 0 section data waffle_codes: dcb.w 0,4096 * Character offset buffer section text start: bsr setup * Load in the font and picture and set the palette bsr shiftfont * Preshift the font data lea wafflement,a0 * Convert the text to offsets lea waffle_codes,a1 bsr.s conv_text bsr.s testshift * Do the shift bsr clearup * Return with zero error code clr -(sp) move #$4c,-(sp) trap #1 ***************************************************************** * Convert the string at a0 to a list of character offsets at * a1. The following control codes are currently recognized : * * 0 : End of string * ~n : Set scroll speed to n pixels per frame (1-9) * * Coming soon perhaps : (well, you never know !!!) * * ~- : Upside down text * ~+ : Upside up text * ~~ : Oscillating text * ~- : Non-oscillating text * ***************************************************************** conv_text: move #CHPERLINE-1,d0 clr_starttxt: clr (a1)+ * Fill the end up with spaces dbra d0,clr_starttxt moveq #0,d0 convert: move.b (a0)+,d0 beq.s conv_exit cmp.b #'~',d0 beq.s control_code sub #' ',d0 mulu #SIZECHAR,d0 move d0,(a1)+ bra.s convert conv_exit: move #CHPERLINE-1,d0 clr_endtxt: clr (a1)+ * Fill the end up with spaces dbra d0,clr_endtxt move #-1,(a1) rts control_code: move.b (a0)+,d0 cmp.b #'1',d0 blt.s convert cmp.b #'9',d0 bgt.s convert move.b #-1,(a1)+ sub #'0',d0 move.b d0,(a1)+ bra.s convert ***************************************************************** ***************************************************************** testshift: * Test routine to display a single charactradiddle pea scroll_demo move #38,-(sp) trap #14 lea 6(sp),sp rts section data current_waffle: dc.l 0 scroll_speed: dc.w 2 section text scroll_demo: move.l #waffle_codes,current_waffle * Initialise text start next_scroll: moveq #0,d4 * Shift position nextshift: move.l current_waffle,a6 * Text to display (list of offsets) move.l screenbase,a5 * Where to put it add.l #160*(200-16),a5 * Bottom area of screen move #19-1,d7 * Number of characters across screen moveq #0,d5 * Character position ifd DISPLAY_VSYNC move.w #0,PALETTE_0 * Black border endc move.l a5,a0 * Display address .skip_ctrl: move (a6)+,d0 * Offset of 1st char to display blt.s .skip_ctrl move d4,d1 * Shift size bsr put_1st_char * Display 1st character disp_chars: move.l a5,a0 * Display address move d5,d6 * Char posn. addq #1,d5 * Inc for next time lsl #3,d6 * Make pos an offset add d6,a0 * and add to screen addr .skip_ctrl: move (a6)+,d0 * Get char to display blt.s .skip_ctrl move d4,d1 * Shift position bsr.s put_char * Display character dbra d7,disp_chars * Next character move.l a5,a0 * Display address move d5,d6 * Char posn. addq #1,d5 * Inc for next time lsl #3,d6 * Make pos an offset add d6,a0 * and add to screen addr do_last_char: move (a6)+,d0 * Get char to display blt.s check_ctrl * -ve = control code move d4,d1 * Shift position bsr put_last_char * Display character ifd DISPLAY_VSYNC move #$777,PALETTE_0 * White border endc move #37,-(sp) * Wait for vsync trap #14 lea 2(sp),sp add scroll_speed,d4 cmp #16,d4 blt.s nextshift * Next shift posn move.l current_waffle,a0 .skip_ctrl addq.l #2,a0 tst (a0) blt.s .skip_ctrl move.l a0,current_waffle bra.s next_scroll * Do it all again check_ctrl: cmp #-1,d0 beq.s exit_scroll move #1,d2 ext d0 lsl d0,d2 move d2,scroll_speed * New scroll speed bra.s do_last_char exit_scroll: rts ***************************************************************** * Test routine to display the charcter whose offset is in D0 at * address A0 on the screen, shifted sidewardsly by D1 pustules * * Register Usage : A0-A2/D0-D1 * ***************************************************************** section data set_offsets: dc.l 0*SIZESHIFTEDSET dc.l 1*SIZESHIFTEDSET dc.l 2*SIZESHIFTEDSET dc.l 3*SIZESHIFTEDSET dc.l 4*SIZESHIFTEDSET dc.l 5*SIZESHIFTEDSET dc.l 6*SIZESHIFTEDSET dc.l 7*SIZESHIFTEDSET dc.l 8*SIZESHIFTEDSET dc.l 9*SIZESHIFTEDSET dc.l 10*SIZESHIFTEDSET dc.l 11*SIZESHIFTEDSET dc.l 12*SIZESHIFTEDSET dc.l 13*SIZESHIFTEDSET dc.l 14*SIZESHIFTEDSET dc.l 15*SIZESHIFTEDSET section text put_char: lea (font).l,a1 * Start of font data lea set_offsets,a2 * Offsets for each shift lsl #2,d1 * Get offset into offset table add.l (a2,d1),a1 * Add start address of shifted font add d0,a1 * Add it onto the start address lea 8(a0),a0 rept 16 *Do each plane of one row move (a1)+,d1 or d1,-8(a0) move (a1)+,(a0)+ move (a1)+,d1 or d1,-8(a0) move (a1)+,(a0)+ move (a1)+,d1 or d1,-8(a0) move (a1)+,(a0)+ move (a1)+,d1 or d1,-8(a0) move (a1)+,(a0)+ * Move to the next row lea 160-8(a0),a0 endr rts ***************************************************************** * Put the leftmost character on the screen. * Displays the character with offset D0 at A0 on the screen, shifted * by D1 * * Register Usage : A0-A2/D0-D1 * ***************************************************************** put_1st_char: lea (font).l,a1 * Start of font data lea set_offsets,a2 * Offsets for each shift lsl #2,d1 * Get offset into offset table add.l (a2,d1),a1 * Add start address of shifted font add d0,a1 * Add it onto the start address rept 16 * Do each plane of one row lea 2(a1),a1 * Skip all upper words move (a1)+,(a0)+ * Do lower word as usual lea 2(a1),a1 move (a1)+,(a0)+ lea 2(a1),a1 move (a1)+,(a0)+ lea 2(a1),a1 move (a1)+,(a0)+ * Move to the next row lea 160-8(a0),a0 endr rts ***************************************************************** * Put the rightmost character on the screen. * * Displays the charcter whose offset is in D0 at * address A0 on the screen, shifted sidewardsly by D1 pustules * * Register Usage : A0-A2/D0-D1 * ***************************************************************** put_last_char: lea (font).l,a1 * Start of font data lea set_offsets,a2 * Offsets for each shift lsl #2,d1 * Get offset into offset table add.l (a2,d1),a1 * Add start address of shifted font add d0,a1 * Add it onto the start address rept 16 * Do each plane of one row move (a1)+,d1 * Do upper words as normal or d1,(a0)+ lea 2(a1),a1 * But skip lower ones move (a1)+,d1 or d1,(a0)+ lea 2(a1),a1 move (a1)+,d1 or d1,(a0)+ lea 2(a1),a1 move (a1)+,d1 or d1,(a0)+ lea 2(a1),a1 * Move to the next row lea 160-8(a0),a0 endr rts ***************************************************************** * Preshift the font data, slightly converting it's format in the * process. ***************************************************************** shiftfont: lea (our_font).l,a2 * DEGAS screen of font lea (font).l,a1 * Preshifted font data area moveq #0,d3 * For quick unsigned word->long extension move #NUMLINES-1,d0 * # of lines of chars do_charline: move #CHPERLINE-1,d1 * # of chars per line nextchar: move.l a2,a0 * Working pointer to character move #16-1,d2 * # of lines * Do one line of the character storechar: move (a0)+,d3 * Convert 4 planes of move.l d3,(a1)+ * words into move (a0)+,d3 * 4 planes move.l d3,(a1)+ * of longs move (a0)+,d3 * with the move.l d3,(a1)+ * upper move (a0)+,d3 * word set move.l d3,(a1)+ * to zero lea 160-8(a0),a0 * Next line dbra d2,storechar lea 8(a2),a2 * Next word on screen dbra d1,nextchar * Do the next character on the line lea 160*15(a2),a2 * Move to the top of the next line of characters dbra d0,do_charline * And do dem as well * Now shift the data lea (font).l,a2 * Pointer to unshifted set move #NUMCHARS*SIZECHAR-1,d1 * Number of longs in set shiftset: move #15-1,d0 * Number of shifts to do move.l a2,a0 * A0=working pointer move.l (a0),d2 * Get a line of a character shiftlong: lsl.l d2 * Shift it lea NUMCHARS*SIZECHAR(a0),a0 * Move to the next shifted set along move.l d2,(a0) * Store the line dbra d0,shiftlong * and do the next longword of the set lea 4(a2),a2 * Move to next long in unshifted set dbra d1,shiftset * and shift THAT one along rts ***************************************************************** * Set up the screen, saving the old parameters. * ***************************************************************** setup: * Get the current resolution move #4,-(sp) trap #14 lea 2(sp),sp move d0,old_resolution * Get the current screen address move #2,-(sp) trap #14 lea 2(sp),sp move.l d0,screenbase * Set low-res mode and the screen location clr -(sp) move.l #-1,-(sp) move.l (sp),-(sp) move #5,-(sp) trap #14 lea 12(sp),sp ifd USE_BACKGROUND * Zonk the screen from the data section to the real screen like an happen lea our_screen,a6 move.l screenbase,a5 move #32000/4/4-1,d0 .zonkscreen: movem.l (a6)+,a0-a3 move.l a0,(a5)+ move.l a1,(a5)+ move.l a2,(a5)+ move.l a3,(a5)+ dbra d0,.zonkscreen * Save the current palette and put our new one in bsr.s swappal endc rts ***************************************************************** * Restore the old resolution, screen address and palette * ***************************************************************** clearup: * Set original screen mode and location move old_resolution,-(sp) move.l #-1,-(sp) move.l (sp),-(sp) move #5,-(sp) trap #14 lea 12(sp),sp ifd DISPLAY_BACKGROUND * Restore the original palette move #$777,our_palette * Tomb of the unknown bodgecode pea our_palette move #6,-(sp) trap #14 lea 6(sp),sp endc rts ********************************************************************** * Swap the current and saved palettes over ********************************************************************** swappal: pea wibblepalette move #$26,-(sp) trap #14 lea 6(sp),sp rts wibblepalette: lea (PALETTE_0).l,a0 lea our_palette,a1 move #15,d0 .storepal: move (a0),d1 move (a1),(a0)+ move d1,(a1)+ dbra d0,.storepal rts ********************************************************************** ********************************************************************** section data screenbase: dc.l 0 old_resolution: dc.w 0 picture: incbin 'A:\PIC.PI1' fontpic: incbin 'A:\FONT.PI1' our_screen equ picture+34 our_font equ fontpic+34 our_palette equ picture+2 ********************************************************************** ********************************************************************** section bss font: ds.l SIZECHAR*NUMCHARS*4 * 96 chars, 16 lines, 16 copies, 4 planes Nљ5( -Outrun music in desktop- Use Alt and Help to toggle between the two sound tracks Press any keyThank you to the Lost Boys for the demo which made this all posible !------ hcywNqNqNqNqNqNqNqNqNqNqNq/<5\?<&NN\NqNqNqNqNqNqNqNqќ„#ќ5„#ќ5рк0<NЙ:ўNuHчџџ095Д@3Р5ДА|c B@3Р5ДNЙ:ўLпџџNuHчр№B@GњџаJ+g\9џџ‚ fS+"f|"`DS+$fzџЫ$AњXa*a"azџЗAњBCњЩEњџ‹aо6aд7AaЬ7AJ+ g:| | 0<+!F2тIа@аAа@BаA7@Aа@6€+ўЪ+ўтJ+g‚S+ f B+ Qы`pJ+g"S+fzџ :џ:џтeH@Aбk2:ўјгkJ+gS+f zўю7zўр| 7zўкЋњ:ўгтd R+њzўУ@<ј+Ъg +тg +њg $AљџˆCљџˆМ›B›М›М›М›М›М›М€М›М ›М ›М ›М ›gМ €QгLпNu/AњўB(BB( _NuAњў.ˆ/Aњ§ћQшQаBh _Nu$K(дшJrfB"KвђT@``Pш `ZY`TYаY`FY@а@а`0аа`&B`"Y&аа`аќS( fD0"KвшА<Аe" e e{Ќ`фR@ `м@`жА<€e*а$KдћbNвgfR( NuS( Nu|№`0BhJ( kB(B( @ hB(Te |@%h “Ы1INuюvHlpV‚B~z<ORUacfjаќ (№d(d(;lа( R( qm(№Rа+'eQРРBA(R1j(Aа( а(а2;2gю((fТ(`Р%+39CQTtxŸІю M Ž к /  ї hсaщw ЇGэ˜GќДp1єМ†S$іЬЄ~Z8њоУЊ’{fR?- §ясеЩОГЉŸ–Ž†wqjd_YTPKGC?<852/-*(&$" а(АfP@т dAв@PgJ(f(H‚еhвh`S(B(gpgg zћ4Рg@NuHч€РEњњ№H€РќAњ †аРCњњюQщp2иQШџќ3Pџю3hџ№2КњоPщLпNuHчрРH€чCњњАQщ|"|$r{9#AњJ4;0T| 0МB(1B1q аќQЩџмPщLпNuўBtмў<>@d ќ I I I Л Л " " ‚ I I I I Л Л " " ‚ ў  6 I I I Л Л " " Й Л " "иппп п я я я S — я я я я S — б щ ы я я я S Qќќ # # U e e e B B ~ ~ ~ ~ М М e e e e B B ~ ~ ~ ~ М М М М М , , , , W e e e B B ~ ~ ~ ~ @ B ~ ~ ~ ~ Г ­ ­ ­ а w wЩЩЩЩ6 J B B B д  њ i i “ “ “ Ÿ “ “ “ ёссссRCCC€’–›€ ‰ ‡&&&&&((((+++++((((+++++----+++++0000-----000022222000022222444422222444Д‡‡€Œ ˜‹ˆ+)ї №  №-,+*)ј №*(і ЫЪЩШЧі-,+*)('&%$#"!№ №ћ ќ  №  ѓ ј?NMLkŠЉизжедгвṉРА†учухсучуТ‚Z&‚Z&‚Z&Ручухсучуучухсучу€€€учухсучуСnсnуnсn…‰ЦА†у-с0х(у+*с-у&*с+у-с0х(у+*€€€…‰АФсnhnhhnnnnhnnhnnnnhnnhhnhnhnhnhnn…сnhnhhnnnnhnnhnnnnhnnhhnhnэ€…‰АХ†у$#!с!у#$с$у#!#!су!#с#у!#!су!#с#у!у$#!с!у#$с$у#!…‹СДуАсДŠАДуŠАсДŠАЕуŠ!А!с!Е!Š!А!ЕуŠ!А!с!Е!Š!А!…‰А†Р‹уŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠуŠŠЫlРсŠ…уч учучсусчуч учучухсу…‰А†Щх42у7х42у0х2/ѓ+х0/у2х0/у(-с/я-щ€х42у7х42у0х2/ѓ+х0/у2х0/у(/я-ч€у+щ)у+с-ч+у)(&с(э$ы€щ)у+с-ч+у(0ч/ѓ-у+щ)у+с-ч+у)(&с(э$ы€щ)у+с-ч+у(0ч/я-ч€…Ъ†ГїАЦу9€Цџ2€ЧЗч-у-ч-у+ч-…САс‚<(‚<(‚<(‚<(‚<$‚<$‚<$‚<$‚<!‚<!‚<!‚<!‚<х€АЦѓСЖуnчnnуnчnуnчnЧчучуч…џ€АЦџ8ѓ€Ч†уТ†Бч‹‡у‡ч‡Ву‡Бу‡СсXX…у‡€Сnn€nn€n€nn€nn€…с(ШАXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX…АФсnhhhhhhhhhnhnhhh…АуЧ€!$&(&(+--02478Ця9ѓ€Чч€у$ч$у&ч&ч€у&ч&у(ч(…АуЧ€  Ця!ѓ€Чч€Иу ч у ч ч€у ч у ч …Ы‹ ‡nФnnnnnnnnnhnhnnn…3'.3'.13Ъ†Ат)05)05)05)05)050'.3'.3'.…ФтnhnhnhnhnhnhnhnрhŒiŒjтnhnhnhnhnhnhnhnh…ЬхhФтnhnhnh…ЬхhhФтnЬхhФтn…шхРА†х СnРт ш х т шхтх…т‰єЪс"'#($)%*&+ ',!(-").‰…хШXXXXСАсnn‹hу€сŠhТ‚<‚<‚<‚<‚<‚<…А†Ъё'„т*ш1х0т„.х0є*х„065т„3х5њ0ш€т„0х31ё0ƒт,ї)џ*у„*т.1х0.т,ї)т„),0х.џ/ч€ф„/т4№3у„4т8њ7…Ч†т‹        ŠŠ""""""""ŠŠŠ        ŠŠŠŠ"…т†ЭД,,Сnn‹hnЭ,,СnnnnЭ‡,,СnnЭЕ''СnnŠhnЭ''СnnnnЭ‡''СnnЭ..СnnŠhnЭ..СnnnnЭ‡..СnnЭ))СnnŠhnЭ))СnnnnЭ‡))СnnЭД**СnnŠhnЭ**СnnnnЭ‡**СnnЭЙ%%СnnŠhnЭ%%СnnnnЭ‡%%СnnЭЕ((СnnŠhnЭ((СnnnnЭ‡((СnnЭД''СnnŠhnЭ'њ'…тЫnЧА СnЧ  ДСАnЫnЧ СnЧ  ЕСАn…ѓ5щ€х3т:х8њ5ы€т503њ5ы€т:х8њ5ї€Цт„0ш3х1ъ€у„0т1„1ш5ы3х1ъ€у„0т1„1ш5т„0ш3х1€т„031х353ю0т,€ш,т)у)*,х.т,х.т,х.т,х.т,х.т,х0т.х0т.х0т.11х0.т2х3т5х3т5х3т5х3т5х3т58:ѓ8ц€х&')т*х,т*х,т*х,т*х,т*х,т*х.т,х.т,х.т,2/.х5т32х3т5х3т5х3т5х3т5х3т65њ1ї=…Ст‹ hЭЙ*СnnЭ*СnnnЭ*СnnЭю*СтŠhЭЕ)СnnЭ)СnnnЭ)СnnЭю)… тТ …тСnТА…С‹ nЭСhhŠnЭтАЭ%%СŠnЭ%СhhŠnЭ%$$СŠnЭ$СhhŠnЭ$ СŠnЭ СhhŠnЭ …€КС‡‡‡‡‡‡‡…ЮїhˆЮрhїeЮїrˆџњ?џ аџњаџ @џњ@џ  мџњмUџ rџњr T џєTUx њ*џжњUˆ ZџьZU@ џ2ШЊџBhзџU№ dџ№њ$џмњU„ 8 џm` dџџUџ]Р xџўЋџ]Р xp!2 Удeјррр?рќќјјјџ№џ€ќ?ќ?ќў?Р?ќџ№џрќўўџрўџ№џ№ќўўџ№ўџ№џјќџџџџџџќџџ?џ№џќќџџџџ?џџўџџ?џ№џќќџџџџ?џџўџџџрџўќџџџџ?џџўџџјўќџџџџ?џџўџџрўќџџџџ?џџўџџџРџќџџ?џџўџџРџќўў?џџўўџ€џќ?ў?ў?џџў?ўџ€џќќќџџќќџ€џќјјџ№јџ€џќ№№џр№џ€џќррџ№рџ€џјРРџџќРџ€џ€€?џџў€џ€џ?џџўџРџј?џџўџРџќ?џџўрўќ?џџўјўќ?џџўџрџўќ?џџў?џ№џќќ?џџў?џ№џќќџџќџ№џјќџ№џ№џ№ќџрџ№џрќў?Рџ№џ€ј?рќ~~џџўџ€џџрџџрџРџџџџџџџРџџџјџџџјџ№џџџџџџџРџџџќџџџќџјџјџџџџџџРџџџўџџџўџќ?џќџџџџџџРџџџўџџџўџўџќ€џџџџџџРџџџџџџџџџўџќРџџџџџџРџџџџџџџџџџџџќрџџџџџРџџџџџџџџўќ№џРџџРџџџџрќ?јџ€џџРџџџџ€ќќџ€џџРџџџџўќ№џќџ€џџРџџџџџџўќџјџ€џџРџџџџџџџџџџџџќўџ№џ€џџРџџџџџџџџџџ?џџў?џџрџ€џџР?џџџџџџџџџџ?џџў?џџџќџРџ€џџРџџўџџўџџџџ?џџўџ€?џџў№џ€џ€џџРџџўџџўџџџџ?џџўџ€?џџўќ?џџ€џџРџџџќџџќџџџџ?џџўџ€?џџўўўџ€џџРџџџјџџўџџџџ?џџўџ€?џџў?џџќџ€џџРџџџрџџўџџў?џџўџ€?џџў?џџјџ€џџРџРџџџ€?џџўџ€?џџўџ€џ№џ€џџРџ€џџџрџџќ?џ€?џџўџ€џрџ€џџРџ€џџџўў?џ?џџўџ€џРџРџџРџ€џџџџџќџџџќџ€џ€џџџџџРџџџўџџџџўџќўџ€џџџџџџРџџџџџџџџџўџќќџ€ўџџџџџРџџџџџџџџџќ?џќx?џќџџџџџРџџџџџџџўџјџќ№?џјџџџџџРџџџџџџџўџ№џќрў№џџџџџРџџџџџџџќџРџќРќ`џџџџџРџџџџџџџј~~ј€№џџў€џџўџџр€џџў€џќџџрџџў№џРџџџџџРџџџ€џџјџџџџќџРџџџџџРџџџр?џџќџџџџўџРџџџџџРџџџ№џџўџџџџ?џџРџџџџџРџџџјџџўџџџџ?џџРџџџџџРџџџќџџџџџџџџџ€џСўџџџџџРџџџќџџџџџџџџџ€џУџџџџўџРџџўџџџџџџџџџ€џџўџУџџРџР?ўџрџџРџџ€џџџџУџџРџРўџРџџ€џџ€џџџџУџџРџРџџРџџ€џџ€џџџџУџџРџРџџрџџРџ?џџџџџУџџџџрџџџрџџџџџџџџџ?џџџџџУџџџџјџџџјџџџџџџџџџўџџџџуџџџџќџџџќџџџџџџџџџќџџџџџџўџџџўџџџўџџџўџџџџ№џџџџџџџџџџўџџџўџџџўџџџџ№џџўџџџџџџџџџџџџџџџџџџџџџќџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџ?џџџџџџџрџџџрџџ?џџџўџџџџџџРџџџРџџџ€џџџџџџџџџРџџџРџџџ€џџџџџџџџџрџџџрџџџ€џџџџџўџџџџџџџџџџџџџџ€џџџџ€џџџџџџџџџџџџџџџ€џџџџџџџџџџџџџџџџџџџ€џџџџџџџўџџџўџџџўџ?џџџџџџџџўџџџўџџџўџ?џџџџџџџџќџџџќџ?џџќџўџџўџџџџјџџџјџџџјџќўџџрџџрўџџрў№џџр?ќџџр?џўџќџџўџџў?џўџџџјџџ€џџџјџџџџџџ€џџџџџџџџџџџџџџќџџрџџџќџџџџџџрџџџџџџџџџџџџџџўџџ№џџџўџџџџџџ№џџџџџџџџџџџџџџўџџјџџџўџџџџџџјџџџџџџџџџџџџџџџ?џџќџџџџ?џџџџџџќџџџџџџџџ?џџџџџџџ?џџќџџџџ?џџџџџџќџџџџџџџџ?џџџџџџџџўџџџџџџўџџџўџџџўџџџўџџўџџџўџрџјџРўџрџрјџџџўџРџрџ€ўџРџРрџџџџџџРџџРџ€џџРџРџРџџ№џџрџџРџ€џџрџрџРџџџџрџџџџџџ€џ€џџџўџџўџ‡џрџџџџрџџџџџџ€џ€џџџџџџџџџј?џџџџрџџџџџџ€џ€џџџџџџџџџќџџўџ№џџџџўџ€џ€џџџџџџџџџўџџўџџџџџџџўџ€џ€џџџџџџџџџўџџџќџџџџџџџџџ€џ€џџџџџџџџџџџџџјџџџџџџџџџ€џ€џџџџџџџџџџџџџрџџџџџџџџџ€џ€џџџўџџўџ‡џџџРџџџџџрџџРџ€џџрџрџРџџ€џџџџџРџџРџ€џџРџРџРџџ€џџџџџРџрџ€ўџРџРрџџ€џџџџџрџјџРўџрџРјџџ€џ№џџџџџџџўџџџўџџџўџРџџџџ€џрџџџџџ?џџџџџџќџџџџџР?џџџџ€џрџџџџџ?џџџџџџќџџџџџР?џџџџ€џрџџџџўџџџџџџјџџџџџРџџџџ€џрџџџџўџџџџџџ№џџџџџРџџџџ€џрџџџџќџџџџџџрџџџџџРџџџџ€џрџџџџјџџџџџџ€џџџџџРџџџРўџџр?џўџќџџў€џў€ўрџџўРў€ўў€ў?ќџџр?ќџРџ?№џџџџџрџџРџџџџџРџџџ€џџџјџџ€џРџ?№џџџџџрџџРџџџџџрџџџрџџџќџџрџРџ?№џџџџџрџџРџџџџџ№џџџ№џџџўџџ№џРџ?№џџџџџрџџРџџџџџјџџџјџџџўџџјџРџ?№џџџџџрџџРџџџџџќџ?џџќџџџџ?џџќџРџ?№џџџџрџџРџџџџџўџ?џџќџџџџ?џџќџРџ?№џџрџџРџџџџџџџџџўџџџџџџўџРџ?№џџрџџРџџџџџџƒџјўџрџјўџРџ?№џџрўџРџџџџџџУџрўџРџрўџРџ?№џџ№ўџРџЯљџџџуџџРџџРџџРџџрџ?№џџџџўџРџЯљџџџѓџџРџџрџџРџџџџџ?№џџџџќџРџЯљџџпћџџ€џџџџџџ€џџџџџ?№џџџџќџРџЯљџџЯџџџ€џџџџџџ€џџџџџ?№џџџџјџРџЯљџџЧџџџ€џџџџџџ€џџџџџ?№џџџџ№џРџЯљџџУџџџ€џџџџўџ€џџџџџ?№~џџџџјџРџЯљџџСџџџ€џџџџўџ€џџџџџ?№џџџџџќџРџЯљџџРџџџ€џџџџќџ€џџџџџ?№џџџџџќџРџЧёџџРџџ€џџџџјџ€џџџџџ?№џџџџџўџРџРџџР?џџ€џџџџрџ€џџрџ?№џџџ№ўџРџРџџРџџРџџрџРџџРџ?№џџџрўџрџРџџРџџРџџРџРџџРџ?№џџџрџџџџўџРџџРџрўџРрџџРџ?№џџџрџџџџџџРџџРџјўџРјџџРџ?№џ€џџрџџџџџџРџџРџџџўџРџџўџРџ?№џџџџџрџџџџџџРџџРџ?џџќџР?џџўџРџ?№џџџџџрџџџџџџРџџРџ?џџќџР?џџџџРџ?№џџџџџрџџџџџџРџџРџџџјџРџџџџРџ?№џџџџџрџџџџџџРџџРџџџ№џРџџџџРџ?№џџџџџрџџџџџџРџџРџџџрџРџџџџРџ?№џџџџџрџџџџџџРџџРџџџ€џРџџџ€ўрџџўРўџџў€ў€ў?ќ€?џ>џџрџџўџџрўў€ў~~ўџџўџџџјџџџџџџјџ€џџ€џџРџџРџџ€џџџџџџџџќ?џџџџџџќџ€џџ€џџРџџ№џџ€џџџџџџџџўџџџџџџўџ€џџ€џџРџџјџџ€џџџџџџџџўџџџџџџўџ€џџ€џџРџџќ?џџ€џџџџџџџџџџџџџџџџџџ€џџ€џџРџџўџџ€џџџџџџџџџџџџџџџџџџ€џџ€џџРџџўџџ€џџџџџџџџџџџџўџџџџ€џџ€џџРџџџџџџ€џџџџџрџџрџџ€џџ€џџРџџџўџ€џџџРџџРџџ€џџ€џџРџџџрџРџўџРџџРџџ€џџ€џџРџџџ€џРџ?ќџрџџрџџ€џџ€џџРџџџрў№џџџџџџџрџџ€џџ€џџРџџџјўџрџџџџџџџјџџ€џџ€џџЧёџўџџўџРџџџџџџџќџџ€џџ€џџЯљџў?џџќџџџџўџџўџџ€џџРџџЯљџў?џџќўџџџўџџўџџ€џрўџЯљџўџџј?ќџџџџ?џџџџџ€џ?№ќџЯљџўџџ№№џџџџџџџџџ€џјјџЯљџўџџрџрџџџџџџџџџ€џќ?№џЯљџџџџџ€џРџрџџџџРџўрџЯљџџџ?ќџџРџџџџРџџџРџЯљџџџ€јўџРџџџрўџџ€џџџџџџрј?ќџРџџџјўџџџџџџџџўј№џРџџџџџџџўўџџџџџџџџјџџџўџРџџџџџџ?џџќ?ќџџџџџўџјџџџџџРџџџџџџ?џџќјџџџџџўџјџџџџџРџџџџўџџџј№џџџџџќ?џјџџџџџРџџџџўџџџ№рџџџџџјџјџџџџџРџџџџќџџџрРџџџџџ№џјџџџџџРџџџџјџџџ€€џџџџџРџјџџџџ€ўџџрў?ќўў~~№џџў#4V 2CTev€€@ШbќПМР<џРРџрРўЦўЦ( џчќќџўќўќџџќќќрџўр џџчќќџўќўќџџќќарџрр џџ ў џРўш№ ў ( џчќќџўќ@џџ ќџ№ќ  џР€ќŒўŒ<џчњСњџќСј?|џџ|ёњ€zџќ€x/џ,џ чњСњџќСј?|џџ|ѓє€dџј€`/Ÿ,џ џшўHџ№ў@.є tјpК ќ<џчњСњџќСјB?§ўpx0џјx0?@@џ њšќ˜ќ?Иџ8яіУіџјУ№?џ>џџ>їє€єџњ€№_џ^?џяіУіџјУ№?џ>џџ>ї№€Рџќ€Р_П^?џџ№ќpџјќp_њ\ђ?ќ№Жјќ?Иџ8яіУіџјУ№?њ<~=јџ|@$Рј €€р`і№џxјџџўџ№џрџџјџ№?џ>~?џџўџ№џрџџт<џР?џ>~?џџќфјџр?§>!~>?рў№џxјџџўџ№ўxўџр<џРррќ №џџ0№?џџјџ№џрџџ№џ№џџјxџџјџ№џрџџрџрџџјxџџ№<џРџўИx?№ў€№џџ0№?џџјџ№?џ№џџрџрр№ј№џџрџџ№џ№џрџџ№џ№џp№џџ№џ№џрџџіџ№џp№џџрџрќ0№?јIќ@ Ž№џџрџџ№џ№џ№џџтџрŸ„рx€C№@<№џрџџ№џ№џрџџјџ№џџ0№?џџ№џ№џрџџўџ№џџ0№?џџцџрџќ№ќ)ј Ю№џрџџ№џ№џрџџіџ№Ÿ №/‹ћр@ќCрџрџџ№џ№?џрџџќ џ№џрџџ№џ№џрџџўџ№џрџџўџ№?ўрў№ю №џрџџ№џ№_рpуўу№џ`№?oЯџтРјЧр??рРУ№У№<муја6/јРџр€џўџўџџр§ўќ№џр€ѓќ№ №џрџ№ ў №??рРУ№У№<џрјЧќ >С№gџxџџРрр<џРџ?рџ?рјџўА0ЯјШ7ќР?рџПюЮџ№Р‡џ~џџ~ўў№?џџрјў№пџрџ‡№~…№џ?рџ?рјџўџŸ€рxџќ> Ч№џ|џџ€|џ€?џрџџќ<<џќ``ŸјЧ 8ўР?џрџџќ џ№пџрџџўџ№?ќќр№ў№џ?рР?Ч№>Ч№?џрџџќ<<џќџп@Рр8_їј6Ч№џ>џџјџџџрџџўџј?88?Р8РŸџрџџјџ№џџ€рŸџџўџ№Ÿррр№№џ@рр_у№у№џџрџџўџјџрpр˜џчј&Ч№(џ џџˆˆpўџџ`рџџќџ№?88?Р8Рпџ€рŸџџ№џ№џџРрпџџіџ№пр€ррŸ№№џрр№џѓ№ѓ№џџ`рџџќџ№џ?р8риџЧј>Ч№?Р?ј№№јoџ@№Oџџ№џ№?88?Р8РџџРрпџџјџ№џџррџџџрџрџ€Р€р`п№№џррјџљ№љ№oџ@№Oџџ№џ№џ?р8риџЧј>Ч№g`˜м``#€РЧџ€ј‡џџ№џ№?88?Р8Рџџррџџџќ џ№џџррџџџЬ<џРџррџџя№‚ўƒ№џррќџџ№џ№Чџ€ј‡џџ№џ№џŸр˜рxџЧј>Ч№ЯШ8Ю€€1Р№?`?џР`сўр№?88?р Рџџрџрџџўџўџррррџ?ўјрџррџџчј‚ўƒ№џр‚р~џџ№џ№№?`?џР`сўр№џŸр˜рxџЧј>Ч№Ÿ˜xЦ8РџŸ>џџ>ёўРўС№?88?р РџПррџŸџшЧџіЧџјрјрџђќ№џПррџѓњр ќу№џр‡рџџњ џ№џŸ>џџ>ёўРўС№џприр8џЧј>Ч№x8?Р8Рџџрџџіџ№?88?№0Рџџррџџџ№џ№џ~р~рџ№ў№џџррџџџўџ№џЧрЧр/џџў€№џџрџџіџ№џприр8џЧј>Ч№?88?Р8РџџРрпџџђ џ№?88?№0Рџџ@№Oџџђ џ№џ @ рР_№№џџ@№OџџўџрџУрТр'џџўР?рџџРрпџџђ џ№џп@ир8_Чј>Ч№?88?р Рџџррџџџ№џ№?8№0Рoџ№џџіџ№џ рр?ј№oџ№џџь џрџС@Рр#_џь ррџџррџџџ№џ№џџ№рчќ& Ч№?087№0Рџџррџџџрџр?8ј8РЯџ€xџџўџ№џ`ррќ №Яџ€xџџФ8џРџрррЯФ№8Рџџррџџџрџрџџррчќ$ Х№?8№0Рџџррџџџв<џР?8ј8Рџ ~ џџўџ№џрррџў  №џ ~ џџјџџрррCќјџџррџџџв<џРсі!цо40Я№87xx€аAа@яПРр8џќ87xx€\мXм?#88Ч№й€й€ц`Р №\X?ср№ср!роx№аAа@яПРр8џќРь@ьП††фx0/88Р № №п€€џј0/88Р(˜ ˜gчјАРАРЯ € †† x(€ €јрРр@рП//р № №п€€џј€x€x‡ТТ№< рAјAјО№№ рячќ````Ÿ€ТТ<џРРќ€`€`€  @AјAјО№№*THIS IS EXACTLY HOW YOU GO ABOUT ASSEMBLING THIS FOR YOUR CD. *FIRST OF ALL WRITE THE SCROLL BAR IN CAPITALS, THERE IS NO *PUNCTUATION SO DON'T USE ANY! THE SCROLL TEXT MUST END WITH *THE NUMBER 27 I.E DC.B "XXXX",27. *ONCE YOU HAVE DONE THIS CLICK ON ASSEMBLE, CHOSE ASSEMBLE *TO DISK AND ENTER THE NAME OF THE PORGRAM FILE TO BE CREATED *REMEMBER TO INCLUDE EITHER A TOS OR PRG EXTENSION. NOW *CLICK ON ASSEMBLE. *THE FILES NECCESARY FOR THIS TO BE ASSEMBLED ARE *GRASS.NEO-MYSTERONS LOGO *MUSIC.MUS - MUSIC ,IN EDSYNTH STAND ALONE IF YOU WANT TO CHANGE IT. *MYSETRON.S -SOURCE CODE. *PRESS SPACE TO QUIT. THERE IS NO LOAD PROGRAM FEATURE SO USE *DOUBLE CLICKABLE PROGRAMS OR PUT A SMALL SELECTOR PROGRAM AFTER *THIS IN THE AUTO FOLDER! opt d+ mfp equ $fffffa00 move.l a7,old_sp clr.l -(a7) move.w #$20,-(a7) trap #1 jsr music+4 ;start the music! lea mysa,a0 ;set pallette lea $ffff8240,a1 move.w #15,d0 pal move.w (a0)+,(a1)+ dbf d0,pal lea oscar,a0 lea 1440(a0),a0 move.l #-1,(a0) setuptext lea text,a0 gotext cmp.b #27,(a0) beq.s here cmp.b #32,(a0) bne.s notspace move.b #64,(a0) notspace sub.b #64,(a0)+ bra gotext jsr music+4 here move.l $70.w,oldvbi move.l $120.w,oldhbi move.l #newvbi,$70.w move.l #newhbi,$120.w move.w mfp+8,oldmfp9 move.w mfp+6,oldmfp7 move.b #8,mfp+27 move.b #1,mfp+33 clr.b mfp+7 clr.b mfp+9 bset.b #0,mfp+7 bset.b #0,mfp+19 move.w #$0,$ffff8260.w Low Rez move.b #$06,$ffff8201.w Screen Base move.b #$50,$ffff8203.w move.b #$00,$ffff820d.w lea space,a2 mainlop cmp.b #185,$fffffc02.w bne.s mainlop bra exit colors ds.w 140 dc.w $800 dc.w $100 dc.w $900 dc.w $200 dc.w $a00 dc.w $300 dc.w $b00 dc.w $400 dc.w $c00 dc.w $500 dc.w $d00 dc.w $600 dc.w $e00 dc.w $700 dc.w $f00 dc.w $f00 dc.w $700 dc.w $e00 dc.w $600 dc.w $d00 dc.w $500 dc.w $c00 dc.w $400 dc.w $b00 dc.w $300 dc.w $a00 dc.w $200 dc.w $900 dc.w $100 dc.w $800 ds.w 125 newvbi jsr music lea mysa+128,a0 lea oscar,a3 add.l pos9,a3 add.l #4,pos9 cmp.l #-1,(a3) bne.s skip move.l #0,pos9 lea oscar,a3 add.l #4,pos9 add.l pos9,a3 skip move.l (a3),a1 rept 40 add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #144,a1 add.l #144,a0 endr lea mysa+144,a0 lea oscar,a3 add.l pos8,a3 add.l #4,pos8 cmp.l #-1,(a3) bne.s skip1 move.l #0,pos8 lea oscar,a3 add.l #4,pos8 add.l pos8,a3 skip1 move.l (a3),a1 add.l #16,a1 rept 40 add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #144,a1 add.l #144,a0 endr lea mysa+160,a0 lea oscar,a3 add.l pos7,a3 add.l #4,pos7 cmp.l #-1,(a3) bne.s skip2 move.l #0,pos7 lea oscar,a3 add.l pos7,a3 add.l #4,pos7 skip2 move.l (a3),a1 add.l #32,a1 rept 40 add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #144,a1 add.l #144,a0 endr lea mysa+176,a0 lea oscar,a3 add.l pos6,a3 add.l #4,pos6 cmp.l #-1,(a3) bne.s skip3 move.l #0,pos6 lea oscar,a3 add.l pos6,a3 add.l #4,pos6 skip3 move.l (a3),a1 add.l #48,a1 rept 40 add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #144,a1 add.l #144,a0 endr lea mysa+192,a0 lea oscar,a3 add.l pos5,a3 add.l #4,pos5 cmp.l #-1,(a3) bne.s skip4 move.l #0,pos5 lea oscar,a3 add.l pos5,a3 add.l #4,pos5 skip4 move.l (a3),a1 add.l #64,a1 rept 40 add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #144,a1 add.l #144,a0 endr lea mysa+208,a0 lea oscar,a3 add.l pos4,a3 add.l #4,pos4 cmp.l #-1,(a3) bne.s skip5 move.l #0,pos4 lea oscar,a3 add.l pos4,a3 add.l #4,pos4 skip5 move.l (a3),a1 add.l #80,a1 rept 40 add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #144,a1 add.l #144,a0 endr lea mysa+224,a0 lea oscar,a3 add.l pos3,a3 add.l #4,pos3 cmp.l #-1,(a3) bne.s skip6 move.l #0,pos3 lea oscar,a3 add.l pos3,a3 add.l #4,pos3 skip6 move.l (a3),a1 add.l #96,a1 rept 40 add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #144,a1 add.l #144,a0 endr lea mysa+240,a0 lea oscar,a3 add.l pos2,a3 add.l #4,pos2 cmp.l #-1,(a3) bne.s skip7 move.l #0,pos2 lea oscar,a3 add.l pos2,a3 add.l #4,pos2 skip7 move.l (a3),a1 add.l #112,a1 rept 40 add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #144,a1 add.l #144,a0 endr lea mysa+256,a0 lea oscar,a3 add.l pos1,a3 add.l #4,pos1 cmp.l #-1,(a3) bne.s skip8 move.l #0,pos1 lea oscar,a3 add.l pos1,a3 add.l #4,pos1 skip8 move.l (a3),a1 add.l #128,a1 rept 40 add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #2,a1 add.l #2,a0 move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ move.w (a0)+,(a1)+ add.l #144,a1 add.l #144,a0 endr lea colors(pc),a6 moveq.w #8,d0 lea $68488,a0 lea $68480,a1 rept 32 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a0),(a1) add d0,a0 add d0,a1 move.w (a2)+,(a1) add d0,a0 add d0,a1 endr haha move.b #0,d0 add.b #16,haha+2 beq.s boohoo rte boohoo lea text,a0 move.l counter,d0 add.l d0,a0 cmp.b #27,(a0) bne.s boohoo2 move.l #0,counter lea text,a0 boohoo2 lea font,a2 moveq.w #0,d0 move.b (a0),d0 swap d0 lsr.l #6,d0 add.l d0,a2 add.l #1,counter rte newhbi add.w #3,$ffff8242.w Raster Colour 1 add.w #3,$ffff8246.w add.w #3,$ffff824a.w add.w #3,$ffff824e.w add.w #3,$ffff8252.w add.w #3,$ffff8256.w add.w #3,$ffff825a.w add.w #3,$ffff825e.w move.w (a6)+,$ffff8240.w clr.b mfp+15 rte exit move.b #$07,$ffff8201.w Screen Base move.b #$80,$ffff8203.w move.b #$00,$ffff820d.w move.l oldvbi,$70.w move.l oldhbi,$120.w move.w oldmfp7,mfp+6 move.w oldmfp9,mfp+8 lea $ffff8240,a1 move.w #$fff,(a1)+ move.w #14,d0 pal2 move.w #$000,(a1)+ dbf d0,pal2 move.w #$0300,sr move.l old_sp,-(a7) move.w #$20,-(a7) trap #1 clr.l -(a7) trap #1 clr.l -(a7) trap #1 music incbin "music.mus" font space dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 a dc.w 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 b dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0 dc.w 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 c dc.w 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0 dc.w 0, 0,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 d dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0 dc.w 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 e dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1, 0 dc.w 0, 0,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 f dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 g dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 h dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 i dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 j dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 k dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 l dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 M dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 n dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 o dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 p dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 q dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 0, 0, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1, 0,-1 dc.w -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 r dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 s dc.w 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0 dc.w 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 t dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 u dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 v dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 w dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 x dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1 dc.w 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0 dc.w 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0 dc.w 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 y dc.w -1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 z dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w -1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 *SCROLL WRITERS REMEMBER CAPITALS, NO PUNCTUATION, SORRY BUT I HAVE NO ASCII TABLE AND THEREFORE CANNOT CALCULATE THEIR CORRECT CODE! text dc.b " YEEEEEAAAAH WELCOME TO YET ANOTHER MYSTERONS COMPACT DISK INTRO CODED BY DODGE AND JMC IN ONE DAY FOR THE MYSTERONS SORRY FOLKS NO PUNCTUATION WHICH MAKES READING THIS DIFFICULT" DC.B " THIS IS JMC AT THE KEYBOARD AND HERE ARE MY GREETS HI TO THE MYSTERONS ESP THE INVADER THE NORTHERN IRELAND CRACKING CREW ESP NASTY NIGEL SUAVE SEKTOR VECTOR DREAM MARTY WHITEBOY RONAN IN DERRY AND " DC.B " ALL THOSE COMMITED TO BRINGING THE BEST SOFTWARE TO US LAZY AND POOR BASTARDS ESP THE POMPEY PIRATES AND THE MEDWAY BOYS" dc.b " " dc.b " " dc.b " " dc.b " ",27 even counter dc.l 0 oldvbi dc.l 0 oldhbi dc.l 0 oldmfp7 dc.l 0 oldmfp9 dc.l 0 old_sp dc.l 0 oscar1 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 oscar2 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 oscar3 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 oscar4 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 oscar5 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 oscar6 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 oscar7 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 oscar8 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 oscar9 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 dc.l $680c0 oscar incbin "A:\sine72.dat" pos1 dc.l -180 pos2 dc.l -160 pos3 dc.l -140 pos4 dc.l -120 pos5 dc.l -100 pos6 dc.l -80 pos7 dc.l -60 pos8 dc.l -40 pos9 dc.l -20 oldhi dc.w 0 oldmid dc.w 0 oldlo dc.w 0 even ds.w 300 mysa incbin "A:\grass.neo" end€Р‚ƒр… ‡ˆ@‰€‹`Œ Ž€Р‘’р” •`—@˜€™Р›œ@€žР   ЁрЃ ЃРЅЅ ІрЇ€Ј ЈРЉ`ЊЊ Ћ@ЋрЋрЌ€Ќ€­ ­ ­ ­ ­Р­ ­ ­ ­ Ќ€Ќ€ЋрЋрЋ@Њ ЊЉ`ЈРЈ Ї€ІрЅ ЅЃРЃ Ёр   žР€œ@›™Р˜€—@•`” ’р‘РŽ€Œ ‹`‰€ˆ@‡… ƒр‚€ ~р}{Рyрx w`u€t@r`q oрnlРk€i h`g eрd c`b `р`@_]Р] [р[@ZY`XРX W€VрV@U UUT`T`SРSРSРSРSРSРSРSРSРT`T`UUU V@VрW€X XРY`Z[@[р] ]Р_`@`рb c`d eрg h`i k€lРnoрq r`t@u€w`x yр{Р}~р€ џџџџ. M–А.. M–BOLD1FNTPI1O–БB}CUDDLY MUSU–б˜DEMON S Y–зŸBDEMON2 S `–ш…eDEMON3 S e–$GTHE_D_P2PI1k–B}THE_D_P_PI1q–4B}"3DUfw"Df>њ>њ>њ>њ/О/О/О/Орррр????????*"*"*"*"(*(*(*(*№№№№№№№№ќќќќџџџџџ€џ€џ€џ€јјјјјјјјРРРР№№№№џ€џ€џ€џ€6#6#6#6#я6я6я6я6јјјјјјјјўўўўџџџџџРџРџРџРќќќќќќќќ????рррр№№№№џ€џ€џ€џ€6"6"6"6"(6(6(6(6џџџџџ№џ№џ№џ№?ќ?ќ?ќ?ќўўўўџџџџџрџрџрџрќќќќќќќќ????№№№№№№№№џ€џ€џ€џ€*"*"*"*"/Њ/Њ/Њ/Њџџџџџјџјџјџјўўўўќќќќџџџџџ№џ№џ№џ№ќќќќќќќќ????јјјј№№№№џ€џ€џ€џ€>>>>>>>>џџџџџќџќџќџќўўўўјјјјџџџџџ№џ№џ№џ№ќќќќќќќќ????јјјј№№№№џ€џ€џ€џ€џџџџџўџўџўџўўўўў№№№№џџџџџ№џ№џ№џ№ќќќќјјјјјјјј№№№№џ€џ€џ€џ€<њ<њ<њ<њ'"'"'"'"џџџџџўџўџўџў~~~~~~~~?р?р?р?рРРРР№№№№ќќќќРРРРјјјј№№№№????П€П€П€П€"ƒ"ƒ"ƒ"ƒhВhВhВhВџџџџџўџўџўџўўўўўРРРРРРРР№№№№ќќќќРРРРјјјј№№№№????П€П€П€П€"ђ"ђ"ђ"ђЈЊЈЊЈЊЈЊггггјўјўјўјўўўўўџ€џ€џ€џ€№№№№№№№№ќќќќРРРРјјјј№№№№џ€џ€џ€џ€"‚"‚"‚"‚(І(І(І(ІУУУУј|ј|ј|ј|џџџџџџџџќќќќ№№№№ќќќќРРРРјјјј№№№№џ€џ€џ€џ€<њ<њ<њ<њ'"'"'"'"џџџџџ№џ№џ№џ№?џ?џ?џ?џўўўўџџџџррррќќќќРРРРјјјј№№№№џџџџџјџјџјџјџџџџќќќќџџџџРРРРјјјјРРРРјјјј№№№№~~~~~~~~>>>>џўџўџўџўџџџџџќџќџќџќџџџџјјјјџџџџ№№№№№№№№РРРРјјјј№№№№<<<<<<<<!]!]!]!]нонононоџџџџџўџўџўџўџ№џ№џ№џ№?џ?џ?џ?џќјќјќјќјррррРРРРјјјј№№№№!j!j!j!jЊЊЊЊЊЊЊЊџџџџџўџўџўџў????џјџјџјџјџџџџџќџќџќџќРРРРјјјј№№№№!w!w!w!wwvwvwvwvџџџџџўџўџўџўџќџќџќџќџќџќџќџќРРРРјјјј№№№№>>>>џўџўџўџўƒƒƒƒјўјўјўјўџџџџџўџўџўџўџќџќџќџќРРРРјјјј№№№№ УУУУјўјўјўјўџџџџўўўўџќџќџќџќРРРРјјјј№№№№#$#$#$#$еHеHеHеHџџџџџўџўџўџўўўўўўўўўўўўўРРРРјјјјрррр$Е$Е$Е$Еhhhhџџџџџўџўџўџўќќќќ~~~~~~~~џџџџРРРРјјјјрррр'='='='=UxUxUxUxџџџџџўџўџўџўјјјјўўўўџџџџџџџџџџџџјјјјјјјј№№№№$-$-$-$-UXUXUXUXџџџџџќџќџќџќ№№№№ўўўўџџџџџџџџџџџџќќќќ????јјјј№№№№#$#$#$#$ЭHЭHЭHЭHџџџџџјџјџјџј?р?р?р?рўўўўџџџџџўџўџўџўќќќќ????јјјј№№№№џџџџџ№џ№џ№џ№РРРР?ќ?ќ?ќ?ќ?џ?џ?џ?џџўџўџўџўќќќќ????№№№№№№№№?џ?џ?џ?џџўџўџўџўјјјј€€€€јјјјџџџџџєџєџєџєќќќќ????рррррррр*Њ*Њ*Њ*ЊЊЊЊЊЊЊЊЊ№№№№????№№№№џџџџџрџрџрџрјјјјРРРР?џ?џ?џ?џџўџўџўџў~~~~џџџџџјџјџјџјџџџџџџџџџјџјџјџјџџџџџјџјџјџјррррџџџџџџџџџќџќџќџќџ€џ€џ€џ€џџџџџќџќџќџќџџџџџќџќџќџќ‡‡‡‡№€№€№€№€џџџџџџџџџўџўџўџўџ€џ€џ€џ€џџџџџўџўџўџўџџџџџўџўџўџўЧЧЧЧёРёРёРёРўўўў?џ?џ?џ?џџџџџџџџџџ€џ€џ€џ€?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџччччѓрѓрѓрѓрќќќќ?џ?џ?џ?џџџџџџџџџ????џ€џ€џ€џ€?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџїїїїї№ї№ї№ї№ррррјјјј?џ?џ?џ?џџџџџџџџџџ€џ€џ€џ€?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџџџџџџрџрџрџр№№№№№№№№?€?€?€?€џџџџП€П€П€П€?€?€?€?€?€?€?€?€џџџџџРџРџРџР№№№№?р?р?р?р?€?€?€?€џџџџ?€?€?€?€џџџџџ€џ€џ€џ€№№№№РРРР?€?€?€?€ўўўў?€?€?€?€џџџџ№№№№џ€џ€џ€џ€?€?€?€?€ќќќќ?€?€?€?€џџџџџ№џ№џ№џ№ўўўўўўўўџџџџ?€?€?€?€?€?€?€?€џџџџџџџџџџџџџџџџџџџџџџџџџјџјџјџј????џџџџ????џџџџўўўў?€?€?€?€?€?€?€?€џџџџџџџџџџџџџџџџџџџџџџџџџјџјџјџј????џџџџ????џџџџќќќќ?€?€?€?€?€?€?€?€џџџџџџџџџџџџџўџўџўџўџџџџџјџјџјџј????џџџџ????џџџџјјјј?€?€?€?€?€?€?€?€?џ?џ?џ?џџўџўџўџўџќџќџќџќџџџџџјџјџјџј????џџџџРРРР????џџџџ№№№№?€?€?€?€?€?€?€?€?џ?џ?џ?џџќџќџќџќџўџўџўџўџџџџџ№џ№џ№џ№ўўўўррррўўўў????рррр?€?€?€?€?€?€?€?€?џ?џ?џ?џџјџјџјџјџџџџџџџџџџџџ№№№№ррррјјјјРРРР?€?€?€?€?€?€?€?€?€?€?€?€џџџџџ€џ€џ€џ€№№№№ррррќќќќџџџџ€€€€?€?€?€?€?€?€?€?€?€?€?€?€џџџџџРџРџРџР№№№№ррррќќќќџџџџ?€?€?€?€?€?€?€?€?€?€?€?€џџџџџрџрџрџр№№№№ррррќќќќўўўў?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€їїїїї№ї№ї№ї№ррррррррќќќќќќќќ?џ?џ?џ?џџџџџџџџџ?€?€?€?€?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџџџџџџџџччччѓрѓрѓрѓрррррќќќќјјјј?џ?џ?џ?џџџџџџџџџ?€?€?€?€?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџЧЧЧЧёРёРёРёРррррќќќќ№№№№?џ?џ?џ?џџџџџџџџџ?€?€?€?€?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ‡‡‡‡№€№€№€№€ррррјјјј?р?р?р?рџџџџџўџўџўџў?€?€?€?€?џ?џ?џ?џџџџџџџџџџџџџџўџўџўџўрррррррр?Р?Р?Р?Рџџџџџќџќџќџќ?€?€?€?€?џ?џ?џ?џџџџџџџџџџџџџџќџќџќџќРРРР€€€€џџџџџјџјџјџјџџџџџўџўџўџўџџџџџјџјџјџј€€€€ррррџџџџџўџўџўџўџџџџџјџјџјџјџџџџџўџўџўџўџџџџџјџјџјџјџџџџџјџјџјџј>>>>џ№џ№џ№џ№?џ?џ?џ?џџџџџџџџџџџџџџќџќџќџќ?џ?џ?џ?џџџџџџџџџџџџџџќџќџќџќџџџџџќџќџќџќџ№џ№џ№џ№?џ?џ?џ?џџџџџџџџџџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџџџџџџўџўџўџўџџџџџўџўџўџўџ№џ№џ№џ№?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџррррўўўўџ№џ№џ№џ№?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ№№№№РРРРўўўўџ№џ№џ№џ№?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџџџџџџџџџџџџџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџјјјјррррќќќќї№ї№ї№ї№?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€јјјјррррќќќќ????ч№ч№ч№ч№?€?€?€?€?€?€?€?€>>>>џџџџ?€?€?€?€?€?€?€?€јјјјррррјјјјўўўўЧ№Ч№Ч№Ч№?€?€?€?€?€?€?€?€џџџџ?€?€?€?€?€?€?€?€јјјјррррјјјј????џџџџџџџџ‡№‡№‡№‡№?€?€?€?€?€?€?€?€ўўўў?€?€?€?€?€?€?€?€јјјјрррр№№№№????џџџџџџџџ№№№№?џ?џ?џ?џџјџјџјџј?џ?џ?џ?џџјџјџјџјќќќќ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџјјјјрррр№№№№????џџџџўўўў№№№№?џ?џ?џ?џџќџќџќџќ?џ?џ?џ?џџќџќџќџќјјјјџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџ№№№№РРРРрррр????џџџџќќќќ№№№№?џ?џ?џ?џџўџўџўџў?џ?џ?џ?џџўџўџўџў№№№№џџџџџќџќџќџќ?џ?џ?џ?џџџџџџџџџ    рррр ЊЊЊЊјјјј№№№№?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?р?р?р?рџџџџџќџќџќџќџџџџџџџџџџџџ@@@@ррррTTTT№№№№№№№№?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџРРРРџџџџџўџўџўџўџџџџџџџџџџџџ№№№№РРРРрррр????џџџџ?р?р?р?р№№№№џџџџџџџџџџџџ?џ?џ?џ?џџџџџџџџџџ€џ€џ€џ€?џ?џ?џ?џџџџџџџџџџџџџџџџџџџџџјјјјрррр№№№№????џџџџ?џ?џ?џ?џџўџўџўџў?€?€?€?€џџџџ?€?€?€?€јјјјрррр№№№№????џџџџ?џ?џ?џ?џџџџџџџџџ?€?€?€?€ўўўў?€?€?€?€јјјјррррјјјј????џџџџ?џ?џ?џ?џџџџџџџџџ?€?€?€?€ќќќќ?€?€?€?€јјјјррррјјјјўўўў?џ?џ?џ?џџџџџџџџџ?€?€?€?€?€?€?€?€јјјј?€?€?€?€?€?€?€?€јјјјррррќќќќ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ№№№№?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџјјјјррррќќќќџџџџџўџўџўџў?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ????рррр?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџ№№№№ррррўўўў№№№№?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџРРРР?џ?џ?џ?џџџџџџџџџ?џ?џ?џ?џџџџџџџџџррррррррўўўў№№№№џџџџџўџўџўџўџџџџџўџўџўџўџџџџ€€€€џџџџџўџўџўџўџџџџџўџўџўџўрррр№№№№џџџџџќџќџќџќџџџџџќџќџќџќџџџџџџџџџќџќџќџќџџџџџќџќџќџќррррррррџџџџџјџјџјџјџџџџџјџјџјџј~~~~џџџџџјџјџјџјџџџџџјџјџјџјРРРР>>>>€€€€џџџџџрџрџрџрџџџџџ№џ№џ№џ№№№№№?џ?џ?џ?џџ№џ№џ№џ№џџџџџ№џ№џ№џ№?џ?џ?џ?џџ№џ№џ№џ№?џ?џ?џ?џџќџќџќџќ?џ?џ?џ?џџќџќџќџќџџџџџ№џ№џ№џ№????€€€€џџџџџ№џ№џ№џ№џџџџџјџјџјџјјјјјџџџџџјџјџјџјџџџџџјџјџјџјџџџџџјџјџјџјџџџџџўџўџўџўџџџџџўџўџўџўџџџџџјџјџјџј????€€€€џџџџџјџјџјџјџџџџџќџќџќџќјјјјџџџџџќџќџќџќ?џ?џ?џ?џџќџќџќџќџџџџџќџќџќџќџџџџџўџўџўџўџџџџџўџўџўџў?џ?џ?џ?џџќџќџќџќРРРРџџџџџќџќџќџќџџџџџўџўџўџў????ќќќќџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўРРРРџџџџџќџќџќџќџџџџџўџўџўџў????ќќќќџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўррррџџџџџќџќџќџќџџџџџўџўџўџўўўўўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџќџќџќџќџџџџџќџќџќџќџџџџџўџўџўџўрррр№№№№ќќќќЧЧЧЧјўјўјўјўўўўўўўўўўўўўўўўўўўўў№№№№№№№№ќќќќЯЯЯЯќўќўќўќўџџџџџџџџўўўўўўўўўўўўўўўў№№№№№№№№ќќќќппппўўўўўўўўџџџџџџџџўўўўўўўўўўўўўўўўјјјјррррќќќќџџџџџўџўџўџўўўўў€€€€ўўўў||||ўўўў||||јјјјџќџќџќџќџџџџџўџўџўџўўўўў€€€€џџџџџўџўџўџўўўўўџџџџќќќќџџџџќќќќќќќќџќџќџќџќџџџџџўџўџўџўќќќќ?Р?Р?Р?Рџџџџџќџќџќџќўўўўџџџџўўўўџџџџўўўўќќќќџјџјџјџјџџџџ?ў?ў?ў?ўќќќќ?Р?Р?Р?Рџџџџџјџјџјџјўўўўџџџџўўўўџџџџўўўўџќџќџќџќќќќќџ№џ№џ№џ№џџџџ?ў?ў?ў?ўјјјјррррџџџџџјџјџјџјўўўўџџџџўўўўџџџџўўўўџўџўџўџўќќќќџрџрџрџрџџџџџўџўџўџўџџџџџрџрџрџрџџџџџќџќџќџќўўўўџџџџўўўўџџџџўўўўџўџўџўџўјјјјјјјјџџџџџўџўџўџўџџџџџ№џ№џ№џ№џџџџџўџўџўџўўўўўџџџџќќќќџџџџќќќќџўџўџўџўјјјјјјјјџџџџџўџўџўџўџџџџџ№џ№џ№џ№ўўўў||||ўўўўџўџўџўџў№№№№јјјјппппџќџќџќџќџџџџџјџјџјџјўўўўўўўўўўўўџўџўџўџў№№№№јјјјЯЯЯЯџјџјџјџјџџџџџјџјџјџјўўўўўўўўўўўўўўўўрррр№№№№ЧЧЧЧџ№џ№џ№џ№?џ?џ?џ?џџќџќџќџќўўўўўўўўўўўўўўўўрррр№№№№џџџџџјџјџјџј?Р?Р?Р?РќќќќџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџќџќџќџќџџџџџўџўџўџўРРРРјјјјџџџџџќџќџќџќ€€€€ўўўўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўРРРРјјјјџџџџџќџќџќџќ€€€€ўўўўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџў????€€€€јјјјџџџџџќџќџќџќџџџџџџџџџџџџџќџќџќџќ?џ?џ?џ?џџќџќџќџќџџџџџќџќџќџќџџџџџўџўџўџў?џ?џ?џ?џџќџќџќџќ????€€€€јјјјџџџџџќџќџќџќџџџџџџџџџџџџџјџјџјџјџџџџџјџјџјџјџџџџџјџјџјџјџџџџџўџўџўџўџџџџџјџјџјџј№№№№џџџџџјџјџјџј~~~~~~~~?џ?џ?џ?џџ№џ№џ№џ№џџџџџ№џ№џ№џ№?џ?џ?џ?џџ№џ№џ№џ№?џ?џ?џ?џџќџќџќџќ>>>>џџџџџ№џ№џ№џ№>>>>||||рррр||||>>>>ќќќќ>>>>?№?№?№?№ўўўўјјјј№№№№џџџџџ№џ№џ№џ№?џ?џ?џ?џџ№џ№џ№џ№џџџџџ№џ№џ№џ№ўўўў№№№№ўўўўўўўўјјјјџџџџ?ќ?ќ?ќ?ќјјјјџџџџџјџјџјџјџџџџџјџјџјџјџџџџџјџјџјџјўўўў№№№№ўўўўќќќќјјјјџџџџ?ќ?ќ?ќ?ќјјјј?џ?џ?џ?џџќџќџќџќџџџџџќџќџќџќ?џ?џ?џ?џџќџќџќџќўўўў№№№№ўўўўјјјјќќќќџџџџ?ў?ў?ў?ўјјјјџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўўўўў№№№№ўўўў№№№№ќќќќџџџџ?ў?ў?ў?ўјјјјџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўўўўў№№№№ўўўў?р?р?р?рўўўў?џ?џ?џ?џ?џ?џ?џ?џјјјјџџџџџўџўџўџўџџџџџўџўџўџўџџџџџўџўџўџўўўўў№№№№ўўўўРРРРўўўў?џ?џ?џ?џ?џ?џ?џ?џјјјјўўўўўўўўўўўўўўўў№№№№ўўўўџ€џ€џ€џ€џџџџџџџџ?џ?џ?џ?џƒјƒјƒјƒјўўўўўўўўўўўўўўўў№№№№ўўўўџџџџџџџџџџџџ?џ?џ?џ?џƒјƒјƒјƒјўўўўўўўўўўўўўўўў№№№№ўўўўўўўўџџџџ?П?П?П?ПУјУјУјУјўўўўўўўўўўўўџџџџџўџўџўџў№№№№ўўўўџџџџќќќќџџџџ?П?П?П?ПУјУјУјУјўўўўџџџџџўџўџўџўўўўўџџџџџўџўџўџў№№№№ўўўўџџџџјјјј????ўўўў?Ÿ?Ÿ?Ÿ?Ÿујујујујўўўўџџџџџўџўџўџўўўўўџџџџџўџўџўџў№№№№ўўўўџџџџ№№№№????ўўўў?Ÿ?Ÿ?Ÿ?Ÿујујујујўўўўџџџџџўџўџўџў>ў>ў>ў>ўџџџџџўџўџўџў№№№№ўўўўџџџџ№№№№ќќќќ????ѓјѓјѓјѓјўўўўџџџџџќџќџќџќўўўўџџџџџўџўџўџў№№№№ўўўўџџџџјјјјќќќќ????ѓјѓјѓјѓјўўўўџџџџџјџјџјџјџўџўџўџўџџџџџўџўџўџў№№№№ўўўўџџџџќќќќјјјј?‡?‡?‡?‡ћјћјћјћјўўўўџџџџџ№џ№џ№џ№ўўўўўўўў№№№№>>>>ўўўўўўўўјјјј?‡?‡?‡?‡ћјћјћјћјўўўў?ў?ў?ў?ўўўўў№№№№ўўўўџџџџ№№№№?ƒ?ƒ?ƒ?ƒџјџјџјџјўўўўўўўўўўўў№№№№ўўўўџ€џ€џ€џ€№№№№?ƒ?ƒ?ƒ?ƒџјџјџјџјўўўўўўўўўўўў№№№№ўўўўРРРРрррр????џјџјџјџјўўўўўўўўўўўў№№№№џџџџџўџўџўџў?р?р?р?рџџџџџќџќџќџќрррр????џјџјџјџјџџџџџўџўџўџўџџџџџўџўџўџўўўўў№№№№џџџџџўџўџўџў№№№№џџџџџўџўџўџўРРРР?€?€?€?€џјџјџјџјџџџџџўџўџўџўџџџџџџџџџџџџўўўў№№№№џџџџџўџўџўџўјјјјџџџџџўџўџўџўРРРР?€?€?€?€џјџјџјџјџџџџџўџўџўџўџџџџџџџџџџџџўўўў№№№№?џ?џ?џ?џџќџќџќџќќќќќџџџџџўџўџўџў€€€€?€?€?€?€јјјј?џ?џ?џ?џџќџќџќџќ?џ?џ?џ?џџџџџџџџџўўўў№№№№џџџџџјџјџјџјўўўўџџџџџўџўџўџў?€?€?€?€јјјјџџџџџјџјџјџјџџџџџўџўџўџў>>>>||||ррррџџџџџ№џ№џ№џ№>>>>ќќќќ?џ?џ?џ?џџќџќџќџќ>>>>>>>>?№?№?№?№џџџџџ№џ№џ№џ№>>>>џџџџџќџќџќџќ?џ?џ?џ?џџ№џ№џ№џ№џџџџџ№џ№џ№џ№?џ?џ?џ?џџўџўџўџў>>>>||||~~~~~~~~<<<<ўўўўxxxxџџџџџ№џ№џ№џ№џџџџ№ќ№ќ№ќ№ќџџџџџјџјџјџјџџџџџјџјџјџјџџџџџџџџџџџџўўўўџџџџџџџџ~~~~????џ€џ€џ€џ€џџџџ€€€€ќќќќџџџџџјџјџјџјџŸџŸџŸџŸјўјўјўјўџџџџџќџќџќџќ?џ?џ?џ?џџќџќџќџќџџџџџџџџџџџџўўўўџџџџџџџџ~~~~????РРРРўўўўРРРРќќќќџџџџџјџјџјџјџŸџŸџŸџŸјџјџјџјџџџџџџўџўџўџўџџџџџўџўџўџўџџџџџџџџџџџџўўўў€€€€ўўўў~~~~?????р?р?р?рќќќќррррќќќќџџџџџјџјџјџјџŸџŸџŸџŸјџјџјџјџџџџџџўџўџўџўџџџџџўџўџўџўџџџџџџџџџџџџўўўў€€€€ўўўў№№№№јјјј№№№№ќќќќџџџџџјџјџјџјџŸџŸџŸџŸјџјџјџјџџџџџџўџўџўџўџџџџџўџўџўџў?џ?џ?џ?џџўџўџўџўўўўў?Р?Р?Р?Рќќќќ€€€€јјјј№№№№јјјјјјјјџџџџџ№џ№џ№џ№џŸџŸџŸџŸјџјџјџјџўўўўўўўў№№№№ўўўў?Р?Р?Р?РќќќќРРРРќќќќ?р?р?р?рќќќќ№№№№?р?р?р?рџŸџŸџŸџŸјџјџјџјџўўўў||||№№№№ўўўўррррјјјјƒƒƒƒрџрџрџрџўўўўРРРРўўўў?р?р?р?рРРРРџŸџŸџŸџŸјџјџјџјџўўўў№№№№ўўўўррррјјјјƒƒƒƒрџрџрџрџџџџџџ€џ€џ€џ€џџџџРРРРџ€џ€џ€џ€џŸџŸџŸџŸјчјчјчјчўўўў№№№№ўўўў№№№№№№№№ƒƒƒƒрџрџрџрџџџџџџџџџџџџџџ€џ€џ€џ€џџџџџŸџŸџŸџŸјчјчјчјчџџџџџўџўџўџўџџџџџ№џ№џ№џ№№№№№ўўўў№№№№№№№№?Ч?Ч?Ч?Чёўёўёўёўўўўўџџџџўўўўџџџџџџџџџўџўџўџўџџџџџјџјџјџј№№№№ўўўўјјјјрррр?Ч?Ч?Ч?Чёўёўёўёў????ќќќќ????ўўўўќќќќўўўўџџџџџўџўџўџўџџџџџќџќџќџќ№№№№ўўўўјјјјрррр?Ч?Ч?Ч?Чёўёўёўёўјјјјќќќќјјјјччччџџџџџќџќџќџќ?џ?џ?џ?џџўџўџўџў№№№№ўўўўќќќќ?Р?Р?Р?Ряяяяћќћќћќћќјјјјјјјј№№№№јчјчјчјчџџџџџјџјџјџјџџџџџўџўџўџў№№№№ўўўўќќќќ?Р?Р?Р?Ряяяяћќћќћќћќ????ќќќќ№№№№????ррррјџјџјџјџџџџџџјџјџјџјџџџџџўџўџўџў№№№№ўўўўўўўў€€€€яяяяћќћќћќћќўўўў№№№№РРРРјџјџјџјџќќќќўўўў№№№№ўўўўўўўў€€€€џџџџџјџјџјџјџџџџџџџџ№№№№џџџџ€€€€јџјџјџјџўўўўўўўў№№№№ўўўўџџџџџџџџџџџџџјџјџјџјџџџџџ€џ€џ€џ€№№№№џџџџјџјџјџјџўўўў>>>>ўўўў№№№№ўўўўџџџџџџџџџџџџџјџјџјџјўўўўРРРР№№№№ўўўўјџјџјџјџўўўўўўўў№№№№ўўўўўўўўџџџџџ№џ№џ№џ№ќќќќ?р?р?р?р№№№№ќќќќјџјџјџјџўўўўџџџџџўџўџўџў№№№№џџџџџўџўџўџўўўўўџџџџџ№џ№џ№џ№јјјј№№№№№№№№џџџџџ№џ№џ№џ№јџјџјџјџўўўўџџџџџўџўџўџў№№№№џџџџџўџўџўџў????ќќќќџџџџџ№џ№џ№џ№№№№№јјјј№№№№џџџџџјџјџјџјјџјџјџјџўўўўџџџџџўџўџўџў№№№№џџџџџўџўџўџў????ќќќќџџџџџрџрџрџр?р?р?р?рќќќќ№№№№џџџџџјџјџјџјјџјџјџјџўўўў?џ?џ?џ?џџќџќџќџќ№№№№?џ?џ?џ?џџќџќџќџќјјјјџџџџџрџрџрџрРРРРўўўў№№№№џџџџџјџјџјџјјџјџјџјџўўўўџџџџџјџјџјџј№№№№џџџџџјџјџјџјјјјјџџџџџрџрџрџрџ€џ€џ€џ€џџџџ№№№№џџџџџјџјџјџјјўјўјўјў>>>>||||џџџџџ№џ№џ№џ№ррррџџџџџ№џ№џ№џ№№№№№џџџџРРРРўўўўррррџџџџџ№џ№џ№џ№№ќ№ќ№ќ№ќ  €T*` `(`/Aњ КРРќ _NuHчџўa: @fz~Mњ4<Ј Cш Mњ0,‰>(RGэGгЧMњ$,‰>(RGэGгЧMњ ,‰>(RG<( ЮЦгЧMњ,‰~>( RGЮќ гЧMњд,Щ>(RGЮќвЧ,ЩMња<МMњр<МNuAњЊJg>S(j8PRh0( @ f BAњž0М`Aњl0AњЪCњEњ>€€€Mњ:KњrJmgB."B.&B.*LюHјˆNuS]f;AњNaИAњ„aАAњКaЈKњBAњ2aО?_@A"AњZaЈ?_@ A&Aњ‚a’?_@A*0-g@?AњЂat"h гш )сfBm>CњДоGоGвЧ|?€`Ÿ``РG]LжџHјџˆNuz|>:„"h"гш&@ @gОh(ft&h4$PешЕЫf!E$Prj,j*B№ №fB<` рf B;B!E&ТЧ&zзС!K"Ј "h"гш&AJAgz!E8A&IJЈ&fжЧkџўQ JkXAв($zЦэaдС!ERZAџZ|@.@@Z!J $zŒэaдС!J!E0EETЈ&Nu~G J(gS(`"hгш0 сgў рf)€?!@0"hгР тfBЈ|RЈ0`Р щf.ќ ˆщˆќ ˆќˆќ ˆќ ˆTЈ0`џŽ чf)@џэ@"zжвР!I!G0`џt шfiTЈ0`џJ фfG*i TЈ0`< хf|*RЈ0`џ цf |*RЈ0` уfVЈ0ii"hгш0Q+RЈ0J(gS(`NS(fHh"h гш шf TЈi`Ь сg рf)€?[€!@`ЦQ-RЈ(+kа(а(,@Cњја@2вР0(!(*‚f•VC•`. f"еVC•h (+j D ` й( `•VCеJ( g(  C(.J(gS(`V(и(Jjf&f’(dЧr`в(Вe‡Aт ’dA eвAdјаA G.( g~2(H$(8v чЁд!B8HBB(-’(QШџ(Aњж0ЈBhNu4:р2:оJBgtAњzKњШBA!B(|z@$zЈэ`дР!ERZ@џZt|@.BBZ!J $zlэ`дР!J!E0B(B(RA;ANuсюŽ ?јџ " &*$ ИИ $"”( ИИ $"˜,  ) Є d" @ œ@ $$Є$8ю M Ž й / Ž ї gрaшw ІGь—GћГp0єЛ…S#іЫЃ}Y8њнТЉ‘{eQ>, §юсдШНВЈŸ–Ž†~wpjd^YTOKGC?;852/,*'%#! ” TFMX 3@тцстхŸстщ*ц стх–ц˜“ˆˆƒртхŸстх“цž ф—žцœф•šц˜ф˜–ц”стцстщ8ц стщ0ц стщ?ц стц ртц ртц ртц с с  с с  с с  с с  с  с  с  с  с  с                                              0000000000$')+.0.+.0+..+.0300.0.0.+)+')++++.+.+.+000.00.00..+.030$ё$$$$ё$ё$ё$ё$ё$ё$ё$ё$ё$ё$ё$ё  №                                                          3 opt d+ ***********************in/out supervisor macros*************** super MACRO clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,oldsp ENDM unsuper MACRO move.l oldsp,-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp ENDM ****************************shrink memory********************* move.l 4(a7),a3 ; base page move.l #mystack,a7 move.l $c(a3),d0 ; text len add.l $14(a3),d0 ; data len add.l $1c(a3),d0 ; BSS len add.l #$100,d0 ; basepage move.l d0,-(sp) move.l a3,-(sp) clr.w -(sp) move.w #$4a,-(sp) trap #1 ; release memory add.l #12,sp ***************************goto supervisor*********************** super ;goto supervisor mode ************************revector vbl rout for music************** move.l $70.w,oldint save old vbl bclr #0,$484.w no keyclick moveq #1,d0 music #1 jsr music call init move.l #zippy,$70.w install new vbl ************get screen addr and move it to a5******************** move.w #3,-(sp) ;move function no onto stack trap #14 ;call trap addq.w #2,sp ;tidy up stack move.l d0,a5 ;copy screen addr to a5 *****************copy main screen to a5************************** move.l #7999,d0 ;no of copys to do move.l a5,a0 ;screen address to a0 move.l #pic1,a1 ;orig screen addr to a1 add.l #34,a1 ;ignore palette information piccpy move.l (a1)+,(a0)+ ;copy a1 l-word to a0 l-word+inc dbf d0,piccpy ;copy next if not finished *******************set up palette******************************** move.l #15,d0 ;no of copys to do move.l #$ff8240,a0 ;new palette addr to a0 move.l #pic1,a1 ;old palette addr to a1 addq.l #2,a1 ;ignore useless data palcpy move.w (a1)+,(a0)+ ;copy from old to new dbf d0,palcpy ;copy next if not finished *************************set regs******************************** moveq.l #0,d0 moveq.l #0,d1 moveq.l #0,d2 moveq.l #0,d3 moveq.l #0,d4 moveq.l #0,d5 moveq.l #0,d6 moveq.l #0,d7 move.l #0,a0 move.l #0,a1 move.l #0,a2 move.l #0,a3 move.l #0,a4 move.l #0,a6 move.l a5,vbl_p add.l #31184,vbl_p jsr dodfg jsr dodf2 ********************character pos work out********************** move.w #$8000,d4 ;'and' word for data transfers move.w #3,buff resmes move.l #message,mes_p ;move message addr to mes pointer nxtlet movea.l mes_p,a2 ;move pointer to a2 moveq.l #0,d0 ;clear d reg move.b (a2)+,d0 ;get char and increment pointer cmpi.w #$ff,d0 ;end of message? beq resmes ;yes? restart subi.w #32,d0 ;so space=0, not 32 etc. move.l a2,mes_p ;copy pointer back to buffer asl.w #2,d0 ;multi by 4, use l-words not bytes movea.l #fnt_tbl,a2 ;font table addr adda.l d0,a2 ;plus char no=addr of offset move.l #font,a6 ;font data adda.l (a2),a6 ;plus offset adda.l #34,a6 ;ignore palette data add.l #5120,a6 move.l a6,chr_ptr ;move font ops to buffer ***********************scroll routine*************************** moveq.l #1,d1 ;two halves of char moveq.w #15,d7 ;do half a 32 pixel char at a time scr movea.l a5,a4 ;move scr addr for working with adda.w #31998,a4 ;offset to start of work area moveq.w #31,d6 ;no of lines+1 to scroll lines andi.w #$ffef,sr ;clear extend bit in status register roxl.w (a4) ;logical shift word left one bit roxl.w -8(a4) ;logical shift word left one bit roxl.w -16(a4) ;logical shift word left one bit roxl.w -24(a4) ;logical shift word left one bit roxl.w -32(a4) ;logical shift word left one bit roxl.w -40(a4) ;logical shift word left one bit roxl.w -48(a4) ;logical shift word left one bit roxl.w -56(a4) ;logical shift word left one bit roxl.w -64(a4) ;logical shift word left one bit roxl.w -72(a4) ;logical shift word left one bit roxl.w -80(a4) ;logical shift word left one bit roxl.w -88(a4) ;logical shift word left one bit roxl.w -96(a4) ;logical shift word left one bit roxl.w -104(a4) ;logical shift word left one bit roxl.w -112(a4) ;logical shift word left one bit roxl.w -120(a4) ;logical shift word left one bit roxl.w -128(a4) ;logical shift word left one bit roxl.w -136(a4) ;logical shift word left one bit roxl.w -144(a4) roxl.w -152(a4) move.w (a6),d0 ;start copying new char and.w d4,d0 ;has bit got to be copied beq no_coa ;no? miss some code or.w #1,(a4) ;add bit required no_coa sub.l #160,a6 sub.l #160,a4 dbf d6,lines ;do all rows sub.w #1,buff beq duck cont ror.w d4 ;next mask move.l chr_ptr,a6 dbf d7,scr ;do half char addq.l #8,chr_ptr move.l chr_ptr,a6 subq.l #1,d1 bmi nxtlet moveq.l #15,d7 bra scr edd move.l d2,buff2 move.l a1,buff1 move.l #vbl_p,a1 vbl2 move.b $ff8209,d2 sub.b 3(a1),d2 bmi vbl2 move.b $ff8207,d2 sub.b 2(a1),d2 bmi vbl2 move.w #3,buff move.l buff1,a1 move.l buff2,d2 bra cont *****************the wiggle******************** dodfg move.l #mov_tbl,ba6 move.l #mov_lst,ba4 rts duck movem.l d0-a6,-(sp) move.l ba4,a4 move.l ba6,a6 move.l a5,a3 add.l #10240,a3 move.l 70(a4),72(a4) move.l 66(a4),68(a4) move.l 62(a4),64(a4) move.l 58(a4),60(a4) move.l 54(a4),56(a4) move.l 50(a4),52(a4) move.l 46(a4),48(a4) move.l 42(a4),44(a4) move.l 38(a4),40(a4) move.l 34(a4),36(a4) move.l 30(a4),32(a4) move.l 26(a4),28(a4) move.l 22(a4),24(a4) move.l 18(a4),20(a4) move.l 14(a4),16(a4) move.l 10(a4),12(a4) move.l 6(a4),8(a4) move.l 2(a4),4(a4) move.w (a4),2(a4) move.w (a6)+,(a4) moveq.l #37,d7 l_38 cmp.w #$ff,(a4) bne n_rs_mt move.w #0,(a4) move.l #mov_tbl,a6 n_rs_mt moveq.l #0,d0 move.w (a4)+,d0 tst.w d0 beq matt bmi scrol bpl scror matt add.l #160,a3 dbf d7,l_38 move.l #mov_lst,ba4 move.l a6,ba6 movem.l (sp)+,d0-a6 jmp duc2 scrol bra scr_l lt_a addq.w #1,d0 bmi scrol bra matt scror bra scr_r rt_a subq.l #1,d0 beq matt bpl scror bra matt scr_r and.w #$ffef,sr roxr.w (a3) ;scroll right roxr.w 8(a3) roxr.w 16(a3) roxr.w 24(a3) roxr.w 32(a3) roxr.w 40(a3) roxr.w 48(a3) roxr.w 56(a3) roxr.w 64(a3) roxr.w 72(a3) roxr.w 80(a3) roxr.w 88(a3) roxr.w 96(a3) roxr.w 104(a3) roxr.w 112(a3) roxr.w 120(a3) roxr.w 128(a3) roxr.w 136(a3) roxr.w 144(a3) roxr.w 152(a3) and.w #$ffef,sr roxr.w 2(a3) roxr.w 10(a3) roxr.w 18(a3) roxr.w 26(a3) roxr.w 34(a3) roxr.w 42(a3) roxr.w 50(a3) roxr.w 58(a3) roxr.w 66(a3) roxr.w 74(a3) roxr.w 82(a3) roxr.w 90(a3) roxr.w 98(a3) roxr.w 106(a3) roxr.w 114(a3) roxr.w 122(a3) roxr.w 130(a3) roxr.w 138(a3) roxr.w 146(a3) roxr.w 154(a3) and.w #$ffef,sr roxr.w 4(a3) roxr.w 12(a3) roxr.w 20(a3) roxr.w 28(a3) roxr.w 36(a3) roxr.w 44(a3) roxr.w 52(a3) roxr.w 60(a3) roxr.w 68(a3) roxr.w 76(a3) roxr.w 84(a3) roxr.w 92(a3) roxr.w 100(a3) roxr.w 108(a3) roxr.w 116(a3) roxr.w 124(a3) roxr.w 132(a3) roxr.w 140(a3) roxr.w 148(a3) roxr.w 156(a3) and.w #$ffef,sr roxr.w 6(a3) roxr.w 14(a3) roxr.w 22(a3) roxr.w 30(a3) roxr.w 38(a3) roxr.w 46(a3) roxr.w 54(a3) roxr.w 62(a3) roxr.w 70(a3) roxr.w 78(a3) roxr.w 86(a3) roxr.w 94(a3) roxr.w 102(a3) roxr.w 110(a3) roxr.w 118(a3) roxr.w 126(a3) roxr.w 134(a3) roxr.w 142(a3) roxr.w 150(a3) roxr.w 158(a3) bra rt_a scr_l and.w #$ffef,sr ;scroll right roxl.w 152(a3) roxl.w 144(a3) roxl.w 136(a3) roxl.w 128(a3) roxl.w 120(a3) roxl.w 112(a3) roxl.w 104(a3) roxl.w 96(a3) roxl.w 88(a3) roxl.w 80(a3) roxl.w 72(a3) roxl.w 64(a3) roxl.w 56(a3) roxl.w 48(a3) roxl.w 40(a3) roxl.w 32(a3) roxl.w 24(a3) roxl.w 16(a3) roxl.w 8(a3) roxl.w (a3) and.w #$ffef,sr roxl.w 154(a3) roxl.w 146(a3) roxl.w 138(a3) roxl.w 130(a3) roxl.w 122(a3) roxl.w 114(a3) roxl.w 106(a3) roxl.w 98(a3) roxl.w 90(a3) roxl.w 82(a3) roxl.w 74(a3) roxl.w 66(a3) roxl.w 58(a3) roxl.w 50(a3) roxl.w 42(a3) roxl.w 34(a3) roxl.w 26(a3) roxl.w 18(a3) roxl.w 10(a3) roxl.w 2(a3) and.w #$ffef,sr roxl.w 156(a3) roxl.w 148(a3) roxl.w 140(a3) roxl.w 132(a3) roxl.w 124(a3) roxl.w 116(a3) roxl.w 108(a3) roxl.w 100(a3) roxl.w 92(a3) roxl.w 84(a3) roxl.w 76(a3) roxl.w 68(a3) roxl.w 60(a3) roxl.w 52(a3) roxl.w 44(a3) roxl.w 36(a3) roxl.w 28(a3) roxl.w 20(a3) roxl.w 12(a3) roxl.w 4(a3) and.w #$ffef,sr roxl.w 158(a3) roxl.w 150(a3) roxl.w 142(a3) roxl.w 134(a3) roxl.w 126(a3) roxl.w 118(a3) roxl.w 110(a3) roxl.w 102(a3) roxl.w 94(a3) roxl.w 86(a3) roxl.w 78(a3) roxl.w 70(a3) roxl.w 62(a3) roxl.w 54(a3) roxl.w 46(a3) roxl.w 38(a3) roxl.w 30(a3) roxl.w 22(a3) roxl.w 14(a3) roxl.w 6(a3) bra lt_a *****************program space etc************ mov_lst ds.w 38 mov_tbl dc.w -1,0,0,-1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,-1,0,0,-1,0,0,0 dc.w $ff *************wiggle 2************************* *****************the wiggle******************** dodf2 move.l #mov_tb2,ba62 move.l #mov_ls2,ba42 rts duc2 movem.l d0-a6,-(sp) move.l ba42,a4 move.l ba62,a6 move.l a5,a3 add.l #26240,a3 move.w 118(a4),120(a4) move.l 114(a4),116(a4) move.l 110(a4),112(a4) move.l 106(a4),108(a4) move.l 102(a4),104(a4) move.l 98(a4),100(a4) move.l 94(a4),96(a4) move.l 90(a4),92(a4) move.l 86(a4),88(a4) move.l 82(a4),84(a4) move.l 78(a4),80(a4) move.l 74(a4),76(a4) move.l 70(a4),72(a4) move.l 66(a4),68(a4) move.l 62(a4),64(a4) move.l 58(a4),60(a4) move.l 54(a4),56(a4) move.l 50(a4),52(a4) move.l 46(a4),48(a4) move.l 42(a4),44(a4) move.l 38(a4),40(a4) move.l 34(a4),36(a4) move.l 30(a4),32(a4) move.l 26(a4),28(a4) move.l 22(a4),24(a4) move.l 18(a4),20(a4) move.l 14(a4),16(a4) move.l 10(a4),12(a4) move.l 6(a4),8(a4) move.l 2(a4),4(a4) move.w (a4),2(a4) move.w (a6)+,(a4) moveq.l #60,d7 l_60 cmp.w #$ff,(a4) bne n_rs_m2 move.w #0,(a4) move.l #mov_tb2,a6 n_rs_m2 moveq.l #0,d0 move.w (a4)+,d0 tst.w d0 beq mat2 bmi scrol2 bpl scror2 mat2 sub.l #160,a3 dbf d7,l_60 move.l #mov_ls2,ba42 move.l a6,ba62 movem.l (sp)+,d0-a6 jmp edd scrol2 bra scr_l2 lt_2 addq.w #1,d0 bmi scrol2 bra mat2 scror2 bra scr_r2 rt_2 subq.l #1,d0 beq mat2 bpl scror2 bra mat2 scr_r2 and.w #$ffef,sr roxr.w (a3) ;scroll right roxr.w 8(a3) roxr.w 16(a3) roxr.w 24(a3) roxr.w 32(a3) roxr.w 40(a3) roxr.w 48(a3) roxr.w 56(a3) roxr.w 64(a3) roxr.w 72(a3) roxr.w 80(a3) roxr.w 88(a3) roxr.w 96(a3) roxr.w 104(a3) roxr.w 112(a3) roxr.w 120(a3) roxr.w 128(a3) roxr.w 136(a3) roxr.w 144(a3) roxr.w 152(a3) and.w #$ffef,sr roxr.w 2(a3) roxr.w 10(a3) roxr.w 18(a3) roxr.w 26(a3) roxr.w 34(a3) roxr.w 42(a3) roxr.w 50(a3) roxr.w 58(a3) roxr.w 66(a3) roxr.w 74(a3) roxr.w 82(a3) roxr.w 90(a3) roxr.w 98(a3) roxr.w 106(a3) roxr.w 114(a3) roxr.w 122(a3) roxr.w 130(a3) roxr.w 138(a3) roxr.w 146(a3) roxr.w 154(a3) and.w #$ffef,sr roxr.w 4(a3) roxr.w 12(a3) roxr.w 20(a3) roxr.w 28(a3) roxr.w 36(a3) roxr.w 44(a3) roxr.w 52(a3) roxr.w 60(a3) roxr.w 68(a3) roxr.w 76(a3) roxr.w 84(a3) roxr.w 92(a3) roxr.w 100(a3) roxr.w 108(a3) roxr.w 116(a3) roxr.w 124(a3) roxr.w 132(a3) roxr.w 140(a3) roxr.w 148(a3) roxr.w 156(a3) bra rt_2 scr_l2 and.w #$ffef,sr ;scroll right roxl.w 152(a3) roxl.w 144(a3) roxl.w 136(a3) roxl.w 128(a3) roxl.w 120(a3) roxl.w 112(a3) roxl.w 104(a3) roxl.w 96(a3) roxl.w 88(a3) roxl.w 80(a3) roxl.w 72(a3) roxl.w 64(a3) roxl.w 56(a3) roxl.w 48(a3) roxl.w 40(a3) roxl.w 32(a3) roxl.w 24(a3) roxl.w 16(a3) roxl.w 8(a3) roxl.w (a3) and.w #$ffef,sr roxl.w 154(a3) roxl.w 146(a3) roxl.w 138(a3) roxl.w 130(a3) roxl.w 122(a3) roxl.w 114(a3) roxl.w 106(a3) roxl.w 98(a3) roxl.w 90(a3) roxl.w 82(a3) roxl.w 74(a3) roxl.w 66(a3) roxl.w 58(a3) roxl.w 50(a3) roxl.w 42(a3) roxl.w 34(a3) roxl.w 26(a3) roxl.w 18(a3) roxl.w 10(a3) roxl.w 2(a3) and.w #$ffef,sr roxl.w 156(a3) roxl.w 148(a3) roxl.w 140(a3) roxl.w 132(a3) roxl.w 124(a3) roxl.w 116(a3) roxl.w 108(a3) roxl.w 100(a3) roxl.w 92(a3) roxl.w 84(a3) roxl.w 76(a3) roxl.w 68(a3) roxl.w 60(a3) roxl.w 52(a3) roxl.w 44(a3) roxl.w 36(a3) roxl.w 28(a3) roxl.w 20(a3) roxl.w 12(a3) roxl.w 4(a3) bra lt_2 *****************program space etc************ mov_ls2 ds.w 61 mov_tb2 dc.w 0,0,1,0,1,1,2,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,2,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,-1,0,-1,-1,-2,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,-1,0,-1,-1,-2,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,-1,0,-1,-1,-2,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,-1,0,-1,-1,-2,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,1,0,1,1,2,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,2,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,2,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,2,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,-1,0,-1,-1,-2,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,-1,0,-1,-1,-2,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,-1,1,1,1,1,-1,-1 dc.w -1,-1,1,1,1,1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,-1,1,1,1,1,-1,-1 dc.w -1,-1,1,1,1,1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,-1,1,1,1,1,-1,-1 dc.w -1,-1,1,1,1,1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w $ff **********************some buffers*************************** ba4 dc.l 0 ba6 dc.l 0 ba42 dc.l 0 ba62 dc.l 0 buff1 dc.l 0 buff2 dc.l 0 buff dc.w 0 vbl_p dc.l 0 *********************terminate routine************************* term move.w #7,-(sp) trap #1 addq.w #2,sp move.l oldint,$70.w move.l #$8080000,$ff8800 move.l #$9090000,$ff8800 move.l #$a0a0000,$ff8800 unsuper clr.w -(sp) trap #1 *********************vbl music routine driver****************** zippy movem.l d0-a6,-(sp) save registers jsr (music+8) call playback movem.l (sp)+,d0-a6 restore registers move.l oldint,-(sp) old vbl on sp rts call old vbl ********************old vbl interrupt vector******************* oldint dc.l 0 *******************present char pointer************************ chr_ptr dc.l 0 **********************just another flag or two***************** mes_p dc.l 0 count dc.l 0 ******************font offset table**************************** fnt_tbl dc.l 0,16,32,48,64,80,96,112,128,144 dc.l 5120,5136,5152,5168,5184,5200,5216,5232,5248,5264 dc.l 10240,10256,10272,10288,10304,10320,10336,10352,10368,10384 dc.l 15360,15376,15392,15408,15424,15440,15456,15472,15488,15504 dc.l 20480,20496,20512,20528,20544,20560,20576,20592,20608,20624 dc.l 25600,25616,25632,25648,25664,25680,25696,25712,25728,25744 *************************message******************************* message dc.b "..THE DEMON PENGUIN DEMO" dc.b " HAS ARRIVED AT LAST...... " DC.B " HERE ARE SOME TEST CHARACTERS. " DC.B "!",34,"#$%&'()*+,-./0123456789:;<=" DC.B ">?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[####" dc.b $ff *****************************stack***************************** ds.l 100 stack space mystack ds.w 1 (stacks go backwards) *********************old stack pointer,(user sp)*************** oldsp dc.l 0 *************************binary files for inclusion************ pic1 incbin "a:\dpdemo\the_D_P_.pi1" font incbin "a:\dpdemo\bold1fnt.pi1" music incbin "a:\dpdemo\atomix.mus" music2 incbin "a:\dpdemo\rings1.mus" music3 incbin "a:\dpdemo\rings2.mus" music4 incbin "a:\dpdemo\shaolin2.mus" music5 incbin "a:\dpdemo\shaolin3.mus" music6 incbin "a:\dpdemo\shaolin4.mus" music7 incbin "a:\dpdemo\cuddly.mus" music8 incbin "a:\dpdemo\cuddly1.mus" music9 incbin "a:\dpdemo\cuddly2.mus" music10 incbin "a:\dpdemo\cuddly3.mus" music11 incbin "a:\dpdemo\sowhat.mus" music12 incbin "a:\dpdemo\sowhat1.mus" music13 incbin "a:\dpdemo\sowhat2.mus" music14 incbin "a:\dpdemo\sowhat3.mus" music15 incbin "a:\dpdemo\sowhat4.mus" opt d+ ***********************in/out supervisor macros*************** super MACRO clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,oldsp ENDM unsuper MACRO move.l oldsp,-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp ENDM ****************************shrink memory********************* move.l 4(a7),a3 ; base page move.l #mystack,a7 move.l $c(a3),d0 ; text len add.l $14(a3),d0 ; data len add.l $1c(a3),d0 ; BSS len add.l #$100,d0 ; basepage move.l d0,-(sp) move.l a3,-(sp) clr.w -(sp) move.w #$4a,-(sp) trap #1 ; release memory add.l #12,sp ***************************goto supervisor*********************** super ;goto supervisor mode ************get screen addr and move it to a5******************** move.w #3,-(sp) ;move function no onto stack trap #14 ;call trap addq.w #2,sp ;tidy up stack move.l d0,a5 ;copy screen addr to a5 *****************copy main screen to a5************************** move.l #7999,d0 ;no of copys to do move.l a5,a0 ;screen address to a0 move.l #pic1,a1 ;orig screen addr to a1 add.l #34,a1 ;ignore palette information piccpy move.l (a1)+,(a0)+ ;copy a1 l-word to a0 l-word+inc dbf d0,piccpy ;copy next if not finished *******************set up palette******************************** move.l #15,d0 ;no of copys to do move.l #$ff8240,a0 ;new palette addr to a0 move.l #pic1,a1 ;old palette addr to a1 addq.l #2,a1 ;ignore useless data palcpy move.w (a1)+,(a0)+ ;copy from old to new dbf d0,palcpy ;copy next if not finished ************************revector vbl rout for music************** move.l $70.w,oldint save old vbl bclr #0,$484.w no keyclick moveq #1,d0 music #1 jsr music1 call init move.l #music1,a0 move.l #zippy,$70.w install new vbl *************************set regs******************************** moveq.l #0,d0 moveq.l #0,d1 moveq.l #0,d2 moveq.l #0,d3 moveq.l #0,d4 moveq.l #0,d5 moveq.l #0,d6 moveq.l #0,d7 move.l #0,a1 move.l #0,a2 move.l #0,a3 move.l #0,a4 move.l #0,a6 move.l a5,vbl_p add.l #31998,vbl_p jsr dodfg jsr dodf2 ********************character pos work out********************** move.w #$8000,d4 ;'and' word for data transfers move.w #3,buff resmes move.l #message,mes_p ;move message addr to mes pointer nxtlet movea.l mes_p,a2 ;move pointer to a2 moveq.l #0,d0 ;clear d reg move.b (a2)+,d0 ;get char and increment pointer cmpi.w #$ff,d0 ;end of message? beq resmes ;yes? restart subi.w #32,d0 ;so space=0, not 32 etc. move.l a2,mes_p ;copy pointer back to buffer asl.w #2,d0 ;multi by 4, use l-words not bytes movea.l #fnt_tbl,a2 ;font table addr adda.l d0,a2 ;plus char no=addr of offset move.l #font,a6 ;font data adda.l (a2),a6 ;plus offset adda.l #34,a6 ;ignore palette data add.l #5120,a6 move.l a6,chr_ptr ;move font ops to buffer ***********************scroll routine*************************** moveq.l #1,d1 ;two halves of char moveq.w #15,d7 ;do half a 32 pixel char at a time scr movea.l a5,a4 ;move scr addr for working with adda.w #31998,a4 ;offset to start of work area moveq.w #31,d6 ;no of lines+1 to scroll lines andi.w #$ffef,sr ;clear extend bit in status register roxl.w (a4) ;logical shift word left one bit roxl.w -8(a4) ;logical shift word left one bit roxl.w -16(a4) ;logical shift word left one bit roxl.w -24(a4) ;logical shift word left one bit roxl.w -32(a4) ;logical shift word left one bit roxl.w -40(a4) ;logical shift word left one bit roxl.w -48(a4) ;logical shift word left one bit roxl.w -56(a4) ;logical shift word left one bit roxl.w -64(a4) ;logical shift word left one bit roxl.w -72(a4) ;logical shift word left one bit roxl.w -80(a4) ;logical shift word left one bit roxl.w -88(a4) ;logical shift word left one bit roxl.w -96(a4) ;logical shift word left one bit roxl.w -104(a4) ;logical shift word left one bit roxl.w -112(a4) ;logical shift word left one bit roxl.w -120(a4) ;logical shift word left one bit roxl.w -128(a4) ;logical shift word left one bit roxl.w -136(a4) ;logical shift word left one bit roxl.w -144(a4) roxl.w -152(a4) move.w (a6),d0 ;start copying new char and.w d4,d0 ;has bit got to be copied beq no_coa ;no? miss some code or.w #1,(a4) ;add bit required no_coa sub.l #160,a6 sub.l #160,a4 dbf d6,lines ;do all rows sub.w #1,buff beq duck cont ror.w d4 ;next mask move.l chr_ptr,a6 dbf d7,scr ;do half char addq.l #8,chr_ptr move.l chr_ptr,a6 subq.l #1,d1 bmi nxtlet moveq.l #15,d7 bra scr edd movem.l d0-a6,-(sp) move.l #$600ff,-(sp) trap #1 add.w #4,sp move.l d0,keybuf movem.l (sp)+,d0-a6 move.l keybuf,d0 tst.w d0 bne keyhit aftkh move.l d2,buff2 move.l a1,buff1 move.l #vbl_p,a1 vbl2 move.b $ff8209,d2 sub.b 3(a1),d2 bmi vbl2 move.b $ff8207,d2 sub.b 2(a1),d2 bmi vbl2 move.w #3,buff move.l buff1,a1 move.l buff2,d2 bra cont keybuf dc.l 0 keyhit cmp.b #97,d0 bne nxt1 move.l #music1,a0 jsr n_mus nxt1 cmp.b #98,d0 bne nxt2 move.l #music2,a0 jsr n_mus nxt2 cmp.b #99,d0 bne nxt3 move.l #music3,a0 jsr n_mus nxt3 cmp.b #100,d0 bne nxt4 move.l #music4,a0 jsr n_mus nxt4 cmp.b #101,d0 bne nxt5 move.l #music5,a0 jsr n_mus nxt5 cmp.b #102,d0 bne nxt6 move.l #music6,a0 jsr n_mus nxt6 cmp.b #103,d0 bne nxt7 move.l #music7,a0 jsr n_mus nxt7 cmp.b #104,d0 bne nxt8 move.l #music8,a0 jsr n_mus nxt8 cmp.b #105,d0 bne nxt9 move.l #music9,a0 jsr n_mus nxt9 cmp.b #106,d0 bne nxt10 move.l #music10,a0 jsr n_mus nxt10 cmp.b #107,d0 bne nxt11 move.l #music11,a0 jsr n_mus nxt11 cmp.b #108,d0 bne nxt12 move.l #music12,a0 jsr n_mus nxt12 cmp.b #109,d0 bne nxt13 move.l #music13,a0 jsr n_mus nxt13 cmp.b #110,d0 bne nxt14 move.l #music14,a0 jsr n_mus nxt14 cmp.b #111,d0 bne nxt15 move.l #music15,a0 jsr n_mus nxt15 cmp.b #112,d0 bne nxt16 move.l #music16,a0 jsr n_mus nxt16 cmp.b #32,d0 bne aftkh jmp term *****************the wiggle******************** dodfg move.l #mov_tbl,ba6 move.l #mov_lst,ba4 rts duck movem.l d0-a6,-(sp) move.l ba4,a4 move.l ba6,a6 move.l a5,a3 add.l #10240,a3 move.l 70(a4),72(a4) move.l 66(a4),68(a4) move.l 62(a4),64(a4) move.l 58(a4),60(a4) move.l 54(a4),56(a4) move.l 50(a4),52(a4) move.l 46(a4),48(a4) move.l 42(a4),44(a4) move.l 38(a4),40(a4) move.l 34(a4),36(a4) move.l 30(a4),32(a4) move.l 26(a4),28(a4) move.l 22(a4),24(a4) move.l 18(a4),20(a4) move.l 14(a4),16(a4) move.l 10(a4),12(a4) move.l 6(a4),8(a4) move.l 2(a4),4(a4) move.w (a4),2(a4) move.w (a6)+,(a4) moveq.l #37,d7 l_38 cmp.w #$ff,(a4) bne n_rs_mt move.w #0,(a4) move.l #mov_tbl,a6 n_rs_mt moveq.l #0,d0 move.w (a4)+,d0 tst.w d0 beq matt bmi scrol bpl scror matt add.l #160,a3 dbf d7,l_38 move.l #mov_lst,ba4 move.l a6,ba6 movem.l (sp)+,d0-a6 jmp duc2 scrol bra scr_l lt_a addq.w #1,d0 bmi scrol bra matt scror bra scr_r rt_a subq.l #1,d0 beq matt bpl scror bra matt scr_r and.w #$ffef,sr roxr.w (a3) ;scroll right roxr.w 8(a3) roxr.w 16(a3) roxr.w 24(a3) roxr.w 32(a3) roxr.w 40(a3) roxr.w 48(a3) roxr.w 56(a3) roxr.w 64(a3) roxr.w 72(a3) roxr.w 80(a3) roxr.w 88(a3) roxr.w 96(a3) roxr.w 104(a3) roxr.w 112(a3) roxr.w 120(a3) roxr.w 128(a3) roxr.w 136(a3) roxr.w 144(a3) roxr.w 152(a3) and.w #$ffef,sr roxr.w 2(a3) roxr.w 10(a3) roxr.w 18(a3) roxr.w 26(a3) roxr.w 34(a3) roxr.w 42(a3) roxr.w 50(a3) roxr.w 58(a3) roxr.w 66(a3) roxr.w 74(a3) roxr.w 82(a3) roxr.w 90(a3) roxr.w 98(a3) roxr.w 106(a3) roxr.w 114(a3) roxr.w 122(a3) roxr.w 130(a3) roxr.w 138(a3) roxr.w 146(a3) roxr.w 154(a3) and.w #$ffef,sr roxr.w 4(a3) roxr.w 12(a3) roxr.w 20(a3) roxr.w 28(a3) roxr.w 36(a3) roxr.w 44(a3) roxr.w 52(a3) roxr.w 60(a3) roxr.w 68(a3) roxr.w 76(a3) roxr.w 84(a3) roxr.w 92(a3) roxr.w 100(a3) roxr.w 108(a3) roxr.w 116(a3) roxr.w 124(a3) roxr.w 132(a3) roxr.w 140(a3) roxr.w 148(a3) roxr.w 156(a3) and.w #$ffef,sr roxr.w 6(a3) roxr.w 14(a3) roxr.w 22(a3) roxr.w 30(a3) roxr.w 38(a3) roxr.w 46(a3) roxr.w 54(a3) roxr.w 62(a3) roxr.w 70(a3) roxr.w 78(a3) roxr.w 86(a3) roxr.w 94(a3) roxr.w 102(a3) roxr.w 110(a3) roxr.w 118(a3) roxr.w 126(a3) roxr.w 134(a3) roxr.w 142(a3) roxr.w 150(a3) roxr.w 158(a3) bra rt_a scr_l and.w #$ffef,sr ;scroll right roxl.w 152(a3) roxl.w 144(a3) roxl.w 136(a3) roxl.w 128(a3) roxl.w 120(a3) roxl.w 112(a3) roxl.w 104(a3) roxl.w 96(a3) roxl.w 88(a3) roxl.w 80(a3) roxl.w 72(a3) roxl.w 64(a3) roxl.w 56(a3) roxl.w 48(a3) roxl.w 40(a3) roxl.w 32(a3) roxl.w 24(a3) roxl.w 16(a3) roxl.w 8(a3) roxl.w (a3) and.w #$ffef,sr roxl.w 154(a3) roxl.w 146(a3) roxl.w 138(a3) roxl.w 130(a3) roxl.w 122(a3) roxl.w 114(a3) roxl.w 106(a3) roxl.w 98(a3) roxl.w 90(a3) roxl.w 82(a3) roxl.w 74(a3) roxl.w 66(a3) roxl.w 58(a3) roxl.w 50(a3) roxl.w 42(a3) roxl.w 34(a3) roxl.w 26(a3) roxl.w 18(a3) roxl.w 10(a3) roxl.w 2(a3) and.w #$ffef,sr roxl.w 156(a3) roxl.w 148(a3) roxl.w 140(a3) roxl.w 132(a3) roxl.w 124(a3) roxl.w 116(a3) roxl.w 108(a3) roxl.w 100(a3) roxl.w 92(a3) roxl.w 84(a3) roxl.w 76(a3) roxl.w 68(a3) roxl.w 60(a3) roxl.w 52(a3) roxl.w 44(a3) roxl.w 36(a3) roxl.w 28(a3) roxl.w 20(a3) roxl.w 12(a3) roxl.w 4(a3) and.w #$ffef,sr roxl.w 158(a3) roxl.w 150(a3) roxl.w 142(a3) roxl.w 134(a3) roxl.w 126(a3) roxl.w 118(a3) roxl.w 110(a3) roxl.w 102(a3) roxl.w 94(a3) roxl.w 86(a3) roxl.w 78(a3) roxl.w 70(a3) roxl.w 62(a3) roxl.w 54(a3) roxl.w 46(a3) roxl.w 38(a3) roxl.w 30(a3) roxl.w 22(a3) roxl.w 14(a3) roxl.w 6(a3) bra lt_a *****************program space etc************ mov_lst ds.w 38 mov_tbl dc.w -1,0,0,-1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,-1,0,0,-1,0,0,0 dc.w $ff *************wiggle 2************************* *****************the wiggle******************** dodf2 move.l #mov_tb2,ba62 move.l #mov_ls2,ba42 rts duc2 movem.l d0-a6,-(sp) move.l ba42,a4 move.l ba62,a6 move.l a5,a3 add.l #26240,a3 move.w 118(a4),120(a4) move.l 114(a4),116(a4) move.l 110(a4),112(a4) move.l 106(a4),108(a4) move.l 102(a4),104(a4) move.l 98(a4),100(a4) move.l 94(a4),96(a4) move.l 90(a4),92(a4) move.l 86(a4),88(a4) move.l 82(a4),84(a4) move.l 78(a4),80(a4) move.l 74(a4),76(a4) move.l 70(a4),72(a4) move.l 66(a4),68(a4) move.l 62(a4),64(a4) move.l 58(a4),60(a4) move.l 54(a4),56(a4) move.l 50(a4),52(a4) move.l 46(a4),48(a4) move.l 42(a4),44(a4) move.l 38(a4),40(a4) move.l 34(a4),36(a4) move.l 30(a4),32(a4) move.l 26(a4),28(a4) move.l 22(a4),24(a4) move.l 18(a4),20(a4) move.l 14(a4),16(a4) move.l 10(a4),12(a4) move.l 6(a4),8(a4) move.l 2(a4),4(a4) move.w (a4),2(a4) move.w (a6)+,(a4) moveq.l #60,d7 l_60 cmp.w #$ff,(a4) bne n_rs_m2 move.w #0,(a4) move.l #mov_tb2,a6 n_rs_m2 moveq.l #0,d0 move.w (a4)+,d0 tst.w d0 beq mat2 bmi scrol2 bpl scror2 mat2 sub.l #160,a3 dbf d7,l_60 move.l #mov_ls2,ba42 move.l a6,ba62 movem.l (sp)+,d0-a6 jmp edd scrol2 bra scr_l2 lt_2 addq.w #1,d0 bmi scrol2 bra mat2 scror2 bra scr_r2 rt_2 subq.l #1,d0 beq mat2 bpl scror2 bra mat2 scr_r2 and.w #$ffef,sr roxr.w (a3) ;scroll right roxr.w 8(a3) roxr.w 16(a3) roxr.w 24(a3) roxr.w 32(a3) roxr.w 40(a3) roxr.w 48(a3) roxr.w 56(a3) roxr.w 64(a3) roxr.w 72(a3) roxr.w 80(a3) roxr.w 88(a3) roxr.w 96(a3) roxr.w 104(a3) roxr.w 112(a3) roxr.w 120(a3) roxr.w 128(a3) roxr.w 136(a3) roxr.w 144(a3) roxr.w 152(a3) and.w #$ffef,sr roxr.w 2(a3) roxr.w 10(a3) roxr.w 18(a3) roxr.w 26(a3) roxr.w 34(a3) roxr.w 42(a3) roxr.w 50(a3) roxr.w 58(a3) roxr.w 66(a3) roxr.w 74(a3) roxr.w 82(a3) roxr.w 90(a3) roxr.w 98(a3) roxr.w 106(a3) roxr.w 114(a3) roxr.w 122(a3) roxr.w 130(a3) roxr.w 138(a3) roxr.w 146(a3) roxr.w 154(a3) and.w #$ffef,sr roxr.w 4(a3) roxr.w 12(a3) roxr.w 20(a3) roxr.w 28(a3) roxr.w 36(a3) roxr.w 44(a3) roxr.w 52(a3) roxr.w 60(a3) roxr.w 68(a3) roxr.w 76(a3) roxr.w 84(a3) roxr.w 92(a3) roxr.w 100(a3) roxr.w 108(a3) roxr.w 116(a3) roxr.w 124(a3) roxr.w 132(a3) roxr.w 140(a3) roxr.w 148(a3) roxr.w 156(a3) bra rt_2 scr_l2 and.w #$ffef,sr ;scroll right roxl.w 152(a3) roxl.w 144(a3) roxl.w 136(a3) roxl.w 128(a3) roxl.w 120(a3) roxl.w 112(a3) roxl.w 104(a3) roxl.w 96(a3) roxl.w 88(a3) roxl.w 80(a3) roxl.w 72(a3) roxl.w 64(a3) roxl.w 56(a3) roxl.w 48(a3) roxl.w 40(a3) roxl.w 32(a3) roxl.w 24(a3) roxl.w 16(a3) roxl.w 8(a3) roxl.w (a3) and.w #$ffef,sr roxl.w 154(a3) roxl.w 146(a3) roxl.w 138(a3) roxl.w 130(a3) roxl.w 122(a3) roxl.w 114(a3) roxl.w 106(a3) roxl.w 98(a3) roxl.w 90(a3) roxl.w 82(a3) roxl.w 74(a3) roxl.w 66(a3) roxl.w 58(a3) roxl.w 50(a3) roxl.w 42(a3) roxl.w 34(a3) roxl.w 26(a3) roxl.w 18(a3) roxl.w 10(a3) roxl.w 2(a3) and.w #$ffef,sr roxl.w 156(a3) roxl.w 148(a3) roxl.w 140(a3) roxl.w 132(a3) roxl.w 124(a3) roxl.w 116(a3) roxl.w 108(a3) roxl.w 100(a3) roxl.w 92(a3) roxl.w 84(a3) roxl.w 76(a3) roxl.w 68(a3) roxl.w 60(a3) roxl.w 52(a3) roxl.w 44(a3) roxl.w 36(a3) roxl.w 28(a3) roxl.w 20(a3) roxl.w 12(a3) roxl.w 4(a3) bra lt_2 *****************program space etc************ mov_ls2 ds.w 61 mov_tb2 dc.w 1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w -1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,1,0,1,1,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,-1,0,-1,-1,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,-1,0,-1,-1,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,-1,1,1,1,1,-1,-1 dc.w -1,-1,1,1,1,1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,-1,1,1,1,1,-1,-1 dc.w -1,-1,1,1,1,1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,-1,1,1,1,1,-1,-1 dc.w -1,-1,1,1,1,1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w $ff **********************some buffers*************************** ba4 dc.l 0 ba6 dc.l 0 ba42 dc.l 0 ba62 dc.l 0 buff1 dc.l 0 buff2 dc.l 0 buff dc.w 0 vbl_p dc.l 0 ***********************new music a0=addr of music************ n_mus moveq.l #1,d0 jsr (a0) rts *********************terminate routine************************* term move.l oldint,$70.w move.l #$8080000,$ff8800 move.l #$9090000,$ff8800 move.l #$a0a0000,$ff8800 unsuper clr.w -(sp) trap #1 *********************vbl music routine driver****************** zippy movem.l d0-a6,-(sp) save registers jsr 8(a0) call playback movem.l (sp)+,d0-a6 restore registers move.l oldint,-(sp) old vbl on sp rts call old vbl ********************old vbl interrupt vector******************* oldint dc.l 0 *******************present char pointer************************ chr_ptr dc.l 0 **********************just another flag or two***************** mes_p dc.l 0 count dc.l 0 ******************font offset table**************************** fnt_tbl dc.l 0,16,32,48,64,80,96,112,128,144 dc.l 5120,5136,5152,5168,5184,5200,5216,5232,5248,5264 dc.l 10240,10256,10272,10288,10304,10320,10336,10352,10368,10384 dc.l 15360,15376,15392,15408,15424,15440,15456,15472,15488,15504 dc.l 20480,20496,20512,20528,20544,20560,20576,20592,20608,20624 dc.l 25600,25616,25632,25648,25664,25680,25696,25712,25728,25744 *************************message******************************* message DC.B "BE WARNED, THIS SCROLLTEXT IS LONG.... " dc.b "PRESS ",34,"A",34," TO ",34,"P",34," FOR" DC.B " DIFFERENT MUSIXX.>....................." DC.B " YES, THE FINAL VERSION OF THE FIRST DEMON" DC.B " PENGUIN DEMO HAS ARRIVED AT LAST........." DC.B " THIS DEMO IS DEDICATED TO THE TWO BEST" DC.B " DEMO WRITING GROUPS ON THE ST, TLB AND" DC.B " [, IT IS ALSO DEDICATED TO THE SOFTVILLE" DC.B " PUBLIC DOMAIN LIBRARY..................." DC.B " LOOK, NO BORDER (ROUTINES)" DC.B "!!!!!!!!! THANX TO THE SLIGHTLY" DC.B " ILLEGAL CROSSBONES, (OF SLIPPERY SID AND" DC.B " THE SLIMEBALLS), FOR THE SCROLL ROUTINE," DC.B " AS YOU CAN SEE CROSSBONES, I'VE EDITED" DC.B " YOUR ROUTINES, TO GIVE ME THE WIGGLE." DC.B "................" DC.B " ONE QUICK LAST MESSAGE TO CROSSBONES..." DC.B " NO, I WILL NOT JOIN YOUR GROUP, I'M TRYING" DC.B " TO STAY LEGAL...>...>...>...KEEP ON READING" DC.B "...>...>...>...CREDITS FOR THIS DEMO GO TO" DC.B "->->->->->->->ALL CODING, (EXCEPT FOR ORIGINAL" DC.B " SCROLL ROUTINE BY CROSSBONES) THE DEMON" DC.B " PENGUIN, (PREVIOUSLY KNOWN AS JAMEWSOFT WITH" DC.B " A STRING OF 19 CRAP STOS AND MASTERSOUND" DC.B " DEMOS)... ALL GRAFIX BY THE DEMON PENGUIN..." DC.B " FONT BORROWED FROM CROSSBONES, (THANX)..." DC.B " MUSIXX SUPPLIED BY CROSSBONES, ACCESS," DC.B " AND ONE OF CROSSBONES FRIENDS, BLUEBEARD..." DC.B " (ACCORDING TO CROSSBONES THE MUSIXX WERE" DC.B " ALL RIPPED FROM THE ORIGINAL SOURCES BY" DC.B " ZIPPY OF THE MEDWAY BOYS).............." DC.B " DID YOU HERE THE ONE ABOUT THE TWO ELEPHANTS" DC.B " THAT FELL OF A CLIFF? BOOM BOOM..." DC.B " OKAY, JUST ONE MORE JOKE THEN I PROMISE I'LL" DC.B " STOP..... HOW DO YOU KEEP A LOAD OF DEMO" DC.B " LOVERS IN SUSPENCE?? I'LL TELL" DC.B " YOU AT THE END OF THE SCROLLTEXT........." DC.B " WELL. IT'S A WONDERFUL DAY OUTSIDE, (I SHOULD" DC.B " BE OUT THERE ENJOYING THE SUN AS OPPOSED TO" DC.B " WRITING THIS STUPID SCROLLTEXT), THE TEMPERATURE" DC.B " IS WELL OVER 20 DEGREES C, OR FOR THOSE OF YOU" DC.B " WHO ARE OLDER THATS WELL OVER 68 DEGREES F, AND" DC.B " THERE ARE BLUE SKIES EVERYWHERE, WHICH IS GREAT" DC.B " FOR THE SOUTH OF ENGLAND, BUT CONSIDERING THE LAST" DC.B " FEW WEEKS I'M GLAD ITS COOLER NOW, (IT DID REACH OVER" DC.B " 31 DEGREES C IN THE OFFICE LAST WEEK, AND IT WASN'T" DC.B " HELPED MUCH BY THE BUILDING OVER THE ROAD CATCHING" DC.B " FIRE. BUT IT ONLY TOOK THE FIRE BRIGADE ABOUT" DC.B " 1/4 OF AN HOUR TO PUT IT OUT)..........>>>>" DC.B "......#......#......#......" DC.B " MY BROTHERS ",34,"A",34," LEVEL RESULTS ARRIVE NEXT WEEK," DC.B " AND MY GCSE RESULTS THE WEEK AFTER. AND I HAVE" DC.B " TO ADMIT THAT NEITHER OF US ARE REALLY WORRIED ABOUT OUR" DC.B " RESULTS, HE'S EXPECTING 2 'A'S AND" DC.B " A 'B'. AND I'M EXPECTING 7 A'S, YES SEVEN, ONE" DC.B " 'B', AND A 'C'............WITH RESULTS LIKE THAT" DC.B " IT'S NOT SUPRISING THAT I HAVE LEARNT THIS MUCH ASSEMBLER" DC.B " IN JUST TWO MONTHS.........................." DC.B " NEXT. A MESAGE FROM OUR SPONSER, (IN OTHER WORDS" DC.B " AN ADVERT), FOLLOWED BY THE GREETINGS........." DC.B " BUT FIRST, A QUESTION--->>>--->>>--->>>--" DC.B "-WHY, IS IT IMPOSSIBLE TO BUY CARTONS OF MILK" DC.B " THAT OPEN PROPERLY AND EASILY, EXCEPT FROM THE" DC.B " PLACE THAT CHARGES TWICE AS MUCH AS EVERYBODY" DC.B " ELSE?................................" DC.B " ADVERTS...............GAMER COMPUTERS, BRIGHTON." DC.B " THE BOSS IS STINGY, THE SERVICE IS CRAP, AND" DC.B " THEY NEVER GIVE REFUNDS.(THESE ARE ADVERTS?)..........." DC.B "W H SMITHS, BRIGHTON, THE FRIENDLY STAFF ARE" DC.B " VERY HELPFUL, AND AS SUCH HAVE GOT MY CUSTOM" DC.B " FOR AT LEAST ANOTHER YEAR, (UNLIKE GAMER WHO I" DC.B " NOW NEVER USE).................." DC.B " THE FINAL ADVERT IS FOR SOFTVILLE, PROBABLY" DC.B " THE BEST PUBLIC DOMAIN LIBRARY IN THE COUNTRY" DC.B "................ISN'T IT ABOUT TIME YOU CHANGED" DC.B " THE MUSIC..(PERSONALLY I LIKE 'D')...................." DC.B ".TIME FOR EGO TRIPPERS, YES ITS THE" DC.B " GREETINGS >>>>>>>>>>>>>>>>>>>>>>>>" DC.B " MEGA GREETS GOTO > BROCK > JUSTIN" DC.B " > MY PARENTS, (WHO ARE GOING AWAY FOR THE" DC.B " THIRD TIME IN TWO MONTHS SOON, AND LEAVING" DC.B " ME WITH THE HOUSE TO MYSELF FOR A WEEK OR SO AGAIN) >" DC.B " CROSSBONES, (NO, I WILL NOT JOIN YOUR GROUP," DC.B " I MAY SHARE YOUR LOVE OF ST'S AND PROGRAMMING," DC.B " BUT I DO NOT SHARE YOUR LOVE OF PIRATING) >" DC.B " THE REST OF SLIPPERY SID AND THE SLIMEBALLS >" DC.B " ACCESS > STEVE M > DOUGY > THE GOODAYS (WHO ELSE" DC.B " KNOWS TO TWIN BROTHERS, BOTH WELL OVER SIX FEET" DC.B " TALL, BUILT LIKE NO ONE ELSE ON EARTH," DC.B " WHO COULD HAVE THE CHOICE OF ABOUT HALF" DC.B " THE FEW HUNDRED GIRLS THAT WERE IN OUR YEAR AT SCHOOL," DC.B " BUT WERE MORE INTERESTED IN BODY BUILDING" DC.B " AND STUDYING. THEY ARE THE ONLY PEOPLE" DC.B " WHO WERE EVEN REMOTELY AS BRAINY AS ME AT SCHOOL" DC.B ", BUT THEY ARE BOTH VERY GREEN, AND VERY HONEST," DC.B " TOO HONEST). >>>>>>>>>>>>>>>>>> BEFORE WE" DC.B " CONTINUE WITH THE NORMAL GREETINGS A LITTLE" DC.B " SOMTHING FOR THE GREENIES TO THINK ABOUT..." DC.B " THE GREENIES WOULD LIKE TO SAVE THE WORLD." DC.B "....WELL, WHO IS DESTROYING IT? THE HUMANS.. SO, TO" DC.B " SAVE THE WORLD, ALL YOU HAVE TO DO IS GET RID OF" DC.B " ALL THE HUMANS. AS FAR AS I CAN SEE THERE ARE" DC.B " TWO MAIN WAYS TO DO THIS, EITHER (A), LAUNCH THE" DC.B " WORLD INTO WORLD WAR 3, (MY PERSONAL FAVORITE)" DC.B " THE WORLD WOULD RECOVER" DC.B " EVENTUALLY AND THERE WOULD BE NO HUMANS TO" DC.B " DESTROY IT AGAIN, OR (B), CARRY ON AS WE" DC.B " ARE NOW, MAKING THE WORLD EVENTUALLY" DC.B " UN-INHABITABLE BY HUMANS, MANKIND WOULD DIE OFF." DC.B " AND WITHIN A COUPLE OF MILLION YEARS, THE" DC.B " WORLD RECOVERS, EITHER WAY IT'S A KIND OF EVOLUTION" DC.B ", SO WHATS THE POINT OF TRYING TO STOP IT.." DC.B "........>>>>>>>>>>>>>>>AND BACK TO THE" DC.B " NORMAL GREETINGS>>>>>>>>>>>>>>>>>>" DC.B " MEGAWOT > JAILHOUSE > DEFJAM > DREAM" DC.B " WEAVERS > MEDWAY BOYS > AUTOMATION >" DC.B " REPLICANTS > TCB > TLB > LEVEL 16 >" DC.B " ALL MEMBERS OF THE UNION > DIGITAL" DC.B " INSANITY > POMPEY PIRATES > THE EMPIRE" DC.B " > ATARI > SOFTVILLE > BEST BYTE (GREAT" DC.B " DISKS AT GREAT PRICES) > HMV > VIRGIN >" DC.B " H.M.I.T (THANX FOR THE PART TIME WORK) >" DC.B " KAM > GUARDIANS OF LOGIK > G FORCE >" DC.B " THE BLUE SYSTEM > BLADERUNNERS > FOF >" DC.B " FOFT > REVOLUTION > BBC > MANOLO DE GITAN" DC.B " > B52'S > TECHNOTRONIC > THE TURTLES >" DC.B " THEY MIGHT BE GIANTS > S-EXPRESS >" DC.B " BOMB THE BASS > DELIGHT > BIRDY >" DC.B " HOTLINE > MANTRONIX > THE BASTARD SQUAD" DC.B " > MCA > AENIGMATICAS > SEWER SOFTWARE >" DC.B " (GREETINGS FROM CROSSBONES: GOOD LUCK TO THE" DC.B " CORPORATION: AND GOOD LUCK TO THE ALIEN" DC.B " IN WHATEVER HE DOES NEXT) > BACK TO STUFF" DC.B " FROM THE DEMON PENGUIN > ALL ROMS" DC.B " (RIP OFF MERCHANTS, OF WHICH I KNNOW A FEW" DC.B " > TERMINATOR > POLTERGIESTS > TEX > EXCEPTIONS" DC.B " > SUB-HUMANS IN TURKEY > UN-NAMEABLES >" DC.B " BOBBY E + DARREN I > RADICAL SYSTEMS >" DC.B " MATT A > PARADISE > ST SQUAD > FF > SYNC" DC.B " > GHOST > FTB > AND A VERY SPECIAL" DC.B " MEGA MEGA MEGA GREETING GOES TO THE" DC.B " FOLLOWING THREE > ANTONIA R > KIM G" DC.B " > CLAIR M ......................." DC.B " RIGHT, THIS SCROLLTEXT WOULD APPEAR TO" DC.B " BE ABOUT 8KB OR MORE LONG, SO I THINK" DC.B " IT'S TIME TO WRAP.................." DC.B " 10 9 8 7 6 5 4" DC.B " 3 2 1 GO BYE BYE...." DC.B " " dc.b " THIS SOFTVILLE DEMO WAS BROUGHT TO YOU" DC.B " BY # THE DEMON PENGUIN # , AND IS" DC.B " DEDICATED TO SOFTVILLE, [ TCB [ , AND TLB" DC.B " WRAP, WRAZ, WARP ETC... " dc.b $ff *****************************stack***************************** ds.l 100 stack space mystack ds.w 1 (stacks go backwards) *********************old stack pointer,(user sp)*************** oldsp dc.l 0 *************************binary files for inclusion************ pic1 incbin "b:the_D_P_.pi1" font incbin "b:bold1fnt.pi1" music1 incbin "b:atomix.mus" music2 incbin "b:rings1.mus" music3 incbin "b:rings2.mus" music4 incbin "b:shaolin2.mus" music5 incbin "b:shaolin3.mus" music6 incbin "b:shaolin4.mus" music7 incbin "b:cuddly.mus" music8 incbin "b:cuddly1.mus" music9 incbin "b:cuddly2.mus" music10 incbin "b:cuddly3.mus" music11 incbin "b:sowhat.mus" music12 incbin "b:sowhat1.mus" music13 incbin "b:sowhat2.mus" music14 incbin "b:sowhat3.mus" music15 incbin "b:sowhat4.mus" music16 incbin "b:track.mus" opt d+ ***********************in/out supervisor macros*************** super MACRO clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,oldsp ENDM unsuper MACRO move.l oldsp,-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp ENDM ****************************shrink memory********************* move.l 4(a7),a3 ; base page move.l #mystack,a7 move.l $c(a3),d0 ; text len add.l $14(a3),d0 ; data len add.l $1c(a3),d0 ; BSS len add.l #$100,d0 ; basepage move.l d0,-(sp) move.l a3,-(sp) clr.w -(sp) move.w #$4a,-(sp) trap #1 ; release memory add.l #12,sp ***************************goto supervisor*********************** super ;goto supervisor mode ************get screen addr and move it to a5******************** move.w #3,-(sp) ;move function no onto stack trap #14 ;call trap addq.w #2,sp ;tidy up stack move.l d0,a5 ;copy screen addr to a5 *****************copy main screen to a5************************** move.l #7999,d0 ;no of copys to do move.l a5,a0 ;screen address to a0 move.l #pic1,a1 ;orig screen addr to a1 add.l #34,a1 ;ignore palette information piccpy move.l (a1)+,(a0)+ ;copy a1 l-word to a0 l-word+inc dbf d0,piccpy ;copy next if not finished *******************set up palette******************************** move.l #15,d0 ;no of copys to do move.l #$ff8240,a0 ;new palette addr to a0 move.l #pic1,a1 ;old palette addr to a1 addq.l #2,a1 ;ignore useless data palcpy move.w (a1)+,(a0)+ ;copy from old to new dbf d0,palcpy ;copy next if not finished ************************revector vbl rout for music************** move.l $70.w,oldint save old vbl bclr #0,$484.w no keyclick moveq #1,d0 music #1 jsr music1 call init move.l #music1,a0 move.l #zippy,$70.w install new vbl *************************set regs******************************** moveq.l #0,d0 moveq.l #0,d1 moveq.l #0,d2 moveq.l #0,d3 moveq.l #0,d4 moveq.l #0,d5 moveq.l #0,d6 moveq.l #0,d7 move.l #0,a1 move.l #0,a2 move.l #0,a3 move.l #0,a4 move.l #0,a6 move.l a5,vbl_p add.l #26880,vbl_p jsr dodfg jsr dodf2 ********************character pos work out********************** move.w #$8000,d4 ;'and' word for data transfers move.w #3,buff resmes move.l #message,mes_p ;move message addr to mes pointer nxtlet movea.l mes_p,a2 ;move pointer to a2 moveq.l #0,d0 ;clear d reg move.b (a2)+,d0 ;get char and increment pointer cmpi.w #$ff,d0 ;end of message? beq resmes ;yes? restart subi.w #32,d0 ;so space=0, not 32 etc. move.l a2,mes_p ;copy pointer back to buffer asl.w #2,d0 ;multi by 4, use l-words not bytes movea.l #fnt_tbl,a2 ;font table addr adda.l d0,a2 ;plus char no=addr of offset move.l #font,a6 ;font data adda.l (a2),a6 ;plus offset adda.l #34,a6 ;ignore palette data add.l #5120,a6 move.l a6,chr_ptr ;move font ops to buffer ***********************scroll routine*************************** moveq.l #1,d1 ;two halves of char moveq.w #15,d7 ;do half a 32 pixel char at a time scr jmp duck scr2 movea.l a5,a4 ;move scr addr for working with adda.w #31998,a4 ;offset to start of work area moveq.w #31,d6 ;no of lines+1 to scroll lines andi.w #$ffef,sr ;clear extend bit in status register roxl.w (a4) ;logical shift word left one bit roxl.w -8(a4) ;logical shift word left one bit roxl.w -16(a4) ;logical shift word left one bit roxl.w -24(a4) ;logical shift word left one bit roxl.w -32(a4) ;logical shift word left one bit roxl.w -40(a4) ;logical shift word left one bit roxl.w -48(a4) ;logical shift word left one bit roxl.w -56(a4) ;logical shift word left one bit roxl.w -64(a4) ;logical shift word left one bit roxl.w -72(a4) ;logical shift word left one bit roxl.w -80(a4) ;logical shift word left one bit roxl.w -88(a4) ;logical shift word left one bit roxl.w -96(a4) ;logical shift word left one bit roxl.w -104(a4) ;logical shift word left one bit roxl.w -112(a4) ;logical shift word left one bit roxl.w -120(a4) ;logical shift word left one bit roxl.w -128(a4) ;logical shift word left one bit roxl.w -136(a4) ;logical shift word left one bit roxl.w -144(a4) roxl.w -152(a4) move.w (a6),d0 ;start copying new char and.w d4,d0 ;has bit got to be copied beq no_coa ;no? miss some code or.w #1,(a4) ;add bit required no_coa sub.l #160,a6 sub.l #160,a4 dbf d6,lines ;do all rows sub.w #1,buff beq duc2 cont ror.w d4 ;next mask move.l chr_ptr,a6 dbf d7,scr2 ;do half char addq.l #8,chr_ptr move.l chr_ptr,a6 subq.l #1,d1 bmi nxtlet moveq.l #15,d7 bra scr edd movem.l d0-a6,-(sp) move.l #$600ff,-(sp) trap #1 add.w #4,sp move.l d0,keybuf movem.l (sp)+,d0-a6 move.l keybuf,d0 tst.w d0 bne keyhit aftkh move.l d2,buff2 move.l a1,buff1 move.l #vbl_p,a1 vbl2 move.b $ff8209,d2 sub.b 3(a1),d2 bmi vbl2 move.b $ff8207,d2 sub.b 2(a1),d2 bmi vbl2 move.w #3,buff move.l buff1,a1 move.l buff2,d2 bra cont keybuf dc.l 0 keyhit cmp.b #97,d0 bne nxt1 move.l #music1,a0 jsr n_mus nxt1 cmp.b #98,d0 bne nxt2 move.l #music2,a0 jsr n_mus nxt2 cmp.b #99,d0 bne nxt3 move.l #music3,a0 jsr n_mus nxt3 cmp.b #100,d0 bne nxt4 move.l #music4,a0 jsr n_mus nxt4 cmp.b #101,d0 bne nxt5 move.l #music5,a0 jsr n_mus nxt5 cmp.b #102,d0 bne nxt6 move.l #music6,a0 jsr n_mus nxt6 cmp.b #103,d0 bne nxt7 move.l #music7,a0 jsr n_mus nxt7 cmp.b #104,d0 bne nxt8 move.l #music8,a0 jsr n_mus nxt8 cmp.b #105,d0 bne nxt9 move.l #music9,a0 jsr n_mus nxt9 cmp.b #106,d0 bne nxt10 move.l #music10,a0 jsr n_mus nxt10 cmp.b #107,d0 bne nxt11 move.l #music11,a0 jsr n_mus nxt11 cmp.b #108,d0 bne nxt12 move.l #music12,a0 jsr n_mus nxt12 cmp.b #109,d0 bne nxt13 move.l #music13,a0 jsr n_mus nxt13 cmp.b #110,d0 bne nxt14 move.l #music14,a0 jsr n_mus nxt14 cmp.b #111,d0 bne nxt15 move.l #music15,a0 jsr n_mus nxt15 cmp.b #32,d0 bne aftkh jmp term *****************the wiggle******************** dodfg move.l #mov_tbl,ba6 move.l #mov_lst,ba4 rts duck movem.l d0-a6,-(sp) move.l ba4,a4 move.l ba6,a6 move.l a5,a3 add.l #10240,a3 move.l 70(a4),72(a4) move.l 66(a4),68(a4) move.l 62(a4),64(a4) move.l 58(a4),60(a4) move.l 54(a4),56(a4) move.l 50(a4),52(a4) move.l 46(a4),48(a4) move.l 42(a4),44(a4) move.l 38(a4),40(a4) move.l 34(a4),36(a4) move.l 30(a4),32(a4) move.l 26(a4),28(a4) move.l 22(a4),24(a4) move.l 18(a4),20(a4) move.l 14(a4),16(a4) move.l 10(a4),12(a4) move.l 6(a4),8(a4) move.l 2(a4),4(a4) move.w (a4),2(a4) move.w (a6)+,(a4) moveq.l #37,d7 l_38 cmp.w #$ff,(a4) bne n_rs_mt move.w #0,(a4) move.l #mov_tbl,a6 n_rs_mt moveq.l #0,d0 move.w (a4)+,d0 tst.w d0 beq matt bmi scrol bpl scror matt add.l #160,a3 dbf d7,l_38 move.l #mov_lst,ba4 move.l a6,ba6 movem.l (sp)+,d0-a6 jmp scr2 scrol bra scr_l lt_a addq.w #1,d0 bmi scrol bra matt scror bra scr_r rt_a subq.l #1,d0 beq matt bpl scror bra matt scr_r and.w #$ffef,sr roxr.w (a3) ;scroll right roxr.w 8(a3) roxr.w 16(a3) roxr.w 24(a3) roxr.w 32(a3) roxr.w 40(a3) roxr.w 48(a3) roxr.w 56(a3) roxr.w 64(a3) roxr.w 72(a3) roxr.w 80(a3) roxr.w 88(a3) roxr.w 96(a3) roxr.w 104(a3) roxr.w 112(a3) roxr.w 120(a3) roxr.w 128(a3) roxr.w 136(a3) roxr.w 144(a3) roxr.w 152(a3) and.w #$ffef,sr roxr.w 2(a3) roxr.w 10(a3) roxr.w 18(a3) roxr.w 26(a3) roxr.w 34(a3) roxr.w 42(a3) roxr.w 50(a3) roxr.w 58(a3) roxr.w 66(a3) roxr.w 74(a3) roxr.w 82(a3) roxr.w 90(a3) roxr.w 98(a3) roxr.w 106(a3) roxr.w 114(a3) roxr.w 122(a3) roxr.w 130(a3) roxr.w 138(a3) roxr.w 146(a3) roxr.w 154(a3) and.w #$ffef,sr roxr.w 4(a3) roxr.w 12(a3) roxr.w 20(a3) roxr.w 28(a3) roxr.w 36(a3) roxr.w 44(a3) roxr.w 52(a3) roxr.w 60(a3) roxr.w 68(a3) roxr.w 76(a3) roxr.w 84(a3) roxr.w 92(a3) roxr.w 100(a3) roxr.w 108(a3) roxr.w 116(a3) roxr.w 124(a3) roxr.w 132(a3) roxr.w 140(a3) roxr.w 148(a3) roxr.w 156(a3) and.w #$ffef,sr roxr.w 6(a3) roxr.w 14(a3) roxr.w 22(a3) roxr.w 30(a3) roxr.w 38(a3) roxr.w 46(a3) roxr.w 54(a3) roxr.w 62(a3) roxr.w 70(a3) roxr.w 78(a3) roxr.w 86(a3) roxr.w 94(a3) roxr.w 102(a3) roxr.w 110(a3) roxr.w 118(a3) roxr.w 126(a3) roxr.w 134(a3) roxr.w 142(a3) roxr.w 150(a3) roxr.w 158(a3) bra rt_a scr_l and.w #$ffef,sr ;scroll right roxl.w 152(a3) roxl.w 144(a3) roxl.w 136(a3) roxl.w 128(a3) roxl.w 120(a3) roxl.w 112(a3) roxl.w 104(a3) roxl.w 96(a3) roxl.w 88(a3) roxl.w 80(a3) roxl.w 72(a3) roxl.w 64(a3) roxl.w 56(a3) roxl.w 48(a3) roxl.w 40(a3) roxl.w 32(a3) roxl.w 24(a3) roxl.w 16(a3) roxl.w 8(a3) roxl.w (a3) and.w #$ffef,sr roxl.w 154(a3) roxl.w 146(a3) roxl.w 138(a3) roxl.w 130(a3) roxl.w 122(a3) roxl.w 114(a3) roxl.w 106(a3) roxl.w 98(a3) roxl.w 90(a3) roxl.w 82(a3) roxl.w 74(a3) roxl.w 66(a3) roxl.w 58(a3) roxl.w 50(a3) roxl.w 42(a3) roxl.w 34(a3) roxl.w 26(a3) roxl.w 18(a3) roxl.w 10(a3) roxl.w 2(a3) and.w #$ffef,sr roxl.w 156(a3) roxl.w 148(a3) roxl.w 140(a3) roxl.w 132(a3) roxl.w 124(a3) roxl.w 116(a3) roxl.w 108(a3) roxl.w 100(a3) roxl.w 92(a3) roxl.w 84(a3) roxl.w 76(a3) roxl.w 68(a3) roxl.w 60(a3) roxl.w 52(a3) roxl.w 44(a3) roxl.w 36(a3) roxl.w 28(a3) roxl.w 20(a3) roxl.w 12(a3) roxl.w 4(a3) and.w #$ffef,sr roxl.w 158(a3) roxl.w 150(a3) roxl.w 142(a3) roxl.w 134(a3) roxl.w 126(a3) roxl.w 118(a3) roxl.w 110(a3) roxl.w 102(a3) roxl.w 94(a3) roxl.w 86(a3) roxl.w 78(a3) roxl.w 70(a3) roxl.w 62(a3) roxl.w 54(a3) roxl.w 46(a3) roxl.w 38(a3) roxl.w 30(a3) roxl.w 22(a3) roxl.w 14(a3) roxl.w 6(a3) bra lt_a *****************program space etc************ mov_lst ds.w 38 mov_tbl dc.w -1,0,0,-1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,-1,0,0,-1,0,0,0 dc.w $ff *************wiggle 2************************* *****************the wiggle******************** dodf2 move.l #mov_tb2,ba62 move.l #mov_ls2,ba42 rts duc2 movem.l d0-a6,-(sp) move.l ba42,a4 move.l ba62,a6 move.l a5,a3 add.l #26240,a3 move.w 118(a4),120(a4) move.l 114(a4),116(a4) move.l 110(a4),112(a4) move.l 106(a4),108(a4) move.l 102(a4),104(a4) move.l 98(a4),100(a4) move.l 94(a4),96(a4) move.l 90(a4),92(a4) move.l 86(a4),88(a4) move.l 82(a4),84(a4) move.l 78(a4),80(a4) move.l 74(a4),76(a4) move.l 70(a4),72(a4) move.l 66(a4),68(a4) move.l 62(a4),64(a4) move.l 58(a4),60(a4) move.l 54(a4),56(a4) move.l 50(a4),52(a4) move.l 46(a4),48(a4) move.l 42(a4),44(a4) move.l 38(a4),40(a4) move.l 34(a4),36(a4) move.l 30(a4),32(a4) move.l 26(a4),28(a4) move.l 22(a4),24(a4) move.l 18(a4),20(a4) move.l 14(a4),16(a4) move.l 10(a4),12(a4) move.l 6(a4),8(a4) move.l 2(a4),4(a4) move.w (a4),2(a4) move.w (a6)+,(a4) moveq.l #60,d7 l_60 cmp.w #$ff,(a4) bne n_rs_m2 move.w #0,(a4) move.l #mov_tb2,a6 n_rs_m2 moveq.l #0,d0 move.w (a4)+,d0 tst.w d0 beq mat2 bmi scrol2 bpl scror2 mat2 sub.l #160,a3 dbf d7,l_60 move.l #mov_ls2,ba42 move.l a6,ba62 movem.l (sp)+,d0-a6 jmp scr2 scrol2 bra scr_l2 lt_2 addq.w #1,d0 bmi scrol2 bra mat2 scror2 bra scr_r2 rt_2 subq.l #1,d0 beq mat2 bpl scror2 bra mat2 scr_r2 and.w #$ffef,sr roxr.w (a3) ;scroll right roxr.w 8(a3) roxr.w 16(a3) roxr.w 24(a3) roxr.w 32(a3) roxr.w 40(a3) roxr.w 48(a3) roxr.w 56(a3) roxr.w 64(a3) roxr.w 72(a3) roxr.w 80(a3) roxr.w 88(a3) roxr.w 96(a3) roxr.w 104(a3) roxr.w 112(a3) roxr.w 120(a3) roxr.w 128(a3) roxr.w 136(a3) roxr.w 144(a3) roxr.w 152(a3) and.w #$ffef,sr roxr.w 2(a3) roxr.w 10(a3) roxr.w 18(a3) roxr.w 26(a3) roxr.w 34(a3) roxr.w 42(a3) roxr.w 50(a3) roxr.w 58(a3) roxr.w 66(a3) roxr.w 74(a3) roxr.w 82(a3) roxr.w 90(a3) roxr.w 98(a3) roxr.w 106(a3) roxr.w 114(a3) roxr.w 122(a3) roxr.w 130(a3) roxr.w 138(a3) roxr.w 146(a3) roxr.w 154(a3) and.w #$ffef,sr roxr.w 4(a3) roxr.w 12(a3) roxr.w 20(a3) roxr.w 28(a3) roxr.w 36(a3) roxr.w 44(a3) roxr.w 52(a3) roxr.w 60(a3) roxr.w 68(a3) roxr.w 76(a3) roxr.w 84(a3) roxr.w 92(a3) roxr.w 100(a3) roxr.w 108(a3) roxr.w 116(a3) roxr.w 124(a3) roxr.w 132(a3) roxr.w 140(a3) roxr.w 148(a3) roxr.w 156(a3) bra rt_2 scr_l2 and.w #$ffef,sr ;scroll right roxl.w 152(a3) roxl.w 144(a3) roxl.w 136(a3) roxl.w 128(a3) roxl.w 120(a3) roxl.w 112(a3) roxl.w 104(a3) roxl.w 96(a3) roxl.w 88(a3) roxl.w 80(a3) roxl.w 72(a3) roxl.w 64(a3) roxl.w 56(a3) roxl.w 48(a3) roxl.w 40(a3) roxl.w 32(a3) roxl.w 24(a3) roxl.w 16(a3) roxl.w 8(a3) roxl.w (a3) and.w #$ffef,sr roxl.w 154(a3) roxl.w 146(a3) roxl.w 138(a3) roxl.w 130(a3) roxl.w 122(a3) roxl.w 114(a3) roxl.w 106(a3) roxl.w 98(a3) roxl.w 90(a3) roxl.w 82(a3) roxl.w 74(a3) roxl.w 66(a3) roxl.w 58(a3) roxl.w 50(a3) roxl.w 42(a3) roxl.w 34(a3) roxl.w 26(a3) roxl.w 18(a3) roxl.w 10(a3) roxl.w 2(a3) and.w #$ffef,sr roxl.w 156(a3) roxl.w 148(a3) roxl.w 140(a3) roxl.w 132(a3) roxl.w 124(a3) roxl.w 116(a3) roxl.w 108(a3) roxl.w 100(a3) roxl.w 92(a3) roxl.w 84(a3) roxl.w 76(a3) roxl.w 68(a3) roxl.w 60(a3) roxl.w 52(a3) roxl.w 44(a3) roxl.w 36(a3) roxl.w 28(a3) roxl.w 20(a3) roxl.w 12(a3) roxl.w 4(a3) bra lt_2 *****************program space etc************ mov_ls2 ds.w 61 mov_tb2 dc.w 1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w -1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,1,0,1,1,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,1,0,1,1,1,1,0,1,0,0 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,0,-1,0,-1,-1,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,-1,0,-1,-1,-1,-1,0,-1,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,-1,1,1,1,1,-1,-1 dc.w -1,-1,1,1,1,1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w -1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,-1,1,1,1,1,-1,-1 dc.w -1,-1,1,1,1,1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w -1,-1,1,1,1,1,-1,-1 dc.w -1,-1,1,1,1,1,-1,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w $ff **********************some buffers*************************** ba4 dc.l 0 ba6 dc.l 0 ba42 dc.l 0 ba62 dc.l 0 buff1 dc.l 0 buff2 dc.l 0 buff dc.w 0 vbl_p dc.l 0 ***********************new music a0=addr of music************ n_mus moveq.l #1,d0 jsr (a0) rts *********************terminate routine************************* term move.l oldint,$70.w move.l #$8080000,$ff8800 move.l #$9090000,$ff8800 move.l #$a0a0000,$ff8800 unsuper clr.w -(sp) trap #1 *********************vbl music routine driver****************** zippy movem.l d0-a6,-(sp) save registers jsr 8(a0) call playback movem.l (sp)+,d0-a6 restore registers move.l oldint,-(sp) old vbl on sp rts call old vbl ********************old vbl interrupt vector******************* oldint dc.l 0 *******************present char pointer************************ chr_ptr dc.l 0 **********************just another flag or two***************** mes_p dc.l 0 count dc.l 0 ******************font offset table**************************** fnt_tbl dc.l 0,16,32,48,64,80,96,112,128,144 dc.l 5120,5136,5152,5168,5184,5200,5216,5232,5248,5264 dc.l 10240,10256,10272,10288,10304,10320,10336,10352,10368,10384 dc.l 15360,15376,15392,15408,15424,15440,15456,15472,15488,15504 dc.l 20480,20496,20512,20528,20544,20560,20576,20592,20608,20624 dc.l 25600,25616,25632,25648,25664,25680,25696,25712,25728,25744 *************************message******************************* message dc.b "..THE DEMON PENGUIN DEMO" dc.b " HAS ARRIVED AT LAST...... " DC.B " HERE ARE SOME TEST CHARACTERS. " DC.B "!",34,"#$%&'()*+,-./0123456789:;<=" DC.B ">?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[####" dc.b $ff *****************************stack***************************** ds.l 100 stack space mystack ds.w 1 (stacks go backwards) *********************old stack pointer,(user sp)*************** oldsp dc.l 0 *************************binary files for inclusion************ pic1 incbin "a:\dpdemo\the_D_P_.pi1" font incbin "a:\dpdemo\bold1fnt.pi1" music1 incbin "a:\dpdemo\atomix.mus" music2 incbin "a:\dpdemo\rings1.mus" music3 incbin "a:\dpdemo\rings2.mus" music4 incbin "a:\dpdemo\shaolin2.mus" music5 incbin "a:\dpdemo\shaolin3.mus" music6 incbin "a:\dpdemo\shaolin4.mus" music7 incbin "a:\dpdemo\cuddly.mus" music8 incbin "a:\dpdemo\cuddly1.mus" music9 incbin "a:\dpdemo\cuddly2.mus" music10 incbin "a:\dpdemo\cuddly3.mus" music11 incbin "a:\dpdemo\sowhat.mus" music12 incbin "a:\dpdemo\sowhat1.mus" music13 incbin "a:\dpdemo\sowhat2.mus" music14 incbin "a:\dpdemo\sowhat3.mus" music15 incbin "a:\dpdemo\sowhat4.mus" "3DUfw €€€000€€€€€€000€€€ €€€ppp€€€0 0€€€ppdЬdёџџџЬ`ёјџјЬdёџџџЬdёџџџРррРРР0 0ЮЧР№:A@љџўУ№ќ{‡€€€џъ р РР000јпР€№№Й‡OЯ#šп„ўсќ7˜ирxрx4™ЬЧѓ?№?џ™‡џ№№0ќpppёор€ќш€˜>>?!ІРyР№pР @AЁa|€††№№ар#џп№ppјїјџј№АА>?! €м€аP€@€@ќ„„ ppP1џЯ№p№јwјџРрр0?!Ы€€аа€@ @ €@№ „„`ppџ§№ррppј/?! €€РР @|„„§№арџ№/!Й7Рџ€ƒ€x@ј@јМ‡2Ф‡њўи0Рџј!!џ ѕ@ Р@њ †"м€џјџ|ќp1/!Oˆ№џe@уРј@}NƒŒ№‡њџ ј џўўќ)!€€€@Р@ќ„РџРќџџџќ!!€€€€ @ @Р@€x„88рџрўџзпў!! €€€ @ @Р@xј„((№џ№ў0џoї~?€@€a€.€@Р0Р!aрan†0Шш`рџ ?џsУ~@p€ёРё~aј€xрx|–sИ€№?Ќ–џ€љ€џПџ€ѕТљ§ў_‹? џ дћчјРРа00ЈЯ№ ю?џ<RОТС3ђ@ўР€Р€0Р7`7р``ŸРўџ§€с€џOџ№н]Уžџр?рЉУžBЬLє ѓуј єћ‡Ф'УX?`‡`€`8€€€7р0џрярўџ‡€‡€џРР€@їPР0…BФDўєсі„p ќœ§ЛЄСЄDР< 1р0?рярўџї€ї€џ@Р€@ћ`№ТФФƒƒ.&=ѓє2 Pc>ИЇ`Ї‹ˆw  < >ЅBЌ@ў‚ССƒТ:z‡‡z~F‡‡fnPqр/џр0PЏф@Р~?РS€“€?Р}C€№ъqмN?€?р+ћќќ*§Сўўx(z˜Fx€xЦ+л7<<>{Fс€сўъC€УРР3р#џ№pф@,<€_€Ѓ€р=C€€Tџk€Пџ€  ўъм?@€|ј@l?Ўq 3џ <<Бџ‚rђ€@@ 9@9?`p#Фp <€п€П€ž`Д;РџжДЯ8?РџќД;?Р?џжДЯ;?Рџџа0Ш88ј8Д;?Р?џД;Рџ‚Дƒ;РƒџРРР?P8Пр !пЦ€€у пПž`?p?П0Р пР€€wpџ П О@ xП8РрР€]ЇxѓЛО@pжџсџџpжџсџџpжџрџўжсџ`жусуџpжџсџџp№!№?pжџсџџpРџРџР0д?р?ќŸ§ŸОМ€AР?РРЬ7јіў‚ўъџЋџЬџ№џЉc€є нћ>>ењЯќ?џ2АР  UНЦC8тP§`pјќ?ј їММC@ПРР~D7јџРљУџЊРЩїРјџЌџЯя№?ю­ссžѓ€РДСЫрСсяЌрЯ№№џъНхўџУРр/р 0№ !€ИР8Ф@„ћ €@Р@оў-ѓя-gТ€ј2 >Т}јџ€Pрzџ№>!џџРїР@qON<Ьђќ ??>!@Р€ќ@„ЛEР СР@РТAž>`Ш џїi7РРјb~Т}јџ% к@џ№> !ї@џ€їР@рq JрKB ў§№?>!РМ@€ќ@„R-` `тС€@bA@8є УџџiРрј€€C †љ№џ'0иРџ№]%;џ!јїкяМчџРX (I Iџ]џ>аСа№>?!@@Р|€ќ@„ <8 8гA+€@:A ”„KcџџhРрјРРС<џэ€wяџ'8иРџјж,1 Язїч‡јxXр(H H_AО№`pрI_w>€џџс@Рt€ќ@„  јР@Aœžcaџџ 8ррќ@€Р€|џ9Цїџџ "0бРџ№,u?џ!џѕŽЧџШ`p`€H H$>?Я№80јU,ўƒџ€€€€|Рќ@„  §Р@Cœ‚c}џџ6№Шўџ`€р0Яџh”їїџ ,0гРџ№,!€€Р@Р0рHрH“ cў јјХ Ÿѓ№р€€€@„Р|@„  џ€@€Aˆ‚q}џџ€ xрџџ0Р№ пџљїџџ80УРџ№->!€Р€@8РШN2џь  ?А@ €Р Р @p€єР Р„ €AррA†‚y}џџСх>§џˆ`ј`Ÿџёїџџ лрџ№#<! €Р€@ИРШ Ÿƒацˆ € рр`€Œ€ј€€„  A00Aƒ‚x}џџѓџџџ€xјР?џуїџџ 0лРџ№Z€b€}a€ Рр€` єР Ьжэуl€№€УУ€ ‡9€70˜J№gј8qі€ˆ† €€€СAA‚ћ}џџ ёџџџФ8ќ€џ№џџџ `пƒџѓ*pгpќ€Р№%sќ№ѓЯ№?'{јљ‡љ‡:€4€€2-srpppџ-ќусŽЇ{H@џ‡Чз("p§p№€№№РAA€‚{}џџјџџџlќ№їчџџџqќџђЊ№“|КЕFyў€џ€€€€џёлјрРе*г№,@AР€?џџрќџџ8Рў€Ÿџџџџўџуpаџрџ№pжџсџџpжџсџџ€€жсџpўўpар№жсџpаџрџ№СРСР8џџџќќџ§рќpїџџџџрџ€џџџџчџџ08џ8џџ№џ?џџсџ§Рј|џ€џџрРџџјџџ№џўрќРЯџ€џџџџё8hˆџ№џј8k№џ8kџ№џџРРk№џ8џџ8hˆ?№?јk№џ8hˆџ№џј`€рррџџџ€ў~џў№ў€xћ ѓџџџ8РўџљеxЩˆ>]Z#<@џ@ПџРР @@ џј€эќ №ръщјР  €`@Пџџ№ўџџрџ`Ÿџ ёћџџэрџј-@1@>€0Р`№Р 0њ`fkvq6@ј@с€сРCРL„%x3ќ8{РDРƒРУ@ @ € Рр  ‚€A}Оџџјџџџbœў0Яџјћџџэ№џј €€€РрР м`dаЯ?СhŒѓƒ ФG H@№№ 0 РFР|@@B€€€Р  ƒ€СС<>џџљџџџ@Мќ€gџ€4Ъ{ћџщрџј €€РРр `p$p$Щ1џќќbOyПxpР€Р@ Bр> B€€ЈРРƒФA8Оџџ Р<№џџрј`іР;їџœь`џќ ыgыћѓУќ<€,№$$/ ?пј08№$Џ;Ÿ@№€€€ р:Р~ B…††ќ`€  ЮO1Аџџ №№ў @€р!?У|‡xƒџ“˜l`џј Ўќћэїоѓџ ?`,P€$а$Ў‰Ÿhршј €€  `>Р~ Bžœщ Р   JB%Бџџ4 р№ќ`€рa>‚|џР(№=џј€џрћр 8ЇЇц љ  ўŸ€€€ `€@~ B]"ррр€ рс Я0d„џћ4ррќ€€ a>С9ўЧ˜0`џј€Рџрћр ž9ЇЄь № ќ€ƒŸ€€€@\рb B§€€Р€ р oˆyї 3сРќ€€Ч?"ќџрƒ|серd{р|жџчїјwV№№ ЯљРрZрх№`№wж№gxјu^ђџџср№pˆxГpс€utі„ј іцјўў0Яр№f?›|РћџСџuŒеџцџјџд1РzР…€Р€n§ъ§чўџX`ˆЊоc!ё(ўШ08 ќўќ ћ оо! _рр;?Ч8џпп Мпœ`pр@@@?ПяРпРЯ0Z`kZчœрџў ZрџkZчрџџhфќ ZрџZƒрƒџAZСрСџ`рр€€Ј_ˆpяу€@Р@@?ПЏРбР€p!@@ˆЊџЕ@_џРаџuю @>| „6з8џ†žиџA9yР €€ ŸШ08Чт8€€р |Рќ@џ€ А€p0q№Ž  RFЁж €A`€`Ссƒƒ =У€У=?#У€УГ7(8€€№џ№(зђ  _ €џ@Р`Р  њ№CR!R@џ€СA€@ЂZСС њЮв``в@`€€№џ№(з№  _ ?€џ@?Р@р џ№€ƒѓBФFтq01јОprњ€€€ ?рї№ € !€с@?Р@р >ўСРСшєє‹шРLL8сѓ˜ ™ јЪ22 ў  €€€ `рї№€€џ@Р €` ў”oССф №єярp`p`v yўg hˆ Ќ R22gg”ptpt€€€№џ№ї№€{РћР€ `Р }Аxƒƒ‚aттП€A€A€љњ PЈ 1Ÿ?мS0SEƒDЛ„ƒ„€€№ї№€CРУР€`рР ћЈ`BЁтЂџњ №ћ BИ~N~нв`в"р€€№№ї№€~Р№Р€'GxюЎсЯџ№№ŽTaЯ8~ЅaЦxў|ќ ьїј‡ЄoЧј№џЛФџррР' @x0xрx№џ№чр@Р??РќР€_?@њсќўџ ЏХŸаъ}ѓ‚ќ``шTчј€ˆ†wџžЉ_a`™€y р@р@рАП№00Яр ?п/РяР?€ Пр`џр0?џ/РяР?€АП№`џРџyРљРи€8ў@М€€Љf@@)џ6Иh р ?р@џРџ7€ћ€?Р Р0Р@ `` Аp 0‰Ш7УdtАП№€џ€ џk€я€€€€ Р@@  ` <|B јџј€џџџ~ €€€Р@@€ ` ~Bрџрўџ>ў8€€€€'ФxВ q€ `ќ >ЇAЦјC§џќ€џј€€€ м`ЮРСР< ќ |^C™тC§џьрИЧ8ќ€€€ €@@``€ >BBўјш№ќ{|џќxXX…Рn@шЈ@€ Р ~BB88(џчјИxќяр@xПј\C'g‘ЭяТџ?№ўЬl№џџџџџџџџџџџџџџџ№џџџџ№№ џџџџќџџџџџџџџјџџџџўџвс`џџџР џџџџџџџџџџџџџџџчџјџџр№gџџџџџпџŸџяџџџџџџѓџќџџЦР9џР+чŸџ§џўџџПі?ёРџрџџџџџџџџўmџџ№ рџџџџВMџа2џџџџВ€џџg`џ№Ћgџ§џўџџ@ љ€џЯџ№џџ›$Чџј›‡џќџџџј€€`џџ€/€Я`№П€€јЋgџ§џўџџ[:dЩ€џ“џуџќРџџрџќџџџР!ђрќ+чŸњIљёџў‚Jёёџўџ€џ€Oќ@§РџРџџ€Р€§2 ў€€0ќџШј џўџ/пџљјї3ЯџРР€@?џРР ў€ўџ€gџШјРGРР€ŸџРр€ џџџ€3џрр€m#_рр€р№Р џџџ€лЧ?€Р3OррР7?№јр џ€џ€џ+ч€€oРРр јј№џ€џ€џ Ј g/рРрќќ№џџ€џ,т-#ар№ќќјџ€џРџX0Р0<)'р№№xјќџРџРџ€?X`Ш`47р№№|јўџ€џ€џРПX@ШР0 №№№О|ўрџ€џРПX@Ш€0 шјјМ~ўЯР№џР?P@и€ №јј<~ў˜`рџрQ`Ўр №јј8~ќЗрЧРј џрј№јИ~ќЈЯр№ ЖPЩ є№ќДvјЋ@Ь № Ÿ€рp0јјќ(ь№ЉрЮ № Ÿ р` јјќpјрЉРЮ0№0П€Р` фќњ<3@№РЋрЬ№П Р@ Юђ§u у`р€Ћ№Ь№Ÿ р@ 7џ˜2рџџВ>ьС€Р)№Ю№Ÿ€р@ ПџЗўЧўјаE§р€€ЉрЮ№Ј€з@ џџЈЯџ№oКИ№GЈШ№Њ€Э`№‚ џрџЋeЬ›№pEџўї(0Я№№}р}р‚Пџ?ЉљЮ№_§ џўm “рoјј№‚ џР?ЉњЮ№Р?љџў?Рјајрџр џР??ЋњЬ№’5|9џо?XРШ6жШ8р џ№џР??_ЋјЬ№Ш,8<јпP Ьр?S№`џ№џ№џр?ЉвЮ№ 'VЮЉрЮ№`WЯП рє `џрџр№$8ЊЭРpР7ЯџаР№№X ?№џр?ј(€ЯРpР/?ррјј|ј№јЗРЧРx@№№јј<№?ќќир@?Рјјє:фјќќO€p@?Рќќј0\?тўў``€?рќќј/о/тў џ? ?Рр№ќ№Lr/‚џ€€_€Рр јј№Lr‚џџ Рр?€Р?ршш№Tj‚џPр8 ?р?а`яр№B}ƒ™цZТ<А?а?рџ€Р`рПОA^qTРЬр?/А?а?р'8?џРРўД(јЦ ар –§xќџЪ6!ќџџР рЈ?и?рЏ?Яѕљќўђ Cџџ$Тџсd€џВЮџёdПџџѕPљœў ѕ 6џџлэЧЯ?ѕџџџ€џ˜џрџџ#?џџџє`љ€џр ф 8 џ€+џчџџџџџ€џЯџ№џџўџџџћїџ€рр”ујЋџgџџџџџ€џрџџџџћџћџќ р Ћџчџџќ§џ€џџџџџџШџ№џќЩ|јќџЩјп0џќџЩјРРŠ|ў €<€џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџєŒTя3М‚€qуБ ~к4…x џђžѓ a‰:pНў|qЇkЧчјЂ,У6tIx€џЙ:фМоˆp=џЙЕхЧјŸур c‰’T 2›ј\(?wp€ЯюЯўтЮ”/сyцс—юш‹п№wЏяpŒљO0#щ‡‡xrˆˆpџВ–С aі4zјљtEу‡яјНџ~Фi"ёўђ5Щxўюё ўГЅыЧјпр@>Б@ СџмшB1кцубќwџŽЧf)јc=ТŒюѕћћЧрлD€ |=уАsќFђЌќ=€№ш‹Ч№:wxРќ§ж@-ˆЩpЗџСГР/?Рƒs€K‡Мм"q“ЧрАюўOЩъE3вьуТќ№œа|Яг <тŒŸ@р?џnёиwч€іnIqќ>Цrёјзb‰8§Уљ=џ€яРрфlђ‰ёmњpHƒёЌгўо9Р'?РМg€VŽиљ@?цж—рŸќ8ёхkЇЉЧ…јSџЭп<Р_ѓШ<6џИ€M0ёЯјрЄюR№ љŽrљрп <ёцџі6>СЭ1(ШЧџiуcvЩќ№§№УсЦсЏУгB+<Ю—ЏŸрр{јš”qcEё‡‹ј oпžРю&!е uŽxIў03їЫќ№8яфШжЅрљїѓџјяџ!љГ8Lј0юўЯцX;оŸmсћц№Ÿo >бџ>џЃ~W?^8?Рѓ‚|лз0 єƒ№OS™†р`aD Њžn<ёјёкФс#ќ уїz'С‡јdџјb!ќœ› x`џќРЮВ/qŸ–S-щ€љЮџС8Ю€Т9џо8(~‡_Ђ8$УйМч‚q§ћУ‡wрЯ™П€рxџе>;йтхёѓгšт]ќ<|Эѓ.ЫЯ №p №№§ 2€Xо$>у yјРF:^љ?7ъ#•Ш‘џ‚|џ—ƒxѓья"ЯoМ€пМc-ѕ3ШРЬ8ѓЧw{€ЧсррРнП;щбыѓчЇ;ЦМј|6ё^>D #№ћ7ќ№у1ШŒc3Рѓƒя€~Ђј<= ТР87јј84ијiџ%“чwž€ŽиЭ@.?ЏХ< РџярЮXўчw?|ў€чюŸ"бД УчяF5…xјўН|М~<>Д9sРНў|ŒŸ@р?ЯЏ,0РљП€|ДМƒxzi№„›Чxј›Цxјpq№+‡ЗАЬРOУC^RР1јїя<ŸќрЮџўsf"™W€яяŽˆ pёџчFž9ќ?хwz№8gј€6ГИќŸя@> §уCр ‡и„@x?п7ь№ о>ро>р7д№#MП‚Ÿ№@џ~Мy>xК†y щћчСАР/?Р<–ќ рЛџGЛїЛрЧёсўПzр§џp №›оxрtЛxќџc9’Щ w?€ќ,џУќC<БМю|sю№€ѓщ№М7|Яр п№D~8џZ7y{„јvlБуо9Р'?РСПР4?РіD Л;Шчwcy€ќoВр€}јЯ№уо>сiхёцўќ@0wџ€/ўўyчїŸпєрПёрчћŸШярЯxОџоŒјsјџ~љ№ќ№Уо?Р ?Р{ц†xшo€Я§№э‡`xc'8РГэO№cсрў1š‰фF{ˆ рœ|ьпуР §i"ёўчcрќиР('w™g€чБœ~Жђ№ ќfЯx>Ÿ€№њ№С>sAЬР?аяя?џ§јљџ§ЭЌ.?Ря§уzсќЦN pxwˆ}€ЭЮ<>ўј§Рсўcс№џџРрЮЭў3ї‡Ю‡xwcёќ“џ@рџŒO0пb?€=ЗћHРА9oїтСфЭђ§.^??РПў@2ЦнТј8›Y\~?€_юн ofŸѓžМ`Эу#ќ{љсџоаТ!р<яќ€=ќђџчс№жq‰рž2сќЦ€љћірiЭ—Т0џc'Ÿ8|РyМy†і€ нРр::]М~€Q§Ž =їуЬќdјюЦјкСџ<žŠaрСЙР'?РџƒЫљСџ<—Ц рLк2уќЮђрfџјќоС83Э<.РЌЭ?<РDX8xџ‡Ц'“ѓ–џx4ђxѓџ ў3!<РПќ@yЕeЧƒј–ърй9Тј<7ќ ѓро?€ ?РЦ|'œџќ=›<\Т<љвуќяїѓљ ž№`ОјIфЩ^№?.я?Рxпјџ<У~.џёˆАpёџИЩD№Цq'ˆ“Ѕ Ччјпѓщџ‘Ÿ‚p|ьјјѓЬ=Ф~у8јќ-<<ВТqqЇKЧ‡јД?›Р@ќdrјљГKkŽМ№y[y„† БЖё~mzqхўp~№СёМёўГk ŒG№f—~уOЯ№?Я ?Р!ё јž|сђg^yЙ€mчq{ў› x№n1}H€ЧєM†№ўЦ'yЕ…Чј“gрKDŽ8№џX_x˜‡ ‡t‡ђx щsёˆў7Ч№!clсќчN‰№mNqЏўЈ‹п№c0РŒoЦ №O1pШ€“Ь:ряѕ№ јѕпњ0кцјзў €3<Р~ѓЅ ЧјмFр/ŸŸxрџоџјќшџхгеу"ќП|xьс№Цœ/сщё^ў?/прŒŸ@р?Ÿ›\р?Yц~€жh•риЯф№уџБIКЮј/ŸЛ˜HD#Юo p№ќ#O—O№)б1ŽЦ?Бр~Зй№$ЪџС7"—У@ќ/цoq€ќљШџС>б?угЂуќv7<Р6ГИќџ:М]Ю~/€—zрc'8РјЦX wё^?О3 `ЧlьŠђёёh‹п№ор?7‡>Рx{cфœ|їЧ;ˆјGъёсќџƒ|о:1?Ч"МУќpюP§tЛxќџ4x`џіѓ^?<Л<аУЭЌ.?РЯ›>\?чЂсМчзaЯHй…хѓуЏРпрЯь рoќx€цЭ‘.Э§<уX(№чxгuтƒќ87јјьk p‡Чи@ј?џœпњiьётўfˆpљџПЂР,=Сџс!€иЯфѓЬ*^?я ѓ;>РрЪ#ёТќ›Чxјaн!фžУC№<р}ŸјyсхўЖёФљўЦМ'o=|Dƒ‚yМy†~4Йxџѓи@ќ?ббKŽ'ПучЯpяўЯЦџ'?c'8Р™TМ2yџ'ї€чАќ`;Ц№јо>р>?!ІРyР№pР @AЁa|€††№№ар#џп№ppјїјџј№АА>?! €м€аP€@€@ќ„„ ppP1џЯ№p№јwјџРрр0?!Ы€€аа€@ @ €@№ „„`ppџ§№ррppј/?! €€РР @|„„§№арџ№/!Й7Рџ€ƒ€x@ј@јМ‡2Ф‡њўи0Рџј!!џ ѕ@ Р@њ †"м€џјџ|ќp1/!Oˆ№џe@уРј@}NƒŒ№‡њџ ј џўўќ)!€€€@Р@ќ„РџРќџџџќ!!€€€€ @ @Р@€x„88рџрўџзпў!! €€€ @ @Р@xј„((№џ№ў0џoї~?€@€a€.€@Р0Р!aрan†0Шш`рџ ?џsУ~@p€ёРё~aј€xрx|–sИ€№?Ќ–џ€љ€џПџ€ѕТљ§ў_‹? џ дћчјРРа00ЈЯ№ ю?џ<RОТС3ђ@ўР€Р€0Р7`7р``ŸРўџ§€с€џOџ№н]Уžџр?рЉУžBЬLє ѓуј єћ‡Ф'УX?`‡`€`8€€€7р0џрярўџ‡€‡€џРР€@їPР0…BФDўєсі„p ќœ§ЛЄСЄDР< 1р0?рярўџї€ї€џ@Р€@ћ`№ТФФƒƒ.&=ѓє2 Pc>ИЇ`Ї‹ˆw  < >ЅBЌ@ў‚ССƒТ:z‡‡z~F‡‡fnPqр/џр0PЏф@Р~?РS€“€?Р}C€№ъqмN?€?р+ћќќ*§Сўўx(z˜Fx€xЦ+л7<<>{Fс€сўъC€УРР3р#џ№pф@,<€_€Ѓ€р=C€€Tџk€Пџ€  ўъм?@€|ј@l?Ўq 3џ <<Бџ‚rђ€@@ 9@9?`p#Фp <€п€П€ž`Д;РџжДЯ8?РџќД;?Р?џжДЯ;?Рџџа0Ш88ј8Д;?Р?џД;Рџ‚Дƒ;РƒџРРР?P8Пр !пЦ€€у пПž`?p?П0Р пР€€wpџ П О@ xП8РрР€]ЇxѓЛО@pжџсџџpжџсџџpжџрџўжсџ`жусуџpжџсџџp№!№?pжџсџџpРџРџР0д?р?ќŸ§ŸОМ€AР?РРЬ7јіў‚ўъџЋџЬџ№џЉc€є нћ>>ењЯќ?џ2АР  UНЦC8тP§`pјќ?ј їММC@ПРР~D7јџРљУџЊРЩїРјџЌџЯя№?ю­ссžѓ€РДСЫрСсяЌрЯ№№џъНхўџУРр/р 0№ !€ИР8Ф@„ћ €@Р@оў-ѓя-gТ€ј2 >Т}јџ€Pрzџ№>!џџРїР@qON<Ьђќ ??>!@Р€ќ@„ЛEР СР@РТAž>`Ш џїi7РРјb~Т}јџ% к@џ№> !ї@џ€їР@рq JрKB ў§№?>!РМ@€ќ@„R-` `тС€@bA@8є УџџiРрј€€C †љ№џ'0иРџ№]%;џ!јїкяМчџРX (I Iџ]џ>аСа№>?!@@Р|€ќ@„ <8 8гA+€@:A ”„KcџџhРрјРРС<џэ€wяџ'8иРџјж,1 Язїч‡јxXр(H H_AО№`pрI_w>€џџс@Рt€ќ@„  јР@Aœžcaџџ 8ррќ@€Р€|џ9Цїџџ "0бРџ№,u?џ!џѕŽЧџШ`p`€H H$>?Я№80јU,ўƒџ€€€€|Рќ@„  §Р@Cœ‚c}џџ6№Шўџ`€р0Яџh”їїџ ,0гРџ№,!€€Р@Р0рHрH“ cў јјХ Ÿѓ№р€€€@„Р|@„  џ€@€Aˆ‚q}џџ€ xрџџ0Р№ пџљїџџ80УРџ№->!€Р€@8РШN2џь  ?А@ €Р Р @p€єР Р„ €AррA†‚y}џџСх>§џˆ`ј`Ÿџёїџџ лрџ№#<! €Р€@ИРШ Ÿƒацˆ € рр`€Œ€ј€€„  A00Aƒ‚x}џџѓџџџ€xјР?џуїџџ 0лРџ№Z€b€}a€ Рр€` єР Ьжэуl€№€УУ€ ‡9€70˜J№gј8qі€ˆ† €€€СAA‚ћ}џџ ёџџџФ8ќ€џ№џџџ `пƒџѓ*pгpќ€Р№%sќ№ѓЯ№?'{јљ‡љ‡:€4€€2-srpppџ-ќусŽЇ{H@џ‡Чз("p§p№€№№РAA€‚{}џџјџџџlќ№їчџџџqќџђЊ№“|КЕFyў€џ€€€€џёлјрРе*г№,@AР€?џџрќџџ8Рў€Ÿџџџџўџуpаџрџ№pжџсџџpжџсџџ€€жсџpўўpар№жсџpаџрџ№СРСР8џџџќќџ§рќpїџџџџрџ€џџџџчџџ08џ8џџ№џ?џџсџ§Рј|џ€џџрРџџјџџ№џўрќРЯџ€џџџџё8hˆџ№џј8k№џ8kџ№џџРРk№џ8џџ8hˆ?№?јk№џ8hˆџ№џј`€рррџџџ€ў~џў№ў€xћ ѓџџџ8РўџљеxЩˆ>]Z#<@џ@ПџРР @@ џј€эќ №ръщјР  €`@Пџџ№ўџџрџ`Ÿџ ёћџџэрџј-@1@>€0Р`№Р 0њ`fkvq6@ј@с€сРCРL„%x3ќ8{РDРƒРУ@ @ € Рр  ‚€A}Оџџјџџџbœў0Яџјћџџэ№џј €€€РрР м`dаЯ?СhŒѓƒ ФG H@№№ 0 РFР|@@B€€€Р  ƒ€СС<>џџљџџџ@Мќ€gџ€4Ъ{ћџщрџј €€РРр `p$p$Щ1џќќbOyПxpР€Р@ Bр> B€€ЈРРƒФA8Оџџ Р<№џџрј`іР;їџœь`џќ ыgыћѓУќ<€,№$$/ ?пј08№$Џ;Ÿ@№€€€ р:Р~ B…††ќ`€  ЮO1Аџџ №№ў @€р!?У|‡xƒџ“˜l`џј Ўќћэїоѓџ ?`,P€$а$Ў‰Ÿhршј €€  `>Р~ Bžœщ Р   JB%Бџџ4 р№ќ`€рa>‚|џР(№=џј€џрћр 8ЇЇц љ  ўŸ€€€ `€@~ B]"ррр€ рс Я0d„џћ4ррќ€€ a>С9ўЧ˜0`џј€Рџрћр ž9ЇЄь № ќ€ƒŸ€€€@\рb B§€€Р€ р oˆyї 3сРќ€€Ч?"ќџрƒ|серd{р|жџчїјwV№№ ЯљРрZрх№`№wж№gxјu^ђџџср№pˆxГpс€utі„ј іцјўў0Яр№f?›|РћџСџuŒеџцџјџд1РzР…€Р€n§ъ§чўџX`ˆЊоc!ё(ўШ08 ќўќ ћ оо! _рр;?Ч8џпп Мпœ`pр@@@?ПяРпРЯ0Z`kZчœрџў ZрџkZчрџџhфќ ZрџZƒрƒџAZСрСџ`рр€€Ј_ˆpяу€@Р@@?ПЏРбР€p!@@ˆЊџЕ@_џРаџuю @>| „6з8џ†žиџA9yР €€ ŸШ08Чт8€€р |Рќ@џ€ А€p0q№Ž  RFЁж €A`€`Ссƒƒ =У€У=?#У€УГ7(8€€№џ№(зђ  _ €џ@Р`Р  њ№CR!R@џ€СA€@ЂZСС њЮв``в@`€€№џ№(з№  _ ?€џ@?Р@р џ№€ƒѓBФFтq01јОprњ€€€ ?рї№ € !€с@?Р@р >ўСРСшєє‹шРLL8сѓ˜ ™ јЪ22 ў  €€€ `рї№€€џ@Р €` ў”oССф №єярp`p`v yўg hˆ Ќ R22gg”ptpt€€€№џ№ї№€{РћР€ `Р }Аxƒƒ‚aттП€A€A€љњ PЈ 1Ÿ?мS0SEƒDЛ„ƒ„€€№ї№€CРУР€`рР ћЈ`BЁтЂџњ №ћ BИ~N~нв`в"р€€№№ї№€~Р№Р€'GxюЎсЯџ№№ŽTaЯ8~ЅaЦxў|ќ ьїј‡ЄoЧј№џЛФџррР' @x0xрx№џ№чр@Р??РќР€_?@њсќўџ ЏХŸаъ}ѓ‚ќ``шTчј€ˆ†wџžЉ_a`™€y р@р@рАП№00Яр ?п/РяР?€ Пр`џр0?џ/РяР?€АП№`џРџyРљРи€8ў@М€€Љf@@)џ6Иh р ?р@џРџ7€ћ€?Р Р0Р@ `` Аp 0‰Ш7УdtАП№€џ€ џk€я€€€€ Р@@  ` <|B јџј€џџџ~ €€€Р@@€ ` ~Bрџрўџ>ў8€€€€'ФxВ q€ `ќ >ЇAЦјC§џќ€џј€€€ м`ЮРСР< ќ |^C™тC§џьрИЧ8ќ€€€ €@@``€ >BBўјш№ќ{|џќxXX…Рn@шЈ@€ Р ~BB88(џчјИxќяр@xПј\C'g‘ЭяТџ?№ўЬl№СUц јŸРџ а ј06?ЭР<џџџ§AŽў?јљўџUцјр> ц>ЊŠsќ>џс8q‰ў1ž?рРcР|џџGИў?јџќЊŠsќƒр|УррEƒрUF9ўDџxџџŒ3€ЫwŽђ€пŸ`џрѕћё<џўџџUE9ƒўP8?Рј8ŠЂ|СЊЌœТIџqџўТРf?‡oЦњ€и``џ€Уѓ <џџџЊЂСЊŽœ№QЮ`?€UXЮf?“Цуўќyx5‡ЦйцљњБƒAќўВџs РџџеQN`?€UCЮ|?ƒ€€88ЊЈg0РЊЉg5У/„Яќ№Яџрpі№њЂCќќ4ќїяџЊЈg0РЊЈg7Рр РррUT3˜рUY3•уOј№їG›џрР>Р2?СЄ8GџјuсіўџФ=еT3˜рUT3™рpќ ќ*ЊЬ№*ЈХѓ^Ÿ№рE›џр џёlюя№EуЦќ8ј јЊЊЬ№*ЊЬ№xgUцxU цјY фѓмёрЧј №ppсHŸ№`б о? Рљџњ•U цјU цј€0Њs1ќŠЊsќŠЉtѓœѓр pŒ ё` `Ÿё_ŒŸГр@ојрџўŠЊsќŠЊsќ‹рeU9`ўEUƒ9ўEXƒ6ёМ?ћР> С№р јёSŸррџЦЧ8љўХU9ўEUƒ9ўEР‚0РТЊ1œРЂЊСœЂЈС–qП?§Р§№гьсSŸ\ррў3ѓ 'Пј€`ЂЊСœЂЊСœЂрј`‘U`Ю€?QU`Ю€?QX`Ц€1€ўўџрyџгшсXќŸƒр|ућЉU№Ю?QU`Ю€?QU`Ю€?Qp`Ь€0(Њ№gЈЊ0gРЈЌ0bР@№№ ѓрƒј уXŸќряХ=рЌЊ№gЈЊ0gРЈЊ0gРЈИ0fРTU˜3`TU˜3рTT˜3рd‡рxсясїчдт уиџрDuи ЄUј3TU˜3рTU˜3рT\˜3р  Њ*Ь№Њ*Ь№Њ,Ь№џ€ў ўу?дMџЃа`ŸрF5Ш 0–*јЊ*Ь№Њ*Ь№Њ.Ь№€  Uц јUц јUц ј&8пЦc„˜€cз џс№y?‡РЭТ 0ењ Uц јUц јUц ј€ЊŠsќЊŠsќЊ‹sќр~!$?РѓзџсА?џРŠ–“ dJŠ}€ЊŠsќЊŠsќЊ‹sќРUE9ƒўUE9ƒўUE9ƒўР@'€_џcd€ѓзNўЁ ?џРwсŒOE|ƒ€UE9ƒўUE9ƒўUE9‚ў€@€ ЊЂœСЊЂœСЊЃœРƒ_oŸрЦdўѓ—їсcрџ€:ЇЬмMЂ~С€ЊЂœСЊЂœСЊЂœС€`€10UQЮ`?€UQЮ`?€UQЮ`?€ 8пП?РŒІќJё5,џУdџ€ѕnƒGQ|`€€UQЮ`?€UQЮ`?€UQЮ`?€€`€00ЊЈg0РЊЈg0РЊЋg0Р п??РЇјK№ѕьџIџ~€ЊюgƒЧЈќ0РЊЈg0РЊЈg0РЊЈg0Р€@€ UT3˜рUT3˜рUW3˜рЬ?€рoсƒ№ѕЬ~Kд|€`Un3œƒыTќ˜рUT3˜рUT3˜рUU3˜с€@€*ЊЬ№*ЊЬ№*ЋЬ№џџ~ЧџрЏфЏмPKЊ|Ь€№*юž3Њ<ЬР№*ЊЬ№*ЊЬ№*ЋЬёР U цјU цјU цј€У€<§џрў%џнлUќцјO П€‡UјцјU цјU цјW фћ€  ŠЊsќŠЊsќŠЋrќ†v џѓ #џРфџ9Њ>sРќŠф€ўЊsќŠЊsќŠЊsќŠЎqў€EUƒ9ўEUƒ9ўEUƒ9ўс№џlшџѓўƒU„9xўEƒРХU9ўEUƒ9ўEUƒ9ўE\ƒ3ќ"ЊСœЂЊСœЂЊСœАЬџ№{ŒјўО`{ЊќœЂЊСœЂЊСœЂЊСœЂЊСœЂИС†x‘U`Ю€?QU`Ю€?QU`Ю€?^aј€е<Р?YW`Ь€<ЯU0Ю?QU`Ю€?QU`Ю€?QU`Ю€?QU`Ю€?Qp`Ь€0ШЊ0gРЈЊ0gРЈЊ0gРЋј0Р?ЛРD ЌК0GРјП@€ЈЊ0gРЈЊ0gРЈЊ0gРЈЊ0gРЈр0Р`lU3|TU˜3рTU˜3рT_˜0рєL3вM 3`L@А?€дU3`TU˜3рTU˜3рTU˜3рTИ0рР>*8Њ*Ь№Њ*Ь№Њ*Ь№Њ€ЬL№3a†’I 3†€H@0?j*Œ0Њ*Ь№Њ*Ь№Њ*Ь№Ћ€Ь`ѓ€• ƒUц јUц јUц јU3цГј 3mДžx3?ДПx5F ˜Uц јUц јUц ј^сРўњёЊŠsќЊŠsќЊŠsќЋ3rГќ 3mДžx3?ДПx*ŠSœЊŠsќЊŠsќЊŠsќјјэуUE9ƒўUE9ƒўUE9ƒўU38Гў3bДœx30ДАxUEЙƒ>UE9ƒўUE9ƒўUE9‚ўР<Р8ЊЂœСЊЂœСЊЂœСЋ3œГ~3]ДОx30ДБx~ЊЂСЊЂœСЊЂœСЊЇœРреQ`џ€UQЮ`?€UQЮ`?€U3ЮГ>3]ДОx3>ДОxUQŽ`?€UQЮ`?€UQЮ`?€U\Юc?œ€zЈ‡0РЊЈg0РЊЈg0РЋ3fГ 3mДžx3>ДОxjЈЇ0РЊЈg0РЊЈg0РЊ№g№Tр˜рUT3˜рUT3˜рU32Г 3mДžx30ДБx~еT3˜рUT3˜рUT3˜рWР08Ръ> №*ЊЬ№*ЊЬ№+3Г 3mДžx31ДЖxx*ЊЬ№*ЊЬ№*ЊЬ№<р<?Р>U цјU цјž ^?L0­Зx00ЗЗxx•U цјU цјW фћрр|њЊsљќŠЊsќŠž^?L0­А00ААJЊ†sќŠЊsќŠўў№ѕ№ўEUƒ9ўELƒ-žž?^П?????џџ%UC9€ўEUƒ9ўР€??Р>Р?ЂЊСœЂЬС­ž?^П?????џџ"ЊAœ€ЂЋСœррр|§UЮќ?Qa`в€ @€!@ž?РР??QU Ю?Qў`ў№ўјџЈВ0mРЁР?РРР??ЈЋ0d@џџџќџн3џƒ^€р€РWў˜чўџ€џџџџњ џїџџ€џџќџќџџрР?џРў?рџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџєŒTя3М‚€qуБ ~к4…x џђžѓ a‰:pНў|qЇkЧчјЂ,У6tIx€џЙ:фМоˆp=џЙЕхЧјŸур c‰’T 2›ј\(?wp€ЯюЯўтЮ”/сyцс—юш‹п№wЏяpŒљO0#щ‡‡xrˆˆpџВ–С aі4zјљtEу‡яјНџ~Фi"ёўђ5Щxўюё ўГЅыЧјпр@>Б@ СџмшB1кцубќwџŽЧf)јc=ТŒюѕћћЧрлD€ |=уАsќFђЌќ=€№ш‹Ч№:wxРќ§ж@-ˆЩpЗџСГР/?Рƒs€K‡Мм"q“ЧрАюўOЩъE3вьуТќ№œа|Яг <тŒŸ@р?џnёиwч€іnIqќ>Цrёјзb‰8§Уљ=џ€яРрфlђ‰ёmњpHƒёЌгўо9Р'?РМg€VŽиљ@?цж—рŸќ8ёхkЇЉЧ…јSџЭп<Р_ѓШ<6џИ€M0ёЯјрЄюR№ љŽrљрп <ёцџі6>СЭ1(ШЧџiуcvЩќ№§№УсЦсЏУгB+<Ю—ЏŸрр{јš”qcEё‡‹ј oпžРю&!е uŽxIў03їЫќ№8яфШжЅрљїѓџјяџ!љГ8Lј0юўЯцX;оŸmсћц№Ÿo >бџ>џЃ~W?^8?Рѓ‚|лз0 єƒ№OS™†р`aD Њžn<ёјёкФс#ќ уїz'С‡јdџјb!ќœ› x`џќРЮВ/qŸ–S-щ€љЮџС8Ю€Т9џо8(~‡_Ђ8$УйМч‚q§ћУ‡wрЯ™П€рxџе>;йтхёѓгšт]ќ<|Эѓ.ЫЯ №p №№§ 2€Xо$>у yјРF:^љ?7ъ#•Ш‘џ‚|џ—ƒxѓья"ЯoМ€пМc-ѕ3ШРЬ8ѓЧw{€ЧсррРнП;щбыѓчЇ;ЦМј|6ё^>D #№ћ7ќ№у1ШŒc3Рѓƒя€~Ђј<= ТР87јј84ијiџ%“чwž€ŽиЭ@.?ЏХ< РџярЮXўчw?|ў€чюŸ"бД УчяF5…xјўН|М~<>Д9sРНў|ŒŸ@р?ЯЏ,0РљП€|ДМƒxzi№„›Чxј›Цxјpq№+‡ЗАЬРOУC^RР1јїя<ŸќрЮџўsf"™W€яяŽˆ pёџчFž9ќ?хwz№8gј€6ГИќŸя@> §уCр ‡и„@x?п7ь№ о>ро>р7д№#MП‚Ÿ№@џ~Мy>xК†y щћчСАР/?Р<–ќ рЛџGЛїЛрЧёсўПzр§џp №›оxрtЛxќџc9’Щ w?€ќ,џУќC<БМю|sю№€ѓщ№М7|Яр п№D~8џZ7y{„јvlБуо9Р'?РСПР4?РіD Л;Шчwcy€ќoВр€}јЯ№уо>сiхёцўќ@0wџ€/ўўyчїŸпєрПёрчћŸШярЯxОџоŒјsјџ~љ№ќ№Уо?Р ?Р{ц†xшo€Я§№э‡`xc'8РГэO№cсрў1š‰фF{ˆ рœ|ьпуР §i"ёўчcрќиР('w™g€чБœ~Жђ№ ќfЯx>Ÿ€№њ№С>sAЬР?аяя?џ§јљџ§ЭЌ.?Ря§уzсќЦN pxwˆ}€ЭЮ<>ўј§Рсўcс№џџРрЮЭў3ї‡Ю‡xwcёќ“џ@рџŒO0пb?€=ЗћHРА9oїтСфЭђ§.^??РПў@2ЦнТј8›Y\~?€_юн ofŸѓžМ`Эу#ќ{љсџоаТ!р<яќ€=ќђџчс№жq‰рž2сќЦ€љћірiЭ—Т0џc'Ÿ8|РyМy†і€ нРр::]М~€Q§Ž =їуЬќdјюЦјкСџ<žŠaрСЙР'?РџƒЫљСџ<—Ц рLк2уќЮђрfџјќоС83Э<.РЌЭ?<РDX8xџ‡Ц'“ѓ–џx4ђxѓџ ў3!<РПќ@yЕeЧƒј–ърй9Тј<7ќ ѓро?€ ?РЦ|'œџќ=›<\Т<љвуќяїѓљ ž№`ОјIфЩ^№?.я?Рxпјџ<У~.џёˆАpёџИЩD№Цq'ˆ“Ѕ Ччјпѓщџ‘Ÿ‚p|ьјјѓЬ=Ф~у8јќ-<<ВТqqЇKЧ‡јД?›Р@ќdrјљГKkŽМ№y[y„† БЖё~mzqхўp~№СёМёўГk ŒG№f—~уOЯ№?Я ?Р!ё јž|сђg^yЙ€mчq{ў› x№n1}H€ЧєM†№ўЦ'yЕ…Чј“gрKDŽ8№џX_x˜‡ ‡t‡ђx щsёˆў7Ч№!clсќчN‰№mNqЏўЈ‹п№c0РŒoЦ №O1pШ€“Ь:ряѕ№ јѕпњ0кцјзў €3<Р~ѓЅ ЧјмFр/ŸŸxрџоџјќшџхгеу"ќП|xьс№Цœ/сщё^ў?/прŒŸ@р?Ÿ›\р?Yц~€жh•риЯф№уџБIКЮј/ŸЛ˜HD#Юo p№ќ#O—O№)б1ŽЦ?Бр~Зй№$ЪџС7"—У@ќ/цoq€ќљШџС>б?угЂуќv7<Р6ГИќџ:М]Ю~/€—zрc'8РјЦX wё^?О3 `ЧlьŠђёёh‹п№ор?7‡>Рx{cфœ|їЧ;ˆјGъёсќџƒ|о:1?Ч"МУќpюP§tЛxќџ4x`џіѓ^?<Л<аУЭЌ.?РЯ›>\?чЂсМчзaЯHй…хѓуЏРпрЯь рoќx€цЭ‘.Э§<уX(№чxгuтƒќ87јјьk p‡Чи@ј?џœпњiьётўfˆpљџПЂР,=Сџс!€иЯфѓЬ*^?я ѓ;>РрЪ#ёТќ›Чxјaн!фžУC№<р}ŸјyсхўЖёФљўЦМ'o=|Dƒ‚yМy†~4Йxџѓи@ќ?ббKŽ'ПучЯpяўЯЦџ'?c'8Р™TМ2yџ'ї€чАќ`;Ц№јо>р: @fz~Mњ4<Ј Cш Mњ0,‰>(RGэGгЧMњ$,‰>(RGэGгЧMњ ,‰>(RG<( ЮЦгЧMњ,‰~>( RGЮќ гЧMњд,Щ>(RGЮќвЧ,ЩMња<МMњр<МNuAњЊJg>S(j8PRh0( @ f BAњž0М`Aњl0AњЪCњEњ>€€€Mњ:KњrJmgB."B.&B.*LюHјˆNuS]f;AњNaИAњ„aАAњКaЈKњBAњ2aО?_@A"AњZaЈ?_@ A&Aњ‚a’?_@A*0-g@?AњЂat"h гш )сfBm>CњДоGоGвЧ|?€`Ÿ``РG]LжџHјџˆNuz|>:„"h"гш&@ @gОh(ft&h4$PешЕЫf!E$Prj,j*B№ №fB<` рf B;B!E&ТЧ&zзС!K"Ј "h"гш&AJAgz!E8A&IJЈ&fжЧkџўQ JkXAв($zЦэaдС!ERZAџZ|@.@@Z!J $zŒэaдС!J!E0EETЈ&Nu~G J(gS(`"hгш0 сgў рf)€?!@0"hгР тfBЈ|RЈ0`Р щf.ќ ˆщˆќ ˆќˆќ ˆќ ˆTЈ0`џŽ чf)@џэ@"zжвР!I!G0`џt шfiTЈ0`џJ фfG*i TЈ0`< хf|*RЈ0`џ цf |*RЈ0` уfVЈ0ii"hгш0Q+RЈ0J(gS(`NS(fHh"h гш шf TЈi`Ь сg рf)€?[€!@`ЦQ-RЈ(+kа(а(,@Cњја@2вР0(!(*‚f•VC•`. f"еVC•h (+j D ` й( `•VCеJ( g(  C(.J(gS(`V(и(Jjf&f’(dЧr`в(Вe‡Aт ’dA eвAdјаA G.( g~2(H$(8v чЁд!B8HBB(-’(QШџ(Aњж0ЈBhNu4:р2:оJBgtAњzKњШBA!B(|z@$zЈэ`дР!ERZ@џZt|@.BBZ!J $zlэ`дР!J!E0B(B(RA;ANuсюŽ ?јџ " &*$ ИИ $"”( ИИ $"˜,  ) Є d" @ œ@ $$Є$8ю M Ž й / Ž ї gрaшw ІGь—GћГp0єЛ…S#іЫЃ}Y8њнТЉ‘{eQ>, §юсдШНВЈŸ–Ž†~wpjd^YTOKGC?;852/,*'%#! ” TFMX 3@тцстхŸстщ*ц стх–ц˜“ˆˆƒртхŸстх“цž ф—žцœф•šц˜ф˜–ц”стцстщ8ц стщ0ц стщ?ц стц ртц ртц ртц с с  с с  с с  с с  с  с  с  с  с  с                                              0000000000$')+.0.+.0+..+.0300.0.0.+)+')++++.+.+.+000.00.00..+.030$ё$$$$ё$ё$ё$ё$ё$ё$ё$ё$ё$ё$ё$ё  №                                                          3Ice!ž}Bgx/`№дKфё[Ÿ+УШ ž6 Л q›СHяљx+Еоx:Z3дч7€ш№ьŠошўCž ˜М9Ќзњeg’ ЧЙ№МжйQ9wр№^ СЧгСЫ у\ y7ЩхрKx Г@xVL/…жЬOЦ}ŒэёрбXюКи№ бG№hј)z‰ыРM36xoƒ/Ц{wvZx‹ТЋpxKу6fx qЦг.Ў0;й]р€œЗgŒСр|№яќB№„ќїМ—€B7 У1ˆ!ЩзеЪ9рРIр М8И‚xАх9р4 ><(hзHx q.Ž8Ч‘ЯЙ8МыYg€:ёl9вujйUЛаЛ;МQЗzй<)Зз€о Ђ№ЇXlЌ№”мž^alмw\Њ+Ч€№HШ№ъЅž№*Ьgиo^r{Уœ рƒТ3ьxЄѓЯNOx) іЯxр&:ИХUО^Мˆтї‚№G_7^<„ыїГ^ЇŠ–SЌR+Р/-vчwnиwоФ|Žr™uJoŽёр/ЃУŸў^№*ыЕnёEEОиmЧ€GДxtO.ŒŽУЮS/†LХiЦбЮ~ђр[Ьмэˆ№Чœ^РM žx ЫƒЏ<^h IвUрЗ'—;X№гВЄё(є№ž!Ио…ƒƒР.лЦГ7‚qŒ Яр.ђ/МйgМuЃˆњ8їˆ№”ЂёŠ№ž“орWФ|Т"ЃРx јsˆ{1о^Gx.q[xMр.ьєфи<у&Ї€\ёФ р Va0эРqн-р‚:’Й№/`З/МЂНhМЩї€hh№РŽCž‹Х€ѓRx јˆ x џШ^yсї€й€ЄŠ№с'Ї6t˜уš№ŒЁи№RТ№(b\№h‡€ЦїB№Ї žР§оћХ уpxдpСx N/„№МX<Дxiбб9ф№<ї%з‚и№'№о№оož›УЫРоњТѓТ\|Œ“С‚7Мx +Mяx#іŽŽ6с7!Яяx/„ѕцxmЭo4цЏ'а=ряxNOМs­2яŒЦхр%(М€й8<№g,зžя& о|W^ ‰‹РВ0xр7<"мбh5 Ф"УЦ#СТгћxЏ&Ntр9Нрбx ƒp^/OјРhˆ2x ГДxрOЗЏ›лmРotx Ѕ#O~ѓѕр'Јe< ёћРГ№xчУЯМшрG8М&зƒ№Иža kРLЬ=л“иГРxZIxqQ;я†yсП цiр<0ž№Ž^cм-\ž;aћРфв№Cž^Рs{Рx РћOИ`Ž р.P/М5Ф…€М7ЏG€§$к№mф№O‰о'#Р †У5 xoЮo™р?ъG<жЋ'g^№@Ь№=6§(sФ№ Р,=[СвЫCx+”OѓSI.ёљж<9Мw€йшEч€"}№c‚ž ‚ƒРxixqJяŽјљрŽx/ Я>G§ЯсQр<ХA'€žŠ №т kГР­œ`0ђЃРŒ‹0xЫя:V/ŽzЏР!с˜y< †G€{№W‚Už№‡O ‰ ЉрWXуIрa<< 5<'€Œ$G†„0д№М€№ї€ћПь№юqД№моYž•ћРŽ@x ­юЗ€Лb№/,Hž тРN7PxAрgG0Мз <р~dя<Рg€š j№Ќ€ё€ЙPМW€эз'7€oцк№œ^СŒ'^sРS‹€x”В&хбр€>{Мя-рœЭЫТ;вsцf)Т4Ср6xwМ#<1—~2№Œ=k\сРѓ;Р{Р5›Ÿxс N№рBЏ<Т‘yМ13ММC<7€<ЪФ№/їњ№PРOў{С+СxИ8Яvб§рG€м;№ч‡6№@Ь+^я ДcМ6XxOЪOД›РKvuxЮбяЫ/їnрEЯМХ…y;+€ІGРыv‡a„№X€žHgG\О№tH№ž ˜^‹Р a“kР1u CР/А™NcСC\xЗЗx4x,`xz“ žѓЋx*axоБ›РКxѕxЯ O‘рдТ€.<№ЯN7очŽ/’#РМgxЅь„ь:о'ЮШЉрy$<ЫјŸМ.„Х‚€яw*А]kоУ3Мqjx8xя HЏ§OЩРСрG.i<ЫOKбрчер€} М'Ц‡ђ№ •мћ;­.žЖ[Рѓ\HxБbxbE/ ЋУ.?ЪxСя HЩБр/;<w?cМ№yŒчg‰‚Ї€№7фіцкя'з„€№@ЬxЈbgx`FТ"Ѓra5ОCчќЇŒо№X›оќЎDs{’›wЩыРШюёŸ'`O рбqрИ,j% Я=п+я1ЛТ<<ЅМ@с9=Ксqа<78Ч€“ЯƒEpќ№œ^Р^Ќ^;Р#ЃД”wДN/рdOˆ:ьq“ч€мёˆ№]Ј^УЛР4\RxБ+Р^pzxGn№ЕъЯэ<ЁЇ„Ѕ HаAжМ7МХ{#€g„‡цwфђу,80~€Zв№ЂЁо§м[Р0Nsрюo<Рu—€лу`)Фъ:СВ‚wрžщуx:58яяЁфГРnљЇx€ъƒGnяК9цо4XЭё§р~хМ87“71<чз€€№д‚МММЗ€}хc$яH~ПоС‚ѓРРSK˜3СCxxTxO<Йр&ЪтбаМхЙw€ќ_ч’—bўтNуCР  цЫРуЪ№˜ ž^нРT3xюxYxкЙо.М0:8;€d7€ч€†'n'ƒр№4ьЎ№gРmлТВ[€'UЕ№ˆЖахрЋК4<ЮЕя<о€и>ƒч†ФшТ№#‚dЭ‹^x^gž{Р]2~x6ДИХUрy Л;ыIЧ€@№8ёž№Р< мГРAJx†@xX^›оƒР\ѕ3›РbƒcРQx 3ыxJx–ѓ‘xn:opwИЋРxW Я08ИбЉръМ%(S7‚8žРM Wx Ўqx>Ц+nСx Р}ƒоxЊ›s0CЏЂ“У28Zx Гtx [O№ Š№оfX”о›vžQйнˆ&Эар1СрМЫХ'€Йјрб­р•/М ЧВ<Ё3РrxxnЬЏ0 оzЎЮ0шw1рИ­сQЄеsГg№у^DюЫР<Ю№ ]`р№ч7bИфЖ рЭ<ЬЏŽ Хр2-МШ9МММ!<2М-8—€9‰р1С ;Ые€—8 яїƒу€ј?NG€ЇуЇ€B№ф<:А№œž цсюу‡†нb€РS‹МCР3Р3Ђ’€žЇ&їw!7€ gцця—MЂ№ †ЫРJА†wЩŽcшPо œж„Ф№Нжbq}й4x(xdxžD7‰BЦбЩ=Ѕh­р\Lvwž›ŽоPhM‚Ч;xPNœ\ЬоюlДЎF/ŒŽФq{F^Р3Vфr№›)4sгРРУР,<€ЛР “АхŠ†К2гT–Jџ№џЁРД№‘Ъ#ж]€ћ* =ŽХ< €№˜Я`5џ9„тŠq $ „$ќQ`@&o.|, + аЋаЋ€// Bg?<JNAпќ BЇ?< NA\#Р8 yџџаg`Byа/98?< NA\BgNAByа/98?< NA\Hy/<./<KNAоќBgNAintro.prg4* PROJECT : * sss menu 4 * v2, additions made 4/9/90, now resets on STE * being adapted for predator intro, 9/9/1990 * PROGRAMMER : * Crossbones * ORIGINALLY COMMENCED : * 21/8/90 * ORIGINALLY FINISHED : * 25/8/90 9.00 p.m * ORIGINAL RELEASE DATE : * 27/8/90 * OTHER RELEASES : * v2, 4/9/90 * predator intro, 24/9/90 * ORIGINAL NOTES : * to be written as two vbl routines * and a main routine checking for keyboard * and doing the depacking. * to have a border routine, and a reset routine * OTHER NOTES : * v2, thanx to DCB for reset routine (ste version) * predator, to have border scroller * predator, MCA stile rasters + volume bars * predator, scroller works fine on screen, but not in border * predator, border scroll now works, 15/9/90 * for debugging opt d+ * macros super MACRO ;macro to go to supervisor clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,oldsp ENDM unsuper MACRO ;macro to go to user move.l oldsp,-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp ENDM d_mfp MACRO ;macro to disable most mfp interupts move.w #12,-(sp) move.w #26,-(sp) trap #14 addq #4,sp move.w #11,-(sp) move.w #26,-(sp) trap #14 addq #4,sp move.w #10,-(sp) move.w #26,-(sp) trap #14 addq #4,sp move.w #9,-(sp) move.w #26,-(sp) trap #14 addq #4,sp move.w #5,-(sp) move.w #26,-(sp) trap #14 addq #4,sp ENDM e_mfp MACRO ;macro to enable most mfp interupts move.w #12,-(sp) move.w #27,-(sp) trap #14 addq #4,sp move.w #11,-(sp) move.w #27,-(sp) trap #14 addq #4,sp move.w #10,-(sp) move.w #27,-(sp) trap #14 addq #4,sp move.w #9,-(sp) move.w #27,-(sp) trap #14 addq #4,sp move.w #5,-(sp) move.w #27,-(sp) trap #14 addq #4,sp ENDM * main program move.l 4(a7),a3 ; base page move.l #mystack,a7 move.l $c(a3),d0 ; text len add.l $14(a3),d0 ; data len add.l $1c(a3),d0 ; BSS len add.l #$100,d0 ; basepage move.l d0,-(sp) move.l a3,-(sp) clr.w -(sp) move.w #$4a,-(sp) trap #1 ; release memory add.l #12,sp super MOVE.W #$FFFF,2000 move.l #-1,-(sp) ;disable mouse move.l #-1,-(sp) clr.l -(sp) trap #14 add #12,sp clr.w -(sp) ;set screen parameters move.l #472064,-(sp) move.l #472064,-(sp) move.w #5,-(sp) trap #14 add #12,sp move.l $70,oldint move.l #intro,a0 ;depack title screen move.l #402000,a1 move.l #8000,d7 dep2 move.l (a0)+,(a1)+ dbf d7,dep2 move.l #$00400040,402002 move.l #$00400040,402006 move.l #$00400040,402010 move.l #$00400040,402014 move.w #$0040,402032 move.l #pal2,pal_ptr move.l #1,d0 move.l #music1,a0 jsr (a0) move.l #1,d0 move.l #music2,a0 jsr (a0) move.l #1,d0 move.l #music3,a0 jsr (a0) move.l #1,d0 move.l #music4,a0 jsr (a0) move.l #1,d0 move.l #music5,a0 jsr (a0) move.l #1,d0 move.l #music6,a0 jsr (a0) move.l #1,d0 move.l #music7,a0 jsr (a0) move.l #music1,mus_ptr move.l #main,a0 ;depack main screen move.l #367000,a1 move.l #8000,d7 dep1 move.l (a0)+,(a1)+ dbf d7,dep1 move.l #font,a0 ;depack font move.l #437000,a1 bsr decrunch move.l #472064,a0 ;copy screen move.l #367034,a1 move.l #7999,d7 p_cpy_2 move.l (a1)+,(a0)+ dbf d7,p_cpy_2 sub.l #2,a0 ;copy border stuff move.l #402034,a1 move.l #1279,d7 b_cpy move.l (a1)+,(a0)+ dbf d7,b_cpy move.l #$ff8240,a0 ;copy palette move.l #367002,a1 move.l #7,d7 c_pal_2 move.l (a1)+,(a0)+ dbf d7,c_pal_2 move.l #$800,d4 ;set up scroll registers moveq.l #1,d1 ;for interupts move.l #11,d7 movem.l d0-a6,vb2_reg jsr resmes ;scroll once normally d_mfp ;disable most mfp ints move.l #vbl2,$70 ;main routine on vbl * check for key and act on acordingly m_loop move.w #7,-(sp) ;test for key trap #1 addq #2,sp nx2 cmp.b #"(",d0 ;scroll speed check bne nx3 move.w #4,speed bra m_loop nx3 cmp.b #")",d0 bne nx4 move.w #3,speed bra m_loop nx4 cmp.b #"/",d0 bne nx5 move.w #2,speed bra m_loop nx5 cmp.b #"*",d0 bne nx6 move.w #1,speed bra m_loop nx6 cmp.b #"1",d0 ;change music bne nx7 move.l #music1,mus_ptr bra m_loop nx7 cmp.b #"2",d0 bne nx8 move.l #music2,mus_ptr bra m_loop nx8 cmp.b #"3",d0 bne nx9 move.l #music3,mus_ptr bra m_loop nx9 cmp.b #"4",d0 bne nx10 move.l #music4,mus_ptr bra m_loop nx10 cmp.b #"5",d0 bne nx11 move.l #music5,mus_ptr bra m_loop nx11 cmp.b #"6",d0 bne nx12 move.l #music6,mus_ptr bra m_loop nx12 cmp.b #"7",d0 bne nx14 move.l #music7,mus_ptr bra m_loop nx14 cmp.b #"0",d0 ;50/60hz bne nx99 eor.w #$222,367002 bra m_loop nx99 bra m_loop * terminate routine term clr.b $426 ;quit move.l oldint,$70 move.l #$08080000,$ff8800 move.l #$09090000,$ff8800 move.l #$0a0a0000,$ff8800 move.w #37,-(sp) trap #14 addq #2,sp and.w #$222,367002 cmp.w #$222,367002 bne t2 eor.b #2,$ff820a t2 unsuper e_mfp clr.w -(sp) trap #1 * reset for games routine reset2 clr.b $426 move.l oldint,$70 move.l #$08080000,$ff8800 move.l #$09090000,$ff8800 move.l #$0a0a0000,$ff8800 move.w #37,-(sp) trap #14 addq #2,sp and.w #$222,367002 cmp.w #$222,367002 bne t3 move.w #1,1998 t3 move.w #$2700,sr ;thanx to Dave C B, (writer of movea.l 0,a7 ; Stampede, for the new movea.l 4,a0 ; reset routine. jmp (a0) fin bra.s fin * depacker source decrunch: movem.l d0-a6,-(sp) cmpi.l #'Ice!',(a0)+ ; Is data packed? bne.s ice_03 ; no! move.l (a0)+,d0 ; read packed data lea -8(a0,d0.l),a5 move.l (a0)+,(sp) movea.l a1,a4 movea.l a1,a6 adda.l (sp),a6 movea.l a6,a3 bsr.s ice_08 bsr.s ice_04 bsr ice_0c ;; Picture decrunch! bcc.s ice_03 ;; These marked lines may be move.w #$0f9f,d7 ;; removed in your own sources ice_00: moveq #3,d6 ;; if you do not use the ice_01: move.w -(a3),d4 ;; additional algorithm. moveq #3,d5 ;; ice_02: add.w d4,d4 ;; addx.w d0,d0 ;; add.w d4,d4 ;; addx.w d1,d1 ;; add.w d4,d4 ;; addx.w d2,d2 ;; add.w d4,d4 ;; addx.w d3,d3 ;; dbra d5,ice_02 ;; dbra d6,ice_01 ;; movem.w d0-d3,(a3) ;; dbra d7,ice_00 ;; ice_03: movem.l (sp)+,d0-a6 rts ice_04: bsr.s ice_0c bcc.s ice_07 moveq #0,d1 bsr.s ice_0c bcc.s ice_06 lea ice_1a(pc),a1 moveq #4,d3 ice_05: move.l -(a1),d0 bsr.s ice_0f swap d0 cmp.w d0,d1 dbne d3,ice_05 add.l 20(a1),d1 ice_06: move.b -(a5),-(a6) dbra d1,ice_06 ice_07: cmpa.l a4,a6 bgt.s ice_12 rts ice_08: moveq #3,d0 ice_09: move.b -(a5),d7 ror.l #8,d7 dbra d0,ice_09 rts ice_0a: move.w a5,d7 btst #0,d7 bne.s ice_0b move.l -(a5),d7 addx.l d7,d7 bra.s ice_11 ice_0b: move.l -5(a5),d7 lsl.l #8,d7 move.b -(a5),d7 subq.l #3,a5 add.l d7,d7 bset #0,d7 bra.s ice_11 ice_0c: add.l d7,d7 beq.s ice_0d rts ice_0d: move.w a5,d7 btst #0,d7 bne.s ice_0e move.l -(a5),d7 addx.l d7,d7 rts ice_0e: move.l -5(a5),d7 lsl.l #8,d7 move.b -(a5),d7 subq.l #3,a5 add.l d7,d7 bset #0,d7 rts ice_0f: moveq #0,d1 ice_10: add.l d7,d7 beq.s ice_0a ice_11: addx.w d1,d1 dbra d0,ice_10 rts ice_12: lea ice_1b(pc),a1 moveq #3,d2 ice_13: bsr.s ice_0c dbcc d2,ice_13 moveq #0,d4 moveq #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s ice_14 bsr.s ice_0f ice_14: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s ice_16 lea ice_1c(pc),a1 moveq #1,d2 ice_15: bsr.s ice_0c dbcc d2,ice_15 moveq #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s ice_0f add.w d2,d2 add.w 6(a1,d2.w),d1 bra.s ice_18 ice_16: moveq #0,d1 moveq #5,d0 moveq #0,d2 bsr.s ice_0c bcc.s ice_17 moveq #8,d0 moveq #$40,d2 ice_17: bsr.s ice_0f add.w d2,d1 ice_18: lea 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) ice_19: move.b -(a1),-(a6) dbra d4,ice_19 bra ice_04 DC.B $7f,$ff,$00,$0e,$00,$ff,$00,$07 DC.B $00,$07,$00,$02,$00,$03,$00,$01 DC.B $00,$03,$00,$01 ice_1a: DC.B $00,$00,$01,$0d,$00,$00,$00,$0e DC.B $00,$00,$00,$07,$00,$00,$00,$04 DC.B $00,$00,$00,$01 ice_1b: DC.B $09,$01,$00,$ff,$ff,$08,$04,$02 DC.B $01,$00 ice_1c: DC.B $0b,$04,$07,$00,$01,$20,$00,$00 DC.B $00,$20 * vbl 2 routine vbl2 movem.l d0-a6,-(sp) movem.l pal1,d0-3 move.b #2,$ff820a movem.l d0-3,$ff8240 movem.l bod_reg,d0-a6 jsr border movem.l d0-a6,bod_reg move.l mus_ptr,a0 addq.l #8,a0 jsr (a0) movem.l vb2_reg,d0-a6 jsr cnt movem.l d0-a6,vb2_reg jsr volbar movem.l (sp)+,d0-a6 rte * volume bar routine volbar clr.l d0 move.b #8,$ff8800 vol of chan a move.b $ff8800,d0 and.l #$0000000f,d0 move.l #18,d1 sub.l d0,d1 move.l #502478,a0 draw vol bar 1 draw1 move.w #$ff,(a0) move.w #$ffff,8(a0) move.w #$ffff,16(a0) move.w #$ffff,24(a0) move.w #$ffff,32(a0) move.w #$ff00,40(a0) sub.l #160,a0 move.w #$ff,(a0) move.w #$ffff,8(a0) move.w #$ffff,16(a0) move.w #$ffff,24(a0) move.w #$ffff,32(a0) move.w #$ff00,40(a0) sub.l #320,a0 dbf d0,draw1 clr1 clr.w (a0) clr.w 8(a0) clr.w 16(a0) clr.w 24(a0) clr.w 32(a0) clr.w 40(a0) sub.l #160,a0 clr.w (a0) clr.w 8(a0) clr.w 16(a0) clr.w 24(a0) clr.w 32(a0) clr.w 40(a0) sub.l #320,a0 dbf d1,clr1 clr.l d0 move.b #9,$ff8800 vol of chan b move.b $ff8800,d0 and.l #$0000000f,d0 move.l #18,d1 sub.l d0,d1 move.l #502526,a0 draw vol bar 2 draw2 move.w #$ff,(a0) move.w #$ffff,8(a0) move.w #$ffff,16(a0) move.w #$ffff,24(a0) move.w #$ffff,32(a0) move.w #$ff00,40(a0) sub.l #160,a0 move.w #$ff,(a0) move.w #$ffff,8(a0) move.w #$ffff,16(a0) move.w #$ffff,24(a0) move.w #$ffff,32(a0) move.w #$ff00,40(a0) sub.l #320,a0 dbf d0,draw2 clr2 clr.w (a0) clr.w 8(a0) clr.w 16(a0) clr.w 24(a0) clr.w 32(a0) clr.w 40(a0) sub.l #160,a0 clr.w (a0) clr.w 8(a0) clr.w 16(a0) clr.w 24(a0) clr.w 32(a0) clr.w 40(a0) sub.l #320,a0 dbf d1,clr2 clr.l d0 move.b #$a,$ff8800 vol of chan c move.b $ff8800,d0 and.l #$0000000f,d0 move.l #18,d1 sub.l d0,d1 move.l #502574,a0 draw vol bar 3 draw3 move.w #$ff,(a0) move.w #$ffff,8(a0) move.w #$ffff,16(a0) move.w #$ffff,24(a0) move.w #$ffff,32(a0) move.w #$ff00,40(a0) sub.l #160,a0 move.w #$ff,(a0) move.w #$ffff,8(a0) move.w #$ffff,16(a0) move.w #$ffff,24(a0) move.w #$ffff,32(a0) move.w #$ff00,40(a0) sub.l #320,a0 dbf d0,draw3 clr3 clr.w (a0) clr.w 8(a0) clr.w 16(a0) clr.w 24(a0) clr.w 32(a0) clr.w 40(a0) sub.l #160,a0 clr.w (a0) clr.w 8(a0) clr.w 16(a0) clr.w 24(a0) clr.w 32(a0) clr.w 40(a0) sub.l #320,a0 dbf d1,clr3 rts * scroll routine, (from menu 3) resmes move.l #message,mes_p ;move message addr to mes pointer nxtlet movea.l mes_p,a2 ;move pointer to a2 moveq.l #0,d0 ;clear d reg move.b (a2)+,d0 ;get char and increment pointer cmpi.w #$ff,d0 ;end of message? beq resmes ;yes? restart subi.w #32,d0 ;so space=0, not 32 etc. move.l a2,mes_p ;copy pointer back to buffer asl.w #2,d0 ;multi by 4, use l-words not bytes movea.l #fnt_tbl,a2 ;font table addr adda.l d0,a2 ;plus char no=addr of offset move.l #437000,a6 ;font data adda.l (a2),a6 ;plus offset adda.l #5160,a6 ;start from end of char,miss palette data,miss 3 bitplanes move.l a6,chr_ptr ;move font ops to buffer ****************************scroll routine********************* move.l #$8000,d4 moveq.l #1,d1 moveq.l #15,d7 tcb movea.l #472064,a4 ;move scr addr for working with adda.l #37116,a4 ;offset to start of work area moveq.w #31,d6 ;no of lines+1 to scroll lines andi.w #$ffef,sr ;clear extend bit in status register roxl.w (a4) ;roll with extend left roxl.w -8(a4) ;the left most bit of the word roxl.w -16(a4) ;is copied to the extend bit roxl.w -24(a4) ;in the status register roxl.w -32(a4) ;the other 15 bits are shifted roxl.w -40(a4) ;one bit to the left roxl.w -48(a4) ;and the right most bit roxl.w -56(a4) ;has what was previously in roxl.w -64(a4) ;the status register copied roxl.w -72(a4) ;into it. roxl.w -80(a4) roxl.w -88(a4) roxl.w -96(a4) roxl.w -104(a4) roxl.w -112(a4) roxl.w -120(a4) roxl.w -128(a4) roxl.w -136(a4) roxl.w -144(a4) roxl.w -152(a4) move.w (a6),d0 ;start copying new char and.w d4,d0 ;has bit got to be copied beq no_coa ;no? miss some code or.w #1,(a4) ;add bit required no_coa sub.l #160,a6 ;position to start of next line sub.l #160,a4 ;do same with screen dbf d6,lines ;do all rows sub.w #1,buff ;no. scrolls per vbl bne cont ;if no. gone, reset buff move.w speed,buff cont ror.w d4 ;next mask move.l chr_ptr,a6 ;to correct registers move.w speed,d0 move.w buff,d2 cmp.b d2,d0 bne cnt rts cnt dbf d7,tcb ;do half char addq.l #8,chr_ptr ;second half pos on big chars move.l chr_ptr,a6 ;put it in the correct register subq.l #1,d1 ;done both halfs of big char? bmi nxtlet ;yes, get next letter poss moveq.l #15,d7 ;16 pixels between next char get bra tcb ;loop back to do it again * border routine border ori.b #1,$fffa07 ;i just rip em, ori.b #1,$fffa13 ;i dont know how they work clr.b $fffa1b ;so there's no move.b #22,$fffa21 ;comments.. move.b #8,$fffa1b bclr #0,$fffa0f move.l #border3,$120 move.b #2,$ff820a rts border3 clr.b $fffa1b move.w #$707,$ff8240 move.b #5,$fffa21 move.b #8,$fffa1b move.l #border4,$120 bclr #0,$fffa0f rte border4 clr.b $fffa1b move.l #$04040000,$ff8240 move.w #$0777,$ff8244 move.b #1,$fffa21 move.b #8,$fffa1b move.l #borde5,$120 bclr #0,$fffa0f move.w #49,ras_scr rte ras_scr dc.w 0 borde5 clr.b $fffa1b move.b #1,$fffa21 move.b #8,$fffa1b bclr #0,$fffa0f subq.w #1,ras_scr bmi borde1 addq.l #2,pal_ptr move.l a0,bod_reg move.l pal_ptr,a0 cmp.w #$ff,(a0) beq bored1 move.w (a0),$ff8242 move.l #borde5,$120 move.l bod_reg,a0 rte borde1 move.l #border5,$120 move.b #5,$fffa21 rte bored1 move.l #pal2,pal_ptr move.w #0,$ff8242 move.l #borde5,$120 move.l bod_reg,a0 rte border5 clr.b $fffa1b move.w #$0202,$ff8240 move.b #5,$fffa21 move.b #8,$fffa1b move.l #border6,$120 bclr #0,$fffa0f rte border6 clr.b $fffa1b clr.w $ff8240 movem.l d0-3,-(sp) movem.l pal1,d0-3 move.b #2,$ff820a movem.l d0-3,$ff8240 movem.l (sp)+,d0-3 move.b #55,$fffa21 move.b #8,$fffa1b move.l #border7,$120 bclr #0,$fffa0f rte border7 clr.b $fffa1b movem.l d0-7,-(sp) movem.l 367002,d0-7 move.b #2,$ff820a movem.l d0-7,$ff8240 movem.l (sp)+,d0-7 move.b #55,$fffa21 move.b #8,$fffa1b move.l #border8,$120 bclr #0,$fffa0f rte border8 clr.b $fffa1b move.w #$0070,$ff8240 move.b #5,$fffa21 move.b #8,$fffa1b move.l #border9,$120 bclr #0,$fffa0f rte border9 clr.b $fffa1b move.w #$040,$ff8240 move.b #1,$fffa21 move.b #8,$fffa1b move.l #border2,$120 bclr #0,$fffa0f movem.l d0-3,-(sp) movem.l 402002,d0-3 move.b #2,$ff820a movem.l d0-3,$ff8240 movem.l (sp)+,d0-3 rte border2 clr.b $fffa1b move.l d0,-(sp) move sr,-(sp) move.w #$2700,sr move.w #$e,d0 wt1 nop dbf d0,wt1 move.b #0,$ff820a move.w #$c,d0 wt2 nop dbf d0,wt2 move.b #2,$ff820a movem.l d0-7,-(sp) movem.l 402002,d0-7 move.b #2,$ff820a movem.l d0-7,$ff8240 movem.l (sp)+,d0-7 move (sp)+,sr move.l (sp)+,d0 bclr #0,$fffa0f rte * labels n prog space ds.l 100 stack space mystack ds.w 1 (stacks go backwards) oldint dc.l 0 oldsp dc.l 0 vb2_reg ds.l 13 ;buffs for vbl2 regs ds.l 100 stck dc.l 0 ds.l 200 clr_mem dc.l 0 * message + other scrolltext stuff chr_ptr dc.l 0 speed dc.w 4 buff dc.w 4 message DC.B " ONLY A SHORT SCROLLTEXT AS I'M VERY PUSHED FOR" DC.B " TIME RIGHT NOW, (I'VE GOT 5 LOTS OF A LEVEL" DC.B " HOMEWORK TO FINISH, A MENU 5 ADAPTATION TO DO" DC.B " FOR BLUEBEARD, AND MORE, ALL BY TOMMOROW," DC.B " (MONDAY 24TH SEPTEMBER, ALSO THE RELEASE DATE" DC.B " FOR THIS), I ALSO HAVE ENOUGH HACKING, PACKING," DC.B " RIPPING AND CODING WORK SITTING ON MY DESK TO" DC.B " LAST ME TILL CHRISTMAS).." DC.B " SO I'LL KEEP IT SHORT, FIRST NEWS, CREDITS," DC.B " THANX, AND THEN GREETINGS. O.K.." DC.B " AND NO LONG GAPS.. " DC.B " O.K. SO I'M A BORN FIBBER.." DC.B " PRESS 1-7 FOR MUSIX, AND ()/* FOR SCROLL SPEED.." DC.B " NEWS, EXPECT TO SEE DPAINT ON AN SSS MENU SOON AS" DC.B " MOBEY DICK AND MYSELF WILL BE BUYING IT NEXT WEEK," DC.B " YOU CAN EXPECT MOST OF THE MANUAL ON DISK AS WELL" DC.B " IF ONE OF US GETS THE TIME.." DC.B " ALSO I NOW HAVE OVER 40 PICTURES FOR FUTURE MENUS," DC.B " (I'VE JUST SPENT A DAY RIPPING THEM ALL).." DC.B " NEXT, EXPECT TO SEE MY DEMO, (WRITTEN IN CO-OPERATION" DC.B " WITH THE PENGUIN), AROUND CHRISTMAS, WE ALSO HAVE" DC.B " MOBEY DICK WORKING ON SOME IDEAS FOR IT RIGHT NOW.." DC.B " LASTLY, THIS IS NOT AN SSS MENU, BUT JUST A" DC.B " CROSSBONES INTRO, (IT WOULD HAVE BEEN ON A MENU," DC.B " BUT ICE PACK 2.11 MADE THE GAME GO WRONG AFTER THE" DC.B " FIRST LEVEL. AREN'T YOU LUCKY I CHECK THESE THINGS).." DC.B " CREDITS, ALL CODE, CROSSBONES, RASTER PALETTES, THE" DC.B " CABIN BOY, IDEAS, MOBEY DICK, (AND INDIRECTLY, THE ALIEN)," DC.B " MUSIX RIPPED BY ZIPPY OF THE MEDWAY BOYS," DC.B " GRAFIX, CROSSBONES.." DC.B " THANX TO, ZIPPY FOR THE MUSIX, THE ALIEN FOR SOME IDEAS," DC.B " MOBEY DICK FOR SOME IDEAS, THE PENGUIN FOR CODING HELP," DC.B " BLUEBEARD FOR MUCKING UP MY MENU 3 CODE WHILE TRYING TO" DC.B " WRITE MENU 5, (WHY DO I HAVE TO FIX IT? YOU MUCKED IT" DC.B " UP!!).." DC.B " MEGA BORING GREETINGS TIME.." DC.B " THE COFFIN, GILBERT, ACCESS, BLUEBEARD, MOBEY DICK," DC.B " THE PARROT, SKULL, THE CABIN BOY, DARREN (KENT)," DC.B " ZIPPY, WIZPOP, THE MIGHTY CLOG, THE ALIEN, ANY OTHER" DC.B " MEMBERS OF THE POMPEY PIRATES, SEWER SOFTWARE," DC.B " KING, CLAIR C (COUGH COUGH, SMOKE BOMBS AT SCHOOL!)," DC.B " CLAIR M, KIM G, TONI R, LYNNE C," DC.B " LYNNE K, GOODAY AND GOODAY, JK, JF, ANDREW SE," DC.B " ANDREW ST, ANDREW C, ADAM H, JAMIE H, CHRIS F," DC.B " MAUREEN, SPANNAH, GINA I, JAKIE I," DC.B " KENNY, GRAHAM P, DEXTER A (GOOD LUCK), MELANIE B," DC.B " CARLA, RACHEL, MARTIN B (BANG!!), OWEN G, SHAWN P," DC.B " SIAN N, AND ELAINE.." DC.B " NORMAL BORING GREETS.." DC.B " MEGAWOT, JAILHOUSE, DEFJAM, UZI, DREAM WEAVERS," DC.B " AUTOMATION (LSD/WAS (NOT WAS) WORKED A LOT BETTER)," DC.B " REPLICANTS, TLB, TCB, LEVEL 16, D.I., THE EMPIRE," DC.B " ATARI, SONY, BEST BYTE, SOFTVILLE, JIFFY," DC.B " KAM, GUARDIANS OF LOGIK, OH SH*T, IS THAT THE TIME," DC.B " IF YOU'VE APPEARED ON A PREVIOUS MENU GREETINGS," DC.B " YOU SHOULD HAVE BEEN ON THIS ONE, BUT I'M OUT OF TIME," DC.B " SO LET'S WRAP.. " dc.b $ff mes_p dc.l 0 fnt_tbl dc.l 0,16,32,48,64,80,96,112,128,144 dc.l 5120,5136,5152,5168,5184,5200,5216,5232,5248,5264 dc.l 10240,10256,10272,10288,10304,10320,10336,10352,10368,10384 dc.l 15360,15376,15392,15408,15424,15440,15456,15472,15488,15504 dc.l 20480,20496,20512,20528,20544,20560,20576,20592,20608,20624 dc.l 25600,25616,25632,25648,25664,25680,25696,25712,25728,25744 * palettes (for scroller) pal1 dc.w 0,$111,$222,$333,$444,$555,$666,$777 pal2 dc.w $100,$200,$300,$400,$500,$600,$700 dc.w $710,$720,$730,$740,$750,$760,$770 dc.w $771,$772,$773,$774,$775,$776,$777 dc.w $677,$577,$477,$377,$277,$177,$077 dc.w $067,$057,$047,$037,$027,$017,$007 dc.w $006,$005,$004,$003,$002,$001 dc.w 0,0,0,0,0,0,0,0,0 dc.w $ff pal_ptr dc.l 0 bod_reg ds.l 13 * include files mus_ptr dc.l 0 intro incbin "a:\predator.int\scroll.pi1" main incbin "a:\predator.int\top.pi1" music1 incbin "a:\predator.int\cuddly.mus" music2 incbin "a:\predator.int\cuddly1.mus" music3 incbin "a:\predator.int\cuddly2.mus" music4 incbin "a:\predator.int\cuddly3.mus" music5 incbin "a:\predator.int\land.mus" music6 incbin "a:\predator.int\warp1.mus" music7 incbin "a:\predator.int\teramis1.mus" font incbin "a:\predator.int\font.pi1"  0@P`pvusqp`PџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџџЊџџџџUџЊџџџЊџџUUџЊџЊџџUџЊџЊ€UџЊUџUџџџЊЊUџUџџџЊUџџџUџџџџџџUџџџџЊџUџџџUџџЊЊџUџUџџЊџUџUЊџUЊџЊџџџUUЊџЊџџџUЊџџџЊџџџџџ  €T*'Gg0Pppppp;ќџџџ@ рxxx№€€€p€№ƒќџџџ`№xxx№№€€€№№П№Рџџh˜јxxx№№€€€р№№ Р№шјxxx №№€€€№№№р№(xxxx№№№€€№№№€№!їџyџјјјќ>ќќ?о>ў#џџЅ?#?пчџџ‡ё‡џ‡џУПУџУџуїуџуџ№№№џуџуџур`џ€џр?„џ‡џ‡ПУџУЯ№џ№џ№р9јџyџ|џќџќџўў|ў_3?<џ?€џ€џ€<Е?3?ЯŸџŸџŸџУєЯћЯџ'Пчџчџу№ѓџѓџp№№џчџчџчёџ№џ№‡ŸЮџЯџЯПg‡џчЯ№џ№џ№арˆ;ќyџ<џќџќџў:ў|ў_4?;џ?€џ€џ€=Е>3?ЯœŸџŸџУїЯјЯџЇЧgџчџуѓѓќѓџ№№џчџчџчџ№џ№џ№ƒŸљЮџЯџЯП'ЧџчЯ№џ№џ№Wў˜рщ€р`р<№<№<№pxx0<<€€€<<<žžУЯЯЇ€g€ч€рx№x№x№№№€№€№€№žžЬЯЯЇЧч€№€№€№Wў˜р ррр<№<№<№pxx<<<<<<€žУЯЯ€€€р8№x№x№№№€№€№€№žžžРРЇЧч€№€№€№Wџ˜р `рџџџўtўxўz??ў?Пџџ<<<џџЫњЯќЯџƒЗGЯЧџ№8№x№x№№№€№€№€№žžžСЧј Чџч€№€№€№арррџџџўvўxў ??џ?П€џ€џ€<<<џџШ:ЯќЯџр0Ячџpp№x№x№№№€№€№€№žžžOЯџцџч№€№€№ррџџџќ2ќ<ќ?шчП€џ€џ€<<<џџƒ‚„|‡џчŒsчџpрxрx№№№€№€№€№žžžЮЯ0`Я‡џч№€№€№Р№р№№№€€€8<<„c€ч€pxx№№№€€№€№žžžЯЯчч№€№€№p€№р№№№8xx<<€€8<<@ЯЯЁ€g€ч€€p№x№x`№ёчёчёч€€№€№žžž‡ЯЯфчч№€№€№№№рџџџўў}ў0Я?џ?ћ€ќџ€8<<_€џCЯ№ЯџЇŸgџчџ sа|№р№џчџчџчџ№џ№џ№ŸŸŸєЮџЯџЯ~хџцџч№џ№џ№0№№рџџџўўў‡=џџ?њ€ќџ€<<<СџOьЯѓЯџŸчџчџ zа}№ а№џцџчџчџ№џ№џ№ŸŸŸїЮџЯџЯ~хџцџч№p№џ№№№№рќќ?ќ?ўўўћќџ<<ус‡џ‡џУŸУџУџ :Р=р?€ррТУУџрџрџрћ†џ‡џ‡~сџтџуŸ№џ№№џР?џџ№ќ?џџџџрќ?Ррџ€pрў?@џрј џџўџР8pјџјџрџў?@џќ€ўpР џџўџ№?РўРџ ў€џ0јџ ў?@џџР?џР€` џџўџ0ќџџ€`џџРџ`ќџў?@џџ€`џ€Р0 џџўџ`ў€џџР0џ0џ€`?џРў€џ0ў?@џџР0џџр џџў?џРџРџ џрџ џР џ€џ€џ`ў?@џџрџџ№ џџўџ€џ€`џџ№џ`џР1џ€џР?џРў?@џџ№ џџј џџўџџџР0џџ№ ?ј@р€џсџ€@ј€?џ@Р?€ј џџќ?јјџџсџрўјр?р@ррџ€s€€Aр€?@Р рјџ№ќјџ€sр€ј0ј8?Р@0ё0 џР?€Рaџ€p?@Р 8ќќœўјџР?№Р№ ј ?Р@ ё џ€?Р@!џР?@Р ќјў€ј ў€№` № ќ?€@`ё ў€Р`#џ€?@Р ќјџ€јќј0р ќ?€@@ё ўС "ў€?@Р ў№ џ€јјјр ќ?€@@ё ўС "ў?@Р ў№џ€ј№ ќ р ќ?€@@ё ўС &ќ?@Р ў№џ€ј№ќр ќ?€@@ё ўУ`$ќ?@Р џ№џ€ј0рќр ќ?€@@ё ў?ƒ@dќ?@Р џ№џ€ј рўр ј?€@@ё0 ў?ƒРDј?@Р €№џ€ј рўр ј ?€@@срў€Ьј?@Р €№џ€ј Р0ўр №8 ?€@с€ўўџˆјџ?џ@Р €№ џџ€ј`Р ўр №р?Ÿ@`џС2ў€ўˆџџў?@Р €ёџ џ€ј?@Р џч џр?Ÿ@`џС"ў€ќџџў?@Р €ёџ џ€ј?@Р џч џР0?Ÿ@`џbў€јџџў?@Р €ёџ џ€ј?@Р џч џ€`?Ÿ@`џТў€ќџџў?@Р €ёџ џ€ј?@Р џч џР0?Ÿ@`ў‚ў€ўџџў?@Р €ёџ џ€ј?@Р џч џр?Ÿ@`јў€ўˆџџў?@Р €ёџ џ€ј?@Р џч џр?Ÿ@`рў€џˆџџў?@Р €ёџ џ€ј?@Р џч џ№?€@№ўџџШјџ?џ@Р €№ џџ€ј?@Р џр №№ ?€@@ўƒ€Lј?@Р €№џ€ј`Р0ўр ј?€@@ў?ƒРDќ?@Р џ№џ€ј рўр ј ?€@@ў?ƒ@dќ?@Р џ№џ€ј рўр ј?€@@ўУ`$ќ?@Р џ№џ€ј0рќр ќ?€@@ўС &ў?@Р ў№џ€ј№ќр ќ?€@@ўС "ў?@Р ў№џ€ј№ ќ р ќ?€@@ўС "ў€?@Р ў№џ€јјјр ќ?€@@ўР #џ€?@Р ќ№џ€јќј0р ќ?€@@ўР !џР?@Р ќ№џ€ј ў€№` р ќ?€@@ўР !џ€p?@Р 8ќ№џ€јџР?№Рр ќ?€@@ўР !р€?@Р рј№џ€јџ€sр€р ќ?€@@ўР ј€?џ@Р?€ј№џ€јџсџР0р ќ?€@@ўР ?џРў?@џџ№ №џ€јџ€џ€`р ќ?€@@ўР џ`ў?@џџр№џ€ј?џРџРр ќ?€@@ўР џ0ў?@џџР0№џ€јџ`ў€р ќ?€@@ўР џў?@џџ€`№џ€јџ0ќр ќ?€@@ўР џ ў?@џџР№џ€јџјр ќ?€@@ўР џў?@џќ€№џ€јџрр ќ?€@@ўР рў?@џр№џ€ј?Р№р ќРџ?р?џџ№јџ€ќ€?№ў@@@МММ888€€€HHH@@@љ№љ№љ№ˆˆˆ  @@@€€€РРР„„„000ррр  ???љќљќљќрррќќќAџAџAџ000  шшшРРРРРРјјј _ў?ўџўРРР@@@000a€a€a€€€€000000``` @@@  ``  @@@@@@@@@@@‚‚‚ @@@@@@РР@@@ТТТ @@@’’’@@@@@@„„„РРРpp‘‘‘РРР@@@„„„@@@Р‚‚‚@@@@@@„„„@@@€HBHBHB@@@0@@@@@@H"H"H"@`@`@€€€ HHH!Р!Р €€€000˜˜€H H H 330?????????@@@   №№Р H H H !!!!!!!!!@@@000pp0@@@DDD???>>> @@@РРРќќќррр€€€DDD1ќ1ќќ!!!?????????@@@ќќќрррџџџ~~~DDD№№№aќaќќ111 @@@РРР€€€ $$$Р111 #########@@@€€€ииР```DDD„„„€€Р?Р?Р? ????????? €€€pp@DDD„„„€€@@@@@@рр BBB„„„ @@@   BBB„„„    €€€BBBBBB   €€€BBBBBB Р№€€€€€€BBBBBB €`a€РРР€€€AAABBB€€€@@@C|€€€€€€ˆˆˆBBB@@@@@@@@@@@@€€€€€€HHH"""@@@000@@@@@@€€€€€€ˆˆˆ"""@@@ шшш !!!€€€„„„""" AAA !!!€€€„„„!!! ќќќќќќ~~~@€@€@€€€€€€€!!!@@@xxxРРРРРР€€€€€€РРР€€€000#ё<?ўшјјјј€€€†††ўўўќќќррр@@@<ќ000€€€сќсќсќ  @ @ @РСрј€€€џџџ№ № № @@@ppp  јРРР€€€€€€џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќ?§UUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊUUЊЊє€?Р?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјў|џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ|џ€јџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ<џР№џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџррџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџ€џ№р?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјџ№Рџ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџјСџ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјУџ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ†џјЧџ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЦџјЧ§?§UUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊUUUUЊЊЦј€Яр?рџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџцј№Я€?€џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџцјќЯ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџцјўЮ>џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџцјџЮ>џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџцјџЬ<џЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџЊЊџџ€fxџ€Ь<џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ№fxџ€Ь?<џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјfxџ€Ь<џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќfxџ€Ь<џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќfxџ€Ьџ<џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўfxџ€Ь§<џUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџUUЊЊџџ~f€xџ€Ь№<џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџfрxџ€Ьр<џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџf№xџ€ЬРžЮцђјќўўќќјрџџџџџџџўўўўўўџџџџџџџўўўўўўўўўўџџџџџџџџџџџџџџџџџџџџџџџџџџџџрјќќўўўўўўўўўўўўўўќќј№јќўўўўўўўў?џџџўўўўџџџ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўўўўўўўрјќќўўўўўўўўўўўќќјрџџџџџџџџџџџџџџџџџџџџџрррррррррррррррррррррррўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўџџџ?џџџџџџџџџџџџџџўўўўўўўўўўўўўўўўўўўўўўўўўўўўќќјрўў???€€€РРРрр№№№јјќќќўў?????ўўќќќјјј№№ррўўќќјјј№№№ррРРР€€ўўўўўўўўўўўўўўўўўўўўўџџџџџџџџџ?џџўќј№рР€€Рр№јќўџџ?ўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўјќўџџџ??џџўќј€Рр№јќўџџџ??џџўќј№рР€?џџўќјјќўџџџ?>~ўўўќј№рР€€Рр№јќўўўў~>јќўџџџ?€Рр№јќўџџџ??џџџўќј№№№№№№№№№№№№№№№№>~ўўўўќј№рР€џџџџџџџ?џџџџџџџџџџџџџ?џџџўќј№џџџџџџџџџџџџџџџџџўќј№рР€џџџџџџџўўўўўўўрР€ўўўўўўўџџџџџџўўўџџџџџџџ?џџџџџџџџџџџџџџџџџџ?џџџўќј№рР€€€€€€€€€€јќўўўўўќј№рР€??????????????????????????????€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€??????€€€€€€?????јјјјјј№рР€???????џџџџџџџџџџџџџџјјјјјјј|ќќќќќќррррррррррррррррррќќќќќќ|>????????????>€рр№№№јјјјјјјјјјјјјјјјјј№№№рр€?џџџџўќјј€€€€€?џџџўўўўўўўўўўўўџџџџџџџџџ?џџџџџџџ?џўќј№рРџџџџџџџџџџџџџџ?џўќј№рР€џџџџџџџрјќўўўўўўўўўўўўўўўўўўўўўўўўўќќјр?џџџџџw'јјјјјјјјјјјјјјјјјјјјјјјјјјјјјјјјџџџџџџџ?џџџџџџџјџџџџџџ?џџџџўќј№рџџџџџџРр№јќќўўўўўќќј№рР€ўўўўўўџџџџџџџ??????џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџрјќќўўўўўўўўўўўўўўўўўўўўўўўўќќјрџџџџџџџџџџџџџџџџџџџџџџ?џџџџџџџџџџџџџџџџјјјјјјјјјјјјўўўўўўўўјјјјјјџџџџџџрррџџџџџџџџџџџџџџџџџџџџќџџџџџџџџџџџџјўўўўўўРр№№јјќќўўўўўќќј№рР???????????џџџџўџџџџџџџќ№ррррр№ќџџџџџўќј№рР€ќџџџџџџџџџџџџјРр№№јјќќўўўўўќќј№рРџџџџџџџ?џџџџџџџџџџ?џџџўќј№рР€џџџџџџџ?џџџўќј№рР€ўўўўўўўўўќј№рР€???????џџџџ№Р€€€Р№џџџџџџџџ№Р€€€Р№џџџџќџџџџџџџџџџџџџџџџј€р№№јјќќќјј№№р€€р№№јјќќќјј№№р€????џџџџџџјрРРРРРрјџџџџџџ??№ўџџџџџ??џџџџџџџџџџџўќј№€Рр№№јјќќќќќќќќќќјј№№ррР€}{zzypiSI7+`АУЮЬЦЛЗЎЊЄЁ›™—’‘‹ˆ‡}s^QG7324:>ЂООрў рр">>ЂООў№@РР!џ?џ?џ№ЂџОџОс№?€€€€@џџЁџПџПџ€џџ€РЁљ€ј!??@џџ џПџП€џ€џ€`аxžB~~‡џџџџџ№ џПџП€џ€џ€`аf„ќќˆјјЁППџ€џ€џ€0h јјјјЂОО0h,№№№№ЂОО4, рр№№ЂОО40X@РР р рЂОО `А€€€ р рЂОО `А!??@РРЂОО Р`B~~@Р@ЂОО Р`„ќќ  €@ˆЂOОО‚€Рјј @ €@ˆЂOОО…€№№РР ШЁЏППџџџџџџ§ƒџEќ€ срР`Р Ш ЏППџџџџ†џKќ@СРР"`>>`аh пППџџџџЬџЖў€€€`>А>>`аoПпППџџџџџџўќџ†ў`А0h0hx€Œ0X0h0hx€ь0X44> €x,44>љ€,  јЦ   Р8   јР€   јч€ €Ÿр€@Р€€Ÿќр€@Р0€€@ќcР №М€Р€@рР я€РР @р`а РС`р `а РРё``а0h p`МА`аќ0hќ яoА№0h№РР‚4ў №xў р :>‰4џ №€џ€№Тў”Œї€,xќ@џРˆј">ў’LѓР,|ƒ№ џрD|D|p8ј‘& ёр0X`р №">ˆјƒРџР– №№0X €?€ј№8?ќK№xp˜!?ј€€ рРџрр#№8рАB~„ќ@Р@Рџ№р0D|D| р€€p8ј № р0D|D|№€@џРp№~Ррˆј">ˆј">@€€‚џўрˆј">D|D|0p?№€|џќˆј">">ˆјў€џ€ˆј">№џРР‚ўˆј"> рp8ј€џ€ˆј">@РўŒ`џрˆј">@РСРџР“ѓјˆј">@Р88?јЦ№ўˆј">@Рќ1№?€€ˆј">@Р‚ў №`рD|D|@РB~№јD|D|@Р‚ў№ЦўB~„ќ@Рќ№1€?€!?ј@Рррџр№ `р €?€ј@Рџ№ј`р №@Рp8ј№„ќџ№ џр@РƒџРРџџџџџўџ@џР@Рќ€џџџўџ€џ€@Рррџр€џџџўрџў@Р‡џџџџџџўџў№№РРјј€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€`T/<?<&NN\?</<?<1NAќ„#ќNк0<NЙk ќk §kkk+-+С+kkk+?@СFќ'ќџџˆ9џџˆР+Aњбp РџџˆрџџˆQШџђFСJ+ mgQы m@СFќ'ќ џџˆы jџџˆFС`ўžGњ§ŠQыЄQыЅ@ТFќ'ќџџˆ9џџˆ?p РџџˆќџџˆQШџ№ќџџˆСџџˆFТNuКœЂЊf”Žш€z.NВтОРЦX`џŽ0( 4hдРT@Js f4hp2s гЫ1@ `а(.+ЕРЕ@Pш`А(.8+ЕРЕ@Qш`(. џ+РС+Pш`vBhшYY`bYІ`\Y*Q)Y+`Nшш`@B(,`:|@,`2|Р,`*ш`"B(`LPш-`Qш-`S(fVB("hpkd@J(g@ $h$!J R(Rhшh!IJ(-g J+ЅfPш-Nu(fNu(gR(NuS(NuА<ИeX e0e4dа@Eњv4rеЫ!J!J`џh @ `џ\R@`џRа@Eњˆ4rеЫ!J$b`џ:@а@Eњў4rNѓ ~(g$S(dh$h *kRЈ @(h((а:К"hg"h!IаCњаrгС0(,g\()у (+gf*f’(*dш,r`в(*ВeЈ,A+т ’dA eуIdјаA Gg$(SfBF(jFџмh1FаF`D џ+f+ C <+ЕЦ(.Е(-j(-(.8FЦ| C(Nu??џю M Ž й / Ž ї gрaшw ІGь—GћГp0єЛ…S#іЫЃ}Y8њнТЉ‘{eQ>, §юсдШНВЈŸ–Ž†~wpjd^YTOKGC?;852/,*'%#!єѕјћў € Œ‡ŒŒŒŒƒ„…‡‚/2=Oemux‡œ‡ ‡  ‡  ‡ ‡ ‡ ‡ ‡ ‡  ‡ ‡GњјTQыЅH€а@Aњш0pбЫ0<Cњ’иQШџќk Z l7k \ 7k ^k ]k ak `||Pы mPыЅNuQыЅNuNuGњїюaXJk XgъSk XJ+ lf8J+ hgрS+ hk Z l+ ig+ Š+ ]вA + \гA 7k ^S+ lJ+ fgj 0+ bбk `0+ b‘k J+ ggj 0+ dбk`0+ d‘kk NuШм№   , @ T h |  Є И Ь р є   0 D7 ZђСрД2Fвџ€(њ@0<<  <њ (џ2cPвџџ< <њ0(џ2 <њ08џџџ2  <њ˜џџџ2 <њ˜џџџ2 њџџ 2Zњ€€2€@<њ ђ/(џџ њ00џџ2<њџ з@ жAAPWњ@@џџ( (вџ < PвFPџџ+ ŠH8ххы Œхы Š+ ŠNuo€4 А І Ш P L T є к  ј ј ј ј  S S k k ’ ’ k k k kЏ Г Г Ю Ю ъ Е Г Г Ю Ю ъ Љ Г Г Ю Ю ъ  8 8ˆ‚свŠ бŒ вŠ б‹ вŠ‡Šж‚чˆ0ˆˆˆ ˆ ˆˆˆ ˆ ˆ ˆ ˆ ˆˆї„џ‡Šˆ‚уе00000000++++++++‡Šˆрз$'+'+.+.0.0303737:7:<::>A>ACACFCFJFJMJM‡Šˆ‚дуХ<<<<<<<<фШGGGGGGсG‡РŠˆ‚сеу23572357037>037с>‡ˆгРу037с0у37с0у37Щу0Ъ3Щ7с0уЪ3Щ7с0уЪ3Щ7‡Ру7:>с7у:>с7у:>Щу7Ъ:Щ>с7уЪ:Щ>с7уЪ:Щ>‡Эу::::::::ф:::::ц:‡ ~ ˆЉ • О О ОЌ • О О ОЏ • О О ОВ • О О ОŠˆ‚вс ‡Šˆ‚гху‡Œ‚ˆирХ$'+.'+.0+.03.037037:37:<7:‡‰џ‡‰‡‰‡‰‡‰‡‰‡Nqџџџ№<<џџџ&ЃŸœŠ|ga^[YY\`a``eediluy{|€ˆŒ’˜šœ™‹Šˆ‰‹”˜ŸЁЂЁŸ–ti_]ZY[^```cdefjnx{||~ƒˆ‹‘“–›œš”‹Š‰‰ŒŽ‘™œЁЁŸ„ld`][Z[`babefffhrw||~~~€„†ŒŽ“˜œ`!№џџ`Pack-IceIњ*LлќЯ,LнќЧHa–KњўмMњџиGьLыџцAѓбСбУ "gзСrб“g fжќў`№зС`ъGьP$]*г$ел*Ъ*гд“ел*Ъ*гелд“елдќаpDAвGњ$лQШџќCьцŠ&NNа&й&йS‚jј&nџ".џц‰‘Ш&Ш&ШS‚jјNж%a*d"ra$dCњИv !a"H@В@VЫџівЉ%QЩџќНЬnNuоf%пNurоf%пгAQШџєNuCњŽtaмTЪџќxr1 H€kaд1 иAg"CњvtaКTЪџќr1 H€aЖдBвq j’D`rptџa˜dpt?ašвBCі@вС!!QЬџќ`џRџџ  џџ џџIce! GЧH`xЦ €—dо(yШ–œždЦАD[aк >ЗKЕ№ц˜А™FpЬžNMСЙ Э€2pOr"и2иTIмŸ”јb`R]юjјˆEў€%t0ŸЄ@D Мљ†жЕd™аŠ)PА–,вг>™hф' дuЖЬХИмХд3зУХ№A№ь CŠЫEђ #Ші 5#ЩsCЭ#ЪQГЉ›хv™cŠH хЄGыD‚I›2KhЫТb2˜№Ъ#Hчр›œAшіCщр6rьLпо) ‡т&гЄRˆR‰Rэ›И]™Шх•ˆ^‰^Š.эqdбЪЖэ РМ3мцРК-Zї №lшAдPb! 0@P`pppppp%ќЏBX0юХќШЬx@H`Ё-'T=hA3жDnUрfwwwwwwџLНDъФ’dˆК Кjo'yИmFA‰И\rЌ–AЌK`€О7 cаК"иАu DКeаАро%АjЯЬ"h(ѕf ЈL М$˜Д Pџлh ™BKДВ­B8cЖYP И‰Њ5‹pњAј‚@Ж†Ќ™;BX0к’pм€Ѕ^0йY*Q -"Zб1YЪЋЫ!Z+Г1˜еHЅЬ’ˆ xкNŒШbМ-NsГ_x  p0мP@кЙ[p`@йŒgФ0?”ў№AєhCњ>3@ЏšЗ$IrАgќ RŠQЩџі`јRџџXњN Yfџкy(ПџиNu?[!\.],^-_ `(a)b'c0d1e2f3g4h5i6j7k8l9m-Чˆy—WГ'z“й–Ьžчн*“Y' ARDдгpюБ”TW`Ў`wFIgЩ­fhšˆнCŽЩ:„sяtЯЃ•Л˜ХMЈ%eтJJCўЦ”dESfŒš Щър9уXфЅPЄq:ыЪ`uЪ‹N"ыRUCд0`uј@Ё)О4 -s†Œ;вДCRAP!ђ’uЁЅyчC%дP137/Ь8ЃlaЖ‚‰аb…™н„Ыэ!ЦЮRLPсы8ЗтXfёq/23-10-ц~S‹0+AФи‘Eš‘ЬCE<;Ц '90:вœ“q=у?3ж€6З#ђ‘Т;чюaQФ Bжƒœc‹w.$ЈEa›эŽ!f(1г#РJU3BYž!-І„ ДnœTЋ.чrCIмWHqa–(ОВЂЂ“C &;/B‡А]ЅHŠˆЌ*u8.˜1­'”OCKъXМЌ87 щЫљС<~8˜ШJЃAxЧ:(3˜5ЩЙтЗуTт–Њm$йЦњЄЏбиБ4`uШ–ќЪ сш`{pn)™ SБfо%PiС2удfdЯ[ЬWВ0˜lmfšи@мЎЙIY-AWNаFФЦ'Є?,”pl–€ДЪB]”UйгСrFd‚ЌJYМ“— у,a‰ШM˜,БцЄIЦСЅa…љF у†Б,;MИ‘ ІќШЦCFt ДЗрq ГAXхB!–ЩМGH1ASЅ„g`Lhх„cž1ƒ„u QcжГ|ТXАlФ/—ШWі …8XЪ™hEX3$WнCHH%эИ5УAЌЏ|AGbІ19iHA˜Љ“ЂИFљ#dс'Ж§Д)~sK$БтKф3A–QЖaэˆ aPйz‡Ѕрƒрb18YЦaMШу*ЩƒВхŠ‡‚4 •RK'њF’#T2Дh ШYdнШH.`‘EKRcJJ˜OAЋ АŒ/yH€pRIPdїС8> CтAL0ЏУ"˜“сPACХі•[ЮС€ xgCLфV)‚ucs@C%*%‹ЌŽXІ`Р5SKYNл€IZн иВAн$HSц` ;Y‘Aъ‡%ТAFŒ”–MUZIXy ЌЫИФRЈрSBk"Tz‰,AUS7Шa#*PEOьgYРJ@#`AWл{™Q†. €[ДGэTЄёSAА%‡vДhBEARriKEЯшCUDDЖGбœ%'%WPELF8~ђE ЃфDIGI-М9(Q2!"ЁфLOSнРYS(ЂЇV$‰ЙYpBRnрDB`B DEMOѕ BВI8NLYдЮірѕШа€BBCћ M WORK!є)ODdA фNU +ХGH V)ЁTHьсPCCANTS ОSYNC,€gMEGA,2 LIFEйŸREW ETC.I'M GOING NOW,SO CHILL OUT1ёИ.;T/№ЬuІ рхбМiНUыl‹f­љёфrН‘ыЙК|ёссССю#Гq^C…O№re^5œCт”с\е€рр р]ВЧѓмœ"€‡д-qбЙЂs\}оОefс™е1< y„ч4'№jо4W<№zр€х•™>НРЋЕ™мЋ!УГбР#3Ры РЫтРkšxКВO‹ЯZР‚-xH˜:^* ^ЅXIБZфžЩ/РK7ь˜ ‰›W]СУ™ xxЮ^ R€Ф'x@\/мBk ^Ж,Сћ€ФKЃxs0я5црХбМЮXзF+№РРЌ№Иш оh|РУЁxpœOЯИnTu žрyЮI<Ій‚WBˆ‡Dk№ђh^е€з?№h<№ЂМщyƒw$S№ №ŽС№Фс^ž ТSеФЛ№и-№ВџН_^РѓЫx.ВoЪ 57HŸЯчѓљќѕ[~>žЮцђј~ ƒwРУЧx|АЏщРKƒ'xкГŽ6ІŽлдx:ЧxfxЯ.р5xп9ogр9рш< Н€G†ƒdрНо< ЯQЮTрpрйhрhkЙЏˆ6с#xHїЎЋаXt ьоРЫтРk РуВРГц2№ЮьФif wMCР“Ћ~Ђt#АУУx!1/Юnё4… ѓ^р!р xz>~sИ žsЌРDР[ЃxW\~­Р ТxЭ^оР[2Й[wХ [tн:тžB=Р+тќažТ-о;€'lDxыsюј–рYТ: ЯЈ3<`ЯЈ^<2к€ч"O№.@ёn~žЭC2СЛˆsOіJOЁЮ5xШ ямРC№єуа–gLkuV_,€й€`БV/Œ|;Хрxkœъп>NqЈ0я3ЦU§€ИqГ:fЦ №PЭКЁУЫ„ x‘r[B№vсС2МЙс™~жЬz№то3€ыЎИ-G„!ЫМA˜€tр!ТЛ>Кп8WbЗ€w'g`nР ^hlРл€xŠАЯYР3„xАя0рuuЕrЎnmБN1Цр]Тr„ x‰qЎ рax‹0ЎщР №д5№‚џМР–Gр/Ќ"№ђБtЙx ?cИ‘ЫМЎЮ6рxпaАБаэРј{ы€ I№˜Э$Ц,мpуœ–3рх рХкY‰рэУMЁрщбЭгq‚pŽю—м—єШќн† ЗкgsвE7ЏЅSЪ… MА.7рСЫqС‘hП.+ЛюД<:фOJNЮЮ5 x@];6№ddž€7H€Ф‹ТрLlЃ+XР“™лІќР№№‘ѕњьмŠ<$3Qжle\А€€—‹ЮL+ЃУаt??э{ьїЬ’Џз%@жју"Ы?€№ўYй? ?ф’Rу2HъРр9?Xмќјј№№ррРёЏа*-037:=@CEHJLNOQRўSRQPNLJHFCA>;841.*{р?™ž„мАX‹іb^ ˆžрјx@.ЮЌрК€JЧ@§3NA n –V ЌР  ќ€‚1!s€юYq2‹…xаqЯТГŽ" ›ур˜ЙСГŽD@›Ч\r№Ќу„@ц‡Рfn№Жрf сmС-Ммš<-' €ЗTG№Д`\‰˜]СМ~™ЉбМчX€їEрEЮ—ЌРГŽрр"лЗe§рꇋ!ўkЂЭ\фvРР!Ќџ?№“Ђ џА#†се_ „W.р]С-€@QЁл€AаРЁ–Ц”ѕ<ЭКЯ ЦЭMџыžxžl (рYС‡Иїp№ sџ€џУ хФfxЛХ<+ˆwЁn_X€џ€Нз$уА`Y,+їY+ЭрхФ8МeВ№Р !­/Џ1ЦaСК9 lрoд№2СрхФИ~‡ыH@йР.9x‡c€;€ р рРw  t91Ў ЦШ!­Ѕ?UЭж‹ иiBo-­YZo0‹Р@щNЂ1‚>,.Š(Г„ЙCДx $ё­ЎЯЇЕb0Ф<аК Iр€@ж$БˆЂOООН=œ…wLРs№€‚Ёнl §ƒџEю X Р срР`чї›~ SШ Џ`†џKї[:G @СРР"Чп"h Ю инџЬџЖќ^€€`>А>L>ВЦoПпППxџўќџ†lО–жсФ<з˜р=дИŒЏМ Ў,nу4 •x€ьЙabо™Ь №:Ш €xнAАo.ˆ;‹E>љфžДuBнfœ#Њ4ЦрHЉšQ'xAмˆЛv!ГМ&юŠЋ…qvкqј›JяВ<Ђ Д”ДњчЇ€^‡ы ` Ÿ№~РЦhіEр-` t)"ŸА хЦХ€зФРЛ5нƒЅ ќcok№Мп t)rСŠБЛРsяЖћгш”j @šiхw o>Сьдм‚bVžГ ›ŠРРёM23ъЏhV Ќ–p`МlТ,[аjгќМP%ЬяoМq†VDhe‰4ЦИ#MжЁЩ‚ЌEX€№З=xеw Ц ИDиVœ:ƒ‰m4` Н№e6q}ЦЩЭЙBе‘Тs{d”Œцї€^€xќѓ+|р†№ДMБ2’LѓР,—п)3ƒ№ЪŒУxЁZ1‘&œ_ёрxЎXрйУЫСЮƒ-Gм– №№}”XtЊLр…ТUТ•„?йYїБKьx@ѕ˜ЄPВ/ЎЎ.Ь.сv#Рі№8уАбbjœ тРБ'dЭ—sфХ/ярl€pБ`5ƒ № ѓ>0FЁЪaоQВpЉ­HŠŒ[аN№~ЈЕd0р}@\ЁЩu"‘!eŒР/иђ`0\7?j%Г˜ЕСџъч № Д,Ў­CёР Г‰XpАМFJq.Ÿ~cіEр!Тк1 3fцpoWŒ›R№дbfИŒЅžX‡}рuУСц“ѓЅmqnJС8л?јлЃ№є–M)xЙњ1'ˆPсˆv Ц"%>ъз‡~ HњI‘АІ<И9А№zbТ$ФD™|Ј_‚ž­ўшЦ\ИB-~ЊЃмW З1WB!Л?дt/T+†[€ Kр СŽ?€Є`x‡ЪŽ‰ШœYј`иVр lт` €pчЁ8lЌm…„ ќ•=џ№ щNšƒžKАGИkp ZВHџЊ<_ќб/яџвоџ*рМBџ2Ё€РeарRйЂОк€@eа‡™‚мЂџ џўэC№ЪB uРAјцрџ/јџ ўџ‚џПрџ/јџ ўџ‚џПрџ/јџ ўџ‚џПрџ/јџ ўџ‚џПрџ/јџ ўџ‚џПрџ/јџ ўџ‚џПрџ/јџ ўџ‚џПрџ/јџіџ€‰8J|'Я*”nЗžЬDxТЖЂйЖ†NzBИ ЗШ€ZФV˜kЧ!ќ8ˆgО`T№%о“й&NN\(/”p?ћ1NAЂ9bФ„#6eЌюЛкl NЙлх7{ЧџўмыJbB6\ІH€Ро Ј_Z< CњT~ПYB),QщЈП7 Ж,T­ю DŠ™l3љ33l 0s€Э}l#HйTвю0T@QЯџОЭзЂ [6Є[ЕшАƒ WXТЫUž„$7šЧнЎўь9йЕ`џ‚y„‡­f$ `тuр‡g~a  5S2s fm4TЃ‚\еzЈL„еЌrU† ЬџCЦN*5‡DXЅH†X,Х4jўч+џ3VSџBaZw7@}рg>Ј0ƒAа Ь=АЄfЖ8 ­5:BrpК] ЅФg>ЬŸ5 M §ыD9_kY*ыј-№Р;цQ‚FЋ+хdƒ…VH#Р&гЩAњбp і8рruфђ†Ѕmgэ m@С kЁы jEС;ўžGњ§ŠЃ^ЄЈ4@ТFќ'ѓW& 99Щќ?p РЩCлŸ]h№ќћDˆСџџˆFТцOКœЂЊf”Žш€z.NВтОРЦXйХ6Ž0X. qЩдРT@JМf4в^p2sгЫ1Зю ’^аХюcUxZА‚]–98tЫРЕ‘zQ†э`.UЈџeЂРС Ы‡`vB.K€Цk 51 `bYІ`\љ*QvжYxk`NL” q%`@Gцъ:@Ѓz2|Р№%`3hXа`"2`LжўС`Q­C=#fE&VB`aЂp'лkdЈЉm6 Ъ$KЉhTŒ ‘…Г€льЉ•JЩœАgЭЅfPђн-виЮhf™iжlšR•ТFыАfЯИeXš e0he4™Йš" vZЛThЉFГ @ <\RвЖЁVRЭˆ2gеЫ!J$bџ`ŠЪr 7а@Eњў4ј5Nѓ фЗА&ХSЪdЖ*w$ СЁkRѓ @ѕ€ фща:К ЏдЏg"†П!IаC„?cаНƒpгС0Ю,EЁg\ђF)у lG+Њg”b5f*ˆЋgA’tdшъOr`вцw*ВzУx™,рA+т ’dAэїЃ eуIМц|dјаA8Й\|Єg$xSfBFўjFОGмh<1FР6аF`DъЛ хџH…ƒf+yž ,—єп\§юсдШНВЈŸ–Ž†~w џUojd^YTOKћC?;85KћРЧ,*'%#!ќ—МхcХŠБєѕјћўў3@ Јmnyр Б“НЉ(Œƒ„…іk‚/2=Oemux‡œ$ќЏ‘l’ƒ ЪЂLЪœ;kб"А :‡l^ъ  eТ \ Šй’ ‡ ‡щ~ЦWјT"ОСH€а@A|Рш0pš[бЫ0эCњ’иQШџќЏ§?pD\ЭЂ#]ъam`ЖА|Лh< mPаТQыЅіOGњїюaтw$ gъSкXlf8m hgр6h- ZЏ igк 1C]Њ—0 х\г f”,Au7k ^†ЗS8l fVЉbЙX ЕbЖX JљggjР} б`0iwd‘Žk ќдШм№   , @ T h |  Є И Ь р є   0 D7 qќІ{ZљСрЊ>ДбQ.Ff]рмHь€_(Ъ˜eJsZ Tƒ Д_c^lК)РjЇ%LчAC`F€JMlудуХ Ь<фШиGсGM –сеукƒ235мЊ>и$k?гJ“‚MЉ7!с(С\с0Qю3p}‡Рь и(:>Щу7хƒ9"“u˜>‡Y`€:ф9:ц:‡й~ ˆ`FЉ*мЌюЏВ •u ОР5тJШвстKJ‚гху‡ŒЈ§ирХ$фƒ'+д .053ЈA9‹_?CБ‚dзЂ4#ЩT 0ЪГЩPlW-Ј3* A€ .И` kб w N№І †ъ жd ЌЏрD]„]™o/г3 сC  Р р с.T п0‚й#[х((у(‡rх44уlo“$#Pу+‡Щх++д/Ъх..ЭЪŸ‡ŠкЉ‚ЦсиA]€4y@‚К €@A@{›Х\$bс7:р77с:<р::с<7р<<‡й_№?„сZqФu ˆР ю4ХŒ$ŠЪ0~‰и9Х F)+у,+р(+-у.-ё(т2№с5œ:T2сЪ5Щ79уЪ:Щ9ё4‡зˆџ8Рры 5$ЈA4 7j‡‰џХ/ € ‡‰‡Nєg"\рН№„ї№<(<0џ€@ž&5И дP/Х№Фјn @Ё 0@P`pqs№/T€B7р€Pjƒ\Rl8CG ”= х&LKZь ДЂ\4Z>.Ь:РO t АHЪvw ФxєџTck~‡šЁЋЏБВВБАЎ­ЊЉЉЉЉЉЈЉЉЋ­ЏБВБЏЌЊІЅЃЃЅІЈЈЉЉЈЅЂ›–ŽŠ‚|wupmhf_\VRPLKKLNOTVYZ\\\[ZZYXWWWVVWVVTSQONMMQTaiz‚“›ЅЉЊЋЊЈІЄЂŸžœœœžžЂЃЇЈЊЊЊЇЃŸœ›™˜˜š›œš˜“ˆ„|yutqomkhea_][[\]acimruw{|}~€€€€€€€{ytrokjjjkmopsstssrqoonooqswy€‚‰Œ“”™™š˜—““Ž‘’“––—–“‘Œ‰ƒ€|{xvrokiecbbcehnqy}„ˆŠ’•—™š››œœžž›š–“Š‡zxtrpommljigedcaabddikqu|€†‰Ž‘’’‘‘‘‘’“•”–••”ˆ…|ytrnmjifedccbcegknsw|€„†‡ˆŠ‹ŒŒ‘‘”–——˜—•“‹†„|zwusrqonllkkjijjknpux€†‰Ž‘’’’’’““””••••’Žˆ†€|xvsrnnkjihgffghkmqswz|€‚ƒ„†‡‰ŠŒŽ’“’’‘‹Š…ƒ;HI THERE! THIS IS THE WILD BOYS ;FIRST EVER DEMO! IF YOU WANT TO ;SEND ME GRAFIX OR MUZIX, OR WANT ;TO WRITE TO ME, HERE'S MY ADDRESS; ; ; THE WILD BOYS ; 131 GUNNERSBURY AVENUE ; ACTON W3 8LE ; LONDON ;NOW, THE SOURCE CODE! JSR INIT ;INITIALISE JSR CONVERT ;CONVERT TEXT JSR SETUP2 ;SET UP DATA MOVE.W #$777,$FFFF8244.W JSR TWB ;DRAW SOUND CHANNEL FLASHER GRAFIX JSR DO_LOGO ;DRAW LOGO JSR SETMUS ;START MUZIX MOVE.L #VBL,$70.W JSR WAIT JMP END DO_LOGO LEA LOGO,A0 LEA $78002+48,A1 ;POSITION OF LOGO ON SCREEN MOVEQ.W #80-1,D0 ;HEIGHT OF LOGO -1 .L2 MOVEQ.W #8-1,D1 ;WIDTH IN 16 PIXEL STEPS -1 .L1 MOVE.L (A0)+,(A1)+ MOVE.W (A0)+,(A1)+ ADDQ.W #2,A1 DBF D1,.L1 LEA 160-64(A1),A1 ;NEXT LINE DBF D0,.L2 RTS VOICE LEA $FFFF8800.W,A0 MOVEQ.W #0,D0 MOVEQ.W #0,D1 MOVEQ.W #0,D2 MOVE.B #8,(A0) ;GET CHANNEL A VOLUME MOVE.B (A0),D0 MOVE.B #9,(A0) ;GET CHANNEL B VOLUME MOVE.B (A0),D1 MOVE.B #10,(A0) ;GET CHANNEL C VOLUME MOVE.B (A0),D2 BTST #4,D0 ;IS IT AN ENVELOPE? BEQ .L1 MOVE.B #10,D0 ;IF IT IS,VOLUME=10 .L1 ADD.B D0,D0 ;MULTIPLY BY 2 FOR WORD ALIGNMENT BTST #4,D1 BEQ .L2 MOVE.B #10,D1 .L2 ADD.B D1,D1 BTST #4,D2 BEQ .L3 MOVE.B #10,D2 .L3 ADD.B D2,D2 LEA COLS1,A0 LEA COLS2,A1 LEA COLS3,A2 LEA (A0,D0.W),A0 LEA (A1,D1.W),A1 LEA (A2,D2.W),A2 MOVE.L A0,VOICE1 ;SET UP NEW COLOURS FOR EACH CHANNEL MOVE.L A1,VOICE2 MOVE.L A2,VOICE3 RTS TWB LEA $78006+(160*162)+(6*8),A0 ;DESTINATION ADDRESSES LEA $78002+(160*162)+(6*8)+24,A1 LEA $78004+(160*162)+(6*8)+48,A2 LEA FONT+(144*('T'-65)),A3 ;SOURCE ADDRESSES LEA FONT+(144*('W'-65)),A4 LEA FONT+(144*('B'-65)),A5 MOVEQ.W #4-1,D0 MOVEQ.L #0,D7 .L1 MOVEQ.W #36-1,D1 MOVEM.L A0-A2,-(A7) .L2 MOVE.B (A3)+,(A0) MOVE.B (A4)+,(A1) MOVE.B (A5)+,(A2) LEA 160(A0),A0 LEA 160(A1),A1 LEA 160(A2),A2 DBF D1,.L2 MOVEM.L (A7)+,A0-A2 CMPI.L #1,D7 ;IF D7=1,THEN ADD 1 TO DESTINATION ADDRESS ;TO INCREASE BY 8 PIXELS(1 BYTE) BEQ .L3 ADDQ.L #1,A0 ADDQ.L #1,A1 ADDQ.L #1,A2 MOVE.L #1,D7 DBF D0,.L1 RTS .L3 ADDQ.L #7,A0 ;IF D7 IS NOT 1,ADD 7 TO DESTINATION ADDRESS ;TO BYPASS BITPLANES 2,3 AND 4 ADDQ.L #7,A1 ADDQ.L #7,A2 MOVE.L #0,D7 DBF D0,.L1 RTS TB1 CLR.B $FFFFFA1B.W ;STOP TIMER B MOVE.L #TB,$120.W ;SET UP NEW INTERRUPT VECTOR MOVE.B #4,$FFFFFA21.W ;EVERY 4 SCANLINES, DO TIMER B INTERRUPT MOVE.B #8,$FFFFFA1B.W ;START TIMER B BCLR #0,$FFFFFA0F.W ;O.K CPU I'VE DONE THE TIMER B INTERRUPT RTE PAL1 DC.W 0,0,0,0,0,0,$707,$706,$705,$704,$703,$702,$701,$700 DC.W $710,$720,$730,$740,$750,$760,$770 DC.W $670,$570,$470,$370,$270,$170,$070 PALST DC.L PAL1+2 LOGOCOL DC.L LCOL1 DC.L LCOL2 DC.L LCOL3 TIMER DC.B 3,0 DC.B 4,0 DC.B 5,0 LCOL1 DC.W $505,$303,$404 ;COLOURS FOR LOGO DC.W $606,$404,$505 DC.W $707,$505,$606 DC.W $717,$606,$707 DC.W $727,$707,$717 DC.W -1 LCOL2 DC.W $066,$033 DC.W $077,$044 DC.W $177,$055 DC.W $277,$066 DC.W $377,$077 DC.W $477,$177 DC.W $577,$277 DC.W -1 LCOL3 DC.W $003,$001 DC.W $004,$002 DC.W $005,$003 DC.W $006,$004 DC.W $007,$005 DC.W $117,$006 DC.W $117,$007 DC.W $227,$117 DC.W -1 SHADE SUBQ.B #1,TIMER ;ROUT. TO FLASH LOGO BNE .L2 MOVE.B #2,TIMER ADDQ.L #6,LOGOCOL MOVEA.L LOGOCOL,A0 CMPI.W #-1,(A0) BNE .L2 MOVE.L #LCOL1,LOGOCOL .L2 SUBQ.B #1,TIMER+2 BNE .L3 ADDQ.L #4,LOGOCOL+4 MOVE.B #3,TIMER+2 MOVEA.L LOGOCOL+4,A0 CMPI.W #-1,(A0) BNE .L3 MOVE.L #LCOL2,LOGOCOL+4 .L3 SUBQ.B #1,TIMER+4 BNE .L4 ADDQ.L #4,LOGOCOL+8 MOVE.B #5,TIMER+4 MOVEA.L LOGOCOL+8,A0 CMPI.W #-1,(A0) BNE .L4 MOVE.L #LCOL3,LOGOCOL+8 .L4 RTS VBL CLR.B $FFFFFA1B.W MOVE.L #TB1,$120.W ;FIRST TIMER B VECTOR MOVE.B #30,$FFFFFA21.W MOVE.B #8,$FFFFFFA1B.W LEA $FFFF8240.W,A0 LEA LOGOCOL,A2 MOVEA.L (A2)+,A1 CLR.W (A0)+ MOVE.W PAL1,(A0)+ MOVE.L #PAL1+2,PALST MOVE.W (A1)+,(A0)+ MOVE.W (A1)+,2(A0) MOVE.W (A1)+,6(A0) MOVEA.L (A2)+,A1 MOVE.W (A1)+,10(A0) MOVE.W (A1)+,14(A0) MOVEA.L (A2)+,A1 MOVE.W (A1)+,18(A0) MOVE.W (A1)+,22(A0) MOVE.B #33,COUNT MOVE.L #BARS,BARST JSR SCROLL MOVEA.L $4DA.W,A0 JSR (A0) JSR VOICE JSR SHADE RTE BARS DC.W $400,$500,$600,$700,$600,$500,$400 DC.W 0,0,0,0 DC.W $040,$050,$060,$070,$060,$050,$040 DC.W 0,0,0,0 DC.W $004,$005,$006,$007,$006,$005,$004 DC.W 0,0,0,0,0,0,0,0,0,0,0,0,0 BARST DC.L BARS SCROLL MOVEA.L TPOS,A0 ;THE GOOD BIT,THE BYTE BENDER ROUT! LEA YPOS,A1 MOVEA.L A1,A6 MOVE.W #40-1,D1 .L2 MOVEA.L (A1)+,A2 ;A2=DESTINATION MOVEA.L (A0)+,A3 ;A3=SOURCE REPT 36 MOVE.B (A3)+,(A2) LEA 160(A2),A2 ENDR DBF D1,.L2 ADDQ.L #4,TPOS ;INCREASE POSITION IN TEXT. ;1 LONGWORD=8 PIXELS OF TEXT SUBQ.W #1,LENGTH ;END OF TEXT? BNE .L3 MOVE.W #8000-40,LENGTH ;8000=2000 CHARACTERS DIVIDED BY 4 MOVE.L #TEXTAB,TPOS ;SET POINTER TO START OF TEXT .L3 RTS ;PISS OFF SETUP2 MOVE.L #2000-1,D0 ;2000 CHARACTER OF TEXT(TOOK ME AGES!) LEA TEXTAB,A0 LEA FONT,A1 LEA TEXT1,A2 .L1 MOVEQ.W #0,D1 MOVE.B (A2)+,D1 SUBI.B #'A',D1 MULU #(4*36),D1 ;4*36=LENGTH OF 1 CHARACTER IN FONT(BYTES) LEA (A1,D1.W),A3 MOVE.L A3,(A0)+ ;FIRST STRIP OF 8 PIXELS LEA 36(A3),A3 ;1 STRIP = 36 BYTES(EACH CHARACTER IN FONT IS ;36 PIXELS IN HEIGHT, AND 1 BIT PLANE) MOVE.L A3,(A0)+ ;SECOND STRIP LEA 36(A3),A3 MOVE.L A3,(A0)+ ;THIRD STRIP LEA 36(A3),A3 MOVE.L A3,(A0)+ ;FOURTH STRIP DBF D0,.L1 MOVEQ.B #0,D7 ;SET UP SINE WAVE SCREEN ADDRESSES MOVEQ.L #0,D1 MOVEQ.W #40-1,D0 LEA SINETAB,A0 ;SINE TABLE,DATA STORED AS Y COORDINATES(0-199) LEA YPOS,A1 LEA $78000+(12*160),A6 ;OFFSET FOR ADDRESSES .L4 MOVEQ.W #0,D6 MOVE.B (A0)+,D6 MULU #160,D6 ;160=1 SCANLINE LEA (A6,D6),A3 ;ADD OFFSET TO ADDRESS LEA (A3,D1),A3 ;ADD 1 OR 7 TO ADDRESS.1=SECOND BYTE OF THE ;WORD,7=1ST BYTE OF NEXT WORD. MOVE.L A3,(A1)+ CMPI.B #0,D7 BNE .L5 ADDQ.L #1,D1 MOVE.B #1,D7 DBF D0,.L4 RTS .L5 ADDQ.L #7,D1 MOVE.B #0,D7 DBF D0,.L4 RTS INIT ;INTO SUPERVISOR BSR SUPER ;MOUSE OFF DC.W $A000 DC.W $A00A MOVE.B #$12,$FFFFFC02.W ;TIMER C OFF MOVE.W #5,-(A7) MOVE.W #26,-(A7) TRAP #14 ADDQ.L #4,A7 ;NEW STACK MOVEA.L (A7),A0 MOVEA.L #MY,A7 MOVE.L A0,(A7) ;CLEAR COLOURS LEA $FFFF8240,A0 MOVEQ.W #15,D0 .L1 CLR.W (A0)+ DBF D0,.L1 ;SET SCREENS CLR.W -(A7) PEA $78000 ;PHYSICAL PEA $78000 ;LOGICAL MOVE.W #5,-(A7) TRAP #14 LEA 12(A7),A7 ;CLEAR SCREEN LEA $78000,A0 MOVE.W #32000/4-1,D0 .L2 CLR.L (A0)+ DBF D0,.L2 ;SAVE SYSTEM VARIABLES LEA VARS,A0 MOVE.B $FFFFFA07.W,(A0)+ MOVE.B $FFFFFA13.W,(A0)+ MOVE.B $FFFFFA21.W,(A0)+ MOVE.B $FFFFFA1B.W,(A0)+ MOVE.L $70.W,(A0)+ MOVE.L $120.W,(A0)+ MOVE.L $118.W,(A0)+ ;ENABLE TIMER B ORI.B #1,$FFFFFA07.W ORI.B #1,$FFFFFA13.W ;NEW VECTORS MOVE.L #KEY,$118.W ;IPL=3 AND EXIT MOVE.W #$2300,SR RTS VARS DS.B 16 DS.L 40 MY DS.L 1 SUPER CLR.L -(A7) MOVE.W #32,-(A7) TRAP #1 ADDQ.L #6,A7 MOVE.L D0,STACK RTS USER MOVE.L STACK,-(A7) MOVE.W #32,-(A7) TRAP #1 ADDQ.L #6,A7 CLR.W -(A7) MOVE.W #$4C,-(A7) TRAP #1 STACK DS.L 1 WAIT CMPI.B #57,$FFFFFC02.W BNE WAIT .L1 CMPI.B #57,$FFFFFC02.W BEQ .L1 RTS KEY BCLR #6,$FFFFFA11.W RTE TB MOVE.L A0,-(A7) MOVEA.L PALST,A0 MOVE.W (A0),$FFFF8242.W MOVEA.L BARST,A0 MOVE.W (A0),$FFFF8240.W ADDQ.L #2,BARST ADDQ.L #2,PALST SUBQ.B #1,COUNT BEQ .L1 MOVE.L (A7)+,A0 BCLR #0,$FFFFFA0F.W RTE .L1 MOVEA.L VOICE1,A0 MOVE.W (A0),$FFFF8250.W MOVEA.L VOICE2,A0 MOVE.W (A0),$FFFF8244.W MOVEA.L VOICE3,A0 MOVE.W (A0),$FFFF8248.W MOVE.B #-1,COUNT MOVEA.L (A7)+,A0 BCLR #0,$FFFFFA0F.W RTE END MOVE.W #$2700,SR ;STOP MUZIX JSR ENDMUS ;RESET SYSTEM VARIABLES LEA VARS,A0 MOVE.B (A0)+,$FFFFFA07.W MOVE.B (A0)+,$FFFFFA13.W MOVE.B (A0)+,$FFFFFA21.W MOVE.B (A0)+,$FFFFFA1B.W MOVE.L (A0)+,$70.W MOVE.L (A0)+,$120.W MOVE.L (A0)+,$118.W ;RESET COLOURS MOVE.W #$777,$FFFF8240.W MOVE.W #0,$FFFF8242.W MOVE.W #0,$FFFF825E.W MOVE.W #$2300,SR ;MOUSE ON DC.W $A000 DC.W $A009 MOVE.B #$08,$FFFFFC02.W ;ENABLE TIMER C MOVE.W #5,-(A7) MOVE.W #27,-(A7) TRAP #14 ADDQ.L #4,A7 ;SET SCREENS CLR.W -(A7) PEA $78000 ;PHYSICAL PEA $78000 ;LOGICAL MOVE.W #5,-(A7) TRAP #14 LEA 12(A7),A7 ;EXIT BRA USER ;YOU MUST CHANGE THIS BIT TO ;MOVEA.L 4,A0 ;JMP (A0) ;IF YOU ARE CREATING AN EXECUTABLE FILE, SO THAT ;WHEN YOU HIT SPACE, THE MACHINE IS RESET. ;YOU CAN KEEP THIS BIT IF YOU ARE RUNNING THE ;CODE FROM AN ASSEMBLER, SO THAT IT RETURNS OK. CONVERT ;ROUT TO CONVERT CHARACTERS ;SO THAT THE PROGRAM CAN LOCATE THE ;CHARACTERS IN CTAB LEA TEXT1(PC),A0 LEA CTAB(PC),A1 MOVE.W #0,LENGTH .A MOVE.B (A0)+,D0 MOVEA.L A1,A2 MOVEQ.W #19-1,D1 .B CMP.B (A2)+,D0 BEQ .C ADDQ.L #1,A2 DBF D1,.B BRA .D .C MOVE.B (A2),-1(A0) .D ADDQ.W #4,LENGTH CMPI.B #-1,(A0) BNE .A SUBI.W #40,LENGTH RTS LENGTH DC.W 0 CTAB DC.B '?','[' DC.B '!','\' DC.B '.',']' DC.B ',','^' DC.B '-','_' DC.B ' ',96 DC.B '(',97 DC.B ')',98 DC.B 39,99 DC.B '0',100,'1',101,'2',102,'3',103,'4',104 DC.B '5',105,'6',106,'7',107,'8',108,'9',109 ;2000 CHARS TEXT1 DC.B ".........HI THERE! IT'S POWER MAN ON THE" DC.B " KEYBOARD. I AM ONE OF THE TWO MEMBERS O" DC.B "F A NEW DEMO CREW CALLED THE WILD BOYS. " DC.B "THE OTHER MEMBER IS JJ, WHO DOESN'T DO A" DC.B "NYTHING EXCEPT GIVE ME IDEAS AND CONSTRU" DC.B "CTIVE CRITICISM LIKE - THAT DEMO IS CRAP" DC.B "! ETC....HOWEVER, HE IS ONLY 13 AND MAY " DC.B "SOMEDAY BECOME A CODER WITH MY HELP....." DC.B "..I CODED THIS DEMO ON 23-10-90, THE SAM" DC.B "E DAY I GOT THE LOST BOYS CEBIT '90 DISK" DC.B ", WHICH ASKED PEOPLE TO SEND THEM INTROS" DC.B ". NOW, LET ME TALK ABOUT THIS DEMO. IT I" DC.B "S NOW EIGHT O'CLOCK AT NIGHT AND I HAVE " DC.B "JUST FINISHED THE BYTE-BENDER ROUT. I AM" DC.B " TRYING TO DECIDE WHAT ELSE TO INCLUDE.." DC.B "I HAVE TO GO NOW BUT I'LL BE BACK SOON.." DC.B "..IT IS 1 O'CLOCK IN THE MOURNING AND I " DC.B "HAVE ALMOST FINISHED THE DEMO. I STILL H" DC.B "AVE TO DESIGN A LOGO AND INCLUDE SOME MU" DC.B "ZIX AND ADD A SOUND CHANNEL FLASHER ROUT" DC.B "INE.....WELL, I'M TIRED SO I'M GOING TO " DC.B "BED NOW, BUT I'LL CARRY ON WITH THIS TEX" DC.B "T IN THE MOURNING.....YAAAAWN....IT'S MO" DC.B "URNING TIME! I HAVE BEEN UP FOR A FEW HO" DC.B "URS NOW, AND ALMOST COMPLETED THE DEMO! " DC.B "ALL THATS LEFT FOR ME TO DO IS THE LOGO." DC.B " SO, I'LL DO THAT NOW, SEE YOU IN A BIT!" DC.B "..........RIGHT, AT LONG LAST, I'VE FINI" DC.B "SHED THIS DEMO! NOW ALL I HAVE TO DO IS " DC.B "TO WRITE SOME MORE SODDING TEXT, WHICH I" DC.B "S GOING TO TAKE ME AGES! WELL, I HAVE TO" DC.B " START SOME TIME. I'LL START BY TALKING " DC.B "ABOUT ME. I AM POWER MAN, I'M 18 AND I A" DC.B "M THE CODER, GRAFIX MAN AND MUZIX RIPPER" DC.B ". IN FACT, I DO EVERYTHING! HOWEVER, JJ " DC.B "DOES GIVE ME DEMOS AND GAMES TO RIP THE " DC.B "MUZIX, AND ALSO GIVES ME PACKERS. IF THE" DC.B " LOST BOYS INCLUDE MY SOURCE CODE LISTIN" DC.B "G ON THIS DISK, THEN YOU WILL FIND MY AD" DC.B "DRESS ON IT. PLEASE SEND ME GRAFIX AND M" DC.B "UZIX TO USE ON MY DEMOS AND INTROS, BECA" DC.B "USE I NEED PEOPLE TO JOIN THE WILD BOYS." DC.B " NOW, THE GREETINGS! HI TO THE CAREBEARS" DC.B "(LIKED YOUR CUDDLY DEMO, CAN'T WAIT FOR " DC.B "YOUR NEW ONE! GOOD DIGI-SYNTH ROUT TOO!)" DC.B ", THE LOST BOYS(I'VE GOT YOUR MINDBOMB D" DC.B "EMO, BUT ONLY THE MAIN MENU AND THE BBC " DC.B "SCREEN WORK! GOOD MAIN MENU THOUGH...), " DC.B "THE REPLICANTS, SYNC, OMEGA,2 LIFE CREW " DC.B "ETC.I'M GOING NOW,SO CHILL OUT.........." DC.B -1 EVEN FONT INCBIN a:\wild_boy.s\w_b_intr.o\BYTEFONT.DAT ;FONT DATA SINETAB DC.B $2A,$2D,$30,$33,$37,$3A,$3D,$40 ;SINE TABLE DATA DC.B $43,$45,$48,$4A,$4C,$4E,$4F,$51 DC.B $52,$53,$53,$53,$53,$53,$53,$52 DC.B $51,$50,$4E,$4C,$4A,$48,$46,$43 DC.B $41,$3E,$3B,$38,$34,$31,$2E,$2A LOGO INCBIN a:\wild_boy.s\w_b_intr.o\LOGO1.DAT ;LOGO DATA TEXTAB DS.L 8000 ;ABSOLUTE ADDRESSES FOR TEXT STRIPS YPOS DS.L 40 ;SCREEN ADDRESSES TO PUT TEXT TPOS DC.L TEXTAB ;POSITION IN TEXT COUNT DC.B 0,0 SETMUS MOVE.L #MUSIC+58,A0 MOVE.L #(MUSIC+($3FE8E-$3FD40))+28,(MUSIC+68) MOVE.L #(MUSIC+($3FD7C-$3FD40))+28,(MUSIC+(14+68)) JSR (A0) RTS ENDMUS CLR.L $4DA.W MOVE.L #$700FF00,$FFFF8800.W MOVE.L #$8000000,$FFFF8800.W MOVE.L #$9000000,$FFFF8800.W MOVE.L #$A000000,$FFFF8800.W RTS MUSIC INCBIN a:\wild_boy.s\w_b_intr.o\MUZAK.PRG VOICE1 DC.L COLS1 VOICE2 DC.L COLS2 VOICE3 DC.L COLS3 COLS1 DC.W $100,$100,$100,$200,$200,$200,$300 DC.W $300,$400,$500,$600,$700,$710,$730 COLS2 DC.W $010,$010,$010,$020,$020,$020,$030 DC.W $030,$040,$050,$060,$070,$071,$073 COLS3 DC.W $001,$001,$001,$002,$002,$002,$003 DC.W $003,$004,$005,$006,$007,$017,$037 €€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€#a000000 #b000000 #c???000?000<00