home *** CD-ROM | disk | FTP | other *** search
- 40 print"[147]":poke53280,0:poke53281,0:dimst$(17)
- 41 a$="please stand by ...."
- 43 forx=1to500:next
- 45 print"[147][151]"a$:forx=1to25:next
- 46 print"[152]"a$:forx=1to25:next
- 47 print"[155]"a$:forx=1to25:next
- 48 print""a$:forx=1to25:next
- 59 fori=1to17:readst$(i):next
- 60 ck=0:rem initialize checksum
- 70 fori=828to909:readx:pokei,x:rem poke ml routine
- 80 ck=ck+x
- 90 next
- 91 print"[155]"a$:forx=1to25:next
- 92 print"[152]"a$:forx=1to25:next
- 93 print"[151]"a$:forx=1to25:next
- 94 print"[147]":forx=1to500:next
- 100 :
- 101 print"[147]";:gosub 60600:forx=1to3000:next:gosub60860
- 102 geta$:ifa$=""then 102
- 103 ifa$="p"ora$="[208]"then wh$=a$:goto 110
- 104 ifa$="s"ora$="[211]"then wh$=a$:goto 110
- 105 ifa$=chr$(13) then gosub 61000
- 106 goto 102
- 110 gosub 61500
- 115 open5,dv:print#5:print#5
- 120 ifwh$="s"thenwh=1:goto160
- 130 ifwh$="p"thenwh=2:poke832,8:poke832,9:goto160:rem passport registers
- 140 :
- 150 rem setup and initialization for sequential and passport interfaces
- 160 cr(1)=56832:cr(2)=56840:rem control registers
- 170 rs(1)=3:rs(2)=19:rem master reset
- 180 in(1)=149:in(2)=145:rem receive interrupts
- 190 bu=866 :rem location of ml routine to get data
- 200 mb=825 :rem location of current midi byte
- 210 rem *** initialize ***
- 220 poke251,0:poke252,192:rem poke lo,hi bytes of start of buffer (49152)
- 230 poke826,0:poke827,0:rem store starting values of buffer pointers
- 240 pokecr(wh),rs(wh):rem master reset
- 250 pokecr(wh),in(wh):rem receive interrupts from midi
- 260 poke56333,127:rem disable interrupts
- 270 poke788,60:poke789,3:rem store address of new interrupt routine
- 280 poke56333,129:rem restore interrupts
- 290 rem *** read midi device ***
- 300 print"[147]":ifdv=4thenprint"running...."
- 301 print#5," now listening for midi data "
- 310 print#5," press space to abort to menu "
- 320 geta$:ifa$=chr$(32)then print#5:print#5:close5:goto101
- 330 sysbu:b=peek(mb)
- 340 ifb<128thenprint#5,b;:goto320:rem <128 for data bytes
- 350 ifb=254then320:rem end
- 360 print#5
- 370 ifb>239then420:rem <240 for channel messages
- 380 t=((b and 112)/16)+1:ch=(b and 15)+1
- 390 print#5,st$(t);", ch #";ch;
- 400 goto320
- 410 rem system messages
- 420 ifb=240thenprint#5,st$(8);:goto320
- 430 ifb=242thenprint#5,st$(9);:goto320
- 440 ifb=243thenprint#5,st$(10);:goto320
- 450 ifb=246thenprint#5,st$(11);:goto320
- 460 ifb=247thenprint#5,st$(12);:goto320
- 470 ifb=250thenprint#5,st$(13);:goto320
- 480 ifb=251thenprint#5,st$(14);:goto320
- 490 ifb=252thenprint#5,st$(15);:goto320
- 500 ifb=255thenprint#5,st$(16);:goto320
- 510 print#5,st$(17);:goto320
- 520 data"note off","note on","poly pressure","control change"
- 530 data"program change","channel pressure","pitch bend"
- 540 data"sysex start","song pointer","song select","tuning command"
- 550 data"sysex end"
- 560 data"start","continue","stop","reset","undefined"
- 570 data72,152,72,173,2,222,74,176
- 580 data3,76,92,3,173,3,222,201
- 590 data254,240,13,201,248,240,9,141
- 600 data56,3,32,122,3,76,63,3
- 610 data104,168,104,76,49,234,173,58
- 620 data3,205,59,3,208,6,169,254
- 630 data141,57,3,96,168,177,251,238
- 640 data58,3,141,57,3,96,172,59
- 650 data3,200,152,136,205,58,3,240
- 660 data3,141,59,3,173,56,3,145
- 665 data251,96
- 60600 print""
- 60610 print:poke53280,14:poke53281,14
- 60630 print" [223][223][146] [223] [223][146][223] [223][146][223] [223][146][223] [223][146][223] [223][146][223] [223][146][223] [223]"
- 60640 print" [223][223][146] [223][223][146][223][223][146][223][223][146][223][223][146][223][223][146][223][223][146][223][223][146] [223][223][146] [223][223][146][223][223][146][223][223][146][223][223]"
- 60650 print" {$7f}{$7f}[146] {$7f}{$7f}[146]{$7f}{$7f}[146]{$7f}{$7f}[146]{$7f}{$7f}[146]{$7f}{$7f}[146]{$7f}{$7f}[146]{$7f} {$7f}[146] {$7f}{$7f}[146] {$7f}{$7f}[146]{$7f}{$7f}[146]{$7f}{$7f} "
- 60660 print" {$7f}{$7f}[146] {$7f}{$7f}[146]{$7f}{$7f}[146]{$7f} {$7f}[146]{$7f}{$7f}[146]{$7f}{$7f}[146] {$7f}{$7f}[146] {$7f}{$7f}[146] {$7f} {$7f}[146]{$7f} [164]{$7f}"
- 60670 print" {$7f} {$7f}[146]{$7f} {$7f}[146]{$7f}{$7f}[146]{$7f}{$7f}[146]{$7f} [146] {$7f} {$7f}[146] {$7f}{$7f}[146] {$7f}{$7f}[146]{$7f}{$7f}[146]{$7f}{$7f}[146]{$7f}{$7f}"
- 60680 print" "
- 60690 print" "
- 60700 print" presents ..... "
- 60701 print" "
- 60710 print" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] "
- 60720 print" [176][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][177][174] "
- 60730 print" [176][179] [171][174] "
- 60740 print" [221][221] midi hacker [221][221] "
- 60750 print" [221][221] [221][221] "
- 60760 print" {$7d}{$7d} by {$7d}{$7d}"
- 60770 print" {$7d}{$7d} {$7d}{$7d}"
- 60780 print" {$7d}{$7d} david r. brooks {$7d}{$7d}"
- 60785 print" [221][221] [221][221]"
- 60786 print" [221][221] (c) 1987 [221][221]"
- 60790 print" [173][179] [171][189]"
- 60800 print" [173][178]{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}{$60}[178][189]"
- 60810 print" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
- 60850 return
- 60860 print""
- 60870 print" [146]"
- 60880 print" menu [146]"
- 60881 print" [146]"
- 60882 print" which interface are you [174][146]"
- 60883 print" [171][146]"
- 60884 print" using ? [221][146]"
- 60885 print" [221][146]"
- 60886 print" p)assport or s)equential [221][146]"
- 60887 print" [221][146]"
- 60888 print" press return to exit [221][146]"
- 60889 print" [221][146]"
- 60890 print" [221][221] (c) 1987 [221][146]":return
- 61000 print"[145][145][145] are you sure (y/n) [146]"
- 61010 geta$:ifa$=""then 61010
- 61015 ifa$="n"ora$="[206]" then 60860
- 61017 ifa$="y"ora$="[217]"then 61020
- 61018 goto 61010
- 61020 open15,8,15,"r0:hello connect=hello connect":input#15,er:close15
- 61021 ifer<>63 then print"[147]":end
- 61023 load"hello connect",8
- 61500 gosub60600:print""
- 61510 print" [146]
- 61512 [153]" output to tanwait
- 61513 print" [146]
- 61514 [153]" s)creen or p)rinter wait
- 61515 print" [146]
- 61516 [153]" by wait
- 61520 geta$:ifa$=""then 61520
- 61530 ifa$="s"ora$="[211]" then dv=3:return
- 61540 ifa$="p"ora$="[208]" then dv=4:goto61550
- 61545 goto 61520
- 61550 open15,dv,15:close15:ifst=0then return
- 61560 gosub60600:print""
- 61562 print" [192]"
- 61565 print" printer not ready "
- 61566 print" "
- 61568 print" press (return) "
- 61569 print" "
- 61570 print" "
- 61575 geta$:ifa$=""then61575
- 61577 ifa$=chr$(13) then gosub60600:goto61500
- 61589 goto 61575
-