CRU for everyone - Adaptation of programs to TR-DOS disk.

Faultless #02
++++++++++++++++++++++++++++++++ 
TEXT: VOROZHKIN ALEXANDER.       
INFORMATION: BAZHENOV STANISLAV.   
MUSIC: KOSHPARENOK PAVEL.        
SECTION:CPU FOR YOU.             
++++++++++++++++++++++++++++++++ 
  
DESPITE ITS NUMEROUS 
 DISADVANTAGES, DISK OPERATION -  
TR-DOS SYSTEM BY TECHNO 
LOGY RESEARCH CURRENTLY 
CONTINUES TO REMAIN THE MOST  
POPULAR AMONG ZX- OWNERS 
SPECTRUM. THIS ARTICLE WILL HELP WITH - 
USERS IN THE CREATION OF PROGRAMS 
THE WORKING WITH DISK. MOST 
PUBLISHED REFERENCE DATA -  
TR-DOS ABUNDANCE INACCURACY  
INFORMATION AND TYPOGRAPHICAL ERRORS. CREDITED-  
THE BELOW INFORMATION HAS BEEN TESTED ON  
PRACTICE AND CONTAIN LARGE NUMBERS 
LOF OF EXAMPLES TO MAKE THEIR USE EASIER 
USE. EVERYONE KNOWS SIMPLE 
CALL TR-DOS COMMANDS: BEFORE  
EACH LOAD, SAVE AND  OPERATOR 
SET THEM SIMILAR TO RANDOMIZE 
USR 15619:REM: AND TRACK,  
TO DISK ACCESS COMMANDS 
THE WERE LAST IN THE ROW. HOWEVER 
THIS IS NOT THE ONLY METHOD AND  
NOT THE BEST. IT'S BASIC NOT 
THE ENOUGH IS THAT YOU GO 
LNIV SEQUENCERANDOMI 
ZE USR 15619:REM:LOAD 'FILE1'  
CODE OR RANDOMIZE USR 15619:  
REM:SAVE 'FILE2' AND RECEIVED FROM 
VET 'O.K.',YOU CAN'T BE SURE 
IT IS NOT TO SAY IF THEY ARE COMPLETED ON 
ACTUALLY DIRECTIVES.A COMMAND  
RANDOMIZE USR 15619:REM:VERIFY  
'FILE' IS USELESS AT ALL, SO  
WHAT WILL YOU GET IN ANY CASE  
MESSAGE 'O.K.' INDEPENDENT OF  
WHEN THE FILE ON THE DISK MATCHES 
WITH WHAT IS IN MEMORY 
COMPUTER, AND IS IT THERE? 
MORE. ERROR MESSAGES IN THESE  
CASES ARE NOT DISPLAYED. BUT INFORMATION 
COMMENT THAT THE OPERATION WAS SUCCESSFULLY COMPLETED 
Walkie Talkie OR NOT, YOU CAN GET,  
ANALYZING THE VALUE OF VARIABLE 
NAY WHICH WILL ASSIGN IT WITH A FUNCTION -  
USR CITION IF CALLING COMMAND  
DOS VIA LET ER=USR 15619.POS- 
LE EXECUTION VARIABLE ER BU- 
DET EQUAL:  
OH NO ERROR (I.E. ACTUALLY) 
LE O.K.);                       
1-NO FILE WITH THIS NAME;     
2-FILE WITH THE SAME NAME ALREADY EXISTS 
TWEET (WHEN SAVE);               
NO DISK SPACE;           
4-OVERFLOW INDEX (WHEN  
ATTEMPT TO WRITE MORE THAN ONE TO THE DISC 
128 FILES );                   
5-RECORD NUMBER OVERFLOW  
(FOR FILES OF TYPE #);            
6-NO DISK (SOMETIMES IN THIS SLAY- 
THE MESSAGE 'R TARES' IS DISPLAYED 
LOADING ERROR');                
7-ERROR ON DISK (ACCORDING- 
CURRENT MESSAGE IS DISPLAYED);      
8-SYNTAX ERROR;            
9-STREAM IS ALREADY OPEN;             
1 O-DISC IS NOT FORMATTED - OUTPUT 
X MESSAGE DISK ERROR;         
11-STREAM NOT OPEN;             
12-ERROR DURING VERIFY.           
 SYNTAX MESSAGES  
 ERRORS ARE NOT ALWAYS OUTPUT.   
FOR EXAMPLE IF YOU FORGET THE INDICATION -  
SET FILE LENGTH WHEN SAVE 'FIL' 
CODE ADR,LEN,THEN YOU WILL RECEIVE MESSAGE 
NIE 'S NONSENSE IN BASIC', AND EU- 
OR INSERT IN THE SAME COMMAND  
SPACE BEFORE SAVE (WHAT IS COMPLETE  
ALLOWED WHEN WORKING WITH MAGNETO 
BACKGROUND),THEN YOU WILL GET 'O.K.', ALTHOUGH  
COMMAND WILL NOT BE EXECUTED.BUSINESS 
IN THAT FOR IDENTIFICATION KO- 
MANDA THE FIRST CHARACTER IS IMPORTANT, BUT ABOUT 
WHITE IN THIS CASE PERCEIVES - 
AS THE CORRECT PERFORMANCE OF KO 
MANDS, I.E. THE CODE WILL BE RETURNED  
ERROR 'O'.                   
ERROR CODES CAN BE USED  
THUS:  
EXAMPLE 1. 
 1О LET ER=USR 15619:REM:LOAD'  
FILE1' CODE  
 2О IF ER=О THEN PRINT 'ERROR'; 
ER:STOP  
AND ANOTHER EXAMPLE. SUPpose  
YOU DECIDED TO WRITE A DISK ZAG 
GAME HANDLE, CASSETTE VER -  
WHICH LOOKS LIKE THIS:  
 1 CLEAR 26499:LOAD 'FILE1'CODE 
:LOAD 'FIL2'CODE:LOAD 'FILЗ' CO 
DE:RANDOMIZE USR 2b5OO  
THIS LOADER LOOKS LIKE THIS.    
EXAMPLE 2.  
 1 CLEAR 26499:LET ER=USR 15619 
:REM:LOAD 'FIL1'CODE  
 2 LET ER=ER+USR 15619:REM:LOAD 
'FIL2'CODE                      
 З LET ER=ER+15619:REM:LOAD'FIL 
З'CODE                          
 4 IF ER=О THEN PRINT 'NO FILE' 
:STOP                           
 5 RANDOMIZE USR 2б5ОО          
НО МОЖНО И В ОДНУ СТРОЧКУ!      
ПРИМЕР З.                       
 1 CLEAR 26499:LET А*='FIL1':   
LET ER=FN А():LET А*='FIL2':LET 
ER=ER+FN А():LET А*='FILЗ':LET  
ER=ER+FN А():IF NOT ER THEN RAN 
DOMIZE USR 2б5ОО:DEF FN А()=USR 
15619:REM:LOAD А* CODE          
ТАКОЙ ПОДХОД ТОЖЕ ИНОГДА ПОЛЕ-  
ЗЕН:ОН МОЖЕТ ПОМОЧЬ УМЕНЬШИТЬ   
PROGRAM LENGTH, ESPECIALLY WITH  
MULTIPLE ACCESS TO THE DISK. 
NOW THE PROGRAM WILL BE LOADED 
FROM THE DISK, BUT IF YOU WANT 
TAKE RECORDING IT ON A CASSETTE, THEN  
YOU WILL HAVE TO LOOK FOR CASSETTE  
LOADER OR RESTORING YOURSELF  
LEAVE IT. GET OUT OF THIS SITUATION - 
IT IS POSSIBLE BY WRITING UNIVERSAL 
LOADER, IF PRESENT  
THE DISK DRIVE WILL LOAD FI- 
LY FROM THE DISK, AND IN ITS ABSENCE 
-FROM TAPE. TO DETERMINE AVAILABILITY-  
THE DISK DRIVE CAN BE USED -  
KEEP INTO THE FACT THAT IS IN THE COMPUTER  
WITHOUT DISK DRIVE PROGRAM ON VA- 
SICSTARTS WITH ADDRESS 2З755,  
A WITH THE DISK DRIVE CONNECTED AND  
TURN TO HIM AT THE BEGINNING OF THIS 
PROGRAMS MOVE UP BY  
112 BYTES. THIS IS DONE FOR THE RESERVE 
VARIATION OF PLACE FOR SYSTEM  
TR-DOS VARIABLES.REDUCED  
NUMBERS ARE FAIR FOR THE CASE,  
WHEN NEW CHANNELS ARE NOT OPEN 
NOT CONNECTED INTERFACE 1.ADDRESS  
THE BEGINNING OF THE BASIC PROGRAM CONTAINS 
IN THE SYSTEM VARIABLE PROG, 
AT ADDRESS 2ZbZ5 (LOW BYTE) AND 
2ZbZb (HIGH BYTE). ANALYZING  
ITS VALUE CAN BE FOUND BY CONNECTING 
WHEN IS THE DISK DRIVE OR NOT.           
 1О LET TR=15619:LETTARE=(REEK 
2ZbZ5+256+REEK 2ZbZb=2Z755)  
 2ABOUT IF TARE THEN LOAD'FIL1'CODE 
:GOTO ZO  
 25 PRINT 'NO FILE' AND USR TR: 
REM:LOAD'FIL1'CODE  
 OR REM PROGRAM CONTINUATION  
PAY ATTENTION TO THE VARIABLE 
TARE. THIS IS ESSENTIALLY A LOGICAL PE- 
BELT WHICH CAN TAKE -  
MOTHER IN THIS CASE VALUE 1 
(IF PROG=2З755, i.e. WE WORK WITH 
TAPE RECORDER) OR O (IF ANY  
ANOTHER PROG VALUE, BUT IN OUR 
THIS CASE CAN BE ONLY  
2З867, IF A DISK DRIVE IS CONNECTED). 
A SIMILAR CONSTRUCTION IS APPLIED  
IN LINE 25. GENERALLY LOGICAL  
EXPRESSIONS IN ZX-SPECTRUM OPENING 
THE GREAT OPPORTUNITIES AND MERIT- 
LIVE FOR SEPARATE REVIEW. 
IF THE PROGRAM (EXAMPLE 4) LOAD 
READ FROM THE TAPE PLAYER BY DISCONNECTING THE PE- 
EDIT THIS DISK DRIVE, THEN SHE TRY 
UPLOAD FILE 'FIL1'CODE 
ALSO FROM A TAPE RECORDER. WHEN LOADING - 
WHAT IS THIS PROGRAM FROM THE DISK DRIVE,  
THE FILE IS LOADED FROM THE SAME  
'FIL1'CODE.IF THE SAME FILE WITH THIS 
NAME NOT FOUND, SO DISPLAYED  
CORRESPONDING MESSAGE.NED 
THAT COMPOSITION OF THIS PROGRAM IS - 
UN-ECONOMICAL USE OF PA 
PRINT. THIS CAN BE AVOIDED BY USING- 
USE A SMALL PROGRAM IN  
MACHINE CODES (ALL ASSEMBLY -  
THE ARTICLE TEXTS ARE GIVEN IN FORM- 
TE GENS4):  
LD HL,(#SСSЗ)  
LD DE,#SDЗВ  
OR A  
SBC HL,DE  
JR Z,DISK  
LD HL,(#5C5D)  
INC HL  
LD (HL),#2О  
RET  
LD HL,(#5C5D) -DISK  
INC HL  
LD(HL),#EA  
JP #ЗDOЗ  
THE LOADER LOOKS LIKE THIS 
1О REM FFFFFFFF (NUMBER OF SIM 
VOLOV AFTER REM - NO LESS LENGTH 
US CODE PART OF THE PROGRAM);    
2О LET COD=REEK 2ZbZ5+256+REEK  
2ZbZb+5  
ZO CLEAR 26499:RANDOMIZE USR  
COD:REM:LOAD 'FILE1' CODE  
4About RANDOMIZE USR COD:REM:LOAD  
'FILE1' CODE  
5About RANDOMIZE USR COD:REM:LOAD  
'FILE2' CODE  
6О RANDOMIZE USR 2b5ОО  
IN LINE 1O AFTER THE REM OPERATOR 
CODE MUST BE LOCATEDPART  
LOADER PROGRAM. IT IS POSSIBLE  
PLACE THERE AS FOLLOWS -  
ZOM:  
A) ADD A LINE TO THE PROGRAM  
WITH NUMBER 25:25 FOR I=COD TO  
COD+17:READ A:ROKE I,A:NEXT I:  
STOP:DATA 42.8G,92.17,59.9G,18G 
2З7,82,4О,8,42,9З,92,З5,54,249, 
2О1.                            
B) RUN  
G) ERASE LINE 25;           
D) RECORD THE READY PROGRAM.  
EXECUTE THE NEW COMMAND. WITH THIS  
TO THE SYSTEM VARIABLE PROG FOR - 
WRITE 2З755. ENTER FROM KLA- 
VIATURES LINE 1O-ZO PROGRAM, 
AS DESCRIBED ABOVE AND RUN PR 
GRAM. THE COMPUTER WILL GO TO RE 
PROGRAM INPUT PRESS WITH MAGNETO  
BACKGROUND. BY PRESSING BREAK, YOU SEE THAT 
REM OPERATOR FROM LINE ZO HAS DISAPPEARED 
(IT WILL BE REPLACED WITH A SPACE).NOW FOR 
WRITE THIS PROGRAM TO DISK  
(IF YOU DON'T WANT TO RECORD, YOU CAN 
ENTER RANDOMIZE USR 15619)  
AND RUN THE PROGRAM AGAIN.ON  
THIS TIME THE COMPUTER WILL TRY  
LOAD FILE 'FILE1' CODE WITH  
DISC. WATCHING THE PROGRAM, YOU  
SEE THAT THE REM OPERATOR IS AGAIN  
APPEARED IN ITS PLACE.        
WORKING WITH TR-DOS AT THE MACHINE LEVEL 
CODES.                      
  
TO BE CONTINUED!!!         
  
IF YOU WANT TO PURCHASE OR  
 MAKE AN ORDER FOR NEW SOFTWARE  
 THEN CALL US!     
 IN KHARKOV...  
 KHARKOV CITY CODE: 0572  
 PHONE:З7+60+45 FROM 10 TO 24  
 CALL ANDREY  
------------------------------ 
 LATEST PROGRAMS FROM AROUND  
SOVIET UNION IN ODESSA  
 YOU CAN PURCHASE BY  
 PHONE:  
CODEODESSA CITY:0482  
PHONE: ЗЗ-71-71 FROM 9 TO 18  
 CALL SASHA  
------------------------------ 
 ALSO NEW IN NOVOSIBIRSK  
 SYSTEMS, GAMES, MUSICALS YOU  
 COULD ORDER ON THE MARKET!!     
 AT THE TRADING COMPANY 'FLASH!'     
 OR BY PHONE........  
NOVOSIBIRSK CITY CODE:З8З2  
PHONE:47+40+52 FROM 9 TO 18  
 CALL ALEXEY  
------------------------------ 
 MUSICIAN!              
 FOR QUALITY COMMERCIAL WORKS  
 PHONE IN PETERSBURG  
PETERSBURG CITY CODE: 812 
PHONE:278+54+З1 FROM 14 TO 22  
 CALL ANDREY  
------------------------------ 
TO PURCHASE A NEW ISSUE 
 COMPUTER MAGAZINE:  
 +F+A+U+L+T+L+E+S+S+  
 ALSO CALL KHARKOV!!!   
KHARKOV CITY CODE: 0572  
PHONE:З7+60+45 FROM 10 TO 24  
 CALL ANDREY  
 ===========================================  
------------------------------ 
 EDITORIAL OF THE 'FAULTLESS!' MAGAZINE  
 ACCEPTS DIFFERENT KINDS  
 ADS IN ANY FORM  
 YOU CAN SEND YOUR APPLICATIONS  
 TO THE EDITORIAL OF THE MAGAZINE  
 ==========================  
 UKRAINE. KHARKOV-Z10174  
VICTORY AVENUE 75  
 APARTMENT ZZB  
 ANDREY ODINTSOV  
 'NOT FAULTLESS MAGAZINE!'   
 ==========================  
------------------------------ 
WHO WANTS TO BUY MUSIC BOARDS? 
 AZURE SOUND DRIVE!   
 THE BEST AVAILABLE NOW  
 ALL OVER THE FORMER SOVIET S.!  
 LET THEM CONTACT THE EDITOR!  
 THE SET INCLUDES:  
 BOARD: 1 PIECE  
 DISK FOR ASD: 1 PIECE  
 DESCRIPTION AND GUARANTEED TICKET: 1 PIECE 
 CALL WRITE AND YOU WILL NOT BE  
 REGRET ABOUT THE TIME SPENT  
------------------------------ 
 EDITORIAL OF OUR MAGAZINE PRIG-  
 CALLS FOR COOPERATION TAL-  
 ANTIAL ARTISTS, MUSICIANS -  
 COMPANY AND PROGRAMMERS!!!        
 ALL THE BEST WORK WITH US!   
 WE CAN ALSO TAKE ON REA-  
LIZE OR BUY COPYRIGHT  
 DEVELOPMENT OF GOOD SYSTEMS, GAMES  
 PLEASE NOT GAMES LIKE 'SMAGLI'  
 OFFER AT ALL!        
 WE ARE WAITING FOR YOUR RESPONSES, FRIENDS!!!  
------------------------------- 
 WE ALSO ACCEPT ORDERS FOR,  
 GAMES YOU WOULD LIKE  
 SEE ON YOUR NATIVE SPECTRUM  
 WRITE OR BETTER CALL US!  
------------------------------ 
 GATHERING OF HACKERS IN THE CITY OF BREST!  
 LOOKING FOR A GOOD MUSICIAN FOR  
MUTUALLY BENEFICIAL COOPERATION 
BREST CITY CODE:0162  
PHONE:41+Z2+7Z FROM 15 TO 2Z  
 CALL VLAD  
------------------------------ 
 IF YOU HAVE ANYTHING TO ASK  
 FOR PROGRAMMERS FROM ANYWHERE  
 CIS,  
 THEN SEND YOUR QUESTIONSTO US,  
 AND WE WILL SEND IT IN A SHORT TIME  
 YOU HAVE ANSWERS TO YOUR QUESTIONS!   
EDITORIAL MAGAZINE 'FAULTLESS'  
ENTERS CORRESPONDENCE WITH EVERYONE  
OUR READERS...WRITE TO US  
------------------------------ 
 I WILL BUY A WORKING KEYBOARD (CAN- 
BUT WITHOUT CASE) FROM ROBIC, FOR  
MODERATE PRICE. PHONE:  
 (0572) 51-56-17 - LESH.       
------------------------------ 
  

Share your thoughts about the article