Forum - ZX Spectrum emulator for IBM. About the hexadecimal system. Program ZX-Stars. Oddities in the Elita

ZX Review #7-8-9-10
(C) Kashnikov V., Samara Region.,
g.Kinel


  I'll start with a bit of a forgotten game -
ELITE.


   1) As Double
stars, then I have some
doubts about their "dvoichnosti.
As you know, a double star -
it's two suns, which revolve around a common center of mass. A
in fact: I fly to the planet, and instead of two suns there are 
only two Coriolis or dodecahedron - just two stations. I'm 99% 
sure that the world's two stations, if the compass is straying, 
and it there is another circle, or

square (usually the left side of the compass). When approaching 
a station as usual, and when approaching another start

manifest various oddities:
no signal S, the station
may be far from the planet, or nearly so above the surface, 
there were other minor details (for example, the inlet is 
directed away from the planet). True, I did not understand the 
system, how to find one or another station.


   2) After I read
Book by E. Kaufman "Space
boundaries of the theory of relativity "
1981, I went into their
theory about the planet RAXXLA. Black
hole? - A new idea, or not really new? Judging by the written 
in the book, from the black hole you can get from (-) infinity 
to (+) infinity in time. Or maybe you can out of it

go to RAXXLA? Main -
only to find it. But do not run away - because in the first
mission, the sun explodes, and who knows what will happen to 
him on Over time - a white dwarf or a black hole, or even

something. So, in essence: you become ELITE - wind to the 
planet where the first mission to fulfill, and will 
investigate. There.


   3) When the screen goes circles during the flight to another 
planet, then both Q + O + C + A. Try to predict what

will! And now download the game and
check, then read on. Well? That's right, nothing
happened. Ha-ha! Then all
honestly. Download the game. Tune in to a flight to another 
planet. Off and at full speed, flying toward the planet. When 
height would be minimal and red light will blink

press C, further experiment and read on. I pressed the H and 
"Happy Feet" to another planet. After this has not worked up 
control of the ship, down, left, right, and the rest

worked fine. He flew so
I read a version of "M1 loading",
although he moved on to "M128".

   Now just add-on.
First mission to the M128 give much later than in M1. Net time 
I have played at least five days, and the job was never 
received. Time in this version stations are not going as well 
in version M1 loading time goes on everywhere. By

my estimation of the time meet bytes 94-102, and for what
Need 103 and 104 - is unclear, but
it is suspected that this, too
time. I have no floppy drive,
therefore have to settle for old versions of ELITE,
and so want to "rubanutsya in
ELITE-2!


   The next question focuses on
ZX-Spectrum emulator for IBM.
I wanted to try to edit the font in the game ACADEMY using 
FONTEDIT, but it font is not found. Manual search also gave 
nothing. Perhaps emulator compresses data, and then write? If 
yes, You can disable this or not?


   Since my last letter I sent you their program ZX-STARS,
Now send her away, but a bit optimized. Ticks
marked differences between the versions. Hence the question - 
is the program different versions or different editorial? If 
you can, then tell me in which cases the version number is in 
the public - Editorial (preferably with specific examples). And 
in general, may I put (c) in this program? Indeed, almost half 
of the program was not written by me but by other authors (RND 
procedures and PLOT). 


   I decided to try "sbatsat"
Program Life, which you
previously mentioned. And figured
decided that the basic procedures are procedures for survival 
and death at the same time, and the procedure was born. Get 
everything except for birth - no trying to figure out how to do 
it. Maybe you help?



   With regard to the hexadecimal number system, then I did
barely digested. But it became
much easier when I had a scientific calculator
Citizen, which can translate numbers in HEX, DEC, BIN, OCT
system, and also has some additional features. Surely, you know 
where applicable vosmerichnayaV (OCT) Vsistema - I

