home *** CD-ROM | disk | FTP | other *** search
/ Floppy Magazine 1987 #2 / Floppy_Magazine_87-2_1987_Megasystems_Oy_fi_Side_A.d64 / niksit1.2_87 < prev    next >
Text File  |  2023-02-26  |  7KB  |  57 lines

  1.                           {CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@} {CBM-@}{CBM-@}{CBM-@}{CBM-@}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}  {CBM-P}{CBM-P}{CBM-P}{CBM-P}  {$de}{CBM-V}         {CBM-C}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-O}{CBM-O}{CBM-O}{CBM-O}{CBM-O}{CBM-O}   {CBM-O}{CBM-O}{CBM-O}{CBM-O}  {$de}FLOPPIKSEN {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}    {CBM-I}{CBM-I}{CBM-I}{CBM-I}  {$de}  KIKKOJA  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-I}{CBM-I}{CBM-I}{CBM-I}     {CBM-I}{CBM-I}{CBM-I}{CBM-I}  {$de}{CBM-F}         {CBM-D}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}    {CBM-U}{CBM-U}{CBM-U}{CBM-U}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}   {CBM-U}{CBM-U}{CBM-U}{CBM-U}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}  {CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{CBM-V}{CBM-C}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T} {CBM-T}{CBM-T}{CBM-T}{CBM-T}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{CBM-V}    {CBM-C}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}  {CBM-@}{CBM-@}{CBM-@}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}      {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}  {CBM-P}{CBM-P}{CBM-P}{CBM-P}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{CBM-J}      {CBM-L}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-O}{CBM-O}{CBM-O}{CBM-O}{CBM-O}{CBM-O}  {CBM-O}{CBM-O}{CBM-O}{CBM-O}{CBM-O}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}      {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}  {CBM-I}{CBM-I}{CBM-I} {CBM-I}{CBM-I}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{CBM-F}    {CBM-D}{$de} {$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-I}{CBM-I}{CBM-I}{CBM-I}   {CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}{CBM-I}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{CBM-F}{CBM-D}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}  {CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}  {CBM-U}{CBM-U} {CBM-U}{CBM-U}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{CBM-V}{CBM-C}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}  {CBM-Y} {CBM-Y}{CBM-Y}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}   {CBM-T}{CBM-T}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de} {CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}  {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{CBM-F}{CBM-D}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}   {CBM-O}{CBM-O}{CBM-O}{CBM-O}{CBM-O}{CBM-O}       {$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{CBM-U}{$de}{$de}{$de}{$de}{CBM-U}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}{$de}   {CBM-O}{CBM-O}{CBM-O}{CBM-O}                                    {CBM-U}{CBM-U}{CBM-U}{CBM-U}         KASASI taaskin TONI LUODE. {CBM-Y}{CBM-Y}{CBM-Y}                                     {CBM-T}{CBM-T}{CBM-T}
  2.  
  3.     Moi taas kaikki siell[ jossain!
  4.  
  5.  T[ll[ kerralla on keskitytty enemm[n    Basicin puolelle, nimitt[in POKEja ym.  on taas kaiveltu muistinpohjalta esiin. Ihan kiva ja TOSI k[yt[nn\llinen on     seuraava:
  6.  
  7.  KUINKA SAADAAN OHJELMASSA KURSORI       VILKKUMAAN?{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}
  8.  POKE 204,0  saa aikaan sen, ett[ kur-               sori vilkkuu siin[ kohdassa ruutua itsekseen, mihin viimeksi on     PRINTtauksella j[[ty. VILKUTUS toimii   koko ajan, koska hommaa hoidetaan       konekielisest[ INTERRUPTista v[h[n v[-  li[. Esim. GET-rutiinissa on t[t[ ideaa hauska k[ytt[[.
  9.    VILKUTUS saadaan pois pokeilemalla                                            POKE 204,1            (kiitti MIKKO!)
  10.  
  11.  HALUATKO SAADA TIETOKONEESTASI ULOS     KIRKONKELLON {SHIFT-+}{SHIFT-+}NT{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}
  12.  Jos niin, kirjoita t[m[ ohjelma:
  13.  
  14.  1 FOR B=1 TO 15:POKE 54296,B:NEXT
  15.  2 FOR N=1 TO 3:POKE 54277,10:             POKE 54278,252:POKE 54272,254
  16.  3 POKE 54273,7:POKE 54276,17:             FOR T=1 TO 100:NEXT:POKE 54276,16
  17.  4 FOR R=0 TO 1000:NEXT:NEXT N
  18.  5 FOR R=14 TO 0 STEP-1:POKE54296,R:NEXT
  19.  Kuminaa saat venytelty[ muuttamalla     muistipaikkoihin 54277 ja 54278 pokea-  misia. {SHIFT-+}[nen korkeutta voit muuttaa     vaihtamalla 54272 ja 54273 pokejen      arvoa.
  20.  
  21.  RUN/STOP ESTO:(EI LIITY M.PAIKKAAN 808) {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}
  22.  Tuo 64:n KERNAALI on kyll[ hy\dyllinen. Keksin taas laatiessani uutta versiota  valikosta uuden RUN/STOP-estokikan..
  23.  
  24.  Idea l\ytyy INTERRUPTista (keskeytyk-   sist[). Aivan ensimm[inen rutiini,      mink[ interrupt tekee, on ett[ se       katsoo, onko run/stoppia painettu ja    sen j[lkeen hoitaa koneen sis[isen      reaaliaikakellon. Jotta saamme sen      estetty[, muutamme interruptin alku-    osoitetta.
  25.  
  26.  Konekielell[:      SEI                                     LDA #$34                                LDY #$EA                                STA $0314                               STY $0315                               CLI                                     RTS
  27.  
  28.  BASICILLA en ole kokeillut, mutta sen   PIT{SHIFT-+}ISI menn[ n[in:
  29.  
  30.  POKE 788,52: POKE 789,234
  31.  
  32.  Normaali alkumuistipaikka on $ EA31.    Nyt ohjelma hypp[[ suoraan sen yli      kursorinvilkutusrutiiniin. Muista, ett[ reaaliaikakello ei nyt toimi.
  33.  
  34.  RESTORE-ESTO                            {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}
  35.  on aivan yksinkertainen kikka tehd[     konekielell[:
  36.  
  37.         LDY #$ LO                               LDA #$ HI                               STA $0319                               STY $0318                               RTS
  38.                                          HI ja LO ovat sen muistipaikan HI- ja   LO-BYTEJ{SHIFT-+}, johon halutaan kone ohjata   silloin, kun RESTOREA on n[p[itetty.
  39.    M-paikkaan laitetaan sitten k[sky     RTI joka ohjaa koneen taas p[[ohjel-    maan. Jos haluat, voit pist[[ sinne     my\s (RTI-k[sky[ ennen) jonkin pienen   ohjelmanp[tk[n, ei kuitenkaan kovin     pitk[[ sellaista, joka esim. muuttaa    ruudun v[rej[ tai kirjoittaa vaikkapa   {SHIFT-+}H{SHIFT-+}KUTTI tai sitten resetoi muistia...
  40.    RTI-k[skyh[n on k[sky, joka vastaa    v[h[n basic-k[sky[ RETURN tai konekie-  len RTS:[[, mutta t[m[ RTI on tehty     eri INTERRUPTeja varten. RTI-k[sky on   sellainen, ett[ jonkin interruptin      (BREAK-,RASTER-,NMI-,...) lopussa       palataan RTI-k[skyll[ p[[ohjelmaan.
  41.  
  42.  
  43.  BASIC-OHJELMAN LATAUS BASIC-OHJELMALLA  {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}
  44.  (Tarkoitettu 64:n basicia harrrasta-     maan alkaville)
  45.  
  46.  Olettekos koskaan yritt[neet tehd[      latausohjelmaa jollekin ohjelmalle??
  47.  
  48.  Serkkuni kyseli sellaista tuossa v[h[n  aikaa sitten puhelimitse ja en ole      varma menik\ juttu perille, joten       t[ss[ tulee Antille ja muillekin,jotka  haluavat esim. pelins[ ohjeet ohjel-    maansa, kuitenkin ennen p[[ohjelman     latausta.
  49.    Idea on aivan yksinkertainen ja       sit[ samaa k[ytt[[ my\s Floppiksen      MENU-ohjelma ladatessaan p[[ohjelman,   joka on kanssa basicia, ja k[ynnis-     t[en sen samantien.
  50.    Ohjelmien alussa ei tarvitse olla     mit[[n salaper[isi[ IHMEPOKEJA, vaan    yksinkertaisesti l[hdett[ess[ lataa-    maan uutta basic-ohjelmaa POKEtaan      koneen n[pp[imist[puskuriin pari        juttua, jotka kohta selit[n. Samoin     ruutuun PRINTataan v[h[n tavaraa ja     viel[ 'painettujen n[pp[inten' luku-    m[[r[ POKEtaan muistiin. Selit[n kohta.
  51.    N[pp[imist\puskuri on semmoinen       muistialue muistissa, jonne kone rekis- ter\i aina kulloinkin painetut          n[pp[imet tai k[skyt. Oletkin varmaan   huomannut ladatessasi jotain ohjelmaa,  ett[ kun kone lataa ja lataa ohjelmaa   ja painelet joitain n[pp[imi[, niin     ohjelman latauduttua kirjoittamasi      teksti tulostuu ruutuun. Se johtuu      siit[, ett[ n[pp[imist\puskuri on       'varastoinut' kirjoittamasi tai ainakin suurimman siit[ osan muistiin. Muistiin mahtuu 10 merkki[ tai k[sky[.
  52.  Alue on muistissa 631-640 (POKE 631,?)  ja siihen liittyy muistipaikka, joka    laskee painettujen n[pp[inten m[[r[n.   Muistipaikka on 198, eli sinne joku     arvoista 0-10. Jos 0, niin kone alkaa   kirjoitetun tallentamisen n[pp[imist\-  puskuriin alusta. Jos poketaan 198:aan  vaikkapa 2, kone lukee muistipaikkojen  631 ja 632 arvot ja tekee niiden        mukaan. Pokeiltu arvo voi olla vaikka   RETURN ja se on koodattuna arvo 13.     Tai arvo voi olla 131, joka vastaa      yhdistelm[k[sky[ LOAD <RETURN> + RUN.   Tuota arvoa meid[nkin rutiini k[ytt[[   hyv[kseen.
  53.    NYT ON VAIN NIIN, ETT{SHIFT-+} TILA LOPPUU.     LATAA JATKO-OSA LEVYLT{SHIFT-+} VALIKON         KAUTTA. PAINA F6-N{SHIFT-+}PP{SHIFT-+}INT{SHIFT-+}...!!
  54.  
  55.  
  56. ----------------------------------------
  57.