home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / UTILITY / DISK / ADAMAKER.ZIP / ADAMAKER.DOC < prev   
Encoding:
Text File  |  1990-07-03  |  15.1 KB  |  255 lines

  1.                           ADAMAKER.COM DOCUMENTATION
  2.  
  3. ** TO CREATE AN ADAM DISK WITH ADAMAKER:
  4.      1. Put a blank disk in A: and type "FORMAT A:/1/8" (without the quotes)
  5.         and tap the Enter key.  When asked: "another (Y/N)?" tap "N" Enter.
  6.      2. Run ADAMAKER.  After reading each of the two informational screens,
  7.         tap the letter "Y" key (don't tap Enter, it's not required).
  8.      ** If errors occur, read the information displayed.  It may help you to
  9.         find and solve the problem.  Floppy disks and disk drives which work
  10.         just fine for ordinary daily use MAY NOT WORK with this program.  In
  11.         taking precautions to ensure a that valid ADAM disk is produced, this
  12.         program will report even the slightest difficulty and then abort.  If
  13.         you experience repeated or frequent problems with this program, there
  14.         is a possibility that the disks or even the drive itself may have a
  15.         defect too slight to appear in more normal daily use.  In such a case
  16.         it would be wise to remedy the problem to avoid possible loss of your
  17.         valuable disk files, should the problem later grow worse.
  18.  
  19.  
  20.                         LICENSE AND MODIFICATION RULES
  21.  
  22.           The software and information in this archive is provided on an
  23.     "as is" basis and the author makes no warranty, express or implied, as
  24.     to its usefulness or fitness for any purpose.  No fee is charged for the
  25.     use of this software, and source code is provided on the following
  26.     understandings:
  27.  
  28.             1.  The software must be distributed in a complete fashion,
  29.     including all text files in the original archive.
  30.  
  31.             2.  No modification of the software may be made that changes or
  32.     obliterates the copyrights on the software in any way.
  33.  
  34.             3.  The software, and all other contents of the archive,
  35.     including source and text files, is copyright John Wiley.  All Rights
  36.     Reserved under all applicable copyright laws and conventions worldwide.
  37.  
  38.             4.  If you desire to modify the software, you may do so provided
  39.     that the above restrictions are observed and that it is not publicly
  40.     distributed in the modified form.   Such modifications must be solely
  41.     for your personal use.   Any modifications that are to be distributed
  42.     publicly by any means must first be cleared in writing with the author,
  43.     John Wiley or Stuart Schechter, who may be contacted care of:
  44.                                             The San Diego Computer Society
  45.                                             PO Box 81444, San Diego, CA.
  46.                                             92138
  47.  
  48.     John Wiley
  49.     July 4, 1990                         DESCRIPTION & UNASSEMBLED CODE
  50.  
  51.      This program makes an ADAM "DOS" disk in A: by writing 7 Tracks stored
  52.   within the program starting at Offset 1000.  Only 2 Sectors of the last
  53.   Track written are actually used by ADAM.  The others are for data files
  54.   on an ADAM "DOS" disk, so data in that Track (6) is lost.  Other data on
  55.   the ADAM disk can still be recovered with the ADAMDISK program.  ADAM
  56.   "data" disks use only part of the first Track (0) for system info, so much
  57.   more data can be wiped out on an ADAM "data" disk by ADAMAKER.  The best
  58.   course is to use a blank formatted ADAM or MS-DOS floppy.  To make a blank
  59.   MS-DOS floppy for ADAMAKER, be sure to use the /8 switch.  This makes it
  60.   8 Sectors per track, rather than the standard 9 Sectors used in 360k drives.
  61.   ADAM disks are also single-sided, so you can save time by only formatting
  62.   one side.  Thus, FORMAT A:/1/8 before running ADAMAKER on an MS-DOS disk.
  63.  
  64. 100 E9FD00        JMP    0200 ; Skip "intro" data area (ends with ^Z at 1F9).
  65.  
  66.                             INTRO MESSAGE DATA AREA
  67. 100           54 68 69 73 20-70 72 6F 67 72 61 6D 20      This program
  68. 110  77 69 6C 6C 20 6D 61 6B-65 20 61 20 43 6F 6C 65   will make a Cole
  69. 120  63 6F 20 41 44 41 4D 20-44 69 73 6B 20 4D 61 6E   co ADAM Disk Man
  70. 130  61 67 65 72 20 22 44 4F-53 22 20 64 69 73 6B 20   ager "DOS" disk
  71. 140  69 6E 20 64 72 69 76 65-20 41 3A 0D 0A 0A 09 09   in drive A:.....
  72. 150  09 2A 2A 20 42 45 46 4F-52 45 20 59 4F 55 20 42   .** BEFORE YOU B
  73. 160  45 47 49 4E 20 2A 2A 0D-0A 45 69 74 68 65 72 20   EGIN **..Either
  74. 170  70 72 65 70 61 72 65 20-61 6E 20 4D 53 2D 44 4F   prepare an MS-DO
  75. 180  53 20 64 69 73 6B 20 28-46 4F 52 4D 41 54 20 41   S disk (FORMAT A
  76. 190  3A 2F 31 2F 38 29 2C 20-6F 72 20 70 75 74 20 61   :/1/8), or put a
  77. 1A0  6E 20 41 44 41 4D 20 64-69 73 6B 20 69 6E 20 41   n ADAM disk in A
  78. 1B0  3A 0D 0A 0A 07 57 41 52-4E 49 4E 47 21 21 20 20   :....WARNING!!
  79. 1C0  44 41 54 41 20 4F 4E 20-44 49 53 4B 20 49 4E 20   DATA ON DISK IN
  80. 1D0  44 52 49 56 45 20 41 3A-20 57 49 4C 4C 20 42 45   DRIVE A: WILL BE
  81. 1E0  20 4C 4F 53 54 21 0D 0A-0A 43 4F 4E 54 49 4E 55    LOST!...CONTINU
  82. 1F0  45 20 28 79 2F 4E 29 3F-24 1A                     E (y/N)?$.
  83.  
  84.                                START OF PROGRAM
  85. 200 B409          MOV    AH,09     ;Display String DOS Call
  86. 202 BA0301        MOV    DX,0103   ; text at 103 - "intro" screen & "(y/N)?"
  87. 205 CD21          INT    21        ; do it.
  88. 207 90            NOP    ; No OPeration - used between modules for readability.
  89. 208 E80500        CALL   0210      ;Get USER answer to "(y/N)?" prompt.
  90. 20B 90            NOP
  91. 20C EB12          JMP    0220      ; Continue to DETAILS module.
  92.  
  93.                                  USER ANSWER
  94. 210 B401          MOV    AH,01     ;Keyboard Input with Echo DOS Call
  95. 212 CD21          INT    21        ; get answer to "(y/N)?" prompt
  96. 214 245F          AND    AL,5F     ; convert "y" to "Y"
  97. 216 3C59          CMP    AL,59     ; see if USER answer = "Y"
  98. 218 7502          JNZ    021C      ; If not "Y" then goto TERMINATE
  99. 21A C3            RET              ; Else RETurn to calling process.
  100. 21B 90            NOP
  101. 21C CD20          INT    20        ;TERMINATE PROGRAM DOS INTERRUPT.                DISPLAY OPERATIONAL DETAILS AND QUERY USER AGAIN
  102. 220 B409          MOV    AH,09     ;Display String
  103. 222 BA3002        MOV    DX,0230   ; at 230 - "details" & "(y/N)?"
  104. 225 CD21          INT    21
  105. 227 90            NOP
  106. 228 E8E5FF        CALL   0210      ;Get USER answer, if not "Y" TERMINATE.
  107. 22B 90            NOP
  108. 22C E9D100        JMP    0300      ;Skip past "details" data to WRITING msg.
  109.  
  110.                       OPERATIONAL DETAILS DATA & QUERY
  111. 230  0D 0A 0A 0A 2A 20 4D 53-2D 44 4F 53 20 64 69 73   ....* MS-DOS dis
  112. 240  6B 73 20 6D 75 73 74 20-62 65 20 38 20 53 65 63   ks must be 8 Sec
  113. 250  74 6F 72 73 20 70 65 72-20 54 72 61 63 6B 20 28   tors per Track (
  114. 260  46 4F 52 4D 41 54 20 41-3A 2F 31 2F 38 29 20 66   FORMAT A:/1/8) f
  115. 270  69 72 73 74 2E 0D 0A 4E-4F 54 45 3A 20 45 78 69   irst...NOTE: Exi
  116. 280  73 74 69 6E 67 20 64 61-74 61 20 6D 61 79 20 62   sting data may b
  117. 290  65 20 72 65 63 6F 76 65-72 61 62 6C 65 20 6F 6E   e recoverable on
  118. 2A0  20 61 6E 20 41 44 41 4D-20 64 69 73 6B 20 61 66    an ADAM disk af
  119. 2B0  74 65 72 20 41 44 41 4D-41 4B 45 52 2E 0D 0A 0A   ter ADAMAKER....
  120. 2C0  4D 41 4B 45 20 54 48 45-20 44 49 53 4B 20 49 4E   MAKE THE DISK IN
  121. 2D0  20 41 3A 20 41 4E 20 41-44 41 4D 20 44 49 53 4B    A: AN ADAM DISK
  122. 2E0  4D 41 4E 41 47 45 52 20-42 4F 4F 54 41 42 4C 45   MANAGER BOOTABLE
  123. 2F0  20 44 49 53 4B 20 28 79-2F 4E 29 3F 20 24 00 00    DISK (y/N)? $..
  124.  
  125.                            DISPLAY "WRITING" MESSAGE
  126. 300 B409          MOV    AH,09     ;Display String
  127. 302 BA0903        MOV    DX,0309   ; at 309 ("Writing...")
  128. 305 CD21          INT    21
  129. 307 EB2B          JMP    0334      ;Skip data area to INITIALIZE for write.
  130.  
  131.                           "WRITING" MESSAGE DATA AREA
  132. 300                             0D 0A 0A 57 72 69 74            ...Writ
  133. 310  69 6E 67 20 41 44 41 4D-20 74 72 61 63 6B 73 20   ing ADAM tracks
  134. 320  6F 6E 20 41 3A 20 24 07-45 52 52 4F 52 20 24 07   on A: $.ERROR $.
  135.  
  136.                        INITIALIZE FOR FIRST TRACK WRITE
  137. 334 BB0010        MOV    BX,1000   ;Buffer Offset for first Track of ADAM.
  138. 337 53            PUSH   BX        ;Save for use again.
  139. 338 B90100        MOV    CX,0001   ;CH=TRACK (0), CL=SECTOR (1) to start at.
  140. 33B 51            PUSH   CX        ;Save it.
  141. 33C BA0000        MOV    DX,0000   ;DH=HEAD (0), DL=DRIVE (0=A:).
  142.  
  143.                                 WRITE 6 TRACKS
  144. 33F E81E00        CALL   0360      ;Do the WRITE ONE TRACK routine.
  145. 342 A02F03        MOV    AL,[032F] ;Get TRACK COUNT value (7) stored at 32F,
  146. 345 FEC8          DEC    AL        ; (in "WRITING" data area), Subtract one.
  147. 347 7427          JZ     0370      ; If result=0 goto FINISHED,
  148. 349 A22F03        MOV    [032F],AL ; Else store new TRACK COUNT value.
  149. 34C 59            POP    CX        ;Get TRACK & SECTOR numbers.
  150. 34D 5B            POP    BX        ;Get BUFFER Offset address.
  151. 34E 81C10001      ADD    CX,0100   ;Add 1 to Track, Sector (CH) stays 1
  152. 352 81C30010      ADD    BX,1000   ;BUFFER+1000 (8 Sectors X 200 bytes)
  153. 356 53            PUSH   BX        ; Save
  154. 357 51            PUSH   CX        ;  "
  155. 358 E83500        CALL   0390      ;Display a DOT
  156. 35C EBE1          JMP    033F      ;Repeat this routine (write another Track).                                 WRITE ONE TRACK
  157. 360 B80803        MOV    AX,0308   ;BIOS Write Sectors - AL=Sector count.
  158. 363 31D2          XOR    DX,DX     ; Zero DX - DH=HEAD (0), DL=DRIVE (0=A:).
  159. 365 CD13          INT    13        ; Do it.
  160. 367 7202          JB     036B      ;Carry=ERROR w/code in AH, goto 37B Else,
  161. 369 C3            RET              ; RETurn to calling process (goto 342)
  162. 36A 90            NOP
  163. 36B E9A200        JMP    0410      ;Goto ERROR HANDLER and TERMINATE.
  164.  
  165.                                   FINISHED
  166. 370 B409          MOV    AH,09     ;Display "DONE" message
  167. 372 BAA003        MOV    DX,03A0   ; at 3A0
  168. 375 CD21          INT    21
  169. 377 CD20          INT    20        ;TERMINATE PROGRAM (successful write).
  170. 379 90            NOP
  171.  
  172.                     DISPLAY A DOT TO INDICATE TRACK WRITTEN
  173. 390 B402          MOV    AH,02     ;Display Character DOS Call
  174. 392 B2F9          MOV    DL,F9     ;DL=ASCII character value in hexadecimal
  175. 394 CD21          INT    21        ; (ASCII F9h is a vertically centered DOT).
  176. 396 C3            RET              ;RETurn to calling process (goto 35B).
  177.  
  178.                             DONE MESSAGE DATA AREA
  179. 3A0  0D 0A 0A 44 4F 4E 45 2E-20 20 44 69 73 6B 20 69   ...DONE.  Disk i
  180. 3B0  6E 20 41 3A 20 6E 6F 77-20 68 61 73 20 44 69 73   n A: now has Dis
  181. 3C0  6B 20 4D 61 6E 61 67 65-72 20 69 6E 73 74 61 6C   k Manager instal
  182. 3D0  6C 65 64 2E 0D 0A 4F 6E-6C 79 20 54 72 61 63 6B   led...Only Track
  183. 3E0  73 20 30 2D 36 20 28 41-44 41 4D 20 73 79 73 74   s 0-6 (ADAM syst
  184. 3F0  65 6D 20 61 72 65 61 29-20 77 65 72 65 20 77 72   em area) were wr
  185. 400  69 74 74 65 6E 2E 0D 0A-24                        itten...$
  186.  
  187.  
  188.                           ERROR HANDLER (disk error)
  189. 410 86E2          XCHG   AH,DL     ;Put error code from INT 13/03 into DL,
  190. 412 52            PUSH   DX        ; save it.
  191. 413 B409          MOV    AH,09     ;Display "ERROR"
  192. 415 BA2703        MOV    DX,0327   ; text at 327.
  193. 418 CD21          INT    21
  194. 41A 5A            POP    DX        ;Get error code
  195. 41B 52            PUSH   DX        ; Save it (for later program improvements)
  196. 41C B402          MOV    AH,02     ; and Display it as an ASCII Character
  197. 41E CD21          INT    21        ; whose binary value can be decoded.
  198. 420 90            NOP
  199. 421 B400          MOV    AH,00     ;BIOS Disk Reset (for next write attempt)
  200. 423 B200          MOV    DL,00     ; on drive A:
  201. 425 CD13          INT    13
  202. 427 90            NOP
  203. 428 B409          MOV    AH,09     ;Display FULL ERROR SCREEN
  204. 42A BA4004        MOV    DX,0440   ; at 440
  205. 42D CD21          INT    21
  206. 42F 90            NOP
  207. 430 B44C          MOV    AH,4C     ;TERMINATE PROGRAM DOS Call
  208. 432 CD21          INT    21        ; after unsuccessful write attempt. FULL ERROR MESSAGE SCREEN DATA AREA
  209. 440  0D 0A 2A 2A 20 45 52 52-4F 52 53 20 6E 6F 74 20   ..** ERRORS not
  210. 450  6E 6F 72 6D 61 6C 6C 79-20 64 65 74 65 63 74 65   normally detecte
  211. 460  64 20 62 79 20 4D 53 2D-44 4F 53 20 77 69 6C 6C   d by MS-DOS will
  212. 470  20 61 62 6F 72 74 20 74-68 69 73 20 70 72 6F 67    abort this prog
  213. 480  72 61 6D 2E 0D 0A 2A 2A-20 49 66 20 65 72 72 6F   ram...** If erro
  214. 490  72 73 20 6F 63 63 75 72-20 63 68 65 63 6B 20 74   rs occur check t
  215. 4A0  68 61 74 20 74 68 65 20-64 69 73 6B 20 69 6E 20   hat the disk in
  216. 4B0  41 3A 20 69 73 20 66 6F-72 6D 61 74 74 65 64 2C   A: is formatted,
  217. 4C0  20 68 61 73 20 6E 6F 0D-0A 2A 2A 20 77 72 69 74    has no..** writ
  218. 4D0  65 20 70 72 6F 74 65 63-74 20 74 61 62 2C 20 61   e protect tab, a
  219. 4E0  6E 64 20 74 68 61 74 20-74 68 65 20 64 72 69 76   nd that the driv
  220. 4F0  65 20 64 6F 6F 72 20 69-73 20 63 6C 6F 73 65 64   e door is closed
  221. 500  2E 20 20 49 66 20 65 72-72 6F 72 73 0D 0A 2A 2A   .  If errors..**
  222. 510  20 70 65 72 73 69 73 74-2C 20 74 72 79 20 61 6E    persist, try an
  223. 520  6F 74 68 65 72 20 64 69-73 6B 2E 20 20 46 72 65   other disk.  Fre
  224. 530  71 75 65 6E 74 20 70 72-6F 62 6C 65 6D 73 20 6D   quent problems m
  225. 540  61 79 20 69 6E 64 69 63-61 74 65 20 6C 6F 77 0D   ay indicate low.
  226. 550  0A 2A 2A 20 71 75 61 6C-69 74 79 20 64 69 73 6B   .** quality disk
  227. 560  73 2C 20 6F 72 20 61 20-6E 65 65 64 20 74 6F 20   s, or a need to
  228. 570  73 65 72 76 69 63 65 20-74 68 65 20 64 72 69 76   service the driv
  229. 580  65 20 62 65 66 6F 72 65-20 64 61 74 61 20 6C 6F   e before data lo
  230. 590  73 73 2E 0D 0A 2A 2A 09-09 09 45 52 52 4F 52 20   ss...**...ERROR
  231. 5A0  4C 49 53 54 0D 0A 2A 2A-20 80 20 3D 20 44 69 73   LIST..** . = Dis
  232. 5B0  6B 20 74 69 6D 65 20 6F-75 74 20 28 6E 6F 20 72   k time out (no r
  233. 5C0  65 73 70 6F 6E 73 65 2C-20 64 72 69 76 65 20 6E   esponse, drive n
  234. 5D0  6F 74 20 72 65 61 64 79-2C 20 64 6F 6F 72 20 6F   ot ready, door o
  235. 5E0  70 65 6E 29 2E 0D 0A 2A-2A 20 02 20 3D 20 41 64   pen)...** . = Ad
  236. 5F0  64 72 65 73 73 20 6D 61-72 6B 20 6E 6F 74 20 66   dress mark not f
  237. 600  6F 75 6E 64 20 28 62 61-64 20 73 65 63 74 6F 72   ound (bad sector
  238. 610  2C 20 75 6E 66 6F 72 6D-61 74 74 65 64 20 64 69   , unformatted di
  239. 620  73 6B 29 2E 0D 0A 2A 2A-20 03 20 3D 20 57 72 69   sk)...** . = Wri
  240. 630  74 65 2D 70 72 6F 74 65-63 74 65 64 20 64 69 73   te-protected dis
  241. 640  6B 2E 0D 0A 2A 2A 20 04-20 3D 20 52 65 71 75 65   k...** . = Reque
  242. 650  73 74 65 64 20 73 65 63-74 6F 72 20 6E 6F 74 20   sted sector not
  243. 660  66 6F 75 6E 64 20 28 62-61 64 2F 64 61 6D 61 67   found (bad/damag
  244. 670  65 64 20 64 69 73 6B 29-2E 0D 0A 2A 2A 20 20 20   ed disk)...**
  245. 680  3D 20 43 6F 6E 74 72 6F-6C 6C 65 72 20 65 72 72   = Controller err
  246. 690  6F 72 2E 0D 0A 2A 2A 20-0C 20 28 6F 72 20 63 6C   or...** . (or cl
  247. 6A0  65 61 72 65 64 20 73 63-72 65 65 6E 29 20 3D 20   eared screen) =
  248. 6B0  49 6E 76 61 6C 69 64 20-6D 65 64 69 61 2E 0D 0A   Invalid media...
  249. 6C0  0A 2A 2A 20 4F 74 68 65-72 20 65 72 72 6F 72 73   .** Other errors
  250. 6D0  20 6D 61 79 20 6F 63 63-75 72 2C 20 77 68 69 63    may occur, whic
  251. 6E0  68 20 61 72 65 20 6E 6F-74 20 6C 69 73 74 65 64   h are not listed
  252. 6F0  20 61 62 6F 76 65 2E 24                            above.$
  253.  
  254.                      START OF BUFFER CONTAINING ADAM "DOS"
  255. 1000  F3 18 0D 45 4F 53 03 44-49 53 4B 5F 4D 47 52 03   ...EOS.DISK_MGR.