Programmers - The hacker club: Modernization of the game "Black Raven-1" for 512k expansion (#7FFD).

Black Crow #01
 MODERNIZATION OF THE GAME "BLACK RAVEN-1"    
       512K EXPANSION (#7FFD)        
                                          
(C) 1998 MAX                    
------------------------------------------
  Oh, how many wonderful discoveries we have
  Prepared by Slavik Mednonogov... 
 almost like Pushkin
                                          
    So, as you would expect, "Black
Raven" turned out to be a bestseller at the
fair software market
for the Spectrum platform. The hit of the season is
I was.  I won't be lying if I say
that this is the best thing that has been done so far
but on our platform in the strategy genre.  
    But as you play, you start little by little.
get angry over minor shortcomings, under-
lock and glitches.  Everyone who reached
third level and being immediately killed
by the enemy, was forced to reboot
entire program to repeat or change
thread of tactics and strategy of combat. When
two disk drives still all right, but with one
he's just a hanger...
Having started to change disks, I spat on copyrights
and other conventions, began to tinker with the program
frame from the inside. Imagine my surprise
when I saw completely free access
to algorithms.  A thought crossed my mind: is it really
is it all that simple or did the author decide that there are three
Is two scratches on the disc enough?
How wrong I was!  Easily find what you need
places in the program, made a correction, then
launched and... after 5-10 seconds everything died -
lo... Great defense, nothing to say.
Just cool, that's all.                  
     But I’m not writing all this for
tell you how it is and what. Not at all.
The purpose of this article is to familiarize yourself with my
refining the game so that the needles don’t tear at
nothing from nowhere, but having additional
private memory via STANDARD port
#7FFD, we could safely enjoy the beauty
amiable combat operations in real life
time. In short,if you don't have more RAM
128K via the above port, then you can
you wish you didn’t read.                           
                                          
        CRITICAL RETREAT. Gentlemen programmers! Until when do you
you will write programs with 128K in mind
memory? Twelve years have passed since that moment
how this standard was invented and seven
years, as brought to its logical continuation
niya in the form of 512K. Do you even have a stake on your head?
be quiet, it doesn't matter. We're tired of these excuses
help, like sorry, brothers, I don’t have enough memory
melts for this, for this... Now only
lazy, poor and greedy do not expand
RAM storage. So who do we look up to, guys?..
                                          
      Let's finish with the introduction and move on to
the most interesting thing, namely assembler.
I want to immediately disappoint lovers of hala-
wow something to fuck: there is no technology here
to remove protection. This modification will
work ONLY on the original version and
no pirate glucodromes here
duh! It will also not be possible to plow infinites
without a detailed and COMPLETE study of the method
protection.  So buy exclusively
original!  Talents such as Mednonogov,
MANDATORY must be paid.          
   So, with the permission of the author, we make a copy
first disc from track 2 to track 128 incl.
carefully.  You can not fool your head and
experiment with the original.  But for
this should have a stable operating
system and program"Catalogue Master"
(see  ZX-Format #5).  This program
make a duplicate of the zero track at 160
track in case the revision process
will not suit you and you will want everything restored
update. Then ONLY the zero track is formatted
run according to the standardiS-DOS,and then load
zi "ALASM",or whatever you have, and type
the following:                            
                                          
;28.02.98 This little thing is needed so that our neck- devr write to disk number one. ORG #6000 LD HL,#6200 LD DE,#0000 LDVS,#0106 CALL 15635 RET Now let's go! SM EQL #4000 ORG #6200 DI
LD A,0
Here you can allow a little ad lib with the start of the game, if you install the system #79D8 - level number. I point it out many times to numerous requests from players. It will work it, if you select "New" in the start menu game"for no matter who. If it becomes unbearable to fight, in short, stuck somewhere, then you can “transcend” this level (or view them all).JR LEVEL As befits hackers, we sign it. DEFM "Cracked bу MAX." DEFM "Version for Spectrum 128" DEFM "/256/512 (port #7FFD)." LEVEL LD (#79D8+SM),A LD A,7 CALL PAGE Let's check the presence of the extension using #7FFD. LD HL,#С000 LD DE,#5707 LD A,(HL) EX AF,AF`
LD (HL),Е
LD A,D CALL PAGE
LD (HL),D
LD A,Е CALL PAGE LD A,(HL) СР Е ЕХ AF,AF` LD (HL),A ЕХ AF,AF`
JR NZ,LNPROT
Тыhappy owner of additional pages. In the service menu, replace the word
"Finish" to "Repeat". The other one won't fit. LD HL,MOD LD DE,#FD0B LD BC,MOD1-MOD LDIR LD HL,MOD1
LD DE,#FD5Ч
LD С,9 PLSH HL LDIR POP HL LD DE,#FC5C LD C,6 LD A, C LDIR
CALL PAGE
Here we substitute the transfer procedure the entire game on additional pages. By- why all? There is no desire to fuck with parsing- kami what, how and where changes during the game ry, so we’ll save it with all the giblets.
LD HL,SAVE LD DE,#FABE LD BC,MOD-SAVE LDIR LD A,#55 CALL PAGELD HL,PAGE_55 LD DE,#С000 LD ВС,1000 LDIR А здесь замолчу, что делаю. Кто шибко умный, сам поймет. LNPROT XOR A CALL PAGE LD HL,LLE0CF LD DE,#E0CF LD ВС,END-BEG LDIR LD HL,POKED LD (#6Е9F+SM),HL LD A,#18 LD (#Е160),A LD A,#С9 LD (#D639),A LD HL,#0000 LD (#6D31+SM),HL LD L,#3Е
LD (#7715+SM),HL
LD A,#18 LD (#40D0+SM),A Перерасчет КС. Не скажу, как их считать надо, т.к. две недели их все выискивал. Да и не только в этом дело. Нет желания авто- ру свинью подсовывать - раз, нет желания давать возможность идиотам делать инфиниты - два, есть желание дождаться "Черный Во- рон-2" - три. Хватит аргументов? Так что привожу готовыеcontrol codes. EU- Naturally, if you change anything without me, then nothing will work. LD HL,#FЧAF LD (HL),#AA LD HL,#7650+SM LD (HL),#81 LD HL,#400С+SM LD (HL),#5A LD HL,#4045+SM LD (HL),#41 LD HL,#4043+SM LD (HL),#06 LD HL,#4002+SM LD (HL),#D7 LD A,#04 CALL PAGE LD HL,#FFOO LD (HL),#96 LD A,#07 CALL PAGE LD HL,#FFFE LD (HL),#DD LD HL,#DB00 LD (HL),#С4
LD HL,#FE00
PLSH HL LD A,#06 PAGE LD ВС,#7FFD OR #18 OLT (C),A NOP RET Next come the bells and whistles for back and forth re- flipping pages and stuff like that. Bor color dera changes to control the operation of the program we. All listing features are fair for assembler "ALASM". ; For page 6 SAVE DISP #FABE LD SP,#403E
LD HL,#A11С
PLSH HL LD HL,#4331
PLSH HL LD HL,СОХР1 LD DE,#4100 LD ВС,255 PLSH DE LDIR LD A,4 OLT (#FE),A RET СОХР1 DISP #4100 LD A,#52 CALL #4337
CALL DRC0 CALL #432A
CALL DR80 LD A,#50 CALL #4337 CALL DRC0
CALL #432D
CALL DR80 LD A,#51 CALL #4337 CALL DRC0
LD A,3
CALL #4337 CALL DR80 LD A,#53 CALL #4337 CALL DRC0
CALL #4326
CALL DR80 LD A,#54 CALL #4337 CALL DRC0
CALL #4331
CALL DR80 LD A,#56 CALL #4337 CALL DRC0
CALL #4335
CALL DR80 LD A,#57 CALL #4337 CALL DRC0
LD A,#52
CALL #4337 CALL DR80
LD A,#55
CALL #4337 LD HL,#7651 LD DE,#DB00 LD ВС,2479 LDIR LD Н,#40 LD С,80 LDIR LD HL,#4100 LD DE,#4101 LD ВС,255 LD (HL),#40 LD A,Е OLT (#FE),A
JP #4368
DR80 LD HL,#С000 LD DE,#8000 DR801 LD ВС,#4000 LDIR RET DRC0 LD HL,#8000 LD DE,#С000 JR DR801 ENT
MOD DI LD HL,DRIVE PLSH HL
LD A,#55
JP #4337 MOD1 DEFB #1B,#3E,#32,#42,#3E,#40 DEFB #38,#42,#4A The author did not avoid the shortcomings of many programs. measures of our "mouse" era. Meaning setup connection/disconnection Kempston mice. When loading a delayed game and when with the mouse turned on very often it turns out that that the screen is "running away". This happens due to big difference between previous and current general values of mouse ports. Here is this one glitch fixed. Details about the system we- shi look in the instructions for writing a driver ra in the magazineZX-Format.
BEG LLE0CF DISP #E0CF DI
LD HL,#70A0
LD (#77СЕ),HL
LD A,(#79В2)
OR A
JR Z,LE0CF1
LD HL,#77D0 LD ВС,#FBDF IN A,(С) LD (HL),A INC HL LD В,#FF IN A,(С) LD (HL),A LE0CF1 ЕХ AF,AF` RET С CALL #бAбD CALL #40Е8 CALL #6С89 RET POKED PLSH HL LD HL,#7A6B ЕХ (SP),HL LD A,(#79D7) ORA LD A,(#79D8) JR Z,POKED1 СР #08 JR POKED2 POKED1 СР 13 POKED2 RET NZ LD (#7A6E),A RET ENT END А это сам драйвер переброса страниц, ко- торый я перебрасываю с доп. страницы на таблицу вектора прерываний, запускаю, а затем ликвидирую. Больше некуда приткнуть.
PAGE_55 DISP #С000 DRIVE DI LD SP,#0000
LD В,#10
AY1 PLSH ВС LD A,В DEC A LD ВС,#FFFD OLT (С),A LD В,#BF СР 7 LD A,0 JRNZ,AY2 CPL AY2 OLT (С),A РОР ВС DJNZ AY1
LD HL,#79В1
LD ВС,#0404 AYЗ LD A,(HL) PLSH AF INC HL DJNZ AYЗ ЕХХ
LD HL,#DB00
LDDE,#7651
LD ВС,2479
LDIR LD D,#40
LD С,80
LDIR ЕХХ LD В,С AYЧ DEC HL РОР AF LD (HL),A DJNZ AYЧ LD SP,#403Е
LD HL,#A11С
PLSH HL LD HL,DRIVE1 LD DE,#4100 LD ВС,255 PLSH DE LDIR LD A,4 OLT (#FE),A RET DRIVE1 DISP #4100 LD A,#50 CALL #4337 CALL DR_80
CALL #432A
CALL DR_С0 LD A,#51 CALL #4337 CALL DR_80
CALL #432D
CALL DR_С0 LD A,#53 CALL #4337 CALL DR_80
LD A,3
CALL #4337 CALL DR_С0 LD A,#54 CALL #4337 CALL DR_80
CALL #4326
CALL DR_С0 LD A,#56 CALL #4337 CALL DR_80
CALL #4331
CALL DR_С0
CALL #FA8С
LD A,#57 CALL #4337 CALL DR_80
CALL #4335
CALL DR_С0 LD A,#52 CALL #4337
CALL DR_80 CALL #4331
LD HL,#4100 LD DE,#4101 LDВС,255 LD (HL),#40 LD A,Е OLT (#FE),A
XOR A
LD (#79D8),A
JP #4368
DR_80 LD HL,#С000 LD DE,#8000 DR_801 LD ВС,#4000 LDIR RET DR_С0 LD HL,#8000 LD DE,#С000 JR DR_801 ENT DEFS 100
ORG #6000
Let's sum up the results of the day: 128 kilos on byte machines everything remains unchanged niy, and on the expansion 256/512K in the service menu instead of
"End game" will appear "Repeat the game."After confirmation actions everything will return to its original position - tion, i.e. to the start menu of four points. Mouse and music settings are saved. You can start again, you can overload the deferred state, without re- seta return to basic. And most importantly, no need to reboot from disk one! Yes, and more. Owners of bullshit drives, non-residents and simply not attentive may seal the second disk to avoid damage some virus unknown to me program orrandom system glitch. After finishing work on the revision, I signals began to arrive that with disk During operations the game freezes. The reason is trivial: The author wanted the best, but it turned out as always. Author of disk interface (Mednonogov?) decided to make a semi-turbo- der, that's why I didn't do the positioning when every failure to read a sector. Imagine that of the five sectors on the track at least three is read the second/third time. What what happens if you don't do the above? That's right, the drive motor will stop, because it is only promoted by the position team tioning. All's well that ends well. For- ends my lampoon on the topic of foreign a lot of interference in the game. Remaining connect the resulting modification. Paste one copy of the disk and run the procedure for write to disk from assembler using the RLN command. Then go toSTSif loaded, and co- mandaSS+L consider the system sector with the origin disc ginala one. For the illiterate: in the window reading a sector in STS, indicate track 0, sec- torus 8, length 1, address #8000. Then hell Resu #8006 type the following: LDHL,#6200 LD DE,#0001 LD B,#01 CALL #60В3 JP #6200 This is the loading of our finalization ki. At address #82СС replace CALL #FE00 with JP #5D2В. Now insert a copy of disk 1 and command SS+S in the same way STS do shipment of the modernized sector. Para- sector recording meters are similar to boot nym. Now you can seal all the cracks on disks and run "Black Raven". I completed the entire game on this modification and Therefore, I give a 100% guarantee of work the ability of the program. If I try There is a bummer somewhere, look for problems and yourself. Owners of computers with extensions other than port #7FFD for similar modifications of the contact the author of the program directly Slavke framesTsvetmetkopytkin. Finally, to avoid misunderstandings I will describe the original discs with the game. At least at least in Donetsk they sell exactly these and I have every reason to believe that this is everywhere like this. So both disks must be tailor's origin, have branded stickers from Mednonogov. There is only one disk The watering can contains the name of the author, company and keys launch. There are mirror images of kata- remotes. Disc two has a serial number (y me 11742), image of a horned kung with sword and shield, as well as the inscription “do not seal- wai" with an arrow pointing to the slot write protection. Also on disk two should be physically protected from copying in the form of three scratches in the area of 2/10 tracks with top side. If all of the above Yes, you can sleep peacefully: the author is yours received money and has an incentive to work yes- for our pleasure.

Share your thoughts about the article