UPDATE: Here is the link! Apple SID Monty MP3!
Code information:
music: total size: 4447 bytes (115f bytes)
4000 : start
4010 : timerhi
4015 : timerlo
Play with 4011 (high) and 4016 (low) timer bytes to adjust tempo.
The extracted code:
4000:A9 00 20 3F 40 78 A9 28 A2 40 8D FE 03 8E FF 03
4010:A9 01 8D C5 C0 A9 FF 8D C4 C0 A9 01 8D CE C0 A9
4020:81 8D CD C0 58 4C 25 40 8E 3D 40 8C 3E 40 AD CD
4030:C0 20 42 40 AE 3D 40 AC 3E 40 A5 45 40 00 00 4C
4040:48 40 4C 81 40 4C 7B 40 A9 00 A0 00 0A 8D 96 44
4050:0A 18 6D 96 44 AA BD BB 44 99 B5 44 E8 C8 C0 06
4060:D0 F4 A9 00 8D 04 C4 8D 0B C4 8D 12 C4 8D 17 C4
4070:A9 0F 8D 18 C4 A9 40 8D A8 44 60 A9 C0 8D A8 44
4080:60 EE B4 44 2C A8 44 30 1E 50 36 A9 00 8D B4 44
4090:A2 02 9D 7E 44 9D 81 44 9D 84 44 9D 8D 44 CA 10
40A0:F1 8D A8 44 4C C1 40 50 15 A9 00 8D 04 C4 8D 0B
40B0:C4 8D 12 C4 A9 0F 8D 18 C4 A9 80 8D A8 44 4C B9
40C0:43 A2 02 CE A5 44 10 06 AD A6 44 8D A5 44 BD 7A
40D0:44 8D 7D 44 A8 AD A5 44 CD A6 44 F0 03 4C EF 41
40E0:BD B5 44 85 EB BD B8 44 85 EC DE 84 44 30 03 4C
40F0:D0 41 BC 7E 44 B1 EB C9 FF F0 07 C9 FE D0 11 4C
4100:B9 43 A9 00 9D 84 44 9D 7E 44 9D 81 44 4C F2 40
4110:A8 B9 C1 44 85 ED B9 FD 44 85 EE A9 00 9D AF 44
4120:BC 81 44 A9 FF 8D 93 44 B1 ED 9D 87 44 8D 94 44
4130:29 1F 9D 84 44 2C 94 44 70 3F FE 81 44 AD 94 44
4140:10 11 C8 B1 ED 10 06 9D AF 44 4C 50 41 9D 90 44
4150:FE 81 44 C8 B1 ED 9D 8D 44 0A A8 B9 BA 43 8D 95
4160:44 B9 BB 43 AC 7D 44 99 01 C4 9D A9 44 AD 95 44
4170:99 00 C4 9D AC 44 4C 7C 41 CE 93 44 AC 7D 44 BD
4180:90 44 8E 96 44 0A 0A 0A AA BD C0 50 8D 97 44 BD
4190:C0 50 2D 93 44 99 04 C4 BD BE 50 99 02 C4 BD BF
41A0:50 99 03 C4 BD C1 50 99 05 C4 BD C2 50 99 06 C4
41B0:AE 96 44 AD 97 44 9D 8A 44 FE 81 44 BC 81 44 B1
41C0:ED C9 FF D0 08 A9 00 9D 81 44 FE 7E 44 4C B3 43
41D0:AC 7D 44 BD 87 44 29 20 D0 15 BD 84 44 D0 10 BD
41E0:8A 44 29 FE 99 04 C4 A9 00 99 05 C4 99 06 C4 BD
41F0:90 44 0A 0A 0A A8 8C A7 44 B9 C5 50 8D B2 44 B9
4200:C4 50 8D 99 44 B9 C3 50 8D 98 44 F0 6F AD B4 44
4210:29 07 C9 04 90 02 49 07 8D 9E 44 BD 8D 44 0A A8
4220:38 B9 BC 43 F9 BA 43 8D 9A 44 B9 BD 43 F9 BB 43
4230:4A 6E 9A 44 CE 98 44 10 F7 8D 9B 44 B9 BA 43 8D
4240:9C 44 B9 BB 43 8D 9D 44 BD 87 44 29 1F C9 08 90
4250:1C AC 9E 44 88 30 16 18 AD 9C 44 6D 9A 44 8D 9C
4260:44 AD 9D 44 6D 9B 44 8D 9D 44 4C 54 42 AC 7D 44
4270:AD 9C 44 99 00 C4 AD 9D 44 99 01 C4 AD 99 44 F0
4280:62 AC A7 44 29 1F DE 9F 44 10 58 9D 9F 44 AD 99
4290:44 29 E0 8D B3 44 BD A2 44 D0 1A AD B3 44 18 79
42A0:BE 50 48 B9 BF 50 69 00 29 0F 48 C9 0E D0 1D FE
42B0:A2 44 4C CC 42 38 B9 BE 50 ED B3 44 48 B9 BF 50
42C0:E9 00 29 0F 48 C9 08 D0 03 DE A2 44 8E 96 44 AE
42D0:7D 44 68 99 BF 50 9D 03 C4 68 99 BE 50 9D 02 C4
42E0:AE 96 44 AC 7D 44 BD AF 44 F0 3F 29 7E 8D 96 44
42F0:BD AF 44 29 01 F0 1B 38 BD AC 44 ED 96 44 9D AC
4300:44 99 00 C4 BD A9 44 E9 00 9D A9 44 99 01 C4 4C
4310:2A 43 18 BD AC 44 6D 96 44 9D AC 44 99 00 C4 BD
4320:A9 44 69 00 9D A9 44 99 01 C4 AD B2 44 29 01 F0
4330:35 BD A9 44 F0 30 BD 84 44 F0 2B BD 87 44 29 1F
4340:38 E9 01 DD 84 44 AC 7D 44 90 10 BD A9 44 DE A9
4350:44 99 01 C4 BD 8A 44 29 FE D0 08 BD A9 44 99 01
4360:C4 A9 80 99 04 C4 AD B2 44 29 02 F0 15 AD B4 44
4370:29 01 F0 0E BD A9 44 F0 09 DE A9 44 AC 7D 44 99
4380:01 C4 AD B2 44 29 04 F0 2A AD B4 44 29 01 F0 09
4390:BD 8D 44 18 69 0C 4C 9C 43 BD 8D 44 0A A8 B9 BA
43A0:43 8D 95 44 B9 BB 43 AC 7D 44 99 01 C4 AD 95 44
43B0:99 00 C4 CA 30 03 4C CE 40 60 16 01 27 01 38 01
43C0:4B 01 5F 01 73 01 8A 01 A1 01 BA 01 D4 01 F0 01
43D0:0E 02 2D 02 4E 02 71 02 96 02 BD 02 E7 02 13 03
43E0:42 03 74 03 A9 03 E0 03 1B 04 5A 04 9B 04 E2 04
43F0:2C 05 7B 05 CE 05 27 06 85 06 E8 06 51 07 C1 07
4400:37 08 B4 08 37 09 C4 09 57 0A F5 0A 9C 0B 4E 0C
4410:09 0D D0 0D A3 0E 82 0F 6E 10 68 11 6E 12 88 13
4420:AF 14 EB 15 39 17 9C 18 13 1A A1 1B 46 1D 04 1F
4430:DC 20 D0 22 DC 24 10 27 5E 29 D6 2B 72 2E 38 31
4440:26 34 42 37 8C 3A 08 3E B8 41 A0 45 B8 49 20 4E
4450:BC 52 AC 57 E4 5C 70 62 4C 68 84 6E 18 75 10 7C
4460:70 83 40 8B 70 93 40 9C 78 A5 58 AF C8 B9 E0 C4
4470:98 D0 08 DD 30 EA 20 F8 2E FD 00 07 0E 00 00 00
4480:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4490:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
44A0:00 00 00 00 00 00 01 00 C0 00 00 00 00 00 00 00
44B0:00 00 00 00 00 00 00 00 00 00 00 39 7A C6 45 45
44C0:45 4A 78 8D 94 D0 E6 12 75 A1 41 AD 1D 2F 2E 54
44D0:A3 4F A2 B4 BF D1 F4 17 38 6B 9E BF C7 CE 9F B0
44E0:C1 F1 B3 C4 D5 E6 F7 40 84 87 10 67 8C 15 2C 00
44F0:3D 60 84 B3 FC 5E 71 92 D3 15 3C 67 92 46 4C 4C
4500:46 4C 46 4D 47 4D 48 48 4E 4E 49 4E 49 4E 4A 4A
4510:4A 4A 4A 4B 4B 4B 4B 4B 4B 4B 4C 4C 4C 4C 4D 4D
4520:4D 4D 4D 4E 46 46 4C 48 48 4C 4C 00 50 4E 4E 4E
4530:4E 4F 4F 4F 4F 50 4C 47 4D 11 14 17 1A 00 27 00
4540:28 03 05 00 27 00 28 03 05 07 3A 14 17 00 27 00
4550:28 2F 30 31 31 32 33 33 34 34 34 34 34 34 34 34
4560:35 35 35 35 35 35 36 12 37 38 09 2A 09 2B 09 0A
4570:09 2A 09 2B 09 0A 0D 0D 0F FF 12 15 18 1B 2D 39
4580:39 39 39 39 39 2C 39 39 39 39 39 39 2C 39 39 39
4590:01 01 29 29 2C 15 18 39 39 39 39 39 39 39 39 39
45A0:39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
45B0:39 39 39 39 39 39 01 01 01 29 39 39 39 01 01 01
45C0:29 39 39 39 39 FF 13 16 19 1C 02 02 1D 1E 02 02
45D0:1D 1F 04 04 20 20 06 02 02 1D 1E 02 02 1D 1F 04
45E0:04 20 20 06 08 08 08 08 21 21 21 21 22 22 22 23
45F0:22 24 25 3B 26 26 26 26 26 26 26 26 26 26 26 26
4600:26 26 26 26 02 02 1D 1E 02 02 1D 1F 2F 2F 2F 2F
4610:2F 2F 2F 2F 2F 2F 2F 2F 2F 0B 0B 1D 1D 0B 0B 1D
4620:0B 0B 0B 0C 0C 1D 1D 1D 10 0B 0B 1D 1D 0B 0B 1D
4630:0B 0B 0B 0C 0C 1D 1D 1D 10 0B 1D 0B 1D 0B 1D 0B
4640:1D 0B 0C 1D 0B 0C 23 0B 0B FF 83 00 37 01 3E 01
4650:3E 03 3D 03 3E 03 43 03 3E 03 3D 03 3E 03 37 01
4660:3E 01 3E 03 3D 03 3E 03 43 03 42 03 43 03 45 03
4670:46 01 48 01 46 03 45 03 43 03 4B 01 4D 01 4B 03
4680:4A 03 48 FF 1F 4A FF 03 46 01 48 01 46 03 45 03
4690:4A 0F 43 FF BF 06 48 07 48 01 4B 01 4A 01 4B 01
46A0:4A 03 4B 03 4D 03 4B 03 4A 3F 48 07 48 01 4B 01
46B0:4A 01 4B 01 4A 03 4B 03 4D 03 4B 03 48 3F 4C 07
46C0:4C 01 4F 01 4E 01 4F 01 4E 03 4F 03 51 03 4F 03
46D0:4E 3F 4C 07 4C 01 4F 01 4E 01 4F 01 4E 03 4F 03
46E0:51 03 4F 03 4C FF 83 04 26 03 29 03 28 03 29 03
46F0:26 03 35 03 34 03 32 03 2D 03 30 03 2F 03 30 03
4700:2D 03 3C 03 3B 03 39 03 30 03 33 03 32 03 33 03
4710:30 03 3F 03 3E 03 3C 03 46 03 45 03 43 03 3A 03
4720:39 03 37 03 2E 03 2D 03 26 03 29 03 28 03 29 03
4730:26 03 35 03 34 03 32 03 2D 03 30 03 2F 03 30 03
4740:2D 03 3C 03 3B 03 39 03 30 03 33 03 32 03 33 03
4750:30 03 3F 03 3E 03 3C 03 34 03 37 03 36 03 37 03
4760:34 03 37 03 3A 03 3D 03 3E 07 3E 07 3F 07 3E 03
4770:3C 07 3E 57 FF 8B 00 3A 01 3A 01 3C 03 3D 03 3F
4780:03 3D 03 3C 0B 3A 03 39 07 3A 81 06 4B 01 4D 01
4790:4E 01 4D 01 4E 01 4D 05 4B 81 00 3A 01 3C 01 3D
47A0:03 3F 03 3D 03 3C 03 3A 03 39 1B 3A 0B 3B 01 3B
47B0:01 3D 03 3E 03 40 03 3E 03 3D 0B 3B 03 3A 07 3B
47C0:81 06 4C 01 4E 01 4F 01 4E 01 4F 01 4E 05 4C 81
47D0:00 3B 01 3D 01 3E 03 40 03 3E 03 3D 03 3B 03 3A
47E0:1B 3B 8B 05 35 03 33 07 32 03 30 03 2F 0B 30 03
47F0:32 0F 30 0B 35 03 33 07 32 03 30 03 2F 1F 30 8B
4800:00 3C 01 3C 01 3E 03 3F 03 41 03 3F 03 3E 0B 3D
4810:01 3D 01 3F 03 40 03 42 03 40 03 3F 03 3E 01 3E
4820:01 40 03 41 03 40 03 3E 03 3D 03 3E 03 3C 03 3A
4830:01 3A 01 3C 03 3D 03 3C 03 3A 03 39 03 3A 03 3C
4840:FF 83 00 32 01 35 01 34 03 32 03 35 03 34 03 32
4850:03 35 01 34 01 32 03 32 03 3A 03 39 03 3A 03 32
4860:03 3A 03 39 03 3A FF 03 34 01 37 01 35 03 34 03
4870:37 03 35 03 34 03 37 01 35 01 34 03 34 03 3A 03
4880:39 03 3A 03 34 03 3A 03 39 03 3A FF 03 39 03 38
4890:03 39 03 3A 03 39 03 37 03 35 03 34 03 35 03 34
48A0:03 35 03 37 03 35 03 34 03 32 03 31 FF 03 37 01
48B0:3A 01 39 03 37 03 3A 03 39 03 37 03 3A 01 39 01
48C0:37 03 37 03 3E 03 3D 03 3E 03 37 03 3E 03 3D 03
48D0:3E 03 3D 01 40 01 3E 03 3D 03 40 01 3E 01 3D 03
48E0:40 03 3E 03 40 03 40 01 43 01 41 03 40 03 43 01
48F0:41 01 40 03 43 03 41 03 43 03 43 01 46 01 45 03
4900:43 03 46 01 45 01 43 03 46 03 45 03 43 01 48 01
4910:49 01 48 01 46 01 45 01 46 01 45 01 43 01 41 01
4920:43 01 41 01 40 01 3D 01 39 01 3B 01 3D FF 01 3E
4930:01 39 01 35 01 39 01 3E 01 39 01 35 01 39 03 3E
4940:01 41 01 40 03 40 01 3D 01 3E 01 40 01 3D 01 39
4950:01 3D 01 40 01 3D 01 39 01 3D 03 40 01 43 01 41
4960:03 41 01 3E 01 40 01 41 01 3E 01 39 01 3E 01 41
4970:01 3E 01 39 01 3E 03 41 01 45 01 43 03 43 01 40
4980:01 41 01 43 01 40 01 3D 01 40 01 43 01 40 01 3D
4990:01 40 01 46 01 43 01 45 01 46 01 44 01 43 01 40
49A0:01 3D FF 01 3E 01 39 01 35 01 39 01 3E 01 39 01
49B0:35 01 39 01 3E 01 39 01 35 01 39 01 3E 01 39 01
49C0:35 01 39 01 3E 01 3A 01 37 01 3A 01 3E 01 3A 01
49D0:37 01 3A 01 3E 01 3A 01 37 01 3A 01 3E 01 3A 01
49E0:37 01 3A 01 40 01 3D 01 39 01 3D 01 40 01 3D 01
49F0:39 01 3D 01 40 01 3D 01 39 01 3D 01 40 01 3D 01
4A00:39 01 3D 01 41 01 3E 01 39 01 3E 01 41 01 3E 01
4A10:39 01 3E 01 41 01 3E 01 39 01 3E 01 41 01 3E 01
4A20:39 01 3E 01 43 01 3E 01 3A 01 3E 01 43 01 3E 01
4A30:3A 01 3E 01 43 01 3E 01 3A 01 3E 01 43 01 3E 01
4A40:3A 01 3E 01 43 01 3F 01 3C 01 3F 01 43 01 3F 01
4A50:3C 01 3F 01 43 01 3F 01 3C 01 3F 01 43 01 3F 01
4A60:3C 01 3F 01 45 01 42 01 3C 01 42 01 45 01 42 01
4A70:3C 01 42 01 48 01 45 01 42 01 45 01 4B 01 48 01
4A80:45 01 48 01 4B 01 4A 01 48 01 4A 01 4B 01 4A 01
4A90:48 01 4A 01 4B 01 4A 01 48 01 4A 01 4C 01 4E 03
4AA0:4F FF BF 06 56 1F 57 1F 56 1F 5B 1F 56 1F 57 1F
4AB0:56 1F 4F FF BF 0C 68 7F 7F 7F 7F 7F 7F 7F FF BF
4AC0:08 13 3F 13 3F 13 3F 13 3F 13 3F 13 3F 13 1F 13
4AD0:FF 97 09 2E 03 2E 1B 32 03 32 1B 31 03 31 1F 34
4AE0:43 17 32 03 32 1B 35 03 35 1B 34 03 34 0F 37 8F
4AF0:0A 37 43 FF 97 09 2B 03 2B 1B 2E 03 2E 1B 2D 03
4B00:2D 1F 30 43 17 2E 03 2E 1B 32 03 32 1B 31 03 31
4B10:0F 34 8F 0A 34 43 FF 0F 1F 0F 1F 0F 1F 0F 1F 0F
4B20:1F 0F 1F 0F 1F 0F 1F 0F 1F 0F 1F 0F 1F 0F 1F 0F
4B30:1F 0F 1F 0F 1F 0F 1F FF 97 09 33 03 33 1B 37 03
4B40:37 1B 36 03 36 1F 39 43 17 37 03 37 1B 3A 03 3A
4B50:1B 39 03 39 2F 3C 21 3C 21 3D 21 3E 21 3F 21 40
4B60:21 41 21 42 21 43 21 44 01 45 FF 97 09 30 03 30
4B70:1B 33 03 33 1B 32 03 32 1F 36 43 17 33 03 33 1B
4B80:37 03 37 1B 36 03 36 2F 39 21 39 21 3A 21 3B 21
4B90:3C 21 3D 21 3E 21 3F 21 40 21 41 01 42 FF 0F 1A
4BA0:0F 1A 0F 1A 0F 1A 0F 1A 0F 1A 0F 1A 0F 1A 0F 1A
4BB0:0F 1A 0F 1A 0F 1A 0F 1A 0F 1A 0F 1A 0F 1A FF 1F
4BC0:46 BF 0A 46 7F 7F FF 1F 43 BF 0A 43 7F FF 83 02
4BD0:13 03 13 03 1E 03 1F 03 13 03 13 03 1E 03 1F 03
4BE0:13 03 13 03 1E 03 1F 03 13 03 13 03 1E 03 1F 03
4BF0:13 03 13 03 1E 03 1F 03 13 03 13 03 1E 03 1F 03
4C00:13 03 13 03 1E 03 1F 03 13 03 13 03 1E 03 1F FF
4C10:8F 0B 38 4F FF 83 0E 32 07 32 07 2F 07 2F 03 2B
4C20:87 0B 46 83 0E 2C 03 2C 8F 0B 32 FF 43 83 0E 32
4C30:03 32 03 2F 03 2F 03 2C 87 0B 38 FF 83 01 43 01
4C40:4F 01 5B 87 03 2F 83 01 43 01 4F 01 5B 87 03 2F
4C50:83 01 43 01 4F 01 5B 87 03 2F 83 01 43 01 4F 01
4C60:5B 87 03 2F 83 01 43 01 4F 01 5B 87 03 2F 83 01
4C70:43 01 4F 01 5B 87 03 2F 83 01 43 01 4F 01 5B 87
4C80:03 2F 83 01 43 01 4F 01 5B 87 03 2F FF 83 02 13
4C90:03 13 03 1F 03 1F 03 13 03 13 03 1F 03 1F FF 03
4CA0:15 03 15 03 1F 03 21 03 15 03 15 03 1F 03 21 FF
4CB0:03 1A 03 1A 03 1C 03 1C 03 1D 03 1D 03 1E 03 1E
4CC0:FF 03 1A 03 1A 03 24 03 26 03 13 03 13 07 1F FF
4CD0:03 18 03 18 03 24 03 24 03 18 03 18 03 24 03 24
4CE0:03 20 03 20 03 2C 03 2C 03 20 03 20 03 2C 03 2C
4CF0:FF 03 19 03 19 03 25 03 25 03 19 03 19 03 25 03
4D00:25 03 21 03 21 03 2D 03 2D 03 21 03 21 03 2D 03
4D10:2D FF 03 1A 03 1A 03 26 03 26 03 1A 03 1A 03 26
4D20:03 26 03 15 03 15 03 21 03 21 03 15 03 15 03 21
4D30:03 21 03 18 03 18 03 24 03 24 03 18 03 18 03 24
4D40:03 24 03 1F 03 1F 03 2B 03 2B 03 1F 03 1F 03 2B
4D50:03 2B 03 1A 03 1A 03 26 03 26 03 1A 03 1A 03 26
4D60:03 26 03 15 03 15 03 21 03 21 03 15 03 15 03 21
4D70:03 21 03 18 03 18 03 24 03 24 03 18 03 18 03 24
4D80:03 24 03 1C 03 1C 03 28 03 28 03 1C 03 1C 03 28
4D90:03 28 83 04 36 07 36 07 37 07 36 03 33 07 32 57
4DA0:FF 83 02 1B 03 1B 03 27 03 27 03 1B 03 1B 03 27
4DB0:03 27 FF 03 1C 03 1C 03 28 03 28 03 1C 03 1C 03
4DC0:28 03 28 FF 03 1D 03 1D 03 29 03 29 03 1D 03 1D
4DD0:03 29 03 29 FF 03 18 03 18 03 24 03 24 03 18 03
4DE0:18 03 24 03 24 FF 03 1E 03 1E 03 2A 03 2A 03 1E
4DF0:03 1E 03 2A 03 2A FF 83 05 26 01 4A 01 34 03 29
4E00:03 4C 03 4A 03 31 03 4A 03 24 03 22 01 46 01 30
4E10:03 25 03 48 03 46 03 2D 03 46 03 24 FF 83 02 1A
4E20:03 1A 03 26 03 26 03 1A 03 1A 03 26 03 26 FF 03
4E30:13 03 13 03 1D 03 1F 03 13 03 13 03 1D 03 1F FF
4E40:87 02 1A 87 03 2F 83 02 26 03 26 87 03 2F FF 07
4E50:1A 4F 47 FF 03 1F 03 1F 03 24 03 26 07 13 47 FF
4E60:BF 0F 32 0F 32 8F 90 30 3F 32 13 32 03 32 03 35
4E70:03 37 3F 37 0F 37 8F 90 30 3F 32 13 32 03 2D 03
4E80:30 03 32 FF 0F 32 AF 90 35 0F 37 A7 99 37 07 35
4E90:3F 32 13 32 03 32 A3 E8 35 03 37 0F 35 AF 90 37
4EA0:0F 37 A7 99 37 07 35 3F 32 13 32 03 2D A3 E8 30
4EB0:03 32 FF 07 32 03 39 13 3C A7 9A 37 A7 9B 38 07
4EC0:37 03 35 03 32 03 39 1B 3C A7 9A 37 A7 9B 38 07
4ED0:37 03 35 03 32 03 39 03 3C 03 3E 03 3C 07 3E 03
4EE0:3C 03 39 A7 9A 37 A7 9B 38 07 37 03 35 03 32 AF
4EF0:90 3C 1F 3E 43 03 3E 03 3C 03 3E FF 03 3E 03 3E
4F00:A3 E8 3C 03 3E 03 3E 03 3E A3 E8 3C 03 3E 03 3E
4F10:03 3E A3 E8 3C 03 3E 03 3E 03 3E A3 E8 3C 03 3E
4F20:AF 91 43 1F 41 43 03 3E 03 41 03 43 03 43 03 43
4F30:A3 E8 41 03 43 03 43 03 43 A3 E8 41 03 43 03 45
4F40:03 48 A3 FD 45 03 44 01 43 01 41 03 3E 03 3C 03
4F50:3E 2F 3E BF 98 3E 43 03 3E 03 3C 03 3E FF 03 4A
4F60:03 4A A3 F8 48 03 4A 03 4A 03 4A A3 F8 48 03 4A
4F70:FF 01 51 01 54 01 51 01 54 01 51 01 54 01 51 01
4F80:54 01 51 01 54 01 51 01 54 01 51 01 54 01 51 01
4F90:54 FF 01 50 01 4F 01 4D 01 4A 01 4F 01 4D 01 4A
4FA0:01 48 01 4A 01 48 01 45 01 43 01 44 01 43 01 41
4FB0:01 3E 01 43 01 41 01 3E 01 3C 01 3E 01 3C 01 39
4FC0:01 37 01 38 01 37 01 35 01 32 01 37 01 35 01 32
4FD0:01 30 FF 5F 5F 5F 47 83 0E 32 07 32 07 2F 03 2F
4FE0:07 2F 97 0B 3A 5F 5F 47 8B 0E 32 03 32 03 2F 03
4FF0:2F 47 97 0B 3A 5F 5F 47 83 0E 2F 0B 2F 03 2F 03
5000:2F 87 0B 30 17 3A 5F 8B 0E 32 0B 32 0B 2F 0B 2F
5010:07 2C 07 2C FF 87 0B 34 17 3A 5F 5F 84 0E 32 04
5020:32 05 32 04 2F 04 2F 05 2F 47 97 0B 3A 5F 5F 84
5030:0E 32 04 32 05 32 04 2F 04 2F 05 2F FF 03 1A 03
5040:1A 03 24 03 26 03 1A 03 1A 03 18 03 19 03 1A 03
5050:1A 03 24 03 26 03 1A 03 1A 03 18 03 19 03 18 03
5060:18 03 22 03 24 03 18 03 18 03 16 03 17 03 18 03
5070:18 03 22 03 24 03 18 03 18 03 16 03 17 03 13 03
5080:13 03 1D 03 1F 03 13 03 13 03 1D 03 1E 03 13 03
5090:13 03 1D 03 1F 03 13 03 13 03 1D 03 1E 03 1A 03
50A0:1A 03 24 03 26 03 1A 03 1A 03 18 03 19 03 1A 03
50B0:1A 03 24 03 26 03 1A 03 1A 03 18 03 19 FF 80 09
50C0:41 48 60 03 81 00 00 08 81 02 08 00 00 01 A0 02
50D0:41 09 80 00 00 00 00 02 81 09 09 00 00 05 00 08
50E0:41 08 50 02 00 04 00 01 41 3F C0 02 00 00 00 08
50F0:41 04 40 02 00 00 00 08 41 09 00 02 00 00 00 09
5100:41 09 70 02 5F 04 00 09 41 4A 69 02 81 00 00 09
5110:41 40 6F 00 81 02 80 07 81 0A 0A 00 00 01 00 09
5120:41 3F FF 01 E7 02 00 08 41 90 F0 01 E8 02 00 08
5130:41 06 0A 00 00 01 00 09 41 19 70 02 A8 00 00 02
5140:41 09 90 02 00 00 00 00 11 0A FA 00 00 05 00 08
5150:41 37 40 02 00 00 00 08 11 07 70 02 00 00 00
And here is the source!
#define SIDBASE $C400
#define CIABASE $C0C0
; zp0/1, zp2/3 must be consecutive
#define ZP0 $EB
#define ZP1 $EC
#define ZP2 $ED
#define ZP3 $EE
.global start
.global timerhi
.global timerlo
;-----------------------------------------------------------------------------
;rob hubbard
;monty on the run music driver
;this player was used (with small mods)
;for his first approx 30 musix
;.org $8000
;.obj motr
; loadirq The music is supposed to run at 50Hz, or 50 times per second. Therefore
; PAL users can run the music routine off the IRQ like this:
start:
lda #$00 ; init music number 0 (redundant)
jsr music+0 ; init the music
sei ; install the irq
lda #<irq
ldx #>irq
sta $3fe
stx $3ff
timerhi: lda #1 ; turn on CIA Timer A interrupt
sta CIABASE+5 ; timer A high
timerlo: lda #$ff
sta CIABASE+4 ; timer A low
lda #1
sta CIABASE+$e ; control register A
lda #$81
sta CIABASE+$d ; set MASK register of ICR
cli
busyloop:
jmp busyloop ; endless loop (music is now playing off interrupt :-)
irq:
; implied sei (interrupts disabled)
stx irqxsav ; save x & y (a2 irq code only saves/restores accum)
sty irqysav
;inc $d020 ; play music, and show a raster for the time it takes
lda CIABASE+$d ; read DATA register of ICR (resets interrupt)
jsr music+3
;dec $d020
ldx irqxsav
ldy irqysav
lda $45 ; restore accum
rti
irqxsav: .byte 0
irqysav: .byte 0
; end of irq
; [][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
; code from http://sid.kubarth.com/articles/rob_hubbards_music.txt
music:
jmp initmusic
jmp playmusic
jmp musicoff
;====================================
;init music
initmusic:
lda #$00 ;music num
ldy #$00
asl a
sta tempstore
asl a
clc
adc tempstore ;now music num*6
tax
- lda songs,x ;copy ptrs to this
sta currtrkhi,y ;music's tracks to
inx ;current tracks
iny
cpy #$06
bne -
lda #$00 ;clear control regs
sta SIDBASE+$4
sta SIDBASE+$b
sta SIDBASE+$12
sta SIDBASE+$17
lda #$0f ;full volume
sta SIDBASE+$18
lda #$40 ;flag init music
sta mstatus
rts
;====================================
;music off
musicoff:
lda #$c0 ;flag music off
sta mstatus
rts
;====================================
;play music
playmusic:
inc counter
bit mstatus ;test music status
bmi moff ;$80 and $c0 is off
bvc contplay ;$40 init, else play
;==========
;init the song (mstatus $40)
lda #$00 ;init counter
sta counter
ldx #3-1
- sta posoffset,x ;init pos offsets
sta patoffset,x ;init pat offsets
sta lengthleft,x ;get note right away
sta notenum,x
dex
bpl -
sta mstatus ;signal music play
jmp contplay
;==========
;music is off (mstatus $80 or $c0)
moff:
bvc + ;if mstatus $c0 then
lda #$00
sta SIDBASE+$4 ;kill voice 1,2,3
sta SIDBASE+$b ;control registers
sta SIDBASE+$12
lda #$0f ;full volume still
sta SIDBASE+$18
lda #$80 ;flag no need to kill
sta mstatus ;sound next time
+ jmp musicend ;end
;==========
;music is playing (mstatus otherwise)
contplay:
ldx #3-1 ;number of chanels
dec speed ;check the speed
bpl mainloop
lda resetspd ;reset speed if needed
sta speed
mainloop:
lda regoffsets,x ;save offset to regs
sta tmpregofst ;for this channel
tay
;check whether a new note is needed
lda speed ;if speed not reset
cmp resetspd ;then skip notework
beq checknewnote
jmp vibrato
checknewnote:
lda currtrkhi,x ;put base addr.w of
sta ZP0 ;this track in $2
lda currtrklo,x
sta ZP1
dec lengthleft,x ;check whether a new
bmi getnewnote ;note is needed
jmp soundwork ;no new note needed
;==========
;notework
;a new note is needed. get the pattern
;number/cc from this position
getnewnote:
ldy posoffset,x ;get the data from
lda (ZP0),y ;the current position
cmp #$ff ;pos $ff restarts
beq restart
cmp #$fe ;pos $fe stops music
bne getnotedata ;on all channels
jmp musicend
;cc of $ff restarts this track from the
;first position
restart:
lda #$00 ;get note immediately
sta lengthleft,x ;and reset pat,pos
sta posoffset,x
sta patoffset,x
jmp getnewnote
;get the note data from this pattern
getnotedata:
tay
lda patptl,y ;put base addr.w of
sta ZP2 ;the pattern in $4
lda patpth,y
sta ZP3
lda #$00 ;default no portamento
sta portaval,x
ldy patoffset,x ;get offset into ptn
lda #$ff ;default no append
sta appendfl
;1st bytee is the length of the note 0-31
;bit5 signals no release (see sndwork)
;bit6 signals appended note
;bit7 signals a new instrument
; or portamento coming up
lda (ZP2),y ;get length of note
sta savelnthcc,x
sta templnthcc
and #$1f
sta lengthleft,x
bit templnthcc ;test for append
bvs appendnote
inc patoffset,x ;pt to next data
lda templnthcc ;2nd bytee needed?
bpl getpitch
;2nd bytee needed as 1st byte negative
;2nd bytee is the instrument number(+ve)
;or portamento speed(-ve)
iny
lda (ZP2),y ;get instr/portamento
bpl +
sta portaval,x ;save portamento val
jmp ++
+ sta instrnr,x ;save instr nr
+ inc patoffset,x
;3rd bytee is the pitch of the note
;get the 'base frequency' here
getpitch:
iny
lda (ZP2),y ;get pitch of note
sta notenum,x
asl a ;pitch*2
tay
lda frequenzlo,y ;save the appropriate
sta tempfreq ;base frequency
lda frequenzhi,y
ldy tmpregofst
sta SIDBASE+$1,y
sta savefreqhi,x
lda tempfreq
sta SIDBASE+$0,y
sta savefreqlo,x
jmp +
appendnote:
dec appendfl ;clever eh?
;fetch all the initial values from the
;instrument data structure
+ ldy tmpregofst
lda instrnr,x ;instr num
stx tempstore
asl a ;instr num*8
asl a
asl a
tax
lda instr+2,x ;get control reg val
sta tempctrl
lda instr+2,x
and appendfl ;implement append
sta SIDBASE+$4,y
lda instr+0,x ;get pulse width lo
sta SIDBASE+$2,y
lda instr+1,x ;get pulse width hi
sta SIDBASE+$3,y
lda instr+3,x ;get attack/decay
sta SIDBASE+$5,y
lda instr+4,x ;get sustain/release
sta SIDBASE+$6,y
ldx tempstore ;save control reg val
lda tempctrl
sta voicectrl,x
;4th bytee checks for the end of pattern
;if eop found, inc the position and
;reset patoffset for new pattern
inc patoffset,x ;preview 4th bytee
ldy patoffset,x
lda (ZP2),y
cmp #$ff ;check for eop
bne +
lda #$00 ;end of pat reached
sta patoffset,x ;inc position for
inc posoffset,x ;the next time
+ jmp loopcont
;==========
;soundwork
;the instrument and effects processing
;routine when no new note was needed
soundwork:
;release routine
;set off a release when the length of
;the note is exceeded
;bit4 of the 1st note-bytee can specify
;for no release
ldy tmpregofst
lda savelnthcc,x ;check for no release
and #$20 ;specified
bne vibrato
lda lengthleft,x ;check for length of
bne vibrato ;exceeded
lda voicectrl,x ;length exceeded so
and #$fe ;start the release
sta SIDBASE+$4,y ;and kill adsr
lda #$00
sta SIDBASE+$5,y
sta SIDBASE+$6,y
;vibrato routine
;(does alot of work)
vibrato:
lda instrnr,x ;instr num
asl a
asl a
asl a ;instr num*8
tay
sty instnumby8 ;save instr num*8
lda instr+7,y ;get instr fx bytee
sta instrfx
lda instr+6,y ;get pulse speed
sta pulsevalue
lda instr+5,y ;get vibrato depth
sta vibrdepth
beq pulsework ;check for no vibrato
lda counter ;this is clever!!
and #7 ;the counter's turned
cmp #4 ;into an oscillating
bcc + ;value (01233210)
eor #7
+ sta oscilatval
lda notenum,x ;get base note
asl a ;note*2
tay ;get diff btw note
sec ;and note+1 frequency
lda frequenzlo+2,y
sbc frequenzlo,y
sta tmpvdiflo
lda frequenzhi+2,y
sbc frequenzhi,y
- lsr a ;divide difference by
ror tmpvdiflo ;2 for each vibrdepth
dec vibrdepth
bpl -
sta tmpvdifhi
lda frequenzlo,y ;save note frequency
sta tmpvfrqlo
lda frequenzhi,y
sta tmpvfrqhi
lda savelnthcc,x ;no vibrato if note
and #$1f ;length less than 8
cmp #8
bcc +
ldy oscilatval
- dey ;depending on the osc
bmi + ;value, add the vibr
clc ;freq that many times
lda tmpvfrqlo ;to the base freq
adc tmpvdiflo
sta tmpvfrqlo
lda tmpvfrqhi
adc tmpvdifhi
sta tmpvfrqhi
jmp -
+ ldy tmpregofst ;save the final
lda tmpvfrqlo ;frequencies
sta SIDBASE+$0,y
lda tmpvfrqhi
sta SIDBASE+$1,y
;pulse-width timbre routine
;depending on the control/speed bytee in
;the instrument datastructure, the pulse
;width is of course inc/decremented to
;produce timbre
;strangely the delay value is also the
;size of the inc/decrements
pulsework:
lda pulsevalue ;check for pulsework
beq portamento ;needed this instr
ldy instnumby8
and #$1f
dec pulsedelay,x ;pulsedelay-1
bpl portamento
sta pulsedelay,x ;reset pulsedelay
lda pulsevalue ;restrict pulse speed
and #$e0 ;from $00-$1f
sta pulsespeed
lda pulsedir,x ;pulsedir 0 is up and
bne pulsedown ;1 is down
lda pulsespeed ;pulse width up
clc
adc instr+0,y ;add the pulsespeed
pha ;to the pulse width
lda instr+1,y
adc #$00
and #$0f
pha
cmp #$0e ;go pulsedown when
bne dumpulse ;the pulse value
inc pulsedir,x ;reaches max ($0exx)
jmp dumpulse
pulsedown:
sec ;pulse width down
lda instr+0,y
sbc pulsespeed ;sub the pulsespeed
pha ;from the pulse width
lda instr+1,y
sbc #$00
and #$0f
pha
cmp #$08 ;go pulseup when
bne dumpulse ;the pulse value
dec pulsedir,x ;reaches min ($08xx)
dumpulse:
stx tempstore ;dump pulse width to
ldx tmpregofst ;chip and back into
pla ;the instr data str
sta instr+1,y
sta SIDBASE+$3,x
pla
sta instr+0,y
sta SIDBASE+$2,x
ldx tempstore
;portamento routine
;portamento comes from the second bytee
;if it's a negative value
portamento:
ldy tmpregofst
lda portaval,x ;check for portamento
beq drums ;none
and #$7e ;toad unwanted bits
sta tempstore
lda portaval,x ;bit0 signals up/down
and #$01
beq portup
sec ;portamento down
lda savefreqlo,x ;sub portaval from
sbc tempstore ;current frequency
sta savefreqlo,x
sta SIDBASE+$0,y
lda savefreqhi,x
sbc #$00 ;(word arithmetic)
sta savefreqhi,x
sta SIDBASE+$1,y
jmp drums
portup:
clc ;portamento up
lda savefreqlo,x ;add portval to
adc tempstore ;current frequency
sta savefreqlo,x
sta SIDBASE+$0,y
lda savefreqhi,x
adc #$00
sta savefreqhi,x
sta SIDBASE+$1,y
;bit0 instrfx are the drum routines
;the actual drum timbre depends on the
;crtl register value for the instrument:
;ctrlreg 0 is always noise
;ctrlreg x is noise for 1st vbl and x
;from then on
;see that the drum is made by rapid hi
;to low frequency slide with fast attack
;and decay
drums:
lda instrfx ;check if drums
and #$01 ;needed this instr
beq skydive
lda savefreqhi,x ;don't bother if freq
beq skydive ;can't go any lower
lda lengthleft,x ;or if the note has
beq skydive ;finished
lda savelnthcc,x ;check if this is the
and #$1f ;first vbl for this
sec ;instrument-note
sbc #$01
cmp lengthleft,x
ldy tmpregofst
bcc firstime
lda savefreqhi,x ;not the first time
dec savefreqhi,x ;so dec freqhi for
sta SIDBASE+$1,y ;drum sound
lda voicectrl,x ;if ctrlreg is 0 then
and #$fe ;noise is used always
bne dumpctrl
firstime:
lda savefreqhi,x ;noise is used for
sta SIDBASE+$1,y ;the first vbl also
lda #$80 ;(set noise)
dumpctrl:
sta SIDBASE+$4,y
;bit1 instrfx is the skydive
;a long portamento-down from the note
;to zerofreq
skydive:
lda instrfx ;check if skydive
and #$02 ;needed this instr
beq octarp
lda counter ;every 2nd vbl
and #$01
beq octarp
lda savefreqhi,x ;check if skydive
beq octarp ;already complete
dec savefreqhi,x ;decr and save the
ldy tmpregofst ;high bytee freq
sta SIDBASE+$1,y
;bit2 instrfx is an octave arpeggio
;pretty tame huh?
octarp:
lda instrfx ;check if arpt needed
and #$04
beq loopcont
lda counter ;only 2 arpt values
and #$01
beq +
lda notenum,x ;odd, note+12
clc
adc #$0c
jmp ++
+ lda notenum,x ;even, note
+ asl a ;dump the corresponding
tay ;frequencies
lda frequenzlo,y
sta tempfreq
lda frequenzhi,y
ldy tmpregofst
sta SIDBASE+$1,y
lda tempfreq
sta SIDBASE+$0,y
;==========
;end of dbf loop
loopcont:
dex ;dbf mainloop
bmi musicend
jmp mainloop
musicend:
rts
;====================================
;frequenz data
;====================================
frequenzlo: .byte $16
frequenzhi: .byte $01
.byte $27,$01,$38,$01,$4b,$01
.byte $5f,$01,$73,$01,$8a,$01,$a1,$01
.byte $ba,$01,$d4,$01,$f0,$01,$0e,$02
.byte $2d,$02,$4e,$02,$71,$02,$96,$02
.byte $bd,$02,$e7,$02,$13,$03,$42,$03
.byte $74,$03,$a9,$03,$e0,$03,$1b,$04
.byte $5a,$04,$9b,$04,$e2,$04,$2c,$05
.byte $7b,$05,$ce,$05,$27,$06,$85,$06
.byte $e8,$06,$51,$07,$c1,$07,$37,$08
.byte $b4,$08,$37,$09,$c4,$09,$57,$0a
.byte $f5,$0a,$9c,$0b,$4e,$0c,$09,$0d
.byte $d0,$0d,$a3,$0e,$82,$0f,$6e,$10
.byte $68,$11,$6e,$12,$88,$13,$af,$14
.byte $eb,$15,$39,$17,$9c,$18,$13,$1a
.byte $a1,$1b,$46,$1d,$04,$1f,$dc,$20
.byte $d0,$22,$dc,$24,$10,$27,$5e,$29
.byte $d6,$2b,$72,$2e,$38,$31,$26,$34
.byte $42,$37,$8c,$3a,$08,$3e,$b8,$41
.byte $a0,$45,$b8,$49,$20,$4e,$bc,$52
.byte $ac,$57,$e4,$5c,$70,$62,$4c,$68
.byte $84,$6e,$18,$75,$10,$7c,$70,$83
.byte $40,$8b,$70,$93,$40,$9c,$78,$a5
.byte $58,$af,$c8,$b9,$e0,$c4,$98,$d0
.byte $08,$dd,$30,$ea,$20,$f8,$2e,$fd
regoffsets: .byte $00,$07,$0e
tmpregofst: .byte $00
posoffset: .byte $00,$00,$00
patoffset: .byte $00,$00,$00
lengthleft: .byte $00,$00,$00
savelnthcc: .byte $00,$00,$00
voicectrl: .byte $00,$00,$00
notenum: .byte $00,$00,$00
instrnr: .byte $00,$00,$00
appendfl: .byte $00
templnthcc: .byte $00
tempfreq: .byte $00
tempstore: .byte $00
tempctrl: .byte $00
vibrdepth: .byte $00
pulsevalue: .byte $00
tmpvdiflo: .byte $00
tmpvdifhi: .byte $00
tmpvfrqlo: .byte $00
tmpvfrqhi: .byte $00
oscilatval: .byte $00
pulsedelay: .byte $00,$00,$00
pulsedir: .byte $00,$00,$00
speed: .byte $00
resetspd: .byte $01
instnumby8: .byte $00
mstatus: .byte $c0
savefreqhi: .byte $00,$00,$00
savefreqlo: .byte $00,$00,$00
portaval: .byte $00,$00,$00
instrfx: .byte $00
pulsespeed: .byte $00
counter: .byte $00
currtrkhi: .byte $00,$00,$00
currtrklo: .byte $00,$00,$00
;====================================
;monty on the run main theme
;====================================
songs:
.byte <montymaintr1
.byte <montymaintr2
.byte <montymaintr3
.byte >montymaintr1
.byte >montymaintr2
.byte >montymaintr3
;====================================
;pointers to the patterns
;low pointers
patptl:
.byte <ptn00
.byte <ptn01
.byte <ptn02
.byte <ptn03
.byte <ptn04
.byte <ptn05
.byte <ptn06
.byte <ptn07
.byte <ptn08
.byte <ptn09
.byte <ptn0a
.byte <ptn0b
.byte <ptn0c
.byte <ptn0d
.byte <ptn0e
.byte <ptn0f
.byte <ptn10
.byte <ptn11
.byte <ptn12
.byte <ptn13
.byte <ptn14
.byte <ptn15
.byte <ptn16
.byte <ptn17
.byte <ptn18
.byte <ptn19
.byte <ptn1a
.byte <ptn1b
.byte <ptn1c
.byte <ptn1d
.byte <ptn1e
.byte <ptn1f
.byte <ptn20
.byte <ptn21
.byte <ptn22
.byte <ptn23
.byte <ptn24
.byte <ptn25
.byte <ptn26
.byte <ptn27
.byte <ptn28
.byte <ptn29
.byte <ptn2a
.byte <ptn2b
.byte <ptn2c
.byte <ptn2d
.byte 0
.byte <ptn2f
.byte <ptn30
.byte <ptn31
.byte <ptn32
.byte <ptn33
.byte <ptn34
.byte <ptn35
.byte <ptn36
.byte <ptn37
.byte <ptn38
.byte <ptn39
.byte <ptn3a
.byte <ptn3b
;high pointers
patpth:
.byte >ptn00
.byte >ptn01
.byte >ptn02
.byte >ptn03
.byte >ptn04
.byte >ptn05
.byte >ptn06
.byte >ptn07
.byte >ptn08
.byte >ptn09
.byte >ptn0a
.byte >ptn0b
.byte >ptn0c
.byte >ptn0d
.byte >ptn0e
.byte >ptn0f
.byte >ptn10
.byte >ptn11
.byte >ptn12
.byte >ptn13
.byte >ptn14
.byte >ptn15
.byte >ptn16
.byte >ptn17
.byte >ptn18
.byte >ptn19
.byte >ptn1a
.byte >ptn1b
.byte >ptn1c
.byte >ptn1d
.byte >ptn1e
.byte >ptn1f
.byte >ptn20
.byte >ptn21
.byte >ptn22
.byte >ptn23
.byte >ptn24
.byte >ptn25
.byte >ptn26
.byte >ptn27
.byte >ptn28
.byte >ptn29
.byte >ptn2a
.byte >ptn2b
.byte >ptn2c
.byte >ptn2d
.byte 0
.byte >ptn2f
.byte >ptn30
.byte >ptn31
.byte >ptn32
.byte >ptn33
.byte >ptn34
.byte >ptn35
.byte >ptn36
.byte >ptn37
.byte >ptn38
.byte >ptn39
.byte >ptn3a
.byte >ptn3b
;====================================
;tracks
;====================================
;track1
montymaintr1:
.byte $11,$14,$17,$1a,$00,$27,$00,$28
.byte $03,$05,$00,$27,$00,$28,$03,$05
.byte $07,$3a,$14,$17,$00,$27,$00,$28
.byte $2f,$30,$31,$31,$32,$33,$33,$34
.byte $34,$34,$34,$34,$34,$34,$34,$35
.byte $35,$35,$35,$35,$35,$36,$12,$37
.byte $38,$09,$2a,$09,$2b,$09,$0a,$09
.byte $2a,$09,$2b,$09,$0a,$0d,$0d,$0f
.byte $ff
;track2
montymaintr2:
.byte $12,$15,$18,$1b,$2d,$39,$39
.byte $39,$39,$39,$39,$2c,$39,$39,$39
.byte $39,$39,$39,$2c,$39,$39,$39,$01
.byte $01,$29,$29,$2c,$15,$18,$39,$39
.byte $39,$39,$39,$39,$39,$39,$39,$39
.byte $39,$39,$39,$39,$39,$39,$39,$39
.byte $39,$39,$39,$39,$39,$39,$39,$39
.byte $39,$39,$39,$39,$39,$01,$01,$01
.byte $29,$39,$39,$39,$01,$01,$01,$29
.byte $39,$39,$39,$39,$ff
;track3
montymaintr3:
.byte $13,$16,$19
.byte $1c,$02,$02,$1d,$1e,$02,$02,$1d
.byte $1f,$04,$04,$20,$20,$06,$02,$02
.byte $1d,$1e,$02,$02,$1d,$1f,$04,$04
.byte $20,$20,$06,$08,$08,$08,$08,$21
.byte $21,$21,$21,$22,$22,$22,$23,$22
.byte $24,$25,$3b,$26,$26,$26,$26,$26
.byte $26,$26,$26,$26,$26,$26,$26,$26
.byte $26,$26,$26,$02,$02,$1d,$1e,$02
.byte $02,$1d,$1f,$2f,$2f,$2f,$2f,$2f
.byte $2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f
.byte $0b,$0b,$1d,$1d,$0b,$0b,$1d,$0b
.byte $0b,$0b,$0c,$0c,$1d,$1d,$1d,$10
.byte $0b,$0b,$1d,$1d,$0b,$0b,$1d,$0b
.byte $0b,$0b,$0c,$0c,$1d,$1d,$1d,$10
.byte $0b,$1d,$0b,$1d,$0b,$1d,$0b,$1d
.byte $0b,$0c,$1d,$0b,$0c,$23,$0b,$0b
.byte $ff
;====================================
;patterns
;====================================
ptn00:
.byte $83,$00,$37,$01,$3e,$01,$3e,$03
.byte $3d,$03,$3e,$03,$43,$03,$3e,$03
.byte $3d,$03,$3e,$03,$37,$01,$3e,$01
.byte $3e,$03,$3d,$03,$3e,$03,$43,$03
.byte $42,$03,$43,$03,$45,$03,$46,$01
.byte $48,$01,$46,$03,$45,$03,$43,$03
.byte $4b,$01,$4d,$01,$4b,$03,$4a,$03
.byte $48,$ff
ptn27:
.byte $1f,$4a,$ff
ptn28:
.byte $03,$46,$01,$48,$01,$46,$03,$45
.byte $03,$4a,$0f,$43,$ff
ptn03:
.byte $bf,$06
.byte $48,$07,$48,$01,$4b,$01,$4a,$01
.byte $4b,$01,$4a,$03,$4b,$03,$4d,$03
.byte $4b,$03,$4a,$3f,$48,$07,$48,$01
.byte $4b,$01,$4a,$01,$4b,$01,$4a,$03
.byte $4b,$03,$4d,$03,$4b,$03,$48,$3f
.byte $4c,$07,$4c,$01,$4f,$01,$4e,$01
.byte $4f,$01,$4e,$03,$4f,$03,$51,$03
.byte $4f,$03,$4e,$3f,$4c,$07,$4c,$01
.byte $4f,$01,$4e,$01,$4f,$01,$4e,$03
.byte $4f,$03,$51,$03,$4f,$03,$4c,$ff
ptn05:
.byte $83,$04,$26,$03,$29,$03,$28,$03
.byte $29,$03,$26,$03,$35,$03,$34,$03
.byte $32,$03,$2d,$03,$30,$03,$2f,$03
.byte $30,$03,$2d,$03,$3c,$03,$3b,$03
.byte $39,$03,$30,$03,$33,$03,$32,$03
.byte $33,$03,$30,$03,$3f,$03,$3e,$03
.byte $3c,$03,$46,$03,$45,$03,$43,$03
.byte $3a,$03,$39,$03,$37,$03,$2e,$03
.byte $2d,$03,$26,$03,$29,$03,$28,$03
.byte $29,$03,$26,$03,$35,$03,$34,$03
.byte $32,$03,$2d,$03,$30,$03,$2f,$03
.byte $30,$03,$2d,$03,$3c,$03,$3b,$03
.byte $39,$03,$30,$03,$33,$03,$32,$03
.byte $33,$03,$30,$03,$3f,$03,$3e,$03
.byte $3c,$03,$34,$03,$37,$03,$36,$03
.byte $37,$03,$34,$03,$37,$03,$3a,$03
.byte $3d
ptn3a:
.byte $03,$3e,$07,$3e,$07,$3f,$07
.byte $3e,$03,$3c,$07,$3e,$57,$ff
ptn07:
.byte $8b
.byte $00,$3a,$01,$3a,$01,$3c,$03,$3d
.byte $03,$3f,$03,$3d,$03,$3c,$0b,$3a
.byte $03,$39,$07,$3a,$81,$06,$4b,$01
.byte $4d,$01,$4e,$01,$4d,$01,$4e,$01
.byte $4d,$05,$4b,$81,$00,$3a,$01,$3c
.byte $01,$3d,$03,$3f,$03,$3d,$03,$3c
.byte $03,$3a,$03,$39,$1b,$3a,$0b,$3b
.byte $01,$3b,$01,$3d,$03,$3e,$03,$40
.byte $03,$3e,$03,$3d,$0b,$3b,$03,$3a
.byte $07,$3b,$81,$06,$4c,$01,$4e,$01
.byte $4f,$01,$4e,$01,$4f,$01,$4e,$05
.byte $4c,$81,$00,$3b,$01,$3d,$01,$3e
.byte $03,$40,$03,$3e,$03,$3d,$03,$3b
.byte $03,$3a,$1b,$3b,$8b,$05,$35,$03
.byte $33,$07,$32,$03,$30,$03,$2f,$0b
.byte $30,$03,$32,$0f,$30,$0b,$35,$03
.byte $33,$07,$32,$03,$30,$03,$2f,$1f
.byte $30,$8b,$00,$3c,$01,$3c,$01,$3e
.byte $03,$3f,$03,$41,$03,$3f,$03,$3e
.byte $0b,$3d,$01,$3d,$01,$3f,$03,$40
.byte $03,$42,$03,$40,$03,$3f,$03,$3e
.byte $01,$3e,$01,$40,$03,$41,$03,$40
.byte $03,$3e,$03,$3d,$03,$3e,$03,$3c
.byte $03,$3a,$01,$3a,$01,$3c,$03,$3d
.byte $03,$3c,$03,$3a,$03,$39,$03,$3a
.byte $03,$3c,$ff
ptn09:
.byte $83,$00,$32,$01,$35,$01,$34,$03
.byte $32,$03,$35,$03,$34,$03,$32,$03
.byte $35,$01,$34,$01,$32,$03,$32,$03
.byte $3a,$03,$39,$03,$3a,$03,$32,$03
.byte $3a,$03,$39,$03,$3a,$ff
ptn2a:
.byte $03,$34,$01,$37,$01,$35,$03,$34
.byte $03,$37,$03,$35,$03,$34,$03,$37
.byte $01,$35,$01,$34,$03,$34,$03,$3a
.byte $03,$39,$03,$3a,$03,$34,$03,$3a
.byte $03,$39,$03,$3a,$ff
ptn2b:
.byte $03,$39,$03,$38,$03,$39,$03,$3a
.byte $03,$39,$03,$37,$03,$35,$03,$34
.byte $03,$35,$03,$34,$03,$35,$03,$37
.byte $03,$35,$03,$34,$03,$32,$03,$31
.byte $ff
ptn0a:
.byte $03
.byte $37,$01,$3a,$01,$39,$03,$37,$03
.byte $3a,$03,$39,$03,$37,$03,$3a,$01
.byte $39,$01,$37,$03,$37,$03,$3e,$03
.byte $3d,$03,$3e,$03,$37,$03,$3e,$03
.byte $3d,$03,$3e,$03,$3d,$01,$40,$01
.byte $3e,$03,$3d,$03,$40,$01,$3e,$01
.byte $3d,$03,$40,$03,$3e,$03,$40,$03
.byte $40,$01,$43,$01,$41,$03,$40,$03
.byte $43,$01,$41,$01,$40,$03,$43,$03
.byte $41,$03,$43,$03,$43,$01,$46,$01
.byte $45,$03,$43,$03,$46,$01,$45,$01
.byte $43,$03,$46,$03,$45,$03,$43,$01
.byte $48,$01,$49,$01,$48,$01,$46,$01
.byte $45,$01,$46,$01,$45,$01,$43,$01
.byte $41,$01,$43,$01,$41,$01,$40,$01
.byte $3d,$01,$39,$01,$3b,$01,$3d,$ff
ptn0d:
.byte $01,$3e,$01,$39,$01,$35,$01,$39
.byte $01,$3e,$01,$39,$01,$35,$01,$39
.byte $03,$3e,$01,$41,$01,$40,$03,$40
.byte $01,$3d,$01,$3e,$01,$40,$01,$3d
.byte $01,$39,$01,$3d,$01,$40,$01,$3d
.byte $01,$39,$01,$3d,$03,$40,$01,$43
.byte $01,$41,$03,$41,$01,$3e,$01,$40
.byte $01,$41,$01,$3e,$01,$39,$01,$3e
.byte $01,$41,$01,$3e,$01,$39,$01,$3e
.byte $03,$41,$01,$45,$01,$43,$03,$43
.byte $01,$40,$01,$41,$01,$43,$01,$40
.byte $01,$3d,$01,$40,$01,$43,$01,$40
.byte $01,$3d,$01,$40,$01,$46,$01,$43
.byte $01,$45,$01,$46,$01,$44,$01,$43
.byte $01,$40,$01,$3d,$ff
ptn0f:
.byte $01,$3e,$01
.byte $39,$01,$35,$01,$39,$01,$3e,$01
.byte $39,$01,$35,$01,$39,$01,$3e,$01
.byte $39,$01,$35,$01,$39,$01,$3e,$01
.byte $39,$01,$35,$01,$39,$01,$3e,$01
.byte $3a,$01,$37,$01,$3a,$01,$3e,$01
.byte $3a,$01,$37,$01,$3a,$01,$3e,$01
.byte $3a,$01,$37,$01,$3a,$01,$3e,$01
.byte $3a,$01,$37,$01,$3a,$01,$40,$01
.byte $3d,$01,$39,$01,$3d,$01,$40,$01
.byte $3d,$01,$39,$01,$3d,$01,$40,$01
.byte $3d,$01,$39,$01,$3d,$01,$40,$01
.byte $3d,$01,$39,$01,$3d,$01,$41,$01
.byte $3e,$01,$39,$01,$3e,$01,$41,$01
.byte $3e,$01,$39,$01,$3e,$01,$41,$01
.byte $3e,$01,$39,$01,$3e,$01,$41,$01
.byte $3e,$01,$39,$01,$3e,$01,$43,$01
.byte $3e,$01,$3a,$01,$3e,$01,$43,$01
.byte $3e,$01,$3a,$01,$3e,$01,$43,$01
.byte $3e,$01,$3a,$01,$3e,$01,$43,$01
.byte $3e,$01,$3a,$01,$3e,$01,$43,$01
.byte $3f,$01,$3c,$01,$3f,$01,$43,$01
.byte $3f,$01,$3c,$01,$3f,$01,$43,$01
.byte $3f,$01,$3c,$01,$3f,$01,$43,$01
.byte $3f,$01,$3c,$01,$3f,$01,$45,$01
.byte $42,$01,$3c,$01,$42,$01,$45,$01
.byte $42,$01,$3c,$01,$42,$01,$48,$01
.byte $45,$01,$42,$01,$45,$01,$4b,$01
.byte $48,$01,$45,$01,$48,$01,$4b,$01
.byte $4a,$01,$48,$01,$4a,$01,$4b,$01
.byte $4a,$01,$48,$01,$4a,$01,$4b,$01
.byte $4a,$01,$48,$01,$4a,$01,$4c,$01
.byte $4e,$03,$4f,$ff
ptn11:
.byte $bf,$06,$56,$1f,$57,$1f,$56,$1f
.byte $5b,$1f,$56,$1f,$57,$1f,$56,$1f
.byte $4f,$ff
ptn12:
.byte $bf,$0c,$68,$7f,$7f,$7f,$7f,$7f
.byte $7f,$7f,$ff
ptn13:
.byte $bf,$08,$13,$3f,$13,$3f,$13,$3f
.byte $13,$3f,$13,$3f,$13,$3f,$13,$1f
.byte $13,$ff
ptn14:
.byte $97,$09,$2e,$03,$2e,$1b,$32,$03
.byte $32,$1b,$31,$03,$31,$1f,$34,$43
.byte $17,$32,$03,$32,$1b,$35,$03,$35
.byte $1b,$34,$03,$34,$0f,$37,$8f,$0a
.byte $37,$43,$ff
ptn15:
.byte $97,$09,$2b,$03,$2b,$1b,$2e,$03
.byte $2e,$1b,$2d,$03,$2d,$1f,$30,$43
.byte $17,$2e,$03,$2e,$1b,$32,$03,$32
.byte $1b,$31,$03,$31,$0f,$34,$8f,$0a
.byte $34,$43,$ff
ptn16:
.byte $0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f
.byte $0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f
.byte $0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f
.byte $0f,$1f,$0f,$1f,$0f,$1f,$0f,$1f
.byte $ff
ptn17:
.byte $97,$09,$33,$03,$33,$1b,$37,$03
.byte $37,$1b,$36,$03,$36,$1f,$39,$43
.byte $17,$37,$03,$37,$1b,$3a,$03,$3a
.byte $1b,$39,$03,$39,$2f,$3c,$21,$3c
.byte $21,$3d,$21,$3e,$21,$3f,$21,$40
.byte $21,$41,$21,$42,$21,$43,$21,$44
.byte $01,$45,$ff
ptn18:
.byte $97,$09,$30,$03,$30,$1b,$33,$03
.byte $33,$1b,$32,$03,$32,$1f,$36,$43
.byte $17,$33,$03,$33,$1b,$37,$03,$37
.byte $1b,$36,$03,$36,$2f,$39,$21,$39
.byte $21,$3a,$21,$3b,$21,$3c,$21,$3d
.byte $21,$3e,$21,$3f,$21,$40,$21,$41
.byte $01,$42,$ff
ptn19:
.byte $0f,$1a,$0f,$1a,$0f,$1a,$0f,$1a
.byte $0f,$1a,$0f,$1a,$0f,$1a,$0f,$1a
.byte $0f,$1a,$0f,$1a,$0f,$1a,$0f,$1a
.byte $0f,$1a,$0f,$1a,$0f,$1a,$0f,$1a
.byte $ff
ptn1a:
.byte $1f,$46,$bf,$0a,$46,$7f,$7f,$ff
ptn1b:
.byte $1f,$43,$bf,$0a,$43,$7f,$ff
ptn1c:
.byte $83,$02,$13,$03,$13,$03,$1e,$03
.byte $1f,$03,$13,$03,$13,$03,$1e,$03
.byte $1f,$03,$13,$03,$13,$03,$1e,$03
.byte $1f,$03,$13,$03,$13,$03,$1e,$03
.byte $1f,$03,$13,$03,$13,$03,$1e,$03
.byte $1f,$03,$13,$03,$13,$03,$1e,$03
.byte $1f,$03,$13,$03,$13,$03,$1e,$03
.byte $1f,$03,$13,$03,$13,$03,$1e,$03
.byte $1f,$ff
ptn29:
.byte $8f,$0b,$38,$4f,$ff
ptn2c:
.byte $83,$0e,$32,$07,$32,$07,$2f,$07
.byte $2f,$03,$2b,$87,$0b,$46,$83,$0e
.byte $2c,$03,$2c,$8f,$0b,$32,$ff
ptn2d:
.byte $43,$83,$0e,$32,$03,$32,$03,$2f
.byte $03,$2f,$03,$2c,$87,$0b,$38,$ff
ptn39:
.byte $83,$01
.byte $43,$01,$4f,$01,$5b,$87,$03,$2f
.byte $83,$01,$43,$01,$4f,$01,$5b,$87
.byte $03,$2f,$83,$01,$43,$01,$4f,$01
.byte $5b,$87,$03,$2f,$83,$01,$43,$01
.byte $4f,$01,$5b,$87,$03,$2f,$83,$01
.byte $43,$01,$4f,$01,$5b,$87,$03,$2f
.byte $83,$01,$43,$01,$4f,$01,$5b,$87
.byte $03,$2f
ptn01:
.byte $83,$01,$43,$01,$4f,$01,$5b,$87
.byte $03,$2f,$83,$01,$43,$01,$4f,$01
.byte $5b,$87,$03,$2f,$ff
ptn02:
.byte $83,$02,$13,$03,$13,$03,$1f,$03
.byte $1f,$03,$13,$03,$13,$03,$1f,$03
.byte $1f,$ff
ptn1d:
.byte $03,$15,$03,$15,$03,$1f,$03,$21
.byte $03,$15,$03,$15,$03,$1f,$03,$21
.byte $ff
ptn1e:
.byte $03,$1a,$03,$1a,$03,$1c,$03,$1c
.byte $03,$1d,$03,$1d,$03,$1e,$03,$1e
.byte $ff
ptn1f:
.byte $03,$1a,$03,$1a,$03,$24,$03,$26
.byte $03,$13,$03,$13,$07,$1f,$ff
ptn04:
.byte $03,$18,$03,$18,$03,$24,$03,$24
.byte $03,$18,$03,$18,$03,$24,$03,$24
.byte $03,$20,$03,$20,$03,$2c,$03,$2c
.byte $03,$20,$03,$20,$03,$2c,$03,$2c
.byte $ff
ptn20:
.byte $03,$19,$03,$19,$03
.byte $25,$03,$25,$03,$19,$03,$19,$03
.byte $25,$03,$25,$03,$21,$03,$21,$03
.byte $2d,$03,$2d,$03,$21,$03,$21,$03
.byte $2d,$03,$2d,$ff
ptn06:
.byte $03,$1a,$03,$1a
.byte $03,$26,$03,$26,$03,$1a,$03,$1a
.byte $03,$26,$03,$26,$03,$15,$03,$15
.byte $03,$21,$03,$21,$03,$15,$03,$15
.byte $03,$21,$03,$21,$03,$18,$03,$18
.byte $03,$24,$03,$24,$03,$18,$03,$18
.byte $03,$24,$03,$24,$03,$1f,$03,$1f
.byte $03,$2b,$03,$2b,$03,$1f,$03,$1f
.byte $03,$2b,$03,$2b,$03,$1a,$03,$1a
.byte $03,$26,$03,$26,$03,$1a,$03,$1a
.byte $03,$26,$03,$26,$03,$15,$03,$15
.byte $03,$21,$03,$21,$03,$15,$03,$15
.byte $03,$21,$03,$21,$03,$18,$03,$18
.byte $03,$24,$03,$24,$03,$18,$03,$18
.byte $03,$24,$03,$24,$03,$1c,$03,$1c
.byte $03,$28,$03,$28,$03,$1c,$03,$1c
.byte $03,$28,$03,$28
ptn3b:
.byte $83,$04,$36,$07
.byte $36,$07,$37,$07,$36,$03,$33,$07
.byte $32,$57,$ff
ptn08:
.byte $83,$02,$1b,$03,$1b,$03,$27,$03
.byte $27,$03,$1b,$03,$1b,$03,$27,$03
.byte $27,$ff
ptn21:
.byte $03,$1c,$03,$1c,$03,$28,$03,$28
.byte $03,$1c,$03,$1c,$03,$28,$03,$28
.byte $ff
ptn22:
.byte $03,$1d,$03,$1d,$03,$29,$03,$29
.byte $03,$1d,$03,$1d,$03,$29,$03,$29
.byte $ff
ptn23:
.byte $03,$18,$03,$18,$03,$24,$03,$24
.byte $03,$18,$03,$18,$03,$24,$03,$24
.byte $ff
ptn24:
.byte $03,$1e,$03,$1e,$03,$2a,$03,$2a
.byte $03,$1e,$03,$1e,$03,$2a,$03,$2a
.byte $ff
ptn25:
.byte $83,$05,$26,$01,$4a,$01,$34,$03
.byte $29,$03,$4c,$03,$4a,$03,$31,$03
.byte $4a,$03,$24,$03,$22,$01,$46,$01
.byte $30,$03,$25,$03,$48,$03,$46,$03
.byte $2d,$03,$46,$03,$24,$ff
ptn0b:
.byte $83,$02,$1a,$03,$1a,$03,$26,$03
.byte $26,$03,$1a,$03,$1a,$03,$26,$03
.byte $26,$ff
ptn0c:
.byte $03,$13,$03,$13,$03,$1d,$03,$1f
.byte $03,$13,$03,$13,$03,$1d,$03,$1f
.byte $ff
ptn26:
.byte $87,$02,$1a,$87,$03,$2f,$83,$02
.byte $26,$03,$26,$87,$03,$2f,$ff
ptn10:
.byte $07,$1a,$4f,$47,$ff
ptn0e:
.byte $03,$1f,$03,$1f,$03,$24,$03,$26
.byte $07,$13,$47,$ff
ptn30:
.byte $bf,$0f,$32,$0f,$32,$8f,$90,$30
.byte $3f,$32,$13,$32,$03,$32,$03,$35
.byte $03,$37,$3f,$37,$0f,$37,$8f,$90
.byte $30,$3f,$32,$13,$32,$03,$2d,$03
.byte $30,$03,$32,$ff
ptn31:
.byte $0f,$32
.byte $af,$90,$35,$0f,$37,$a7,$99,$37
.byte $07,$35,$3f,$32,$13,$32,$03,$32
.byte $a3,$e8,$35,$03,$37,$0f,$35,$af
.byte $90,$37,$0f,$37,$a7,$99,$37,$07
.byte $35,$3f,$32,$13,$32,$03,$2d,$a3
.byte $e8,$30,$03,$32,$ff
ptn32:
.byte $07,$32,$03
.byte $39,$13,$3c,$a7,$9a,$37,$a7,$9b
.byte $38,$07,$37,$03,$35,$03,$32,$03
.byte $39,$1b,$3c,$a7,$9a,$37,$a7,$9b
.byte $38,$07,$37,$03,$35,$03,$32,$03
.byte $39,$03,$3c,$03,$3e,$03,$3c,$07
.byte $3e,$03,$3c,$03,$39,$a7,$9a,$37
.byte $a7,$9b,$38,$07,$37,$03,$35,$03
.byte $32,$af,$90,$3c,$1f,$3e,$43,$03
.byte $3e,$03,$3c,$03,$3e,$ff
ptn33:
.byte $03,$3e
.byte $03,$3e,$a3,$e8,$3c,$03,$3e,$03
.byte $3e,$03,$3e,$a3,$e8,$3c,$03,$3e
.byte $03,$3e,$03,$3e,$a3,$e8,$3c,$03
.byte $3e,$03,$3e,$03,$3e,$a3,$e8,$3c
.byte $03,$3e,$af,$91,$43,$1f,$41,$43
.byte $03,$3e,$03,$41,$03,$43,$03,$43
.byte $03,$43,$a3,$e8,$41,$03,$43,$03
.byte $43,$03,$43,$a3,$e8,$41,$03,$43
.byte $03,$45,$03,$48,$a3,$fd,$45,$03
.byte $44,$01,$43,$01,$41,$03,$3e,$03
.byte $3c,$03,$3e,$2f,$3e,$bf,$98,$3e
.byte $43,$03,$3e,$03,$3c,$03,$3e,$ff
ptn34:
.byte $03,$4a,$03,$4a,$a3,$f8,$48,$03
.byte $4a,$03,$4a,$03,$4a,$a3,$f8,$48
.byte $03,$4a,$ff
ptn35:
.byte $01,$51,$01,$54,$01
.byte $51,$01,$54,$01,$51,$01,$54,$01
.byte $51,$01,$54,$01,$51,$01,$54,$01
.byte $51,$01,$54,$01,$51,$01,$54,$01
.byte $51,$01,$54,$ff
ptn36:
.byte $01,$50,$01,$4f
.byte $01,$4d,$01,$4a,$01,$4f,$01,$4d
.byte $01,$4a,$01,$48,$01,$4a,$01,$48
.byte $01,$45,$01,$43,$01,$44,$01,$43
.byte $01,$41,$01,$3e,$01,$43,$01,$41
.byte $01,$3e,$01,$3c,$01,$3e,$01,$3c
.byte $01,$39,$01,$37,$01,$38,$01,$37
.byte $01,$35,$01,$32,$01,$37,$01,$35
.byte $01,$32,$01,$30,$ff
ptn37:
.byte $5f,$5f,$5f
.byte $47,$83,$0e,$32,$07,$32,$07,$2f
.byte $03,$2f,$07,$2f,$97,$0b,$3a,$5f
.byte $5f,$47,$8b,$0e,$32,$03,$32,$03
.byte $2f,$03,$2f,$47,$97,$0b,$3a,$5f
.byte $5f,$47,$83,$0e,$2f,$0b,$2f,$03
.byte $2f,$03,$2f,$87,$0b,$30,$17,$3a
.byte $5f,$8b,$0e,$32,$0b,$32,$0b,$2f
.byte $0b,$2f,$07,$2c,$07,$2c,$ff
ptn38:
.byte $87
.byte $0b,$34,$17,$3a,$5f,$5f,$84,$0e
.byte $32,$04,$32,$05,$32,$04,$2f,$04
.byte $2f,$05,$2f,$47,$97,$0b,$3a,$5f
.byte $5f,$84,$0e,$32,$04,$32,$05,$32
.byte $04,$2f,$04,$2f,$05,$2f,$ff
ptn2f:
.byte $03,$1a,$03,$1a,$03
.byte $24,$03,$26,$03,$1a,$03,$1a,$03
.byte $18,$03,$19,$03,$1a,$03,$1a,$03
.byte $24,$03,$26,$03,$1a,$03,$1a,$03
.byte $18,$03,$19,$03,$18,$03,$18,$03
.byte $22,$03,$24,$03,$18,$03,$18,$03
.byte $16,$03,$17,$03,$18,$03,$18,$03
.byte $22,$03,$24,$03,$18,$03,$18,$03
.byte $16,$03,$17,$03,$13,$03,$13,$03
.byte $1d,$03,$1f,$03,$13,$03,$13,$03
.byte $1d,$03,$1e,$03,$13,$03,$13,$03
.byte $1d,$03,$1f,$03,$13,$03,$13,$03
.byte $1d,$03,$1e,$03,$1a,$03,$1a,$03
.byte $24,$03,$26,$03,$1a,$03,$1a,$03
.byte $18,$03,$19,$03,$1a,$03,$1a,$03
.byte $24,$03,$26,$03,$1a,$03,$1a,$03
.byte $18,$03,$19,$ff
;====================================
;instruments
;====================================
instr:
.byte $80,$09,$41,$48,$60,$03,$81,$00
.byte $00,$08,$81,$02,$08,$00,$00,$01
.byte $a0,$02,$41,$09,$80,$00,$00,$00
.byte $00,$02,$81,$09,$09,$00,$00,$05
.byte $00,$08,$41,$08,$50,$02,$00,$04
.byte $00,$01,$41,$3f,$c0,$02,$00,$00
.byte $00,$08,$41,$04,$40,$02,$00,$00
.byte $00,$08,$41,$09,$00,$02,$00,$00
.byte $00,$09,$41,$09,$70,$02,$5f,$04
.byte $00,$09,$41,$4a,$69,$02,$81,$00
.byte $00,$09,$41,$40,$6f,$00,$81,$02
.byte $80,$07,$81,$0a,$0a,$00,$00,$01
.byte $00,$09,$41,$3f,$ff,$01,$e7,$02
.byte $00,$08,$41,$90,$f0,$01,$e8,$02
.byte $00,$08,$41,$06,$0a,$00,$00,$01
.byte $00,$09,$41,$19,$70,$02,$a8,$00
.byte $00,$02,$41,$09,$90,$02,$00,$00
.byte $00,$00,$11,$0a,$fa,$00,$00,$05
.byte $00,$08,$41,$37,$40,$02,$00,$00
.byte $00,$08,$11,$07,$70,$02,$00,$00