Programmers - Stash: how to load additional levels in TR-DOS.

Black Crow #02
METHOD FOR LOADING LEVELS AT   
 ADAPTATION OF GAMES TO TR-DOS.    
                                          
(C) MAX                         
------------------------------------------
 At one time, I, like many beginners
hackers, suffered from disking of cassette games
to the system TR-DOS. The occupation, I tell you, is not
one of the most pleasant - then RAMTOP props up, then
system BASIC "crashes", then the levels with
The tapes are loading. Not to mention the so-called
branded protections from Bill Gilbert
and other eastern socialist camp brothers
mind.  And with all this crap come-
elk to fight.                            
                                          
   Here I will talk about how to make a contract
level adjustment in relation toTR-DOS.A
why?   I came across one advertisement
announcement on the topic of adapting such games to
disks.  Released 1998. Until then
someone needs such services, then no
hurry up to pay some leftbreakers
your hard-earned money - better check
their capabilities in this direction. EU-
if it doesn't work out, then let yours crack
family budget...                        
                                          
   I’ll briefly tell you about the structure of the game with up to
additional levels.  After execution
the game will ask you to do the next mission
Start container and load level xx. After zag-
shipments usually undergo a quality check and if
everything is OK, then you continue playing. If the tape
messed up - rewind the cassette to the beginning of the level -
Nya. Think about it, if the level is 30,000 or more...
So - find this place in the program where
prints messages and loads a block from the cassette
and look what's going on there. Usually nothing
special.  If you see that the download is not
This is done by a ROM procedure, but some
yours, then consider that half is yours
lucky. Otherwise you will have to look for an extra 150
bytes of space for your boot routine from
disk.   Can you donate something?
text message or a couple of lines on
screen.  But it is not advisable, because... possible
Loading a screen file along with the level.
Well, okay - this is already a jungle. Let's go back to
to our sheep: half the job is done if you find
There is a place for a disk loader. But not
hurry up and check for system
BASIC variables and, if possible, up to
Soviet ones too. You're doubly lucky if they
no one was killed.  But if theysweat present,
then listen to me.                        
                                          
   Let's not reinvent the wheel - let's go
by car.  Straining all the brains and
nerve endings of the hands find 768 bytes of your
free or service space in memory.
Let me explain - the office space is intended
for any actions related to the
fic, game state, etc. and apply
works constantly to create something
without long-term need. Those. worked
with him - and goodbye! So find one like this
fragment.  Just keep in mind - 768 zeros or more
any identical bytes do not mean at all
or may not mean free or official
new space. As far as possible or
Check your skills in working with assembler
Is this snippet being used by anyone?
                                          
   Now let's go, actually, to the algorithm
creating vital system TR-Dos and
loading a file from disk. Let's assume that
there is an input parameter in the form of a number
level.  Whatever one may say, it’s still somewhere
yes.  So turn it into a regular number
numeric value from zero to xx. Now find it
space for the next one (if there is a procedure
cassette loading, then put it on top): 
                                          
         ORG address  ;см. выше          
         DI                               
         IM   1                           
         ADD  A,#30    ;поправка к коду   
         LD   (NOMER),A;числа             
         LD   HL,23752                    
         LD   ВС,#5200                    
         LD   (HL),#83 ;дис-вод А 80 трек.
M_1      INC  HL                          
         LD   (HL),С                      
         DJNZ M_1                         
         LD   IY,23610 ;следи за восстано-
         LD   (IY+0),#FF;влением!         
         LD   (IY+1),С                    
         LD   A,#08                       
         LD   (23802),A                   
         INC  A                           
         LD   С,A                         
         LD   (23814),A                   
         LD   A,201    ;выход в ПЗУ`48    
         LD   (23746),A                   
         LD   A,#F4                       
         LD   (23734),A                   
         LD   HL,23847                    
         LD   (23653),HL                  
         LD   (23641),HL                  
         LD   HL,NAME  ;имя level`а       
         LD   DE,23773                    
         LDIR  XOR A ;dimensions from the title. 
         LD C,#0E                       
         CALL 15635                       
         DI                               
                                          
   Here, if necessary, restore the
system area TR-DOS` and the value of the
hyster pair IY.                        
                                          
NAME DEFM "NAMELESS";file name on disk.
NOMER DEFM "1" ;level number     
        DEFM "C" ;level file type 
                                          
   Finally, I’ll say it for those who don’t know
or have you already forgotten that the entry points into the ROM are
There are two loading procedures: 1366 and 1386. For
"color" loading is used as follows
gadget:                                
                                          
  DI  INC D                           
        EX AF,AF`                      
         DEC D                           
        LD C,xx ;color number 0-7    
         CALL 1386                        
         EI                               
         RET ;or by condition...  
                                          
   That's all for now. Write letters :)      
                                          
                                          
 DISK COMPACT IN iS-DOS    
                                          
(C) 1995 IskraSoft              
(C) Alexey Leontyev            
------------------------------------------
MAX> Analyzing the software market
studies in Donetsk, I came to the conclusion that in
manythere are no traces of those important cases
and most importantly - valuable programs that
ry were written by someone a long time ago, but for some reason
for some reason we still haven’t gotten to
market of a particular region. So we all
had no idea that it was possible
the ability to seal iS-DOS disks
kov using a modified program
arzt+.som,which is in the application
my magazine.   Therefore, for the same
"backward" hinterland, like Donbass, I decided
place this file in the application. On-
I hope you know how to record it on iS-
DOS... Sent this file to the editor
Dean Vyacheslav Panin - THANK YOU!             
 -----                   
                                          
   The "Arzt+" program is
