ZX Forum #04
19 ноября 1997

Экранные эффекты - "сворачивание" экрана из Comando Tracer.

<b>Экранные эффекты</b> -
         COMANDO TRACER

   Здесь оригинальный эффект за-
ключается в интересном "сворачи-
вании"  экрана  после  загрузки.
Лучше один раз  увидеть, поэтому
посмотрите  на  рисунки.  Экран,
сворачиваясь, не просто с  краев
сдвигается  к  середине, но  при
этом происходит еще плавное  из-
менение  его  формы  от  прямоу-
гольника  до  ромба, пока, нако-
нец, он не уменьшится настолько,
что превратится в точку в центре
экрана и исчезнет совсем.

   Вот листинг этой процедуры.
1420.
E3A1  210058   LD   HL,#5800
E3A4  110158   LD   DE,#5801
E3A7  01FF02   LD   BC,#02FF
E3AA  3647     LD   (HL),#47
E3AC  EDB0     LDIR
E3AE  CDFCE3   CALL #E3FC
E3B1  0600     LD   B,#00
E3B3  C5       PUSH BC
E3B4  DD2132E4 LD   IX,#E432
E3B8  0600     LD   B,#00
E3BA  210040   LD   HL,#4000
E3BD  DD7E01   LD   A,(IX+1)
E3C0  DD8600   ADD  A,(IX+0)
E3C3  DD7700   LD   (IX+0),A
E3C6  DCDBE3   CALL C,#E3DB
E3C9  CD23E4   CALL #E423
E3CC  DD23     INC  IX
E3CE  DD23     INC  IX
E3D0  04       INC  B
E3D1  78       LD   A,B
E3D2  FEC0     CP   #C0
E3D4  C2BDE3   JP   NZ,#E3BD
E3D7  C1       POP  BC
E3D8  10D9     DJNZ #E3B3
E3DA  C9       RET
------------------------------
E3DB  1E0F     LD   E,#0F
E3DD  E5       PUSH HL
E3DE  CB3E     SRL  (HL)
E3E0  2C       INC  L
E3E1  CB1E     RR   (HL)
E3E3  2C       INC  L
E3E4  1D       DEC  E
E3E5  C2E1E3   JP   NZ,#E3E1
E3E8  E1       POP  HL
E3E9  E5       PUSH HL
E3EA  7D       LD   A,L
E3EB  C61F     ADD  A,#1F
E3ED  6F       LD   L,A
E3EE  1E0F     LD   E,#0F
E3F0  CB26     SLA  (HL)
E3F2  2D       DEC  L
E3F3  CB16     RL   (HL)
E3F5  2D       DEC  L
E3F6  1D       DEC  E
E3F7  C2F3E3   JP   NZ,#E3F3
E3FA  E1       POP  HL
E3FB  C9       RET
------------------------------
E3FC  DD2132E4 LD   IX,#E432
E400  0660     LD   B,#60
E402  2EFF     LD   L,#FF
E404  2600     LD   H,#00
E406  DD7400   LD   (IX+0),H
E409  DD7501   LD   (IX+1),L
E40C  2D       DEC  L
E40D  DD23     INC  IX
E40F  DD23     INC  IX
E411  10F3     DJNZ #E406
E413  0660     LD   B,#60
E415  DD7400   LD   (IX+0),H
E418  DD7501   LD   (IX+1),L
E41B  2C       INC  L
E41C  DD23     INC  IX
E41E  DD23     INC  IX
E420  10F3     DJNZ #E415
E422  C9       RET
------------------------------
E423  24       INC  H
E424  7C       LD   A,H
E425  E607     AND  #07
E427  C0       RET  NZ
E428  7D       LD   A,L
E429  C620     ADD  A,#20
E42B  6F       LD   L,A
E42C  D8       RET  C
E42D  7C       LD   A,H
E42E  D608     SUB  #08
E430  67       LD   H,A
E431  C9       RET
2
   Так как экран  будет  подвер-
