Сергей Русеев из с. Ленинское прислал несколько программ.
КОРР: Так как у меня "Пентагон 128" с AY, то я не мог пройти эту тему
вниманием, и сделал очередной индикатор уровня:
ORG 40000
LD HL,23290
LD A,8
LD E,3 ;цвет полоски индикатора
CALL KANAL
LD HL,23291
LD A,9
LD E,5
CALL KANAL
LD HL,23292
LD A,10
LD E,7
CALL KANAL
RET
KANAL LD BC,#FFFD
OUT (C),A
LD A,#3D
LD (MODE),A
IN A,(C)
AND 15
LD B,16
LOOP CP 0
CALL Z,STIR
LAB1 LD (HL),E
PUSH DE
LD DE,32
SBC HL,DE
POP DE
MODE DEC A
DJNZ LOOP
RET
STIR XOR A
LD (MODE),A
LD E,0 ;цвет стирания
RET
Для демонстрации этой программы можно использовать следующий BASIC-блок:
10 INK 7: PAPER 0: BORDER 0: C
LEAR 39999: RANDOMIZE USR 15619:
REM : LOAD "ind_ay"CODE
15 INPUT "FILENAME "; LINE A$
16 INPUT "ADRES "; LINE D$: IF
D$="" THEN LET ADR=49152: GO TO
20
17 LET ADR=VAL D$
20 RANDOMIZE USR 15619: REM :
LOAD A$CODE ADR
30 INPUT "INIT "; LINE I$: IF
I$="" THEN LET INIT=49163: GO TO
32
31 LET INIT=VAL I$
32 INPUT "NEXT "; LINE N$: IF
N$="" THEN LET NEXT=49166: GO TO
40
33 LET NEXT=VAL N$
40 RESTORE 90: FOR N=0 TO 7: R
EAD A: POKE USR "A"+N,A: NEXT N
50 FOR Y=8 TO 21: PRINT AT Y,2
6;"AAA": PRINT #0;AT 0,26;"AAA";
AT 1,26;"AAA"
60 RANDOMIZE USR INIT
70 RANDOMIZE USR NEXT: PAUSE 1
: RANDOMIZE USR 40000: IF INKEY$
="" THEN GO TO 70
80 RANDOMIZE USR INIT
90 DATA 238,238,2388,0,238,238
,238,0