aboutsummaryrefslogtreecommitdiff
path: root/conio/mul40.s
blob: 99dd0069e08b7ae372ee5bece5523ee41c9ac0af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; Compatibility wrapper for cc65's mul40 or _mul40 library routine.
; Necessary because cc65 <= 2.17 has "mul40" as part of its atari
; library, but 2.18 and up made it a C-callable routine on all
; platforms, meaning its name grew a _ in front, "_mul40".

; The .VERSION pseudo-variable is documented as "major version
; times $100, plus minor version times $10". Whoever came up with
; this design must have thought the minor version would never exceed
; 15... starting with 2.16, the minor nybble overflows into the major
; one, meaning cc65-2.17's .VERSION is actually $0310. Which is fine,
; so long as there's never a cc65 major version 3.x (if this happens,
; versions 3.0 and 3.1 will fail to build this correctly, then 3.2
; will work again).

.if .VERSION <= $0310 ; $0310 == 2.17
  .import mul40
.else
  .import _mul40
mul40 = _mul40
.endif