modernized version of the good old
Aibolit "der Arzt". (Pronounced "artzt".
The word is German and means "doctor"). Vza-
Change the indication of the last file on the disk
"LAST" implemented message of the number of segments
files on the device and segmented
com in them in the bottom line of the screen. Z.B.:   
                                          
" 13 segments in 9 files" BUT THE MOST IMPORTANT: in the program menu
the line "SQUEEZE" appeared.  It's nothing
other than sealing the device. All information
mation on the disk is pressing towards its beginning,
so all free disk space is
is being renewed continuously.                      
                                          
              +-----------+               
              |  SQUEEZE |               
 | blk: 3200 |               
              +-----------+               
                                          
   (“VERIFY” is the same as “Start” for “der”
alte Arzt", i.e. only checking the file
device structure.)                    
                                          
   The device seal (SQUEEZE) passes through
dit in two stages:                          
                                          
 1. Device verification (VERIFY). Occupiesabout 40 seconds.                          
                                          
 2. Actually "SQUEEZE".  Up to 9 minutes per
floppy disk depending on the state
disk.  (On average about 6 minutes). Indica-
tion of the second stage is a window
full screen with disk map. Conditional
the notations are the same as in the programs
"freenes", "fileshow" and the like:      
                                          
"b" - empty area                      
                                          
"#" - partially filled                
                                          
"#","@" - solid filled. Symbols
"@" indicates an area of the disk that is not
will become denser, because to collect information
There was not enough memory about this area. This
can happen with a large amount of ma-
small or highly segmented files on
device and low-lying CACHE.
The program only uses memory above itself
under CACHE. With a slight lack of memory
the program can slightly reduce the size
CACHE.   With severe memory loss
An emergency exit will occur with error 130.
The program actively uses CACHE, therefore
it is not recommended to reduce its size
ed by launch. For normal operation it is desirable
It is necessary that between the program and CACHE there be
no less than 6000 bytes, i.e.CACHE must
be located no lower than 33000, although the program
MA will also work with CACHE at 30,000.     
                                          
   Unlike "speedisk" Arzt+ does not change
defines file structure: segmented
remain segmented, continuous -
continuous.  Therefore, before use
We recommend using the programs
"contig.res" and "filecopy /m" to convert
segmented files in non-pre-
jerky.                                   
                                          
   CAUTION! The Arzt+ program has not yet
knows how to bypass files like
"fileO.bad".Do not condense hard to read
disks! Use the "doctor" program to
edit "arzt+"! If Arzt+ runs into undead
melting sector and on the supply of the system
"Retry Abort Ignor" You will answer "Abort",
some of the information is “successfully” compressed non-
long before the breakdown with a high probability
will be spoiled.                          
                                          
   For a 100% guarantee of information security,
tions:                                      
                                          
1. Stock up on an identical copy of the disc. B
this for youhelp: abba, copy_all, sosa,
filecopy.                                 
                                          
2. Before compaction, count the control -
total sums of all files. Check them out after
seals. Typically this operation takes
about 5 minutes.   (canc.res, scan.res,
ch.res, univ.res).  Take advantage of the opportunity
completeness of automatic control check
amounts when running som files. (see description-
nie check.com)                            
                                          
3. There should be no
faulty areas (doctor).                
                                          
               NOTES:                
                                          
1. Owners of 2 disk drives can compact
disks by copying them with the sosa.com program.
After copying, do not forget about boot and
sop!                                      
                                          
2. Arzt+ monitors the movement of the load
file is_dos.sys and reconnects itself
appreciates it, so owners of standard
"iS-DOS Classic" systems have nothing to worry about
to rest.   The disc will remain bootable.
Happy owners of this season's new product!
"iS-DOS Chic" will have to be restarted
your specific boot.3. Very lucky, as always, the owners
Sinclair-PROFI with megabyte memory. Co-
copying the entire diskette to a RAM disk and
directly using the program "assa" or
"adbc" will take no more than 2 minutes. Arzt+
will deal with the RAM disk even faster.  
                                          
4. SQUEEZE function works on any
devices no larger than 1 MB (4096
blocks).  That.  happy wine owners
chesters will only have to hope for now
the next more powerful one will appear soon
Arzt+ version.                             
                                          
  To everyone else: Happy sealing.
and happy squeezing!                      
                                          
             COLOR SETTING             
             -----------------            
                                          
   The colors of the program are adjusted by the program.
my UniColor:                             
                                          
Color 0 - main menu window             
Color 1 - main menu shadow             
Color 2 - main menu cursor           
Color 3 - main menu working cursor   
Color 4 - top left window with name    
           scanned file             
Color 5 - shadowtop left icon      
Color 6 - top right window with message  
           niya                           
Color 7 - shadow of the upper right window     
Color 8 - lower right window with statistic  
           tikoy                          
Color 9 - bottom right window shadow      
Color 10 - file path window                
Color 11 - "SQUEEZE" window                 

Share your thoughts about the article