SoundTrack: MR.Z/LS/1997 X-PARTY! (C) BD!
__________________________________________
(C) Kolotov Sergei g.Shadrinsk, SerzhSoft
__________________________________________
Remake of certain procedures 1993
__________________________________________
In the ZX-REVIEW-93 sec. 121 was published
procedure H. M. Stinova called DOORS,
realizing the effect of cleaning the screen by
moving apart pictures in
S hand. Procedure zanimac S em 101 bytes and, frankly govo
S series, is written is not very effective) S
fektivno.Ispolzovany alm S ternativnye registers, but I S HL
register as anywhere else and do not RS remains, that does not
give
S possible to call this
procedure of BASIC. Applying command block
transfer LDIR and LDDR, managed to "make friends" with new
procedure BASIC (good in her alternate registers are not
generally used), more than halving the memory footprint and
significantly improve performance. New
procedure has also been completely moved. When cleaning the
screen image established the current system attributes
from cell 23693. That is, you can change the color right out of
Basic teams INK, PAPER, BRIGHT, FLASH, or
directly gave the command POKE 23693, n before
procedure call on RANDOMIZE USR adr.
Performing POKE adr +1, n (n = 1 .. 16), we can set the number
of shifts performed for a starting procedure.
; SCREEN-APART
; (C) SerzhSoft, 11 july 1997
;
ORG 60000; address Assem
blirovaniya
;
ATTR_P EQU 23693; current am
ributy wasps
novnogo eq
wound
;
APART
LD B, # 10, the number of pairs
shift equivalent
wound in a hundred
hand
LP_APR1 PUSH BC; store
counter
shifts on
stack
LD A, (ATTR_P); A = attributes
for filling.
after sdiga
LD DE, # 5AFF; most village
glacial bytes
Attributes
LP_APR2 LD H, D; copied
this address
LD L, E; in HL and
reduced to
1:
DEC HL; address before
last
byte lines
LD BC, # 000F; shift: 15
bytes
LDDR; shift right
half-line
right
LD (DE), A; laying down
it new
value
LD BC, # FFF2; correction
p-pa HL -
Now he
ADD HL, BC; indicates
the second byte
line
LD E, L; DE = HL
DEC E; first byte
left in a
SRI
LD BC, # 000F; will shift
causeway 15 bytes
LDIR; shift left
half-line
left
LD (DE), A; laying down
it new
B (clear
ka)
LD BC, # FFEF; correction
Register DE
ADD HL, BC; the transition to
one
EX DE, HL; line up
to screen
(Attributes)
BIT 3, D; if attributes
You did not finish
were,
JR NZ, LP_APR2; something cool
cycle
XOR A; moved to
area boundary
graphs
BIT 6, D; if we do
not yet over
climbed into the ROM
JR NZ, LP_APR2; then continued
twist it
cycle
POP BC; recovered
Vai counter
shifts
DJNZ LP_APR1; twist cycle
posited
number of times
RET; exit
Procedure
Hex dump procedure APART:
EA60: June 10 C5 3A 8D 5C 11 FF: 58
EA68: 5A 62 6B 2B 01 0F 00 ED: A1
EA70: B8 January 12 F2 FF 09 5D 1D: 99
EA78: 01 0F 00 ED B0 December 2001 EF: 11
EA80: FF 09 EB CB 5A 20 E2 AF: 1933
EA88: CB 72 20 DD C1 10 D3 C9: 19
Saving: SAVE "apart.c" CODE 60000,48
On page 35 ZX-REVIEW-93 published
program of the shadow contour. I managed to
significantly improve the procedure for
Just rewrite it from scratch. New
procedure takes 138 bytes (old - 211
B) and became relotsiruemoy. As before,
to get a pseudo-three-dimensional image, simply select the
attributes with higher brightness places on the screen, which
require shade and call the procedure SHADOW. There is a
possibility to change configuration of the most shade. To do
this you need to change the values in two teams load register
pair DE, which are marked by asterisks. In the present program
are set to # 5500, # 5500 respectively, which gives a shadow
with a little rounded edges. Substituting # 2A80,
# AA80, we shade with straight edges. To get the same result as
in the original version, you must install # AA00, # 2A80. But
the values of # 7F80, # FF80 will show you a continuous,
unprimed shadow.
; SHADOW-PROCESSOR
; (C) SerzhSoft, 11 july 1997
;
ORG 60000; address Assem
blirovaniya
;
SHADOW
LD HL, # 5AFF; Last
bytes of attributes
Comrade
LP_SHD1 LD BC, # 0020, the number of bytes in
one line
Attributes
DEC HL; transition to
previous
attribute
BIT 3, H; we have not yet
"Stopped" in the
schedule?
RET Z; if you have already, then
exit
Procedure
BIT 6, (HL); an attribute
with increased
Brightness?
LP_SHD0 JR Z, LP_SHD1; if not,
previous
attribute
PUSH HL; store
Address Atri
rubble on the degree
Ke
INC L; the transition to
next
attribute
LD A, L; check
transition
AND # 1F; to the next
line Atri
casks
JR Z, GO_SHD2; if so,
jumping
it
BIT 6, (HL); included whether
Brightness?
JR NZ, GO_SHD2; if so,
jumping
it
PUSH HL; store
Address Atri
rubble on the degree
Ke
ADD HL, BC; the transition to
attribute on
line below
LD C, (HL); placed
this attribute
in the register C
POP HL; recovered
Vai address
Attribute
LD A, H; calculation of Adre
ca
AND # 03; top Do
SRI
RLCA; familiarity
RLCA; in the screen
RLCA; for a given
OR # 40; address in
LD H, A; region am
ributov
LD DE, # 5500 * for the image
creation of those
neither to the right *
LD B, # 0C; height of the shadows:
12 pixels
LP_SHD2 LD A, E; shifted
byte image
shadow lines
AND # F0; reject
unnecessary "rules
curves "bits
OR (HL); impose
content
Screen
LD (HL), A; and write
new byte
screen
INC H ;---------------------------------
LD A, H;
AND # 07; standard
JR NZ, GO_SHD0; sequence
sequence
LD A, L; commands
transition
ADD A, # 20, on line or
same
LD L, A; in the screen
area
JR C, GO_SHD1;
LD A, H;
SUB # 08;
LD H, A ;--------------------------------- GO_SHD1 LD
A, H; byte
addresses
chart
CP # 58; verification. on
OUT OF
border eq
wound
JR NC, GO_SHD2; if so,
jumping
it
BIT 6, C; check yar
bone: possible
whether the image
JR NZ, GO_SHD2; reap shadow
if not,
jump
GO_SHD0 SRL D; rotation of
times
RR E; shadow line
right
DJNZ LP_SHD2; cycle on the number of
lu lines
shadow
GO_SHD2 POP HL; recovered
Vai address
Attribute
PUSH HL; store
Address Atri
rubble on the degree
Ke
LD BC, # 0020, the number of bytes in
one line
Attributes
ADD HL, BC; the transition to
attribute under the current
LD A, H; check but
mailing address
Attribute
CP # 5B; on the occurrence of
the boundaries
Screen
JR NC, GO_SHD4; if the limit
affairs,
transition
BIT 6, (HL); if the WMO
leads to the screen
but the brightness
JR NZ, GO_SHD4; enabled,
anyway -
transition
INC L; next
bytes of attributes
elements (right)
LD C, (HL); put in
Register C
LD A, H; calculation of Adre
ca
AND # 03; top Do
SRI
RLCA; familiarity
RLCA; in the screen
RLCA; for a given
OR # 40; address in
LD H, A; region am
ributov
LD DE, # 5500 * for the image
creation of those
or below *
LD B, # 04; height of the shade
bottom
LP_SHD3 DEC L; return on
byte back
LD A, (HL); take a byte
Screen
OR D; laid le
vy bytes of
fold line
LD (HL), A; shadows and
revenge on
behind the screen
INC L; the transition to
bytes to the right
LD A, L; check
output
AND # 1F; by the right
bound exciton
Rake:
JR Z, GO_SHD3; if so,
jumping
it
BIT 6, C; if the atomic
ribut with clearly
bone,
JR NZ, GO_SHD3; it the same way -
jumping
it
LD A, (HL); take a byte
Screen
OR E; imposed
Right byte
Image Line
LD (HL), A; shadows and
revenge on
behind the screen
GO_SHD3 INC H; the transition to
next
line
SRL D; rotation of
times a
RR E; shadow line
right
DJNZ LP_SHD3; cycle on the number of
lu lines
way the shadows
GO_SHD4 POP HL; recovered
Vai address
Attribute
XOR A; mouth. Flag Z,
to JR Z
worked
JR LP_SHD0; go to
JR Z command
, LP_SHD1
Hex dump procedure SHADOW:
EA60: 21 FF 5A 20 January 2000 2B CB: DB
EA68: 5C C8 CB 76 28 F5 E5 2C: E5
EA70: 7D E6 1F 28 3A CB 76 20: 9F
EA78: 36 E5 09 4E E1 7C E6 03: 1A
EA80: 7 July 2007 F6 40 67 November 2000: 2D
EA88: 55 06 0C 7B E6 F0 B6 77: 57
EA90: 24 7C E6 20 July 1913 7D C6: 7D
EA98: 20 6F 38 04 7C D6 August 1967: 0E
EAA0: 7C FE 58 30 0A CB 71 20: F2
EAA8: 06 CB 3A CB 1B 10 DC E1: 50
EAB0: E5 20 January 2000 09 7C FE 5B: 7E
EAB8: 30 2C CB 76 20 28 2C 4E: 01
EAC0: 7C E6 03 7 July 2007 40 F6: 5A
EAC8: 67 11 00 55 06 04 2D 7E: 34
EAD0: B2 77 2C 7D E6 1F July 28: C0
EAD8: CB 1971 March 20 7E B3 77 24: ED
EAE0: CB 3A CB 1B 10 E8 E1 AF: 3D
EAE8: 18 82 00 00 00 00 00 00: 6C
Saving: SAVE "shadow.c" CODE 60000,138
Construction materials;
- Planetology;
- Shipbuilding;
- Weapons.
Just be sure to enter the library or encyclopedia designed
devices and structures with graphical and textual description
for each type of research.
Fifth, many more "all-different-good." This means that the
game will be on at the upcoming 1998.
I'm not specifically "accurate and final" term release of the
game, partly because he did not want to "jinx":), in part, so
as not to disappoint you disregard period. Of course, it will
depend on your interest and your feedback ...
For all questions please contact us at:
428000, Cheboksary, PO Box 351,
either on the FIDO (note new address):
2:5066 / 19 to ILYIN SERGEY
Always glad to new acquaintances, business
proposals, and just good friends.
Now, a bit of advertising:
Dear owners Spectrum'a. If you
Need new software for your computer, you can always write to us
mailbox (see above), and cheboksartsy,
in addition, can go to the firm
Delta-C "(in the first professional school), where you select
everyone, I need to work on SPECCY.
Well, now just everything. It remains to interpretation
once again congratulate you on New Year 1998
and wish all the best in this mortal
world. Particularly strongly and ardently congratulate our
friends, acquaintances and just good people working on the
stage SPECCY:
GREETS
ZER0 FLASH
ACCEPT E-MAGE
X-TRADE EXTREME
FATALITY TRIUMPH
XL-DESIGN COPPER feet
Omega HACKERS REAL software
Power of SOUND THE Hot Heads
Laser SOFTWARE KINGDOM Dreams
Digital REALITY MERLIN software
The HEAT HACKERS RED drunkards ltd
Eternity INDUSTRY AMAIZING softmakers
Binary DIMENSION CYBER PUNKS Unit
and
All members of PHANTOM FAMILY corporation!
SPECCY RULES FOREVER!
Graphic screens, you can view
next part