########################################### # # Music Player # # A very simple music player based on # the XO-Chip audio system playing # a rendition of the Cave Story theme. # ########################################### : main loop cave-1 cave-2 cave-1 cave-3 again : cave-1 D$4 --- G$4 --- D$4 --- G$4 --- D-4 --- G$4 --- D-4 --- G$4 --- C$4 --- G$4 --- C$4 --- G$4 --- ; : cave-2 C-4 --- G$4 --- C-4 --- C$4 D-4 ; : cave-3 B-4 --- A$4 --- G$4 --- --- --- ; :macro sample { :calc t { 6 + HERE } i := t note ; } : B-4 sample 0xF8 0x78 0x78 0x78 0x78 0x78 0x78 0x78 0x78 0x78 0x7C 0x3C 0x3C 0x3C 0x3C 0x3C # 494hz : A$4 sample 0xF8 0x78 0x3C 0x3E 0x1E 0x1F 0x0F 0x07 0x87 0x83 0xC3 0xE1 0xE0 0xF0 0xF0 0x78 # 466hz : G$4 sample 0xF8 0x3E 0x0F 0x87 0xC1 0xF0 0x7C 0x3E 0x0F 0x83 0xC1 0xF0 0x7C 0x1E 0x0F 0x83 # 415hz : D$4 sample 0xFE 0x07 0xF0 0x3F 0x81 0xFC 0x0F 0xC0 0x7E 0x03 0xF0 0x1F 0x81 0xFC 0x0F 0xE0 # 311hz : D-4 sample 0xFE 0x03 0xF8 0x0F 0xE0 0x7F 0x01 0xFC 0x07 0xF0 0x3F 0x80 0xFE 0x03 0xF8 0x1F # 293hz : C$4 sample 0xFF 0x01 0xFC 0x07 0xF8 0x0F 0xE0 0x3F 0x80 0x7F 0x01 0xFC 0x03 0xF8 0x0F 0xE0 # 277hz : C-4 sample 0xFF 0x00 0xFE 0x01 0xFE 0x03 0xFC 0x03 0xF8 0x07 0xF0 0x0F 0xF0 0x1F 0xE0 0x1F # 262hz : --- sample 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 # silence : note audio vf := 6 # actual note duration delay := vf vf := 60 # prevent background flicker buzzer := vf loop vf := delay if vf != 0 then again ;