home *** CD-ROM | disk | FTP | other *** search
/ Go64! / Go64_1999-06_1999_CSW_Side_A.d64 / 1581cp50.zip / SRC / CENTRAL.H < prev    next >
C/C++ Source or Header  |  1999-05-13  |  4KB  |  99 lines

  1. /*
  2.  
  3.  * cOPYRIGHT (c) 1998, 1999 wOLFGANG mOSER
  4.  
  5.  *
  6.  
  7.  * tHIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
  8.  
  9.  * IT UNDER THE TERMS OF THE gnu gENERAL pUBLIC lICENSE AS PUBLISHED BY
  10.  
  11.  * THE fREE sOFTWARE fOUNDATION; EITHER VERSION 2, OR (AT YOUR OPTION)
  12.  
  13.  * ANY LATER VERSION.
  14.  
  15.  *
  16.  
  17.  * tHIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
  18.  
  19.  * BUT without any warranty; WITHOUT EVEN THE IMPLIED WARRANTY OF
  20.  
  21.  * merchantability OR fitness for a particular purpose.  sEE THE
  22.  
  23.  * gnu gENERAL pUBLIC lICENSE FOR MORE DETAILS.
  24.  
  25.  *
  26.  
  27.  * yOU SHOULD HAVE RECEIVED A COPY OF THE gnu gENERAL pUBLIC lICENSE
  28.  
  29.  * ALONG WITH THIS PROGRAM (SEE THE FILE copying); IF NOT, WRITE TO THE
  30.  
  31.  * fREE sOFTWARE fOUNDATION, iNC., 675 mASS aVE, cAMBRIDGE, ma 02139, usa.
  32.  
  33.  */
  34.  
  35.  
  36.  
  37. /*
  38.  
  39.  * cOMMODORE cbm 1581 FLOPPY DISK COPY UTIL FOR pc'S, central.h
  40.  
  41.  *
  42.  
  43.  * wOLFGANG mOSER <WOMO@MINDLESS.COM>
  44.  
  45.  *   HTTP://WWW.GM.FH-KOELN.DE/{$7e}WOMO (UP TO dEZEMBER 1999)
  46.  
  47.  *
  48.  
  49.  *
  50.  
  51.  * bASIC INFORMATIONS FROM dAN fANDRICH <DAN@FCH.WIMSEY.BC.CA>.
  52.  
  53.  *   hIS README OF THE CBMFS-0.3 DRIVER FOR lINUX EXPLAINED ME, WHAT THE
  54.  
  55.  *   DIFFERENCE BETWEEN A dos FORMATTED 800 KB DISK AND A cbm 1581 DISK IS.
  56.  
  57.  *   (CHECK: HTTP://VANBC.WIMSEY.COM/{$7e}DANF/SOFTWARE/)
  58.  
  59.  *
  60.  
  61.  *
  62.  
  63.  * bASIC IMPLEMENTATIONS BY cIRIACO gARC{CBM-K}A DE cELIS <CIRI@GUI.UVA.ES>
  64.  
  65.  *   hIS UTIL 765dEBUG, vERSION 5.0 IS GREAT FOR LEARNING DMA BASED
  66.  
  67.  *   DIRECT FLOPPY DISK CONTROLLER PROGRAMMING.
  68.  
  69.  *   (CHECK: FTP://FTP.GUI.UVA.ES/PUB/PC/2M/765D50SR.ZIP)
  70.  
  71.  *
  72.  
  73.  * cHECK OUT FOR HIS FLOPPY DISK UTILS 2m AND 2mgui, THE LAST WORDS
  74.  
  75.  * IN IMPROVING FLOPPY DISK STORAGE CAPACITY.
  76.  
  77.  *   HTTP://WWW.GUI.UVA.ES/2M, FTP://FTP.GUI.UVA.ES/PUB/PC/2M
  78.  
  79.  *
  80.  
  81.  *
  82.  
  83.  * fOR ADDITIONAL INFORMATIONS TO fdc PROGRAMMING CHECK:
  84.  
  85.  *     HTTP://DEVELOPER.INTEL.COM/DESIGN/PERIPHRL/DATASHTS/290468.HTM
  86.  
  87.  *   AND GET THE INTEL 82078 chmos sINGLE-cHIP fLOPPY dISK cONTROLLER
  88.  
  89.  *   pdf DOCUMENT:
  90.  
  91.  *     HTTP://WWW.INTEL.NL/DESIGN/PERIPHRL/DATASHTS/29047403.PDF
  92.  
  93.  *   nATIONAL sEMICONDUCTOR HAS ALSO SOME PAGES ABOUT THEIR pc
  94.  
  95.  *   COMPATIBLE CONTROLLERS:
  96.  
  97.  *     HTTP://WWW.NATIONAL.COM/PF/dp/dp8473.HTML
  98.  
  99.  *     HTTP://WWW.NATIONAL.COM/PF/dp/dp8477b.HTML
  100.  
  101.  *
  102.  
  103.  * aNOTHER GOOD SOURCE FOR FLOPPY DISK CONTROLLER PROGRAMMING INFORMATION
  104.  
  105.  * ARE THE LINUX KERNAL SOURCES, YOU COULD HAVE A LOOK INTO:
  106.  
  107.  *     HTTP://WWW.CS.UTEXAS.EDU/USERS/PETERSON/LINUX/INCLUDE/LINUX/FDREG.H
  108.  
  109.  *     HTTP://WWW.CS.UTEXAS.EDU/USERS/PETERSON/LINUX/DRIVERS/BLOCK/FLOPPY.C
  110.  
  111.  */
  112.  
  113.  
  114.  
  115.  
  116.  
  117. #IFNDEF __cENTRAL_1581copy__
  118.  
  119. #DEFINE __cENTRAL_1581copy__
  120.  
  121.  
  122.  
  123. // VERSION INFORMATION
  124.  
  125.  
  126.  
  127. #DEFINE _1581copy_VERSION_ \
  128.  
  129. "1581-cOPY, VERSION 0.50, 199905131513.  "\
  130.  
  131. "cOPYRIGHT (c) 1998, 1999 wOLFGANG mOSER\N"
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. // CENTRAL #DEFINES
  140.  
  141.  
  142.  
  143. #DEFINE mAXsECTORS 10// tHIS CONTROLS THE SIZE OF THE INTERNAL BUFFER
  144.  
  145. // THAT IS NEEDED FOR FORMATTING AND SINGLE SECTOR TRACK
  146.  
  147. // COPYING, IT MUST BE GREATER THAN OR EQUAL TO THE
  148.  
  149. // NUMBER OF SECTORS PER SIDE (TRACK), THAT MAY BE USED
  150.  
  151. // WITH A DESIRED DISK LAYOUT
  152.  
  153.  
  154.  
  155. #DEFINE tRbUFsIZE 10*1024// tHIS CONTROLS THE SIZE OF THE TRACK BUFFER, IT MUST
  156.  
  157. // BE BIG ENOUGH TO HOLD ALL THE SECTOR DATA OF ONE SIDE
  158.  
  159. // CURRENTLY: 10 SECTORS A 1024 BYTES FOR fd2000
  160.  
  161.  
  162.  
  163. #DEFINE disable_ints// DISABLING intS, WHEN PROGRAMMING THE dma CONTROLLER
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171. #DEFINE messages 0// ENABLE SOME DEBUGGING MESSAGES
  172.  
  173. // >= 6  - ENABLE ALL MESSAGES
  174.  
  175.                                     // >= 5  - ENABLE ALL HIGH LEVEL CODE MESSAGES
  176.  
  177.                                     // >= 3  - ENABLE WORKING STAGE HIGH LEVEL INFO
  178.  
  179.                                     // >= 2  - ENABLE SECTOR PROCESSING HIGH LEVEL INFO
  180.  
  181.                                     // >= 1  - ENABLE ALL MAIN PROGRAM MESSAGES
  182.  
  183.                                     // >= 0  - MAIN PROGRAM ERROR REPORTATIONS
  184.  
  185.  
  186.  
  187. //#DEFINE use_tsc// USE SYSTEM TIMESTAMP COUNTER FOR DEBUG MEASUREMENTS
  188.  
  189. //#DEFINE use_p_rdtsc// USE PENTIUM TIMESTAMP COUNTER INSTEAD OF SYSTEM TIMER
  190.  
  191.  
  192.  
  193. #ENDIF
  194.  
  195.  
  196.  
  197.