home *** CD-ROM | disk | FTP | other *** search
/ Floppy Magazine 1986 #2 / Floppy_Magazine_86-2_1986_Megasystems_Oy_fi.d64 / merkki.art < prev    next >
Text File  |  2023-02-26  |  6KB  |  72 lines

  1.  {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--} MIT{SHIFT-+} HY\TY{SHIFT-+} MERKKIEN MUUTTAMISESTA?{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} 
  2.  
  3.  
  4.      {CBM-A}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-S}          {CBM-A}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-S}
  5.      {CBM-Q}   {$de}{$de}   {CBM-W}          {CBM-Q}   {$de}{$de}   {CBM-W}
  6.      {CBM-Q}  {$de}{$de}{$de}{$de}  {CBM-W}          {CBM-Q}   {$de}{$de}  {$de}{CBM-W}
  7.      {CBM-Q} {$de}{$de}  {$de}{$de} {CBM-W}      {$de}   {CBM-Q}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{CBM-W}
  8.      {CBM-Q} {$de}{$de}{$de}{$de}{$de}{$de} {CBM-W}  {$de}{$de}{$de}{$de}{$de}{$de}  {CBM-Q}{$de} {$de}{$de}{$de}{$de}  {CBM-W}
  9.      {CBM-Q} {$de}{$de}  {$de}{$de} {CBM-W}  {$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-Q}  {$de}{$de}{$de}{$de}  {CBM-W}
  10.      {CBM-Q} {$de}{$de}  {$de}{$de} {CBM-W}  {$de}{$de}{$de}{$de}{$de}{$de}  {CBM-Q}  {$de} {$de}   {CBM-W}
  11.      {CBM-Q} {$de}{$de}  {$de}{$de} {CBM-W}      {$de}   {CBM-Q}{$de}{$de}{$de}  {$de}  {CBM-W}
  12.      {CBM-Q}        {CBM-W}          {CBM-Q}{$de}     {$de}{$de}{CBM-W}
  13.      {CBM-Z}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-X}          {CBM-Z}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-X}
  14.  
  15.  
  16.  
  17.  
  18.      T[ss[ floppiksen numerossa on uusi ohjelma, jolla voit muuttaa Commodoren  m[[ritelemi[ merkkej[ mieleiseksesi.    Varsin usein merkkej[ muunnellaan vain  erin[k\isiksi aakkosiksi, jos niit[ sit-ten viitsit[[n muunnella ollenkaan...   T[m[ on kuitenkin hyvin rajoittunutta   k[ytt\[, sill[ kuten arvata saattaa, on muunnelluilla merkeill[ tuhat ja yksi   k[ytt\[.  T[m[ artikkeli on tarkoitettu niille, joille koko prosessi on viel[   hieman ep[selv[ ja jotka ovat kiinnostu-neita siit[, miten saavat omiin ohjel-  miinsa v[h[ll[ vaivalla uutta ulkon]k\[.
  19.      Todella yksinkertaisesti sanottuna koko homman idea on seuraava: Normaalis-ti 64 ottaa merkkien hahmot ROMista,    mutta ei ole mit[[nn estett[ sille,     etteik\ niit[ voitaisi ottaa RAMista.   ROMia et pysty kopeloimaan, mutta RAM-  muisti on sit[ muistia, mit[ yleens[kin k[yt[t.  Sinun tarvitsee vain asettaa   RAM-muistiin uudet muodot kirjaimille jagrafiikkamerkeille ja sitten kertoa     VIC-II -lastulle, ett[ t[st[ l[htien    merkkien muodot haetaan sielt[ eik[     ROMista.
  20.  
  21.      Kun 64 n[ytt[[ merkkej[ kuvaruudul-la, sen on haettava merkin muoto ja sen v[ri.  T[t[ tehd[[n jatkuvasti, joten onmahdollista muuttaa yhden merkin hahmoa muistissa ja kaikki ruudulla olevat sa- mat merkit muuttavat muotoa silm[nr[p[- yksess[.  T[ll[ saadaan aikaan esim.    liukuhihnan liikkuminen joissakin pe-   leiss[.
  22.  
  23.      Merkeill[ voidaan saada siis ani-  maatiota aikaiseksi, mutta sen k[ytt\   siihen on parasta rajoittaa taustan     muuttamiseen, sill[ spritet ovat paljon k[tev[mpi[ liikuteltavia ymp[ri kuva-   ruutua.  Merkeill[ voidaan my\s tehd[   upeita taustoja ohjelmiin.  Tarkkuus-   grafiikka on hienoa, mutta muotoilluillamerkeill[ voidaan rakentaa legopalikoi- den tapaan yh[ uusia huoneita tai maise-mia.  T[st[ esimerkkin[ joystick-adven- turet, joissa on jotain 700 huonetta taisinnep[in.  Voit tehd[ vaikkapa a:sta   tiilen vasemman puolikkaan ja b:st[ sen oikean puolikkaan ja c:st[ oven jne...
  24.  
  25.      Huomaa, ett[ omat merkit viev[t    basic-ohjelmointitilaa ja sinun on syyt[vaikkapa nostaa basicin alkua yl\sp[in, jotta basic-ohjelmasi ei mene tekemiesi merkkien p[[lle ja pilaa niit[.  Muistinalarajaa nostat pokeamalla osoitteisiin 43-44 uuden alarajan.  Esim. POKE 44,64:POKE 43,0 muuttaa basicin alun osoittee-seen 16384.  Nyt voit siirt[[ omat merk-kisi esim. osoitteeseen 12288.  T[ll\in olisi muistissa roinaa seuraavasti:     2048-12287 tyhj[[ tilaa, jota ei voi    k[ytt[[ basic-ohjelmointiin.  T[nne voitlaittaa sprite-hahmoja (sprite-numerot  v[lilt[ 32 - 191).  12288-16383 uudet   merkit.  16384... basic-ohjelmaa.
  26.  
  27.      Jos ohjelmoit konekielell[, ei si- nulla ole mit[[n ongelmia em. asian suh-teen, mutta noin muuten hommaa kyll[    riitt[[...
  28.  
  29.      Seuraava ohjelma siirt[[ merkit    ROMista RAMiin:
  30.  
  31. 1 POKE 44,64:POKE43,0:rem asetetaan     muistin alaraja osoitteeseen 16384 (saa-daan laskemalla 64*256 + 0)
  32.  
  33. 2 POKE 56334,PEEK(56334)AND254:rem sul- jetaan Keyscan Interrupt Timer, jotta   k[ytt[j[ ei voi siirron aikana h[irit[  sit[ painelemalla nappuloita
  34.  
  35. 3 POKE1,PEEK(1)AND251:rem I/O:t pois ja merkkien ROM-hahmot tilalle
  36.  
  37. 4 FORI=0TO4096:POKE12288+I,PEEK(53248+I):NEXT:rem 53248:ssa on rivi 3:n suorituksen j[lkeen merkkien hahmot ja ne t[ytyysiirt[[ sielt[ v[lille 12288-16383 eli  niit[ on 4 kilon verran
  38.  
  39. 5 POKE1,PEEK(1)OR4:rem palautetaan I/O- rutiinit aktiiviseksi, mik[ mahdollistaanormaalin toiminnan
  40.  
  41. 6 POKE56334,PEEK(56334)OR1:rem palaute- taan rivill[ 2 estetty vektori toimi-   maan, jolloin kone taas reagoi kirjoi-  tukseesi
  42.  
  43. 7 POKE 53272,(PEEK(53272)AND240)+12:rem t[m[ sitten kertoo 64:lle sen, ett[     merkkien hahmot haetaan nyt RAMista
  44.  
  45. 8 END:rem ei kai tartte selitt[[...
  46.  
  47.  
  48.      No niin.  Paljon tapahtui, mutta   mit[[n ei n[y tapahtuneen... No, ei kai,kun viel[ tarttis muuttaa ne merkit uu- denn[k\isiksi, jotta tyhminkin meist[   huomaisi, ett[ jotain outoa on tekeill[.
  49.      Jokainen merkki muodostuu 8 numero-sta.  Jokainen numero on v[lilt[ 0-255. Esim. kirjain A:n numerot lasketaan seu-raavasti:
  50.  
  51.  
  52.         12345678  BIN.LUKU DES.LUKU
  53.        {CBM-A}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-R}{CBM-S}
  54.       1{CBM-Q}:::{$de}{$de}:::{CBM-W} 00011000  24
  55.       2{CBM-Q}::{$de}{$de}{$de}{$de}::{CBM-W} 00111100  60
  56.       3{CBM-Q}:{$de}{$de}::{$de}{$de}:{CBM-W} 01100110 102
  57.       4{CBM-Q}:{$de}{$de}{$de}{$de}{$de}{$de}:{CBM-W} 01111110 126
  58.       5{CBM-Q}:{$de}{$de}::{$de}{$de}:{CBM-W} 01100110 102
  59.       6{CBM-Q}:{$de}{$de}::{$de}{$de}:{CBM-W} 01100110 102
  60.       7{CBM-Q}:{$de}{$de}::{$de}{$de}:{CBM-W} 01100110 102
  61.       8{CBM-Q}::::::::{CBM-W} 00000000   0
  62.        {CBM-Z}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-E}{CBM-X}
  63.  
  64.      Tarkkasilm[isimm[t ehk[ huomasivat,ett[ bin[[rilukuun laitetaan nolla tyh- j[[n kohtaan merkki[ ja ykk\nen siihen, mihin halutaan jotain n[kym[[n.  Bin[[- riluku muutetaan desimaaliseksi seuraa- vasti: Otetaan oikeanpuolimmaisin luku  rivilt[ ja, jos siin[ on ykk\nen, lis[- t[[n loppusummaan tulos laskusta: kaksi potenssiin nolla ( = 1), sitten seuraavakohta rivi[ ment[ess[ oikealta vasemmal-le: jos siin[ on 1, niin lis[[ loppusum-maan 2^1, seuraava kohta: jos on ykk\-  nen, niin lis[[ 2^2 jne... Siis jos va- semmanpuoleisin kohta vaakarivi[ on yk- k\nen, niin lis[[ loppusummaan 2^7.     Loppusumma on nyt v[lill[ 0-255 (onhan?)ja yht[ merkki[ kohti on 8 rivi[ ja 8   loppusummaa.  N[ist[ 8 luvusta muodostuulopulta yksi merkki.  Sitten POKEat mu- istiin nuo kahdeksan lukua oikealle pai-kalle.  Oikean paikan saat kaavasta     (em. ohjelman ajon j[lkeen) 12288+(DISP-LAY CODE).  Display code on a:lle 1,    b:lle 2 jne...(katso tarkemmin esim.    Prog.ref.guide liite B).  Seuraava oh-  jelma pokeaa yhden merkin numerot oike- alle paikalle:
  65.  
  66. 10 FOR I= (paikka) TO (paikka)+7:READ A:POKEI,A[NEXT
  67.  
  68. 20 DATA 255,255,255,255,255,255,255,255
  69.      Em. ohjelma laittaa osoitteeseen   (paikka) t[yden neli\n.  Sill[lailla    jatketaan sitten, kunnes kaikki halutta-vat merkit on l[pik[yty.  Hankalaa, mut-ta onneksi on toisaalla Floppiksessa    Merkki-maker, eik[ tarvitse laskeskella bittej[...
  70.  
  71. ----------------------------------------
  72.