ZX-Ревю 1995 №2 1994 г.

Возвращаясь к напечатанному - Программа "OPEN 2".


       Программа "OPEN 2"
 -------------------------------
  (С) Кузьма Феськов,
               г. Абакан, 1995.
--------------------------------

    Эта программа  сделана по ана-  
 логии с программой "OPEN" (Андрея  
 Алексеева),    опубликованной   в  
 ZX-РЕВЮ-93, N1-2, стр.27, и может  
 быть  объединена с ней при помощи  
 MERGE.                             
                                    
    Все чаще  на  рынках продаются  
 дискеты с "экзотическими" загруз-  
 чиками "boot". Вот и мне попалась  
 одна из таких дискет. Все было бы  
 хорошо, если бы однажды этот boot  
 не дал ошибку: в результате прог-  
 раммы с диска оказались недоступ-  
 ными, так как ни один другой boot  
 кроме  "родного" не мог загрузить  
 эти программы.  Дело в том, что в  
 каталоге диска  изменены данные о  
 начале файла на диске:  стартовые  
 дорожка и сектор (boot их изменя-  
 ет при загрузке).                  
                                    
    Предлагаемая программа поможет  
 Вам восстановить исходные  данные  
 о начале файлов. Но сработает она  
 только в том случае,  если  длина  
 каждого файла  в секторах указана  
 правильно. После обработки  диска  
 этой программой,  Вы сможете заг-  
 ружать игры  другими  boot'ами  и  
 копировать их на другой диск.      
    Ниже приводится листинг  прог-  
 раммы:                             
                                    
     2 BORDER 1: PAPER 1: INK 3: C  
  LEAR 39999                        
     3 RESTORE : FOR a=40000 TO 40  
  012: READ b: POKE a,b: NEXT a: D  
  ATA 33,0,171,17,0,0,1,5,9,205,19  
  ,61,201                           
   100 CLS : PRINT #0;"Insert disk  
   and press any key": PAUSE 0      
   200 CLS : RANDOMIZE USR 4e4      
   245 GO SUB 2100                  
   300 PRINT #0;"Owerwrite track <  
  0> (Y/N) ?": PAUSE 0              
   310 IF INKEY$="y" OR INKEY$="Y"  
   THEN  POKE 40007,6: RANDOMIZE U  
  SR 4e4                            
   320 STOP                        
  2100 REM Start Trk & Sec         
  2110 LET a1=43790: LET a=43776:  
  LET trk=1: LET sec=0: POKE a1,se 
  c: POKE (a1+1),trk: LET a1=a1+2  
  2120 IF PEEK a=0 THEN  CLS : RET 
  URN                              
  2130 LET n$="": FOR a=a TO a+7:  
  LET n$=n$+CHR$ PEEK a: NEXT a: L 
  ET t$=CHR$ PEEK a: LET a=a+5: LE 
  T q=PEEK a: LET a=a+1: LET sec1= 
  PEEK a: LET a=a+1: LET tr=PEEK a 
  : LET a=a+1                      
  2140 CLS : PRINT AT 0,0;n$;AT 0, 
  9;t$;AT 2,0;"Track & Sector from 
   disk:"                          
  2150 PRINT AT 4,2;tr;TAB 10;sec1 
  ;AT 6,0;"Track & Sector really:" 
  2160 PRINT AT 8,2;trk;TAB 10;sec 
  2170 BEEP .1,20: PAUSE 50: FOR f 
  =1 TO q                          
  2180 LET sec=sec+1               
  2190 IF sec=16 THEN  LET trk=trk 
  +1: LET sec=0                    
  2200 PRINT AT 8,2;TAB 32;AT 8,2; 
  trk;TAB 10;sec                   
  2210 NEXT f                      
  2220 LET a1=a1+14: POKE a1,sec   
  2230 LET a1=a1+1: POKE a1,trk    
  2240 LET a1=a1+1                 
  2250 GO TO 2120                  
                                   
    И еще одно замечание.  Часто в 
 таких  "экзотических" загрузчиках 
 помимо порчи данных о начале фай- 
 ла  заменяют  еще  тип файла ("В" 
 или "С" на любой другой  символ). 
 С этим придется бороться вручную, 
 при   помощи    программы    типа 
 ДИСК-ДОКТОР. Задача немного упро- 
 щается тем,  что вероятнее всего, 
 Бейсик-загрузчик стоит первым.    
                                   
      Комментарий ИНФОРКОМА.       
                                   
    Автор назвал   эту   программу 
 "OPEN  2" по аналогии с опублико- 
 ванной   в   ZX-РЕВЮ-93,    N1-2, 
 стр.27,  он предлагает объединить 
 эти программы при помощи MERGE  и 
 использовать совместно.  Но мы бы 
 не советовали это делать. Указан- 
 ная   программа   "OPEN"  (Андрея 
 Алексеева)  при  расчете  истиной 
 длины  файла в секторах за основу 
 берет как раз разность  стартовых  
 секторов двух соседних файлов,  а  
 именно  эта  информация  искажена  
 "экзотическим"  boot'ом.  Так что  
 при совместной работе этих  прог-  
 рамм неизбежно  возникнет  ситуа-  
 ция, когда одни  данные  "восста-  
 навливаются" при помощи запорчен-  
 ных других данных,  в  результате  
 чего Вы рискуете навсегда распро-  
 щаться с   испорченным    диском.  
 Восстановление диска  после обра-  
 ботки защищающими программами это  
 всегда творческая проблема.  Поэ-  
 тому,  если  Вас  постигла  такая  
 неприятность, о которой повеству-  
 ет Кузьма, то во-первых надо ско-  
 пировать весь диск каким-либо ко-  
 пировщиком типа ДИСК  В  ДИСК,  а  
 затем,  уже с копией можно вытво- 
 рять все что  угодно.  И  первое, 
 что надо сделать, так это при по- 
 мощи ДИСК-ДОКТОРА попытаться  ра- 
 зобраться в том,  какие конкретно 
 данные каталога модифицированы, а 
 какие сохранены   без  изменения. 
 Здесь Вам  помогут  только   Ваши 
 знания и интуиция. И только после 
 того, как Вы разберетесь, хотя бы 
 предположительно  с  этим  делом, 
 надо решить,  какую же  программу 
 использовать  для попытки восста- 
 новления (при ошибке мы ничего не 
 теряем,  так как все операции вы- 
 полняем с копией дискеты).        



СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



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

Похожие статьи:
Авторы - создатели газеты.
Интервью - интервью с музыкантом Visual^Extreme (Сергей Агапов).
Система - Обзор новых системок: Sprite Maker v4.0, Turbo Copier v2.0, Sample Studio, Art Works 1, Burst Eyes v1.2, Excess Sample Editor v1.4.25, Excess Deluxe Paint v1.1, Graphic Station, BA v1.0, Global Commander v1.31, Quick Commander v2.3, Stall Spriter v0.1, AGA v1.0, Ultra Sonic v0.1, Universal Sprite Studio v1.0, HRUST v1.1, STORM v1.3.
Рассказ - Ну, юзер, погоди! (продолжение).
Презентация - "Bard's Tale Merger Programm" - программа для работы с отгрузками из игры Bard's Tale.

В этот день...   26 апреля