defines.inc

     1:  
     2:  DRIVE_UNKNOWN=0
     3:  
     4:  DRIVE_2031=DRIVE_UNKNOWN + $10
     5:  DRIVE_2031_01=DRIVE_2031 + 1
     6:  
     7:  DRIVE_1540=DRIVE_2031 + $10
     8:  DRIVE_1540_01=DRIVE_1540 + 1
     9:  
    10:  DRIVE_1541=DRIVE_1540 + $10
    11:  DRIVE_1541_01=DRIVE_1541 + 1
    12:  DRIVE_1541_02=DRIVE_1541 + 2
    13:  DRIVE_1541_03=DRIVE_1541 + 3
    14:  DRIVE_1541_05=DRIVE_1541 + 5
    15:  DRIVE_1541_06AA=DRIVE_1541 + 6
    16:  
    17:  DRIVE_1541C=DRIVE_1541 + $10
    18:  DRIVE_1541C_01=DRIVE_1541C + 1
    19:  DRIVE_1541C_02=DRIVE_1541C + 2
    20:  DRIVE_1541C_03=DRIVE_1541C + 3
    21:  
    22:  DRIVE_1570=DRIVE_1541C + $10
    23:  DRIVE_1570_01=DRIVE_1570 + 1
    24:  
    25:  DRIVE_1571=DRIVE_1570 + $10
    26:  DRIVE_1571_03=DRIVE_1571 + 3
    27:  DRIVE_1571_05=DRIVE_1571 + 5
    28:  
    29:  DRIVE_1571CR=DRIVE_1571 + $10
    30:  DRIVE_1571CR_01=DRIVE_1571CR + 1
    31:  
    32:  .ifdef v2031
    33:          .ifdef CompileDrive
    34:                  .error "Only one drive type can be compiled at a time!"
    35:          .endif
    36:  CompileDrive=DRIVE_2031 + v2031
    37:  .endif
    38:  
    39:  .ifdef v1540
    40:          .ifdef CompileDrive
    41:                  .error "Only one drive type can be compiled at a time!"
    42:          .endif
    43:  CompileDrive=DRIVE_1540 + v1540
    44:  .endif
    45:  
    46:  .ifdef v1541
    47:          .ifdef CompileDrive
    48:                  .error "Only one drive type can be compiled at a time!"
    49:          .endif
    50:  CompileDrive=DRIVE_1541 + v1541
    51:  .endif
    52:  
    53:  .ifdef v1541aa
    54:          .ifdef CompileDrive
    55:                  .error "Only one drive type can be compiled at a time!"
    56:          .endif
    57:          .if v1541aa = 06
    58:  CompileDrive=DRIVE_1541_06AA
    59:          .else
    60:                  .error "Unknown 1541 AA type used!"
    61:          .endif
    62:  .endif
    63:  
    64:  .ifdef v1541c
    65:          .ifdef CompileDrive
    66:                  .error "Only one drive type can be compiled at a time!"
    67:          .endif
    68:  CompileDrive=DRIVE_1541C + v1541c
    69:  .endif
    70:  
    71:  .ifdef v1570
    72:          .ifdef CompileDrive
    73:                  .error "Only one drive type can be compiled at a time!"
    74:          .endif
    75:  CompileDrive=DRIVE_1570 + v1570
    76:  .endif
    77:  
    78:  .ifdef v1571
    79:          .ifdef CompileDrive
    80:                  .error "Only one drive type can be compiled at a time!"
    81:          .endif
    82:  CompileDrive=DRIVE_1571 + v1571
    83:  .endif
    84:  
    85:  .ifdef v1571cr
    86:          .ifdef CompileDrive
    87:                  .error "Only one drive type can be compiled at a time!"
    88:          .endif
    89:  CompileDrive=DRIVE_1571CR + v1571cr
    90:  .endif
    91:  
    92:  .ifndef CompileDrive
    93:                  .error "Please define one of v2031, v1540, v1541, v1541c, v1570, v1571, or v1571cr!"
    94:  .endif
    95:  
    96:  .if CompileDrive=DRIVE_2031_01
    97:  DRIVE_CHKSUM_C000=$B7
    98:  DRIVE_CHKSUM_FEE6=$FA
    99:  INTRA_SECTOR_GAP=$08
   100:  DRIVEFILLER=$AA
   101:  MAXTRACK_ADJUSTED=MaxTrack1541
   102:  MAXTRACK_SINGLESIDED=35
   103:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   104:  .elseif CompileDrive=DRIVE_1540_01
   105:  DRIVE_CHKSUM_C000=$97
   106:  DRIVE_CHKSUM_FEE6=$60
   107:  INTRA_SECTOR_GAP=$08
   108:  DRIVEFILLER=$AA
   109:  MAXTRACK_ADJUSTED=MaxTrack1541
   110:  MAXTRACK_SINGLESIDED=35
   111:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   112:  .elseif CompileDrive=DRIVE_1541_01
   113:  DRIVE_CHKSUM_C000=$97
   114:  DRIVE_CHKSUM_FEE6=$FD
   115:  INTRA_SECTOR_GAP=$08
   116:  DRIVEFILLER=$AA
   117:  MAXTRACK_ADJUSTED=MaxTrack1541
   118:  MAXTRACK_SINGLESIDED=35
   119:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   120:  .elseif CompileDrive=DRIVE_1541_02
   121:  DRIVE_CHKSUM_C000=$97
   122:  DRIVE_CHKSUM_FEE6=$10
   123:  INTRA_SECTOR_GAP=$08
   124:  DRIVEFILLER=$AA
   125:  MAXTRACK_ADJUSTED=MaxTrack1541
   126:  MAXTRACK_SINGLESIDED=35
   127:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   128:  .elseif CompileDrive=DRIVE_1541_03
   129:  DRIVE_CHKSUM_C000=$97
   130:  DRIVE_CHKSUM_FEE6=$0E
   131:  INTRA_SECTOR_GAP=$09
   132:  DRIVEFILLER=$AA
   133:  MAXTRACK_ADJUSTED=MaxTrack1541
   134:  MAXTRACK_SINGLESIDED=35
   135:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   136:  .elseif CompileDrive=DRIVE_1541_05
   137:  DRIVE_CHKSUM_C000=$97
   138:  DRIVE_CHKSUM_FEE6=$3E
   139:  INTRA_SECTOR_GAP=$09
   140:  DRIVEFILLER=$AA
   141:  MAXTRACK_ADJUSTED=MaxTrack1541
   142:  MAXTRACK_SINGLESIDED=35
   143:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   144:  .elseif CompileDrive=DRIVE_1541_06AA
   145:  DRIVE_CHKSUM_C000=$97
   146:  DRIVE_CHKSUM_FEE6=$EC
   147:  INTRA_SECTOR_GAP=$09
   148:  DRIVEFILLER=$AA
   149:  MAXTRACK_ADJUSTED=MaxTrack1541
   150:  MAXTRACK_SINGLESIDED=35
   151:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   152:  .elseif CompileDrive=DRIVE_1541C_01
   153:  DRIVE_CHKSUM_C000=$97
   154:  DRIVE_CHKSUM_FEE6=$79
   155:  INTRA_SECTOR_GAP=$09
   156:  DRIVEFILLER=$AA
   157:  MAXTRACK_ADJUSTED=MaxTrack1541
   158:  MAXTRACK_SINGLESIDED=35
   159:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   160:  .elseif CompileDrive=DRIVE_1541C_02
   161:  DRIVE_CHKSUM_C000=$97
   162:  DRIVE_CHKSUM_C001=$46
   163:  DRIVE_CHKSUM_FEE6=$79
   164:  DRIVE_CHKSUM_FFE5=$CA
   165:  INTRA_SECTOR_GAP=$09
   166:  DRIVEFILLER=$AA
   167:  MAXTRACK_ADJUSTED=MaxTrack1541
   168:  MAXTRACK_SINGLESIDED=35
   169:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   170:  .elseif CompileDrive=DRIVE_1541C_03
   171:  DRIVE_CHKSUM_C000=$97
   172:  DRIVE_CHKSUM_C001=$e0
   173:  DRIVE_CHKSUM_FEE6=$79
   174:  DRIVE_CHKSUM_FFE5=$EB
   175:  INTRA_SECTOR_GAP=$09
   176:  DRIVEFILLER=$AA
   177:  MAXTRACK_ADJUSTED=MaxTrack1541
   178:  MAXTRACK_SINGLESIDED=35
   179:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED
   180:  .elseif CompileDrive=DRIVE_1570_01
   181:  DRIVE_CHKSUM_C000=$51
   182:  DRIVE_CHKSUM_FEE6=$ff
   183:  INTRA_SECTOR_GAP=$09
   184:  DRIVEFILLER=$FF
   185:  DRIVE_8000=$75
   186:  DRIVE_8001=$98
   187:  MAXTRACK_ADJUSTED=MaxTrack1541
   188:  MAXTRACK_SINGLESIDED=35
   189:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED * 2
   190:  .elseif CompileDrive=DRIVE_1571_03
   191:  DRIVE_CHKSUM_C000=$42
   192:  DRIVE_CHKSUM_FEE6=$ff
   193:  INTRA_SECTOR_GAP=$09
   194:  DRIVEFILLER=$FF
   195:  DRIVE_8000=$92
   196:  DRIVE_8001=$25
   197:  MAXTRACK_ADJUSTED=MAXTRK1571
   198:  MAXTRACK_SINGLESIDED=35
   199:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED * 2
   200:  .elseif CompileDrive=DRIVE_1571_05
   201:  DRIVE_CHKSUM_C000=$38
   202:  DRIVE_CHKSUM_FEE6=$ff
   203:  INTRA_SECTOR_GAP=$09
   204:  DRIVEFILLER=$FF
   205:  DRIVE_8000=$F2
   206:  DRIVE_8001=$68
   207:  MAXTRACK_ADJUSTED=MAXTRK1571
   208:  MAXTRACK_SINGLESIDED=35
   209:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED * 2
   210:  .elseif CompileDrive=DRIVE_1571CR_01
   211:  DRIVE_CHKSUM_C000=$84
   212:  DRIVE_CHKSUM_FEE6=$ff
   213:  INTRA_SECTOR_GAP=$09
   214:  DRIVEFILLER=$FF
   215:  DRIVE_8000=$02
   216:  DRIVE_8001=$44
   217:  MAXTRACK_ADJUSTED=MAXTRK1571
   218:  MAXTRACK_SINGLESIDED=35
   219:  MAXTRACK_DOUBLESIDED=MAXTRACK_SINGLESIDED * 2
   220:  .endif
   221:  
   222:  .macro FillCount count,filler
   223:          .repeat count
   224:                  .ifblank filler
   225:                          .byte DRIVEFILLER
   226:                  .else
   227:                          .byte filler
   228:                  .endif
   229:          .endrep
   230:  .endmacro
   231:  
   232:  .macro FillUntil address,filler
   233:          FillCount address-*,filler
   234:  .endmacro
   235:  
   236:  .macro FillNOP count
   237:          FillCount count,$EA
   238:  .endmacro
   239:  
   240:  
   241:  MASK_PA = $0F           ; mask to get the device address ("primary address") for IEC open, listen, talk commands
   242:  
   243:  MASK_SA = $0F           ; mask to get the secondary address for IEC open, listen, talk commands
   244:  
   245:  IEC_COMMAND_ERROR_CHANNEL = $0F ; the number of the command and error channel of the drive
Valid XHTML 1.0 Strict
defines.inc.html; generated on Fri Sep 18 21:44:55 2015 by ca65html
uz@cc65.org