
Сообщение от
Ares
Тоже не помогло
Ну и написал :
Скрытый текст
Код:
org 25000
start
ei
xor a
out (254),a
call 49163
loop halt
call 49166
call scroll
ld a,127
in a,(254)
rra
jr c,loop
call 49169
ret
scroll ld a,1
dec a
and 7
ld (scroll+1),a
jr nz,s_left
new_let ld hl,text
ld a,(hl)
inc hl
ld (new_let+1),hl
or a
jr nz,not_end
ld hl,text
jr new_let+3
not_end ld l,a
ld h,0
add hl,hl
add hl,hl
add hl,hl
ld de,#3c00
add hl,de
ld de,buff
ld b,8
loop2 ld a,(hl)
rrca
or (hl)
ld (de),a
inc l
inc de
djnz loop2
s_left ld hl,16384+31
ld de,buff
ld b,8
loop1 ld a,(de)
rlca
ld (de),a
inc de
push hl
dup 31
rl (hl)
dec l
edup
pop hl
inc h
djnz loop1
ret
buff ds 8
text db "AAA BEST CODER !!!!!!!!!!! "
db 0
[свернуть]
И тоже не получилось
Подскажите что я делаю не так
Ares, в этом коде всё нормально. Просто вызовы call 49163, call 49166 и call 49169 - это вызовы блока кодов плейера с музыкой (инициализация, проигрывание ноты в цикле, стоп). Тебе нужно подготовить блок кодов плейера с музыкой.
Если у тебя есть музыка - файл PT3, то такой блок можно сделать, например, с помощью муз. редактора Vortex Tracker II.
---------- Post added at 14:26 ---------- Previous post was at 14:02 ----------
Запускаем на писишке Vortex Tracker. Открываем в нем свою музыку: File | Open | находим свой PT3-файл | Открыть. Файл откроется в редакторе.
Можно его послушать (F6 - старт, Esc - стоп).
Делаем блок кодов плейера и музыки: File | Exports | Save with ZX Spectrum player. Откроется окно, в котором по умолчанию задан адрес компиляции #C000 (49152). Согласимся. Параметр Format выберем Hobeta with player. Нажмем OK. Укажем папку, куда сохранить файл. Нажмем кнопку "Сохранить". Выйдем из редактора. Получили файл <имя>.$c.
Этот файл почти то, что нужно, но не совсем. Это не просто блок кодов, а файл в формате Hobeta. Его нужно скопировать в образ Спектрумовской дискеты - в файл *.TRD (или *.SCL), где он станет обычным TR-DOS-файлом. (Я делаю это в Total Commander'e с плагином inTRD.wcx).
Тогда из твоей программы этот блок кодов с плейером и музыкой должен вызываться с такими тремя call: call 49152 - инициализация музыки, call 49152+5 - проигрывание музыки в цикле, call 49152 - повторный вызов означает "стоп".
---------- Post added at 14:29 ---------- Previous post was at 14:26 ----------
Для запуска всего этого хозяйства хорошо бы написать БЕЙСИК-загрузчик:
Код:
10 CLEAR 24999
20 RANDOMIZE USR 15619: REM :LOAD "prog" CODE 25000
30 RANDOMIZE USR 15619: REM :LOAD "music" CODE 49152
40 RANDOMIZE USR 25000
где вместо "prog" поставь имя своей программки, а вместо "music" - имя блока кодов плейера и музыки.