Как написать игру для ZX Spectrum на ассемблере

       

Полный набор русских символов



Рисунок 4.4. Полный набор русских символов

10 PAPER 5: BORDER 5: CLEAR 64767: LET s=0: LET ad=64768 20 PRINT INK 1;"Please wait"''': PLOT 0,160: DRAW INK 6;255,0: PLOT 0,116: DRAW INK 6;255,0 25 RANDOMIZE ad-256: POKE 23606,PEEK 23670: POKE 23607,PEEK 23671 30 FOR i=CODE " " TO CODE "": FOR j=1 TO 8 40 READ a: LET s=s+a: POKE ad,a: LET ad=ad+1 50 NEXT j 60 PRINT CHR$ i;: NEXT i 70 POKE 23606,0: POKE 23607,60 80 IF s<>43996 THEN PRINT AT 10,8; INK 2; FLASH 1; "Error in DATA!!!": BEEP .5,-20: STOP 90 SAVE "rusfont"CODE 64768,768 1000 DATA 0,0,0,0,0,0,0,0: REM Space 1010 DATA 0,48,48,48,48,0,48,0: REM ! 1020 DATA 0,102,102,34,68,0,0,0: REM " 1030 DATA 0,32,96,255,255,96,32,0: REM # 1040 DATA 0,4,6,255,255,6,4,0: REM $ 1050 DATA 24,60,126,24,24,24,24,24: REM % 1060 DATA 24,24,24,24,24,126,60,24: REM & 1070 DATA 0,224,96,124,102,102,124,0: REM ' 1080 DATA 0,6,12,12,12,12,6,0: REM ( 1090 DATA 0,96,48,48,48,48,96,0: REM ) 1100 DATA 0,0,54,28,127,28,54,0: REM * 1110 DATA 0,0,24,24,126,24,24,0: REM + 1120 DATA 0,0,0,0,0,48,48,96: REM , 1130 DATA 0,0,0,0,124,0,0,0: REM - 1140 DATA 0,0,0,0,0,48,48,0: REM . 1150 DATA 0,4,12,24,48,96,64,0: REM / 1160 DATA 0,60,102,110,118,102,60,0: REM 0 1170 DATA 0,24,56,24,24,24,60,0: REM 1 1180 DATA 0,60,70,6,60,96,126,0: REM 2 1190 DATA 0,60,102,12,6,102,60,0: REM 3 1200 DATA 0,12,28,44,76,126,12,0: REM 4 1210 DATA 0,124,96,124,6,70,60,0: REM 5 1220 DATA 0,60,96,124,102,102,60,0: REM 6 1230 DATA 0,126,6,12,24,48,48,0: REM 7 1240 DATA 0,60,102,60,102,102,60,0: REM 8 1250 DATA 0,60,102,102,62,6,60,0: REM 9 1260 DATA 0,0,48,48,0,48,48,0: REM : 1270 DATA 0,0,48,48,0,48,48,96: REM ; 1280 DATA 0,0,12,24,48,24,12,0: REM < 1290 DATA 0,0,0,126,0,126,0,0: REM = 1300 DATA 0,0,48,24,12,24,48,0: REM > 1310 DATA 0,56,76,12,24,0,24,0: REM ? 1320 DATA 0,102,107,123,123,107,102,0: REM @ 1330 DATA 0,60,102,102,126,102,102,0: REM A 1340 DATA 0,124,96,124,102,102,124,0: REM B 1350 DATA 0,100,100,100,100,100,126,2: REM C 1360 DATA 0,30,38,38,38,38,127,0: REM D 1370 DATA 0,126,96,124,96,96,126,0: REM E 1380 DATA 0,126,219,219,219,126,24,0: REM F 1390 DATA 0,126,98,96,96,96,96,0: REM G 1400 DATA 0,70,46,28,56,116,98,0: REM H 1410 DATA 0,102,102,110,126,118,102,0: REM I 1420 DATA 24,90,102,110,126,118,102,0: REM J 1430 DATA 0,100,104,112,120,108,102,0: REM K 1440 DATA 0,30,38,38,38,38,102,0: REM L 1450 DATA 0,99,119,107,107,99,99,0: REM M 1460 DATA 0,102,102,126,102,102,102,0: REM N 1470 DATA 0,60,102,102,102,102,60,0: REM O 1480 DATA 0,126,102,102,102,102,102,0: REM P 1490 DATA 0,62,102,102,62,102,102,0: REM Q 1500 DATA 0,124,102,102,124,96,96,0: REM R 1510 DATA 0,60,102,96,96,102,60,0: REM S 1520 DATA 0,126,24,24,24,24,24,0: REM T 1530 DATA 0,102,102,102,62,6,60,0: REM U 1540 DATA 0,153,90,126,90,153,153,0: REM V 1550 DATA 0,124,102,124,102,102,124,0: REM W 1560 DATA 0,96,96,124,102,102,124,0: REM X 1570 DATA 0,99,99,121,109,109,121,0: REM Y 1580 DATA 0,60,102,12,6,102,60,0: REM Z 1590 DATA 0,98,98,106,106,106,126,0: REM [ 1600 DATA 0,60,102,14,6,102,60,0: REM \ 1610 DATA 0,98,98,106,106,106,127,1: REM ] 1620 DATA 0,102,102,102,62,6,6,0: REM ­


1630 DATA 0,0,224,96,124,102,124,0: REM _ 1640 DATA 0,0,102,107,123,107,102,0: REM Ј

1650 DATA 0,0,60,6,62,102,62,0: REM a 1660 DATA 0,0,124,96,124,102,124,0: REM b 1670 DATA 0,0,100,100,100,100,126,2: REM c 1680 DATA 0,0,30,38,38,38,127,0: REM d 1690 DATA 0,0,60,102,124,96,60,0: REM e 1700 DATA 0,0,60,90,90,60,24,24: REM f 1710 DATA 0,0,124,100,96,96,96,0: REM g 1720 DATA 0,0,76,108,56,108,100,0: REM h 1730 DATA 0,0,102,102,110,118,102,0: REM i 1740 DATA 24,24,102,102,110,118,102,0: REM j 1750 DATA 0,0,102,108,120,108,102,0: REM k 1760 DATA 0,0,30,38,38,38,102,0: REM l 1770 DATA 0,0,99,119,107,107,99,0: REM m 1780 DATA 0,0,102,102,126,102,102,0: REM n 1790 DATA 0,0,60,102,102,102,60,0: REM o 1800 DATA 0,0,126,102,102,102,102,0: REM p 1810 DATA 0,0,62,102,62,102,102,0: REM q 1820 DATA 0,0,124,102,102,124,96,96: REM r 1830 DATA 0,0,60,102,96,102,60,0: REM s 1840 DATA 0,0,126,24,24,24,24,0: REM t 1850 DATA 0,0,102,102,102,62,6,60: REM u 1860 DATA 0,0,219,90,60,90,219,0: REM v 1870 DATA 0,0,124,102,124,102,124,0: REM w 1880 DATA 0,0,96,96,124,102,124,0: REM x 1890 DATA 0,0,99,99,121,109,121,0: REM y 1900 DATA 0,0,60,102,12,102,60,0: REM z 1910 DATA 0,0,98,106,106,106,126,0: REM { 1920 DATA 0,0,60,102,14,102,60,0: REM | 1930 DATA 0,0,98,106,106,106,127,1: REM } 1940 DATA 0,0,102,102,62,6,6,0: REM ~ 1950 DATA 60,98,221,217,217,221,98,60: REM ©

Теперь попробуем, используя вновь приобретенные фонты, сотворить что-нибудь полезное и продемонстрируем на практике применение новых наборов символов. Например, сделаем один из кадров заставки - страничку «Правила игры» (Рисунок  4.5).


Содержание раздела