жен довольно сложному  скроллин-
гу, цветовые атрибуты будут вно-
сить только  дополнительную  не-
разбериху, поэтому сразу же пос-
ле старта процедуры, в первых ее
командах, происходит изменение в
файле атрибутов:  устанавливает-
ся PAPER 0: INK 7: BRIGHT 1. По-
сле этого начинается  собственно
скроллинг (с адреса E3AEH.
   При работе процедура  исполь-
зует для  вспомогательных  целей
область памяти  с  адреса  E432H
(58418). Длина этой области  384
байта. Это  надо  учитывать  при
встраивании  процедуры  в   свою
программу. При желании эту  слу-
жебную область можно перенести в
другое место, изменив ее адрес в
командах  по  адресам  E3B4H   и
E3FCH.
   Процедура не релоцируема, при
изменении ее адреса можно  поре-
комендовать заменить  все  абсо-
лютные условные переходы - отно-
сительными  (JP  NZ,ADDR  ->  JR
NZ,ADDR,  при  этом  потребуется
добавить еще по команде NOP, так
как на каждой такой замене  выс-
вобождается  по  одному  байту).
Тогда останется не так уж  много
команд перехода с абсолютной ад-
ресацией, их можно сосчитать  по
пальцам и легко  изменить.  Ска-
занное относится и с процедурам,
которые будут описаны ниже.
   Для  получения  блока   кодов
"сворачивания" экрана можно вос-
пользоваться Бейсик-программой:

   1 READ ram: CLEAR ram: READ f
$: READ st: READ len: FOR a=st T
O st+len-1: READ b: POKE a,b: NE
XT a: SAVE f$CODE st,len
  10 DATA 58272,"tr1",58273,145
 100 DATA
033,000,088,017,001,088,001,255,
002,054,071,237,176,205,252,227,
006,000,197,221,033,050,228,006,
000,033,000,064,221,126,001,221
 110 DATA
134,000,221,119,000,220,219,227,
205,035,228,221,035,221,035,004,
120,254,192,194,189,227,193,016,
217,201,030,015,229,203,062,044
 120 DATA
203,030,044,029,194,225,227,225,
229,125,198,031,111,030,015,203,
038,045,203,022,045,029,194,243,
227,225,201,221,033,050,228,006
 130 DATA
096,046,255,038,000,221,116,000,
221,117,001,045,221,035,221,035,
016,243,006,096,221,116,000,221,
117,001,044,221,035,221,035,016
 140 DATA
243,201,036,124,230,007,192,125,
198,032,111,216,124,214,008,103,
201

   Работу блока  кодов  наглядно
продемонстрирует такая  програм-
ма:

  10 BORDER 0: PAPER 0: INK 7: C
LEAR 58272
  20 LOAD "tr1"CODE
  30 LOAD "tracer $"CODE 16384
  40 BEEP .1,26: BEEP .1,20: PAU
SE 0
  50 RANDOMIZE USR 58273

   Здесь в строке 30  загружает-
ся картинка-заставка из игры CO-
MANDO TRACER, но это может  быть
любая другая картинка.

   Следующим оригинальным момен-
том в программе  COMANDO  TRACER
является печать  титульных  тек-
стовых сообщений.  Буквы  "соби-
раются" из отдельных точек, "пи-
кирующих" из пространства в пра-
вой нижней части экрана. "Подле-
тая" и "приземляясь"  на  задан-
ное место, они  образуют  текст.
Это даже  не "бегущая", а какая-
то "слетающаяся" строка.
   Процедура  состоит  из   двух
частей.  Вызывающая  программа -
релоцируемая  и  может  распола-
гаться в любом удобном месте.  В
самой игре она находится по  ад-
ресу E15CH.
1420.
E15C  260E     LD   H,#0E
E15E  2E48     LD   L,#48
E160  1110E3   LD   DE,#E310
E163  CDA9E1   CALL #E1A9
----------------------------
E166  261A     LD   H,#1A
E168  2E58     LD   L,#58
E16A  1120E3   LD   DE,#E320
E16D  CDA9E1   CALL #E1A9
------------------------------
E170  2613     LD   H,#13
E172  2E60     LD   L,#60
E174  113CE3   LD   DE,#E33C
E177  CDA9E1   CALL #E1A9
------------------------------
E17A  2614     LD   H,#14
E17C  2E70     LD   L,#70
E17E  1151E3   LD   DE,#E351
E181  CDA9E1   CALL #E1A9
------------------------------
E184  2614     LD   H,#14
E186  2E78     LD   L,#78
E188  1167E3   LD   DE,#E367
E18B  CDA9E1   CALL #E1A9
------------------------------
E18E  C9       RET
2
   Вызывающая процедура для  пе-
чати пяти строчек текста, приве-
денная выше, состоит из из  пяти
одинаковых  частей.  Прежде  чем
будет вызвана собственно  проце-
дура печати, должны быть  заданы
исходные параметры.
   В регистре H  задается  пара-
метр, от которого зависит колон-
ка печати (по горизонтали)  Pos.
Она равна  Pos=(32-H)/2.  Отсюда
содержимое регистра H=32-2*Pos.
   В регистре L  задается  место
печати текстового  сообщения  по
вертикали, причем задается  дис-
танция от верхней пиксельной ли-
нии печатаемой строки до верхне-
го края экрана в пикселах. Обра-
тите на это внимание: Вы  можете
печатать строки  текста  с  дис-
кретностью вертикальной  позиции
в 1 пиксел.
   В регистре DE задается  адрес
в памяти, с которого  расположе-
на сама строка текста.
   После этого  вызывается  соб-
ственно процедура печати  E1A9H.
В конце вызывающей  процедуры  в
зависимости от конкретных требо-
ваний может быть либо RET,  либо
JP.
   Листинг процедуры печати:
1420.
E1A9  3E20     LD   A,#20
E1AB  94       SUB  H
E1AC  CB27     SLA  A
E1AE  CB27     SLA  A
E1B0  67       LD   H,A
E1B1  ED73E6E2 LD   (#E2E6),SP
E1B5  1A       LD   A,(DE)
E1B6  32E2E2   LD   (#E2E2),A
E1B9  13       INC  DE
E1BA  1A       LD   A,(DE)
E1BB  32E3E2   LD   (#E2E3),A
E1BE  ED53E4E2 LD   (#E2E4),DE
E1C2  3E06     LD   A,#06
E1C4  32DCE2   LD   (#E2DC),A
E1C7  3E0C     LD   A,#0C
E1C9  32DDE2   LD   (#E2DD),A
E1CC  22DEE2   LD   (#E2DE),HL
E1CF  7C       LD   A,H
E1D0  C608     ADD  A,#08
E1D2  67       LD   H,A
E1D3  22E0E2   LD   (#E2E0),HL
E1D6  CD63E2   CALL #E263
E1D9  CD75E2   CALL #E275
E1DC  FB       EI
E1DD  76       HALT
E1DE  CDFEE1   CALL #E1FE
E1E1  3ADCE2   LD   A,(#E2DC)
E1E4  3D       DEC  A
E1E5  32DCE2   LD   (#E2DC),A
E1E8  3ADDE2   LD   A,(#E2DD)
E1EB  3D       DEC  A
E1EC  32DDE2   LD   (#E2DD),A
E1EF  CDFEE1   CALL #E1FE
E1F2  01F401   LD   BC,#01F4
E1F5  0B       DEC  BC
E1F6  78       LD   A,B
E1F7  B1       OR   C
E1F8  C2F5E1   JP   NZ,#E1F5
E1FB  C3DCE1   JP   #E1DC
------------------------------
E1FE  3ADCE2   LD   A,(#E2DC)
E201  47       LD   B,A
E202  3AE2E2   LD   A,(#E2E2)
E205  2ADEE2   LD   HL,(#E2DE)
E208  CD7FE2   CALL #E27F
E20B  3ADDE2   LD   A,(#E2DD)
E20E  47       LD   B,A
E20F  3AE3E2   LD   A,(#E2E3)
E212  2AE0E2   LD   HL,(#E2E0)
E215  CD7FE2   CALL #E27F
E218  3ADCE2   LD   A,(#E2DC)
E21B  3D       DEC  A
E21C  CA45E2   JP   Z,#E245
E21F  3ADDE2   LD   A,(#E2DD)
E222  3D       DEC  A
E223  C0       RET  NZ
E224  ED5BE4E2 LD   DE,(#E2E4)
E228  13       INC  DE
E229  ED53E4E2 LD   (#E2E4),DE
E22D  1A       LD   A,(DE)
E22E  A7       AND  A
E22F  FA70E2   JP   M,#E270
E232  32E3E2   LD   (#E2E3),A
E235  3AE1E2   LD   A,(#E2E1)
E238  C610     ADD  A,#10
E23A  32E1E2   LD   (#E2E1),A
E23D  3E0C     LD   A,#0C
E23F  32DDE2   LD   (#E2DD),A
E242  C375E2   JP   #E275
------------------------------
E245  ED5BE4E2 LD   DE,(#E2E4)
E249  13       INC  DE
E24A  ED53E4E2 LD   (#E2E4),DE
E24E  1A       LD   A,(DE)
E24F  A7       AND  A
E250  FA70E2   JP   M,#E270
E253  32E2E2   LD   (#E2E2),A
E256  3ADFE2   LD   A,(#E2DF)
E259  C610     ADD  A,#10
E25B  32DFE2   LD   (#E2DF),A
E25E  3E0C     LD   A,#0C
E260  32DCE2   LD   (#E2DC),A
E263  3ADCE2   LD   A,(#E2DC)
E266  47       LD   B,A
E267  3AE2E2   LD   A,(#E2E2)
E26A  2ADEE2   LD   HL,(#E2DE)
E26D  C37FE2   JP   #E27F
------------------------------
E270  ED7BE6E2 LD   SP,(#E2E6)
E274  C9       RET
------------------------------
E275  3ADDE2   LD   A,(#E2DD)
E278  47       LD   B,A
E279  3AE3E2   LD   A,(#E2E3)
E27C  2AE0E2   LD   HL,(#E2E0)
E27F  E5       PUSH HL
E280  6F       LD   L,A
E281  2600     LD   H,#00
E283  29       ADD  HL,HL
E284  29       ADD  HL,HL
E285  29       ADD  HL,HL
E286  1158FB   LD   DE,#FB58
E289  19       ADD  HL,DE
E28A  E5       PUSH HL
E28B  DDE1     POP  IX
E28D  E1       POP  HL
E28E  1E08     LD   E,#08
E290  7D       LD   A,L
E291  80       ADD  A,B
E292  6F       LD   L,A
E293  FEB8     CP   #B8
E295  D0       RET  NC
E296  E5       PUSH HL
E297  1607     LD   D,#07
E299  7C       LD   A,H
E29A  80       ADD  A,B
E29B  67       LD   H,A
E29C  DABCE2   JP   C,#E2BC
E29F  7A       LD   A,D
E2A0  CB27     SLA  A
E2A2  CB27     SLA  A
E2A4  CB27     SLA  A
E2A6  F646     OR   #46
E2A8  32B1E2   LD   (#E2B1),A
E2AB  C5       PUSH BC
E2AC  D5       PUSH DE
E2AD  E5       PUSH HL
E2AE  DDCB0046 BIT  0,(IX+0)
E2B2  C4CAE2   CALL NZ,#E2CA
E2B5  E1       POP  HL
E2B6  D1       POP  DE
E2B7  C1       POP  BC
E2B8  15       DEC  D
E2B9  F299E2   JP   P,#E299
E2BC  E1       POP  HL
E2BD  DD23     INC  IX
E2BF  7D       LD   A,L
E2C0  80       ADD  A,B
E2C1  6F       LD   L,A
E2C2  FEB8     CP   #B8
E2C4  D0       RET  NC
E2C5  1D       DEC  E
E2C6  C296E2   JP   NZ,#E296
E2C9  C9       RET
------------------------------
E2CA  CDF0E2   CALL #E2F0
E2CD  5D       LD   E,L
E2CE  54       LD   D,H
E2CF  E607     AND  #07
E2D1  6F       LD   L,A
E2D2  2600     LD   H,#00
E2D4  01E8E2   LD   BC,#E2E8
E2D7  09       ADD  HL,BC
E2D8  1A       LD   A,(DE)
E2D9  AE       XOR  (HL)
E2DA  12       LD   (DE),A
E2DB  C9       RET
------------------------------
E2DC
...     системные ячейки
E2EF
------------------------------
E2F0  C5       PUSH BC
E2F1  7D       LD   A,L
1420.E2F2  CB3F     SRL  A
E2F4  37       SCF
E2F5  1F       RRA
E2F6  CB3F     SRL  A
E2F8  AD       XOR  L
E2F9  E6F8     AND  #F8
E2FB  AD       XOR  L
E2FC  47       LD   B,A
E2FD  7D       LD   A,L
E2FE  E638     AND  #38
E300  07       RLCA
E301  07       RLCA
E302  6F       LD   L,A
E303  7C       LD   A,H
E304  CB3F     SRL  A
E306  CB3F     SRL  A
E308  CB3F     SRL  A
E30A  B5       OR   L
E30B  6F       LD   L,A
E30C  7C       LD   A,H
E30D  60       LD   H,B
E30E  C1       POP  BC
E30F  C9       RET
2
   В работе программа использует
20 байтов для служебных целей  с
адреса  E2DCH  по  адрес   E2EFH
включительно.
   С адреса E310H  располагается
текст сообщений. Обратите внима-
ние: каждая строка текста закан-
чивается двумя символами: пробе-
лом и кодом  FFH.  Пробел  нужен
для того, чтобы "в  воздухе"  не
оставалось "пикирующих" точек.
   Обратите внимание на  команду
по адресу  E286H.  Здесь  в  ре-
гистр DE заносится значение сис-
темной  переменной  CHARS   того
символьного  набора, которым  Вы
хотите напечатать текстовые  со-
общения.  Он  равен  64344.  Сам
символьный набор располагается с
адреса 64600. Следует  отметить,
что применение утолщенного  сти-
лизованного  символьного  набора
именно в этой программе произво-
дит гораздо большее  впечатление
(так как процесс  динамический),
чем  использование   символьного
набора ПЗУ. Вообще в  игре  "CO-
MANDO TRACER" для печати  задан-
ных текстовых  сообщений  приме-
няется фрагмент символьного  на-
бора - только цифры и  заглавные
буквы, а  образ  символа  "копи-
райт" закреплен  за  символом  с
кодом 40H - "@".  Вам  же  может
потребоваться  весь   символьный
набор, поэтому текст сообщения в
примере изменен с  учетом  этого
обстоятельства.

   Для  получения  блока   кодов
"слетающейся строки" можно  вос-
пользоваться Бейсик-программой:

   1 READ ram: CLEAR ram: READ f
$: READ st: READ len: FOR a=st T
O st+len-1: READ b: POKE a,b: NE
XT a: SAVE f$CODE st,len
  10 DATA 57691,"tr2",57692,545
 100 DATA
038,014,046,072,017,016,227,205,
169,225,038,026,046,088,017,032,
227,205,169,225,038,019,046,096,
017,060,227,205,169,225,038,020
 110 DATA
046,112,017,081,227,205,169,225,
038,020,046,120,017,103,227,205,
169,225,201,000,000,000,000,000,
000,000,000,000,000,000,000,000
 120 DATA
000,000,000,000,000,000,000,000,
000,000,000,000,000,062,032,148,
203,039,203,039,103,237,115,230,
226,026,050,226,226,019,026,050
 130 DATA
227,226,237,083,228,226,062,006,
050,220,226,062,012,050,221,226,
034,222,226,124,198,008,103,034,
224,226,205,099,226,205,117,226
 140 DATA
251,118,205,254,225,058,220,226,
061,050,220,226,058,221,226,061,
050,221,226,205,254,225,001,244,
001,011,120,177,194,245,225,195
 150 DATA
220,225,058,220,226,071,058,226,
226,042,222,226,205,127,226,058,
221,226,071,058,227,226,042,224,
226,205,127,226,058,220,226,061
 160 DATA
202,069,226,058,221,226,061,192,
237,091,228,226,019,237,083,228,
226,026,167,250,112,226,050,227,
226,058,225,226,198,016,050,225
 170 DATA
226,062,012,050,221,226,195,117,
226,237,091,228,226,019,237,083,
228,226,026,167,250,112,226,050,
226,226,058,223,226,198,016,050
 180 DATA
223,226,062,012,050,220,226,058,
220,226,071,058,226,226,042,222,
226,195,127,226,237,123,230,226,
201,058,221,226,071,058,227,226
 190 DATA
042,224,226,229,111,038,000,041,
041,041,017,088,251,025,229,221,
225,225,030,008,125,128,111,254,
184,208,229,022,007,124,128,103
 200 DATA
218,188,226,122,203,039,203,039,
203,039,246,070,050,177,226,197,
213,229,221,203,000,070,196,202,
226,225,209,193,021,242,153,226
 210 DATA
225,221,035,125,128,111,254,184,
208,029,194,150,226,201,205,240,
226,093,084,230,007,111,038,000,
001,232,226,009,026,174,018,201
 220 DATA
006,001,120,208,120,200,032,056,
124,227,142,097,128,064,032,016,
008,004,002,001,197,125,203,063,
055,031,203,063,173,230,248,173
 230 DATA
071,125,230,056,007,007,111,124,
203,063,203,063,203,063,181,111,
124,096,193,201,067,079,077,065,
078,068,079,032,084,082,065,067
 240 DATA
069,082,032,255,069,083,067,082,
073,084,079,032,080,079,082,032,
082,073,067,065,082,068,079,032,
080,085,069,082,084,079,032,255
 250 DATA
071,082,065,070,073,067,079,083,
058,082,065,085,076,032,076,079,
080,069,090,032,255,127,032,090,
069,085,083,032,083,079,070,084
 260 DATA
087,065,082,069,032,049,057,056,
056,032,255,127,032,068,073,078,
065,077,073,067,032,083,079,070,
084,046,032,049,057,056,056,032,
255

   Ниже  приведена  Бейсик-прог-
рамма, демонстрирующая  "слетаю-
щуюся строку". В строке 20  заг-
ружается "утолщенный" символьный
набор.

  10 BORDER 0: PAPER 0: INK 7: C
LEAR 24999
  20 LOAD "chr"CODE 64600
  30 LOAD "tr2"CODE
  40 RANDOMIZE USR 57692



Другие статьи номера:

Help - Описание оболочки электронного издания "ZX-FORUM 4".

Секреты успешного дизайна - глава для книги "Дизайн Ваших программ"

Экранные эффекты - Бегущая строка из R-Type.

Экранные эффекты - гашения экрана из Zynaps.

Экранные эффекты - "сворачивание" экрана из Comando Tracer.

Экранные эффекты - плавное "затухание" экрана из Сommando Tracer.

Экранные эффекты - модификация символьного набора для получения оригинального стилизованного шрифта из игры Rockstar.

Экранные эффекты - "выбегающая строка" из игры Rockstar.

Экранные эффекты - "наливающийся" экран из игры Rockstar.

Экранные эффекты - сложный многоступенчатый эффект из игры Bubbler.

Новые 40 лучших процедур - скроллинг экрана, слияние двух картинок, инвертирование экрана, поворот символов, замена атрибутов, заливка замкнутого контура, вычисление адресов в экране, копирование части экрана и т.д.

Технология спрайтов - часть 1: введение.

Технология спрайтов - часть 2: охота на спрайты (поиск и выдирание).

Технология спрайтов - часть 3: форматы спрайтов.

Технология спрайтов - часть 4: форматы спрайтов с маской.

Технология спрайтов - часть 5: структура спрайтовых блоков (как уживаются в памяти спрайт и маска, какие данные помогают нам оперативно находить адрес спрайта в памяти и многое другое.)

Технология спрайтов - часть 6: подготовка данных к печати.

Технология спрайтов - часть 8: печать спрайтов (координаты заданы в знакоместах).

Технология спрайтов - часть 9: печать спрайтов (координаты заданы в пикселях).

Технология спрайтов - часть 10: обзор программ для работы со спрайтами и графикой.

Мир звуков Спектрума - глава 1: Физика звука.

Мир звуков Спектрума - глава 2: Оператор BEEP, Создание эффектов на BEEPе, Создание музыки на BEEPе.

Мир звуков Спектрума - глава 3: Как получается звук (устройство BEEP'ра и способы звукоизвлечения).

Мир звуков Спектрума - глава 4: Программирование звука на ассемблере.

Мир звуков Спектрума - глава 4.1: Программирование звуковых эффектов - Тон, Шум, Комплексы эффектов.

Мир звуков Спектрума - глава 4.2: Программирование звуковых эффектов - Управление громкостью.

Мир звуков Спектрума - глава 4.3: Программирование звуковых эффектов - Управление тембром.

Мир звуков Спектрума - глава 4.4: Программирование звуковых эффектов - Программирование музыки.

Мир звуков Спектрума - глава 4.5: Программирование звуковых эффектов - Многоголосые мелодии (полифония).

Мир звуков Спектрума - глава 4.6: Обработка внешних сигналов - оцифровка.

Мир звуков Спектрума - глава 4.7: Обработка внешних сигналов - Реверберация.

Мир звуков Спектрума - глава 4.8: Синтезирование речи.

Мир звуков Спектрума - глава 4.9: воспроизведение звука на прерываниях.

Мир звуков Спектрума - глава 5: Оператор PLAY для музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 5.1: Создание эффектов оператором PLAY.

Мир звуков Спектрума - глава 5.2: Создание музыки на PLAYе.

Мир звуков Спектрума - глава 6.1: описание регистров музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 6.2: Программирование эффектов и музыки под музыкальный сопроцессор AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 7: Обзор программного обеспечения ZX-Spectrum для создания звуков и музыки.

Мир звуков Спектрума - глава 7.1: Редактор звуковых эффектов SUPER SOUND.

Мир звуков Спектрума - глава 7.2: Музыкальный редактор Wham the Music Box.

Мир звуков Спектрума - приложения 1, 2: листинги звуковых эффектов SUPER SOUND'а, советы по использованию ассемблера.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Графика - картинка АNSI графики.
Статистика по поинтам - Сводная таблица.
Кодер - Кодер оборудован компом. Комп у кодера казенный. Он кодит.
Inferno - Авторы журнала.
Чёртова дюжина неудобных вопросов членам жюри - Евгений Лукин.

В этот день...   25 апреля