clanky/programove-tipy

PROGRAMOVÉ TIPY PRO ZX-SPECTRUM

Předkládám výběr odzkoušenych a opravenych tipů pro ZX-Spectrum:

  1. PRINT (PEEK 23730 + 256 PEEK 23731) - (PEEK 23653 + 256 * PEEK 23654)
    Tímto zobrazíte délku volné paměti v bytech.
     
  2. PRINT (PEEK 23627 + 256 = PEEK 23628) - (PEEK 23635 + 258 = PEEK 23638)
    Tímto zobrazíte délku programu v bytech.
     
     
  3. RAND USR 0
    Tento příkaz provede totéž, co vypnutí a opětné zapnutí Spektra, tj. úplné vynulování paměti, včetně proměnné RAM-TOP a uživatelské grafiky.
     
  4. PRINT USR 1000
    Tato instrukce úplně zhroutí systém.
     
  5. RAND USR 5050
    Tímto nulujeme počítač se zajímavým efektem.
     
  6.  1 DATA 243, 6, 192, 33, 0, 64, 205, 178, 14, 201
    10 CLEAR 62999
    20 FOR I = 63000 TO 63009: READ A: POKE I, A: NEXT I
          
    Tato rutina vytiskne všech 24 řádků obrazovky na tiskárnu ZX Printer, ne obvyklých 22. K užití zadejte RAND USR 63000, ale ujistěte se, že adresa 63000 trvá. Jde o obměnu podprogramu tisku "COPY" z ROM.
    63000 DI;          zabráněni maskovatelného přerušení
    63001 LD B, C0;    počet vytisknutych linek "192"- 24 řádků
    63001 LD B, C0;    místo původních "176" - 22 řádků
    63003 LD HL, 4000; bázová adresa displeje
    63006 CALL 0EB2;   volání podprogramu COPY-1 v ROM
    63009 RET;         návrat z podprogramu tisku
    

     
  7. 9900 LET start = PEEK 23635 +	256 * PEEK 23636
    9905 INPUT "Míra kroku:"; step
    9910 INPUT "První řádek:"; num
    9915 IF (PEEK (start + 1) + 256 * PEEK start) ≥ 9900 THEN STOP
    9920 POKE start, INT (num/256): POKE start + 1, (num - INT (num/256) * 256)
    9925 LET start = start +PEEK (start + 2) + PEEK (start + 3) * 256 + 4 
    9930 LET num = step + num
    9935 GOTO 9915
          
    Tento program přečísluje programové řádky v daném kroku od daného čísla řádku, ale nepřečísluje příkazy GOTO a GOSUB.
     
  8. Další rutina je vkládací rutina, která umožňuje vložení hodnot kdekoliv na obrazovce. Tento program umožňuje přijímat číselné nebo znakové vstupy. Následující proměnné nastavte před voláním podprogramu.
    len - délka vkládanych (vstupních) dat
    r - řádek pro zobrazení vložených dat na obrazovce
    s - sloupec pro zobrazení vložených dat na obrazovce i$ - typ vstupních dat. Jestliže i$= ="afg", pak mohou byt použita všechna písmena, čísla a jiné smyboly. Jestliže i$="num", potom budou čtena pouze čísla. Toto může byt nastaveno pouze jednou, potom všechny vstupy budou stejného typu.
    9000 IF i$= "afg" THEN LET lwr =31:LET hgr =123
    9005 IF i$="num" THEN LET lwr=47: LET hgr = 58
    9010 LET i$=""
    9015 LET s=s-1: FOR f =1 TO len +1 
    9025 LET a$=INKEY$: IF CODE a$>lwr AND CODE a$ "" THEN GOTO 9045 
    9050 LET i$ =i$+a$
    9055 PRINT AT r, s+f; a$
    9060 NEXT f
    9065 IF f=1 THEN GOTO 9025
    9070 LET i$=i$ (1 TO f - 2]: PRINT AT r, s+f - 1; " ": LET f=f - 2; NEXT f
    
    Rutinu startujeme GOSUB 9000 a vložená data vstupní jsou v proměnné i$. Řádek 9045 ruší funkci "repeat" tlačítek, ale bez něj je čtení tlačítek velmi rychlé a způsobuje problémy při zadávání dat.
     

Ing. Fr. Matulík

LITERATURA

(1) Personal Computer World, 1985, č. 9



Stránka byla už zobrazena: 213 ×

Aktualizováno: 3. 5. 2018, 06:13



     psp-ikona.gif, 2 kB    Text to HTML converter and formatter  builder_ikonka.gif, 3 kB
           
  Best Old Games      kabelmanie.gif, 2 kB  root_ico.gif, 2 kB  český diskmag pro počítače ZX Spectrum a kompatibilní
synapse.gif, 4 kB   TuningPC.cz - Vše pro tuning a casemodding vašeho PC        pspad88x31.gif  delphix.gif, 1 kB
sgatlantis_88x31_3.jpg, 4 kB  atlan.gif, 22 kB  arkon.jpg, 12 kB  ico_abeceda.gif, 888B  blog.idnes.cz   
           
       
 
  torry_logo.gif, 4 kB  

Stránka načtena za 0.00105 sekund.