Spectrophoby #01
17 августа 1995

   ╓────────────────────────╖   
 ─── СЕКРЕтЫ tR-DOS ───    
   ╙────────────────────────╜   
                                
  Этот  раздел поможет вам в ос-
boehuu  tR-DOSa.  Мы поделимся с
Вами  маленькими  хитростями при
использовании системных процедур
ДОСа.                           
                                
  Сперва повторим материал прой-
дeнный.  т.e. уже напечатанный в
ZX-РЕВЮ:                        
                                
точка  входа  в  tR-DOS  из  ас-
сeмблeрa - это #3D13. Код опера-
ции  должен  быть  в  регистре C
процессора; рассмотрим некоторые
из них:                         
                                
C=0  -  программный сброс микро-
контроллера. эту функцию следует
применять  в самом начале работы
с интерфейсом                   
C=5  -  чтение  блока секторов в
память. входные параметры:      
                                
DE - трек/сектор                
В - длина в секторах            
HL - адрес считывания           
                                
C=6  -  запись блока секторов из
памяти. входные параметры анало-
гичны команде чтения            
                                
C=#0C - запись  файла  на  диск.
имя  и  тип  создаваемого  файла
должны  быть помещены в дeскрип-
тор  файла. адрес начала области
передается чeрeс регистровую па-
ру HL.длина - через DE          
                                
                                
                                
                                
                                
                                
                                
C=#0E  - чтение/проверка  файла.
Поскольку  действия  этих команд
аналогичны  то  под них выделена
одна  функция.  Имя  и тип файла
должны  быть помещены в дeскрип-
тор.  Вид  операции определяется
по  содержимому  системной пере-
менной 23801: 00 - чтение. 255 -
проверка.  Как и для функции за-
писи  файла. адрес и длина пере-
дается соответственно через HL и
DE.                             
                                
  Итак.  это  самые  необходимые
функции системного uhtepnputato-
ра  которые нам. и вам. и вообще
всем.  кто пишет под tR-DOS при-
годятся.                        
  A  теперь рассмотрим их попод-
робнее.                         
                                
                                
                                
                                
                                
                                
                                
                                
       1.ЧтЕНИЕ СЕКтОРОВ        
                                
  Приведем небольшой пример:    
                                
    LD   HL.#4000               
    LD   DE.#0100               
    LD   ВС.#1В05               
    JP   #3D13                  
                                
  Что означает эта программа?   
Считать 27(#1В) секторов с трека
01    сектора   00   по   адресу
#4000(16384).  проще говоря счи-
тать картинку с 1трека 0cektopa 
                                
                                
                                
                                
                                
                                
                                
                                
                                
                                
                                
                                
    2.ЗАПИСЬ БЛОКА СЕКтОРОВ     
                                
  Здесь  все  как  в  предыдущей
программе. но в ВС нужно заслать
#1В06.  собственно говоря и не в
ВС.  a в C. т.к. нам нужно поме-
нять код операции. их даже можно
разбить на две команды:         
                                
           LD В.#1В             
           LD C.6               
                                
                                
                                
                                
                                
                                
                                
         3.ЧтЕНИЕ ФАЙЛА         
                                
  Для чтения файла нам нeобxоди-
мо  поместить  имя и тип файла в
дескриптор. для чего даже имеет-
ся специальная функция uhtepnpu-
tatopa  -  #13 - это копирование
16  байт из памяти в дескриптор.
также  этот  оператор  еще  и во
многом зависит от содержания ак-
кумулятора:                     
 A=0 - адрес - HL.длина - DE    
 A=3 - адрес - HL. остальное бе-
pem из дескриптора              
                                
         4.ЗАПИСЬ ФАЙЛА         
                                
  Как  и  для  чтения  имя и тип
файла   нам  нужно  поместить  в
дескриптор.  но  aккумулaтор нам
здесь не нужен.                 
                                
                                
                                
  При объединении игр в монобло-
ки  мы  используем  подпрограмму
чтения  блока секторов (C=5). но
здесь  есть  маленькая глюка.  и
очень   даже  (иногда)  чувстви-
тельная. Попробуйте набрать сле-
дующую   программку  hanpumet  в
tASMe:                          
     LD   HL.#6000              
     LD   DE.#0100              
     LD   ВС.#9305              
     JP   #3D13                 
                                
и  запустите  ee  командой tASMa
Run  ("R").  Ну  и каков эффект?
головка  дисковода так шарахнет.
что   можно   от   неожиданности
вздрогнуть.  В чем тут дело? Как
и все открытия ответ пришел слу-
чайно.  не буду расказывать как.
тут  все  дело в длине блока ко-
дов. он слишком велик. нужно та-
кой  большой блок разбить на два
поменьше.                       
  Возьмем.  к примеру. нашу пре-
дыдущую программку. и разложим: 
                                
     LD   SP.#SFFF              
     LD   HL.#6000              
     LD   DE.#6000              
     LD   ВС.#5005              
     CALL #3D13                 
     LD   HL.#6000+20480        
     LD   DE.(23796)            
     LD   ВС.#4305              
     JP   #3D13                 
                                
блок  в  160 секторов мы разбили
на  2  блока по 80 секторов. те-
перь все будет без шуму и пыли. 
                                
                                
                                
                                
                                
                                
                                
                                
                                
                                
                                
                                
                                
  В   следующем  выпуске  нашего
журнала  мы  раскажем как заста-
вить  работать режим IM2 при об-
ращении к tR-DOS.



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Solitude - Kq: "There are several degrees of loneliness in the big cities. First seen on the streets clogged up to the limit, which is not what step to step without preparation it is impossible - there is even a sip of air to be on tiptoes pre-climb "...
Authoring - Presentation of a Copy CLV COPIER v1.0, and programs to record digital audio DSRv2.0.
Author! - About the authors of this journal and adventyurnoy game "LENIN".

В этот день...   2 May