From
Aleksey Malov
→
To
Oleg Parfenov
14 September 2001
Hi, Oleg!
Mon 10 Sep 2001, at 19:17:40 Oleg Parfenov told All about PT3.4 music.
OP> Tell me, plz, how to make subj play.
OP> xxxx - init
OP> xxxx+5 - play
OP> xxxx+8 - stop
OP> Did the following:
OP> ran init and looped through play
OP> Result:
OP> 1) from BASIC - right after init
OP> 2) in ASMA directly - everything worked ok ;) only there was no sound
OP> 3) in ASMA it was assigned to interrupts - see 2
OP> Nevertheless, BV plays everything ok.
Mouzon must be compiled with the player and loaded to the compilation address.
org #6000
call init
lp ei
halt
call play
ld a,#7f
in a,(#fe)
rrca
jr c,lp
jp stop
Bye, Oleg.
WBR, Vivid^Brainwave of the X-Project association.
From
Sergey Zotov
→
To
Oleg Parfenov
25 September 2001
On Sat 15 Sep 2001, Oleg Parfenov wrote to Aleksey Senilov:
OP>>> Did the following:
OP>>> ran init and looped through play
OP>>> Result:
OP>>> 1) from BASIC - right after init
OP>>> 2) in ASMA directly - everything worked ok ;) just no sound
OP>>> was
OP>>> 3) in ASMA I hung it up on interrupts - see 2
OP>>> Nevertheless, BV plays everything ok.
AS>> What about music with a player? :)
OP> Oh, damn it, when I wrote this letter, I realized that someone was doing it
OP> there will be someone who will ask this question. I didn’t just think about it
OP> will be the only answer:(((.
OP> Well, okay, I’ll answer. I’m not a moron, strange as it may seem, well
OP> with a player, of course.
OP> P.S. I don’t need any more letters like la-la-la tra-la-la
OP> answer to the point and it’s better to run a program on ASMA (I’ll be grateful).
If you don’t write sotit, everyone will be vulgarized... Your problem is as old as time! You can't
initialize the muse via BASIC! Play STS. And what can you see? Parvil! DI! By
exiting the initializer interrupts are prohibited.
call init_music
ei
Here's what to do. At the beginning.loop call play_music
halt
...
jr loop
And that's how they play it.
If you hang it on im 2, then do not forget to put at the end of the handler:
ei
ret; or reti
I wish you good luck. ;)
ZXNet: 500:8462/1 ~/ <~ http://zs80.chat.ru/
Fido: 2:5057/21.93 /_ _> ftp://zx-museum.org.ru/zs/
From
Aleksandr Majorov
→
To
Sergey Zotov
27 September 2001
Hello Sergey!
25 Sep 01 21:23, Sergey Zotov -> Oleg Parfenov:
[skip]
SZ> Sotit cannot be written - everyone will vulgarize... Your problem is as old as the world!
SZ> You cannot initialize music via BASIC!
It's possible!
SZ> Play STS. And what can you see? Correct!
SZ> DI! Upon exit from the initializer, interruptions are disabled.
And who’s stopping you from doing PAUSE 1 after RAND USR (preferably in the same
line, i.e. through a colon)?
Alexand
From
Ilya Kudryavcev
→
To
Aleksandr Majorov
6 October 2001
Hello Alexander!
October 6, 2001 (it was 03:54 then)
Aleksandr Majorov in his letter to Sergey Zotov wrote:
AM> Hello Sergey!
AM> 04 Oct 01 23:19, Sergey Zotov -> Aleksandr Majorov:
AM> [skipped]
AM>>> And who is stopping you from doing PAUSE 1 after RAND USR
AM>>> (preferably in the same line, i.e. through a colon)?
SZ>> Yep. And let's call DI:HALT :) pause in BASIC is generated via halt
AM> Please look at the ROM ;)
AM> PAUSE generation as EI: HALT.
AM> In BASIC I always unlocked interrupts through PAUSE 1
AM> after init
In short, you've already had enough. You have wandered away from a specific question...
So, I'll explain.
In the case of normal Mouzons, I mean a different editor, enough
10 rand usr init
20 rand usr play
30 pause 1
40 go to 20
And in this situation, after calling the initialization of the melody, the computer freezes...
Why?
Because the exit from the Mouzon initialization procedure is done like this
first of initialization we do DI
then just RET.
In this case we exited with interrupts disabled, which means IM 1
the BASIC interpreter's processing mode is stopped, and we just get something like
computer hanger...All you need to do is fix the player so that the output from the init is EI RET
Everything...
Best regards, Ilya
From
Aleksandr Majorov
→
To
Ilya Kudryavcev
8 October 2001
Hello Ilya!
06 Oct 01 23:34, Ilya Kudryavcev -> Aleksandr Majorov:
[skipped]
IK> In short, you already got it.
Yes, this is our hobby :)
IK> You have gone into the wilds from a specific question...
I know ;)
IK> So, I’ll explain.
IK> In the case of normal music zones, I mean another editor,
IK> enough
IK> 10 rand usr init
IK> 20 rand usr play
IK> 30 pause 1
IK> 40 go to 20
Uh-uh, and with which editors did this work?
[Windows killed]
IK> Because the exit from the music zone initialization procedure is done like this
IK> first of initialization we do DI
IK> then just RET.
DI seems to be done quite far from RET
And it seems that any PT has always done DI.
IK> In this case, we exited with interrupts prohibited, which means
IK> that IM 1 processing mode of the BASIC interpreter is stopped, and we just
IK> we get, as it were, a computer hanger...
IK> All you need to do is fix the player so that when you exit the init
IK> was EI RET
Why else would you fix the player?Isn't it easier in the case of BASIC to do PAUSE 1 after USR init?
Alexand