Info Guide #01 |
|
TR-DOS - Function TR-DOS.
TR-DOS Level 1: 15635 Alone Coder Functions of TR-DOS, called from the Basic promote the use of not all system capabilities. The developers have provided a number of special functions to work with drive, access to which can occur only from the programs in machine code. This so-called <work with drive at a high level>, in contrast to File-level and low, ie direct guidance controller. All of the above functions are performed one program, the transition to which is carried out at 15,635. In fact, in memory cell to the specified address contains the NOP / JR, but there is evidence that the transition to at 15,636 works not on all kinds of Speccy. Parameter for this program is to register C processor, which should include a number of teams according to the following list: # 5 - Read sectors. Count from the current row diskodava B sectors of 256 bytes and store them at HL. The initial path (track) must be contained in D, the starting sector on this track - in E. Normally, this function is used in the loader monobloc programs. In this case should make LD DE, (23796) that is, to recall sector number after the last to read / write block of data, ie in this case for the sector akkurat beysikovoy part. How to make a one-piece boot? first write just such a BASIC program: 10 REM 16 pieces of gaps 20 CLEAR 24575: RANDOMIZE USR 23872 Then, with 23,872 addresses (if you access the TRDOS since the last reset was not, then to 23,760) in any way pleasant to you enter code program: LD DE, (23796) LD BC, # NN05; where NN = length of code, LD HL, ADDR; and this - the load address. CALL 15635 JP START; address of the start code. It obviously takes up the entire REM. This is the most simple case - when the code block one and runs without raspakovki.V more complex If not, add space after REM and insert whatever you want. We write our beysikovuyu prog on disk: RANDOMIZE USR 15619: REM: SAVE "IGRA" LINE 10 Behind her butt will charge a code block, after This load Disk Doctor and fix the length of BASIC file in sectors 01 to the total length of BASIC and codes in the first symbol code file write code 00, while the 8-th sector to reduce the number of code files, bytes Room # E4. The loader is ready, and he even kopiruetsya.Konechno better would be a boot-type 0 INK USR.# 6 - Record of sectors. Put B sectors in a row for the same pravilam.Sleduet note that these procedures are stopped at Break and the message Disk error, etc. to clear the screen. If you want it to warn, write first at 23,746 instead of the RET invoke an error handler. # 7 - show directory. Equivalent to the CAT team with the exception that the output produced in any stream. Stream number set in A (standard - 2). It is desirable to write the number drive (23798) also available at (23 800) and (23,801). Absolutely useless team. # 0 - restore command. Drive heads back to the zero track. # 1 - Change the drive and testing. In case A should be the drive number: 0 = "A", 1 = "B", 2 = "C", 3 = "D". Testing - determine the number of tracks (40 or 80) and the velocity of the magnetic head - not made, if the drive has already been tested extensively. It should be noted that before using these commands to open the system variables TR-DOS.Sama such, it after a reset does not open, why hang All that I know assemblery.Mozhno enter and immediately withdraw from the DOS, can also cause procedure 15649. Another unpleasant feature of these procedures is that the read / write sectors in a row every time they make an extra turn drive the transition to the next physical dorozhku.Etot lack of correct numerous TURBO-LOADER'y using direct appeal to the floppy drive controller KR1818VG93. The program has 15,635, and other features but they are few in our teme.Kosnus finally only one: # 13 - Copy descriptor. Copies of 16 bytes from the address at HL 23,773 (region descriptor in the system variables TR-DOS). This command, you can view codes TR-DOS from programs outside the Depending on the version of the system, not including drive
Similar articles:
В этот день... 23 November