Hall of Fame - schA say number 1: optimization of procedures, the announcement of the magazine and the new arcade toy.

Deja Vu #09
(C) Max / CBX / BDA, 10.09.99.
__________________________________________



   All the same crappy in Siberia, and not
only in winter, but fall ... Stood out the most is the weather 
that neither is squalid - A cold wind with rain. On a 
thermometer something around 7 - 8. And that's nothing -

Last year all the snow fell on Sept. 20 ...

   For half an hour ago, I pinned home with study, did not 
escape the cold rain. Sit Now, an article stuffed.


   And it's not about coding this article - so,
detail ...



                  *



   I was honored in August spekovskuyu press and
Coy decided what to add:


1) DEJA VU # 08:



   I wrote about a bug in the player from PT3. Gluck
was to hang the player is
Vibrate while processing the command in the channel B
(Editor anything like this was not observed).

   Somewhere in a month after the release of the journal
my hands got BestView 2.8, in help'e
to which Ivan Roshchin told about the method to correct this 
bug: in player'e at offset # 0A34 # 1A bytes must be replaced 
by # 38.


   I believe that this method is incorrect,
as while the team does not Vibrate
will be used in the channel B. To make it
everything seems to work, must be replaced by
# 1D!

   But that's not all! As a team player
Vibrate is buggy in all channels,
regardless of how fix'a! It turns
(And this is easily seen from the hearing) that
player (or the compiler?) mixed in some places the parameters 
of this command. 

   Can conduct the following experiment.
In the editor, make any "long-playing" a sample and put in a 
note to one of the channels with the samples. Then, on a note 
Put a team Vibrate (COM 60A1) and Play the pattern. You will 
hear intermittent sounds: # 0A frame is sound, 1 frame - No 
sound. Now kompilnite all this and Listen outside the editor: 1 
frame audio a, # 0A frames - no sound!


   For fix'a require such changes
(Player otkompilen at address # C000):



 Address There should be

 # C86B LD A, (DE) LD A, (DE)

         LD (# CBA3), A LD (# CB9B), A

         INC DE INC DE

         LD A, (DE) LD A, (DE)

         INC DE INC DE

         LD (# CB9B), A LD (# CBA3), A

         LD A, # 8C LD A, # 8C

         LD (# CB8A), A LD (# CB8A), A

         RET RET

 # CA29 LD A, (DE) LD A, (DE)

         LD (# CC26), A LD (# CC1E), A

         INC DE INC DE

         LD A, (DE) LD A, (DE)

         INC DE INC DE

         LD (# CC1E), A LD (# CC26), A

         LD A, # 1A; (# 38) LD A, # 1D

         LD (# CC1B), A LD (# CC1B), A

         RET RET

 # CD35 LD A, (DE) LD A, (DE)

         LD (# C6B3), A INC DE

         INC DE LD (# C6B8), A

         LD A, (DE) LD (# C6A0), A

         INC DE LD A, (DE)

         LD (# C6B8), A INC DE

         LD (# C6A0), A LD (# C6B3), A

         XOR A XOR A

         LD (# C667), A LD (# C667), A

         LD L, A LD L, A

         LD H, A LD H, A

         LD (# C660), HL LD (# C660), HL

         RET RET



   After all this, compiled RESISTANCE sounds just like in the 
editor. 

   Yes, one more thing: For some reason initializer does not 
return flags teams in the initial state. That is, for example, 
plays a your sample with the team Vibrate, and you're in this

time stop playing Mouzon,
initialize it (CALL # C000) and start playing again. So, in 
some cases, the first notes of the melody may be played with 
nevyklyuchennoy "team Vibrate!




2) ADVENTURER # 09:



   Ivan Roshchin boasted of his procedure
translation of character code ("0 ... 9", "A. .. F" and
"A. .. f") in the corresponding HEX-number # 00 -
# 0F. She held this protsedurka 10 bytes, but
less, apparently, do more, you can:


    Was: So:



   RES 5, A AND # 1F

   BIT 6, A SUB # 10

   JR NZ, $ +4 JR NC, $ +4

   ADD A, # 27 ADD A, # 19

   SUB # 37



   (10 bytes) (8 bytes)



3) BORN DEAD # 0B:



   Therein as to the procedure as
to clear the screen can be a little more podsokratit (as in a 
byte): 

 Was written: It should read:



   XOR A XOR A

   LD HL, # 5B00 LD HL, # 5B2B

   DEC HL LD (HL), A

   LD (HL), A OR (HL)

   OR (HL) JR NZ, $ -4

   JR NZ, $ -3



   Only now it is still as it cleans and
part of the buffer the printer ...



                  *



Finally - a little announcement:

1) RUSH # 1 was little article about how the sounds

   done (nose:). It so happened that

   the week before reading this article, I

   itch to dealing with this trial
   lemoy. From the article, I realized that there is any
   di which are interested, therefore, decided

   share the results of their own

   research.

     The results represent a simple
   tenky editor of samples. Editor to
   fairly simple, work with the disk generally speaking
   slit will be Busick. Nevertheless, emergency medical service
   ly possible to do decent. In general,

   wait for the next issue, but so far only

   Screenshot: