defines.inc

     1:  
     2:  COMPUTER_UNKNOWN=0
     3:  
     4:  PLUS4_GENERAL=COMPUTER_UNKNOWN + $10
     5:  
     6:  PLUS4_BETA_0119=PLUS4_GENERAL + 1
     7:  PLUS4_BETA_0203=PLUS4_GENERAL + 2
     8:  PLUS4_01=PLUS4_GENERAL + 11
     9:  PLUS4_02=PLUS4_GENERAL + 12
    10:  PLUS4_03=PLUS4_GENERAL + 13
    11:  PLUS4_04=PLUS4_GENERAL + 14
    12:  PLUS4_05=PLUS4_GENERAL + 15
    13:  
    14:  .if .defined(plus4pal) .and .defined(plus4ntsc)
    15:          .error "You cannot define plus4pal and plus4ntsc"
    16:  .endif
    17:  
    18:  .if .defined(plus4beta) .and (.defined(plus4pal) .or .defined(plus4ntsc))
    19:          .error "You must either specify plus4beta, or an plus4pal or plus4ntsc."
    20:  .endif
    21:  
    22:  .if .defined(plus4beta)
    23:  IS_NTSC=0
    24:  IS_PAL=1
    25:          .if plus4beta=0119
    26:  CompileComputer=PLUS4_BETA_0119
    27:  FILLER_FD00=$00
    28:  CONST_E447_T1PIPE=$02C7
    29:  CONST_E452_T1PIPE=$00AF
    30:  CONST_E45D_T1PIPE=$0162
    31:  ROM_CHECKSUM=$EC
    32:  ROM_VERSION=$01
    33:  VERSION_INFO_D800=$1601
    34:  FILLER_FF40=$50
    35:  LF338_NTSC=$40
    36:          .elseif plus4beta=0203
    37:  CompileComputer=PLUS4_BETA_0203
    38:  FILLER_FD00=$00
    39:  CONST_E447_T1PIPE=$02C7
    40:  CONST_E452_T1PIPE=$00AF
    41:  CONST_E45D_T1PIPE=$0162
    42:  ROM_CHECKSUM=$EC
    43:  ROM_VERSION=$01
    44:  VERSION_INFO_D800=$2401
    45:  FILLER_FF40=$50
    46:  LF338_NTSC=$40
    47:          .else
    48:                  .error "You must specify plus4beta"
    49:          .endif
    50:  
    51:  .elseif .defined(plus4pal)
    52:  IS_NTSC=0
    53:  IS_PAL=1
    54:  
    55:          .if plus4pal=01
    56:  CompileComputer=PLUS4_01
    57:  FILLER_FD00=$00
    58:  CONST_E447_T1PIPE=$02C7
    59:  CONST_E452_T1PIPE=$00AF
    60:  CONST_E45D_T1PIPE=$0162
    61:  ROM_CHECKSUM=$F4
    62:  ROM_VERSION=$81
    63:  VERSION_INFO_D800=$1702
    64:  FILLER_FF40=$40
    65:  LF338_NTSC=$00
    66:          .elseif plus4pal=02
    67:                  .error "plus4pal == 2 is unknown"
    68:          .elseif plus4pal=03
    69:  CompileComputer=PLUS4_03
    70:  FILLER_FD00=$00
    71:  CONST_E447_T1PIPE=$034E
    72:  CONST_E452_T1PIPE=$00D0
    73:  CONST_E45D_T1PIPE=$01A4
    74:  ROM_CHECKSUM=$F1
    75:  ROM_VERSION=$83
    76:  VERSION_INFO_D800=$0405
    77:  FILLER_FF40=$FF
    78:  LF338_NTSC=$00
    79:          .elseif plus4pal=04
    80:  CompileComputer=PLUS4_04
    81:  FILLER_FD00=$00
    82:  CONST_E447_T1PIPE=$034E
    83:  CONST_E452_T1PIPE=$00D0
    84:  CONST_E45D_T1PIPE=$01A4
    85:  ROM_CHECKSUM=$2A
    86:  ROM_VERSION=$84
    87:  VERSION_INFO_D800=$0506
    88:  FILLER_FF40=$FF
    89:  LF338_NTSC=$00
    90:          .elseif plus4pal=05
    91:  CompileComputer=PLUS4_05
    92:  FILLER_FD00=$00
    93:  CONST_E447_T1PIPE=$034E
    94:  CONST_E452_T1PIPE=$00D0
    95:  CONST_E45D_T1PIPE=$01A4
    96:  ROM_CHECKSUM=$5E
    97:  ROM_VERSION=$85
    98:  VERSION_INFO_D800=$0908
    99:  FILLER_FF40=$FF
   100:  LF338_NTSC=$00
   101:          .else
   102:                  .error "You must specify plus4pal <= 5"
   103:          .endif
   104:  .elseif .defined(plus4ntsc)
   105:  IS_NTSC=1
   106:  IS_PAL=0
   107:  
   108:          .if plus4ntsc=01
   109:                  .error "plus4ntsc == 1 is unknown"
   110:          .elseif plus4ntsc=02
   111:                  .error "plus4ntsc == 2 is unknown"
   112:          .elseif plus4ntsc=03
   113:                  .error "plus4ntsc == 3 is unknown"
   114:          .elseif plus4ntsc=04
   115:  CompileComputer=PLUS4_04
   116:  FILLER_FD00=$00
   117:  CONST_E447_T1PIPE=$034E
   118:  CONST_E452_T1PIPE=$00D0
   119:  CONST_E45D_T1PIPE=$01A4
   120:  ROM_CHECKSUM=$90
   121:  ROM_VERSION=$04
   122:  VERSION_INFO_D800=$0506
   123:  FILLER_FF40=$FF
   124:  LF338_NTSC=$40
   125:          .elseif plus4ntsc=05
   126:  CompileComputer=PLUS4_05
   127:  FILLER_FD00=$FF
   128:  CONST_E447_T1PIPE=$034E
   129:  CONST_E452_T1PIPE=$00D0
   130:  CONST_E45D_T1PIPE=$01A4
   131:  ROM_CHECKSUM=$C4
   132:  ROM_VERSION=$05
   133:  VERSION_INFO_D800=$0908
   134:  FILLER_FF40=$FF
   135:  LF338_NTSC=$40
   136:          .else
   137:                  .error "You must specify plus4ntsc <= 5"
   138:          .endif
   139:  .endif
   140:  
   141:  .if 0
   142:  VIC20_GENERAL=COMPUTER_UNKNOWN + $10
   143:  VIC20_02=VIC20_GENERAL + 2
   144:  VIC20_06=VIC20_GENERAL + 6
   145:  VIC20_07=VIC20_GENERAL + 7
   146:  
   147:  C64_GENERAL=VIC20_GENERAL + $20
   148:  C64_01=C64_GENERAL + 1
   149:  C64_02=C64_GENERAL + 2
   150:  C64_03=C64_GENERAL + 3
   151:  C64_SX64=C64_GENERAL + 4
   152:  C64_4064=C64_GENERAL + 5
   153:  C64_GS=C64_GENERAL + 6
   154:  
   155:  .ifdef vic20
   156:  CompileComputer=VIC20_GENERAL + vic20
   157:  .elseif .defined(c64)
   158:          .if c64 = 4064
   159:  CompileComputer=C64_4064
   160:          .else
   161:  CompileComputer=C64_GENERAL + c64
   162:          .endif
   163:  .endif
   164:  
   165:  .ifdef sx64
   166:  CompileComputer=C64_SX64
   167:  c64 = sx64
   168:  .endif
   169:  
   170:  .ifdef c64gs
   171:  CompileComputer=C64_GS
   172:  c64 = c64gs
   173:  .endif
   174:  
   175:  .ifndef CompileComputer
   176:  CompileComputer=COMPUTER_UNKNOWN
   177:  .endif
   178:  .endif
   179:  
   180:  .macro FillCount count,filler
   181:          .repeat count
   182:                  .ifblank filler
   183:                          .byte DRIVEFILLER
   184:                  .else
   185:                          .byte filler
   186:                  .endif
   187:          .endrep
   188:  .endmacro
   189:  
   190:  .macro FillUntil address,filler
   191:          FillCount address-*,filler
   192:  .endmacro
   193:  
   194:  .macro FillNOP count
   195:          FillCount count,$EA
   196:  .endmacro
   197:  
   198:  .if 0
   199:  IEEE_LISTEN    = $20    ; on ATN, with primary address
   200:  IEEE_TALK      = $40    ; on ATN, with primary address
   201:  IEEE_OPEN      = $60    ; on ATN, with secondary address
   202:  IEEE_CLOSE     = $E0    ; on ATN, with primary address
   203:  IEEE_SECONDARY = $F0    ; on ATN, with secondary address
   204:  
   205:  IEEE_LOAD      = IEEE_OPEN + 0
   206:  IEEE_SAVE      = IEEE_OPEN + 1
   207:  
   208:  IEEE_UNLISTEN = IEEE_LISTEN + $1F
   209:  IEEE_UNTALK   = IEEE_TALK   + $1F
   210:  
   211:  STATUS_IEC_DEVICE_NOT_PRESENT        = $80
   212:  STATUS_IEC_EOI                       = $40
   213:  STATUS_IEC_TIMEOUT_READ              = $02
   214:  STATUS_IEC_TIMEOUT_WRITE             = $01
   215:  
   216:  STATUS_VERIFY                        = $10
   217:  
   218:  STATUS_TAPE_EOT                      = $80
   219:  STATUS_TAPE_EOF                      = $40 ; not on LOAD and VERIFY
   220:  STATUS_TAPE_CHKSUM_ERR               = $20
   221:  STATUS_TAPE_UNRECOVERABLE_READ_ERROR = $10
   222:  STATUS_TAPE_LONG_BLOCK               = $08
   223:  STATUS_TAPE_SHORT_BLOCK              = $04
   224:  
   225:  .endif
Valid XHTML 1.0 Strict
defines.inc.html; generated on Fri Sep 18 21:44:54 2015 by ca65html
uz@cc65.org