home *** CD-ROM | disk | FTP | other *** search
/ Floppy Magazine 1988 #2 / Floppy_Magazine_88-2_1988_Megasystems_Oy_fi_Side_A.d64 / niksit2_88 < prev    next >
Text File  |  2023-02-26  |  8KB  |  127 lines

  1.  {CBM-A}{CBM-S} {CBM-A}{CBM-S}  {CBM-A}{CBM-S}                {CBM-A}{CBM-S}    {CBM-A}{CBM-S}       {SHIFT--}{CBM-Z}{CBM-S}{SHIFT--}{SHIFT--}  {SHIFT--}{SHIFT--}   FLOPPIKSEN   {SHIFT--}{SHIFT--}    {SHIFT--}{CBM-Z}{CBM-S}      {SHIFT--} {CBM-Z}{CBM-W}{SHIFT--}{CBM-A}{CBM-S}{SHIFT--}{SHIFT--}{CBM-A}{CBM-S}{CBM-A}{SHIFT-*}{SHIFT-*}{CBM-S}{CBM-A}{CBM-S}{CBM-A}{SHIFT-*}{SHIFT-*}{CBM-S}{CBM-A}{SHIFT-*}{SHIFT-*}{CBM-S}{SHIFT--}{SHIFT--}{CBM-A}{SHIFT-*}{SHIFT-*}{CBM-S}{SHIFT--}{CBM-A}{CBM-X}{CBM-A}{SHIFT-*}{SHIFT-*}{CBM-S}  {SHIFT--}{CBM-Q}{CBM-S} {SHIFT--}{SHIFT--}{SHIFT--}{SHIFT--}{CBM-Q}{CBM-E}{CBM-X}{SHIFT--} {SHIFT-*}{CBM-W}{SHIFT--}{SHIFT--}{SHIFT--}{CBM-A}{CBM-S}{SHIFT--}{CBM-Q}{SHIFT-*} {SHIFT--}{SHIFT--}{SHIFT--}{SHIFT--} {SHIFT-*}{CBM-W}{SHIFT--}{SHIFT--} {CBM-Q}{SHIFT-*} {SHIFT--}  {SHIFT--}{SHIFT--}{CBM-Z}{CBM-S}{SHIFT--}{SHIFT--}{SHIFT--}{SHIFT--}{CBM-Q}{CBM-R}{CBM-S}{CBM-Q}{SHIFT-*} {SHIFT--}{SHIFT--}{SHIFT--}{SHIFT--}{CBM-Z}{CBM-X}{SHIFT--}{SHIFT--}{SHIFT-*} {SHIFT--}{SHIFT--}{SHIFT--}{CBM-Q}{SHIFT-*} {SHIFT--}{SHIFT--}{CBM-Z}{CBM-S}{SHIFT--}{SHIFT-*} {SHIFT--}  {CBM-Z}{CBM-X} {CBM-Z}{CBM-X}{CBM-Z}{CBM-X}{CBM-Z}{CBM-X}{CBM-Z}{CBM-X}{CBM-Z}{SHIFT-*}{SHIFT-*}{CBM-X}{CBM-Z}{CBM-X}{SHIFT--}{CBM-Q}{SHIFT-*}{CBM-X}{CBM-Z}{SHIFT-*}{SHIFT-*}{CBM-E}{CBM-Z}{CBM-E}{CBM-Z}{SHIFT-*}{SHIFT-*}{CBM-X}{CBM-Z}{SHIFT-*}{CBM-X}{CBM-Z}{SHIFT-*}{SHIFT-*}{CBM-E}  {CBM-A}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-Z}{CBM-X}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-S}  {CBM-Z}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-X}        - Kirjoitteli Toni Luode -
  2.  
  3.  {CBM-A}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-S}  {SHIFT--}  T[ll[ kertaa ei ole mukana uusinta{SHIFT--}  {SHIFT--}uutta, vaan uutta vanhaa niksijutus-{SHIFT--}  {SHIFT--}telua. Se johtuu vain siit[, ett[ on{SHIFT--}  {SHIFT--}kikkainflaatio pahimmillaan. Vali-  {SHIFT--}  {SHIFT--}tamme, te vanhat lukijat. Ja te uu- {SHIFT--}  {SHIFT--}det tilaajat, jotka olette tilanneet{SHIFT--}  {SHIFT--}Floppiksenne vasta viime tai t[ksi  {SHIFT--}  {SHIFT--}vuodeksi, teille onkin nyt varattuna{SHIFT--}  {SHIFT--}aika l[j[ koottua kikkaa vuodelta   {SHIFT--}  {SHIFT--}1986. Ensi numeroon tuleekin sitten {SHIFT--}  {SHIFT--}t[ysin uutta ja kivaa... Lukekaapa!!{SHIFT--}  {CBM-Z}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-X} 
  4. LAITTEISTOYHTEYDET
  5. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  6.   Ohjelma tarkistaa, onko jokin lis[lai-te kytkettyn[ keskusyksikk\\n ja p[[ll[ seuraavasti:
  7.      10 OPEN 15,LN,15:CLOSE15
  8.      20 IFST<>0THENPRINT"Aaaghhh!":END
  9.  
  10. LN on tarkistettavan laitteen numero.
  11. Levyasemalla se on 8 jne...
  12.  
  13. SUOJATARRAN TUNNISTAMINEN
  14. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  15.   Ohjelma tarkastaa, onko suoja-aukko   peitetty.
  16.    10 OPEN 15,8,15
  17.    20 PRINT#15,"M-R"CHR$(0)CHR$(28)
  18.    30 GET#15,A$:A=ASC(A$+CHR$(0))AND16
  19.    40 IF A=0 THEN PRINT"Aaarghh!"
  20.    50 CLOSE 15
  21.  
  22. RESTORE RESET-NAPIKSI
  23. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  24.   Nyt voit saattaa koneesi alkutilaan   painamalla RESTORE-n[pp[int[. Kirjoitat vain seuraavat kaksi rivi[:
  25.      POKE792,PEEK(65532)
  26.      POKE793,PEEK(65533)
  27.   N[m[ asettavat NMI-vektorin osoitta-  maan samaan paikkaan kuin reset-vektori.
  28. LISTAUKSEN HIDASTUS
  29. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  30.   POKE 56324,28:POKE56325,0
  31.   Listatessasi ohjelman n[iden 2:n pokenj[lkeen, kone havahtuu hetken kuluttua  ja alkaa tehd[ t\it[ h-i-ta-a-s-t-i kuintuntipalkkalainen.  Listausta voi viel[ hidastaa CTRL-n[pp[imell[ tai POKEamallaviel[ pienemm[n numeron osoitteeseen    56324.
  32.  
  33. PRINT AT
  34. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  35.   Kursori minne tahansa kuvaruudulla il-man hankalia PRINT-lauseita seuraavasti:
  36. POKE781,X:POKE782,Y:POKE783,0:SYS 65520.X on rivi ja Y sarake, minne haluat kur-sorin. Vasen yl[kulma on piste 0,0.
  37.  
  38. VAPAA MUISTI
  39. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  40.   Vapaan muistin m[[r[n saa kirjoitta-  malla PRINT FRE(0)+2^16. FRE-funktion   suluissa voi olla mik[ tahansa numero   tai kirjain.
  41.  
  42. OHJELMAN PITUUS
  43. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  44.   Muistissa olevan ohjelmasi pituuden   saat selville kirjoittamalla seuraavan- laisen laskutoimituksen:
  45.  PRINT 38911-(FRE(0)-(FRE(0)<0)*65536)  
  46. GET-KURSORI
  47. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  48.   GET-k[skyll[ tietoa haettaessa ei     k[ytt[j[ll[ ole kursoria niinkuin INPUT-issa normaalisti; sen saa seuraavasti:
  49.   10 POKE 204,0
  50.   20 GETA$:POKE207,0:IFA$=""THEN20
  51.   30 POKE 204,1:PRINT A$
  52. Poket rivill[ 10 ja 20 kertovat koneellek[[nt[m[[n kursorin n[kyviin sen odotta-essa n[pp[int[ painettavaksi. Rivi 30   sammuttaa kursorin ja kirjoittaa A$:n.  
  53. INPUT-KIKKA
  54. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  55.   Jotta saisit INPUTia k[ytett[ess[ tu- levan kysymysmerkin katoamaan, pit[[    k[ytt[[ INPUT# -k[sky[ ja k[sitell[ n[p-p[imist\[ kuin muita massamuistilaittei-ta. 
  56. 10 PRINT "Ole hyv[ ja kirjoita parhaan Suomessa ilmestyv[n 64-zinen nimi!";
  57. 20 OPEN1,0:INPUT#1,Floppis$:PRINT:CLOSE130 PRINT Floppis$
  58. - Heh heh....
  59.  
  60. VIRHEDATAA
  61. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  62.   Jos viel[ t[h[n maailman aikaan luet  sellaisia lehti[, joista joudut ITSE    kirjoittamaan ohjelmat listaukselta ko- neeseen, niin varsinkin DATA-rivien     kanssa tulee virheit[ virheiden per[[n. Pilkun pois j[tt[minen aiheuttaa Illegalquantity errorin ja sen rivinumeron voitpaikallistaa helposti:
  63. PRINT PEEK(64)*256 + PEEK(63)
  64.  
  65. MUISTIPAIKKA 53265
  66. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  67. Normaaliarvo 27.
  68. -Bitit 0-2: normaalisti p[[ll[ 0 ja 1.  Bitit s[[telev[t tekstin sijaintia ruu- dulla pystysuunnassa. K[ytet[[n scrol-  lauksessa ja t[rin[tehosteissa.
  69. -Bitti 3: normaalisti p[[ll[.
  70. S[[telee onko 24 vai 25 rivi[. K[yte-   t[[n bittien 0-2 kanssa scrollauksessa.
  71. -Bitti 4: normaalisti p[[ll[.
  72. N[ytt\ n[kyviss[ tai poissa (kuten kase-tilta ladattaessa). Jos bitin 4 poistaa p[[lt[, pimentyy n[ytt\. N[yt\n ollessa poissa on ohjelman suoritus noin 10% no-peampaa. T[st[ on hy\ty[ dataa luettaes-sa, taulukoita j[rjestett[ess[ tai muus-sa aikaaviev[ss[ touhussa, jossa n[ytt\[ei tarvita.
  73. -Bitti 5: normaalisti poissa.
  74. Asettaa n[yt\n tarkkuusgrafiikkatilaan. K[ytet[[n tarkkuusgrafiikassa (jee).
  75. -Bitti 6: normaalisti poissa.
  76. Asettaa merkkien taustan moniv[ritilaan,jossa on mahdollista kirjoittaa kirjain-merkit nelj[ll[ eri taustav[rill[ seu-  raavasti: SHIFTin tai COMMODORE -n[pp[i-men kanssa kirjoitetut ottavat tausta-  v[rins[ muistipaikasta 53282. Vastakkai-sessa kent[ss[ kirjoitetut ottavat taus-tan muistipaikasta 53283. Vastakkaisessakent[ss[ SHIFTin tai COMMODORE -n[pp[i- men kanssa kirjoitetut l\yt[v[t tausta- v[rins[ muistipaikasta 53284. Normaalis-ti kirjoitetut k[ytt[v[t muistipaikkaa  -yll[tys, yll[tys - 53281.
  77. -Bitti 7: normaalisti poissa.
  78. Liittyy muistipaikkaan 53266.
  79.  
  80. EPYX FAST LOAD
  81. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  82. Epyxin Fast Load -modulin saa uudelleen p[[lle k[skyll[ SYS 57194, virtaa ei    siis tarvitse katkaista.
  83.  
  84. MIK{SHIFT-+} PORTTI?
  85. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  86. T[m[n pienen ohjelmanp[tk[n avulla oh-  jelmasi pystyy p[[ttelem[[n, kummassa   portissa joystick on kytkettyn[. K[ytt[-j[n tarvitsee vain painaa FIREa kerran.
  87. 10 PRINT"Paina FIRE aloittaaksesi..."
  88. 20 IF(PEEK(56320)AND16)<>16THEN PO=56320:GOTO 50
  89. 30 IF(PEEK(56321)AND16)<>16THEN PO=56321:GOTO 50
  90. 40 GOTO 20
  91. 50 ...
  92.  
  93. KOALAPAD
  94. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  95.   Koalapadia voi k[ytt[[ ohjelman oh-   jaukseen siin[ miss[ esim. joysticki[.  Portti 1:ss[ saat luettua arvot PEEKill[muistipaikoista 54297 ja 54298.
  96.   Muistipaikassa 197 on 59, jos oikea   nappi on alaspainettuna ja 50, jos taas vasen nappi on alaspainettuna.
  97.  
  98. ERROR-VIESTIT
  99. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  100.   POKE 157,0 est[[ kaikki ilmoitukset.  POKE 157,64 palauttaa virheilmoitukset. POKE 157,128 palauttaa kontrolli-ilmoi- tukset. POKE 157,192 palauttaa sek[ vir-heilmoitukset, ett[ kontrolli-ilmoituk- set.
  101.  
  102. SYSSEJ{SHIFT-+}:
  103. {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  104.   Konekieless[ on mukavia valmiita        apurutiineja, esim. seuraava:
  105.   SYS 65409 : SYS 64789
  106.  
  107.   N[m[ kaksi rutiinia normalisoivat       joitakin muistinarvoja, mm. raster-     interrupt pois p[[lt[ (grafiikan        kanssa ei aina toimi) ja muutkin        interruptit (tavallisen BASIC-ohjel-    moijan ei tarvitse tiet[[ n[ist[        mit[[n), ruudun v[rit entiselleen,      ruudun tyhjennys ja grafiikkamuisti-    paikat normaaleiksi.
  108.     Jos haluat menn[ BASICin alkutilaan   niin, ett[ interruptit j[[v[t p[[lle,   k[yt[ komentoa SYS 64760.
  109.     Jos kuitenkin haluat viel[ senkin     lis[ksi j[tt[[ p[[lle mahdollisesti     ohjelmoidun merkist\n, grafiikan,       ruudun v[rit, ym. asetukset, kirjoita   SYS 58260.
  110.  
  111.   LIS{SHIFT-+}{SHIFT-+}:
  112.   {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  113.     WAIT 56320,16,16 odottaa, ett[        painat kakkosportin joystickin FIRE{SHIFT-+}.     WAIT 56321,16,16 odottaa FIRE{SHIFT-+}        ykk\sportista tai n[pp[imist\lt[        SPACEA (v[lily\nti).                      POKE 198,0:WAIT 198,1:POKE 198,0      tyhjent[[ ensin muistipaikan, jossa     ilmoitetaan painettujen n[pp[inten      m[[r[. Sen j[lkeen kone odottaa, ett[   ko. m.paikan arvo tulee ykk\seksi,      eli jotain n[pp[int[ on painettu.       Viimeinen rutiini vastaa t[ysin         ensimm[ist[, se huolehtii koneen        t[m[n m.paikan normalisoinnista.
  114.  
  115.   OLD:
  116.   {CBM-T}{CBM-T}{CBM-T}{CBM-T}
  117. POKE 46,159:POKE 2050,8:CLR:SYS42291 ai-heuttaa OLD-toiminnon.
  118.  
  119.   MUISTIPAIKKA 53270:
  120.   {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  121.    - X- liikuttelu arvot 0-15. Normaali      arvo 8
  122.    - multicolor (moniv[ri)-moodi             saadaan arvolla 24.
  123.  
  124. ...Ja kuten Floppis 6/86:ssa luki:
  125. Eik\h[n t[m[ ala jo t[lt[ kerralta riit-t[m[[n... Moikka!!
  126. {CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  127.