I do not know. HEX-system, in my
opinion, is inconvenient because of ambiguities
address # A528, and because it is unclear where the program.
If there was a command SAVE "name"
CODE # A528, nn, then everything would have been
better. Although HEX-system is
and its advantages. For example,
immediately clear what the numbers are in
register pair (LD HL, 16384 and
LD HL, # 4000). For myself, I decided
that the use of any system - a matter of practice.


   Program listing ZX-STARS:
140.
; ZX-STARS Version 1.2
3 (C) Vladimir Kashnikov 07/20/1996


        ORG 58210
SEED EQU 23672

        LD HL, # 4000

        LD DE, 58622

        LD BC, 6912

        LDIR

        XOR A

        OUT (# FE), A

        LD HL, # 4000

        LD (HL), A

        LD DE, # 4001

        LD BC, 6143

        LDIR

        LD A, 7

        LD HL, 22528

        LD (HL), A

        LD DE, 22529

        LD BC, 767

        LDIR

        RES 5, (IY +1)

        LD HL, 58420

        LD B, 101
P0 PUSH BC

        LD C, (HL)

        INC HL

        LD B, (HL)

        INC HL

        PUSH HL

        CALL PLOT

        POP HL

        POP BC

        DJNZ P0
BEG LD HL, 58420

        PUSH HL

        CALL RND

        LD A, D
P1 CP 101

        JR C, CON1

        SUB 100

        JR P1
CON1 ADD A, A

        POP HL

        ADD A, L

        LD L, A

        PUSH HL

        LD C, (HL)

        INC HL

        LD B, (HL)

        CALL PLOT

        CALL RND

        LD A, E

        CP 192

        JR C, CON2

        AND 192
CON2 POP HL

        LD (HL), D

        INC HL

        LD (HL), A

        LD B, A

        LD C, D

        CALL PLOT

        BIT 5, (IY +1)

        JR Z, BEG

        LD A, (23624)

        SRL A

        SRL A

        SRL A

        OUT (# FE), A

        LD HL, 58622

        LD DE, # 4000

        LD BC, 6912

        LDIR

        RET
RND LD HL, (SEED)

        LD A, H

        OR L

        JR NZ, NOZERO

        INC L
NOZERO LD A, L

        RLCA

        XOR H

        RLCA

        RLCA

        XOR H

        RLCA

        XOR H

        RLCA

        ADC HL, HL

        LD (SEED), HL

        EX DE, HL

        RET
PLOT LD A, 191

        SUB B

        LD B, A

        AND A

        RRA

        SCF

        RRA

        AND A

        RRA

        XOR B

        AND # F8

        XOR B

        LD H, A

        LD A, C

        RRCA

        RRCA

        RRCA

        XOR B

        AND # C7

        XOR B

        RLCA

        RRCA

        LD L, A

        LD A, C

        AND # 07

        LD B, A

        INC B

        LD A, # FE
LOOP RRCA

        DJNZ LOOP

        LD D, # FF

        XOR D

        LD B, A

        LD A, (HL)

        XOR B

        LD (HL), A

        RET


; ZX-STARS Version 2.1
3 (C) Vladimir Kashnikov 09/09/1996


        ORG 58210
SEED EQU 23672

        LD HL, # 4000

        LD DE, 58622

        LD BC, # 1B00

        LDIR

        XOR A

        OUT (# FE), A

        LD HL, # 4000

        LD (HL), A

        LD DE, # 4001

        LD BC, # 17FF

        LDIR

        LD A,% 111

        INC HL √

        LD (HL), A

        LD DE, # 5801

        LD BC, # 02FF

        LDIR

        RES 5, (IY +1)

        LD HL, 58420

        LD B, 101
P0 PUSH BC

        LD C, (HL)

        INC L √

        LD B, (HL)

        INC L √

        PUSH HL

        CALL PLOT

        POP HL

        POP BC

        DJNZ P0
BEG LD HL, 58420

        PUSH HL

        CALL RND

        LD A, D
P1 CP 101

        JR C, CON1

        SUB 100

        JR P1
CON1 ADD A, A

        POP HL

        ADD A, L

        LD L, A

        PUSH HL

        LD C, (HL)

        INC L √

        LD B, (HL)

        CALL PLOT

        CALL RND

        LD A, E

        CP 192

        JR C, CON2

        AND 192
CON2 POP HL

        LD (HL), D

        INC L √

        LD (HL), A

        LD B, A

        LD C, D

        CALL PLOT

        BIT 5, (IY +1)

        JR Z, BEG

        LD A, (23624)

        SRL A

        SRL A

        SRL A

        OUT (# FE), A

        LD HL, 58622

        LD DE, # 4000

        LD BC, 6912

        LDIR

        RET
RND LD HL, (SEED)

        LD A, H

        OR L

        JR NZ, NOZERO

        INC L
NOZERO LD A, L

        RLCA

        XOR H

        RLCA

        RLCA

        XOR H

        RLCA

        XOR H

        RLCA

        ADC HL, HL

        LD (SEED), HL

        EX DE, HL

        RET
PLOT LD A, 191

        SUB B

        LD B, A

        AND A

        RRA

        SCF

        RRA

        AND A

        RRA

        XOR B

        AND # F8

        XOR B

        LD H, A

        LD A, C

        RRCA

        RRCA

        RRCA

        XOR B

        AND # C7

        XOR B

        RLCA

        RRCA

        LD L, A

        LD A, C

        AND # 07

        LD B, A

        INC B

        LD A, # FE
LOOP RRCA

        DJNZ LOOP

        LD D, # FF

        XOR D

        LD B, A

        LD A, (HL)

        XOR B; inversion of the pixel

        LD (HL), A

        RET
2

   Ed.: As for number systems. We
also believe that the use of a
radix - purely a personal matter
programmer. After all, he wrote the source code for
themselves and not for someone, so you need them
to write as it is convenient to him.

   Naturally, the source code, which go on
general considerations (for example, in our
magazine), should be easy to read and understand, but here, 
too, should not say that the decimal number system only 
pomeha.VNaprimer, esliVtsiklVnado repeated 2000 times, then LD 
BC, 2000 will be look clearer than LD BC, # 07D0. A

If we load the B number 3, and C - 6
in this case would be clearer LD
BC, # 0306. So what sorts of skirmishes on the
this topic, we believe just as meaningless as the skirmish on 
the topic "what is better - QWERTY or YAVERTY. "Unfortunately, 
this kind of squabbles have become very common, although there 
is in our opinion, it is worth recalling the proverb "the taste 
and color mates there. "Surely the programmers so

difficult to make a removable table keys as
in the ZX-WORD?

   Now, regarding the strange plants in
ELITE. I, the editor of this paper, also once faced with the 
phenomenon. I saw a station that was almost the planet's 
surface to the entrance, directional from it. I fly into it 
could not - I collided with the planet. We believe that the 
phenomena of this kind - it's a bug of the program. You can 
even try to explain the mechanism his education. So when are we 
going to planet in the right direction, we see the planet and 
the station at some distance from it. Now imagine we flew to 
the planet in a diametrically the opposite point. Advised to 
also pay attention to one important fact - all objects in the 
game are transparent, through them all seen. And, flying close 
enough to planet, we can see the station, located on the 
opposite side of the planet. Naturally, we'll see her entrance 
to her, ie as if directed from the planet. Can

even catch a signal S (which was then with
I). Now imagine that due to
Some features the planet's surface as it moves, resulting in 
the station can be even sit. There you are, another station on 
the planet's surface to the input directed to it. This 
conjecture even once been tested experimentally. Broke so I 
uploaded the old state and repeated the flight. As expected, 
while approaching the planet signal has been received S, which 
went directly from its center. I became fly around the planet, 
being oriented so that the signal was always on the left. After 
a while I saw a normal station, which, without any weirdness

could fly into.


           *