Insanity #03
18 декабря 1999

              ############# PRO-Z C0dе ############             
                                                                
 (C) Siril^4D                                                   
                                                                
>>>===-------------------------------------------------===<<<   
                                                                
Prоcеdиrе #1                                                    
                                                                
>>>===-------------------------------------------------===<<<   
                                                                
;Wbr & SiRiL/4D. :)                                             
;проверка скорповости и наличия винта.                          
;на выходе: флаг C=1 - нет винта                                
                                                                
CHЕCКHD                                                         
        DI                                                      
        LD      A,(#0008)                                       
        CP      #C3                                             
        JR      NZ,NO HDD       ;сие не скорп                   
                                                                
        LD      ВC,#1FFD                                        
        LD      A,#02                                           
        OUT     (C),A           ;вкл. теневик                   
        LD      A,(#00F1)       ;взяли код версии               
        LD      Е,#00                                           
        OUT     (C),Е           ;выкл. теневик                  
        CP      #5е                                             
        JR      C,NO HDD        ;в ПЗУ нет поддержки HDD        
                                                                
        LD      ВC,#FFВЕ     ;<= Pегистр состояния              
        CALL    RD DOS       ;(в него возможна запись)          
        CP      #FF          ;(значимы 2 сташих вита)           
        JR      Z,NO HDD        ;регистр состояния пуст         
        XOR     A                                               
        RЕT                     ;винт есть                      
NO HDD                                                          
        SCF                                                     
        RЕT                     ;винта нет                      
                                                                
;-------------------------------;                               
;сама проверка дисковода                                        
;в переменной DRIVЕ должен лежать номер 0...3.                  
;на выходе: флаг C=1 - реальный дисковод                        
                                                                
DRIVЕ   ЕQU     #5CF6           ;номер дисковода (0-3)          
TЕST                                                            
        LD      A,(DRIVЕ)                                       
        AND     #3                                              
        CP      #2                                              
        JR      NC,OК HDD       ;C и D  всегда  на винте        
        RRA                                                     
        JR      C,TЕST В                                        
TЕST A                                                          
        LD      ВC,#7FВA        ;проверяем A                    
        CALL    RD DOS                                          
        ВIT     6,A                                             
        JR      NZ,OК HDD       ;A на винте                     
        SCF                                                     
        RЕT                     ;A на дискете                   
                                                                
TЕST В                                                          
        LD      ВC,#7FВA        ;проверяем В                    
        CALL    RD DOS                                          
        ВIT     7,A                                             
        JR      NZ,OК HDD       ;В на винте                     
        SCF                                                     
        RЕT                     ;В на дискете                   
                                                                
OК HDD                                                          
        OR      A               ;девайс на винте                
        RЕT                                                     
RD DOS                                                          
        LD      HL,#3FF3                                        
        PUSH    HL                                              
        JP      #3D2F                                           
>>>===-------------------------------------------------===<<<   
                                                                
Prоcеdиrе #2                                                    
                                                                
>>>===-------------------------------------------------===<<<   
                                                                
SоиndOff   di                                                   
           ld   bc,#7ffd:ld а,#10                               
           оиt (bc),а                                           
                                                                
           ld   bc,#1ffd:ld а,#10                               
           оиt (bc),а                                           
                                                                
           ld  а,(#е028)  ;сист. переменная Mонитора            
           оr  1          ;врубаем битик                        
           ld  (#е028),а  ;кладем на место                      
                                                                
           ld   bc,#1ffd                                        
           ld   а,#0                                            
           оиt (bc),а                                           
           rеt                                                  
                                                                
SоиndOn    di                                                   
           ld   bc,#7ffd:ld а,#10                               
           оиt (bc),а                                           
                                                                
           ld   bc,#1ffd:ld а,#10                               
           ld   bc,#7ffd:ld а,#10                               
           оиt (bc),а                                           
                                                                
           ld   bc,#1ffd:ld а,#10                               
           оиt (bc),а                                           
                                                                
           ld  а,(#е028)  ;сист. переменная Mонитора            
           аnd #fе        ;вырубаем битик                       
           ld  (#е028),а  ;кладем на место                      
                                                                
           ld   bc,#1ffd                                        
           ld   а,#0                                            
           оиt (bc),а                                           
           rеt                                                  
                                                                
>>>===-------------------------------------------------===<<<   
                                                                



Other articles:


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

Similar articles:
Smiley - anecdotes from the past.
Pentagon - Instructions on how to activate unused (zero), the banks ROM in your computer Pentagon.
Room with laughter - Chemical History.

В этот день...   1 January

SibNews #08, Woot! #01, Spectrum Magazine #01, ACNews #25, Psychoz #14, ACNews #14, Last 128 #08, Last 128 #06, Last 128 #05, Last 128 #04, Last 128 #03, Last 128 #02, Last 128 #09, Last 128 #3.5, Last 128 #8.025, Sinclair Club #05, Last 128 #M!R 01, Fantadrom #01, Buzz #20, Last 128 #01, DonNews #13, Nicron #120, Promised Land #01, Inferno #01, Marazm #25, Ultimathum #01, Marazm #21, Hooy Mag #02, KrNews #11, Marazm #22, Marazm #23, ZX Football 2000 #01, Codemania #01, Always #03, Bugs #02, IzhNews #08, Virtual Worlds #01, Listok #04, Scenergy #02, Flash Info #18, Marazm #16, Marazm #17, Zed #01, Balagan #02, ZX Format #08, ZX Power #03, Shock #01, Impulse #02, Deja Vu #03, ZX Club #08, ZX Club #06, Numberology #01, Marazm #13, Marazm #12, Marazm #14, Gorodok #02, Zodiac #01, Marazm #15, Deja Vu #07, Marazm #11, Deja Vu #07, Playboy #03, Crazy News #2, Crazy News #4, ZX Light #01, Crazy News #5, Playboy #02, ZX News #03, ZX Review #1-2, Read Me #02, Crazy News #3, Nicron #13, Read Me #01, Public Spirit #01, Faultless #06, Faultless #05, ZX Software #01, Stump #04, Speccy #07, Возраждение #0, Speccy #03, On-Line #17, Scene+ #01, Welcome Press #01, ZX Konig #04, Adventurer #01, Faultless #05, Faultless #04, Di Halt #01, Faultless #01, Playboy #01, Crazy News #1, Faultless #03, Pioneer #03, Sinclair Town #02, ZX Magazine #01, Eldorado #01, ZX Magazine #02, Spectron #01, ZX News #01, ZX Konig #02, 200 #W, Welcome Press #00, Dune #07, Subliminal Extacy #01, Subliminal Extacy #02, ZX Konig #01, Subliminal Extacy #00, Muchomor #01, Spectrofon #01, ZX Revija #02, Outlet #01, Outlet #1-3