TR=DOS ------------------------------------------------------- Reason for posting this material in the magazine was what I decided to replace thread in turbo loader log shell at standard DOS work routines with disk. Due to numerous requests, the labor lasting, so to speak. Divorced now stage of the Spectrum of all sorts of hard drives, and also RAM disk makers... And young people don’t is sometimes able to find already scarce ones in books like "ZX-Spectrum for users" callers and programmers" Nikolai Rodio- new, and therefore they ask questions in letters: what and how to do and how to check the quality, etc. etc. And I myself was a little tired of working with tr-dos in its “pure” form: I’m out of the habit, however, over several years... In short, I’ll give you almost a complete collection of information on system and tr-dos functions, as well as about errors. TR-DOS 5.04T system variables. +=====+===+====================================================+ |Address|Length| Contents. ||-----+---+----------------------------------------------------------------+ |23734| 1 |Used if you have UNTERFACE-1. If equal to | | | |244, then the area of the overridden ones is not transferred, otherwise | | | |checked 23832. | |23735| 11|Not used. | |23746| 1 |Contains RET code. Used to switch | | | | ROM versions in BASIC. | |23747| 5 |Not used. | |23752| 1 |Drive type A: | | | | bit 7=O - CD-track drive. | | | | 1 - 8O-track disk drive. | | | | bit 1=O - single-sided drive. | | | | 1 - double-sided disk drive. | | | | bit O=O - use an 8O-track drive as | | | | CHO-track. | |23753| 1 |Disk drive type B. | |23754| 1 |Drive type C. | |23755| 1 |Drive type D. | |23756| 1 |Current sector when working with a directory. | |23757| 1 |If not O, then after positioning there will be a delay-| | | |ka. State register VG-93 before checking the road-| | | |ki. Bit 7 of the VG-93 status registerbefore reading | | | |address iarker. | |23758| 1 |Operation flag with cektopauu. When O - reading sectors, | | | |at 255 - I’ll write it down. | |23759| 2 |Payati workspace address for MOVE, COPY, LIST.| | | |u when processing houepa records when outputting to a file | | | |direct access data. | |23761| 1 |Length of the translated file for MOVE. | |23762| 1 |Ui uaccuba when recording/loading uaccuba in the form: | | | |bits O - 4 - uaccuba (from "A" = 1 to "Z" = 26), | | | |bit 5 - if O, then uaccub is numeric, | | | |bit 6 - if 1, then uaccub is a string, | | | |bit 7 is always 1. | |23761| 2 | How to autostart lines when recording programs on | | | |basic. | |23763| 2 |Sector counter of the transferred file for MOVE. | |23764| 1 |Houep ctupaeuoro file for MOVE. | |23765| 1 |Current sector of the transferred file for MOVE. | |23766| 1 |Current track of the transferred file for MOVE. Ko- | | | |number of defective sectors during foriation u | | | |disk check. For a string compression routine: | | | |if O, then the code is in the program line on| | | |basic, otherwise inothers are. For subprogram | | | |file download: if O, then download address u length | | | |taken from the file descriptor, if 3, then from 23769 u | | | |23771 accordingly, otherwise the download address is taken| | | |from 23769, and the length is from the file descriptor. | |23767| 1 |Current sector of file when MOVE. Quantity-| | | |your tracks when determining the type of drive u for- | | | |uatupobahuu. | |23768| 1 |Current track of the ctupaeuoro file when MOVE. If not| | | |Oh, then the foreground track is not checked. | |23767| 2 |Saves CH_ADD when processing houepa entries in | | | |sequential access file. Address renamed | | | |length of the string for the string compression routine. Address| | | |old uaccuba when loading uaccuba. Address sect-| | | |ra for PEEK u ROKE. | |23769| 1 |Relative address of record when processing houepa | | | |entries in the sequential access file. | |2377O| 1 |How to open the file block of the arbitrary dos- | | | |stupid when processing houepa records. If equal to 128, | | | Then there are two sides, otherwise there is only one. | |23769| 2 |Counter of freed sectors for MOVE. Address | | | |upload file for LOAD, houep sector for PEEK u | | ||ROKE. Keyword address for compression routine | | | |tia lines. Length of the file to be written when SAVE. | |23771| 1 |How to load the sector of the file block? | | |nogo access when processing houepa records. Howep | | | |the first sector of the file for MOVE. | |23772| 1 |houep the first track of the transferred file for MOVE.| |23771| 2 |File length for LOAD. File length to specify in | | | | directory with SAVE. Houep flow for CAT u LIST. | |23773| 8 |Uia file or disk when formatted. | |23781| 1 |File extension. | |23782| 2 |File download address. Sector table address for | | | |foration. | |23784| 2 |File length. Sector table address to check | | | |paths. | |23786| 1 |Obyuey file in sectors. | |23787| 1 |Houep the first sector of the file. | |23788| 1 |Houep the first track of the file. | |23789| 2 |Download address of the old file for COPY. | |23791| 2 |Length of the old file in bytes for COPY. | |23793| 1 |Length of the old file in sectors for COPY. | |23794| 1 |Houep the first sector of the old file for COPY. | |23795| 1 |Houep the first track of the old file to COPY.| |23796| 1 |Houep the current sector for the subprogram | | | | loading / writing sectors. | |23797| 1 |Houep the current track for the subprogram | | | | loading / writing sectors. | |23798| 2 |Houep drive for operation (O - 3). | |238ОО| 1 |Source drive for COPY. If equal to 255, then when | | | |output to a data file does not remove the buffer. | |238O1| 1 |Disk drive-npueuhuk for COPY. Houep drive at | | | | directory output. Sign of file operation: O - | | | | - loading, 255 - verification. | |238O2| 1 |Revaluation times of drive head A: (8 - 11). | |238O3| 1 |Same for drive B:. | |238О4| 1 |Same for drive C:. | |238O5| 1 |Same for drive D:. | |238О6| 1 |Controller code for subroutine reading/for- | | | |pis sector. | |238О7| 1 |Houep sectors for read/write routine | | | | sector. | |238О8| 2 |Sector address for read/write routine | | | | sector. | |2381O| 2 |Saves HL for subroutine calling subroutine | | | |from BASIC ROM u 15635.| |23812| 2 |Keeps DE. | |23814| 1 |Number of file descriptor bytes checked when it | | | |search. | |23815| 1 |Number of erased files for ctupa subroutine- | | | |file files. | |23816| 1 |First symbol of the file for the ctupa subprogram- | | | |file files. | |23817| 1 |data file type for OPEN# ("R", "W" or "RND"). | |23819| 2 |Not used. | |2382O| 1 |Buffer presence flag: O - yes, otherwise - no. | |23821| 1 |Houep the current file when copying the entire disk from| | | |two disk drives. | |23822| 1 |Paiyati work area state flag. If equal to | | | |255, then the workspace was used. If equal| | | |254, then routine 963 ignores errors. | |23823| 1 |TR-DOS error code. When searching for a firmware file | | | |15635: 255 - file not found, otherwise - file houep. | |23824| 1 |Operation flag for the load/verify routine | | | |file functions: O - file operation, 255 - loading | | | |ka / file sector verification, otherwise - write | | | |file sectors. | |23825| 2 |Address of the code string.| |23827| 2 |Saves the contents of ERR_SP for the subroutine | | | |gate to BASIC. | |23829| 1 |If O, then error messages are displayed on the screen | | | |kah, otherwise they are not displayed. | |2383O| 1 |Copy of the cucteuhoro register. | |23831| 1 |If equal to 17O, then when calling 15612 the screensaver does not | | | |is displayed, otherwise the splash screen is displayed u is checked | | | |byte at address 23296. If it is equal to 17O, then | | | |starts the "boot" file. | |23832| 1 |Used if you have UNTERFACE-1. If not O, then| | | |uectauu blocks of data 45 bytes long by | | | |addresses 23747 and 23859. | |23833| 1 |Houep drive by default. | |23834| 2 |Return address from the completion subroutine. | |23836| 2 |Saves SP for the return to BASIC subroutine. | |23838| 1 |Houep file when searching for it. | |23839| 1 |Flag for calling TR-DOS. If O, then the challenge was | | | |from computer code, otherwise - from BASIC. First sec-| | | |tor file on disk - npuehuke for COPY S. | |2384O| 1 |The first sector of the file on the disk is npuehuke for COPY S.| |2384O| 3 |Saves the first 3 characters of the code string. | |23841| 1 |If not O, thenthe first copying pass is in progress, ina-| | | | what's the continuation. | |23843| 1 |The range of available payments in sectors for MOVE u | | | |COPY. | +=====+===+====================================================+ When initializing the system, the following cells are used: +=====+===+====================================================+ |Address|Length| Contents. | |-----+---+----------------------------------------------------------------+ |23746| 1 |Koianda RET. Used to call a subroutine | | | |from BASIC ROM. | |2432O| 2 |Saves HL for the execution subroutine | | | |processor in RAM. | |24322| 14|Not used. | |24336| 3 | Subprogram for revaluation of LDIR blocks or | | | |LDDR. | |24339|237|Vreined stack. | +=====+===+====================================================+ Also, when initializing system re-installed TR-DOS 2O by- commodities from address 23698 are used for subprogram pricing checking the presence of UNTERFACE-1. Ways to access TR-DOS ROM. The TR-DOS ROM is shadow, so it cannot be accessed I press myself directly when I call CALL. But in order for it was available for use, addresses exist, when re- during which the TR-DOS ROM is turned on. In BASIC-48 ROM in these addresses there is a character generator, therefore usually controlling love is never transferred there. Bhuahue!!! In ROM BASE- ka-128 nporpauua is located in these addresses, so when you turn on The current BASIC ROM-128 ROM TR-DOS is completely blocked. Below you see a list of entry points that switch ROMs. 15616 - input to the TR-DOS code processor. 15619 - execution of TR-DOS commands from BASIC. 15622 - input routine from data file. 15629 - subroutine for outputting to a data file. 15632 - subprogram for understanding the payment. 15635 - calling the TR-DOS subroutine from the machine code. 15638 - subroutines for processing errors coming from the ROM. sika. 15663 - jump to any address in the TR-DOS ROM. How to usethese entry points. 15616 - simple call. You can install the updated 23831 u 23296. 15619 - from BASIC: RANDOMIZE USR 15619:REM:from the computer code: 1) I will put in a copy a string in ASCII form with prefixes REM:. 2) I will write the address of this line in CH_ADD. 3) CALL 15619. Hanpuuep: LD HL,LINE ;setting CH_ADD LD (23645),HL JP 15619 ;execute coianda ;code string LINE DEFB 234 ;REM DEFB ":" ;: DEFB 239 ;HOAD DEFB 34 ;" DEFM "ECHAMPLE";ECHAMPLE DEFB 34 ;" DEFB 13;ENTER 15622 - I will open the data file channel and call. At the exit suivol from the file will be in the accumulator. 15629 - I will open the data file channel, enter into A symbol u I'll call you. Bhuahue!!! Contains an error. 15632 - I’ll just call you. Checks 23734 u 23832 u changes blocks payiati uectauu, if necessary. 15635 - Howep subroutines nouectute to register C, rest according to the table: +=====+======================================================================+ | Koi.| Functions | |-----+-------------------------------------------------------+ | О |Recovery from waiting INTRQ. Bocnpuhuuaet BREAK. | | 1 |Select a drive. Houep drive nouectute to register | | |A. If in the revaluation of the heads | | |disk drive bit 7 is turned on, then the restart time is determined | | |appreciating the heads of u is checked re-pied with tunou disco | | |water. If it is not equal to 255 (error), then it will be determined | | The number of tracks on the drive is determined. With this, it is assumed | | It appears that the drive is one-sided (error). With air | | |the gate is determined by the houep of the track, onwhich is worth | |disk drive capacity u is entered into the track register. | | 2 |Positioning. Logical zero track nouectute in| | |A. If the address 23757 is not O, then after positioning | | There will be a delay. There is a bug in nporpauue. | | 3 |Sets the contents of the battery to address 238O7. | | 4 |Sends HL content to 238O8. | | 5 |Reading a group of sectors. In HL nouectute address in Paiyati,| | |in D - houep of the first track, in E - houep of the first sect-| | |ra, in B - the number of sectors. There is an error in nporpauue- | | |ka. | | 6 |Write a group of sectors. Parameters u error similar | | |coiande 5. | | 7 |Directory output. In the accumulator nouectute houep flow, | | |and in 238O1 nouectute houep of the disk drive from 23798. In prog- | | |There is an error. | | 8 |Read file descriptor at 23773.Houep file | | |nouectute into the accumulator. | | 9 |Write a file descriptor. For the descriptor, please contact us at | | |su 23773 u nouectute houep file in the accumulator. | | 1O |File search. Check this part of the descriptor with | | |address 23773, and its length is nouectute 23814. If the file | | | found, then in the sun, 23823 u23838 will be his houep, otherwise | | |23838 does not change, but in 23823 u BC will be 255. | | 11 |Write the file. Uia u expansion nouectute with 23773, on- | | |beam in paiyati nouectute in HL, and length - in DE. | | 12 |I will record the program in BASIC. UIA u extension nouectu-| | |those from address 23773. If the extension is not “B”, then the file is for-| | |written as code. | | 13 |Not used. | | 14 |Performs 5 functions: | | | File upload: in 238О1 u 23824 nouectute О, ия u | | | extension nouectute with 23773 and also: | | | For basic - nporpauu - nothing more. | | | For CODE files: | | | When A=O - loading address u length are taken from the catalog | | | ha. | | | When A=3 - the loading address is taken from HL, the length - from | | | D.E. | | | Otherwise - the loading address is taken from HL, the length - from | | | catalogue. | | | For uaccubob - A<>O, in HL - the length of the body of the old ias- | | | Siva or O, if there is none; in 23767 - body address | | | old uaccuba in paiyati, in 23762 - uaccub. | | | Verificationfile - everything is like u for downloading, only in | | | 238О1 nouectute 255. | | | Loading a file sector - in 238О1 nouectute О, in | | | 23824 - 255, in 23767 - download address, in HL - houep | | | sectors, in A - 3, in DE - O (the last two actions - | | | to work around the error. Bhuahue!!! Doesn't work with fileu | | | BASIC u DATA due to error. | | | Verification of the file sector - everything is like u when loading, | | | only in 238O1 nouectute 255. | | | I will write the sector of the file - in 238O1 nouectute 255 (for ob-| | | course of error), in 23824 - not O u not 255, in A - not O, in | | | HL - houep sector, 23767 - address in Paiyati. | |15-17| Not used. | | 18 | Erasing files. Uia u extension nouectute with 23773, | | | I'll also update 23815, then at the end of the melt there will be | | | number of files erased. | | 19 | Transfer 16 bytes from address to HL at address 23873. | | 2O | Reverse 19. | | 21 |Checking the track. Physical houep path nouectute in| | |battery u select the disk side. If found | | |bad sectors, then in 23823 u the sun will be 7, and in 23766 bu-| | |decreases their number. | | 22|Selects the top side of the disk. | | 23 |Selects the bottom side of the disc. | | 24 |Checks disk ownership and configures cucteuy | | |on his type. Contains an error. | +=====+======================================================================+ 15638 - internal entry point. How to use it, put it in disassembler. 15663 - nouectute on the stack the desired address, venture JP 15663. In ka- In honor of npuuepa, I present subroutines for executing two code TR-DOS, missing in 15635. Disc formatting. Uy disk nouectute in 23773. CAHL 15632 LD A,255; this part of the program repeats 15635 LD (23829),A; I don’t print any comments LD (23839), A ; works with the bus code LD (23768), A; I won’t check the tracks LD (23761),A ;NO DISC when reading the address arker ;ignore LD HL,513 ;after completion the return will be in BASIC LD (23834),HLLD (23836),SP;save SP PUSH AF ;selecting area for subprogram address ;error handling LD HL,79О1 ;address of subprogram forization PUSH HL ;put it on the stack LD HL,541 ;address of the subprogram for setting the address of the ob- ;error handling PUSH HL ;put it on the stack JP 15663 ; entry into TR-DOS ROM Packing disk space. CALL 15632 ;repeat again 15635 LD A,255 LD (23829),A LD (23839),A LD HL,513 LD (23834),HL LD (23836),SP PUSH AF LD HL,58О6 ;address of space packaging subroutine ;disk PUSH HL;put it on the stack LD HL,541 ;continue as in the previous npuuepe PUSH HL JP 15663 BETA DISC interface ports. The following ports are used to control BETA DISC interfaces: 31 - output - VG-93 code register, input - status register VG-93. 63 - VG-93 track register. 95 - register of sector VG-93. 127 - data register VG-93. 255 - output - system register, input - DRQ and INTRQ signals. Port 31. The code register is the most important. I appreciate him nporpauua from- gives the controller commands to carry out operations. Mukpocxeu I can execute 11 codes: BIN NECH OOOOHVRR #OO - #OF Recovery. OOO1HVRR #1О - #1F Search. ОО1THVRR #2О - #3F Step into the previous historydirection. О1OTHVRR #4О - #5F Step forward. О11THVRR #6О - #7F Step back. 1OOMSECA #8О - #9F Reading sector. 1О1MSECO #АО - #BF I will record the sector. 11OOOEOO #СО, #C4 Reading address. 111OOEOO #EO, #E4 Reading track. 1111OEOO #FO, #F4 I'll record the tracks. 11О1III #DO - #DF Forced interruption. Flag bits: RR - head positioning speed: +==+==+=====+ |R1|RO|T step| |--+--+-----+ | O| O| 6 is| | O| 1|12 is| | 1| O|2O is| | 1| 1|3About is| +==+==+=====+ This table is valid at a clock frequency of 1 iHz. When the signal le TEST=О period is equal to about OROO and u does not change. V - checking the houepa track after positioning. N - head loading.T - the definition of the track in the track register after each step. A - type of address uetku (O - #FB, 1 - #F8). C - checking the houepa side of the disk when identifying the index side areas. E - delay after loading the head to 3О. S - side of the disk. M - July sector operation. I - interrupt condition: IO - when the drive transitions to the “ready” state. I1 - when the drive transitions to the “not ready” state. I2 - by index and plus. I3 - immediately. Koianda "restoration" accomplishes positioning to horn O. If after 256 steps the TROO signal does not appear, then ianda stops working. Always executed when the circuit is reset roller regardless of the readiness of the drive. Koianda "search" - the track register must contain the current one tions houeptracks, and in the data register - required. Pereietse- The head spins until they coincide. Koianda "step" advances the head by 1 step. Installation direction It is called koiandaiu “forward” and “backward”. Koianda "read sector" reads the sector from the current track, but whose name is specified in the sector register. Disc side is specified flags S (O, 1). When the M flag is set, all sec- ra to the end of the path. Flag A - type of address uetku: when A=1 - #F8, sector erase enabled; at A=O - #FB, erasing record review. First the sector identifier is read; if so not found, then the flag "is-" is set in the status register siv not found." Otherwise, if the houepa paths, sides, sector u control cyuua, then the data is read: the next byte is issued to the data register u is accompanied by a signal taxes DRQ. The byte must be read from the data register before the the following, otherwise the status register is set to "data loss" flag. At the end of reading, a control is checked cyuua u if it does not match, then in the status register The flag "error in the cyuue control" is displayed. Atthis and The July sector operation is terminated. Koianda "recording the sector" in terms of sector identification, appears similar to the previous one. DRQ signal appears when requesting first byte of data. The idea is calculated 22 bytes for double density (for single 11) - space between index area u datau. After this, if the data register received a byte, you a recording strobe is given and data is recorded starting from zero bytes u address uetku. The data register should receive obvious red byte in response to each DRQ signal at write speed. If the byte is not received, then the status register is set to bit “data loss”, and byte O is written to the disk. After the data The control cyuua u byte is written - space. Signal WSTB is installed in O. Koianda "read address" reads 6 bytes of the first one Xia sector identifier, including the cyuuy control. If the control cyuua does not match, then the "error" flag is set ka in control cyuue" and the reading continues. When executing of this code, a byte from the track register is written into the register sectors. Upon completion as usualsignal INTRQ u is generated The busy bit in the status register is cleared. Koianda "read track" reads all information from the track, including service. In this case, a reading strobe is not issued u is not pro- control signals are verified. The "record tracks" command is intended for formatting disks. All information, including spaces and index fields and data nykh with bceuu uetkauu. All bytes kpoue #F5 - #FE are written, which are interpreted as control address uetku. Takiya When formatted, these bytes are not written. You can see the list of these bytes in the table: +=====================+=====================================================+ | | Purpose. | | Byte +-------------------------+------------------------+ | | In FM mode. | In MFM mode. | |-------+-------------------------+-------------------------+ | #F5|Not allowed. |Write uetku #A1 in MFM. | | | |Calculate- | | | |is controlled cyuua.| | #F6|Not allowed. |Write downuetku #C2 in MFM. | | #F7|The calculated control cyuua is recorded. | |#F8-#FB|Write #F8 - #FB with CLK=#C7|Write #F8 - #FB in MFM. | | #FC|Write #FC with CLK=#D7 |Write #FC to MFM. | | |(index line before the first index uaccubou). | | #FD|Write #FD with CLK=#FF. |Write #FD in MFM. | | #FE|Write #FE with CLK=#C7. You- |I will record #FE in MFM. | | |listed as control cyu-| | | |ia (index at the beginning of the index uaccub). | | #FF|Write #FF with CLK=#FF. |Write #FF in MFM. | +=======+============+===========+ The "forced interrupt" command is set to complete any executing command. Unlike other koiandas, it is io- Can be issued at any uoueht bpeuehu. Interrupt condition for hangs from the bad bits of the coianda. If they are equal to O, then coianda is interrupted u INTRQ is not generated. When IO=1 interruption is is replenished after the CPRDY signal transitions from O to 1; when I1=1 - from 1 in O. When I2= =1 - upon receipt of the index plus. When I3=1 The connection is immediately interrupted. After completion If these conditions are met, the INTRQ signal is issued.State register 1818VG-93. After execution, the status register will contain flags, showing the result of executing the code: +===============+==============+ | |Register bit| | Koianda +-+-+-+-+-+-+-+-+ | |7|6|5|4|3|2|1|O| |---------------+-+-+-+-+-+-+-+-+ |Auxiliary|R|P|Н|F|C|T|I|Q| |Read address |R|O|O|N|C|W|D|Q| |Reading sector |R|O|A|N|C|W|D|Q| |Reading track |R|O|O|O|O|W|D|Q| |Record the sector |R|P|E|N|C|W|D|Q| |I will record the tracks |R|P|E|О|О|W|D|Q| +==============+=+=+=+=+=+=+=+=+ Flag values: R - drive readiness (1 - not ready). P - note from the recording. N - head loading. E - recording error. A -address type uetku. F - search error. N - uaccub not found. C - error in cyuue control. T - head on track O (TROO signal from the drive). W - data loss. I - index plus. D - data request. Q - busy (coianda is being executed). Port 255. The system register is used to select drives and execution other auxiliary actions. Its structure: 7 6 5 4 3 2 1 O | | | | +-+-Houep disk drive (O - 3). | | | +-----Reset VG-93, if O. | | +-------Loading the head. | +---------Disk side (O - bottom). +-------------Recording method (O - FM, 1 - MFM). When inputting from this port, the following signals are read: bit 7 - INTRQ;bit 6 - DRQ. Unfortunately, TR-DOS ports are only available when the The ROM is TR-DOS, which makes it very difficult to access. But for Writing to ports you can use the following subprograms: 12227 OUT (31),A RET 7738 OUT (63),A RET 8179 OUT (255),A RET 12О44 OUT (255),А RET 1О835 OUT (C),А RET Unfortunately, there are no such subprograms for reading from ports. Error codes: In TR-DOS, error handling is implemented quite incorrectly, but However, I can still distinguish errors if I use two re- reienniu: 2361О u 23823.+=====+============+=====+=====+ |Error message|Value. |2361O|23823| |----+----------------------------+-----+-----+ |O.K. |Norial completion. | 255 | About | |No file(s) |The required file was not found. | 255 | 1 | |File exists |The file already exists. | 255 | 2 | |No space |There is no space on the disk. | 255 | 3 | |Directory full |There is no content in the disk directory. | 255 | 4 | |Rec OF |Evaluation of non-existence | 255 | 5 | | |file sector. | | | |No disc |There is no disc in the drive. | 26 | 6 | |Disc ergog |Disk error. Estu 3 va- | 26 | 7 | |Trk HH sec HH |puahta: R - try again | | | |Retry,Abort,Ignore?|Vatyu, I - I will continue with the following | | | | | long sector, A - otka- | | | | | I'm worried about the operation. | | | |Read only |The disc is priced from recording. Estu| 26 | 7 | |Trk HH sec HH |3 options (cuotpute above).| | | |Retry,Abort,Ignore?| | | | |Streau opened |The thread you are opening is already busy.| 25 | 1O | |Not disk file |Closing channel does not belong-| 255 | 11 | | | lies TR-DOS. || | |Array not found |Trebyeyaya renamed not found-| 255 | 14 | | |dena. | 1 | 1 | |*BREAK* |The BREAK key is pressed. | 2O | 2O | | | | 12 | 12 | |Out of RAM |Not enough operational memory 3 | 3 | |Disc ergog |The disc does not belong to TR-DOS. | 255 | About | |Read only |Attempting to write to CHO-dorozhech-255 | * | | | disc on 8-track | | | | |disk drive. | | | |*ERROR* |Other errors, mainly | 11 | 12 | | | syntactic. | H |H+1 | +=====+============+=====+=====+ * - a copy of the one transferred from the tunou drive, H - any number. If the message Retry, Abort, Ignore? error codes are turned on when answering A. File descriptor format. bytes O - 7 - file. byte 8 - file extension. bytes 9 - 1О - for codes uaccubob - addressdownloads, for nporpauu in BASIC - file length, for files data: byte 9 - houep of the block in the file, byte 1O - any, TR-DOS will always set 32. bytes 11 - 12 - for uaccubob u codes - file length, for prog- parai in BASIC - program length, for files data - the length of the recorded part of the block. byte 13 - File length in sectors. byte 14 - Houep of the first sector of the file. byte 15 - houep of the first track of the file. Disk descriptor format (sector 8 track O) bytes O - 224 - are not used. byte 225 - houep of the first free sector. byte 226 - houep of the first free track. byte 227 - disk type: 22 - 8O-track double-sided, 23 - CHO-track double-sided, 24 - 8O-track single-sided, 25 - CHO-track one-sided. byte 228 -number of files on Vieste disk with erased youu. bytes 229 - 23О - number of free sectors. byte 231 - always 16 - a sign that the disk belongs to TR-DOS. bytes 232 - 243 are not used. Bytes 234 - 242 TR-DOS for- fills 32 bytes. byte 244 - number of erased files. bytes 245 - 252 - of the disk. bytes 253 - 255 are not used. Errors in TR-DOS routines. Fatal errors: Errors PEEK ROKE - it’s impossible to work with files with an extension hueu B u D. I also hate working with the latest cektopou any file. PEEK error - after the sector, a hundred bytes are read from the following, as indicated in the next byte file length. This error is circumvented by usingmodification of subprogram 15635. MAGIC errors - corrupts addresses 23552 and 23553. If at address 233О4 will be 238, then it will load into port 32765 number from 23388. Makes 20 attempts to write to a disk with a sealed slot. RUN error - does not run code files correctly. Error PRINT# - When creating a new file block, the buffer is corrupted, Because of this, CAT# or LIST# may not work. RESET error - goes to address 23746 koyandy RET without presence of systemic re-infused TR-DOS. CAT error - If the houepa drives in 238O1 and 23798 are different, then anything will happen. Positioning error - not taken into account by the re-evaluation speed drive heads. Other errors: Drive selection error - type not checkeddisk drive, if in renamed 255, and if I understand it, then the drive type will always be overridden I'm crying. Error reading address arker - ignore error flag is taken from 23761, not 23831. Error with all COPYs - the renamed 2384O is spoiled, and with COPY S - ece u 23839. GO TO errors - the border color is taken from 23624. To save the length of the uuehu file, the screen is used, although There is no need for this. When loading page files pressing BREAK or answer A to the question Retry, Abort, Ignore? Will lead to anyone. Errors PRINT# u INPUT# - after the question Retry, Abort, Ignore? or pressing BREAK will do anything. Error setting to disk - not checked for possible use use the drive in the required mode. Processed completely incorrectly DISC ERROR. READ ONLY error - when trying to write to a CHO-track disc on The 8-track disk drive reports the following: everything is correct, but in the re-invention 23823 weighted then the error code will be a copy of the rewritten one from tunou disk drive. BREAK error - when you press BREAK, the message BREAK INTO is displayed PROGRAM buecto BREAK-CONT REPEATS.
Share your thoughts about the article